From e3a6adfb59164c7698e95de97513fcd3170cd8ec Mon Sep 17 00:00:00 2001 From: Ali Hamud Date: Thu, 18 Jun 2020 11:30:48 +0000 Subject: [PATCH 001/125] Merged PR 94257: Adding code of conduct link Adding code of conduct link which is required by CELA --- README.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/README.md b/README.md index 3415f7bb..54b20c16 100644 --- a/README.md +++ b/README.md @@ -49,4 +49,10 @@ However, the library is exported as a Universal Module and the powerbi.js script When included directly, the library is exposed as a global named `powerbi-client`. There is also another global named `powerbi` which is an instance of the service. +## Contributing +This project welcomes contributions and suggestions. Most contributions require you to agree to a Contributor License Agreement (CLA) declaring that you have the right to, and actually do, grant us the rights to use your contribution. For details, visit . + +When you submit a pull request, a CLA bot will automatically determine whether you need to provide a CLA and decorate the PR appropriately (e.g., status check, comment). Simply follow the instructions provided by the bot. You will only need to do this once across all repos using our CLA. + +This project has adopted the [Microsoft Open Source Code of Conduct](https://opensource.microsoft.com/codeofconduct/). For more information see the [Code of Conduct FAQ](https://opensource.microsoft.com/codeofconduct/faq/) or contact [opencode@microsoft.com](mailto:opencode@microsoft.com) with any additional questions or comments \ No newline at end of file From c756fda01ded74a9bbb95c90cba80d57c10252a9 Mon Sep 17 00:00:00 2001 From: Nerya Cohen Date: Tue, 23 Jun 2020 13:30:54 +0000 Subject: [PATCH 002/125] Merged PR 85066: Persistent State - add user state APIs Add support for users to reset their user state by using `Report.resetUserState()`. --- dist/powerbi-client.d.ts | 27 ++++++++++++ dist/powerbi.js | 42 ++++++++++++++++++ dist/powerbi.min.js | 2 +- src/report.ts | 94 ++++++++++++++++++++++++++++++---------- 4 files changed, 140 insertions(+), 25 deletions(-) diff --git a/dist/powerbi-client.d.ts b/dist/powerbi-client.d.ts index 8d9978ca..da32545e 100644 --- a/dist/powerbi-client.d.ts +++ b/dist/powerbi-client.d.ts @@ -1166,6 +1166,33 @@ declare module "report" { * ``` */ resetTheme(): Promise; + /** + * Reset user's filters, slicers, and other data view changes to the default state of the report + * + * ```javascript + * report.resetPersistentFilters(); + * ``` + */ + resetPersistentFilters(): Promise; + /** + * Save user's filters, slicers, and other data view changes of the report + * + * ```javascript + * report.savePersistentFilters(); + * ``` + */ + savePersistentFilters(): Promise; + /** + * Returns if there are user's filters, slicers, or other data view changes applied on the report. + * If persistent filters is disable, returns false. + * + * ```javascript + * report.arePersistentFiltersApplied(); + * ``` + * + * @returns {Promise} + */ + arePersistentFiltersApplied(): Promise; /** * @hidden */ diff --git a/dist/powerbi.js b/dist/powerbi.js index f81c18eb..586d20e4 100644 --- a/dist/powerbi.js +++ b/dist/powerbi.js @@ -5565,6 +5565,48 @@ return /******/ (function(modules) { // webpackBootstrap } return this.applyThemeInternal({}); }; + /** + * Reset user's filters, slicers, and other data view changes to the default state of the report + * + * ```javascript + * report.resetPersistentFilters(); + * ``` + */ + Report.prototype.resetPersistentFilters = function () { + return this.service.hpm.delete("/report/userState", null, { uid: this.config.uniqueId }, this.iframe.contentWindow) + .catch(function (response) { + throw response.body; + }); + }; + /** + * Save user's filters, slicers, and other data view changes of the report + * + * ```javascript + * report.savePersistentFilters(); + * ``` + */ + Report.prototype.savePersistentFilters = function () { + return this.service.hpm.post("/report/userState", null, { uid: this.config.uniqueId }, this.iframe.contentWindow) + .catch(function (response) { + throw response.body; + }); + }; + /** + * Returns if there are user's filters, slicers, or other data view changes applied on the report. + * If persistent filters is disable, returns false. + * + * ```javascript + * report.arePersistentFiltersApplied(); + * ``` + * + * @returns {Promise} + */ + Report.prototype.arePersistentFiltersApplied = function () { + return this.service.hpm.get("/report/isUserStateApplied", { uid: this.config.uniqueId }, this.iframe.contentWindow) + .then(function (response) { return response.body; }, function (response) { + throw response.body; + }); + }; /** * @hidden */ diff --git a/dist/powerbi.min.js b/dist/powerbi.min.js index 67c482fb..99bc2c47 100644 --- a/dist/powerbi.min.js +++ b/dist/powerbi.min.js @@ -2,7 +2,7 @@ !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!==e}),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;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 { return this.service.hpm.post(`/report/render`, config, { uid: this.config.uniqueId }, this.iframe.contentWindow) - .then(response => { - return response.body; - }) - .catch(response => { - throw response.body; - }); + .then(response => { + return response.body; + }) + .catch(response => { + throw response.body; + }); } /** @@ -128,12 +128,12 @@ export class Report extends embed.Embed implements IReportNode, IFilterable { }; 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; - }); + .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; + }); } /** @@ -147,13 +147,13 @@ export class Report extends embed.Embed implements IReportNode, IFilterable { * @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; - }); + 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; + }); } /** @@ -176,9 +176,9 @@ export class Report extends embed.Embed implements IReportNode, IFilterable { return this.service.hpm.get(`/report/filters`, { uid: this.config.uniqueId }, this.iframe.contentWindow) .then(response => response.body, - response => { - throw response.body; - }); + response => { + throw response.body; + }); } /** @@ -451,7 +451,7 @@ export class Report extends embed.Embed implements IReportNode, IFilterable { }) .catch(response => { throw response.body; - }); + }); } /** @@ -501,6 +501,52 @@ export class Report extends embed.Embed implements IReportNode, IFilterable { return this.applyThemeInternal({}); } + /** + * Reset user's filters, slicers, and other data view changes to the default state of the report + * + * ```javascript + * report.resetPersistentFilters(); + * ``` + */ + resetPersistentFilters(): Promise { + return this.service.hpm.delete(`/report/userState`, null, { uid: this.config.uniqueId }, this.iframe.contentWindow) + .catch(response => { + throw response.body; + }); + } + + /** + * Save user's filters, slicers, and other data view changes of the report + * + * ```javascript + * report.savePersistentFilters(); + * ``` + */ + savePersistentFilters(): Promise { + return this.service.hpm.post(`/report/userState`, null, { uid: this.config.uniqueId }, this.iframe.contentWindow) + .catch(response => { + throw response.body; + }); + } + + /** + * Returns if there are user's filters, slicers, or other data view changes applied on the report. + * If persistent filters is disable, returns false. + * + * ```javascript + * report.arePersistentFiltersApplied(); + * ``` + * + * @returns {Promise} + */ + arePersistentFiltersApplied(): Promise { + return this.service.hpm.get(`/report/isUserStateApplied`, { uid: this.config.uniqueId }, this.iframe.contentWindow) + .then(response => response.body, + response => { + throw response.body; + }); + } + /** * @hidden */ @@ -530,7 +576,7 @@ export class Report extends embed.Embed implements IReportNode, IFilterable { return mode; } - + /** * @hidden */ From d1511cce43a5f95e754b1b20483614391a1f32c6 Mon Sep 17 00:00:00 2001 From: Anant Singh Date: Wed, 8 Jul 2020 13:23:08 +0000 Subject: [PATCH 003/125] Merged PR 98518: [PowerBI-Client]: Pipeline fix Separated build and package stages in pipeline Related work items: #397725 --- .pipelines/pipeline.user.windows.yml | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/.pipelines/pipeline.user.windows.yml b/.pipelines/pipeline.user.windows.yml index d65e7f4e..7ef91ee3 100644 --- a/.pipelines/pipeline.user.windows.yml +++ b/.pipelines/pipeline.user.windows.yml @@ -13,6 +13,7 @@ artifact_publish_options: publish_to_pipeline_artifacts: true publish_to_cloudvault_artifacts: false +# Enable signing on all declared artifacts. signing_options: profile: 'external_distribution' @@ -85,6 +86,11 @@ build: - '**/dist/**/*.*' - '**/node_modules/**/*.*' +# All build stage artifacts get signed right after the build stage +# because the global signing profile is defined. + +package: + commands: - !!buildcommand name: 'Package' arguments: 'package.ps1' From 2a8be88a7dfa93d3f45521690c9898f3fa69fced Mon Sep 17 00:00:00 2001 From: Anant Singh Date: Mon, 13 Jul 2020 10:13:45 +0000 Subject: [PATCH 004/125] Merged PR 99472: [JS SDK]: Exclude files for signing Updated pipeline.user.windows.yml to exclude files unsignable by Phalanx tool for the official pipeline https://onebranch.visualstudio.com/Pipeline/_wiki/wikis/Pipeline.wiki/2350/Code-Sign-Validation?anchor=codesign-validation-glob-pattern "Important! The tool that enforces code signing (Phalanx ) only supports file extensions that are in scope for C+AI code sign validation: executables (.exe), libraries (.dll) and scripts such as PowerShell. It does not support other signable file extensions such as packages (.cab) for instance. Ensure that your glob pattern does not include file extensions other than the ones listed above." --- .pipelines/pipeline.user.windows.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.pipelines/pipeline.user.windows.yml b/.pipelines/pipeline.user.windows.yml index 7ef91ee3..009a3a3c 100644 --- a/.pipelines/pipeline.user.windows.yml +++ b/.pipelines/pipeline.user.windows.yml @@ -16,6 +16,7 @@ artifact_publish_options: # Enable signing on all declared artifacts. signing_options: profile: 'external_distribution' + codesign_validation_glob_pattern: 'regex|.+(?:exe|dll)$;-|*.nd.dll;-|.gdn\\**' static_analysis_options: moderncop_options: From 40677fae6b152dcdbde25c5c066a69c611142062 Mon Sep 17 00:00:00 2001 From: Anant Singh Date: Mon, 13 Jul 2020 12:46:09 +0000 Subject: [PATCH 005/125] Merged PR 99490: [JS SDK]: Static Analysis CredScan warning fix Removed **code-demo** folder and all its files **code-demo** is not referenced anywhere in the repo Warning message: Cred Scanner failed with 2 issues found. --- demo/code-demo/anyReport.html | 52 - demo/code-demo/code_area.html | 13 - demo/code-demo/docs.html | 26 - demo/code-demo/images/arrow.png | Bin 602 -> 0 bytes demo/code-demo/images/arrow_flipped.png | Bin 665 -> 0 bytes demo/code-demo/images/clear.png | Bin 1297 -> 0 bytes demo/code-demo/images/copy.png | Bin 1540 -> 0 bytes demo/code-demo/images/run.png | Bin 1857 -> 0 bytes demo/code-demo/index.html | 70 - demo/code-demo/log_window.html | 12 - demo/code-demo/report.html | 42 - demo/code-demo/sample.html | 24 - demo/code-demo/scripts/codesamples.js | 765 ---- demo/code-demo/scripts/function_mapping.js | 75 - demo/code-demo/scripts/index.js | 54 - demo/code-demo/scripts/logger.js | 23 - demo/code-demo/scripts/report.js | 132 - demo/code-demo/scripts/session_utils.js | 76 - demo/code-demo/scripts/step_authorize.js | 43 - demo/code-demo/scripts/step_embed.js | 98 - demo/code-demo/scripts/step_interact.js | 73 - demo/code-demo/scripts/utils.js | 82 - demo/code-demo/settings_embed.html | 50 - demo/code-demo/settings_interact.html | 65 - demo/code-demo/step_authorize.html | 32 - demo/code-demo/style/layout.css | 359 -- demo/code-demo/style/style.css | 628 --- .../style/syntaxHighlighterOverride.css | 10 - .../syntaxHighlighter/syntaxhighlighter.js | 3768 ----------------- demo/code-demo/syntaxHighlighter/theme.css | 238 -- 30 files changed, 6810 deletions(-) delete mode 100644 demo/code-demo/anyReport.html delete mode 100644 demo/code-demo/code_area.html delete mode 100644 demo/code-demo/docs.html delete mode 100644 demo/code-demo/images/arrow.png delete mode 100644 demo/code-demo/images/arrow_flipped.png delete mode 100644 demo/code-demo/images/clear.png delete mode 100644 demo/code-demo/images/copy.png delete mode 100644 demo/code-demo/images/run.png delete mode 100644 demo/code-demo/index.html delete mode 100644 demo/code-demo/log_window.html delete mode 100644 demo/code-demo/report.html delete mode 100644 demo/code-demo/sample.html delete mode 100644 demo/code-demo/scripts/codesamples.js delete mode 100644 demo/code-demo/scripts/function_mapping.js delete mode 100644 demo/code-demo/scripts/index.js delete mode 100644 demo/code-demo/scripts/logger.js delete mode 100644 demo/code-demo/scripts/report.js delete mode 100644 demo/code-demo/scripts/session_utils.js delete mode 100644 demo/code-demo/scripts/step_authorize.js delete mode 100644 demo/code-demo/scripts/step_embed.js delete mode 100644 demo/code-demo/scripts/step_interact.js delete mode 100644 demo/code-demo/scripts/utils.js delete mode 100644 demo/code-demo/settings_embed.html delete mode 100644 demo/code-demo/settings_interact.html delete mode 100644 demo/code-demo/step_authorize.html delete mode 100644 demo/code-demo/style/layout.css delete mode 100644 demo/code-demo/style/style.css delete mode 100644 demo/code-demo/style/syntaxHighlighterOverride.css delete mode 100644 demo/code-demo/syntaxHighlighter/syntaxhighlighter.js delete mode 100644 demo/code-demo/syntaxHighlighter/theme.css diff --git a/demo/code-demo/anyReport.html b/demo/code-demo/anyReport.html deleted file mode 100644 index 7704d929..00000000 --- a/demo/code-demo/anyReport.html +++ /dev/null @@ -1,52 +0,0 @@ -
-
-

Embed your own report

- You can also embed your own report by following the instructions below. -
-
-
-
-
Prerequisites:
- -
- -
-
Instructions to generate an Embed Token
- Once you have imported a report into Power BI workspace, you are ready to embed it. - - To embed a report, you need to get an Embed Token. You can create this token in multiple ways. - -
- -
-
Enter embed details:
- - - - - - - - - - - - - - -
Embed Token
Embed URL - -
Report Id
- -
- -
-
-
\ No newline at end of file diff --git a/demo/code-demo/code_area.html b/demo/code-demo/code_area.html deleted file mode 100644 index b4d52067..00000000 --- a/demo/code-demo/code_area.html +++ /dev/null @@ -1,13 +0,0 @@ - -
Code
-
- - -
- -
-
\ No newline at end of file diff --git a/demo/code-demo/docs.html b/demo/code-demo/docs.html deleted file mode 100644 index 96cc05b6..00000000 --- a/demo/code-demo/docs.html +++ /dev/null @@ -1,26 +0,0 @@ -
-
-

Getting Started

-
-
- Please visit our - documentation - to start using Power BI Embedded. -
-
- -

Videos

- -
-
- 1. Learn how to Embed and Interact with Power BI Reports. -
- -
- -
-
- 2. Learn how to Create, Edit and Save Power BI reports in Embedded view. -
- -
diff --git a/demo/code-demo/images/arrow.png b/demo/code-demo/images/arrow.png deleted file mode 100644 index e1acaefe3571ae0f30f90ebe3152b3ac7cace690..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 602 zcmeAS@N?(olHy`uVBq!ia0vp^4Is?H1|$#LC7uRSEX7WqAsj$Z!;#Vf4nJ za0`PlBg3pY5)2HCe>`0rLn`LHz2uvBB|xC{Vibdh$!dqlTD3I{6O0(P38sn~aHuX) znY-=w`MUb&9{Fi2b?)jj0Zl^&4GZtM9f@_RS@TzUPm!?y?V6jf59GSoxE-0_@k3B4 ztlyVIQKD?NIC$XUta*sPE5|JUyCv9FtD$nK`_fP`{Xu` zp8A6)1SRSh3Mw1?^HO$A_@mt`(D>2Z%Jsj7v(Z-L~+f11r^FO!+l%B8^ z=q?9upt}y}0o}zpr~AMU;Y!KIkLpu^5=qMq?2uy&$iA>+|M^obQpS?^W`JZoUHx3v IIVCg!0Q_t9O#lD@ diff --git a/demo/code-demo/images/arrow_flipped.png b/demo/code-demo/images/arrow_flipped.png deleted file mode 100644 index 76c76eebd7e2517c47682f69898f3df14591101f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 665 zcmeAS@N?(olHy`uVBq!ia0vp^4Is?H1|$#LC7uRSEX7WqAsj$Z!;#Vf&U>cv7h@-A}f&3S>O>_%)r1c48n{Iv*t)JFfhq^x;TbZ#J#;4+a(+* z(t43+!O?4h9gDv&bzjiL|H|Y@;EnAD?6Wsr@?5&=-TSBlg%$y)Z{Gz@a01Ok1`CSv zFYo>Rd%{JZ$MxRdjqm<`$$3oh@qf$t9BfAN@hr?cP3q=wSe51eu@EeIaqZ({mkSfO zK0e;Lfcbl$yn0hxuB^Qu3-7ILptMQK*&ml*+nt}cyF@ADz^#wVuiGyXc4U7iY2UG+ zF!~sOw$hJ@=k|9@y^;J!q3PHg%Q^u^LDFa$~_ zsvhT8(pb{=v6;hYb><%f*AJ?9FQw0z&tbNr5NJa4Rhv42gN{)^6B5#Od*xj=Ocn!b zxUu5t$HTKY_AM7a7|9Pbam|&>KoiYhfwX8>$=P>2Xc9ceuQWq46DY7*@HqcrcY{wq z9{TQ5R5ti$f7mtQ&wpOw#*g~1?U)|NU(aPZw*T%e4!O&rXMemd1&Y7FUc++i{<@nS zJ^SZBQ!@DXZ&v4lAIDb$70c&$J;>g*^nFQPq_RPs-BqATe^vn{pNjMY3DNEYKfa!j zYy9|nvT2k5%W3y2>W-by_GR&Z`R<$I-Ss8j`7-H$jPg1kl<(?)X;!Jr^mzK$D3;wl z^3#+I>SU)W-6;L@!HDVc^{1&U?LG3#IF`w`9b121!lvI6;>1s;*b z3=G_YAk0{w5qZ#N~(e?4;tx|Rn=5#Z~tGX z_AZ`h#x{;O(@t@VS=ieBkJJA?H%*6W_Z;CrVcq41wFw`*565eN`J{bAaV|ekO-g3) z7a@acD|v}6$1W{fp_=fl#Lgh$>{8#0UI*5^tV!4)<~@7Slm^MmKMy$QPB*L6XWYE> zOJe2iZPq!tmAZ_^Upel#JU_kicu<>Wcl@`1-&X9I+7MaQ)-QJccy&PAgYfCQowrSy zE@a^R{zLe#*kcmz=TH9+TkL&cCwtrb$C(ZGNpEWnwHTj&5U>kkG|P%*>U*nN^W>4~ffM45)mfoTeJ?ftxIVtmYH%cN#luxV z>8A!YPZlxgom~l(GyGf^s?oe-H`jv2Y9BYt9ga8oSHC~7tuXt_R@DdTX}4Eu@|bid z+JrrfXKZ#g?>nyXhuI(@gn6g`!|(>j#gZq#i`2PFSadDC6ZV5Qq2T>7rPlibVjprg z9D2{tU154_@iMOa35ru6RQpQqJD8+(@cAsOnr7C}rhYHMeFqn59o!w%n!jO#*94QA z=A*{b6-s}wv8CuV9*S=ioawdTL-~OTJgNad;u{Q&r#n2H&&YN*f~mEhQNlEsQ{Su@$|0s~L4z&=ma z6&!AET=$m+mYX<}ka;kiF$7mLn3%bMU*LK`+5st;c!v|+`e|0_gP6C7Lr?_8$G z*sb~Jy=f|EgvZ1A>sNXmP>MU8u6KU()b$&^4=~;1b<=WWmaysCcqfcg>(GIVJWs2& z99bnyR!zLKTu7#Yak2D?u)ArFguDs}D=fdn$0l#kS=(Doj zw`c15x^+zV?Civ3dG9}vkn?`&GlWp&xn|u~QTMwCAOxrHBV<*=X#hBQC+3ooS zKJDR6ALq-xdim+TR!wtqwN_*I^2Xi2FTcK5u=gr3l8P%d8Sm*Q_a1g;tZL0K(BoGP zVC<>_YCLyQwIHxz;(A6mpzyniss$gV7VsE7i9PV*18& zr}sBoV%610frrdzY@I3&&AkZ+qPpFA?DeFub28e!XyS!jIza4Kt49i!JB8pRoLM?F@w?&t;ucLK6T<0zp;) diff --git a/demo/code-demo/images/copy.png b/demo/code-demo/images/copy.png deleted file mode 100644 index 37d7203fbae53912027779ff8e0a990b524bfb3f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1540 zcmV+f2K)JmP)Px#1ZP1_K>z@;j|==^1poj532;bRa{vGi!vFvd!vV){sAK>D02y>eSaefwW^{L9 za%BK;VQFr3E^cLXAT%y8E-^5z3JSmg00neOL_t(oN9|Y%Q(8$7&fnkKEo--SH;M5E z5jhpPR6qgo!h;)BP!2JQ5Kto;&))vpBS@a0R;=Bva;iSwdvku%-P6;}J0ki|L9wzG z@`Y_$Sq;QrFz~rBJL?Lb13* z!KD=%u~-F*OUtydxI}t`nam>=ipApGO?m8dpjg?A;?54u%`cMG<|Kn@geKh{%H<2R zxs|0cmXdbZKpxLDMVZvzUWtb&&+`=AzrYq;JgIxiE4DH1^OM&%Ltg(3Iao!i!6DKN z4Rf29*4Hq_M z&3L`M8_lCENr#ZaTCE^IFjm;Y`;T2@Vtc^gLCvrLD#5NN-BUEb5Tsl#PhY9NiAKoJF6$kG|Nihv7WVlAG^{hyAgjpk z7?*Dta5R<>LgjKrNF5y=(dXS=%4}|m{RCK2HtsKkR2tIp6KcbFY}Cyr(YUx0|jFZwk!L)0oX6 z<1|_w*?5jbGDY!ZQtDm2*~Z0{AU}76dizwAVlvysBKc)7WwN|B*lM_1ob|%l` zk)b3@FPAIu@@)u( z*v}js9MJXkH8&}jtE(%PVwvr2oz=D=jua=!KQsFPIAPujM;-M#gQ>w$n#7%a{M19E78|B} z8lj68grGVcXSc^I4i)~!$){_|>mv_eEsy}NAUyGndN@T7OA^-*h;{t_r})0+yYFR$ z*q&hEP>W~ECs#s|jrEWnWvzBV)oSfKYBi}lV7seSzEHk^t7e`h)GcdbZ7x5DP=Jp& z{1Q&$+1dGRYwL1cKc;9r&L?`{6$st>oJ4X>PGh@*!+;YSjz(pzS0M!89d+#r=EU4s zi6z2Y1Y3|=yYl3#1B;^Z zmtQ;RLuWVjs|Gn!)k=7v7HDsAldJV}iqqNEE8hst(&X{*zu-|q&jD;H z#%Yp|^R-cnm4kQlead_ThXS0EETW&@XrjIWwPeN3b3gcaE(#p|A+e0HO&~i>q*ATH qVQ+%_p+6)Jtu)X1;N#y1z554)>2+dvwj&w<00005+=%sheFH<@7Z3)mYHE* znHu{e%PX|bSjN7EBx`nWdiDGD$Nk=OzvuHg=bn2%=YEoH;ZR{AX(0drAZ!UULvk~S z8!CeQ+*i%j+JKvQa7d^rfZ8KF%Pn|)O>9g6fSUBfJDz;p`Vbc8i~|5fTE7KPM@acK z?x$3kIXcWf#3wA$Gt?V^_4E%8g9LkrDQZKsAiro)goK&_0R9?FGZPdV+MVNTuM8DS zT-$%_3SsyAx+~6rLVJ=r?UXD{e^Wgw`XE8?@2A`THIka@@lAbKKD@YIS~e2t6T^&I zO77gZG7xZo+uC~B*(J4$vlGv2(Ls*$fH7mXZK8bcT?niWr^VSA2sDJn?HjY$6ZC2^ zq8;DDyaF+eD(@e(NX)Jku`iJF5|IgXZpAQ~@N*Y7P>~T5XD^&rzTZtj+Bqn%3E$`E zu#G@o6ItRI*US&tHllBPPAk6)s~V`V5xO1uc&6x4vKbN#F6)jW>r<0A{nKZ&b7yB{b>HCDD zVK zA736!N=Le4POj~N{n;Qr^5*m;Xw74nd7BU1hqdkE?jFPXI{VO(0v%~GN|%EMhkreN z%UethqWN&dD3;E7JKUeILXOL|p7YNyEF4U31aTYHkwxJfDU=|}xpzQO)I6~<6F)9C zJ{PO0QS;6@mEvMiP>}mFTj=`3X{mn%$dly01BZXD9s`_k*Asu5UHrJtsr^*xC)T7y zl9-3PP|C4-R;+T@WWfhDc%{|+i9H{mnQOWaGOQcs+{*ZXIemZgKnxG0DzxSe5HMby z5}Tlhwlzd2$H7@e-gAJq7aY8;G!gA=PS)=K>^qrbirE0p84%mb;3M2{Mp$~ z;kvT|D>LI@l%w6ks(yNCL_}~9%-NjuLh?f_NDB;wc8CJ^1;5kK#`YVDi3fohpOH(b zg8U5eXxJ`zc9q0SNClR=Hv%n_+xtHDJquj?giee+{GGD_o48YRXm&w{STXBdC$~BI zAY;0ib~oB|%0XJ$@})XQGDT%bNw;?~q!wdtfp8}qtVsW0)-ocmVF>A$Os7E-Gu(+V zs)|%&UMjuG8A=mrSmuqg4yfZ@-SB^}nA_zVlWEd?Kq64DdFrGnrEfuTUS8gt@ZP#W zTulQ)LbwYply{s0lP!LyRpw!KC--t!o{KqK2CgJt#U!YtD%DsiPt|L*f3{yQu zf4lUOrch$MVwbi4%F9YkI(0T^3&LizLn?#5Z<(GTo@~%97p_zDr2gvhT`~rU!O$aC zX}x^FzBXZ+<|DIVrJoWMvuX#mrhQaLySOl}Fz@P2eB3|}-gVd(nV*%bHZIA({mMn% zu(1We6@$aQ4&`DJsoJgSXdRt5&uMrx;ik8%7u65MobE5J|DkKgE|rAPgq|4@o2-ig zxC0qilZXfPJMg-yg`+sk}~{QlTss{Za9Xa3^vR_o^fTg2t@;r z*#CuFVZmLa-m5S?zM%uyE)p{(wW@g8@|)w)BKpjl=l&{pluPqRV^Vs@VcKdJ>*`q1 z8G`;UcK<)raG9%hw4K%#+?NXZx#KFnukqpGU;E>x3gQ>$w$K4mf;T#?jf(mEnxy$A9W`ThLoiI?m+5!j}Uf4;l?pM`MdhyN@f?B}N} Zh9s*4cCkg9Pq+>Tur!C8QB6JK{{ - - - - - - - - - - - - - - - -
- -
- -
-
-
- -
-
- -
-
-
- - - - - - - - - - - - - - - - - - - - - diff --git a/demo/code-demo/log_window.html b/demo/code-demo/log_window.html deleted file mode 100644 index 76e3b643..00000000 --- a/demo/code-demo/log_window.html +++ /dev/null @@ -1,12 +0,0 @@ -
-
Log Viewer
-
- - -
- -
\ No newline at end of file diff --git a/demo/code-demo/report.html b/demo/code-demo/report.html deleted file mode 100644 index dcb527b9..00000000 --- a/demo/code-demo/report.html +++ /dev/null @@ -1,42 +0,0 @@ - -
-
-
-
-
-
-
-
- -
-
-
-
Embedded report
-
-
-
-
-
- - \ No newline at end of file diff --git a/demo/code-demo/sample.html b/demo/code-demo/sample.html deleted file mode 100644 index 9f064e68..00000000 --- a/demo/code-demo/sample.html +++ /dev/null @@ -1,24 +0,0 @@ -
-
- -
-
- -
-
\ No newline at end of file diff --git a/demo/code-demo/scripts/codesamples.js b/demo/code-demo/scripts/codesamples.js deleted file mode 100644 index c340d526..00000000 --- a/demo/code-demo/scripts/codesamples.js +++ /dev/null @@ -1,765 +0,0 @@ -/* - This file contains the code samples which will appear live in the web-page. - Each sample method name starts with _Report_ or _Page or _Embed depends on which section it appears. - Please keep this. -*/ - -// ---- Embed Code ---------------------------------------------------- - -function _Embed_BasicEmbed() { - // Read embed application token from textbox - var txtAccessToken = $('#txtAccessToken').val(); - - // Read embed URL from textbox - var txtEmbedUrl = $('#txtReportEmbed').val(); - - // Read report Id from textbox - var txtEmbedReportId = $('#txtEmbedReportId').val(); - - // Get models. models contains enums that can be used. - var models = window['powerbi-client'].models; - - // We give All permissions to demonstrate switching between View and Edit mode and saving report. - var permissions = models.Permissions.All; - - // Embed configuration used to describe the what and how to embed. - // This object is used when calling powerbi.embed. - // This also includes settings and options such as filters. - // You can find more information at https://github.com/Microsoft/PowerBI-JavaScript/wiki/Embed-Configuration-Details. - var config= { - type: 'report', - accessToken: txtAccessToken, - embedUrl: txtEmbedUrl, - id: txtEmbedReportId, - permissions: permissions, - settings: { - filterPaneEnabled: true, - navContentPaneEnabled: true - } - }; - - // Get a reference to the embedded report HTML element - var reportContainer = $('#reportContainer')[0]; - - // Embed the report and display it within the div container. - var report = powerbi.embed(reportContainer, config); - - // Report.off removes a given event handler if it exists. - report.off("loaded"); - - // Report.on will add an event handler which prints to Log window. - report.on("loaded", function() { - Log.logText("Loaded"); - }); - - report.on("error", function(event) { - Log.log(event.detail); - - report.off("error"); - }); - - report.off("saved"); - report.on("saved", function(event) { - Log.log(event.detail); - if(event.detail.saveAs) { - Log.logText('In order to interact with the new report, create a new token and load the new report'); - } - }); -} - -function _Mock_Embed_BasicEmbed(isEdit) { - // Read embed application token from textbox - var txtAccessToken = $('#txtAccessToken').val(); - - // Read embed URL from textbox - var txtEmbedUrl = $('#txtReportEmbed').val(); - - // Read report Id from textbox - var txtEmbedReportId = $('#txtEmbedReportId').val(); - - // Get models. models contains enums that can be used. - var models = window['powerbi-client'].models; - var permissions = models.Permissions.Copy | models.Permissions.Read; - var viewMode = isEdit ? models.ViewMode.Edit : models.ViewMode.View; - - // Embed configuration used to describe the what and how to embed. - // This object is used when calling powerbi.embed. - // This also includes settings and options such as filters. - // You can find more information at https://github.com/Microsoft/PowerBI-JavaScript/wiki/Embed-Configuration-Details. - var config= { - type: 'report', - accessToken: txtAccessToken, - embedUrl: txtEmbedUrl, - id: txtEmbedReportId, - permissions: permissions, - viewMode: viewMode, - settings: { - filterPaneEnabled: true, - navContentPaneEnabled: true, - useCustomSaveAsDialog: true - } - }; - - // Get a reference to the embedded report HTML element - var reportContainer = $('#reportContainer')[0]; - - // Embed the report and display it within the div container. - var report = powerbi.embed(reportContainer, config); - - // Report.off removes a given event handler if it exists. - report.off("loaded"); - - // Report.on will add an event handler which prints to Log window. - report.on("loaded", function() { - Log.logText("Loaded"); - }); - - report.on("saveAsTriggered", function() { - Log.logText("Cannot save sample report"); - }); - - report.off("error"); - report.on("error", function(event) { - Log.log(event.detail); - }); - - report.off("saved"); - report.on("saved", function(event) { - Log.log(event.detail); - if(event.detail.saveAs) { - Log.logText('In order to interact with the new report, create a new token and load the new report'); - } - }); -} - -function _Mock_Embed_BasicEmbed_EditMode() { - _Mock_Embed_BasicEmbed(true); -} - -function _Mock_Embed_BasicEmbed_ViewMode() { - _Mock_Embed_BasicEmbed(false); -} - -function _Embed_BasicEmbed_EditMode() { - // Read embed application token from textbox - var txtAccessToken = $('#txtAccessToken').val(); - - // Read embed URL from textbox - var txtEmbedUrl = $('#txtReportEmbed').val(); - - // Read report Id from textbox - var txtEmbedReportId = $('#txtEmbedReportId').val(); - - // Get models. models contains enums that can be used. - var models = window['powerbi-client'].models; - - // Embed configuration used to describe the what and how to embed. - // This object is used when calling powerbi.embed. - // This also includes settings and options such as filters. - // You can find more information at https://github.com/Microsoft/PowerBI-JavaScript/wiki/Embed-Configuration-Details. - var config= { - type: 'report', - accessToken: txtAccessToken, - embedUrl: txtEmbedUrl, - id: txtEmbedReportId, - permissions: models.Permissions.All /*gives maximum permissions*/, - viewMode: models.ViewMode.Edit, - settings: { - filterPaneEnabled: true, - navContentPaneEnabled: true - } - }; - - // Get a reference to the embedded report HTML element - var reportContainer = $('#reportContainer')[0]; - - // Embed the report and display it within the div container. - var report = powerbi.embed(reportContainer, config); - - // Report.off removes a given event handler if it exists. - report.off("loaded"); - - // Report.on will add an event handler which prints to Log window. - report.on("loaded", function() { - Log.logText("Loaded"); - }); - - report.off("error"); - report.on("error", function(event) { - Log.log(event.detail); - }); - - report.off("saved"); - report.on("saved", function(event) { - Log.log(event.detail); - if(event.detail.saveAs) { - Log.logText('In order to interact with the new report, create a new token and load the new report'); - } - }); -} - -function _Embed_EmbedWithDefaultFilter() { - var txtAccessToken = $('#txtAccessToken').val(); - var txtEmbedUrl = $('#txtReportEmbed').val(); - var txtEmbedReportId = $('#txtEmbedReportId').val(); - - const filter = { - $schema: "http://powerbi.com/product/schema#basic", - target: { - table: "Store", - column: "Chain" - }, - operator: "In", - values: ["Lindseys"] - }; - - var embedConfiguration = { - type: 'report', - accessToken: txtAccessToken, - embedUrl: txtEmbedUrl, - id: txtEmbedReportId, - settings: { - filterPaneEnabled: false, - navContentPaneEnabled: false - }, - filters: [filter] - }; - - var reportContainer = document.getElementById('reportContainer'); - powerbi.embed(reportContainer, embedConfiguration); -} - -function _Embed_Create() { - // Read embed application token from textbox - var txtAccessToken = $('#txtCreateAccessToken').val(); - - // Read embed URL from textbox - var txtEmbedUrl = $('#txtCreateReportEmbed').val(); - - // Read dataset Id from textbox - var txtEmbedDatasetId = $('#txtEmbedDatasetId').val(); - - // Embed create configuration used to describe the what and how to create report. - // This object is used when calling powerbi.createReport. - var embedCreateConfiguration = { - accessToken: txtAccessToken, - embedUrl: txtEmbedUrl, - datasetId: txtEmbedDatasetId, - }; - - // Grab the reference to the div HTML element that will host the report - var reportContainer = $('#reportContainer')[0]; - - // Create report - var report = powerbi.createReport(reportContainer, embedCreateConfiguration); - - // Report.off removes a given event handler if it exists. - report.off("loaded"); - - // Report.on will add an event handler which prints to Log window. - report.on("loaded", function() { - Log.logText("Loaded"); - }); - - report.off("error"); - report.on("error", function(event) { - Log.log(event.detail); - }); - - // report.off removes a given event handler if it exists. - report.off("saved"); - report.on("saved", function(event) { - Log.log(event.detail); - Log.logText('In order to interact with the new report, create a new token and load the new report'); - }); -} - -function _Mock_Embed_Create() { - // Read embed application token from textbox - var txtAccessToken = $('#txtCreateAccessToken').val(); - - // Read embed URL from textbox - var txtEmbedUrl = $('#txtCreateReportEmbed').val(); - - // Read dataset Id from textbox - var txtEmbedDatasetId = $('#txtEmbedDatasetId').val(); - - // Embed create configuration used to describe the what and how to create report. - // This object is used when calling powerbi.createReport. - var embedCreateConfiguration = { - accessToken: txtAccessToken, - embedUrl: txtEmbedUrl, - datasetId: txtEmbedDatasetId, - settings: { - useCustomSaveAsDialog: true - } - }; - - // Grab the reference to the div HTML element that will host the report - var reportContainer = $('#reportContainer')[0]; - - // Create report - var report = powerbi.createReport(reportContainer, embedCreateConfiguration); - - // Report.off removes a given event handler if it exists. - report.off("loaded"); - - // Report.on will add an event handler which prints to Log window. - report.on("loaded", function() { - Log.logText("Loaded"); - }); - report.on("saveAsTriggered", function() { - Log.logText("Cannot save sample report"); - }); - - report.off("error"); - report.on("error", function(event) { - Log.log(event.detail); - }); -} - -// ---- Report Operations ---------------------------------------------------- - -function _Report_GetId() { - // Get a reference to the embedded report HTML element - var reportContainer = $('#reportContainer')[0]; - - // Get a reference to the embedded report. - report = powerbi.get(reportContainer); - - // Retrieve the report id. - var reportId = report.getId(); - - Log.logText(reportId); -} - -function _Report_UpdateSettings() { - // The new settings that you want to apply to the report. - const newSettings = { - navContentPaneEnabled: true, - filterPaneEnabled: false - }; - - // Get a reference to the embedded report HTML element - var reportContainer = $('#reportContainer')[0]; - - // Get a reference to the embedded report. - report = powerbi.get(reportContainer); - - // Update the settings by passing in the new settings you have configured. - report.updateSettings(newSettings) - .then(function (result) { - $("#result").html(result); - }) - .catch(function (error) { - $("#result").html(error); - }); -} - -function _Report_GetPages() { - // Get a reference to the embedded report HTML element - var reportContainer = $('#reportContainer')[0]; - - // Get a reference to the embedded report. - report = powerbi.get(reportContainer); - - // Retrieve the page collection and loop through to collect the - // page name and display name of each page and display the value. - report.getPages() - .then(function (pages) { - pages.forEach(function(page) { - var log = page.name + " - " + page.displayName; - Log.logText(log); - }); - }) - .catch(function (error) { - Log.log(error); - }); -} - -function _Report_SetPage() { - // Get a reference to the embedded report HTML element - var reportContainer = $('#reportContainer')[0]; - - // Get a reference to the embedded report. - report = powerbi.get(reportContainer); - - // setPage will change the selected view to the page you indicate. - // This is the actual page name not the display name. - report.setPage("ReportSection2") - .then(function (result) { - Log.log(result); - }) - .catch(function (errors) { - Log.log(errors); - }); - - // Report.off removes a given event handler if it exists. - report.off("pageChanged"); - - // Report.on will add an event handler which prints page - // name and display name to Log window. - report.on("pageChanged", function(event) { - var page = event.detail.newPage; - Log.logText(page.name + " - " + page.displayName); - }); -} - -function _Report_GetFilters() { - // Get a reference to the embedded report HTML element - var reportContainer = $('#reportContainer')[0]; - - // Get a reference to the embedded report. - report = powerbi.get(reportContainer); - - // Get the filters applied to the report. - report.getFilters() - .then(function (filters) { - Log.log(filters); - }) - .catch(function (errors) { - Log.log(errors); - }); -} - -function _Report_SetFilters() { - // Build the filter you want to use. For more information, See Constructing - // Filters in https://github.com/Microsoft/PowerBI-JavaScript/wiki/Filters. - const filter = { - $schema: "http://powerbi.com/product/schema#basic", - target: { - table: "Store", - column: "Chain" - }, - operator: "In", - values: ["Lindseys"] - }; - - // Get a reference to the embedded report HTML element - var reportContainer = $('#reportContainer')[0]; - - // Get a reference to the embedded report. - report = powerbi.get(reportContainer); - - // Set the filter for the report. - // Pay attention that setFilters receives an array. - report.setFilters([filter]) - .then(function (result) { - Log.log(result); - }) - .catch(function (errors) { - Log.log(errors); - }); -} - -function _Report_RemoveFilters() { - // Get a reference to the embedded report HTML element - var reportContainer = $('#reportContainer')[0]; - - // Get a reference to the embedded report. - report = powerbi.get(reportContainer); - - // Remove the filters currently applied to the report. - report.removeFilters() - .then(function (result) { - Log.log(result); - }) - .catch(function (errors) { - Log.log(errors); - }); -} - -function _Report_PrintCurrentReport() { - // Get a reference to the embedded report HTML element - var reportContainer = $('#reportContainer')[0]; - - // Get a reference to the embedded report. - report = powerbi.get(reportContainer); - - // Trigger the print dialog for your browser. - report.print() - .then(function (result) { - Log.log(result); - }) - .catch(function (errors) { - Log.log(errors); - }); -} - -function _Report_Reload() { - // Get a reference to the embedded report HTML element - var reportContainer = $('#reportContainer')[0]; - - // Get a reference to the embedded report. - report = powerbi.get(reportContainer); - - // Reload the displayed report - report.reload() - .then(function (result) { - Log.logText("Reloaded"); - }) - .catch(function (errors) { - Log.log(errors); - }); -} - -function _Report_Refresh() { - // Get a reference to the embedded report HTML element - var reportContainer = $('#reportContainer')[0]; - - // Get a reference to the embedded report. - report = powerbi.get(reportContainer); - - // Refresh the displayed report - report.refresh() - .then(function (result) { - Log.logText("Refreshed"); - }) - .catch(function (errors) { - Log.log(errors); - }); -} - -function _Report_FullScreen() { - // Get a reference to the embedded report HTML element - var reportContainer = $('#reportContainer')[0]; - - // Get a reference to the embedded report. - report = powerbi.get(reportContainer); - - // Displays the report in full screen mode. - report.fullscreen(); -} - -function _Report_ExitFullScreen() { - // Get a reference to the embedded report HTML element - var reportContainer = $('#reportContainer')[0]; - - // Get a reference to the embedded report. - report = powerbi.get(reportContainer); - - // Exits full screen mode. - report.exitFullscreen(); -} - -function _Report_switchModeEdit() { - // Get a reference to the embedded report HTML element - var reportContainer = $('#reportContainer')[0]; - - // Get a reference to the embedded report. - report = powerbi.get(reportContainer); - - // Switch to edit mode. - report.switchMode("edit"); -} - -function _Report_switchModeView() { - // Get a reference to the embedded report HTML element - var reportContainer = $('#reportContainer')[0]; - - // Get a reference to the embedded report. - report = powerbi.get(reportContainer); - - // Switch to view mode. - report.switchMode("view"); -} - -function _Report_save() { - // Get a reference to the embedded report HTML element - var reportContainer = $('#reportContainer')[0]; - - // Get a reference to the embedded report. - report = powerbi.get(reportContainer); - - // Save report - report.save(); -} - -function _Mock_Report_save() { - Log.logText('Cannot save sample report'); -} - -function _Report_saveAs() { - // Get a reference to the embedded report HTML element - var reportContainer = $('#reportContainer')[0]; - - // Get a reference to the embedded report. - report = powerbi.get(reportContainer); - - var saveAsParameters = { - name: "newReport" - }; - - // SaveAs report - report.saveAs(saveAsParameters); -} - -// ---- Page Operations ---------------------------------------------------- - -function _Page_SetActive() { - // Get a reference to the embedded report HTML element - var reportContainer = $('#reportContainer')[0]; - - // Get a reference to the embedded report. - report = powerbi.get(reportContainer); - - // Retrieve the page collection, and then set the second page to be active. - report.getPages() - .then(function (pages) { - pages[1].setActive().then(function (result) { - Log.log(result); - }); - }) - .catch(function (errors) { - Log.log(errors); - }); -} - -function _Page_GetFilters() { - // Get a reference to the embedded report HTML element - var reportContainer = $('#reportContainer')[0]; - - // Get a reference to the embedded report. - report = powerbi.get(reportContainer); - - // Retrieve the page collection and get the filters for the first page. - report.getPages() - .then(function (pages) { - pages[0].getFilters() - .then(function (filters) { - Log.log(filters); - }) - .catch(function (errors) { - Log.log(errors); - }); - }) - .catch(function (errors) { - Log.log(errors); - }); -} - -function _Page_SetFilters() { - // Get a reference to the embedded report HTML element - var reportContainer = $('#reportContainer')[0]; - - // Get a reference to the embedded report. - report = powerbi.get(reportContainer); - - // Build the filter you want to use. For more information, see Constructing - // Filters in https://github.com/Microsoft/PowerBI-JavaScript/wiki/Filters. - const filter = { - $schema: "http://powerbi.com/product/schema#basic", - target: { - table: "Store", - column: "Chain" - }, - operator: "In", - values: ["Lindseys"] - }; - - // Retrieve the page collection and then set the filters for the first page. - // Pay attention that setFilters receives an array. - report.getPages() - .then(function (pages) { - pages[0].setFilters([filter]) - .then(function (result) { - Log.log(result); - }) - .catch(function (errors) { - Log.log(errors); - }); - }) - .catch(function (errors) { - Log.log(errors); - }); -} - -function _Page_RemoveFilters() { - // Get a reference to the embedded report HTML element - var reportContainer = $('#reportContainer')[0]; - - // Get a reference to the embedded report. - report = powerbi.get(reportContainer); - - // Retrieve the page collection and remove the filters for the first page. - report.getPages() - .then(function (pages) { - pages[0].removeFilters() - .then(function (result) { - Log.log(result); - }) - .catch(function (errors) { - Log.log(errors); - }); - }) - .catch(function (errors) { - Log.log(errors); - }); -} - -// ---- Event Listener ---------------------------------------------------- - -function _Events_PageChanged() { - // Get a reference to the embedded report HTML element - var reportContainer = $('#reportContainer')[0]; - - // Get a reference to the embedded report. - report = powerbi.get(reportContainer); - - // Report.off removes a given event listener if it exists. - report.off("pageChanged"); - - // Report.on will add an event listener. - report.on("pageChanged", function(event) { - var page = event.detail.newPage; - Log.logText("Page changed to: " + page.name + " - " + page.displayName); - }); - - // Select Run and change to a different page. - // You should see an entry in the Log window. - - Log.logText("Select different page to see events in Log window."); -} - -function _Events_DataSelected() { - // Get a reference to the embedded report HTML element - var reportContainer = $('#reportContainer')[0]; - - // Get a reference to the embedded report. - report = powerbi.get(reportContainer); - - // Report.off removes a given event listener if it exists. - report.off("dataSelected"); - - // Report.on will add an event listener. - report.on("dataSelected", function(event) { - var data = event.detail; - Log.log(data); - }); - - // Select Run and select an element of a visualization. - // For example, a bar in a bar chart. You should see an entry in the Log window. - - Log.logText("Select data to see events in Log window."); -} - -function _Events_SaveAsTriggered() { - // Get a reference to the embedded report HTML element - var reportContainer = $('#reportContainer')[0]; - - // Get a reference to the embedded report. - report = powerbi.get(reportContainer); - - // Report.off removes a given event listener if it exists. - report.off("saveAsTriggered"); - - // Report.on will add an event listener. - report.on("saveAsTriggered", function(event) { - Log.log(event); - }); - - // Select Run and then select SaveAs. - // You should see an entry in the Log window. - - Log.logText("Select SaveAs to see events in Log window."); -} diff --git a/demo/code-demo/scripts/function_mapping.js b/demo/code-demo/scripts/function_mapping.js deleted file mode 100644 index bb2cf2eb..00000000 --- a/demo/code-demo/scripts/function_mapping.js +++ /dev/null @@ -1,75 +0,0 @@ -const mockDict = { - _Report_GetPages: datasetNotSupported, - _Report_SetPage: datasetNotSupported, - _Report_SetFilters: datasetNotSupported, - _Report_GetFilters: datasetNotSupported, - _Report_RemoveFilters: datasetNotSupported, - _Report_PrintCurrentReport: datasetNotSupported, - _Report_UpdateSettings: datasetNotSupported, - _Report_Reload: datasetNotSupported, - _Page_SetActive: datasetNotSupported, - _Page_SetFilters: datasetNotSupported, - _Page_GetFilters: datasetNotSupported, - _Page_RemoveFilters: datasetNotSupported, - _Report_switchModeEdit: datasetNotSupported, - _Report_switchModeView: datasetNotSupported, - _Embed_BasicEmbed: _Mock_Embed_BasicEmbed_ViewMode, - _Embed_BasicEmbed_EditMode: _Mock_Embed_BasicEmbed_EditMode, - _Report_save: _Mock_Report_save, - _Report_saveAs: _Mock_Report_save, - _Embed_Create: _Mock_Embed_Create -}; - -function datasetNotSupported() { - Log.logText('Operation not supported for dataset') -} - -function IsSaveMock(funcName) { - return ((funcName === '_Report_save' || funcName === '_Report_saveAs') && ( - _session.embedId === 'c52af8ab-0468-4165-92af-dc39858d66ad' /*Sample Report*/ || - _session.embedId === '1ee0b264-b280-43f1-bbb7-9d8bd2d03a78' /*Sample dataset*/ )); -} - -function IsBasicMock(funcName) { - return ((funcName === '_Embed_BasicEmbed' || funcName === '_Embed_BasicEmbed_EditMode') && _session.embedId === 'c52af8ab-0468-4165-92af-dc39858d66ad'); -} - -function IsCreateMock(funcName) { - return (funcName === '_Embed_Create' && _session.embedId === '1ee0b264-b280-43f1-bbb7-9d8bd2d03a78'); -} - -function IsNotSupported(funcName) { - if (powerbi.embeds.length === 0) { - return false - } - - // Get a reference to the embedded element - var embed = powerbi.get($('#reportContainer')[0]); - if (embed.config.type !== 'create') { - return false; - } - - var runFunc = mockDict[funcName]; - return (runFunc && runFunc === datasetNotSupported) ? true : false; -} - -function IsMock(funcName) { - return (IsBasicMock(funcName) || IsSaveMock(funcName) || IsCreateMock(funcName) || IsNotSupported(funcName)); -} - -function mapFunc(func) { - var funcName = getFuncName(func); - return IsMock(funcName) ? mockDict[funcName] : func; -} - -function getFuncName(func) { - var funcName = func.name; - - if (!funcName) - { - // in IE, func.name is invalid method. so, function name should be extracted manually. - funcName = func.toString().match(/^function\s*([^\s(]+)/)[1]; - } - - return funcName; -} \ No newline at end of file diff --git a/demo/code-demo/scripts/index.js b/demo/code-demo/scripts/index.js deleted file mode 100644 index cb4115d0..00000000 --- a/demo/code-demo/scripts/index.js +++ /dev/null @@ -1,54 +0,0 @@ -var sampleContentLoaded = false; -var documentationContentLoaded = false; -var anyReportSectionLoaded = false; - -$(function() { - OpenSampleSection(); -}); - -function OpenSampleSection() { - OpenEmbedWorkspace("#top-sample", "step_authorize.html"); -} - -function OpenAnyReportSection() { - OpenEmbedWorkspace("#top-anyReport", "anyReport.html"); -} - -function OpenEmbedWorkspace(activeTabSelector, authStepHtml) -{ - // Any report, uses the same settings as sample report. ony changes the auth step. - if (!sampleContentLoaded) - { - // Open Report Sample. - $("#sampleContent").load("sample.html", function() { - $("#mainContent").load("report.html"); - sampleContentLoaded = true; - }); - } - - $("#authorize-step-wrapper").load(authStepHtml); - SetActiveStyle(activeTabSelector); - - $(".content").hide(); - $("#sampleContent").show(); - OpenAuthStep(); -} - -function OpenDocumentationSection() { - if (!documentationContentLoaded) - { - $("#documentationContent").load("docs.html"); - documentationContentLoaded = true; - } - - SetActiveStyle("#top-docs"); - - $(".content").hide(); - $("#documentationContent").show(); -} - -function SetActiveStyle(id) -{ - $("#top-ul li").removeClass("top-li-active"); - $(id).addClass("top-li-active"); -} \ No newline at end of file diff --git a/demo/code-demo/scripts/logger.js b/demo/code-demo/scripts/logger.js deleted file mode 100644 index 52b9e454..00000000 --- a/demo/code-demo/scripts/logger.js +++ /dev/null @@ -1,23 +0,0 @@ -function InitLogger(divId) { - - var Logger = {}; - - Logger.log = function name(event) { - this.logText("Json Object\n" + JSON.stringify(event, null, " ")); - }; - - Logger.logText = function name(text) { - var textbox = document.getElementById(divId); - - if (!textbox.value) - { - textbox.value = ""; - } - - textbox.value += "> " + text + "\n"; - - textbox.scrollTop = textbox.scrollHeight; - }; - - return Logger; -} diff --git a/demo/code-demo/scripts/report.js b/demo/code-demo/scripts/report.js deleted file mode 100644 index ff0f1819..00000000 --- a/demo/code-demo/scripts/report.js +++ /dev/null @@ -1,132 +0,0 @@ -const active_class = 'active'; -const active_li = 'steps-li-active'; - -const EmbedViewMode = "view"; -const EmbedEditMode = "edit"; -const EmbedCreateMode = "create"; - -function OpenAuthStep() { - $('#steps-ul a').removeClass(active_class); - $(".steps-li-active").removeClass(active_li); - - $("#steps-auth a").addClass(active_class); - $("#steps-auth").addClass(active_li); - - // Hide Embed view in authorization step. - $("#authorize-step-wrapper").show(); - $("#embed-and-interact-steps-wrapper").hide(); -} - -function OpenEmbedStep(mode) { - $('#steps-ul a').removeClass(active_class); - $(".steps-li-active").removeClass(active_li); - - $('#steps-embed a').addClass(active_class); - $('#steps-embed').addClass(active_li); - - // Hide Embed view in authorization step. - $("#authorize-step-wrapper").hide(); - $("#embed-and-interact-steps-wrapper").show(); - - $("#settings").load("settings_embed.html", function() { - OpenEmbedMode(mode); - - // Fix report size ratio - var reportContainer = $("#reportContainer"); - reportContainer.height(reportContainer.width() * 0.59); - }); -} - -function OpenInteractStep() { - $('#steps-ul a').removeClass(active_class); - $(".steps-li-active").removeClass(active_li); - - $('#steps-interact a').addClass(active_class); - $('#steps-interact').addClass(active_li); - - // Hide Embed view in authorization step. - $("#authorize-step-wrapper").hide(); - $("#embed-and-interact-steps-wrapper").show(); - - $("#settings").load("settings_interact.html", function() { - SetToggleHandler("report-operations-div"); - SetToggleHandler("page-operations-div"); - SetToggleHandler("events-operations-div"); - SetToggleHandler("editandsave-operations-div"); - LoadCodeArea("#embedCodeDiv", _Report_GetId); - }); -} - -function setCodeArea(mode) -{ - if (mode === EmbedViewMode) - { - LoadCodeArea("#embedCodeDiv", _Embed_BasicEmbed); - } - else if (mode === EmbedEditMode) - { - LoadCodeArea("#embedCodeDiv", _Embed_BasicEmbed_EditMode); - } - else if (mode === EmbedCreateMode) - { - LoadCodeArea("#embedCodeDiv", _Embed_Create); - } -} - -function showEmbedSettings(mode) -{ - var inputDivToShow = "#embedModeInput"; - var inputDivToHide = "#createModeInput"; - - if (mode === EmbedCreateMode) - { - inputDivToShow = "#createModeInput"; - inputDivToHide = "#embedModeInput"; - } - - $(inputDivToShow).show(); - $(inputDivToHide).hide(); - - var embedModeRadios = $('input:radio[name=embedMode]'); - embedModeRadios.filter('[value='+ mode + ']').prop('checked', true); -} - -function OpenEmbedMode(mode) -{ - if (mode == EmbedCreateMode) - { - if (IsEmbeddingSampleReport()) - { - LoadSampleDatasetIntoSession(); - } - - SetTextBoxesFromSessionOrUrlParam("#txtCreateAccessToken", "#txtCreateReportEmbed", "#txtEmbedDatasetId"); - } - else { - if (IsEmbeddingSampleReport()) - { - LoadSampleReportIntoSession(); - } - - SetTextBoxesFromSessionOrUrlParam("#txtAccessToken", "#txtReportEmbed", "#txtEmbedReportId"); - } - - setCodeArea(mode); - showEmbedSettings(mode); -} - -function OpenViewMode() { - OpenEmbedMode(EmbedViewMode); -} - -function OpenEditMode() { - OpenEmbedMode(EmbedEditMode); -} - -function OpenCreateMode() { - OpenEmbedMode(EmbedCreateMode); -} - -function IsEmbeddingSampleReport() { - return GetSession(SessionKeys.IsSampleReport) == true; -} diff --git a/demo/code-demo/scripts/session_utils.js b/demo/code-demo/scripts/session_utils.js deleted file mode 100644 index d95adc4b..00000000 --- a/demo/code-demo/scripts/session_utils.js +++ /dev/null @@ -1,76 +0,0 @@ -var _session = {}; - -const SessionKeys = { - AccessToken : "accessToken", - EmbedUrl : "embedUrl", - EmbedId : "embedId", - GroupId : "groupId", - IsSampleReport: "isSampleReport", - QnaQuestion: "qnaQuestion", - EntityIsAlreadyEmbedded: "EntityIsAlreadyEmbedded", -}; - -function GetParameterByName(name, url) { - if (!url) { - url = window.location.href; - } - name = name.replace(/[\[\]]/g, "\\$&"); - var regex = new RegExp("[?&]" + name + "(=([^&#]*)|&|#|$)"), - results = regex.exec(url); - if (!results) return null; - if (!results[2]) return ''; - return decodeURIComponent(results[2].replace(/\+/g, " ")); -} - -function SetSession(key, value) { - // This is a temporal solution for session (which is cleared on reload). Should be replaced with a real session. - _session[key] = value; -} - -function GetSession(key) { - // This is a temporal solution for session (which is cleared on reload). Should be replaced with a real session. - return _session[key]; -} - -function UpdateSession(button, sessionKey) { - var value = $(button).val(); - if (value) - { - SetSession(sessionKey, value); - } -} - -function SetTextBoxesFromSessionOrUrlParam(accessTokenSelector, embedUrlSelector, embedIdSelector) { - var accessToken = GetParameterByName(SessionKeys.AccessToken); - if (!accessToken) - { - accessToken = GetSession(SessionKeys.AccessToken); - } - - var embedUrl = GetParameterByName(SessionKeys.EmbedUrl); - if (!embedUrl) - { - embedUrl = GetSession(SessionKeys.EmbedUrl); - } else { - var groupId = GetParameterByName(SessionKeys.GroupId); - if(groupId) - { - if (embedUrl.indexOf("?") != -1) - { - embedUrl += "&groupId=" + groupId; - } else { - embedUrl += "?groupId=" + groupId; - } - } - } - - var embedId = GetParameterByName(SessionKeys.EmbedId); - if (!embedId) - { - embedId = GetSession(SessionKeys.EmbedId); - } - - $(accessTokenSelector).val(accessToken); - $(embedUrlSelector).val(embedUrl); - $(embedIdSelector).val(embedId); -} diff --git a/demo/code-demo/scripts/step_authorize.js b/demo/code-demo/scripts/step_authorize.js deleted file mode 100644 index 94ad8713..00000000 --- a/demo/code-demo/scripts/step_authorize.js +++ /dev/null @@ -1,43 +0,0 @@ -const SampleReport = { - // Expires on 1.1.2030 - AccessToken : "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ2ZXIiOiIwLjIuMCIsIndjbiI6IlBvd2VyQmlBenVyZVNhbXBsZXMiLCJ3aWQiOiJmODFjMTk2Ni1lZGVlLTQxMWItOGY4YS1mODQ0NjAxOWIwNDQiLCJyaWQiOiJjNTJhZjhhYi0wNDY4LTQxNjUtOTJhZi1kYzM5ODU4ZDY2YWQiLCJpc3MiOiJQb3dlckJJU0RLIiwiYXVkIjoiaHR0cHM6Ly9hbmFseXNpcy53aW5kb3dzLm5ldC9wb3dlcmJpL2FwaSIsImV4cCI6MTg5MzQ0ODgwMCwibmJmIjoxNDgxMDM3MTY5fQ.m4SwqmRWA9rJgfl72lEQ_G-Ijpw9Up5YwmBOfXi00YU", - EmbedUrl : "https://embedded.powerbi.com/appTokenReportEmbed?reportId=c52af8ab-0468-4165-92af-dc39858d66ad", - EmbedId : "c52af8ab-0468-4165-92af-dc39858d66ad" -}; - -const SampleDataset = { - // Expires on 1.1.2030 - AccessToken : "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ2ZXIiOiIwLjIuMCIsInR5cGUiOiJlbWJlZCIsIndjbiI6IlBvd2VyQmlBenVyZVNhbXBsZXMiLCJ3aWQiOiJmODFjMTk2Ni1lZGVlLTQxMWItOGY4YS1mODQ0NjAxOWIwNDQiLCJkaWQiOiIxZWUwYjI2NC1iMjgwLTQzZjEtYmJiNy05ZDhiZDJkMDNhNzgiLCJzY3AiOiJEYXRhc2V0LlJlYWQiLCJpc3MiOiJQb3dlckJJU0RLIiwiYXVkIjoiaHR0cHM6Ly9hbmFseXNpcy53aW5kb3dzLm5ldC9wb3dlcmJpL2FwaSIsImV4cCI6MTk2MTg1NDIzNiwibmJmIjoxNDg4NDY4NjM2fQ.Udv5Y6gMrTKUw0-5mXeCwud8u4JI5Y5loAwJc2jWugQ", - EmbedUrl : "https://embedded.powerbi.com/appTokenReportEmbed", - EmbedId : "1ee0b264-b280-43f1-bbb7-9d8bd2d03a78" -}; - -function LoadSampleReportIntoSession() { - setSession(SampleReport.AccessToken, SampleReport.EmbedUrl, SampleReport.EmbedId); -} - -function LoadSampleDatasetIntoSession() { - setSession(SampleDataset.AccessToken, SampleDataset.EmbedUrl, SampleDataset.EmbedId); -} - -function OpenEmbedStepWithSample() { - SetSession(SessionKeys.IsSampleReport, true); - OpenEmbedStep(EmbedViewMode); -} - -function OpenEmbedStepCreateWithSample() { - SetSession(SessionKeys.IsSampleReport, true); - OpenEmbedStep(EmbedCreateMode); -} - -function OpenEmbedStepFromUserSettings() { - SetSession(SessionKeys.IsSampleReport, false); - OpenEmbedStep(EmbedViewMode); -} - -function setSession(accessToken, embedUrl, embedId) -{ - SetSession(SessionKeys.AccessToken, accessToken); - SetSession(SessionKeys.EmbedUrl, embedUrl); - SetSession(SessionKeys.EmbedId, embedId); -} \ No newline at end of file diff --git a/demo/code-demo/scripts/step_embed.js b/demo/code-demo/scripts/step_embed.js deleted file mode 100644 index af4cacef..00000000 --- a/demo/code-demo/scripts/step_embed.js +++ /dev/null @@ -1,98 +0,0 @@ -// ---- Report Operations ---------------------------------------------------- -function Report_GetId() { - SetCode(_Report_GetId); -} - -function Report_UpdateSettings() { - SetCode(_Report_UpdateSettings); -} - -function Report_GetPages() { - SetCode(_Report_GetPages); -} - -function Report_SetPage() { - SetCode(_Report_SetPage); -} - -function Report_GetFilters() { - SetCode(_Report_GetFilters); -} - -function Report_SetFilters() { - SetCode(_Report_SetFilters); -} - -function Report_RemoveFilters() { - SetCode(_Report_RemoveFilters); -} - -function Report_PrintCurrentReport() { - SetCode(_Report_PrintCurrentReport); -} - -function Report_Reload() { - SetCode(_Report_Reload); -} - -function Report_Refresh() { - SetCode(_Report_Refresh); -} - -function Report_FullScreen() { - SetCode(_Report_FullScreen); -} - -function Report_ExitFullScreen() { - SetCode(_Report_ExitFullScreen); -} - -// ---- Page Operations ---------------------------------------------------- - -function Page_SetActive() { - SetCode(_Page_SetActive); -} - -function Page_GetFilters() { - SetCode(_Page_GetFilters); -} - -function Page_SetFilters() { - SetCode(_Page_SetFilters); -} - -function Page_RemoveFilters() { - SetCode(_Page_RemoveFilters); -} - -// ---- Event Listener ---------------------------------------------------- - -function Events_PageChanged() { - SetCode(_Events_PageChanged); -} - -function Events_DataSelected() { - SetCode(_Events_DataSelected); -} - -function Events_SaveAsTriggered() { - SetCode(_Events_SaveAsTriggered); -} - -// ---- Edit and Save Operations ---------------------------------------------------- - -function Report_switchModeEdit() { - SetCode(_Report_switchModeEdit); -} - -function Report_switchModeView() { - SetCode(_Report_switchModeView); -} - -function Report_save() { - SetCode(_Report_save); -} - -function Report_saveAs() { - SetCode(_Report_saveAs); -} \ No newline at end of file diff --git a/demo/code-demo/scripts/step_interact.js b/demo/code-demo/scripts/step_interact.js deleted file mode 100644 index ea15a6fd..00000000 --- a/demo/code-demo/scripts/step_interact.js +++ /dev/null @@ -1,73 +0,0 @@ -function OpenReportOperations() { - $("#report-operations-div").show(); - $("#page-operations-div").hide(); - $("#events-operations-div").hide(); - $("#editandsave-operations-div").hide(); - - $("#report-operations-li").addClass('active'); - $('#page-operations-li').removeClass('active'); - $('#events-operations-li').removeClass('active'); - $('#editandsave-operations-li').removeClass('active'); - - $("#report-operations-div .function-ul li.active").click() - - $("#selected-catogory-button").html("Report operations"); -} - -function OpenPageOperations() { - $("#page-operations-div").show(); - $("#report-operations-div").hide(); - $("#events-operations-div").hide(); - $("#editandsave-operations-div").hide(); - - $("#page-operations-li").addClass('active'); - $('#report-operations-li').removeClass('active'); - $('#events-operations-li').removeClass('active'); - $('#editandsave-operations-li').removeClass('active'); - - $("#page-operations-div .function-ul li.active").click(); - - $("#selected-catogory-button").html("Page operations"); -} - -function OpenEventOperations() { - $("#page-operations-div").hide(); - $("#report-operations-div").hide(); - $("#events-operations-div").show(); - $("#editandsave-operations-div").hide(); - - $("#page-operations-li").removeClass('active'); - $('#report-operations-li').removeClass('active'); - $('#events-operations-li').addClass('active'); - $('#editandsave-operations-li').removeClass('active'); - - $("#events-operations-div .function-ul li.active").click(); - - $("#selected-catogory-button").html("Events Listener"); -} - -function OpenEditAndSaveOperations() { - $("#page-operations-div").hide(); - $("#report-operations-div").hide(); - $("#events-operations-div").hide(); - $("#editandsave-operations-div").show(); - - $("#page-operations-li").removeClass('active'); - $('#report-operations-li').removeClass('active'); - $('#events-operations-li').removeClass('active'); - $('#editandsave-operations-li').addClass('active'); - - $("#editandsave-operations-div .function-ul li.active").click(); - - $("#selected-catogory-button").html("Edit and save operations"); -} - -function SetToggleHandler(devId) { - var selector = "#" + devId + " .function-ul li"; - $(selector).each(function(index, li) { - $(li).click(function() { - $(selector).removeClass('active'); - $(li).addClass('active'); - }); - }); -} diff --git a/demo/code-demo/scripts/utils.js b/demo/code-demo/scripts/utils.js deleted file mode 100644 index 9a4c7bd6..00000000 --- a/demo/code-demo/scripts/utils.js +++ /dev/null @@ -1,82 +0,0 @@ -function ValidateEmbedUrl(embedUrl) { - var embedUrl = $('#txtReportEmbed').val(); - - if (!embedUrl) - { - alert("You must specify an embed url."); - return false; - } - var id = null; - var parts = embedUrl.split("reportId="); - if (parts && parts.length > 0) - { - var guidParts = parts[parts.length -1].split("&"); - if (guidParts && guidParts.length > 0) - { - id = guidParts[0]; - } - } - - if (!id) - { - alert("Could not find report ID in url"); - return false; - } - - return true; -} - -function BodyCodeOfFunction(func) { - var lines = func.toString().split('\n'); - lines = lines.slice(1, lines.length-1); - - for (var i = 0; i < lines.length; ++i) - { - // remove trailing spaces. - lines[i] = lines[i].substring(4); - } - - return lines.join('\n'); -} - -function LoadCodeArea(divSelector, initialFunctionCode) { - $(divSelector).load("code_area.html", function() { - SetCode(initialFunctionCode); - }); -} - -function LoadLogWindow(divSelector) { - $(divSelector).load("log_window.html"); -} - -function SetCode(func) { - var codeHtml = '
';
-	codeHtml = codeHtml + BodyCodeOfFunction(func) + '
'; - $("#highlighter").html(codeHtml); - - var runFunc = mapFunc(func); - - $('#btnRunCode').off('click'); - $('#btnRunCode').click(runFunc); -} - -function CopyCode() { - CopyTextArea("#txtCode", "#btnRunCopyCode"); -} - -function CopyResponseWindow() { - CopyTextArea("#txtResponse", "#btnCopyResponse"); -} - -function CopyTextArea(textAreaSelector, buttonSelector) { - $(textAreaSelector).select(); - document.execCommand('copy'); - window.getSelection().removeAllRanges(); - - // Set focus on copy button - this will deselect text in copied area. - $(buttonSelector).focus(); -} - -function ClearTextArea(textAreaSelector) { - $(textAreaSelector).val(""); -} diff --git a/demo/code-demo/settings_embed.html b/demo/code-demo/settings_embed.html deleted file mode 100644 index c850640a..00000000 --- a/demo/code-demo/settings_embed.html +++ /dev/null @@ -1,50 +0,0 @@ -
-
-

Embed Report

-
- - Select mode to embed your report in: -
-
-
View mode
-
Edit mode
-
Create mode
-
- -
- Fill in the fields below to get the code to embed your report. -
- -
-
Embed Token
- -
-
-
Embed URL
- -
-
-
Report Id
- -
-
- -
- Fill in the fields below to get the code to embed your report. -
- -
-
Embed Token
- -
-
-
Embed URL
- -
-
-
Dataset Id
- -
-
- -
\ No newline at end of file diff --git a/demo/code-demo/settings_interact.html b/demo/code-demo/settings_interact.html deleted file mode 100644 index 1e37e084..00000000 --- a/demo/code-demo/settings_interact.html +++ /dev/null @@ -1,65 +0,0 @@ -
-
-
-
- -
-
-
-
-
-
    -
  • Get Id
  • -
  • Get pages
  • -
  • Set page
  • -
  • Set filters
  • -
  • Get filters
  • -
  • Remove filters
  • -
  • Print
  • -
  • Update settings
  • -
  • Reload
  • -
  • Refresh
  • -
  • Full screen
  • -
  • Exit full screen
  • -
-
- - - -
-
-
-
\ No newline at end of file diff --git a/demo/code-demo/step_authorize.html b/demo/code-demo/step_authorize.html deleted file mode 100644 index 5bdceab1..00000000 --- a/demo/code-demo/step_authorize.html +++ /dev/null @@ -1,32 +0,0 @@ - -
-
-
-
-

Deprecation Note

-
- This sample is deprecated. please use the new sample available - here. - -
- - The new sample accommodates the changes announced in the embedded offering described in - Power BI Documentation page. -
- -
-

Sample Report

- You can embed a sample report and interact with Power BI Embedded firsthand by clicking below. -
-
- -
-
-
- - \ No newline at end of file diff --git a/demo/code-demo/style/layout.css b/demo/code-demo/style/layout.css deleted file mode 100644 index 279231e7..00000000 --- a/demo/code-demo/style/layout.css +++ /dev/null @@ -1,359 +0,0 @@ -body { - min-width: 300px; -} - -header -{ - padding: 20px 40px; -} - -.logo-text-span { - color: rgb(0, 174, 239); - font-family: 'Segoe UI Web Light', 'Segoe UI Light', 'Segoe WP Light', 'Segoe UI', 'Segoe WP', Tahoma, Arial, sans-serif; - font-weight: normal; - font-size: 28px; -} - -#mainContent { - position: relative; - color: #404040; - /* margin: 15px 30px; */ - float: left; - width: 100%; -} - -.content { - position: relative; - color: #404040; - margin: 15px 30px; - height: 100%; -} - -#settings { - width: 270px; - margin-right: 20px; -} - -#embedCodeDiv { - width: 400px; - margin-right: 20px; - max-height: 300px; - float: left; -} - -#embedArea { - clear: both; - width: 100%; - padding-left: 290px; -} - -#reportContainer { - width: 100%; - height: 450px; - background-color: white; - padding: 0px; - clear: both; -} - -#logWindow { - width: 400px; - float: left; -} - -.topPanel { - margin-bottom: 10px; -} - -.bottomPanel { - width: 100%; - margin-bottom: 10px; - max-width: 100%; -} - -#steps-nav-bar { - width: 100%; - font-size: 90%; - border-bottom: 1px solid #E5E5E5; - margin-bottom: 20px; - padding-right: 0; - margin-right: 0; -} - -#steps-ul li { - width: 32%; - display: inline-block; -} - -@media screen and (max-width: 320px) { - header - { - padding: 15px 30px; - } - - .logo-text-span { - font-size: 90%; - line-height: 42px; - min-width: 295px; - } - - .topPanel { - height: 430px; - width: 100%; - } - - #embedCodeDiv { - width: 100%; - margin-bottom: 30px; - margin-right: 0px; - } - - #logWindow { - width: 100%; - } - - #settings { - width: 100%; - float: left; - margin-right: 0px; - } - - #reportContainer { - width: 100%; - height: 360px; - } - - #embedArea { - padding-left: 0px; - } -} - -@media screen and (max-width: 500px) { - .top-ul li { - float: left; - margin-right: 15px; - text-align: center; - line-height: 22px; - font-size: 13px; - } -} - -@media screen and (min-width: 321px) { - header - { - padding: 15px 30px; - } - - .logo-text-span { - font-size: 110%; - line-height: 42px; - min-width: 295px; - } - - .topPanel { - height: 430px; - width: 100%; - } - - #embedCodeDiv { - width: 100%; - margin-bottom: 30px; - margin-right: 0px; - } - - #logWindow { - width: 100%; - } - - #settings { - width: 100%; - float: left; - margin-right: 0px; - } - - #reportContainer { - width: 100%; - height: 360px; - } - - #embedArea { - padding-left: 0px; - } -} - -@media screen and (min-width: 551px) { - header - { - padding: 15px 10px; - } - - .logo-text-span { - font-size: 90%; - line-height: 42px; - min-width: 295px; - } - - .topPanel { - height: 330px; - width: 100%; - } - - #embedCodeDiv { - width: 100%; - margin-bottom: 30px; - margin-right: 0px; - } - - #logWindow { - width: 100%; - } - - #settings { - width: 100%; - float: left; - margin-right: 0px; - } - - #reportContainer { - width: 100%; - height: 360px; - } - - #embedArea { - padding-left: 0px; - } -} - -@media screen and (min-width: 861px) and (max-width: 1023px) { - header - { - padding: 20px 40px; - } - - .logo-text-span { - font-size: 28px; - } - - #embedCodeDiv { - width: 49%; - font-size: 90%; - margin-right: 2%; - } - - #logWindow { - width: 49%; - } - - #settings { - float: none; - width: 380px; - } - - #reportContainer { - width: 100%; - height: 360px; - } - - #embedArea { - padding-left: 0px; - } -} - -@media screen and (min-width: 1024px) { - header - { - padding: 20px 40px; - } - - .logo-text-span { - font-size: 28px; - } - - #mainContent { - width: 86.7%; - margin-left: 0.8%; - } - - #embedCodeDiv { - width: 34%; - font-size: 90%; - margin-right: 1%; - } - - #logWindow { - width: 34%; - } - - #settings { - float: left; - width: 30%; - margin-right: 1%; - } - - #operations-ul li { - margin: 0px 2px; - } - - #reportContainer { - width: 100%; - height: 380px; - } - - .bottomPanel { - margin-left: 0; - width: 100%; - } - - #steps-nav-bar { - width: 13.3%; - font-size: 90%; - padding-right: 0.8%; - border-right: 1px solid #E5E5E5; - border-bottom: none; - margin-bottom: 0px; - } - - #steps-ul li { - width: 100%; - display: block; - } -} - -@media screen and (min-width: 1280px) { - .logo-text-span { - font-size: 28px; - } - - .content { - margin: 15px 20px; - } - - .bottomPanel { - max-width: 100%; - margin-left: 0px; - } - - .steps-ul li { - font-size: 17px; - } -} - - -@media screen and (min-width: 1600px) { - .logo-text-span { - font-size: 28px; - } - - .content { - margin: 15px 40px; - } -} - -@media screen and (min-width: 1800px) { - .logo-text-span { - font-size: 28px; - } - - #reportContainer { - height: 450px; - } -} \ No newline at end of file diff --git a/demo/code-demo/style/style.css b/demo/code-demo/style/style.css deleted file mode 100644 index 09ffbe1b..00000000 --- a/demo/code-demo/style/style.css +++ /dev/null @@ -1,628 +0,0 @@ -html { - margin:0; - padding:0; - height:100%; -} - -body { - background-color: rgb(241, 241, 241); - font-family: 'Segoe UI', 'Segoe WP', Tahoma, Arial, sans-serif; - margin:0; - padding:0; - height:100%; -} - -h3 { - margin: 0; -} - -hr { - border-color: #DDDDDD; -} - -header { - display: block; - width: 100%; - top: 0px; - z-index: 1030; - color: rgb(8, 122, 165); - background-color: rgb(24, 24, 25); - height: 100px; -} - -a:hover, a:visited, a:link, a:active -{ - text-decoration: none; -} - -#nextStep { - float: right; -} - -#result-wrap { - margin-top: 10px; -} - -#user-embed-details { - width: 100%; -} - -#user-embed-details tr { - width: 100%; -} - -#user-embed-details input[type="text"] { - width: 100%; - border: none; - margin-bottom: 5px; -} - -#report-embed-table { - width: 100%; -} - -#report-embed-table tr { - width: 100%; -} - -.inputLine > span { - width: 30%; -} - -#report-embed-table input[type="text"] { - width: 73%; - border: none; - margin-bottom: 5px; -} - -#report-embed-checkbox input { - width: auto; - border: none; - margin-bottom: 5px; -} - -#oldSample { - display: block; - float: right; - margin-right: 30px; -} - -#deprecationNote { - margin-bottom: 30px; -} - -#deprecationNote .pageTitle { - margin-bottom: 15px; - font-weight: normal; - color: red; -} - -#sampleReportImgDiv img { - width: 265px; - height: 180px; -} - -#sampleReportImgDiv { - margin-top: 17px; - margin-right: 32px; - float: left; -} - -#sampleReportDescription { - float: left; - margin-top: 17px; - max-width: 400px; -} - -a { - text-decoration: none; -} - -.btn.btn-margin { - margin-bottom: 5px; -} - -.halfWidth.right { - width: 750px; - min-height: 100px; - float: left; - padding-top: 10px; - padding-bottom: 10px; -} - -.halfWidth.left { - width: 750px; - min-height: 100px; - float: left; - padding-top: 10px; - padding-bottom: 10px; - margin-right: 40px; -} - -.break-float { - clear: both; - width: 100%; -} - -.pbi-line { - display: inline-block; - width: 100%; -} - -#top-nav-bar { - margin-top: 10px; -} - -#top-nav-bar a { - color: white; - display: inline-block; -} - -#top-nav-bar a:hover { - color: rgb(8, 122, 165); -} - -#top-nav-bar .active { - color: rgb(0, 174, 239); -} - -#steps-nav-bar a { - color: black; - display: inline-block; -} - -#steps-nav-bar a:hover { - font-weight: bold; -} - -#steps-nav-bar .active { - color: white; -} - -.main-ul { - list-style-type: none; - margin: 0px 30px; - padding: 0; - overflow: hidden; - float: right; -} - -.main-ul .active { - background-color: rgb(245, 211, 65); -} - -.main-li { - float: left; -} - -.main-li a { - display: block; - color: black; - text-align: center; - padding: 0px 16px; - text-decoration: none; -} - -.main-li a:visited { - display: block; - color: black; - text-align: center; - padding: 0px 16px; - text-decoration: none; - background-color: rgb(245, 211, 65); -} - -.main-li a:hover { - display: block; - color: black; - text-align: center; - padding: 0px 16px; - text-decoration: none; - background-color: rgb(245, 211, 65); -} - -.main-li a:active { - display: block; - color: black; - text-align: center; - padding: 0px 16px; - text-decoration: none; - background-color: rgb(245, 211, 65); -} - -.main-title { - font-family: 'Segoe UI Web Light', 'Segoe UI Light', 'Segoe WP Light', 'Segoe UI', 'Segoe WP', Tahoma, Arial, sans-serif; - font-size: 28px; - font-weight: bold; -} - -#navbar { - float: left; - width: 100%; -} - -#top-ul-dev { - float: left; -} - -.top-ul { - list-style-type: none; - margin: 0px; - overflow: hidden; - -webkit-margin-before: 0; - -webkit-padding-start: 0; - line-height: 30px; -} - -.top-ul li { - float: left; - margin-right: 40px; - text-align: center; - line-height: 22px; - font-size: 17px; -} - -#top-docs { - margin-right: 0px; -} - -.top-li-active { - color: white; - border-bottom: 1px solid white; - padding-bottom: 3px; -} - -#steps-ul-dev { - float: left; - width: 100%; -} - -.steps-ul { - list-style-type: none; - margin: 0px; - overflow: hidden; - -webkit-margin-before: 0; - -webkit-padding-start: 0; - line-height: 30px; - width: 100%; -} - -.steps-ul li { - float: none; - text-align: left; - line-height: 22px; - font-weight: 400; - height: 40px; - width: 100%; - margin-bottom: 10px; - vertical-align: middle; -} - -#steps-interact { - margin-right: 0px; -} - -.steps-li-active { - color: white; - text-decoration: none; - background-color: #666666; -} - -.operations-div { - height: 100%; - width: 95%; - background-color: rgb(231, 232, 233); - text-align: center; - overflow-y: scroll; - position: relative; -} - -#operations-ul a { - text-decoration: none; - color: rgb(27, 27, 27); - width: 100%; - text-align: center; -} - -#operations-ul li:hover { - border-bottom: 3px solid #444444; -} - -#operations-ul { - -webkit-margin-before: 0; - -webkit-margin-after: 0; - -webkit-padding-start: 0; -} - -#operations-ul li { - margin: 0px 30px 0px 0px; - display: inline-block; - /* font-size: 14px; */ - color: #444444; -} - -#operations-ul > .active { - border-bottom: 3px #444444 solid; -} - -#wrapper-operations-div { - padding: 10px 20px 15px 20px; - background-color: rgb(231, 232, 233); - width: 100%; - height: 300px; - overflow: hidden; - display: inline-block; -} - -#report-operations-div::-webkit-scrollbar-track, #page-operations-div::-webkit-scrollbar-track, #events-operations-div::-webkit-scrollbar-track -{ - border-radius: 10px; - background-color: transparent; -} - -#report-operations-div::-webkit-scrollbar, #page-operations-div::-webkit-scrollbar, #events-operations-div::-webkit-scrollbar -{ - width:10px; - height:10px; - background-color: transparent; -} - -#report-operations-div::-webkit-scrollbar-thumb, page-operations-div::-webkit-scrollbar-thumb, #events-operations-div::-webkit-scrollbar-thumb -{ - border-radius: 10px; - background-color: #888888; -} - -#operations-ul-wrapper img { - width: 20px; - position: relative; - top: 3px; -} - -#operation-categories { - margin-bottom: 0px; -} - -#selected-catogory-button { - background-color: transparent; - border: none; - color: rgb(27, 27, 27); - min-width: 120px; - text-align: left; -} - -.function-ul { - width: 100%; - clear: both; - margin: 0; - padding: 0px 20px 0px 0px; -} - -.function-ul li { - width: 100%; - clear: both; - cursor: default; -} - -.function-ul a { - text-decoration: none; - color: rgb(27, 27, 27); -} - -.function-ul .active { - background-color: rgb(88, 88, 90); - color: white; -} - -.function-ul a:hover { - background-color: #888888; -} - -.function-ul li { - list-style-type: none; - margin: 0px; - overflow: hidden; - -webkit-margin-before: 0; - -webkit-padding-start: 0; - margin: 5px 0px; - text-align: left; - padding: 3px; -} - -.td-field-name { - width: 130px; - text-align: right; - color: #888888; - padding-right: 5px; -} - -.pageTitle { - margin-bottom: 10px; -} - -.pageTitle h3 { - margin-bottom: 15px; - font-weight: normal; -} - -.editorTitle { - margin-bottom: 5px; -} - -#GoToInteractStep { - display: inline-block; - position: relative; -} - -.textAreaControls { - text-align: right; - position: relative; - z-index: 1; - height: 30px; - padding: 10px 20px; - font-size: 14px; -} - -.textAreaControl { - color: rgb(127, 127, 127); - background-color: transparent; - border: none; - margin-right: 5px; -} - -.textAreaControl img { - width: 16px; - height: 16px; - position: relative; - top: -2px; -} - -.responseTextArea { - width: 100%; - height: 300px; - border: none; - padding-top: 40px; - position: relative; - top: -30px; - padding-left: 10px; - margin-bottom: -30px; -} - -.responseDiv { - width: 100%; - float: left; -} - -.blueButton { - background-color: rgb(36, 169, 225); - border: none; - color: white; - padding: 5px 30px; -} - -.spacer { - height: 10px; -} - -.scrollbar -{ - margin-left: 30px; - float: left; - height: 300px; - width: 65px; - background: #F5F5F5; - overflow-y: scroll; - margin-bottom: 25px; -} - -#txtCode { - width: 100%; - height: 300px; - border: none; - padding: 20px; - position: relative; - top: -30px; - background: #FFFFFF; - overflow: auto; - white-space: pre-wrap; -} - -#GoToEmbedStepButton { - margin-top: 12px; -} - -#authStepDiv { - max-width: 500px; -} - -#report-embed-table .inputLine { - margin: 5px 0px; -} - -.pageTitle h4 { - font-size: 18px; - font-weight: normal; - margin: 0px 0px 5px 0px; -} - -.top-div { - border-radius: 50%; - width: 10px; - height: 10px; - display: inline-block; - background-color: white; - border: solid black 1px; -} - -.active-top { - background-color: rgb(36, 169, 225); -} - -.step-div { - border-radius: 50%; - width: 10px; - height: 10px; - display: inline-block; - background-color: white; - border: solid black 1px; -} - -.active-step { - background-color: rgb(36, 169, 225); -} - -.editorTitleText { - display: inline-block; -} - -#selected-catogory-button-wrapper img { - width: 20px; - position: relative; - top: -1px; -} - -.checkbox.input { - width: auto; -} - -.stepsButton { - -height: 100%; - -padding: 10px 0px 0px 10px; - -line-height: 20px; -} - -.video { - width: 90%; - height: 500px; - max-width: 800px; -} - -.title { - font-size: 17px; - font-weight: 400px; -} - -#embedModeInput { - -} - -#createModeInput { - display: none; -} - -.inputLineTitle { - width: 25%; - display: inline-block; -} - -#modeSelector { - margin-bottom: 20px; - cursor: default; -} - -#reportContainer iframe { - border: none; -} \ No newline at end of file diff --git a/demo/code-demo/style/syntaxHighlighterOverride.css b/demo/code-demo/style/syntaxHighlighterOverride.css deleted file mode 100644 index 1f789f8b..00000000 --- a/demo/code-demo/style/syntaxHighlighterOverride.css +++ /dev/null @@ -1,10 +0,0 @@ -.syntaxhighlighter { - overflow: hidden !important; - margin: 0em !important; - padding: 0em !important; - top: -85px !important; -} - -.syntaxhighlighter .line { - white-space: pre-wrap !important; -} \ No newline at end of file diff --git a/demo/code-demo/syntaxHighlighter/syntaxhighlighter.js b/demo/code-demo/syntaxHighlighter/syntaxhighlighter.js deleted file mode 100644 index 7d773ec8..00000000 --- a/demo/code-demo/syntaxHighlighter/syntaxhighlighter.js +++ /dev/null @@ -1,3768 +0,0 @@ -/*! - * SyntaxHighlighter - * https://github.com/syntaxhighlighter/syntaxhighlighter - * - * SyntaxHighlighter is donationware. If you are using it, please donate. - * http://alexgorbatchev.com/SyntaxHighlighter/donate.html - * - * @version - * 4.0.1 (Tue, 07 Mar 2017 15:42:46 GMT) - * - * @copyright - * Copyright (C) 2004-2016 Alex Gorbatchev. - * - * @license - * Dual licensed under the MIT and GPL licenses. - */ -/******/ (function(modules) { // webpackBootstrap -/******/ // The module cache -/******/ var installedModules = {}; -/******/ -/******/ // The require function -/******/ function __webpack_require__(moduleId) { -/******/ -/******/ // Check if module is in cache -/******/ 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 -/******/ }; -/******/ -/******/ // Execute the module function -/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); -/******/ -/******/ // Flag the module as loaded -/******/ module.loaded = true; -/******/ -/******/ // Return the exports of the module -/******/ return module.exports; -/******/ } -/******/ -/******/ -/******/ // expose the modules object (__webpack_modules__) -/******/ __webpack_require__.m = modules; -/******/ -/******/ // expose the module cache -/******/ __webpack_require__.c = installedModules; -/******/ -/******/ // __webpack_public_path__ -/******/ __webpack_require__.p = ""; -/******/ -/******/ // Load entry module and return exports -/******/ return __webpack_require__(0); -/******/ }) -/************************************************************************/ -/******/ ([ -/* 0 */ -/***/ function(module, exports, __webpack_require__) { - - 'use strict'; - - Object.defineProperty(exports, "__esModule", { - value: true - }); - - var _core = __webpack_require__(1); - - Object.keys(_core).forEach(function (key) { - if (key === "default" || key === "__esModule") return; - Object.defineProperty(exports, key, { - enumerable: true, - get: function get() { - return _core[key]; - } - }); - }); - - var _domready = __webpack_require__(24); - - var _domready2 = _interopRequireDefault(_domready); - - var _core2 = _interopRequireDefault(_core); - - var _dasherize = __webpack_require__(25); - - var dasherize = _interopRequireWildcard(_dasherize); - - function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } } - - function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - - // configured through the `--compat` parameter. - if (false) { - require('./compatibility_layer_v3'); - } - - (0, _domready2.default)(function () { - return _core2.default.highlight(dasherize.object(window.syntaxhighlighterConfig || {})); - }); - -/***/ }, -/* 1 */ -/***/ function(module, exports, __webpack_require__) { - - 'use strict'; - - Object.defineProperty(exports, "__esModule", { - value: true - }); - var optsParser = __webpack_require__(2), - match = __webpack_require__(5), - Renderer = __webpack_require__(9).default, - utils = __webpack_require__(10), - transformers = __webpack_require__(11), - dom = __webpack_require__(17), - config = __webpack_require__(18), - defaults = __webpack_require__(19), - HtmlScript = __webpack_require__(20); - - var sh = { - Match: match.Match, - Highlighter: __webpack_require__(22), - - config: __webpack_require__(18), - regexLib: __webpack_require__(3).commonRegExp, - - /** Internal 'global' variables. */ - vars: { - discoveredBrushes: null, - highlighters: {} - }, - - /** This object is populated by user included external brush files. */ - brushes: {}, - - /** - * Finds all elements on the page which should be processes by SyntaxHighlighter. - * - * @param {Object} globalParams Optional parameters which override element's - * parameters. Only used if element is specified. - * - * @param {Object} element Optional element to highlight. If none is - * provided, all elements in the current document - * are returned which qualify. - * - * @return {Array} Returns list of { target: DOMElement, params: Object } objects. - */ - findElements: function findElements(globalParams, element) { - var elements = element ? [element] : utils.toArray(document.getElementsByTagName(sh.config.tagName)), - conf = sh.config, - result = []; - - // support for + + + + + + + + + + + + + + + + + + + diff --git a/demo/code-demo/log_window.html b/demo/code-demo/log_window.html new file mode 100644 index 00000000..76e3b643 --- /dev/null +++ b/demo/code-demo/log_window.html @@ -0,0 +1,12 @@ +
+
Log Viewer
+
+ + +
+ +
\ No newline at end of file diff --git a/demo/code-demo/report.html b/demo/code-demo/report.html new file mode 100644 index 00000000..dcb527b9 --- /dev/null +++ b/demo/code-demo/report.html @@ -0,0 +1,42 @@ + +
+
+
+
+
+
+
+
+ +
+
+
+
Embedded report
+
+
+
+
+
+ + \ No newline at end of file diff --git a/demo/code-demo/sample.html b/demo/code-demo/sample.html new file mode 100644 index 00000000..9f064e68 --- /dev/null +++ b/demo/code-demo/sample.html @@ -0,0 +1,24 @@ +
+
+ +
+
+ +
+
\ No newline at end of file diff --git a/demo/code-demo/scripts/codesamples.js b/demo/code-demo/scripts/codesamples.js new file mode 100644 index 00000000..c340d526 --- /dev/null +++ b/demo/code-demo/scripts/codesamples.js @@ -0,0 +1,765 @@ +/* + This file contains the code samples which will appear live in the web-page. + Each sample method name starts with _Report_ or _Page or _Embed depends on which section it appears. + Please keep this. +*/ + +// ---- Embed Code ---------------------------------------------------- + +function _Embed_BasicEmbed() { + // Read embed application token from textbox + var txtAccessToken = $('#txtAccessToken').val(); + + // Read embed URL from textbox + var txtEmbedUrl = $('#txtReportEmbed').val(); + + // Read report Id from textbox + var txtEmbedReportId = $('#txtEmbedReportId').val(); + + // Get models. models contains enums that can be used. + var models = window['powerbi-client'].models; + + // We give All permissions to demonstrate switching between View and Edit mode and saving report. + var permissions = models.Permissions.All; + + // Embed configuration used to describe the what and how to embed. + // This object is used when calling powerbi.embed. + // This also includes settings and options such as filters. + // You can find more information at https://github.com/Microsoft/PowerBI-JavaScript/wiki/Embed-Configuration-Details. + var config= { + type: 'report', + accessToken: txtAccessToken, + embedUrl: txtEmbedUrl, + id: txtEmbedReportId, + permissions: permissions, + settings: { + filterPaneEnabled: true, + navContentPaneEnabled: true + } + }; + + // Get a reference to the embedded report HTML element + var reportContainer = $('#reportContainer')[0]; + + // Embed the report and display it within the div container. + var report = powerbi.embed(reportContainer, config); + + // Report.off removes a given event handler if it exists. + report.off("loaded"); + + // Report.on will add an event handler which prints to Log window. + report.on("loaded", function() { + Log.logText("Loaded"); + }); + + report.on("error", function(event) { + Log.log(event.detail); + + report.off("error"); + }); + + report.off("saved"); + report.on("saved", function(event) { + Log.log(event.detail); + if(event.detail.saveAs) { + Log.logText('In order to interact with the new report, create a new token and load the new report'); + } + }); +} + +function _Mock_Embed_BasicEmbed(isEdit) { + // Read embed application token from textbox + var txtAccessToken = $('#txtAccessToken').val(); + + // Read embed URL from textbox + var txtEmbedUrl = $('#txtReportEmbed').val(); + + // Read report Id from textbox + var txtEmbedReportId = $('#txtEmbedReportId').val(); + + // Get models. models contains enums that can be used. + var models = window['powerbi-client'].models; + var permissions = models.Permissions.Copy | models.Permissions.Read; + var viewMode = isEdit ? models.ViewMode.Edit : models.ViewMode.View; + + // Embed configuration used to describe the what and how to embed. + // This object is used when calling powerbi.embed. + // This also includes settings and options such as filters. + // You can find more information at https://github.com/Microsoft/PowerBI-JavaScript/wiki/Embed-Configuration-Details. + var config= { + type: 'report', + accessToken: txtAccessToken, + embedUrl: txtEmbedUrl, + id: txtEmbedReportId, + permissions: permissions, + viewMode: viewMode, + settings: { + filterPaneEnabled: true, + navContentPaneEnabled: true, + useCustomSaveAsDialog: true + } + }; + + // Get a reference to the embedded report HTML element + var reportContainer = $('#reportContainer')[0]; + + // Embed the report and display it within the div container. + var report = powerbi.embed(reportContainer, config); + + // Report.off removes a given event handler if it exists. + report.off("loaded"); + + // Report.on will add an event handler which prints to Log window. + report.on("loaded", function() { + Log.logText("Loaded"); + }); + + report.on("saveAsTriggered", function() { + Log.logText("Cannot save sample report"); + }); + + report.off("error"); + report.on("error", function(event) { + Log.log(event.detail); + }); + + report.off("saved"); + report.on("saved", function(event) { + Log.log(event.detail); + if(event.detail.saveAs) { + Log.logText('In order to interact with the new report, create a new token and load the new report'); + } + }); +} + +function _Mock_Embed_BasicEmbed_EditMode() { + _Mock_Embed_BasicEmbed(true); +} + +function _Mock_Embed_BasicEmbed_ViewMode() { + _Mock_Embed_BasicEmbed(false); +} + +function _Embed_BasicEmbed_EditMode() { + // Read embed application token from textbox + var txtAccessToken = $('#txtAccessToken').val(); + + // Read embed URL from textbox + var txtEmbedUrl = $('#txtReportEmbed').val(); + + // Read report Id from textbox + var txtEmbedReportId = $('#txtEmbedReportId').val(); + + // Get models. models contains enums that can be used. + var models = window['powerbi-client'].models; + + // Embed configuration used to describe the what and how to embed. + // This object is used when calling powerbi.embed. + // This also includes settings and options such as filters. + // You can find more information at https://github.com/Microsoft/PowerBI-JavaScript/wiki/Embed-Configuration-Details. + var config= { + type: 'report', + accessToken: txtAccessToken, + embedUrl: txtEmbedUrl, + id: txtEmbedReportId, + permissions: models.Permissions.All /*gives maximum permissions*/, + viewMode: models.ViewMode.Edit, + settings: { + filterPaneEnabled: true, + navContentPaneEnabled: true + } + }; + + // Get a reference to the embedded report HTML element + var reportContainer = $('#reportContainer')[0]; + + // Embed the report and display it within the div container. + var report = powerbi.embed(reportContainer, config); + + // Report.off removes a given event handler if it exists. + report.off("loaded"); + + // Report.on will add an event handler which prints to Log window. + report.on("loaded", function() { + Log.logText("Loaded"); + }); + + report.off("error"); + report.on("error", function(event) { + Log.log(event.detail); + }); + + report.off("saved"); + report.on("saved", function(event) { + Log.log(event.detail); + if(event.detail.saveAs) { + Log.logText('In order to interact with the new report, create a new token and load the new report'); + } + }); +} + +function _Embed_EmbedWithDefaultFilter() { + var txtAccessToken = $('#txtAccessToken').val(); + var txtEmbedUrl = $('#txtReportEmbed').val(); + var txtEmbedReportId = $('#txtEmbedReportId').val(); + + const filter = { + $schema: "http://powerbi.com/product/schema#basic", + target: { + table: "Store", + column: "Chain" + }, + operator: "In", + values: ["Lindseys"] + }; + + var embedConfiguration = { + type: 'report', + accessToken: txtAccessToken, + embedUrl: txtEmbedUrl, + id: txtEmbedReportId, + settings: { + filterPaneEnabled: false, + navContentPaneEnabled: false + }, + filters: [filter] + }; + + var reportContainer = document.getElementById('reportContainer'); + powerbi.embed(reportContainer, embedConfiguration); +} + +function _Embed_Create() { + // Read embed application token from textbox + var txtAccessToken = $('#txtCreateAccessToken').val(); + + // Read embed URL from textbox + var txtEmbedUrl = $('#txtCreateReportEmbed').val(); + + // Read dataset Id from textbox + var txtEmbedDatasetId = $('#txtEmbedDatasetId').val(); + + // Embed create configuration used to describe the what and how to create report. + // This object is used when calling powerbi.createReport. + var embedCreateConfiguration = { + accessToken: txtAccessToken, + embedUrl: txtEmbedUrl, + datasetId: txtEmbedDatasetId, + }; + + // Grab the reference to the div HTML element that will host the report + var reportContainer = $('#reportContainer')[0]; + + // Create report + var report = powerbi.createReport(reportContainer, embedCreateConfiguration); + + // Report.off removes a given event handler if it exists. + report.off("loaded"); + + // Report.on will add an event handler which prints to Log window. + report.on("loaded", function() { + Log.logText("Loaded"); + }); + + report.off("error"); + report.on("error", function(event) { + Log.log(event.detail); + }); + + // report.off removes a given event handler if it exists. + report.off("saved"); + report.on("saved", function(event) { + Log.log(event.detail); + Log.logText('In order to interact with the new report, create a new token and load the new report'); + }); +} + +function _Mock_Embed_Create() { + // Read embed application token from textbox + var txtAccessToken = $('#txtCreateAccessToken').val(); + + // Read embed URL from textbox + var txtEmbedUrl = $('#txtCreateReportEmbed').val(); + + // Read dataset Id from textbox + var txtEmbedDatasetId = $('#txtEmbedDatasetId').val(); + + // Embed create configuration used to describe the what and how to create report. + // This object is used when calling powerbi.createReport. + var embedCreateConfiguration = { + accessToken: txtAccessToken, + embedUrl: txtEmbedUrl, + datasetId: txtEmbedDatasetId, + settings: { + useCustomSaveAsDialog: true + } + }; + + // Grab the reference to the div HTML element that will host the report + var reportContainer = $('#reportContainer')[0]; + + // Create report + var report = powerbi.createReport(reportContainer, embedCreateConfiguration); + + // Report.off removes a given event handler if it exists. + report.off("loaded"); + + // Report.on will add an event handler which prints to Log window. + report.on("loaded", function() { + Log.logText("Loaded"); + }); + report.on("saveAsTriggered", function() { + Log.logText("Cannot save sample report"); + }); + + report.off("error"); + report.on("error", function(event) { + Log.log(event.detail); + }); +} + +// ---- Report Operations ---------------------------------------------------- + +function _Report_GetId() { + // Get a reference to the embedded report HTML element + var reportContainer = $('#reportContainer')[0]; + + // Get a reference to the embedded report. + report = powerbi.get(reportContainer); + + // Retrieve the report id. + var reportId = report.getId(); + + Log.logText(reportId); +} + +function _Report_UpdateSettings() { + // The new settings that you want to apply to the report. + const newSettings = { + navContentPaneEnabled: true, + filterPaneEnabled: false + }; + + // Get a reference to the embedded report HTML element + var reportContainer = $('#reportContainer')[0]; + + // Get a reference to the embedded report. + report = powerbi.get(reportContainer); + + // Update the settings by passing in the new settings you have configured. + report.updateSettings(newSettings) + .then(function (result) { + $("#result").html(result); + }) + .catch(function (error) { + $("#result").html(error); + }); +} + +function _Report_GetPages() { + // Get a reference to the embedded report HTML element + var reportContainer = $('#reportContainer')[0]; + + // Get a reference to the embedded report. + report = powerbi.get(reportContainer); + + // Retrieve the page collection and loop through to collect the + // page name and display name of each page and display the value. + report.getPages() + .then(function (pages) { + pages.forEach(function(page) { + var log = page.name + " - " + page.displayName; + Log.logText(log); + }); + }) + .catch(function (error) { + Log.log(error); + }); +} + +function _Report_SetPage() { + // Get a reference to the embedded report HTML element + var reportContainer = $('#reportContainer')[0]; + + // Get a reference to the embedded report. + report = powerbi.get(reportContainer); + + // setPage will change the selected view to the page you indicate. + // This is the actual page name not the display name. + report.setPage("ReportSection2") + .then(function (result) { + Log.log(result); + }) + .catch(function (errors) { + Log.log(errors); + }); + + // Report.off removes a given event handler if it exists. + report.off("pageChanged"); + + // Report.on will add an event handler which prints page + // name and display name to Log window. + report.on("pageChanged", function(event) { + var page = event.detail.newPage; + Log.logText(page.name + " - " + page.displayName); + }); +} + +function _Report_GetFilters() { + // Get a reference to the embedded report HTML element + var reportContainer = $('#reportContainer')[0]; + + // Get a reference to the embedded report. + report = powerbi.get(reportContainer); + + // Get the filters applied to the report. + report.getFilters() + .then(function (filters) { + Log.log(filters); + }) + .catch(function (errors) { + Log.log(errors); + }); +} + +function _Report_SetFilters() { + // Build the filter you want to use. For more information, See Constructing + // Filters in https://github.com/Microsoft/PowerBI-JavaScript/wiki/Filters. + const filter = { + $schema: "http://powerbi.com/product/schema#basic", + target: { + table: "Store", + column: "Chain" + }, + operator: "In", + values: ["Lindseys"] + }; + + // Get a reference to the embedded report HTML element + var reportContainer = $('#reportContainer')[0]; + + // Get a reference to the embedded report. + report = powerbi.get(reportContainer); + + // Set the filter for the report. + // Pay attention that setFilters receives an array. + report.setFilters([filter]) + .then(function (result) { + Log.log(result); + }) + .catch(function (errors) { + Log.log(errors); + }); +} + +function _Report_RemoveFilters() { + // Get a reference to the embedded report HTML element + var reportContainer = $('#reportContainer')[0]; + + // Get a reference to the embedded report. + report = powerbi.get(reportContainer); + + // Remove the filters currently applied to the report. + report.removeFilters() + .then(function (result) { + Log.log(result); + }) + .catch(function (errors) { + Log.log(errors); + }); +} + +function _Report_PrintCurrentReport() { + // Get a reference to the embedded report HTML element + var reportContainer = $('#reportContainer')[0]; + + // Get a reference to the embedded report. + report = powerbi.get(reportContainer); + + // Trigger the print dialog for your browser. + report.print() + .then(function (result) { + Log.log(result); + }) + .catch(function (errors) { + Log.log(errors); + }); +} + +function _Report_Reload() { + // Get a reference to the embedded report HTML element + var reportContainer = $('#reportContainer')[0]; + + // Get a reference to the embedded report. + report = powerbi.get(reportContainer); + + // Reload the displayed report + report.reload() + .then(function (result) { + Log.logText("Reloaded"); + }) + .catch(function (errors) { + Log.log(errors); + }); +} + +function _Report_Refresh() { + // Get a reference to the embedded report HTML element + var reportContainer = $('#reportContainer')[0]; + + // Get a reference to the embedded report. + report = powerbi.get(reportContainer); + + // Refresh the displayed report + report.refresh() + .then(function (result) { + Log.logText("Refreshed"); + }) + .catch(function (errors) { + Log.log(errors); + }); +} + +function _Report_FullScreen() { + // Get a reference to the embedded report HTML element + var reportContainer = $('#reportContainer')[0]; + + // Get a reference to the embedded report. + report = powerbi.get(reportContainer); + + // Displays the report in full screen mode. + report.fullscreen(); +} + +function _Report_ExitFullScreen() { + // Get a reference to the embedded report HTML element + var reportContainer = $('#reportContainer')[0]; + + // Get a reference to the embedded report. + report = powerbi.get(reportContainer); + + // Exits full screen mode. + report.exitFullscreen(); +} + +function _Report_switchModeEdit() { + // Get a reference to the embedded report HTML element + var reportContainer = $('#reportContainer')[0]; + + // Get a reference to the embedded report. + report = powerbi.get(reportContainer); + + // Switch to edit mode. + report.switchMode("edit"); +} + +function _Report_switchModeView() { + // Get a reference to the embedded report HTML element + var reportContainer = $('#reportContainer')[0]; + + // Get a reference to the embedded report. + report = powerbi.get(reportContainer); + + // Switch to view mode. + report.switchMode("view"); +} + +function _Report_save() { + // Get a reference to the embedded report HTML element + var reportContainer = $('#reportContainer')[0]; + + // Get a reference to the embedded report. + report = powerbi.get(reportContainer); + + // Save report + report.save(); +} + +function _Mock_Report_save() { + Log.logText('Cannot save sample report'); +} + +function _Report_saveAs() { + // Get a reference to the embedded report HTML element + var reportContainer = $('#reportContainer')[0]; + + // Get a reference to the embedded report. + report = powerbi.get(reportContainer); + + var saveAsParameters = { + name: "newReport" + }; + + // SaveAs report + report.saveAs(saveAsParameters); +} + +// ---- Page Operations ---------------------------------------------------- + +function _Page_SetActive() { + // Get a reference to the embedded report HTML element + var reportContainer = $('#reportContainer')[0]; + + // Get a reference to the embedded report. + report = powerbi.get(reportContainer); + + // Retrieve the page collection, and then set the second page to be active. + report.getPages() + .then(function (pages) { + pages[1].setActive().then(function (result) { + Log.log(result); + }); + }) + .catch(function (errors) { + Log.log(errors); + }); +} + +function _Page_GetFilters() { + // Get a reference to the embedded report HTML element + var reportContainer = $('#reportContainer')[0]; + + // Get a reference to the embedded report. + report = powerbi.get(reportContainer); + + // Retrieve the page collection and get the filters for the first page. + report.getPages() + .then(function (pages) { + pages[0].getFilters() + .then(function (filters) { + Log.log(filters); + }) + .catch(function (errors) { + Log.log(errors); + }); + }) + .catch(function (errors) { + Log.log(errors); + }); +} + +function _Page_SetFilters() { + // Get a reference to the embedded report HTML element + var reportContainer = $('#reportContainer')[0]; + + // Get a reference to the embedded report. + report = powerbi.get(reportContainer); + + // Build the filter you want to use. For more information, see Constructing + // Filters in https://github.com/Microsoft/PowerBI-JavaScript/wiki/Filters. + const filter = { + $schema: "http://powerbi.com/product/schema#basic", + target: { + table: "Store", + column: "Chain" + }, + operator: "In", + values: ["Lindseys"] + }; + + // Retrieve the page collection and then set the filters for the first page. + // Pay attention that setFilters receives an array. + report.getPages() + .then(function (pages) { + pages[0].setFilters([filter]) + .then(function (result) { + Log.log(result); + }) + .catch(function (errors) { + Log.log(errors); + }); + }) + .catch(function (errors) { + Log.log(errors); + }); +} + +function _Page_RemoveFilters() { + // Get a reference to the embedded report HTML element + var reportContainer = $('#reportContainer')[0]; + + // Get a reference to the embedded report. + report = powerbi.get(reportContainer); + + // Retrieve the page collection and remove the filters for the first page. + report.getPages() + .then(function (pages) { + pages[0].removeFilters() + .then(function (result) { + Log.log(result); + }) + .catch(function (errors) { + Log.log(errors); + }); + }) + .catch(function (errors) { + Log.log(errors); + }); +} + +// ---- Event Listener ---------------------------------------------------- + +function _Events_PageChanged() { + // Get a reference to the embedded report HTML element + var reportContainer = $('#reportContainer')[0]; + + // Get a reference to the embedded report. + report = powerbi.get(reportContainer); + + // Report.off removes a given event listener if it exists. + report.off("pageChanged"); + + // Report.on will add an event listener. + report.on("pageChanged", function(event) { + var page = event.detail.newPage; + Log.logText("Page changed to: " + page.name + " - " + page.displayName); + }); + + // Select Run and change to a different page. + // You should see an entry in the Log window. + + Log.logText("Select different page to see events in Log window."); +} + +function _Events_DataSelected() { + // Get a reference to the embedded report HTML element + var reportContainer = $('#reportContainer')[0]; + + // Get a reference to the embedded report. + report = powerbi.get(reportContainer); + + // Report.off removes a given event listener if it exists. + report.off("dataSelected"); + + // Report.on will add an event listener. + report.on("dataSelected", function(event) { + var data = event.detail; + Log.log(data); + }); + + // Select Run and select an element of a visualization. + // For example, a bar in a bar chart. You should see an entry in the Log window. + + Log.logText("Select data to see events in Log window."); +} + +function _Events_SaveAsTriggered() { + // Get a reference to the embedded report HTML element + var reportContainer = $('#reportContainer')[0]; + + // Get a reference to the embedded report. + report = powerbi.get(reportContainer); + + // Report.off removes a given event listener if it exists. + report.off("saveAsTriggered"); + + // Report.on will add an event listener. + report.on("saveAsTriggered", function(event) { + Log.log(event); + }); + + // Select Run and then select SaveAs. + // You should see an entry in the Log window. + + Log.logText("Select SaveAs to see events in Log window."); +} diff --git a/demo/code-demo/scripts/function_mapping.js b/demo/code-demo/scripts/function_mapping.js new file mode 100644 index 00000000..bb2cf2eb --- /dev/null +++ b/demo/code-demo/scripts/function_mapping.js @@ -0,0 +1,75 @@ +const mockDict = { + _Report_GetPages: datasetNotSupported, + _Report_SetPage: datasetNotSupported, + _Report_SetFilters: datasetNotSupported, + _Report_GetFilters: datasetNotSupported, + _Report_RemoveFilters: datasetNotSupported, + _Report_PrintCurrentReport: datasetNotSupported, + _Report_UpdateSettings: datasetNotSupported, + _Report_Reload: datasetNotSupported, + _Page_SetActive: datasetNotSupported, + _Page_SetFilters: datasetNotSupported, + _Page_GetFilters: datasetNotSupported, + _Page_RemoveFilters: datasetNotSupported, + _Report_switchModeEdit: datasetNotSupported, + _Report_switchModeView: datasetNotSupported, + _Embed_BasicEmbed: _Mock_Embed_BasicEmbed_ViewMode, + _Embed_BasicEmbed_EditMode: _Mock_Embed_BasicEmbed_EditMode, + _Report_save: _Mock_Report_save, + _Report_saveAs: _Mock_Report_save, + _Embed_Create: _Mock_Embed_Create +}; + +function datasetNotSupported() { + Log.logText('Operation not supported for dataset') +} + +function IsSaveMock(funcName) { + return ((funcName === '_Report_save' || funcName === '_Report_saveAs') && ( + _session.embedId === 'c52af8ab-0468-4165-92af-dc39858d66ad' /*Sample Report*/ || + _session.embedId === '1ee0b264-b280-43f1-bbb7-9d8bd2d03a78' /*Sample dataset*/ )); +} + +function IsBasicMock(funcName) { + return ((funcName === '_Embed_BasicEmbed' || funcName === '_Embed_BasicEmbed_EditMode') && _session.embedId === 'c52af8ab-0468-4165-92af-dc39858d66ad'); +} + +function IsCreateMock(funcName) { + return (funcName === '_Embed_Create' && _session.embedId === '1ee0b264-b280-43f1-bbb7-9d8bd2d03a78'); +} + +function IsNotSupported(funcName) { + if (powerbi.embeds.length === 0) { + return false + } + + // Get a reference to the embedded element + var embed = powerbi.get($('#reportContainer')[0]); + if (embed.config.type !== 'create') { + return false; + } + + var runFunc = mockDict[funcName]; + return (runFunc && runFunc === datasetNotSupported) ? true : false; +} + +function IsMock(funcName) { + return (IsBasicMock(funcName) || IsSaveMock(funcName) || IsCreateMock(funcName) || IsNotSupported(funcName)); +} + +function mapFunc(func) { + var funcName = getFuncName(func); + return IsMock(funcName) ? mockDict[funcName] : func; +} + +function getFuncName(func) { + var funcName = func.name; + + if (!funcName) + { + // in IE, func.name is invalid method. so, function name should be extracted manually. + funcName = func.toString().match(/^function\s*([^\s(]+)/)[1]; + } + + return funcName; +} \ No newline at end of file diff --git a/demo/code-demo/scripts/index.js b/demo/code-demo/scripts/index.js new file mode 100644 index 00000000..cb4115d0 --- /dev/null +++ b/demo/code-demo/scripts/index.js @@ -0,0 +1,54 @@ +var sampleContentLoaded = false; +var documentationContentLoaded = false; +var anyReportSectionLoaded = false; + +$(function() { + OpenSampleSection(); +}); + +function OpenSampleSection() { + OpenEmbedWorkspace("#top-sample", "step_authorize.html"); +} + +function OpenAnyReportSection() { + OpenEmbedWorkspace("#top-anyReport", "anyReport.html"); +} + +function OpenEmbedWorkspace(activeTabSelector, authStepHtml) +{ + // Any report, uses the same settings as sample report. ony changes the auth step. + if (!sampleContentLoaded) + { + // Open Report Sample. + $("#sampleContent").load("sample.html", function() { + $("#mainContent").load("report.html"); + sampleContentLoaded = true; + }); + } + + $("#authorize-step-wrapper").load(authStepHtml); + SetActiveStyle(activeTabSelector); + + $(".content").hide(); + $("#sampleContent").show(); + OpenAuthStep(); +} + +function OpenDocumentationSection() { + if (!documentationContentLoaded) + { + $("#documentationContent").load("docs.html"); + documentationContentLoaded = true; + } + + SetActiveStyle("#top-docs"); + + $(".content").hide(); + $("#documentationContent").show(); +} + +function SetActiveStyle(id) +{ + $("#top-ul li").removeClass("top-li-active"); + $(id).addClass("top-li-active"); +} \ No newline at end of file diff --git a/demo/code-demo/scripts/logger.js b/demo/code-demo/scripts/logger.js new file mode 100644 index 00000000..52b9e454 --- /dev/null +++ b/demo/code-demo/scripts/logger.js @@ -0,0 +1,23 @@ +function InitLogger(divId) { + + var Logger = {}; + + Logger.log = function name(event) { + this.logText("Json Object\n" + JSON.stringify(event, null, " ")); + }; + + Logger.logText = function name(text) { + var textbox = document.getElementById(divId); + + if (!textbox.value) + { + textbox.value = ""; + } + + textbox.value += "> " + text + "\n"; + + textbox.scrollTop = textbox.scrollHeight; + }; + + return Logger; +} diff --git a/demo/code-demo/scripts/report.js b/demo/code-demo/scripts/report.js new file mode 100644 index 00000000..ff0f1819 --- /dev/null +++ b/demo/code-demo/scripts/report.js @@ -0,0 +1,132 @@ +const active_class = 'active'; +const active_li = 'steps-li-active'; + +const EmbedViewMode = "view"; +const EmbedEditMode = "edit"; +const EmbedCreateMode = "create"; + +function OpenAuthStep() { + $('#steps-ul a').removeClass(active_class); + $(".steps-li-active").removeClass(active_li); + + $("#steps-auth a").addClass(active_class); + $("#steps-auth").addClass(active_li); + + // Hide Embed view in authorization step. + $("#authorize-step-wrapper").show(); + $("#embed-and-interact-steps-wrapper").hide(); +} + +function OpenEmbedStep(mode) { + $('#steps-ul a').removeClass(active_class); + $(".steps-li-active").removeClass(active_li); + + $('#steps-embed a').addClass(active_class); + $('#steps-embed').addClass(active_li); + + // Hide Embed view in authorization step. + $("#authorize-step-wrapper").hide(); + $("#embed-and-interact-steps-wrapper").show(); + + $("#settings").load("settings_embed.html", function() { + OpenEmbedMode(mode); + + // Fix report size ratio + var reportContainer = $("#reportContainer"); + reportContainer.height(reportContainer.width() * 0.59); + }); +} + +function OpenInteractStep() { + $('#steps-ul a').removeClass(active_class); + $(".steps-li-active").removeClass(active_li); + + $('#steps-interact a').addClass(active_class); + $('#steps-interact').addClass(active_li); + + // Hide Embed view in authorization step. + $("#authorize-step-wrapper").hide(); + $("#embed-and-interact-steps-wrapper").show(); + + $("#settings").load("settings_interact.html", function() { + SetToggleHandler("report-operations-div"); + SetToggleHandler("page-operations-div"); + SetToggleHandler("events-operations-div"); + SetToggleHandler("editandsave-operations-div"); + LoadCodeArea("#embedCodeDiv", _Report_GetId); + }); +} + +function setCodeArea(mode) +{ + if (mode === EmbedViewMode) + { + LoadCodeArea("#embedCodeDiv", _Embed_BasicEmbed); + } + else if (mode === EmbedEditMode) + { + LoadCodeArea("#embedCodeDiv", _Embed_BasicEmbed_EditMode); + } + else if (mode === EmbedCreateMode) + { + LoadCodeArea("#embedCodeDiv", _Embed_Create); + } +} + +function showEmbedSettings(mode) +{ + var inputDivToShow = "#embedModeInput"; + var inputDivToHide = "#createModeInput"; + + if (mode === EmbedCreateMode) + { + inputDivToShow = "#createModeInput"; + inputDivToHide = "#embedModeInput"; + } + + $(inputDivToShow).show(); + $(inputDivToHide).hide(); + + var embedModeRadios = $('input:radio[name=embedMode]'); + embedModeRadios.filter('[value='+ mode + ']').prop('checked', true); +} + +function OpenEmbedMode(mode) +{ + if (mode == EmbedCreateMode) + { + if (IsEmbeddingSampleReport()) + { + LoadSampleDatasetIntoSession(); + } + + SetTextBoxesFromSessionOrUrlParam("#txtCreateAccessToken", "#txtCreateReportEmbed", "#txtEmbedDatasetId"); + } + else { + if (IsEmbeddingSampleReport()) + { + LoadSampleReportIntoSession(); + } + + SetTextBoxesFromSessionOrUrlParam("#txtAccessToken", "#txtReportEmbed", "#txtEmbedReportId"); + } + + setCodeArea(mode); + showEmbedSettings(mode); +} + +function OpenViewMode() { + OpenEmbedMode(EmbedViewMode); +} + +function OpenEditMode() { + OpenEmbedMode(EmbedEditMode); +} + +function OpenCreateMode() { + OpenEmbedMode(EmbedCreateMode); +} + +function IsEmbeddingSampleReport() { + return GetSession(SessionKeys.IsSampleReport) == true; +} diff --git a/demo/code-demo/scripts/session_utils.js b/demo/code-demo/scripts/session_utils.js new file mode 100644 index 00000000..d95adc4b --- /dev/null +++ b/demo/code-demo/scripts/session_utils.js @@ -0,0 +1,76 @@ +var _session = {}; + +const SessionKeys = { + AccessToken : "accessToken", + EmbedUrl : "embedUrl", + EmbedId : "embedId", + GroupId : "groupId", + IsSampleReport: "isSampleReport", + QnaQuestion: "qnaQuestion", + EntityIsAlreadyEmbedded: "EntityIsAlreadyEmbedded", +}; + +function GetParameterByName(name, url) { + if (!url) { + url = window.location.href; + } + name = name.replace(/[\[\]]/g, "\\$&"); + var regex = new RegExp("[?&]" + name + "(=([^&#]*)|&|#|$)"), + results = regex.exec(url); + if (!results) return null; + if (!results[2]) return ''; + return decodeURIComponent(results[2].replace(/\+/g, " ")); +} + +function SetSession(key, value) { + // This is a temporal solution for session (which is cleared on reload). Should be replaced with a real session. + _session[key] = value; +} + +function GetSession(key) { + // This is a temporal solution for session (which is cleared on reload). Should be replaced with a real session. + return _session[key]; +} + +function UpdateSession(button, sessionKey) { + var value = $(button).val(); + if (value) + { + SetSession(sessionKey, value); + } +} + +function SetTextBoxesFromSessionOrUrlParam(accessTokenSelector, embedUrlSelector, embedIdSelector) { + var accessToken = GetParameterByName(SessionKeys.AccessToken); + if (!accessToken) + { + accessToken = GetSession(SessionKeys.AccessToken); + } + + var embedUrl = GetParameterByName(SessionKeys.EmbedUrl); + if (!embedUrl) + { + embedUrl = GetSession(SessionKeys.EmbedUrl); + } else { + var groupId = GetParameterByName(SessionKeys.GroupId); + if(groupId) + { + if (embedUrl.indexOf("?") != -1) + { + embedUrl += "&groupId=" + groupId; + } else { + embedUrl += "?groupId=" + groupId; + } + } + } + + var embedId = GetParameterByName(SessionKeys.EmbedId); + if (!embedId) + { + embedId = GetSession(SessionKeys.EmbedId); + } + + $(accessTokenSelector).val(accessToken); + $(embedUrlSelector).val(embedUrl); + $(embedIdSelector).val(embedId); +} diff --git a/demo/code-demo/scripts/step_authorize.js b/demo/code-demo/scripts/step_authorize.js new file mode 100644 index 00000000..43e793f5 --- /dev/null +++ b/demo/code-demo/scripts/step_authorize.js @@ -0,0 +1,41 @@ +const SampleReport = { + AccessToken : "", + EmbedUrl : "https://embedded.powerbi.com/appTokenReportEmbed?reportId=c52af8ab-0468-4165-92af-dc39858d66ad", + EmbedId : "c52af8ab-0468-4165-92af-dc39858d66ad" +}; + +const SampleDataset = { + AccessToken : "", + EmbedUrl : "https://embedded.powerbi.com/appTokenReportEmbed", + EmbedId : "1ee0b264-b280-43f1-bbb7-9d8bd2d03a78" +}; + +function LoadSampleReportIntoSession() { + setSession(SampleReport.AccessToken, SampleReport.EmbedUrl, SampleReport.EmbedId); +} + +function LoadSampleDatasetIntoSession() { + setSession(SampleDataset.AccessToken, SampleDataset.EmbedUrl, SampleDataset.EmbedId); +} + +function OpenEmbedStepWithSample() { + SetSession(SessionKeys.IsSampleReport, true); + OpenEmbedStep(EmbedViewMode); +} + +function OpenEmbedStepCreateWithSample() { + SetSession(SessionKeys.IsSampleReport, true); + OpenEmbedStep(EmbedCreateMode); +} + +function OpenEmbedStepFromUserSettings() { + SetSession(SessionKeys.IsSampleReport, false); + OpenEmbedStep(EmbedViewMode); +} + +function setSession(accessToken, embedUrl, embedId) +{ + SetSession(SessionKeys.AccessToken, accessToken); + SetSession(SessionKeys.EmbedUrl, embedUrl); + SetSession(SessionKeys.EmbedId, embedId); +} \ No newline at end of file diff --git a/demo/code-demo/scripts/step_embed.js b/demo/code-demo/scripts/step_embed.js new file mode 100644 index 00000000..af4cacef --- /dev/null +++ b/demo/code-demo/scripts/step_embed.js @@ -0,0 +1,98 @@ +// ---- Report Operations ---------------------------------------------------- +function Report_GetId() { + SetCode(_Report_GetId); +} + +function Report_UpdateSettings() { + SetCode(_Report_UpdateSettings); +} + +function Report_GetPages() { + SetCode(_Report_GetPages); +} + +function Report_SetPage() { + SetCode(_Report_SetPage); +} + +function Report_GetFilters() { + SetCode(_Report_GetFilters); +} + +function Report_SetFilters() { + SetCode(_Report_SetFilters); +} + +function Report_RemoveFilters() { + SetCode(_Report_RemoveFilters); +} + +function Report_PrintCurrentReport() { + SetCode(_Report_PrintCurrentReport); +} + +function Report_Reload() { + SetCode(_Report_Reload); +} + +function Report_Refresh() { + SetCode(_Report_Refresh); +} + +function Report_FullScreen() { + SetCode(_Report_FullScreen); +} + +function Report_ExitFullScreen() { + SetCode(_Report_ExitFullScreen); +} + +// ---- Page Operations ---------------------------------------------------- + +function Page_SetActive() { + SetCode(_Page_SetActive); +} + +function Page_GetFilters() { + SetCode(_Page_GetFilters); +} + +function Page_SetFilters() { + SetCode(_Page_SetFilters); +} + +function Page_RemoveFilters() { + SetCode(_Page_RemoveFilters); +} + +// ---- Event Listener ---------------------------------------------------- + +function Events_PageChanged() { + SetCode(_Events_PageChanged); +} + +function Events_DataSelected() { + SetCode(_Events_DataSelected); +} + +function Events_SaveAsTriggered() { + SetCode(_Events_SaveAsTriggered); +} + +// ---- Edit and Save Operations ---------------------------------------------------- + +function Report_switchModeEdit() { + SetCode(_Report_switchModeEdit); +} + +function Report_switchModeView() { + SetCode(_Report_switchModeView); +} + +function Report_save() { + SetCode(_Report_save); +} + +function Report_saveAs() { + SetCode(_Report_saveAs); +} \ No newline at end of file diff --git a/demo/code-demo/scripts/step_interact.js b/demo/code-demo/scripts/step_interact.js new file mode 100644 index 00000000..ea15a6fd --- /dev/null +++ b/demo/code-demo/scripts/step_interact.js @@ -0,0 +1,73 @@ +function OpenReportOperations() { + $("#report-operations-div").show(); + $("#page-operations-div").hide(); + $("#events-operations-div").hide(); + $("#editandsave-operations-div").hide(); + + $("#report-operations-li").addClass('active'); + $('#page-operations-li').removeClass('active'); + $('#events-operations-li').removeClass('active'); + $('#editandsave-operations-li').removeClass('active'); + + $("#report-operations-div .function-ul li.active").click() + + $("#selected-catogory-button").html("Report operations"); +} + +function OpenPageOperations() { + $("#page-operations-div").show(); + $("#report-operations-div").hide(); + $("#events-operations-div").hide(); + $("#editandsave-operations-div").hide(); + + $("#page-operations-li").addClass('active'); + $('#report-operations-li').removeClass('active'); + $('#events-operations-li').removeClass('active'); + $('#editandsave-operations-li').removeClass('active'); + + $("#page-operations-div .function-ul li.active").click(); + + $("#selected-catogory-button").html("Page operations"); +} + +function OpenEventOperations() { + $("#page-operations-div").hide(); + $("#report-operations-div").hide(); + $("#events-operations-div").show(); + $("#editandsave-operations-div").hide(); + + $("#page-operations-li").removeClass('active'); + $('#report-operations-li').removeClass('active'); + $('#events-operations-li').addClass('active'); + $('#editandsave-operations-li').removeClass('active'); + + $("#events-operations-div .function-ul li.active").click(); + + $("#selected-catogory-button").html("Events Listener"); +} + +function OpenEditAndSaveOperations() { + $("#page-operations-div").hide(); + $("#report-operations-div").hide(); + $("#events-operations-div").hide(); + $("#editandsave-operations-div").show(); + + $("#page-operations-li").removeClass('active'); + $('#report-operations-li').removeClass('active'); + $('#events-operations-li').removeClass('active'); + $('#editandsave-operations-li').addClass('active'); + + $("#editandsave-operations-div .function-ul li.active").click(); + + $("#selected-catogory-button").html("Edit and save operations"); +} + +function SetToggleHandler(devId) { + var selector = "#" + devId + " .function-ul li"; + $(selector).each(function(index, li) { + $(li).click(function() { + $(selector).removeClass('active'); + $(li).addClass('active'); + }); + }); +} diff --git a/demo/code-demo/scripts/utils.js b/demo/code-demo/scripts/utils.js new file mode 100644 index 00000000..9a4c7bd6 --- /dev/null +++ b/demo/code-demo/scripts/utils.js @@ -0,0 +1,82 @@ +function ValidateEmbedUrl(embedUrl) { + var embedUrl = $('#txtReportEmbed').val(); + + if (!embedUrl) + { + alert("You must specify an embed url."); + return false; + } + var id = null; + var parts = embedUrl.split("reportId="); + if (parts && parts.length > 0) + { + var guidParts = parts[parts.length -1].split("&"); + if (guidParts && guidParts.length > 0) + { + id = guidParts[0]; + } + } + + if (!id) + { + alert("Could not find report ID in url"); + return false; + } + + return true; +} + +function BodyCodeOfFunction(func) { + var lines = func.toString().split('\n'); + lines = lines.slice(1, lines.length-1); + + for (var i = 0; i < lines.length; ++i) + { + // remove trailing spaces. + lines[i] = lines[i].substring(4); + } + + return lines.join('\n'); +} + +function LoadCodeArea(divSelector, initialFunctionCode) { + $(divSelector).load("code_area.html", function() { + SetCode(initialFunctionCode); + }); +} + +function LoadLogWindow(divSelector) { + $(divSelector).load("log_window.html"); +} + +function SetCode(func) { + var codeHtml = '
';
+	codeHtml = codeHtml + BodyCodeOfFunction(func) + '
'; + $("#highlighter").html(codeHtml); + + var runFunc = mapFunc(func); + + $('#btnRunCode').off('click'); + $('#btnRunCode').click(runFunc); +} + +function CopyCode() { + CopyTextArea("#txtCode", "#btnRunCopyCode"); +} + +function CopyResponseWindow() { + CopyTextArea("#txtResponse", "#btnCopyResponse"); +} + +function CopyTextArea(textAreaSelector, buttonSelector) { + $(textAreaSelector).select(); + document.execCommand('copy'); + window.getSelection().removeAllRanges(); + + // Set focus on copy button - this will deselect text in copied area. + $(buttonSelector).focus(); +} + +function ClearTextArea(textAreaSelector) { + $(textAreaSelector).val(""); +} diff --git a/demo/code-demo/settings_embed.html b/demo/code-demo/settings_embed.html new file mode 100644 index 00000000..c850640a --- /dev/null +++ b/demo/code-demo/settings_embed.html @@ -0,0 +1,50 @@ +
+
+

Embed Report

+
+ + Select mode to embed your report in: +
+
+
View mode
+
Edit mode
+
Create mode
+
+ +
+ Fill in the fields below to get the code to embed your report. +
+ +
+
Embed Token
+ +
+
+
Embed URL
+ +
+
+
Report Id
+ +
+
+ +
+ Fill in the fields below to get the code to embed your report. +
+ +
+
Embed Token
+ +
+
+
Embed URL
+ +
+
+
Dataset Id
+ +
+
+ +
\ No newline at end of file diff --git a/demo/code-demo/settings_interact.html b/demo/code-demo/settings_interact.html new file mode 100644 index 00000000..1e37e084 --- /dev/null +++ b/demo/code-demo/settings_interact.html @@ -0,0 +1,65 @@ +
+
+
+
+ +
+
+
+
+
+
    +
  • Get Id
  • +
  • Get pages
  • +
  • Set page
  • +
  • Set filters
  • +
  • Get filters
  • +
  • Remove filters
  • +
  • Print
  • +
  • Update settings
  • +
  • Reload
  • +
  • Refresh
  • +
  • Full screen
  • +
  • Exit full screen
  • +
+
+ + + +
+
+
+
\ No newline at end of file diff --git a/demo/code-demo/step_authorize.html b/demo/code-demo/step_authorize.html new file mode 100644 index 00000000..5bdceab1 --- /dev/null +++ b/demo/code-demo/step_authorize.html @@ -0,0 +1,32 @@ + +
+
+
+
+

Deprecation Note

+
+ This sample is deprecated. please use the new sample available + here. + +
+ + The new sample accommodates the changes announced in the embedded offering described in + Power BI Documentation page. +
+ +
+

Sample Report

+ You can embed a sample report and interact with Power BI Embedded firsthand by clicking below. +
+
+ +
+
+
+ + \ No newline at end of file diff --git a/demo/code-demo/style/layout.css b/demo/code-demo/style/layout.css new file mode 100644 index 00000000..279231e7 --- /dev/null +++ b/demo/code-demo/style/layout.css @@ -0,0 +1,359 @@ +body { + min-width: 300px; +} + +header +{ + padding: 20px 40px; +} + +.logo-text-span { + color: rgb(0, 174, 239); + font-family: 'Segoe UI Web Light', 'Segoe UI Light', 'Segoe WP Light', 'Segoe UI', 'Segoe WP', Tahoma, Arial, sans-serif; + font-weight: normal; + font-size: 28px; +} + +#mainContent { + position: relative; + color: #404040; + /* margin: 15px 30px; */ + float: left; + width: 100%; +} + +.content { + position: relative; + color: #404040; + margin: 15px 30px; + height: 100%; +} + +#settings { + width: 270px; + margin-right: 20px; +} + +#embedCodeDiv { + width: 400px; + margin-right: 20px; + max-height: 300px; + float: left; +} + +#embedArea { + clear: both; + width: 100%; + padding-left: 290px; +} + +#reportContainer { + width: 100%; + height: 450px; + background-color: white; + padding: 0px; + clear: both; +} + +#logWindow { + width: 400px; + float: left; +} + +.topPanel { + margin-bottom: 10px; +} + +.bottomPanel { + width: 100%; + margin-bottom: 10px; + max-width: 100%; +} + +#steps-nav-bar { + width: 100%; + font-size: 90%; + border-bottom: 1px solid #E5E5E5; + margin-bottom: 20px; + padding-right: 0; + margin-right: 0; +} + +#steps-ul li { + width: 32%; + display: inline-block; +} + +@media screen and (max-width: 320px) { + header + { + padding: 15px 30px; + } + + .logo-text-span { + font-size: 90%; + line-height: 42px; + min-width: 295px; + } + + .topPanel { + height: 430px; + width: 100%; + } + + #embedCodeDiv { + width: 100%; + margin-bottom: 30px; + margin-right: 0px; + } + + #logWindow { + width: 100%; + } + + #settings { + width: 100%; + float: left; + margin-right: 0px; + } + + #reportContainer { + width: 100%; + height: 360px; + } + + #embedArea { + padding-left: 0px; + } +} + +@media screen and (max-width: 500px) { + .top-ul li { + float: left; + margin-right: 15px; + text-align: center; + line-height: 22px; + font-size: 13px; + } +} + +@media screen and (min-width: 321px) { + header + { + padding: 15px 30px; + } + + .logo-text-span { + font-size: 110%; + line-height: 42px; + min-width: 295px; + } + + .topPanel { + height: 430px; + width: 100%; + } + + #embedCodeDiv { + width: 100%; + margin-bottom: 30px; + margin-right: 0px; + } + + #logWindow { + width: 100%; + } + + #settings { + width: 100%; + float: left; + margin-right: 0px; + } + + #reportContainer { + width: 100%; + height: 360px; + } + + #embedArea { + padding-left: 0px; + } +} + +@media screen and (min-width: 551px) { + header + { + padding: 15px 10px; + } + + .logo-text-span { + font-size: 90%; + line-height: 42px; + min-width: 295px; + } + + .topPanel { + height: 330px; + width: 100%; + } + + #embedCodeDiv { + width: 100%; + margin-bottom: 30px; + margin-right: 0px; + } + + #logWindow { + width: 100%; + } + + #settings { + width: 100%; + float: left; + margin-right: 0px; + } + + #reportContainer { + width: 100%; + height: 360px; + } + + #embedArea { + padding-left: 0px; + } +} + +@media screen and (min-width: 861px) and (max-width: 1023px) { + header + { + padding: 20px 40px; + } + + .logo-text-span { + font-size: 28px; + } + + #embedCodeDiv { + width: 49%; + font-size: 90%; + margin-right: 2%; + } + + #logWindow { + width: 49%; + } + + #settings { + float: none; + width: 380px; + } + + #reportContainer { + width: 100%; + height: 360px; + } + + #embedArea { + padding-left: 0px; + } +} + +@media screen and (min-width: 1024px) { + header + { + padding: 20px 40px; + } + + .logo-text-span { + font-size: 28px; + } + + #mainContent { + width: 86.7%; + margin-left: 0.8%; + } + + #embedCodeDiv { + width: 34%; + font-size: 90%; + margin-right: 1%; + } + + #logWindow { + width: 34%; + } + + #settings { + float: left; + width: 30%; + margin-right: 1%; + } + + #operations-ul li { + margin: 0px 2px; + } + + #reportContainer { + width: 100%; + height: 380px; + } + + .bottomPanel { + margin-left: 0; + width: 100%; + } + + #steps-nav-bar { + width: 13.3%; + font-size: 90%; + padding-right: 0.8%; + border-right: 1px solid #E5E5E5; + border-bottom: none; + margin-bottom: 0px; + } + + #steps-ul li { + width: 100%; + display: block; + } +} + +@media screen and (min-width: 1280px) { + .logo-text-span { + font-size: 28px; + } + + .content { + margin: 15px 20px; + } + + .bottomPanel { + max-width: 100%; + margin-left: 0px; + } + + .steps-ul li { + font-size: 17px; + } +} + + +@media screen and (min-width: 1600px) { + .logo-text-span { + font-size: 28px; + } + + .content { + margin: 15px 40px; + } +} + +@media screen and (min-width: 1800px) { + .logo-text-span { + font-size: 28px; + } + + #reportContainer { + height: 450px; + } +} \ No newline at end of file diff --git a/demo/code-demo/style/style.css b/demo/code-demo/style/style.css new file mode 100644 index 00000000..09ffbe1b --- /dev/null +++ b/demo/code-demo/style/style.css @@ -0,0 +1,628 @@ +html { + margin:0; + padding:0; + height:100%; +} + +body { + background-color: rgb(241, 241, 241); + font-family: 'Segoe UI', 'Segoe WP', Tahoma, Arial, sans-serif; + margin:0; + padding:0; + height:100%; +} + +h3 { + margin: 0; +} + +hr { + border-color: #DDDDDD; +} + +header { + display: block; + width: 100%; + top: 0px; + z-index: 1030; + color: rgb(8, 122, 165); + background-color: rgb(24, 24, 25); + height: 100px; +} + +a:hover, a:visited, a:link, a:active +{ + text-decoration: none; +} + +#nextStep { + float: right; +} + +#result-wrap { + margin-top: 10px; +} + +#user-embed-details { + width: 100%; +} + +#user-embed-details tr { + width: 100%; +} + +#user-embed-details input[type="text"] { + width: 100%; + border: none; + margin-bottom: 5px; +} + +#report-embed-table { + width: 100%; +} + +#report-embed-table tr { + width: 100%; +} + +.inputLine > span { + width: 30%; +} + +#report-embed-table input[type="text"] { + width: 73%; + border: none; + margin-bottom: 5px; +} + +#report-embed-checkbox input { + width: auto; + border: none; + margin-bottom: 5px; +} + +#oldSample { + display: block; + float: right; + margin-right: 30px; +} + +#deprecationNote { + margin-bottom: 30px; +} + +#deprecationNote .pageTitle { + margin-bottom: 15px; + font-weight: normal; + color: red; +} + +#sampleReportImgDiv img { + width: 265px; + height: 180px; +} + +#sampleReportImgDiv { + margin-top: 17px; + margin-right: 32px; + float: left; +} + +#sampleReportDescription { + float: left; + margin-top: 17px; + max-width: 400px; +} + +a { + text-decoration: none; +} + +.btn.btn-margin { + margin-bottom: 5px; +} + +.halfWidth.right { + width: 750px; + min-height: 100px; + float: left; + padding-top: 10px; + padding-bottom: 10px; +} + +.halfWidth.left { + width: 750px; + min-height: 100px; + float: left; + padding-top: 10px; + padding-bottom: 10px; + margin-right: 40px; +} + +.break-float { + clear: both; + width: 100%; +} + +.pbi-line { + display: inline-block; + width: 100%; +} + +#top-nav-bar { + margin-top: 10px; +} + +#top-nav-bar a { + color: white; + display: inline-block; +} + +#top-nav-bar a:hover { + color: rgb(8, 122, 165); +} + +#top-nav-bar .active { + color: rgb(0, 174, 239); +} + +#steps-nav-bar a { + color: black; + display: inline-block; +} + +#steps-nav-bar a:hover { + font-weight: bold; +} + +#steps-nav-bar .active { + color: white; +} + +.main-ul { + list-style-type: none; + margin: 0px 30px; + padding: 0; + overflow: hidden; + float: right; +} + +.main-ul .active { + background-color: rgb(245, 211, 65); +} + +.main-li { + float: left; +} + +.main-li a { + display: block; + color: black; + text-align: center; + padding: 0px 16px; + text-decoration: none; +} + +.main-li a:visited { + display: block; + color: black; + text-align: center; + padding: 0px 16px; + text-decoration: none; + background-color: rgb(245, 211, 65); +} + +.main-li a:hover { + display: block; + color: black; + text-align: center; + padding: 0px 16px; + text-decoration: none; + background-color: rgb(245, 211, 65); +} + +.main-li a:active { + display: block; + color: black; + text-align: center; + padding: 0px 16px; + text-decoration: none; + background-color: rgb(245, 211, 65); +} + +.main-title { + font-family: 'Segoe UI Web Light', 'Segoe UI Light', 'Segoe WP Light', 'Segoe UI', 'Segoe WP', Tahoma, Arial, sans-serif; + font-size: 28px; + font-weight: bold; +} + +#navbar { + float: left; + width: 100%; +} + +#top-ul-dev { + float: left; +} + +.top-ul { + list-style-type: none; + margin: 0px; + overflow: hidden; + -webkit-margin-before: 0; + -webkit-padding-start: 0; + line-height: 30px; +} + +.top-ul li { + float: left; + margin-right: 40px; + text-align: center; + line-height: 22px; + font-size: 17px; +} + +#top-docs { + margin-right: 0px; +} + +.top-li-active { + color: white; + border-bottom: 1px solid white; + padding-bottom: 3px; +} + +#steps-ul-dev { + float: left; + width: 100%; +} + +.steps-ul { + list-style-type: none; + margin: 0px; + overflow: hidden; + -webkit-margin-before: 0; + -webkit-padding-start: 0; + line-height: 30px; + width: 100%; +} + +.steps-ul li { + float: none; + text-align: left; + line-height: 22px; + font-weight: 400; + height: 40px; + width: 100%; + margin-bottom: 10px; + vertical-align: middle; +} + +#steps-interact { + margin-right: 0px; +} + +.steps-li-active { + color: white; + text-decoration: none; + background-color: #666666; +} + +.operations-div { + height: 100%; + width: 95%; + background-color: rgb(231, 232, 233); + text-align: center; + overflow-y: scroll; + position: relative; +} + +#operations-ul a { + text-decoration: none; + color: rgb(27, 27, 27); + width: 100%; + text-align: center; +} + +#operations-ul li:hover { + border-bottom: 3px solid #444444; +} + +#operations-ul { + -webkit-margin-before: 0; + -webkit-margin-after: 0; + -webkit-padding-start: 0; +} + +#operations-ul li { + margin: 0px 30px 0px 0px; + display: inline-block; + /* font-size: 14px; */ + color: #444444; +} + +#operations-ul > .active { + border-bottom: 3px #444444 solid; +} + +#wrapper-operations-div { + padding: 10px 20px 15px 20px; + background-color: rgb(231, 232, 233); + width: 100%; + height: 300px; + overflow: hidden; + display: inline-block; +} + +#report-operations-div::-webkit-scrollbar-track, #page-operations-div::-webkit-scrollbar-track, #events-operations-div::-webkit-scrollbar-track +{ + border-radius: 10px; + background-color: transparent; +} + +#report-operations-div::-webkit-scrollbar, #page-operations-div::-webkit-scrollbar, #events-operations-div::-webkit-scrollbar +{ + width:10px; + height:10px; + background-color: transparent; +} + +#report-operations-div::-webkit-scrollbar-thumb, page-operations-div::-webkit-scrollbar-thumb, #events-operations-div::-webkit-scrollbar-thumb +{ + border-radius: 10px; + background-color: #888888; +} + +#operations-ul-wrapper img { + width: 20px; + position: relative; + top: 3px; +} + +#operation-categories { + margin-bottom: 0px; +} + +#selected-catogory-button { + background-color: transparent; + border: none; + color: rgb(27, 27, 27); + min-width: 120px; + text-align: left; +} + +.function-ul { + width: 100%; + clear: both; + margin: 0; + padding: 0px 20px 0px 0px; +} + +.function-ul li { + width: 100%; + clear: both; + cursor: default; +} + +.function-ul a { + text-decoration: none; + color: rgb(27, 27, 27); +} + +.function-ul .active { + background-color: rgb(88, 88, 90); + color: white; +} + +.function-ul a:hover { + background-color: #888888; +} + +.function-ul li { + list-style-type: none; + margin: 0px; + overflow: hidden; + -webkit-margin-before: 0; + -webkit-padding-start: 0; + margin: 5px 0px; + text-align: left; + padding: 3px; +} + +.td-field-name { + width: 130px; + text-align: right; + color: #888888; + padding-right: 5px; +} + +.pageTitle { + margin-bottom: 10px; +} + +.pageTitle h3 { + margin-bottom: 15px; + font-weight: normal; +} + +.editorTitle { + margin-bottom: 5px; +} + +#GoToInteractStep { + display: inline-block; + position: relative; +} + +.textAreaControls { + text-align: right; + position: relative; + z-index: 1; + height: 30px; + padding: 10px 20px; + font-size: 14px; +} + +.textAreaControl { + color: rgb(127, 127, 127); + background-color: transparent; + border: none; + margin-right: 5px; +} + +.textAreaControl img { + width: 16px; + height: 16px; + position: relative; + top: -2px; +} + +.responseTextArea { + width: 100%; + height: 300px; + border: none; + padding-top: 40px; + position: relative; + top: -30px; + padding-left: 10px; + margin-bottom: -30px; +} + +.responseDiv { + width: 100%; + float: left; +} + +.blueButton { + background-color: rgb(36, 169, 225); + border: none; + color: white; + padding: 5px 30px; +} + +.spacer { + height: 10px; +} + +.scrollbar +{ + margin-left: 30px; + float: left; + height: 300px; + width: 65px; + background: #F5F5F5; + overflow-y: scroll; + margin-bottom: 25px; +} + +#txtCode { + width: 100%; + height: 300px; + border: none; + padding: 20px; + position: relative; + top: -30px; + background: #FFFFFF; + overflow: auto; + white-space: pre-wrap; +} + +#GoToEmbedStepButton { + margin-top: 12px; +} + +#authStepDiv { + max-width: 500px; +} + +#report-embed-table .inputLine { + margin: 5px 0px; +} + +.pageTitle h4 { + font-size: 18px; + font-weight: normal; + margin: 0px 0px 5px 0px; +} + +.top-div { + border-radius: 50%; + width: 10px; + height: 10px; + display: inline-block; + background-color: white; + border: solid black 1px; +} + +.active-top { + background-color: rgb(36, 169, 225); +} + +.step-div { + border-radius: 50%; + width: 10px; + height: 10px; + display: inline-block; + background-color: white; + border: solid black 1px; +} + +.active-step { + background-color: rgb(36, 169, 225); +} + +.editorTitleText { + display: inline-block; +} + +#selected-catogory-button-wrapper img { + width: 20px; + position: relative; + top: -1px; +} + +.checkbox.input { + width: auto; +} + +.stepsButton { + +height: 100%; + +padding: 10px 0px 0px 10px; + +line-height: 20px; +} + +.video { + width: 90%; + height: 500px; + max-width: 800px; +} + +.title { + font-size: 17px; + font-weight: 400px; +} + +#embedModeInput { + +} + +#createModeInput { + display: none; +} + +.inputLineTitle { + width: 25%; + display: inline-block; +} + +#modeSelector { + margin-bottom: 20px; + cursor: default; +} + +#reportContainer iframe { + border: none; +} \ No newline at end of file diff --git a/demo/code-demo/style/syntaxHighlighterOverride.css b/demo/code-demo/style/syntaxHighlighterOverride.css new file mode 100644 index 00000000..1f789f8b --- /dev/null +++ b/demo/code-demo/style/syntaxHighlighterOverride.css @@ -0,0 +1,10 @@ +.syntaxhighlighter { + overflow: hidden !important; + margin: 0em !important; + padding: 0em !important; + top: -85px !important; +} + +.syntaxhighlighter .line { + white-space: pre-wrap !important; +} \ No newline at end of file diff --git a/demo/code-demo/syntaxHighlighter/syntaxhighlighter.js b/demo/code-demo/syntaxHighlighter/syntaxhighlighter.js new file mode 100644 index 00000000..7d773ec8 --- /dev/null +++ b/demo/code-demo/syntaxHighlighter/syntaxhighlighter.js @@ -0,0 +1,3768 @@ +/*! + * SyntaxHighlighter + * https://github.com/syntaxhighlighter/syntaxhighlighter + * + * SyntaxHighlighter is donationware. If you are using it, please donate. + * http://alexgorbatchev.com/SyntaxHighlighter/donate.html + * + * @version + * 4.0.1 (Tue, 07 Mar 2017 15:42:46 GMT) + * + * @copyright + * Copyright (C) 2004-2016 Alex Gorbatchev. + * + * @license + * Dual licensed under the MIT and GPL licenses. + */ +/******/ (function(modules) { // webpackBootstrap +/******/ // The module cache +/******/ var installedModules = {}; +/******/ +/******/ // The require function +/******/ function __webpack_require__(moduleId) { +/******/ +/******/ // Check if module is in cache +/******/ 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 +/******/ }; +/******/ +/******/ // Execute the module function +/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); +/******/ +/******/ // Flag the module as loaded +/******/ module.loaded = true; +/******/ +/******/ // Return the exports of the module +/******/ return module.exports; +/******/ } +/******/ +/******/ +/******/ // expose the modules object (__webpack_modules__) +/******/ __webpack_require__.m = modules; +/******/ +/******/ // expose the module cache +/******/ __webpack_require__.c = installedModules; +/******/ +/******/ // __webpack_public_path__ +/******/ __webpack_require__.p = ""; +/******/ +/******/ // Load entry module and return exports +/******/ return __webpack_require__(0); +/******/ }) +/************************************************************************/ +/******/ ([ +/* 0 */ +/***/ function(module, exports, __webpack_require__) { + + 'use strict'; + + Object.defineProperty(exports, "__esModule", { + value: true + }); + + var _core = __webpack_require__(1); + + Object.keys(_core).forEach(function (key) { + if (key === "default" || key === "__esModule") return; + Object.defineProperty(exports, key, { + enumerable: true, + get: function get() { + return _core[key]; + } + }); + }); + + var _domready = __webpack_require__(24); + + var _domready2 = _interopRequireDefault(_domready); + + var _core2 = _interopRequireDefault(_core); + + var _dasherize = __webpack_require__(25); + + var dasherize = _interopRequireWildcard(_dasherize); + + function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } } + + function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + + // configured through the `--compat` parameter. + if (false) { + require('./compatibility_layer_v3'); + } + + (0, _domready2.default)(function () { + return _core2.default.highlight(dasherize.object(window.syntaxhighlighterConfig || {})); + }); + +/***/ }, +/* 1 */ +/***/ function(module, exports, __webpack_require__) { + + 'use strict'; + + Object.defineProperty(exports, "__esModule", { + value: true + }); + var optsParser = __webpack_require__(2), + match = __webpack_require__(5), + Renderer = __webpack_require__(9).default, + utils = __webpack_require__(10), + transformers = __webpack_require__(11), + dom = __webpack_require__(17), + config = __webpack_require__(18), + defaults = __webpack_require__(19), + HtmlScript = __webpack_require__(20); + + var sh = { + Match: match.Match, + Highlighter: __webpack_require__(22), + + config: __webpack_require__(18), + regexLib: __webpack_require__(3).commonRegExp, + + /** Internal 'global' variables. */ + vars: { + discoveredBrushes: null, + highlighters: {} + }, + + /** This object is populated by user included external brush files. */ + brushes: {}, + + /** + * Finds all elements on the page which should be processes by SyntaxHighlighter. + * + * @param {Object} globalParams Optional parameters which override element's + * parameters. Only used if element is specified. + * + * @param {Object} element Optional element to highlight. If none is + * provided, all elements in the current document + * are returned which qualify. + * + * @return {Array} Returns list of { target: DOMElement, params: Object } objects. + */ + findElements: function findElements(globalParams, element) { + var elements = element ? [element] : utils.toArray(document.getElementsByTagName(sh.config.tagName)), + conf = sh.config, + result = []; + + // support for \ 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 e2f92fa8..6eb488a9 100644 --- a/demo/v2-demo/scripts/report.js +++ b/demo/v2-demo/scripts/report.js @@ -30,9 +30,6 @@ 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 }); } diff --git a/demo/v2-demo/scripts/session_utils.js b/demo/v2-demo/scripts/session_utils.js index 28648197..43dbfcb2 100644 --- a/demo/v2-demo/scripts/session_utils.js +++ b/demo/v2-demo/scripts/session_utils.js @@ -1,13 +1,13 @@ -const reportUrl = 'https://powerbiplaygroundbe.azurewebsites.net/api/Reports/SampleReport'; -const datasetUrl = 'https://powerbiplaygroundbe.azurewebsites.net/api/Reports/SampleCreate'; -const dashboardUrl = 'https://powerbiplaygroundbe.azurewebsites.net/api/Dashboards/SampleDashboard'; -const tileUrl = 'https://powerbiplaygroundbe.azurewebsites.net/api/Tiles/SampleTile'; -const qnaUrl = 'https://powerbiplaygroundbe.azurewebsites.net/api/Datasets/SampleQna'; -const paginatedReportUrl = 'https://powerbiplaygroundbe.azurewebsites.net/api/Reports/SampleRdlReport'; -const layoutShowcaseReportUrl = 'https://powerbiplaygroundbe.azurewebsites.net/api/Reports/LayoutDemoReport'; -const insightToActionShowcaseReportUrl = 'https://powerbiplaygroundbe.azurewebsites.net/api/Reports/InsightToActionReport'; -const themesShowcaseReportUrl = 'https://powerbiplaygroundbe.azurewebsites.net/api/Reports/ThemesReport'; -const quickVisualCreatorShowcaseReportUrl = 'https://powerbiplaygroundbe.azurewebsites.net/api/Reports/EmptyReport'; +const reportUrl = 'https://playgroundbe-bck-1.azurewebsites.net/Reports/SampleReport'; +const datasetUrl = 'https://playgroundbe-bck-1.azurewebsites.net/Reports/SampleCreate'; +const dashboardUrl = 'https://playgroundbe-bck-1.azurewebsites.net/Dashboards/SampleDashboard'; +const tileUrl = 'https://playgroundbe-bck-1.azurewebsites.net/Tiles/SampleTile'; +const qnaUrl = 'https://playgroundbe-bck-1.azurewebsites.net/Datasets/SampleQna'; +const paginatedReportUrl = 'https://playgroundbe-bck-1.azurewebsites.net/Reports/SampleRdlReport'; +const layoutShowcaseReportUrl = 'https://playgroundbe-bck-1.azurewebsites.net/Reports/LayoutDemoReport'; +const insightToActionShowcaseReportUrl = 'https://playgroundbe-bck-1.azurewebsites.net/Reports/InsightToActionReport'; +const themesShowcaseReportUrl = 'https://playgroundbe-bck-1.azurewebsites.net/Reports/ThemesReport'; +const quickVisualCreatorShowcaseReportUrl = 'https://playgroundbe-bck-1.azurewebsites.net/Reports/EmptyReport'; var LastReportSampleUrl = null; var ReportRefreshTokenTimer = 0; @@ -194,21 +194,21 @@ function SetTextBoxesFromSessionOrUrlParam(accessTokenSelector, embedUrlSelector function FetchUrlIntoSession(url, updateCurrentToken) { return $.getJSON(url, function (embedConfig) { - setSession(embedConfig.embedToken.token, embedConfig.embedUrl, embedConfig.id, embedConfig.dashboardId); - SetSession(SessionKeys.SampleId, embedConfig.id); + setSession(embedConfig.EmbedToken.Token, embedConfig.EmbedUrl, embedConfig.Id, embedConfig.DashboardId); + SetSession(SessionKeys.SampleId, embedConfig.Id); if (updateCurrentToken) { - let embedContainerId = getEmbedContainerID(capitalizeFirstLetter(embedConfig.type)); + let embedContainerId = getEmbedContainerID(capitalizeFirstLetter(embedConfig.Type)); let embedContainer = powerbi.embeds.filter(function(embedElement) { return embedElement.element.id === embedContainerId; })[0]; if (embedContainer) { - embedContainer.setAccessToken(embedConfig.embedToken.token); + embedContainer.setAccessToken(embedConfig.EmbedToken.Token); } } - if (embedConfig.type === "report" || embedConfig.type === "visual") + if (embedConfig.Type === "report" || embedConfig.Type === "visual") { // Set single visual embed sample details. SetSession(SessionKeys.PageName, "ReportSectioneb8c865100f8508cc533"); @@ -217,7 +217,7 @@ function FetchUrlIntoSession(url, updateCurrentToken) { LastReportSampleUrl = url; } - TokenExpirationRefreshListener(embedConfig.minutesToExpiration, capitalizeFirstLetter(embedConfig.type)); + TokenExpirationRefreshListener(embedConfig.MinutesToExpiration, capitalizeFirstLetter(embedConfig.Type)); }); } diff --git a/demo/v2-demo/style/style.css b/demo/v2-demo/style/style.css index 3b8bc210..48cfd283 100644 --- a/demo/v2-demo/style/style.css +++ b/demo/v2-demo/style/style.css @@ -1863,55 +1863,3 @@ input:checked + .slider.round { position: absolute; font-size: 14px; } - -/* Playground Banner */ - -#playground-banner { - height: 48px; - text-align: center; - color: #000000; - background-color: #FBEEB5; - padding: 12px; - border-bottom: solid 1px #F1F1F1; - cursor: pointer; -} - -#playground-banner:hover { - background-color: #F7DE6D; -} - -#playground-banner-text, #playground-banner-text-underlined { - font-size: 16px; - font-weight: 400; - display: inline-block; -} - -#playground-banner-text-underlined { - text-decoration: underline; - font-weight: 600; -} - -#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 diff --git a/dist/powerbi-client.d.ts b/dist/powerbi-client.d.ts index da32545e..fe05930d 100644 --- a/dist/powerbi-client.d.ts +++ b/dist/powerbi-client.d.ts @@ -1,4 +1,4 @@ -/*! powerbi-client v2.12.2 | (c) 2016 Microsoft Corporation MIT */ +/*! powerbi-client v2.13.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 586d20e4..0926e4e6 100644 --- a/dist/powerbi.js +++ b/dist/powerbi.js @@ -1,4 +1,4 @@ -/*! powerbi-client v2.12.2 | (c) 2016 Microsoft Corporation MIT */ +/*! powerbi-client v2.13.0 | (c) 2016 Microsoft Corporation MIT */ (function webpackUniversalModuleDefinition(root, factory) { if(typeof exports === 'object' && typeof module === 'object') module.exports = factory(); @@ -1276,7 +1276,7 @@ return /******/ (function(modules) { // webpackBootstrap /** @ignore */ /** */ var config = { - version: '2.12.2', + version: '2.13.0', type: 'js' }; Object.defineProperty(exports, "__esModule", { value: true }); @@ -1287,7 +1287,7 @@ return /******/ (function(modules) { // webpackBootstrap /* 5 */ /***/ (function(module, exports, __webpack_require__) { - /*! powerbi-models v1.3.4 | (c) 2016 Microsoft Corporation MIT */ + /*! powerbi-models v1.4.0 | (c) 2016 Microsoft Corporation MIT */ (function webpackUniversalModuleDefinition(root, factory) { if(true) module.exports = factory(); @@ -1402,6 +1402,7 @@ return /******/ (function(modules) { // webpackBootstrap }; })(); Object.defineProperty(exports, "__esModule", { value: true }); + exports.validateCustomTheme = exports.validateCommandsSettings = exports.validateVisualSettings = exports.validateVisualHeader = exports.validateExportDataRequest = exports.validateQnaInterpretInputData = exports.validateLoadQnaConfiguration = exports.validateSaveAsParameters = exports.validateFilter = exports.validatePage = exports.validateTileLoad = exports.validateDashboardLoad = exports.validateCreateReport = exports.validateReportLoad = exports.validateExtension = exports.validateCustomPageSize = exports.validateVisualizationsPane = exports.validateSyncSlicersPane = exports.validateSelectionPane = exports.validatePageNavigationPane = exports.validateFieldsPane = exports.validateFiltersPane = exports.validateBookmarksPane = exports.validatePanes = exports.validateSettings = exports.validateApplyBookmarkStateRequest = exports.validateApplyBookmarkByNameRequest = exports.validateAddBookmarkRequest = exports.validatePlayBookmarkRequest = exports.validateSlicerState = exports.validateSlicer = exports.validateVisualSelector = exports.VisualDataRoleKindPreference = exports.VisualDataRoleKind = exports.CommandDisplayOption = exports.SlicerTargetSelector = exports.VisualTypeSelector = exports.VisualSelector = exports.PageSelector = exports.Selector = exports.SortDirection = exports.LegendPosition = exports.TextAlignment = exports.CommonErrorCodes = exports.BookmarksPlayMode = exports.ExportDataType = exports.QnaMode = exports.isColumnAggr = exports.isHierarchyLevelAggr = exports.isHierarchyLevel = exports.isColumn = exports.isMeasure = exports.getFilterType = exports.isBasicFilterWithKeys = exports.isFilterKeyColumnsTarget = exports.AdvancedFilter = exports.TupleFilter = exports.BasicFilterWithKeys = exports.BasicFilter = exports.RelativeTimeFilter = exports.RelativeDateFilter = exports.TopNFilter = exports.IncludeExcludeFilter = exports.NotSupportedFilter = exports.Filter = exports.RelativeDateOperators = exports.RelativeDateFilterTimeUnit = exports.FilterType = exports.FiltersLevel = exports.MenuLocation = exports.ContrastMode = exports.TokenType = exports.ViewMode = exports.Permissions = exports.SectionVisibility = exports.HyperlinkClickBehavior = exports.LayoutType = exports.VisualContainerDisplayMode = exports.BackgroundType = exports.DisplayOption = exports.PageSizeType = exports.TraceType = exports.Validators = void 0; exports.Validators = __webpack_require__(1).Validators; var TraceType; (function (TraceType) { @@ -2151,6 +2152,7 @@ return /******/ (function(modules) { // webpackBootstrap /***/ (function(module, exports, __webpack_require__) { Object.defineProperty(exports, "__esModule", { value: true }); + exports.Validators = void 0; var typeValidator_1 = __webpack_require__(2); var extensionsValidator_1 = __webpack_require__(3); var settingsValidator_1 = __webpack_require__(5); @@ -2175,6 +2177,7 @@ return /******/ (function(modules) { // webpackBootstrap var customThemeValidator_1 = __webpack_require__(24); var datasetBindingValidator_1 = __webpack_require__(25); var panesValidator_1 = __webpack_require__(26); + var barsValidator_1 = __webpack_require__(27); exports.Validators = { addBookmarkRequestValidator: new bookmarkValidator_1.AddBookmarkRequestValidator(), advancedFilterTypeValidator: new typeValidator_1.EnumValidator([0]), @@ -2182,6 +2185,7 @@ return /******/ (function(modules) { // webpackBootstrap 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(), new filtersValidator_1.RelativeTimeFilterValidator()]), anyValueValidator: new anyOfValidator_1.AnyOfValidator([new typeValidator_1.StringValidator(), new typeValidator_1.NumberValidator(), new typeValidator_1.BooleanValidator()]), + actionBarValidator: new barsValidator_1.ActionBarValidator(), applyBookmarkByNameRequestValidator: new bookmarkValidator_1.ApplyBookmarkByNameRequestValidator(), applyBookmarkStateRequestValidator: new bookmarkValidator_1.ApplyBookmarkStateRequestValidator(), applyBookmarkValidator: new anyOfValidator_1.AnyOfValidator([new bookmarkValidator_1.ApplyBookmarkByNameRequestValidator(), new bookmarkValidator_1.ApplyBookmarkStateRequestValidator()]), @@ -2217,7 +2221,7 @@ return /******/ (function(modules) { // webpackBootstrap 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()])]), + filtersArrayValidator: new typeValidator_1.ArrayValidator([new anyOfValidator_1.AnyOfValidator([new filtersValidator_1.BasicFilterValidator(), new filtersValidator_1.AdvancedFilterValidator(), new filtersValidator_1.RelativeDateFilterValidator(), new filtersValidator_1.RelativeTimeFilterValidator()])]), filtersValidator: new filtersValidator_1.FilterValidator(), filtersPaneValidator: new panesValidator_1.FiltersPaneValidator(), hyperlinkClickBehaviorValidator: new typeValidator_1.EnumValidator([0, 1, 2]), @@ -2238,6 +2242,7 @@ return /******/ (function(modules) { // webpackBootstrap pageValidator: new pageValidator_1.PageValidator(), pageViewFieldValidator: new pageValidator_1.PageViewFieldValidator(), pagesLayoutValidator: new mapValidator_1.MapValidator([new typeValidator_1.StringValidator()], [new layoutValidator_1.PageLayoutValidator()]), + reportBarsValidator: new barsValidator_1.ReportBarsValidator(), reportPanesValidator: new panesValidator_1.ReportPanesValidator(), permissionsValidator: new typeValidator_1.EnumValidator([0, 1, 2, 4, 7]), playBookmarkRequestValidator: new bookmarkValidator_1.PlayBookmarkRequestValidator(), @@ -2299,6 +2304,7 @@ return /******/ (function(modules) { // webpackBootstrap }; })(); Object.defineProperty(exports, "__esModule", { value: true }); + exports.NumberArrayValidator = exports.BooleanArrayValidator = exports.StringArrayValidator = exports.EnumValidator = exports.SchemaValidator = exports.ValueValidator = exports.NumberValidator = exports.BooleanValidator = exports.StringValidator = exports.TypeValidator = exports.ArrayValidator = exports.ObjectValidator = void 0; var ObjectValidator = /** @class */ (function () { function ObjectValidator() { } @@ -2527,6 +2533,7 @@ return /******/ (function(modules) { // webpackBootstrap }; })(); Object.defineProperty(exports, "__esModule", { value: true }); + exports.ExtensionValidator = exports.CommandExtensionValidator = exports.ExtensionItemValidator = exports.ExtensionPointsValidator = exports.MenuExtensionValidator = void 0; var validator_1 = __webpack_require__(1); var multipleFieldsValidator_1 = __webpack_require__(4); var typeValidator_1 = __webpack_require__(2); @@ -2686,6 +2693,7 @@ return /******/ (function(modules) { // webpackBootstrap /***/ (function(module, exports) { Object.defineProperty(exports, "__esModule", { value: true }); + exports.MultipleFieldsValidator = void 0; var MultipleFieldsValidator = /** @class */ (function () { function MultipleFieldsValidator(fieldValidatorsPairs) { this.fieldValidatorsPairs = fieldValidatorsPairs; @@ -2730,6 +2738,7 @@ return /******/ (function(modules) { // webpackBootstrap }; })(); Object.defineProperty(exports, "__esModule", { value: true }); + exports.SettingsValidator = void 0; var validator_1 = __webpack_require__(1); var multipleFieldsValidator_1 = __webpack_require__(4); var typeValidator_1 = __webpack_require__(2); @@ -2795,9 +2804,21 @@ return /******/ (function(modules) { // webpackBootstrap field: "hyperlinkClickBehavior", validators: [validator_1.Validators.hyperlinkClickBehaviorValidator] }, + { + field: "bars", + validators: [validator_1.Validators.reportBarsValidator] + }, { field: "panes", validators: [validator_1.Validators.reportPanesValidator] + }, + { + field: "persistentFiltersEnabled", + validators: [validator_1.Validators.booleanValidator] + }, + { + field: "visualRenderedEvents", + validators: [validator_1.Validators.booleanValidator] } ]; var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields); @@ -2826,6 +2847,7 @@ return /******/ (function(modules) { // webpackBootstrap }; })(); Object.defineProperty(exports, "__esModule", { value: true }); + exports.ApplyBookmarkStateRequestValidator = exports.ApplyBookmarkByNameRequestValidator = exports.AddBookmarkRequestValidator = exports.PlayBookmarkRequestValidator = void 0; var validator_1 = __webpack_require__(1); var multipleFieldsValidator_1 = __webpack_require__(4); var typeValidator_1 = __webpack_require__(2); @@ -2957,6 +2979,7 @@ return /******/ (function(modules) { // webpackBootstrap }; })(); Object.defineProperty(exports, "__esModule", { value: true }); + exports.ConditionItemValidator = exports.FilterValidator = exports.IncludeExcludeFilterValidator = exports.NotSupportedFilterValidator = exports.TopNFilterValidator = exports.RelativeTimeFilterValidator = exports.RelativeDateFilterValidator = exports.AdvancedFilterValidator = exports.BasicFilterValidator = exports.FilterMeasureTargetValidator = exports.FilterKeyHierarchyTargetValidator = exports.FilterHierarchyTargetValidator = exports.FilterKeyColumnsTargetValidator = exports.FilterColumnTargetValidator = void 0; var validator_1 = __webpack_require__(1); var multipleFieldsValidator_1 = __webpack_require__(4); var typeValidator_1 = __webpack_require__(2); @@ -3430,6 +3453,7 @@ return /******/ (function(modules) { // webpackBootstrap /***/ (function(module, exports) { Object.defineProperty(exports, "__esModule", { value: true }); + exports.FieldRequiredValidator = void 0; var FieldRequiredValidator = /** @class */ (function () { function FieldRequiredValidator() { } @@ -3453,6 +3477,7 @@ return /******/ (function(modules) { // webpackBootstrap /***/ (function(module, exports) { Object.defineProperty(exports, "__esModule", { value: true }); + exports.AnyOfValidator = void 0; var AnyOfValidator = /** @class */ (function () { function AnyOfValidator(validators) { this.validators = validators; @@ -3502,6 +3527,7 @@ return /******/ (function(modules) { // webpackBootstrap }; })(); Object.defineProperty(exports, "__esModule", { value: true }); + exports.ReportLoadValidator = void 0; var validator_1 = __webpack_require__(1); var multipleFieldsValidator_1 = __webpack_require__(4); var typeValidator_1 = __webpack_require__(2); @@ -3602,6 +3628,7 @@ return /******/ (function(modules) { // webpackBootstrap }; })(); Object.defineProperty(exports, "__esModule", { value: true }); + exports.ReportCreateValidator = void 0; var validator_1 = __webpack_require__(1); var multipleFieldsValidator_1 = __webpack_require__(4); var typeValidator_1 = __webpack_require__(2); @@ -3666,6 +3693,7 @@ return /******/ (function(modules) { // webpackBootstrap }; })(); Object.defineProperty(exports, "__esModule", { value: true }); + exports.DashboardLoadValidator = void 0; var validator_1 = __webpack_require__(1); var multipleFieldsValidator_1 = __webpack_require__(4); var typeValidator_1 = __webpack_require__(2); @@ -3734,6 +3762,7 @@ return /******/ (function(modules) { // webpackBootstrap }; })(); Object.defineProperty(exports, "__esModule", { value: true }); + exports.TileLoadValidator = void 0; var validator_1 = __webpack_require__(1); var multipleFieldsValidator_1 = __webpack_require__(4); var typeValidator_1 = __webpack_require__(2); @@ -3810,6 +3839,7 @@ return /******/ (function(modules) { // webpackBootstrap }; })(); Object.defineProperty(exports, "__esModule", { value: true }); + exports.PageViewFieldValidator = exports.PageValidator = exports.CustomPageSizeValidator = exports.PageSizeValidator = void 0; var validator_1 = __webpack_require__(1); var multipleFieldsValidator_1 = __webpack_require__(4); var typeValidator_1 = __webpack_require__(2); @@ -3936,6 +3966,7 @@ return /******/ (function(modules) { // webpackBootstrap }; })(); Object.defineProperty(exports, "__esModule", { value: true }); + exports.QnaInterpretInputDataValidator = exports.QnaSettingsValidator = exports.LoadQnaValidator = void 0; var validator_1 = __webpack_require__(1); var multipleFieldsValidator_1 = __webpack_require__(4); var typeValidator_1 = __webpack_require__(2); @@ -4066,6 +4097,7 @@ return /******/ (function(modules) { // webpackBootstrap }; })(); Object.defineProperty(exports, "__esModule", { value: true }); + exports.SaveAsParametersValidator = void 0; var validator_1 = __webpack_require__(1); var multipleFieldsValidator_1 = __webpack_require__(4); var typeValidator_1 = __webpack_require__(2); @@ -4114,6 +4146,7 @@ return /******/ (function(modules) { // webpackBootstrap }; })(); Object.defineProperty(exports, "__esModule", { value: true }); + exports.MapValidator = void 0; var typeValidator_1 = __webpack_require__(2); var MapValidator = /** @class */ (function (_super) { __extends(MapValidator, _super); @@ -4175,6 +4208,7 @@ return /******/ (function(modules) { // webpackBootstrap }; })(); Object.defineProperty(exports, "__esModule", { value: true }); + exports.PageLayoutValidator = exports.DisplayStateValidator = exports.VisualLayoutValidator = exports.CustomLayoutValidator = void 0; var validator_1 = __webpack_require__(1); var multipleFieldsValidator_1 = __webpack_require__(4); var typeValidator_1 = __webpack_require__(2); @@ -4330,6 +4364,7 @@ return /******/ (function(modules) { // webpackBootstrap }; })(); Object.defineProperty(exports, "__esModule", { value: true }); + exports.ExportDataRequestValidator = void 0; var multipleFieldsValidator_1 = __webpack_require__(4); var typeValidator_1 = __webpack_require__(2); var ExportDataRequestValidator = /** @class */ (function (_super) { @@ -4381,6 +4416,7 @@ return /******/ (function(modules) { // webpackBootstrap }; })(); Object.defineProperty(exports, "__esModule", { value: true }); + exports.SlicerTargetSelectorValidator = exports.VisualTypeSelectorValidator = exports.VisualSelectorValidator = void 0; var validator_1 = __webpack_require__(1); var multipleFieldsValidator_1 = __webpack_require__(4); var typeValidator_1 = __webpack_require__(2); @@ -4493,6 +4529,7 @@ return /******/ (function(modules) { // webpackBootstrap }; })(); Object.defineProperty(exports, "__esModule", { value: true }); + exports.SlicerStateValidator = exports.SlicerValidator = void 0; var validator_1 = __webpack_require__(1); var multipleFieldsValidator_1 = __webpack_require__(4); var typeValidator_1 = __webpack_require__(2); @@ -4570,6 +4607,7 @@ return /******/ (function(modules) { // webpackBootstrap }; })(); Object.defineProperty(exports, "__esModule", { value: true }); + exports.VisualHeaderValidator = exports.VisualHeaderSettingsValidator = exports.VisualSettingsValidator = void 0; var validator_1 = __webpack_require__(1); var multipleFieldsValidator_1 = __webpack_require__(4); var typeValidator_1 = __webpack_require__(2); @@ -4672,6 +4710,7 @@ return /******/ (function(modules) { // webpackBootstrap }; })(); Object.defineProperty(exports, "__esModule", { value: true }); + exports.SingleCommandSettingsValidator = exports.CommandsSettingsValidator = void 0; var validator_1 = __webpack_require__(1); var multipleFieldsValidator_1 = __webpack_require__(4); var typeValidator_1 = __webpack_require__(2); @@ -4789,6 +4828,7 @@ return /******/ (function(modules) { // webpackBootstrap }; })(); Object.defineProperty(exports, "__esModule", { value: true }); + exports.CustomThemeValidator = void 0; var multipleFieldsValidator_1 = __webpack_require__(4); var typeValidator_1 = __webpack_require__(2); var CustomThemeValidator = /** @class */ (function (_super) { @@ -4836,6 +4876,7 @@ return /******/ (function(modules) { // webpackBootstrap }; })(); Object.defineProperty(exports, "__esModule", { value: true }); + exports.DatasetBindingValidator = void 0; var validator_1 = __webpack_require__(1); var multipleFieldsValidator_1 = __webpack_require__(4); var typeValidator_1 = __webpack_require__(2); @@ -4884,6 +4925,7 @@ return /******/ (function(modules) { // webpackBootstrap }; })(); Object.defineProperty(exports, "__esModule", { value: true }); + exports.VisualizationsPaneValidator = exports.SyncSlicersPaneValidator = exports.SelectionPaneValidator = exports.PageNavigationPaneValidator = exports.FiltersPaneValidator = exports.FieldsPaneValidator = exports.BookmarksPaneValidator = exports.ReportPanesValidator = void 0; var validator_1 = __webpack_require__(1); var multipleFieldsValidator_1 = __webpack_require__(4); var typeValidator_1 = __webpack_require__(2); @@ -5117,6 +5159,80 @@ return /******/ (function(modules) { // webpackBootstrap exports.VisualizationsPaneValidator = VisualizationsPaneValidator; + /***/ }), + /* 27 */ + /***/ (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 }); + exports.ActionBarValidator = exports.ReportBarsValidator = void 0; + var validator_1 = __webpack_require__(1); + var multipleFieldsValidator_1 = __webpack_require__(4); + var typeValidator_1 = __webpack_require__(2); + var ReportBarsValidator = /** @class */ (function (_super) { + __extends(ReportBarsValidator, _super); + function ReportBarsValidator() { + return _super !== null && _super.apply(this, arguments) || this; + } + ReportBarsValidator.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: "actionBar", + validators: [validator_1.Validators.actionBarValidator] + } + ]; + var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields); + return multipleFieldsValidator.validate(input, path, field); + }; + return ReportBarsValidator; + }(typeValidator_1.ObjectValidator)); + exports.ReportBarsValidator = ReportBarsValidator; + var ActionBarValidator = /** @class */ (function (_super) { + __extends(ActionBarValidator, _super); + function ActionBarValidator() { + return _super !== null && _super.apply(this, arguments) || this; + } + ActionBarValidator.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 ActionBarValidator; + }(typeValidator_1.ObjectValidator)); + exports.ActionBarValidator = ActionBarValidator; + + /***/ }) /******/ ]); }); diff --git a/dist/powerbi.min.js b/dist/powerbi.min.js index 99bc2c47..42c656db 100644 --- a/dist/powerbi.min.js +++ b/dist/powerbi.min.js @@ -1,8 +1,9 @@ -/*! 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!==e}),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>=4,r.toString(16)})}function s(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=d,e.addParamToUrl=s,e.isSavedInternal=u,e.isRDLEmbed=p,e.autoAuthInEmbedUrl=c,e.getRandomValue=f},function(t,e){var r={version:"2.13.0",type:"js"};Object.defineProperty(e,"__esModule",{value:!0}),e["default"]=r},function(t,e,r){/*! powerbi-models v1.4.0 | (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 d(t){return!(!(t.table&&t.hierarchy&&t.hierarchyLevel)||t.aggregationFunction)}function s(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 v(t){var r=e.Validators.slicerStateValidator.validate(t);return r?r.map(p):void 0}function h(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 S(t){var r=e.Validators.fieldsPanesValidator.validate(t);return r?r.map(p):void 0}function E(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 F(t){var r=e.Validators.customPageSizeValidator.validate(t);return r?r.map(p):void 0}function R(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 L(t){var r=e.Validators.loadQnaValidator.validate(t);return r?r.map(p):void 0}function j(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 D(t){var r=e.Validators.visualHeaderValidator.validate(t);return r?r.map(p):void 0}function U(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.validateCustomTheme=e.validateCommandsSettings=e.validateVisualSettings=e.validateVisualHeader=e.validateExportDataRequest=e.validateQnaInterpretInputData=e.validateLoadQnaConfiguration=e.validateSaveAsParameters=e.validateFilter=e.validatePage=e.validateTileLoad=e.validateDashboardLoad=e.validateCreateReport=e.validateReportLoad=e.validateExtension=e.validateCustomPageSize=e.validateVisualizationsPane=e.validateSyncSlicersPane=e.validateSelectionPane=e.validatePageNavigationPane=e.validateFieldsPane=e.validateFiltersPane=e.validateBookmarksPane=e.validatePanes=e.validateSettings=e.validateApplyBookmarkStateRequest=e.validateApplyBookmarkByNameRequest=e.validateAddBookmarkRequest=e.validatePlayBookmarkRequest=e.validateSlicerState=e.validateSlicer=e.validateVisualSelector=e.VisualDataRoleKindPreference=e.VisualDataRoleKind=e.CommandDisplayOption=e.SlicerTargetSelector=e.VisualTypeSelector=e.VisualSelector=e.PageSelector=e.Selector=e.SortDirection=e.LegendPosition=e.TextAlignment=e.CommonErrorCodes=e.BookmarksPlayMode=e.ExportDataType=e.QnaMode=e.isColumnAggr=e.isHierarchyLevelAggr=e.isHierarchyLevel=e.isColumn=e.isMeasure=e.getFilterType=e.isBasicFilterWithKeys=e.isFilterKeyColumnsTarget=e.AdvancedFilter=e.TupleFilter=e.BasicFilterWithKeys=e.BasicFilter=e.RelativeTimeFilter=e.RelativeDateFilter=e.TopNFilter=e.IncludeExcludeFilter=e.NotSupportedFilter=e.Filter=e.RelativeDateOperators=e.RelativeDateFilterTimeUnit=e.FilterType=e.FiltersLevel=e.MenuLocation=e.ContrastMode=e.TokenType=e.ViewMode=e.Permissions=e.SectionVisibility=e.HyperlinkClickBehavior=e.LayoutType=e.VisualContainerDisplayMode=e.BackgroundType=e.DisplayOption=e.PageSizeType=e.TraceType=e.Validators=void 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 Q;!function(t){t[t.FitToPage=0]="FitToPage",t[t.FitToWidth=1]="FitToWidth",t[t.ActualSize=2]="ActualSize"}(Q=e.DisplayOption||(e.DisplayOption={}));var Y;!function(t){t[t.Default=0]="Default",t[t.Transparent=1]="Transparent"}(Y=e.BackgroundType||(e.BackgroundType={}));var G;!function(t){t[t.Visible=0]="Visible",t[t.Hidden=1]="Hidden"}(G=e.VisualContainerDisplayMode||(e.VisualContainerDisplayMode={}));var K;!function(t){t[t.Master=0]="Master",t[t.Custom=1]="Custom",t[t.MobilePortrait=2]="MobilePortrait",t[t.MobileLandscape=3]="MobileLandscape"}(K=e.LayoutType||(e.LayoutType={}));var $;!function(t){t[t.Navigate=0]="Navigate",t[t.NavigateAndRaiseEvent=1]="NavigateAndRaiseEvent",t[t.RaiseEvent=2]="RaiseEvent"}($=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 dt=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=dt;var st=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}(dt);e.NotSupportedFilter=st;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}(dt);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}(dt);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}(dt);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}(dt);e.RelativeTimeFilter=ft;var vt=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}(dt);e.AdvancedFilter=mt,e.isFilterKeyColumnsTarget=a,e.isBasicFilterWithKeys=i,e.getFilterType=o,e.isMeasure=n,e.isColumn=l,e.isHierarchyLevel=d,e.isHierarchyLevelAggr=s,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 St=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=St;var Et=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=Et;var Tt=function(t){function e(e){var r=t.call(this,Et.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,Et.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 Ft;!function(t){t[t.Grouping=0]="Grouping",t[t.Measure=1]="Measure",t[t.GroupingOrMeasure=2]="GroupingOrMeasure"}(Ft=e.VisualDataRoleKind||(e.VisualDataRoleKind={}));var Rt;!function(t){t[t.Measure=0]="Measure",t[t.Grouping=1]="Grouping"}(Rt=e.VisualDataRoleKindPreference||(e.VisualDataRoleKindPreference={})),e.validateVisualSelector=c,e.validateSlicer=f,e.validateSlicerState=v,e.validatePlayBookmarkRequest=h,e.validateAddBookmarkRequest=y,e.validateApplyBookmarkByNameRequest=m,e.validateApplyBookmarkStateRequest=V,e.validateSettings=g,e.validatePanes=w,e.validateBookmarksPane=b,e.validateFiltersPane=P,e.validateFieldsPane=S,e.validatePageNavigationPane=E,e.validateSelectionPane=T,e.validateSyncSlicersPane=O,e.validateVisualizationsPane=_,e.validateCustomPageSize=F,e.validateExtension=R,e.validateReportLoad=A,e.validateCreateReport=k,e.validateDashboardLoad=C,e.validateTileLoad=x,e.validatePage=M,e.validateFilter=I,e.validateSaveAsParameters=q,e.validateLoadQnaConfiguration=L,e.validateQnaInterpretInputData=j,e.validateExportDataRequest=N,e.validateVisualHeader=D,e.validateVisualSettings=U,e.validateCommandsSettings=B,e.validateCustomTheme=W},function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.Validators=void 0;var a=r(2),i=r(3),o=r(5),n=r(6),l=r(7),d=r(8),s=r(9),u=r(10),p=r(11),c=r(12),f=r(13),v=r(14),h=r(15),y=r(16),m=r(17),V=r(18),g=r(19),w=r(20),b=r(21),P=r(22),S=r(23),E=r(24),T=r(25),O=r(26),_=r(27);e.Validators={addBookmarkRequestValidator:new n.AddBookmarkRequestValidator,advancedFilterTypeValidator:new a.EnumValidator([0]),advancedFilterValidator:new l.AdvancedFilterValidator,anyArrayValidator:new a.ArrayValidator([new s.AnyOfValidator([new a.StringValidator,new a.NumberValidator,new a.BooleanValidator])]),anyFilterValidator:new s.AnyOfValidator([new l.BasicFilterValidator,new l.AdvancedFilterValidator,new l.IncludeExcludeFilterValidator,new l.NotSupportedFilterValidator,new l.RelativeDateFilterValidator,new l.TopNFilterValidator,new l.RelativeTimeFilterValidator]),anyValueValidator:new s.AnyOfValidator([new a.StringValidator,new a.NumberValidator,new a.BooleanValidator]),actionBarValidator:new _.ActionBarValidator,applyBookmarkByNameRequestValidator:new n.ApplyBookmarkByNameRequestValidator,applyBookmarkStateRequestValidator:new n.ApplyBookmarkStateRequestValidator,applyBookmarkValidator:new s.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 s.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 V.CustomLayoutValidator,customPageSizeValidator:new v.CustomPageSizeValidator,customThemeValidator:new E.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 d.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 s.AnyOfValidator([new l.FilterColumnTargetValidator,new l.FilterHierarchyTargetValidator,new l.FilterMeasureTargetValidator]),filtersArrayValidator:new a.ArrayValidator([new s.AnyOfValidator([new l.BasicFilterValidator,new l.AdvancedFilterValidator,new l.RelativeDateFilterValidator,new l.RelativeTimeFilterValidator])]),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 h.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 v.PageSizeValidator,pageValidator:new v.PageValidator,pageViewFieldValidator:new v.PageViewFieldValidator,pagesLayoutValidator:new m.MapValidator([new a.StringValidator],[new V.PageLayoutValidator]),reportBarsValidator:new _.ReportBarsValidator,reportPanesValidator:new O.ReportPanesValidator,permissionsValidator:new a.EnumValidator([0,1,2,4,7]),playBookmarkRequestValidator:new n.PlayBookmarkRequestValidator,qnaInterpretInputDataValidator:new h.QnaInterpretInputDataValidator,qnaSettingValidator:new h.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 S.SingleCommandSettingsValidator,slicerSelectorValidator:new s.AnyOfValidator([new w.VisualSelectorValidator,new w.SlicerTargetSelectorValidator]),slicerStateValidator:new b.SlicerStateValidator,slicerTargetValidator:new s.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 s.AnyOfValidator([new w.VisualSelectorValidator,new w.VisualTypeSelectorValidator]),visualHeaderSelectorValidator:new s.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}),e.NumberArrayValidator=e.BooleanArrayValidator=e.StringArrayValidator=e.EnumValidator=e.SchemaValidator=e.ValueValidator=e.NumberValidator=e.BooleanValidator=e.StringValidator=e.TypeValidator=e.ArrayValidator=e.ObjectValidator=void 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)&&(d=!0,n=n.slice(0,l-2),r[n]||(r[n]=[])),i=o[1]?w(o[1]):""),d?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: Tue, 14 Jul 2020 15:10:23 +0000 Subject: [PATCH 010/125] Merged PR 99796: [CDPx] Pipeline build artifacts fix --- .pipelines/pipeline.user.windows.yml | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/.pipelines/pipeline.user.windows.yml b/.pipelines/pipeline.user.windows.yml index ff4f3aa4..5ba3f0ae 100644 --- a/.pipelines/pipeline.user.windows.yml +++ b/.pipelines/pipeline.user.windows.yml @@ -70,12 +70,13 @@ build: arguments: 'build.ps1' command: '.pipelines\cdpx_run_ps.cmd' artifacts: - - from: 'dist' - to: 'build_artifacts' + - to: 'build_artifacts' include: - - '**/*' - exclude: - - '**/node_modules/**/*.*' + - 'dist/**/*' + - 'LICENSE.txt' + - 'package.json' + - 'README.md' + - to: 'source' include: - '**/*' @@ -97,7 +98,8 @@ package: arguments: 'package.ps1' command: '.pipelines\cdpx_run_ps.cmd' artifacts: - - include: + - to: 'tgz-package' + include: - "**/*.tgz" - !!buildcommand From b1682e9aeaee0282bb8c871233d82035d016df64 Mon Sep 17 00:00:00 2001 From: Shahak Yosef Date: Wed, 15 Jul 2020 13:44:39 +0000 Subject: [PATCH 011/125] Merged PR 100110: Fix visual rendered event Fix visual rendered event --- package.json | 2 +- src/config.ts | 2 +- src/report.ts | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/package.json b/package.json index 556a54da..f1a39858 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "powerbi-client", - "version": "2.13.0", + "version": "2.13.1", "description": "JavaScript library for embedding Power BI into your apps. Provides service which makes it easy to embed different types of components and an object model which allows easy interaction with these components such as changing pages, applying filters, and responding to data selection.", "main": "dist/powerbi.js", "typings": "dist/powerbi-client.d.ts", diff --git a/src/config.ts b/src/config.ts index 46573bef..0f0f8c24 100644 --- a/src/config.ts +++ b/src/config.ts @@ -1,6 +1,6 @@ /** @ignore *//** */ const config = { - version: '2.13.0', + version: '2.13.1', type: 'js' }; diff --git a/src/report.ts b/src/report.ts index 35c8ea7b..12bafefa 100644 --- a/src/report.ts +++ b/src/report.ts @@ -32,7 +32,7 @@ export interface IReportNode { */ export class Report extends embed.Embed implements IReportNode, IFilterable { /** @hidden */ - static allowedEvents = ["filtersApplied", "pageChanged", "commandTriggered", "swipeStart", "swipeEnd", "bookmarkApplied", "dataHyperlinkClicked"]; + static allowedEvents = ["filtersApplied", "pageChanged", "commandTriggered", "swipeStart", "swipeEnd", "bookmarkApplied", "dataHyperlinkClicked", "visualRendered"]; /** @hidden */ static reportIdAttribute = 'powerbi-report-id'; /** @hidden */ From 8810586956de4e6baf738ac49021429c97f98adc Mon Sep 17 00:00:00 2001 From: Nerya Cohen Date: Thu, 16 Jul 2020 08:08:03 +0000 Subject: [PATCH 012/125] Merged PR 100354: [CDPx] Remove revision number from build number --- .pipelines/version.ps1 | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/.pipelines/version.ps1 b/.pipelines/version.ps1 index 9a138811..6bcbae19 100644 --- a/.pipelines/version.ps1 +++ b/.pipelines/version.ps1 @@ -1,8 +1,7 @@ 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" + $buildNumber = "$version" Write-Host "Build Number is" $buildNumber From 3b28e94c815399d8c604051686f305f1ad5c940a Mon Sep 17 00:00:00 2001 From: Shahak Yosef Date: Thu, 16 Jul 2020 09:41:57 +0000 Subject: [PATCH 013/125] Merged PR 100346: Bump version to fix nuget package Initial commit --- dist/powerbi-client.d.ts | 2 +- dist/powerbi.js | 6 +++--- dist/powerbi.min.js | 8 ++++---- package.json | 2 +- src/config.ts | 2 +- 5 files changed, 10 insertions(+), 10 deletions(-) diff --git a/dist/powerbi-client.d.ts b/dist/powerbi-client.d.ts index fe05930d..863ac2d5 100644 --- a/dist/powerbi-client.d.ts +++ b/dist/powerbi-client.d.ts @@ -1,4 +1,4 @@ -/*! powerbi-client v2.13.0 | (c) 2016 Microsoft Corporation MIT */ +/*! powerbi-client v2.13.2 | (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 0926e4e6..107b8033 100644 --- a/dist/powerbi.js +++ b/dist/powerbi.js @@ -1,4 +1,4 @@ -/*! powerbi-client v2.13.0 | (c) 2016 Microsoft Corporation MIT */ +/*! powerbi-client v2.13.2 | (c) 2016 Microsoft Corporation MIT */ (function webpackUniversalModuleDefinition(root, factory) { if(typeof exports === 'object' && typeof module === 'object') module.exports = factory(); @@ -1276,7 +1276,7 @@ return /******/ (function(modules) { // webpackBootstrap /** @ignore */ /** */ var config = { - version: '2.13.0', + version: '2.13.2', type: 'js' }; Object.defineProperty(exports, "__esModule", { value: true }); @@ -5757,7 +5757,7 @@ return /******/ (function(modules) { // webpackBootstrap return settings && (settings.layoutType === models.LayoutType.MobileLandscape || settings.layoutType === models.LayoutType.MobilePortrait); }; /** @hidden */ - Report.allowedEvents = ["filtersApplied", "pageChanged", "commandTriggered", "swipeStart", "swipeEnd", "bookmarkApplied", "dataHyperlinkClicked"]; + Report.allowedEvents = ["filtersApplied", "pageChanged", "commandTriggered", "swipeStart", "swipeEnd", "bookmarkApplied", "dataHyperlinkClicked", "visualRendered"]; /** @hidden */ Report.reportIdAttribute = 'powerbi-report-id'; /** @hidden */ diff --git a/dist/powerbi.min.js b/dist/powerbi.min.js index 42c656db..d00a3946 100644 --- a/dist/powerbi.min.js +++ b/dist/powerbi.min.js @@ -1,9 +1,9 @@ -/*! powerbi-client v2.13.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 d=r(14);e.Tile=d.Tile;var s=r(2);e.Embed=s.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 v=new a.Service(i.hpmFactory,i.wpmpFactory,i.routerFactory);window.powerbi=v},function(t,e,r){var a=r(2),i=r(7),o=r(12),n=r(13),l=r(14),d=r(8),s=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 d=p.find(function(t){return l===t.type.toLowerCase()},t.components);if(!d)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 s=new d(this,e,r,o,n);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),(!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!==e}),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 d.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,s.Qna,u.Visual],t.defaultConfig={autoEmbedOnContentLoaded:!1,onError:function(){for(var t=[],e=0;e>=4,r.toString(16)})}function s(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=d,e.addParamToUrl=s,e.isSavedInternal=u,e.isRDLEmbed=p,e.autoAuthInEmbedUrl=c,e.getRandomValue=f},function(t,e){var r={version:"2.13.0",type:"js"};Object.defineProperty(e,"__esModule",{value:!0}),e["default"]=r},function(t,e,r){/*! powerbi-models v1.4.0 | (c) 2016 Microsoft Corporation MIT */ +/*! powerbi-client v2.13.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 d=r(14);e.Tile=d.Tile;var s=r(2);e.Embed=s.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 v=new a.Service(i.hpmFactory,i.wpmpFactory,i.routerFactory);window.powerbi=v},function(t,e,r){var a=r(2),i=r(7),o=r(12),n=r(13),l=r(14),d=r(8),s=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 d=p.find(function(t){return l===t.type.toLowerCase()},t.components);if(!d)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 s=new d(this,e,r,o,n);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),(!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!==e}),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 d.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,s.Qna,u.Visual],t.defaultConfig={autoEmbedOnContentLoaded:!1,onError:function(){for(var t=[],e=0;e>=4,r.toString(16)})}function s(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=d,e.addParamToUrl=s,e.isSavedInternal=u,e.isRDLEmbed=p,e.autoAuthInEmbedUrl=c,e.getRandomValue=f},function(t,e){var r={version:"2.13.2",type:"js"};Object.defineProperty(e,"__esModule",{value:!0}),e["default"]=r},function(t,e,r){/*! powerbi-models v1.4.0 | (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 d(t){return!(!(t.table&&t.hierarchy&&t.hierarchyLevel)||t.aggregationFunction)}function s(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 v(t){var r=e.Validators.slicerStateValidator.validate(t);return r?r.map(p):void 0}function h(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 S(t){var r=e.Validators.fieldsPanesValidator.validate(t);return r?r.map(p):void 0}function E(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 F(t){var r=e.Validators.customPageSizeValidator.validate(t);return r?r.map(p):void 0}function R(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 L(t){var r=e.Validators.loadQnaValidator.validate(t);return r?r.map(p):void 0}function j(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 D(t){var r=e.Validators.visualHeaderValidator.validate(t);return r?r.map(p):void 0}function U(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.validateCustomTheme=e.validateCommandsSettings=e.validateVisualSettings=e.validateVisualHeader=e.validateExportDataRequest=e.validateQnaInterpretInputData=e.validateLoadQnaConfiguration=e.validateSaveAsParameters=e.validateFilter=e.validatePage=e.validateTileLoad=e.validateDashboardLoad=e.validateCreateReport=e.validateReportLoad=e.validateExtension=e.validateCustomPageSize=e.validateVisualizationsPane=e.validateSyncSlicersPane=e.validateSelectionPane=e.validatePageNavigationPane=e.validateFieldsPane=e.validateFiltersPane=e.validateBookmarksPane=e.validatePanes=e.validateSettings=e.validateApplyBookmarkStateRequest=e.validateApplyBookmarkByNameRequest=e.validateAddBookmarkRequest=e.validatePlayBookmarkRequest=e.validateSlicerState=e.validateSlicer=e.validateVisualSelector=e.VisualDataRoleKindPreference=e.VisualDataRoleKind=e.CommandDisplayOption=e.SlicerTargetSelector=e.VisualTypeSelector=e.VisualSelector=e.PageSelector=e.Selector=e.SortDirection=e.LegendPosition=e.TextAlignment=e.CommonErrorCodes=e.BookmarksPlayMode=e.ExportDataType=e.QnaMode=e.isColumnAggr=e.isHierarchyLevelAggr=e.isHierarchyLevel=e.isColumn=e.isMeasure=e.getFilterType=e.isBasicFilterWithKeys=e.isFilterKeyColumnsTarget=e.AdvancedFilter=e.TupleFilter=e.BasicFilterWithKeys=e.BasicFilter=e.RelativeTimeFilter=e.RelativeDateFilter=e.TopNFilter=e.IncludeExcludeFilter=e.NotSupportedFilter=e.Filter=e.RelativeDateOperators=e.RelativeDateFilterTimeUnit=e.FilterType=e.FiltersLevel=e.MenuLocation=e.ContrastMode=e.TokenType=e.ViewMode=e.Permissions=e.SectionVisibility=e.HyperlinkClickBehavior=e.LayoutType=e.VisualContainerDisplayMode=e.BackgroundType=e.DisplayOption=e.PageSizeType=e.TraceType=e.Validators=void 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 Q;!function(t){t[t.FitToPage=0]="FitToPage",t[t.FitToWidth=1]="FitToWidth",t[t.ActualSize=2]="ActualSize"}(Q=e.DisplayOption||(e.DisplayOption={}));var Y;!function(t){t[t.Default=0]="Default",t[t.Transparent=1]="Transparent"}(Y=e.BackgroundType||(e.BackgroundType={}));var G;!function(t){t[t.Visible=0]="Visible",t[t.Hidden=1]="Hidden"}(G=e.VisualContainerDisplayMode||(e.VisualContainerDisplayMode={}));var K;!function(t){t[t.Master=0]="Master",t[t.Custom=1]="Custom",t[t.MobilePortrait=2]="MobilePortrait",t[t.MobileLandscape=3]="MobileLandscape"}(K=e.LayoutType||(e.LayoutType={}));var $;!function(t){t[t.Navigate=0]="Navigate",t[t.NavigateAndRaiseEvent=1]="NavigateAndRaiseEvent",t[t.RaiseEvent=2]="RaiseEvent"}($=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 dt=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=dt;var st=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}(dt);e.NotSupportedFilter=st;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}(dt);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}(dt);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}(dt);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}(dt);e.RelativeTimeFilter=ft;var vt=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}(dt);e.AdvancedFilter=mt,e.isFilterKeyColumnsTarget=a,e.isBasicFilterWithKeys=i,e.getFilterType=o,e.isMeasure=n,e.isColumn=l,e.isHierarchyLevel=d,e.isHierarchyLevelAggr=s,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 St=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=St;var Et=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=Et;var Tt=function(t){function e(e){var r=t.call(this,Et.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,Et.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 Ft;!function(t){t[t.Grouping=0]="Grouping",t[t.Measure=1]="Measure",t[t.GroupingOrMeasure=2]="GroupingOrMeasure"}(Ft=e.VisualDataRoleKind||(e.VisualDataRoleKind={}));var Rt;!function(t){t[t.Measure=0]="Measure",t[t.Grouping=1]="Grouping"}(Rt=e.VisualDataRoleKindPreference||(e.VisualDataRoleKindPreference={})),e.validateVisualSelector=c,e.validateSlicer=f,e.validateSlicerState=v,e.validatePlayBookmarkRequest=h,e.validateAddBookmarkRequest=y,e.validateApplyBookmarkByNameRequest=m,e.validateApplyBookmarkStateRequest=V,e.validateSettings=g,e.validatePanes=w,e.validateBookmarksPane=b,e.validateFiltersPane=P,e.validateFieldsPane=S,e.validatePageNavigationPane=E,e.validateSelectionPane=T,e.validateSyncSlicersPane=O,e.validateVisualizationsPane=_,e.validateCustomPageSize=F,e.validateExtension=R,e.validateReportLoad=A,e.validateCreateReport=k,e.validateDashboardLoad=C,e.validateTileLoad=x,e.validatePage=M,e.validateFilter=I,e.validateSaveAsParameters=q,e.validateLoadQnaConfiguration=L,e.validateQnaInterpretInputData=j,e.validateExportDataRequest=N,e.validateVisualHeader=D,e.validateVisualSettings=U,e.validateCommandsSettings=B,e.validateCustomTheme=W},function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.Validators=void 0;var a=r(2),i=r(3),o=r(5),n=r(6),l=r(7),d=r(8),s=r(9),u=r(10),p=r(11),c=r(12),f=r(13),v=r(14),h=r(15),y=r(16),m=r(17),V=r(18),g=r(19),w=r(20),b=r(21),P=r(22),S=r(23),E=r(24),T=r(25),O=r(26),_=r(27);e.Validators={addBookmarkRequestValidator:new n.AddBookmarkRequestValidator,advancedFilterTypeValidator:new a.EnumValidator([0]),advancedFilterValidator:new l.AdvancedFilterValidator,anyArrayValidator:new a.ArrayValidator([new s.AnyOfValidator([new a.StringValidator,new a.NumberValidator,new a.BooleanValidator])]),anyFilterValidator:new s.AnyOfValidator([new l.BasicFilterValidator,new l.AdvancedFilterValidator,new l.IncludeExcludeFilterValidator,new l.NotSupportedFilterValidator,new l.RelativeDateFilterValidator,new l.TopNFilterValidator,new l.RelativeTimeFilterValidator]),anyValueValidator:new s.AnyOfValidator([new a.StringValidator,new a.NumberValidator,new a.BooleanValidator]),actionBarValidator:new _.ActionBarValidator,applyBookmarkByNameRequestValidator:new n.ApplyBookmarkByNameRequestValidator,applyBookmarkStateRequestValidator:new n.ApplyBookmarkStateRequestValidator,applyBookmarkValidator:new s.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 s.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 V.CustomLayoutValidator,customPageSizeValidator:new v.CustomPageSizeValidator,customThemeValidator:new E.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 d.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 s.AnyOfValidator([new l.FilterColumnTargetValidator,new l.FilterHierarchyTargetValidator,new l.FilterMeasureTargetValidator]),filtersArrayValidator:new a.ArrayValidator([new s.AnyOfValidator([new l.BasicFilterValidator,new l.AdvancedFilterValidator,new l.RelativeDateFilterValidator,new l.RelativeTimeFilterValidator])]),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 h.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 v.PageSizeValidator,pageValidator:new v.PageValidator,pageViewFieldValidator:new v.PageViewFieldValidator,pagesLayoutValidator:new m.MapValidator([new a.StringValidator],[new V.PageLayoutValidator]),reportBarsValidator:new _.ReportBarsValidator,reportPanesValidator:new O.ReportPanesValidator,permissionsValidator:new a.EnumValidator([0,1,2,4,7]),playBookmarkRequestValidator:new n.PlayBookmarkRequestValidator,qnaInterpretInputDataValidator:new h.QnaInterpretInputDataValidator,qnaSettingValidator:new h.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 S.SingleCommandSettingsValidator,slicerSelectorValidator:new s.AnyOfValidator([new w.VisualSelectorValidator,new w.SlicerTargetSelectorValidator]),slicerStateValidator:new b.SlicerStateValidator,slicerTargetValidator:new s.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 s.AnyOfValidator([new w.VisualSelectorValidator,new w.VisualTypeSelectorValidator]),visualHeaderSelectorValidator:new s.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}),e.NumberArrayValidator=e.BooleanArrayValidator=e.StringArrayValidator=e.EnumValidator=e.SchemaValidator=e.ValueValidator=e.NumberValidator=e.BooleanValidator=e.StringValidator=e.TypeValidator=e.ArrayValidator=e.ObjectValidator=void 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)&&(d=!0,n=n.slice(0,l-2),r[n]||(r[n]=[])),i=o[1]?w(o[1]):""),d?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, 16 Jul 2020 14:39:11 +0300 Subject: [PATCH 014/125] Update package.json --- package.json | 1 + 1 file changed, 1 insertion(+) diff --git a/package.json b/package.json index e24b3fa4..4d6e9a4e 100644 --- a/package.json +++ b/package.json @@ -14,6 +14,7 @@ "build": "gulp build", "start": "http-server ./demo", "prestart": "cd demo && npm install", + "pretest": "typings install && gulp build", "test": "gulp test", "gulp": "gulp", "typings": "typings" From d4fdbf0b1b06b65421a306304883608ffa6af0b3 Mon Sep 17 00:00:00 2001 From: Shahak Yosef Date: Thu, 16 Jul 2020 14:52:13 +0300 Subject: [PATCH 015/125] fix package json --- package.json | 1 + 1 file changed, 1 insertion(+) diff --git a/package.json b/package.json index 21336c71..cad8cec0 100644 --- a/package.json +++ b/package.json @@ -14,6 +14,7 @@ "build": "gulp build", "start": "http-server ./demo", "prestart": "cd demo && npm install", + "pretest": "typings install && gulp build", "test": "gulp test", "gulp": "gulp", "typings": "typings" From e81fb4d9b794f1073a7101857ee7af97b57530c2 Mon Sep 17 00:00:00 2001 From: Shahak Yosef Date: Sun, 19 Jul 2020 14:19:24 +0000 Subject: [PATCH 016/125] Merged PR 101008: Update playground with latest report authoring After releasing JS SDK, models and report authoring we can update the playground to use the latest report authoring version. --- demo/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/demo/package.json b/demo/package.json index 61cf943f..8ad74a40 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", + "powerbi-report-authoring": "^1.1", "syntaxhighlighter": "4.0.1" }, "devDependencies": {} From db95e18ecbaa8c352f3d189d6486761f8ba7d282 Mon Sep 17 00:00:00 2001 From: Ali Hamud Date: Mon, 20 Jul 2020 08:33:51 +0000 Subject: [PATCH 017/125] Merged PR 101002: Fixing bootstrap bug. Fixing a bug where /report/embed message is sent before bootstrap is complete. **Repo:** 1) Call bootstrap. 2) Call report.embed immediately. **Timing:** 1) Bootstrap starts. 2) iframe is not loaded yet ('load') event is not fired to the SDK. 3) powerbi.embed starts 4) powerbi.embed calls embedExisting because iframe already exists - it's fine. 5) embedExisting calls embed::load method which sends /report/load message to the SDK 6) iframe is loaded (bootstrap is done). 7) ('load') event handler calls embed::load method which sends /report/load message to the SDK - AGAIN **Expected:** /report/load is called one time only. **Acutal** /report/load is called twice - first time before iframe is ready is a BUG. **Fix** Adding a flag which saves the state of the iframe (loaded/not loaded). If iframe is not loaded, avoid sending the postMessage. We need the load method to send the right config when it's called from 'load' event. For that, we save the last config per component, and post the load message with that config. --- dist/powerbi-client.d.ts | 15 ++++-- dist/powerbi.js | 43 +++++++++------ dist/powerbi.min.js | 8 +-- package.json | 2 +- src/config.ts | 2 +- src/embed.ts | 49 ++++++++++++----- src/service.ts | 5 +- src/visual.ts | 7 +-- test/test.spec.ts | 112 +++++++++++++++++++++++++++------------ 9 files changed, 164 insertions(+), 79 deletions(-) diff --git a/dist/powerbi-client.d.ts b/dist/powerbi-client.d.ts index 863ac2d5..a2e9e7c2 100644 --- a/dist/powerbi-client.d.ts +++ b/dist/powerbi-client.d.ts @@ -1,4 +1,4 @@ -/*! powerbi-client v2.13.2 | (c) 2016 Microsoft Corporation MIT */ +/*! powerbi-client v2.13.3 | (c) 2016 Microsoft Corporation MIT */ declare module "util" { import { HttpPostMessage } from 'http-post-message'; /** @@ -259,6 +259,15 @@ declare module "embed" { * @hidden */ iframe: HTMLIFrameElement; + /** + * Saves the iframe state. Each iframe should be loaded only once. + * After first load, .embed will go into embedExisting path which will send + * a postMessage of /report/load instead of creating a new iframe. + * + * @type {boolean} + * @hidden + */ + iframeLoaded: boolean; /** * Gets or sets the configuration settings for the Power BI embed component. * @@ -376,7 +385,7 @@ declare module "embed" { * @param {boolean} phasedRender * @returns {Promise} */ - load(config: IEmbedConfigurationBase, phasedRender?: boolean): Promise; + load(phasedRender?: boolean): Promise; /** * Removes one or more event handlers from the list of handlers. * If a reference to the existing handle function is specified, remove the specific handler. @@ -1479,7 +1488,7 @@ declare module "visual" { * @hidden */ constructor(service: service.Service, element: HTMLElement, baseConfig: embed.IEmbedConfigurationBase, phasedRender?: boolean, isBootstrap?: boolean, iframe?: HTMLIFrameElement); - load(baseConfig: embed.IEmbedConfigurationBase, phasedRender?: boolean): Promise; + load(phasedRender?: boolean): Promise; /** * Gets the list of pages within the report - not supported in visual embed. * diff --git a/dist/powerbi.js b/dist/powerbi.js index 107b8033..25b4cf95 100644 --- a/dist/powerbi.js +++ b/dist/powerbi.js @@ -1,4 +1,4 @@ -/*! powerbi-client v2.13.2 | (c) 2016 Microsoft Corporation MIT */ +/*! powerbi-client v2.13.3 | (c) 2016 Microsoft Corporation MIT */ (function webpackUniversalModuleDefinition(root, factory) { if(typeof exports === 'object' && typeof module === 'object') module.exports = factory(); @@ -351,7 +351,8 @@ return /******/ (function(modules) { // webpackBootstrap */ if (config.type === "report" && component.config.type === "create") { var report = new report_1.Report(this, element, config, /* phasedRender */ false, /* isBootstrap */ false, element.powerBiEmbed.iframe); - report.load(config); + component.populateConfig(config, /* isBootstrap */ false); + report.load(); element.powerBiEmbed = report; this.addOrOverwriteEmbed(component, element); return report; @@ -359,7 +360,7 @@ return /******/ (function(modules) { // webpackBootstrap 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(config) + " on element " + element.outerHTML + ", but the existing element contains an embed of type: " + this.config.type + " which does not match the new type: " + config.type); } component.populateConfig(config, /* isBootstrap */ false); - component.load(component.config, phasedRender); + component.load(phasedRender); return component; }; /** @@ -571,6 +572,7 @@ return /******/ (function(modules) { // webpackBootstrap this.service = service; this.element = element; this.iframe = iframe; + this.iframeLoaded = false; this.embedtype = config.type.toLowerCase(); this.populateConfig(config, isBootstrap); if (this.embedtype === 'create') { @@ -676,21 +678,24 @@ return /******/ (function(modules) { // webpackBootstrap * @param {boolean} phasedRender * @returns {Promise} */ - Embed.prototype.load = function (config, phasedRender) { - var _this = this; - if (!config.accessToken) { + Embed.prototype.load = function (phasedRender) { + if (!this.config.accessToken) { + console.debug("Power BI SDK iframe is loaded but powerbi.embed is not called yet."); + return; + } + if (!this.iframeLoaded) { + console.debug("Power BI SDK is trying to post /report/load before iframe is ready."); return; } - var path = phasedRender && config.type === 'report' ? this.phasedLoadPath : this.loadPath; + var path = phasedRender && this.config.type === 'report' ? this.phasedLoadPath : this.loadPath; var headers = { uid: this.config.uniqueId, sdkSessionId: this.service.getSdkSessionId(), bootstrapped: this.config.bootstrapped, sdkVersion: sdkConfig.default.version }; - return this.service.hpm.post(path, config, headers, this.iframe.contentWindow) + return this.service.hpm.post(path, this.config, headers, this.iframe.contentWindow) .then(function (response) { - utils.assign(_this.config, config); return response.body; }, function (response) { throw response.body; @@ -766,7 +771,7 @@ return /******/ (function(modules) { // webpackBootstrap * ``` */ Embed.prototype.reload = function () { - return this.load(this.config); + return this.load(); }; /** * Set accessToken. @@ -970,9 +975,14 @@ return /******/ (function(modules) { // webpackBootstrap throw errors; } } - this.iframe.addEventListener('load', function () { return _this.load(_this.config, phasedRender); }, false); + this.iframe.addEventListener('load', function () { + _this.iframeLoaded = true; + _this.load(phasedRender); + }, false); if (this.service.getNumberOfComponents() <= Embed.maxFrontLoadTimes) { - this.frontLoadHandler = function () { return _this.frontLoadSendConfig(_this.config); }; + this.frontLoadHandler = function () { + _this.frontLoadSendConfig(_this.config); + }; // 'ready' event is fired by the embedded element (not by the iframe) this.element.addEventListener('ready', this.frontLoadHandler, false); } @@ -1276,7 +1286,7 @@ return /******/ (function(modules) { // webpackBootstrap /** @ignore */ /** */ var config = { - version: '2.13.2', + version: '2.13.3', type: 'js' }; Object.defineProperty(exports, "__esModule", { value: true }); @@ -6681,8 +6691,8 @@ return /******/ (function(modules) { // webpackBootstrap function Visual(service, element, baseConfig, phasedRender, isBootstrap, iframe) { _super.call(this, service, element, baseConfig, phasedRender, isBootstrap, iframe); } - Visual.prototype.load = function (baseConfig, phasedRender) { - var config = baseConfig; + Visual.prototype.load = function (phasedRender) { + var config = this.config; if (!config.accessToken) { // bootstrap flow. return; @@ -6729,7 +6739,8 @@ return /******/ (function(modules) { // webpackBootstrap pageSize: pageSize, pagesLayout: pagesLayout }; - return _super.prototype.load.call(this, config, phasedRender); + this.config = config; + return _super.prototype.load.call(this, phasedRender); }; /** * Gets the list of pages within the report - not supported in visual embed. diff --git a/dist/powerbi.min.js b/dist/powerbi.min.js index d00a3946..1face429 100644 --- a/dist/powerbi.min.js +++ b/dist/powerbi.min.js @@ -1,9 +1,9 @@ -/*! powerbi-client v2.13.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 d=r(14);e.Tile=d.Tile;var s=r(2);e.Embed=s.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 v=new a.Service(i.hpmFactory,i.wpmpFactory,i.routerFactory);window.powerbi=v},function(t,e,r){var a=r(2),i=r(7),o=r(12),n=r(13),l=r(14),d=r(8),s=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 d=p.find(function(t){return l===t.type.toLowerCase()},t.components);if(!d)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 s=new d(this,e,r,o,n);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),(!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!==e}),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 d.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,s.Qna,u.Visual],t.defaultConfig={autoEmbedOnContentLoaded:!1,onError:function(){for(var t=[],e=0;e>=4,r.toString(16)})}function s(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=d,e.addParamToUrl=s,e.isSavedInternal=u,e.isRDLEmbed=p,e.autoAuthInEmbedUrl=c,e.getRandomValue=f},function(t,e){var r={version:"2.13.2",type:"js"};Object.defineProperty(e,"__esModule",{value:!0}),e["default"]=r},function(t,e,r){/*! powerbi-models v1.4.0 | (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 d(t){return!(!(t.table&&t.hierarchy&&t.hierarchyLevel)||t.aggregationFunction)}function s(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 v(t){var r=e.Validators.slicerStateValidator.validate(t);return r?r.map(p):void 0}function h(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 S(t){var r=e.Validators.fieldsPanesValidator.validate(t);return r?r.map(p):void 0}function E(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 F(t){var r=e.Validators.customPageSizeValidator.validate(t);return r?r.map(p):void 0}function R(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 L(t){var r=e.Validators.loadQnaValidator.validate(t);return r?r.map(p):void 0}function j(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 D(t){var r=e.Validators.visualHeaderValidator.validate(t);return r?r.map(p):void 0}function U(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.validateCustomTheme=e.validateCommandsSettings=e.validateVisualSettings=e.validateVisualHeader=e.validateExportDataRequest=e.validateQnaInterpretInputData=e.validateLoadQnaConfiguration=e.validateSaveAsParameters=e.validateFilter=e.validatePage=e.validateTileLoad=e.validateDashboardLoad=e.validateCreateReport=e.validateReportLoad=e.validateExtension=e.validateCustomPageSize=e.validateVisualizationsPane=e.validateSyncSlicersPane=e.validateSelectionPane=e.validatePageNavigationPane=e.validateFieldsPane=e.validateFiltersPane=e.validateBookmarksPane=e.validatePanes=e.validateSettings=e.validateApplyBookmarkStateRequest=e.validateApplyBookmarkByNameRequest=e.validateAddBookmarkRequest=e.validatePlayBookmarkRequest=e.validateSlicerState=e.validateSlicer=e.validateVisualSelector=e.VisualDataRoleKindPreference=e.VisualDataRoleKind=e.CommandDisplayOption=e.SlicerTargetSelector=e.VisualTypeSelector=e.VisualSelector=e.PageSelector=e.Selector=e.SortDirection=e.LegendPosition=e.TextAlignment=e.CommonErrorCodes=e.BookmarksPlayMode=e.ExportDataType=e.QnaMode=e.isColumnAggr=e.isHierarchyLevelAggr=e.isHierarchyLevel=e.isColumn=e.isMeasure=e.getFilterType=e.isBasicFilterWithKeys=e.isFilterKeyColumnsTarget=e.AdvancedFilter=e.TupleFilter=e.BasicFilterWithKeys=e.BasicFilter=e.RelativeTimeFilter=e.RelativeDateFilter=e.TopNFilter=e.IncludeExcludeFilter=e.NotSupportedFilter=e.Filter=e.RelativeDateOperators=e.RelativeDateFilterTimeUnit=e.FilterType=e.FiltersLevel=e.MenuLocation=e.ContrastMode=e.TokenType=e.ViewMode=e.Permissions=e.SectionVisibility=e.HyperlinkClickBehavior=e.LayoutType=e.VisualContainerDisplayMode=e.BackgroundType=e.DisplayOption=e.PageSizeType=e.TraceType=e.Validators=void 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 Q;!function(t){t[t.FitToPage=0]="FitToPage",t[t.FitToWidth=1]="FitToWidth",t[t.ActualSize=2]="ActualSize"}(Q=e.DisplayOption||(e.DisplayOption={}));var Y;!function(t){t[t.Default=0]="Default",t[t.Transparent=1]="Transparent"}(Y=e.BackgroundType||(e.BackgroundType={}));var G;!function(t){t[t.Visible=0]="Visible",t[t.Hidden=1]="Hidden"}(G=e.VisualContainerDisplayMode||(e.VisualContainerDisplayMode={}));var K;!function(t){t[t.Master=0]="Master",t[t.Custom=1]="Custom",t[t.MobilePortrait=2]="MobilePortrait",t[t.MobileLandscape=3]="MobileLandscape"}(K=e.LayoutType||(e.LayoutType={}));var $;!function(t){t[t.Navigate=0]="Navigate",t[t.NavigateAndRaiseEvent=1]="NavigateAndRaiseEvent",t[t.RaiseEvent=2]="RaiseEvent"}($=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 dt=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=dt;var st=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}(dt);e.NotSupportedFilter=st;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}(dt);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}(dt);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}(dt);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}(dt);e.RelativeTimeFilter=ft;var vt=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}(dt);e.AdvancedFilter=mt,e.isFilterKeyColumnsTarget=a,e.isBasicFilterWithKeys=i,e.getFilterType=o,e.isMeasure=n,e.isColumn=l,e.isHierarchyLevel=d,e.isHierarchyLevelAggr=s,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 St=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=St;var Et=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=Et;var Tt=function(t){function e(e){var r=t.call(this,Et.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,Et.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 Ft;!function(t){t[t.Grouping=0]="Grouping",t[t.Measure=1]="Measure",t[t.GroupingOrMeasure=2]="GroupingOrMeasure"}(Ft=e.VisualDataRoleKind||(e.VisualDataRoleKind={}));var Rt;!function(t){t[t.Measure=0]="Measure",t[t.Grouping=1]="Grouping"}(Rt=e.VisualDataRoleKindPreference||(e.VisualDataRoleKindPreference={})),e.validateVisualSelector=c,e.validateSlicer=f,e.validateSlicerState=v,e.validatePlayBookmarkRequest=h,e.validateAddBookmarkRequest=y,e.validateApplyBookmarkByNameRequest=m,e.validateApplyBookmarkStateRequest=V,e.validateSettings=g,e.validatePanes=w,e.validateBookmarksPane=b,e.validateFiltersPane=P,e.validateFieldsPane=S,e.validatePageNavigationPane=E,e.validateSelectionPane=T,e.validateSyncSlicersPane=O,e.validateVisualizationsPane=_,e.validateCustomPageSize=F,e.validateExtension=R,e.validateReportLoad=A,e.validateCreateReport=k,e.validateDashboardLoad=C,e.validateTileLoad=x,e.validatePage=M,e.validateFilter=I,e.validateSaveAsParameters=q,e.validateLoadQnaConfiguration=L,e.validateQnaInterpretInputData=j,e.validateExportDataRequest=N,e.validateVisualHeader=D,e.validateVisualSettings=U,e.validateCommandsSettings=B,e.validateCustomTheme=W},function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.Validators=void 0;var a=r(2),i=r(3),o=r(5),n=r(6),l=r(7),d=r(8),s=r(9),u=r(10),p=r(11),c=r(12),f=r(13),v=r(14),h=r(15),y=r(16),m=r(17),V=r(18),g=r(19),w=r(20),b=r(21),P=r(22),S=r(23),E=r(24),T=r(25),O=r(26),_=r(27);e.Validators={addBookmarkRequestValidator:new n.AddBookmarkRequestValidator,advancedFilterTypeValidator:new a.EnumValidator([0]),advancedFilterValidator:new l.AdvancedFilterValidator,anyArrayValidator:new a.ArrayValidator([new s.AnyOfValidator([new a.StringValidator,new a.NumberValidator,new a.BooleanValidator])]),anyFilterValidator:new s.AnyOfValidator([new l.BasicFilterValidator,new l.AdvancedFilterValidator,new l.IncludeExcludeFilterValidator,new l.NotSupportedFilterValidator,new l.RelativeDateFilterValidator,new l.TopNFilterValidator,new l.RelativeTimeFilterValidator]),anyValueValidator:new s.AnyOfValidator([new a.StringValidator,new a.NumberValidator,new a.BooleanValidator]),actionBarValidator:new _.ActionBarValidator,applyBookmarkByNameRequestValidator:new n.ApplyBookmarkByNameRequestValidator,applyBookmarkStateRequestValidator:new n.ApplyBookmarkStateRequestValidator,applyBookmarkValidator:new s.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 s.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 V.CustomLayoutValidator,customPageSizeValidator:new v.CustomPageSizeValidator,customThemeValidator:new E.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 d.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 s.AnyOfValidator([new l.FilterColumnTargetValidator,new l.FilterHierarchyTargetValidator,new l.FilterMeasureTargetValidator]),filtersArrayValidator:new a.ArrayValidator([new s.AnyOfValidator([new l.BasicFilterValidator,new l.AdvancedFilterValidator,new l.RelativeDateFilterValidator,new l.RelativeTimeFilterValidator])]),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 h.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 v.PageSizeValidator,pageValidator:new v.PageValidator,pageViewFieldValidator:new v.PageViewFieldValidator,pagesLayoutValidator:new m.MapValidator([new a.StringValidator],[new V.PageLayoutValidator]),reportBarsValidator:new _.ReportBarsValidator,reportPanesValidator:new O.ReportPanesValidator,permissionsValidator:new a.EnumValidator([0,1,2,4,7]),playBookmarkRequestValidator:new n.PlayBookmarkRequestValidator,qnaInterpretInputDataValidator:new h.QnaInterpretInputDataValidator,qnaSettingValidator:new h.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 S.SingleCommandSettingsValidator,slicerSelectorValidator:new s.AnyOfValidator([new w.VisualSelectorValidator,new w.SlicerTargetSelectorValidator]),slicerStateValidator:new b.SlicerStateValidator,slicerTargetValidator:new s.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 s.AnyOfValidator([new w.VisualSelectorValidator,new w.VisualTypeSelectorValidator]),visualHeaderSelectorValidator:new s.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}),e.NumberArrayValidator=e.BooleanArrayValidator=e.StringArrayValidator=e.EnumValidator=e.SchemaValidator=e.ValueValidator=e.NumberValidator=e.BooleanValidator=e.StringValidator=e.TypeValidator=e.ArrayValidator=e.ObjectValidator=void 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 s(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=d,e.addParamToUrl=s,e.isSavedInternal=u,e.isRDLEmbed=p,e.autoAuthInEmbedUrl=c,e.getRandomValue=f},function(t,e){var r={version:"2.13.3",type:"js"};Object.defineProperty(e,"__esModule",{value:!0}),e["default"]=r},function(t,e,r){/*! powerbi-models v1.4.0 | (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 d(t){return!(!(t.table&&t.hierarchy&&t.hierarchyLevel)||t.aggregationFunction)}function s(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 v(t){var r=e.Validators.slicerStateValidator.validate(t);return r?r.map(p):void 0}function h(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 S(t){var r=e.Validators.fieldsPanesValidator.validate(t);return r?r.map(p):void 0}function E(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 F(t){var r=e.Validators.customPageSizeValidator.validate(t);return r?r.map(p):void 0}function R(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 L(t){var r=e.Validators.loadQnaValidator.validate(t);return r?r.map(p):void 0}function j(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 D(t){var r=e.Validators.visualHeaderValidator.validate(t);return r?r.map(p):void 0}function U(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.validateCustomTheme=e.validateCommandsSettings=e.validateVisualSettings=e.validateVisualHeader=e.validateExportDataRequest=e.validateQnaInterpretInputData=e.validateLoadQnaConfiguration=e.validateSaveAsParameters=e.validateFilter=e.validatePage=e.validateTileLoad=e.validateDashboardLoad=e.validateCreateReport=e.validateReportLoad=e.validateExtension=e.validateCustomPageSize=e.validateVisualizationsPane=e.validateSyncSlicersPane=e.validateSelectionPane=e.validatePageNavigationPane=e.validateFieldsPane=e.validateFiltersPane=e.validateBookmarksPane=e.validatePanes=e.validateSettings=e.validateApplyBookmarkStateRequest=e.validateApplyBookmarkByNameRequest=e.validateAddBookmarkRequest=e.validatePlayBookmarkRequest=e.validateSlicerState=e.validateSlicer=e.validateVisualSelector=e.VisualDataRoleKindPreference=e.VisualDataRoleKind=e.CommandDisplayOption=e.SlicerTargetSelector=e.VisualTypeSelector=e.VisualSelector=e.PageSelector=e.Selector=e.SortDirection=e.LegendPosition=e.TextAlignment=e.CommonErrorCodes=e.BookmarksPlayMode=e.ExportDataType=e.QnaMode=e.isColumnAggr=e.isHierarchyLevelAggr=e.isHierarchyLevel=e.isColumn=e.isMeasure=e.getFilterType=e.isBasicFilterWithKeys=e.isFilterKeyColumnsTarget=e.AdvancedFilter=e.TupleFilter=e.BasicFilterWithKeys=e.BasicFilter=e.RelativeTimeFilter=e.RelativeDateFilter=e.TopNFilter=e.IncludeExcludeFilter=e.NotSupportedFilter=e.Filter=e.RelativeDateOperators=e.RelativeDateFilterTimeUnit=e.FilterType=e.FiltersLevel=e.MenuLocation=e.ContrastMode=e.TokenType=e.ViewMode=e.Permissions=e.SectionVisibility=e.HyperlinkClickBehavior=e.LayoutType=e.VisualContainerDisplayMode=e.BackgroundType=e.DisplayOption=e.PageSizeType=e.TraceType=e.Validators=void 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 Q;!function(t){t[t.FitToPage=0]="FitToPage",t[t.FitToWidth=1]="FitToWidth",t[t.ActualSize=2]="ActualSize"}(Q=e.DisplayOption||(e.DisplayOption={}));var Y;!function(t){t[t.Default=0]="Default",t[t.Transparent=1]="Transparent"}(Y=e.BackgroundType||(e.BackgroundType={}));var K;!function(t){t[t.Visible=0]="Visible",t[t.Hidden=1]="Hidden"}(K=e.VisualContainerDisplayMode||(e.VisualContainerDisplayMode={}));var G;!function(t){t[t.Master=0]="Master",t[t.Custom=1]="Custom",t[t.MobilePortrait=2]="MobilePortrait",t[t.MobileLandscape=3]="MobileLandscape"}(G=e.LayoutType||(e.LayoutType={}));var $;!function(t){t[t.Navigate=0]="Navigate",t[t.NavigateAndRaiseEvent=1]="NavigateAndRaiseEvent",t[t.RaiseEvent=2]="RaiseEvent"}($=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 dt=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=dt;var st=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}(dt);e.NotSupportedFilter=st;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}(dt);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}(dt);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}(dt);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}(dt);e.RelativeTimeFilter=ft;var vt=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}(dt);e.AdvancedFilter=mt,e.isFilterKeyColumnsTarget=a,e.isBasicFilterWithKeys=i,e.getFilterType=o,e.isMeasure=n,e.isColumn=l,e.isHierarchyLevel=d,e.isHierarchyLevelAggr=s,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 St=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=St;var Et=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=Et;var Tt=function(t){function e(e){var r=t.call(this,Et.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,Et.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 Ft;!function(t){t[t.Grouping=0]="Grouping",t[t.Measure=1]="Measure",t[t.GroupingOrMeasure=2]="GroupingOrMeasure"}(Ft=e.VisualDataRoleKind||(e.VisualDataRoleKind={}));var Rt;!function(t){t[t.Measure=0]="Measure",t[t.Grouping=1]="Grouping"}(Rt=e.VisualDataRoleKindPreference||(e.VisualDataRoleKindPreference={})),e.validateVisualSelector=c,e.validateSlicer=f,e.validateSlicerState=v,e.validatePlayBookmarkRequest=h,e.validateAddBookmarkRequest=y,e.validateApplyBookmarkByNameRequest=m,e.validateApplyBookmarkStateRequest=V,e.validateSettings=g,e.validatePanes=w,e.validateBookmarksPane=b,e.validateFiltersPane=P,e.validateFieldsPane=S,e.validatePageNavigationPane=E,e.validateSelectionPane=T,e.validateSyncSlicersPane=O,e.validateVisualizationsPane=_,e.validateCustomPageSize=F,e.validateExtension=R,e.validateReportLoad=A,e.validateCreateReport=k,e.validateDashboardLoad=C,e.validateTileLoad=x,e.validatePage=M,e.validateFilter=I,e.validateSaveAsParameters=q,e.validateLoadQnaConfiguration=L,e.validateQnaInterpretInputData=j,e.validateExportDataRequest=N,e.validateVisualHeader=D,e.validateVisualSettings=U,e.validateCommandsSettings=B,e.validateCustomTheme=W},function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.Validators=void 0;var a=r(2),i=r(3),o=r(5),n=r(6),l=r(7),d=r(8),s=r(9),u=r(10),p=r(11),c=r(12),f=r(13),v=r(14),h=r(15),y=r(16),m=r(17),V=r(18),g=r(19),w=r(20),b=r(21),P=r(22),S=r(23),E=r(24),T=r(25),O=r(26),_=r(27);e.Validators={addBookmarkRequestValidator:new n.AddBookmarkRequestValidator,advancedFilterTypeValidator:new a.EnumValidator([0]),advancedFilterValidator:new l.AdvancedFilterValidator,anyArrayValidator:new a.ArrayValidator([new s.AnyOfValidator([new a.StringValidator,new a.NumberValidator,new a.BooleanValidator])]),anyFilterValidator:new s.AnyOfValidator([new l.BasicFilterValidator,new l.AdvancedFilterValidator,new l.IncludeExcludeFilterValidator,new l.NotSupportedFilterValidator,new l.RelativeDateFilterValidator,new l.TopNFilterValidator,new l.RelativeTimeFilterValidator]),anyValueValidator:new s.AnyOfValidator([new a.StringValidator,new a.NumberValidator,new a.BooleanValidator]),actionBarValidator:new _.ActionBarValidator,applyBookmarkByNameRequestValidator:new n.ApplyBookmarkByNameRequestValidator,applyBookmarkStateRequestValidator:new n.ApplyBookmarkStateRequestValidator,applyBookmarkValidator:new s.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 s.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 V.CustomLayoutValidator,customPageSizeValidator:new v.CustomPageSizeValidator,customThemeValidator:new E.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 d.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 s.AnyOfValidator([new l.FilterColumnTargetValidator,new l.FilterHierarchyTargetValidator,new l.FilterMeasureTargetValidator]),filtersArrayValidator:new a.ArrayValidator([new s.AnyOfValidator([new l.BasicFilterValidator,new l.AdvancedFilterValidator,new l.RelativeDateFilterValidator,new l.RelativeTimeFilterValidator])]),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 h.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 v.PageSizeValidator,pageValidator:new v.PageValidator,pageViewFieldValidator:new v.PageViewFieldValidator,pagesLayoutValidator:new m.MapValidator([new a.StringValidator],[new V.PageLayoutValidator]),reportBarsValidator:new _.ReportBarsValidator,reportPanesValidator:new O.ReportPanesValidator,permissionsValidator:new a.EnumValidator([0,1,2,4,7]),playBookmarkRequestValidator:new n.PlayBookmarkRequestValidator,qnaInterpretInputDataValidator:new h.QnaInterpretInputDataValidator,qnaSettingValidator:new h.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 S.SingleCommandSettingsValidator,slicerSelectorValidator:new s.AnyOfValidator([new w.VisualSelectorValidator,new w.SlicerTargetSelectorValidator]),slicerStateValidator:new b.SlicerStateValidator,slicerTargetValidator:new s.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 s.AnyOfValidator([new w.VisualSelectorValidator,new w.VisualTypeSelectorValidator]),visualHeaderSelectorValidator:new s.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}),e.NumberArrayValidator=e.BooleanArrayValidator=e.StringArrayValidator=e.EnumValidator=e.SchemaValidator=e.ValueValidator=e.NumberValidator=e.BooleanValidator=e.StringValidator=e.TypeValidator=e.ArrayValidator=e.ObjectValidator=void 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)&&(d=!0,n=n.slice(0,l-2),r[n]||(r[n]=[])),i=o[1]?w(o[1]):""),d?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} */ - load(config: IEmbedConfigurationBase, phasedRender?: boolean): Promise { - if (!config.accessToken) { + load(phasedRender?: boolean): Promise { + if (!this.config.accessToken) { + console.debug("Power BI SDK iframe is loaded but powerbi.embed is not called yet."); + return; + } + + if (!this.iframeLoaded) { + console.debug("Power BI SDK is trying to post /report/load before iframe is ready."); return; } - const path = phasedRender && config.type === 'report' ? this.phasedLoadPath : this.loadPath; + const path = phasedRender && this.config.type === 'report' ? this.phasedLoadPath : this.loadPath; const headers = { uid: this.config.uniqueId, sdkSessionId: this.service.getSdkSessionId(), @@ -371,14 +388,13 @@ export abstract class Embed { sdkVersion: sdkConfig.default.version }; - return this.service.hpm.post(path, config, headers, this.iframe.contentWindow) + return this.service.hpm.post(path, this.config, headers, this.iframe.contentWindow) .then(response => { - utils.assign(this.config, config); return response.body; }, - response => { - throw response.body; - }); + response => { + throw response.body; + }); } /** @@ -455,7 +471,7 @@ export abstract class Embed { * ``` */ reload(): Promise { - return this.load(this.config); + return this.load(); } /** @@ -720,10 +736,15 @@ export abstract class Embed { } } - this.iframe.addEventListener('load', () => this.load(this.config, phasedRender), false); + this.iframe.addEventListener('load', () => { + this.iframeLoaded = true; + this.load(phasedRender); + }, false); if (this.service.getNumberOfComponents() <= Embed.maxFrontLoadTimes) { - this.frontLoadHandler = () => this.frontLoadSendConfig(this.config); + this.frontLoadHandler = () => { + this.frontLoadSendConfig(this.config); + } // 'ready' event is fired by the embedded element (not by the iframe) this.element.addEventListener('ready', this.frontLoadHandler, false); @@ -806,9 +827,9 @@ export abstract class Embed { if (this.iframe.contentWindow == null) return; - return this.service.hpm.post("/frontload/config", config, { uid: this.config.uniqueId }, this.iframe.contentWindow).then(response => { - return response.body; - }, + return this.service.hpm.post("/frontload/config", config, { uid: this.config.uniqueId }, this.iframe.contentWindow).then(response => { + return response.body; + }, response => { throw response.body; }); diff --git a/src/service.ts b/src/service.ts index bd0a6bf5..28be3bdc 100644 --- a/src/service.ts +++ b/src/service.ts @@ -401,7 +401,8 @@ export class Service implements IService { */ if(config.type === "report" && component.config.type === "create") { const report = new Report(this, element, config, /* phasedRender */ false, /* isBootstrap */ false, element.powerBiEmbed.iframe); - report.load(config); + component.populateConfig(config, /* isBootstrap */ false); + report.load(); element.powerBiEmbed = report; this.addOrOverwriteEmbed(component, element); @@ -413,7 +414,7 @@ export class Service implements IService { } component.populateConfig(config, /* isBootstrap */ false); - component.load(component.config, phasedRender); + component.load(phasedRender); return component; } diff --git a/src/visual.ts b/src/visual.ts index 483ef809..f9e8f3f7 100644 --- a/src/visual.ts +++ b/src/visual.ts @@ -31,8 +31,8 @@ export class Visual extends Report { super(service, element, baseConfig, phasedRender, isBootstrap, iframe); } - load(baseConfig: embed.IEmbedConfigurationBase, phasedRender?: boolean): Promise { - var config = baseConfig; + load(phasedRender?: boolean): Promise { + var config = this.config; if (!config.accessToken) { // bootstrap flow. @@ -88,7 +88,8 @@ export class Visual extends Report { pagesLayout: pagesLayout }; - return super.load(config, phasedRender); + this.config = config; + return super.load(phasedRender); } /** diff --git a/test/test.spec.ts b/test/test.spec.ts index f32f6379..9f5e4cd3 100644 --- a/test/test.spec.ts +++ b/test/test.spec.ts @@ -1,3 +1,4 @@ +import * as utils from '../src/util'; import * as service from '../src/service'; import * as embed from '../src/embed'; import * as report from '../src/report'; @@ -504,7 +505,7 @@ describe('service', function () { // Act const component2 = powerbi.embed($element[0], testConfiguration); - const actualConfig = (component.load).calls.mostRecent().args[0]; + const actualConfig = component2.config; // Assert expect(component.load).toHaveBeenCalled(); @@ -2709,6 +2710,11 @@ describe('SDK-to-HPM', function () { let embedCreateConfiguration: embed.IEmbedConfiguration; let visualEmbedConfiguration: embed.IVisualEmbedConfiguration; + let reportConfigurationBck: embed.IEmbedConfigurationBase; + let createConfigurationBck: embed.IEmbedConfigurationBase; + let dashboardEmbedConfigurationBck: embed.IEmbedConfigurationBase; + let visualEmbedConfigurationBck: embed.IEmbedConfigurationBase; + const iframeSrc = "base/test/utility/noop.html"; beforeAll(function () { @@ -2789,6 +2795,13 @@ describe('SDK-to-HPM', function () { powerbi.wpmp.stop(); }); + beforeEach(function() { + reportConfigurationBck = report.config; + createConfigurationBck = create.config; + dashboardEmbedConfigurationBck = dashboard.config; + visualEmbedConfigurationBck = embeddedVisual.config; + }); + afterEach(function () { spyHpm.get.calls.reset(); spyHpm.post.calls.reset(); @@ -2801,6 +2814,11 @@ describe('SDK-to-HPM', function () { spyRouter.patch.calls.reset(); spyRouter.put.calls.reset(); spyRouter.delete.calls.reset(); + + report.config = reportConfigurationBck; + create.config = createConfigurationBck; + dashboard.config = dashboardEmbedConfigurationBck; + embeddedVisual.config = visualEmbedConfigurationBck; }); describe('report', function () { @@ -2820,7 +2838,10 @@ describe('SDK-to-HPM', function () { spyHpm.post.and.returnValue(Promise.resolve(testData.response)); // Act - report.load(testData.loadConfiguration); + let expectedConfiguration = utils.assign({}, report.config, testData.loadConfiguration) + report.config = expectedConfiguration; + report.iframeLoaded = true; + report.load(); // Assert const expectedHeaders = { @@ -2830,7 +2851,7 @@ describe('SDK-to-HPM', function () { sdkSessionId: sdkSessionId }; - expect(spyHpm.post).toHaveBeenCalledWith('/report/load', testData.loadConfiguration, expectedHeaders, iframe.contentWindow); + expect(spyHpm.post).toHaveBeenCalledWith('/report/load', expectedConfiguration, expectedHeaders, iframe.contentWindow); }); it('report.load() returns promise that rejects with validation error if the load configuration is invalid', function (done) { @@ -2850,7 +2871,9 @@ describe('SDK-to-HPM', function () { spyHpm.post.and.returnValue(Promise.reject(testData.errorResponse)); // Act - report.load(testData.loadConfiguration) + let expectedConfiguration = utils.assign({}, report.config, testData.loadConfiguration); + report.config = expectedConfiguration; + report.load() .catch(error => { const expectedHeaders = { bootstrapped: undefined, @@ -2858,7 +2881,7 @@ describe('SDK-to-HPM', function () { uid: uniqueId, sdkSessionId: sdkSessionId }; - expect(spyHpm.post).toHaveBeenCalledWith('/report/load', testData.loadConfiguration, expectedHeaders, iframe.contentWindow); + expect(spyHpm.post).toHaveBeenCalledWith('/report/load', expectedConfiguration, expectedHeaders, iframe.contentWindow); expect(error).toEqual(testData.errorResponse.body); // Assert done(); @@ -2880,7 +2903,9 @@ describe('SDK-to-HPM', function () { spyHpm.post.and.returnValue(Promise.resolve(testData.response)); // Act - report.load(testData.loadConfiguration) + let expectedConfiguration = utils.assign({}, report.config, testData.loadConfiguration); + report.config = expectedConfiguration; + report.load() .then(response => { const expectedHeaders = { bootstrapped: undefined, @@ -2889,7 +2914,7 @@ describe('SDK-to-HPM', function () { sdkSessionId: sdkSessionId }; - expect(spyHpm.post).toHaveBeenCalledWith('/report/load', testData.loadConfiguration, expectedHeaders, iframe.contentWindow); + expect(spyHpm.post).toHaveBeenCalledWith('/report/load', expectedConfiguration, expectedHeaders, iframe.contentWindow); expect(response).toEqual(null); // Assert done(); @@ -2911,16 +2936,18 @@ describe('SDK-to-HPM', function () { spyHpm.post.and.returnValue(Promise.resolve(testData.response)); // Act - report.load(testData.loadConfiguration) + let expectedConfiguration = utils.assign({}, report.config, testData.loadConfiguration); + report.config = expectedConfiguration; + report.load() .then(response => { - expect(report.config).toEqual(jasmine.objectContaining(testData.loadConfiguration)); + expect(report.config).toEqual(jasmine.objectContaining(expectedConfiguration)); expect(response).toEqual(null); // Assert done(); }); }); - it('powerbi.embed with visual name sends POST /report/load with custom layout configuration in body', function () { + it('powerbi.embed with visual name sends POST /report/load with custom layout configuration in body', function (done) { let testData = { loadConfiguration: visualEmbedConfiguration, @@ -2938,6 +2965,8 @@ describe('SDK-to-HPM', function () { visualName: visualEmbedConfiguration.visualName, width: visualEmbedConfiguration.width, height: visualEmbedConfiguration.height, + groupId: undefined, + uniqueId: embeddedVisual.config.uniqueId, settings: { filterPaneEnabled: false, navContentPaneEnabled: false, @@ -2972,26 +3001,31 @@ describe('SDK-to-HPM', function () { } } } - } + }; spyHpm.post.and.returnValue(Promise.resolve(testData.response)); // Act - embeddedVisual.load(visualEmbedConfiguration); - - // Assert - expect(spyHpm.post).toHaveBeenCalled(); + let inputConfig = utils.assign({}, embeddedVisual.config, visualEmbedConfiguration); + embeddedVisual.config = inputConfig; + embeddedVisual.iframeLoaded = true; - let spyArgs = spyHpm.post.calls.mostRecent().args; - expect(spyArgs[0]).toEqual('/report/load'); - expect(spyArgs[1]).toEqual(expectedConfiguration); - expect(spyArgs[2]).toEqual({ - bootstrapped: undefined, - sdkVersion: sdkConfig.default.version, - uid: visualUniqueId, - sdkSessionId: sdkSessionId + embeddedVisual.load().then(() => { + // Assert + expect(spyHpm.post).toHaveBeenCalled(); + + let spyArgs = spyHpm.post.calls.mostRecent().args; + expect(spyArgs[0]).toEqual('/report/load'); + expect(spyArgs[1]).toEqual(expectedConfiguration); + expect(spyArgs[2]).toEqual({ + bootstrapped: undefined, + sdkVersion: sdkConfig.default.version, + uid: visualUniqueId, + sdkSessionId: sdkSessionId + }); + expect(spyArgs[3]).toEqual(visualFrame.contentWindow); + done(); }); - expect(spyArgs[3]).toEqual(visualFrame.contentWindow); }); it('embeddedVisual.getFilters(models.FiltersLevel.Report) sends GET /report/filters', function () { @@ -3519,7 +3553,7 @@ describe('SDK-to-HPM', function () { }); describe('reload', function () { - it('report.reload() sends POST /report/load with configuration in body', function () { + it('report.reload() sends POST /report/load with configuration in body', function (done) { // Arrange const testData = { loadConfiguration: { @@ -3532,7 +3566,9 @@ describe('SDK-to-HPM', function () { }; spyHpm.post.and.returnValue(Promise.resolve(testData.response)); - report.load(testData.loadConfiguration) + let expectedConfiguration = utils.assign({}, report.config, testData.loadConfiguration); + report.config = expectedConfiguration; + report.load() .then(() => { spyHpm.post.calls.reset(); @@ -3547,7 +3583,8 @@ describe('SDK-to-HPM', function () { }; // Assert - expect(spyHpm.post).toHaveBeenCalledWith('/report/load', jasmine.objectContaining(testData.loadConfiguration), expectedHeaders, iframe.contentWindow); + expect(spyHpm.post).toHaveBeenCalledWith('/report/load', expectedConfiguration, expectedHeaders, iframe.contentWindow); + done(); }); }); }); @@ -3727,7 +3764,9 @@ describe('SDK-to-HPM', function () { spyHpm.post.and.returnValue(Promise.resolve(testData.response)); // Act - dashboard.load(testData.loadConfiguration); + let expectedConfiguration = utils.assign({}, dashboard.config, testData.loadConfiguration); + dashboard.config = expectedConfiguration; + dashboard.load(); const expectedHeaders = { bootstrapped: undefined, @@ -3737,7 +3776,7 @@ describe('SDK-to-HPM', function () { }; // Assert - expect(spyHpm.post).toHaveBeenCalledWith('/dashboard/load', testData.loadConfiguration, expectedHeaders, dashboardIframe.contentWindow); + expect(spyHpm.post).toHaveBeenCalledWith('/dashboard/load', expectedConfiguration, expectedHeaders, dashboardIframe.contentWindow); }); }); }); @@ -4395,7 +4434,6 @@ describe('SDK-to-MockApp', function () { let report2: report.Report; beforeAll(function () { - powerbi = new service.Service(factories.hpmFactory, factories.wpmpFactory, factories.routerFactory, { wpmpName: 'SDK-to-MockApp HostWpmp', logMessages @@ -4482,10 +4520,12 @@ describe('SDK-to-MockApp', function () { .then(() => { spyApp.validateReportLoad.and.returnValue(Promise.reject(testData.expectedErrors)); // Act - report.load(testData.loadConfig) + let expectedConfiguration = utils.assign({}, report.config, testData.loadConfig); + report.config = expectedConfiguration; + report.load() .catch(errors => { // Assert - expect(spyApp.validateReportLoad).toHaveBeenCalledWith(testData.loadConfig); + expect(spyApp.validateReportLoad).toHaveBeenCalledWith(expectedConfiguration); expect(spyApp.reportLoad).not.toHaveBeenCalled(); expect(errors).toEqual(jasmine.objectContaining(testData.expectedErrors)); done(); @@ -4507,11 +4547,13 @@ describe('SDK-to-MockApp', function () { spyApp.validateReportLoad.and.returnValue(Promise.resolve(null)); spyApp.reportLoad.and.returnValue(Promise.resolve(null)); // Act - report.load(testData.loadConfig) + let expectedConfiguration = utils.assign({}, report.config, testData.loadConfig); + report.config = expectedConfiguration; + report.load() .then(response => { // Assert - expect(spyApp.validateReportLoad).toHaveBeenCalledWith(testData.loadConfig); - expect(spyApp.reportLoad).toHaveBeenCalledWith(testData.loadConfig); + expect(spyApp.validateReportLoad).toHaveBeenCalledWith(expectedConfiguration); + expect(spyApp.reportLoad).toHaveBeenCalledWith(expectedConfiguration); expect(response).toEqual(undefined); done(); }); From e1886ff59ac63a62265c872e0f5d3a549dc60421 Mon Sep 17 00:00:00 2001 From: May Hartov Date: Wed, 22 Jul 2020 07:42:12 +0000 Subject: [PATCH 018/125] Merged PR 101003: Added custom methods to support playground sandbox Currently playground sandbox overrides element.createNode and powerbi JS service.handleEvent methods to allow safe evaluation of user code. Instead of overriding these general methods, added 2 custom methods to js SDK service.ts --- dist/powerbi-client.d.ts | 10 ++++++++++ dist/powerbi.js | 15 +++++++++++++++ dist/powerbi.min.js | 4 ++-- src/embed.ts | 5 +++++ src/service.ts | 15 +++++++++++++++ 5 files changed, 47 insertions(+), 2 deletions(-) diff --git a/dist/powerbi-client.d.ts b/dist/powerbi-client.d.ts index a2e9e7c2..6c39fd6f 100644 --- a/dist/powerbi-client.d.ts +++ b/dist/powerbi-client.d.ts @@ -1608,6 +1608,8 @@ declare module "service" { } export interface IService { hpm: hpm.HttpPostMessage; + preComponentCreation: (frame: HTMLIFrameElement) => void; + customEventHandler: (event: IEvent) => void; } /** * The Power BI Service embed component, which is the entry point to embed all other Power BI components into your application @@ -1644,6 +1646,14 @@ declare module "service" { * @hidden */ wpmp: wpmp.WindowPostMessageProxy; + /** An external function used to add custom functionality to embed setIframe. Used in playground safe-eval. + * @hidden + */ + preComponentCreation: (frame: HTMLIFrameElement) => void; + /** A custom event handler used to override the SDK default event handler. Used in playground safe-eval. + * @hidden + */ + customEventHandler: (event: IEvent) => void; private router; private uniqueSessionId; /** diff --git a/dist/powerbi.js b/dist/powerbi.js index 25b4cf95..8e782201 100644 --- a/dist/powerbi.js +++ b/dist/powerbi.js @@ -122,6 +122,14 @@ return /******/ (function(modules) { // webpackBootstrap function Service(hpmFactory, wpmpFactory, routerFactory, config) { var _this = this; if (config === void 0) { config = {}; } + /** An external function used to add custom functionality to embed setIframe. Used in playground safe-eval. + * @hidden + */ + this.preComponentCreation = null; + /** A custom event handler used to override the SDK default event handler. Used in playground safe-eval. + * @hidden + */ + this.customEventHandler = null; this.wpmp = wpmpFactory(config.wpmpName, config.logMessages); this.hpm = hpmFactory(this.wpmp, null, config.version, config.type); this.router = routerFactory(this.wpmp); @@ -465,6 +473,10 @@ return /******/ (function(modules) { // webpackBootstrap * @hidden */ Service.prototype.handleEvent = function (event) { + if (this.customEventHandler != null) { + this.customEventHandler(event); + return; + } var embed = utils.find(function (embed) { return (embed.config.uniqueId === event.id); }, this.embeds); @@ -964,6 +976,9 @@ return /******/ (function(modules) { // webpackBootstrap while (node.firstChild) { node.removeChild(node.firstChild); } + if (this.service.preComponentCreation != null) { + this.service.preComponentCreation(iframeContent); + } node.appendChild(iframeContent); this.iframe = node.firstChild; } diff --git a/dist/powerbi.min.js b/dist/powerbi.min.js index 1face429..918bcce9 100644 --- a/dist/powerbi.min.js +++ b/dist/powerbi.min.js @@ -1,6 +1,6 @@ /*! powerbi-client v2.13.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(7);e.Report=n.Report;var l=r(13);e.Dashboard=l.Dashboard;var d=r(14);e.Tile=d.Tile;var s=r(2);e.Embed=s.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 v=new a.Service(i.hpmFactory,i.wpmpFactory,i.routerFactory);window.powerbi=v},function(t,e,r){var a=r(2),i=r(7),o=r(12),n=r(13),l=r(14),d=r(8),s=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 d=p.find(function(t){return l===t.type.toLowerCase()},t.components);if(!d)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 s=new d(this,e,r,o,n);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),(!1),t.powerBiEmbed.iframe);return a.populateConfig(e,!1),o.load(),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(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){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 d.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,s.Qna,u.Visual],t.defaultConfig={autoEmbedOnContentLoaded:!1,onError:function(){for(var t=[],e=0;e>=4,r.toString(16)})}function s(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=d,e.addParamToUrl=s,e.isSavedInternal=u,e.isRDLEmbed=p,e.autoAuthInEmbedUrl=c,e.getRandomValue=f},function(t,e){var r={version:"2.13.3",type:"js"};Object.defineProperty(e,"__esModule",{value:!0}),e["default"]=r},function(t,e,r){/*! powerbi-models v1.4.0 | (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 d(t){return!(!(t.table&&t.hierarchy&&t.hierarchyLevel)||t.aggregationFunction)}function s(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 v(t){var r=e.Validators.slicerStateValidator.validate(t);return r?r.map(p):void 0}function h(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 S(t){var r=e.Validators.fieldsPanesValidator.validate(t);return r?r.map(p):void 0}function E(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 F(t){var r=e.Validators.customPageSizeValidator.validate(t);return r?r.map(p):void 0}function R(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 L(t){var r=e.Validators.loadQnaValidator.validate(t);return r?r.map(p):void 0}function j(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 D(t){var r=e.Validators.visualHeaderValidator.validate(t);return r?r.map(p):void 0}function U(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.validateCustomTheme=e.validateCommandsSettings=e.validateVisualSettings=e.validateVisualHeader=e.validateExportDataRequest=e.validateQnaInterpretInputData=e.validateLoadQnaConfiguration=e.validateSaveAsParameters=e.validateFilter=e.validatePage=e.validateTileLoad=e.validateDashboardLoad=e.validateCreateReport=e.validateReportLoad=e.validateExtension=e.validateCustomPageSize=e.validateVisualizationsPane=e.validateSyncSlicersPane=e.validateSelectionPane=e.validatePageNavigationPane=e.validateFieldsPane=e.validateFiltersPane=e.validateBookmarksPane=e.validatePanes=e.validateSettings=e.validateApplyBookmarkStateRequest=e.validateApplyBookmarkByNameRequest=e.validateAddBookmarkRequest=e.validatePlayBookmarkRequest=e.validateSlicerState=e.validateSlicer=e.validateVisualSelector=e.VisualDataRoleKindPreference=e.VisualDataRoleKind=e.CommandDisplayOption=e.SlicerTargetSelector=e.VisualTypeSelector=e.VisualSelector=e.PageSelector=e.Selector=e.SortDirection=e.LegendPosition=e.TextAlignment=e.CommonErrorCodes=e.BookmarksPlayMode=e.ExportDataType=e.QnaMode=e.isColumnAggr=e.isHierarchyLevelAggr=e.isHierarchyLevel=e.isColumn=e.isMeasure=e.getFilterType=e.isBasicFilterWithKeys=e.isFilterKeyColumnsTarget=e.AdvancedFilter=e.TupleFilter=e.BasicFilterWithKeys=e.BasicFilter=e.RelativeTimeFilter=e.RelativeDateFilter=e.TopNFilter=e.IncludeExcludeFilter=e.NotSupportedFilter=e.Filter=e.RelativeDateOperators=e.RelativeDateFilterTimeUnit=e.FilterType=e.FiltersLevel=e.MenuLocation=e.ContrastMode=e.TokenType=e.ViewMode=e.Permissions=e.SectionVisibility=e.HyperlinkClickBehavior=e.LayoutType=e.VisualContainerDisplayMode=e.BackgroundType=e.DisplayOption=e.PageSizeType=e.TraceType=e.Validators=void 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 Q;!function(t){t[t.FitToPage=0]="FitToPage",t[t.FitToWidth=1]="FitToWidth",t[t.ActualSize=2]="ActualSize"}(Q=e.DisplayOption||(e.DisplayOption={}));var Y;!function(t){t[t.Default=0]="Default",t[t.Transparent=1]="Transparent"}(Y=e.BackgroundType||(e.BackgroundType={}));var K;!function(t){t[t.Visible=0]="Visible",t[t.Hidden=1]="Hidden"}(K=e.VisualContainerDisplayMode||(e.VisualContainerDisplayMode={}));var G;!function(t){t[t.Master=0]="Master",t[t.Custom=1]="Custom",t[t.MobilePortrait=2]="MobilePortrait",t[t.MobileLandscape=3]="MobileLandscape"}(G=e.LayoutType||(e.LayoutType={}));var $;!function(t){t[t.Navigate=0]="Navigate",t[t.NavigateAndRaiseEvent=1]="NavigateAndRaiseEvent",t[t.RaiseEvent=2]="RaiseEvent"}($=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 dt=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=dt;var st=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}(dt);e.NotSupportedFilter=st;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}(dt);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}(dt);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}(dt);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}(dt);e.RelativeTimeFilter=ft;var vt=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}(dt);e.AdvancedFilter=mt,e.isFilterKeyColumnsTarget=a,e.isBasicFilterWithKeys=i,e.getFilterType=o,e.isMeasure=n,e.isColumn=l,e.isHierarchyLevel=d,e.isHierarchyLevelAggr=s,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 St=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=St;var Et=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=Et;var Tt=function(t){function e(e){var r=t.call(this,Et.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,Et.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 Ft;!function(t){t[t.Grouping=0]="Grouping",t[t.Measure=1]="Measure",t[t.GroupingOrMeasure=2]="GroupingOrMeasure"}(Ft=e.VisualDataRoleKind||(e.VisualDataRoleKind={}));var Rt;!function(t){t[t.Measure=0]="Measure",t[t.Grouping=1]="Grouping"}(Rt=e.VisualDataRoleKindPreference||(e.VisualDataRoleKindPreference={})),e.validateVisualSelector=c,e.validateSlicer=f,e.validateSlicerState=v,e.validatePlayBookmarkRequest=h,e.validateAddBookmarkRequest=y,e.validateApplyBookmarkByNameRequest=m,e.validateApplyBookmarkStateRequest=V,e.validateSettings=g,e.validatePanes=w,e.validateBookmarksPane=b,e.validateFiltersPane=P,e.validateFieldsPane=S,e.validatePageNavigationPane=E,e.validateSelectionPane=T,e.validateSyncSlicersPane=O,e.validateVisualizationsPane=_,e.validateCustomPageSize=F,e.validateExtension=R,e.validateReportLoad=A,e.validateCreateReport=k,e.validateDashboardLoad=C,e.validateTileLoad=x,e.validatePage=M,e.validateFilter=I,e.validateSaveAsParameters=q,e.validateLoadQnaConfiguration=L,e.validateQnaInterpretInputData=j,e.validateExportDataRequest=N,e.validateVisualHeader=D,e.validateVisualSettings=U,e.validateCommandsSettings=B,e.validateCustomTheme=W},function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.Validators=void 0;var a=r(2),i=r(3),o=r(5),n=r(6),l=r(7),d=r(8),s=r(9),u=r(10),p=r(11),c=r(12),f=r(13),v=r(14),h=r(15),y=r(16),m=r(17),V=r(18),g=r(19),w=r(20),b=r(21),P=r(22),S=r(23),E=r(24),T=r(25),O=r(26),_=r(27);e.Validators={addBookmarkRequestValidator:new n.AddBookmarkRequestValidator,advancedFilterTypeValidator:new a.EnumValidator([0]),advancedFilterValidator:new l.AdvancedFilterValidator,anyArrayValidator:new a.ArrayValidator([new s.AnyOfValidator([new a.StringValidator,new a.NumberValidator,new a.BooleanValidator])]),anyFilterValidator:new s.AnyOfValidator([new l.BasicFilterValidator,new l.AdvancedFilterValidator,new l.IncludeExcludeFilterValidator,new l.NotSupportedFilterValidator,new l.RelativeDateFilterValidator,new l.TopNFilterValidator,new l.RelativeTimeFilterValidator]),anyValueValidator:new s.AnyOfValidator([new a.StringValidator,new a.NumberValidator,new a.BooleanValidator]),actionBarValidator:new _.ActionBarValidator,applyBookmarkByNameRequestValidator:new n.ApplyBookmarkByNameRequestValidator,applyBookmarkStateRequestValidator:new n.ApplyBookmarkStateRequestValidator,applyBookmarkValidator:new s.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 s.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 V.CustomLayoutValidator,customPageSizeValidator:new v.CustomPageSizeValidator,customThemeValidator:new E.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 d.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 s.AnyOfValidator([new l.FilterColumnTargetValidator,new l.FilterHierarchyTargetValidator,new l.FilterMeasureTargetValidator]),filtersArrayValidator:new a.ArrayValidator([new s.AnyOfValidator([new l.BasicFilterValidator,new l.AdvancedFilterValidator,new l.RelativeDateFilterValidator,new l.RelativeTimeFilterValidator])]),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 h.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 v.PageSizeValidator,pageValidator:new v.PageValidator,pageViewFieldValidator:new v.PageViewFieldValidator,pagesLayoutValidator:new m.MapValidator([new a.StringValidator],[new V.PageLayoutValidator]),reportBarsValidator:new _.ReportBarsValidator,reportPanesValidator:new O.ReportPanesValidator,permissionsValidator:new a.EnumValidator([0,1,2,4,7]),playBookmarkRequestValidator:new n.PlayBookmarkRequestValidator,qnaInterpretInputDataValidator:new h.QnaInterpretInputDataValidator,qnaSettingValidator:new h.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 S.SingleCommandSettingsValidator,slicerSelectorValidator:new s.AnyOfValidator([new w.VisualSelectorValidator,new w.SlicerTargetSelectorValidator]),slicerStateValidator:new b.SlicerStateValidator,slicerTargetValidator:new s.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 s.AnyOfValidator([new w.VisualSelectorValidator,new w.VisualTypeSelectorValidator]),visualHeaderSelectorValidator:new s.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}),e.NumberArrayValidator=e.BooleanArrayValidator=e.StringArrayValidator=e.EnumValidator=e.SchemaValidator=e.ValueValidator=e.NumberValidator=e.BooleanValidator=e.StringValidator=e.TypeValidator=e.ArrayValidator=e.ObjectValidator=void 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 s(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=d,e.addParamToUrl=s,e.isSavedInternal=u,e.isRDLEmbed=p,e.autoAuthInEmbedUrl=c,e.getRandomValue=f},function(t,e){var r={version:"2.13.3",type:"js"};Object.defineProperty(e,"__esModule",{value:!0}),e["default"]=r},function(t,e,r){/*! powerbi-models v1.4.0 | (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 d(t){return!(!(t.table&&t.hierarchy&&t.hierarchyLevel)||t.aggregationFunction)}function s(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 v(t){var r=e.Validators.slicerStateValidator.validate(t);return r?r.map(p):void 0}function h(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 S(t){var r=e.Validators.fieldsPanesValidator.validate(t);return r?r.map(p):void 0}function E(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 F(t){var r=e.Validators.customPageSizeValidator.validate(t);return r?r.map(p):void 0}function R(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 C(t){var r=e.Validators.reportCreateValidator.validate(t);return r?r.map(p):void 0}function k(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 L(t){var r=e.Validators.loadQnaValidator.validate(t);return r?r.map(p):void 0}function j(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 D(t){var r=e.Validators.visualHeaderValidator.validate(t);return r?r.map(p):void 0}function U(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 H(t){var r=e.Validators.customThemeValidator.validate(t);return r?r.map(p):void 0}var W=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.validateCustomTheme=e.validateCommandsSettings=e.validateVisualSettings=e.validateVisualHeader=e.validateExportDataRequest=e.validateQnaInterpretInputData=e.validateLoadQnaConfiguration=e.validateSaveAsParameters=e.validateFilter=e.validatePage=e.validateTileLoad=e.validateDashboardLoad=e.validateCreateReport=e.validateReportLoad=e.validateExtension=e.validateCustomPageSize=e.validateVisualizationsPane=e.validateSyncSlicersPane=e.validateSelectionPane=e.validatePageNavigationPane=e.validateFieldsPane=e.validateFiltersPane=e.validateBookmarksPane=e.validatePanes=e.validateSettings=e.validateApplyBookmarkStateRequest=e.validateApplyBookmarkByNameRequest=e.validateAddBookmarkRequest=e.validatePlayBookmarkRequest=e.validateSlicerState=e.validateSlicer=e.validateVisualSelector=e.VisualDataRoleKindPreference=e.VisualDataRoleKind=e.CommandDisplayOption=e.SlicerTargetSelector=e.VisualTypeSelector=e.VisualSelector=e.PageSelector=e.Selector=e.SortDirection=e.LegendPosition=e.TextAlignment=e.CommonErrorCodes=e.BookmarksPlayMode=e.ExportDataType=e.QnaMode=e.isColumnAggr=e.isHierarchyLevelAggr=e.isHierarchyLevel=e.isColumn=e.isMeasure=e.getFilterType=e.isBasicFilterWithKeys=e.isFilterKeyColumnsTarget=e.AdvancedFilter=e.TupleFilter=e.BasicFilterWithKeys=e.BasicFilter=e.RelativeTimeFilter=e.RelativeDateFilter=e.TopNFilter=e.IncludeExcludeFilter=e.NotSupportedFilter=e.Filter=e.RelativeDateOperators=e.RelativeDateFilterTimeUnit=e.FilterType=e.FiltersLevel=e.MenuLocation=e.ContrastMode=e.TokenType=e.ViewMode=e.Permissions=e.SectionVisibility=e.HyperlinkClickBehavior=e.LayoutType=e.VisualContainerDisplayMode=e.BackgroundType=e.DisplayOption=e.PageSizeType=e.TraceType=e.Validators=void 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 Q;!function(t){t[t.FitToPage=0]="FitToPage",t[t.FitToWidth=1]="FitToWidth",t[t.ActualSize=2]="ActualSize"}(Q=e.DisplayOption||(e.DisplayOption={}));var Y;!function(t){t[t.Default=0]="Default",t[t.Transparent=1]="Transparent"}(Y=e.BackgroundType||(e.BackgroundType={}));var K;!function(t){t[t.Visible=0]="Visible",t[t.Hidden=1]="Hidden"}(K=e.VisualContainerDisplayMode||(e.VisualContainerDisplayMode={}));var G;!function(t){t[t.Master=0]="Master",t[t.Custom=1]="Custom",t[t.MobilePortrait=2]="MobilePortrait",t[t.MobileLandscape=3]="MobileLandscape"}(G=e.LayoutType||(e.LayoutType={}));var $;!function(t){t[t.Navigate=0]="Navigate",t[t.NavigateAndRaiseEvent=1]="NavigateAndRaiseEvent",t[t.RaiseEvent=2]="RaiseEvent"}($=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 dt=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=dt;var st=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 W(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}(dt);e.NotSupportedFilter=st;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 W(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}(dt);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 W(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}(dt);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 W(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}(dt);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 W(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}(dt);e.RelativeTimeFilter=ft;var vt=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 W(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}(dt);e.AdvancedFilter=mt,e.isFilterKeyColumnsTarget=a,e.isBasicFilterWithKeys=i,e.getFilterType=o,e.isMeasure=n,e.isColumn=l,e.isHierarchyLevel=d,e.isHierarchyLevelAggr=s,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 St=function(t){function e(r){var a=t.call(this,e.schemaUrl)||this;return a.pageName=r,a}return W(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=St;var Et=function(t){function e(r){var a=t.call(this,e.schemaUrl)||this;return a.visualName=r,a}return W(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=Et;var Tt=function(t){function e(e){var r=t.call(this,Et.schemaUrl)||this;return r.visualType=e,r}return W(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,Et.schemaUrl)||this;return r.target=e,r}return W(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 Ft;!function(t){t[t.Grouping=0]="Grouping",t[t.Measure=1]="Measure",t[t.GroupingOrMeasure=2]="GroupingOrMeasure"}(Ft=e.VisualDataRoleKind||(e.VisualDataRoleKind={}));var Rt;!function(t){t[t.Measure=0]="Measure",t[t.Grouping=1]="Grouping"}(Rt=e.VisualDataRoleKindPreference||(e.VisualDataRoleKindPreference={})),e.validateVisualSelector=c,e.validateSlicer=f,e.validateSlicerState=v,e.validatePlayBookmarkRequest=h,e.validateAddBookmarkRequest=y,e.validateApplyBookmarkByNameRequest=m,e.validateApplyBookmarkStateRequest=V,e.validateSettings=g,e.validatePanes=w,e.validateBookmarksPane=b,e.validateFiltersPane=P,e.validateFieldsPane=S,e.validatePageNavigationPane=E,e.validateSelectionPane=T,e.validateSyncSlicersPane=O,e.validateVisualizationsPane=_,e.validateCustomPageSize=F,e.validateExtension=R,e.validateReportLoad=A,e.validateCreateReport=C,e.validateDashboardLoad=k,e.validateTileLoad=x,e.validatePage=M,e.validateFilter=I,e.validateSaveAsParameters=q,e.validateLoadQnaConfiguration=L,e.validateQnaInterpretInputData=j,e.validateExportDataRequest=N,e.validateVisualHeader=D,e.validateVisualSettings=U,e.validateCommandsSettings=B,e.validateCustomTheme=H},function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.Validators=void 0;var a=r(2),i=r(3),o=r(5),n=r(6),l=r(7),d=r(8),s=r(9),u=r(10),p=r(11),c=r(12),f=r(13),v=r(14),h=r(15),y=r(16),m=r(17),V=r(18),g=r(19),w=r(20),b=r(21),P=r(22),S=r(23),E=r(24),T=r(25),O=r(26),_=r(27);e.Validators={addBookmarkRequestValidator:new n.AddBookmarkRequestValidator,advancedFilterTypeValidator:new a.EnumValidator([0]),advancedFilterValidator:new l.AdvancedFilterValidator,anyArrayValidator:new a.ArrayValidator([new s.AnyOfValidator([new a.StringValidator,new a.NumberValidator,new a.BooleanValidator])]),anyFilterValidator:new s.AnyOfValidator([new l.BasicFilterValidator,new l.AdvancedFilterValidator,new l.IncludeExcludeFilterValidator,new l.NotSupportedFilterValidator,new l.RelativeDateFilterValidator,new l.TopNFilterValidator,new l.RelativeTimeFilterValidator]),anyValueValidator:new s.AnyOfValidator([new a.StringValidator,new a.NumberValidator,new a.BooleanValidator]),actionBarValidator:new _.ActionBarValidator,applyBookmarkByNameRequestValidator:new n.ApplyBookmarkByNameRequestValidator,applyBookmarkStateRequestValidator:new n.ApplyBookmarkStateRequestValidator,applyBookmarkValidator:new s.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 s.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 V.CustomLayoutValidator,customPageSizeValidator:new v.CustomPageSizeValidator,customThemeValidator:new E.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 d.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 s.AnyOfValidator([new l.FilterColumnTargetValidator,new l.FilterHierarchyTargetValidator,new l.FilterMeasureTargetValidator]),filtersArrayValidator:new a.ArrayValidator([new s.AnyOfValidator([new l.BasicFilterValidator,new l.AdvancedFilterValidator,new l.RelativeDateFilterValidator,new l.RelativeTimeFilterValidator])]),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 h.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 v.PageSizeValidator,pageValidator:new v.PageValidator,pageViewFieldValidator:new v.PageViewFieldValidator,pagesLayoutValidator:new m.MapValidator([new a.StringValidator],[new V.PageLayoutValidator]),reportBarsValidator:new _.ReportBarsValidator,reportPanesValidator:new O.ReportPanesValidator,permissionsValidator:new a.EnumValidator([0,1,2,4,7]),playBookmarkRequestValidator:new n.PlayBookmarkRequestValidator,qnaInterpretInputDataValidator:new h.QnaInterpretInputDataValidator,qnaSettingValidator:new h.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 S.SingleCommandSettingsValidator,slicerSelectorValidator:new s.AnyOfValidator([new w.VisualSelectorValidator,new w.SlicerTargetSelectorValidator]),slicerStateValidator:new b.SlicerStateValidator,slicerTargetValidator:new s.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 s.AnyOfValidator([new w.VisualSelectorValidator,new w.VisualTypeSelectorValidator]),visualHeaderSelectorValidator:new s.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}),e.NumberArrayValidator=e.BooleanArrayValidator=e.StringArrayValidator=e.EnumValidator=e.SchemaValidator=e.ValueValidator=e.NumberValidator=e.BooleanValidator=e.StringValidator=e.TypeValidator=e.ArrayValidator=e.ObjectValidator=void 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;anode.firstChild; } diff --git a/src/service.ts b/src/service.ts index 28be3bdc..4ed64281 100644 --- a/src/service.ts +++ b/src/service.ts @@ -72,6 +72,8 @@ export interface IServiceConfiguration extends IDebugOptions { export interface IService { hpm: hpm.HttpPostMessage; + preComponentCreation: (frame: HTMLIFrameElement) => void; + customEventHandler: (event: IEvent) => void; } /** @@ -124,6 +126,14 @@ export class Service implements IService { * @hidden */ wpmp: wpmp.WindowPostMessageProxy; + /** An external function used to add custom functionality to embed setIframe. Used in playground safe-eval. + * @hidden + */ + public preComponentCreation: (frame: HTMLIFrameElement) => void = null; + /** A custom event handler used to override the SDK default event handler. Used in playground safe-eval. + * @hidden + */ + public customEventHandler: (event: IEvent) => void = null; private router: router.Router; private uniqueSessionId: string; @@ -532,6 +542,11 @@ export class Service implements IService { * @hidden */ private handleEvent(event: IEvent): void { + if (this.customEventHandler != null) { + this.customEventHandler(event); + return; + } + let embed = utils.find(embed => { return (embed.config.uniqueId === event.id); }, this.embeds); From ae2f11e46205f4ddc28c7a3ad0656d8a3ed098fc Mon Sep 17 00:00:00 2001 From: Shahak Yosef Date: Wed, 22 Jul 2020 11:33:19 +0000 Subject: [PATCH 019/125] Merged PR 101370: Remove default report settings Remove default report settings --- dist/powerbi-client.d.ts | 17 +++++---- dist/powerbi.js | 74 +++++++++++++++------------------------- dist/powerbi.min.js | 10 +++--- package.json | 2 +- src/config.ts | 2 +- src/defaults.ts | 4 --- src/embed.ts | 1 - src/report.ts | 5 ++- 8 files changed, 44 insertions(+), 71 deletions(-) diff --git a/dist/powerbi-client.d.ts b/dist/powerbi-client.d.ts index 6c39fd6f..e25692cf 100644 --- a/dist/powerbi-client.d.ts +++ b/dist/powerbi-client.d.ts @@ -1,4 +1,4 @@ -/*! powerbi-client v2.13.3 | (c) 2016 Microsoft Corporation MIT */ +/*! powerbi-client v2.14.0 | (c) 2016 Microsoft Corporation MIT */ declare module "util" { import { HttpPostMessage } from 'http-post-message'; /** @@ -102,14 +102,6 @@ declare module "config" { }; export default config; } -declare module "defaults" { - import * as models from 'powerbi-models'; - /** @hidden */ - export abstract class Defaults { - static defaultSettings: models.ISettings; - static defaultQnaSettings: models.IQnaSettings; - } -} declare module "errors" { export let APINotSupportedForRDLError: string; export let EmbedUrlNotSupported: string; @@ -1216,6 +1208,13 @@ declare module "report" { private isMobileSettings(settings); } } +declare module "defaults" { + import * as models from 'powerbi-models'; + /** @hidden */ + export abstract class Defaults { + static defaultQnaSettings: models.IQnaSettings; + } +} declare module "create" { import * as service from "service"; import * as models from 'powerbi-models'; diff --git a/dist/powerbi.js b/dist/powerbi.js index 8e782201..0791b363 100644 --- a/dist/powerbi.js +++ b/dist/powerbi.js @@ -1,4 +1,4 @@ -/*! powerbi-client v2.13.3 | (c) 2016 Microsoft Corporation MIT */ +/*! powerbi-client v2.14.0 | (c) 2016 Microsoft Corporation MIT */ (function webpackUniversalModuleDefinition(root, factory) { if(typeof exports === 'object' && typeof module === 'object') module.exports = factory(); @@ -60,23 +60,23 @@ return /******/ (function(modules) { // webpackBootstrap */ var service = __webpack_require__(1); exports.service = service; - var factories = __webpack_require__(17); + var factories = __webpack_require__(16); exports.factories = factories; var models = __webpack_require__(5); exports.models = models; var report_1 = __webpack_require__(7); exports.Report = report_1.Report; - var dashboard_1 = __webpack_require__(13); + var dashboard_1 = __webpack_require__(12); exports.Dashboard = dashboard_1.Dashboard; - var tile_1 = __webpack_require__(14); + var tile_1 = __webpack_require__(13); exports.Tile = tile_1.Tile; var embed_1 = __webpack_require__(2); exports.Embed = embed_1.Embed; var page_1 = __webpack_require__(8); exports.Page = page_1.Page; - var qna_1 = __webpack_require__(15); + var qna_1 = __webpack_require__(14); exports.Qna = qna_1.Qna; - var visual_1 = __webpack_require__(16); + var visual_1 = __webpack_require__(15); exports.Visual = visual_1.Visual; var visualDescriptor_1 = __webpack_require__(9); exports.VisualDescriptor = visualDescriptor_1.VisualDescriptor; @@ -95,12 +95,12 @@ return /******/ (function(modules) { // webpackBootstrap var embed = __webpack_require__(2); var report_1 = __webpack_require__(7); - var create_1 = __webpack_require__(12); - var dashboard_1 = __webpack_require__(13); - var tile_1 = __webpack_require__(14); + var create_1 = __webpack_require__(11); + var dashboard_1 = __webpack_require__(12); + var tile_1 = __webpack_require__(13); var page_1 = __webpack_require__(8); - var qna_1 = __webpack_require__(15); - var visual_1 = __webpack_require__(16); + var qna_1 = __webpack_require__(14); + var visual_1 = __webpack_require__(15); var utils = __webpack_require__(3); /** * The Power BI Service embed component, which is the entry point to embed all other Power BI components into your application @@ -1301,7 +1301,7 @@ return /******/ (function(modules) { // webpackBootstrap /** @ignore */ /** */ var config = { - version: '2.13.3', + version: '2.14.0', type: 'js' }; Object.defineProperty(exports, "__esModule", { value: true }); @@ -5285,8 +5285,7 @@ return /******/ (function(modules) { // webpackBootstrap var utils = __webpack_require__(3); var errors = __webpack_require__(6); var page_1 = __webpack_require__(8); - var defaults_1 = __webpack_require__(10); - var bookmarksManager_1 = __webpack_require__(11); + var bookmarksManager_1 = __webpack_require__(10); /** * The Power BI Report embed component * @@ -5610,8 +5609,8 @@ return /******/ (function(modules) { // webpackBootstrap var filterPaneEnabledAttribute = this.element.getAttribute(Report.filterPaneEnabledAttribute); var navContentPaneEnabledAttribute = this.element.getAttribute(Report.navContentPaneEnabledAttribute); var elementAttrSettings = { - filterPaneEnabled: (filterPaneEnabledAttribute == null) ? defaults_1.Defaults.defaultSettings.filterPaneEnabled : (filterPaneEnabledAttribute !== "false"), - navContentPaneEnabled: (navContentPaneEnabledAttribute == null) ? defaults_1.Defaults.defaultSettings.navContentPaneEnabled : (navContentPaneEnabledAttribute !== "false") + filterPaneEnabled: (filterPaneEnabledAttribute == null) ? undefined : (filterPaneEnabledAttribute !== "false"), + navContentPaneEnabled: (navContentPaneEnabledAttribute == null) ? undefined : (navContentPaneEnabledAttribute !== "false") }; // Set the settings back into the config. this.config.settings = utils.assign({}, elementAttrSettings, config.settings); @@ -6124,25 +6123,6 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }), /* 10 */ -/***/ (function(module, exports) { - - /** @hidden */ - var Defaults = (function () { - function Defaults() { - } - Defaults.defaultSettings = { - filterPaneEnabled: true - }; - Defaults.defaultQnaSettings = { - filterPaneEnabled: false - }; - return Defaults; - }()); - exports.Defaults = Defaults; - - -/***/ }), -/* 11 */ /***/ (function(module, exports, __webpack_require__) { var utils = __webpack_require__(3); @@ -6273,7 +6253,7 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }), -/* 12 */ +/* 11 */ /***/ (function(module, exports, __webpack_require__) { var __extends = (this && this.__extends) || function (d, b) { @@ -6382,7 +6362,7 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }), -/* 13 */ +/* 12 */ /***/ (function(module, exports, __webpack_require__) { var __extends = (this && this.__extends) || function (d, b) { @@ -6500,7 +6480,7 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }), -/* 14 */ +/* 13 */ /***/ (function(module, exports, __webpack_require__) { var __extends = (this && this.__extends) || function (d, b) { @@ -6595,7 +6575,7 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }), -/* 15 */ +/* 14 */ /***/ (function(module, exports, __webpack_require__) { var __extends = (this && this.__extends) || function (d, b) { @@ -6677,7 +6657,7 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }), -/* 16 */ +/* 15 */ /***/ (function(module, exports, __webpack_require__) { var __extends = (this && this.__extends) || function (d, b) { @@ -6858,13 +6838,13 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }), -/* 17 */ +/* 16 */ /***/ (function(module, exports, __webpack_require__) { var config_1 = __webpack_require__(4); - var wpmp = __webpack_require__(18); - var hpm = __webpack_require__(19); - var router = __webpack_require__(20); + var wpmp = __webpack_require__(17); + var hpm = __webpack_require__(18); + var router = __webpack_require__(19); exports.hpmFactory = function (wpmp, defaultTargetWindow, sdkVersion, sdkType) { if (sdkVersion === void 0) { sdkVersion = config_1.default.version; } if (sdkType === void 0) { sdkType = config_1.default.type; } @@ -6892,7 +6872,7 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }), -/* 18 */ +/* 17 */ /***/ (function(module, exports, __webpack_require__) { /*! window-post-message-proxy v0.2.6 | (c) 2016 Microsoft Corporation MIT */ @@ -7196,7 +7176,7 @@ return /******/ (function(modules) { // webpackBootstrap //# sourceMappingURL=windowPostMessageProxy.js.map /***/ }), -/* 19 */ +/* 18 */ /***/ (function(module, exports, __webpack_require__) { /*! http-post-message v0.2.3 | (c) 2016 Microsoft Corporation MIT */ @@ -7380,7 +7360,7 @@ return /******/ (function(modules) { // webpackBootstrap //# sourceMappingURL=httpPostMessage.js.map /***/ }), -/* 20 */ +/* 19 */ /***/ (function(module, exports, __webpack_require__) { /*! powerbi-router v0.1.5 | (c) 2016 Microsoft Corporation MIT */ diff --git a/dist/powerbi.min.js b/dist/powerbi.min.js index 918bcce9..6175e3e3 100644 --- a/dist/powerbi.min.js +++ b/dist/powerbi.min.js @@ -1,9 +1,9 @@ -/*! powerbi-client v2.13.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(7);e.Report=n.Report;var l=r(13);e.Dashboard=l.Dashboard;var d=r(14);e.Tile=d.Tile;var s=r(2);e.Embed=s.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 v=new a.Service(i.hpmFactory,i.wpmpFactory,i.routerFactory);window.powerbi=v},function(t,e,r){var a=r(2),i=r(7),o=r(12),n=r(13),l=r(14),d=r(8),s=r(15),u=r(16),p=r(3),c=function(){function t(e,r,a,i){var o=this;void 0===i&&(i={}),this.preComponentCreation=null,this.customEventHandler=null,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 d=p.find(function(t){return l===t.type.toLowerCase()},t.components);if(!d)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 s=new d(this,e,r,o,n);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),(!1),t.powerBiEmbed.iframe);return a.populateConfig(e,!1),o.load(),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(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){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){if(null!=this.customEventHandler)return void this.customEventHandler(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 d.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,s.Qna,u.Visual],t.defaultConfig={autoEmbedOnContentLoaded:!1,onError:function(){for(var t=[],e=0;e>=4,r.toString(16)})}function s(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=d,e.addParamToUrl=s,e.isSavedInternal=u,e.isRDLEmbed=p,e.autoAuthInEmbedUrl=c,e.getRandomValue=f},function(t,e){var r={version:"2.13.3",type:"js"};Object.defineProperty(e,"__esModule",{value:!0}),e["default"]=r},function(t,e,r){/*! powerbi-models v1.4.0 | (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 d(t){return!(!(t.table&&t.hierarchy&&t.hierarchyLevel)||t.aggregationFunction)}function s(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 v(t){var r=e.Validators.slicerStateValidator.validate(t);return r?r.map(p):void 0}function h(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 S(t){var r=e.Validators.fieldsPanesValidator.validate(t);return r?r.map(p):void 0}function E(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 F(t){var r=e.Validators.customPageSizeValidator.validate(t);return r?r.map(p):void 0}function R(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 C(t){var r=e.Validators.reportCreateValidator.validate(t);return r?r.map(p):void 0}function k(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 L(t){var r=e.Validators.loadQnaValidator.validate(t);return r?r.map(p):void 0}function j(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 D(t){var r=e.Validators.visualHeaderValidator.validate(t);return r?r.map(p):void 0}function U(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 H(t){var r=e.Validators.customThemeValidator.validate(t);return r?r.map(p):void 0}var W=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.validateCustomTheme=e.validateCommandsSettings=e.validateVisualSettings=e.validateVisualHeader=e.validateExportDataRequest=e.validateQnaInterpretInputData=e.validateLoadQnaConfiguration=e.validateSaveAsParameters=e.validateFilter=e.validatePage=e.validateTileLoad=e.validateDashboardLoad=e.validateCreateReport=e.validateReportLoad=e.validateExtension=e.validateCustomPageSize=e.validateVisualizationsPane=e.validateSyncSlicersPane=e.validateSelectionPane=e.validatePageNavigationPane=e.validateFieldsPane=e.validateFiltersPane=e.validateBookmarksPane=e.validatePanes=e.validateSettings=e.validateApplyBookmarkStateRequest=e.validateApplyBookmarkByNameRequest=e.validateAddBookmarkRequest=e.validatePlayBookmarkRequest=e.validateSlicerState=e.validateSlicer=e.validateVisualSelector=e.VisualDataRoleKindPreference=e.VisualDataRoleKind=e.CommandDisplayOption=e.SlicerTargetSelector=e.VisualTypeSelector=e.VisualSelector=e.PageSelector=e.Selector=e.SortDirection=e.LegendPosition=e.TextAlignment=e.CommonErrorCodes=e.BookmarksPlayMode=e.ExportDataType=e.QnaMode=e.isColumnAggr=e.isHierarchyLevelAggr=e.isHierarchyLevel=e.isColumn=e.isMeasure=e.getFilterType=e.isBasicFilterWithKeys=e.isFilterKeyColumnsTarget=e.AdvancedFilter=e.TupleFilter=e.BasicFilterWithKeys=e.BasicFilter=e.RelativeTimeFilter=e.RelativeDateFilter=e.TopNFilter=e.IncludeExcludeFilter=e.NotSupportedFilter=e.Filter=e.RelativeDateOperators=e.RelativeDateFilterTimeUnit=e.FilterType=e.FiltersLevel=e.MenuLocation=e.ContrastMode=e.TokenType=e.ViewMode=e.Permissions=e.SectionVisibility=e.HyperlinkClickBehavior=e.LayoutType=e.VisualContainerDisplayMode=e.BackgroundType=e.DisplayOption=e.PageSizeType=e.TraceType=e.Validators=void 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 Q;!function(t){t[t.FitToPage=0]="FitToPage",t[t.FitToWidth=1]="FitToWidth",t[t.ActualSize=2]="ActualSize"}(Q=e.DisplayOption||(e.DisplayOption={}));var Y;!function(t){t[t.Default=0]="Default",t[t.Transparent=1]="Transparent"}(Y=e.BackgroundType||(e.BackgroundType={}));var K;!function(t){t[t.Visible=0]="Visible",t[t.Hidden=1]="Hidden"}(K=e.VisualContainerDisplayMode||(e.VisualContainerDisplayMode={}));var G;!function(t){t[t.Master=0]="Master",t[t.Custom=1]="Custom",t[t.MobilePortrait=2]="MobilePortrait",t[t.MobileLandscape=3]="MobileLandscape"}(G=e.LayoutType||(e.LayoutType={}));var $;!function(t){t[t.Navigate=0]="Navigate",t[t.NavigateAndRaiseEvent=1]="NavigateAndRaiseEvent",t[t.RaiseEvent=2]="RaiseEvent"}($=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 dt=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=dt;var st=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 W(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}(dt);e.NotSupportedFilter=st;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 W(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}(dt);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 W(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}(dt);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 W(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}(dt);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 W(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}(dt);e.RelativeTimeFilter=ft;var vt=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 W(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}(dt);e.AdvancedFilter=mt,e.isFilterKeyColumnsTarget=a,e.isBasicFilterWithKeys=i,e.getFilterType=o,e.isMeasure=n,e.isColumn=l,e.isHierarchyLevel=d,e.isHierarchyLevelAggr=s,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 St=function(t){function e(r){var a=t.call(this,e.schemaUrl)||this;return a.pageName=r,a}return W(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=St;var Et=function(t){function e(r){var a=t.call(this,e.schemaUrl)||this;return a.visualName=r,a}return W(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=Et;var Tt=function(t){function e(e){var r=t.call(this,Et.schemaUrl)||this;return r.visualType=e,r}return W(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,Et.schemaUrl)||this;return r.target=e,r}return W(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 Ft;!function(t){t[t.Grouping=0]="Grouping",t[t.Measure=1]="Measure",t[t.GroupingOrMeasure=2]="GroupingOrMeasure"}(Ft=e.VisualDataRoleKind||(e.VisualDataRoleKind={}));var Rt;!function(t){t[t.Measure=0]="Measure",t[t.Grouping=1]="Grouping"}(Rt=e.VisualDataRoleKindPreference||(e.VisualDataRoleKindPreference={})),e.validateVisualSelector=c,e.validateSlicer=f,e.validateSlicerState=v,e.validatePlayBookmarkRequest=h,e.validateAddBookmarkRequest=y,e.validateApplyBookmarkByNameRequest=m,e.validateApplyBookmarkStateRequest=V,e.validateSettings=g,e.validatePanes=w,e.validateBookmarksPane=b,e.validateFiltersPane=P,e.validateFieldsPane=S,e.validatePageNavigationPane=E,e.validateSelectionPane=T,e.validateSyncSlicersPane=O,e.validateVisualizationsPane=_,e.validateCustomPageSize=F,e.validateExtension=R,e.validateReportLoad=A,e.validateCreateReport=C,e.validateDashboardLoad=k,e.validateTileLoad=x,e.validatePage=M,e.validateFilter=I,e.validateSaveAsParameters=q,e.validateLoadQnaConfiguration=L,e.validateQnaInterpretInputData=j,e.validateExportDataRequest=N,e.validateVisualHeader=D,e.validateVisualSettings=U,e.validateCommandsSettings=B,e.validateCustomTheme=H},function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.Validators=void 0;var a=r(2),i=r(3),o=r(5),n=r(6),l=r(7),d=r(8),s=r(9),u=r(10),p=r(11),c=r(12),f=r(13),v=r(14),h=r(15),y=r(16),m=r(17),V=r(18),g=r(19),w=r(20),b=r(21),P=r(22),S=r(23),E=r(24),T=r(25),O=r(26),_=r(27);e.Validators={addBookmarkRequestValidator:new n.AddBookmarkRequestValidator,advancedFilterTypeValidator:new a.EnumValidator([0]),advancedFilterValidator:new l.AdvancedFilterValidator,anyArrayValidator:new a.ArrayValidator([new s.AnyOfValidator([new a.StringValidator,new a.NumberValidator,new a.BooleanValidator])]),anyFilterValidator:new s.AnyOfValidator([new l.BasicFilterValidator,new l.AdvancedFilterValidator,new l.IncludeExcludeFilterValidator,new l.NotSupportedFilterValidator,new l.RelativeDateFilterValidator,new l.TopNFilterValidator,new l.RelativeTimeFilterValidator]),anyValueValidator:new s.AnyOfValidator([new a.StringValidator,new a.NumberValidator,new a.BooleanValidator]),actionBarValidator:new _.ActionBarValidator,applyBookmarkByNameRequestValidator:new n.ApplyBookmarkByNameRequestValidator,applyBookmarkStateRequestValidator:new n.ApplyBookmarkStateRequestValidator,applyBookmarkValidator:new s.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 s.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 V.CustomLayoutValidator,customPageSizeValidator:new v.CustomPageSizeValidator,customThemeValidator:new E.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 d.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 s.AnyOfValidator([new l.FilterColumnTargetValidator,new l.FilterHierarchyTargetValidator,new l.FilterMeasureTargetValidator]),filtersArrayValidator:new a.ArrayValidator([new s.AnyOfValidator([new l.BasicFilterValidator,new l.AdvancedFilterValidator,new l.RelativeDateFilterValidator,new l.RelativeTimeFilterValidator])]),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 h.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 v.PageSizeValidator,pageValidator:new v.PageValidator,pageViewFieldValidator:new v.PageViewFieldValidator,pagesLayoutValidator:new m.MapValidator([new a.StringValidator],[new V.PageLayoutValidator]),reportBarsValidator:new _.ReportBarsValidator,reportPanesValidator:new O.ReportPanesValidator,permissionsValidator:new a.EnumValidator([0,1,2,4,7]),playBookmarkRequestValidator:new n.PlayBookmarkRequestValidator,qnaInterpretInputDataValidator:new h.QnaInterpretInputDataValidator,qnaSettingValidator:new h.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 S.SingleCommandSettingsValidator,slicerSelectorValidator:new s.AnyOfValidator([new w.VisualSelectorValidator,new w.SlicerTargetSelectorValidator]),slicerStateValidator:new b.SlicerStateValidator,slicerTargetValidator:new s.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 s.AnyOfValidator([new w.VisualSelectorValidator,new w.VisualTypeSelectorValidator]),visualHeaderSelectorValidator:new s.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}),e.NumberArrayValidator=e.BooleanArrayValidator=e.StringArrayValidator=e.EnumValidator=e.SchemaValidator=e.ValueValidator=e.NumberValidator=e.BooleanValidator=e.StringValidator=e.TypeValidator=e.ArrayValidator=e.ObjectValidator=void 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 s(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=d,e.addParamToUrl=s,e.isSavedInternal=u,e.isRDLEmbed=p,e.autoAuthInEmbedUrl=c,e.getRandomValue=f},function(t,e){var r={version:"2.14.0",type:"js"};Object.defineProperty(e,"__esModule",{value:!0}),e["default"]=r},function(t,e,r){/*! powerbi-models v1.4.0 | (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 d(t){return!(!(t.table&&t.hierarchy&&t.hierarchyLevel)||t.aggregationFunction)}function s(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 v(t){var r=e.Validators.slicerStateValidator.validate(t);return r?r.map(p):void 0}function h(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 S(t){var r=e.Validators.fieldsPanesValidator.validate(t);return r?r.map(p):void 0}function E(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 F(t){var r=e.Validators.customPageSizeValidator.validate(t);return r?r.map(p):void 0}function R(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 L(t){var r=e.Validators.loadQnaValidator.validate(t);return r?r.map(p):void 0}function j(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 D(t){var r=e.Validators.visualHeaderValidator.validate(t);return r?r.map(p):void 0}function U(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 H(t){var r=e.Validators.customThemeValidator.validate(t);return r?r.map(p):void 0}var W=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.validateCustomTheme=e.validateCommandsSettings=e.validateVisualSettings=e.validateVisualHeader=e.validateExportDataRequest=e.validateQnaInterpretInputData=e.validateLoadQnaConfiguration=e.validateSaveAsParameters=e.validateFilter=e.validatePage=e.validateTileLoad=e.validateDashboardLoad=e.validateCreateReport=e.validateReportLoad=e.validateExtension=e.validateCustomPageSize=e.validateVisualizationsPane=e.validateSyncSlicersPane=e.validateSelectionPane=e.validatePageNavigationPane=e.validateFieldsPane=e.validateFiltersPane=e.validateBookmarksPane=e.validatePanes=e.validateSettings=e.validateApplyBookmarkStateRequest=e.validateApplyBookmarkByNameRequest=e.validateAddBookmarkRequest=e.validatePlayBookmarkRequest=e.validateSlicerState=e.validateSlicer=e.validateVisualSelector=e.VisualDataRoleKindPreference=e.VisualDataRoleKind=e.CommandDisplayOption=e.SlicerTargetSelector=e.VisualTypeSelector=e.VisualSelector=e.PageSelector=e.Selector=e.SortDirection=e.LegendPosition=e.TextAlignment=e.CommonErrorCodes=e.BookmarksPlayMode=e.ExportDataType=e.QnaMode=e.isColumnAggr=e.isHierarchyLevelAggr=e.isHierarchyLevel=e.isColumn=e.isMeasure=e.getFilterType=e.isBasicFilterWithKeys=e.isFilterKeyColumnsTarget=e.AdvancedFilter=e.TupleFilter=e.BasicFilterWithKeys=e.BasicFilter=e.RelativeTimeFilter=e.RelativeDateFilter=e.TopNFilter=e.IncludeExcludeFilter=e.NotSupportedFilter=e.Filter=e.RelativeDateOperators=e.RelativeDateFilterTimeUnit=e.FilterType=e.FiltersLevel=e.MenuLocation=e.ContrastMode=e.TokenType=e.ViewMode=e.Permissions=e.SectionVisibility=e.HyperlinkClickBehavior=e.LayoutType=e.VisualContainerDisplayMode=e.BackgroundType=e.DisplayOption=e.PageSizeType=e.TraceType=e.Validators=void 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 Q;!function(t){t[t.FitToPage=0]="FitToPage",t[t.FitToWidth=1]="FitToWidth",t[t.ActualSize=2]="ActualSize"}(Q=e.DisplayOption||(e.DisplayOption={}));var Y;!function(t){t[t.Default=0]="Default",t[t.Transparent=1]="Transparent"}(Y=e.BackgroundType||(e.BackgroundType={}));var K;!function(t){t[t.Visible=0]="Visible",t[t.Hidden=1]="Hidden"}(K=e.VisualContainerDisplayMode||(e.VisualContainerDisplayMode={}));var G;!function(t){t[t.Master=0]="Master",t[t.Custom=1]="Custom",t[t.MobilePortrait=2]="MobilePortrait",t[t.MobileLandscape=3]="MobileLandscape"}(G=e.LayoutType||(e.LayoutType={}));var $;!function(t){t[t.Navigate=0]="Navigate",t[t.NavigateAndRaiseEvent=1]="NavigateAndRaiseEvent",t[t.RaiseEvent=2]="RaiseEvent"}($=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 dt=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=dt;var st=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 W(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}(dt);e.NotSupportedFilter=st;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 W(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}(dt);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 W(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}(dt);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 W(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}(dt);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 W(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}(dt);e.RelativeTimeFilter=ft;var vt=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 W(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}(dt);e.AdvancedFilter=mt,e.isFilterKeyColumnsTarget=a,e.isBasicFilterWithKeys=i,e.getFilterType=o,e.isMeasure=n,e.isColumn=l,e.isHierarchyLevel=d,e.isHierarchyLevelAggr=s,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 St=function(t){function e(r){var a=t.call(this,e.schemaUrl)||this;return a.pageName=r,a}return W(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=St;var Et=function(t){function e(r){var a=t.call(this,e.schemaUrl)||this;return a.visualName=r,a}return W(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=Et;var Tt=function(t){function e(e){var r=t.call(this,Et.schemaUrl)||this;return r.visualType=e,r}return W(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,Et.schemaUrl)||this;return r.target=e,r}return W(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 Ft;!function(t){t[t.Grouping=0]="Grouping",t[t.Measure=1]="Measure",t[t.GroupingOrMeasure=2]="GroupingOrMeasure"}(Ft=e.VisualDataRoleKind||(e.VisualDataRoleKind={}));var Rt;!function(t){t[t.Measure=0]="Measure",t[t.Grouping=1]="Grouping"}(Rt=e.VisualDataRoleKindPreference||(e.VisualDataRoleKindPreference={})),e.validateVisualSelector=c,e.validateSlicer=f,e.validateSlicerState=v,e.validatePlayBookmarkRequest=h,e.validateAddBookmarkRequest=y,e.validateApplyBookmarkByNameRequest=m,e.validateApplyBookmarkStateRequest=V,e.validateSettings=g,e.validatePanes=w,e.validateBookmarksPane=b,e.validateFiltersPane=P,e.validateFieldsPane=S,e.validatePageNavigationPane=E,e.validateSelectionPane=T,e.validateSyncSlicersPane=O,e.validateVisualizationsPane=_,e.validateCustomPageSize=F,e.validateExtension=R,e.validateReportLoad=A,e.validateCreateReport=k,e.validateDashboardLoad=C,e.validateTileLoad=x,e.validatePage=M,e.validateFilter=I,e.validateSaveAsParameters=q,e.validateLoadQnaConfiguration=L,e.validateQnaInterpretInputData=j,e.validateExportDataRequest=N,e.validateVisualHeader=D,e.validateVisualSettings=U,e.validateCommandsSettings=B,e.validateCustomTheme=H},function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.Validators=void 0;var a=r(2),i=r(3),o=r(5),n=r(6),l=r(7),d=r(8),s=r(9),u=r(10),p=r(11),c=r(12),f=r(13),v=r(14),h=r(15),y=r(16),m=r(17),V=r(18),g=r(19),w=r(20),b=r(21),P=r(22),S=r(23),E=r(24),T=r(25),O=r(26),_=r(27);e.Validators={addBookmarkRequestValidator:new n.AddBookmarkRequestValidator,advancedFilterTypeValidator:new a.EnumValidator([0]),advancedFilterValidator:new l.AdvancedFilterValidator,anyArrayValidator:new a.ArrayValidator([new s.AnyOfValidator([new a.StringValidator,new a.NumberValidator,new a.BooleanValidator])]),anyFilterValidator:new s.AnyOfValidator([new l.BasicFilterValidator,new l.AdvancedFilterValidator,new l.IncludeExcludeFilterValidator,new l.NotSupportedFilterValidator,new l.RelativeDateFilterValidator,new l.TopNFilterValidator,new l.RelativeTimeFilterValidator]),anyValueValidator:new s.AnyOfValidator([new a.StringValidator,new a.NumberValidator,new a.BooleanValidator]),actionBarValidator:new _.ActionBarValidator,applyBookmarkByNameRequestValidator:new n.ApplyBookmarkByNameRequestValidator,applyBookmarkStateRequestValidator:new n.ApplyBookmarkStateRequestValidator,applyBookmarkValidator:new s.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 s.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 V.CustomLayoutValidator,customPageSizeValidator:new v.CustomPageSizeValidator,customThemeValidator:new E.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 d.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 s.AnyOfValidator([new l.FilterColumnTargetValidator,new l.FilterHierarchyTargetValidator,new l.FilterMeasureTargetValidator]),filtersArrayValidator:new a.ArrayValidator([new s.AnyOfValidator([new l.BasicFilterValidator,new l.AdvancedFilterValidator,new l.RelativeDateFilterValidator,new l.RelativeTimeFilterValidator])]),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 h.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 v.PageSizeValidator,pageValidator:new v.PageValidator,pageViewFieldValidator:new v.PageViewFieldValidator,pagesLayoutValidator:new m.MapValidator([new a.StringValidator],[new V.PageLayoutValidator]),reportBarsValidator:new _.ReportBarsValidator,reportPanesValidator:new O.ReportPanesValidator,permissionsValidator:new a.EnumValidator([0,1,2,4,7]),playBookmarkRequestValidator:new n.PlayBookmarkRequestValidator,qnaInterpretInputDataValidator:new h.QnaInterpretInputDataValidator,qnaSettingValidator:new h.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 S.SingleCommandSettingsValidator,slicerSelectorValidator:new s.AnyOfValidator([new w.VisualSelectorValidator,new w.SlicerTargetSelectorValidator]),slicerStateValidator:new b.SlicerStateValidator,slicerTargetValidator:new s.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 s.AnyOfValidator([new w.VisualSelectorValidator,new w.VisualTypeSelectorValidator]),visualHeaderSelectorValidator:new s.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}),e.NumberArrayValidator=e.BooleanArrayValidator=e.StringArrayValidator=e.EnumValidator=e.SchemaValidator=e.ValueValidator=e.NumberValidator=e.BooleanValidator=e.StringValidator=e.TypeValidator=e.ArrayValidator=e.ObjectValidator=void 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)&&(d=!0,n=n.slice(0,l-2),r[n]||(r[n]=[])),i=o[1]?w(o[1]):""),d?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, 23 Jul 2020 07:58:08 +0000 Subject: [PATCH 020/125] Merged PR 101891: Temporarily revert safe eval playground changes We want to release a fix for the JS SDK but we don't want to include the playground safe eval changes. Temporarily reverting the PR so we can create a release. It will be checked-in again afterwards. --- dist/powerbi-client.d.ts | 10 ---------- dist/powerbi.js | 15 --------------- dist/powerbi.min.js | 6 +++--- src/embed.ts | 4 ---- src/service.ts | 15 --------------- 5 files changed, 3 insertions(+), 47 deletions(-) diff --git a/dist/powerbi-client.d.ts b/dist/powerbi-client.d.ts index e25692cf..60f1a770 100644 --- a/dist/powerbi-client.d.ts +++ b/dist/powerbi-client.d.ts @@ -1607,8 +1607,6 @@ declare module "service" { } export interface IService { hpm: hpm.HttpPostMessage; - preComponentCreation: (frame: HTMLIFrameElement) => void; - customEventHandler: (event: IEvent) => void; } /** * The Power BI Service embed component, which is the entry point to embed all other Power BI components into your application @@ -1645,14 +1643,6 @@ declare module "service" { * @hidden */ wpmp: wpmp.WindowPostMessageProxy; - /** An external function used to add custom functionality to embed setIframe. Used in playground safe-eval. - * @hidden - */ - preComponentCreation: (frame: HTMLIFrameElement) => void; - /** A custom event handler used to override the SDK default event handler. Used in playground safe-eval. - * @hidden - */ - customEventHandler: (event: IEvent) => void; private router; private uniqueSessionId; /** diff --git a/dist/powerbi.js b/dist/powerbi.js index 0791b363..cc15fdcc 100644 --- a/dist/powerbi.js +++ b/dist/powerbi.js @@ -122,14 +122,6 @@ return /******/ (function(modules) { // webpackBootstrap function Service(hpmFactory, wpmpFactory, routerFactory, config) { var _this = this; if (config === void 0) { config = {}; } - /** An external function used to add custom functionality to embed setIframe. Used in playground safe-eval. - * @hidden - */ - this.preComponentCreation = null; - /** A custom event handler used to override the SDK default event handler. Used in playground safe-eval. - * @hidden - */ - this.customEventHandler = null; this.wpmp = wpmpFactory(config.wpmpName, config.logMessages); this.hpm = hpmFactory(this.wpmp, null, config.version, config.type); this.router = routerFactory(this.wpmp); @@ -473,10 +465,6 @@ return /******/ (function(modules) { // webpackBootstrap * @hidden */ Service.prototype.handleEvent = function (event) { - if (this.customEventHandler != null) { - this.customEventHandler(event); - return; - } var embed = utils.find(function (embed) { return (embed.config.uniqueId === event.id); }, this.embeds); @@ -976,9 +964,6 @@ return /******/ (function(modules) { // webpackBootstrap while (node.firstChild) { node.removeChild(node.firstChild); } - if (this.service.preComponentCreation != null) { - this.service.preComponentCreation(iframeContent); - } node.appendChild(iframeContent); this.iframe = node.firstChild; } diff --git a/dist/powerbi.min.js b/dist/powerbi.min.js index 6175e3e3..bcda0014 100644 --- a/dist/powerbi.min.js +++ b/dist/powerbi.min.js @@ -1,9 +1,9 @@ /*! powerbi-client v2.14.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(16);e.factories=i;var o=r(5);e.models=o;var n=r(7);e.Report=n.Report;var l=r(12);e.Dashboard=l.Dashboard;var d=r(13);e.Tile=d.Tile;var s=r(2);e.Embed=s.Embed;var u=r(8);e.Page=u.Page;var p=r(14);e.Qna=p.Qna;var c=r(15);e.Visual=c.Visual;var f=r(9);e.VisualDescriptor=f.VisualDescriptor;var v=new a.Service(i.hpmFactory,i.wpmpFactory,i.routerFactory);window.powerbi=v},function(t,e,r){var a=r(2),i=r(7),o=r(11),n=r(12),l=r(13),d=r(8),s=r(14),u=r(15),p=r(3),c=function(){function t(e,r,a,i){var o=this;void 0===i&&(i={}),this.preComponentCreation=null,this.customEventHandler=null,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 d=p.find(function(t){return l===t.type.toLowerCase()},t.components);if(!d)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 s=new d(this,e,r,o,n);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),(!1),t.powerBiEmbed.iframe);return a.populateConfig(e,!1),o.load(),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(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){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){if(null!=this.customEventHandler)return void this.customEventHandler(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 d.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,s.Qna,u.Visual],t.defaultConfig={autoEmbedOnContentLoaded:!1,onError:function(){for(var t=[],e=0;e>=4,r.toString(16)})}function s(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=d,e.addParamToUrl=s,e.isSavedInternal=u,e.isRDLEmbed=p,e.autoAuthInEmbedUrl=c,e.getRandomValue=f},function(t,e){var r={version:"2.14.0",type:"js"};Object.defineProperty(e,"__esModule",{value:!0}),e["default"]=r},function(t,e,r){/*! powerbi-models v1.4.0 | (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 d(t){return!(!(t.table&&t.hierarchy&&t.hierarchyLevel)||t.aggregationFunction)}function s(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 v(t){var r=e.Validators.slicerStateValidator.validate(t);return r?r.map(p):void 0}function h(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 S(t){var r=e.Validators.fieldsPanesValidator.validate(t);return r?r.map(p):void 0}function E(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 F(t){var r=e.Validators.customPageSizeValidator.validate(t);return r?r.map(p):void 0}function R(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 L(t){var r=e.Validators.loadQnaValidator.validate(t);return r?r.map(p):void 0}function j(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 D(t){var r=e.Validators.visualHeaderValidator.validate(t);return r?r.map(p):void 0}function U(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 H(t){var r=e.Validators.customThemeValidator.validate(t);return r?r.map(p):void 0}var W=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.validateCustomTheme=e.validateCommandsSettings=e.validateVisualSettings=e.validateVisualHeader=e.validateExportDataRequest=e.validateQnaInterpretInputData=e.validateLoadQnaConfiguration=e.validateSaveAsParameters=e.validateFilter=e.validatePage=e.validateTileLoad=e.validateDashboardLoad=e.validateCreateReport=e.validateReportLoad=e.validateExtension=e.validateCustomPageSize=e.validateVisualizationsPane=e.validateSyncSlicersPane=e.validateSelectionPane=e.validatePageNavigationPane=e.validateFieldsPane=e.validateFiltersPane=e.validateBookmarksPane=e.validatePanes=e.validateSettings=e.validateApplyBookmarkStateRequest=e.validateApplyBookmarkByNameRequest=e.validateAddBookmarkRequest=e.validatePlayBookmarkRequest=e.validateSlicerState=e.validateSlicer=e.validateVisualSelector=e.VisualDataRoleKindPreference=e.VisualDataRoleKind=e.CommandDisplayOption=e.SlicerTargetSelector=e.VisualTypeSelector=e.VisualSelector=e.PageSelector=e.Selector=e.SortDirection=e.LegendPosition=e.TextAlignment=e.CommonErrorCodes=e.BookmarksPlayMode=e.ExportDataType=e.QnaMode=e.isColumnAggr=e.isHierarchyLevelAggr=e.isHierarchyLevel=e.isColumn=e.isMeasure=e.getFilterType=e.isBasicFilterWithKeys=e.isFilterKeyColumnsTarget=e.AdvancedFilter=e.TupleFilter=e.BasicFilterWithKeys=e.BasicFilter=e.RelativeTimeFilter=e.RelativeDateFilter=e.TopNFilter=e.IncludeExcludeFilter=e.NotSupportedFilter=e.Filter=e.RelativeDateOperators=e.RelativeDateFilterTimeUnit=e.FilterType=e.FiltersLevel=e.MenuLocation=e.ContrastMode=e.TokenType=e.ViewMode=e.Permissions=e.SectionVisibility=e.HyperlinkClickBehavior=e.LayoutType=e.VisualContainerDisplayMode=e.BackgroundType=e.DisplayOption=e.PageSizeType=e.TraceType=e.Validators=void 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 Q;!function(t){t[t.FitToPage=0]="FitToPage",t[t.FitToWidth=1]="FitToWidth",t[t.ActualSize=2]="ActualSize"}(Q=e.DisplayOption||(e.DisplayOption={}));var Y;!function(t){t[t.Default=0]="Default",t[t.Transparent=1]="Transparent"}(Y=e.BackgroundType||(e.BackgroundType={}));var K;!function(t){t[t.Visible=0]="Visible",t[t.Hidden=1]="Hidden"}(K=e.VisualContainerDisplayMode||(e.VisualContainerDisplayMode={}));var G;!function(t){t[t.Master=0]="Master",t[t.Custom=1]="Custom",t[t.MobilePortrait=2]="MobilePortrait",t[t.MobileLandscape=3]="MobileLandscape"}(G=e.LayoutType||(e.LayoutType={}));var $;!function(t){t[t.Navigate=0]="Navigate",t[t.NavigateAndRaiseEvent=1]="NavigateAndRaiseEvent",t[t.RaiseEvent=2]="RaiseEvent"}($=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 dt=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=dt;var st=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 W(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}(dt);e.NotSupportedFilter=st;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 W(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}(dt);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 W(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}(dt);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 W(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}(dt);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 W(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}(dt);e.RelativeTimeFilter=ft;var vt=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 W(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}(dt);e.AdvancedFilter=mt,e.isFilterKeyColumnsTarget=a,e.isBasicFilterWithKeys=i,e.getFilterType=o,e.isMeasure=n,e.isColumn=l,e.isHierarchyLevel=d,e.isHierarchyLevelAggr=s,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 St=function(t){function e(r){var a=t.call(this,e.schemaUrl)||this;return a.pageName=r,a}return W(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=St;var Et=function(t){function e(r){var a=t.call(this,e.schemaUrl)||this;return a.visualName=r,a}return W(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=Et;var Tt=function(t){function e(e){var r=t.call(this,Et.schemaUrl)||this;return r.visualType=e,r}return W(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,Et.schemaUrl)||this;return r.target=e,r}return W(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 Ft;!function(t){t[t.Grouping=0]="Grouping",t[t.Measure=1]="Measure",t[t.GroupingOrMeasure=2]="GroupingOrMeasure"}(Ft=e.VisualDataRoleKind||(e.VisualDataRoleKind={}));var Rt;!function(t){t[t.Measure=0]="Measure",t[t.Grouping=1]="Grouping"}(Rt=e.VisualDataRoleKindPreference||(e.VisualDataRoleKindPreference={})),e.validateVisualSelector=c,e.validateSlicer=f,e.validateSlicerState=v,e.validatePlayBookmarkRequest=h,e.validateAddBookmarkRequest=y,e.validateApplyBookmarkByNameRequest=m,e.validateApplyBookmarkStateRequest=V,e.validateSettings=g,e.validatePanes=w,e.validateBookmarksPane=b,e.validateFiltersPane=P,e.validateFieldsPane=S,e.validatePageNavigationPane=E,e.validateSelectionPane=T,e.validateSyncSlicersPane=O,e.validateVisualizationsPane=_,e.validateCustomPageSize=F,e.validateExtension=R,e.validateReportLoad=A,e.validateCreateReport=k,e.validateDashboardLoad=C,e.validateTileLoad=x,e.validatePage=M,e.validateFilter=I,e.validateSaveAsParameters=q,e.validateLoadQnaConfiguration=L,e.validateQnaInterpretInputData=j,e.validateExportDataRequest=N,e.validateVisualHeader=D,e.validateVisualSettings=U,e.validateCommandsSettings=B,e.validateCustomTheme=H},function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.Validators=void 0;var a=r(2),i=r(3),o=r(5),n=r(6),l=r(7),d=r(8),s=r(9),u=r(10),p=r(11),c=r(12),f=r(13),v=r(14),h=r(15),y=r(16),m=r(17),V=r(18),g=r(19),w=r(20),b=r(21),P=r(22),S=r(23),E=r(24),T=r(25),O=r(26),_=r(27);e.Validators={addBookmarkRequestValidator:new n.AddBookmarkRequestValidator,advancedFilterTypeValidator:new a.EnumValidator([0]),advancedFilterValidator:new l.AdvancedFilterValidator,anyArrayValidator:new a.ArrayValidator([new s.AnyOfValidator([new a.StringValidator,new a.NumberValidator,new a.BooleanValidator])]),anyFilterValidator:new s.AnyOfValidator([new l.BasicFilterValidator,new l.AdvancedFilterValidator,new l.IncludeExcludeFilterValidator,new l.NotSupportedFilterValidator,new l.RelativeDateFilterValidator,new l.TopNFilterValidator,new l.RelativeTimeFilterValidator]),anyValueValidator:new s.AnyOfValidator([new a.StringValidator,new a.NumberValidator,new a.BooleanValidator]),actionBarValidator:new _.ActionBarValidator,applyBookmarkByNameRequestValidator:new n.ApplyBookmarkByNameRequestValidator,applyBookmarkStateRequestValidator:new n.ApplyBookmarkStateRequestValidator,applyBookmarkValidator:new s.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 s.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 V.CustomLayoutValidator,customPageSizeValidator:new v.CustomPageSizeValidator,customThemeValidator:new E.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 d.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 s.AnyOfValidator([new l.FilterColumnTargetValidator,new l.FilterHierarchyTargetValidator,new l.FilterMeasureTargetValidator]),filtersArrayValidator:new a.ArrayValidator([new s.AnyOfValidator([new l.BasicFilterValidator,new l.AdvancedFilterValidator,new l.RelativeDateFilterValidator,new l.RelativeTimeFilterValidator])]),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 h.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 v.PageSizeValidator,pageValidator:new v.PageValidator,pageViewFieldValidator:new v.PageViewFieldValidator,pagesLayoutValidator:new m.MapValidator([new a.StringValidator],[new V.PageLayoutValidator]),reportBarsValidator:new _.ReportBarsValidator,reportPanesValidator:new O.ReportPanesValidator,permissionsValidator:new a.EnumValidator([0,1,2,4,7]),playBookmarkRequestValidator:new n.PlayBookmarkRequestValidator,qnaInterpretInputDataValidator:new h.QnaInterpretInputDataValidator,qnaSettingValidator:new h.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 S.SingleCommandSettingsValidator,slicerSelectorValidator:new s.AnyOfValidator([new w.VisualSelectorValidator,new w.SlicerTargetSelectorValidator]),slicerStateValidator:new b.SlicerStateValidator,slicerTargetValidator:new s.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 s.AnyOfValidator([new w.VisualSelectorValidator,new w.VisualTypeSelectorValidator]),visualHeaderSelectorValidator:new s.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}),e.NumberArrayValidator=e.BooleanArrayValidator=e.StringArrayValidator=e.EnumValidator=e.SchemaValidator=e.ValueValidator=e.NumberValidator=e.BooleanValidator=e.StringValidator=e.TypeValidator=e.ArrayValidator=e.ObjectValidator=void 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 s(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=d,e.addParamToUrl=s,e.isSavedInternal=u,e.isRDLEmbed=p,e.autoAuthInEmbedUrl=c,e.getRandomValue=f},function(t,e){var r={version:"2.14.0",type:"js"};Object.defineProperty(e,"__esModule",{value:!0}),e["default"]=r},function(t,e,r){/*! powerbi-models v1.4.0 | (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 d(t){return!(!(t.table&&t.hierarchy&&t.hierarchyLevel)||t.aggregationFunction)}function s(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 v(t){var r=e.Validators.slicerStateValidator.validate(t);return r?r.map(p):void 0}function h(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 S(t){var r=e.Validators.fieldsPanesValidator.validate(t);return r?r.map(p):void 0}function T(t){var r=e.Validators.pageNavigationPaneValidator.validate(t);return r?r.map(p):void 0}function E(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 F(t){var r=e.Validators.customPageSizeValidator.validate(t);return r?r.map(p):void 0}function R(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 L(t){var r=e.Validators.loadQnaValidator.validate(t);return r?r.map(p):void 0}function j(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 D(t){var r=e.Validators.visualHeaderValidator.validate(t);return r?r.map(p):void 0}function U(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.validateCustomTheme=e.validateCommandsSettings=e.validateVisualSettings=e.validateVisualHeader=e.validateExportDataRequest=e.validateQnaInterpretInputData=e.validateLoadQnaConfiguration=e.validateSaveAsParameters=e.validateFilter=e.validatePage=e.validateTileLoad=e.validateDashboardLoad=e.validateCreateReport=e.validateReportLoad=e.validateExtension=e.validateCustomPageSize=e.validateVisualizationsPane=e.validateSyncSlicersPane=e.validateSelectionPane=e.validatePageNavigationPane=e.validateFieldsPane=e.validateFiltersPane=e.validateBookmarksPane=e.validatePanes=e.validateSettings=e.validateApplyBookmarkStateRequest=e.validateApplyBookmarkByNameRequest=e.validateAddBookmarkRequest=e.validatePlayBookmarkRequest=e.validateSlicerState=e.validateSlicer=e.validateVisualSelector=e.VisualDataRoleKindPreference=e.VisualDataRoleKind=e.CommandDisplayOption=e.SlicerTargetSelector=e.VisualTypeSelector=e.VisualSelector=e.PageSelector=e.Selector=e.SortDirection=e.LegendPosition=e.TextAlignment=e.CommonErrorCodes=e.BookmarksPlayMode=e.ExportDataType=e.QnaMode=e.isColumnAggr=e.isHierarchyLevelAggr=e.isHierarchyLevel=e.isColumn=e.isMeasure=e.getFilterType=e.isBasicFilterWithKeys=e.isFilterKeyColumnsTarget=e.AdvancedFilter=e.TupleFilter=e.BasicFilterWithKeys=e.BasicFilter=e.RelativeTimeFilter=e.RelativeDateFilter=e.TopNFilter=e.IncludeExcludeFilter=e.NotSupportedFilter=e.Filter=e.RelativeDateOperators=e.RelativeDateFilterTimeUnit=e.FilterType=e.FiltersLevel=e.MenuLocation=e.ContrastMode=e.TokenType=e.ViewMode=e.Permissions=e.SectionVisibility=e.HyperlinkClickBehavior=e.LayoutType=e.VisualContainerDisplayMode=e.BackgroundType=e.DisplayOption=e.PageSizeType=e.TraceType=e.Validators=void 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 Q;!function(t){t[t.FitToPage=0]="FitToPage",t[t.FitToWidth=1]="FitToWidth",t[t.ActualSize=2]="ActualSize"}(Q=e.DisplayOption||(e.DisplayOption={}));var Y;!function(t){t[t.Default=0]="Default",t[t.Transparent=1]="Transparent"}(Y=e.BackgroundType||(e.BackgroundType={}));var K;!function(t){t[t.Visible=0]="Visible",t[t.Hidden=1]="Hidden"}(K=e.VisualContainerDisplayMode||(e.VisualContainerDisplayMode={}));var G;!function(t){t[t.Master=0]="Master",t[t.Custom=1]="Custom",t[t.MobilePortrait=2]="MobilePortrait",t[t.MobileLandscape=3]="MobileLandscape"}(G=e.LayoutType||(e.LayoutType={}));var $;!function(t){t[t.Navigate=0]="Navigate",t[t.NavigateAndRaiseEvent=1]="NavigateAndRaiseEvent",t[t.RaiseEvent=2]="RaiseEvent"}($=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 dt=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=dt;var st=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}(dt);e.NotSupportedFilter=st;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}(dt);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}(dt);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}(dt);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}(dt);e.RelativeTimeFilter=ft;var vt=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}(dt);e.AdvancedFilter=mt,e.isFilterKeyColumnsTarget=a,e.isBasicFilterWithKeys=i,e.getFilterType=o,e.isMeasure=n,e.isColumn=l,e.isHierarchyLevel=d,e.isHierarchyLevelAggr=s,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 St=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=St;var Tt=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=Tt;var Et=function(t){function e(e){var r=t.call(this,Tt.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=Et;var Ot=function(t){function e(e){var r=t.call(this,Tt.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 Ft;!function(t){t[t.Grouping=0]="Grouping",t[t.Measure=1]="Measure",t[t.GroupingOrMeasure=2]="GroupingOrMeasure"}(Ft=e.VisualDataRoleKind||(e.VisualDataRoleKind={}));var Rt;!function(t){t[t.Measure=0]="Measure",t[t.Grouping=1]="Grouping"}(Rt=e.VisualDataRoleKindPreference||(e.VisualDataRoleKindPreference={})),e.validateVisualSelector=c,e.validateSlicer=f,e.validateSlicerState=v,e.validatePlayBookmarkRequest=h,e.validateAddBookmarkRequest=y,e.validateApplyBookmarkByNameRequest=m,e.validateApplyBookmarkStateRequest=V,e.validateSettings=g,e.validatePanes=w,e.validateBookmarksPane=b,e.validateFiltersPane=P,e.validateFieldsPane=S,e.validatePageNavigationPane=T,e.validateSelectionPane=E,e.validateSyncSlicersPane=O,e.validateVisualizationsPane=_,e.validateCustomPageSize=F,e.validateExtension=R,e.validateReportLoad=A,e.validateCreateReport=k,e.validateDashboardLoad=C,e.validateTileLoad=x,e.validatePage=M,e.validateFilter=I,e.validateSaveAsParameters=q,e.validateLoadQnaConfiguration=L,e.validateQnaInterpretInputData=j,e.validateExportDataRequest=N,e.validateVisualHeader=D,e.validateVisualSettings=U,e.validateCommandsSettings=B,e.validateCustomTheme=W},function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.Validators=void 0;var a=r(2),i=r(3),o=r(5),n=r(6),l=r(7),d=r(8),s=r(9),u=r(10),p=r(11),c=r(12),f=r(13),v=r(14),h=r(15),y=r(16),m=r(17),V=r(18),g=r(19),w=r(20),b=r(21),P=r(22),S=r(23),T=r(24),E=r(25),O=r(26),_=r(27);e.Validators={addBookmarkRequestValidator:new n.AddBookmarkRequestValidator,advancedFilterTypeValidator:new a.EnumValidator([0]),advancedFilterValidator:new l.AdvancedFilterValidator,anyArrayValidator:new a.ArrayValidator([new s.AnyOfValidator([new a.StringValidator,new a.NumberValidator,new a.BooleanValidator])]),anyFilterValidator:new s.AnyOfValidator([new l.BasicFilterValidator,new l.AdvancedFilterValidator,new l.IncludeExcludeFilterValidator,new l.NotSupportedFilterValidator,new l.RelativeDateFilterValidator,new l.TopNFilterValidator,new l.RelativeTimeFilterValidator]),anyValueValidator:new s.AnyOfValidator([new a.StringValidator,new a.NumberValidator,new a.BooleanValidator]),actionBarValidator:new _.ActionBarValidator,applyBookmarkByNameRequestValidator:new n.ApplyBookmarkByNameRequestValidator,applyBookmarkStateRequestValidator:new n.ApplyBookmarkStateRequestValidator,applyBookmarkValidator:new s.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 s.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 V.CustomLayoutValidator,customPageSizeValidator:new v.CustomPageSizeValidator,customThemeValidator:new T.CustomThemeValidator,dashboardLoadValidator:new c.DashboardLoadValidator,datasetBindingValidator:new E.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 d.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 s.AnyOfValidator([new l.FilterColumnTargetValidator,new l.FilterHierarchyTargetValidator,new l.FilterMeasureTargetValidator]),filtersArrayValidator:new a.ArrayValidator([new s.AnyOfValidator([new l.BasicFilterValidator,new l.AdvancedFilterValidator,new l.RelativeDateFilterValidator,new l.RelativeTimeFilterValidator])]),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 h.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 v.PageSizeValidator,pageValidator:new v.PageValidator,pageViewFieldValidator:new v.PageViewFieldValidator,pagesLayoutValidator:new m.MapValidator([new a.StringValidator],[new V.PageLayoutValidator]),reportBarsValidator:new _.ReportBarsValidator,reportPanesValidator:new O.ReportPanesValidator,permissionsValidator:new a.EnumValidator([0,1,2,4,7]),playBookmarkRequestValidator:new n.PlayBookmarkRequestValidator,qnaInterpretInputDataValidator:new h.QnaInterpretInputDataValidator,qnaSettingValidator:new h.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 S.SingleCommandSettingsValidator,slicerSelectorValidator:new s.AnyOfValidator([new w.VisualSelectorValidator,new w.SlicerTargetSelectorValidator]),slicerStateValidator:new b.SlicerStateValidator,slicerTargetValidator:new s.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 s.AnyOfValidator([new w.VisualSelectorValidator,new w.VisualTypeSelectorValidator]),visualHeaderSelectorValidator:new s.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}),e.NumberArrayValidator=e.BooleanArrayValidator=e.StringArrayValidator=e.EnumValidator=e.SchemaValidator=e.ValueValidator=e.NumberValidator=e.BooleanValidator=e.StringValidator=e.TypeValidator=e.ArrayValidator=e.ObjectValidator=void 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)&&(d=!0,n=n.slice(0,l-2),r[n]||(r[n]=[])),i=o[1]?w(o[1]):""),d?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)&&(d=!0,n=n.slice(0,l-2),r[n]||(r[n]=[])),i=o[1]?w(o[1]):""),d?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;rnode.firstChild; } diff --git a/src/service.ts b/src/service.ts index 4ed64281..28be3bdc 100644 --- a/src/service.ts +++ b/src/service.ts @@ -72,8 +72,6 @@ export interface IServiceConfiguration extends IDebugOptions { export interface IService { hpm: hpm.HttpPostMessage; - preComponentCreation: (frame: HTMLIFrameElement) => void; - customEventHandler: (event: IEvent) => void; } /** @@ -126,14 +124,6 @@ export class Service implements IService { * @hidden */ wpmp: wpmp.WindowPostMessageProxy; - /** An external function used to add custom functionality to embed setIframe. Used in playground safe-eval. - * @hidden - */ - public preComponentCreation: (frame: HTMLIFrameElement) => void = null; - /** A custom event handler used to override the SDK default event handler. Used in playground safe-eval. - * @hidden - */ - public customEventHandler: (event: IEvent) => void = null; private router: router.Router; private uniqueSessionId: string; @@ -542,11 +532,6 @@ export class Service implements IService { * @hidden */ private handleEvent(event: IEvent): void { - if (this.customEventHandler != null) { - this.customEventHandler(event); - return; - } - let embed = utils.find(embed => { return (embed.config.uniqueId === event.id); }, this.embeds); From 34921b52b3a08c4b02df671e0c9c49d9de791d7e Mon Sep 17 00:00:00 2001 From: SanoLitch Date: Fri, 14 Aug 2020 15:04:26 +0500 Subject: [PATCH 021/125] Update util.ts Fix undefined error in isRDLEmbed function. Raised exception on calling report page capture function. --- src/util.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/util.ts b/src/util.ts index 8d965627..fdb0b1cf 100644 --- a/src/util.ts +++ b/src/util.ts @@ -170,7 +170,7 @@ export function isSavedInternal(hpm: HttpPostMessage, uid: string, contentWindow * @returns {boolean} */ export function isRDLEmbed(embedUrl: string): boolean { - return embedUrl.toLowerCase().indexOf("/rdlembed?") >= 0; + return embedUrl && embedUrl.toLowerCase().indexOf("/rdlembed?") >= 0; } /** @@ -195,4 +195,4 @@ export function getRandomValue() { cryptoObj.getRandomValues(randomValueArray); return randomValueArray[0]; -} \ No newline at end of file +} From e44993440ef2afe706b14a5ac2fc403173b83a90 Mon Sep 17 00:00:00 2001 From: Ali Hamud Date: Thu, 20 Aug 2020 09:01:11 +0000 Subject: [PATCH 022/125] Merged PR 107786: Fix app insights Fix app insights --- demo/v2-demo/scripts/aisdk.js | 25 ++++++++++++++++++------- 1 file changed, 18 insertions(+), 7 deletions(-) diff --git a/demo/v2-demo/scripts/aisdk.js b/demo/v2-demo/scripts/aisdk.js index 16297842..9b1ade4a 100644 --- a/demo/v2-demo/scripts/aisdk.js +++ b/demo/v2-demo/scripts/aisdk.js @@ -1,17 +1,28 @@ const appUrl = 'https://powerbiplaygroundbe.azurewebsites.net/App'; +const appUrlEnabled = false; +const defaultInstrumentationKey = "ffe7093c-af96-4df9-8452-b9f4b35ccded"; var appInsightsInstanceDeferred = $.Deferred(); -$.getJSON(appUrl, function (appConfig) { +if (appUrlEnabled) { + $.getJSON(appUrl, function (appConfig) { + createAppInsightsInstance(appConfig.instrumentationKey); + }); +} +else { + createAppInsightsInstance(defaultInstrumentationKey); +} + +function createAppInsightsInstance(instrumentationKey) { // Application Insights setup var sdkInstance="appInsightsSDK";window[sdkInstance]="appInsights";var aiName=window[sdkInstance],aisdk=window[aiName]||function(e){function n(e){t[e]=function(){var n=arguments;t.queue.push(function(){t[e].apply(t,n)})}}var t={config:e};t.initialize=!0;var i=document,a=window;setTimeout(function(){var n=i.createElement("script");n.src=e.url||"https://az416426.vo.msecnd.net/scripts/b/ai.2.min.js",i.getElementsByTagName("script")[0].parentNode.appendChild(n)});try{t.cookie=i.cookie}catch(e){}t.queue=[],t.version=2;for(var r=["Event","PageView","Exception","Trace","DependencyData","Metric","PageViewPerformance"];r.length;)n("track"+r.pop());n("startTrackPage"),n("stopTrackPage");var s="Track"+r[0];if(n("start"+s),n("stop"+s),n("addTelemetryInitializer"),n("setAuthenticatedUserContext"),n("clearAuthenticatedUserContext"),n("flush"),!(!0===e.disableExceptionTracking||e.extensionConfig&&e.extensionConfig.ApplicationInsightsAnalytics&&!0===e.extensionConfig.ApplicationInsightsAnalytics.disableExceptionTracking)){n("_"+(r="onerror"));var o=a[r];a[r]=function(e,n,i,a,s){var c=o&&o(e,n,i,a,s);return!0!==c&&t["_"+r]({message:e,url:n,lineNumber:i,columnNumber:a,error:s}),c},e.autoExceptionInstrumented=!0}return t}( - { - instrumentationKey: appConfig.instrumentationKey - } - );window[aiName]=aisdk,aisdk.queue&&0===aisdk.queue.length&&aisdk.trackPageView({}); + { + instrumentationKey: instrumentationKey + } + );window[aiName]=aisdk,aisdk.queue&&0===aisdk.queue.length&&aisdk.trackPageView({}); - appInsightsInstanceDeferred.resolve(appInsights); -}); + appInsightsInstanceDeferred.resolve(appInsights); +} function getAppInsightsInstance() { return appInsightsInstanceDeferred; From 6754d961602d491268acc3056eec384659c42a15 Mon Sep 17 00:00:00 2001 From: Shahak Yosef Date: Mon, 31 Aug 2020 11:36:18 +0000 Subject: [PATCH 023/125] Merged PR 108503: Avoid sending another /load to the FE if one was already sent A client has been reporting "content is not available" issues for some time. We notice in their logs that several load requests are sent to the front end with only 66 millisecond between them. We believe that this is causing a timing issue in the front end and so we add a throttle on the load requests. ## Notes for reviewers: I am not sure if there can be any valid use case for multiple load requests in short intervals. Can it negatively affect valid uses cases of bootstrap -> embed -> potentially reload flows? --- dist/powerbi-client.d.ts | 22 ++++++++++++++-------- dist/powerbi.js | 21 +++++++++++++++++++-- dist/powerbi.min.js | 4 ++-- gulpfile.js | 2 -- package.json | 4 +--- src/bookmarksManager.ts | 5 ----- src/config.ts | 2 +- src/create.ts | 1 - src/dashboard.ts | 4 ---- src/defaults.ts | 8 -------- src/embed.ts | 38 ++++++++++++++++++++++++++------------ src/qna.ts | 1 - src/tile.ts | 2 -- src/util.ts | 19 +++++++++++++++---- src/visualDescriptor.ts | 2 +- test/test.spec.ts | 12 ++++++++++-- 16 files changed, 89 insertions(+), 58 deletions(-) delete mode 100644 src/defaults.ts diff --git a/dist/powerbi-client.d.ts b/dist/powerbi-client.d.ts index 60f1a770..865d5df8 100644 --- a/dist/powerbi-client.d.ts +++ b/dist/powerbi-client.d.ts @@ -1,4 +1,4 @@ -/*! powerbi-client v2.14.0 | (c) 2016 Microsoft Corporation MIT */ +/*! powerbi-client v2.14.1 | (c) 2016 Microsoft Corporation MIT */ declare module "util" { import { HttpPostMessage } from 'http-post-message'; /** @@ -93,6 +93,14 @@ declare module "util" { * Returns random number */ export function getRandomValue(): number; + /** + * Returns the time interval between two dates in milliseconds + * @export + * @param {Date} start + * @param {Date} end + * @returns {number} + */ + export function getTimeDiffInMilliseconds(start: Date, end: Date): number; } declare module "config" { /** @ignore */ /** */ @@ -301,6 +309,11 @@ declare module "embed" { * @hidden */ frontLoadHandler: () => any; + /** + * The time the last /load request was sent + * @hidden + */ + lastLoadRequest: Date; /** * Creates an instance of Embed. * @@ -1208,13 +1221,6 @@ declare module "report" { private isMobileSettings(settings); } } -declare module "defaults" { - import * as models from 'powerbi-models'; - /** @hidden */ - export abstract class Defaults { - static defaultQnaSettings: models.IQnaSettings; - } -} declare module "create" { import * as service from "service"; import * as models from 'powerbi-models'; diff --git a/dist/powerbi.js b/dist/powerbi.js index cc15fdcc..bb9dc4b0 100644 --- a/dist/powerbi.js +++ b/dist/powerbi.js @@ -1,4 +1,4 @@ -/*! powerbi-client v2.14.0 | (c) 2016 Microsoft Corporation MIT */ +/*! powerbi-client v2.14.1 | (c) 2016 Microsoft Corporation MIT */ (function webpackUniversalModuleDefinition(root, factory) { if(typeof exports === 'object' && typeof module === 'object') module.exports = factory(); @@ -694,6 +694,12 @@ return /******/ (function(modules) { // webpackBootstrap bootstrapped: this.config.bootstrapped, sdkVersion: sdkConfig.default.version }; + var timeNow = new Date(); + if (this.lastLoadRequest && utils.getTimeDiffInMilliseconds(this.lastLoadRequest, timeNow) < 100) { + console.debug("Power BI SDK sent more than two /report/load requests in the last 100ms interval."); + return; + } + this.lastLoadRequest = timeNow; return this.service.hpm.post(path, this.config, headers, this.iframe.contentWindow) .then(function (response) { return response.body; @@ -1278,6 +1284,17 @@ return /******/ (function(modules) { // webpackBootstrap return randomValueArray[0]; } exports.getRandomValue = getRandomValue; + /** + * Returns the time interval between two dates in milliseconds + * @export + * @param {Date} start + * @param {Date} end + * @returns {number} + */ + function getTimeDiffInMilliseconds(start, end) { + return Math.abs(start.getTime() - end.getTime()); + } + exports.getTimeDiffInMilliseconds = getTimeDiffInMilliseconds; /***/ }), @@ -1286,7 +1303,7 @@ return /******/ (function(modules) { // webpackBootstrap /** @ignore */ /** */ var config = { - version: '2.14.0', + version: '2.14.1', type: 'js' }; Object.defineProperty(exports, "__esModule", { value: true }); diff --git a/dist/powerbi.min.js b/dist/powerbi.min.js index bcda0014..ba276eea 100644 --- a/dist/powerbi.min.js +++ b/dist/powerbi.min.js @@ -1,5 +1,5 @@ -/*! powerbi-client v2.14.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(16);e.factories=i;var o=r(5);e.models=o;var n=r(7);e.Report=n.Report;var l=r(12);e.Dashboard=l.Dashboard;var d=r(13);e.Tile=d.Tile;var s=r(2);e.Embed=s.Embed;var u=r(8);e.Page=u.Page;var p=r(14);e.Qna=p.Qna;var c=r(15);e.Visual=c.Visual;var f=r(9);e.VisualDescriptor=f.VisualDescriptor;var v=new a.Service(i.hpmFactory,i.wpmpFactory,i.routerFactory);window.powerbi=v},function(t,e,r){var a=r(2),i=r(7),o=r(11),n=r(12),l=r(13),d=r(8),s=r(14),u=r(15),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 d=p.find(function(t){return l===t.type.toLowerCase()},t.components);if(!d)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 s=new d(this,e,r,o,n);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),(!1),t.powerBiEmbed.iframe);return a.populateConfig(e,!1),o.load(),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(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){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 d.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,s.Qna,u.Visual],t.defaultConfig={autoEmbedOnContentLoaded:!1,onError:function(){for(var t=[],e=0;e>=4,r.toString(16)})}function s(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=d,e.addParamToUrl=s,e.isSavedInternal=u,e.isRDLEmbed=p,e.autoAuthInEmbedUrl=c,e.getRandomValue=f},function(t,e){var r={version:"2.14.0",type:"js"};Object.defineProperty(e,"__esModule",{value:!0}),e["default"]=r},function(t,e,r){/*! powerbi-models v1.4.0 | (c) 2016 Microsoft Corporation MIT */ +/*! powerbi-client v2.14.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(16);e.factories=i;var o=r(5);e.models=o;var n=r(7);e.Report=n.Report;var l=r(12);e.Dashboard=l.Dashboard;var d=r(13);e.Tile=d.Tile;var s=r(2);e.Embed=s.Embed;var u=r(8);e.Page=u.Page;var p=r(14);e.Qna=p.Qna;var c=r(15);e.Visual=c.Visual;var f=r(9);e.VisualDescriptor=f.VisualDescriptor;var v=new a.Service(i.hpmFactory,i.wpmpFactory,i.routerFactory);window.powerbi=v},function(t,e,r){var a=r(2),i=r(7),o=r(11),n=r(12),l=r(13),d=r(8),s=r(14),u=r(15),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 d=p.find(function(t){return l===t.type.toLowerCase()},t.components);if(!d)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 s=new d(this,e,r,o,n);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),(!1),t.powerBiEmbed.iframe);return a.populateConfig(e,!1),o.load(),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(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){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 d.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,s.Qna,u.Visual],t.defaultConfig={autoEmbedOnContentLoaded:!1,onError:function(){for(var t=[],e=0;e>=4,r.toString(16)})}function s(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]}function v(t,e){return Math.abs(t.getTime()-e.getTime())}e.raiseCustomEvent=r,e.findIndex=a,e.find=i,e.remove=o,e.assign=n,e.createRandomString=l,e.generateUUID=d,e.addParamToUrl=s,e.isSavedInternal=u,e.isRDLEmbed=p,e.autoAuthInEmbedUrl=c,e.getRandomValue=f,e.getTimeDiffInMilliseconds=v},function(t,e){var r={version:"2.14.1",type:"js"};Object.defineProperty(e,"__esModule",{value:!0}),e["default"]=r},function(t,e,r){/*! powerbi-models v1.4.0 | (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 d(t){return!(!(t.table&&t.hierarchy&&t.hierarchyLevel)||t.aggregationFunction)}function s(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 v(t){var r=e.Validators.slicerStateValidator.validate(t);return r?r.map(p):void 0}function h(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 S(t){var r=e.Validators.fieldsPanesValidator.validate(t);return r?r.map(p):void 0}function T(t){var r=e.Validators.pageNavigationPaneValidator.validate(t);return r?r.map(p):void 0}function E(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 F(t){var r=e.Validators.customPageSizeValidator.validate(t);return r?r.map(p):void 0}function R(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 L(t){var r=e.Validators.loadQnaValidator.validate(t);return r?r.map(p):void 0}function j(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 D(t){var r=e.Validators.visualHeaderValidator.validate(t);return r?r.map(p):void 0}function U(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.validateCustomTheme=e.validateCommandsSettings=e.validateVisualSettings=e.validateVisualHeader=e.validateExportDataRequest=e.validateQnaInterpretInputData=e.validateLoadQnaConfiguration=e.validateSaveAsParameters=e.validateFilter=e.validatePage=e.validateTileLoad=e.validateDashboardLoad=e.validateCreateReport=e.validateReportLoad=e.validateExtension=e.validateCustomPageSize=e.validateVisualizationsPane=e.validateSyncSlicersPane=e.validateSelectionPane=e.validatePageNavigationPane=e.validateFieldsPane=e.validateFiltersPane=e.validateBookmarksPane=e.validatePanes=e.validateSettings=e.validateApplyBookmarkStateRequest=e.validateApplyBookmarkByNameRequest=e.validateAddBookmarkRequest=e.validatePlayBookmarkRequest=e.validateSlicerState=e.validateSlicer=e.validateVisualSelector=e.VisualDataRoleKindPreference=e.VisualDataRoleKind=e.CommandDisplayOption=e.SlicerTargetSelector=e.VisualTypeSelector=e.VisualSelector=e.PageSelector=e.Selector=e.SortDirection=e.LegendPosition=e.TextAlignment=e.CommonErrorCodes=e.BookmarksPlayMode=e.ExportDataType=e.QnaMode=e.isColumnAggr=e.isHierarchyLevelAggr=e.isHierarchyLevel=e.isColumn=e.isMeasure=e.getFilterType=e.isBasicFilterWithKeys=e.isFilterKeyColumnsTarget=e.AdvancedFilter=e.TupleFilter=e.BasicFilterWithKeys=e.BasicFilter=e.RelativeTimeFilter=e.RelativeDateFilter=e.TopNFilter=e.IncludeExcludeFilter=e.NotSupportedFilter=e.Filter=e.RelativeDateOperators=e.RelativeDateFilterTimeUnit=e.FilterType=e.FiltersLevel=e.MenuLocation=e.ContrastMode=e.TokenType=e.ViewMode=e.Permissions=e.SectionVisibility=e.HyperlinkClickBehavior=e.LayoutType=e.VisualContainerDisplayMode=e.BackgroundType=e.DisplayOption=e.PageSizeType=e.TraceType=e.Validators=void 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 Q;!function(t){t[t.FitToPage=0]="FitToPage",t[t.FitToWidth=1]="FitToWidth",t[t.ActualSize=2]="ActualSize"}(Q=e.DisplayOption||(e.DisplayOption={}));var Y;!function(t){t[t.Default=0]="Default",t[t.Transparent=1]="Transparent"}(Y=e.BackgroundType||(e.BackgroundType={}));var K;!function(t){t[t.Visible=0]="Visible",t[t.Hidden=1]="Hidden"}(K=e.VisualContainerDisplayMode||(e.VisualContainerDisplayMode={}));var G;!function(t){t[t.Master=0]="Master",t[t.Custom=1]="Custom",t[t.MobilePortrait=2]="MobilePortrait",t[t.MobileLandscape=3]="MobileLandscape"}(G=e.LayoutType||(e.LayoutType={}));var $;!function(t){t[t.Navigate=0]="Navigate",t[t.NavigateAndRaiseEvent=1]="NavigateAndRaiseEvent",t[t.RaiseEvent=2]="RaiseEvent"}($=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 dt=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=dt;var st=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}(dt);e.NotSupportedFilter=st;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}(dt);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}(dt);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}(dt);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}(dt);e.RelativeTimeFilter=ft;var vt=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}(dt);e.AdvancedFilter=mt,e.isFilterKeyColumnsTarget=a,e.isBasicFilterWithKeys=i,e.getFilterType=o,e.isMeasure=n,e.isColumn=l,e.isHierarchyLevel=d,e.isHierarchyLevelAggr=s,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 St=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=St;var Tt=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=Tt;var Et=function(t){function e(e){var r=t.call(this,Tt.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=Et;var Ot=function(t){function e(e){var r=t.call(this,Tt.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 Ft;!function(t){t[t.Grouping=0]="Grouping",t[t.Measure=1]="Measure",t[t.GroupingOrMeasure=2]="GroupingOrMeasure"}(Ft=e.VisualDataRoleKind||(e.VisualDataRoleKind={}));var Rt;!function(t){t[t.Measure=0]="Measure",t[t.Grouping=1]="Grouping"}(Rt=e.VisualDataRoleKindPreference||(e.VisualDataRoleKindPreference={})),e.validateVisualSelector=c,e.validateSlicer=f,e.validateSlicerState=v,e.validatePlayBookmarkRequest=h,e.validateAddBookmarkRequest=y,e.validateApplyBookmarkByNameRequest=m,e.validateApplyBookmarkStateRequest=V,e.validateSettings=g,e.validatePanes=w,e.validateBookmarksPane=b,e.validateFiltersPane=P,e.validateFieldsPane=S,e.validatePageNavigationPane=T,e.validateSelectionPane=E,e.validateSyncSlicersPane=O,e.validateVisualizationsPane=_,e.validateCustomPageSize=F,e.validateExtension=R,e.validateReportLoad=A,e.validateCreateReport=k,e.validateDashboardLoad=C,e.validateTileLoad=x,e.validatePage=M,e.validateFilter=I,e.validateSaveAsParameters=q,e.validateLoadQnaConfiguration=L,e.validateQnaInterpretInputData=j,e.validateExportDataRequest=N,e.validateVisualHeader=D,e.validateVisualSettings=U,e.validateCommandsSettings=B,e.validateCustomTheme=W},function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.Validators=void 0;var a=r(2),i=r(3),o=r(5),n=r(6),l=r(7),d=r(8),s=r(9),u=r(10),p=r(11),c=r(12),f=r(13),v=r(14),h=r(15),y=r(16),m=r(17),V=r(18),g=r(19),w=r(20),b=r(21),P=r(22),S=r(23),T=r(24),E=r(25),O=r(26),_=r(27);e.Validators={addBookmarkRequestValidator:new n.AddBookmarkRequestValidator,advancedFilterTypeValidator:new a.EnumValidator([0]),advancedFilterValidator:new l.AdvancedFilterValidator,anyArrayValidator:new a.ArrayValidator([new s.AnyOfValidator([new a.StringValidator,new a.NumberValidator,new a.BooleanValidator])]),anyFilterValidator:new s.AnyOfValidator([new l.BasicFilterValidator,new l.AdvancedFilterValidator,new l.IncludeExcludeFilterValidator,new l.NotSupportedFilterValidator,new l.RelativeDateFilterValidator,new l.TopNFilterValidator,new l.RelativeTimeFilterValidator]),anyValueValidator:new s.AnyOfValidator([new a.StringValidator,new a.NumberValidator,new a.BooleanValidator]),actionBarValidator:new _.ActionBarValidator,applyBookmarkByNameRequestValidator:new n.ApplyBookmarkByNameRequestValidator,applyBookmarkStateRequestValidator:new n.ApplyBookmarkStateRequestValidator,applyBookmarkValidator:new s.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 s.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 V.CustomLayoutValidator,customPageSizeValidator:new v.CustomPageSizeValidator,customThemeValidator:new T.CustomThemeValidator,dashboardLoadValidator:new c.DashboardLoadValidator,datasetBindingValidator:new E.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 d.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 s.AnyOfValidator([new l.FilterColumnTargetValidator,new l.FilterHierarchyTargetValidator,new l.FilterMeasureTargetValidator]),filtersArrayValidator:new a.ArrayValidator([new s.AnyOfValidator([new l.BasicFilterValidator,new l.AdvancedFilterValidator,new l.RelativeDateFilterValidator,new l.RelativeTimeFilterValidator])]),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 h.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 v.PageSizeValidator,pageValidator:new v.PageValidator,pageViewFieldValidator:new v.PageViewFieldValidator,pagesLayoutValidator:new m.MapValidator([new a.StringValidator],[new V.PageLayoutValidator]),reportBarsValidator:new _.ReportBarsValidator,reportPanesValidator:new O.ReportPanesValidator,permissionsValidator:new a.EnumValidator([0,1,2,4,7]),playBookmarkRequestValidator:new n.PlayBookmarkRequestValidator,qnaInterpretInputDataValidator:new h.QnaInterpretInputDataValidator,qnaSettingValidator:new h.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 S.SingleCommandSettingsValidator,slicerSelectorValidator:new s.AnyOfValidator([new w.VisualSelectorValidator,new w.SlicerTargetSelectorValidator]),slicerStateValidator:new b.SlicerStateValidator,slicerTargetValidator:new s.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 s.AnyOfValidator([new w.VisualSelectorValidator,new w.VisualTypeSelectorValidator]),visualHeaderSelectorValidator:new s.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}),e.NumberArrayValidator=e.BooleanArrayValidator=e.StringArrayValidator=e.EnumValidator=e.SchemaValidator=e.ValueValidator=e.NumberValidator=e.BooleanValidator=e.StringValidator=e.TypeValidator=e.ArrayValidator=e.ObjectValidator=void 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 any; + /** + * The time the last /load request was sent + * @hidden + */ + lastLoadRequest: Date; + /** * Creates an instance of Embed. * @@ -338,9 +344,9 @@ export abstract class Embed { getCorrelationId(): Promise { return this.service.hpm.get(`/getCorrelationId`, { uid: this.config.uniqueId }, this.iframe.contentWindow) .then(response => response.body, - response => { - throw response.body; - }); + response => { + throw response.body; + }); } /** @@ -387,13 +393,21 @@ export abstract class Embed { sdkVersion: sdkConfig.default.version }; + const timeNow: Date = new Date(); + if (this.lastLoadRequest && utils.getTimeDiffInMilliseconds(this.lastLoadRequest, timeNow) < 100) { + console.debug("Power BI SDK sent more than two /report/load requests in the last 100ms interval."); + return; + } + + this.lastLoadRequest = timeNow; + return this.service.hpm.post(path, this.config, headers, this.iframe.contentWindow) .then(response => { return response.body; }, - response => { - throw response.body; - }); + response => { + throw response.body; + }); } /** @@ -827,9 +841,9 @@ export abstract class Embed { if (this.iframe.contentWindow == null) return; - return this.service.hpm.post("/frontload/config", config, { uid: this.config.uniqueId }, this.iframe.contentWindow).then(response => { - return response.body; - }, + return this.service.hpm.post("/frontload/config", config, { uid: this.config.uniqueId }, this.iframe.contentWindow).then(response => { + return response.body; + }, response => { throw response.body; }); diff --git a/src/qna.ts b/src/qna.ts index e1fcbb3f..060442de 100644 --- a/src/qna.ts +++ b/src/qna.ts @@ -1,7 +1,6 @@ import * as service from './service'; import * as models from 'powerbi-models'; import * as embed from './embed'; -import * as utils from './util'; /** * The Power BI Q&A embed component diff --git a/src/tile.ts b/src/tile.ts index 51fe8c50..11afb6e8 100644 --- a/src/tile.ts +++ b/src/tile.ts @@ -1,8 +1,6 @@ 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'; /** * The Power BI tile embed component diff --git a/src/util.ts b/src/util.ts index 8d965627..5130e2d9 100644 --- a/src/util.ts +++ b/src/util.ts @@ -120,7 +120,7 @@ export function generateUUID(): string { if (typeof performance !== 'undefined' && typeof performance.now === 'function') { d += performance.now(); } - return 'xxxxxxxxxxxxxxxxxxxx'.replace(/[xy]/g, function (c) { + return 'xxxxxxxxxxxxxxxxxxxx'.replace(/[xy]/g, function (c) { // Generate a random number, scaled from 0 to 15. const r = (getRandomValue() % 16); @@ -157,9 +157,9 @@ export function addParamToUrl(url: string, paramName: string, value: string): st export function isSavedInternal(hpm: HttpPostMessage, uid: string, contentWindow: Window): Promise { return hpm.get('/report/hasUnsavedChanges', { uid }, contentWindow) .then(response => !response.body, - response => { - throw response.body; - }); + response => { + throw response.body; + }); } /** @@ -195,4 +195,15 @@ export function getRandomValue() { cryptoObj.getRandomValues(randomValueArray); return randomValueArray[0]; +} + +/** + * Returns the time interval between two dates in milliseconds + * @export + * @param {Date} start + * @param {Date} end + * @returns {number} + */ +export function getTimeDiffInMilliseconds(start: Date, end: Date): number { + return Math.abs(start.getTime() - end.getTime()); } \ No newline at end of file diff --git a/src/visualDescriptor.ts b/src/visualDescriptor.ts index 41bff05f..0c7e84ed 100644 --- a/src/visualDescriptor.ts +++ b/src/visualDescriptor.ts @@ -1,6 +1,6 @@ import * as models from 'powerbi-models'; import { IFilterable } from './ifilterable'; -import { IPageNode, Page } from './page'; +import { IPageNode } from './page'; /** * A Visual node within a report hierarchy diff --git a/test/test.spec.ts b/test/test.spec.ts index 9f5e4cd3..e8dd98bb 100644 --- a/test/test.spec.ts +++ b/test/test.spec.ts @@ -2795,7 +2795,7 @@ describe('SDK-to-HPM', function () { powerbi.wpmp.stop(); }); - beforeEach(function() { + beforeEach(function () { reportConfigurationBck = report.config; createConfigurationBck = create.config; dashboardEmbedConfigurationBck = dashboard.config; @@ -2822,6 +2822,10 @@ describe('SDK-to-HPM', function () { }); describe('report', function () { + beforeEach(() => { + report.lastLoadRequest = new Date(2018, 1, 1); + }); + describe('load', function () { it('report.load() sends POST /report/load with configuration in body', function () { // Arrange @@ -3230,7 +3234,7 @@ describe('SDK-to-HPM', function () { // Act report.deletePage(name); - expect(spyHpm.delete).toHaveBeenCalledWith(`/report/pages/${name}`, { }, expectedHeaders, iframe.contentWindow); + expect(spyHpm.delete).toHaveBeenCalledWith(`/report/pages/${name}`, {}, expectedHeaders, iframe.contentWindow); }); }); @@ -3571,6 +3575,7 @@ describe('SDK-to-HPM', function () { report.load() .then(() => { spyHpm.post.calls.reset(); + report.lastLoadRequest = new Date(2018, 1, 1); // Act report.reload(); @@ -3766,6 +3771,7 @@ describe('SDK-to-HPM', function () { // Act let expectedConfiguration = utils.assign({}, dashboard.config, testData.loadConfiguration); dashboard.config = expectedConfiguration; + dashboard.lastLoadRequest = new Date(2018, 1, 1); dashboard.load(); const expectedHeaders = { @@ -4522,6 +4528,7 @@ describe('SDK-to-MockApp', function () { // Act let expectedConfiguration = utils.assign({}, report.config, testData.loadConfig); report.config = expectedConfiguration; + report.lastLoadRequest = new Date(2018, 1, 1); report.load() .catch(errors => { // Assert @@ -4549,6 +4556,7 @@ describe('SDK-to-MockApp', function () { // Act let expectedConfiguration = utils.assign({}, report.config, testData.loadConfig); report.config = expectedConfiguration; + report.lastLoadRequest = new Date(2018, 1, 1); report.load() .then(response => { // Assert From 9b2b995c77a6f931a78a73d4e31aec7c2f6f5ae8 Mon Sep 17 00:00:00 2001 From: Shahak Yosef Date: Tue, 1 Sep 2020 10:28:05 +0000 Subject: [PATCH 024/125] Merged PR 110213: Fix JS SDK tests Fix JS SDK tests --- test/test.spec.ts | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/test/test.spec.ts b/test/test.spec.ts index e8dd98bb..dc0f584c 100644 --- a/test/test.spec.ts +++ b/test/test.spec.ts @@ -2729,6 +2729,8 @@ describe('SDK-to-HPM', function () { return spyRouter; }; + spyOn(utils, "getTimeDiffInMilliseconds").and.callFake(() => 700); // Prevent requests from being throttled. + powerbi = new service.Service(spyHpmFactory, noop, spyRouterFactory, { wpmpName: 'SDK-to-HPM report wpmp' }); $reportElement = $(`
`) @@ -2822,9 +2824,6 @@ describe('SDK-to-HPM', function () { }); describe('report', function () { - beforeEach(() => { - report.lastLoadRequest = new Date(2018, 1, 1); - }); describe('load', function () { it('report.load() sends POST /report/load with configuration in body', function () { @@ -3575,7 +3574,6 @@ describe('SDK-to-HPM', function () { report.load() .then(() => { spyHpm.post.calls.reset(); - report.lastLoadRequest = new Date(2018, 1, 1); // Act report.reload(); @@ -3771,7 +3769,6 @@ describe('SDK-to-HPM', function () { // Act let expectedConfiguration = utils.assign({}, dashboard.config, testData.loadConfiguration); dashboard.config = expectedConfiguration; - dashboard.lastLoadRequest = new Date(2018, 1, 1); dashboard.load(); const expectedHeaders = { @@ -4507,6 +4504,11 @@ describe('SDK-to-MockApp', function () { }); describe('report', function () { + + beforeEach(function () { + spyOn(utils, "getTimeDiffInMilliseconds").and.callFake(() => 700); // Prevent requests from being throttled. + }); + describe('load', function () { it(`report.load() returns promise that rejects with validation errors if load configuration is invalid`, function (done) { // Arrange @@ -4528,7 +4530,6 @@ describe('SDK-to-MockApp', function () { // Act let expectedConfiguration = utils.assign({}, report.config, testData.loadConfig); report.config = expectedConfiguration; - report.lastLoadRequest = new Date(2018, 1, 1); report.load() .catch(errors => { // Assert @@ -4556,7 +4557,6 @@ describe('SDK-to-MockApp', function () { // Act let expectedConfiguration = utils.assign({}, report.config, testData.loadConfig); report.config = expectedConfiguration; - report.lastLoadRequest = new Date(2018, 1, 1); report.load() .then(response => { // Assert From 6a67f3b0584ba8805c528f5e8ee7ee598c6a7350 Mon Sep 17 00:00:00 2001 From: Snehal Date: Thu, 1 Oct 2020 09:27:10 +0530 Subject: [PATCH 025/125] Typo Changed --- CONTRIBUTING.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index c79e2c37..e0b39a81 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -73,7 +73,7 @@ Open the address to view in the browser: http://127.0.0.1:8080/ ``` -## Updating the documenatation (For those with push permissions only) +## Updating the documentation (For those with push permissions only) First run the command to build the docs and open it to verify the changes are as expected. ``` From aff0ad1ca0d012aaadc0ec30527b8976c6eed17b Mon Sep 17 00:00:00 2001 From: Nerya Cohen Date: Sun, 18 Oct 2020 10:00:09 +0000 Subject: [PATCH 026/125] Merged PR 119925: Add support for bookmark capture options Add support for bookmark capture options so users will be able to save changes to visuals (personalized visuals). --- dist/powerbi-client.d.ts | 14 ++- dist/powerbi.js | 96 +++++++++++++-- dist/powerbi.min.js | 12 +- package.json | 4 +- src/bookmarksManager.ts | 245 ++++++++++++++++++++------------------- src/config.ts | 2 +- 6 files changed, 231 insertions(+), 142 deletions(-) diff --git a/dist/powerbi-client.d.ts b/dist/powerbi-client.d.ts index 865d5df8..a795e3b5 100644 --- a/dist/powerbi-client.d.ts +++ b/dist/powerbi-client.d.ts @@ -1,4 +1,4 @@ -/*! powerbi-client v2.14.1 | (c) 2016 Microsoft Corporation MIT */ +/*! powerbi-client v2.15.0 | (c) 2016 Microsoft Corporation MIT */ declare module "util" { import { HttpPostMessage } from 'http-post-message'; /** @@ -1812,7 +1812,7 @@ declare module "bookmarksManager" { getBookmarks(): Promise; apply(bookmarkName: string): Promise; play(playMode: models.BookmarksPlayMode): Promise; - capture(): Promise; + capture(options?: models.ICaptureBookmarkOptions): Promise; applyState(state: string): Promise; } /** @@ -1851,6 +1851,7 @@ declare module "bookmarksManager" { * bookmarksManager.apply(bookmarkName) * ``` * + * @param {string} bookmarkName The name of the bookmark to be applied * @returns {Promise} */ apply(bookmarkName: string): Promise; @@ -1859,9 +1860,10 @@ declare module "bookmarksManager" { * * ```javascript * // Enter presentation mode. - * bookmarksManager.play(true) + * bookmarksManager.play(models.BookmarksPlayMode.Presentation) * ``` * + * @param {models.BookmarksPlayMode} playMode Play mode can be either `Presentation` or `Off` * @returns {Promise} */ play(playMode: models.BookmarksPlayMode): Promise; @@ -1869,12 +1871,13 @@ declare module "bookmarksManager" { * Capture bookmark from current state. * * ```javascript - * bookmarksManager.capture() + * bookmarksManager.capture(options) * ``` * + * @param {models.ICaptureBookmarkOptions} [options] Options for bookmark capturing * @returns {Promise} */ - capture(): Promise; + capture(options?: models.ICaptureBookmarkOptions): Promise; /** * Apply bookmark state. * @@ -1882,6 +1885,7 @@ declare module "bookmarksManager" { * bookmarksManager.applyState(bookmarkState) * ``` * + * @param {string} state A base64 bookmark state to be applied * @returns {Promise} */ applyState(state: string): Promise; diff --git a/dist/powerbi.js b/dist/powerbi.js index bb9dc4b0..928dee71 100644 --- a/dist/powerbi.js +++ b/dist/powerbi.js @@ -1,4 +1,4 @@ -/*! powerbi-client v2.14.1 | (c) 2016 Microsoft Corporation MIT */ +/*! powerbi-client v2.15.0 | (c) 2016 Microsoft Corporation MIT */ (function webpackUniversalModuleDefinition(root, factory) { if(typeof exports === 'object' && typeof module === 'object') module.exports = factory(); @@ -1303,7 +1303,7 @@ return /******/ (function(modules) { // webpackBootstrap /** @ignore */ /** */ var config = { - version: '2.14.1', + version: '2.15.0', type: 'js' }; Object.defineProperty(exports, "__esModule", { value: true }); @@ -1314,7 +1314,7 @@ return /******/ (function(modules) { // webpackBootstrap /* 5 */ /***/ (function(module, exports, __webpack_require__) { - /*! powerbi-models v1.4.0 | (c) 2016 Microsoft Corporation MIT */ + /*! powerbi-models v1.6.0 | (c) 2016 Microsoft Corporation MIT */ (function webpackUniversalModuleDefinition(root, factory) { if(true) module.exports = factory(); @@ -1429,7 +1429,7 @@ return /******/ (function(modules) { // webpackBootstrap }; })(); Object.defineProperty(exports, "__esModule", { value: true }); - exports.validateCustomTheme = exports.validateCommandsSettings = exports.validateVisualSettings = exports.validateVisualHeader = exports.validateExportDataRequest = exports.validateQnaInterpretInputData = exports.validateLoadQnaConfiguration = exports.validateSaveAsParameters = exports.validateFilter = exports.validatePage = exports.validateTileLoad = exports.validateDashboardLoad = exports.validateCreateReport = exports.validateReportLoad = exports.validateExtension = exports.validateCustomPageSize = exports.validateVisualizationsPane = exports.validateSyncSlicersPane = exports.validateSelectionPane = exports.validatePageNavigationPane = exports.validateFieldsPane = exports.validateFiltersPane = exports.validateBookmarksPane = exports.validatePanes = exports.validateSettings = exports.validateApplyBookmarkStateRequest = exports.validateApplyBookmarkByNameRequest = exports.validateAddBookmarkRequest = exports.validatePlayBookmarkRequest = exports.validateSlicerState = exports.validateSlicer = exports.validateVisualSelector = exports.VisualDataRoleKindPreference = exports.VisualDataRoleKind = exports.CommandDisplayOption = exports.SlicerTargetSelector = exports.VisualTypeSelector = exports.VisualSelector = exports.PageSelector = exports.Selector = exports.SortDirection = exports.LegendPosition = exports.TextAlignment = exports.CommonErrorCodes = exports.BookmarksPlayMode = exports.ExportDataType = exports.QnaMode = exports.isColumnAggr = exports.isHierarchyLevelAggr = exports.isHierarchyLevel = exports.isColumn = exports.isMeasure = exports.getFilterType = exports.isBasicFilterWithKeys = exports.isFilterKeyColumnsTarget = exports.AdvancedFilter = exports.TupleFilter = exports.BasicFilterWithKeys = exports.BasicFilter = exports.RelativeTimeFilter = exports.RelativeDateFilter = exports.TopNFilter = exports.IncludeExcludeFilter = exports.NotSupportedFilter = exports.Filter = exports.RelativeDateOperators = exports.RelativeDateFilterTimeUnit = exports.FilterType = exports.FiltersLevel = exports.MenuLocation = exports.ContrastMode = exports.TokenType = exports.ViewMode = exports.Permissions = exports.SectionVisibility = exports.HyperlinkClickBehavior = exports.LayoutType = exports.VisualContainerDisplayMode = exports.BackgroundType = exports.DisplayOption = exports.PageSizeType = exports.TraceType = exports.Validators = void 0; + exports.validateCustomTheme = exports.validateCommandsSettings = exports.validateVisualSettings = exports.validateVisualHeader = exports.validateExportDataRequest = exports.validateQnaInterpretInputData = exports.validateLoadQnaConfiguration = exports.validateSaveAsParameters = exports.validateFilter = exports.validatePage = exports.validateTileLoad = exports.validateDashboardLoad = exports.validateCreateReport = exports.validateReportLoad = exports.validateExtension = exports.validateCustomPageSize = exports.validateVisualizationsPane = exports.validateSyncSlicersPane = exports.validateSelectionPane = exports.validatePageNavigationPane = exports.validateFieldsPane = exports.validateFiltersPane = exports.validateBookmarksPane = exports.validatePanes = exports.validateSettings = exports.validateCaptureBookmarkRequest = exports.validateApplyBookmarkStateRequest = exports.validateApplyBookmarkByNameRequest = exports.validateAddBookmarkRequest = exports.validatePlayBookmarkRequest = exports.validateSlicerState = exports.validateSlicer = exports.validateVisualSelector = exports.VisualDataRoleKindPreference = exports.VisualDataRoleKind = exports.CommandDisplayOption = exports.SlicerTargetSelector = exports.VisualTypeSelector = exports.VisualSelector = exports.PageSelector = exports.Selector = exports.SortDirection = exports.LegendPosition = exports.TextAlignment = exports.CommonErrorCodes = exports.BookmarksPlayMode = exports.ExportDataType = exports.QnaMode = exports.PageNavigationPosition = exports.isColumnAggr = exports.isHierarchyLevelAggr = exports.isHierarchyLevel = exports.isColumn = exports.isMeasure = exports.getFilterType = exports.isBasicFilterWithKeys = exports.isFilterKeyColumnsTarget = exports.AdvancedFilter = exports.TupleFilter = exports.BasicFilterWithKeys = exports.BasicFilter = exports.RelativeTimeFilter = exports.RelativeDateFilter = exports.TopNFilter = exports.IncludeExcludeFilter = exports.NotSupportedFilter = exports.Filter = exports.RelativeDateOperators = exports.RelativeDateFilterTimeUnit = exports.FilterType = exports.FiltersLevel = exports.MenuLocation = exports.ContrastMode = exports.TokenType = exports.ViewMode = exports.Permissions = exports.SectionVisibility = exports.HyperlinkClickBehavior = exports.LayoutType = exports.VisualContainerDisplayMode = exports.BackgroundType = exports.DisplayOption = exports.PageSizeType = exports.TraceType = exports.Validators = void 0; exports.Validators = __webpack_require__(1).Validators; var TraceType; (function (TraceType) { @@ -1857,6 +1857,11 @@ return /******/ (function(modules) { // webpackBootstrap return !!(arg.table && arg.column && arg.aggregationFunction); } exports.isColumnAggr = isColumnAggr; + var PageNavigationPosition; + (function (PageNavigationPosition) { + PageNavigationPosition[PageNavigationPosition["Bottom"] = 0] = "Bottom"; + PageNavigationPosition[PageNavigationPosition["Left"] = 1] = "Left"; + })(PageNavigationPosition = exports.PageNavigationPosition || (exports.PageNavigationPosition = {})); var QnaMode; (function (QnaMode) { QnaMode[QnaMode["Interactive"] = 0] = "Interactive"; @@ -2047,6 +2052,11 @@ return /******/ (function(modules) { // webpackBootstrap return errors ? errors.map(normalizeError) : undefined; } exports.validateApplyBookmarkStateRequest = validateApplyBookmarkStateRequest; + function validateCaptureBookmarkRequest(input) { + var errors = exports.Validators.captureBookmarkRequestValidator.validate(input); + return errors ? errors.map(normalizeError) : undefined; + } + exports.validateCaptureBookmarkRequest = validateCaptureBookmarkRequest; function validateSettings(input) { var errors = exports.Validators.settingsValidator.validate(input); return errors ? errors.map(normalizeError) : undefined; @@ -2222,6 +2232,8 @@ return /******/ (function(modules) { // webpackBootstrap booleanArrayValidator: new typeValidator_1.BooleanArrayValidator(), booleanValidator: new typeValidator_1.BooleanValidator(), bookmarksPaneValidator: new panesValidator_1.BookmarksPaneValidator(), + captureBookmarkOptionsValidator: new bookmarkValidator_1.CaptureBookmarkOptionsValidator(), + captureBookmarkRequestValidator: new bookmarkValidator_1.CaptureBookmarkRequestValidator(), 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(), @@ -2264,6 +2276,7 @@ return /******/ (function(modules) { // webpackBootstrap numberValidator: new typeValidator_1.NumberValidator(), pageLayoutValidator: new mapValidator_1.MapValidator([new typeValidator_1.StringValidator()], [new layoutValidator_1.VisualLayoutValidator()]), pageNavigationPaneValidator: new panesValidator_1.PageNavigationPaneValidator(), + pageNavigationPositionValidator: new typeValidator_1.EnumValidator([0, 1]), pageSizeTypeValidator: new typeValidator_1.EnumValidator([0, 1, 2, 3, 4, 5]), pageSizeValidator: new pageValidator_1.PageSizeValidator(), pageValidator: new pageValidator_1.PageValidator(), @@ -2839,6 +2852,10 @@ return /******/ (function(modules) { // webpackBootstrap field: "panes", validators: [validator_1.Validators.reportPanesValidator] }, + { + field: "personalBookmarksEnabled", + validators: [validator_1.Validators.booleanValidator] + }, { field: "persistentFiltersEnabled", validators: [validator_1.Validators.booleanValidator] @@ -2874,7 +2891,7 @@ return /******/ (function(modules) { // webpackBootstrap }; })(); Object.defineProperty(exports, "__esModule", { value: true }); - exports.ApplyBookmarkStateRequestValidator = exports.ApplyBookmarkByNameRequestValidator = exports.AddBookmarkRequestValidator = exports.PlayBookmarkRequestValidator = void 0; + exports.CaptureBookmarkRequestValidator = exports.CaptureBookmarkOptionsValidator = exports.ApplyBookmarkStateRequestValidator = exports.ApplyBookmarkByNameRequestValidator = exports.AddBookmarkRequestValidator = exports.PlayBookmarkRequestValidator = void 0; var validator_1 = __webpack_require__(1); var multipleFieldsValidator_1 = __webpack_require__(4); var typeValidator_1 = __webpack_require__(2); @@ -2986,6 +3003,56 @@ return /******/ (function(modules) { // webpackBootstrap return ApplyBookmarkStateRequestValidator; }(typeValidator_1.ObjectValidator)); exports.ApplyBookmarkStateRequestValidator = ApplyBookmarkStateRequestValidator; + var CaptureBookmarkOptionsValidator = /** @class */ (function (_super) { + __extends(CaptureBookmarkOptionsValidator, _super); + function CaptureBookmarkOptionsValidator() { + return _super !== null && _super.apply(this, arguments) || this; + } + CaptureBookmarkOptionsValidator.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: "personalizeVisuals", + validators: [validator_1.Validators.booleanValidator] + } + ]; + var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields); + return multipleFieldsValidator.validate(input, path, field); + }; + return CaptureBookmarkOptionsValidator; + }(typeValidator_1.ObjectValidator)); + exports.CaptureBookmarkOptionsValidator = CaptureBookmarkOptionsValidator; + var CaptureBookmarkRequestValidator = /** @class */ (function (_super) { + __extends(CaptureBookmarkRequestValidator, _super); + function CaptureBookmarkRequestValidator() { + return _super !== null && _super.apply(this, arguments) || this; + } + CaptureBookmarkRequestValidator.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: "options", + validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.captureBookmarkOptionsValidator] + } + ]; + var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields); + return multipleFieldsValidator.validate(input, path, field); + }; + return CaptureBookmarkRequestValidator; + }(typeValidator_1.ObjectValidator)); + exports.CaptureBookmarkRequestValidator = CaptureBookmarkRequestValidator; /***/ }), @@ -5102,6 +5169,10 @@ return /******/ (function(modules) { // webpackBootstrap field: "visible", validators: [validator_1.Validators.booleanValidator] }, + { + field: "position", + validators: [validator_1.Validators.pageNavigationPositionValidator] + }, ]; var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields); return multipleFieldsValidator.validate(input, path, field); @@ -6174,6 +6245,7 @@ return /******/ (function(modules) { // webpackBootstrap * bookmarksManager.apply(bookmarkName) * ``` * + * @param {string} bookmarkName The name of the bookmark to be applied * @returns {Promise} */ BookmarksManager.prototype.apply = function (bookmarkName) { @@ -6193,9 +6265,10 @@ return /******/ (function(modules) { // webpackBootstrap * * ```javascript * // Enter presentation mode. - * bookmarksManager.play(true) + * bookmarksManager.play(models.BookmarksPlayMode.Presentation) * ``` * + * @param {models.BookmarksPlayMode} playMode Play mode can be either `Presentation` or `Off` * @returns {Promise} */ BookmarksManager.prototype.play = function (playMode) { @@ -6214,16 +6287,20 @@ return /******/ (function(modules) { // webpackBootstrap * Capture bookmark from current state. * * ```javascript - * bookmarksManager.capture() + * bookmarksManager.capture(options) * ``` * + * @param {models.ICaptureBookmarkOptions} [options] Options for bookmark capturing * @returns {Promise} */ - BookmarksManager.prototype.capture = function () { + BookmarksManager.prototype.capture = function (options) { if (utils.isRDLEmbed(this.config.embedUrl)) { return Promise.reject(errors.APINotSupportedForRDLError); } - return this.service.hpm.post("/report/bookmarks/capture", null, { uid: this.config.uniqueId }, this.iframe.contentWindow) + var request = { + options: options + }; + return this.service.hpm.post("/report/bookmarks/capture", request, { uid: this.config.uniqueId }, this.iframe.contentWindow) .then(function (response) { return response.body; }, function (response) { throw response.body; }); @@ -6235,6 +6312,7 @@ return /******/ (function(modules) { // webpackBootstrap * bookmarksManager.applyState(bookmarkState) * ``` * + * @param {string} state A base64 bookmark state to be applied * @returns {Promise} */ BookmarksManager.prototype.applyState = function (state) { diff --git a/dist/powerbi.min.js b/dist/powerbi.min.js index ba276eea..acad7c24 100644 --- a/dist/powerbi.min.js +++ b/dist/powerbi.min.js @@ -1,9 +1,9 @@ -/*! powerbi-client v2.14.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(16);e.factories=i;var o=r(5);e.models=o;var n=r(7);e.Report=n.Report;var l=r(12);e.Dashboard=l.Dashboard;var d=r(13);e.Tile=d.Tile;var s=r(2);e.Embed=s.Embed;var u=r(8);e.Page=u.Page;var p=r(14);e.Qna=p.Qna;var c=r(15);e.Visual=c.Visual;var f=r(9);e.VisualDescriptor=f.VisualDescriptor;var v=new a.Service(i.hpmFactory,i.wpmpFactory,i.routerFactory);window.powerbi=v},function(t,e,r){var a=r(2),i=r(7),o=r(11),n=r(12),l=r(13),d=r(8),s=r(14),u=r(15),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 d=p.find(function(t){return l===t.type.toLowerCase()},t.components);if(!d)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 s=new d(this,e,r,o,n);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),(!1),t.powerBiEmbed.iframe);return a.populateConfig(e,!1),o.load(),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(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){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 d.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,s.Qna,u.Visual],t.defaultConfig={autoEmbedOnContentLoaded:!1,onError:function(){for(var t=[],e=0;e>=4,r.toString(16)})}function s(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]}function v(t,e){return Math.abs(t.getTime()-e.getTime())}e.raiseCustomEvent=r,e.findIndex=a,e.find=i,e.remove=o,e.assign=n,e.createRandomString=l,e.generateUUID=d,e.addParamToUrl=s,e.isSavedInternal=u,e.isRDLEmbed=p,e.autoAuthInEmbedUrl=c,e.getRandomValue=f,e.getTimeDiffInMilliseconds=v},function(t,e){var r={version:"2.14.1",type:"js"};Object.defineProperty(e,"__esModule",{value:!0}),e["default"]=r},function(t,e,r){/*! powerbi-models v1.4.0 | (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 d(t){return!(!(t.table&&t.hierarchy&&t.hierarchyLevel)||t.aggregationFunction)}function s(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 v(t){var r=e.Validators.slicerStateValidator.validate(t);return r?r.map(p):void 0}function h(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 S(t){var r=e.Validators.fieldsPanesValidator.validate(t);return r?r.map(p):void 0}function T(t){var r=e.Validators.pageNavigationPaneValidator.validate(t);return r?r.map(p):void 0}function E(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 F(t){var r=e.Validators.customPageSizeValidator.validate(t);return r?r.map(p):void 0}function R(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 L(t){var r=e.Validators.loadQnaValidator.validate(t);return r?r.map(p):void 0}function j(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 D(t){var r=e.Validators.visualHeaderValidator.validate(t);return r?r.map(p):void 0}function U(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.validateCustomTheme=e.validateCommandsSettings=e.validateVisualSettings=e.validateVisualHeader=e.validateExportDataRequest=e.validateQnaInterpretInputData=e.validateLoadQnaConfiguration=e.validateSaveAsParameters=e.validateFilter=e.validatePage=e.validateTileLoad=e.validateDashboardLoad=e.validateCreateReport=e.validateReportLoad=e.validateExtension=e.validateCustomPageSize=e.validateVisualizationsPane=e.validateSyncSlicersPane=e.validateSelectionPane=e.validatePageNavigationPane=e.validateFieldsPane=e.validateFiltersPane=e.validateBookmarksPane=e.validatePanes=e.validateSettings=e.validateApplyBookmarkStateRequest=e.validateApplyBookmarkByNameRequest=e.validateAddBookmarkRequest=e.validatePlayBookmarkRequest=e.validateSlicerState=e.validateSlicer=e.validateVisualSelector=e.VisualDataRoleKindPreference=e.VisualDataRoleKind=e.CommandDisplayOption=e.SlicerTargetSelector=e.VisualTypeSelector=e.VisualSelector=e.PageSelector=e.Selector=e.SortDirection=e.LegendPosition=e.TextAlignment=e.CommonErrorCodes=e.BookmarksPlayMode=e.ExportDataType=e.QnaMode=e.isColumnAggr=e.isHierarchyLevelAggr=e.isHierarchyLevel=e.isColumn=e.isMeasure=e.getFilterType=e.isBasicFilterWithKeys=e.isFilterKeyColumnsTarget=e.AdvancedFilter=e.TupleFilter=e.BasicFilterWithKeys=e.BasicFilter=e.RelativeTimeFilter=e.RelativeDateFilter=e.TopNFilter=e.IncludeExcludeFilter=e.NotSupportedFilter=e.Filter=e.RelativeDateOperators=e.RelativeDateFilterTimeUnit=e.FilterType=e.FiltersLevel=e.MenuLocation=e.ContrastMode=e.TokenType=e.ViewMode=e.Permissions=e.SectionVisibility=e.HyperlinkClickBehavior=e.LayoutType=e.VisualContainerDisplayMode=e.BackgroundType=e.DisplayOption=e.PageSizeType=e.TraceType=e.Validators=void 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 Q;!function(t){t[t.FitToPage=0]="FitToPage",t[t.FitToWidth=1]="FitToWidth",t[t.ActualSize=2]="ActualSize"}(Q=e.DisplayOption||(e.DisplayOption={}));var Y;!function(t){t[t.Default=0]="Default",t[t.Transparent=1]="Transparent"}(Y=e.BackgroundType||(e.BackgroundType={}));var K;!function(t){t[t.Visible=0]="Visible",t[t.Hidden=1]="Hidden"}(K=e.VisualContainerDisplayMode||(e.VisualContainerDisplayMode={}));var G;!function(t){t[t.Master=0]="Master",t[t.Custom=1]="Custom",t[t.MobilePortrait=2]="MobilePortrait",t[t.MobileLandscape=3]="MobileLandscape"}(G=e.LayoutType||(e.LayoutType={}));var $;!function(t){t[t.Navigate=0]="Navigate",t[t.NavigateAndRaiseEvent=1]="NavigateAndRaiseEvent",t[t.RaiseEvent=2]="RaiseEvent"}($=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 dt=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=dt;var st=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}(dt);e.NotSupportedFilter=st;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}(dt);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}(dt);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}(dt);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}(dt);e.RelativeTimeFilter=ft;var vt=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}(dt);e.AdvancedFilter=mt,e.isFilterKeyColumnsTarget=a,e.isBasicFilterWithKeys=i,e.getFilterType=o,e.isMeasure=n,e.isColumn=l,e.isHierarchyLevel=d,e.isHierarchyLevelAggr=s,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 St=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=St;var Tt=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=Tt;var Et=function(t){function e(e){var r=t.call(this,Tt.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=Et;var Ot=function(t){function e(e){var r=t.call(this,Tt.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 Ft;!function(t){t[t.Grouping=0]="Grouping",t[t.Measure=1]="Measure",t[t.GroupingOrMeasure=2]="GroupingOrMeasure"}(Ft=e.VisualDataRoleKind||(e.VisualDataRoleKind={}));var Rt;!function(t){t[t.Measure=0]="Measure",t[t.Grouping=1]="Grouping"}(Rt=e.VisualDataRoleKindPreference||(e.VisualDataRoleKindPreference={})),e.validateVisualSelector=c,e.validateSlicer=f,e.validateSlicerState=v,e.validatePlayBookmarkRequest=h,e.validateAddBookmarkRequest=y,e.validateApplyBookmarkByNameRequest=m,e.validateApplyBookmarkStateRequest=V,e.validateSettings=g,e.validatePanes=w,e.validateBookmarksPane=b,e.validateFiltersPane=P,e.validateFieldsPane=S,e.validatePageNavigationPane=T,e.validateSelectionPane=E,e.validateSyncSlicersPane=O,e.validateVisualizationsPane=_,e.validateCustomPageSize=F,e.validateExtension=R,e.validateReportLoad=A,e.validateCreateReport=k,e.validateDashboardLoad=C,e.validateTileLoad=x,e.validatePage=M,e.validateFilter=I,e.validateSaveAsParameters=q,e.validateLoadQnaConfiguration=L,e.validateQnaInterpretInputData=j,e.validateExportDataRequest=N,e.validateVisualHeader=D,e.validateVisualSettings=U,e.validateCommandsSettings=B,e.validateCustomTheme=W},function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.Validators=void 0;var a=r(2),i=r(3),o=r(5),n=r(6),l=r(7),d=r(8),s=r(9),u=r(10),p=r(11),c=r(12),f=r(13),v=r(14),h=r(15),y=r(16),m=r(17),V=r(18),g=r(19),w=r(20),b=r(21),P=r(22),S=r(23),T=r(24),E=r(25),O=r(26),_=r(27);e.Validators={addBookmarkRequestValidator:new n.AddBookmarkRequestValidator,advancedFilterTypeValidator:new a.EnumValidator([0]),advancedFilterValidator:new l.AdvancedFilterValidator,anyArrayValidator:new a.ArrayValidator([new s.AnyOfValidator([new a.StringValidator,new a.NumberValidator,new a.BooleanValidator])]),anyFilterValidator:new s.AnyOfValidator([new l.BasicFilterValidator,new l.AdvancedFilterValidator,new l.IncludeExcludeFilterValidator,new l.NotSupportedFilterValidator,new l.RelativeDateFilterValidator,new l.TopNFilterValidator,new l.RelativeTimeFilterValidator]),anyValueValidator:new s.AnyOfValidator([new a.StringValidator,new a.NumberValidator,new a.BooleanValidator]),actionBarValidator:new _.ActionBarValidator,applyBookmarkByNameRequestValidator:new n.ApplyBookmarkByNameRequestValidator,applyBookmarkStateRequestValidator:new n.ApplyBookmarkStateRequestValidator,applyBookmarkValidator:new s.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 s.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 V.CustomLayoutValidator,customPageSizeValidator:new v.CustomPageSizeValidator,customThemeValidator:new T.CustomThemeValidator,dashboardLoadValidator:new c.DashboardLoadValidator,datasetBindingValidator:new E.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 d.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 s.AnyOfValidator([new l.FilterColumnTargetValidator,new l.FilterHierarchyTargetValidator,new l.FilterMeasureTargetValidator]),filtersArrayValidator:new a.ArrayValidator([new s.AnyOfValidator([new l.BasicFilterValidator,new l.AdvancedFilterValidator,new l.RelativeDateFilterValidator,new l.RelativeTimeFilterValidator])]),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 h.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 v.PageSizeValidator,pageValidator:new v.PageValidator,pageViewFieldValidator:new v.PageViewFieldValidator,pagesLayoutValidator:new m.MapValidator([new a.StringValidator],[new V.PageLayoutValidator]),reportBarsValidator:new _.ReportBarsValidator,reportPanesValidator:new O.ReportPanesValidator,permissionsValidator:new a.EnumValidator([0,1,2,4,7]),playBookmarkRequestValidator:new n.PlayBookmarkRequestValidator,qnaInterpretInputDataValidator:new h.QnaInterpretInputDataValidator,qnaSettingValidator:new h.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 S.SingleCommandSettingsValidator,slicerSelectorValidator:new s.AnyOfValidator([new w.VisualSelectorValidator,new w.SlicerTargetSelectorValidator]),slicerStateValidator:new b.SlicerStateValidator,slicerTargetValidator:new s.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 s.AnyOfValidator([new w.VisualSelectorValidator,new w.VisualTypeSelectorValidator]),visualHeaderSelectorValidator:new s.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}),e.NumberArrayValidator=e.BooleanArrayValidator=e.StringArrayValidator=e.EnumValidator=e.SchemaValidator=e.ValueValidator=e.NumberValidator=e.BooleanValidator=e.StringValidator=e.TypeValidator=e.ArrayValidator=e.ObjectValidator=void 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 s(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]}function v(t,e){return Math.abs(t.getTime()-e.getTime())}e.raiseCustomEvent=r,e.findIndex=a,e.find=i,e.remove=o,e.assign=n,e.createRandomString=l,e.generateUUID=d,e.addParamToUrl=s,e.isSavedInternal=u,e.isRDLEmbed=p,e.autoAuthInEmbedUrl=c,e.getRandomValue=f,e.getTimeDiffInMilliseconds=v},function(t,e){var r={version:"2.15.0",type:"js"};Object.defineProperty(e,"__esModule",{value:!0}),e["default"]=r},function(t,e,r){/*! powerbi-models v1.6.0 | (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)===nt.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)?nt.Basic:"string"==typeof r.logicalOperator&&Array.isArray(r.conditions)?nt.Advanced:nt.Unknown}function n(t){return void 0!==t.table&&void 0!==t.measure}function l(t){return!(!t.table||!t.column||t.aggregationFunction)}function d(t){return!(!(t.table&&t.hierarchy&&t.hierarchyLevel)||t.aggregationFunction)}function s(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 v(t){var r=e.Validators.slicerStateValidator.validate(t);return r?r.map(p):void 0}function h(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.captureBookmarkRequestValidator.validate(t);return r?r.map(p):void 0}function w(t){var r=e.Validators.settingsValidator.validate(t);return r?r.map(p):void 0}function b(t){var r=e.Validators.reportPanesValidator.validate(t);return r?r.map(p):void 0}function P(t){var r=e.Validators.bookmarksPaneValidator.validate(t);return r?r.map(p):void 0}function S(t){var r=e.Validators.filtersPanesValidator.validate(t);return r?r.map(p):void 0}function T(t){var r=e.Validators.fieldsPanesValidator.validate(t);return r?r.map(p):void 0}function E(t){var r=e.Validators.pageNavigationPaneValidator.validate(t);return r?r.map(p):void 0}function O(t){var r=e.Validators.selectionPaneValidator.validate(t);return r?r.map(p):void 0}function _(t){var r=e.Validators.syncSlicersPaneValidator.validate(t);return r?r.map(p):void 0}function R(t){var r=e.Validators.visualizationsPanesValidator.validate(t);return r?r.map(p):void 0}function F(t){var r=e.Validators.customPageSizeValidator.validate(t);return r?r.map(p):void 0}function k(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 C(t){var r=e.Validators.reportCreateValidator.validate(t);return r?r.map(p):void 0}function x(t){var r=e.Validators.dashboardLoadValidator.validate(t);return r?r.map(p):void 0}function M(t){var r=e.Validators.tileLoadValidator.validate(t);return r?r.map(p):void 0}function q(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 L(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 N(t){var r=e.Validators.qnaInterpretInputDataValidator.validate(t);return r?r.map(p):void 0}function D(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 B(t){var r=e.Validators.visualSettingsValidator.validate(t);return r?r.map(p):void 0}function W(t){var r=e.Validators.commandsSettingsValidator.validate(t);return r?r.map(p):void 0}function H(t){var r=e.Validators.customThemeValidator.validate(t);return r?r.map(p):void 0}var z=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.validateCustomTheme=e.validateCommandsSettings=e.validateVisualSettings=e.validateVisualHeader=e.validateExportDataRequest=e.validateQnaInterpretInputData=e.validateLoadQnaConfiguration=e.validateSaveAsParameters=e.validateFilter=e.validatePage=e.validateTileLoad=e.validateDashboardLoad=e.validateCreateReport=e.validateReportLoad=e.validateExtension=e.validateCustomPageSize=e.validateVisualizationsPane=e.validateSyncSlicersPane=e.validateSelectionPane=e.validatePageNavigationPane=e.validateFieldsPane=e.validateFiltersPane=e.validateBookmarksPane=e.validatePanes=e.validateSettings=e.validateCaptureBookmarkRequest=e.validateApplyBookmarkStateRequest=e.validateApplyBookmarkByNameRequest=e.validateAddBookmarkRequest=e.validatePlayBookmarkRequest=e.validateSlicerState=e.validateSlicer=e.validateVisualSelector=e.VisualDataRoleKindPreference=e.VisualDataRoleKind=e.CommandDisplayOption=e.SlicerTargetSelector=e.VisualTypeSelector=e.VisualSelector=e.PageSelector=e.Selector=e.SortDirection=e.LegendPosition=e.TextAlignment=e.CommonErrorCodes=e.BookmarksPlayMode=e.ExportDataType=e.QnaMode=e.PageNavigationPosition=e.isColumnAggr=e.isHierarchyLevelAggr=e.isHierarchyLevel=e.isColumn=e.isMeasure=e.getFilterType=e.isBasicFilterWithKeys=e.isFilterKeyColumnsTarget=e.AdvancedFilter=e.TupleFilter=e.BasicFilterWithKeys=e.BasicFilter=e.RelativeTimeFilter=e.RelativeDateFilter=e.TopNFilter=e.IncludeExcludeFilter=e.NotSupportedFilter=e.Filter=e.RelativeDateOperators=e.RelativeDateFilterTimeUnit=e.FilterType=e.FiltersLevel=e.MenuLocation=e.ContrastMode=e.TokenType=e.ViewMode=e.Permissions=e.SectionVisibility=e.HyperlinkClickBehavior=e.LayoutType=e.VisualContainerDisplayMode=e.BackgroundType=e.DisplayOption=e.PageSizeType=e.TraceType=e.Validators=void 0,e.Validators=r(1).Validators;var J;!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"}(J=e.TraceType||(e.TraceType={}));var Q;!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"}(Q=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 K;!function(t){t[t.Default=0]="Default",t[t.Transparent=1]="Transparent"}(K=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 X;!function(t){t[t.Navigate=0]="Navigate",t[t.NavigateAndRaiseEvent=1]="NavigateAndRaiseEvent",t[t.RaiseEvent=2]="RaiseEvent"}(X=e.HyperlinkClickBehavior||(e.HyperlinkClickBehavior={}));var Z;!function(t){t[t.AlwaysVisible=0]="AlwaysVisible",t[t.HiddenInViewMode=1]="HiddenInViewMode"}(Z=e.SectionVisibility||(e.SectionVisibility={}));var tt;!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"}(tt=e.Permissions||(e.Permissions={}));var et;!function(t){t[t.View=0]="View",t[t.Edit=1]="Edit"}(et=e.ViewMode||(e.ViewMode={}));var rt;!function(t){t[t.Aad=0]="Aad",t[t.Embed=1]="Embed"}(rt=e.TokenType||(e.TokenType={}));var at;!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"}(at=e.ContrastMode||(e.ContrastMode={}));var it;!function(t){t[t.Bottom=0]="Bottom",t[t.Top=1]="Top"}(it=e.MenuLocation||(e.MenuLocation={}));var ot;!function(t){t[t.Report=0]="Report",t[t.Page=1]="Page",t[t.Visual=2]="Visual"}(ot=e.FiltersLevel||(e.FiltersLevel={}));var nt;!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"}(nt=e.FilterType||(e.FilterType={}));var lt;!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"}(lt=e.RelativeDateFilterTimeUnit||(e.RelativeDateFilterTimeUnit={}));var dt;!function(t){t[t.InLast=0]="InLast",t[t.InThis=1]="InThis",t[t.InNext=2]="InNext"}(dt=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 ut=function(t){function e(r,a,i){var o=t.call(this,r,nt.Unknown)||this;return o.message=a,o.notSupportedTypeName=i,o.schemaUrl=e.schemaUrl,o}return z(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=ut;var pt=function(t){function e(r,a,i){var o=t.call(this,r,nt.IncludeExclude)||this;return o.values=i,o.isExclude=a,o.schemaUrl=e.schemaUrl,o}return z(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=pt;var ct=function(t){function e(r,a,i,o){var n=t.call(this,r,nt.TopN)||this;return n.operator=a,n.itemCount=i,n.schemaUrl=e.schemaUrl,n.orderBy=o,n}return z(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=ct;var ft=function(t){function e(r,a,i,o,n){var l=t.call(this,r,nt.RelativeDate)||this;return l.operator=a,l.timeUnitsCount=i,l.timeUnitType=o,l.includeToday=n,l.schemaUrl=e.schemaUrl,l}return z(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=ft;var vt=function(t){function e(r,a,i,o){var n=t.call(this,r,nt.RelativeTime)||this;return n.operator=a,n.timeUnitsCount=i,n.timeUnitType=o,n.schemaUrl=e.schemaUrl,n}return z(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=vt;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 z(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=Vt,e.isFilterKeyColumnsTarget=a,e.isBasicFilterWithKeys=i,e.getFilterType=o,e.isMeasure=n,e.isColumn=l,e.isHierarchyLevel=d,e.isHierarchyLevelAggr=s,e.isColumnAggr=u;var gt;!function(t){t[t.Bottom=0]="Bottom",t[t.Left=1]="Left"}(gt=e.PageNavigationPosition||(e.PageNavigationPosition={}));var wt;!function(t){t[t.Interactive=0]="Interactive",t[t.ResultOnly=1]="ResultOnly"}(wt=e.QnaMode||(e.QnaMode={}));var bt;!function(t){t[t.Summarized=0]="Summarized",t[t.Underlying=1]="Underlying"}(bt=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 St;!function(t){t[t.Ascending=1]="Ascending",t[t.Descending=2]="Descending"}(St=e.SortDirection||(e.SortDirection={}));var Tt=function(){function t(t){this.$schema=t}return t.prototype.toJSON=function(){return{$schema:this.$schema}},t}();e.Selector=Tt;var Et=function(t){function e(r){var a=t.call(this,e.schemaUrl)||this;return a.pageName=r,a}return z(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}(Tt);e.PageSelector=Et;var Ot=function(t){function e(r){var a=t.call(this,e.schemaUrl)||this;return a.visualName=r,a}return z(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}(Tt);e.VisualSelector=Ot;var _t=function(t){function e(e){var r=t.call(this,Ot.schemaUrl)||this;return r.visualType=e,r}return z(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}(Tt);e.VisualTypeSelector=_t;var Rt=function(t){function e(e){var r=t.call(this,Ot.schemaUrl)||this;return r.target=e,r}return z(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}(Tt);e.SlicerTargetSelector=Rt;var Ft;!function(t){t[t.Enabled=0]="Enabled",t[t.Disabled=1]="Disabled",t[t.Hidden=2]="Hidden"}(Ft=e.CommandDisplayOption||(e.CommandDisplayOption={}));var kt;!function(t){t[t.Grouping=0]="Grouping",t[t.Measure=1]="Measure",t[t.GroupingOrMeasure=2]="GroupingOrMeasure"}(kt=e.VisualDataRoleKind||(e.VisualDataRoleKind={}));var At;!function(t){t[t.Measure=0]="Measure",t[t.Grouping=1]="Grouping"}(At=e.VisualDataRoleKindPreference||(e.VisualDataRoleKindPreference={})),e.validateVisualSelector=c,e.validateSlicer=f,e.validateSlicerState=v,e.validatePlayBookmarkRequest=h,e.validateAddBookmarkRequest=y,e.validateApplyBookmarkByNameRequest=m,e.validateApplyBookmarkStateRequest=V,e.validateCaptureBookmarkRequest=g,e.validateSettings=w,e.validatePanes=b,e.validateBookmarksPane=P,e.validateFiltersPane=S,e.validateFieldsPane=T,e.validatePageNavigationPane=E,e.validateSelectionPane=O,e.validateSyncSlicersPane=_,e.validateVisualizationsPane=R,e.validateCustomPageSize=F,e.validateExtension=k,e.validateReportLoad=A,e.validateCreateReport=C,e.validateDashboardLoad=x,e.validateTileLoad=M,e.validatePage=q,e.validateFilter=I,e.validateSaveAsParameters=L,e.validateLoadQnaConfiguration=j,e.validateQnaInterpretInputData=N,e.validateExportDataRequest=D,e.validateVisualHeader=U,e.validateVisualSettings=B,e.validateCommandsSettings=W,e.validateCustomTheme=H},function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.Validators=void 0;var a=r(2),i=r(3),o=r(5),n=r(6),l=r(7),d=r(8),s=r(9),u=r(10),p=r(11),c=r(12),f=r(13),v=r(14),h=r(15),y=r(16),m=r(17),V=r(18),g=r(19),w=r(20),b=r(21),P=r(22),S=r(23),T=r(24),E=r(25),O=r(26),_=r(27);e.Validators={addBookmarkRequestValidator:new n.AddBookmarkRequestValidator,advancedFilterTypeValidator:new a.EnumValidator([0]),advancedFilterValidator:new l.AdvancedFilterValidator,anyArrayValidator:new a.ArrayValidator([new s.AnyOfValidator([new a.StringValidator,new a.NumberValidator,new a.BooleanValidator])]),anyFilterValidator:new s.AnyOfValidator([new l.BasicFilterValidator,new l.AdvancedFilterValidator,new l.IncludeExcludeFilterValidator,new l.NotSupportedFilterValidator,new l.RelativeDateFilterValidator,new l.TopNFilterValidator,new l.RelativeTimeFilterValidator]),anyValueValidator:new s.AnyOfValidator([new a.StringValidator,new a.NumberValidator,new a.BooleanValidator]),actionBarValidator:new _.ActionBarValidator,applyBookmarkByNameRequestValidator:new n.ApplyBookmarkByNameRequestValidator,applyBookmarkStateRequestValidator:new n.ApplyBookmarkStateRequestValidator,applyBookmarkValidator:new s.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,captureBookmarkOptionsValidator:new n.CaptureBookmarkOptionsValidator,captureBookmarkRequestValidator:new n.CaptureBookmarkRequestValidator,commandDisplayOptionValidator:new a.EnumValidator([0,1,2]),commandExtensionSelectorValidator:new s.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 V.CustomLayoutValidator,customPageSizeValidator:new v.CustomPageSizeValidator,customThemeValidator:new T.CustomThemeValidator,dashboardLoadValidator:new c.DashboardLoadValidator,datasetBindingValidator:new E.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 d.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 s.AnyOfValidator([new l.FilterColumnTargetValidator,new l.FilterHierarchyTargetValidator,new l.FilterMeasureTargetValidator]),filtersArrayValidator:new a.ArrayValidator([new s.AnyOfValidator([new l.BasicFilterValidator,new l.AdvancedFilterValidator,new l.RelativeDateFilterValidator,new l.RelativeTimeFilterValidator])]),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 h.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,pageNavigationPositionValidator:new a.EnumValidator([0,1]),pageSizeTypeValidator:new a.EnumValidator([0,1,2,3,4,5]),pageSizeValidator:new v.PageSizeValidator,pageValidator:new v.PageValidator,pageViewFieldValidator:new v.PageViewFieldValidator,pagesLayoutValidator:new m.MapValidator([new a.StringValidator],[new V.PageLayoutValidator]),reportBarsValidator:new _.ReportBarsValidator,reportPanesValidator:new O.ReportPanesValidator,permissionsValidator:new a.EnumValidator([0,1,2,4,7]),playBookmarkRequestValidator:new n.PlayBookmarkRequestValidator,qnaInterpretInputDataValidator:new h.QnaInterpretInputDataValidator,qnaSettingValidator:new h.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 S.SingleCommandSettingsValidator,slicerSelectorValidator:new s.AnyOfValidator([new w.VisualSelectorValidator,new w.SlicerTargetSelectorValidator]),slicerStateValidator:new b.SlicerStateValidator,slicerTargetValidator:new s.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 s.AnyOfValidator([new w.VisualSelectorValidator,new w.VisualTypeSelectorValidator]),visualHeaderSelectorValidator:new s.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}),e.NumberArrayValidator=e.BooleanArrayValidator=e.StringArrayValidator=e.EnumValidator=e.SchemaValidator=e.ValueValidator=e.NumberValidator=e.BooleanValidator=e.StringValidator=e.TypeValidator=e.ArrayValidator=e.ObjectValidator=void 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)&&(d=!0,n=n.slice(0,l-2),r[n]||(r[n]=[])),i=o[1]?w(o[1]):""),d?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; - apply(bookmarkName: string): Promise; - play(playMode: models.BookmarksPlayMode): Promise; - - capture(): Promise; - applyState(state: string): Promise; + getBookmarks(): Promise; + apply(bookmarkName: string): Promise; + play(playMode: models.BookmarksPlayMode): Promise; + capture(options?: models.ICaptureBookmarkOptions): Promise; + applyState(state: string): Promise; } /** @@ -27,128 +26,136 @@ export interface IBookmarksManager { * @implements {IBookmarksManager} */ export class BookmarksManager implements IBookmarksManager { - /** - * @hidden - */ - constructor(private service: service.Service, private config: embed.IEmbedConfigurationBase, private iframe?: HTMLIFrameElement) { + /** + * @hidden + */ + constructor(private service: service.Service, private config: embed.IEmbedConfigurationBase, private iframe?: HTMLIFrameElement) { + } + + /** + * Gets bookmarks that are defined in the report. + * + * ```javascript + * // Gets bookmarks that are defined in the report + * bookmarksManager.getBookmarks() + * .then(bookmarks => { + * ... + * }); + * ``` + * + * @returns {Promise} + */ + getBookmarks(): Promise { + if (utils.isRDLEmbed(this.config.embedUrl)) { + return Promise.reject(errors.APINotSupportedForRDLError); } - /** - * Gets bookmarks that are defined in the report. - * - * ```javascript - * // Gets bookmarks that are defined in the report - * bookmarksManager.getBookmarks() - * .then(bookmarks => { - * ... - * }); - * ``` - * - * @returns {Promise} - */ - getBookmarks(): Promise { - if (utils.isRDLEmbed(this.config.embedUrl)) { - return Promise.reject(errors.APINotSupportedForRDLError); - } - - return this.service.hpm.get(`/report/bookmarks`, { uid: this.config.uniqueId }, this.iframe.contentWindow) - .then(response => response.body, - response => { - throw response.body; - }); + return this.service.hpm.get(`/report/bookmarks`, { uid: this.config.uniqueId }, this.iframe.contentWindow) + .then(response => response.body, + response => { + throw response.body; + }); + } + + /** + * Apply bookmark by name. + * + * ```javascript + * bookmarksManager.apply(bookmarkName) + * ``` + * + * @param {string} bookmarkName The name of the bookmark to be applied + * @returns {Promise} + */ + apply(bookmarkName: string): Promise { + if (utils.isRDLEmbed(this.config.embedUrl)) { + return Promise.reject(errors.APINotSupportedForRDLError); } - /** - * Apply bookmark by name. - * - * ```javascript - * bookmarksManager.apply(bookmarkName) - * ``` - * - * @returns {Promise} - */ - apply(bookmarkName: string): Promise { - if (utils.isRDLEmbed(this.config.embedUrl)) { - return Promise.reject(errors.APINotSupportedForRDLError); - } - - var request: models.IApplyBookmarkByNameRequest = { - name: bookmarkName - }; - - return this.service.hpm.post(`/report/bookmarks/applyByName`, request, { uid: this.config.uniqueId }, this.iframe.contentWindow) - .catch(response => { - throw response.body; - }); + var request: models.IApplyBookmarkByNameRequest = { + name: bookmarkName + }; + + return this.service.hpm.post(`/report/bookmarks/applyByName`, request, { uid: this.config.uniqueId }, this.iframe.contentWindow) + .catch(response => { + throw response.body; + }); + } + + /** + * Play bookmarks: Enter or Exit bookmarks presentation mode. + * + * ```javascript + * // Enter presentation mode. + * bookmarksManager.play(models.BookmarksPlayMode.Presentation) + * ``` + * + * @param {models.BookmarksPlayMode} playMode Play mode can be either `Presentation` or `Off` + * @returns {Promise} + */ + play(playMode: models.BookmarksPlayMode): Promise { + if (utils.isRDLEmbed(this.config.embedUrl)) { + return Promise.reject(errors.APINotSupportedForRDLError); } - /** - * Play bookmarks: Enter or Exit bookmarks presentation mode. - * - * ```javascript - * // Enter presentation mode. - * bookmarksManager.play(true) - * ``` - * - * @returns {Promise} - */ - play(playMode: models.BookmarksPlayMode): Promise { - if (utils.isRDLEmbed(this.config.embedUrl)) { - return Promise.reject(errors.APINotSupportedForRDLError); - } - - var playBookmarkRequest: models.IPlayBookmarkRequest = { - playMode: playMode - }; - - return this.service.hpm.post(`/report/bookmarks/play`, playBookmarkRequest, { uid: this.config.uniqueId }, this.iframe.contentWindow) - .catch(response => { - throw response.body; - }); + var playBookmarkRequest: models.IPlayBookmarkRequest = { + playMode: playMode + }; + + return this.service.hpm.post(`/report/bookmarks/play`, playBookmarkRequest, { uid: this.config.uniqueId }, this.iframe.contentWindow) + .catch(response => { + throw response.body; + }); + } + + /** + * Capture bookmark from current state. + * + * ```javascript + * bookmarksManager.capture(options) + * ``` + * + * @param {models.ICaptureBookmarkOptions} [options] Options for bookmark capturing + * @returns {Promise} + */ + capture(options?: models.ICaptureBookmarkOptions): Promise { + if (utils.isRDLEmbed(this.config.embedUrl)) { + return Promise.reject(errors.APINotSupportedForRDLError); } - /** - * Capture bookmark from current state. - * - * ```javascript - * bookmarksManager.capture() - * ``` - * - * @returns {Promise} - */ - capture(): Promise { - if (utils.isRDLEmbed(this.config.embedUrl)) { - return Promise.reject(errors.APINotSupportedForRDLError); - } - - return this.service.hpm.post(`/report/bookmarks/capture`, null, { uid: this.config.uniqueId }, this.iframe.contentWindow) - .then(response => response.body, - response => { - throw response.body; - }); - } + var request: models.ICaptureBookmarkRequest = { + options: options + }; - /** - * Apply bookmark state. - * - * ```javascript - * bookmarksManager.applyState(bookmarkState) - * ``` - * - * @returns {Promise} - */ - applyState(state: string): Promise { - if (utils.isRDLEmbed(this.config.embedUrl)) { - return Promise.reject(errors.APINotSupportedForRDLError); - } - - var request: models.IApplyBookmarkStateRequest = { - state: state - }; - - return this.service.hpm.post(`/report/bookmarks/applyState`, request, { uid: this.config.uniqueId }, this.iframe.contentWindow) - .catch(response => { + return this.service.hpm.post(`/report/bookmarks/capture`, request, { uid: this.config.uniqueId }, this.iframe.contentWindow) + .then(response => response.body, + response => { throw response.body; - }); + }); + } + + /** + * Apply bookmark state. + * + * ```javascript + * bookmarksManager.applyState(bookmarkState) + * ``` + * + * @param {string} state A base64 bookmark state to be applied + * @returns {Promise} + */ + applyState(state: string): Promise { + if (utils.isRDLEmbed(this.config.embedUrl)) { + return Promise.reject(errors.APINotSupportedForRDLError); } + + var request: models.IApplyBookmarkStateRequest = { + state: state + }; + + return this.service.hpm.post(`/report/bookmarks/applyState`, request, { uid: this.config.uniqueId }, this.iframe.contentWindow) + .catch(response => { + throw response.body; + }); + } } diff --git a/src/config.ts b/src/config.ts index 14cb1aee..4413bc5c 100644 --- a/src/config.ts +++ b/src/config.ts @@ -1,6 +1,6 @@ /** @ignore *//** */ const config = { - version: '2.14.1', + version: '2.15.0', type: 'js' }; From 24dd64d37b4d7c7216ef3ee7612fc4d6ad46d1eb Mon Sep 17 00:00:00 2001 From: Anant Singh Date: Wed, 21 Oct 2020 13:38:31 +0000 Subject: [PATCH 027/125] Merged PR 121530: Added missing properties from IReportLoadConfig in IEmbedConfig Updated IEmbedConfiguration interface: 1. Added _datasetBinding_, _contrastMode_, _slicers_ and _bookmark_ properties --- dist/powerbi-client.d.ts | 4 ++++ src/embed.ts | 4 ++++ 2 files changed, 8 insertions(+) diff --git a/dist/powerbi-client.d.ts b/dist/powerbi-client.d.ts index a795e3b5..a1232011 100644 --- a/dist/powerbi-client.d.ts +++ b/dist/powerbi-client.d.ts @@ -173,6 +173,10 @@ declare module "embed" { height?: number; width?: number; theme?: models.IReportTheme; + slicers?: models.ISlicer[]; + bookmark?: models.IApplyBookmarkRequest; + datasetBinding?: models.IDatasetBinding; + contrastMode?: models.ContrastMode; } export interface IVisualEmbedConfiguration extends IEmbedConfiguration { visualName: string; diff --git a/src/embed.ts b/src/embed.ts index 13c422e4..dcdd47e6 100644 --- a/src/embed.ts +++ b/src/embed.ts @@ -72,6 +72,10 @@ export interface IEmbedConfiguration extends IEmbedConfigurationBase { height?: number; width?: number; theme?: models.IReportTheme; + slicers?: models.ISlicer[]; + bookmark?: models.IApplyBookmarkRequest; + datasetBinding?: models.IDatasetBinding; + contrastMode?: models.ContrastMode; } export interface IVisualEmbedConfiguration extends IEmbedConfiguration { From 8118a1343e389907423a944460c00748465f7728 Mon Sep 17 00:00:00 2001 From: Guy Moses Date: Tue, 10 Nov 2020 10:15:25 +0000 Subject: [PATCH 028/125] Merged PR 126401: [JS samples][minor] Fixed error/errors typo In several places in our samples, the error handling code uses different names for the same variable (`error` vs. `errors`): ``` .catch(function (error) { Log.log(errors); }); ``` This causes an exception if there's an error --- demo/v2-demo/scripts/codesamples.js | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/demo/v2-demo/scripts/codesamples.js b/demo/v2-demo/scripts/codesamples.js index 7f2c0553..c7cd743d 100644 --- a/demo/v2-demo/scripts/codesamples.js +++ b/demo/v2-demo/scripts/codesamples.js @@ -891,7 +891,7 @@ function _Report_UpdateSettings() { Log.logText("Filter pane was removed."); }) .catch(function (error) { - Log.log(errors); + Log.log(error); }); } @@ -1342,7 +1342,7 @@ function _Report_ApplyCustomLayout() { Log.logText("Custom layout applied, to remove custom layout, reload the report using 'Reload' API.") }) .catch(function (error) { - Log.log(errors); + Log.log(error); }); } @@ -1374,7 +1374,7 @@ function _Report_HideAllVisualHeaders() { Log.logText("Visual header was successfully hidden for all the visuals in the report."); }) .catch(function (error) { - Log.log(errors); + Log.log(error); }); } @@ -1406,7 +1406,7 @@ function _Report_ShowAllVisualHeaders() { Log.logText("Visual header was successfully shown for all the visuals in the report."); }) .catch(function (error) { - Log.log(errors); + Log.log(error); }); } @@ -1450,7 +1450,7 @@ function _Report_HideSingleVisualHeader() { Log.logText("Visual header was successfully hidden for 'Category Breakdown' visual."); }) .catch(function (error) { - Log.log(errors); + Log.log(error); }); } @@ -1598,7 +1598,7 @@ function _Report_Extensions_OptionsMenu() { // Update the settings by passing in the new settings you have configured. report.updateSettings(newSettings) .catch(function (error) { - Log.log(errors); + Log.log(error); }); // Report.on will add an event handler to commandTriggered event which prints to console window. @@ -1644,7 +1644,7 @@ function _Report_Extensions_ContextMenu() { // Update the settings by passing in the new settings you have configured. report.updateSettings(newSettings) .catch(function (error) { - Log.log(errors); + Log.log(error); }); // Report.on will add an event handler to commandTriggered event which prints to console window. @@ -2231,7 +2231,7 @@ function _Bookmarks_Enable() { // Update the settings by passing in the new settings you have configured. report.updateSettings(newSettings) .catch(function (error) { - Log.log(errors); + Log.log(error); }); } @@ -2254,7 +2254,7 @@ function _Bookmarks_Disable() { // Update the settings by passing in the new settings you have configured. report.updateSettings(newSettings) .catch(function (error) { - Log.log(errors); + Log.log(error); }); } @@ -2726,7 +2726,7 @@ function _ReportVisual_UpdateSettings() { Log.logText("Filter pane was added."); }) .catch(function (error) { - Log.log(errors); + Log.log(error); }); } @@ -2769,7 +2769,7 @@ function _ReportVisual_HideSingleVisualHeader() { Log.logText("Visual header was successfully hidden for 'Sentiment by Year and Months' visual."); }) .catch(function (error) { - Log.log(errors); + Log.log(error); }); } From cab823b42e69013b68846342b4c3ff7fa7799d8f Mon Sep 17 00:00:00 2001 From: Shahak Yosef Date: Tue, 10 Nov 2020 11:41:49 +0000 Subject: [PATCH 029/125] Merged PR 126402: Add Visual clicked and selection changed events Add Visual clicked and selection changed events --- dist/powerbi.js | 2 +- dist/powerbi.min.js | 4 ++-- src/report.ts | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/dist/powerbi.js b/dist/powerbi.js index 928dee71..d49725ed 100644 --- a/dist/powerbi.js +++ b/dist/powerbi.js @@ -5854,7 +5854,7 @@ return /******/ (function(modules) { // webpackBootstrap return settings && (settings.layoutType === models.LayoutType.MobileLandscape || settings.layoutType === models.LayoutType.MobilePortrait); }; /** @hidden */ - Report.allowedEvents = ["filtersApplied", "pageChanged", "commandTriggered", "swipeStart", "swipeEnd", "bookmarkApplied", "dataHyperlinkClicked", "visualRendered"]; + Report.allowedEvents = ["filtersApplied", "pageChanged", "commandTriggered", "swipeStart", "swipeEnd", "bookmarkApplied", "dataHyperlinkClicked", "visualRendered", "visualClicked", "selectionChanged"]; /** @hidden */ Report.reportIdAttribute = 'powerbi-report-id'; /** @hidden */ diff --git a/dist/powerbi.min.js b/dist/powerbi.min.js index acad7c24..9e18aac7 100644 --- a/dist/powerbi.min.js +++ b/dist/powerbi.min.js @@ -1,8 +1,8 @@ /*! powerbi-client v2.15.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(16);e.factories=i;var o=r(5);e.models=o;var n=r(7);e.Report=n.Report;var l=r(12);e.Dashboard=l.Dashboard;var d=r(13);e.Tile=d.Tile;var s=r(2);e.Embed=s.Embed;var u=r(8);e.Page=u.Page;var p=r(14);e.Qna=p.Qna;var c=r(15);e.Visual=c.Visual;var f=r(9);e.VisualDescriptor=f.VisualDescriptor;var v=new a.Service(i.hpmFactory,i.wpmpFactory,i.routerFactory);window.powerbi=v},function(t,e,r){var a=r(2),i=r(7),o=r(11),n=r(12),l=r(13),d=r(8),s=r(14),u=r(15),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 d=p.find(function(t){return l===t.type.toLowerCase()},t.components);if(!d)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 s=new d(this,e,r,o,n);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),(!1),t.powerBiEmbed.iframe);return a.populateConfig(e,!1),o.load(),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(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){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 d.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,s.Qna,u.Visual],t.defaultConfig={autoEmbedOnContentLoaded:!1,onError:function(){for(var t=[],e=0;e>=4,r.toString(16)})}function s(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]}function v(t,e){return Math.abs(t.getTime()-e.getTime())}e.raiseCustomEvent=r,e.findIndex=a,e.find=i,e.remove=o,e.assign=n,e.createRandomString=l,e.generateUUID=d,e.addParamToUrl=s,e.isSavedInternal=u,e.isRDLEmbed=p,e.autoAuthInEmbedUrl=c,e.getRandomValue=f,e.getTimeDiffInMilliseconds=v},function(t,e){var r={version:"2.15.0",type:"js"};Object.defineProperty(e,"__esModule",{value:!0}),e["default"]=r},function(t,e,r){/*! powerbi-models v1.6.0 | (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)===nt.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)?nt.Basic:"string"==typeof r.logicalOperator&&Array.isArray(r.conditions)?nt.Advanced:nt.Unknown}function n(t){return void 0!==t.table&&void 0!==t.measure}function l(t){return!(!t.table||!t.column||t.aggregationFunction)}function d(t){return!(!(t.table&&t.hierarchy&&t.hierarchyLevel)||t.aggregationFunction)}function s(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 v(t){var r=e.Validators.slicerStateValidator.validate(t);return r?r.map(p):void 0}function h(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.captureBookmarkRequestValidator.validate(t);return r?r.map(p):void 0}function w(t){var r=e.Validators.settingsValidator.validate(t);return r?r.map(p):void 0}function b(t){var r=e.Validators.reportPanesValidator.validate(t);return r?r.map(p):void 0}function P(t){var r=e.Validators.bookmarksPaneValidator.validate(t);return r?r.map(p):void 0}function S(t){var r=e.Validators.filtersPanesValidator.validate(t);return r?r.map(p):void 0}function T(t){var r=e.Validators.fieldsPanesValidator.validate(t);return r?r.map(p):void 0}function E(t){var r=e.Validators.pageNavigationPaneValidator.validate(t);return r?r.map(p):void 0}function O(t){var r=e.Validators.selectionPaneValidator.validate(t);return r?r.map(p):void 0}function _(t){var r=e.Validators.syncSlicersPaneValidator.validate(t);return r?r.map(p):void 0}function R(t){var r=e.Validators.visualizationsPanesValidator.validate(t);return r?r.map(p):void 0}function F(t){var r=e.Validators.customPageSizeValidator.validate(t);return r?r.map(p):void 0}function k(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 C(t){var r=e.Validators.reportCreateValidator.validate(t);return r?r.map(p):void 0}function x(t){var r=e.Validators.dashboardLoadValidator.validate(t);return r?r.map(p):void 0}function M(t){var r=e.Validators.tileLoadValidator.validate(t);return r?r.map(p):void 0}function q(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 L(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 N(t){var r=e.Validators.qnaInterpretInputDataValidator.validate(t);return r?r.map(p):void 0}function D(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 B(t){var r=e.Validators.visualSettingsValidator.validate(t);return r?r.map(p):void 0}function W(t){var r=e.Validators.commandsSettingsValidator.validate(t);return r?r.map(p):void 0}function H(t){var r=e.Validators.customThemeValidator.validate(t);return r?r.map(p):void 0}var z=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.validateCustomTheme=e.validateCommandsSettings=e.validateVisualSettings=e.validateVisualHeader=e.validateExportDataRequest=e.validateQnaInterpretInputData=e.validateLoadQnaConfiguration=e.validateSaveAsParameters=e.validateFilter=e.validatePage=e.validateTileLoad=e.validateDashboardLoad=e.validateCreateReport=e.validateReportLoad=e.validateExtension=e.validateCustomPageSize=e.validateVisualizationsPane=e.validateSyncSlicersPane=e.validateSelectionPane=e.validatePageNavigationPane=e.validateFieldsPane=e.validateFiltersPane=e.validateBookmarksPane=e.validatePanes=e.validateSettings=e.validateCaptureBookmarkRequest=e.validateApplyBookmarkStateRequest=e.validateApplyBookmarkByNameRequest=e.validateAddBookmarkRequest=e.validatePlayBookmarkRequest=e.validateSlicerState=e.validateSlicer=e.validateVisualSelector=e.VisualDataRoleKindPreference=e.VisualDataRoleKind=e.CommandDisplayOption=e.SlicerTargetSelector=e.VisualTypeSelector=e.VisualSelector=e.PageSelector=e.Selector=e.SortDirection=e.LegendPosition=e.TextAlignment=e.CommonErrorCodes=e.BookmarksPlayMode=e.ExportDataType=e.QnaMode=e.PageNavigationPosition=e.isColumnAggr=e.isHierarchyLevelAggr=e.isHierarchyLevel=e.isColumn=e.isMeasure=e.getFilterType=e.isBasicFilterWithKeys=e.isFilterKeyColumnsTarget=e.AdvancedFilter=e.TupleFilter=e.BasicFilterWithKeys=e.BasicFilter=e.RelativeTimeFilter=e.RelativeDateFilter=e.TopNFilter=e.IncludeExcludeFilter=e.NotSupportedFilter=e.Filter=e.RelativeDateOperators=e.RelativeDateFilterTimeUnit=e.FilterType=e.FiltersLevel=e.MenuLocation=e.ContrastMode=e.TokenType=e.ViewMode=e.Permissions=e.SectionVisibility=e.HyperlinkClickBehavior=e.LayoutType=e.VisualContainerDisplayMode=e.BackgroundType=e.DisplayOption=e.PageSizeType=e.TraceType=e.Validators=void 0,e.Validators=r(1).Validators;var J;!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"}(J=e.TraceType||(e.TraceType={}));var Q;!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"}(Q=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 K;!function(t){t[t.Default=0]="Default",t[t.Transparent=1]="Transparent"}(K=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 X;!function(t){t[t.Navigate=0]="Navigate",t[t.NavigateAndRaiseEvent=1]="NavigateAndRaiseEvent",t[t.RaiseEvent=2]="RaiseEvent"}(X=e.HyperlinkClickBehavior||(e.HyperlinkClickBehavior={}));var Z;!function(t){t[t.AlwaysVisible=0]="AlwaysVisible",t[t.HiddenInViewMode=1]="HiddenInViewMode"}(Z=e.SectionVisibility||(e.SectionVisibility={}));var tt;!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"}(tt=e.Permissions||(e.Permissions={}));var et;!function(t){t[t.View=0]="View",t[t.Edit=1]="Edit"}(et=e.ViewMode||(e.ViewMode={}));var rt;!function(t){t[t.Aad=0]="Aad",t[t.Embed=1]="Embed"}(rt=e.TokenType||(e.TokenType={}));var at;!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"}(at=e.ContrastMode||(e.ContrastMode={}));var it;!function(t){t[t.Bottom=0]="Bottom",t[t.Top=1]="Top"}(it=e.MenuLocation||(e.MenuLocation={}));var ot;!function(t){t[t.Report=0]="Report",t[t.Page=1]="Page",t[t.Visual=2]="Visual"}(ot=e.FiltersLevel||(e.FiltersLevel={}));var nt;!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"}(nt=e.FilterType||(e.FilterType={}));var lt;!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"}(lt=e.RelativeDateFilterTimeUnit||(e.RelativeDateFilterTimeUnit={}));var dt;!function(t){t[t.InLast=0]="InLast",t[t.InThis=1]="InThis",t[t.InNext=2]="InNext"}(dt=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 ut=function(t){function e(r,a,i){var o=t.call(this,r,nt.Unknown)||this;return o.message=a,o.notSupportedTypeName=i,o.schemaUrl=e.schemaUrl,o}return z(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=ut;var pt=function(t){function e(r,a,i){var o=t.call(this,r,nt.IncludeExclude)||this;return o.values=i,o.isExclude=a,o.schemaUrl=e.schemaUrl,o}return z(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=pt;var ct=function(t){function e(r,a,i,o){var n=t.call(this,r,nt.TopN)||this;return n.operator=a,n.itemCount=i,n.schemaUrl=e.schemaUrl,n.orderBy=o,n}return z(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=ct;var ft=function(t){function e(r,a,i,o,n){var l=t.call(this,r,nt.RelativeDate)||this;return l.operator=a,l.timeUnitsCount=i,l.timeUnitType=o,l.includeToday=n,l.schemaUrl=e.schemaUrl,l}return z(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=ft;var vt=function(t){function e(r,a,i,o){var n=t.call(this,r,nt.RelativeTime)||this;return n.operator=a,n.timeUnitsCount=i,n.timeUnitType=o,n.schemaUrl=e.schemaUrl,n}return z(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=vt;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 z(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=Vt,e.isFilterKeyColumnsTarget=a,e.isBasicFilterWithKeys=i,e.getFilterType=o,e.isMeasure=n,e.isColumn=l,e.isHierarchyLevel=d,e.isHierarchyLevelAggr=s,e.isColumnAggr=u;var gt;!function(t){t[t.Bottom=0]="Bottom",t[t.Left=1]="Left"}(gt=e.PageNavigationPosition||(e.PageNavigationPosition={}));var wt;!function(t){t[t.Interactive=0]="Interactive",t[t.ResultOnly=1]="ResultOnly"}(wt=e.QnaMode||(e.QnaMode={}));var bt;!function(t){t[t.Summarized=0]="Summarized",t[t.Underlying=1]="Underlying"}(bt=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 St;!function(t){t[t.Ascending=1]="Ascending",t[t.Descending=2]="Descending"}(St=e.SortDirection||(e.SortDirection={}));var Tt=function(){function t(t){this.$schema=t}return t.prototype.toJSON=function(){return{$schema:this.$schema}},t}();e.Selector=Tt;var Et=function(t){function e(r){var a=t.call(this,e.schemaUrl)||this;return a.pageName=r,a}return z(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}(Tt);e.PageSelector=Et;var Ot=function(t){function e(r){var a=t.call(this,e.schemaUrl)||this;return a.visualName=r,a}return z(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}(Tt);e.VisualSelector=Ot;var _t=function(t){function e(e){var r=t.call(this,Ot.schemaUrl)||this;return r.visualType=e,r}return z(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}(Tt);e.VisualTypeSelector=_t;var Rt=function(t){function e(e){var r=t.call(this,Ot.schemaUrl)||this;return r.target=e,r}return z(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}(Tt);e.SlicerTargetSelector=Rt;var Ft;!function(t){t[t.Enabled=0]="Enabled",t[t.Disabled=1]="Disabled",t[t.Hidden=2]="Hidden"}(Ft=e.CommandDisplayOption||(e.CommandDisplayOption={}));var kt;!function(t){t[t.Grouping=0]="Grouping",t[t.Measure=1]="Measure",t[t.GroupingOrMeasure=2]="GroupingOrMeasure"}(kt=e.VisualDataRoleKind||(e.VisualDataRoleKind={}));var At;!function(t){t[t.Measure=0]="Measure",t[t.Grouping=1]="Grouping"}(At=e.VisualDataRoleKindPreference||(e.VisualDataRoleKindPreference={})),e.validateVisualSelector=c,e.validateSlicer=f,e.validateSlicerState=v,e.validatePlayBookmarkRequest=h,e.validateAddBookmarkRequest=y,e.validateApplyBookmarkByNameRequest=m,e.validateApplyBookmarkStateRequest=V,e.validateCaptureBookmarkRequest=g,e.validateSettings=w,e.validatePanes=b,e.validateBookmarksPane=P,e.validateFiltersPane=S,e.validateFieldsPane=T,e.validatePageNavigationPane=E,e.validateSelectionPane=O,e.validateSyncSlicersPane=_,e.validateVisualizationsPane=R,e.validateCustomPageSize=F,e.validateExtension=k,e.validateReportLoad=A,e.validateCreateReport=C,e.validateDashboardLoad=x,e.validateTileLoad=M,e.validatePage=q,e.validateFilter=I,e.validateSaveAsParameters=L,e.validateLoadQnaConfiguration=j,e.validateQnaInterpretInputData=N,e.validateExportDataRequest=D,e.validateVisualHeader=U,e.validateVisualSettings=B,e.validateCommandsSettings=W,e.validateCustomTheme=H},function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.Validators=void 0;var a=r(2),i=r(3),o=r(5),n=r(6),l=r(7),d=r(8),s=r(9),u=r(10),p=r(11),c=r(12),f=r(13),v=r(14),h=r(15),y=r(16),m=r(17),V=r(18),g=r(19),w=r(20),b=r(21),P=r(22),S=r(23),T=r(24),E=r(25),O=r(26),_=r(27);e.Validators={addBookmarkRequestValidator:new n.AddBookmarkRequestValidator,advancedFilterTypeValidator:new a.EnumValidator([0]),advancedFilterValidator:new l.AdvancedFilterValidator,anyArrayValidator:new a.ArrayValidator([new s.AnyOfValidator([new a.StringValidator,new a.NumberValidator,new a.BooleanValidator])]),anyFilterValidator:new s.AnyOfValidator([new l.BasicFilterValidator,new l.AdvancedFilterValidator,new l.IncludeExcludeFilterValidator,new l.NotSupportedFilterValidator,new l.RelativeDateFilterValidator,new l.TopNFilterValidator,new l.RelativeTimeFilterValidator]),anyValueValidator:new s.AnyOfValidator([new a.StringValidator,new a.NumberValidator,new a.BooleanValidator]),actionBarValidator:new _.ActionBarValidator,applyBookmarkByNameRequestValidator:new n.ApplyBookmarkByNameRequestValidator,applyBookmarkStateRequestValidator:new n.ApplyBookmarkStateRequestValidator,applyBookmarkValidator:new s.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,captureBookmarkOptionsValidator:new n.CaptureBookmarkOptionsValidator,captureBookmarkRequestValidator:new n.CaptureBookmarkRequestValidator,commandDisplayOptionValidator:new a.EnumValidator([0,1,2]),commandExtensionSelectorValidator:new s.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 V.CustomLayoutValidator,customPageSizeValidator:new v.CustomPageSizeValidator,customThemeValidator:new T.CustomThemeValidator,dashboardLoadValidator:new c.DashboardLoadValidator,datasetBindingValidator:new E.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 d.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 s.AnyOfValidator([new l.FilterColumnTargetValidator,new l.FilterHierarchyTargetValidator,new l.FilterMeasureTargetValidator]),filtersArrayValidator:new a.ArrayValidator([new s.AnyOfValidator([new l.BasicFilterValidator,new l.AdvancedFilterValidator,new l.RelativeDateFilterValidator,new l.RelativeTimeFilterValidator])]),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 h.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,pageNavigationPositionValidator:new a.EnumValidator([0,1]),pageSizeTypeValidator:new a.EnumValidator([0,1,2,3,4,5]),pageSizeValidator:new v.PageSizeValidator,pageValidator:new v.PageValidator,pageViewFieldValidator:new v.PageViewFieldValidator,pagesLayoutValidator:new m.MapValidator([new a.StringValidator],[new V.PageLayoutValidator]),reportBarsValidator:new _.ReportBarsValidator,reportPanesValidator:new O.ReportPanesValidator,permissionsValidator:new a.EnumValidator([0,1,2,4,7]),playBookmarkRequestValidator:new n.PlayBookmarkRequestValidator,qnaInterpretInputDataValidator:new h.QnaInterpretInputDataValidator,qnaSettingValidator:new h.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 S.SingleCommandSettingsValidator,slicerSelectorValidator:new s.AnyOfValidator([new w.VisualSelectorValidator,new w.SlicerTargetSelectorValidator]),slicerStateValidator:new b.SlicerStateValidator,slicerTargetValidator:new s.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 s.AnyOfValidator([new w.VisualSelectorValidator,new w.VisualTypeSelectorValidator]),visualHeaderSelectorValidator:new s.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}),e.NumberArrayValidator=e.BooleanArrayValidator=e.StringArrayValidator=e.EnumValidator=e.SchemaValidator=e.ValueValidator=e.NumberValidator=e.BooleanValidator=e.StringValidator=e.TypeValidator=e.ArrayValidator=e.ObjectValidator=void 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;a0&&!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 z(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=Vt,e.isFilterKeyColumnsTarget=a,e.isBasicFilterWithKeys=i,e.getFilterType=o,e.isMeasure=n,e.isColumn=l,e.isHierarchyLevel=d,e.isHierarchyLevelAggr=s,e.isColumnAggr=u;var gt;!function(t){t[t.Bottom=0]="Bottom",t[t.Left=1]="Left"}(gt=e.PageNavigationPosition||(e.PageNavigationPosition={}));var wt;!function(t){t[t.Interactive=0]="Interactive",t[t.ResultOnly=1]="ResultOnly"}(wt=e.QnaMode||(e.QnaMode={}));var bt;!function(t){t[t.Summarized=0]="Summarized",t[t.Underlying=1]="Underlying"}(bt=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 St;!function(t){t[t.Ascending=1]="Ascending",t[t.Descending=2]="Descending"}(St=e.SortDirection||(e.SortDirection={}));var Tt=function(){function t(t){this.$schema=t}return t.prototype.toJSON=function(){return{$schema:this.$schema}},t}();e.Selector=Tt;var Et=function(t){function e(r){var a=t.call(this,e.schemaUrl)||this;return a.pageName=r,a}return z(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}(Tt);e.PageSelector=Et;var Ot=function(t){function e(r){var a=t.call(this,e.schemaUrl)||this;return a.visualName=r,a}return z(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}(Tt);e.VisualSelector=Ot;var _t=function(t){function e(e){var r=t.call(this,Ot.schemaUrl)||this;return r.visualType=e,r}return z(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}(Tt);e.VisualTypeSelector=_t;var Rt=function(t){function e(e){var r=t.call(this,Ot.schemaUrl)||this;return r.target=e,r}return z(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}(Tt);e.SlicerTargetSelector=Rt;var Ft;!function(t){t[t.Enabled=0]="Enabled",t[t.Disabled=1]="Disabled",t[t.Hidden=2]="Hidden"}(Ft=e.CommandDisplayOption||(e.CommandDisplayOption={}));var kt;!function(t){t[t.Grouping=0]="Grouping",t[t.Measure=1]="Measure",t[t.GroupingOrMeasure=2]="GroupingOrMeasure"}(kt=e.VisualDataRoleKind||(e.VisualDataRoleKind={}));var Ct;!function(t){t[t.Measure=0]="Measure",t[t.Grouping=1]="Grouping"}(Ct=e.VisualDataRoleKindPreference||(e.VisualDataRoleKindPreference={})),e.validateVisualSelector=c,e.validateSlicer=f,e.validateSlicerState=v,e.validatePlayBookmarkRequest=h,e.validateAddBookmarkRequest=y,e.validateApplyBookmarkByNameRequest=m,e.validateApplyBookmarkStateRequest=V,e.validateCaptureBookmarkRequest=g,e.validateSettings=w,e.validatePanes=b,e.validateBookmarksPane=P,e.validateFiltersPane=S,e.validateFieldsPane=T,e.validatePageNavigationPane=E,e.validateSelectionPane=O,e.validateSyncSlicersPane=_,e.validateVisualizationsPane=R,e.validateCustomPageSize=F,e.validateExtension=k,e.validateReportLoad=C,e.validateCreateReport=A,e.validateDashboardLoad=x,e.validateTileLoad=M,e.validatePage=q,e.validateFilter=I,e.validateSaveAsParameters=L,e.validateLoadQnaConfiguration=j,e.validateQnaInterpretInputData=N,e.validateExportDataRequest=D,e.validateVisualHeader=U,e.validateVisualSettings=B,e.validateCommandsSettings=W,e.validateCustomTheme=H},function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.Validators=void 0;var a=r(2),i=r(3),o=r(5),n=r(6),l=r(7),d=r(8),s=r(9),u=r(10),p=r(11),c=r(12),f=r(13),v=r(14),h=r(15),y=r(16),m=r(17),V=r(18),g=r(19),w=r(20),b=r(21),P=r(22),S=r(23),T=r(24),E=r(25),O=r(26),_=r(27);e.Validators={addBookmarkRequestValidator:new n.AddBookmarkRequestValidator,advancedFilterTypeValidator:new a.EnumValidator([0]),advancedFilterValidator:new l.AdvancedFilterValidator,anyArrayValidator:new a.ArrayValidator([new s.AnyOfValidator([new a.StringValidator,new a.NumberValidator,new a.BooleanValidator])]),anyFilterValidator:new s.AnyOfValidator([new l.BasicFilterValidator,new l.AdvancedFilterValidator,new l.IncludeExcludeFilterValidator,new l.NotSupportedFilterValidator,new l.RelativeDateFilterValidator,new l.TopNFilterValidator,new l.RelativeTimeFilterValidator]),anyValueValidator:new s.AnyOfValidator([new a.StringValidator,new a.NumberValidator,new a.BooleanValidator]),actionBarValidator:new _.ActionBarValidator,applyBookmarkByNameRequestValidator:new n.ApplyBookmarkByNameRequestValidator,applyBookmarkStateRequestValidator:new n.ApplyBookmarkStateRequestValidator,applyBookmarkValidator:new s.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,captureBookmarkOptionsValidator:new n.CaptureBookmarkOptionsValidator,captureBookmarkRequestValidator:new n.CaptureBookmarkRequestValidator,commandDisplayOptionValidator:new a.EnumValidator([0,1,2]),commandExtensionSelectorValidator:new s.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 V.CustomLayoutValidator,customPageSizeValidator:new v.CustomPageSizeValidator,customThemeValidator:new T.CustomThemeValidator,dashboardLoadValidator:new c.DashboardLoadValidator,datasetBindingValidator:new E.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 d.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 s.AnyOfValidator([new l.FilterColumnTargetValidator,new l.FilterHierarchyTargetValidator,new l.FilterMeasureTargetValidator]),filtersArrayValidator:new a.ArrayValidator([new s.AnyOfValidator([new l.BasicFilterValidator,new l.AdvancedFilterValidator,new l.RelativeDateFilterValidator,new l.RelativeTimeFilterValidator])]),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 h.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,pageNavigationPositionValidator:new a.EnumValidator([0,1]),pageSizeTypeValidator:new a.EnumValidator([0,1,2,3,4,5]),pageSizeValidator:new v.PageSizeValidator,pageValidator:new v.PageValidator,pageViewFieldValidator:new v.PageViewFieldValidator,pagesLayoutValidator:new m.MapValidator([new a.StringValidator],[new V.PageLayoutValidator]),reportBarsValidator:new _.ReportBarsValidator,reportPanesValidator:new O.ReportPanesValidator,permissionsValidator:new a.EnumValidator([0,1,2,4,7]),playBookmarkRequestValidator:new n.PlayBookmarkRequestValidator,qnaInterpretInputDataValidator:new h.QnaInterpretInputDataValidator,qnaSettingValidator:new h.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 S.SingleCommandSettingsValidator,slicerSelectorValidator:new s.AnyOfValidator([new w.VisualSelectorValidator,new w.SlicerTargetSelectorValidator]),slicerStateValidator:new b.SlicerStateValidator,slicerTargetValidator:new s.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 s.AnyOfValidator([new w.VisualSelectorValidator,new w.VisualTypeSelectorValidator]),visualHeaderSelectorValidator:new s.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}),e.NumberArrayValidator=e.BooleanArrayValidator=e.StringArrayValidator=e.EnumValidator=e.SchemaValidator=e.ValueValidator=e.NumberValidator=e.BooleanValidator=e.StringValidator=e.TypeValidator=e.ArrayValidator=e.ObjectValidator=void 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: Thu, 12 Nov 2020 09:51:18 +0000 Subject: [PATCH 030/125] Merged PR 127127: [Release] version 2.15.1 Bug fix - !126401 And some minor changes - !126402 - !121530 --- dist/powerbi-client.d.ts | 2 +- dist/powerbi.js | 4 ++-- dist/powerbi.min.js | 4 ++-- package.json | 2 +- src/config.ts | 2 +- 5 files changed, 7 insertions(+), 7 deletions(-) diff --git a/dist/powerbi-client.d.ts b/dist/powerbi-client.d.ts index a1232011..c1dd08e0 100644 --- a/dist/powerbi-client.d.ts +++ b/dist/powerbi-client.d.ts @@ -1,4 +1,4 @@ -/*! powerbi-client v2.15.0 | (c) 2016 Microsoft Corporation MIT */ +/*! powerbi-client v2.15.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 d49725ed..d149d6c1 100644 --- a/dist/powerbi.js +++ b/dist/powerbi.js @@ -1,4 +1,4 @@ -/*! powerbi-client v2.15.0 | (c) 2016 Microsoft Corporation MIT */ +/*! powerbi-client v2.15.1 | (c) 2016 Microsoft Corporation MIT */ (function webpackUniversalModuleDefinition(root, factory) { if(typeof exports === 'object' && typeof module === 'object') module.exports = factory(); @@ -1303,7 +1303,7 @@ return /******/ (function(modules) { // webpackBootstrap /** @ignore */ /** */ var config = { - version: '2.15.0', + version: '2.15.1', type: 'js' }; Object.defineProperty(exports, "__esModule", { value: true }); diff --git a/dist/powerbi.min.js b/dist/powerbi.min.js index 9e18aac7..e0f193dd 100644 --- a/dist/powerbi.min.js +++ b/dist/powerbi.min.js @@ -1,5 +1,5 @@ -/*! powerbi-client v2.15.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(16);e.factories=i;var o=r(5);e.models=o;var n=r(7);e.Report=n.Report;var l=r(12);e.Dashboard=l.Dashboard;var d=r(13);e.Tile=d.Tile;var s=r(2);e.Embed=s.Embed;var u=r(8);e.Page=u.Page;var p=r(14);e.Qna=p.Qna;var c=r(15);e.Visual=c.Visual;var f=r(9);e.VisualDescriptor=f.VisualDescriptor;var v=new a.Service(i.hpmFactory,i.wpmpFactory,i.routerFactory);window.powerbi=v},function(t,e,r){var a=r(2),i=r(7),o=r(11),n=r(12),l=r(13),d=r(8),s=r(14),u=r(15),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 d=p.find(function(t){return l===t.type.toLowerCase()},t.components);if(!d)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 s=new d(this,e,r,o,n);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),(!1),t.powerBiEmbed.iframe);return a.populateConfig(e,!1),o.load(),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(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){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 d.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,s.Qna,u.Visual],t.defaultConfig={autoEmbedOnContentLoaded:!1,onError:function(){for(var t=[],e=0;e>=4,r.toString(16)})}function s(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]}function v(t,e){return Math.abs(t.getTime()-e.getTime())}e.raiseCustomEvent=r,e.findIndex=a,e.find=i,e.remove=o,e.assign=n,e.createRandomString=l,e.generateUUID=d,e.addParamToUrl=s,e.isSavedInternal=u,e.isRDLEmbed=p,e.autoAuthInEmbedUrl=c,e.getRandomValue=f,e.getTimeDiffInMilliseconds=v},function(t,e){var r={version:"2.15.0",type:"js"};Object.defineProperty(e,"__esModule",{value:!0}),e["default"]=r},function(t,e,r){/*! powerbi-models v1.6.0 | (c) 2016 Microsoft Corporation MIT */ +/*! powerbi-client v2.15.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(16);e.factories=i;var o=r(5);e.models=o;var n=r(7);e.Report=n.Report;var l=r(12);e.Dashboard=l.Dashboard;var d=r(13);e.Tile=d.Tile;var s=r(2);e.Embed=s.Embed;var u=r(8);e.Page=u.Page;var p=r(14);e.Qna=p.Qna;var c=r(15);e.Visual=c.Visual;var f=r(9);e.VisualDescriptor=f.VisualDescriptor;var v=new a.Service(i.hpmFactory,i.wpmpFactory,i.routerFactory);window.powerbi=v},function(t,e,r){var a=r(2),i=r(7),o=r(11),n=r(12),l=r(13),d=r(8),s=r(14),u=r(15),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 d=p.find(function(t){return l===t.type.toLowerCase()},t.components);if(!d)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 s=new d(this,e,r,o,n);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),(!1),t.powerBiEmbed.iframe);return a.populateConfig(e,!1),o.load(),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(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){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 d.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,s.Qna,u.Visual],t.defaultConfig={autoEmbedOnContentLoaded:!1,onError:function(){for(var t=[],e=0;e>=4,r.toString(16)})}function s(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]}function v(t,e){return Math.abs(t.getTime()-e.getTime())}e.raiseCustomEvent=r,e.findIndex=a,e.find=i,e.remove=o,e.assign=n,e.createRandomString=l,e.generateUUID=d,e.addParamToUrl=s,e.isSavedInternal=u,e.isRDLEmbed=p,e.autoAuthInEmbedUrl=c,e.getRandomValue=f,e.getTimeDiffInMilliseconds=v},function(t,e){var r={version:"2.15.1",type:"js"};Object.defineProperty(e,"__esModule",{value:!0}),e["default"]=r},function(t,e,r){/*! powerbi-models v1.6.0 | (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)===nt.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)?nt.Basic:"string"==typeof r.logicalOperator&&Array.isArray(r.conditions)?nt.Advanced:nt.Unknown}function n(t){return void 0!==t.table&&void 0!==t.measure}function l(t){return!(!t.table||!t.column||t.aggregationFunction)}function d(t){return!(!(t.table&&t.hierarchy&&t.hierarchyLevel)||t.aggregationFunction)}function s(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 v(t){var r=e.Validators.slicerStateValidator.validate(t);return r?r.map(p):void 0}function h(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.captureBookmarkRequestValidator.validate(t);return r?r.map(p):void 0}function w(t){var r=e.Validators.settingsValidator.validate(t);return r?r.map(p):void 0}function b(t){var r=e.Validators.reportPanesValidator.validate(t);return r?r.map(p):void 0}function P(t){var r=e.Validators.bookmarksPaneValidator.validate(t);return r?r.map(p):void 0}function S(t){var r=e.Validators.filtersPanesValidator.validate(t);return r?r.map(p):void 0}function T(t){var r=e.Validators.fieldsPanesValidator.validate(t);return r?r.map(p):void 0}function E(t){var r=e.Validators.pageNavigationPaneValidator.validate(t);return r?r.map(p):void 0}function O(t){var r=e.Validators.selectionPaneValidator.validate(t);return r?r.map(p):void 0}function _(t){var r=e.Validators.syncSlicersPaneValidator.validate(t);return r?r.map(p):void 0}function R(t){var r=e.Validators.visualizationsPanesValidator.validate(t);return r?r.map(p):void 0}function F(t){var r=e.Validators.customPageSizeValidator.validate(t);return r?r.map(p):void 0}function k(t){var r=e.Validators.extensionValidator.validate(t);return r?r.map(p):void 0}function C(t){var r=e.Validators.reportLoadValidator.validate(t);return r?r.map(p):void 0}function A(t){var r=e.Validators.reportCreateValidator.validate(t);return r?r.map(p):void 0}function x(t){var r=e.Validators.dashboardLoadValidator.validate(t);return r?r.map(p):void 0}function M(t){var r=e.Validators.tileLoadValidator.validate(t);return r?r.map(p):void 0}function q(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 L(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 N(t){var r=e.Validators.qnaInterpretInputDataValidator.validate(t);return r?r.map(p):void 0}function D(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 B(t){var r=e.Validators.visualSettingsValidator.validate(t);return r?r.map(p):void 0}function W(t){var r=e.Validators.commandsSettingsValidator.validate(t);return r?r.map(p):void 0}function H(t){var r=e.Validators.customThemeValidator.validate(t);return r?r.map(p):void 0}var z=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.validateCustomTheme=e.validateCommandsSettings=e.validateVisualSettings=e.validateVisualHeader=e.validateExportDataRequest=e.validateQnaInterpretInputData=e.validateLoadQnaConfiguration=e.validateSaveAsParameters=e.validateFilter=e.validatePage=e.validateTileLoad=e.validateDashboardLoad=e.validateCreateReport=e.validateReportLoad=e.validateExtension=e.validateCustomPageSize=e.validateVisualizationsPane=e.validateSyncSlicersPane=e.validateSelectionPane=e.validatePageNavigationPane=e.validateFieldsPane=e.validateFiltersPane=e.validateBookmarksPane=e.validatePanes=e.validateSettings=e.validateCaptureBookmarkRequest=e.validateApplyBookmarkStateRequest=e.validateApplyBookmarkByNameRequest=e.validateAddBookmarkRequest=e.validatePlayBookmarkRequest=e.validateSlicerState=e.validateSlicer=e.validateVisualSelector=e.VisualDataRoleKindPreference=e.VisualDataRoleKind=e.CommandDisplayOption=e.SlicerTargetSelector=e.VisualTypeSelector=e.VisualSelector=e.PageSelector=e.Selector=e.SortDirection=e.LegendPosition=e.TextAlignment=e.CommonErrorCodes=e.BookmarksPlayMode=e.ExportDataType=e.QnaMode=e.PageNavigationPosition=e.isColumnAggr=e.isHierarchyLevelAggr=e.isHierarchyLevel=e.isColumn=e.isMeasure=e.getFilterType=e.isBasicFilterWithKeys=e.isFilterKeyColumnsTarget=e.AdvancedFilter=e.TupleFilter=e.BasicFilterWithKeys=e.BasicFilter=e.RelativeTimeFilter=e.RelativeDateFilter=e.TopNFilter=e.IncludeExcludeFilter=e.NotSupportedFilter=e.Filter=e.RelativeDateOperators=e.RelativeDateFilterTimeUnit=e.FilterType=e.FiltersLevel=e.MenuLocation=e.ContrastMode=e.TokenType=e.ViewMode=e.Permissions=e.SectionVisibility=e.HyperlinkClickBehavior=e.LayoutType=e.VisualContainerDisplayMode=e.BackgroundType=e.DisplayOption=e.PageSizeType=e.TraceType=e.Validators=void 0,e.Validators=r(1).Validators;var J;!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"}(J=e.TraceType||(e.TraceType={}));var Q;!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"}(Q=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 K;!function(t){t[t.Default=0]="Default",t[t.Transparent=1]="Transparent"}(K=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 X;!function(t){t[t.Navigate=0]="Navigate",t[t.NavigateAndRaiseEvent=1]="NavigateAndRaiseEvent",t[t.RaiseEvent=2]="RaiseEvent"}(X=e.HyperlinkClickBehavior||(e.HyperlinkClickBehavior={}));var Z;!function(t){t[t.AlwaysVisible=0]="AlwaysVisible",t[t.HiddenInViewMode=1]="HiddenInViewMode"}(Z=e.SectionVisibility||(e.SectionVisibility={}));var tt;!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"}(tt=e.Permissions||(e.Permissions={}));var et;!function(t){t[t.View=0]="View",t[t.Edit=1]="Edit"}(et=e.ViewMode||(e.ViewMode={}));var rt;!function(t){t[t.Aad=0]="Aad",t[t.Embed=1]="Embed"}(rt=e.TokenType||(e.TokenType={}));var at;!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"}(at=e.ContrastMode||(e.ContrastMode={}));var it;!function(t){t[t.Bottom=0]="Bottom",t[t.Top=1]="Top"}(it=e.MenuLocation||(e.MenuLocation={}));var ot;!function(t){t[t.Report=0]="Report",t[t.Page=1]="Page",t[t.Visual=2]="Visual"}(ot=e.FiltersLevel||(e.FiltersLevel={}));var nt;!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"}(nt=e.FilterType||(e.FilterType={}));var lt;!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"}(lt=e.RelativeDateFilterTimeUnit||(e.RelativeDateFilterTimeUnit={}));var dt;!function(t){t[t.InLast=0]="InLast",t[t.InThis=1]="InThis",t[t.InNext=2]="InNext"}(dt=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 ut=function(t){function e(r,a,i){var o=t.call(this,r,nt.Unknown)||this;return o.message=a,o.notSupportedTypeName=i,o.schemaUrl=e.schemaUrl,o}return z(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=ut;var pt=function(t){function e(r,a,i){var o=t.call(this,r,nt.IncludeExclude)||this;return o.values=i,o.isExclude=a,o.schemaUrl=e.schemaUrl,o}return z(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=pt;var ct=function(t){function e(r,a,i,o){var n=t.call(this,r,nt.TopN)||this;return n.operator=a,n.itemCount=i,n.schemaUrl=e.schemaUrl,n.orderBy=o,n}return z(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=ct;var ft=function(t){function e(r,a,i,o,n){var l=t.call(this,r,nt.RelativeDate)||this;return l.operator=a,l.timeUnitsCount=i,l.timeUnitType=o,l.includeToday=n,l.schemaUrl=e.schemaUrl,l}return z(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=ft;var vt=function(t){function e(r,a,i,o){var n=t.call(this,r,nt.RelativeTime)||this;return n.operator=a,n.timeUnitsCount=i,n.timeUnitType=o,n.schemaUrl=e.schemaUrl,n}return z(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=vt;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 z(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=Vt,e.isFilterKeyColumnsTarget=a,e.isBasicFilterWithKeys=i,e.getFilterType=o,e.isMeasure=n,e.isColumn=l,e.isHierarchyLevel=d,e.isHierarchyLevelAggr=s,e.isColumnAggr=u;var gt;!function(t){t[t.Bottom=0]="Bottom",t[t.Left=1]="Left"}(gt=e.PageNavigationPosition||(e.PageNavigationPosition={}));var wt;!function(t){t[t.Interactive=0]="Interactive",t[t.ResultOnly=1]="ResultOnly"}(wt=e.QnaMode||(e.QnaMode={}));var bt;!function(t){t[t.Summarized=0]="Summarized",t[t.Underlying=1]="Underlying"}(bt=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 St;!function(t){t[t.Ascending=1]="Ascending",t[t.Descending=2]="Descending"}(St=e.SortDirection||(e.SortDirection={}));var Tt=function(){function t(t){this.$schema=t}return t.prototype.toJSON=function(){return{$schema:this.$schema}},t}();e.Selector=Tt;var Et=function(t){function e(r){var a=t.call(this,e.schemaUrl)||this;return a.pageName=r,a}return z(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}(Tt);e.PageSelector=Et;var Ot=function(t){function e(r){var a=t.call(this,e.schemaUrl)||this;return a.visualName=r,a}return z(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}(Tt);e.VisualSelector=Ot;var _t=function(t){function e(e){var r=t.call(this,Ot.schemaUrl)||this;return r.visualType=e,r}return z(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}(Tt);e.VisualTypeSelector=_t;var Rt=function(t){function e(e){var r=t.call(this,Ot.schemaUrl)||this;return r.target=e,r}return z(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}(Tt);e.SlicerTargetSelector=Rt;var Ft;!function(t){t[t.Enabled=0]="Enabled",t[t.Disabled=1]="Disabled",t[t.Hidden=2]="Hidden"}(Ft=e.CommandDisplayOption||(e.CommandDisplayOption={}));var kt;!function(t){t[t.Grouping=0]="Grouping",t[t.Measure=1]="Measure",t[t.GroupingOrMeasure=2]="GroupingOrMeasure"}(kt=e.VisualDataRoleKind||(e.VisualDataRoleKind={}));var Ct;!function(t){t[t.Measure=0]="Measure",t[t.Grouping=1]="Grouping"}(Ct=e.VisualDataRoleKindPreference||(e.VisualDataRoleKindPreference={})),e.validateVisualSelector=c,e.validateSlicer=f,e.validateSlicerState=v,e.validatePlayBookmarkRequest=h,e.validateAddBookmarkRequest=y,e.validateApplyBookmarkByNameRequest=m,e.validateApplyBookmarkStateRequest=V,e.validateCaptureBookmarkRequest=g,e.validateSettings=w,e.validatePanes=b,e.validateBookmarksPane=P,e.validateFiltersPane=S,e.validateFieldsPane=T,e.validatePageNavigationPane=E,e.validateSelectionPane=O,e.validateSyncSlicersPane=_,e.validateVisualizationsPane=R,e.validateCustomPageSize=F,e.validateExtension=k,e.validateReportLoad=C,e.validateCreateReport=A,e.validateDashboardLoad=x,e.validateTileLoad=M,e.validatePage=q,e.validateFilter=I,e.validateSaveAsParameters=L,e.validateLoadQnaConfiguration=j,e.validateQnaInterpretInputData=N,e.validateExportDataRequest=D,e.validateVisualHeader=U,e.validateVisualSettings=B,e.validateCommandsSettings=W,e.validateCustomTheme=H},function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.Validators=void 0;var a=r(2),i=r(3),o=r(5),n=r(6),l=r(7),d=r(8),s=r(9),u=r(10),p=r(11),c=r(12),f=r(13),v=r(14),h=r(15),y=r(16),m=r(17),V=r(18),g=r(19),w=r(20),b=r(21),P=r(22),S=r(23),T=r(24),E=r(25),O=r(26),_=r(27);e.Validators={addBookmarkRequestValidator:new n.AddBookmarkRequestValidator,advancedFilterTypeValidator:new a.EnumValidator([0]),advancedFilterValidator:new l.AdvancedFilterValidator,anyArrayValidator:new a.ArrayValidator([new s.AnyOfValidator([new a.StringValidator,new a.NumberValidator,new a.BooleanValidator])]),anyFilterValidator:new s.AnyOfValidator([new l.BasicFilterValidator,new l.AdvancedFilterValidator,new l.IncludeExcludeFilterValidator,new l.NotSupportedFilterValidator,new l.RelativeDateFilterValidator,new l.TopNFilterValidator,new l.RelativeTimeFilterValidator]),anyValueValidator:new s.AnyOfValidator([new a.StringValidator,new a.NumberValidator,new a.BooleanValidator]),actionBarValidator:new _.ActionBarValidator,applyBookmarkByNameRequestValidator:new n.ApplyBookmarkByNameRequestValidator,applyBookmarkStateRequestValidator:new n.ApplyBookmarkStateRequestValidator,applyBookmarkValidator:new s.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,captureBookmarkOptionsValidator:new n.CaptureBookmarkOptionsValidator,captureBookmarkRequestValidator:new n.CaptureBookmarkRequestValidator,commandDisplayOptionValidator:new a.EnumValidator([0,1,2]),commandExtensionSelectorValidator:new s.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 V.CustomLayoutValidator,customPageSizeValidator:new v.CustomPageSizeValidator,customThemeValidator:new T.CustomThemeValidator,dashboardLoadValidator:new c.DashboardLoadValidator,datasetBindingValidator:new E.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 d.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 s.AnyOfValidator([new l.FilterColumnTargetValidator,new l.FilterHierarchyTargetValidator,new l.FilterMeasureTargetValidator]),filtersArrayValidator:new a.ArrayValidator([new s.AnyOfValidator([new l.BasicFilterValidator,new l.AdvancedFilterValidator,new l.RelativeDateFilterValidator,new l.RelativeTimeFilterValidator])]),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 h.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,pageNavigationPositionValidator:new a.EnumValidator([0,1]),pageSizeTypeValidator:new a.EnumValidator([0,1,2,3,4,5]),pageSizeValidator:new v.PageSizeValidator,pageValidator:new v.PageValidator,pageViewFieldValidator:new v.PageViewFieldValidator,pagesLayoutValidator:new m.MapValidator([new a.StringValidator],[new V.PageLayoutValidator]),reportBarsValidator:new _.ReportBarsValidator,reportPanesValidator:new O.ReportPanesValidator,permissionsValidator:new a.EnumValidator([0,1,2,4,7]),playBookmarkRequestValidator:new n.PlayBookmarkRequestValidator,qnaInterpretInputDataValidator:new h.QnaInterpretInputDataValidator,qnaSettingValidator:new h.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 S.SingleCommandSettingsValidator,slicerSelectorValidator:new s.AnyOfValidator([new w.VisualSelectorValidator,new w.SlicerTargetSelectorValidator]),slicerStateValidator:new b.SlicerStateValidator,slicerTargetValidator:new s.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 s.AnyOfValidator([new w.VisualSelectorValidator,new w.VisualTypeSelectorValidator]),visualHeaderSelectorValidator:new s.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}),e.NumberArrayValidator=e.BooleanArrayValidator=e.StringArrayValidator=e.EnumValidator=e.SchemaValidator=e.ValueValidator=e.NumberValidator=e.BooleanValidator=e.StringValidator=e.TypeValidator=e.ArrayValidator=e.ObjectValidator=void 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: Sun, 15 Nov 2020 15:42:16 +0000 Subject: [PATCH 031/125] Merged PR 127536: Adds getVisualDetails API Added getVisualDetails API to get the visual descriptor object for the embedded visual --- dist/powerbi-client.d.ts | 12 +++++++++ dist/powerbi.js | 33 ++++++++++++++++++++++++ dist/powerbi.min.js | 2 +- src/visual.ts | 39 ++++++++++++++++++++++++++++ test/test.spec.ts | 55 ++++++++++++++++++++++++++++++++++++++++ 5 files changed, 140 insertions(+), 1 deletion(-) diff --git a/dist/powerbi-client.d.ts b/dist/powerbi-client.d.ts index c1dd08e0..9129749a 100644 --- a/dist/powerbi-client.d.ts +++ b/dist/powerbi-client.d.ts @@ -1475,6 +1475,7 @@ declare module "visual" { import * as models from 'powerbi-models'; import { Report } from "report"; import { Page } from "page"; + import { VisualDescriptor } from "visualDescriptor"; /** * The Power BI Visual embed component * @@ -1511,6 +1512,17 @@ declare module "visual" { * @returns {Promise} */ setPage(pageName: string): Promise; + /** + * Gets the embedded visual descriptor object that contains the visual name, type, etc. + * + * ```javascript + * visual.getVisualDescriptor() + * .then(visualDetails => { ... }); + * ``` + * + * @returns {Promise} + */ + getVisualDescriptor(): Promise; /** * Gets filters that are applied to the filter level. * Default filter level is visual level. diff --git a/dist/powerbi.js b/dist/powerbi.js index d149d6c1..4e8eb474 100644 --- a/dist/powerbi.js +++ b/dist/powerbi.js @@ -6747,6 +6747,7 @@ return /******/ (function(modules) { // webpackBootstrap }; var models = __webpack_require__(5); var report_1 = __webpack_require__(7); + var visualDescriptor_1 = __webpack_require__(9); /** * The Power BI Visual embed component * @@ -6834,6 +6835,38 @@ return /******/ (function(modules) { // webpackBootstrap Visual.prototype.setPage = function (pageName) { throw Visual.SetPageNotSupportedError; }; + /** + * Gets the embedded visual descriptor object that contains the visual name, type, etc. + * + * ```javascript + * visual.getVisualDescriptor() + * .then(visualDetails => { ... }); + * ``` + * + * @returns {Promise} + */ + Visual.prototype.getVisualDescriptor = function () { + var _this = this; + var config = this.config; + return this.service.hpm.get("/report/pages/" + config.pageName + "/visuals", { uid: this.config.uniqueId }, this.iframe.contentWindow) + .then(function (response) { + // Find the embedded visual from visuals of this page + // TODO: Use the Array.find method when ES6 is available + var embeddedVisuals = response.body.filter(function (pageVisual) { return pageVisual.name === config.visualName; }); + if (embeddedVisuals.length === 0) { + var visualNotFoundError = { + message: "visualNotFound", + detailedMessage: "Visual not found" + }; + throw visualNotFoundError; + } + var embeddedVisual = embeddedVisuals[0]; + var currentPage = _this.page(config.pageName); + return new visualDescriptor_1.VisualDescriptor(currentPage, embeddedVisual.name, embeddedVisual.title, embeddedVisual.type, embeddedVisual.layout); + }, function (response) { + throw response.body; + }); + }; /** * Gets filters that are applied to the filter level. * Default filter level is visual level. diff --git a/dist/powerbi.min.js b/dist/powerbi.min.js index e0f193dd..2391ed50 100644 --- a/dist/powerbi.min.js +++ b/dist/powerbi.min.js @@ -3,7 +3,7 @@ !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)===nt.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)?nt.Basic:"string"==typeof r.logicalOperator&&Array.isArray(r.conditions)?nt.Advanced:nt.Unknown}function n(t){return void 0!==t.table&&void 0!==t.measure}function l(t){return!(!t.table||!t.column||t.aggregationFunction)}function d(t){return!(!(t.table&&t.hierarchy&&t.hierarchyLevel)||t.aggregationFunction)}function s(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 v(t){var r=e.Validators.slicerStateValidator.validate(t);return r?r.map(p):void 0}function h(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.captureBookmarkRequestValidator.validate(t);return r?r.map(p):void 0}function w(t){var r=e.Validators.settingsValidator.validate(t);return r?r.map(p):void 0}function b(t){var r=e.Validators.reportPanesValidator.validate(t);return r?r.map(p):void 0}function P(t){var r=e.Validators.bookmarksPaneValidator.validate(t);return r?r.map(p):void 0}function S(t){var r=e.Validators.filtersPanesValidator.validate(t);return r?r.map(p):void 0}function T(t){var r=e.Validators.fieldsPanesValidator.validate(t);return r?r.map(p):void 0}function E(t){var r=e.Validators.pageNavigationPaneValidator.validate(t);return r?r.map(p):void 0}function O(t){var r=e.Validators.selectionPaneValidator.validate(t);return r?r.map(p):void 0}function _(t){var r=e.Validators.syncSlicersPaneValidator.validate(t);return r?r.map(p):void 0}function R(t){var r=e.Validators.visualizationsPanesValidator.validate(t);return r?r.map(p):void 0}function F(t){var r=e.Validators.customPageSizeValidator.validate(t);return r?r.map(p):void 0}function k(t){var r=e.Validators.extensionValidator.validate(t);return r?r.map(p):void 0}function C(t){var r=e.Validators.reportLoadValidator.validate(t);return r?r.map(p):void 0}function A(t){var r=e.Validators.reportCreateValidator.validate(t);return r?r.map(p):void 0}function x(t){var r=e.Validators.dashboardLoadValidator.validate(t);return r?r.map(p):void 0}function M(t){var r=e.Validators.tileLoadValidator.validate(t);return r?r.map(p):void 0}function q(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 L(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 N(t){var r=e.Validators.qnaInterpretInputDataValidator.validate(t);return r?r.map(p):void 0}function D(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 B(t){var r=e.Validators.visualSettingsValidator.validate(t);return r?r.map(p):void 0}function W(t){var r=e.Validators.commandsSettingsValidator.validate(t);return r?r.map(p):void 0}function H(t){var r=e.Validators.customThemeValidator.validate(t);return r?r.map(p):void 0}var z=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.validateCustomTheme=e.validateCommandsSettings=e.validateVisualSettings=e.validateVisualHeader=e.validateExportDataRequest=e.validateQnaInterpretInputData=e.validateLoadQnaConfiguration=e.validateSaveAsParameters=e.validateFilter=e.validatePage=e.validateTileLoad=e.validateDashboardLoad=e.validateCreateReport=e.validateReportLoad=e.validateExtension=e.validateCustomPageSize=e.validateVisualizationsPane=e.validateSyncSlicersPane=e.validateSelectionPane=e.validatePageNavigationPane=e.validateFieldsPane=e.validateFiltersPane=e.validateBookmarksPane=e.validatePanes=e.validateSettings=e.validateCaptureBookmarkRequest=e.validateApplyBookmarkStateRequest=e.validateApplyBookmarkByNameRequest=e.validateAddBookmarkRequest=e.validatePlayBookmarkRequest=e.validateSlicerState=e.validateSlicer=e.validateVisualSelector=e.VisualDataRoleKindPreference=e.VisualDataRoleKind=e.CommandDisplayOption=e.SlicerTargetSelector=e.VisualTypeSelector=e.VisualSelector=e.PageSelector=e.Selector=e.SortDirection=e.LegendPosition=e.TextAlignment=e.CommonErrorCodes=e.BookmarksPlayMode=e.ExportDataType=e.QnaMode=e.PageNavigationPosition=e.isColumnAggr=e.isHierarchyLevelAggr=e.isHierarchyLevel=e.isColumn=e.isMeasure=e.getFilterType=e.isBasicFilterWithKeys=e.isFilterKeyColumnsTarget=e.AdvancedFilter=e.TupleFilter=e.BasicFilterWithKeys=e.BasicFilter=e.RelativeTimeFilter=e.RelativeDateFilter=e.TopNFilter=e.IncludeExcludeFilter=e.NotSupportedFilter=e.Filter=e.RelativeDateOperators=e.RelativeDateFilterTimeUnit=e.FilterType=e.FiltersLevel=e.MenuLocation=e.ContrastMode=e.TokenType=e.ViewMode=e.Permissions=e.SectionVisibility=e.HyperlinkClickBehavior=e.LayoutType=e.VisualContainerDisplayMode=e.BackgroundType=e.DisplayOption=e.PageSizeType=e.TraceType=e.Validators=void 0,e.Validators=r(1).Validators;var J;!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"}(J=e.TraceType||(e.TraceType={}));var Q;!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"}(Q=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 K;!function(t){t[t.Default=0]="Default",t[t.Transparent=1]="Transparent"}(K=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 X;!function(t){t[t.Navigate=0]="Navigate",t[t.NavigateAndRaiseEvent=1]="NavigateAndRaiseEvent",t[t.RaiseEvent=2]="RaiseEvent"}(X=e.HyperlinkClickBehavior||(e.HyperlinkClickBehavior={}));var Z;!function(t){t[t.AlwaysVisible=0]="AlwaysVisible",t[t.HiddenInViewMode=1]="HiddenInViewMode"}(Z=e.SectionVisibility||(e.SectionVisibility={}));var tt;!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"}(tt=e.Permissions||(e.Permissions={}));var et;!function(t){t[t.View=0]="View",t[t.Edit=1]="Edit"}(et=e.ViewMode||(e.ViewMode={}));var rt;!function(t){t[t.Aad=0]="Aad",t[t.Embed=1]="Embed"}(rt=e.TokenType||(e.TokenType={}));var at;!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"}(at=e.ContrastMode||(e.ContrastMode={}));var it;!function(t){t[t.Bottom=0]="Bottom",t[t.Top=1]="Top"}(it=e.MenuLocation||(e.MenuLocation={}));var ot;!function(t){t[t.Report=0]="Report",t[t.Page=1]="Page",t[t.Visual=2]="Visual"}(ot=e.FiltersLevel||(e.FiltersLevel={}));var nt;!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"}(nt=e.FilterType||(e.FilterType={}));var lt;!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"}(lt=e.RelativeDateFilterTimeUnit||(e.RelativeDateFilterTimeUnit={}));var dt;!function(t){t[t.InLast=0]="InLast",t[t.InThis=1]="InThis",t[t.InNext=2]="InNext"}(dt=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 ut=function(t){function e(r,a,i){var o=t.call(this,r,nt.Unknown)||this;return o.message=a,o.notSupportedTypeName=i,o.schemaUrl=e.schemaUrl,o}return z(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=ut;var pt=function(t){function e(r,a,i){var o=t.call(this,r,nt.IncludeExclude)||this;return o.values=i,o.isExclude=a,o.schemaUrl=e.schemaUrl,o}return z(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=pt;var ct=function(t){function e(r,a,i,o){var n=t.call(this,r,nt.TopN)||this;return n.operator=a,n.itemCount=i,n.schemaUrl=e.schemaUrl,n.orderBy=o,n}return z(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=ct;var ft=function(t){function e(r,a,i,o,n){var l=t.call(this,r,nt.RelativeDate)||this;return l.operator=a,l.timeUnitsCount=i,l.timeUnitType=o,l.includeToday=n,l.schemaUrl=e.schemaUrl,l}return z(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=ft;var vt=function(t){function e(r,a,i,o){var n=t.call(this,r,nt.RelativeTime)||this;return n.operator=a,n.timeUnitsCount=i,n.timeUnitType=o,n.schemaUrl=e.schemaUrl,n}return z(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=vt;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 z(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=Vt,e.isFilterKeyColumnsTarget=a,e.isBasicFilterWithKeys=i,e.getFilterType=o,e.isMeasure=n,e.isColumn=l,e.isHierarchyLevel=d,e.isHierarchyLevelAggr=s,e.isColumnAggr=u;var gt;!function(t){t[t.Bottom=0]="Bottom",t[t.Left=1]="Left"}(gt=e.PageNavigationPosition||(e.PageNavigationPosition={}));var wt;!function(t){t[t.Interactive=0]="Interactive",t[t.ResultOnly=1]="ResultOnly"}(wt=e.QnaMode||(e.QnaMode={}));var bt;!function(t){t[t.Summarized=0]="Summarized",t[t.Underlying=1]="Underlying"}(bt=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 St;!function(t){t[t.Ascending=1]="Ascending",t[t.Descending=2]="Descending"}(St=e.SortDirection||(e.SortDirection={}));var Tt=function(){function t(t){this.$schema=t}return t.prototype.toJSON=function(){return{$schema:this.$schema}},t}();e.Selector=Tt;var Et=function(t){function e(r){var a=t.call(this,e.schemaUrl)||this;return a.pageName=r,a}return z(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}(Tt);e.PageSelector=Et;var Ot=function(t){function e(r){var a=t.call(this,e.schemaUrl)||this;return a.visualName=r,a}return z(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}(Tt);e.VisualSelector=Ot;var _t=function(t){function e(e){var r=t.call(this,Ot.schemaUrl)||this;return r.visualType=e,r}return z(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}(Tt);e.VisualTypeSelector=_t;var Rt=function(t){function e(e){var r=t.call(this,Ot.schemaUrl)||this;return r.target=e,r}return z(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}(Tt);e.SlicerTargetSelector=Rt;var Ft;!function(t){t[t.Enabled=0]="Enabled",t[t.Disabled=1]="Disabled",t[t.Hidden=2]="Hidden"}(Ft=e.CommandDisplayOption||(e.CommandDisplayOption={}));var kt;!function(t){t[t.Grouping=0]="Grouping",t[t.Measure=1]="Measure",t[t.GroupingOrMeasure=2]="GroupingOrMeasure"}(kt=e.VisualDataRoleKind||(e.VisualDataRoleKind={}));var Ct;!function(t){t[t.Measure=0]="Measure",t[t.Grouping=1]="Grouping"}(Ct=e.VisualDataRoleKindPreference||(e.VisualDataRoleKindPreference={})),e.validateVisualSelector=c,e.validateSlicer=f,e.validateSlicerState=v,e.validatePlayBookmarkRequest=h,e.validateAddBookmarkRequest=y,e.validateApplyBookmarkByNameRequest=m,e.validateApplyBookmarkStateRequest=V,e.validateCaptureBookmarkRequest=g,e.validateSettings=w,e.validatePanes=b,e.validateBookmarksPane=P,e.validateFiltersPane=S,e.validateFieldsPane=T,e.validatePageNavigationPane=E,e.validateSelectionPane=O,e.validateSyncSlicersPane=_,e.validateVisualizationsPane=R,e.validateCustomPageSize=F,e.validateExtension=k,e.validateReportLoad=C,e.validateCreateReport=A,e.validateDashboardLoad=x,e.validateTileLoad=M,e.validatePage=q,e.validateFilter=I,e.validateSaveAsParameters=L,e.validateLoadQnaConfiguration=j,e.validateQnaInterpretInputData=N,e.validateExportDataRequest=D,e.validateVisualHeader=U,e.validateVisualSettings=B,e.validateCommandsSettings=W,e.validateCustomTheme=H},function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.Validators=void 0;var a=r(2),i=r(3),o=r(5),n=r(6),l=r(7),d=r(8),s=r(9),u=r(10),p=r(11),c=r(12),f=r(13),v=r(14),h=r(15),y=r(16),m=r(17),V=r(18),g=r(19),w=r(20),b=r(21),P=r(22),S=r(23),T=r(24),E=r(25),O=r(26),_=r(27);e.Validators={addBookmarkRequestValidator:new n.AddBookmarkRequestValidator,advancedFilterTypeValidator:new a.EnumValidator([0]),advancedFilterValidator:new l.AdvancedFilterValidator,anyArrayValidator:new a.ArrayValidator([new s.AnyOfValidator([new a.StringValidator,new a.NumberValidator,new a.BooleanValidator])]),anyFilterValidator:new s.AnyOfValidator([new l.BasicFilterValidator,new l.AdvancedFilterValidator,new l.IncludeExcludeFilterValidator,new l.NotSupportedFilterValidator,new l.RelativeDateFilterValidator,new l.TopNFilterValidator,new l.RelativeTimeFilterValidator]),anyValueValidator:new s.AnyOfValidator([new a.StringValidator,new a.NumberValidator,new a.BooleanValidator]),actionBarValidator:new _.ActionBarValidator,applyBookmarkByNameRequestValidator:new n.ApplyBookmarkByNameRequestValidator,applyBookmarkStateRequestValidator:new n.ApplyBookmarkStateRequestValidator,applyBookmarkValidator:new s.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,captureBookmarkOptionsValidator:new n.CaptureBookmarkOptionsValidator,captureBookmarkRequestValidator:new n.CaptureBookmarkRequestValidator,commandDisplayOptionValidator:new a.EnumValidator([0,1,2]),commandExtensionSelectorValidator:new s.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 V.CustomLayoutValidator,customPageSizeValidator:new v.CustomPageSizeValidator,customThemeValidator:new T.CustomThemeValidator,dashboardLoadValidator:new c.DashboardLoadValidator,datasetBindingValidator:new E.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 d.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 s.AnyOfValidator([new l.FilterColumnTargetValidator,new l.FilterHierarchyTargetValidator,new l.FilterMeasureTargetValidator]),filtersArrayValidator:new a.ArrayValidator([new s.AnyOfValidator([new l.BasicFilterValidator,new l.AdvancedFilterValidator,new l.RelativeDateFilterValidator,new l.RelativeTimeFilterValidator])]),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 h.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,pageNavigationPositionValidator:new a.EnumValidator([0,1]),pageSizeTypeValidator:new a.EnumValidator([0,1,2,3,4,5]),pageSizeValidator:new v.PageSizeValidator,pageValidator:new v.PageValidator,pageViewFieldValidator:new v.PageViewFieldValidator,pagesLayoutValidator:new m.MapValidator([new a.StringValidator],[new V.PageLayoutValidator]),reportBarsValidator:new _.ReportBarsValidator,reportPanesValidator:new O.ReportPanesValidator,permissionsValidator:new a.EnumValidator([0,1,2,4,7]),playBookmarkRequestValidator:new n.PlayBookmarkRequestValidator,qnaInterpretInputDataValidator:new h.QnaInterpretInputDataValidator,qnaSettingValidator:new h.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 S.SingleCommandSettingsValidator,slicerSelectorValidator:new s.AnyOfValidator([new w.VisualSelectorValidator,new w.SlicerTargetSelectorValidator]),slicerStateValidator:new b.SlicerStateValidator,slicerTargetValidator:new s.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 s.AnyOfValidator([new w.VisualSelectorValidator,new w.VisualTypeSelectorValidator]),visualHeaderSelectorValidator:new s.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}),e.NumberArrayValidator=e.BooleanArrayValidator=e.StringArrayValidator=e.EnumValidator=e.SchemaValidator=e.ValueValidator=e.NumberValidator=e.BooleanValidator=e.StringValidator=e.TypeValidator=e.ArrayValidator=e.ObjectValidator=void 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)&&(d=!0,n=n.slice(0,l-2),r[n]||(r[n]=[])),i=o[1]?w(o[1]):""),d?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 { ... }); + * ``` + * + * @returns {Promise} + */ + getVisualDescriptor(): Promise { + const config = this.config; + + return this.service.hpm.get(`/report/pages/${config.pageName}/visuals`, { uid: this.config.uniqueId }, this.iframe.contentWindow) + .then(response => { + // Find the embedded visual from visuals of this page + // TODO: Use the Array.find method when ES6 is available + const embeddedVisuals = response.body.filter(pageVisual => pageVisual.name === config.visualName); + + if (embeddedVisuals.length === 0) { + const visualNotFoundError: models.IError = { + message: "visualNotFound", + detailedMessage: "Visual not found" + }; + + throw visualNotFoundError; + } + + const embeddedVisual = embeddedVisuals[0]; + const currentPage = this.page(config.pageName); + return new VisualDescriptor(currentPage, embeddedVisual.name, embeddedVisual.title, embeddedVisual.type, embeddedVisual.layout); + }, response => { + throw response.body; + }); + } + /** * Gets filters that are applied to the filter level. * Default filter level is visual level. diff --git a/test/test.spec.ts b/test/test.spec.ts index dc0f584c..0ad7df85 100644 --- a/test/test.spec.ts +++ b/test/test.spec.ts @@ -3132,6 +3132,61 @@ describe('SDK-to-HPM', function () { // Assert expect(attempt).toThrow(visual.Visual.SetPageNotSupportedError); }); + + describe('getVisualDescriptor', function () { + it('embeddedVisual.getVisualDescriptor() sends GET /report/pages/xyz/visuals', function () { + // Arrange + + // Act + embeddedVisual.getVisualDescriptor(); + + // Assert + expect(spyHpm.get).toHaveBeenCalledWith(`/report/pages/ReportSection1/visuals`, { uid: visualUniqueId }, visualFrame.contentWindow); + }); + + it('embeddedVisual.getVisualDescriptor() returns promise that rejects with server error if there was error getting visual details', function (done) { + // Arrange + const testData = { + expectedError: { + body: { + message: 'internal server error' + } + } + }; + + spyHpm.get.and.returnValue(Promise.reject(testData.expectedError)); + + // Act + embeddedVisual.getVisualDescriptor() + .catch(error => { + // Assert + expect(spyHpm.get).toHaveBeenCalledWith(`/report/pages/ReportSection1/visuals`, { uid: visualUniqueId }, visualFrame.contentWindow); + expect(error).toEqual(testData.expectedError.body); + done(); + }); + }); + + it('embeddedVisual.getVisualDescriptor() returns promise that resolves with visual details', function (done) { + // Arrange + const fakeVisualDescriptor = new visualDescriptor.VisualDescriptor(page1, visualEmbedConfiguration.visualName, 'title', 'type', {}); + const testData = { + expectedResponse: { + body: [fakeVisualDescriptor] + } + }; + + spyHpm.get.and.returnValue(Promise.resolve(testData.expectedResponse)); + + // Act + embeddedVisual.getVisualDescriptor() + .then(visualDescriptor => { + // Assert + expect(spyHpm.get).toHaveBeenCalledWith(`/report/pages/ReportSection1/visuals`, { uid: visualUniqueId }, visualFrame.contentWindow); + expect(visualDescriptor.name).toEqual(fakeVisualDescriptor.name); + done(); + }); + }); + }); }); describe('pages', function () { From 7bb83ed2c2f4e3679b94c9124c6a1d0c44d71951 Mon Sep 17 00:00:00 2001 From: Hyunmo Kang Date: Tue, 17 Nov 2020 13:19:44 +0000 Subject: [PATCH 032/125] Merged PR 126990: Add a page renaming api to both report and page - add renamePage api in report - add setName api to page.ts; update renamePage to PUT REST api call; - update tests for page.setName and report.renamePage Related work items: #442373 --- dist/powerbi-client.d.ts | 25 +- dist/powerbi.js | 13660 +++++++++++++++++++------------------ dist/powerbi.min.js | 6 +- src/page.ts | 21 + src/report.ts | 29 +- test/test.spec.ts | 41 +- 6 files changed, 6965 insertions(+), 6817 deletions(-) diff --git a/dist/powerbi-client.d.ts b/dist/powerbi-client.d.ts index 9129749a..77f7970d 100644 --- a/dist/powerbi-client.d.ts +++ b/dist/powerbi-client.d.ts @@ -889,6 +889,16 @@ declare module "page" { * @returns {Promise} */ setFilters(filters: models.IFilter[]): Promise; + /** + * Set displayName to the current page. + * + * ```javascript + * page.setName(displayName); + * ``` + * + * @returns {Promise} + */ + setDisplayName(displayName: string): Promise; /** * Gets all the visuals on the page. * @@ -1007,12 +1017,23 @@ declare module "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"); + * report.deletePage("ReportSection145"); + * ``` + * + * @returns {Promise} + */ + deletePage(pageName: string): Promise; + /** + * Rename a page from a report + * + * ```javascript + * // Rename a page from a report by changing displayName (pageName is different from the display name and can be acquired from the getPages API) + * report.renamePage("ReportSection145", "Sales"); * ``` * * @returns {Promise} */ - deletePage(pageName?: string): Promise; + renamePage(pageName: string, displayName: string): Promise; /** * Gets filters that are applied at the report level. * diff --git a/dist/powerbi.js b/dist/powerbi.js index 4e8eb474..990f29dd 100644 --- a/dist/powerbi.js +++ b/dist/powerbi.js @@ -55,1259 +55,1259 @@ return /******/ (function(modules) { // webpackBootstrap /* 0 */ /***/ (function(module, exports, __webpack_require__) { - /** - * @hidden - */ - var service = __webpack_require__(1); - exports.service = service; - var factories = __webpack_require__(16); - exports.factories = factories; - var models = __webpack_require__(5); - exports.models = models; - var report_1 = __webpack_require__(7); - exports.Report = report_1.Report; - var dashboard_1 = __webpack_require__(12); - exports.Dashboard = dashboard_1.Dashboard; - var tile_1 = __webpack_require__(13); - exports.Tile = tile_1.Tile; - var embed_1 = __webpack_require__(2); - exports.Embed = embed_1.Embed; - var page_1 = __webpack_require__(8); - exports.Page = page_1.Page; - var qna_1 = __webpack_require__(14); - exports.Qna = qna_1.Qna; - var visual_1 = __webpack_require__(15); - exports.Visual = visual_1.Visual; - var visualDescriptor_1 = __webpack_require__(9); - exports.VisualDescriptor = visualDescriptor_1.VisualDescriptor; - /** - * Makes Power BI available to the global object for use in applications that don't have module loading support. - * - * Note: create an instance of the class with the default configuration for normal usage, or save the class so that you can create an instance of the service. - */ - var powerbi = new service.Service(factories.hpmFactory, factories.wpmpFactory, factories.routerFactory); - window.powerbi = powerbi; + /** + * @hidden + */ + var service = __webpack_require__(1); + exports.service = service; + var factories = __webpack_require__(16); + exports.factories = factories; + var models = __webpack_require__(5); + exports.models = models; + var report_1 = __webpack_require__(7); + exports.Report = report_1.Report; + var dashboard_1 = __webpack_require__(12); + exports.Dashboard = dashboard_1.Dashboard; + var tile_1 = __webpack_require__(13); + exports.Tile = tile_1.Tile; + var embed_1 = __webpack_require__(2); + exports.Embed = embed_1.Embed; + var page_1 = __webpack_require__(8); + exports.Page = page_1.Page; + var qna_1 = __webpack_require__(14); + exports.Qna = qna_1.Qna; + var visual_1 = __webpack_require__(15); + exports.Visual = visual_1.Visual; + var visualDescriptor_1 = __webpack_require__(9); + exports.VisualDescriptor = visualDescriptor_1.VisualDescriptor; + /** + * Makes Power BI available to the global object for use in applications that don't have module loading support. + * + * Note: create an instance of the class with the default configuration for normal usage, or save the class so that you can create an instance of the service. + */ + var powerbi = new service.Service(factories.hpmFactory, factories.wpmpFactory, factories.routerFactory); + window.powerbi = powerbi; /***/ }), /* 1 */ /***/ (function(module, exports, __webpack_require__) { - var embed = __webpack_require__(2); - var report_1 = __webpack_require__(7); - var create_1 = __webpack_require__(11); - var dashboard_1 = __webpack_require__(12); - var tile_1 = __webpack_require__(13); - var page_1 = __webpack_require__(8); - var qna_1 = __webpack_require__(14); - var visual_1 = __webpack_require__(15); - var utils = __webpack_require__(3); - /** - * The Power BI Service embed component, which is the entry point to embed all other Power BI components into your application - * - * @export - * @class Service - * @implements {IService} - */ - var Service = (function () { - /** - * Creates an instance of a Power BI Service. - * - * @param {IHpmFactory} hpmFactory The http post message factory used in the postMessage communication layer - * @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; - if (config === void 0) { config = {}; } - this.wpmp = wpmpFactory(config.wpmpName, config.logMessages); - this.hpm = hpmFactory(this.wpmp, null, config.version, config.type); - this.router = routerFactory(this.wpmp); - this.uniqueSessionId = utils.generateUUID(); - /** - * Adds handler for report events. - */ - this.router.post("/reports/:uniqueId/events/:eventName", function (req, res) { - var event = { - type: 'report', - id: req.params.uniqueId, - name: req.params.eventName, - value: req.body - }; - _this.handleEvent(event); - }); - this.router.post("/reports/:uniqueId/pages/:pageName/events/:eventName", function (req, res) { - var event = { - type: 'report', - id: req.params.uniqueId, - name: req.params.eventName, - value: req.body - }; - _this.handleEvent(event); - }); - this.router.post("/reports/:uniqueId/pages/:pageName/visuals/:visualName/events/:eventName", function (req, res) { - var event = { - type: 'report', - id: req.params.uniqueId, - name: req.params.eventName, - value: req.body - }; - _this.handleEvent(event); - }); - this.router.post("/dashboards/:uniqueId/events/:eventName", function (req, res) { - var event = { - type: 'dashboard', - id: req.params.uniqueId, - name: req.params.eventName, - value: req.body - }; - _this.handleEvent(event); - }); - this.router.post("/tile/:uniqueId/events/:eventName", function (req, res) { - var event = { - type: 'tile', - id: req.params.uniqueId, - name: req.params.eventName, - value: req.body - }; - _this.handleEvent(event); - }); - /** - * Adds handler for Q&A events. - */ - this.router.post("/qna/:uniqueId/events/:eventName", function (req, res) { - var event = { - type: 'qna', - id: req.params.uniqueId, - name: req.params.eventName, - value: req.body - }; - _this.handleEvent(event); - }); - /** - * Adds handler for front load 'ready' message. - */ - this.router.post("/ready/:uniqueId", function (req, res) { - var event = { - type: 'report', - id: req.params.uniqueId, - name: 'ready', - value: req.body - }; - _this.handleEvent(event); - }); - this.embeds = []; - // TODO: Change when Object.assign is available. - this.config = utils.assign({}, Service.defaultConfig, config); - if (this.config.autoEmbedOnContentLoaded) { - this.enableAutoEmbed(); - } - } - /** - * Creates new report - * @param {HTMLElement} element - * @param {embed.IEmbedConfiguration} [config={}] - * @returns {embed.Embed} - */ - Service.prototype.createReport = function (element, config) { - config.type = 'create'; - var powerBiElement = element; - var component = new create_1.Create(this, powerBiElement, config); - powerBiElement.powerBiEmbed = component; - this.addOrOverwriteEmbed(component, element); - return component; - }; - /** - * TODO: Add a description here - * - * @param {HTMLElement} [container] - * @param {embed.IEmbedConfiguration} [config=undefined] - * @returns {embed.Embed[]} - * @hidden - */ - Service.prototype.init = function (container, config) { - var _this = this; - if (config === void 0) { config = undefined; } - container = (container && container instanceof HTMLElement) ? container : document.body; - var elements = Array.prototype.slice.call(container.querySelectorAll("[" + embed.Embed.embedUrlAttribute + "]")); - return elements.map(function (element) { return _this.embed(element, config); }); - }; - /** - * Given a configuration based on an HTML element, - * if the component has already been created and attached to the element, reuses the component instance and existing iframe, - * otherwise creates a new component instance. - * - * @param {HTMLElement} element - * @param {embed.IEmbedConfigurationBase} [config={}] - * @returns {embed.Embed} - */ - Service.prototype.embed = function (element, config) { - if (config === void 0) { config = {}; } - return this.embedInternal(element, config); - }; - /** - * Given a configuration based on an HTML element, - * if the component has already been created and attached to the element, reuses the component instance and existing iframe, - * otherwise creates a new component instance. - * This is used for the phased embedding API, once element is loaded successfully, one can call 'render' on it. - * - * @param {HTMLElement} element - * @param {embed.IEmbedConfigurationBase} [config={}] - * @returns {embed.Embed} - */ - Service.prototype.load = function (element, config) { - if (config === void 0) { config = {}; } - return this.embedInternal(element, config, /* phasedRender */ true, /* isBootstrap */ false); - }; - /** - * Given an HTML element and entityType, creates a new component instance, and bootstrap the iframe for embedding. - * - * @param {HTMLElement} element - * @param {embed.IBootstrapEmbedConfiguration} config: a bootstrap config which is an embed config without access token. - */ - Service.prototype.bootstrap = function (element, config) { - return this.embedInternal(element, config, /* phasedRender */ false, /* isBootstrap */ true); - }; - /** @hidden */ - Service.prototype.embedInternal = function (element, config, phasedRender, isBootstrap) { - if (config === void 0) { config = {}; } - var component; - var powerBiElement = element; - if (powerBiElement.powerBiEmbed) { - if (isBootstrap) { - throw new Error("Attempted to bootstrap element " + element.outerHTML + ", but the element is already a powerbi element."); - } - component = this.embedExisting(powerBiElement, config, phasedRender); - } - else { - component = this.embedNew(powerBiElement, config, phasedRender, isBootstrap); - } - return component; - }; - /** @hidden */ - Service.prototype.getNumberOfComponents = function () { - if (!this.embeds) { - return 0; - } - return this.embeds.length; - }; - /** @hidden */ - Service.prototype.getSdkSessionId = function () { - return this.uniqueSessionId; - }; - /** - * Given a configuration based on a Power BI element, saves the component instance that reference the element for later lookup. - * - * @private - * @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); - if (!componentType) { - throw new Error("Attempted to embed using config " + JSON.stringify(config) + " on element " + element.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 '" + embed.Embed.typeAttribute + "=\"" + report_1.Report.type.toLowerCase() + "\"'."); - } - // Saves the type as part of the configuration so that it can be referenced later at a known location. - config.type = componentType; - var Component = utils.find(function (component) { return componentType === component.type.toLowerCase(); }, Service.components); - if (!Component) { - throw new Error("Attempted to embed component of type: " + componentType + " but did not find any matching component. Please verify the type you specified is intended."); - } - var component = new Component(this, element, config, phasedRender, isBootstrap); - element.powerBiEmbed = component; - this.addOrOverwriteEmbed(component, element); - return component; - }; - /** - * Given an element that already contains an embed component, load with a new configuration. - * - * @private - * @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); - if (!component) { - throw new Error("Attempted to embed using config " + JSON.stringify(config) + " on element " + element.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."); - } - // TODO: Multiple embedding to the same iframe is not supported in QnA - if (config.type && config.type.toLowerCase() === "qna") { - return this.embedNew(element, config); - } - /** - * TODO: Dynamic embed type switching could be supported but there is work needed to prepare the service state and DOM cleanup. - * remove all event handlers from the DOM, then reset the element to initial state which removes iframe, and removes from list of embeds - * then we can call the embedNew function which would allow setting the proper embedUrl and construction of object based on the new type. - */ - if (typeof config.type === "string" && config.type !== component.config.type) { - /** - * When loading report after create we want to use existing Iframe to optimize load period - */ - if (config.type === "report" && component.config.type === "create") { - var report = new report_1.Report(this, element, config, /* phasedRender */ false, /* isBootstrap */ false, element.powerBiEmbed.iframe); - component.populateConfig(config, /* isBootstrap */ false); - report.load(); - element.powerBiEmbed = report; - this.addOrOverwriteEmbed(component, element); - return report; - } - 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(config) + " on element " + element.outerHTML + ", but the existing element contains an embed of type: " + this.config.type + " which does not match the new type: " + config.type); - } - component.populateConfig(config, /* isBootstrap */ false); - component.load(phasedRender); - return component; - }; - /** - * Adds an event handler for DOMContentLoaded, which searches the DOM for elements that have the 'powerbi-embed-url' attribute, - * and automatically attempts to embed a powerbi component based on information from other powerbi-* attributes. - * - * Note: Only runs if `config.autoEmbedOnContentLoaded` is true when the service is created. - * This handler is typically useful only for applications that are rendered on the server so that all required data is available when the handler is called. - * - * @hidden - */ - Service.prototype.enableAutoEmbed = function () { - var _this = this; - window.addEventListener('DOMContentLoaded', function (event) { return _this.init(document.body); }, false); - }; - /** - * Returns an instance of the component associated with the element. - * - * @param {HTMLElement} element - * @returns {(Report | Tile)} - */ - Service.prototype.get = function (element) { - var powerBiElement = element; - if (!powerBiElement.powerBiEmbed) { - throw new Error("You attempted to get an instance of powerbi component associated with element: " + element.outerHTML + " but there was no associated instance."); - } - return powerBiElement.powerBiEmbed; - }; - /** - * Finds an embed instance by the name or unique ID that is provided. - * - * @param {string} uniqueId - * @returns {(Report | Tile)} - * @hidden - */ - Service.prototype.find = function (uniqueId) { - return utils.find(function (x) { return x.config.uniqueId === uniqueId; }, this.embeds); - }; - /** - * Removes embed components whose container element is same as the given element - * - * @param {Embed} component - * @param {HTMLElement} element - * @returns {void} - * @hidden - */ - Service.prototype.addOrOverwriteEmbed = function (component, element) { - // remove embeds over the same div element. - this.embeds = this.embeds.filter(function (embed) { - return embed.element !== element; - }); - this.embeds.push(component); - }; - /** - * Given an HTML element that has a component embedded within it, removes the component from the list of embedded components, removes the association between the element and the component, and removes the iframe. - * - * @param {HTMLElement} element - * @returns {void} - */ - Service.prototype.reset = function (element) { - var powerBiElement = element; - if (!powerBiElement.powerBiEmbed) { - return; - } - /** Removes the element frontLoad listener if exists. */ - var embedElement = powerBiElement.powerBiEmbed; - if (embedElement.frontLoadHandler) { - embedElement.element.removeEventListener('ready', embedElement.frontLoadHandler, false); - } - /** Removes the component from an internal list of components. */ - utils.remove(function (x) { return x === powerBiElement.powerBiEmbed; }, this.embeds); - /** Deletes a property from the HTML element. */ - delete powerBiElement.powerBiEmbed; - /** Removes the iframe from the element. */ - var iframe = element.querySelector('iframe'); - if (iframe) { - if (iframe.remove !== undefined) { - iframe.remove(); - } - else { - /** Workaround for IE: unhandled rejection TypeError: object doesn't support propert or method 'remove' */ - iframe.parentElement.removeChild(iframe); - } - } - }; - /** - * handles tile events - * - * @param {IEvent} event - * @hidden - */ - Service.prototype.handleTileEvents = function (event) { - if (event.type === 'tile') { - this.handleEvent(event); - } - }; - /** - * Given an event object, finds the embed component with the matching type and ID, and invokes its handleEvent method with the event object. - * - * @private - * @param {IEvent} event - * @hidden - */ - Service.prototype.handleEvent = function (event) { - var embed = utils.find(function (embed) { - return (embed.config.uniqueId === event.id); - }, this.embeds); - if (embed) { - var value = event.value; - if (event.name === 'pageChanged') { - var pageKey = 'newPage'; - var page = value[pageKey]; - if (!page) { - throw new Error("Page model not found at 'event.value." + pageKey + "'."); - } - value[pageKey] = new page_1.Page(embed, page.name, page.displayName, true /* isActive */); - } - utils.raiseCustomEvent(embed.element, event.name, value); - } - }; - /** - * API for warm starting powerbi embedded endpoints. - * Use this API to preload Power BI Embedded in the background. - * - * @public - * @param {embed.IEmbedConfigurationBase} [config={}] - * @param {HTMLElement} [element=undefined] - */ - Service.prototype.preload = function (config, element) { - var iframeContent = document.createElement("iframe"); - iframeContent.setAttribute("style", "display:none;"); - iframeContent.setAttribute("src", config.embedUrl); - iframeContent.setAttribute("scrolling", "no"); - iframeContent.setAttribute("allowfullscreen", "false"); - var node = element; - if (!node) { - node = document.getElementsByTagName("body")[0]; - } - node.appendChild(iframeContent); - iframeContent.onload = function () { - utils.raiseCustomEvent(iframeContent, "preloaded", {}); - }; - return iframeContent; - }; - /** - * A list of components that this service can embed - */ - Service.components = [ - tile_1.Tile, - report_1.Report, - dashboard_1.Dashboard, - qna_1.Qna, - visual_1.Visual - ]; - /** - * The default configuration for the service - */ - Service.defaultConfig = { - autoEmbedOnContentLoaded: false, - onError: function () { - var args = []; - for (var _i = 0; _i < arguments.length; _i++) { - args[_i - 0] = arguments[_i]; - } - return console.log(args[0], args.slice(1)); - } - }; - return Service; - }()); - exports.Service = Service; + var embed = __webpack_require__(2); + var report_1 = __webpack_require__(7); + var create_1 = __webpack_require__(11); + var dashboard_1 = __webpack_require__(12); + var tile_1 = __webpack_require__(13); + var page_1 = __webpack_require__(8); + var qna_1 = __webpack_require__(14); + var visual_1 = __webpack_require__(15); + var utils = __webpack_require__(3); + /** + * The Power BI Service embed component, which is the entry point to embed all other Power BI components into your application + * + * @export + * @class Service + * @implements {IService} + */ + var Service = (function () { + /** + * Creates an instance of a Power BI Service. + * + * @param {IHpmFactory} hpmFactory The http post message factory used in the postMessage communication layer + * @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; + if (config === void 0) { config = {}; } + this.wpmp = wpmpFactory(config.wpmpName, config.logMessages); + this.hpm = hpmFactory(this.wpmp, null, config.version, config.type); + this.router = routerFactory(this.wpmp); + this.uniqueSessionId = utils.generateUUID(); + /** + * Adds handler for report events. + */ + this.router.post("/reports/:uniqueId/events/:eventName", function (req, res) { + var event = { + type: 'report', + id: req.params.uniqueId, + name: req.params.eventName, + value: req.body + }; + _this.handleEvent(event); + }); + this.router.post("/reports/:uniqueId/pages/:pageName/events/:eventName", function (req, res) { + var event = { + type: 'report', + id: req.params.uniqueId, + name: req.params.eventName, + value: req.body + }; + _this.handleEvent(event); + }); + this.router.post("/reports/:uniqueId/pages/:pageName/visuals/:visualName/events/:eventName", function (req, res) { + var event = { + type: 'report', + id: req.params.uniqueId, + name: req.params.eventName, + value: req.body + }; + _this.handleEvent(event); + }); + this.router.post("/dashboards/:uniqueId/events/:eventName", function (req, res) { + var event = { + type: 'dashboard', + id: req.params.uniqueId, + name: req.params.eventName, + value: req.body + }; + _this.handleEvent(event); + }); + this.router.post("/tile/:uniqueId/events/:eventName", function (req, res) { + var event = { + type: 'tile', + id: req.params.uniqueId, + name: req.params.eventName, + value: req.body + }; + _this.handleEvent(event); + }); + /** + * Adds handler for Q&A events. + */ + this.router.post("/qna/:uniqueId/events/:eventName", function (req, res) { + var event = { + type: 'qna', + id: req.params.uniqueId, + name: req.params.eventName, + value: req.body + }; + _this.handleEvent(event); + }); + /** + * Adds handler for front load 'ready' message. + */ + this.router.post("/ready/:uniqueId", function (req, res) { + var event = { + type: 'report', + id: req.params.uniqueId, + name: 'ready', + value: req.body + }; + _this.handleEvent(event); + }); + this.embeds = []; + // TODO: Change when Object.assign is available. + this.config = utils.assign({}, Service.defaultConfig, config); + if (this.config.autoEmbedOnContentLoaded) { + this.enableAutoEmbed(); + } + } + /** + * Creates new report + * @param {HTMLElement} element + * @param {embed.IEmbedConfiguration} [config={}] + * @returns {embed.Embed} + */ + Service.prototype.createReport = function (element, config) { + config.type = 'create'; + var powerBiElement = element; + var component = new create_1.Create(this, powerBiElement, config); + powerBiElement.powerBiEmbed = component; + this.addOrOverwriteEmbed(component, element); + return component; + }; + /** + * TODO: Add a description here + * + * @param {HTMLElement} [container] + * @param {embed.IEmbedConfiguration} [config=undefined] + * @returns {embed.Embed[]} + * @hidden + */ + Service.prototype.init = function (container, config) { + var _this = this; + if (config === void 0) { config = undefined; } + container = (container && container instanceof HTMLElement) ? container : document.body; + var elements = Array.prototype.slice.call(container.querySelectorAll("[" + embed.Embed.embedUrlAttribute + "]")); + return elements.map(function (element) { return _this.embed(element, config); }); + }; + /** + * Given a configuration based on an HTML element, + * if the component has already been created and attached to the element, reuses the component instance and existing iframe, + * otherwise creates a new component instance. + * + * @param {HTMLElement} element + * @param {embed.IEmbedConfigurationBase} [config={}] + * @returns {embed.Embed} + */ + Service.prototype.embed = function (element, config) { + if (config === void 0) { config = {}; } + return this.embedInternal(element, config); + }; + /** + * Given a configuration based on an HTML element, + * if the component has already been created and attached to the element, reuses the component instance and existing iframe, + * otherwise creates a new component instance. + * This is used for the phased embedding API, once element is loaded successfully, one can call 'render' on it. + * + * @param {HTMLElement} element + * @param {embed.IEmbedConfigurationBase} [config={}] + * @returns {embed.Embed} + */ + Service.prototype.load = function (element, config) { + if (config === void 0) { config = {}; } + return this.embedInternal(element, config, /* phasedRender */ true, /* isBootstrap */ false); + }; + /** + * Given an HTML element and entityType, creates a new component instance, and bootstrap the iframe for embedding. + * + * @param {HTMLElement} element + * @param {embed.IBootstrapEmbedConfiguration} config: a bootstrap config which is an embed config without access token. + */ + Service.prototype.bootstrap = function (element, config) { + return this.embedInternal(element, config, /* phasedRender */ false, /* isBootstrap */ true); + }; + /** @hidden */ + Service.prototype.embedInternal = function (element, config, phasedRender, isBootstrap) { + if (config === void 0) { config = {}; } + var component; + var powerBiElement = element; + if (powerBiElement.powerBiEmbed) { + if (isBootstrap) { + throw new Error("Attempted to bootstrap element " + element.outerHTML + ", but the element is already a powerbi element."); + } + component = this.embedExisting(powerBiElement, config, phasedRender); + } + else { + component = this.embedNew(powerBiElement, config, phasedRender, isBootstrap); + } + return component; + }; + /** @hidden */ + Service.prototype.getNumberOfComponents = function () { + if (!this.embeds) { + return 0; + } + return this.embeds.length; + }; + /** @hidden */ + Service.prototype.getSdkSessionId = function () { + return this.uniqueSessionId; + }; + /** + * Given a configuration based on a Power BI element, saves the component instance that reference the element for later lookup. + * + * @private + * @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); + if (!componentType) { + throw new Error("Attempted to embed using config " + JSON.stringify(config) + " on element " + element.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 '" + embed.Embed.typeAttribute + "=\"" + report_1.Report.type.toLowerCase() + "\"'."); + } + // Saves the type as part of the configuration so that it can be referenced later at a known location. + config.type = componentType; + var Component = utils.find(function (component) { return componentType === component.type.toLowerCase(); }, Service.components); + if (!Component) { + throw new Error("Attempted to embed component of type: " + componentType + " but did not find any matching component. Please verify the type you specified is intended."); + } + var component = new Component(this, element, config, phasedRender, isBootstrap); + element.powerBiEmbed = component; + this.addOrOverwriteEmbed(component, element); + return component; + }; + /** + * Given an element that already contains an embed component, load with a new configuration. + * + * @private + * @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); + if (!component) { + throw new Error("Attempted to embed using config " + JSON.stringify(config) + " on element " + element.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."); + } + // TODO: Multiple embedding to the same iframe is not supported in QnA + if (config.type && config.type.toLowerCase() === "qna") { + return this.embedNew(element, config); + } + /** + * TODO: Dynamic embed type switching could be supported but there is work needed to prepare the service state and DOM cleanup. + * remove all event handlers from the DOM, then reset the element to initial state which removes iframe, and removes from list of embeds + * then we can call the embedNew function which would allow setting the proper embedUrl and construction of object based on the new type. + */ + if (typeof config.type === "string" && config.type !== component.config.type) { + /** + * When loading report after create we want to use existing Iframe to optimize load period + */ + if (config.type === "report" && component.config.type === "create") { + var report = new report_1.Report(this, element, config, /* phasedRender */ false, /* isBootstrap */ false, element.powerBiEmbed.iframe); + component.populateConfig(config, /* isBootstrap */ false); + report.load(); + element.powerBiEmbed = report; + this.addOrOverwriteEmbed(component, element); + return report; + } + 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(config) + " on element " + element.outerHTML + ", but the existing element contains an embed of type: " + this.config.type + " which does not match the new type: " + config.type); + } + component.populateConfig(config, /* isBootstrap */ false); + component.load(phasedRender); + return component; + }; + /** + * Adds an event handler for DOMContentLoaded, which searches the DOM for elements that have the 'powerbi-embed-url' attribute, + * and automatically attempts to embed a powerbi component based on information from other powerbi-* attributes. + * + * Note: Only runs if `config.autoEmbedOnContentLoaded` is true when the service is created. + * This handler is typically useful only for applications that are rendered on the server so that all required data is available when the handler is called. + * + * @hidden + */ + Service.prototype.enableAutoEmbed = function () { + var _this = this; + window.addEventListener('DOMContentLoaded', function (event) { return _this.init(document.body); }, false); + }; + /** + * Returns an instance of the component associated with the element. + * + * @param {HTMLElement} element + * @returns {(Report | Tile)} + */ + Service.prototype.get = function (element) { + var powerBiElement = element; + if (!powerBiElement.powerBiEmbed) { + throw new Error("You attempted to get an instance of powerbi component associated with element: " + element.outerHTML + " but there was no associated instance."); + } + return powerBiElement.powerBiEmbed; + }; + /** + * Finds an embed instance by the name or unique ID that is provided. + * + * @param {string} uniqueId + * @returns {(Report | Tile)} + * @hidden + */ + Service.prototype.find = function (uniqueId) { + return utils.find(function (x) { return x.config.uniqueId === uniqueId; }, this.embeds); + }; + /** + * Removes embed components whose container element is same as the given element + * + * @param {Embed} component + * @param {HTMLElement} element + * @returns {void} + * @hidden + */ + Service.prototype.addOrOverwriteEmbed = function (component, element) { + // remove embeds over the same div element. + this.embeds = this.embeds.filter(function (embed) { + return embed.element !== element; + }); + this.embeds.push(component); + }; + /** + * Given an HTML element that has a component embedded within it, removes the component from the list of embedded components, removes the association between the element and the component, and removes the iframe. + * + * @param {HTMLElement} element + * @returns {void} + */ + Service.prototype.reset = function (element) { + var powerBiElement = element; + if (!powerBiElement.powerBiEmbed) { + return; + } + /** Removes the element frontLoad listener if exists. */ + var embedElement = powerBiElement.powerBiEmbed; + if (embedElement.frontLoadHandler) { + embedElement.element.removeEventListener('ready', embedElement.frontLoadHandler, false); + } + /** Removes the component from an internal list of components. */ + utils.remove(function (x) { return x === powerBiElement.powerBiEmbed; }, this.embeds); + /** Deletes a property from the HTML element. */ + delete powerBiElement.powerBiEmbed; + /** Removes the iframe from the element. */ + var iframe = element.querySelector('iframe'); + if (iframe) { + if (iframe.remove !== undefined) { + iframe.remove(); + } + else { + /** Workaround for IE: unhandled rejection TypeError: object doesn't support propert or method 'remove' */ + iframe.parentElement.removeChild(iframe); + } + } + }; + /** + * handles tile events + * + * @param {IEvent} event + * @hidden + */ + Service.prototype.handleTileEvents = function (event) { + if (event.type === 'tile') { + this.handleEvent(event); + } + }; + /** + * Given an event object, finds the embed component with the matching type and ID, and invokes its handleEvent method with the event object. + * + * @private + * @param {IEvent} event + * @hidden + */ + Service.prototype.handleEvent = function (event) { + var embed = utils.find(function (embed) { + return (embed.config.uniqueId === event.id); + }, this.embeds); + if (embed) { + var value = event.value; + if (event.name === 'pageChanged') { + var pageKey = 'newPage'; + var page = value[pageKey]; + if (!page) { + throw new Error("Page model not found at 'event.value." + pageKey + "'."); + } + value[pageKey] = new page_1.Page(embed, page.name, page.displayName, true /* isActive */); + } + utils.raiseCustomEvent(embed.element, event.name, value); + } + }; + /** + * API for warm starting powerbi embedded endpoints. + * Use this API to preload Power BI Embedded in the background. + * + * @public + * @param {embed.IEmbedConfigurationBase} [config={}] + * @param {HTMLElement} [element=undefined] + */ + Service.prototype.preload = function (config, element) { + var iframeContent = document.createElement("iframe"); + iframeContent.setAttribute("style", "display:none;"); + iframeContent.setAttribute("src", config.embedUrl); + iframeContent.setAttribute("scrolling", "no"); + iframeContent.setAttribute("allowfullscreen", "false"); + var node = element; + if (!node) { + node = document.getElementsByTagName("body")[0]; + } + node.appendChild(iframeContent); + iframeContent.onload = function () { + utils.raiseCustomEvent(iframeContent, "preloaded", {}); + }; + return iframeContent; + }; + /** + * A list of components that this service can embed + */ + Service.components = [ + tile_1.Tile, + report_1.Report, + dashboard_1.Dashboard, + qna_1.Qna, + visual_1.Visual + ]; + /** + * The default configuration for the service + */ + Service.defaultConfig = { + autoEmbedOnContentLoaded: false, + onError: function () { + var args = []; + for (var _i = 0; _i < arguments.length; _i++) { + args[_i - 0] = arguments[_i]; + } + return console.log(args[0], args.slice(1)); + } + }; + return Service; + }()); + exports.Service = Service; /***/ }), /* 2 */ /***/ (function(module, exports, __webpack_require__) { - 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 - * - * @export - * @abstract - * @hidden - * @class Embed - */ - var Embed = (function () { - /** - * Creates an instance of Embed. - * - * Note: there is circular reference between embeds and the service, because - * the service has a list of all embeds on the host page, and each embed has a reference to the service that created it. - * - * @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); - } - Array.prototype.push.apply(this.allowedEvents, Embed.allowedEvents); - this.eventHandlers = []; - this.service = service; - this.element = element; - this.iframe = iframe; - this.iframeLoaded = false; - this.embedtype = config.type.toLowerCase(); - this.populateConfig(config, isBootstrap); - 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); - } - } - /** - * Sends createReport configuration data. - * - * ```javascript - * createReport({ - * datasetId: '5dac7a4a-4452-46b3-99f6-a25915e0fe55', - * accessToken: 'eyJ0eXA ... TaE2rTSbmg', - * ``` - * @hidden - * @param {models.IReportCreateConfiguration} config - * @returns {Promise} - */ - Embed.prototype.createReport = function (config) { - var errors = models.validateCreateReport(config); - if (errors) { - throw errors; - } - return this.service.hpm.post("/report/create", config, { uid: this.config.uniqueId, sdkSessionId: this.service.getSdkSessionId() }, this.iframe.contentWindow) - .then(function (response) { - return response.body; - }, function (response) { - throw response.body; - }); - }; - /** - * Saves Report. - * - * @returns {Promise} - */ - Embed.prototype.save = function () { - return this.service.hpm.post('/report/save', null, { uid: this.config.uniqueId }, this.iframe.contentWindow) - .then(function (response) { - return response.body; - }) - .catch(function (response) { - throw response.body; - }); - }; - /** - * SaveAs Report. - * - * @returns {Promise} - */ - Embed.prototype.saveAs = function (saveAsParameters) { - return this.service.hpm.post('/report/saveAs', saveAsParameters, { uid: this.config.uniqueId }, this.iframe.contentWindow) - .then(function (response) { - return response.body; - }) - .catch(function (response) { - 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. - * - * ```javascript - * report.load({ - * type: 'report', - * id: '5dac7a4a-4452-46b3-99f6-a25915e0fe55', - * accessToken: 'eyJ0eXA ... TaE2rTSbmg', - * settings: { - * navContentPaneEnabled: false - * }, - * pageName: "DefaultPage", - * filters: [ - * { - * ... DefaultReportFilter ... - * } - * ] - * }) - * .catch(error => { ... }); - * ``` - * @hidden - * @param {models.ILoadConfiguration} config - * @param {boolean} phasedRender - * @returns {Promise} - */ - Embed.prototype.load = function (phasedRender) { - if (!this.config.accessToken) { - console.debug("Power BI SDK iframe is loaded but powerbi.embed is not called yet."); - return; - } - if (!this.iframeLoaded) { - console.debug("Power BI SDK is trying to post /report/load before iframe is ready."); - return; - } - var path = phasedRender && this.config.type === 'report' ? this.phasedLoadPath : this.loadPath; - var headers = { - uid: this.config.uniqueId, - sdkSessionId: this.service.getSdkSessionId(), - bootstrapped: this.config.bootstrapped, - sdkVersion: sdkConfig.default.version - }; - var timeNow = new Date(); - if (this.lastLoadRequest && utils.getTimeDiffInMilliseconds(this.lastLoadRequest, timeNow) < 100) { - console.debug("Power BI SDK sent more than two /report/load requests in the last 100ms interval."); - return; - } - this.lastLoadRequest = timeNow; - return this.service.hpm.post(path, this.config, headers, this.iframe.contentWindow) - .then(function (response) { - return response.body; - }, function (response) { - throw response.body; - }); - }; - /** - * Removes one or more event handlers from the list of handlers. - * If a reference to the existing handle function is specified, remove the specific handler. - * If the handler is not specified, remove all handlers for the event name specified. - * - * ```javascript - * report.off('pageChanged') - * - * or - * - * const logHandler = function (event) { - * console.log(event); - * }; - * - * report.off('pageChanged', logHandler); - * ``` - * - * @template T - * @param {string} eventName - * @param {service.IEventHandler} [handler] - */ - Embed.prototype.off = function (eventName, handler) { - var _this = this; - var fakeEvent = { name: eventName, type: null, id: null, value: null }; - if (handler) { - utils.remove(function (eventHandler) { return eventHandler.test(fakeEvent) && (eventHandler.handle === handler); }, this.eventHandlers); - this.element.removeEventListener(eventName, handler); - } - else { - var eventHandlersToRemove = this.eventHandlers - .filter(function (eventHandler) { return eventHandler.test(fakeEvent); }); - eventHandlersToRemove - .forEach(function (eventHandlerToRemove) { - utils.remove(function (eventHandler) { return eventHandler === eventHandlerToRemove; }, _this.eventHandlers); - _this.element.removeEventListener(eventName, eventHandlerToRemove.handle); - }); - } - }; - /** - * Adds an event handler for a specific event. - * - * ```javascript - * report.on('pageChanged', (event) => { - * console.log('PageChanged: ', event.page.name); - * }); - * ``` - * - * @template T - * @param {string} eventName - * @param {service.IEventHandler} handler - */ - Embed.prototype.on = function (eventName, handler) { - if (this.allowedEvents.indexOf(eventName) === -1) { - throw new Error("eventName must be one of " + this.allowedEvents + ". You passed: " + eventName); - } - this.eventHandlers.push({ - test: function (event) { return event.name === eventName; }, - handle: handler - }); - this.element.addEventListener(eventName, handler); - }; - /** - * Reloads embed using existing configuration. - * E.g. For reports this effectively clears all filters and makes the first page active which simulates resetting a report back to loaded state. - * - * ```javascript - * report.reload(); - * ``` - */ - Embed.prototype.reload = function () { - return this.load(); - }; - /** - * Set accessToken. - * - * @returns {Promise} - */ - Embed.prototype.setAccessToken = function (accessToken) { - var _this = this; - var embedType = this.config.type; - embedType = (embedType === 'create' || embedType === 'visual' || embedType === 'qna') ? 'report' : embedType; - return this.service.hpm.post('/' + embedType + '/token', accessToken, { uid: this.config.uniqueId }, this.iframe.contentWindow) - .then(function (response) { - _this.config.accessToken = accessToken; - _this.element.setAttribute(Embed.accessTokenAttribute, accessToken); - _this.service.accessToken = accessToken; - return response.body; - }) - .catch(function (response) { - throw response.body; - }); - }; - /** - * Gets an access token from the first available location: config, attribute, global. - * - * @private - * @param {string} globalAccessToken - * @returns {string} - * @hidden - */ - Embed.prototype.getAccessToken = function (globalAccessToken) { - var accessToken = this.config.accessToken || this.element.getAttribute(Embed.accessTokenAttribute) || globalAccessToken; - if (!accessToken) { - throw new Error("No access token was found for element. You must specify an access token directly on the element using attribute '" + Embed.accessTokenAttribute + "' or specify a global token at: powerbi.accessToken."); - } - return accessToken; - }; - /** - * Populate config for create and load - * - * @hidden - * @param {IEmbedConfiguration} - * @returns {void} - */ - Embed.prototype.populateConfig = function (config, isBootstrap) { - if (this.bootstrapConfig) { - this.config = utils.assign({}, this.bootstrapConfig, config); - // reset bootstrapConfig because we do not want to merge it in re-embed scenario. - this.bootstrapConfig = null; - } - else { - // Copy config - important for multiple iframe scenario. - // Otherwise, if a user uses the same config twice, same unique Id which will be used in different iframes. - this.config = utils.assign({}, config); - } - this.config.embedUrl = this.getEmbedUrl(isBootstrap); - this.config.groupId = this.getGroupId(); - this.addLocaleToEmbedUrl(config); - this.config.uniqueId = this.getUniqueId(); - if (isBootstrap) { - // save current config in bootstrapConfig to be able to merge it on next call to powerbi.embed - this.bootstrapConfig = this.config; - this.bootstrapConfig.bootstrapped = true; - } - else { - this.config.accessToken = this.getAccessToken(this.service.accessToken); - } - this.configChanged(isBootstrap); - }; - /** - * Adds locale parameters to embedUrl - * - * @private - * @param {IEmbedConfiguration} config - * @hidden - */ - Embed.prototype.addLocaleToEmbedUrl = function (config) { - if (!config.settings) { - return; - } - var 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); - } - }; - /** - * Gets an embed url from the first available location: options, attribute. - * - * @private - * @returns {string} - * @hidden - */ - Embed.prototype.getEmbedUrl = function (isBootstrap) { - var embedUrl = this.config.embedUrl || this.element.getAttribute(Embed.embedUrlAttribute); - if (isBootstrap && !embedUrl) { - // Prepare flow, embed url was not provided, use hostname to build embed url. - embedUrl = this.getDefaultEmbedUrl(this.config.hostname); - } - if (typeof embedUrl !== 'string' || embedUrl.length === 0) { - throw new Error("Embed Url is required, but it was not found. You must provide an embed url either as part of embed configuration or as attribute '" + Embed.embedUrlAttribute + "'."); - } - return embedUrl; - }; - /** - * @hidden - */ - Embed.prototype.getDefaultEmbedUrl = function (hostname) { - if (!hostname) { - hostname = Embed.defaultEmbedHostName; - } - var endpoint = this.getDefaultEmbedUrlEndpoint(); - // Trim spaces to fix user mistakes. - hostname = hostname.toLowerCase().trim(); - if (hostname.indexOf("http://") === 0) { - throw new Error("HTTP is not allowed. HTTPS is required"); - } - if (hostname.indexOf("https://") === 0) { - return hostname + "/" + endpoint; - } - return "https://" + hostname + "/" + endpoint; - }; - /** - * Gets a unique ID from the first available location: options, attribute. - * If neither is provided generate a unique string. - * - * @private - * @returns {string} - * @hidden - */ - Embed.prototype.getUniqueId = function () { - return this.config.uniqueId || this.element.getAttribute(Embed.nameAttribute) || utils.createRandomString(); - }; - /** - * Gets the group ID from the first available location: options, embeddedUrl. - * - * @private - * @returns {string} - * @hidden - */ - Embed.prototype.getGroupId = function () { - return this.config.groupId || Embed.findGroupIdFromEmbedUrl(this.config.embedUrl); - }; - /** - * Requests the browser to render the component's iframe in fullscreen mode. - */ - Embed.prototype.fullscreen = function () { - var requestFullScreen = this.iframe.requestFullscreen || this.iframe.msRequestFullscreen || this.iframe.mozRequestFullScreen || this.iframe.webkitRequestFullscreen; - requestFullScreen.call(this.iframe); - }; - /** - * Requests the browser to exit fullscreen mode. - */ - Embed.prototype.exitFullscreen = function () { - if (!this.isFullscreen(this.iframe)) { - return; - } - var exitFullscreen = document.exitFullscreen || document.mozCancelFullScreen || document.webkitExitFullscreen || document.msExitFullscreen; - exitFullscreen.call(document); - }; - /** - * Returns true if the iframe is rendered in fullscreen mode, - * otherwise returns false. - * - * @private - * @param {HTMLIFrameElement} iframe - * @returns {boolean} - * @hidden - */ - Embed.prototype.isFullscreen = function (iframe) { - var options = ['fullscreenElement', 'webkitFullscreenElement', 'mozFullscreenScreenElement', 'msFullscreenElement']; - return options.some(function (option) { return document[option] === iframe; }); - }; - /** - * Sets Iframe for embed - * @hidden - */ - Embed.prototype.setIframe = function (isLoad, phasedRender, isBootstrap) { - var _this = this; - if (!this.iframe) { - var iframeContent = document.createElement("iframe"); - var embedUrl = this.config.uniqueId ? utils.addParamToUrl(this.config.embedUrl, 'uid', this.config.uniqueId) : this.config.embedUrl; - iframeContent.style.width = '100%'; - iframeContent.style.height = '100%'; - iframeContent.setAttribute("src", embedUrl); - iframeContent.setAttribute("scrolling", "no"); - iframeContent.setAttribute("allowfullscreen", "true"); - var node = this.element; - while (node.firstChild) { - node.removeChild(node.firstChild); - } - node.appendChild(iframeContent); - this.iframe = node.firstChild; - } - if (isLoad) { - if (!isBootstrap) { - // Validate config if it's not a bootstrap case. - var errors = this.validate(this.config); - if (errors) { - throw errors; - } - } - this.iframe.addEventListener('load', function () { - _this.iframeLoaded = true; - _this.load(phasedRender); - }, false); - if (this.service.getNumberOfComponents() <= Embed.maxFrontLoadTimes) { - this.frontLoadHandler = function () { - _this.frontLoadSendConfig(_this.config); - }; - // 'ready' event is fired by the embedded element (not by the iframe) - this.element.addEventListener('ready', this.frontLoadHandler, false); - } - } - else { - this.iframe.addEventListener('load', function () { return _this.createReport(_this.createConfig); }, false); - } - }; - /** - * 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) { - return; - } - if (title == null) { - this.iframe.removeAttribute("title"); - } - else { - this.iframe.setAttribute("title", title); - } - }; - /** - * Sets element's tabindex attribute - */ - Embed.prototype.setComponentTabIndex = function (tabIndex) { - if (!this.element) { - return; - } - this.element.setAttribute("tabindex", (tabIndex == null) ? "0" : tabIndex.toString()); - }; - /** - * Removes element's tabindex attribute - */ - Embed.prototype.removeComponentTabIndex = function (tabIndex) { - if (!this.element) { - return; - } - this.element.removeAttribute("tabindex"); - }; - /** - * 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} - */ - Embed.findGroupIdFromEmbedUrl = function (url) { - var groupIdRegEx = /groupId="?([^&]+)"?/; - var groupIdMatch = url.match(groupIdRegEx); - var groupId; - if (groupIdMatch) { - groupId = groupIdMatch[1]; - } - return groupId; - }; - /** - * Sends the config for front load calls, after 'ready' message is received from the iframe - * @hidden - */ - Embed.prototype.frontLoadSendConfig = function (config) { - if (!config.accessToken) { - return; - } - var errors = this.validate(config); - if (errors) { - throw errors; - } - // contentWindow must be initialized - if (this.iframe.contentWindow == null) - return; - return this.service.hpm.post("/frontload/config", config, { uid: this.config.uniqueId }, this.iframe.contentWindow).then(function (response) { - return response.body; - }, function (response) { - 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; - }()); - exports.Embed = Embed; + 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 + * + * @export + * @abstract + * @hidden + * @class Embed + */ + var Embed = (function () { + /** + * Creates an instance of Embed. + * + * Note: there is circular reference between embeds and the service, because + * the service has a list of all embeds on the host page, and each embed has a reference to the service that created it. + * + * @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); + } + Array.prototype.push.apply(this.allowedEvents, Embed.allowedEvents); + this.eventHandlers = []; + this.service = service; + this.element = element; + this.iframe = iframe; + this.iframeLoaded = false; + this.embedtype = config.type.toLowerCase(); + this.populateConfig(config, isBootstrap); + 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); + } + } + /** + * Sends createReport configuration data. + * + * ```javascript + * createReport({ + * datasetId: '5dac7a4a-4452-46b3-99f6-a25915e0fe55', + * accessToken: 'eyJ0eXA ... TaE2rTSbmg', + * ``` + * @hidden + * @param {models.IReportCreateConfiguration} config + * @returns {Promise} + */ + Embed.prototype.createReport = function (config) { + var errors = models.validateCreateReport(config); + if (errors) { + throw errors; + } + return this.service.hpm.post("/report/create", config, { uid: this.config.uniqueId, sdkSessionId: this.service.getSdkSessionId() }, this.iframe.contentWindow) + .then(function (response) { + return response.body; + }, function (response) { + throw response.body; + }); + }; + /** + * Saves Report. + * + * @returns {Promise} + */ + Embed.prototype.save = function () { + return this.service.hpm.post('/report/save', null, { uid: this.config.uniqueId }, this.iframe.contentWindow) + .then(function (response) { + return response.body; + }) + .catch(function (response) { + throw response.body; + }); + }; + /** + * SaveAs Report. + * + * @returns {Promise} + */ + Embed.prototype.saveAs = function (saveAsParameters) { + return this.service.hpm.post('/report/saveAs', saveAsParameters, { uid: this.config.uniqueId }, this.iframe.contentWindow) + .then(function (response) { + return response.body; + }) + .catch(function (response) { + 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. + * + * ```javascript + * report.load({ + * type: 'report', + * id: '5dac7a4a-4452-46b3-99f6-a25915e0fe55', + * accessToken: 'eyJ0eXA ... TaE2rTSbmg', + * settings: { + * navContentPaneEnabled: false + * }, + * pageName: "DefaultPage", + * filters: [ + * { + * ... DefaultReportFilter ... + * } + * ] + * }) + * .catch(error => { ... }); + * ``` + * @hidden + * @param {models.ILoadConfiguration} config + * @param {boolean} phasedRender + * @returns {Promise} + */ + Embed.prototype.load = function (phasedRender) { + if (!this.config.accessToken) { + console.debug("Power BI SDK iframe is loaded but powerbi.embed is not called yet."); + return; + } + if (!this.iframeLoaded) { + console.debug("Power BI SDK is trying to post /report/load before iframe is ready."); + return; + } + var path = phasedRender && this.config.type === 'report' ? this.phasedLoadPath : this.loadPath; + var headers = { + uid: this.config.uniqueId, + sdkSessionId: this.service.getSdkSessionId(), + bootstrapped: this.config.bootstrapped, + sdkVersion: sdkConfig.default.version + }; + var timeNow = new Date(); + if (this.lastLoadRequest && utils.getTimeDiffInMilliseconds(this.lastLoadRequest, timeNow) < 100) { + console.debug("Power BI SDK sent more than two /report/load requests in the last 100ms interval."); + return; + } + this.lastLoadRequest = timeNow; + return this.service.hpm.post(path, this.config, headers, this.iframe.contentWindow) + .then(function (response) { + return response.body; + }, function (response) { + throw response.body; + }); + }; + /** + * Removes one or more event handlers from the list of handlers. + * If a reference to the existing handle function is specified, remove the specific handler. + * If the handler is not specified, remove all handlers for the event name specified. + * + * ```javascript + * report.off('pageChanged') + * + * or + * + * const logHandler = function (event) { + * console.log(event); + * }; + * + * report.off('pageChanged', logHandler); + * ``` + * + * @template T + * @param {string} eventName + * @param {service.IEventHandler} [handler] + */ + Embed.prototype.off = function (eventName, handler) { + var _this = this; + var fakeEvent = { name: eventName, type: null, id: null, value: null }; + if (handler) { + utils.remove(function (eventHandler) { return eventHandler.test(fakeEvent) && (eventHandler.handle === handler); }, this.eventHandlers); + this.element.removeEventListener(eventName, handler); + } + else { + var eventHandlersToRemove = this.eventHandlers + .filter(function (eventHandler) { return eventHandler.test(fakeEvent); }); + eventHandlersToRemove + .forEach(function (eventHandlerToRemove) { + utils.remove(function (eventHandler) { return eventHandler === eventHandlerToRemove; }, _this.eventHandlers); + _this.element.removeEventListener(eventName, eventHandlerToRemove.handle); + }); + } + }; + /** + * Adds an event handler for a specific event. + * + * ```javascript + * report.on('pageChanged', (event) => { + * console.log('PageChanged: ', event.page.name); + * }); + * ``` + * + * @template T + * @param {string} eventName + * @param {service.IEventHandler} handler + */ + Embed.prototype.on = function (eventName, handler) { + if (this.allowedEvents.indexOf(eventName) === -1) { + throw new Error("eventName must be one of " + this.allowedEvents + ". You passed: " + eventName); + } + this.eventHandlers.push({ + test: function (event) { return event.name === eventName; }, + handle: handler + }); + this.element.addEventListener(eventName, handler); + }; + /** + * Reloads embed using existing configuration. + * E.g. For reports this effectively clears all filters and makes the first page active which simulates resetting a report back to loaded state. + * + * ```javascript + * report.reload(); + * ``` + */ + Embed.prototype.reload = function () { + return this.load(); + }; + /** + * Set accessToken. + * + * @returns {Promise} + */ + Embed.prototype.setAccessToken = function (accessToken) { + var _this = this; + var embedType = this.config.type; + embedType = (embedType === 'create' || embedType === 'visual' || embedType === 'qna') ? 'report' : embedType; + return this.service.hpm.post('/' + embedType + '/token', accessToken, { uid: this.config.uniqueId }, this.iframe.contentWindow) + .then(function (response) { + _this.config.accessToken = accessToken; + _this.element.setAttribute(Embed.accessTokenAttribute, accessToken); + _this.service.accessToken = accessToken; + return response.body; + }) + .catch(function (response) { + throw response.body; + }); + }; + /** + * Gets an access token from the first available location: config, attribute, global. + * + * @private + * @param {string} globalAccessToken + * @returns {string} + * @hidden + */ + Embed.prototype.getAccessToken = function (globalAccessToken) { + var accessToken = this.config.accessToken || this.element.getAttribute(Embed.accessTokenAttribute) || globalAccessToken; + if (!accessToken) { + throw new Error("No access token was found for element. You must specify an access token directly on the element using attribute '" + Embed.accessTokenAttribute + "' or specify a global token at: powerbi.accessToken."); + } + return accessToken; + }; + /** + * Populate config for create and load + * + * @hidden + * @param {IEmbedConfiguration} + * @returns {void} + */ + Embed.prototype.populateConfig = function (config, isBootstrap) { + if (this.bootstrapConfig) { + this.config = utils.assign({}, this.bootstrapConfig, config); + // reset bootstrapConfig because we do not want to merge it in re-embed scenario. + this.bootstrapConfig = null; + } + else { + // Copy config - important for multiple iframe scenario. + // Otherwise, if a user uses the same config twice, same unique Id which will be used in different iframes. + this.config = utils.assign({}, config); + } + this.config.embedUrl = this.getEmbedUrl(isBootstrap); + this.config.groupId = this.getGroupId(); + this.addLocaleToEmbedUrl(config); + this.config.uniqueId = this.getUniqueId(); + if (isBootstrap) { + // save current config in bootstrapConfig to be able to merge it on next call to powerbi.embed + this.bootstrapConfig = this.config; + this.bootstrapConfig.bootstrapped = true; + } + else { + this.config.accessToken = this.getAccessToken(this.service.accessToken); + } + this.configChanged(isBootstrap); + }; + /** + * Adds locale parameters to embedUrl + * + * @private + * @param {IEmbedConfiguration} config + * @hidden + */ + Embed.prototype.addLocaleToEmbedUrl = function (config) { + if (!config.settings) { + return; + } + var 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); + } + }; + /** + * Gets an embed url from the first available location: options, attribute. + * + * @private + * @returns {string} + * @hidden + */ + Embed.prototype.getEmbedUrl = function (isBootstrap) { + var embedUrl = this.config.embedUrl || this.element.getAttribute(Embed.embedUrlAttribute); + if (isBootstrap && !embedUrl) { + // Prepare flow, embed url was not provided, use hostname to build embed url. + embedUrl = this.getDefaultEmbedUrl(this.config.hostname); + } + if (typeof embedUrl !== 'string' || embedUrl.length === 0) { + throw new Error("Embed Url is required, but it was not found. You must provide an embed url either as part of embed configuration or as attribute '" + Embed.embedUrlAttribute + "'."); + } + return embedUrl; + }; + /** + * @hidden + */ + Embed.prototype.getDefaultEmbedUrl = function (hostname) { + if (!hostname) { + hostname = Embed.defaultEmbedHostName; + } + var endpoint = this.getDefaultEmbedUrlEndpoint(); + // Trim spaces to fix user mistakes. + hostname = hostname.toLowerCase().trim(); + if (hostname.indexOf("http://") === 0) { + throw new Error("HTTP is not allowed. HTTPS is required"); + } + if (hostname.indexOf("https://") === 0) { + return hostname + "/" + endpoint; + } + return "https://" + hostname + "/" + endpoint; + }; + /** + * Gets a unique ID from the first available location: options, attribute. + * If neither is provided generate a unique string. + * + * @private + * @returns {string} + * @hidden + */ + Embed.prototype.getUniqueId = function () { + return this.config.uniqueId || this.element.getAttribute(Embed.nameAttribute) || utils.createRandomString(); + }; + /** + * Gets the group ID from the first available location: options, embeddedUrl. + * + * @private + * @returns {string} + * @hidden + */ + Embed.prototype.getGroupId = function () { + return this.config.groupId || Embed.findGroupIdFromEmbedUrl(this.config.embedUrl); + }; + /** + * Requests the browser to render the component's iframe in fullscreen mode. + */ + Embed.prototype.fullscreen = function () { + var requestFullScreen = this.iframe.requestFullscreen || this.iframe.msRequestFullscreen || this.iframe.mozRequestFullScreen || this.iframe.webkitRequestFullscreen; + requestFullScreen.call(this.iframe); + }; + /** + * Requests the browser to exit fullscreen mode. + */ + Embed.prototype.exitFullscreen = function () { + if (!this.isFullscreen(this.iframe)) { + return; + } + var exitFullscreen = document.exitFullscreen || document.mozCancelFullScreen || document.webkitExitFullscreen || document.msExitFullscreen; + exitFullscreen.call(document); + }; + /** + * Returns true if the iframe is rendered in fullscreen mode, + * otherwise returns false. + * + * @private + * @param {HTMLIFrameElement} iframe + * @returns {boolean} + * @hidden + */ + Embed.prototype.isFullscreen = function (iframe) { + var options = ['fullscreenElement', 'webkitFullscreenElement', 'mozFullscreenScreenElement', 'msFullscreenElement']; + return options.some(function (option) { return document[option] === iframe; }); + }; + /** + * Sets Iframe for embed + * @hidden + */ + Embed.prototype.setIframe = function (isLoad, phasedRender, isBootstrap) { + var _this = this; + if (!this.iframe) { + var iframeContent = document.createElement("iframe"); + var embedUrl = this.config.uniqueId ? utils.addParamToUrl(this.config.embedUrl, 'uid', this.config.uniqueId) : this.config.embedUrl; + iframeContent.style.width = '100%'; + iframeContent.style.height = '100%'; + iframeContent.setAttribute("src", embedUrl); + iframeContent.setAttribute("scrolling", "no"); + iframeContent.setAttribute("allowfullscreen", "true"); + var node = this.element; + while (node.firstChild) { + node.removeChild(node.firstChild); + } + node.appendChild(iframeContent); + this.iframe = node.firstChild; + } + if (isLoad) { + if (!isBootstrap) { + // Validate config if it's not a bootstrap case. + var errors = this.validate(this.config); + if (errors) { + throw errors; + } + } + this.iframe.addEventListener('load', function () { + _this.iframeLoaded = true; + _this.load(phasedRender); + }, false); + if (this.service.getNumberOfComponents() <= Embed.maxFrontLoadTimes) { + this.frontLoadHandler = function () { + _this.frontLoadSendConfig(_this.config); + }; + // 'ready' event is fired by the embedded element (not by the iframe) + this.element.addEventListener('ready', this.frontLoadHandler, false); + } + } + else { + this.iframe.addEventListener('load', function () { return _this.createReport(_this.createConfig); }, false); + } + }; + /** + * 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) { + return; + } + if (title == null) { + this.iframe.removeAttribute("title"); + } + else { + this.iframe.setAttribute("title", title); + } + }; + /** + * Sets element's tabindex attribute + */ + Embed.prototype.setComponentTabIndex = function (tabIndex) { + if (!this.element) { + return; + } + this.element.setAttribute("tabindex", (tabIndex == null) ? "0" : tabIndex.toString()); + }; + /** + * Removes element's tabindex attribute + */ + Embed.prototype.removeComponentTabIndex = function (tabIndex) { + if (!this.element) { + return; + } + this.element.removeAttribute("tabindex"); + }; + /** + * 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} + */ + Embed.findGroupIdFromEmbedUrl = function (url) { + var groupIdRegEx = /groupId="?([^&]+)"?/; + var groupIdMatch = url.match(groupIdRegEx); + var groupId; + if (groupIdMatch) { + groupId = groupIdMatch[1]; + } + return groupId; + }; + /** + * Sends the config for front load calls, after 'ready' message is received from the iframe + * @hidden + */ + Embed.prototype.frontLoadSendConfig = function (config) { + if (!config.accessToken) { + return; + } + var errors = this.validate(config); + if (errors) { + throw errors; + } + // contentWindow must be initialized + if (this.iframe.contentWindow == null) + return; + return this.service.hpm.post("/frontload/config", config, { uid: this.config.uniqueId }, this.iframe.contentWindow).then(function (response) { + return response.body; + }, function (response) { + 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; + }()); + exports.Embed = Embed; /***/ }), /* 3 */ /***/ (function(module, exports) { - /** - * Raises a custom event with event data on the specified HTML element. - * - * @export - * @param {HTMLElement} element - * @param {string} eventName - * @param {*} eventData - */ - function raiseCustomEvent(element, eventName, eventData) { - var customEvent; - if (typeof CustomEvent === 'function') { - customEvent = new CustomEvent(eventName, { - detail: eventData, - bubbles: true, - cancelable: true - }); - } - else { - customEvent = document.createEvent('CustomEvent'); - customEvent.initCustomEvent(eventName, true, true, eventData); - } - element.dispatchEvent(customEvent); - } - exports.raiseCustomEvent = raiseCustomEvent; - /** - * Finds the index of the first value in an array that matches the specified predicate. - * - * @export - * @template T - * @param {(x: T) => boolean} predicate - * @param {T[]} xs - * @returns {number} - */ - function findIndex(predicate, xs) { - if (!Array.isArray(xs)) { - throw new Error("You attempted to call find with second parameter that was not an array. You passed: " + xs); - } - var index; - xs.some(function (x, i) { - if (predicate(x)) { - index = i; - return true; - } - }); - return index; - } - exports.findIndex = findIndex; - /** - * Finds the first value in an array that matches the specified predicate. - * - * @export - * @template T - * @param {(x: T) => boolean} predicate - * @param {T[]} xs - * @returns {T} - */ - function find(predicate, xs) { - var index = findIndex(predicate, xs); - return xs[index]; - } - exports.find = find; - function remove(predicate, xs) { - var index = findIndex(predicate, xs); - xs.splice(index, 1); - } - exports.remove = remove; - // See: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/assign - // TODO: replace in favor of using polyfill - /** - * Copies the values of all enumerable properties from one or more source objects to a target object, and returns the target object. - * - * @export - * @param {any} args - * @returns - */ - function assign() { - var args = []; - for (var _i = 0; _i < arguments.length; _i++) { - args[_i - 0] = arguments[_i]; - } - var target = args[0]; - 'use strict'; - if (target === undefined || target === null) { - throw new TypeError('Cannot convert undefined or null to object'); - } - var output = Object(target); - for (var index = 1; index < arguments.length; index++) { - var source = arguments[index]; - if (source !== undefined && source !== null) { - for (var nextKey in source) { - if (source.hasOwnProperty(nextKey)) { - output[nextKey] = source[nextKey]; - } - } - } - } - return output; - } - exports.assign = assign; - /** - * Generates a random 5 to 6 character string. - * - * @export - * @returns {string} - */ - function createRandomString() { - return getRandomValue().toString(36).substring(1); - } - exports.createRandomString = createRandomString; - /** - * Generates a 20 charachter uuid. - * - * @export - * @returns {string} - */ - function generateUUID() { - var d = new Date().getTime(); - if (typeof performance !== 'undefined' && typeof performance.now === 'function') { - d += performance.now(); - } - return 'xxxxxxxxxxxxxxxxxxxx'.replace(/[xy]/g, function (c) { - // Generate a random number, scaled from 0 to 15. - var r = (getRandomValue() % 16); - // Shift 4 times to divide by 16 - d >>= 4; - return r.toString(16); - }); - } - exports.generateUUID = generateUUID; - /** - * Adds a parameter to the given url - * - * @export - * @param {string} url - * @param {string} paramName - * @param {string} value - * @returns {string} - */ - function addParamToUrl(url, paramName, value) { - var parameterPrefix = url.indexOf('?') > 0 ? '&' : '?'; - url += parameterPrefix + paramName + '=' + value; - return url; - } - exports.addParamToUrl = addParamToUrl; - /** - * Checks if the report is saved. - * - * @export - * @param {HttpPostMessage} hpm - * @param {string} uid - * @param {Window} contentWindow - * @returns {Promise} - */ - function isSavedInternal(hpm, uid, contentWindow) { - return hpm.get('/report/hasUnsavedChanges', { uid: uid }, contentWindow) - .then(function (response) { return !response.body; }, function (response) { - throw response.body; - }); - } - exports.isSavedInternal = isSavedInternal; - /** - * Checks if the embed url is for RDL report. - * - * @export - * @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 - */ - function getRandomValue() { - // window.msCrypto for IE - var cryptoObj = window.crypto || window.msCrypto; - var randomValueArray = new Uint32Array(1); - cryptoObj.getRandomValues(randomValueArray); - return randomValueArray[0]; - } - exports.getRandomValue = getRandomValue; - /** - * Returns the time interval between two dates in milliseconds - * @export - * @param {Date} start - * @param {Date} end - * @returns {number} - */ - function getTimeDiffInMilliseconds(start, end) { - return Math.abs(start.getTime() - end.getTime()); - } - exports.getTimeDiffInMilliseconds = getTimeDiffInMilliseconds; + /** + * Raises a custom event with event data on the specified HTML element. + * + * @export + * @param {HTMLElement} element + * @param {string} eventName + * @param {*} eventData + */ + function raiseCustomEvent(element, eventName, eventData) { + var customEvent; + if (typeof CustomEvent === 'function') { + customEvent = new CustomEvent(eventName, { + detail: eventData, + bubbles: true, + cancelable: true + }); + } + else { + customEvent = document.createEvent('CustomEvent'); + customEvent.initCustomEvent(eventName, true, true, eventData); + } + element.dispatchEvent(customEvent); + } + exports.raiseCustomEvent = raiseCustomEvent; + /** + * Finds the index of the first value in an array that matches the specified predicate. + * + * @export + * @template T + * @param {(x: T) => boolean} predicate + * @param {T[]} xs + * @returns {number} + */ + function findIndex(predicate, xs) { + if (!Array.isArray(xs)) { + throw new Error("You attempted to call find with second parameter that was not an array. You passed: " + xs); + } + var index; + xs.some(function (x, i) { + if (predicate(x)) { + index = i; + return true; + } + }); + return index; + } + exports.findIndex = findIndex; + /** + * Finds the first value in an array that matches the specified predicate. + * + * @export + * @template T + * @param {(x: T) => boolean} predicate + * @param {T[]} xs + * @returns {T} + */ + function find(predicate, xs) { + var index = findIndex(predicate, xs); + return xs[index]; + } + exports.find = find; + function remove(predicate, xs) { + var index = findIndex(predicate, xs); + xs.splice(index, 1); + } + exports.remove = remove; + // See: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/assign + // TODO: replace in favor of using polyfill + /** + * Copies the values of all enumerable properties from one or more source objects to a target object, and returns the target object. + * + * @export + * @param {any} args + * @returns + */ + function assign() { + var args = []; + for (var _i = 0; _i < arguments.length; _i++) { + args[_i - 0] = arguments[_i]; + } + var target = args[0]; + 'use strict'; + if (target === undefined || target === null) { + throw new TypeError('Cannot convert undefined or null to object'); + } + var output = Object(target); + for (var index = 1; index < arguments.length; index++) { + var source = arguments[index]; + if (source !== undefined && source !== null) { + for (var nextKey in source) { + if (source.hasOwnProperty(nextKey)) { + output[nextKey] = source[nextKey]; + } + } + } + } + return output; + } + exports.assign = assign; + /** + * Generates a random 5 to 6 character string. + * + * @export + * @returns {string} + */ + function createRandomString() { + return getRandomValue().toString(36).substring(1); + } + exports.createRandomString = createRandomString; + /** + * Generates a 20 charachter uuid. + * + * @export + * @returns {string} + */ + function generateUUID() { + var d = new Date().getTime(); + if (typeof performance !== 'undefined' && typeof performance.now === 'function') { + d += performance.now(); + } + return 'xxxxxxxxxxxxxxxxxxxx'.replace(/[xy]/g, function (c) { + // Generate a random number, scaled from 0 to 15. + var r = (getRandomValue() % 16); + // Shift 4 times to divide by 16 + d >>= 4; + return r.toString(16); + }); + } + exports.generateUUID = generateUUID; + /** + * Adds a parameter to the given url + * + * @export + * @param {string} url + * @param {string} paramName + * @param {string} value + * @returns {string} + */ + function addParamToUrl(url, paramName, value) { + var parameterPrefix = url.indexOf('?') > 0 ? '&' : '?'; + url += parameterPrefix + paramName + '=' + value; + return url; + } + exports.addParamToUrl = addParamToUrl; + /** + * Checks if the report is saved. + * + * @export + * @param {HttpPostMessage} hpm + * @param {string} uid + * @param {Window} contentWindow + * @returns {Promise} + */ + function isSavedInternal(hpm, uid, contentWindow) { + return hpm.get('/report/hasUnsavedChanges', { uid: uid }, contentWindow) + .then(function (response) { return !response.body; }, function (response) { + throw response.body; + }); + } + exports.isSavedInternal = isSavedInternal; + /** + * Checks if the embed url is for RDL report. + * + * @export + * @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 + */ + function getRandomValue() { + // window.msCrypto for IE + var cryptoObj = window.crypto || window.msCrypto; + var randomValueArray = new Uint32Array(1); + cryptoObj.getRandomValues(randomValueArray); + return randomValueArray[0]; + } + exports.getRandomValue = getRandomValue; + /** + * Returns the time interval between two dates in milliseconds + * @export + * @param {Date} start + * @param {Date} end + * @returns {number} + */ + function getTimeDiffInMilliseconds(start, end) { + return Math.abs(start.getTime() - end.getTime()); + } + exports.getTimeDiffInMilliseconds = getTimeDiffInMilliseconds; /***/ }), /* 4 */ /***/ (function(module, exports) { - /** @ignore */ /** */ - var config = { - version: '2.15.1', - type: 'js' - }; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.default = config; + /** @ignore */ /** */ + var config = { + version: '2.15.1', + type: 'js' + }; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.default = config; /***/ }), @@ -1415,3920 +1415,3920 @@ return /******/ (function(modules) { // webpackBootstrap /* 0 */ /***/ (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 }); - exports.validateCustomTheme = exports.validateCommandsSettings = exports.validateVisualSettings = exports.validateVisualHeader = exports.validateExportDataRequest = exports.validateQnaInterpretInputData = exports.validateLoadQnaConfiguration = exports.validateSaveAsParameters = exports.validateFilter = exports.validatePage = exports.validateTileLoad = exports.validateDashboardLoad = exports.validateCreateReport = exports.validateReportLoad = exports.validateExtension = exports.validateCustomPageSize = exports.validateVisualizationsPane = exports.validateSyncSlicersPane = exports.validateSelectionPane = exports.validatePageNavigationPane = exports.validateFieldsPane = exports.validateFiltersPane = exports.validateBookmarksPane = exports.validatePanes = exports.validateSettings = exports.validateCaptureBookmarkRequest = exports.validateApplyBookmarkStateRequest = exports.validateApplyBookmarkByNameRequest = exports.validateAddBookmarkRequest = exports.validatePlayBookmarkRequest = exports.validateSlicerState = exports.validateSlicer = exports.validateVisualSelector = exports.VisualDataRoleKindPreference = exports.VisualDataRoleKind = exports.CommandDisplayOption = exports.SlicerTargetSelector = exports.VisualTypeSelector = exports.VisualSelector = exports.PageSelector = exports.Selector = exports.SortDirection = exports.LegendPosition = exports.TextAlignment = exports.CommonErrorCodes = exports.BookmarksPlayMode = exports.ExportDataType = exports.QnaMode = exports.PageNavigationPosition = exports.isColumnAggr = exports.isHierarchyLevelAggr = exports.isHierarchyLevel = exports.isColumn = exports.isMeasure = exports.getFilterType = exports.isBasicFilterWithKeys = exports.isFilterKeyColumnsTarget = exports.AdvancedFilter = exports.TupleFilter = exports.BasicFilterWithKeys = exports.BasicFilter = exports.RelativeTimeFilter = exports.RelativeDateFilter = exports.TopNFilter = exports.IncludeExcludeFilter = exports.NotSupportedFilter = exports.Filter = exports.RelativeDateOperators = exports.RelativeDateFilterTimeUnit = exports.FilterType = exports.FiltersLevel = exports.MenuLocation = exports.ContrastMode = exports.TokenType = exports.ViewMode = exports.Permissions = exports.SectionVisibility = exports.HyperlinkClickBehavior = exports.LayoutType = exports.VisualContainerDisplayMode = exports.BackgroundType = exports.DisplayOption = exports.PageSizeType = exports.TraceType = exports.Validators = void 0; - 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[FilterType["RelativeTime"] = 7] = "RelativeTime"; - })(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[RelativeDateFilterTimeUnit["Minutes"] = 7] = "Minutes"; - RelativeDateFilterTimeUnit[RelativeDateFilterTimeUnit["Hours"] = 8] = "Hours"; - })(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 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) { - 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 PageNavigationPosition; - (function (PageNavigationPosition) { - PageNavigationPosition[PageNavigationPosition["Bottom"] = 0] = "Bottom"; - PageNavigationPosition[PageNavigationPosition["Left"] = 1] = "Left"; - })(PageNavigationPosition = exports.PageNavigationPosition || (exports.PageNavigationPosition = {})); - 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 validateCaptureBookmarkRequest(input) { - var errors = exports.Validators.captureBookmarkRequestValidator.validate(input); - return errors ? errors.map(normalizeError) : undefined; - } - exports.validateCaptureBookmarkRequest = validateCaptureBookmarkRequest; - function validateSettings(input) { - var errors = exports.Validators.settingsValidator.validate(input); - 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; - } - 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.validateCustomTheme = exports.validateCommandsSettings = exports.validateVisualSettings = exports.validateVisualHeader = exports.validateExportDataRequest = exports.validateQnaInterpretInputData = exports.validateLoadQnaConfiguration = exports.validateSaveAsParameters = exports.validateFilter = exports.validatePage = exports.validateTileLoad = exports.validateDashboardLoad = exports.validateCreateReport = exports.validateReportLoad = exports.validateExtension = exports.validateCustomPageSize = exports.validateVisualizationsPane = exports.validateSyncSlicersPane = exports.validateSelectionPane = exports.validatePageNavigationPane = exports.validateFieldsPane = exports.validateFiltersPane = exports.validateBookmarksPane = exports.validatePanes = exports.validateSettings = exports.validateCaptureBookmarkRequest = exports.validateApplyBookmarkStateRequest = exports.validateApplyBookmarkByNameRequest = exports.validateAddBookmarkRequest = exports.validatePlayBookmarkRequest = exports.validateSlicerState = exports.validateSlicer = exports.validateVisualSelector = exports.VisualDataRoleKindPreference = exports.VisualDataRoleKind = exports.CommandDisplayOption = exports.SlicerTargetSelector = exports.VisualTypeSelector = exports.VisualSelector = exports.PageSelector = exports.Selector = exports.SortDirection = exports.LegendPosition = exports.TextAlignment = exports.CommonErrorCodes = exports.BookmarksPlayMode = exports.ExportDataType = exports.QnaMode = exports.PageNavigationPosition = exports.isColumnAggr = exports.isHierarchyLevelAggr = exports.isHierarchyLevel = exports.isColumn = exports.isMeasure = exports.getFilterType = exports.isBasicFilterWithKeys = exports.isFilterKeyColumnsTarget = exports.AdvancedFilter = exports.TupleFilter = exports.BasicFilterWithKeys = exports.BasicFilter = exports.RelativeTimeFilter = exports.RelativeDateFilter = exports.TopNFilter = exports.IncludeExcludeFilter = exports.NotSupportedFilter = exports.Filter = exports.RelativeDateOperators = exports.RelativeDateFilterTimeUnit = exports.FilterType = exports.FiltersLevel = exports.MenuLocation = exports.ContrastMode = exports.TokenType = exports.ViewMode = exports.Permissions = exports.SectionVisibility = exports.HyperlinkClickBehavior = exports.LayoutType = exports.VisualContainerDisplayMode = exports.BackgroundType = exports.DisplayOption = exports.PageSizeType = exports.TraceType = exports.Validators = void 0; + 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[FilterType["RelativeTime"] = 7] = "RelativeTime"; + })(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[RelativeDateFilterTimeUnit["Minutes"] = 7] = "Minutes"; + RelativeDateFilterTimeUnit[RelativeDateFilterTimeUnit["Hours"] = 8] = "Hours"; + })(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 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) { + 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 PageNavigationPosition; + (function (PageNavigationPosition) { + PageNavigationPosition[PageNavigationPosition["Bottom"] = 0] = "Bottom"; + PageNavigationPosition[PageNavigationPosition["Left"] = 1] = "Left"; + })(PageNavigationPosition = exports.PageNavigationPosition || (exports.PageNavigationPosition = {})); + 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 validateCaptureBookmarkRequest(input) { + var errors = exports.Validators.captureBookmarkRequestValidator.validate(input); + return errors ? errors.map(normalizeError) : undefined; + } + exports.validateCaptureBookmarkRequest = validateCaptureBookmarkRequest; + function validateSettings(input) { + var errors = exports.Validators.settingsValidator.validate(input); + 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; + } + 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 }); - exports.Validators = void 0; - 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); - var panesValidator_1 = __webpack_require__(26); - var barsValidator_1 = __webpack_require__(27); - 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(), new filtersValidator_1.RelativeTimeFilterValidator()]), - anyValueValidator: new anyOfValidator_1.AnyOfValidator([new typeValidator_1.StringValidator(), new typeValidator_1.NumberValidator(), new typeValidator_1.BooleanValidator()]), - actionBarValidator: new barsValidator_1.ActionBarValidator(), - 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(), - bookmarksPaneValidator: new panesValidator_1.BookmarksPaneValidator(), - captureBookmarkOptionsValidator: new bookmarkValidator_1.CaptureBookmarkOptionsValidator(), - captureBookmarkRequestValidator: new bookmarkValidator_1.CaptureBookmarkRequestValidator(), - 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(), - fieldsPaneValidator: new panesValidator_1.FieldsPaneValidator(), - 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(), new filtersValidator_1.RelativeTimeFilterValidator()])]), - 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]), - 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()]), - pageNavigationPaneValidator: new panesValidator_1.PageNavigationPaneValidator(), - pageNavigationPositionValidator: new typeValidator_1.EnumValidator([0, 1]), - 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()]), - reportBarsValidator: new barsValidator_1.ReportBarsValidator(), - 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(), - 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(), - 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()]), - 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(), - syncSlicersPaneValidator: new panesValidator_1.SyncSlicersPaneValidator(), - 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()]), - visualizationsPaneValidator: new panesValidator_1.VisualizationsPaneValidator(), - 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 }); + exports.Validators = void 0; + 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); + var panesValidator_1 = __webpack_require__(26); + var barsValidator_1 = __webpack_require__(27); + 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(), new filtersValidator_1.RelativeTimeFilterValidator()]), + anyValueValidator: new anyOfValidator_1.AnyOfValidator([new typeValidator_1.StringValidator(), new typeValidator_1.NumberValidator(), new typeValidator_1.BooleanValidator()]), + actionBarValidator: new barsValidator_1.ActionBarValidator(), + 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(), + bookmarksPaneValidator: new panesValidator_1.BookmarksPaneValidator(), + captureBookmarkOptionsValidator: new bookmarkValidator_1.CaptureBookmarkOptionsValidator(), + captureBookmarkRequestValidator: new bookmarkValidator_1.CaptureBookmarkRequestValidator(), + 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(), + fieldsPaneValidator: new panesValidator_1.FieldsPaneValidator(), + 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(), new filtersValidator_1.RelativeTimeFilterValidator()])]), + 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]), + 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()]), + pageNavigationPaneValidator: new panesValidator_1.PageNavigationPaneValidator(), + pageNavigationPositionValidator: new typeValidator_1.EnumValidator([0, 1]), + 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()]), + reportBarsValidator: new barsValidator_1.ReportBarsValidator(), + 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(), + 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(), + 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()]), + 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(), + syncSlicersPaneValidator: new panesValidator_1.SyncSlicersPaneValidator(), + 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()]), + visualizationsPaneValidator: new panesValidator_1.VisualizationsPaneValidator(), + 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 = 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.NumberArrayValidator = exports.BooleanArrayValidator = exports.StringArrayValidator = exports.EnumValidator = exports.SchemaValidator = exports.ValueValidator = exports.NumberValidator = exports.BooleanValidator = exports.StringValidator = exports.TypeValidator = exports.ArrayValidator = exports.ObjectValidator = void 0; - 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 }); + exports.NumberArrayValidator = exports.BooleanArrayValidator = exports.StringArrayValidator = exports.EnumValidator = exports.SchemaValidator = exports.ValueValidator = exports.NumberValidator = exports.BooleanValidator = exports.StringValidator = exports.TypeValidator = exports.ArrayValidator = exports.ObjectValidator = void 0; + 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 = 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.ExtensionValidator = exports.CommandExtensionValidator = exports.ExtensionItemValidator = exports.ExtensionPointsValidator = exports.MenuExtensionValidator = void 0; - 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 }); + exports.ExtensionValidator = exports.CommandExtensionValidator = exports.ExtensionItemValidator = exports.ExtensionPointsValidator = exports.MenuExtensionValidator = void 0; + 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 }); - exports.MultipleFieldsValidator = void 0; - 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 }); + exports.MultipleFieldsValidator = void 0; + 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 = 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.SettingsValidator = void 0; - 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] - }, - { - field: "bars", - validators: [validator_1.Validators.reportBarsValidator] - }, - { - field: "panes", - validators: [validator_1.Validators.reportPanesValidator] - }, - { - field: "personalBookmarksEnabled", - validators: [validator_1.Validators.booleanValidator] - }, - { - field: "persistentFiltersEnabled", - validators: [validator_1.Validators.booleanValidator] - }, - { - field: "visualRenderedEvents", - validators: [validator_1.Validators.booleanValidator] - } - ]; - 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 }); + exports.SettingsValidator = void 0; + 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] + }, + { + field: "bars", + validators: [validator_1.Validators.reportBarsValidator] + }, + { + field: "panes", + validators: [validator_1.Validators.reportPanesValidator] + }, + { + field: "personalBookmarksEnabled", + validators: [validator_1.Validators.booleanValidator] + }, + { + field: "persistentFiltersEnabled", + validators: [validator_1.Validators.booleanValidator] + }, + { + field: "visualRenderedEvents", + validators: [validator_1.Validators.booleanValidator] + } + ]; + 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 = 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.CaptureBookmarkRequestValidator = exports.CaptureBookmarkOptionsValidator = exports.ApplyBookmarkStateRequestValidator = exports.ApplyBookmarkByNameRequestValidator = exports.AddBookmarkRequestValidator = exports.PlayBookmarkRequestValidator = void 0; - 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 CaptureBookmarkOptionsValidator = /** @class */ (function (_super) { - __extends(CaptureBookmarkOptionsValidator, _super); - function CaptureBookmarkOptionsValidator() { - return _super !== null && _super.apply(this, arguments) || this; - } - CaptureBookmarkOptionsValidator.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: "personalizeVisuals", - validators: [validator_1.Validators.booleanValidator] - } - ]; - var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields); - return multipleFieldsValidator.validate(input, path, field); - }; - return CaptureBookmarkOptionsValidator; - }(typeValidator_1.ObjectValidator)); - exports.CaptureBookmarkOptionsValidator = CaptureBookmarkOptionsValidator; - var CaptureBookmarkRequestValidator = /** @class */ (function (_super) { - __extends(CaptureBookmarkRequestValidator, _super); - function CaptureBookmarkRequestValidator() { - return _super !== null && _super.apply(this, arguments) || this; - } - CaptureBookmarkRequestValidator.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: "options", - validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.captureBookmarkOptionsValidator] - } - ]; - var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields); - return multipleFieldsValidator.validate(input, path, field); - }; - return CaptureBookmarkRequestValidator; - }(typeValidator_1.ObjectValidator)); - exports.CaptureBookmarkRequestValidator = CaptureBookmarkRequestValidator; + 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.CaptureBookmarkRequestValidator = exports.CaptureBookmarkOptionsValidator = exports.ApplyBookmarkStateRequestValidator = exports.ApplyBookmarkByNameRequestValidator = exports.AddBookmarkRequestValidator = exports.PlayBookmarkRequestValidator = void 0; + 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 CaptureBookmarkOptionsValidator = /** @class */ (function (_super) { + __extends(CaptureBookmarkOptionsValidator, _super); + function CaptureBookmarkOptionsValidator() { + return _super !== null && _super.apply(this, arguments) || this; + } + CaptureBookmarkOptionsValidator.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: "personalizeVisuals", + validators: [validator_1.Validators.booleanValidator] + } + ]; + var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields); + return multipleFieldsValidator.validate(input, path, field); + }; + return CaptureBookmarkOptionsValidator; + }(typeValidator_1.ObjectValidator)); + exports.CaptureBookmarkOptionsValidator = CaptureBookmarkOptionsValidator; + var CaptureBookmarkRequestValidator = /** @class */ (function (_super) { + __extends(CaptureBookmarkRequestValidator, _super); + function CaptureBookmarkRequestValidator() { + return _super !== null && _super.apply(this, arguments) || this; + } + CaptureBookmarkRequestValidator.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: "options", + validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.captureBookmarkOptionsValidator] + } + ]; + var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields); + return multipleFieldsValidator.validate(input, path, field); + }; + return CaptureBookmarkRequestValidator; + }(typeValidator_1.ObjectValidator)); + exports.CaptureBookmarkRequestValidator = CaptureBookmarkRequestValidator; /***/ }), /* 7 */ /***/ (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 }); - exports.ConditionItemValidator = exports.FilterValidator = exports.IncludeExcludeFilterValidator = exports.NotSupportedFilterValidator = exports.TopNFilterValidator = exports.RelativeTimeFilterValidator = exports.RelativeDateFilterValidator = exports.AdvancedFilterValidator = exports.BasicFilterValidator = exports.FilterMeasureTargetValidator = exports.FilterKeyHierarchyTargetValidator = exports.FilterHierarchyTargetValidator = exports.FilterKeyColumnsTargetValidator = exports.FilterColumnTargetValidator = void 0; - 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 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() { - 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 }); + exports.ConditionItemValidator = exports.FilterValidator = exports.IncludeExcludeFilterValidator = exports.NotSupportedFilterValidator = exports.TopNFilterValidator = exports.RelativeTimeFilterValidator = exports.RelativeDateFilterValidator = exports.AdvancedFilterValidator = exports.BasicFilterValidator = exports.FilterMeasureTargetValidator = exports.FilterKeyHierarchyTargetValidator = exports.FilterHierarchyTargetValidator = exports.FilterKeyColumnsTargetValidator = exports.FilterColumnTargetValidator = void 0; + 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 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() { + 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 }); - exports.FieldRequiredValidator = void 0; - 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 }); + exports.FieldRequiredValidator = void 0; + 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 }); - exports.AnyOfValidator = void 0; - 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 }); + exports.AnyOfValidator = void 0; + 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 = 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.ReportLoadValidator = void 0; - 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 }); + exports.ReportLoadValidator = void 0; + 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 = 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.ReportCreateValidator = void 0; - 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 }); + exports.ReportCreateValidator = void 0; + 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 = 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.DashboardLoadValidator = void 0; - 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 }); + exports.DashboardLoadValidator = void 0; + 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 = 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.TileLoadValidator = void 0; - 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 }); + exports.TileLoadValidator = void 0; + 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 = 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.PageViewFieldValidator = exports.PageValidator = exports.CustomPageSizeValidator = exports.PageSizeValidator = void 0; - 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 }); + exports.PageViewFieldValidator = exports.PageValidator = exports.CustomPageSizeValidator = exports.PageSizeValidator = void 0; + 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 = 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.QnaInterpretInputDataValidator = exports.QnaSettingsValidator = exports.LoadQnaValidator = void 0; - 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 }); + exports.QnaInterpretInputDataValidator = exports.QnaSettingsValidator = exports.LoadQnaValidator = void 0; + 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 = 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.SaveAsParametersValidator = void 0; - 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 }); + exports.SaveAsParametersValidator = void 0; + 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 = 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.MapValidator = void 0; - 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 }); + exports.MapValidator = void 0; + 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 = 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.PageLayoutValidator = exports.DisplayStateValidator = exports.VisualLayoutValidator = exports.CustomLayoutValidator = void 0; - 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 }); + exports.PageLayoutValidator = exports.DisplayStateValidator = exports.VisualLayoutValidator = exports.CustomLayoutValidator = void 0; + 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 = 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.ExportDataRequestValidator = void 0; - 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 }); + exports.ExportDataRequestValidator = void 0; + 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 = 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.SlicerTargetSelectorValidator = exports.VisualTypeSelectorValidator = exports.VisualSelectorValidator = void 0; - 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 }); + exports.SlicerTargetSelectorValidator = exports.VisualTypeSelectorValidator = exports.VisualSelectorValidator = void 0; + 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 = 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.SlicerStateValidator = exports.SlicerValidator = void 0; - 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 }); + exports.SlicerStateValidator = exports.SlicerValidator = void 0; + 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 = 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.VisualHeaderValidator = exports.VisualHeaderSettingsValidator = exports.VisualSettingsValidator = void 0; - 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 }); + exports.VisualHeaderValidator = exports.VisualHeaderSettingsValidator = exports.VisualSettingsValidator = void 0; + 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 = 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.SingleCommandSettingsValidator = exports.CommandsSettingsValidator = void 0; - 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 }); + exports.SingleCommandSettingsValidator = exports.CommandsSettingsValidator = void 0; + 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 = 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.CustomThemeValidator = void 0; - 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 }); + exports.CustomThemeValidator = void 0; + 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 = 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.DatasetBindingValidator = void 0; - 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 }); + exports.DatasetBindingValidator = void 0; + 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; /***/ }), /* 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 }); - exports.VisualizationsPaneValidator = exports.SyncSlicersPaneValidator = exports.SelectionPaneValidator = exports.PageNavigationPaneValidator = exports.FiltersPaneValidator = exports.FieldsPaneValidator = exports.BookmarksPaneValidator = exports.ReportPanesValidator = void 0; - 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] - }, - { - field: "position", - validators: [validator_1.Validators.pageNavigationPositionValidator] - }, - ]; - 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; + 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.VisualizationsPaneValidator = exports.SyncSlicersPaneValidator = exports.SelectionPaneValidator = exports.PageNavigationPaneValidator = exports.FiltersPaneValidator = exports.FieldsPaneValidator = exports.BookmarksPaneValidator = exports.ReportPanesValidator = void 0; + 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] + }, + { + field: "position", + validators: [validator_1.Validators.pageNavigationPositionValidator] + }, + ]; + 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; /***/ }), /* 27 */ /***/ (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 }); - exports.ActionBarValidator = exports.ReportBarsValidator = void 0; - var validator_1 = __webpack_require__(1); - var multipleFieldsValidator_1 = __webpack_require__(4); - var typeValidator_1 = __webpack_require__(2); - var ReportBarsValidator = /** @class */ (function (_super) { - __extends(ReportBarsValidator, _super); - function ReportBarsValidator() { - return _super !== null && _super.apply(this, arguments) || this; - } - ReportBarsValidator.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: "actionBar", - validators: [validator_1.Validators.actionBarValidator] - } - ]; - var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields); - return multipleFieldsValidator.validate(input, path, field); - }; - return ReportBarsValidator; - }(typeValidator_1.ObjectValidator)); - exports.ReportBarsValidator = ReportBarsValidator; - var ActionBarValidator = /** @class */ (function (_super) { - __extends(ActionBarValidator, _super); - function ActionBarValidator() { - return _super !== null && _super.apply(this, arguments) || this; - } - ActionBarValidator.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 ActionBarValidator; - }(typeValidator_1.ObjectValidator)); - exports.ActionBarValidator = ActionBarValidator; + 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.ActionBarValidator = exports.ReportBarsValidator = void 0; + var validator_1 = __webpack_require__(1); + var multipleFieldsValidator_1 = __webpack_require__(4); + var typeValidator_1 = __webpack_require__(2); + var ReportBarsValidator = /** @class */ (function (_super) { + __extends(ReportBarsValidator, _super); + function ReportBarsValidator() { + return _super !== null && _super.apply(this, arguments) || this; + } + ReportBarsValidator.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: "actionBar", + validators: [validator_1.Validators.actionBarValidator] + } + ]; + var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields); + return multipleFieldsValidator.validate(input, path, field); + }; + return ReportBarsValidator; + }(typeValidator_1.ObjectValidator)); + exports.ReportBarsValidator = ReportBarsValidator; + var ActionBarValidator = /** @class */ (function (_super) { + __extends(ActionBarValidator, _super); + function ActionBarValidator() { + return _super !== null && _super.apply(this, arguments) || this; + } + ActionBarValidator.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 ActionBarValidator; + }(typeValidator_1.ObjectValidator)); + exports.ActionBarValidator = ActionBarValidator; /***/ }) @@ -5340,1648 +5340,1690 @@ 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"; + 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) { - for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; - function __() { this.constructor = d; } - d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); - }; - var embed = __webpack_require__(2); - var models = __webpack_require__(5); - var utils = __webpack_require__(3); - var errors = __webpack_require__(6); - var page_1 = __webpack_require__(8); - var bookmarksManager_1 = __webpack_require__(10); - /** - * The Power BI Report embed component - * - * @export - * @class Report - * @extends {embed.Embed} - * @implements {IReportNode} - * @implements {IFilterable} - */ - var Report = (function (_super) { - __extends(Report, _super); - /** - * Creates an instance of a Power BI Report. - * - * @param {service.Service} service - * @param {HTMLElement} element - * @param {embed.IEmbedConfiguration} config - * @hidden - */ - function Report(service, element, baseConfig, phasedRender, isBootstrap, iframe) { - var config = baseConfig; - _super.call(this, service, element, config, iframe, phasedRender, isBootstrap); - this.loadPath = "/report/load"; - this.phasedLoadPath = "/report/prepare"; - Array.prototype.push.apply(this.allowedEvents, Report.allowedEvents); - this.bookmarksManager = new bookmarksManager_1.BookmarksManager(service, config, this.iframe); - } - /** - * Adds backwards compatibility for the previous load configuration, which used the reportId query parameter to specify the report ID - * (e.g. http://embedded.powerbi.com/appTokenReportEmbed?reportId=854846ed-2106-4dc2-bc58-eb77533bf2f1). - * - * 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} - */ - Report.findIdFromEmbedUrl = function (url) { - var reportIdRegEx = /reportId="?([^&]+)"?/; - var reportIdMatch = url.match(reportIdRegEx); - var reportId; - if (reportIdMatch) { - reportId = reportIdMatch[1]; - } - return reportId; - }; - /** - * Render a preloaded report, using phased embedding API - * - * ```javascript - * // Load report - * var report = powerbi.load(element, config); - * - * ... - * - * // Render report - * report.render() - * ``` - * - * @returns {Promise} - */ - Report.prototype.render = function (config) { - return this.service.hpm.post("/report/render", config, { uid: this.config.uniqueId }, this.iframe.contentWindow) - .then(function (response) { - return response.body; - }) - .catch(function (response) { - 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. - * - * ```javascript - * // Get filters applied at report level - * report.getFilters() - * .then(filters => { - * ... - * }); - * ``` - * - * @returns {Promise} - */ - Report.prototype.getFilters = function () { - if (utils.isRDLEmbed(this.config.embedUrl)) { - return Promise.reject(errors.APINotSupportedForRDLError); - } - return this.service.hpm.get("/report/filters", { uid: this.config.uniqueId }, this.iframe.contentWindow) - .then(function (response) { return response.body; }, function (response) { - throw response.body; - }); - }; - /** - * Gets the report ID from the first available location: options, attribute, embed url. - * - * @returns {string} - */ - Report.prototype.getId = function () { - var config = this.config; - var reportId = config.id || this.element.getAttribute(Report.reportIdAttribute) || Report.findIdFromEmbedUrl(config.embedUrl); - if (typeof reportId !== 'string' || reportId.length === 0) { - throw new Error("Report id is required, but it was not found. You must provide an id either as part of embed configuration or as attribute '" + Report.reportIdAttribute + "'."); - } - return reportId; - }; - /** - * Gets the list of pages within the report. - * - * ```javascript - * report.getPages() - * .then(pages => { - * ... - * }); - * ``` - * - * @returns {Promise} - */ - Report.prototype.getPages = function () { - var _this = this; - if (utils.isRDLEmbed(this.config.embedUrl)) { - return Promise.reject(errors.APINotSupportedForRDLError); - } - return this.service.hpm.get('/report/pages', { uid: this.config.uniqueId }, this.iframe.contentWindow) - .then(function (response) { - return response.body - .map(function (page) { - return new page_1.Page(_this, page.name, page.displayName, page.isActive, page.visibility, page.defaultSize, page.defaultDisplayOption); - }); - }, function (response) { - throw response.body; - }); - }; - /** - * Creates an instance of a Page. - * - * Normally you would get Page objects by calling `report.getPages()`, but in the case - * that the page name is known and you want to perform an action on a page without having to retrieve it - * you can create it directly. - * - * Note: Because you are creating the page manually there is no guarantee that the page actually exists in the report, and subsequent requests could fail. - * - * ```javascript - * const page = report.page('ReportSection1'); - * page.setActive(); - * ``` - * - * @param {string} name - * @param {string} [displayName] - * @param {boolean} [isActive] - * @returns {Page} - */ - Report.prototype.page = function (name, displayName, isActive, visibility) { - return new page_1.Page(this, name, displayName, isActive, visibility); - }; - /** - * Prints the active page of the report by invoking `window.print()` on the embed iframe component. - */ - Report.prototype.print = function () { - if (utils.isRDLEmbed(this.config.embedUrl)) { - return Promise.reject(errors.APINotSupportedForRDLError); - } - return this.service.hpm.post('/report/print', null, { uid: this.config.uniqueId }, this.iframe.contentWindow) - .then(function (response) { - return response.body; - }) - .catch(function (response) { - throw response.body; - }); - }; - /** - * Removes all filters at the report level. - * - * ```javascript - * report.removeFilters(); - * ``` - * - * @returns {Promise} - */ - Report.prototype.removeFilters = function () { - if (utils.isRDLEmbed(this.config.embedUrl)) { - return Promise.reject(errors.APINotSupportedForRDLError); - } - return this.setFilters([]); - }; - /** - * Sets the active page of the report. - * - * ```javascript - * report.setPage("page2") - * .catch(error => { ... }); - * ``` - * - * @param {string} pageName - * @returns {Promise} - */ - Report.prototype.setPage = function (pageName) { - if (utils.isRDLEmbed(this.config.embedUrl)) { - return Promise.reject(errors.APINotSupportedForRDLError); - } - var page = { - name: pageName, - displayName: null, - isActive: true - }; - return this.service.hpm.put('/report/pages/active', page, { uid: this.config.uniqueId }, this.iframe.contentWindow) - .catch(function (response) { - throw response.body; - }); - }; - /** - * Sets filters at the report level. - * - * ```javascript - * const filters: [ - * ... - * ]; - * - * report.setFilters(filters) - * .catch(errors => { - * ... - * }); - * ``` - * - * @param {(models.IFilter[])} filters - * @returns {Promise} - */ - Report.prototype.setFilters = function (filters) { - if (utils.isRDLEmbed(this.config.embedUrl)) { - return Promise.reject(errors.APINotSupportedForRDLError); - } - return this.service.hpm.put("/report/filters", filters, { uid: this.config.uniqueId }, this.iframe.contentWindow) - .catch(function (response) { - throw response.body; - }); - }; - /** - * Updates visibility settings for the filter pane and the page navigation pane. - * - * ```javascript - * const newSettings = { - * navContentPaneEnabled: true, - * filterPaneEnabled: false - * }; - * - * report.updateSettings(newSettings) - * .catch(error => { ... }); - * ``` - * - * @param {models.ISettings} settings - * @returns {Promise} - */ - Report.prototype.updateSettings = function (settings) { - if (utils.isRDLEmbed(this.config.embedUrl) && settings.customLayout != null) { - return Promise.reject(errors.APINotSupportedForRDLError); - } - return this.service.hpm.patch('/report/settings', settings, { uid: this.config.uniqueId }, this.iframe.contentWindow) - .catch(function (response) { - throw response.body; - }); - }; - /** - * Validate load configuration. - * - * @hidden - */ - Report.prototype.validate = function (config) { - return models.validateReportLoad(config); - }; - /** - * Handle config changes. - * - * @returns {void} - */ - Report.prototype.configChanged = function (isBootstrap) { - var config = this.config; - if (this.isMobileSettings(config.settings)) - config.embedUrl = utils.addParamToUrl(config.embedUrl, "isMobile", "true"); - // Calculate settings from HTML element attributes if available. - var filterPaneEnabledAttribute = this.element.getAttribute(Report.filterPaneEnabledAttribute); - var navContentPaneEnabledAttribute = this.element.getAttribute(Report.navContentPaneEnabledAttribute); - var elementAttrSettings = { - filterPaneEnabled: (filterPaneEnabledAttribute == null) ? undefined : (filterPaneEnabledAttribute !== "false"), - navContentPaneEnabled: (navContentPaneEnabledAttribute == null) ? undefined : (navContentPaneEnabledAttribute !== "false") - }; - // Set the settings back into the config. - this.config.settings = utils.assign({}, elementAttrSettings, config.settings); - if (isBootstrap) { - return; - } - config.id = this.getId(); - }; - /** - * @hidden - * @returns {string} - */ - Report.prototype.getDefaultEmbedUrlEndpoint = function () { - return "reportEmbed"; - }; - /** - * Switch Report view mode. - * - * @returns {Promise} - */ - Report.prototype.switchMode = function (viewMode) { - var newMode; - if (typeof viewMode === "string") { - newMode = viewMode; - } - else { - newMode = this.viewModeToString(viewMode); - } - var url = '/report/switchMode/' + newMode; - return this.service.hpm.post(url, null, { uid: this.config.uniqueId }, this.iframe.contentWindow) - .then(function (response) { - return response.body; - }) - .catch(function (response) { - throw response.body; - }); - }; - /** - * Refreshes data sources for the report. - * - * ```javascript - * report.refresh(); - * ``` - */ - Report.prototype.refresh = function () { - return this.service.hpm.post('/report/refresh', null, { uid: this.config.uniqueId }, this.iframe.contentWindow) - .then(function (response) { - return response.body; - }) - .catch(function (response) { - throw response.body; - }); - }; - /** - * checks if the report is saved. - * - * ```javascript - * report.isSaved() - * ``` - * - * @returns {Promise} - */ - Report.prototype.isSaved = function () { - if (utils.isRDLEmbed(this.config.embedUrl)) { - return Promise.reject(errors.APINotSupportedForRDLError); - } - return utils.isSavedInternal(this.service.hpm, this.config.uniqueId, this.iframe.contentWindow); - }; - /** - * Apply a theme to the report - * - * ```javascript - * report.applyTheme(theme); - * ``` - */ - Report.prototype.applyTheme = function (theme) { - if (utils.isRDLEmbed(this.config.embedUrl)) { - return Promise.reject(errors.APINotSupportedForRDLError); - } - return this.applyThemeInternal(theme); - }; - /** - * Reset and apply the default theme of the report - * - * ```javascript - * report.resetTheme(); - * ``` - */ - Report.prototype.resetTheme = function () { - if (utils.isRDLEmbed(this.config.embedUrl)) { - return Promise.reject(errors.APINotSupportedForRDLError); - } - return this.applyThemeInternal({}); - }; - /** - * Reset user's filters, slicers, and other data view changes to the default state of the report - * - * ```javascript - * report.resetPersistentFilters(); - * ``` - */ - Report.prototype.resetPersistentFilters = function () { - return this.service.hpm.delete("/report/userState", null, { uid: this.config.uniqueId }, this.iframe.contentWindow) - .catch(function (response) { - throw response.body; - }); - }; - /** - * Save user's filters, slicers, and other data view changes of the report - * - * ```javascript - * report.savePersistentFilters(); - * ``` - */ - Report.prototype.savePersistentFilters = function () { - return this.service.hpm.post("/report/userState", null, { uid: this.config.uniqueId }, this.iframe.contentWindow) - .catch(function (response) { - throw response.body; - }); - }; - /** - * Returns if there are user's filters, slicers, or other data view changes applied on the report. - * If persistent filters is disable, returns false. - * - * ```javascript - * report.arePersistentFiltersApplied(); - * ``` - * - * @returns {Promise} - */ - Report.prototype.arePersistentFiltersApplied = function () { - return this.service.hpm.get("/report/isUserStateApplied", { uid: this.config.uniqueId }, this.iframe.contentWindow) - .then(function (response) { return response.body; }, function (response) { - throw response.body; - }); - }; - /** - * @hidden - */ - Report.prototype.applyThemeInternal = function (theme) { - return this.service.hpm.put('/report/theme', theme, { uid: this.config.uniqueId }, this.iframe.contentWindow) - .then(function (response) { - return response.body; - }) - .catch(function (response) { - throw response.body; - }); - }; - /** - * @hidden - */ - Report.prototype.viewModeToString = function (viewMode) { - var mode; - switch (viewMode) { - case models.ViewMode.Edit: - mode = "edit"; - break; - case models.ViewMode.View: - mode = "view"; - break; - } - 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", "visualRendered", "visualClicked", "selectionChanged"]; - /** @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)); - exports.Report = Report; + 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; } + d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); + }; + var embed = __webpack_require__(2); + var models = __webpack_require__(5); + var utils = __webpack_require__(3); + var errors = __webpack_require__(6); + var page_1 = __webpack_require__(8); + var bookmarksManager_1 = __webpack_require__(10); + /** + * The Power BI Report embed component + * + * @export + * @class Report + * @extends {embed.Embed} + * @implements {IReportNode} + * @implements {IFilterable} + */ + var Report = (function (_super) { + __extends(Report, _super); + /** + * Creates an instance of a Power BI Report. + * + * @param {service.Service} service + * @param {HTMLElement} element + * @param {embed.IEmbedConfiguration} config + * @hidden + */ + function Report(service, element, baseConfig, phasedRender, isBootstrap, iframe) { + var config = baseConfig; + _super.call(this, service, element, config, iframe, phasedRender, isBootstrap); + this.loadPath = "/report/load"; + this.phasedLoadPath = "/report/prepare"; + Array.prototype.push.apply(this.allowedEvents, Report.allowedEvents); + this.bookmarksManager = new bookmarksManager_1.BookmarksManager(service, config, this.iframe); + } + /** + * Adds backwards compatibility for the previous load configuration, which used the reportId query parameter to specify the report ID + * (e.g. http://embedded.powerbi.com/appTokenReportEmbed?reportId=854846ed-2106-4dc2-bc58-eb77533bf2f1). + * + * 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} + */ + Report.findIdFromEmbedUrl = function (url) { + var reportIdRegEx = /reportId="?([^&]+)"?/; + var reportIdMatch = url.match(reportIdRegEx); + var reportId; + if (reportIdMatch) { + reportId = reportIdMatch[1]; + } + return reportId; + }; + /** + * Render a preloaded report, using phased embedding API + * + * ```javascript + * // Load report + * var report = powerbi.load(element, config); + * + * ... + * + * // Render report + * report.render() + * ``` + * + * @returns {Promise} + */ + Report.prototype.render = function (config) { + return this.service.hpm.post("/report/render", config, { uid: this.config.uniqueId }, this.iframe.contentWindow) + .then(function (response) { + return response.body; + }) + .catch(function (response) { + 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("ReportSection145"); + * ``` + * + * @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; + }); + }; + /** + * Rename a page from a report + * + * ```javascript + * // Rename a page from a report by changing displayName (pageName is different from the display name and can be acquired from the getPages API) + * report.renamePage("ReportSection145", "Sales"); + * ``` + * + * @returns {Promise} + */ + Report.prototype.renamePage = function (pageName, displayName) { + var page = { + name: pageName, + displayName: displayName, + }; + return this.service.hpm.put("/report/pages/" + pageName + "/name", page, { 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. + * + * ```javascript + * // Get filters applied at report level + * report.getFilters() + * .then(filters => { + * ... + * }); + * ``` + * + * @returns {Promise} + */ + Report.prototype.getFilters = function () { + if (utils.isRDLEmbed(this.config.embedUrl)) { + return Promise.reject(errors.APINotSupportedForRDLError); + } + return this.service.hpm.get("/report/filters", { uid: this.config.uniqueId }, this.iframe.contentWindow) + .then(function (response) { return response.body; }, function (response) { + throw response.body; + }); + }; + /** + * Gets the report ID from the first available location: options, attribute, embed url. + * + * @returns {string} + */ + Report.prototype.getId = function () { + var config = this.config; + var reportId = config.id || this.element.getAttribute(Report.reportIdAttribute) || Report.findIdFromEmbedUrl(config.embedUrl); + if (typeof reportId !== 'string' || reportId.length === 0) { + throw new Error("Report id is required, but it was not found. You must provide an id either as part of embed configuration or as attribute '" + Report.reportIdAttribute + "'."); + } + return reportId; + }; + /** + * Gets the list of pages within the report. + * + * ```javascript + * report.getPages() + * .then(pages => { + * ... + * }); + * ``` + * + * @returns {Promise} + */ + Report.prototype.getPages = function () { + var _this = this; + if (utils.isRDLEmbed(this.config.embedUrl)) { + return Promise.reject(errors.APINotSupportedForRDLError); + } + return this.service.hpm.get('/report/pages', { uid: this.config.uniqueId }, this.iframe.contentWindow) + .then(function (response) { + return response.body + .map(function (page) { + return new page_1.Page(_this, page.name, page.displayName, page.isActive, page.visibility, page.defaultSize, page.defaultDisplayOption); + }); + }, function (response) { + throw response.body; + }); + }; + /** + * Creates an instance of a Page. + * + * Normally you would get Page objects by calling `report.getPages()`, but in the case + * that the page name is known and you want to perform an action on a page without having to retrieve it + * you can create it directly. + * + * Note: Because you are creating the page manually there is no guarantee that the page actually exists in the report, and subsequent requests could fail. + * + * ```javascript + * const page = report.page('ReportSection1'); + * page.setActive(); + * ``` + * + * @param {string} name + * @param {string} [displayName] + * @param {boolean} [isActive] + * @returns {Page} + */ + Report.prototype.page = function (name, displayName, isActive, visibility) { + return new page_1.Page(this, name, displayName, isActive, visibility); + }; + /** + * Prints the active page of the report by invoking `window.print()` on the embed iframe component. + */ + Report.prototype.print = function () { + if (utils.isRDLEmbed(this.config.embedUrl)) { + return Promise.reject(errors.APINotSupportedForRDLError); + } + return this.service.hpm.post('/report/print', null, { uid: this.config.uniqueId }, this.iframe.contentWindow) + .then(function (response) { + return response.body; + }) + .catch(function (response) { + throw response.body; + }); + }; + /** + * Removes all filters at the report level. + * + * ```javascript + * report.removeFilters(); + * ``` + * + * @returns {Promise} + */ + Report.prototype.removeFilters = function () { + if (utils.isRDLEmbed(this.config.embedUrl)) { + return Promise.reject(errors.APINotSupportedForRDLError); + } + return this.setFilters([]); + }; + /** + * Sets the active page of the report. + * + * ```javascript + * report.setPage("page2") + * .catch(error => { ... }); + * ``` + * + * @param {string} pageName + * @returns {Promise} + */ + Report.prototype.setPage = function (pageName) { + if (utils.isRDLEmbed(this.config.embedUrl)) { + return Promise.reject(errors.APINotSupportedForRDLError); + } + var page = { + name: pageName, + displayName: null, + isActive: true + }; + return this.service.hpm.put('/report/pages/active', page, { uid: this.config.uniqueId }, this.iframe.contentWindow) + .catch(function (response) { + throw response.body; + }); + }; + /** + * Sets filters at the report level. + * + * ```javascript + * const filters: [ + * ... + * ]; + * + * report.setFilters(filters) + * .catch(errors => { + * ... + * }); + * ``` + * + * @param {(models.IFilter[])} filters + * @returns {Promise} + */ + Report.prototype.setFilters = function (filters) { + if (utils.isRDLEmbed(this.config.embedUrl)) { + return Promise.reject(errors.APINotSupportedForRDLError); + } + return this.service.hpm.put("/report/filters", filters, { uid: this.config.uniqueId }, this.iframe.contentWindow) + .catch(function (response) { + throw response.body; + }); + }; + /** + * Updates visibility settings for the filter pane and the page navigation pane. + * + * ```javascript + * const newSettings = { + * navContentPaneEnabled: true, + * filterPaneEnabled: false + * }; + * + * report.updateSettings(newSettings) + * .catch(error => { ... }); + * ``` + * + * @param {models.ISettings} settings + * @returns {Promise} + */ + Report.prototype.updateSettings = function (settings) { + if (utils.isRDLEmbed(this.config.embedUrl) && settings.customLayout != null) { + return Promise.reject(errors.APINotSupportedForRDLError); + } + return this.service.hpm.patch('/report/settings', settings, { uid: this.config.uniqueId }, this.iframe.contentWindow) + .catch(function (response) { + throw response.body; + }); + }; + /** + * Validate load configuration. + * + * @hidden + */ + Report.prototype.validate = function (config) { + return models.validateReportLoad(config); + }; + /** + * Handle config changes. + * + * @returns {void} + */ + Report.prototype.configChanged = function (isBootstrap) { + var config = this.config; + if (this.isMobileSettings(config.settings)) + config.embedUrl = utils.addParamToUrl(config.embedUrl, "isMobile", "true"); + // Calculate settings from HTML element attributes if available. + var filterPaneEnabledAttribute = this.element.getAttribute(Report.filterPaneEnabledAttribute); + var navContentPaneEnabledAttribute = this.element.getAttribute(Report.navContentPaneEnabledAttribute); + var elementAttrSettings = { + filterPaneEnabled: (filterPaneEnabledAttribute == null) ? undefined : (filterPaneEnabledAttribute !== "false"), + navContentPaneEnabled: (navContentPaneEnabledAttribute == null) ? undefined : (navContentPaneEnabledAttribute !== "false") + }; + // Set the settings back into the config. + this.config.settings = utils.assign({}, elementAttrSettings, config.settings); + if (isBootstrap) { + return; + } + config.id = this.getId(); + }; + /** + * @hidden + * @returns {string} + */ + Report.prototype.getDefaultEmbedUrlEndpoint = function () { + return "reportEmbed"; + }; + /** + * Switch Report view mode. + * + * @returns {Promise} + */ + Report.prototype.switchMode = function (viewMode) { + var newMode; + if (typeof viewMode === "string") { + newMode = viewMode; + } + else { + newMode = this.viewModeToString(viewMode); + } + var url = '/report/switchMode/' + newMode; + return this.service.hpm.post(url, null, { uid: this.config.uniqueId }, this.iframe.contentWindow) + .then(function (response) { + return response.body; + }) + .catch(function (response) { + throw response.body; + }); + }; + /** + * Refreshes data sources for the report. + * + * ```javascript + * report.refresh(); + * ``` + */ + Report.prototype.refresh = function () { + return this.service.hpm.post('/report/refresh', null, { uid: this.config.uniqueId }, this.iframe.contentWindow) + .then(function (response) { + return response.body; + }) + .catch(function (response) { + throw response.body; + }); + }; + /** + * checks if the report is saved. + * + * ```javascript + * report.isSaved() + * ``` + * + * @returns {Promise} + */ + Report.prototype.isSaved = function () { + if (utils.isRDLEmbed(this.config.embedUrl)) { + return Promise.reject(errors.APINotSupportedForRDLError); + } + return utils.isSavedInternal(this.service.hpm, this.config.uniqueId, this.iframe.contentWindow); + }; + /** + * Apply a theme to the report + * + * ```javascript + * report.applyTheme(theme); + * ``` + */ + Report.prototype.applyTheme = function (theme) { + if (utils.isRDLEmbed(this.config.embedUrl)) { + return Promise.reject(errors.APINotSupportedForRDLError); + } + return this.applyThemeInternal(theme); + }; + /** + * Reset and apply the default theme of the report + * + * ```javascript + * report.resetTheme(); + * ``` + */ + Report.prototype.resetTheme = function () { + if (utils.isRDLEmbed(this.config.embedUrl)) { + return Promise.reject(errors.APINotSupportedForRDLError); + } + return this.applyThemeInternal({}); + }; + /** + * Reset user's filters, slicers, and other data view changes to the default state of the report + * + * ```javascript + * report.resetPersistentFilters(); + * ``` + */ + Report.prototype.resetPersistentFilters = function () { + return this.service.hpm.delete("/report/userState", null, { uid: this.config.uniqueId }, this.iframe.contentWindow) + .catch(function (response) { + throw response.body; + }); + }; + /** + * Save user's filters, slicers, and other data view changes of the report + * + * ```javascript + * report.savePersistentFilters(); + * ``` + */ + Report.prototype.savePersistentFilters = function () { + return this.service.hpm.post("/report/userState", null, { uid: this.config.uniqueId }, this.iframe.contentWindow) + .catch(function (response) { + throw response.body; + }); + }; + /** + * Returns if there are user's filters, slicers, or other data view changes applied on the report. + * If persistent filters is disable, returns false. + * + * ```javascript + * report.arePersistentFiltersApplied(); + * ``` + * + * @returns {Promise} + */ + Report.prototype.arePersistentFiltersApplied = function () { + return this.service.hpm.get("/report/isUserStateApplied", { uid: this.config.uniqueId }, this.iframe.contentWindow) + .then(function (response) { return response.body; }, function (response) { + throw response.body; + }); + }; + /** + * @hidden + */ + Report.prototype.applyThemeInternal = function (theme) { + return this.service.hpm.put('/report/theme', theme, { uid: this.config.uniqueId }, this.iframe.contentWindow) + .then(function (response) { + return response.body; + }) + .catch(function (response) { + throw response.body; + }); + }; + /** + * @hidden + */ + Report.prototype.viewModeToString = function (viewMode) { + var mode; + switch (viewMode) { + case models.ViewMode.Edit: + mode = "edit"; + break; + case models.ViewMode.View: + mode = "view"; + break; + } + 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", "visualRendered", "visualClicked", "selectionChanged"]; + /** @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)); + exports.Report = Report; /***/ }), /* 8 */ /***/ (function(module, exports, __webpack_require__) { - var visualDescriptor_1 = __webpack_require__(9); - var models = __webpack_require__(5); - var utils = __webpack_require__(3); - var errors = __webpack_require__(6); - /** - * A Power BI report page - * - * @export - * @class Page - * @implements {IPageNode} - * @implements {IFilterable} - */ - var Page = (function () { - /** - * Creates an instance of a Power BI report page. - * - * @param {IReportNode} report - * @param {string} name - * @param {string} [displayName] - * @param {boolean} [isActivePage] - * @param {models.SectionVisibility} [visibility] - * @hidden - */ - function Page(report, name, displayName, isActivePage, visibility, defaultSize, defaultDisplayOption) { - this.report = report; - this.name = name; - this.displayName = displayName; - this.isActive = isActivePage; - this.visibility = visibility; - this.defaultSize = defaultSize; - this.defaultDisplayOption = defaultDisplayOption; - } - /** - * Gets all page level filters within the report. - * - * ```javascript - * page.getFilters() - * .then(filters => { ... }); - * ``` - * - * @returns {(Promise)} - */ - Page.prototype.getFilters = function () { - return this.report.service.hpm.get("/report/pages/" + this.name + "/filters", { uid: this.report.config.uniqueId }, this.report.iframe.contentWindow) - .then(function (response) { return response.body; }, function (response) { - 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. - * - * ```javascript - * page.removeFilters(); - * ``` - * - * @returns {Promise} - */ - Page.prototype.removeFilters = function () { - return this.setFilters([]); - }; - /** - * Makes the current page the active page of the report. - * - * ```javascripot - * page.setActive(); - * ``` - * - * @returns {Promise} - */ - Page.prototype.setActive = function () { - var page = { - name: this.name, - displayName: null, - isActive: true - }; - return this.report.service.hpm.put('/report/pages/active', page, { uid: this.report.config.uniqueId }, this.report.iframe.contentWindow) - .catch(function (response) { - throw response.body; - }); - }; - /** - * Sets all filters on the current page. - * - * ```javascript - * page.setFilters(filters); - * .catch(errors => { ... }); - * ``` - * - * @param {(models.IFilter[])} filters - * @returns {Promise} - */ - Page.prototype.setFilters = function (filters) { - return this.report.service.hpm.put("/report/pages/" + this.name + "/filters", filters, { uid: this.report.config.uniqueId }, this.report.iframe.contentWindow) - .catch(function (response) { - throw response.body; - }); - }; - /** - * Gets all the visuals on the page. - * - * ```javascript - * page.getVisuals() - * .then(visuals => { ... }); - * ``` - * - * @returns {Promise} - */ - Page.prototype.getVisuals = function () { - var _this = this; - if (utils.isRDLEmbed(this.report.config.embedUrl)) { - return Promise.reject(errors.APINotSupportedForRDLError); - } - return this.report.service.hpm.get("/report/pages/" + this.name + "/visuals", { uid: this.report.config.uniqueId }, this.report.iframe.contentWindow) - .then(function (response) { - return response.body - .map(function (visual) { - return new visualDescriptor_1.VisualDescriptor(_this, visual.name, visual.title, visual.type, visual.layout); - }); - }, function (response) { - throw response.body; - }); - }; - /** - * Checks if page has layout. - * - * ```javascript - * page.hasLayout(layoutType) - * .then(hasLayout: boolean => { ... }); - * ``` - * - * @returns {(Promise)} - */ - Page.prototype.hasLayout = function (layoutType) { - if (utils.isRDLEmbed(this.report.config.embedUrl)) { - return Promise.reject(errors.APINotSupportedForRDLError); - } - var layoutTypeEnum = models.LayoutType[layoutType]; - return this.report.service.hpm.get("/report/pages/" + this.name + "/layoutTypes/" + layoutTypeEnum, { uid: this.report.config.uniqueId }, this.report.iframe.contentWindow) - .then(function (response) { return response.body; }, function (response) { - throw response.body; - }); - }; - return Page; - }()); - exports.Page = Page; + var visualDescriptor_1 = __webpack_require__(9); + var models = __webpack_require__(5); + var utils = __webpack_require__(3); + var errors = __webpack_require__(6); + /** + * A Power BI report page + * + * @export + * @class Page + * @implements {IPageNode} + * @implements {IFilterable} + */ + var Page = (function () { + /** + * Creates an instance of a Power BI report page. + * + * @param {IReportNode} report + * @param {string} name + * @param {string} [displayName] + * @param {boolean} [isActivePage] + * @param {models.SectionVisibility} [visibility] + * @hidden + */ + function Page(report, name, displayName, isActivePage, visibility, defaultSize, defaultDisplayOption) { + this.report = report; + this.name = name; + this.displayName = displayName; + this.isActive = isActivePage; + this.visibility = visibility; + this.defaultSize = defaultSize; + this.defaultDisplayOption = defaultDisplayOption; + } + /** + * Gets all page level filters within the report. + * + * ```javascript + * page.getFilters() + * .then(filters => { ... }); + * ``` + * + * @returns {(Promise)} + */ + Page.prototype.getFilters = function () { + return this.report.service.hpm.get("/report/pages/" + this.name + "/filters", { uid: this.report.config.uniqueId }, this.report.iframe.contentWindow) + .then(function (response) { return response.body; }, function (response) { + 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. + * + * ```javascript + * page.removeFilters(); + * ``` + * + * @returns {Promise} + */ + Page.prototype.removeFilters = function () { + return this.setFilters([]); + }; + /** + * Makes the current page the active page of the report. + * + * ```javascripot + * page.setActive(); + * ``` + * + * @returns {Promise} + */ + Page.prototype.setActive = function () { + var page = { + name: this.name, + displayName: null, + isActive: true + }; + return this.report.service.hpm.put('/report/pages/active', page, { uid: this.report.config.uniqueId }, this.report.iframe.contentWindow) + .catch(function (response) { + throw response.body; + }); + }; + /** + * Sets all filters on the current page. + * + * ```javascript + * page.setFilters(filters); + * .catch(errors => { ... }); + * ``` + * + * @param {(models.IFilter[])} filters + * @returns {Promise} + */ + Page.prototype.setFilters = function (filters) { + return this.report.service.hpm.put("/report/pages/" + this.name + "/filters", filters, { uid: this.report.config.uniqueId }, this.report.iframe.contentWindow) + .catch(function (response) { + throw response.body; + }); + }; + /** + * Set displayName to the current page. + * + * ```javascript + * page.setName(displayName); + * ``` + * + * @returns {Promise} + */ + Page.prototype.setDisplayName = function (displayName) { + var page = { + name: this.name, + displayName: displayName, + }; + return this.report.service.hpm.put("/report/pages/" + this.name + "/name", page, { uid: this.report.config.uniqueId }, this.report.iframe.contentWindow) + .catch(function (response) { + throw response.body; + }); + }; + /** + * Gets all the visuals on the page. + * + * ```javascript + * page.getVisuals() + * .then(visuals => { ... }); + * ``` + * + * @returns {Promise} + */ + Page.prototype.getVisuals = function () { + var _this = this; + if (utils.isRDLEmbed(this.report.config.embedUrl)) { + return Promise.reject(errors.APINotSupportedForRDLError); + } + return this.report.service.hpm.get("/report/pages/" + this.name + "/visuals", { uid: this.report.config.uniqueId }, this.report.iframe.contentWindow) + .then(function (response) { + return response.body + .map(function (visual) { + return new visualDescriptor_1.VisualDescriptor(_this, visual.name, visual.title, visual.type, visual.layout); + }); + }, function (response) { + throw response.body; + }); + }; + /** + * Checks if page has layout. + * + * ```javascript + * page.hasLayout(layoutType) + * .then(hasLayout: boolean => { ... }); + * ``` + * + * @returns {(Promise)} + */ + Page.prototype.hasLayout = function (layoutType) { + if (utils.isRDLEmbed(this.report.config.embedUrl)) { + return Promise.reject(errors.APINotSupportedForRDLError); + } + var layoutTypeEnum = models.LayoutType[layoutType]; + return this.report.service.hpm.get("/report/pages/" + this.name + "/layoutTypes/" + layoutTypeEnum, { uid: this.report.config.uniqueId }, this.report.iframe.contentWindow) + .then(function (response) { return response.body; }, function (response) { + throw response.body; + }); + }; + return Page; + }()); + exports.Page = Page; /***/ }), /* 9 */ /***/ (function(module, exports) { - /** - * A Power BI visual within a page - * - * @export - * @class VisualDescriptor - * @implements {IVisualNode} - */ - var VisualDescriptor = (function () { - /** - * @hidden - */ - function VisualDescriptor(page, name, title, type, layout) { - this.name = name; - this.title = title; - this.type = type; - this.layout = layout; - this.page = page; - } - /** - * Gets all visual level filters of the current visual. - * - * ```javascript - * visual.getFilters() - * .then(filters => { ... }); - * ``` - * - * @returns {(Promise)} - */ - VisualDescriptor.prototype.getFilters = function () { - return this.page.report.service.hpm.get("/report/pages/" + this.page.name + "/visuals/" + this.name + "/filters", { uid: this.page.report.config.uniqueId }, this.page.report.iframe.contentWindow) - .then(function (response) { return response.body; }, function (response) { - throw response.body; - }); - }; - /** - * Removes all filters from the current visual. - * - * ```javascript - * visual.removeFilters(); - * ``` - * - * @returns {Promise} - */ - VisualDescriptor.prototype.removeFilters = function () { - return this.setFilters([]); - }; - /** - * Sets the filters on the current visual to 'filters'. - * - * ```javascript - * visual.setFilters(filters); - * .catch(errors => { ... }); - * ``` - * - * @param {(models.IFilter[])} filters - * @returns {Promise} - */ - VisualDescriptor.prototype.setFilters = function (filters) { - return this.page.report.service.hpm.put("/report/pages/" + this.page.name + "/visuals/" + this.name + "/filters", filters, { uid: this.page.report.config.uniqueId }, this.page.report.iframe.contentWindow) - .catch(function (response) { - throw response.body; - }); - }; - /** - * Exports Visual data. - * Can export up to 30K rows. - * @param rows: Optional. Default value is 30K, maximum value is 30K as well. - * @param exportDataType: Optional. Default is models.ExportDataType.Summarized. - * ```javascript - * visual.exportData() - * .then(data => { ... }); - * ``` - * - * @returns {(Promise)} - */ - VisualDescriptor.prototype.exportData = function (exportDataType, rows) { - var exportDataRequestBody = { - rows: rows, - exportDataType: exportDataType - }; - return this.page.report.service.hpm.post("/report/pages/" + this.page.name + "/visuals/" + this.name + "/exportData", exportDataRequestBody, { uid: this.page.report.config.uniqueId }, this.page.report.iframe.contentWindow) - .then(function (response) { return response.body; }, function (response) { - throw response.body; - }); - }; - /** - * Set slicer state. - * Works only for visuals of type slicer. - * @param state: A new state which contains the slicer filters. - * ```javascript - * visual.setSlicerState() - * .then(() => { ... }); - * ``` - */ - VisualDescriptor.prototype.setSlicerState = function (state) { - return this.page.report.service.hpm.put("/report/pages/" + this.page.name + "/visuals/" + this.name + "/slicer", state, { uid: this.page.report.config.uniqueId }, this.page.report.iframe.contentWindow) - .catch(function (response) { - throw response.body; - }); - }; - /** - * Get slicer state. - * Works only for visuals of type slicer. - * - * ```javascript - * visual.getSlicerState() - * .then(state => { ... }); - * ``` - * - * @returns {(Promise)} - */ - VisualDescriptor.prototype.getSlicerState = function () { - return this.page.report.service.hpm.get("/report/pages/" + this.page.name + "/visuals/" + this.name + "/slicer", { uid: this.page.report.config.uniqueId }, this.page.report.iframe.contentWindow) - .then(function (response) { return response.body; }, function (response) { - throw response.body; - }); - }; - /** - * Clone existing visual to a new instance. - * - * @returns {(Promise)} - */ - VisualDescriptor.prototype.clone = function (request) { - if (request === void 0) { request = {}; } - return this.page.report.service.hpm.post("/report/pages/" + this.page.name + "/visuals/" + this.name + "/clone", request, { uid: this.page.report.config.uniqueId }, this.page.report.iframe.contentWindow) - .then(function (response) { return response.body; }, function (response) { - throw response.body; - }); - }; - /** - * Sort a visual by dataField and direction. - * - * @param request: Sort by visual request. - * - * ```javascript - * visual.sortBy(request) - * .then(() => { ... }); - * ``` - */ - VisualDescriptor.prototype.sortBy = function (request) { - return this.page.report.service.hpm.put("/report/pages/" + this.page.name + "/visuals/" + this.name + "/sortBy", request, { uid: this.page.report.config.uniqueId }, this.page.report.iframe.contentWindow) - .catch(function (response) { - throw response.body; - }); - }; - return VisualDescriptor; - }()); - exports.VisualDescriptor = VisualDescriptor; + /** + * A Power BI visual within a page + * + * @export + * @class VisualDescriptor + * @implements {IVisualNode} + */ + var VisualDescriptor = (function () { + /** + * @hidden + */ + function VisualDescriptor(page, name, title, type, layout) { + this.name = name; + this.title = title; + this.type = type; + this.layout = layout; + this.page = page; + } + /** + * Gets all visual level filters of the current visual. + * + * ```javascript + * visual.getFilters() + * .then(filters => { ... }); + * ``` + * + * @returns {(Promise)} + */ + VisualDescriptor.prototype.getFilters = function () { + return this.page.report.service.hpm.get("/report/pages/" + this.page.name + "/visuals/" + this.name + "/filters", { uid: this.page.report.config.uniqueId }, this.page.report.iframe.contentWindow) + .then(function (response) { return response.body; }, function (response) { + throw response.body; + }); + }; + /** + * Removes all filters from the current visual. + * + * ```javascript + * visual.removeFilters(); + * ``` + * + * @returns {Promise} + */ + VisualDescriptor.prototype.removeFilters = function () { + return this.setFilters([]); + }; + /** + * Sets the filters on the current visual to 'filters'. + * + * ```javascript + * visual.setFilters(filters); + * .catch(errors => { ... }); + * ``` + * + * @param {(models.IFilter[])} filters + * @returns {Promise} + */ + VisualDescriptor.prototype.setFilters = function (filters) { + return this.page.report.service.hpm.put("/report/pages/" + this.page.name + "/visuals/" + this.name + "/filters", filters, { uid: this.page.report.config.uniqueId }, this.page.report.iframe.contentWindow) + .catch(function (response) { + throw response.body; + }); + }; + /** + * Exports Visual data. + * Can export up to 30K rows. + * @param rows: Optional. Default value is 30K, maximum value is 30K as well. + * @param exportDataType: Optional. Default is models.ExportDataType.Summarized. + * ```javascript + * visual.exportData() + * .then(data => { ... }); + * ``` + * + * @returns {(Promise)} + */ + VisualDescriptor.prototype.exportData = function (exportDataType, rows) { + var exportDataRequestBody = { + rows: rows, + exportDataType: exportDataType + }; + return this.page.report.service.hpm.post("/report/pages/" + this.page.name + "/visuals/" + this.name + "/exportData", exportDataRequestBody, { uid: this.page.report.config.uniqueId }, this.page.report.iframe.contentWindow) + .then(function (response) { return response.body; }, function (response) { + throw response.body; + }); + }; + /** + * Set slicer state. + * Works only for visuals of type slicer. + * @param state: A new state which contains the slicer filters. + * ```javascript + * visual.setSlicerState() + * .then(() => { ... }); + * ``` + */ + VisualDescriptor.prototype.setSlicerState = function (state) { + return this.page.report.service.hpm.put("/report/pages/" + this.page.name + "/visuals/" + this.name + "/slicer", state, { uid: this.page.report.config.uniqueId }, this.page.report.iframe.contentWindow) + .catch(function (response) { + throw response.body; + }); + }; + /** + * Get slicer state. + * Works only for visuals of type slicer. + * + * ```javascript + * visual.getSlicerState() + * .then(state => { ... }); + * ``` + * + * @returns {(Promise)} + */ + VisualDescriptor.prototype.getSlicerState = function () { + return this.page.report.service.hpm.get("/report/pages/" + this.page.name + "/visuals/" + this.name + "/slicer", { uid: this.page.report.config.uniqueId }, this.page.report.iframe.contentWindow) + .then(function (response) { return response.body; }, function (response) { + throw response.body; + }); + }; + /** + * Clone existing visual to a new instance. + * + * @returns {(Promise)} + */ + VisualDescriptor.prototype.clone = function (request) { + if (request === void 0) { request = {}; } + return this.page.report.service.hpm.post("/report/pages/" + this.page.name + "/visuals/" + this.name + "/clone", request, { uid: this.page.report.config.uniqueId }, this.page.report.iframe.contentWindow) + .then(function (response) { return response.body; }, function (response) { + throw response.body; + }); + }; + /** + * Sort a visual by dataField and direction. + * + * @param request: Sort by visual request. + * + * ```javascript + * visual.sortBy(request) + * .then(() => { ... }); + * ``` + */ + VisualDescriptor.prototype.sortBy = function (request) { + return this.page.report.service.hpm.put("/report/pages/" + this.page.name + "/visuals/" + this.name + "/sortBy", request, { uid: this.page.report.config.uniqueId }, this.page.report.iframe.contentWindow) + .catch(function (response) { + throw response.body; + }); + }; + return VisualDescriptor; + }()); + exports.VisualDescriptor = VisualDescriptor; /***/ }), /* 10 */ /***/ (function(module, exports, __webpack_require__) { - var utils = __webpack_require__(3); - var errors = __webpack_require__(6); - /** - * Manages report bookmarks. - * - * @export - * @class BookmarksManager - * @implements {IBookmarksManager} - */ - var BookmarksManager = (function () { - /** - * @hidden - */ - function BookmarksManager(service, config, iframe) { - this.service = service; - this.config = config; - this.iframe = iframe; - } - /** - * Gets bookmarks that are defined in the report. - * - * ```javascript - * // Gets bookmarks that are defined in the report - * bookmarksManager.getBookmarks() - * .then(bookmarks => { - * ... - * }); - * ``` - * - * @returns {Promise} - */ - BookmarksManager.prototype.getBookmarks = function () { - if (utils.isRDLEmbed(this.config.embedUrl)) { - return Promise.reject(errors.APINotSupportedForRDLError); - } - return this.service.hpm.get("/report/bookmarks", { uid: this.config.uniqueId }, this.iframe.contentWindow) - .then(function (response) { return response.body; }, function (response) { - throw response.body; - }); - }; - /** - * Apply bookmark by name. - * - * ```javascript - * bookmarksManager.apply(bookmarkName) - * ``` - * - * @param {string} bookmarkName The name of the bookmark to be applied - * @returns {Promise} - */ - BookmarksManager.prototype.apply = function (bookmarkName) { - if (utils.isRDLEmbed(this.config.embedUrl)) { - return Promise.reject(errors.APINotSupportedForRDLError); - } - var request = { - name: bookmarkName - }; - return this.service.hpm.post("/report/bookmarks/applyByName", request, { uid: this.config.uniqueId }, this.iframe.contentWindow) - .catch(function (response) { - throw response.body; - }); - }; - /** - * Play bookmarks: Enter or Exit bookmarks presentation mode. - * - * ```javascript - * // Enter presentation mode. - * bookmarksManager.play(models.BookmarksPlayMode.Presentation) - * ``` - * - * @param {models.BookmarksPlayMode} playMode Play mode can be either `Presentation` or `Off` - * @returns {Promise} - */ - BookmarksManager.prototype.play = function (playMode) { - if (utils.isRDLEmbed(this.config.embedUrl)) { - return Promise.reject(errors.APINotSupportedForRDLError); - } - var playBookmarkRequest = { - playMode: playMode - }; - return this.service.hpm.post("/report/bookmarks/play", playBookmarkRequest, { uid: this.config.uniqueId }, this.iframe.contentWindow) - .catch(function (response) { - throw response.body; - }); - }; - /** - * Capture bookmark from current state. - * - * ```javascript - * bookmarksManager.capture(options) - * ``` - * - * @param {models.ICaptureBookmarkOptions} [options] Options for bookmark capturing - * @returns {Promise} - */ - BookmarksManager.prototype.capture = function (options) { - if (utils.isRDLEmbed(this.config.embedUrl)) { - return Promise.reject(errors.APINotSupportedForRDLError); - } - var request = { - options: options - }; - return this.service.hpm.post("/report/bookmarks/capture", request, { uid: this.config.uniqueId }, this.iframe.contentWindow) - .then(function (response) { return response.body; }, function (response) { - throw response.body; - }); - }; - /** - * Apply bookmark state. - * - * ```javascript - * bookmarksManager.applyState(bookmarkState) - * ``` - * - * @param {string} state A base64 bookmark state to be applied - * @returns {Promise} - */ - BookmarksManager.prototype.applyState = function (state) { - if (utils.isRDLEmbed(this.config.embedUrl)) { - return Promise.reject(errors.APINotSupportedForRDLError); - } - var request = { - state: state - }; - return this.service.hpm.post("/report/bookmarks/applyState", request, { uid: this.config.uniqueId }, this.iframe.contentWindow) - .catch(function (response) { - throw response.body; - }); - }; - return BookmarksManager; - }()); - exports.BookmarksManager = BookmarksManager; + var utils = __webpack_require__(3); + var errors = __webpack_require__(6); + /** + * Manages report bookmarks. + * + * @export + * @class BookmarksManager + * @implements {IBookmarksManager} + */ + var BookmarksManager = (function () { + /** + * @hidden + */ + function BookmarksManager(service, config, iframe) { + this.service = service; + this.config = config; + this.iframe = iframe; + } + /** + * Gets bookmarks that are defined in the report. + * + * ```javascript + * // Gets bookmarks that are defined in the report + * bookmarksManager.getBookmarks() + * .then(bookmarks => { + * ... + * }); + * ``` + * + * @returns {Promise} + */ + BookmarksManager.prototype.getBookmarks = function () { + if (utils.isRDLEmbed(this.config.embedUrl)) { + return Promise.reject(errors.APINotSupportedForRDLError); + } + return this.service.hpm.get("/report/bookmarks", { uid: this.config.uniqueId }, this.iframe.contentWindow) + .then(function (response) { return response.body; }, function (response) { + throw response.body; + }); + }; + /** + * Apply bookmark by name. + * + * ```javascript + * bookmarksManager.apply(bookmarkName) + * ``` + * + * @param {string} bookmarkName The name of the bookmark to be applied + * @returns {Promise} + */ + BookmarksManager.prototype.apply = function (bookmarkName) { + if (utils.isRDLEmbed(this.config.embedUrl)) { + return Promise.reject(errors.APINotSupportedForRDLError); + } + var request = { + name: bookmarkName + }; + return this.service.hpm.post("/report/bookmarks/applyByName", request, { uid: this.config.uniqueId }, this.iframe.contentWindow) + .catch(function (response) { + throw response.body; + }); + }; + /** + * Play bookmarks: Enter or Exit bookmarks presentation mode. + * + * ```javascript + * // Enter presentation mode. + * bookmarksManager.play(models.BookmarksPlayMode.Presentation) + * ``` + * + * @param {models.BookmarksPlayMode} playMode Play mode can be either `Presentation` or `Off` + * @returns {Promise} + */ + BookmarksManager.prototype.play = function (playMode) { + if (utils.isRDLEmbed(this.config.embedUrl)) { + return Promise.reject(errors.APINotSupportedForRDLError); + } + var playBookmarkRequest = { + playMode: playMode + }; + return this.service.hpm.post("/report/bookmarks/play", playBookmarkRequest, { uid: this.config.uniqueId }, this.iframe.contentWindow) + .catch(function (response) { + throw response.body; + }); + }; + /** + * Capture bookmark from current state. + * + * ```javascript + * bookmarksManager.capture(options) + * ``` + * + * @param {models.ICaptureBookmarkOptions} [options] Options for bookmark capturing + * @returns {Promise} + */ + BookmarksManager.prototype.capture = function (options) { + if (utils.isRDLEmbed(this.config.embedUrl)) { + return Promise.reject(errors.APINotSupportedForRDLError); + } + var request = { + options: options + }; + return this.service.hpm.post("/report/bookmarks/capture", request, { uid: this.config.uniqueId }, this.iframe.contentWindow) + .then(function (response) { return response.body; }, function (response) { + throw response.body; + }); + }; + /** + * Apply bookmark state. + * + * ```javascript + * bookmarksManager.applyState(bookmarkState) + * ``` + * + * @param {string} state A base64 bookmark state to be applied + * @returns {Promise} + */ + BookmarksManager.prototype.applyState = function (state) { + if (utils.isRDLEmbed(this.config.embedUrl)) { + return Promise.reject(errors.APINotSupportedForRDLError); + } + var request = { + state: state + }; + return this.service.hpm.post("/report/bookmarks/applyState", request, { uid: this.config.uniqueId }, this.iframe.contentWindow) + .catch(function (response) { + throw response.body; + }); + }; + return BookmarksManager; + }()); + exports.BookmarksManager = BookmarksManager; /***/ }), /* 11 */ /***/ (function(module, exports, __webpack_require__) { - 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; } - d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); - }; - 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); - } - /** - * Gets the dataset ID from the first available location: createConfig or embed url. - * - * @returns {string} - */ - Create.prototype.getId = function () { - var datasetId = (this.createConfig && this.createConfig.datasetId) ? this.createConfig.datasetId : Create.findIdFromEmbedUrl(this.config.embedUrl); - if (typeof datasetId !== 'string' || datasetId.length === 0) { - throw new Error('Dataset id is required, but it was not found. You must provide an id either as part of embed configuration.'); - } - return datasetId; - }; - /** - * Validate create report configuration. - */ - Create.prototype.validate = function (config) { - return models.validateCreateReport(config); - }; - /** - * Handle config changes. - * - * @hidden - * @returns {void} - */ - Create.prototype.configChanged = function (isBootstrap) { - if (isBootstrap) { - return; - } - var config = this.config; - this.createConfig = { - accessToken: config.accessToken, - datasetId: config.datasetId || this.getId(), - groupId: config.groupId, - settings: config.settings, - tokenType: config.tokenType, - theme: config.theme - }; - }; - /** - * @hidden - * @returns {string} - */ - Create.prototype.getDefaultEmbedUrlEndpoint = function () { - return "reportEmbed"; - }; - /** - * checks if the report is saved. - * - * ```javascript - * report.isSaved() - * ``` - * - * @returns {Promise} - */ - Create.prototype.isSaved = function () { - return utils.isSavedInternal(this.service.hpm, this.config.uniqueId, this.iframe.contentWindow); - }; - /** - * Adds the ability to get datasetId from url. - * (e.g. http://embedded.powerbi.com/appTokenReportEmbed?datasetId=854846ed-2106-4dc2-bc58-eb77533bf2f1). - * - * By extracting the ID we can ensure that the ID is always explicitly provided as part of the create configuration. - * - * @static - * @param {string} url - * @returns {string} - * @hidden - */ - Create.findIdFromEmbedUrl = function (url) { - var datasetIdRegEx = /datasetId="?([^&]+)"?/; - var datasetIdMatch = url.match(datasetIdRegEx); - var datasetId; - if (datasetIdMatch) { - datasetId = datasetIdMatch[1]; - } - return datasetId; - }; - return Create; - }(embed.Embed)); - exports.Create = Create; + 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; } + d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); + }; + 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); + } + /** + * Gets the dataset ID from the first available location: createConfig or embed url. + * + * @returns {string} + */ + Create.prototype.getId = function () { + var datasetId = (this.createConfig && this.createConfig.datasetId) ? this.createConfig.datasetId : Create.findIdFromEmbedUrl(this.config.embedUrl); + if (typeof datasetId !== 'string' || datasetId.length === 0) { + throw new Error('Dataset id is required, but it was not found. You must provide an id either as part of embed configuration.'); + } + return datasetId; + }; + /** + * Validate create report configuration. + */ + Create.prototype.validate = function (config) { + return models.validateCreateReport(config); + }; + /** + * Handle config changes. + * + * @hidden + * @returns {void} + */ + Create.prototype.configChanged = function (isBootstrap) { + if (isBootstrap) { + return; + } + var config = this.config; + this.createConfig = { + accessToken: config.accessToken, + datasetId: config.datasetId || this.getId(), + groupId: config.groupId, + settings: config.settings, + tokenType: config.tokenType, + theme: config.theme + }; + }; + /** + * @hidden + * @returns {string} + */ + Create.prototype.getDefaultEmbedUrlEndpoint = function () { + return "reportEmbed"; + }; + /** + * checks if the report is saved. + * + * ```javascript + * report.isSaved() + * ``` + * + * @returns {Promise} + */ + Create.prototype.isSaved = function () { + return utils.isSavedInternal(this.service.hpm, this.config.uniqueId, this.iframe.contentWindow); + }; + /** + * Adds the ability to get datasetId from url. + * (e.g. http://embedded.powerbi.com/appTokenReportEmbed?datasetId=854846ed-2106-4dc2-bc58-eb77533bf2f1). + * + * By extracting the ID we can ensure that the ID is always explicitly provided as part of the create configuration. + * + * @static + * @param {string} url + * @returns {string} + * @hidden + */ + Create.findIdFromEmbedUrl = function (url) { + var datasetIdRegEx = /datasetId="?([^&]+)"?/; + var datasetIdMatch = url.match(datasetIdRegEx); + var datasetId; + if (datasetIdMatch) { + datasetId = datasetIdMatch[1]; + } + return datasetId; + }; + return Create; + }(embed.Embed)); + exports.Create = Create; /***/ }), /* 12 */ /***/ (function(module, exports, __webpack_require__) { - 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; } - d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); - }; - var embed = __webpack_require__(2); - var models = __webpack_require__(5); - /** - * A Power BI Dashboard embed component - * - * @export - * @class Dashboard - * @extends {embed.Embed} - * @implements {IDashboardNode} - * @implements {IFilterable} - */ - var Dashboard = (function (_super) { - __extends(Dashboard, _super); - /** - * Creates an instance of a Power BI Dashboard. - * - * @param {service.Service} service - * @hidden - * @param {HTMLElement} element - */ - function Dashboard(service, element, config, phasedRender, isBootstrap) { - _super.call(this, service, element, config, /* iframe */ undefined, phasedRender, isBootstrap); - this.loadPath = "/dashboard/load"; - this.phasedLoadPath = "/dashboard/prepare"; - Array.prototype.push.apply(this.allowedEvents, Dashboard.allowedEvents); - } - /** - * This adds backwards compatibility for older config which used the dashboardId query param to specify dashboard id. - * E.g. https://powerbi-df.analysis-df.windows.net/dashboardEmbedHost?dashboardId=e9363c62-edb6-4eac-92d3-2199c5ca2a9e - * - * By extracting the id we can ensure id is always explicitly provided as part of the load configuration. - * @hidden - * @static - * @param {string} url - * @returns {string} - */ - Dashboard.findIdFromEmbedUrl = function (url) { - var dashboardIdRegEx = /dashboardId="?([^&]+)"?/; - var dashboardIdMatch = url.match(dashboardIdRegEx); - var dashboardId; - if (dashboardIdMatch) { - dashboardId = dashboardIdMatch[1]; - } - return dashboardId; - }; - /** - * Get dashboard id from first available location: options, attribute, embed url. - * - * @returns {string} - */ - Dashboard.prototype.getId = function () { - var config = this.config; - var dashboardId = config.id || this.element.getAttribute(Dashboard.dashboardIdAttribute) || Dashboard.findIdFromEmbedUrl(config.embedUrl); - if (typeof dashboardId !== 'string' || dashboardId.length === 0) { - throw new Error("Dashboard id is required, but it was not found. You must provide an id either as part of embed configuration or as attribute '" + Dashboard.dashboardIdAttribute + "'."); - } - return dashboardId; - }; - /** - * Validate load configuration. - * - * @hidden - */ - Dashboard.prototype.validate = function (baseConfig) { - var config = baseConfig; - var error = models.validateDashboardLoad(config); - return error ? error : this.ValidatePageView(config.pageView); - }; - /** - * Handle config changes. - * @hidden - * @returns {void} - */ - Dashboard.prototype.configChanged = function (isBootstrap) { - if (isBootstrap) { - return; - } - // 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)); - exports.Dashboard = Dashboard; + 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; } + d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); + }; + var embed = __webpack_require__(2); + var models = __webpack_require__(5); + /** + * A Power BI Dashboard embed component + * + * @export + * @class Dashboard + * @extends {embed.Embed} + * @implements {IDashboardNode} + * @implements {IFilterable} + */ + var Dashboard = (function (_super) { + __extends(Dashboard, _super); + /** + * Creates an instance of a Power BI Dashboard. + * + * @param {service.Service} service + * @hidden + * @param {HTMLElement} element + */ + function Dashboard(service, element, config, phasedRender, isBootstrap) { + _super.call(this, service, element, config, /* iframe */ undefined, phasedRender, isBootstrap); + this.loadPath = "/dashboard/load"; + this.phasedLoadPath = "/dashboard/prepare"; + Array.prototype.push.apply(this.allowedEvents, Dashboard.allowedEvents); + } + /** + * This adds backwards compatibility for older config which used the dashboardId query param to specify dashboard id. + * E.g. https://powerbi-df.analysis-df.windows.net/dashboardEmbedHost?dashboardId=e9363c62-edb6-4eac-92d3-2199c5ca2a9e + * + * By extracting the id we can ensure id is always explicitly provided as part of the load configuration. + * @hidden + * @static + * @param {string} url + * @returns {string} + */ + Dashboard.findIdFromEmbedUrl = function (url) { + var dashboardIdRegEx = /dashboardId="?([^&]+)"?/; + var dashboardIdMatch = url.match(dashboardIdRegEx); + var dashboardId; + if (dashboardIdMatch) { + dashboardId = dashboardIdMatch[1]; + } + return dashboardId; + }; + /** + * Get dashboard id from first available location: options, attribute, embed url. + * + * @returns {string} + */ + Dashboard.prototype.getId = function () { + var config = this.config; + var dashboardId = config.id || this.element.getAttribute(Dashboard.dashboardIdAttribute) || Dashboard.findIdFromEmbedUrl(config.embedUrl); + if (typeof dashboardId !== 'string' || dashboardId.length === 0) { + throw new Error("Dashboard id is required, but it was not found. You must provide an id either as part of embed configuration or as attribute '" + Dashboard.dashboardIdAttribute + "'."); + } + return dashboardId; + }; + /** + * Validate load configuration. + * + * @hidden + */ + Dashboard.prototype.validate = function (baseConfig) { + var config = baseConfig; + var error = models.validateDashboardLoad(config); + return error ? error : this.ValidatePageView(config.pageView); + }; + /** + * Handle config changes. + * @hidden + * @returns {void} + */ + Dashboard.prototype.configChanged = function (isBootstrap) { + if (isBootstrap) { + return; + } + // 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)); + exports.Dashboard = Dashboard; /***/ }), /* 13 */ /***/ (function(module, exports, __webpack_require__) { - 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; } - d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); - }; - var models = __webpack_require__(5); - var embed = __webpack_require__(2); - /** - * The Power BI tile embed component - * - * @export - * @class Tile - * @extends {Embed} - */ - 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); - this.loadPath = "/tile/load"; - Array.prototype.push.apply(this.allowedEvents, Tile.allowedEvents); - } - /** - * The ID of the tile - * - * @returns {string} - */ - Tile.prototype.getId = function () { - var config = this.config; - var tileId = config.id || Tile.findIdFromEmbedUrl(this.config.embedUrl); - if (typeof tileId !== 'string' || tileId.length === 0) { - throw new Error("Tile id is required, but it was not found. You must provide an id either as part of embed configuration."); - } - return tileId; - }; - /** - * Validate load configuration. - */ - Tile.prototype.validate = function (config) { - var embedConfig = config; - return models.validateTileLoad(embedConfig); - }; - /** - * Handle config changes. - * - * @returns {void} - */ - Tile.prototype.configChanged = function (isBootstrap) { - if (isBootstrap) { - return; - } - // Populate tile id into config object. - this.config.id = this.getId(); - }; - /** - * @hidden - * @returns {string} - */ - Tile.prototype.getDefaultEmbedUrlEndpoint = function () { - return "tileEmbed"; - }; - /** - * Adds the ability to get tileId 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} - */ - Tile.findIdFromEmbedUrl = function (url) { - var tileIdRegEx = /tileId="?([^&]+)"?/; - var tileIdMatch = url.match(tileIdRegEx); - var tileId; - if (tileIdMatch) { - tileId = tileIdMatch[1]; - } - return tileId; - }; - /** @hidden */ - Tile.type = "Tile"; - /** @hidden */ - Tile.allowedEvents = ["tileClicked", "tileLoaded"]; - return Tile; - }(embed.Embed)); - exports.Tile = Tile; + 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; } + d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); + }; + var models = __webpack_require__(5); + var embed = __webpack_require__(2); + /** + * The Power BI tile embed component + * + * @export + * @class Tile + * @extends {Embed} + */ + 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); + this.loadPath = "/tile/load"; + Array.prototype.push.apply(this.allowedEvents, Tile.allowedEvents); + } + /** + * The ID of the tile + * + * @returns {string} + */ + Tile.prototype.getId = function () { + var config = this.config; + var tileId = config.id || Tile.findIdFromEmbedUrl(this.config.embedUrl); + if (typeof tileId !== 'string' || tileId.length === 0) { + throw new Error("Tile id is required, but it was not found. You must provide an id either as part of embed configuration."); + } + return tileId; + }; + /** + * Validate load configuration. + */ + Tile.prototype.validate = function (config) { + var embedConfig = config; + return models.validateTileLoad(embedConfig); + }; + /** + * Handle config changes. + * + * @returns {void} + */ + Tile.prototype.configChanged = function (isBootstrap) { + if (isBootstrap) { + return; + } + // Populate tile id into config object. + this.config.id = this.getId(); + }; + /** + * @hidden + * @returns {string} + */ + Tile.prototype.getDefaultEmbedUrlEndpoint = function () { + return "tileEmbed"; + }; + /** + * Adds the ability to get tileId 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} + */ + Tile.findIdFromEmbedUrl = function (url) { + var tileIdRegEx = /tileId="?([^&]+)"?/; + var tileIdMatch = url.match(tileIdRegEx); + var tileId; + if (tileIdMatch) { + tileId = tileIdMatch[1]; + } + return tileId; + }; + /** @hidden */ + Tile.type = "Tile"; + /** @hidden */ + Tile.allowedEvents = ["tileClicked", "tileLoaded"]; + return Tile; + }(embed.Embed)); + exports.Tile = Tile; /***/ }), /* 14 */ /***/ (function(module, exports, __webpack_require__) { - 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; } - d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); - }; - var models = __webpack_require__(5); - var embed = __webpack_require__(2); - /** - * The Power BI Q&A embed component - * - * @export - * @class Qna - * @extends {Embed} - */ - 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"; - this.phasedLoadPath = "/qna/prepare"; - Array.prototype.push.apply(this.allowedEvents, Qna.allowedEvents); - } - /** - * The ID of the Q&A embed component - * - * @returns {string} - */ - Qna.prototype.getId = function () { - return null; - }; - /** - * Change the question of the Q&A embed component - * - * @param question - question which will render Q&A data - * @returns {string} - */ - Qna.prototype.setQuestion = function (question) { - var qnaData = { - question: question - }; - return this.service.hpm.post('/qna/interpret', qnaData, { uid: this.config.uniqueId }, this.iframe.contentWindow) - .catch(function (response) { - throw response.body; - }); - }; - /** - * Handle config changes. - * - * @returns {void} - */ - Qna.prototype.configChanged = function (isBootstrap) { - // Nothing to do in Q&A embed. - }; - /** - * @hidden - * @returns {string} - */ - Qna.prototype.getDefaultEmbedUrlEndpoint = function () { - return "qnaEmbed"; - }; - /** - * Validate load configuration. - */ - Qna.prototype.validate = function (config) { - return models.validateLoadQnaConfiguration(config); - }; - /** @hidden */ - Qna.type = "Qna"; - /** @hidden */ - Qna.allowedEvents = ["loaded", "visualRendered"]; - return Qna; - }(embed.Embed)); - exports.Qna = Qna; + 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; } + d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); + }; + var models = __webpack_require__(5); + var embed = __webpack_require__(2); + /** + * The Power BI Q&A embed component + * + * @export + * @class Qna + * @extends {Embed} + */ + 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"; + this.phasedLoadPath = "/qna/prepare"; + Array.prototype.push.apply(this.allowedEvents, Qna.allowedEvents); + } + /** + * The ID of the Q&A embed component + * + * @returns {string} + */ + Qna.prototype.getId = function () { + return null; + }; + /** + * Change the question of the Q&A embed component + * + * @param question - question which will render Q&A data + * @returns {string} + */ + Qna.prototype.setQuestion = function (question) { + var qnaData = { + question: question + }; + return this.service.hpm.post('/qna/interpret', qnaData, { uid: this.config.uniqueId }, this.iframe.contentWindow) + .catch(function (response) { + throw response.body; + }); + }; + /** + * Handle config changes. + * + * @returns {void} + */ + Qna.prototype.configChanged = function (isBootstrap) { + // Nothing to do in Q&A embed. + }; + /** + * @hidden + * @returns {string} + */ + Qna.prototype.getDefaultEmbedUrlEndpoint = function () { + return "qnaEmbed"; + }; + /** + * Validate load configuration. + */ + Qna.prototype.validate = function (config) { + return models.validateLoadQnaConfiguration(config); + }; + /** @hidden */ + Qna.type = "Qna"; + /** @hidden */ + Qna.allowedEvents = ["loaded", "visualRendered"]; + return Qna; + }(embed.Embed)); + exports.Qna = Qna; /***/ }), /* 15 */ /***/ (function(module, exports, __webpack_require__) { - 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; } - d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); - }; - var models = __webpack_require__(5); - var report_1 = __webpack_require__(7); - var visualDescriptor_1 = __webpack_require__(9); - /** - * The Power BI Visual embed component - * - * @export - * @class Visual - */ - var Visual = (function (_super) { - __extends(Visual, _super); - /** - * Creates an instance of a Power BI Single Visual. - * - * @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); - } - Visual.prototype.load = function (phasedRender) { - var config = this.config; - if (!config.accessToken) { - // bootstrap flow. - return; - } - if (typeof config.pageName !== 'string' || config.pageName.length === 0) { - throw new Error("Page name is required when embedding a visual."); - } - if (typeof config.visualName !== 'string' || config.visualName.length === 0) { - throw new Error("Visual name is required, but it was not found. You must provide a visual name as part of embed configuration."); - } - // calculate custom layout settings and override config. - var width = config.width ? config.width : this.iframe.offsetWidth; - var height = config.height ? config.height : this.iframe.offsetHeight; - var pageSize = { - type: models.PageSizeType.Custom, - width: width, - height: height, - }; - var pagesLayout = {}; - pagesLayout[config.pageName] = { - defaultLayout: { - displayState: { - mode: models.VisualContainerDisplayMode.Hidden - } - }, - visualsLayout: {} - }; - pagesLayout[config.pageName].visualsLayout[config.visualName] = { - displayState: { - mode: models.VisualContainerDisplayMode.Visible - }, - x: 1, - y: 1, - z: 1, - width: pageSize.width, - height: pageSize.height - }; - config.settings = config.settings || {}; - config.settings.filterPaneEnabled = false; - config.settings.navContentPaneEnabled = false; - config.settings.layoutType = models.LayoutType.Custom; - config.settings.customLayout = { - displayOption: models.DisplayOption.FitToPage, - pageSize: pageSize, - pagesLayout: pagesLayout - }; - this.config = config; - return _super.prototype.load.call(this, phasedRender); - }; - /** - * Gets the list of pages within the report - not supported in visual embed. - * - * @returns {Promise} - */ - Visual.prototype.getPages = function () { - throw Visual.GetPagesNotSupportedError; - }; - /** - * Sets the active page of the report - not supported in visual embed. - * - * @param {string} pageName - * @returns {Promise} - */ - Visual.prototype.setPage = function (pageName) { - throw Visual.SetPageNotSupportedError; - }; - /** - * Gets the embedded visual descriptor object that contains the visual name, type, etc. - * - * ```javascript - * visual.getVisualDescriptor() - * .then(visualDetails => { ... }); - * ``` - * - * @returns {Promise} - */ - Visual.prototype.getVisualDescriptor = function () { - var _this = this; - var config = this.config; - return this.service.hpm.get("/report/pages/" + config.pageName + "/visuals", { uid: this.config.uniqueId }, this.iframe.contentWindow) - .then(function (response) { - // Find the embedded visual from visuals of this page - // TODO: Use the Array.find method when ES6 is available - var embeddedVisuals = response.body.filter(function (pageVisual) { return pageVisual.name === config.visualName; }); - if (embeddedVisuals.length === 0) { - var visualNotFoundError = { - message: "visualNotFound", - detailedMessage: "Visual not found" - }; - throw visualNotFoundError; - } - var embeddedVisual = embeddedVisuals[0]; - var currentPage = _this.page(config.pageName); - return new visualDescriptor_1.VisualDescriptor(currentPage, embeddedVisual.name, embeddedVisual.title, embeddedVisual.type, embeddedVisual.layout); - }, function (response) { - throw response.body; - }); - }; - /** - * Gets filters that are applied to the filter level. - * Default filter level is visual level. - * - * ```javascript - * visual.getFilters(filtersLevel) - * .then(filters => { - * ... - * }); - * ``` - * - * @returns {Promise} - */ - Visual.prototype.getFilters = function (filtersLevel) { - var url = this.getFiltersLevelUrl(filtersLevel); - return this.service.hpm.get(url, { uid: this.config.uniqueId }, this.iframe.contentWindow) - .then(function (response) { return response.body; }, function (response) { - throw response.body; - }); - }; - /** - * Sets filters at the filter level. - * Default filter level is visual level. - * - * ```javascript - * const filters: [ - * ... - * ]; - * - * visual.setFilters(filters, filtersLevel) - * .catch(errors => { - * ... - * }); - * ``` - * - * @param {(models.IFilter[])} filters - * @returns {Promise} - */ - Visual.prototype.setFilters = function (filters, filtersLevel) { - var url = this.getFiltersLevelUrl(filtersLevel); - return this.service.hpm.put(url, filters, { uid: this.config.uniqueId }, this.iframe.contentWindow) - .catch(function (response) { - throw response.body; - }); - }; - /** - * Removes all filters from the current filter level. - * Default filter level is visual level. - * - * ```javascript - * visual.removeFilters(filtersLevel); - * ``` - * - * @returns {Promise} - */ - Visual.prototype.removeFilters = function (filtersLevel) { - return this.setFilters([], filtersLevel); - }; - /** - * @hidden - */ - Visual.prototype.getFiltersLevelUrl = function (filtersLevel) { - var config = this.config; - switch (filtersLevel) { - case models.FiltersLevel.Report: - return "/report/filters"; - case models.FiltersLevel.Page: - return "/report/pages/" + config.pageName + "/filters"; - default: - 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)); - exports.Visual = Visual; + 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; } + d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); + }; + var models = __webpack_require__(5); + var report_1 = __webpack_require__(7); + var visualDescriptor_1 = __webpack_require__(9); + /** + * The Power BI Visual embed component + * + * @export + * @class Visual + */ + var Visual = (function (_super) { + __extends(Visual, _super); + /** + * Creates an instance of a Power BI Single Visual. + * + * @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); + } + Visual.prototype.load = function (phasedRender) { + var config = this.config; + if (!config.accessToken) { + // bootstrap flow. + return; + } + if (typeof config.pageName !== 'string' || config.pageName.length === 0) { + throw new Error("Page name is required when embedding a visual."); + } + if (typeof config.visualName !== 'string' || config.visualName.length === 0) { + throw new Error("Visual name is required, but it was not found. You must provide a visual name as part of embed configuration."); + } + // calculate custom layout settings and override config. + var width = config.width ? config.width : this.iframe.offsetWidth; + var height = config.height ? config.height : this.iframe.offsetHeight; + var pageSize = { + type: models.PageSizeType.Custom, + width: width, + height: height, + }; + var pagesLayout = {}; + pagesLayout[config.pageName] = { + defaultLayout: { + displayState: { + mode: models.VisualContainerDisplayMode.Hidden + } + }, + visualsLayout: {} + }; + pagesLayout[config.pageName].visualsLayout[config.visualName] = { + displayState: { + mode: models.VisualContainerDisplayMode.Visible + }, + x: 1, + y: 1, + z: 1, + width: pageSize.width, + height: pageSize.height + }; + config.settings = config.settings || {}; + config.settings.filterPaneEnabled = false; + config.settings.navContentPaneEnabled = false; + config.settings.layoutType = models.LayoutType.Custom; + config.settings.customLayout = { + displayOption: models.DisplayOption.FitToPage, + pageSize: pageSize, + pagesLayout: pagesLayout + }; + this.config = config; + return _super.prototype.load.call(this, phasedRender); + }; + /** + * Gets the list of pages within the report - not supported in visual embed. + * + * @returns {Promise} + */ + Visual.prototype.getPages = function () { + throw Visual.GetPagesNotSupportedError; + }; + /** + * Sets the active page of the report - not supported in visual embed. + * + * @param {string} pageName + * @returns {Promise} + */ + Visual.prototype.setPage = function (pageName) { + throw Visual.SetPageNotSupportedError; + }; + /** + * Gets the embedded visual descriptor object that contains the visual name, type, etc. + * + * ```javascript + * visual.getVisualDescriptor() + * .then(visualDetails => { ... }); + * ``` + * + * @returns {Promise} + */ + Visual.prototype.getVisualDescriptor = function () { + var _this = this; + var config = this.config; + return this.service.hpm.get("/report/pages/" + config.pageName + "/visuals", { uid: this.config.uniqueId }, this.iframe.contentWindow) + .then(function (response) { + // Find the embedded visual from visuals of this page + // TODO: Use the Array.find method when ES6 is available + var embeddedVisuals = response.body.filter(function (pageVisual) { return pageVisual.name === config.visualName; }); + if (embeddedVisuals.length === 0) { + var visualNotFoundError = { + message: "visualNotFound", + detailedMessage: "Visual not found" + }; + throw visualNotFoundError; + } + var embeddedVisual = embeddedVisuals[0]; + var currentPage = _this.page(config.pageName); + return new visualDescriptor_1.VisualDescriptor(currentPage, embeddedVisual.name, embeddedVisual.title, embeddedVisual.type, embeddedVisual.layout); + }, function (response) { + throw response.body; + }); + }; + /** + * Gets filters that are applied to the filter level. + * Default filter level is visual level. + * + * ```javascript + * visual.getFilters(filtersLevel) + * .then(filters => { + * ... + * }); + * ``` + * + * @returns {Promise} + */ + Visual.prototype.getFilters = function (filtersLevel) { + var url = this.getFiltersLevelUrl(filtersLevel); + return this.service.hpm.get(url, { uid: this.config.uniqueId }, this.iframe.contentWindow) + .then(function (response) { return response.body; }, function (response) { + throw response.body; + }); + }; + /** + * Sets filters at the filter level. + * Default filter level is visual level. + * + * ```javascript + * const filters: [ + * ... + * ]; + * + * visual.setFilters(filters, filtersLevel) + * .catch(errors => { + * ... + * }); + * ``` + * + * @param {(models.IFilter[])} filters + * @returns {Promise} + */ + Visual.prototype.setFilters = function (filters, filtersLevel) { + var url = this.getFiltersLevelUrl(filtersLevel); + return this.service.hpm.put(url, filters, { uid: this.config.uniqueId }, this.iframe.contentWindow) + .catch(function (response) { + throw response.body; + }); + }; + /** + * Removes all filters from the current filter level. + * Default filter level is visual level. + * + * ```javascript + * visual.removeFilters(filtersLevel); + * ``` + * + * @returns {Promise} + */ + Visual.prototype.removeFilters = function (filtersLevel) { + return this.setFilters([], filtersLevel); + }; + /** + * @hidden + */ + Visual.prototype.getFiltersLevelUrl = function (filtersLevel) { + var config = this.config; + switch (filtersLevel) { + case models.FiltersLevel.Report: + return "/report/filters"; + case models.FiltersLevel.Page: + return "/report/pages/" + config.pageName + "/filters"; + default: + 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)); + exports.Visual = Visual; /***/ }), /* 16 */ /***/ (function(module, exports, __webpack_require__) { - var config_1 = __webpack_require__(4); - var wpmp = __webpack_require__(17); - var hpm = __webpack_require__(18); - var router = __webpack_require__(19); - exports.hpmFactory = function (wpmp, defaultTargetWindow, sdkVersion, sdkType) { - if (sdkVersion === void 0) { sdkVersion = config_1.default.version; } - if (sdkType === void 0) { sdkType = config_1.default.type; } - return new hpm.HttpPostMessage(wpmp, { - 'x-sdk-type': sdkType, - 'x-sdk-version': sdkVersion - }, defaultTargetWindow); - }; - exports.wpmpFactory = function (name, logMessages, eventSourceOverrideWindow) { - return new wpmp.WindowPostMessageProxy({ - processTrackingProperties: { - addTrackingProperties: hpm.HttpPostMessage.addTrackingProperties, - getTrackingProperties: hpm.HttpPostMessage.getTrackingProperties, - }, - isErrorMessage: hpm.HttpPostMessage.isErrorMessage, - suppressWarnings: true, - name: name, - logMessages: logMessages, - eventSourceOverrideWindow: eventSourceOverrideWindow - }); - }; - exports.routerFactory = function (wpmp) { - return new router.Router(wpmp); - }; + var config_1 = __webpack_require__(4); + var wpmp = __webpack_require__(17); + var hpm = __webpack_require__(18); + var router = __webpack_require__(19); + exports.hpmFactory = function (wpmp, defaultTargetWindow, sdkVersion, sdkType) { + if (sdkVersion === void 0) { sdkVersion = config_1.default.version; } + if (sdkType === void 0) { sdkType = config_1.default.type; } + return new hpm.HttpPostMessage(wpmp, { + 'x-sdk-type': sdkType, + 'x-sdk-version': sdkVersion + }, defaultTargetWindow); + }; + exports.wpmpFactory = function (name, logMessages, eventSourceOverrideWindow) { + return new wpmp.WindowPostMessageProxy({ + processTrackingProperties: { + addTrackingProperties: hpm.HttpPostMessage.addTrackingProperties, + getTrackingProperties: hpm.HttpPostMessage.getTrackingProperties, + }, + isErrorMessage: hpm.HttpPostMessage.isErrorMessage, + suppressWarnings: true, + name: name, + logMessages: logMessages, + eventSourceOverrideWindow: eventSourceOverrideWindow + }); + }; + exports.routerFactory = function (wpmp) { + return new router.Router(wpmp); + }; /***/ }), @@ -7045,241 +7087,241 @@ return /******/ (function(modules) { // webpackBootstrap /* 0 */ /***/ (function(module, exports) { - "use strict"; - var WindowPostMessageProxy = (function () { - function WindowPostMessageProxy(options) { - var _this = this; - if (options === void 0) { options = { - processTrackingProperties: { - addTrackingProperties: WindowPostMessageProxy.defaultAddTrackingProperties, - getTrackingProperties: WindowPostMessageProxy.defaultGetTrackingProperties - }, - isErrorMessage: WindowPostMessageProxy.defaultIsErrorMessage, - receiveWindow: window, - name: WindowPostMessageProxy.createRandomString() - }; } - this.pendingRequestPromises = {}; - // save options with defaults - this.addTrackingProperties = (options.processTrackingProperties && options.processTrackingProperties.addTrackingProperties) || WindowPostMessageProxy.defaultAddTrackingProperties; - this.getTrackingProperties = (options.processTrackingProperties && options.processTrackingProperties.getTrackingProperties) || WindowPostMessageProxy.defaultGetTrackingProperties; - this.isErrorMessage = options.isErrorMessage || WindowPostMessageProxy.defaultIsErrorMessage; - this.receiveWindow = options.receiveWindow || window; - this.name = options.name || WindowPostMessageProxy.createRandomString(); - this.logMessages = options.logMessages || false; - this.eventSourceOverrideWindow = options.eventSourceOverrideWindow; - this.suppressWarnings = options.suppressWarnings || false; - if (this.logMessages) { - console.log("new WindowPostMessageProxy created with name: " + this.name + " receiving on window: " + this.receiveWindow.document.title); - } - // Initialize - this.handlers = []; - this.windowMessageHandler = function (event) { return _this.onMessageReceived(event); }; - this.start(); - } - // Static - WindowPostMessageProxy.defaultAddTrackingProperties = function (message, trackingProperties) { - message[WindowPostMessageProxy.messagePropertyName] = trackingProperties; - return message; - }; - WindowPostMessageProxy.defaultGetTrackingProperties = function (message) { - return message[WindowPostMessageProxy.messagePropertyName]; - }; - WindowPostMessageProxy.defaultIsErrorMessage = function (message) { - return !!message.error; - }; - /** - * Utility to create a deferred object. - */ - // TODO: Look to use RSVP library instead of doing this manually. - // From what I searched RSVP would work better because it has .finally and .deferred; however, it doesn't have Typings information. - WindowPostMessageProxy.createDeferred = function () { - var deferred = { - resolve: null, - reject: null, - promise: null - }; - var promise = new Promise(function (resolve, reject) { - deferred.resolve = resolve; - deferred.reject = reject; - }); - deferred.promise = promise; - return deferred; - }; - /** - * Utility to generate random sequence of characters used as tracking id for promises. - */ - WindowPostMessageProxy.createRandomString = function () { - // window.msCrypto for IE - var cryptoObj = window.crypto || window.msCrypto; - var randomValueArray = new Uint32Array(1); - cryptoObj.getRandomValues(randomValueArray); - return randomValueArray[0].toString(36).substring(1); - }; - /** - * Adds handler. - * If the first handler whose test method returns true will handle the message and provide a response. - */ - WindowPostMessageProxy.prototype.addHandler = function (handler) { - this.handlers.push(handler); - }; - /** - * Removes handler. - * The reference must match the original object that was provided when adding the handler. - */ - WindowPostMessageProxy.prototype.removeHandler = function (handler) { - var handlerIndex = this.handlers.indexOf(handler); - if (handlerIndex === -1) { - throw new Error("You attempted to remove a handler but no matching handler was found."); - } - this.handlers.splice(handlerIndex, 1); - }; - /** - * Start listening to message events. - */ - WindowPostMessageProxy.prototype.start = function () { - this.receiveWindow.addEventListener('message', this.windowMessageHandler); - }; - /** - * Stops listening to message events. - */ - WindowPostMessageProxy.prototype.stop = function () { - this.receiveWindow.removeEventListener('message', this.windowMessageHandler); - }; - /** - * Post message to target window with tracking properties added and save deferred object referenced by tracking id. - */ - WindowPostMessageProxy.prototype.postMessage = function (targetWindow, message) { - // Add tracking properties to indicate message came from this proxy - var trackingProperties = { id: WindowPostMessageProxy.createRandomString() }; - this.addTrackingProperties(message, trackingProperties); - if (this.logMessages) { - console.log(this.name + " Posting message:"); - console.log(JSON.stringify(message, null, ' ')); - } - targetWindow.postMessage(message, "*"); - var deferred = WindowPostMessageProxy.createDeferred(); - this.pendingRequestPromises[trackingProperties.id] = deferred; - return deferred.promise; - }; - /** - * Send response message to target window. - * Response messages re-use tracking properties from a previous request message. - */ - WindowPostMessageProxy.prototype.sendResponse = function (targetWindow, message, trackingProperties) { - this.addTrackingProperties(message, trackingProperties); - if (this.logMessages) { - console.log(this.name + " Sending response:"); - console.log(JSON.stringify(message, null, ' ')); - } - targetWindow.postMessage(message, "*"); - }; - /** - * Message handler. - */ - WindowPostMessageProxy.prototype.onMessageReceived = function (event) { - var _this = this; - if (this.logMessages) { - console.log(this.name + " Received message:"); - console.log("type: " + event.type); - console.log(JSON.stringify(event.data, null, ' ')); - } - var sendingWindow = this.eventSourceOverrideWindow || event.source; - var message = event.data; - if (typeof message !== "object") { - if (!this.suppressWarnings) { - console.warn("Proxy(" + this.name + "): Received message that was not an object. Discarding message"); - } - return; - } - var trackingProperties; - try { - trackingProperties = this.getTrackingProperties(message); - } - catch (e) { - if (!this.suppressWarnings) { - console.warn("Proxy(" + this.name + "): Error occurred when attempting to get tracking properties from incoming message:", JSON.stringify(message, null, ' '), "Error: ", e); - } - } - var deferred; - if (trackingProperties) { - deferred = this.pendingRequestPromises[trackingProperties.id]; - } - // If message does not have a known ID, treat it as a request - // Otherwise, treat message as response - if (!deferred) { - var handled = this.handlers.some(function (handler) { - var canMessageBeHandled = false; - try { - canMessageBeHandled = handler.test(message); - } - catch (e) { - if (!_this.suppressWarnings) { - console.warn("Proxy(" + _this.name + "): Error occurred when handler was testing incoming message:", JSON.stringify(message, null, ' '), "Error: ", e); - } - } - if (canMessageBeHandled) { - var responseMessagePromise = void 0; - try { - responseMessagePromise = Promise.resolve(handler.handle(message)); - } - catch (e) { - if (!_this.suppressWarnings) { - console.warn("Proxy(" + _this.name + "): Error occurred when handler was processing incoming message:", JSON.stringify(message, null, ' '), "Error: ", e); - } - responseMessagePromise = Promise.resolve(); - } - responseMessagePromise - .then(function (responseMessage) { - if (!responseMessage) { - var warningMessage = "Handler for message: " + JSON.stringify(message, null, ' ') + " did not return a response message. The default response message will be returned instead."; - if (!_this.suppressWarnings) { - console.warn("Proxy(" + _this.name + "): " + warningMessage); - } - responseMessage = { - warning: warningMessage - }; - } - _this.sendResponse(sendingWindow, responseMessage, trackingProperties); - }); - return true; - } - }); - /** - * TODO: Consider returning an error message if nothing handled the message. - * In the case of the Report receiving messages all of them should be handled, - * however, in the case of the SDK receiving messages it's likely it won't register handlers - * for all events. Perhaps make this an option at construction time. - */ - if (!handled && !this.suppressWarnings) { - console.warn("Proxy(" + this.name + ") did not handle message. Handlers: " + this.handlers.length + " Message: " + JSON.stringify(message, null, '') + "."); - } - } - else { - /** - * If error message reject promise, - * Otherwise, resolve promise - */ - var isErrorMessage = true; - try { - isErrorMessage = this.isErrorMessage(message); - } - catch (e) { - console.warn("Proxy(" + this.name + ") Error occurred when trying to determine if message is consider an error response. Message: ", JSON.stringify(message, null, ''), 'Error: ', e); - } - if (isErrorMessage) { - deferred.reject(message); - } - else { - deferred.resolve(message); - } - // TODO: Move to .finally clause up where promise is created for better maitenance like original proxy code. - delete this.pendingRequestPromises[trackingProperties.id]; - } - }; - WindowPostMessageProxy.messagePropertyName = "windowPostMessageProxy"; - return WindowPostMessageProxy; - }()); - exports.WindowPostMessageProxy = WindowPostMessageProxy; + "use strict"; + var WindowPostMessageProxy = (function () { + function WindowPostMessageProxy(options) { + var _this = this; + if (options === void 0) { options = { + processTrackingProperties: { + addTrackingProperties: WindowPostMessageProxy.defaultAddTrackingProperties, + getTrackingProperties: WindowPostMessageProxy.defaultGetTrackingProperties + }, + isErrorMessage: WindowPostMessageProxy.defaultIsErrorMessage, + receiveWindow: window, + name: WindowPostMessageProxy.createRandomString() + }; } + this.pendingRequestPromises = {}; + // save options with defaults + this.addTrackingProperties = (options.processTrackingProperties && options.processTrackingProperties.addTrackingProperties) || WindowPostMessageProxy.defaultAddTrackingProperties; + this.getTrackingProperties = (options.processTrackingProperties && options.processTrackingProperties.getTrackingProperties) || WindowPostMessageProxy.defaultGetTrackingProperties; + this.isErrorMessage = options.isErrorMessage || WindowPostMessageProxy.defaultIsErrorMessage; + this.receiveWindow = options.receiveWindow || window; + this.name = options.name || WindowPostMessageProxy.createRandomString(); + this.logMessages = options.logMessages || false; + this.eventSourceOverrideWindow = options.eventSourceOverrideWindow; + this.suppressWarnings = options.suppressWarnings || false; + if (this.logMessages) { + console.log("new WindowPostMessageProxy created with name: " + this.name + " receiving on window: " + this.receiveWindow.document.title); + } + // Initialize + this.handlers = []; + this.windowMessageHandler = function (event) { return _this.onMessageReceived(event); }; + this.start(); + } + // Static + WindowPostMessageProxy.defaultAddTrackingProperties = function (message, trackingProperties) { + message[WindowPostMessageProxy.messagePropertyName] = trackingProperties; + return message; + }; + WindowPostMessageProxy.defaultGetTrackingProperties = function (message) { + return message[WindowPostMessageProxy.messagePropertyName]; + }; + WindowPostMessageProxy.defaultIsErrorMessage = function (message) { + return !!message.error; + }; + /** + * Utility to create a deferred object. + */ + // TODO: Look to use RSVP library instead of doing this manually. + // From what I searched RSVP would work better because it has .finally and .deferred; however, it doesn't have Typings information. + WindowPostMessageProxy.createDeferred = function () { + var deferred = { + resolve: null, + reject: null, + promise: null + }; + var promise = new Promise(function (resolve, reject) { + deferred.resolve = resolve; + deferred.reject = reject; + }); + deferred.promise = promise; + return deferred; + }; + /** + * Utility to generate random sequence of characters used as tracking id for promises. + */ + WindowPostMessageProxy.createRandomString = function () { + // window.msCrypto for IE + var cryptoObj = window.crypto || window.msCrypto; + var randomValueArray = new Uint32Array(1); + cryptoObj.getRandomValues(randomValueArray); + return randomValueArray[0].toString(36).substring(1); + }; + /** + * Adds handler. + * If the first handler whose test method returns true will handle the message and provide a response. + */ + WindowPostMessageProxy.prototype.addHandler = function (handler) { + this.handlers.push(handler); + }; + /** + * Removes handler. + * The reference must match the original object that was provided when adding the handler. + */ + WindowPostMessageProxy.prototype.removeHandler = function (handler) { + var handlerIndex = this.handlers.indexOf(handler); + if (handlerIndex === -1) { + throw new Error("You attempted to remove a handler but no matching handler was found."); + } + this.handlers.splice(handlerIndex, 1); + }; + /** + * Start listening to message events. + */ + WindowPostMessageProxy.prototype.start = function () { + this.receiveWindow.addEventListener('message', this.windowMessageHandler); + }; + /** + * Stops listening to message events. + */ + WindowPostMessageProxy.prototype.stop = function () { + this.receiveWindow.removeEventListener('message', this.windowMessageHandler); + }; + /** + * Post message to target window with tracking properties added and save deferred object referenced by tracking id. + */ + WindowPostMessageProxy.prototype.postMessage = function (targetWindow, message) { + // Add tracking properties to indicate message came from this proxy + var trackingProperties = { id: WindowPostMessageProxy.createRandomString() }; + this.addTrackingProperties(message, trackingProperties); + if (this.logMessages) { + console.log(this.name + " Posting message:"); + console.log(JSON.stringify(message, null, ' ')); + } + targetWindow.postMessage(message, "*"); + var deferred = WindowPostMessageProxy.createDeferred(); + this.pendingRequestPromises[trackingProperties.id] = deferred; + return deferred.promise; + }; + /** + * Send response message to target window. + * Response messages re-use tracking properties from a previous request message. + */ + WindowPostMessageProxy.prototype.sendResponse = function (targetWindow, message, trackingProperties) { + this.addTrackingProperties(message, trackingProperties); + if (this.logMessages) { + console.log(this.name + " Sending response:"); + console.log(JSON.stringify(message, null, ' ')); + } + targetWindow.postMessage(message, "*"); + }; + /** + * Message handler. + */ + WindowPostMessageProxy.prototype.onMessageReceived = function (event) { + var _this = this; + if (this.logMessages) { + console.log(this.name + " Received message:"); + console.log("type: " + event.type); + console.log(JSON.stringify(event.data, null, ' ')); + } + var sendingWindow = this.eventSourceOverrideWindow || event.source; + var message = event.data; + if (typeof message !== "object") { + if (!this.suppressWarnings) { + console.warn("Proxy(" + this.name + "): Received message that was not an object. Discarding message"); + } + return; + } + var trackingProperties; + try { + trackingProperties = this.getTrackingProperties(message); + } + catch (e) { + if (!this.suppressWarnings) { + console.warn("Proxy(" + this.name + "): Error occurred when attempting to get tracking properties from incoming message:", JSON.stringify(message, null, ' '), "Error: ", e); + } + } + var deferred; + if (trackingProperties) { + deferred = this.pendingRequestPromises[trackingProperties.id]; + } + // If message does not have a known ID, treat it as a request + // Otherwise, treat message as response + if (!deferred) { + var handled = this.handlers.some(function (handler) { + var canMessageBeHandled = false; + try { + canMessageBeHandled = handler.test(message); + } + catch (e) { + if (!_this.suppressWarnings) { + console.warn("Proxy(" + _this.name + "): Error occurred when handler was testing incoming message:", JSON.stringify(message, null, ' '), "Error: ", e); + } + } + if (canMessageBeHandled) { + var responseMessagePromise = void 0; + try { + responseMessagePromise = Promise.resolve(handler.handle(message)); + } + catch (e) { + if (!_this.suppressWarnings) { + console.warn("Proxy(" + _this.name + "): Error occurred when handler was processing incoming message:", JSON.stringify(message, null, ' '), "Error: ", e); + } + responseMessagePromise = Promise.resolve(); + } + responseMessagePromise + .then(function (responseMessage) { + if (!responseMessage) { + var warningMessage = "Handler for message: " + JSON.stringify(message, null, ' ') + " did not return a response message. The default response message will be returned instead."; + if (!_this.suppressWarnings) { + console.warn("Proxy(" + _this.name + "): " + warningMessage); + } + responseMessage = { + warning: warningMessage + }; + } + _this.sendResponse(sendingWindow, responseMessage, trackingProperties); + }); + return true; + } + }); + /** + * TODO: Consider returning an error message if nothing handled the message. + * In the case of the Report receiving messages all of them should be handled, + * however, in the case of the SDK receiving messages it's likely it won't register handlers + * for all events. Perhaps make this an option at construction time. + */ + if (!handled && !this.suppressWarnings) { + console.warn("Proxy(" + this.name + ") did not handle message. Handlers: " + this.handlers.length + " Message: " + JSON.stringify(message, null, '') + "."); + } + } + else { + /** + * If error message reject promise, + * Otherwise, resolve promise + */ + var isErrorMessage = true; + try { + isErrorMessage = this.isErrorMessage(message); + } + catch (e) { + console.warn("Proxy(" + this.name + ") Error occurred when trying to determine if message is consider an error response. Message: ", JSON.stringify(message, null, ''), 'Error: ', e); + } + if (isErrorMessage) { + deferred.reject(message); + } + else { + deferred.resolve(message); + } + // TODO: Move to .finally clause up where promise is created for better maitenance like original proxy code. + delete this.pendingRequestPromises[trackingProperties.id]; + } + }; + WindowPostMessageProxy.messagePropertyName = "windowPostMessageProxy"; + return WindowPostMessageProxy; + }()); + exports.WindowPostMessageProxy = WindowPostMessageProxy; /***/ }) @@ -8270,23 +8312,23 @@ return /******/ (function(modules) { // webpackBootstrap /* 2 */ /***/ function(module, exports) { - module.exports = function(module) { - if(!module.webpackPolyfill) { - module.deprecate = function() {}; - module.paths = []; - // module.parent = undefined by default - module.children = []; - module.webpackPolyfill = 1; - } - return module; - } + module.exports = function(module) { + if(!module.webpackPolyfill) { + module.deprecate = function() {}; + module.paths = []; + // module.parent = undefined by default + module.children = []; + module.webpackPolyfill = 1; + } + return module; + } /***/ }, /* 3 */ /***/ function(module, exports) { - module.exports = function() { throw new Error("define cannot be used indirect"); }; + module.exports = function() { throw new Error("define cannot be used indirect"); }; /***/ } diff --git a/dist/powerbi.min.js b/dist/powerbi.min.js index 2391ed50..7063ae2e 100644 --- a/dist/powerbi.min.js +++ b/dist/powerbi.min.js @@ -1,9 +1,9 @@ /*! powerbi-client v2.15.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(16);e.factories=i;var o=r(5);e.models=o;var n=r(7);e.Report=n.Report;var l=r(12);e.Dashboard=l.Dashboard;var d=r(13);e.Tile=d.Tile;var s=r(2);e.Embed=s.Embed;var u=r(8);e.Page=u.Page;var p=r(14);e.Qna=p.Qna;var c=r(15);e.Visual=c.Visual;var f=r(9);e.VisualDescriptor=f.VisualDescriptor;var v=new a.Service(i.hpmFactory,i.wpmpFactory,i.routerFactory);window.powerbi=v},function(t,e,r){var a=r(2),i=r(7),o=r(11),n=r(12),l=r(13),d=r(8),s=r(14),u=r(15),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 d=p.find(function(t){return l===t.type.toLowerCase()},t.components);if(!d)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 s=new d(this,e,r,o,n);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),(!1),t.powerBiEmbed.iframe);return a.populateConfig(e,!1),o.load(),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(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){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 d.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,s.Qna,u.Visual],t.defaultConfig={autoEmbedOnContentLoaded:!1,onError:function(){for(var t=[],e=0;e>=4,r.toString(16)})}function s(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]}function v(t,e){return Math.abs(t.getTime()-e.getTime())}e.raiseCustomEvent=r,e.findIndex=a,e.find=i,e.remove=o,e.assign=n,e.createRandomString=l,e.generateUUID=d,e.addParamToUrl=s,e.isSavedInternal=u,e.isRDLEmbed=p,e.autoAuthInEmbedUrl=c,e.getRandomValue=f,e.getTimeDiffInMilliseconds=v},function(t,e){var r={version:"2.15.1",type:"js"};Object.defineProperty(e,"__esModule",{value:!0}),e["default"]=r},function(t,e,r){/*! powerbi-models v1.6.0 | (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)===nt.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)?nt.Basic:"string"==typeof r.logicalOperator&&Array.isArray(r.conditions)?nt.Advanced:nt.Unknown}function n(t){return void 0!==t.table&&void 0!==t.measure}function l(t){return!(!t.table||!t.column||t.aggregationFunction)}function d(t){return!(!(t.table&&t.hierarchy&&t.hierarchyLevel)||t.aggregationFunction)}function s(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 v(t){var r=e.Validators.slicerStateValidator.validate(t);return r?r.map(p):void 0}function h(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.captureBookmarkRequestValidator.validate(t);return r?r.map(p):void 0}function w(t){var r=e.Validators.settingsValidator.validate(t);return r?r.map(p):void 0}function b(t){var r=e.Validators.reportPanesValidator.validate(t);return r?r.map(p):void 0}function P(t){var r=e.Validators.bookmarksPaneValidator.validate(t);return r?r.map(p):void 0}function S(t){var r=e.Validators.filtersPanesValidator.validate(t);return r?r.map(p):void 0}function T(t){var r=e.Validators.fieldsPanesValidator.validate(t);return r?r.map(p):void 0}function E(t){var r=e.Validators.pageNavigationPaneValidator.validate(t);return r?r.map(p):void 0}function O(t){var r=e.Validators.selectionPaneValidator.validate(t);return r?r.map(p):void 0}function _(t){var r=e.Validators.syncSlicersPaneValidator.validate(t);return r?r.map(p):void 0}function R(t){var r=e.Validators.visualizationsPanesValidator.validate(t);return r?r.map(p):void 0}function F(t){var r=e.Validators.customPageSizeValidator.validate(t);return r?r.map(p):void 0}function k(t){var r=e.Validators.extensionValidator.validate(t);return r?r.map(p):void 0}function C(t){var r=e.Validators.reportLoadValidator.validate(t);return r?r.map(p):void 0}function A(t){var r=e.Validators.reportCreateValidator.validate(t);return r?r.map(p):void 0}function x(t){var r=e.Validators.dashboardLoadValidator.validate(t);return r?r.map(p):void 0}function M(t){var r=e.Validators.tileLoadValidator.validate(t);return r?r.map(p):void 0}function q(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 L(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 N(t){var r=e.Validators.qnaInterpretInputDataValidator.validate(t);return r?r.map(p):void 0}function D(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 B(t){var r=e.Validators.visualSettingsValidator.validate(t);return r?r.map(p):void 0}function W(t){var r=e.Validators.commandsSettingsValidator.validate(t);return r?r.map(p):void 0}function H(t){var r=e.Validators.customThemeValidator.validate(t);return r?r.map(p):void 0}var z=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.validateCustomTheme=e.validateCommandsSettings=e.validateVisualSettings=e.validateVisualHeader=e.validateExportDataRequest=e.validateQnaInterpretInputData=e.validateLoadQnaConfiguration=e.validateSaveAsParameters=e.validateFilter=e.validatePage=e.validateTileLoad=e.validateDashboardLoad=e.validateCreateReport=e.validateReportLoad=e.validateExtension=e.validateCustomPageSize=e.validateVisualizationsPane=e.validateSyncSlicersPane=e.validateSelectionPane=e.validatePageNavigationPane=e.validateFieldsPane=e.validateFiltersPane=e.validateBookmarksPane=e.validatePanes=e.validateSettings=e.validateCaptureBookmarkRequest=e.validateApplyBookmarkStateRequest=e.validateApplyBookmarkByNameRequest=e.validateAddBookmarkRequest=e.validatePlayBookmarkRequest=e.validateSlicerState=e.validateSlicer=e.validateVisualSelector=e.VisualDataRoleKindPreference=e.VisualDataRoleKind=e.CommandDisplayOption=e.SlicerTargetSelector=e.VisualTypeSelector=e.VisualSelector=e.PageSelector=e.Selector=e.SortDirection=e.LegendPosition=e.TextAlignment=e.CommonErrorCodes=e.BookmarksPlayMode=e.ExportDataType=e.QnaMode=e.PageNavigationPosition=e.isColumnAggr=e.isHierarchyLevelAggr=e.isHierarchyLevel=e.isColumn=e.isMeasure=e.getFilterType=e.isBasicFilterWithKeys=e.isFilterKeyColumnsTarget=e.AdvancedFilter=e.TupleFilter=e.BasicFilterWithKeys=e.BasicFilter=e.RelativeTimeFilter=e.RelativeDateFilter=e.TopNFilter=e.IncludeExcludeFilter=e.NotSupportedFilter=e.Filter=e.RelativeDateOperators=e.RelativeDateFilterTimeUnit=e.FilterType=e.FiltersLevel=e.MenuLocation=e.ContrastMode=e.TokenType=e.ViewMode=e.Permissions=e.SectionVisibility=e.HyperlinkClickBehavior=e.LayoutType=e.VisualContainerDisplayMode=e.BackgroundType=e.DisplayOption=e.PageSizeType=e.TraceType=e.Validators=void 0,e.Validators=r(1).Validators;var J;!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"}(J=e.TraceType||(e.TraceType={}));var Q;!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"}(Q=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 K;!function(t){t[t.Default=0]="Default",t[t.Transparent=1]="Transparent"}(K=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 X;!function(t){t[t.Navigate=0]="Navigate",t[t.NavigateAndRaiseEvent=1]="NavigateAndRaiseEvent",t[t.RaiseEvent=2]="RaiseEvent"}(X=e.HyperlinkClickBehavior||(e.HyperlinkClickBehavior={}));var Z;!function(t){t[t.AlwaysVisible=0]="AlwaysVisible",t[t.HiddenInViewMode=1]="HiddenInViewMode"}(Z=e.SectionVisibility||(e.SectionVisibility={}));var tt;!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"}(tt=e.Permissions||(e.Permissions={}));var et;!function(t){t[t.View=0]="View",t[t.Edit=1]="Edit"}(et=e.ViewMode||(e.ViewMode={}));var rt;!function(t){t[t.Aad=0]="Aad",t[t.Embed=1]="Embed"}(rt=e.TokenType||(e.TokenType={}));var at;!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"}(at=e.ContrastMode||(e.ContrastMode={}));var it;!function(t){t[t.Bottom=0]="Bottom",t[t.Top=1]="Top"}(it=e.MenuLocation||(e.MenuLocation={}));var ot;!function(t){t[t.Report=0]="Report",t[t.Page=1]="Page",t[t.Visual=2]="Visual"}(ot=e.FiltersLevel||(e.FiltersLevel={}));var nt;!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"}(nt=e.FilterType||(e.FilterType={}));var lt;!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"}(lt=e.RelativeDateFilterTimeUnit||(e.RelativeDateFilterTimeUnit={}));var dt;!function(t){t[t.InLast=0]="InLast",t[t.InThis=1]="InThis",t[t.InNext=2]="InNext"}(dt=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 ut=function(t){function e(r,a,i){var o=t.call(this,r,nt.Unknown)||this;return o.message=a,o.notSupportedTypeName=i,o.schemaUrl=e.schemaUrl,o}return z(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=ut;var pt=function(t){function e(r,a,i){var o=t.call(this,r,nt.IncludeExclude)||this;return o.values=i,o.isExclude=a,o.schemaUrl=e.schemaUrl,o}return z(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=pt;var ct=function(t){function e(r,a,i,o){var n=t.call(this,r,nt.TopN)||this;return n.operator=a,n.itemCount=i,n.schemaUrl=e.schemaUrl,n.orderBy=o,n}return z(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=ct;var ft=function(t){function e(r,a,i,o,n){var l=t.call(this,r,nt.RelativeDate)||this;return l.operator=a,l.timeUnitsCount=i,l.timeUnitType=o,l.includeToday=n,l.schemaUrl=e.schemaUrl,l}return z(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=ft;var vt=function(t){function e(r,a,i,o){var n=t.call(this,r,nt.RelativeTime)||this;return n.operator=a,n.timeUnitsCount=i,n.timeUnitType=o,n.schemaUrl=e.schemaUrl,n}return z(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=vt;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 z(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=Vt,e.isFilterKeyColumnsTarget=a,e.isBasicFilterWithKeys=i,e.getFilterType=o,e.isMeasure=n,e.isColumn=l,e.isHierarchyLevel=d,e.isHierarchyLevelAggr=s,e.isColumnAggr=u;var gt;!function(t){t[t.Bottom=0]="Bottom",t[t.Left=1]="Left"}(gt=e.PageNavigationPosition||(e.PageNavigationPosition={}));var wt;!function(t){t[t.Interactive=0]="Interactive",t[t.ResultOnly=1]="ResultOnly"}(wt=e.QnaMode||(e.QnaMode={}));var bt;!function(t){t[t.Summarized=0]="Summarized",t[t.Underlying=1]="Underlying"}(bt=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 St;!function(t){t[t.Ascending=1]="Ascending",t[t.Descending=2]="Descending"}(St=e.SortDirection||(e.SortDirection={}));var Tt=function(){function t(t){this.$schema=t}return t.prototype.toJSON=function(){return{$schema:this.$schema}},t}();e.Selector=Tt;var Et=function(t){function e(r){var a=t.call(this,e.schemaUrl)||this;return a.pageName=r,a}return z(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}(Tt);e.PageSelector=Et;var Ot=function(t){function e(r){var a=t.call(this,e.schemaUrl)||this;return a.visualName=r,a}return z(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}(Tt);e.VisualSelector=Ot;var _t=function(t){function e(e){var r=t.call(this,Ot.schemaUrl)||this;return r.visualType=e,r}return z(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}(Tt);e.VisualTypeSelector=_t;var Rt=function(t){function e(e){var r=t.call(this,Ot.schemaUrl)||this;return r.target=e,r}return z(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}(Tt);e.SlicerTargetSelector=Rt;var Ft;!function(t){t[t.Enabled=0]="Enabled",t[t.Disabled=1]="Disabled",t[t.Hidden=2]="Hidden"}(Ft=e.CommandDisplayOption||(e.CommandDisplayOption={}));var kt;!function(t){t[t.Grouping=0]="Grouping",t[t.Measure=1]="Measure",t[t.GroupingOrMeasure=2]="GroupingOrMeasure"}(kt=e.VisualDataRoleKind||(e.VisualDataRoleKind={}));var Ct;!function(t){t[t.Measure=0]="Measure",t[t.Grouping=1]="Grouping"}(Ct=e.VisualDataRoleKindPreference||(e.VisualDataRoleKindPreference={})),e.validateVisualSelector=c,e.validateSlicer=f,e.validateSlicerState=v,e.validatePlayBookmarkRequest=h,e.validateAddBookmarkRequest=y,e.validateApplyBookmarkByNameRequest=m,e.validateApplyBookmarkStateRequest=V,e.validateCaptureBookmarkRequest=g,e.validateSettings=w,e.validatePanes=b,e.validateBookmarksPane=P,e.validateFiltersPane=S,e.validateFieldsPane=T,e.validatePageNavigationPane=E,e.validateSelectionPane=O,e.validateSyncSlicersPane=_,e.validateVisualizationsPane=R,e.validateCustomPageSize=F,e.validateExtension=k,e.validateReportLoad=C,e.validateCreateReport=A,e.validateDashboardLoad=x,e.validateTileLoad=M,e.validatePage=q,e.validateFilter=I,e.validateSaveAsParameters=L,e.validateLoadQnaConfiguration=j,e.validateQnaInterpretInputData=N,e.validateExportDataRequest=D,e.validateVisualHeader=U,e.validateVisualSettings=B,e.validateCommandsSettings=W,e.validateCustomTheme=H},function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.Validators=void 0;var a=r(2),i=r(3),o=r(5),n=r(6),l=r(7),d=r(8),s=r(9),u=r(10),p=r(11),c=r(12),f=r(13),v=r(14),h=r(15),y=r(16),m=r(17),V=r(18),g=r(19),w=r(20),b=r(21),P=r(22),S=r(23),T=r(24),E=r(25),O=r(26),_=r(27);e.Validators={addBookmarkRequestValidator:new n.AddBookmarkRequestValidator,advancedFilterTypeValidator:new a.EnumValidator([0]),advancedFilterValidator:new l.AdvancedFilterValidator,anyArrayValidator:new a.ArrayValidator([new s.AnyOfValidator([new a.StringValidator,new a.NumberValidator,new a.BooleanValidator])]),anyFilterValidator:new s.AnyOfValidator([new l.BasicFilterValidator,new l.AdvancedFilterValidator,new l.IncludeExcludeFilterValidator,new l.NotSupportedFilterValidator,new l.RelativeDateFilterValidator,new l.TopNFilterValidator,new l.RelativeTimeFilterValidator]),anyValueValidator:new s.AnyOfValidator([new a.StringValidator,new a.NumberValidator,new a.BooleanValidator]),actionBarValidator:new _.ActionBarValidator,applyBookmarkByNameRequestValidator:new n.ApplyBookmarkByNameRequestValidator,applyBookmarkStateRequestValidator:new n.ApplyBookmarkStateRequestValidator,applyBookmarkValidator:new s.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,captureBookmarkOptionsValidator:new n.CaptureBookmarkOptionsValidator,captureBookmarkRequestValidator:new n.CaptureBookmarkRequestValidator,commandDisplayOptionValidator:new a.EnumValidator([0,1,2]),commandExtensionSelectorValidator:new s.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 V.CustomLayoutValidator,customPageSizeValidator:new v.CustomPageSizeValidator,customThemeValidator:new T.CustomThemeValidator,dashboardLoadValidator:new c.DashboardLoadValidator,datasetBindingValidator:new E.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 d.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 s.AnyOfValidator([new l.FilterColumnTargetValidator,new l.FilterHierarchyTargetValidator,new l.FilterMeasureTargetValidator]),filtersArrayValidator:new a.ArrayValidator([new s.AnyOfValidator([new l.BasicFilterValidator,new l.AdvancedFilterValidator,new l.RelativeDateFilterValidator,new l.RelativeTimeFilterValidator])]),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 h.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,pageNavigationPositionValidator:new a.EnumValidator([0,1]),pageSizeTypeValidator:new a.EnumValidator([0,1,2,3,4,5]),pageSizeValidator:new v.PageSizeValidator,pageValidator:new v.PageValidator,pageViewFieldValidator:new v.PageViewFieldValidator,pagesLayoutValidator:new m.MapValidator([new a.StringValidator],[new V.PageLayoutValidator]),reportBarsValidator:new _.ReportBarsValidator,reportPanesValidator:new O.ReportPanesValidator,permissionsValidator:new a.EnumValidator([0,1,2,4,7]),playBookmarkRequestValidator:new n.PlayBookmarkRequestValidator,qnaInterpretInputDataValidator:new h.QnaInterpretInputDataValidator,qnaSettingValidator:new h.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 S.SingleCommandSettingsValidator,slicerSelectorValidator:new s.AnyOfValidator([new w.VisualSelectorValidator,new w.SlicerTargetSelectorValidator]),slicerStateValidator:new b.SlicerStateValidator,slicerTargetValidator:new s.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 s.AnyOfValidator([new w.VisualSelectorValidator,new w.VisualTypeSelectorValidator]),visualHeaderSelectorValidator:new s.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}),e.NumberArrayValidator=e.BooleanArrayValidator=e.StringArrayValidator=e.EnumValidator=e.SchemaValidator=e.ValueValidator=e.NumberValidator=e.BooleanValidator=e.StringValidator=e.TypeValidator=e.ArrayValidator=e.ObjectValidator=void 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;a0&&!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 z(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=Vt,e.isFilterKeyColumnsTarget=a,e.isBasicFilterWithKeys=i,e.getFilterType=o,e.isMeasure=n,e.isColumn=l,e.isHierarchyLevel=d,e.isHierarchyLevelAggr=s,e.isColumnAggr=u;var gt;!function(t){t[t.Bottom=0]="Bottom",t[t.Left=1]="Left"}(gt=e.PageNavigationPosition||(e.PageNavigationPosition={}));var wt;!function(t){t[t.Interactive=0]="Interactive",t[t.ResultOnly=1]="ResultOnly"}(wt=e.QnaMode||(e.QnaMode={}));var bt;!function(t){t[t.Summarized=0]="Summarized",t[t.Underlying=1]="Underlying"}(bt=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 St;!function(t){t[t.Ascending=1]="Ascending",t[t.Descending=2]="Descending"}(St=e.SortDirection||(e.SortDirection={}));var Tt=function(){function t(t){this.$schema=t}return t.prototype.toJSON=function(){return{$schema:this.$schema}},t}();e.Selector=Tt;var Et=function(t){function e(r){var a=t.call(this,e.schemaUrl)||this;return a.pageName=r,a}return z(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}(Tt);e.PageSelector=Et;var Ot=function(t){function e(r){var a=t.call(this,e.schemaUrl)||this;return a.visualName=r,a}return z(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}(Tt);e.VisualSelector=Ot;var _t=function(t){function e(e){var r=t.call(this,Ot.schemaUrl)||this;return r.visualType=e,r}return z(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}(Tt);e.VisualTypeSelector=_t;var Rt=function(t){function e(e){var r=t.call(this,Ot.schemaUrl)||this;return r.target=e,r}return z(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}(Tt);e.SlicerTargetSelector=Rt;var Ft;!function(t){t[t.Enabled=0]="Enabled",t[t.Disabled=1]="Disabled",t[t.Hidden=2]="Hidden"}(Ft=e.CommandDisplayOption||(e.CommandDisplayOption={}));var kt;!function(t){t[t.Grouping=0]="Grouping",t[t.Measure=1]="Measure",t[t.GroupingOrMeasure=2]="GroupingOrMeasure"}(kt=e.VisualDataRoleKind||(e.VisualDataRoleKind={}));var Ct;!function(t){t[t.Measure=0]="Measure",t[t.Grouping=1]="Grouping"}(Ct=e.VisualDataRoleKindPreference||(e.VisualDataRoleKindPreference={})),e.validateVisualSelector=c,e.validateSlicer=f,e.validateSlicerState=v,e.validatePlayBookmarkRequest=h,e.validateAddBookmarkRequest=y,e.validateApplyBookmarkByNameRequest=m,e.validateApplyBookmarkStateRequest=V,e.validateCaptureBookmarkRequest=g,e.validateSettings=w,e.validatePanes=b,e.validateBookmarksPane=P,e.validateFiltersPane=S,e.validateFieldsPane=T,e.validatePageNavigationPane=E,e.validateSelectionPane=O,e.validateSyncSlicersPane=_,e.validateVisualizationsPane=R,e.validateCustomPageSize=F,e.validateExtension=k,e.validateReportLoad=C,e.validateCreateReport=A,e.validateDashboardLoad=x,e.validateTileLoad=q,e.validatePage=M,e.validateFilter=I,e.validateSaveAsParameters=L,e.validateLoadQnaConfiguration=j,e.validateQnaInterpretInputData=N,e.validateExportDataRequest=D,e.validateVisualHeader=U,e.validateVisualSettings=B,e.validateCommandsSettings=W,e.validateCustomTheme=H},function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.Validators=void 0;var a=r(2),i=r(3),o=r(5),n=r(6),l=r(7),d=r(8),s=r(9),u=r(10),p=r(11),c=r(12),f=r(13),v=r(14),h=r(15),y=r(16),m=r(17),V=r(18),g=r(19),w=r(20),b=r(21),P=r(22),S=r(23),T=r(24),E=r(25),O=r(26),_=r(27);e.Validators={addBookmarkRequestValidator:new n.AddBookmarkRequestValidator,advancedFilterTypeValidator:new a.EnumValidator([0]),advancedFilterValidator:new l.AdvancedFilterValidator,anyArrayValidator:new a.ArrayValidator([new s.AnyOfValidator([new a.StringValidator,new a.NumberValidator,new a.BooleanValidator])]),anyFilterValidator:new s.AnyOfValidator([new l.BasicFilterValidator,new l.AdvancedFilterValidator,new l.IncludeExcludeFilterValidator,new l.NotSupportedFilterValidator,new l.RelativeDateFilterValidator,new l.TopNFilterValidator,new l.RelativeTimeFilterValidator]),anyValueValidator:new s.AnyOfValidator([new a.StringValidator,new a.NumberValidator,new a.BooleanValidator]),actionBarValidator:new _.ActionBarValidator,applyBookmarkByNameRequestValidator:new n.ApplyBookmarkByNameRequestValidator,applyBookmarkStateRequestValidator:new n.ApplyBookmarkStateRequestValidator,applyBookmarkValidator:new s.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,captureBookmarkOptionsValidator:new n.CaptureBookmarkOptionsValidator,captureBookmarkRequestValidator:new n.CaptureBookmarkRequestValidator,commandDisplayOptionValidator:new a.EnumValidator([0,1,2]),commandExtensionSelectorValidator:new s.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 V.CustomLayoutValidator,customPageSizeValidator:new v.CustomPageSizeValidator,customThemeValidator:new T.CustomThemeValidator,dashboardLoadValidator:new c.DashboardLoadValidator,datasetBindingValidator:new E.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 d.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 s.AnyOfValidator([new l.FilterColumnTargetValidator,new l.FilterHierarchyTargetValidator,new l.FilterMeasureTargetValidator]),filtersArrayValidator:new a.ArrayValidator([new s.AnyOfValidator([new l.BasicFilterValidator,new l.AdvancedFilterValidator,new l.RelativeDateFilterValidator,new l.RelativeTimeFilterValidator])]),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 h.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,pageNavigationPositionValidator:new a.EnumValidator([0,1]),pageSizeTypeValidator:new a.EnumValidator([0,1,2,3,4,5]),pageSizeValidator:new v.PageSizeValidator,pageValidator:new v.PageValidator,pageViewFieldValidator:new v.PageViewFieldValidator,pagesLayoutValidator:new m.MapValidator([new a.StringValidator],[new V.PageLayoutValidator]),reportBarsValidator:new _.ReportBarsValidator,reportPanesValidator:new O.ReportPanesValidator,permissionsValidator:new a.EnumValidator([0,1,2,4,7]),playBookmarkRequestValidator:new n.PlayBookmarkRequestValidator,qnaInterpretInputDataValidator:new h.QnaInterpretInputDataValidator,qnaSettingValidator:new h.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 S.SingleCommandSettingsValidator,slicerSelectorValidator:new s.AnyOfValidator([new w.VisualSelectorValidator,new w.SlicerTargetSelectorValidator]),slicerStateValidator:new b.SlicerStateValidator,slicerTargetValidator:new s.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 s.AnyOfValidator([new w.VisualSelectorValidator,new w.VisualTypeSelectorValidator]),visualHeaderSelectorValidator:new s.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}),e.NumberArrayValidator=e.BooleanArrayValidator=e.StringArrayValidator=e.EnumValidator=e.SchemaValidator=e.ValueValidator=e.NumberValidator=e.BooleanValidator=e.StringValidator=e.TypeValidator=e.ArrayValidator=e.ObjectValidator=void 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)&&(d=!0,n=n.slice(0,l-2),r[n]||(r[n]=[])),i=o[1]?w(o[1]):""),d?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} + */ + setDisplayName(displayName: string): Promise { + const page: models.IPage = { + name: this.name, + displayName, + }; + + return this.report.service.hpm.put(`/report/pages/${this.name}/name`, page, { uid: this.report.config.uniqueId }, this.report.iframe.contentWindow) + .catch(response => { + throw response.body; + }); + } + /** * Gets all the visuals on the page. * diff --git a/src/report.ts b/src/report.ts index caa3b976..d18fb96f 100644 --- a/src/report.ts +++ b/src/report.ts @@ -140,12 +140,12 @@ export class Report extends embed.Embed implements IReportNode, IFilterable { * * ```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"); + * report.deletePage("ReportSection145"); * ``` * * @returns {Promise} */ - deletePage(pageName?: string): 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; @@ -155,6 +155,31 @@ export class Report extends embed.Embed implements IReportNode, IFilterable { }); } + /** + * Rename a page from a report + * + * ```javascript + * // Rename a page from a report by changing displayName (pageName is different from the display name and can be acquired from the getPages API) + * report.renamePage("ReportSection145", "Sales"); + * ``` + * + * @returns {Promise} + */ + renamePage(pageName: string, displayName: string): Promise { + const page: models.IPage = { + name: pageName, + displayName, + }; + + return this.service.hpm.put(`/report/pages/${pageName}/name`, page, { 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 0ad7df85..4a9e8fba 100644 --- a/test/test.spec.ts +++ b/test/test.spec.ts @@ -3278,7 +3278,25 @@ describe('SDK-to-HPM', function () { expect(spyHpm.post).toHaveBeenCalledWith('/report/addPage', expectedRequest, expectedHeaders, iframe.contentWindow); }); - it('report.deletePage() sends POST /report/addPage with displayName', function () { + it('report.renamePage() sends PUT /report/pages/{name} with displayName', function () { + // Arrange + const name = "testName"; + const displayName = "newName"; + const expectedHeaders = { uid: uniqueId }; + const expectedRequest = { + name, + displayName + }; + + spyHpm.put.and.returnValue(Promise.resolve(null)); + + // Act + report.renamePage(name, displayName); + + expect(spyHpm.put).toHaveBeenCalledWith(`/report/pages/${name}/name`, expectedRequest, expectedHeaders, iframe.contentWindow); + }); + + it('report.deletePage() sends DELETE /report/pages/{name}', function () { // Arrange const name = "testName"; const expectedHeaders = { uid: uniqueId }; @@ -4064,6 +4082,27 @@ describe('SDK-to-HPM', function () { }); }); + describe('setDisplayName', function () { + it('page.setDisplayName(displayName) sends PUT /report/pages/{pageName}/name', function () { + // Arrange + const displayName = "newName"; + const testData = { + page: { + name: page1.name, + displayName, + } + }; + + spyHpm.put.and.returnValue(Promise.resolve(null)); + + // Act + page1.setDisplayName(displayName); + + // Assert + expect(spyHpm.put).toHaveBeenCalledWith(`/report/pages/${page1.name}/name`, testData.page, { uid: uniqueId }, iframe.contentWindow); + }); + }); + describe('visual', function () { describe('filters', function () { it('visual.getFilters() sends GET /report/pages/xyz/visuals/uvw/filters', function () { From a4c83015183beba7cedea5f0c8c9ffa66a149f39 Mon Sep 17 00:00:00 2001 From: Shahak Yosef Date: Wed, 18 Nov 2020 10:26:33 +0000 Subject: [PATCH 033/125] Merged PR 128410: Release version 2.15.2 Updating the minor version because it is only intended to be published internally for product insights to test rename page in DXT. When the change reaches PROD we will release version 2.16.0 together with MAQ changes. --- dist/powerbi-client.d.ts | 2 +- dist/powerbi.js | 4 ++-- dist/powerbi.min.js | 4 ++-- package.json | 2 +- src/config.ts | 2 +- 5 files changed, 7 insertions(+), 7 deletions(-) diff --git a/dist/powerbi-client.d.ts b/dist/powerbi-client.d.ts index 77f7970d..7ea35f93 100644 --- a/dist/powerbi-client.d.ts +++ b/dist/powerbi-client.d.ts @@ -1,4 +1,4 @@ -/*! powerbi-client v2.15.1 | (c) 2016 Microsoft Corporation MIT */ +/*! powerbi-client v2.15.2 | (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 990f29dd..45af69f3 100644 --- a/dist/powerbi.js +++ b/dist/powerbi.js @@ -1,4 +1,4 @@ -/*! powerbi-client v2.15.1 | (c) 2016 Microsoft Corporation MIT */ +/*! powerbi-client v2.15.2 | (c) 2016 Microsoft Corporation MIT */ (function webpackUniversalModuleDefinition(root, factory) { if(typeof exports === 'object' && typeof module === 'object') module.exports = factory(); @@ -1303,7 +1303,7 @@ return /******/ (function(modules) { // webpackBootstrap /** @ignore */ /** */ var config = { - version: '2.15.1', + version: '2.15.2', type: 'js' }; Object.defineProperty(exports, "__esModule", { value: true }); diff --git a/dist/powerbi.min.js b/dist/powerbi.min.js index 7063ae2e..0637ccbf 100644 --- a/dist/powerbi.min.js +++ b/dist/powerbi.min.js @@ -1,5 +1,5 @@ -/*! powerbi-client v2.15.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(16);e.factories=i;var o=r(5);e.models=o;var n=r(7);e.Report=n.Report;var l=r(12);e.Dashboard=l.Dashboard;var d=r(13);e.Tile=d.Tile;var s=r(2);e.Embed=s.Embed;var u=r(8);e.Page=u.Page;var p=r(14);e.Qna=p.Qna;var c=r(15);e.Visual=c.Visual;var f=r(9);e.VisualDescriptor=f.VisualDescriptor;var v=new a.Service(i.hpmFactory,i.wpmpFactory,i.routerFactory);window.powerbi=v},function(t,e,r){var a=r(2),i=r(7),o=r(11),n=r(12),l=r(13),d=r(8),s=r(14),u=r(15),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 d=p.find(function(t){return l===t.type.toLowerCase()},t.components);if(!d)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 s=new d(this,e,r,o,n);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),(!1),t.powerBiEmbed.iframe);return a.populateConfig(e,!1),o.load(),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(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){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 d.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,s.Qna,u.Visual],t.defaultConfig={autoEmbedOnContentLoaded:!1,onError:function(){for(var t=[],e=0;e>=4,r.toString(16)})}function s(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]}function v(t,e){return Math.abs(t.getTime()-e.getTime())}e.raiseCustomEvent=r,e.findIndex=a,e.find=i,e.remove=o,e.assign=n,e.createRandomString=l,e.generateUUID=d,e.addParamToUrl=s,e.isSavedInternal=u,e.isRDLEmbed=p,e.autoAuthInEmbedUrl=c,e.getRandomValue=f,e.getTimeDiffInMilliseconds=v},function(t,e){var r={version:"2.15.1",type:"js"};Object.defineProperty(e,"__esModule",{value:!0}),e["default"]=r},function(t,e,r){/*! powerbi-models v1.6.0 | (c) 2016 Microsoft Corporation MIT */ +/*! powerbi-client v2.15.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(16);e.factories=i;var o=r(5);e.models=o;var n=r(7);e.Report=n.Report;var l=r(12);e.Dashboard=l.Dashboard;var d=r(13);e.Tile=d.Tile;var s=r(2);e.Embed=s.Embed;var u=r(8);e.Page=u.Page;var p=r(14);e.Qna=p.Qna;var c=r(15);e.Visual=c.Visual;var f=r(9);e.VisualDescriptor=f.VisualDescriptor;var v=new a.Service(i.hpmFactory,i.wpmpFactory,i.routerFactory);window.powerbi=v},function(t,e,r){var a=r(2),i=r(7),o=r(11),n=r(12),l=r(13),d=r(8),s=r(14),u=r(15),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 d=p.find(function(t){return l===t.type.toLowerCase()},t.components);if(!d)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 s=new d(this,e,r,o,n);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),(!1),t.powerBiEmbed.iframe);return a.populateConfig(e,!1),o.load(),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(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){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 d.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,s.Qna,u.Visual],t.defaultConfig={autoEmbedOnContentLoaded:!1,onError:function(){for(var t=[],e=0;e>=4,r.toString(16)})}function s(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]}function v(t,e){return Math.abs(t.getTime()-e.getTime())}e.raiseCustomEvent=r,e.findIndex=a,e.find=i,e.remove=o,e.assign=n,e.createRandomString=l,e.generateUUID=d,e.addParamToUrl=s,e.isSavedInternal=u,e.isRDLEmbed=p,e.autoAuthInEmbedUrl=c,e.getRandomValue=f,e.getTimeDiffInMilliseconds=v},function(t,e){var r={version:"2.15.2",type:"js"};Object.defineProperty(e,"__esModule",{value:!0}),e["default"]=r},function(t,e,r){/*! powerbi-models v1.6.0 | (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)===nt.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)?nt.Basic:"string"==typeof r.logicalOperator&&Array.isArray(r.conditions)?nt.Advanced:nt.Unknown}function n(t){return void 0!==t.table&&void 0!==t.measure}function l(t){return!(!t.table||!t.column||t.aggregationFunction)}function d(t){return!(!(t.table&&t.hierarchy&&t.hierarchyLevel)||t.aggregationFunction)}function s(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 v(t){var r=e.Validators.slicerStateValidator.validate(t);return r?r.map(p):void 0}function h(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.captureBookmarkRequestValidator.validate(t);return r?r.map(p):void 0}function w(t){var r=e.Validators.settingsValidator.validate(t);return r?r.map(p):void 0}function b(t){var r=e.Validators.reportPanesValidator.validate(t);return r?r.map(p):void 0}function P(t){var r=e.Validators.bookmarksPaneValidator.validate(t);return r?r.map(p):void 0}function S(t){var r=e.Validators.filtersPanesValidator.validate(t);return r?r.map(p):void 0}function T(t){var r=e.Validators.fieldsPanesValidator.validate(t);return r?r.map(p):void 0}function E(t){var r=e.Validators.pageNavigationPaneValidator.validate(t);return r?r.map(p):void 0}function O(t){var r=e.Validators.selectionPaneValidator.validate(t);return r?r.map(p):void 0}function _(t){var r=e.Validators.syncSlicersPaneValidator.validate(t);return r?r.map(p):void 0}function R(t){var r=e.Validators.visualizationsPanesValidator.validate(t);return r?r.map(p):void 0}function F(t){var r=e.Validators.customPageSizeValidator.validate(t);return r?r.map(p):void 0}function k(t){var r=e.Validators.extensionValidator.validate(t);return r?r.map(p):void 0}function C(t){var r=e.Validators.reportLoadValidator.validate(t);return r?r.map(p):void 0}function A(t){var r=e.Validators.reportCreateValidator.validate(t);return r?r.map(p):void 0}function x(t){var r=e.Validators.dashboardLoadValidator.validate(t);return r?r.map(p):void 0}function q(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 L(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 N(t){var r=e.Validators.qnaInterpretInputDataValidator.validate(t);return r?r.map(p):void 0}function D(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 B(t){var r=e.Validators.visualSettingsValidator.validate(t);return r?r.map(p):void 0}function W(t){var r=e.Validators.commandsSettingsValidator.validate(t);return r?r.map(p):void 0}function H(t){var r=e.Validators.customThemeValidator.validate(t);return r?r.map(p):void 0}var z=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.validateCustomTheme=e.validateCommandsSettings=e.validateVisualSettings=e.validateVisualHeader=e.validateExportDataRequest=e.validateQnaInterpretInputData=e.validateLoadQnaConfiguration=e.validateSaveAsParameters=e.validateFilter=e.validatePage=e.validateTileLoad=e.validateDashboardLoad=e.validateCreateReport=e.validateReportLoad=e.validateExtension=e.validateCustomPageSize=e.validateVisualizationsPane=e.validateSyncSlicersPane=e.validateSelectionPane=e.validatePageNavigationPane=e.validateFieldsPane=e.validateFiltersPane=e.validateBookmarksPane=e.validatePanes=e.validateSettings=e.validateCaptureBookmarkRequest=e.validateApplyBookmarkStateRequest=e.validateApplyBookmarkByNameRequest=e.validateAddBookmarkRequest=e.validatePlayBookmarkRequest=e.validateSlicerState=e.validateSlicer=e.validateVisualSelector=e.VisualDataRoleKindPreference=e.VisualDataRoleKind=e.CommandDisplayOption=e.SlicerTargetSelector=e.VisualTypeSelector=e.VisualSelector=e.PageSelector=e.Selector=e.SortDirection=e.LegendPosition=e.TextAlignment=e.CommonErrorCodes=e.BookmarksPlayMode=e.ExportDataType=e.QnaMode=e.PageNavigationPosition=e.isColumnAggr=e.isHierarchyLevelAggr=e.isHierarchyLevel=e.isColumn=e.isMeasure=e.getFilterType=e.isBasicFilterWithKeys=e.isFilterKeyColumnsTarget=e.AdvancedFilter=e.TupleFilter=e.BasicFilterWithKeys=e.BasicFilter=e.RelativeTimeFilter=e.RelativeDateFilter=e.TopNFilter=e.IncludeExcludeFilter=e.NotSupportedFilter=e.Filter=e.RelativeDateOperators=e.RelativeDateFilterTimeUnit=e.FilterType=e.FiltersLevel=e.MenuLocation=e.ContrastMode=e.TokenType=e.ViewMode=e.Permissions=e.SectionVisibility=e.HyperlinkClickBehavior=e.LayoutType=e.VisualContainerDisplayMode=e.BackgroundType=e.DisplayOption=e.PageSizeType=e.TraceType=e.Validators=void 0,e.Validators=r(1).Validators;var J;!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"}(J=e.TraceType||(e.TraceType={}));var Q;!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"}(Q=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 K;!function(t){t[t.Default=0]="Default",t[t.Transparent=1]="Transparent"}(K=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 X;!function(t){t[t.Navigate=0]="Navigate",t[t.NavigateAndRaiseEvent=1]="NavigateAndRaiseEvent",t[t.RaiseEvent=2]="RaiseEvent"}(X=e.HyperlinkClickBehavior||(e.HyperlinkClickBehavior={}));var Z;!function(t){t[t.AlwaysVisible=0]="AlwaysVisible",t[t.HiddenInViewMode=1]="HiddenInViewMode"}(Z=e.SectionVisibility||(e.SectionVisibility={}));var tt;!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"}(tt=e.Permissions||(e.Permissions={}));var et;!function(t){t[t.View=0]="View",t[t.Edit=1]="Edit"}(et=e.ViewMode||(e.ViewMode={}));var rt;!function(t){t[t.Aad=0]="Aad",t[t.Embed=1]="Embed"}(rt=e.TokenType||(e.TokenType={}));var at;!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"}(at=e.ContrastMode||(e.ContrastMode={}));var it;!function(t){t[t.Bottom=0]="Bottom",t[t.Top=1]="Top"}(it=e.MenuLocation||(e.MenuLocation={}));var ot;!function(t){t[t.Report=0]="Report",t[t.Page=1]="Page",t[t.Visual=2]="Visual"}(ot=e.FiltersLevel||(e.FiltersLevel={}));var nt;!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"}(nt=e.FilterType||(e.FilterType={}));var lt;!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"}(lt=e.RelativeDateFilterTimeUnit||(e.RelativeDateFilterTimeUnit={}));var dt;!function(t){t[t.InLast=0]="InLast",t[t.InThis=1]="InThis",t[t.InNext=2]="InNext"}(dt=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 ut=function(t){function e(r,a,i){var o=t.call(this,r,nt.Unknown)||this;return o.message=a,o.notSupportedTypeName=i,o.schemaUrl=e.schemaUrl,o}return z(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=ut;var pt=function(t){function e(r,a,i){var o=t.call(this,r,nt.IncludeExclude)||this;return o.values=i,o.isExclude=a,o.schemaUrl=e.schemaUrl,o}return z(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=pt;var ct=function(t){function e(r,a,i,o){var n=t.call(this,r,nt.TopN)||this;return n.operator=a,n.itemCount=i,n.schemaUrl=e.schemaUrl,n.orderBy=o,n}return z(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=ct;var ft=function(t){function e(r,a,i,o,n){var l=t.call(this,r,nt.RelativeDate)||this;return l.operator=a,l.timeUnitsCount=i,l.timeUnitType=o,l.includeToday=n,l.schemaUrl=e.schemaUrl,l}return z(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=ft;var vt=function(t){function e(r,a,i,o){var n=t.call(this,r,nt.RelativeTime)||this;return n.operator=a,n.timeUnitsCount=i,n.timeUnitType=o,n.schemaUrl=e.schemaUrl,n}return z(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=vt;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 z(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=Vt,e.isFilterKeyColumnsTarget=a,e.isBasicFilterWithKeys=i,e.getFilterType=o,e.isMeasure=n,e.isColumn=l,e.isHierarchyLevel=d,e.isHierarchyLevelAggr=s,e.isColumnAggr=u;var gt;!function(t){t[t.Bottom=0]="Bottom",t[t.Left=1]="Left"}(gt=e.PageNavigationPosition||(e.PageNavigationPosition={}));var wt;!function(t){t[t.Interactive=0]="Interactive",t[t.ResultOnly=1]="ResultOnly"}(wt=e.QnaMode||(e.QnaMode={}));var bt;!function(t){t[t.Summarized=0]="Summarized",t[t.Underlying=1]="Underlying"}(bt=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 St;!function(t){t[t.Ascending=1]="Ascending",t[t.Descending=2]="Descending"}(St=e.SortDirection||(e.SortDirection={}));var Tt=function(){function t(t){this.$schema=t}return t.prototype.toJSON=function(){return{$schema:this.$schema}},t}();e.Selector=Tt;var Et=function(t){function e(r){var a=t.call(this,e.schemaUrl)||this;return a.pageName=r,a}return z(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}(Tt);e.PageSelector=Et;var Ot=function(t){function e(r){var a=t.call(this,e.schemaUrl)||this;return a.visualName=r,a}return z(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}(Tt);e.VisualSelector=Ot;var _t=function(t){function e(e){var r=t.call(this,Ot.schemaUrl)||this;return r.visualType=e,r}return z(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}(Tt);e.VisualTypeSelector=_t;var Rt=function(t){function e(e){var r=t.call(this,Ot.schemaUrl)||this;return r.target=e,r}return z(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}(Tt);e.SlicerTargetSelector=Rt;var Ft;!function(t){t[t.Enabled=0]="Enabled",t[t.Disabled=1]="Disabled",t[t.Hidden=2]="Hidden"}(Ft=e.CommandDisplayOption||(e.CommandDisplayOption={}));var kt;!function(t){t[t.Grouping=0]="Grouping",t[t.Measure=1]="Measure",t[t.GroupingOrMeasure=2]="GroupingOrMeasure"}(kt=e.VisualDataRoleKind||(e.VisualDataRoleKind={}));var Ct;!function(t){t[t.Measure=0]="Measure",t[t.Grouping=1]="Grouping"}(Ct=e.VisualDataRoleKindPreference||(e.VisualDataRoleKindPreference={})),e.validateVisualSelector=c,e.validateSlicer=f,e.validateSlicerState=v,e.validatePlayBookmarkRequest=h,e.validateAddBookmarkRequest=y,e.validateApplyBookmarkByNameRequest=m,e.validateApplyBookmarkStateRequest=V,e.validateCaptureBookmarkRequest=g,e.validateSettings=w,e.validatePanes=b,e.validateBookmarksPane=P,e.validateFiltersPane=S,e.validateFieldsPane=T,e.validatePageNavigationPane=E,e.validateSelectionPane=O,e.validateSyncSlicersPane=_,e.validateVisualizationsPane=R,e.validateCustomPageSize=F,e.validateExtension=k,e.validateReportLoad=C,e.validateCreateReport=A,e.validateDashboardLoad=x,e.validateTileLoad=q,e.validatePage=M,e.validateFilter=I,e.validateSaveAsParameters=L,e.validateLoadQnaConfiguration=j,e.validateQnaInterpretInputData=N,e.validateExportDataRequest=D,e.validateVisualHeader=U,e.validateVisualSettings=B,e.validateCommandsSettings=W,e.validateCustomTheme=H},function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.Validators=void 0;var a=r(2),i=r(3),o=r(5),n=r(6),l=r(7),d=r(8),s=r(9),u=r(10),p=r(11),c=r(12),f=r(13),v=r(14),h=r(15),y=r(16),m=r(17),V=r(18),g=r(19),w=r(20),b=r(21),P=r(22),S=r(23),T=r(24),E=r(25),O=r(26),_=r(27);e.Validators={addBookmarkRequestValidator:new n.AddBookmarkRequestValidator,advancedFilterTypeValidator:new a.EnumValidator([0]),advancedFilterValidator:new l.AdvancedFilterValidator,anyArrayValidator:new a.ArrayValidator([new s.AnyOfValidator([new a.StringValidator,new a.NumberValidator,new a.BooleanValidator])]),anyFilterValidator:new s.AnyOfValidator([new l.BasicFilterValidator,new l.AdvancedFilterValidator,new l.IncludeExcludeFilterValidator,new l.NotSupportedFilterValidator,new l.RelativeDateFilterValidator,new l.TopNFilterValidator,new l.RelativeTimeFilterValidator]),anyValueValidator:new s.AnyOfValidator([new a.StringValidator,new a.NumberValidator,new a.BooleanValidator]),actionBarValidator:new _.ActionBarValidator,applyBookmarkByNameRequestValidator:new n.ApplyBookmarkByNameRequestValidator,applyBookmarkStateRequestValidator:new n.ApplyBookmarkStateRequestValidator,applyBookmarkValidator:new s.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,captureBookmarkOptionsValidator:new n.CaptureBookmarkOptionsValidator,captureBookmarkRequestValidator:new n.CaptureBookmarkRequestValidator,commandDisplayOptionValidator:new a.EnumValidator([0,1,2]),commandExtensionSelectorValidator:new s.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 V.CustomLayoutValidator,customPageSizeValidator:new v.CustomPageSizeValidator,customThemeValidator:new T.CustomThemeValidator,dashboardLoadValidator:new c.DashboardLoadValidator,datasetBindingValidator:new E.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 d.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 s.AnyOfValidator([new l.FilterColumnTargetValidator,new l.FilterHierarchyTargetValidator,new l.FilterMeasureTargetValidator]),filtersArrayValidator:new a.ArrayValidator([new s.AnyOfValidator([new l.BasicFilterValidator,new l.AdvancedFilterValidator,new l.RelativeDateFilterValidator,new l.RelativeTimeFilterValidator])]),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 h.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,pageNavigationPositionValidator:new a.EnumValidator([0,1]),pageSizeTypeValidator:new a.EnumValidator([0,1,2,3,4,5]),pageSizeValidator:new v.PageSizeValidator,pageValidator:new v.PageValidator,pageViewFieldValidator:new v.PageViewFieldValidator,pagesLayoutValidator:new m.MapValidator([new a.StringValidator],[new V.PageLayoutValidator]),reportBarsValidator:new _.ReportBarsValidator,reportPanesValidator:new O.ReportPanesValidator,permissionsValidator:new a.EnumValidator([0,1,2,4,7]),playBookmarkRequestValidator:new n.PlayBookmarkRequestValidator,qnaInterpretInputDataValidator:new h.QnaInterpretInputDataValidator,qnaSettingValidator:new h.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 S.SingleCommandSettingsValidator,slicerSelectorValidator:new s.AnyOfValidator([new w.VisualSelectorValidator,new w.SlicerTargetSelectorValidator]),slicerStateValidator:new b.SlicerStateValidator,slicerTargetValidator:new s.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 s.AnyOfValidator([new w.VisualSelectorValidator,new w.VisualTypeSelectorValidator]),visualHeaderSelectorValidator:new s.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}),e.NumberArrayValidator=e.BooleanArrayValidator=e.StringArrayValidator=e.EnumValidator=e.SchemaValidator=e.ValueValidator=e.NumberValidator=e.BooleanValidator=e.StringValidator=e.TypeValidator=e.ArrayValidator=e.ObjectValidator=void 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: Thu, 19 Nov 2020 09:05:02 +0000 Subject: [PATCH 034/125] Merged PR 128710: Hide unnecessary function Page is a weird function that creates a Page object with just the name, there is no guarantee that the Page actually exists. We don't want it to appear in the documentation as it can be confusing. --- dist/powerbi-client.d.ts | 6 +----- dist/powerbi.js | 6 +----- src/report.ts | 6 +----- 3 files changed, 3 insertions(+), 15 deletions(-) diff --git a/dist/powerbi-client.d.ts b/dist/powerbi-client.d.ts index 7ea35f93..72e498e8 100644 --- a/dist/powerbi-client.d.ts +++ b/dist/powerbi-client.d.ts @@ -1076,15 +1076,11 @@ declare module "report" { * * Note: Because you are creating the page manually there is no guarantee that the page actually exists in the report, and subsequent requests could fail. * - * ```javascript - * const page = report.page('ReportSection1'); - * page.setActive(); - * ``` - * * @param {string} name * @param {string} [displayName] * @param {boolean} [isActive] * @returns {Page} + * @hidden */ page(name: string, displayName?: string, isActive?: boolean, visibility?: models.SectionVisibility): Page; /** diff --git a/dist/powerbi.js b/dist/powerbi.js index 45af69f3..c2a7ab51 100644 --- a/dist/powerbi.js +++ b/dist/powerbi.js @@ -5565,15 +5565,11 @@ return /******/ (function(modules) { // webpackBootstrap * * Note: Because you are creating the page manually there is no guarantee that the page actually exists in the report, and subsequent requests could fail. * - * ```javascript - * const page = report.page('ReportSection1'); - * page.setActive(); - * ``` - * * @param {string} name * @param {string} [displayName] * @param {boolean} [isActive] * @returns {Page} + * @hidden */ Report.prototype.page = function (name, displayName, isActive, visibility) { return new page_1.Page(this, name, displayName, isActive, visibility); diff --git a/src/report.ts b/src/report.ts index d18fb96f..75405a04 100644 --- a/src/report.ts +++ b/src/report.ts @@ -258,15 +258,11 @@ export class Report extends embed.Embed implements IReportNode, IFilterable { * * Note: Because you are creating the page manually there is no guarantee that the page actually exists in the report, and subsequent requests could fail. * - * ```javascript - * const page = report.page('ReportSection1'); - * page.setActive(); - * ``` - * * @param {string} name * @param {string} [displayName] * @param {boolean} [isActive] * @returns {Page} + * @hidden */ page(name: string, displayName?: string, isActive?: boolean, visibility?: models.SectionVisibility): Page { return new Page(this, name, displayName, isActive, visibility); From 039dd38a501b74b34e676e16bcd81d65ab0db8fc Mon Sep 17 00:00:00 2001 From: Adam Saxton Date: Wed, 2 Dec 2020 15:13:38 -0600 Subject: [PATCH 035/125] Update old content video --- demo/v2-demo/docs.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/demo/v2-demo/docs.html b/demo/v2-demo/docs.html index ec62f5df..1307a7cc 100644 --- a/demo/v2-demo/docs.html +++ b/demo/v2-demo/docs.html @@ -32,7 +32,7 @@

Videos

Get an embed token & embed your analytics
- +
Setting up and getting started
From 9d19361a7faa24733c686be6caeea60df08c784f Mon Sep 17 00:00:00 2001 From: Anant Singh Date: Thu, 3 Dec 2020 13:34:18 +0000 Subject: [PATCH 036/125] Merged PR 131439: Make master up to date with beta We want to deploy to NPM as beta version --- dist/powerbi-client.d.ts | 114 +- dist/powerbi.js | 3143 ++++++++++++++++++++------------------ dist/powerbi.min.js | 12 +- package.json | 2 +- src/create.ts | 4 +- src/dashboard.ts | 7 +- src/embed.ts | 95 +- src/powerbi-client.ts | 3 + src/report.ts | 12 +- src/service.ts | 18 +- src/tile.ts | 8 +- 11 files changed, 1732 insertions(+), 1686 deletions(-) diff --git a/dist/powerbi-client.d.ts b/dist/powerbi-client.d.ts index 72e498e8..0b4b35cd 100644 --- a/dist/powerbi-client.d.ts +++ b/dist/powerbi-client.d.ts @@ -127,82 +127,17 @@ declare module "embed" { msRequestFullscreen: Function; } } - /** - * Prepare configuration for Power BI embed components. - * - * @export - * @interface IBootstrapEmbedConfiguration - */ - export interface IBootstrapEmbedConfiguration { - hostname?: string; - embedUrl?: string; - settings?: ISettings; - uniqueId?: string; - type?: string; - groupId?: string; - bootstrapped?: boolean; - } - /** - * Base Configuration settings for Power BI embed components - * - * @export - * @interface IEmbedConfigurationBase - * @extends IBootstrapEmbedConfiguration - */ - export interface IEmbedConfigurationBase extends IBootstrapEmbedConfiguration { - accessToken?: string; - tokenType?: models.TokenType; - } - /** - * Configuration settings for Power BI embed components - * - * @export - * @interface IEmbedConfiguration - */ - export interface IEmbedConfiguration extends IEmbedConfigurationBase { - id?: string; - settings?: IEmbedSettings; - pageName?: string; - filters?: models.IFilter[]; - pageView?: models.PageView; - datasetId?: string; - permissions?: models.Permissions; - viewMode?: models.ViewMode; - action?: string; - dashboardId?: string; - height?: number; - width?: number; - theme?: models.IReportTheme; - slicers?: models.ISlicer[]; - bookmark?: models.IApplyBookmarkRequest; - datasetBinding?: models.IDatasetBinding; - contrastMode?: models.ContrastMode; - } - export interface IVisualEmbedConfiguration extends IEmbedConfiguration { - visualName: string; - } - /** - * Configuration settings for Power BI Q&A embed component - * - * @export - * @interface IEmbedConfiguration - */ - export interface IQnaEmbedConfiguration extends IEmbedConfigurationBase { - datasetIds: string[]; - question?: string; - viewMode?: models.QnaMode; - } - export interface ILocaleSettings { - language?: string; - formatLocale?: string; - } - export interface ISettings { - localeSettings?: ILocaleSettings; - } - export interface IEmbedSettings extends models.ISettings, ISettings { - } - export interface IQnaSettings extends models.IQnaSettings, ISettings { - } + export type IBootstrapEmbedConfiguration = models.IBootstrapEmbedConfiguration; + export type IEmbedConfigurationBase = models.IEmbedConfigurationBase; + export type IEmbedConfiguration = models.IEmbedConfiguration; + export type IVisualEmbedConfiguration = models.IVisualEmbedConfiguration; + export type IReportEmbedConfiguration = models.IReportEmbedConfiguration; + export type IDashboardEmbedConfiguration = models.IDashboardEmbedConfiguration; + export type ITileEmbedConfiguration = models.ITileEmbedConfiguration; + export type IQnaEmbedConfiguration = models.IQnaEmbedConfiguration; + export type ILocaleSettings = models.ILocaleSettings; + export type IQnaSettings = models.IQnaSettings; + export type IEmbedSettings = models.ISettings; /** @hidden */ export interface IInternalEventHandler { test(event: service.IEvent): boolean; @@ -467,7 +402,7 @@ declare module "embed" { * Adds locale parameters to embedUrl * * @private - * @param {IEmbedConfiguration} config + * @param {IEmbedConfiguration | models.ICommonEmbedConfiguration} config * @hidden */ private addLocaleToEmbedUrl(config); @@ -929,7 +864,7 @@ declare module "report" { import * as models from 'powerbi-models'; import { IFilterable } from "ifilterable"; import { Page } from "page"; - import { IReportLoadConfiguration } from 'powerbi-models'; + import { IReportLoadConfiguration, IReportEmbedConfiguration } from 'powerbi-models'; import { BookmarksManager } from "bookmarksManager"; /** * A Report node within a report hierarchy @@ -940,7 +875,7 @@ declare module "report" { export interface IReportNode { iframe: HTMLIFrameElement; service: service.IService; - config: embed.IEmbedConfiguration; + config: embed.IEmbedConfiguration | IReportEmbedConfiguration; } /** * The Power BI Report embed component @@ -1000,7 +935,7 @@ declare module "report" { * * @returns {Promise} */ - render(config?: IReportLoadConfiguration): Promise; + render(config?: IReportLoadConfiguration | embed.IReportEmbedConfiguration): Promise; /** * Add an empty page to the report * @@ -1254,7 +1189,7 @@ declare module "create" { * @extends {embed.Embed} */ export class Create extends embed.Embed { - constructor(service: service.Service, element: HTMLElement, config: embed.IEmbedConfiguration, phasedRender?: boolean, isBootstrap?: boolean); + constructor(service: service.Service, element: HTMLElement, config: embed.IEmbedConfiguration | models.IReportCreateConfiguration, phasedRender?: boolean, isBootstrap?: boolean); /** * Gets the dataset ID from the first available location: createConfig or embed url. * @@ -1323,7 +1258,6 @@ declare module "dashboard" { * @class Dashboard * @extends {embed.Embed} * @implements {IDashboardNode} - * @implements {IFilterable} */ export class Dashboard extends embed.Embed implements IDashboardNode { /** @hidden */ @@ -1595,6 +1529,7 @@ declare module "service" { import * as wpmp from 'window-post-message-proxy'; import * as hpm from 'http-post-message'; import * as router from 'powerbi-router'; + import * as models from 'powerbi-models'; export interface IEvent { type: string; id: string; @@ -1647,6 +1582,7 @@ declare module "service" { export interface IService { hpm: hpm.HttpPostMessage; } + export type IComponentEmbedConfiguration = embed.IReportEmbedConfiguration | embed.IDashboardEmbedConfiguration | embed.ITileEmbedConfiguration | embed.IVisualEmbedConfiguration | embed.IQnaEmbedConfiguration; /** * The Power BI Service embed component, which is the entry point to embed all other Power BI components into your application * @@ -1700,7 +1636,7 @@ declare module "service" { * @param {embed.IEmbedConfiguration} [config={}] * @returns {embed.Embed} */ - createReport(element: HTMLElement, config: embed.IEmbedConfiguration): embed.Embed; + createReport(element: HTMLElement, config: embed.IEmbedConfiguration | models.IReportCreateConfiguration): embed.Embed; /** * TODO: Add a description here * @@ -1719,7 +1655,7 @@ declare module "service" { * @param {embed.IEmbedConfigurationBase} [config={}] * @returns {embed.Embed} */ - embed(element: HTMLElement, config?: embed.IEmbedConfigurationBase): embed.Embed; + embed(element: HTMLElement, config?: IComponentEmbedConfiguration | embed.IEmbedConfigurationBase): embed.Embed; /** * Given a configuration based on an HTML element, * if the component has already been created and attached to the element, reuses the component instance and existing iframe, @@ -1730,16 +1666,16 @@ declare module "service" { * @param {embed.IEmbedConfigurationBase} [config={}] * @returns {embed.Embed} */ - load(element: HTMLElement, config?: embed.IEmbedConfigurationBase): embed.Embed; + load(element: HTMLElement, config?: IComponentEmbedConfiguration | embed.IEmbedConfigurationBase): embed.Embed; /** * Given an HTML element and entityType, creates a new component instance, and bootstrap the iframe for embedding. * * @param {HTMLElement} element * @param {embed.IBootstrapEmbedConfiguration} config: a bootstrap config which is an embed config without access token. */ - bootstrap(element: HTMLElement, config: embed.IBootstrapEmbedConfiguration): embed.Embed; + bootstrap(element: HTMLElement, config: IComponentEmbedConfiguration | embed.IBootstrapEmbedConfiguration): embed.Embed; /** @hidden */ - embedInternal(element: HTMLElement, config?: embed.IEmbedConfigurationBase, phasedRender?: boolean, isBootstrap?: boolean): embed.Embed; + embedInternal(element: HTMLElement, config?: IComponentEmbedConfiguration | embed.IEmbedConfigurationBase, phasedRender?: boolean, isBootstrap?: boolean): embed.Embed; /** @hidden */ getNumberOfComponents(): number; /** @hidden */ @@ -1828,7 +1764,7 @@ declare module "service" { * @param {embed.IEmbedConfigurationBase} [config={}] * @param {HTMLElement} [element=undefined] */ - preload(config: embed.IEmbedConfigurationBase, element?: HTMLElement): HTMLIFrameElement; + preload(config: IComponentEmbedConfiguration | embed.IEmbedConfigurationBase, element?: HTMLElement): HTMLIFrameElement; } } declare module "bookmarksManager" { @@ -1946,7 +1882,7 @@ declare module "powerbi-client" { export { Report } from "report"; export { Dashboard } from "dashboard"; export { Tile } from "tile"; - export { IEmbedConfiguration, IQnaEmbedConfiguration, IVisualEmbedConfiguration, Embed, ILocaleSettings, IEmbedSettings, IQnaSettings } from "embed"; + export { IEmbedConfiguration, IQnaEmbedConfiguration, IVisualEmbedConfiguration, IReportEmbedConfiguration, IDashboardEmbedConfiguration, ITileEmbedConfiguration, 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 c2a7ab51..5d6b6979 100644 --- a/dist/powerbi.js +++ b/dist/powerbi.js @@ -850,7 +850,7 @@ return /******/ (function(modules) { // webpackBootstrap * Adds locale parameters to embedUrl * * @private - * @param {IEmbedConfiguration} config + * @param {IEmbedConfiguration | models.ICommonEmbedConfiguration} config * @hidden */ Embed.prototype.addLocaleToEmbedUrl = function (config) { @@ -1314,7 +1314,7 @@ return /******/ (function(modules) { // webpackBootstrap /* 5 */ /***/ (function(module, exports, __webpack_require__) { - /*! powerbi-models v1.6.0 | (c) 2016 Microsoft Corporation MIT */ + /*! powerbi-models v1.7.0 | (c) 2016 Microsoft Corporation MIT */ (function webpackUniversalModuleDefinition(root, factory) { if(true) module.exports = factory(); @@ -1429,8 +1429,8 @@ return /******/ (function(modules) { // webpackBootstrap }; })(); Object.defineProperty(exports, "__esModule", { value: true }); - exports.validateCustomTheme = exports.validateCommandsSettings = exports.validateVisualSettings = exports.validateVisualHeader = exports.validateExportDataRequest = exports.validateQnaInterpretInputData = exports.validateLoadQnaConfiguration = exports.validateSaveAsParameters = exports.validateFilter = exports.validatePage = exports.validateTileLoad = exports.validateDashboardLoad = exports.validateCreateReport = exports.validateReportLoad = exports.validateExtension = exports.validateCustomPageSize = exports.validateVisualizationsPane = exports.validateSyncSlicersPane = exports.validateSelectionPane = exports.validatePageNavigationPane = exports.validateFieldsPane = exports.validateFiltersPane = exports.validateBookmarksPane = exports.validatePanes = exports.validateSettings = exports.validateCaptureBookmarkRequest = exports.validateApplyBookmarkStateRequest = exports.validateApplyBookmarkByNameRequest = exports.validateAddBookmarkRequest = exports.validatePlayBookmarkRequest = exports.validateSlicerState = exports.validateSlicer = exports.validateVisualSelector = exports.VisualDataRoleKindPreference = exports.VisualDataRoleKind = exports.CommandDisplayOption = exports.SlicerTargetSelector = exports.VisualTypeSelector = exports.VisualSelector = exports.PageSelector = exports.Selector = exports.SortDirection = exports.LegendPosition = exports.TextAlignment = exports.CommonErrorCodes = exports.BookmarksPlayMode = exports.ExportDataType = exports.QnaMode = exports.PageNavigationPosition = exports.isColumnAggr = exports.isHierarchyLevelAggr = exports.isHierarchyLevel = exports.isColumn = exports.isMeasure = exports.getFilterType = exports.isBasicFilterWithKeys = exports.isFilterKeyColumnsTarget = exports.AdvancedFilter = exports.TupleFilter = exports.BasicFilterWithKeys = exports.BasicFilter = exports.RelativeTimeFilter = exports.RelativeDateFilter = exports.TopNFilter = exports.IncludeExcludeFilter = exports.NotSupportedFilter = exports.Filter = exports.RelativeDateOperators = exports.RelativeDateFilterTimeUnit = exports.FilterType = exports.FiltersLevel = exports.MenuLocation = exports.ContrastMode = exports.TokenType = exports.ViewMode = exports.Permissions = exports.SectionVisibility = exports.HyperlinkClickBehavior = exports.LayoutType = exports.VisualContainerDisplayMode = exports.BackgroundType = exports.DisplayOption = exports.PageSizeType = exports.TraceType = exports.Validators = void 0; - exports.Validators = __webpack_require__(1).Validators; + exports.validateCustomTheme = exports.validateCommandsSettings = exports.validateVisualSettings = exports.validateVisualHeader = exports.validateExportDataRequest = exports.validateQnaInterpretInputData = exports.validateLoadQnaConfiguration = exports.validateSaveAsParameters = exports.validateFilter = exports.validatePage = exports.validateTileLoad = exports.validateDashboardLoad = exports.validateCreateReport = exports.validateReportLoad = exports.validateMenuGroupExtension = exports.validateExtension = exports.validateCustomPageSize = exports.validateVisualizationsPane = exports.validateSyncSlicersPane = exports.validateSelectionPane = exports.validatePageNavigationPane = exports.validateFieldsPane = exports.validateFiltersPane = exports.validateBookmarksPane = exports.validatePanes = exports.validateSettings = exports.validateCaptureBookmarkRequest = exports.validateApplyBookmarkStateRequest = exports.validateApplyBookmarkByNameRequest = exports.validateAddBookmarkRequest = exports.validatePlayBookmarkRequest = exports.validateSlicerState = exports.validateSlicer = exports.validateVisualSelector = exports.isIExtensionArray = exports.isIExtensions = exports.isGroupedMenuExtension = exports.isFlatMenuExtension = exports.VisualDataRoleKindPreference = exports.VisualDataRoleKind = exports.CommandDisplayOption = exports.SlicerTargetSelector = exports.VisualTypeSelector = exports.VisualSelector = exports.PageSelector = exports.Selector = exports.SortDirection = exports.LegendPosition = exports.TextAlignment = exports.CommonErrorCodes = exports.BookmarksPlayMode = exports.ExportDataType = exports.QnaMode = exports.PageNavigationPosition = exports.isColumnAggr = exports.isHierarchyLevelAggr = exports.isHierarchyLevel = exports.isColumn = exports.isMeasure = exports.getFilterType = exports.isBasicFilterWithKeys = exports.isFilterKeyColumnsTarget = exports.AdvancedFilter = exports.TupleFilter = exports.BasicFilterWithKeys = exports.BasicFilter = exports.RelativeTimeFilter = exports.RelativeDateFilter = exports.TopNFilter = exports.IncludeExcludeFilter = exports.NotSupportedFilter = exports.Filter = exports.RelativeDateOperators = exports.RelativeDateFilterTimeUnit = exports.FilterType = exports.FiltersLevel = exports.MenuLocation = exports.ContrastMode = exports.TokenType = exports.ViewMode = exports.Permissions = exports.SectionVisibility = exports.HyperlinkClickBehavior = exports.LayoutType = exports.VisualContainerDisplayMode = exports.BackgroundType = exports.DisplayOption = exports.PageSizeType = exports.TraceType = void 0; + var validator_1 = __webpack_require__(1); var TraceType; (function (TraceType) { TraceType[TraceType["Information"] = 0] = "Information"; @@ -1566,7 +1566,6 @@ return /******/ (function(modules) { // webpackBootstrap } return filter; }; - ; return Filter; }()); exports.Filter = Filter; @@ -1723,9 +1722,10 @@ return /******/ (function(modules) { // webpackBootstrap 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; + for (var _i = 0, _a = _this.keyValues; _i < _a.length; _i++) { + var keyValue = _a[_i]; + if (keyValue) { + var lengthOfArray = keyValue.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"); } @@ -1916,7 +1916,6 @@ return /******/ (function(modules) { // webpackBootstrap $schema: this.$schema }; }; - ; return Selector; }()); exports.Selector = Selector; @@ -2008,6 +2007,22 @@ return /******/ (function(modules) { // webpackBootstrap VisualDataRoleKindPreference[VisualDataRoleKindPreference["Measure"] = 0] = "Measure"; VisualDataRoleKindPreference[VisualDataRoleKindPreference["Grouping"] = 1] = "Grouping"; })(VisualDataRoleKindPreference = exports.VisualDataRoleKindPreference || (exports.VisualDataRoleKindPreference = {})); + function isFlatMenuExtension(menuExtension) { + return menuExtension && !isGroupedMenuExtension(menuExtension); + } + exports.isFlatMenuExtension = isFlatMenuExtension; + function isGroupedMenuExtension(menuExtension) { + return menuExtension && !!menuExtension.groupName; + } + exports.isGroupedMenuExtension = isGroupedMenuExtension; + function isIExtensions(extensions) { + return extensions && !isIExtensionArray(extensions); + } + exports.isIExtensions = isIExtensions; + function isIExtensionArray(extensions) { + return Array.isArray(extensions); + } + exports.isIExtensionArray = isIExtensionArray; function normalizeError(error) { var message = error.message; if (!message) { @@ -2018,167 +2033,172 @@ return /******/ (function(modules) { // webpackBootstrap }; } function validateVisualSelector(input) { - var errors = exports.Validators.visualSelectorValidator.validate(input); + var errors = validator_1.Validators.visualSelectorValidator.validate(input); return errors ? errors.map(normalizeError) : undefined; } exports.validateVisualSelector = validateVisualSelector; function validateSlicer(input) { - var errors = exports.Validators.slicerValidator.validate(input); + var errors = validator_1.Validators.slicerValidator.validate(input); return errors ? errors.map(normalizeError) : undefined; } exports.validateSlicer = validateSlicer; function validateSlicerState(input) { - var errors = exports.Validators.slicerStateValidator.validate(input); + var errors = validator_1.Validators.slicerStateValidator.validate(input); return errors ? errors.map(normalizeError) : undefined; } exports.validateSlicerState = validateSlicerState; function validatePlayBookmarkRequest(input) { - var errors = exports.Validators.playBookmarkRequestValidator.validate(input); + var errors = validator_1.Validators.playBookmarkRequestValidator.validate(input); return errors ? errors.map(normalizeError) : undefined; } exports.validatePlayBookmarkRequest = validatePlayBookmarkRequest; function validateAddBookmarkRequest(input) { - var errors = exports.Validators.addBookmarkRequestValidator.validate(input); + var errors = validator_1.Validators.addBookmarkRequestValidator.validate(input); return errors ? errors.map(normalizeError) : undefined; } exports.validateAddBookmarkRequest = validateAddBookmarkRequest; function validateApplyBookmarkByNameRequest(input) { - var errors = exports.Validators.applyBookmarkByNameRequestValidator.validate(input); + var errors = validator_1.Validators.applyBookmarkByNameRequestValidator.validate(input); return errors ? errors.map(normalizeError) : undefined; } exports.validateApplyBookmarkByNameRequest = validateApplyBookmarkByNameRequest; function validateApplyBookmarkStateRequest(input) { - var errors = exports.Validators.applyBookmarkStateRequestValidator.validate(input); + var errors = validator_1.Validators.applyBookmarkStateRequestValidator.validate(input); return errors ? errors.map(normalizeError) : undefined; } exports.validateApplyBookmarkStateRequest = validateApplyBookmarkStateRequest; function validateCaptureBookmarkRequest(input) { - var errors = exports.Validators.captureBookmarkRequestValidator.validate(input); + var errors = validator_1.Validators.captureBookmarkRequestValidator.validate(input); return errors ? errors.map(normalizeError) : undefined; } exports.validateCaptureBookmarkRequest = validateCaptureBookmarkRequest; function validateSettings(input) { - var errors = exports.Validators.settingsValidator.validate(input); + var errors = validator_1.Validators.settingsValidator.validate(input); return errors ? errors.map(normalizeError) : undefined; } exports.validateSettings = validateSettings; function validatePanes(input) { - var errors = exports.Validators.reportPanesValidator.validate(input); + var errors = validator_1.Validators.reportPanesValidator.validate(input); return errors ? errors.map(normalizeError) : undefined; } exports.validatePanes = validatePanes; function validateBookmarksPane(input) { - var errors = exports.Validators.bookmarksPaneValidator.validate(input); + var errors = validator_1.Validators.bookmarksPaneValidator.validate(input); return errors ? errors.map(normalizeError) : undefined; } exports.validateBookmarksPane = validateBookmarksPane; function validateFiltersPane(input) { - var errors = exports.Validators.filtersPanesValidator.validate(input); + var errors = validator_1.Validators.filtersPaneValidator.validate(input); return errors ? errors.map(normalizeError) : undefined; } exports.validateFiltersPane = validateFiltersPane; function validateFieldsPane(input) { - var errors = exports.Validators.fieldsPanesValidator.validate(input); + var errors = validator_1.Validators.fieldsPaneValidator.validate(input); return errors ? errors.map(normalizeError) : undefined; } exports.validateFieldsPane = validateFieldsPane; function validatePageNavigationPane(input) { - var errors = exports.Validators.pageNavigationPaneValidator.validate(input); + var errors = validator_1.Validators.pageNavigationPaneValidator.validate(input); return errors ? errors.map(normalizeError) : undefined; } exports.validatePageNavigationPane = validatePageNavigationPane; function validateSelectionPane(input) { - var errors = exports.Validators.selectionPaneValidator.validate(input); + var errors = validator_1.Validators.selectionPaneValidator.validate(input); return errors ? errors.map(normalizeError) : undefined; } exports.validateSelectionPane = validateSelectionPane; function validateSyncSlicersPane(input) { - var errors = exports.Validators.syncSlicersPaneValidator.validate(input); + var errors = validator_1.Validators.syncSlicersPaneValidator.validate(input); return errors ? errors.map(normalizeError) : undefined; } exports.validateSyncSlicersPane = validateSyncSlicersPane; function validateVisualizationsPane(input) { - var errors = exports.Validators.visualizationsPanesValidator.validate(input); + var errors = validator_1.Validators.visualizationsPaneValidator.validate(input); return errors ? errors.map(normalizeError) : undefined; } exports.validateVisualizationsPane = validateVisualizationsPane; function validateCustomPageSize(input) { - var errors = exports.Validators.customPageSizeValidator.validate(input); + var errors = validator_1.Validators.customPageSizeValidator.validate(input); return errors ? errors.map(normalizeError) : undefined; } exports.validateCustomPageSize = validateCustomPageSize; function validateExtension(input) { - var errors = exports.Validators.extensionValidator.validate(input); + var errors = validator_1.Validators.extensionValidator.validate(input); return errors ? errors.map(normalizeError) : undefined; } exports.validateExtension = validateExtension; + function validateMenuGroupExtension(input) { + var errors = validator_1.Validators.menuGroupExtensionValidator.validate(input); + return errors ? errors.map(normalizeError) : undefined; + } + exports.validateMenuGroupExtension = validateMenuGroupExtension; function validateReportLoad(input) { - var errors = exports.Validators.reportLoadValidator.validate(input); + var errors = validator_1.Validators.reportLoadValidator.validate(input); return errors ? errors.map(normalizeError) : undefined; } exports.validateReportLoad = validateReportLoad; function validateCreateReport(input) { - var errors = exports.Validators.reportCreateValidator.validate(input); + var errors = validator_1.Validators.reportCreateValidator.validate(input); return errors ? errors.map(normalizeError) : undefined; } exports.validateCreateReport = validateCreateReport; function validateDashboardLoad(input) { - var errors = exports.Validators.dashboardLoadValidator.validate(input); + var errors = validator_1.Validators.dashboardLoadValidator.validate(input); return errors ? errors.map(normalizeError) : undefined; } exports.validateDashboardLoad = validateDashboardLoad; function validateTileLoad(input) { - var errors = exports.Validators.tileLoadValidator.validate(input); + var errors = validator_1.Validators.tileLoadValidator.validate(input); return errors ? errors.map(normalizeError) : undefined; } exports.validateTileLoad = validateTileLoad; function validatePage(input) { - var errors = exports.Validators.pageValidator.validate(input); + var errors = validator_1.Validators.pageValidator.validate(input); return errors ? errors.map(normalizeError) : undefined; } exports.validatePage = validatePage; function validateFilter(input) { - var errors = exports.Validators.filtersValidator.validate(input); + var errors = validator_1.Validators.filtersValidator.validate(input); return errors ? errors.map(normalizeError) : undefined; } exports.validateFilter = validateFilter; function validateSaveAsParameters(input) { - var errors = exports.Validators.saveAsParametersValidator.validate(input); + var errors = validator_1.Validators.saveAsParametersValidator.validate(input); return errors ? errors.map(normalizeError) : undefined; } exports.validateSaveAsParameters = validateSaveAsParameters; function validateLoadQnaConfiguration(input) { - var errors = exports.Validators.loadQnaValidator.validate(input); + var errors = validator_1.Validators.loadQnaValidator.validate(input); return errors ? errors.map(normalizeError) : undefined; } exports.validateLoadQnaConfiguration = validateLoadQnaConfiguration; function validateQnaInterpretInputData(input) { - var errors = exports.Validators.qnaInterpretInputDataValidator.validate(input); + var errors = validator_1.Validators.qnaInterpretInputDataValidator.validate(input); return errors ? errors.map(normalizeError) : undefined; } exports.validateQnaInterpretInputData = validateQnaInterpretInputData; function validateExportDataRequest(input) { - var errors = exports.Validators.exportDataRequestValidator.validate(input); + var errors = validator_1.Validators.exportDataRequestValidator.validate(input); return errors ? errors.map(normalizeError) : undefined; } exports.validateExportDataRequest = validateExportDataRequest; function validateVisualHeader(input) { - var errors = exports.Validators.visualHeaderValidator.validate(input); + var errors = validator_1.Validators.visualHeaderValidator.validate(input); return errors ? errors.map(normalizeError) : undefined; } exports.validateVisualHeader = validateVisualHeader; function validateVisualSettings(input) { - var errors = exports.Validators.visualSettingsValidator.validate(input); + var errors = validator_1.Validators.visualSettingsValidator.validate(input); return errors ? errors.map(normalizeError) : undefined; } exports.validateVisualSettings = validateVisualSettings; function validateCommandsSettings(input) { - var errors = exports.Validators.commandsSettingsValidator.validate(input); + var errors = validator_1.Validators.commandsSettingsValidator.validate(input); return errors ? errors.map(normalizeError) : undefined; } exports.validateCommandsSettings = validateCommandsSettings; function validateCustomTheme(input) { - var errors = exports.Validators.customThemeValidator.validate(input); + var errors = validator_1.Validators.customThemeValidator.validate(input); return errors ? errors.map(normalizeError) : undefined; } exports.validateCustomTheme = validateCustomTheme; @@ -2190,31 +2210,32 @@ return /******/ (function(modules) { // webpackBootstrap Object.defineProperty(exports, "__esModule", { value: true }); exports.Validators = void 0; - 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 barsValidator_1 = __webpack_require__(2); + var bookmarkValidator_1 = __webpack_require__(5); + var commandsSettingsValidator_1 = __webpack_require__(6); + var customThemeValidator_1 = __webpack_require__(7); + var dashboardLoadValidator_1 = __webpack_require__(8); + var datasetBindingValidator_1 = __webpack_require__(9); + var exportDataValidator_1 = __webpack_require__(10); + var extensionsValidator_1 = __webpack_require__(11); + var filtersValidator_1 = __webpack_require__(12); + var layoutValidator_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 panesValidator_1 = __webpack_require__(15); + var qnaValidator_1 = __webpack_require__(16); + var reportCreateValidator_1 = __webpack_require__(17); + var reportLoadValidator_1 = __webpack_require__(18); + var saveAsParametersValidator_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); - var panesValidator_1 = __webpack_require__(26); - var barsValidator_1 = __webpack_require__(27); + var settingsValidator_1 = __webpack_require__(21); + var slicersValidator_1 = __webpack_require__(22); + var tileLoadValidator_1 = __webpack_require__(23); + var visualSettingsValidator_1 = __webpack_require__(24); + var anyOfValidator_1 = __webpack_require__(25); + var fieldForbiddenValidator_1 = __webpack_require__(26); + var fieldRequiredValidator_1 = __webpack_require__(27); + var mapValidator_1 = __webpack_require__(28); + var typeValidator_1 = __webpack_require__(4); exports.Validators = { addBookmarkRequestValidator: new bookmarkValidator_1.AddBookmarkRequestValidator(), advancedFilterTypeValidator: new typeValidator_1.EnumValidator([0]), @@ -2236,6 +2257,7 @@ return /******/ (function(modules) { // webpackBootstrap captureBookmarkRequestValidator: new bookmarkValidator_1.CaptureBookmarkRequestValidator(), commandDisplayOptionValidator: new typeValidator_1.EnumValidator([0, 1, 2]), commandExtensionSelectorValidator: new anyOfValidator_1.AnyOfValidator([new selectorsValidator_1.VisualSelectorValidator(), new selectorsValidator_1.VisualTypeSelectorValidator()]), + commandExtensionArrayValidator: new typeValidator_1.ArrayValidator([new extensionsValidator_1.CommandExtensionValidator()]), commandExtensionValidator: new extensionsValidator_1.CommandExtensionValidator(), commandsSettingsArrayValidator: new typeValidator_1.ArrayValidator([new commandsSettingsValidator_1.CommandsSettingsValidator()]), commandsSettingsValidator: new commandsSettingsValidator_1.CommandsSettingsValidator(), @@ -2251,8 +2273,10 @@ return /******/ (function(modules) { // webpackBootstrap displayStateValidator: new layoutValidator_1.DisplayStateValidator(), exportDataRequestValidator: new exportDataValidator_1.ExportDataRequestValidator(), extensionArrayValidator: new typeValidator_1.ArrayValidator([new extensionsValidator_1.ExtensionValidator()]), + extensionsValidator: new anyOfValidator_1.AnyOfValidator([new typeValidator_1.ArrayValidator([new extensionsValidator_1.ExtensionValidator()]), new extensionsValidator_1.ExtensionsValidator()]), extensionPointsValidator: new extensionsValidator_1.ExtensionPointsValidator(), extensionValidator: new extensionsValidator_1.ExtensionValidator(), + fieldForbiddenValidator: new fieldForbiddenValidator_1.FieldForbiddenValidator(), fieldRequiredValidator: new fieldRequiredValidator_1.FieldRequiredValidator(), fieldsPaneValidator: new panesValidator_1.FieldsPaneValidator(), filterColumnTargetValidator: new filtersValidator_1.FilterColumnTargetValidator(), @@ -2268,7 +2292,9 @@ return /******/ (function(modules) { // webpackBootstrap 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(), + menuExtensionValidator: new anyOfValidator_1.AnyOfValidator([new extensionsValidator_1.FlatMenuExtensionValidator(), new extensionsValidator_1.GroupedMenuExtensionValidator()]), + menuGroupExtensionArrayValidator: new typeValidator_1.ArrayValidator([new extensionsValidator_1.MenuGroupExtensionValidator()]), + menuGroupExtensionValidator: new extensionsValidator_1.MenuGroupExtensionValidator(), menuLocationValidator: new typeValidator_1.EnumValidator([0, 1]), notSupportedFilterTypeValidator: new typeValidator_1.EnumValidator([2]), notSupportedFilterValidator: new filtersValidator_1.NotSupportedFilterValidator(), @@ -2328,6 +2354,112 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }), /* 2 */ + /***/ (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 }); + exports.ActionBarValidator = exports.ReportBarsValidator = void 0; + var multipleFieldsValidator_1 = __webpack_require__(3); + var typeValidator_1 = __webpack_require__(4); + var validator_1 = __webpack_require__(1); + var ReportBarsValidator = /** @class */ (function (_super) { + __extends(ReportBarsValidator, _super); + function ReportBarsValidator() { + return _super !== null && _super.apply(this, arguments) || this; + } + ReportBarsValidator.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: "actionBar", + validators: [validator_1.Validators.actionBarValidator] + } + ]; + var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields); + return multipleFieldsValidator.validate(input, path, field); + }; + return ReportBarsValidator; + }(typeValidator_1.ObjectValidator)); + exports.ReportBarsValidator = ReportBarsValidator; + var ActionBarValidator = /** @class */ (function (_super) { + __extends(ActionBarValidator, _super); + function ActionBarValidator() { + return _super !== null && _super.apply(this, arguments) || this; + } + ActionBarValidator.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 ActionBarValidator; + }(typeValidator_1.ObjectValidator)); + exports.ActionBarValidator = ActionBarValidator; + + + /***/ }), + /* 3 */ + /***/ (function(module, exports) { + + Object.defineProperty(exports, "__esModule", { value: true }); + exports.MultipleFieldsValidator = void 0; + 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; + + + /***/ }), + /* 4 */ /***/ (function(module, exports) { var __extends = (this && this.__extends) || (function () { @@ -2556,7 +2688,7 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }), - /* 3 */ + /* 5 */ /***/ (function(module, exports, __webpack_require__) { var __extends = (this && this.__extends) || (function () { @@ -2573,16 +2705,16 @@ return /******/ (function(modules) { // webpackBootstrap }; })(); Object.defineProperty(exports, "__esModule", { value: true }); - exports.ExtensionValidator = exports.CommandExtensionValidator = exports.ExtensionItemValidator = exports.ExtensionPointsValidator = exports.MenuExtensionValidator = void 0; + exports.CaptureBookmarkRequestValidator = exports.CaptureBookmarkOptionsValidator = exports.ApplyBookmarkStateRequestValidator = exports.ApplyBookmarkByNameRequestValidator = exports.AddBookmarkRequestValidator = exports.PlayBookmarkRequestValidator = void 0; + var multipleFieldsValidator_1 = __webpack_require__(3); + var typeValidator_1 = __webpack_require__(4); 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() { + var PlayBookmarkRequestValidator = /** @class */ (function (_super) { + __extends(PlayBookmarkRequestValidator, _super); + function PlayBookmarkRequestValidator() { return _super !== null && _super.apply(this, arguments) || this; } - MenuExtensionValidator.prototype.validate = function (input, path, field) { + PlayBookmarkRequestValidator.prototype.validate = function (input, path, field) { if (input == null) { return null; } @@ -2592,30 +2724,55 @@ return /******/ (function(modules) { // webpackBootstrap } var fields = [ { - field: "title", + 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: "icon", + field: "displayName", validators: [validator_1.Validators.stringValidator] }, { - field: "menuLocation", - validators: [validator_1.Validators.menuLocationValidator] - } + field: "apply", + validators: [validator_1.Validators.booleanValidator] + }, ]; var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields); return multipleFieldsValidator.validate(input, path, field); }; - return MenuExtensionValidator; + return AddBookmarkRequestValidator; }(typeValidator_1.ObjectValidator)); - exports.MenuExtensionValidator = MenuExtensionValidator; - var ExtensionPointsValidator = /** @class */ (function (_super) { - __extends(ExtensionPointsValidator, _super); - function ExtensionPointsValidator() { + exports.AddBookmarkRequestValidator = AddBookmarkRequestValidator; + var ApplyBookmarkByNameRequestValidator = /** @class */ (function (_super) { + __extends(ApplyBookmarkByNameRequestValidator, _super); + function ApplyBookmarkByNameRequestValidator() { return _super !== null && _super.apply(this, arguments) || this; } - ExtensionPointsValidator.prototype.validate = function (input, path, field) { + ApplyBookmarkByNameRequestValidator.prototype.validate = function (input, path, field) { if (input == null) { return null; } @@ -2625,26 +2782,22 @@ return /******/ (function(modules) { // webpackBootstrap } var fields = [ { - field: "visualContextMenu", - validators: [validator_1.Validators.menuExtensionValidator] - }, - { - field: "visualOptionsMenu", - validators: [validator_1.Validators.menuExtensionValidator] + 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 ExtensionPointsValidator; + return ApplyBookmarkByNameRequestValidator; }(typeValidator_1.ObjectValidator)); - exports.ExtensionPointsValidator = ExtensionPointsValidator; - var ExtensionItemValidator = /** @class */ (function (_super) { - __extends(ExtensionItemValidator, _super); - function ExtensionItemValidator() { + exports.ApplyBookmarkByNameRequestValidator = ApplyBookmarkByNameRequestValidator; + var ApplyBookmarkStateRequestValidator = /** @class */ (function (_super) { + __extends(ApplyBookmarkStateRequestValidator, _super); + function ApplyBookmarkStateRequestValidator() { return _super !== null && _super.apply(this, arguments) || this; } - ExtensionItemValidator.prototype.validate = function (input, path, field) { + ApplyBookmarkStateRequestValidator.prototype.validate = function (input, path, field) { if (input == null) { return null; } @@ -2654,26 +2807,22 @@ return /******/ (function(modules) { // webpackBootstrap } var fields = [ { - field: "name", + field: "state", 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; + return ApplyBookmarkStateRequestValidator; }(typeValidator_1.ObjectValidator)); - exports.ExtensionItemValidator = ExtensionItemValidator; - var CommandExtensionValidator = /** @class */ (function (_super) { - __extends(CommandExtensionValidator, _super); - function CommandExtensionValidator() { + exports.ApplyBookmarkStateRequestValidator = ApplyBookmarkStateRequestValidator; + var CaptureBookmarkOptionsValidator = /** @class */ (function (_super) { + __extends(CaptureBookmarkOptionsValidator, _super); + function CaptureBookmarkOptionsValidator() { return _super !== null && _super.apply(this, arguments) || this; } - CommandExtensionValidator.prototype.validate = function (input, path, field) { + CaptureBookmarkOptionsValidator.prototype.validate = function (input, path, field) { if (input == null) { return null; } @@ -2683,30 +2832,22 @@ return /******/ (function(modules) { // webpackBootstrap } 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] - }, + field: "personalizeVisuals", + validators: [validator_1.Validators.booleanValidator] + } ]; 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 CaptureBookmarkOptionsValidator; + }(typeValidator_1.ObjectValidator)); + exports.CaptureBookmarkOptionsValidator = CaptureBookmarkOptionsValidator; + var CaptureBookmarkRequestValidator = /** @class */ (function (_super) { + __extends(CaptureBookmarkRequestValidator, _super); + function CaptureBookmarkRequestValidator() { return _super !== null && _super.apply(this, arguments) || this; } - ExtensionValidator.prototype.validate = function (input, path, field) { + CaptureBookmarkRequestValidator.prototype.validate = function (input, path, field) { if (input == null) { return null; } @@ -2716,78 +2857,46 @@ return /******/ (function(modules) { // webpackBootstrap } var fields = [ { - field: "command", - validators: [validator_1.Validators.commandExtensionValidator] + field: "options", + validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.captureBookmarkOptionsValidator] } ]; var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields); return multipleFieldsValidator.validate(input, path, field); }; - return ExtensionValidator; + return CaptureBookmarkRequestValidator; }(typeValidator_1.ObjectValidator)); - exports.ExtensionValidator = ExtensionValidator; + exports.CaptureBookmarkRequestValidator = CaptureBookmarkRequestValidator; /***/ }), - /* 4 */ - /***/ (function(module, exports) { + /* 6 */ + /***/ (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 }); - exports.MultipleFieldsValidator = void 0; - 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 = 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.SettingsValidator = void 0; + exports.SingleCommandSettingsValidator = exports.CommandsSettingsValidator = void 0; + var multipleFieldsValidator_1 = __webpack_require__(3); + var typeValidator_1 = __webpack_require__(4); 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() { + var CommandsSettingsValidator = /** @class */ (function (_super) { + __extends(CommandsSettingsValidator, _super); + function CommandsSettingsValidator() { return _super !== null && _super.apply(this, arguments) || this; } - SettingsValidator.prototype.validate = function (input, path, field) { + CommandsSettingsValidator.prototype.validate = function (input, path, field) { if (input == null) { return null; } @@ -2797,84 +2906,89 @@ return /******/ (function(modules) { // webpackBootstrap } 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: "copy", + validators: [validator_1.Validators.singleCommandSettingsValidator] }, { - field: "extensions", - validators: [validator_1.Validators.extensionArrayValidator] + field: "drill", + validators: [validator_1.Validators.singleCommandSettingsValidator] }, { - field: "layoutType", - validators: [validator_1.Validators.layoutTypeValidator] + field: "drillthrough", + validators: [validator_1.Validators.singleCommandSettingsValidator] }, { - field: "customLayout", - validators: [validator_1.Validators.customLayoutValidator] + field: "expandCollapse", + validators: [validator_1.Validators.singleCommandSettingsValidator] }, { - field: "background", - validators: [validator_1.Validators.backgroundValidator] + field: "exportData", + validators: [validator_1.Validators.singleCommandSettingsValidator] }, { - field: "visualSettings", - validators: [validator_1.Validators.visualSettingsValidator] + field: "includeExclude", + validators: [validator_1.Validators.singleCommandSettingsValidator] }, { - field: "hideErrors", - validators: [validator_1.Validators.booleanValidator] + field: "removeVisual", + validators: [validator_1.Validators.singleCommandSettingsValidator] }, { - field: "commands", - validators: [validator_1.Validators.commandsSettingsArrayValidator] + field: "search", + validators: [validator_1.Validators.singleCommandSettingsValidator] }, { - field: "hyperlinkClickBehavior", - validators: [validator_1.Validators.hyperlinkClickBehaviorValidator] + field: "seeData", + validators: [validator_1.Validators.singleCommandSettingsValidator] }, { - field: "bars", - validators: [validator_1.Validators.reportBarsValidator] + field: "sort", + validators: [validator_1.Validators.singleCommandSettingsValidator] }, { - field: "panes", - validators: [validator_1.Validators.reportPanesValidator] + 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: "personalBookmarksEnabled", - validators: [validator_1.Validators.booleanValidator] + field: "displayOption", + validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.commandDisplayOptionValidator] }, { - field: "persistentFiltersEnabled", - validators: [validator_1.Validators.booleanValidator] + field: "selector", + validators: [validator_1.Validators.visualCommandSelectorValidator] }, - { - field: "visualRenderedEvents", - validators: [validator_1.Validators.booleanValidator] - } ]; var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields); return multipleFieldsValidator.validate(input, path, field); }; - return SettingsValidator; + return SingleCommandSettingsValidator; }(typeValidator_1.ObjectValidator)); - exports.SettingsValidator = SettingsValidator; + exports.SingleCommandSettingsValidator = SingleCommandSettingsValidator; /***/ }), - /* 6 */ + /* 7 */ /***/ (function(module, exports, __webpack_require__) { var __extends = (this && this.__extends) || (function () { @@ -2891,16 +3005,15 @@ return /******/ (function(modules) { // webpackBootstrap }; })(); Object.defineProperty(exports, "__esModule", { value: true }); - exports.CaptureBookmarkRequestValidator = exports.CaptureBookmarkOptionsValidator = exports.ApplyBookmarkStateRequestValidator = exports.ApplyBookmarkByNameRequestValidator = exports.AddBookmarkRequestValidator = exports.PlayBookmarkRequestValidator = void 0; - 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() { + exports.CustomThemeValidator = void 0; + var multipleFieldsValidator_1 = __webpack_require__(3); + var typeValidator_1 = __webpack_require__(4); + var CustomThemeValidator = /** @class */ (function (_super) { + __extends(CustomThemeValidator, _super); + function CustomThemeValidator() { return _super !== null && _super.apply(this, arguments) || this; } - PlayBookmarkRequestValidator.prototype.validate = function (input, path, field) { + CustomThemeValidator.prototype.validate = function (input, path, field) { if (input == null) { return null; } @@ -2910,22 +3023,46 @@ return /******/ (function(modules) { // webpackBootstrap } var fields = [ { - field: "playMode", - validators: [validator_1.Validators.fieldRequiredValidator, new typeValidator_1.EnumValidator([0, 1])] + field: "themeJson", + validators: [new typeValidator_1.ObjectValidator()] } ]; var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields); return multipleFieldsValidator.validate(input, path, field); }; - return PlayBookmarkRequestValidator; + return CustomThemeValidator; }(typeValidator_1.ObjectValidator)); - exports.PlayBookmarkRequestValidator = PlayBookmarkRequestValidator; - var AddBookmarkRequestValidator = /** @class */ (function (_super) { - __extends(AddBookmarkRequestValidator, _super); - function AddBookmarkRequestValidator() { + exports.CustomThemeValidator = CustomThemeValidator; + + + /***/ }), + /* 8 */ + /***/ (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 }); + exports.DashboardLoadValidator = void 0; + var multipleFieldsValidator_1 = __webpack_require__(3); + var typeValidator_1 = __webpack_require__(4); + var validator_1 = __webpack_require__(1); + var DashboardLoadValidator = /** @class */ (function (_super) { + __extends(DashboardLoadValidator, _super); + function DashboardLoadValidator() { return _super !== null && _super.apply(this, arguments) || this; } - AddBookmarkRequestValidator.prototype.validate = function (input, path, field) { + DashboardLoadValidator.prototype.validate = function (input, path, field) { if (input == null) { return null; } @@ -2935,30 +3072,66 @@ return /******/ (function(modules) { // webpackBootstrap } var fields = [ { - field: "state", - validators: [validator_1.Validators.stringValidator] + field: "accessToken", + validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.stringValidator] }, { - field: "displayName", + field: "id", + validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.stringValidator] + }, + { + field: "groupId", validators: [validator_1.Validators.stringValidator] }, { - field: "apply", - validators: [validator_1.Validators.booleanValidator] + 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 AddBookmarkRequestValidator; + return DashboardLoadValidator; }(typeValidator_1.ObjectValidator)); - exports.AddBookmarkRequestValidator = AddBookmarkRequestValidator; - var ApplyBookmarkByNameRequestValidator = /** @class */ (function (_super) { - __extends(ApplyBookmarkByNameRequestValidator, _super); - function ApplyBookmarkByNameRequestValidator() { + exports.DashboardLoadValidator = DashboardLoadValidator; + + + /***/ }), + /* 9 */ + /***/ (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 }); + exports.DatasetBindingValidator = void 0; + var multipleFieldsValidator_1 = __webpack_require__(3); + var typeValidator_1 = __webpack_require__(4); + var validator_1 = __webpack_require__(1); + var DatasetBindingValidator = /** @class */ (function (_super) { + __extends(DatasetBindingValidator, _super); + function DatasetBindingValidator() { return _super !== null && _super.apply(this, arguments) || this; } - ApplyBookmarkByNameRequestValidator.prototype.validate = function (input, path, field) { + DatasetBindingValidator.prototype.validate = function (input, path, field) { if (input == null) { return null; } @@ -2968,72 +3141,45 @@ return /******/ (function(modules) { // webpackBootstrap } var fields = [ { - field: "name", + 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 ApplyBookmarkByNameRequestValidator; + return DatasetBindingValidator; }(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); + exports.DatasetBindingValidator = DatasetBindingValidator; + + + /***/ }), + /* 10 */ + /***/ (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 ApplyBookmarkStateRequestValidator; - }(typeValidator_1.ObjectValidator)); - exports.ApplyBookmarkStateRequestValidator = ApplyBookmarkStateRequestValidator; - var CaptureBookmarkOptionsValidator = /** @class */ (function (_super) { - __extends(CaptureBookmarkOptionsValidator, _super); - function CaptureBookmarkOptionsValidator() { - return _super !== null && _super.apply(this, arguments) || this; - } - CaptureBookmarkOptionsValidator.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: "personalizeVisuals", - validators: [validator_1.Validators.booleanValidator] - } - ]; - var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields); - return multipleFieldsValidator.validate(input, path, field); + return function (d, b) { + extendStatics(d, b); + function __() { this.constructor = d; } + d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); }; - return CaptureBookmarkOptionsValidator; - }(typeValidator_1.ObjectValidator)); - exports.CaptureBookmarkOptionsValidator = CaptureBookmarkOptionsValidator; - var CaptureBookmarkRequestValidator = /** @class */ (function (_super) { - __extends(CaptureBookmarkRequestValidator, _super); - function CaptureBookmarkRequestValidator() { + })(); + Object.defineProperty(exports, "__esModule", { value: true }); + exports.ExportDataRequestValidator = void 0; + var multipleFieldsValidator_1 = __webpack_require__(3); + var typeValidator_1 = __webpack_require__(4); + var ExportDataRequestValidator = /** @class */ (function (_super) { + __extends(ExportDataRequestValidator, _super); + function ExportDataRequestValidator() { return _super !== null && _super.apply(this, arguments) || this; } - CaptureBookmarkRequestValidator.prototype.validate = function (input, path, field) { + ExportDataRequestValidator.prototype.validate = function (input, path, field) { if (input == null) { return null; } @@ -3043,20 +3189,24 @@ return /******/ (function(modules) { // webpackBootstrap } var fields = [ { - field: "options", - validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.captureBookmarkOptionsValidator] + 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 CaptureBookmarkRequestValidator; + return ExportDataRequestValidator; }(typeValidator_1.ObjectValidator)); - exports.CaptureBookmarkRequestValidator = CaptureBookmarkRequestValidator; + exports.ExportDataRequestValidator = ExportDataRequestValidator; /***/ }), - /* 7 */ + /* 11 */ /***/ (function(module, exports, __webpack_require__) { var __extends = (this && this.__extends) || (function () { @@ -3073,16 +3223,16 @@ return /******/ (function(modules) { // webpackBootstrap }; })(); Object.defineProperty(exports, "__esModule", { value: true }); - exports.ConditionItemValidator = exports.FilterValidator = exports.IncludeExcludeFilterValidator = exports.NotSupportedFilterValidator = exports.TopNFilterValidator = exports.RelativeTimeFilterValidator = exports.RelativeDateFilterValidator = exports.AdvancedFilterValidator = exports.BasicFilterValidator = exports.FilterMeasureTargetValidator = exports.FilterKeyHierarchyTargetValidator = exports.FilterHierarchyTargetValidator = exports.FilterKeyColumnsTargetValidator = exports.FilterColumnTargetValidator = void 0; + exports.ExtensionsValidator = exports.MenuGroupExtensionValidator = exports.ExtensionValidator = exports.CommandExtensionValidator = exports.ExtensionItemValidator = exports.ExtensionPointsValidator = exports.GroupedMenuExtensionValidator = exports.FlatMenuExtensionValidator = exports.MenuExtensionBaseValidator = void 0; + var multipleFieldsValidator_1 = __webpack_require__(3); + var typeValidator_1 = __webpack_require__(4); 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() { + var MenuExtensionBaseValidator = /** @class */ (function (_super) { + __extends(MenuExtensionBaseValidator, _super); + function MenuExtensionBaseValidator() { return _super !== null && _super.apply(this, arguments) || this; } - FilterColumnTargetValidator.prototype.validate = function (input, path, field) { + MenuExtensionBaseValidator.prototype.validate = function (input, path, field) { if (input == null) { return null; } @@ -3092,26 +3242,26 @@ return /******/ (function(modules) { // webpackBootstrap } var fields = [ { - field: "table", - validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.stringValidator] + field: "title", + validators: [validator_1.Validators.stringValidator] }, { - field: "column", - validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.stringValidator] + field: "icon", + validators: [validator_1.Validators.stringValidator] } ]; var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields); return multipleFieldsValidator.validate(input, path, field); }; - return FilterColumnTargetValidator; + return MenuExtensionBaseValidator; }(typeValidator_1.ObjectValidator)); - exports.FilterColumnTargetValidator = FilterColumnTargetValidator; - var FilterKeyColumnsTargetValidator = /** @class */ (function (_super) { - __extends(FilterKeyColumnsTargetValidator, _super); - function FilterKeyColumnsTargetValidator() { + exports.MenuExtensionBaseValidator = MenuExtensionBaseValidator; + var FlatMenuExtensionValidator = /** @class */ (function (_super) { + __extends(FlatMenuExtensionValidator, _super); + function FlatMenuExtensionValidator() { return _super !== null && _super.apply(this, arguments) || this; } - FilterKeyColumnsTargetValidator.prototype.validate = function (input, path, field) { + FlatMenuExtensionValidator.prototype.validate = function (input, path, field) { if (input == null) { return null; } @@ -3121,22 +3271,26 @@ return /******/ (function(modules) { // webpackBootstrap } var fields = [ { - field: "keys", - validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.stringArrayValidator] + field: "menuLocation", + validators: [validator_1.Validators.menuLocationValidator] + }, + { + field: "groupName", + validators: [validator_1.Validators.fieldForbiddenValidator] }, ]; 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 FlatMenuExtensionValidator; + }(MenuExtensionBaseValidator)); + exports.FlatMenuExtensionValidator = FlatMenuExtensionValidator; + var GroupedMenuExtensionValidator = /** @class */ (function (_super) { + __extends(GroupedMenuExtensionValidator, _super); + function GroupedMenuExtensionValidator() { return _super !== null && _super.apply(this, arguments) || this; } - FilterHierarchyTargetValidator.prototype.validate = function (input, path, field) { + GroupedMenuExtensionValidator.prototype.validate = function (input, path, field) { if (input == null) { return null; } @@ -3146,30 +3300,26 @@ return /******/ (function(modules) { // webpackBootstrap } var fields = [ { - field: "table", + field: "groupName", validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.stringValidator] }, { - field: "hierarchy", - validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.stringValidator] + field: "menuLocation", + validators: [validator_1.Validators.fieldForbiddenValidator] }, - { - 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 GroupedMenuExtensionValidator; + }(MenuExtensionBaseValidator)); + exports.GroupedMenuExtensionValidator = GroupedMenuExtensionValidator; + var ExtensionPointsValidator = /** @class */ (function (_super) { + __extends(ExtensionPointsValidator, _super); + function ExtensionPointsValidator() { return _super !== null && _super.apply(this, arguments) || this; } - FilterKeyHierarchyTargetValidator.prototype.validate = function (input, path, field) { + ExtensionPointsValidator.prototype.validate = function (input, path, field) { if (input == null) { return null; } @@ -3179,22 +3329,26 @@ return /******/ (function(modules) { // webpackBootstrap } var fields = [ { - field: "keys", - validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.stringArrayValidator] + 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 FilterKeyHierarchyTargetValidator; - }(FilterHierarchyTargetValidator)); - exports.FilterKeyHierarchyTargetValidator = FilterKeyHierarchyTargetValidator; - var FilterMeasureTargetValidator = /** @class */ (function (_super) { - __extends(FilterMeasureTargetValidator, _super); - function FilterMeasureTargetValidator() { + 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; } - FilterMeasureTargetValidator.prototype.validate = function (input, path, field) { + ExtensionItemValidator.prototype.validate = function (input, path, field) { if (input == null) { return null; } @@ -3204,26 +3358,26 @@ return /******/ (function(modules) { // webpackBootstrap } var fields = [ { - field: "table", + field: "name", validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.stringValidator] }, { - field: "measure", - 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 FilterMeasureTargetValidator; + return ExtensionItemValidator; }(typeValidator_1.ObjectValidator)); - exports.FilterMeasureTargetValidator = FilterMeasureTargetValidator; - var BasicFilterValidator = /** @class */ (function (_super) { - __extends(BasicFilterValidator, _super); - function BasicFilterValidator() { + exports.ExtensionItemValidator = ExtensionItemValidator; + var CommandExtensionValidator = /** @class */ (function (_super) { + __extends(CommandExtensionValidator, _super); + function CommandExtensionValidator() { return _super !== null && _super.apply(this, arguments) || this; } - BasicFilterValidator.prototype.validate = function (input, path, field) { + CommandExtensionValidator.prototype.validate = function (input, path, field) { if (input == null) { return null; } @@ -3233,38 +3387,55 @@ return /******/ (function(modules) { // webpackBootstrap } var fields = [ { - field: "target", - validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.filterTargetValidator] - }, - { - field: "operator", + field: "title", validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.stringValidator] }, { - field: "values", - validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.anyArrayValidator] + field: "icon", + validators: [validator_1.Validators.stringValidator] }, { - field: "filterType", - validators: [validator_1.Validators.basicFilterTypeValidator] + 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: "requireSingleSelection", - validators: [validator_1.Validators.booleanValidator] - }, + field: "command", + validators: [validator_1.Validators.commandExtensionValidator] + } ]; var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields); return multipleFieldsValidator.validate(input, path, field); }; - return BasicFilterValidator; + return ExtensionValidator; }(typeValidator_1.ObjectValidator)); - exports.BasicFilterValidator = BasicFilterValidator; - var AdvancedFilterValidator = /** @class */ (function (_super) { - __extends(AdvancedFilterValidator, _super); - function AdvancedFilterValidator() { + exports.ExtensionValidator = ExtensionValidator; + var MenuGroupExtensionValidator = /** @class */ (function (_super) { + __extends(MenuGroupExtensionValidator, _super); + function MenuGroupExtensionValidator() { return _super !== null && _super.apply(this, arguments) || this; } - AdvancedFilterValidator.prototype.validate = function (input, path, field) { + MenuGroupExtensionValidator.prototype.validate = function (input, path, field) { if (input == null) { return null; } @@ -3274,34 +3445,30 @@ return /******/ (function(modules) { // webpackBootstrap } var fields = [ { - field: "target", - validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.filterTargetValidator] + field: "name", + validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.stringValidator] }, { - field: "logicalOperator", + field: "title", validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.stringValidator] }, { - field: "conditions", - validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.filterConditionsValidator] + field: "menuLocation", + validators: [validator_1.Validators.menuLocationValidator] }, - { - field: "filterType", - validators: [validator_1.Validators.advancedFilterTypeValidator] - } ]; var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields); return multipleFieldsValidator.validate(input, path, field); }; - return AdvancedFilterValidator; + return MenuGroupExtensionValidator; }(typeValidator_1.ObjectValidator)); - exports.AdvancedFilterValidator = AdvancedFilterValidator; - var RelativeDateFilterValidator = /** @class */ (function (_super) { - __extends(RelativeDateFilterValidator, _super); - function RelativeDateFilterValidator() { + exports.MenuGroupExtensionValidator = MenuGroupExtensionValidator; + var ExtensionsValidator = /** @class */ (function (_super) { + __extends(ExtensionsValidator, _super); + function ExtensionsValidator() { return _super !== null && _super.apply(this, arguments) || this; } - RelativeDateFilterValidator.prototype.validate = function (input, path, field) { + ExtensionsValidator.prototype.validate = function (input, path, field) { if (input == null) { return null; } @@ -3311,42 +3478,50 @@ return /******/ (function(modules) { // webpackBootstrap } var fields = [ { - field: "target", - validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.filterTargetValidator] + field: "commands", + validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.commandExtensionArrayValidator] }, { - 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] - }, + field: "groups", + validators: [validator_1.Validators.menuGroupExtensionArrayValidator] + } ]; var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields); return multipleFieldsValidator.validate(input, path, field); }; - return RelativeDateFilterValidator; + return ExtensionsValidator; }(typeValidator_1.ObjectValidator)); - exports.RelativeDateFilterValidator = RelativeDateFilterValidator; - var RelativeTimeFilterValidator = /** @class */ (function (_super) { - __extends(RelativeTimeFilterValidator, _super); - function RelativeTimeFilterValidator() { + exports.ExtensionsValidator = ExtensionsValidator; + + + /***/ }), + /* 12 */ + /***/ (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 }); + exports.ConditionItemValidator = exports.FilterValidator = exports.IncludeExcludeFilterValidator = exports.NotSupportedFilterValidator = exports.TopNFilterValidator = exports.RelativeTimeFilterValidator = exports.RelativeDateFilterValidator = exports.AdvancedFilterValidator = exports.BasicFilterValidator = exports.FilterMeasureTargetValidator = exports.FilterKeyHierarchyTargetValidator = exports.FilterHierarchyTargetValidator = exports.FilterKeyColumnsTargetValidator = exports.FilterColumnTargetValidator = void 0; + var multipleFieldsValidator_1 = __webpack_require__(3); + var typeValidator_1 = __webpack_require__(4); + var validator_1 = __webpack_require__(1); + var FilterColumnTargetValidator = /** @class */ (function (_super) { + __extends(FilterColumnTargetValidator, _super); + function FilterColumnTargetValidator() { return _super !== null && _super.apply(this, arguments) || this; } - RelativeTimeFilterValidator.prototype.validate = function (input, path, field) { + FilterColumnTargetValidator.prototype.validate = function (input, path, field) { if (input == null) { return null; } @@ -3356,38 +3531,26 @@ return /******/ (function(modules) { // webpackBootstrap } 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: "table", + validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.stringValidator] }, { - field: "filterType", - validators: [validator_1.Validators.relativeTimeFilterTypeValidator] - }, + 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 RelativeTimeFilterValidator; + return FilterColumnTargetValidator; }(typeValidator_1.ObjectValidator)); - exports.RelativeTimeFilterValidator = RelativeTimeFilterValidator; - var TopNFilterValidator = /** @class */ (function (_super) { - __extends(TopNFilterValidator, _super); - function TopNFilterValidator() { + exports.FilterColumnTargetValidator = FilterColumnTargetValidator; + var FilterKeyColumnsTargetValidator = /** @class */ (function (_super) { + __extends(FilterKeyColumnsTargetValidator, _super); + function FilterKeyColumnsTargetValidator() { return _super !== null && _super.apply(this, arguments) || this; } - TopNFilterValidator.prototype.validate = function (input, path, field) { + FilterKeyColumnsTargetValidator.prototype.validate = function (input, path, field) { if (input == null) { return null; } @@ -3397,38 +3560,55 @@ return /******/ (function(modules) { // webpackBootstrap } var fields = [ { - field: "target", - validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.filterTargetValidator] + 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: "operator", + field: "table", 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: "hierarchy", + validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.stringValidator] }, { - field: "orderBy", - validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.filterTargetValidator] + 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 TopNFilterValidator; + return FilterHierarchyTargetValidator; }(typeValidator_1.ObjectValidator)); - exports.TopNFilterValidator = TopNFilterValidator; - var NotSupportedFilterValidator = /** @class */ (function (_super) { - __extends(NotSupportedFilterValidator, _super); - function NotSupportedFilterValidator() { + exports.FilterHierarchyTargetValidator = FilterHierarchyTargetValidator; + var FilterKeyHierarchyTargetValidator = /** @class */ (function (_super) { + __extends(FilterKeyHierarchyTargetValidator, _super); + function FilterKeyHierarchyTargetValidator() { return _super !== null && _super.apply(this, arguments) || this; } - NotSupportedFilterValidator.prototype.validate = function (input, path, field) { + FilterKeyHierarchyTargetValidator.prototype.validate = function (input, path, field) { if (input == null) { return null; } @@ -3438,34 +3618,51 @@ return /******/ (function(modules) { // webpackBootstrap } var fields = [ { - field: "target", - validators: [validator_1.Validators.filterTargetValidator] + 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: "message", + field: "table", validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.stringValidator] }, { - field: "notSupportedTypeName", + field: "measure", 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; + return FilterMeasureTargetValidator; }(typeValidator_1.ObjectValidator)); - exports.NotSupportedFilterValidator = NotSupportedFilterValidator; - var IncludeExcludeFilterValidator = /** @class */ (function (_super) { - __extends(IncludeExcludeFilterValidator, _super); - function IncludeExcludeFilterValidator() { + exports.FilterMeasureTargetValidator = FilterMeasureTargetValidator; + var BasicFilterValidator = /** @class */ (function (_super) { + __extends(BasicFilterValidator, _super); + function BasicFilterValidator() { return _super !== null && _super.apply(this, arguments) || this; } - IncludeExcludeFilterValidator.prototype.validate = function (input, path, field) { + BasicFilterValidator.prototype.validate = function (input, path, field) { if (input == null) { return null; } @@ -3479,8 +3676,8 @@ return /******/ (function(modules) { // webpackBootstrap validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.filterTargetValidator] }, { - field: "isExclude", - validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.booleanValidator] + field: "operator", + validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.stringValidator] }, { field: "values", @@ -3488,35 +3685,25 @@ return /******/ (function(modules) { // webpackBootstrap }, { field: "filterType", - validators: [validator_1.Validators.includeExludeFilterTypeValidator] + 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 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; + return BasicFilterValidator; }(typeValidator_1.ObjectValidator)); - exports.FilterValidator = FilterValidator; - var ConditionItemValidator = /** @class */ (function (_super) { - __extends(ConditionItemValidator, _super); - function ConditionItemValidator() { + exports.BasicFilterValidator = BasicFilterValidator; + var AdvancedFilterValidator = /** @class */ (function (_super) { + __extends(AdvancedFilterValidator, _super); + function AdvancedFilterValidator() { return _super !== null && _super.apply(this, arguments) || this; } - ConditionItemValidator.prototype.validate = function (input, path, field) { + AdvancedFilterValidator.prototype.validate = function (input, path, field) { if (input == null) { return null; } @@ -3526,111 +3713,34 @@ return /******/ (function(modules) { // webpackBootstrap } var fields = [ { - field: "value", - validators: [validator_1.Validators.anyValueValidator] + field: "target", + validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.filterTargetValidator] }, { - field: "operator", + 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 ConditionItemValidator; + return AdvancedFilterValidator; }(typeValidator_1.ObjectValidator)); - exports.ConditionItemValidator = ConditionItemValidator; - - - /***/ }), - /* 8 */ - /***/ (function(module, exports) { - - Object.defineProperty(exports, "__esModule", { value: true }); - exports.FieldRequiredValidator = void 0; - var FieldRequiredValidator = /** @class */ (function () { - function FieldRequiredValidator() { + exports.AdvancedFilterValidator = AdvancedFilterValidator; + var RelativeDateFilterValidator = /** @class */ (function (_super) { + __extends(RelativeDateFilterValidator, _super); + function RelativeDateFilterValidator() { + return _super !== null && _super.apply(this, arguments) || this; } - 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 }); - exports.AnyOfValidator = void 0; - 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 = 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.ReportLoadValidator = void 0; - 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) { + RelativeDateFilterValidator.prototype.validate = function (input, path, field) { if (input == null) { return null; } @@ -3640,163 +3750,42 @@ return /******/ (function(modules) { // webpackBootstrap } 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] + field: "target", + validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.filterTargetValidator] }, - ]; - 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 = 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.ReportCreateValidator = void 0; - 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: "operator", + validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.relativeDateFilterOperatorValidator] }, { - field: "datasetId", - validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.stringValidator] + field: "timeUnitsCount", + validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.numberValidator] }, { - field: "groupId", - validators: [validator_1.Validators.stringValidator] + field: "timeUnitType", + validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.relativeDateFilterTimeUnitTypeValidator] }, { - field: "tokenType", - validators: [validator_1.Validators.tokenTypeValidator] + field: "includeToday", + validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.booleanValidator] }, { - field: "theme", - validators: [validator_1.Validators.customThemeValidator] + field: "filterType", + validators: [validator_1.Validators.relativeDateFilterTypeValidator] }, ]; var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields); return multipleFieldsValidator.validate(input, path, field); }; - return ReportCreateValidator; + return RelativeDateFilterValidator; }(typeValidator_1.ObjectValidator)); - exports.ReportCreateValidator = ReportCreateValidator; - - - /***/ }), - /* 12 */ - /***/ (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 }); - exports.DashboardLoadValidator = void 0; - 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() { + exports.RelativeDateFilterValidator = RelativeDateFilterValidator; + var RelativeTimeFilterValidator = /** @class */ (function (_super) { + __extends(RelativeTimeFilterValidator, _super); + function RelativeTimeFilterValidator() { return _super !== null && _super.apply(this, arguments) || this; } - DashboardLoadValidator.prototype.validate = function (input, path, field) { + RelativeTimeFilterValidator.prototype.validate = function (input, path, field) { if (input == null) { return null; } @@ -3806,66 +3795,38 @@ return /******/ (function(modules) { // webpackBootstrap } 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: "target", + validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.filterTargetValidator] }, { - field: "groupId", - validators: [validator_1.Validators.stringValidator] + field: "operator", + validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.relativeDateFilterOperatorValidator] }, { - field: "pageView", - validators: [validator_1.Validators.pageViewFieldValidator] + field: "timeUnitsCount", + validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.numberValidator] }, { - field: "tokenType", - validators: [validator_1.Validators.tokenTypeValidator] + field: "timeUnitType", + validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.relativeTimeFilterTimeUnitTypeValidator] }, { - 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 = 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.TileLoadValidator = void 0; - 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() { + 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() { return _super !== null && _super.apply(this, arguments) || this; } - TileLoadValidator.prototype.validate = function (input, path, field) { + TopNFilterValidator.prototype.validate = function (input, path, field) { if (input == null) { return null; } @@ -3875,74 +3836,38 @@ return /******/ (function(modules) { // webpackBootstrap } 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: "target", + validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.filterTargetValidator] }, { - field: "dashboardId", + field: "operator", 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: "itemCount", + validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.numberValidator] }, { - field: "width", - validators: [validator_1.Validators.numberValidator] + field: "filterType", + validators: [validator_1.Validators.topNFilterTypeValidator] }, { - field: "height", - validators: [validator_1.Validators.numberValidator] + 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 TileLoadValidator; + return TopNFilterValidator; }(typeValidator_1.ObjectValidator)); - exports.TileLoadValidator = TileLoadValidator; - - - /***/ }), - /* 14 */ - /***/ (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 }); - exports.PageViewFieldValidator = exports.PageValidator = exports.CustomPageSizeValidator = exports.PageSizeValidator = void 0; - 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() { + exports.TopNFilterValidator = TopNFilterValidator; + var NotSupportedFilterValidator = /** @class */ (function (_super) { + __extends(NotSupportedFilterValidator, _super); + function NotSupportedFilterValidator() { return _super !== null && _super.apply(this, arguments) || this; } - PageSizeValidator.prototype.validate = function (input, path, field) { + NotSupportedFilterValidator.prototype.validate = function (input, path, field) { if (input == null) { return null; } @@ -3952,22 +3877,34 @@ return /******/ (function(modules) { // webpackBootstrap } var fields = [ { - field: "type", - validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.pageSizeTypeValidator] - } + 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 PageSizeValidator; + return NotSupportedFilterValidator; }(typeValidator_1.ObjectValidator)); - exports.PageSizeValidator = PageSizeValidator; - var CustomPageSizeValidator = /** @class */ (function (_super) { - __extends(CustomPageSizeValidator, _super); - function CustomPageSizeValidator() { + exports.NotSupportedFilterValidator = NotSupportedFilterValidator; + var IncludeExcludeFilterValidator = /** @class */ (function (_super) { + __extends(IncludeExcludeFilterValidator, _super); + function IncludeExcludeFilterValidator() { return _super !== null && _super.apply(this, arguments) || this; } - CustomPageSizeValidator.prototype.validate = function (input, path, field) { + IncludeExcludeFilterValidator.prototype.validate = function (input, path, field) { if (input == null) { return null; } @@ -3977,26 +3914,48 @@ return /******/ (function(modules) { // webpackBootstrap } var fields = [ { - field: "width", - validators: [validator_1.Validators.numberValidator] + field: "target", + validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.filterTargetValidator] }, { - field: "height", - validators: [validator_1.Validators.numberValidator] - } + 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 CustomPageSizeValidator; - }(PageSizeValidator)); - exports.CustomPageSizeValidator = CustomPageSizeValidator; - var PageValidator = /** @class */ (function (_super) { - __extends(PageValidator, _super); - function PageValidator() { + 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; } - PageValidator.prototype.validate = function (input, path, field) { + 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; } @@ -4006,44 +3965,24 @@ return /******/ (function(modules) { // webpackBootstrap } var fields = [ { - field: "name", + 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 PageValidator; + return ConditionItemValidator; }(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; + exports.ConditionItemValidator = ConditionItemValidator; /***/ }), - /* 15 */ + /* 13 */ /***/ (function(module, exports, __webpack_require__) { var __extends = (this && this.__extends) || (function () { @@ -4060,16 +3999,16 @@ return /******/ (function(modules) { // webpackBootstrap }; })(); Object.defineProperty(exports, "__esModule", { value: true }); - exports.QnaInterpretInputDataValidator = exports.QnaSettingsValidator = exports.LoadQnaValidator = void 0; + exports.PageLayoutValidator = exports.DisplayStateValidator = exports.VisualLayoutValidator = exports.CustomLayoutValidator = void 0; + var multipleFieldsValidator_1 = __webpack_require__(3); + var typeValidator_1 = __webpack_require__(4); 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() { + var CustomLayoutValidator = /** @class */ (function (_super) { + __extends(CustomLayoutValidator, _super); + function CustomLayoutValidator() { return _super !== null && _super.apply(this, arguments) || this; } - LoadQnaValidator.prototype.validate = function (input, path, field) { + CustomLayoutValidator.prototype.validate = function (input, path, field) { if (input == null) { return null; } @@ -4079,46 +4018,75 @@ return /******/ (function(modules) { // webpackBootstrap } var fields = [ { - field: "accessToken", - validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.stringValidator] + field: "pageSize", + validators: [validator_1.Validators.pageSizeValidator] }, { - field: "datasetIds", - validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.stringArrayValidator] + field: "displayOption", + validators: [validator_1.Validators.customLayoutDisplayOptionValidator] }, { - field: "question", - validators: [validator_1.Validators.stringValidator] + 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: "viewMode", - validators: [validator_1.Validators.viewModeValidator] + field: "y", + validators: [validator_1.Validators.numberValidator] }, { - field: "settings", - validators: [validator_1.Validators.qnaSettingValidator] + field: "z", + validators: [validator_1.Validators.numberValidator] }, { - field: "tokenType", - validators: [validator_1.Validators.tokenTypeValidator] + field: "width", + validators: [validator_1.Validators.numberValidator] }, { - field: "groupId", - validators: [validator_1.Validators.stringValidator] + 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 LoadQnaValidator; + return VisualLayoutValidator; }(typeValidator_1.ObjectValidator)); - exports.LoadQnaValidator = LoadQnaValidator; - var QnaSettingsValidator = /** @class */ (function (_super) { - __extends(QnaSettingsValidator, _super); - function QnaSettingsValidator() { + exports.VisualLayoutValidator = VisualLayoutValidator; + var DisplayStateValidator = /** @class */ (function (_super) { + __extends(DisplayStateValidator, _super); + function DisplayStateValidator() { return _super !== null && _super.apply(this, arguments) || this; } - QnaSettingsValidator.prototype.validate = function (input, path, field) { + DisplayStateValidator.prototype.validate = function (input, path, field) { if (input == null) { return null; } @@ -4128,26 +4096,22 @@ return /******/ (function(modules) { // webpackBootstrap } var fields = [ { - field: "filterPaneEnabled", - validators: [validator_1.Validators.booleanValidator] - }, - { - field: "hideErrors", - validators: [validator_1.Validators.booleanValidator] - }, + field: "mode", + validators: [validator_1.Validators.displayStateModeValidator] + } ]; var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields); return multipleFieldsValidator.validate(input, path, field); }; - return QnaSettingsValidator; + return DisplayStateValidator; }(typeValidator_1.ObjectValidator)); - exports.QnaSettingsValidator = QnaSettingsValidator; - var QnaInterpretInputDataValidator = /** @class */ (function (_super) { - __extends(QnaInterpretInputDataValidator, _super); - function QnaInterpretInputDataValidator() { + exports.DisplayStateValidator = DisplayStateValidator; + var PageLayoutValidator = /** @class */ (function (_super) { + __extends(PageLayoutValidator, _super); + function PageLayoutValidator() { return _super !== null && _super.apply(this, arguments) || this; } - QnaInterpretInputDataValidator.prototype.validate = function (input, path, field) { + PageLayoutValidator.prototype.validate = function (input, path, field) { if (input == null) { return null; } @@ -4157,24 +4121,24 @@ return /******/ (function(modules) { // webpackBootstrap } var fields = [ { - field: "datasetIds", - validators: [validator_1.Validators.stringArrayValidator] + field: "visualsLayout", + validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.pageLayoutValidator] }, { - field: "question", - validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.stringValidator] - }, + field: "defaultLayout", + validators: [validator_1.Validators.visualLayoutValidator] + } ]; var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields); return multipleFieldsValidator.validate(input, path, field); }; - return QnaInterpretInputDataValidator; + return PageLayoutValidator; }(typeValidator_1.ObjectValidator)); - exports.QnaInterpretInputDataValidator = QnaInterpretInputDataValidator; + exports.PageLayoutValidator = PageLayoutValidator; /***/ }), - /* 16 */ + /* 14 */ /***/ (function(module, exports, __webpack_require__) { var __extends = (this && this.__extends) || (function () { @@ -4191,16 +4155,16 @@ return /******/ (function(modules) { // webpackBootstrap }; })(); Object.defineProperty(exports, "__esModule", { value: true }); - exports.SaveAsParametersValidator = void 0; + exports.PageViewFieldValidator = exports.PageValidator = exports.CustomPageSizeValidator = exports.PageSizeValidator = void 0; + var multipleFieldsValidator_1 = __webpack_require__(3); + var typeValidator_1 = __webpack_require__(4); 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() { + var PageSizeValidator = /** @class */ (function (_super) { + __extends(PageSizeValidator, _super); + function PageSizeValidator() { return _super !== null && _super.apply(this, arguments) || this; } - SaveAsParametersValidator.prototype.validate = function (input, path, field) { + PageSizeValidator.prototype.validate = function (input, path, field) { if (input == null) { return null; } @@ -4210,47 +4174,51 @@ return /******/ (function(modules) { // webpackBootstrap } var fields = [ { - field: "name", - validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.stringValidator] + 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 SaveAsParametersValidator; + return PageSizeValidator; }(typeValidator_1.ObjectValidator)); - exports.SaveAsParametersValidator = SaveAsParametersValidator; - - - /***/ }), - /* 17 */ - /***/ (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 __()); + 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); }; - })(); - Object.defineProperty(exports, "__esModule", { value: true }); - exports.MapValidator = void 0; - 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; + return CustomPageSizeValidator; + }(PageSizeValidator)); + exports.CustomPageSizeValidator = CustomPageSizeValidator; + var PageValidator = /** @class */ (function (_super) { + __extends(PageValidator, _super); + function PageValidator() { + return _super !== null && _super.apply(this, arguments) || this; } - MapValidator.prototype.validate = function (input, path, field) { + PageValidator.prototype.validate = function (input, path, field) { if (input == null) { return null; } @@ -4258,34 +4226,46 @@ return /******/ (function(modules) { // webpackBootstrap 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; - } - } + 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 MapValidator; - }(typeValidator_1.ObjectValidator)); - exports.MapValidator = MapValidator; + return PageViewFieldValidator; + }(typeValidator_1.StringValidator)); + exports.PageViewFieldValidator = PageViewFieldValidator; /***/ }), - /* 18 */ + /* 15 */ /***/ (function(module, exports, __webpack_require__) { var __extends = (this && this.__extends) || (function () { @@ -4302,16 +4282,16 @@ return /******/ (function(modules) { // webpackBootstrap }; })(); Object.defineProperty(exports, "__esModule", { value: true }); - exports.PageLayoutValidator = exports.DisplayStateValidator = exports.VisualLayoutValidator = exports.CustomLayoutValidator = void 0; + exports.VisualizationsPaneValidator = exports.SyncSlicersPaneValidator = exports.SelectionPaneValidator = exports.PageNavigationPaneValidator = exports.FiltersPaneValidator = exports.FieldsPaneValidator = exports.BookmarksPaneValidator = exports.ReportPanesValidator = void 0; + var multipleFieldsValidator_1 = __webpack_require__(3); + var typeValidator_1 = __webpack_require__(4); 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() { + var ReportPanesValidator = /** @class */ (function (_super) { + __extends(ReportPanesValidator, _super); + function ReportPanesValidator() { return _super !== null && _super.apply(this, arguments) || this; } - CustomLayoutValidator.prototype.validate = function (input, path, field) { + ReportPanesValidator.prototype.validate = function (input, path, field) { if (input == null) { return null; } @@ -4321,75 +4301,71 @@ return /******/ (function(modules) { // webpackBootstrap } var fields = [ { - field: "pageSize", - validators: [validator_1.Validators.pageSizeValidator] + field: "bookmarks", + validators: [validator_1.Validators.bookmarksPaneValidator] }, { - field: "displayOption", - validators: [validator_1.Validators.customLayoutDisplayOptionValidator] + field: "fields", + validators: [validator_1.Validators.fieldsPaneValidator] }, { - field: "pagesLayout", - validators: [validator_1.Validators.pagesLayoutValidator] + 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 CustomLayoutValidator; + return ReportPanesValidator; }(typeValidator_1.ObjectValidator)); - exports.CustomLayoutValidator = CustomLayoutValidator; - var VisualLayoutValidator = /** @class */ (function (_super) { - __extends(VisualLayoutValidator, _super); - function VisualLayoutValidator() { + exports.ReportPanesValidator = ReportPanesValidator; + var BookmarksPaneValidator = /** @class */ (function (_super) { + __extends(BookmarksPaneValidator, _super); + function BookmarksPaneValidator() { return _super !== null && _super.apply(this, arguments) || this; } - VisualLayoutValidator.prototype.validate = function (input, path, field) { + 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: "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] - }, + } + var errors = _super.prototype.validate.call(this, input, path, field); + if (errors) { + return errors; + } + var fields = [ { - field: "height", - validators: [validator_1.Validators.numberValidator] + field: "visible", + validators: [validator_1.Validators.booleanValidator] }, - { - field: "displayState", - validators: [validator_1.Validators.displayStateValidator] - } ]; var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields); return multipleFieldsValidator.validate(input, path, field); }; - return VisualLayoutValidator; + return BookmarksPaneValidator; }(typeValidator_1.ObjectValidator)); - exports.VisualLayoutValidator = VisualLayoutValidator; - var DisplayStateValidator = /** @class */ (function (_super) { - __extends(DisplayStateValidator, _super); - function DisplayStateValidator() { + exports.BookmarksPaneValidator = BookmarksPaneValidator; + var FieldsPaneValidator = /** @class */ (function (_super) { + __extends(FieldsPaneValidator, _super); + function FieldsPaneValidator() { return _super !== null && _super.apply(this, arguments) || this; } - DisplayStateValidator.prototype.validate = function (input, path, field) { + FieldsPaneValidator.prototype.validate = function (input, path, field) { if (input == null) { return null; } @@ -4399,22 +4375,22 @@ return /******/ (function(modules) { // webpackBootstrap } var fields = [ { - field: "mode", - validators: [validator_1.Validators.displayStateModeValidator] - } + field: "expanded", + validators: [validator_1.Validators.booleanValidator] + }, ]; var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields); return multipleFieldsValidator.validate(input, path, field); }; - return DisplayStateValidator; + return FieldsPaneValidator; }(typeValidator_1.ObjectValidator)); - exports.DisplayStateValidator = DisplayStateValidator; - var PageLayoutValidator = /** @class */ (function (_super) { - __extends(PageLayoutValidator, _super); - function PageLayoutValidator() { + exports.FieldsPaneValidator = FieldsPaneValidator; + var FiltersPaneValidator = /** @class */ (function (_super) { + __extends(FiltersPaneValidator, _super); + function FiltersPaneValidator() { return _super !== null && _super.apply(this, arguments) || this; } - PageLayoutValidator.prototype.validate = function (input, path, field) { + FiltersPaneValidator.prototype.validate = function (input, path, field) { if (input == null) { return null; } @@ -4424,49 +4400,26 @@ return /******/ (function(modules) { // webpackBootstrap } var fields = [ { - field: "visualsLayout", - validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.pageLayoutValidator] + field: "visible", + validators: [validator_1.Validators.booleanValidator] }, { - field: "defaultLayout", - validators: [validator_1.Validators.visualLayoutValidator] - } + field: "expanded", + validators: [validator_1.Validators.booleanValidator] + }, ]; var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields); return multipleFieldsValidator.validate(input, path, field); }; - return PageLayoutValidator; + return FiltersPaneValidator; }(typeValidator_1.ObjectValidator)); - exports.PageLayoutValidator = PageLayoutValidator; - - - /***/ }), - /* 19 */ - /***/ (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 }); - exports.ExportDataRequestValidator = void 0; - var multipleFieldsValidator_1 = __webpack_require__(4); - var typeValidator_1 = __webpack_require__(2); - var ExportDataRequestValidator = /** @class */ (function (_super) { - __extends(ExportDataRequestValidator, _super); - function ExportDataRequestValidator() { + exports.FiltersPaneValidator = FiltersPaneValidator; + var PageNavigationPaneValidator = /** @class */ (function (_super) { + __extends(PageNavigationPaneValidator, _super); + function PageNavigationPaneValidator() { return _super !== null && _super.apply(this, arguments) || this; } - ExportDataRequestValidator.prototype.validate = function (input, path, field) { + PageNavigationPaneValidator.prototype.validate = function (input, path, field) { if (input == null) { return null; } @@ -4476,51 +4429,26 @@ return /******/ (function(modules) { // webpackBootstrap } var fields = [ { - field: "rows", - validators: [new typeValidator_1.NumberValidator()] + field: "visible", + validators: [validator_1.Validators.booleanValidator] }, { - field: "exportDataType", - validators: [new typeValidator_1.EnumValidator([0, 1])] - } + field: "position", + validators: [validator_1.Validators.pageNavigationPositionValidator] + }, ]; var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields); return multipleFieldsValidator.validate(input, path, field); }; - return ExportDataRequestValidator; + return PageNavigationPaneValidator; }(typeValidator_1.ObjectValidator)); - exports.ExportDataRequestValidator = ExportDataRequestValidator; - - - /***/ }), - /* 20 */ - /***/ (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 }); - exports.SlicerTargetSelectorValidator = exports.VisualTypeSelectorValidator = exports.VisualSelectorValidator = void 0; - 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() { + exports.PageNavigationPaneValidator = PageNavigationPaneValidator; + var SelectionPaneValidator = /** @class */ (function (_super) { + __extends(SelectionPaneValidator, _super); + function SelectionPaneValidator() { return _super !== null && _super.apply(this, arguments) || this; } - VisualSelectorValidator.prototype.validate = function (input, path, field) { + SelectionPaneValidator.prototype.validate = function (input, path, field) { if (input == null) { return null; } @@ -4530,27 +4458,22 @@ return /******/ (function(modules) { // webpackBootstrap } 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: "visible", + validators: [validator_1.Validators.booleanValidator] }, - { - 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; + return SelectionPaneValidator; }(typeValidator_1.ObjectValidator)); - exports.VisualSelectorValidator = VisualSelectorValidator; - var VisualTypeSelectorValidator = /** @class */ (function (_super) { - __extends(VisualTypeSelectorValidator, _super); - function VisualTypeSelectorValidator() { + exports.SelectionPaneValidator = SelectionPaneValidator; + var SyncSlicersPaneValidator = /** @class */ (function (_super) { + __extends(SyncSlicersPaneValidator, _super); + function SyncSlicersPaneValidator() { return _super !== null && _super.apply(this, arguments) || this; } - VisualTypeSelectorValidator.prototype.validate = function (input, path, field) { + SyncSlicersPaneValidator.prototype.validate = function (input, path, field) { if (input == null) { return null; } @@ -4560,26 +4483,22 @@ return /******/ (function(modules) { // webpackBootstrap } var fields = [ { - field: "$schema", - validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.stringValidator, new typeValidator_2.SchemaValidator("http://powerbi.com/product/schema#visualTypeSelector")] + field: "visible", + validators: [validator_1.Validators.booleanValidator] }, - { - 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; + return SyncSlicersPaneValidator; }(typeValidator_1.ObjectValidator)); - exports.VisualTypeSelectorValidator = VisualTypeSelectorValidator; - var SlicerTargetSelectorValidator = /** @class */ (function (_super) { - __extends(SlicerTargetSelectorValidator, _super); - function SlicerTargetSelectorValidator() { + exports.SyncSlicersPaneValidator = SyncSlicersPaneValidator; + var VisualizationsPaneValidator = /** @class */ (function (_super) { + __extends(VisualizationsPaneValidator, _super); + function VisualizationsPaneValidator() { return _super !== null && _super.apply(this, arguments) || this; } - SlicerTargetSelectorValidator.prototype.validate = function (input, path, field) { + VisualizationsPaneValidator.prototype.validate = function (input, path, field) { if (input == null) { return null; } @@ -4589,24 +4508,20 @@ return /******/ (function(modules) { // webpackBootstrap } var fields = [ { - field: "$schema", - validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.stringValidator, new typeValidator_2.SchemaValidator("http://powerbi.com/product/schema#slicerTargetSelector")] + field: "expanded", + validators: [validator_1.Validators.booleanValidator] }, - { - 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; + return VisualizationsPaneValidator; }(typeValidator_1.ObjectValidator)); - exports.SlicerTargetSelectorValidator = SlicerTargetSelectorValidator; + exports.VisualizationsPaneValidator = VisualizationsPaneValidator; /***/ }), - /* 21 */ + /* 16 */ /***/ (function(module, exports, __webpack_require__) { var __extends = (this && this.__extends) || (function () { @@ -4623,16 +4538,16 @@ return /******/ (function(modules) { // webpackBootstrap }; })(); Object.defineProperty(exports, "__esModule", { value: true }); - exports.SlicerStateValidator = exports.SlicerValidator = void 0; + exports.QnaInterpretInputDataValidator = exports.QnaSettingsValidator = exports.LoadQnaValidator = void 0; + var multipleFieldsValidator_1 = __webpack_require__(3); + var typeValidator_1 = __webpack_require__(4); 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() { + var LoadQnaValidator = /** @class */ (function (_super) { + __extends(LoadQnaValidator, _super); + function LoadQnaValidator() { return _super !== null && _super.apply(this, arguments) || this; } - SlicerValidator.prototype.validate = function (input, path, field) { + LoadQnaValidator.prototype.validate = function (input, path, field) { if (input == null) { return null; } @@ -4642,26 +4557,75 @@ return /******/ (function(modules) { // webpackBootstrap } var fields = [ { - field: "selector", - validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.slicerSelectorValidator] + field: "accessToken", + validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.stringValidator] }, { - field: "state", - validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.slicerStateValidator] + 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 SlicerValidator; + return LoadQnaValidator; }(typeValidator_1.ObjectValidator)); - exports.SlicerValidator = SlicerValidator; - var SlicerStateValidator = /** @class */ (function (_super) { - __extends(SlicerStateValidator, _super); - function SlicerStateValidator() { + 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; } - SlicerStateValidator.prototype.validate = function (input, path, field) { + QnaInterpretInputDataValidator.prototype.validate = function (input, path, field) { if (input == null) { return null; } @@ -4671,20 +4635,24 @@ return /******/ (function(modules) { // webpackBootstrap } var fields = [ { - field: "filters", - validators: [validator_1.Validators.filtersArrayValidator] - } + 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 SlicerStateValidator; + return QnaInterpretInputDataValidator; }(typeValidator_1.ObjectValidator)); - exports.SlicerStateValidator = SlicerStateValidator; + exports.QnaInterpretInputDataValidator = QnaInterpretInputDataValidator; /***/ }), - /* 22 */ + /* 17 */ /***/ (function(module, exports, __webpack_require__) { var __extends = (this && this.__extends) || (function () { @@ -4701,16 +4669,16 @@ return /******/ (function(modules) { // webpackBootstrap }; })(); Object.defineProperty(exports, "__esModule", { value: true }); - exports.VisualHeaderValidator = exports.VisualHeaderSettingsValidator = exports.VisualSettingsValidator = void 0; + exports.ReportCreateValidator = void 0; + var multipleFieldsValidator_1 = __webpack_require__(3); + var typeValidator_1 = __webpack_require__(4); 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() { + var ReportCreateValidator = /** @class */ (function (_super) { + __extends(ReportCreateValidator, _super); + function ReportCreateValidator() { return _super !== null && _super.apply(this, arguments) || this; } - VisualSettingsValidator.prototype.validate = function (input, path, field) { + ReportCreateValidator.prototype.validate = function (input, path, field) { if (input == null) { return null; } @@ -4720,74 +4688,36 @@ return /******/ (function(modules) { // webpackBootstrap } var fields = [ { - field: "visualHeaders", - validators: [validator_1.Validators.visualHeadersValidator] + field: "accessToken", + validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.stringValidator] }, - ]; - 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: "datasetId", + validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.stringValidator] + }, { - field: "settings", - validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.visualHeaderSettingsValidator] + field: "groupId", + validators: [validator_1.Validators.stringValidator] }, { - field: "selector", - validators: [validator_1.Validators.visualHeaderSelectorValidator] + 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 VisualHeaderValidator; + return ReportCreateValidator; }(typeValidator_1.ObjectValidator)); - exports.VisualHeaderValidator = VisualHeaderValidator; + exports.ReportCreateValidator = ReportCreateValidator; /***/ }), - /* 23 */ + /* 18 */ /***/ (function(module, exports, __webpack_require__) { var __extends = (this && this.__extends) || (function () { @@ -4804,16 +4734,16 @@ return /******/ (function(modules) { // webpackBootstrap }; })(); Object.defineProperty(exports, "__esModule", { value: true }); - exports.SingleCommandSettingsValidator = exports.CommandsSettingsValidator = void 0; + exports.ReportLoadValidator = void 0; + var multipleFieldsValidator_1 = __webpack_require__(3); + var typeValidator_1 = __webpack_require__(4); 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() { + var ReportLoadValidator = /** @class */ (function (_super) { + __extends(ReportLoadValidator, _super); + function ReportLoadValidator() { return _super !== null && _super.apply(this, arguments) || this; } - CommandsSettingsValidator.prototype.validate = function (input, path, field) { + ReportLoadValidator.prototype.validate = function (input, path, field) { if (input == null) { return null; } @@ -4823,62 +4753,98 @@ return /******/ (function(modules) { // webpackBootstrap } var fields = [ { - field: "copy", - validators: [validator_1.Validators.singleCommandSettingsValidator] + field: "accessToken", + validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.stringValidator] }, { - field: "drill", - validators: [validator_1.Validators.singleCommandSettingsValidator] + field: "id", + validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.stringValidator] }, { - field: "drillthrough", - validators: [validator_1.Validators.singleCommandSettingsValidator] + field: "groupId", + validators: [validator_1.Validators.stringValidator] }, { - field: "expandCollapse", - validators: [validator_1.Validators.singleCommandSettingsValidator] + field: "settings", + validators: [validator_1.Validators.settingsValidator] }, { - field: "exportData", - validators: [validator_1.Validators.singleCommandSettingsValidator] + field: "pageName", + validators: [validator_1.Validators.stringValidator] }, { - field: "includeExclude", - validators: [validator_1.Validators.singleCommandSettingsValidator] + field: "filters", + validators: [validator_1.Validators.filtersArrayValidator] }, { - field: "removeVisual", - validators: [validator_1.Validators.singleCommandSettingsValidator] + field: "permissions", + validators: [validator_1.Validators.permissionsValidator] }, { - field: "search", - validators: [validator_1.Validators.singleCommandSettingsValidator] + field: "viewMode", + validators: [validator_1.Validators.viewModeValidator] }, { - field: "seeData", - validators: [validator_1.Validators.singleCommandSettingsValidator] + field: "tokenType", + validators: [validator_1.Validators.tokenTypeValidator] }, { - field: "sort", - validators: [validator_1.Validators.singleCommandSettingsValidator] + field: "bookmark", + validators: [validator_1.Validators.applyBookmarkValidator] }, { - field: "spotlight", - validators: [validator_1.Validators.singleCommandSettingsValidator] + 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 CommandsSettingsValidator; + return ReportLoadValidator; }(typeValidator_1.ObjectValidator)); - exports.CommandsSettingsValidator = CommandsSettingsValidator; - var SingleCommandSettingsValidator = /** @class */ (function (_super) { - __extends(SingleCommandSettingsValidator, _super); - function SingleCommandSettingsValidator() { + exports.ReportLoadValidator = ReportLoadValidator; + + + /***/ }), + /* 19 */ + /***/ (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 }); + exports.SaveAsParametersValidator = void 0; + var multipleFieldsValidator_1 = __webpack_require__(3); + var typeValidator_1 = __webpack_require__(4); + var validator_1 = __webpack_require__(1); + var SaveAsParametersValidator = /** @class */ (function (_super) { + __extends(SaveAsParametersValidator, _super); + function SaveAsParametersValidator() { return _super !== null && _super.apply(this, arguments) || this; } - SingleCommandSettingsValidator.prototype.validate = function (input, path, field) { + SaveAsParametersValidator.prototype.validate = function (input, path, field) { if (input == null) { return null; } @@ -4888,24 +4854,20 @@ return /******/ (function(modules) { // webpackBootstrap } var fields = [ { - field: "displayOption", - validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.commandDisplayOptionValidator] - }, - { - field: "selector", - validators: [validator_1.Validators.visualCommandSelectorValidator] - }, + 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 SingleCommandSettingsValidator; + return SaveAsParametersValidator; }(typeValidator_1.ObjectValidator)); - exports.SingleCommandSettingsValidator = SingleCommandSettingsValidator; + exports.SaveAsParametersValidator = SaveAsParametersValidator; /***/ }), - /* 24 */ + /* 20 */ /***/ (function(module, exports, __webpack_require__) { var __extends = (this && this.__extends) || (function () { @@ -4922,15 +4884,47 @@ return /******/ (function(modules) { // webpackBootstrap }; })(); Object.defineProperty(exports, "__esModule", { value: true }); - exports.CustomThemeValidator = void 0; - var multipleFieldsValidator_1 = __webpack_require__(4); - var typeValidator_1 = __webpack_require__(2); - var CustomThemeValidator = /** @class */ (function (_super) { - __extends(CustomThemeValidator, _super); - function CustomThemeValidator() { + exports.SlicerTargetSelectorValidator = exports.VisualTypeSelectorValidator = exports.VisualSelectorValidator = void 0; + var multipleFieldsValidator_1 = __webpack_require__(3); + var typeValidator_1 = __webpack_require__(4); + var typeValidator_2 = __webpack_require__(4); + var validator_1 = __webpack_require__(1); + 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; } - CustomThemeValidator.prototype.validate = function (input, path, field) { + VisualTypeSelectorValidator.prototype.validate = function (input, path, field) { if (input == null) { return null; } @@ -4940,46 +4934,26 @@ return /******/ (function(modules) { // webpackBootstrap } var fields = [ { - field: "themeJson", - validators: [new typeValidator_1.ObjectValidator()] + 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 CustomThemeValidator; + return VisualTypeSelectorValidator; }(typeValidator_1.ObjectValidator)); - exports.CustomThemeValidator = CustomThemeValidator; - - - /***/ }), - /* 25 */ - /***/ (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 }); - exports.DatasetBindingValidator = void 0; - 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() { + exports.VisualTypeSelectorValidator = VisualTypeSelectorValidator; + var SlicerTargetSelectorValidator = /** @class */ (function (_super) { + __extends(SlicerTargetSelectorValidator, _super); + function SlicerTargetSelectorValidator() { return _super !== null && _super.apply(this, arguments) || this; } - DatasetBindingValidator.prototype.validate = function (input, path, field) { + SlicerTargetSelectorValidator.prototype.validate = function (input, path, field) { if (input == null) { return null; } @@ -4989,20 +4963,24 @@ return /******/ (function(modules) { // webpackBootstrap } var fields = [ { - field: "datasetId", - validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.stringValidator] + 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 DatasetBindingValidator; + return SlicerTargetSelectorValidator; }(typeValidator_1.ObjectValidator)); - exports.DatasetBindingValidator = DatasetBindingValidator; + exports.SlicerTargetSelectorValidator = SlicerTargetSelectorValidator; /***/ }), - /* 26 */ + /* 21 */ /***/ (function(module, exports, __webpack_require__) { var __extends = (this && this.__extends) || (function () { @@ -5019,16 +4997,16 @@ return /******/ (function(modules) { // webpackBootstrap }; })(); Object.defineProperty(exports, "__esModule", { value: true }); - exports.VisualizationsPaneValidator = exports.SyncSlicersPaneValidator = exports.SelectionPaneValidator = exports.PageNavigationPaneValidator = exports.FiltersPaneValidator = exports.FieldsPaneValidator = exports.BookmarksPaneValidator = exports.ReportPanesValidator = void 0; + exports.SettingsValidator = void 0; + var multipleFieldsValidator_1 = __webpack_require__(3); + var typeValidator_1 = __webpack_require__(4); 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() { + var SettingsValidator = /** @class */ (function (_super) { + __extends(SettingsValidator, _super); + function SettingsValidator() { return _super !== null && _super.apply(this, arguments) || this; } - ReportPanesValidator.prototype.validate = function (input, path, field) { + SettingsValidator.prototype.validate = function (input, path, field) { if (input == null) { return null; } @@ -5038,71 +5016,114 @@ return /******/ (function(modules) { // webpackBootstrap } var fields = [ { - field: "bookmarks", - validators: [validator_1.Validators.bookmarksPaneValidator] + field: "filterPaneEnabled", + validators: [validator_1.Validators.booleanValidator] }, { - field: "fields", - validators: [validator_1.Validators.fieldsPaneValidator] + field: "navContentPaneEnabled", + validators: [validator_1.Validators.booleanValidator] }, { - field: "filters", - validators: [validator_1.Validators.filtersPaneValidator] + field: "bookmarksPaneEnabled", + validators: [validator_1.Validators.booleanValidator] }, { - field: "pageNavigation", - validators: [validator_1.Validators.pageNavigationPaneValidator] + field: "useCustomSaveAsDialog", + validators: [validator_1.Validators.booleanValidator] }, { - field: "selection", - validators: [validator_1.Validators.selectionPaneValidator] + field: "extensions", + validators: [validator_1.Validators.extensionsValidator] }, { - field: "syncSlicers", - validators: [validator_1.Validators.syncSlicersPaneValidator] + field: "layoutType", + validators: [validator_1.Validators.layoutTypeValidator] }, { - 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: "customLayout", + validators: [validator_1.Validators.customLayoutValidator] + }, { - field: "visible", + 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] + }, + { + field: "bars", + validators: [validator_1.Validators.reportBarsValidator] + }, + { + field: "panes", + validators: [validator_1.Validators.reportPanesValidator] + }, + { + field: "personalBookmarksEnabled", + validators: [validator_1.Validators.booleanValidator] + }, + { + field: "persistentFiltersEnabled", + validators: [validator_1.Validators.booleanValidator] + }, + { + field: "visualRenderedEvents", validators: [validator_1.Validators.booleanValidator] }, + { + field: "authoringHintsEnabled", + validators: [validator_1.Validators.booleanValidator] + } ]; var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields); return multipleFieldsValidator.validate(input, path, field); }; - return BookmarksPaneValidator; + return SettingsValidator; }(typeValidator_1.ObjectValidator)); - exports.BookmarksPaneValidator = BookmarksPaneValidator; - var FieldsPaneValidator = /** @class */ (function (_super) { - __extends(FieldsPaneValidator, _super); - function FieldsPaneValidator() { + exports.SettingsValidator = SettingsValidator; + + + /***/ }), + /* 22 */ + /***/ (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 }); + exports.SlicerStateValidator = exports.SlicerValidator = void 0; + var multipleFieldsValidator_1 = __webpack_require__(3); + var typeValidator_1 = __webpack_require__(4); + var validator_1 = __webpack_require__(1); + var SlicerValidator = /** @class */ (function (_super) { + __extends(SlicerValidator, _super); + function SlicerValidator() { return _super !== null && _super.apply(this, arguments) || this; } - FieldsPaneValidator.prototype.validate = function (input, path, field) { + SlicerValidator.prototype.validate = function (input, path, field) { if (input == null) { return null; } @@ -5112,22 +5133,26 @@ return /******/ (function(modules) { // webpackBootstrap } var fields = [ { - field: "expanded", - validators: [validator_1.Validators.booleanValidator] + 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 FieldsPaneValidator; + return SlicerValidator; }(typeValidator_1.ObjectValidator)); - exports.FieldsPaneValidator = FieldsPaneValidator; - var FiltersPaneValidator = /** @class */ (function (_super) { - __extends(FiltersPaneValidator, _super); - function FiltersPaneValidator() { + exports.SlicerValidator = SlicerValidator; + var SlicerStateValidator = /** @class */ (function (_super) { + __extends(SlicerStateValidator, _super); + function SlicerStateValidator() { return _super !== null && _super.apply(this, arguments) || this; } - FiltersPaneValidator.prototype.validate = function (input, path, field) { + SlicerStateValidator.prototype.validate = function (input, path, field) { if (input == null) { return null; } @@ -5137,26 +5162,46 @@ return /******/ (function(modules) { // webpackBootstrap } var fields = [ { - field: "visible", - validators: [validator_1.Validators.booleanValidator] - }, - { - field: "expanded", - validators: [validator_1.Validators.booleanValidator] - }, + field: "filters", + validators: [validator_1.Validators.filtersArrayValidator] + } ]; var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields); return multipleFieldsValidator.validate(input, path, field); }; - return FiltersPaneValidator; + return SlicerStateValidator; }(typeValidator_1.ObjectValidator)); - exports.FiltersPaneValidator = FiltersPaneValidator; - var PageNavigationPaneValidator = /** @class */ (function (_super) { - __extends(PageNavigationPaneValidator, _super); - function PageNavigationPaneValidator() { + exports.SlicerStateValidator = SlicerStateValidator; + + + /***/ }), + /* 23 */ + /***/ (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 }); + exports.TileLoadValidator = void 0; + var multipleFieldsValidator_1 = __webpack_require__(3); + var typeValidator_1 = __webpack_require__(4); + var validator_1 = __webpack_require__(1); + var TileLoadValidator = /** @class */ (function (_super) { + __extends(TileLoadValidator, _super); + function TileLoadValidator() { return _super !== null && _super.apply(this, arguments) || this; } - PageNavigationPaneValidator.prototype.validate = function (input, path, field) { + TileLoadValidator.prototype.validate = function (input, path, field) { if (input == null) { return null; } @@ -5166,26 +5211,74 @@ return /******/ (function(modules) { // webpackBootstrap } var fields = [ { - field: "visible", - validators: [validator_1.Validators.booleanValidator] + field: "accessToken", + validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.stringValidator] }, { - field: "position", - validators: [validator_1.Validators.pageNavigationPositionValidator] + 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 PageNavigationPaneValidator; + return TileLoadValidator; }(typeValidator_1.ObjectValidator)); - exports.PageNavigationPaneValidator = PageNavigationPaneValidator; - var SelectionPaneValidator = /** @class */ (function (_super) { - __extends(SelectionPaneValidator, _super); - function SelectionPaneValidator() { + exports.TileLoadValidator = TileLoadValidator; + + + /***/ }), + /* 24 */ + /***/ (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 }); + exports.VisualHeaderValidator = exports.VisualHeaderSettingsValidator = exports.VisualSettingsValidator = void 0; + var multipleFieldsValidator_1 = __webpack_require__(3); + var typeValidator_1 = __webpack_require__(4); + var validator_1 = __webpack_require__(1); + var VisualSettingsValidator = /** @class */ (function (_super) { + __extends(VisualSettingsValidator, _super); + function VisualSettingsValidator() { return _super !== null && _super.apply(this, arguments) || this; } - SelectionPaneValidator.prototype.validate = function (input, path, field) { + VisualSettingsValidator.prototype.validate = function (input, path, field) { if (input == null) { return null; } @@ -5195,22 +5288,22 @@ return /******/ (function(modules) { // webpackBootstrap } var fields = [ { - field: "visible", - validators: [validator_1.Validators.booleanValidator] + field: "visualHeaders", + validators: [validator_1.Validators.visualHeadersValidator] }, ]; var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields); return multipleFieldsValidator.validate(input, path, field); }; - return SelectionPaneValidator; + return VisualSettingsValidator; }(typeValidator_1.ObjectValidator)); - exports.SelectionPaneValidator = SelectionPaneValidator; - var SyncSlicersPaneValidator = /** @class */ (function (_super) { - __extends(SyncSlicersPaneValidator, _super); - function SyncSlicersPaneValidator() { + exports.VisualSettingsValidator = VisualSettingsValidator; + var VisualHeaderSettingsValidator = /** @class */ (function (_super) { + __extends(VisualHeaderSettingsValidator, _super); + function VisualHeaderSettingsValidator() { return _super !== null && _super.apply(this, arguments) || this; } - SyncSlicersPaneValidator.prototype.validate = function (input, path, field) { + VisualHeaderSettingsValidator.prototype.validate = function (input, path, field) { if (input == null) { return null; } @@ -5222,20 +5315,20 @@ return /******/ (function(modules) { // webpackBootstrap { field: "visible", validators: [validator_1.Validators.booleanValidator] - }, + } ]; var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields); return multipleFieldsValidator.validate(input, path, field); }; - return SyncSlicersPaneValidator; + return VisualHeaderSettingsValidator; }(typeValidator_1.ObjectValidator)); - exports.SyncSlicersPaneValidator = SyncSlicersPaneValidator; - var VisualizationsPaneValidator = /** @class */ (function (_super) { - __extends(VisualizationsPaneValidator, _super); - function VisualizationsPaneValidator() { + exports.VisualHeaderSettingsValidator = VisualHeaderSettingsValidator; + var VisualHeaderValidator = /** @class */ (function (_super) { + __extends(VisualHeaderValidator, _super); + function VisualHeaderValidator() { return _super !== null && _super.apply(this, arguments) || this; } - VisualizationsPaneValidator.prototype.validate = function (input, path, field) { + VisualHeaderValidator.prototype.validate = function (input, path, field) { if (input == null) { return null; } @@ -5245,20 +5338,109 @@ return /******/ (function(modules) { // webpackBootstrap } var fields = [ { - field: "expanded", - validators: [validator_1.Validators.booleanValidator] + 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 VisualizationsPaneValidator; + return VisualHeaderValidator; }(typeValidator_1.ObjectValidator)); - exports.VisualizationsPaneValidator = VisualizationsPaneValidator; + exports.VisualHeaderValidator = VisualHeaderValidator; + + + /***/ }), + /* 25 */ + /***/ (function(module, exports) { + + Object.defineProperty(exports, "__esModule", { value: true }); + exports.AnyOfValidator = void 0; + 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; + + + /***/ }), + /* 26 */ + /***/ (function(module, exports) { + + Object.defineProperty(exports, "__esModule", { value: true }); + exports.FieldForbiddenValidator = void 0; + var FieldForbiddenValidator = /** @class */ (function () { + function FieldForbiddenValidator() { + } + FieldForbiddenValidator.prototype.validate = function (input, path, field) { + if (input !== undefined) { + return [{ + message: field + " is forbidden", + path: (path ? path + "." : "") + field, + keyword: "forbidden" + }]; + } + return null; + }; + return FieldForbiddenValidator; + }()); + exports.FieldForbiddenValidator = FieldForbiddenValidator; /***/ }), /* 27 */ + /***/ (function(module, exports) { + + Object.defineProperty(exports, "__esModule", { value: true }); + exports.FieldRequiredValidator = void 0; + 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; + + + /***/ }), + /* 28 */ /***/ (function(module, exports, __webpack_require__) { var __extends = (this && this.__extends) || (function () { @@ -5275,16 +5457,17 @@ return /******/ (function(modules) { // webpackBootstrap }; })(); Object.defineProperty(exports, "__esModule", { value: true }); - exports.ActionBarValidator = exports.ReportBarsValidator = void 0; - var validator_1 = __webpack_require__(1); - var multipleFieldsValidator_1 = __webpack_require__(4); - var typeValidator_1 = __webpack_require__(2); - var ReportBarsValidator = /** @class */ (function (_super) { - __extends(ReportBarsValidator, _super); - function ReportBarsValidator() { - return _super !== null && _super.apply(this, arguments) || this; + exports.MapValidator = void 0; + var typeValidator_1 = __webpack_require__(4); + 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; } - ReportBarsValidator.prototype.validate = function (input, path, field) { + MapValidator.prototype.validate = function (input, path, field) { if (input == null) { return null; } @@ -5292,43 +5475,30 @@ return /******/ (function(modules) { // webpackBootstrap if (errors) { return errors; } - var fields = [ - { - field: "actionBar", - validators: [validator_1.Validators.actionBarValidator] + 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; + } + } } - ]; - var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields); - return multipleFieldsValidator.validate(input, path, field); - }; - return ReportBarsValidator; - }(typeValidator_1.ObjectValidator)); - exports.ReportBarsValidator = ReportBarsValidator; - var ActionBarValidator = /** @class */ (function (_super) { - __extends(ActionBarValidator, _super); - function ActionBarValidator() { - return _super !== null && _super.apply(this, arguments) || this; - } - ActionBarValidator.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 null; }; - return ActionBarValidator; + return MapValidator; }(typeValidator_1.ObjectValidator)); - exports.ActionBarValidator = ActionBarValidator; + exports.MapValidator = MapValidator; /***/ }) @@ -6497,7 +6667,6 @@ return /******/ (function(modules) { // webpackBootstrap * @class Dashboard * @extends {embed.Embed} * @implements {IDashboardNode} - * @implements {IFilterable} */ var Dashboard = (function (_super) { __extends(Dashboard, _super); diff --git a/dist/powerbi.min.js b/dist/powerbi.min.js index 0637ccbf..a3222a9d 100644 --- a/dist/powerbi.min.js +++ b/dist/powerbi.min.js @@ -1,9 +1,9 @@ /*! powerbi-client v2.15.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(16);e.factories=i;var o=r(5);e.models=o;var n=r(7);e.Report=n.Report;var l=r(12);e.Dashboard=l.Dashboard;var d=r(13);e.Tile=d.Tile;var s=r(2);e.Embed=s.Embed;var u=r(8);e.Page=u.Page;var p=r(14);e.Qna=p.Qna;var c=r(15);e.Visual=c.Visual;var f=r(9);e.VisualDescriptor=f.VisualDescriptor;var v=new a.Service(i.hpmFactory,i.wpmpFactory,i.routerFactory);window.powerbi=v},function(t,e,r){var a=r(2),i=r(7),o=r(11),n=r(12),l=r(13),d=r(8),s=r(14),u=r(15),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 d=p.find(function(t){return l===t.type.toLowerCase()},t.components);if(!d)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 s=new d(this,e,r,o,n);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),(!1),t.powerBiEmbed.iframe);return a.populateConfig(e,!1),o.load(),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(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){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 d.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,s.Qna,u.Visual],t.defaultConfig={autoEmbedOnContentLoaded:!1,onError:function(){for(var t=[],e=0;e>=4,r.toString(16)})}function s(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]}function v(t,e){return Math.abs(t.getTime()-e.getTime())}e.raiseCustomEvent=r,e.findIndex=a,e.find=i,e.remove=o,e.assign=n,e.createRandomString=l,e.generateUUID=d,e.addParamToUrl=s,e.isSavedInternal=u,e.isRDLEmbed=p,e.autoAuthInEmbedUrl=c,e.getRandomValue=f,e.getTimeDiffInMilliseconds=v},function(t,e){var r={version:"2.15.2",type:"js"};Object.defineProperty(e,"__esModule",{value:!0}),e["default"]=r},function(t,e,r){/*! powerbi-models v1.6.0 | (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)===nt.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)?nt.Basic:"string"==typeof r.logicalOperator&&Array.isArray(r.conditions)?nt.Advanced:nt.Unknown}function n(t){return void 0!==t.table&&void 0!==t.measure}function l(t){return!(!t.table||!t.column||t.aggregationFunction)}function d(t){return!(!(t.table&&t.hierarchy&&t.hierarchyLevel)||t.aggregationFunction)}function s(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 v(t){var r=e.Validators.slicerStateValidator.validate(t);return r?r.map(p):void 0}function h(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.captureBookmarkRequestValidator.validate(t);return r?r.map(p):void 0}function w(t){var r=e.Validators.settingsValidator.validate(t);return r?r.map(p):void 0}function b(t){var r=e.Validators.reportPanesValidator.validate(t);return r?r.map(p):void 0}function P(t){var r=e.Validators.bookmarksPaneValidator.validate(t);return r?r.map(p):void 0}function S(t){var r=e.Validators.filtersPanesValidator.validate(t);return r?r.map(p):void 0}function T(t){var r=e.Validators.fieldsPanesValidator.validate(t);return r?r.map(p):void 0}function E(t){var r=e.Validators.pageNavigationPaneValidator.validate(t);return r?r.map(p):void 0}function O(t){var r=e.Validators.selectionPaneValidator.validate(t);return r?r.map(p):void 0}function _(t){var r=e.Validators.syncSlicersPaneValidator.validate(t);return r?r.map(p):void 0}function R(t){var r=e.Validators.visualizationsPanesValidator.validate(t);return r?r.map(p):void 0}function F(t){var r=e.Validators.customPageSizeValidator.validate(t);return r?r.map(p):void 0}function k(t){var r=e.Validators.extensionValidator.validate(t);return r?r.map(p):void 0}function C(t){var r=e.Validators.reportLoadValidator.validate(t);return r?r.map(p):void 0}function A(t){var r=e.Validators.reportCreateValidator.validate(t);return r?r.map(p):void 0}function x(t){var r=e.Validators.dashboardLoadValidator.validate(t);return r?r.map(p):void 0}function q(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 L(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 N(t){var r=e.Validators.qnaInterpretInputDataValidator.validate(t);return r?r.map(p):void 0}function D(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 B(t){var r=e.Validators.visualSettingsValidator.validate(t);return r?r.map(p):void 0}function W(t){var r=e.Validators.commandsSettingsValidator.validate(t);return r?r.map(p):void 0}function H(t){var r=e.Validators.customThemeValidator.validate(t);return r?r.map(p):void 0}var z=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.validateCustomTheme=e.validateCommandsSettings=e.validateVisualSettings=e.validateVisualHeader=e.validateExportDataRequest=e.validateQnaInterpretInputData=e.validateLoadQnaConfiguration=e.validateSaveAsParameters=e.validateFilter=e.validatePage=e.validateTileLoad=e.validateDashboardLoad=e.validateCreateReport=e.validateReportLoad=e.validateExtension=e.validateCustomPageSize=e.validateVisualizationsPane=e.validateSyncSlicersPane=e.validateSelectionPane=e.validatePageNavigationPane=e.validateFieldsPane=e.validateFiltersPane=e.validateBookmarksPane=e.validatePanes=e.validateSettings=e.validateCaptureBookmarkRequest=e.validateApplyBookmarkStateRequest=e.validateApplyBookmarkByNameRequest=e.validateAddBookmarkRequest=e.validatePlayBookmarkRequest=e.validateSlicerState=e.validateSlicer=e.validateVisualSelector=e.VisualDataRoleKindPreference=e.VisualDataRoleKind=e.CommandDisplayOption=e.SlicerTargetSelector=e.VisualTypeSelector=e.VisualSelector=e.PageSelector=e.Selector=e.SortDirection=e.LegendPosition=e.TextAlignment=e.CommonErrorCodes=e.BookmarksPlayMode=e.ExportDataType=e.QnaMode=e.PageNavigationPosition=e.isColumnAggr=e.isHierarchyLevelAggr=e.isHierarchyLevel=e.isColumn=e.isMeasure=e.getFilterType=e.isBasicFilterWithKeys=e.isFilterKeyColumnsTarget=e.AdvancedFilter=e.TupleFilter=e.BasicFilterWithKeys=e.BasicFilter=e.RelativeTimeFilter=e.RelativeDateFilter=e.TopNFilter=e.IncludeExcludeFilter=e.NotSupportedFilter=e.Filter=e.RelativeDateOperators=e.RelativeDateFilterTimeUnit=e.FilterType=e.FiltersLevel=e.MenuLocation=e.ContrastMode=e.TokenType=e.ViewMode=e.Permissions=e.SectionVisibility=e.HyperlinkClickBehavior=e.LayoutType=e.VisualContainerDisplayMode=e.BackgroundType=e.DisplayOption=e.PageSizeType=e.TraceType=e.Validators=void 0,e.Validators=r(1).Validators;var J;!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"}(J=e.TraceType||(e.TraceType={}));var Q;!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"}(Q=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 K;!function(t){t[t.Default=0]="Default",t[t.Transparent=1]="Transparent"}(K=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 X;!function(t){t[t.Navigate=0]="Navigate",t[t.NavigateAndRaiseEvent=1]="NavigateAndRaiseEvent",t[t.RaiseEvent=2]="RaiseEvent"}(X=e.HyperlinkClickBehavior||(e.HyperlinkClickBehavior={}));var Z;!function(t){t[t.AlwaysVisible=0]="AlwaysVisible",t[t.HiddenInViewMode=1]="HiddenInViewMode"}(Z=e.SectionVisibility||(e.SectionVisibility={}));var tt;!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"}(tt=e.Permissions||(e.Permissions={}));var et;!function(t){t[t.View=0]="View",t[t.Edit=1]="Edit"}(et=e.ViewMode||(e.ViewMode={}));var rt;!function(t){t[t.Aad=0]="Aad",t[t.Embed=1]="Embed"}(rt=e.TokenType||(e.TokenType={}));var at;!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"}(at=e.ContrastMode||(e.ContrastMode={}));var it;!function(t){t[t.Bottom=0]="Bottom",t[t.Top=1]="Top"}(it=e.MenuLocation||(e.MenuLocation={}));var ot;!function(t){t[t.Report=0]="Report",t[t.Page=1]="Page",t[t.Visual=2]="Visual"}(ot=e.FiltersLevel||(e.FiltersLevel={}));var nt;!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"}(nt=e.FilterType||(e.FilterType={}));var lt;!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"}(lt=e.RelativeDateFilterTimeUnit||(e.RelativeDateFilterTimeUnit={}));var dt;!function(t){t[t.InLast=0]="InLast",t[t.InThis=1]="InThis",t[t.InNext=2]="InNext"}(dt=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 ut=function(t){function e(r,a,i){var o=t.call(this,r,nt.Unknown)||this;return o.message=a,o.notSupportedTypeName=i,o.schemaUrl=e.schemaUrl,o}return z(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=ut;var pt=function(t){function e(r,a,i){var o=t.call(this,r,nt.IncludeExclude)||this;return o.values=i,o.isExclude=a,o.schemaUrl=e.schemaUrl,o}return z(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=pt;var ct=function(t){function e(r,a,i,o){var n=t.call(this,r,nt.TopN)||this;return n.operator=a,n.itemCount=i,n.schemaUrl=e.schemaUrl,n.orderBy=o,n}return z(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=ct;var ft=function(t){function e(r,a,i,o,n){var l=t.call(this,r,nt.RelativeDate)||this;return l.operator=a,l.timeUnitsCount=i,l.timeUnitType=o,l.includeToday=n,l.schemaUrl=e.schemaUrl,l}return z(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=ft;var vt=function(t){function e(r,a,i,o){var n=t.call(this,r,nt.RelativeTime)||this;return n.operator=a,n.timeUnitsCount=i,n.timeUnitType=o,n.schemaUrl=e.schemaUrl,n}return z(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=vt;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 z(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=Vt,e.isFilterKeyColumnsTarget=a,e.isBasicFilterWithKeys=i,e.getFilterType=o,e.isMeasure=n,e.isColumn=l,e.isHierarchyLevel=d,e.isHierarchyLevelAggr=s,e.isColumnAggr=u;var gt;!function(t){t[t.Bottom=0]="Bottom",t[t.Left=1]="Left"}(gt=e.PageNavigationPosition||(e.PageNavigationPosition={}));var wt;!function(t){t[t.Interactive=0]="Interactive",t[t.ResultOnly=1]="ResultOnly"}(wt=e.QnaMode||(e.QnaMode={}));var bt;!function(t){t[t.Summarized=0]="Summarized",t[t.Underlying=1]="Underlying"}(bt=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 St;!function(t){t[t.Ascending=1]="Ascending",t[t.Descending=2]="Descending"}(St=e.SortDirection||(e.SortDirection={}));var Tt=function(){function t(t){this.$schema=t}return t.prototype.toJSON=function(){return{$schema:this.$schema}},t}();e.Selector=Tt;var Et=function(t){function e(r){var a=t.call(this,e.schemaUrl)||this;return a.pageName=r,a}return z(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}(Tt);e.PageSelector=Et;var Ot=function(t){function e(r){var a=t.call(this,e.schemaUrl)||this;return a.visualName=r,a}return z(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}(Tt);e.VisualSelector=Ot;var _t=function(t){function e(e){var r=t.call(this,Ot.schemaUrl)||this;return r.visualType=e,r}return z(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}(Tt);e.VisualTypeSelector=_t;var Rt=function(t){function e(e){var r=t.call(this,Ot.schemaUrl)||this;return r.target=e,r}return z(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}(Tt);e.SlicerTargetSelector=Rt;var Ft;!function(t){t[t.Enabled=0]="Enabled",t[t.Disabled=1]="Disabled",t[t.Hidden=2]="Hidden"}(Ft=e.CommandDisplayOption||(e.CommandDisplayOption={}));var kt;!function(t){t[t.Grouping=0]="Grouping",t[t.Measure=1]="Measure",t[t.GroupingOrMeasure=2]="GroupingOrMeasure"}(kt=e.VisualDataRoleKind||(e.VisualDataRoleKind={}));var Ct;!function(t){t[t.Measure=0]="Measure",t[t.Grouping=1]="Grouping"}(Ct=e.VisualDataRoleKindPreference||(e.VisualDataRoleKindPreference={})),e.validateVisualSelector=c,e.validateSlicer=f,e.validateSlicerState=v,e.validatePlayBookmarkRequest=h,e.validateAddBookmarkRequest=y,e.validateApplyBookmarkByNameRequest=m,e.validateApplyBookmarkStateRequest=V,e.validateCaptureBookmarkRequest=g,e.validateSettings=w,e.validatePanes=b,e.validateBookmarksPane=P,e.validateFiltersPane=S,e.validateFieldsPane=T,e.validatePageNavigationPane=E,e.validateSelectionPane=O,e.validateSyncSlicersPane=_,e.validateVisualizationsPane=R,e.validateCustomPageSize=F,e.validateExtension=k,e.validateReportLoad=C,e.validateCreateReport=A,e.validateDashboardLoad=x,e.validateTileLoad=q,e.validatePage=M,e.validateFilter=I,e.validateSaveAsParameters=L,e.validateLoadQnaConfiguration=j,e.validateQnaInterpretInputData=N,e.validateExportDataRequest=D,e.validateVisualHeader=U,e.validateVisualSettings=B,e.validateCommandsSettings=W,e.validateCustomTheme=H},function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.Validators=void 0;var a=r(2),i=r(3),o=r(5),n=r(6),l=r(7),d=r(8),s=r(9),u=r(10),p=r(11),c=r(12),f=r(13),v=r(14),h=r(15),y=r(16),m=r(17),V=r(18),g=r(19),w=r(20),b=r(21),P=r(22),S=r(23),T=r(24),E=r(25),O=r(26),_=r(27);e.Validators={addBookmarkRequestValidator:new n.AddBookmarkRequestValidator,advancedFilterTypeValidator:new a.EnumValidator([0]),advancedFilterValidator:new l.AdvancedFilterValidator,anyArrayValidator:new a.ArrayValidator([new s.AnyOfValidator([new a.StringValidator,new a.NumberValidator,new a.BooleanValidator])]),anyFilterValidator:new s.AnyOfValidator([new l.BasicFilterValidator,new l.AdvancedFilterValidator,new l.IncludeExcludeFilterValidator,new l.NotSupportedFilterValidator,new l.RelativeDateFilterValidator,new l.TopNFilterValidator,new l.RelativeTimeFilterValidator]),anyValueValidator:new s.AnyOfValidator([new a.StringValidator,new a.NumberValidator,new a.BooleanValidator]),actionBarValidator:new _.ActionBarValidator,applyBookmarkByNameRequestValidator:new n.ApplyBookmarkByNameRequestValidator,applyBookmarkStateRequestValidator:new n.ApplyBookmarkStateRequestValidator,applyBookmarkValidator:new s.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,captureBookmarkOptionsValidator:new n.CaptureBookmarkOptionsValidator,captureBookmarkRequestValidator:new n.CaptureBookmarkRequestValidator,commandDisplayOptionValidator:new a.EnumValidator([0,1,2]),commandExtensionSelectorValidator:new s.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 V.CustomLayoutValidator,customPageSizeValidator:new v.CustomPageSizeValidator,customThemeValidator:new T.CustomThemeValidator,dashboardLoadValidator:new c.DashboardLoadValidator,datasetBindingValidator:new E.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 d.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 s.AnyOfValidator([new l.FilterColumnTargetValidator,new l.FilterHierarchyTargetValidator,new l.FilterMeasureTargetValidator]),filtersArrayValidator:new a.ArrayValidator([new s.AnyOfValidator([new l.BasicFilterValidator,new l.AdvancedFilterValidator,new l.RelativeDateFilterValidator,new l.RelativeTimeFilterValidator])]),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 h.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,pageNavigationPositionValidator:new a.EnumValidator([0,1]),pageSizeTypeValidator:new a.EnumValidator([0,1,2,3,4,5]),pageSizeValidator:new v.PageSizeValidator,pageValidator:new v.PageValidator,pageViewFieldValidator:new v.PageViewFieldValidator,pagesLayoutValidator:new m.MapValidator([new a.StringValidator],[new V.PageLayoutValidator]),reportBarsValidator:new _.ReportBarsValidator,reportPanesValidator:new O.ReportPanesValidator,permissionsValidator:new a.EnumValidator([0,1,2,4,7]),playBookmarkRequestValidator:new n.PlayBookmarkRequestValidator,qnaInterpretInputDataValidator:new h.QnaInterpretInputDataValidator,qnaSettingValidator:new h.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 S.SingleCommandSettingsValidator,slicerSelectorValidator:new s.AnyOfValidator([new w.VisualSelectorValidator,new w.SlicerTargetSelectorValidator]),slicerStateValidator:new b.SlicerStateValidator,slicerTargetValidator:new s.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 s.AnyOfValidator([new w.VisualSelectorValidator,new w.VisualTypeSelectorValidator]),visualHeaderSelectorValidator:new s.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}),e.NumberArrayValidator=e.BooleanArrayValidator=e.StringArrayValidator=e.EnumValidator=e.SchemaValidator=e.ValueValidator=e.NumberValidator=e.BooleanValidator=e.StringValidator=e.TypeValidator=e.ArrayValidator=e.ObjectValidator=void 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 s(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]}function v(t,e){return Math.abs(t.getTime()-e.getTime())}e.raiseCustomEvent=r,e.findIndex=a,e.find=i,e.remove=o,e.assign=n,e.createRandomString=l,e.generateUUID=d,e.addParamToUrl=s,e.isSavedInternal=u,e.isRDLEmbed=p,e.autoAuthInEmbedUrl=c,e.getRandomValue=f,e.getTimeDiffInMilliseconds=v},function(t,e){var r={version:"2.15.2",type:"js"};Object.defineProperty(e,"__esModule",{value:!0}),e["default"]=r},function(t,e,r){/*! powerbi-models v1.7.0 | (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)===ct.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)?ct.Basic:"string"==typeof r.logicalOperator&&Array.isArray(r.conditions)?ct.Advanced:ct.Unknown}function n(t){return void 0!==t.table&&void 0!==t.measure}function l(t){return!(!t.table||!t.column||t.aggregationFunction)}function d(t){return!(!(t.table&&t.hierarchy&&t.hierarchyLevel)||t.aggregationFunction)}function s(t){return!!(t.table&&t.hierarchy&&t.hierarchyLevel&&t.aggregationFunction)}function u(t){return!!(t.table&&t.column&&t.aggregationFunction)}function p(t){return t&&!c(t)}function c(t){return t&&!!t.groupName}function f(t){return t&&!v(t)}function v(t){return Array.isArray(t)}function h(t){var e=t.message;return e||(e=t.path+" is invalid. Not meeting "+t.keyword+" constraint"),{message:e}}function y(t){var e=X.Validators.visualSelectorValidator.validate(t);return e?e.map(h):void 0}function V(t){var e=X.Validators.slicerValidator.validate(t);return e?e.map(h):void 0}function m(t){var e=X.Validators.slicerStateValidator.validate(t);return e?e.map(h):void 0}function g(t){var e=X.Validators.playBookmarkRequestValidator.validate(t);return e?e.map(h):void 0}function w(t){var e=X.Validators.addBookmarkRequestValidator.validate(t);return e?e.map(h):void 0}function b(t){var e=X.Validators.applyBookmarkByNameRequestValidator.validate(t);return e?e.map(h):void 0}function P(t){var e=X.Validators.applyBookmarkStateRequestValidator.validate(t);return e?e.map(h):void 0}function S(t){var e=X.Validators.captureBookmarkRequestValidator.validate(t);return e?e.map(h):void 0}function E(t){var e=X.Validators.settingsValidator.validate(t);return e?e.map(h):void 0}function T(t){var e=X.Validators.reportPanesValidator.validate(t);return e?e.map(h):void 0}function O(t){var e=X.Validators.bookmarksPaneValidator.validate(t);return e?e.map(h):void 0}function _(t){var e=X.Validators.filtersPaneValidator.validate(t);return e?e.map(h):void 0}function F(t){var e=X.Validators.fieldsPaneValidator.validate(t);return e?e.map(h):void 0}function R(t){var e=X.Validators.pageNavigationPaneValidator.validate(t);return e?e.map(h):void 0}function k(t){var e=X.Validators.selectionPaneValidator.validate(t);return e?e.map(h):void 0}function A(t){var e=X.Validators.syncSlicersPaneValidator.validate(t);return e?e.map(h):void 0}function C(t){var e=X.Validators.visualizationsPaneValidator.validate(t);return e?e.map(h):void 0}function x(t){var e=X.Validators.customPageSizeValidator.validate(t);return e?e.map(h):void 0}function M(t){var e=X.Validators.extensionValidator.validate(t);return e?e.map(h):void 0}function q(t){var e=X.Validators.menuGroupExtensionValidator.validate(t);return e?e.map(h):void 0}function I(t){var e=X.Validators.reportLoadValidator.validate(t);return e?e.map(h):void 0}function L(t){var e=X.Validators.reportCreateValidator.validate(t);return e?e.map(h):void 0}function j(t){var e=X.Validators.dashboardLoadValidator.validate(t);return e?e.map(h):void 0}function N(t){var e=X.Validators.tileLoadValidator.validate(t);return e?e.map(h):void 0}function D(t){var e=X.Validators.pageValidator.validate(t);return e?e.map(h):void 0}function U(t){var e=X.Validators.filtersValidator.validate(t);return e?e.map(h):void 0}function B(t){var e=X.Validators.saveAsParametersValidator.validate(t);return e?e.map(h):void 0}function W(t){var e=X.Validators.loadQnaValidator.validate(t);return e?e.map(h):void 0}function H(t){var e=X.Validators.qnaInterpretInputDataValidator.validate(t);return e?e.map(h):void 0}function z(t){var e=X.Validators.exportDataRequestValidator.validate(t);return e?e.map(h):void 0}function J(t){var e=X.Validators.visualHeaderValidator.validate(t);return e?e.map(h):void 0}function G(t){var e=X.Validators.visualSettingsValidator.validate(t);return e?e.map(h):void 0}function Q(t){var e=X.Validators.commandsSettingsValidator.validate(t);return e?e.map(h):void 0}function Y(t){var e=X.Validators.customThemeValidator.validate(t);return e?e.map(h):void 0}var K=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.validateCustomTheme=e.validateCommandsSettings=e.validateVisualSettings=e.validateVisualHeader=e.validateExportDataRequest=e.validateQnaInterpretInputData=e.validateLoadQnaConfiguration=e.validateSaveAsParameters=e.validateFilter=e.validatePage=e.validateTileLoad=e.validateDashboardLoad=e.validateCreateReport=e.validateReportLoad=e.validateMenuGroupExtension=e.validateExtension=e.validateCustomPageSize=e.validateVisualizationsPane=e.validateSyncSlicersPane=e.validateSelectionPane=e.validatePageNavigationPane=e.validateFieldsPane=e.validateFiltersPane=e.validateBookmarksPane=e.validatePanes=e.validateSettings=e.validateCaptureBookmarkRequest=e.validateApplyBookmarkStateRequest=e.validateApplyBookmarkByNameRequest=e.validateAddBookmarkRequest=e.validatePlayBookmarkRequest=e.validateSlicerState=e.validateSlicer=e.validateVisualSelector=e.isIExtensionArray=e.isIExtensions=e.isGroupedMenuExtension=e.isFlatMenuExtension=e.VisualDataRoleKindPreference=e.VisualDataRoleKind=e.CommandDisplayOption=e.SlicerTargetSelector=e.VisualTypeSelector=e.VisualSelector=e.PageSelector=e.Selector=e.SortDirection=e.LegendPosition=e.TextAlignment=e.CommonErrorCodes=e.BookmarksPlayMode=e.ExportDataType=e.QnaMode=e.PageNavigationPosition=e.isColumnAggr=e.isHierarchyLevelAggr=e.isHierarchyLevel=e.isColumn=e.isMeasure=e.getFilterType=e.isBasicFilterWithKeys=e.isFilterKeyColumnsTarget=e.AdvancedFilter=e.TupleFilter=e.BasicFilterWithKeys=e.BasicFilter=e.RelativeTimeFilter=e.RelativeDateFilter=e.TopNFilter=e.IncludeExcludeFilter=e.NotSupportedFilter=e.Filter=e.RelativeDateOperators=e.RelativeDateFilterTimeUnit=e.FilterType=e.FiltersLevel=e.MenuLocation=e.ContrastMode=e.TokenType=e.ViewMode=e.Permissions=e.SectionVisibility=e.HyperlinkClickBehavior=e.LayoutType=e.VisualContainerDisplayMode=e.BackgroundType=e.DisplayOption=e.PageSizeType=e.TraceType=void 0;var $,X=r(1);!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"}($=e.TraceType||(e.TraceType={}));var Z;!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"}(Z=e.PageSizeType||(e.PageSizeType={}));var tt;!function(t){t[t.FitToPage=0]="FitToPage",t[t.FitToWidth=1]="FitToWidth",t[t.ActualSize=2]="ActualSize"}(tt=e.DisplayOption||(e.DisplayOption={}));var et;!function(t){t[t.Default=0]="Default",t[t.Transparent=1]="Transparent"}(et=e.BackgroundType||(e.BackgroundType={}));var rt;!function(t){t[t.Visible=0]="Visible",t[t.Hidden=1]="Hidden"}(rt=e.VisualContainerDisplayMode||(e.VisualContainerDisplayMode={}));var at;!function(t){t[t.Master=0]="Master",t[t.Custom=1]="Custom",t[t.MobilePortrait=2]="MobilePortrait",t[t.MobileLandscape=3]="MobileLandscape"}(at=e.LayoutType||(e.LayoutType={}));var it;!function(t){t[t.Navigate=0]="Navigate",t[t.NavigateAndRaiseEvent=1]="NavigateAndRaiseEvent",t[t.RaiseEvent=2]="RaiseEvent"}(it=e.HyperlinkClickBehavior||(e.HyperlinkClickBehavior={}));var ot;!function(t){t[t.AlwaysVisible=0]="AlwaysVisible",t[t.HiddenInViewMode=1]="HiddenInViewMode"}(ot=e.SectionVisibility||(e.SectionVisibility={}));var nt;!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"}(nt=e.Permissions||(e.Permissions={}));var lt;!function(t){t[t.View=0]="View",t[t.Edit=1]="Edit"}(lt=e.ViewMode||(e.ViewMode={}));var dt;!function(t){t[t.Aad=0]="Aad",t[t.Embed=1]="Embed"}(dt=e.TokenType||(e.TokenType={}));var st;!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"}(st=e.ContrastMode||(e.ContrastMode={}));var ut;!function(t){t[t.Bottom=0]="Bottom",t[t.Top=1]="Top"}(ut=e.MenuLocation||(e.MenuLocation={}));var pt;!function(t){t[t.Report=0]="Report",t[t.Page=1]="Page",t[t.Visual=2]="Visual"}(pt=e.FiltersLevel||(e.FiltersLevel={}));var ct;!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"}(ct=e.FilterType||(e.FilterType={}));var ft;!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"}(ft=e.RelativeDateFilterTimeUnit||(e.RelativeDateFilterTimeUnit={}));var vt;!function(t){t[t.InLast=0]="InLast",t[t.InThis=1]="InThis",t[t.InNext=2]="InNext"}(vt=e.RelativeDateOperators||(e.RelativeDateOperators={}));var ht=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=ht;var yt=function(t){function e(r,a,i){var o=t.call(this,r,ct.Unknown)||this;return o.message=a,o.notSupportedTypeName=i,o.schemaUrl=e.schemaUrl,o}return K(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}(ht);e.NotSupportedFilter=yt;var Vt=function(t){function e(r,a,i){var o=t.call(this,r,ct.IncludeExclude)||this;return o.values=i,o.isExclude=a,o.schemaUrl=e.schemaUrl,o}return K(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}(ht);e.IncludeExcludeFilter=Vt;var mt=function(t){function e(r,a,i,o){var n=t.call(this,r,ct.TopN)||this;return n.operator=a,n.itemCount=i,n.schemaUrl=e.schemaUrl,n.orderBy=o,n}return K(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}(ht);e.TopNFilter=mt;var gt=function(t){function e(r,a,i,o,n){var l=t.call(this,r,ct.RelativeDate)||this;return l.operator=a,l.timeUnitsCount=i,l.timeUnitType=o,l.includeToday=n,l.schemaUrl=e.schemaUrl,l}return K(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}(ht);e.RelativeDateFilter=gt;var wt=function(t){function e(r,a,i,o){var n=t.call(this,r,ct.RelativeTime)||this;return n.operator=a,n.timeUnitsCount=i,n.timeUnitType=o,n.schemaUrl=e.schemaUrl,n}return K(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}(ht);e.RelativeTimeFilter=wt;var bt=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,d=o.keyValues;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 K(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}(ht);e.AdvancedFilter=Et,e.isFilterKeyColumnsTarget=a,e.isBasicFilterWithKeys=i,e.getFilterType=o,e.isMeasure=n,e.isColumn=l,e.isHierarchyLevel=d,e.isHierarchyLevelAggr=s,e.isColumnAggr=u;var Tt;!function(t){t[t.Bottom=0]="Bottom",t[t.Left=1]="Left"}(Tt=e.PageNavigationPosition||(e.PageNavigationPosition={}));var Ot;!function(t){t[t.Interactive=0]="Interactive",t[t.ResultOnly=1]="ResultOnly"}(Ot=e.QnaMode||(e.QnaMode={}));var _t;!function(t){t[t.Summarized=0]="Summarized",t[t.Underlying=1]="Underlying"}(_t=e.ExportDataType||(e.ExportDataType={}));var Ft;!function(t){t[t.Off=0]="Off",t[t.Presentation=1]="Presentation"}(Ft=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 Rt;!function(t){t[t.Ascending=1]="Ascending",t[t.Descending=2]="Descending"}(Rt=e.SortDirection||(e.SortDirection={}));var kt=function(){function t(t){this.$schema=t}return t.prototype.toJSON=function(){return{$schema:this.$schema}},t}();e.Selector=kt;var At=function(t){function e(r){var a=t.call(this,e.schemaUrl)||this;return a.pageName=r,a}return K(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}(kt);e.PageSelector=At;var Ct=function(t){function e(r){var a=t.call(this,e.schemaUrl)||this;return a.visualName=r,a}return K(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}(kt);e.VisualSelector=Ct;var xt=function(t){function e(e){var r=t.call(this,Ct.schemaUrl)||this;return r.visualType=e,r}return K(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}(kt);e.VisualTypeSelector=xt;var Mt=function(t){function e(e){var r=t.call(this,Ct.schemaUrl)||this;return r.target=e,r}return K(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}(kt);e.SlicerTargetSelector=Mt;var qt;!function(t){t[t.Enabled=0]="Enabled",t[t.Disabled=1]="Disabled",t[t.Hidden=2]="Hidden"}(qt=e.CommandDisplayOption||(e.CommandDisplayOption={}));var It;!function(t){t[t.Grouping=0]="Grouping",t[t.Measure=1]="Measure",t[t.GroupingOrMeasure=2]="GroupingOrMeasure"}(It=e.VisualDataRoleKind||(e.VisualDataRoleKind={}));var Lt;!function(t){t[t.Measure=0]="Measure",t[t.Grouping=1]="Grouping"}(Lt=e.VisualDataRoleKindPreference||(e.VisualDataRoleKindPreference={})),e.isFlatMenuExtension=p,e.isGroupedMenuExtension=c,e.isIExtensions=f,e.isIExtensionArray=v,e.validateVisualSelector=y,e.validateSlicer=V,e.validateSlicerState=m,e.validatePlayBookmarkRequest=g,e.validateAddBookmarkRequest=w,e.validateApplyBookmarkByNameRequest=b,e.validateApplyBookmarkStateRequest=P,e.validateCaptureBookmarkRequest=S,e.validateSettings=E,e.validatePanes=T,e.validateBookmarksPane=O,e.validateFiltersPane=_,e.validateFieldsPane=F,e.validatePageNavigationPane=R,e.validateSelectionPane=k,e.validateSyncSlicersPane=A,e.validateVisualizationsPane=C,e.validateCustomPageSize=x,e.validateExtension=M,e.validateMenuGroupExtension=q,e.validateReportLoad=I,e.validateCreateReport=L,e.validateDashboardLoad=j,e.validateTileLoad=N,e.validatePage=D,e.validateFilter=U,e.validateSaveAsParameters=B,e.validateLoadQnaConfiguration=W,e.validateQnaInterpretInputData=H,e.validateExportDataRequest=z,e.validateVisualHeader=J,e.validateVisualSettings=G,e.validateCommandsSettings=Q,e.validateCustomTheme=Y},function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.Validators=void 0;var a=r(2),i=r(5),o=r(6),n=r(7),l=r(8),d=r(9),s=r(10),u=r(11),p=r(12),c=r(13),f=r(14),v=r(15),h=r(16),y=r(17),V=r(18),m=r(19),g=r(20),w=r(21),b=r(22),P=r(23),S=r(24),E=r(25),T=r(26),O=r(27),_=r(28),F=r(4);e.Validators={addBookmarkRequestValidator:new i.AddBookmarkRequestValidator,advancedFilterTypeValidator:new F.EnumValidator([0]),advancedFilterValidator:new p.AdvancedFilterValidator,anyArrayValidator:new F.ArrayValidator([new E.AnyOfValidator([new F.StringValidator,new F.NumberValidator,new F.BooleanValidator])]),anyFilterValidator:new E.AnyOfValidator([new p.BasicFilterValidator,new p.AdvancedFilterValidator,new p.IncludeExcludeFilterValidator,new p.NotSupportedFilterValidator,new p.RelativeDateFilterValidator,new p.TopNFilterValidator,new p.RelativeTimeFilterValidator]),anyValueValidator:new E.AnyOfValidator([new F.StringValidator,new F.NumberValidator,new F.BooleanValidator]),actionBarValidator:new a.ActionBarValidator,applyBookmarkByNameRequestValidator:new i.ApplyBookmarkByNameRequestValidator,applyBookmarkStateRequestValidator:new i.ApplyBookmarkStateRequestValidator,applyBookmarkValidator:new E.AnyOfValidator([new i.ApplyBookmarkByNameRequestValidator,new i.ApplyBookmarkStateRequestValidator]),backgroundValidator:new F.EnumValidator([0,1]),basicFilterTypeValidator:new F.EnumValidator([1]),basicFilterValidator:new p.BasicFilterValidator,booleanArrayValidator:new F.BooleanArrayValidator,booleanValidator:new F.BooleanValidator,bookmarksPaneValidator:new v.BookmarksPaneValidator,captureBookmarkOptionsValidator:new i.CaptureBookmarkOptionsValidator,captureBookmarkRequestValidator:new i.CaptureBookmarkRequestValidator,commandDisplayOptionValidator:new F.EnumValidator([0,1,2]),commandExtensionSelectorValidator:new E.AnyOfValidator([new g.VisualSelectorValidator,new g.VisualTypeSelectorValidator]),commandExtensionArrayValidator:new F.ArrayValidator([new u.CommandExtensionValidator]),commandExtensionValidator:new u.CommandExtensionValidator,commandsSettingsArrayValidator:new F.ArrayValidator([new o.CommandsSettingsValidator]),commandsSettingsValidator:new o.CommandsSettingsValidator,conditionItemValidator:new p.ConditionItemValidator,contrastModeValidator:new F.EnumValidator([0,1,2,3,4]),customLayoutDisplayOptionValidator:new F.EnumValidator([0,1,2]),customLayoutValidator:new c.CustomLayoutValidator,customPageSizeValidator:new f.CustomPageSizeValidator,customThemeValidator:new n.CustomThemeValidator,dashboardLoadValidator:new l.DashboardLoadValidator,datasetBindingValidator:new d.DatasetBindingValidator,displayStateModeValidator:new F.EnumValidator([0,1]),displayStateValidator:new c.DisplayStateValidator,exportDataRequestValidator:new s.ExportDataRequestValidator,extensionArrayValidator:new F.ArrayValidator([new u.ExtensionValidator]),extensionsValidator:new E.AnyOfValidator([new F.ArrayValidator([new u.ExtensionValidator]),new u.ExtensionsValidator]),extensionPointsValidator:new u.ExtensionPointsValidator,extensionValidator:new u.ExtensionValidator,fieldForbiddenValidator:new T.FieldForbiddenValidator,fieldRequiredValidator:new O.FieldRequiredValidator,fieldsPaneValidator:new v.FieldsPaneValidator,filterColumnTargetValidator:new p.FilterColumnTargetValidator,filterConditionsValidator:new F.ArrayValidator([new p.ConditionItemValidator]),filterHierarchyTargetValidator:new p.FilterHierarchyTargetValidator,filterMeasureTargetValidator:new p.FilterMeasureTargetValidator,filterTargetValidator:new E.AnyOfValidator([new p.FilterColumnTargetValidator,new p.FilterHierarchyTargetValidator,new p.FilterMeasureTargetValidator]),filtersArrayValidator:new F.ArrayValidator([new E.AnyOfValidator([new p.BasicFilterValidator,new p.AdvancedFilterValidator,new p.RelativeDateFilterValidator,new p.RelativeTimeFilterValidator])]),filtersValidator:new p.FilterValidator,filtersPaneValidator:new v.FiltersPaneValidator,hyperlinkClickBehaviorValidator:new F.EnumValidator([0,1,2]),includeExcludeFilterValidator:new p.IncludeExcludeFilterValidator,includeExludeFilterTypeValidator:new F.EnumValidator([3]),layoutTypeValidator:new F.EnumValidator([0,1,2,3]),loadQnaValidator:new h.LoadQnaValidator,menuExtensionValidator:new E.AnyOfValidator([new u.FlatMenuExtensionValidator,new u.GroupedMenuExtensionValidator]),menuGroupExtensionArrayValidator:new F.ArrayValidator([new u.MenuGroupExtensionValidator]),menuGroupExtensionValidator:new u.MenuGroupExtensionValidator,menuLocationValidator:new F.EnumValidator([0,1]),notSupportedFilterTypeValidator:new F.EnumValidator([2]),notSupportedFilterValidator:new p.NotSupportedFilterValidator,numberArrayValidator:new F.NumberArrayValidator,numberValidator:new F.NumberValidator,pageLayoutValidator:new _.MapValidator([new F.StringValidator],[new c.VisualLayoutValidator]),pageNavigationPaneValidator:new v.PageNavigationPaneValidator,pageNavigationPositionValidator:new F.EnumValidator([0,1]),pageSizeTypeValidator:new F.EnumValidator([0,1,2,3,4,5]),pageSizeValidator:new f.PageSizeValidator,pageValidator:new f.PageValidator,pageViewFieldValidator:new f.PageViewFieldValidator,pagesLayoutValidator:new _.MapValidator([new F.StringValidator],[new c.PageLayoutValidator]),reportBarsValidator:new a.ReportBarsValidator,reportPanesValidator:new v.ReportPanesValidator,permissionsValidator:new F.EnumValidator([0,1,2,4,7]),playBookmarkRequestValidator:new i.PlayBookmarkRequestValidator,qnaInterpretInputDataValidator:new h.QnaInterpretInputDataValidator,qnaSettingValidator:new h.QnaSettingsValidator,relativeDateFilterOperatorValidator:new F.EnumValidator([0,1,2]),relativeDateFilterTimeUnitTypeValidator:new F.EnumValidator([0,1,2,3,4,5,6]),relativeDateFilterTypeValidator:new F.EnumValidator([4]),relativeDateFilterValidator:new p.RelativeDateFilterValidator,relativeTimeFilterTimeUnitTypeValidator:new F.EnumValidator([7,8]),relativeTimeFilterTypeValidator:new F.EnumValidator([7]),relativeTimeFilterValidator:new p.RelativeTimeFilterValidator,reportCreateValidator:new y.ReportCreateValidator,reportLoadValidator:new V.ReportLoadValidator,saveAsParametersValidator:new m.SaveAsParametersValidator,selectionPaneValidator:new v.SelectionPaneValidator,settingsValidator:new w.SettingsValidator,singleCommandSettingsValidator:new o.SingleCommandSettingsValidator,slicerSelectorValidator:new E.AnyOfValidator([new g.VisualSelectorValidator,new g.SlicerTargetSelectorValidator]),slicerStateValidator:new b.SlicerStateValidator,slicerTargetValidator:new E.AnyOfValidator([new p.FilterColumnTargetValidator,new p.FilterHierarchyTargetValidator,new p.FilterMeasureTargetValidator,new p.FilterKeyColumnsTargetValidator,new p.FilterKeyHierarchyTargetValidator]),slicerValidator:new b.SlicerValidator,stringArrayValidator:new F.StringArrayValidator,stringValidator:new F.StringValidator,syncSlicersPaneValidator:new v.SyncSlicersPaneValidator,tileLoadValidator:new P.TileLoadValidator,tokenTypeValidator:new F.EnumValidator([0,1]),topNFilterTypeValidator:new F.EnumValidator([5]),topNFilterValidator:new p.TopNFilterValidator,viewModeValidator:new F.EnumValidator([0,1]),visualCommandSelectorValidator:new E.AnyOfValidator([new g.VisualSelectorValidator,new g.VisualTypeSelectorValidator]),visualHeaderSelectorValidator:new E.AnyOfValidator([new g.VisualSelectorValidator,new g.VisualTypeSelectorValidator]),visualHeaderSettingsValidator:new S.VisualHeaderSettingsValidator,visualHeaderValidator:new S.VisualHeaderValidator,visualHeadersValidator:new F.ArrayValidator([new S.VisualHeaderValidator]),visualizationsPaneValidator:new v.VisualizationsPaneValidator,visualLayoutValidator:new c.VisualLayoutValidator,visualSelectorValidator:new g.VisualSelectorValidator,visualSettingsValidator:new S.VisualSettingsValidator,visualTypeSelectorValidator:new g.VisualTypeSelectorValidator}},function(t,e,r){var a=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.ActionBarValidator=e.ReportBarsValidator=void 0;var i=r(3),o=r(4),n=r(1),l=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return a(e,t),e.prototype.validate=function(e,r,a){if(null==e)return null;var o=t.prototype.validate.call(this,e,r,a);if(o)return o;var l=[{field:"actionBar",validators:[n.Validators.actionBarValidator]}],d=new i.MultipleFieldsValidator(l);return d.validate(e,r,a)},e}(o.ObjectValidator);e.ReportBarsValidator=l;var d=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return a(e,t),e.prototype.validate=function(e,r,a){if(null==e)return null;var o=t.prototype.validate.call(this,e,r,a);if(o)return o;var l=[{field:"visible",validators:[n.Validators.booleanValidator]}],d=new i.MultipleFieldsValidator(l);return d.validate(e,r,a)},e}(o.ObjectValidator);e.ActionBarValidator=d},function(t,e){Object.defineProperty(e,"__esModule",{value:!0}),e.MultipleFieldsValidator=void 0;var r=function(){function t(t){this.fieldValidatorsPairs=t}return t.prototype.validate=function(t,e,r){if(!this.fieldValidatorsPairs)return null;for(var a=e?e+"."+r:r,i=0,o=this.fieldValidatorsPairs;i2&&"[]"===n.slice(l-2)&&(d=!0,n=n.slice(0,l-2),r[n]||(r[n]=[])),i=o[1]?w(o[1]):""),d?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)&&(d=!0,n=n.slice(0,l-2),r[n]||(r[n]=[])),i=o[1]?w(o[1]):""),d?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;rthis.config; + const config = this.config; this.createConfig = { accessToken: config.accessToken, diff --git a/src/dashboard.ts b/src/dashboard.ts index e79881a9..b32e54f7 100644 --- a/src/dashboard.ts +++ b/src/dashboard.ts @@ -21,7 +21,6 @@ export interface IDashboardNode { * @class Dashboard * @extends {embed.Embed} * @implements {IDashboardNode} - * @implements {IFilterable} */ export class Dashboard extends embed.Embed implements IDashboardNode { /** @hidden */ @@ -76,7 +75,7 @@ export class Dashboard extends embed.Embed implements IDashboardNode { * @returns {string} */ getId(): string { - let config = this.config; + let config = this.config; const dashboardId = config.id || this.element.getAttribute(Dashboard.dashboardIdAttribute) || Dashboard.findIdFromEmbedUrl(config.embedUrl); if (typeof dashboardId !== 'string' || dashboardId.length === 0) { @@ -92,7 +91,7 @@ export class Dashboard extends embed.Embed implements IDashboardNode { * @hidden */ validate(baseConfig: embed.IEmbedConfigurationBase): models.IError[] { - const config = baseConfig as embed.IEmbedConfiguration; + const config = baseConfig as embed.IDashboardEmbedConfiguration; let error = models.validateDashboardLoad(config); return error ? error : this.ValidatePageView(config.pageView); } @@ -108,7 +107,7 @@ export class Dashboard extends embed.Embed implements IDashboardNode { } // Populate dashboard id into config object. - (this.config).id = this.getId(); + (this.config).id = this.getId(); } /** diff --git a/src/embed.ts b/src/embed.ts index dcdd47e6..bea6d11a 100644 --- a/src/embed.ts +++ b/src/embed.ts @@ -22,92 +22,29 @@ declare global { } } -/** - * Prepare configuration for Power BI embed components. - * - * @export - * @interface IBootstrapEmbedConfiguration - */ -export interface IBootstrapEmbedConfiguration { - hostname?: string; - embedUrl?: string; - settings?: ISettings; - uniqueId?: string; - type?: string; - groupId?: string; - bootstrapped?: boolean; -} +//TODO: Require a specific version of powerbi-models in package.json +export type IBootstrapEmbedConfiguration = models.IBootstrapEmbedConfiguration; -/** - * Base Configuration settings for Power BI embed components - * - * @export - * @interface IEmbedConfigurationBase - * @extends IBootstrapEmbedConfiguration - */ -export interface IEmbedConfigurationBase extends IBootstrapEmbedConfiguration { - accessToken?: string; - tokenType?: models.TokenType; -} +export type IEmbedConfigurationBase = models.IEmbedConfigurationBase; // TODO: Re-use ILoadConfiguration interface to prevent duplicating properties. -// Current issue is that they are optional when embedding since they can be specificed as attributes but they are required when loading. -/** - * Configuration settings for Power BI embed components - * - * @export - * @interface IEmbedConfiguration - */ -export interface IEmbedConfiguration extends IEmbedConfigurationBase { - id?: string; - settings?: IEmbedSettings; - pageName?: string; - filters?: models.IFilter[]; - pageView?: models.PageView; - datasetId?: string; - permissions?: models.Permissions; - viewMode?: models.ViewMode; - action?: string; - dashboardId?: string; - height?: number; - width?: number; - theme?: models.IReportTheme; - slicers?: models.ISlicer[]; - bookmark?: models.IApplyBookmarkRequest; - datasetBinding?: models.IDatasetBinding; - contrastMode?: models.ContrastMode; -} +export type IEmbedConfiguration = models.IEmbedConfiguration; -export interface IVisualEmbedConfiguration extends IEmbedConfiguration { - visualName: string; -} +export type IVisualEmbedConfiguration = models.IVisualEmbedConfiguration; -/** - * Configuration settings for Power BI Q&A embed component - * - * @export - * @interface IEmbedConfiguration - */ -export interface IQnaEmbedConfiguration extends IEmbedConfigurationBase { - datasetIds: string[]; - question?: string; - viewMode?: models.QnaMode; -} +export type IReportEmbedConfiguration = models.IReportEmbedConfiguration; -export interface ILocaleSettings { - language?: string; - formatLocale?: string; -} +export type IDashboardEmbedConfiguration = models.IDashboardEmbedConfiguration ; -export interface ISettings { - localeSettings?: ILocaleSettings; -} +export type ITileEmbedConfiguration = models.ITileEmbedConfiguration; -export interface IEmbedSettings extends models.ISettings, ISettings { -} +export type IQnaEmbedConfiguration = models.IQnaEmbedConfiguration; -export interface IQnaSettings extends models.IQnaSettings, ISettings { -} +export type ILocaleSettings = models.ILocaleSettings; + +export type IQnaSettings = models.IQnaSettings; + +export type IEmbedSettings = models.ISettings; /** @hidden */ export interface IInternalEventHandler { @@ -570,10 +507,10 @@ export abstract class Embed { * Adds locale parameters to embedUrl * * @private - * @param {IEmbedConfiguration} config + * @param {IEmbedConfiguration | models.ICommonEmbedConfiguration} config * @hidden */ - private addLocaleToEmbedUrl(config: IEmbedConfiguration): void { + private addLocaleToEmbedUrl(config: IEmbedConfiguration | models.ICommonEmbedConfiguration): void { if (!config.settings) { return; } diff --git a/src/powerbi-client.ts b/src/powerbi-client.ts index c53de9b8..bff6fa8c 100644 --- a/src/powerbi-client.ts +++ b/src/powerbi-client.ts @@ -25,6 +25,9 @@ export { IEmbedConfiguration, IQnaEmbedConfiguration, IVisualEmbedConfiguration, + IReportEmbedConfiguration, + IDashboardEmbedConfiguration, + ITileEmbedConfiguration, Embed, ILocaleSettings, IEmbedSettings, diff --git a/src/report.ts b/src/report.ts index 75405a04..b919106d 100644 --- a/src/report.ts +++ b/src/report.ts @@ -5,7 +5,7 @@ import * as utils from './util'; import * as errors from './errors'; import { IFilterable } from './ifilterable'; import { Page } from './page'; -import { IReportLoadConfiguration } from 'powerbi-models'; +import { IReportLoadConfiguration, IReportEmbedConfiguration } from 'powerbi-models'; import { BookmarksManager } from './bookmarksManager'; /** @@ -17,7 +17,7 @@ import { BookmarksManager } from './bookmarksManager'; export interface IReportNode { iframe: HTMLIFrameElement; service: service.IService; - config: embed.IEmbedConfiguration + config: embed.IEmbedConfiguration | IReportEmbedConfiguration } /** @@ -54,7 +54,7 @@ export class Report extends embed.Embed implements IReportNode, IFilterable { * @hidden */ constructor(service: service.Service, element: HTMLElement, baseConfig: embed.IEmbedConfigurationBase, phasedRender?: boolean, isBootstrap?: boolean, iframe?: HTMLIFrameElement) { - const config = baseConfig; + const config = baseConfig; super(service, element, config, iframe, phasedRender, isBootstrap); this.loadPath = "/report/load"; this.phasedLoadPath = "/report/prepare"; @@ -101,7 +101,7 @@ export class Report extends embed.Embed implements IReportNode, IFilterable { * * @returns {Promise} */ - render(config?: IReportLoadConfiguration): Promise { + render(config?: IReportLoadConfiguration | embed.IReportEmbedConfiguration): Promise { return this.service.hpm.post(`/report/render`, config, { uid: this.config.uniqueId }, this.iframe.contentWindow) .then(response => { return response.body; @@ -211,7 +211,7 @@ export class Report extends embed.Embed implements IReportNode, IFilterable { * @returns {string} */ getId(): string { - let config = this.config; + let config = this.config; const reportId = config.id || this.element.getAttribute(Report.reportIdAttribute) || Report.findIdFromEmbedUrl(config.embedUrl); if (typeof reportId !== 'string' || reportId.length === 0) { @@ -401,7 +401,7 @@ export class Report extends embed.Embed implements IReportNode, IFilterable { * @returns {void} */ configChanged(isBootstrap: boolean): void { - let config = this.config; + let config = this.config; if (this.isMobileSettings(config.settings)) config.embedUrl = utils.addParamToUrl(config.embedUrl, "isMobile", "true"); diff --git a/src/service.ts b/src/service.ts index 28be3bdc..24c3c3a0 100644 --- a/src/service.ts +++ b/src/service.ts @@ -74,6 +74,8 @@ export interface IService { hpm: hpm.HttpPostMessage; } +export type IComponentEmbedConfiguration = embed.IReportEmbedConfiguration | embed.IDashboardEmbedConfiguration | embed.ITileEmbedConfiguration| embed.IVisualEmbedConfiguration | embed.IQnaEmbedConfiguration; + /** * The Power BI Service embed component, which is the entry point to embed all other Power BI components into your application * @@ -244,7 +246,7 @@ export class Service implements IService { * @param {embed.IEmbedConfiguration} [config={}] * @returns {embed.Embed} */ - createReport(element: HTMLElement, config: embed.IEmbedConfiguration): embed.Embed { + createReport(element: HTMLElement, config: embed.IEmbedConfiguration | models.IReportCreateConfiguration): embed.Embed { config.type = 'create'; let powerBiElement = element; const component = new Create(this, powerBiElement, config); @@ -278,7 +280,7 @@ export class Service implements IService { * @param {embed.IEmbedConfigurationBase} [config={}] * @returns {embed.Embed} */ - embed(element: HTMLElement, config: embed.IEmbedConfigurationBase = {}): embed.Embed { + embed(element: HTMLElement, config: IComponentEmbedConfiguration | embed.IEmbedConfigurationBase = {}): embed.Embed { return this.embedInternal(element, config); } @@ -292,7 +294,7 @@ export class Service implements IService { * @param {embed.IEmbedConfigurationBase} [config={}] * @returns {embed.Embed} */ - load(element: HTMLElement, config: embed.IEmbedConfigurationBase = {}): embed.Embed { + load(element: HTMLElement, config: IComponentEmbedConfiguration | embed.IEmbedConfigurationBase = {}): embed.Embed { return this.embedInternal(element, config, /* phasedRender */ true, /* isBootstrap */ false); } @@ -302,12 +304,12 @@ export class Service implements IService { * @param {HTMLElement} element * @param {embed.IBootstrapEmbedConfiguration} config: a bootstrap config which is an embed config without access token. */ - bootstrap(element: HTMLElement, config: embed.IBootstrapEmbedConfiguration): embed.Embed { + bootstrap(element: HTMLElement, config: IComponentEmbedConfiguration | embed.IBootstrapEmbedConfiguration): embed.Embed { return this.embedInternal(element, config, /* phasedRender */ false, /* isBootstrap */ true); } /** @hidden */ - embedInternal(element: HTMLElement, config: embed.IEmbedConfigurationBase = {}, phasedRender?: boolean, isBootstrap?: boolean): embed.Embed { + embedInternal(element: HTMLElement, config: IComponentEmbedConfiguration | embed.IEmbedConfigurationBase = {}, phasedRender?: boolean, isBootstrap?: boolean): embed.Embed { let component: embed.Embed; let powerBiElement = element; @@ -348,7 +350,7 @@ export class Service implements IService { * @returns {embed.Embed} * @hidden */ - private embedNew(element: IPowerBiElement, config: embed.IEmbedConfigurationBase, phasedRender?: boolean, isBootstrap?: boolean): embed.Embed { + private embedNew(element: IPowerBiElement, config: IComponentEmbedConfiguration | embed.IEmbedConfigurationBase, phasedRender?: boolean, isBootstrap?: boolean): embed.Embed { const componentType = config.type || element.getAttribute(embed.Embed.typeAttribute); if (!componentType) { throw new Error(`Attempted to embed using config ${JSON.stringify(config)} on element ${element.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 '${embed.Embed.typeAttribute}="${Report.type.toLowerCase()}"'.`); @@ -378,7 +380,7 @@ export class Service implements IService { * @returns {embed.Embed} * @hidden */ - private embedExisting(element: IPowerBiElement, config: embed.IEmbedConfigurationBase, phasedRender?: boolean): embed.Embed { + private embedExisting(element: IPowerBiElement, config: IComponentEmbedConfiguration | embed.IEmbedConfigurationBase, phasedRender?: boolean): embed.Embed { const component = utils.find(x => x.element === element, this.embeds); if (!component) { throw new Error(`Attempted to embed using config ${JSON.stringify(config)} on element ${element.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.`); @@ -560,7 +562,7 @@ export class Service implements IService { * @param {embed.IEmbedConfigurationBase} [config={}] * @param {HTMLElement} [element=undefined] */ - preload(config: embed.IEmbedConfigurationBase, element?: HTMLElement) { + preload(config: IComponentEmbedConfiguration | embed.IEmbedConfigurationBase, element?: HTMLElement) { var iframeContent = document.createElement("iframe"); iframeContent.setAttribute("style", "display:none;"); iframeContent.setAttribute("src", config.embedUrl); diff --git a/src/tile.ts b/src/tile.ts index 11afb6e8..45781221 100644 --- a/src/tile.ts +++ b/src/tile.ts @@ -19,7 +19,7 @@ export class Tile extends embed.Embed { * @hidden */ constructor(service: service.Service, element: HTMLElement, baseConfig: embed.IEmbedConfigurationBase, phasedRender?: boolean, isBootstrap?: boolean) { - let config = baseConfig; + let config = baseConfig; super(service, element, config, /* iframe */ undefined, phasedRender, isBootstrap); this.loadPath = "/tile/load"; Array.prototype.push.apply(this.allowedEvents, Tile.allowedEvents); @@ -31,7 +31,7 @@ export class Tile extends embed.Embed { * @returns {string} */ getId(): string { - let config = this.config; + let config = this.config; const tileId = config.id || Tile.findIdFromEmbedUrl(this.config.embedUrl); if (typeof tileId !== 'string' || tileId.length === 0) { @@ -45,7 +45,7 @@ export class Tile extends embed.Embed { * Validate load configuration. */ validate(config: embed.IEmbedConfigurationBase): models.IError[] { - let embedConfig = config; + let embedConfig = config; return models.validateTileLoad(embedConfig); } @@ -60,7 +60,7 @@ export class Tile extends embed.Embed { } // Populate tile id into config object. - (this.config).id = this.getId(); + (this.config).id = this.getId(); } /** From a721ad036ecde409de20611bc10384aab23d4efa Mon Sep 17 00:00:00 2001 From: Parth Mangukiya Date: Fri, 4 Dec 2020 05:37:17 +0000 Subject: [PATCH 037/125] Merged PR 125682: Resolve npm audit vulnerabilities, TS v3, migrated to @types ## Changes in this PR 1. Resolved all npm audit vulnerabilities (except 1 low severity vulnerability in _gulp-gh-pages_, no fix available for that) 1. Upgraded to TS 3.9 1. Migrated from typings to @types 1. Used async/await to align with the return types of methods 1. Minor docs fixes 1. Fixed types of all methods Related work items: #323592, #323972, #326488, #327505, #330227, #331107, #331778, #331837, #459272, #459826, #460523, #461075, #462110, #462652, #463184, #463185, #463806, #463807, #464436, #468356, #468867 --- dist/powerbi-client.d.ts | 147 +- dist/powerbi.js | 17706 +++++++++++++++++++---------------- dist/powerbi.min.js | 19 +- gulpfile.js | 36 +- package.json | 42 +- src/bookmarksManager.ts | 72 +- src/config.ts | 2 +- src/create.ts | 4 +- src/embed.ts | 118 +- src/ifilterable.ts | 10 +- src/page.ts | 95 +- src/qna.ts | 16 +- src/report.ts | 250 +- src/util.ts | 13 +- src/visual.ts | 83 +- src/visualDescriptor.ts | 94 +- test/test.spec.ts | 30 +- tsconfig.json | 5 - typings.json | 11 - webpack.config.js | 4 +- webpack.test.config.js | 17 +- webpack.test.tsconfig.json | 5 - 22 files changed, 10010 insertions(+), 8769 deletions(-) delete mode 100644 typings.json diff --git a/dist/powerbi-client.d.ts b/dist/powerbi-client.d.ts index 0b4b35cd..8a49ada6 100644 --- a/dist/powerbi-client.d.ts +++ b/dist/powerbi-client.d.ts @@ -1,4 +1,4 @@ -/*! powerbi-client v2.15.2 | (c) 2016 Microsoft Corporation MIT */ +/*! powerbi-client v2.16.0 | (c) 2016 Microsoft Corporation MIT */ declare module "util" { import { HttpPostMessage } from 'http-post-message'; /** @@ -117,14 +117,18 @@ declare module "errors" { declare module "embed" { import * as service from "service"; import * as models from 'powerbi-models'; - global { + global { interface Document { mozCancelFullScreen: any; msExitFullscreen: any; + webkitExitFullscreen: void; } interface HTMLIFrameElement { mozRequestFullScreen: Function; msRequestFullscreen: Function; + webkitRequestFullscreen: { + (): void; + }; } } export type IBootstrapEmbedConfiguration = models.IBootstrapEmbedConfiguration; @@ -389,7 +393,7 @@ declare module "embed" { * @returns {string} * @hidden */ - private getAccessToken(globalAccessToken); + private getAccessToken; /** * Populate config for create and load * @@ -405,7 +409,7 @@ declare module "embed" { * @param {IEmbedConfiguration | models.ICommonEmbedConfiguration} config * @hidden */ - private addLocaleToEmbedUrl(config); + private addLocaleToEmbedUrl; /** * Gets an embed url from the first available location: options, attribute. * @@ -413,11 +417,11 @@ declare module "embed" { * @returns {string} * @hidden */ - private getEmbedUrl(isBootstrap); + private getEmbedUrl; /** * @hidden */ - private getDefaultEmbedUrl(hostname); + private getDefaultEmbedUrl; /** * Gets a unique ID from the first available location: options, attribute. * If neither is provided generate a unique string. @@ -426,7 +430,7 @@ declare module "embed" { * @returns {string} * @hidden */ - private getUniqueId(); + private getUniqueId; /** * Gets the group ID from the first available location: options, embeddedUrl. * @@ -434,7 +438,7 @@ declare module "embed" { * @returns {string} * @hidden */ - private getGroupId(); + private getGroupId; /** * Gets the report ID from the first available location: options, attribute. * @@ -475,7 +479,7 @@ declare module "embed" { * @returns {boolean} * @hidden */ - private isFullscreen(iframe); + private isFullscreen; /** * Validate load and create configuration. * @@ -486,7 +490,7 @@ declare module "embed" { * Sets Iframe for embed * @hidden */ - private setIframe(isLoad, phasedRender?, isBootstrap?); + private setIframe; /** * Set the component title for accessibility. In case of iframes, this method will change the iframe title. */ @@ -513,11 +517,12 @@ declare module "embed" { * Sends the config for front load calls, after 'ready' message is received from the iframe * @hidden */ - private frontLoadSendConfig(config); + private frontLoadSendConfig; } } declare module "ifilterable" { import * as models from 'powerbi-models'; + import { IHttpPostMessageResponse } from 'http-post-message'; /** * Decorates embed components that support filters * Examples include reports and pages @@ -536,21 +541,22 @@ declare module "ifilterable" { * Replaces all filters on the current object with the specified filter values. * * @param {(models.IFilter[])} filters - * @returns {Promise} + * @returns {Promise>} */ - setFilters(filters: models.IFilter[]): Promise; + setFilters(filters: models.IFilter[]): Promise>; /** * Removes all filters from the current object. * - * @returns {Promise} + * @returns {Promise>} */ - removeFilters(): Promise; + removeFilters(): Promise>; } } declare module "visualDescriptor" { import * as models from 'powerbi-models'; import { IFilterable } from "ifilterable"; import { IPageNode } from "page"; + import { IHttpPostMessageResponse } from 'http-post-message'; /** * A Visual node within a report hierarchy * @@ -624,9 +630,9 @@ declare module "visualDescriptor" { * visual.removeFilters(); * ``` * - * @returns {Promise} + * @returns {Promise>} */ - removeFilters(): Promise; + removeFilters(): Promise>; /** * Sets the filters on the current visual to 'filters'. * @@ -636,9 +642,9 @@ declare module "visualDescriptor" { * ``` * * @param {(models.IFilter[])} filters - * @returns {Promise} + * @returns {Promise>} */ - setFilters(filters: models.IFilter[]): Promise; + setFilters(filters: models.IFilter[]): Promise>; /** * Exports Visual data. * Can export up to 30K rows. @@ -661,7 +667,7 @@ declare module "visualDescriptor" { * .then(() => { ... }); * ``` */ - setSlicerState(state: models.ISlicerState): Promise; + setSlicerState(state: models.ISlicerState): Promise>; /** * Get slicer state. * Works only for visuals of type slicer. @@ -690,10 +696,11 @@ declare module "visualDescriptor" { * .then(() => { ... }); * ``` */ - sortBy(request: models.ISortByVisualRequest): Promise; + sortBy(request: models.ISortByVisualRequest): Promise>; } } declare module "page" { + import { IHttpPostMessageResponse } from 'http-post-message'; import { IFilterable } from "ifilterable"; import { IReportNode } from "report"; import { VisualDescriptor } from "visualDescriptor"; @@ -799,9 +806,9 @@ declare module "page" { * page.removeFilters(); * ``` * - * @returns {Promise} + * @returns {Promise>} */ - removeFilters(): Promise; + removeFilters(): Promise>; /** * Makes the current page the active page of the report. * @@ -809,9 +816,9 @@ declare module "page" { * page.setActive(); * ``` * - * @returns {Promise} + * @returns {Promise>} */ - setActive(): Promise; + setActive(): Promise>; /** * Sets all filters on the current page. * @@ -821,9 +828,9 @@ declare module "page" { * ``` * * @param {(models.IFilter[])} filters - * @returns {Promise} + * @returns {Promise>} */ - setFilters(filters: models.IFilter[]): Promise; + setFilters(filters: models.IFilter[]): Promise>; /** * Set displayName to the current page. * @@ -831,9 +838,9 @@ declare module "page" { * page.setName(displayName); * ``` * - * @returns {Promise} + * @returns {Promise>} */ - setDisplayName(displayName: string): Promise; + setDisplayName(displayName: string): Promise>; /** * Gets all the visuals on the page. * @@ -866,6 +873,7 @@ declare module "report" { import { Page } from "page"; import { IReportLoadConfiguration, IReportEmbedConfiguration } from 'powerbi-models'; import { BookmarksManager } from "bookmarksManager"; + import { IHttpPostMessageResponse } from 'http-post-message'; /** * A Report node within a report hierarchy * @@ -1029,9 +1037,9 @@ declare module "report" { * report.removeFilters(); * ``` * - * @returns {Promise} + * @returns {Promise>} */ - removeFilters(): Promise; + removeFilters(): Promise>; /** * Sets the active page of the report. * @@ -1041,9 +1049,9 @@ declare module "report" { * ``` * * @param {string} pageName - * @returns {Promise} + * @returns {Promise>} */ - setPage(pageName: string): Promise; + setPage(pageName: string): Promise>; /** * Sets filters at the report level. * @@ -1059,9 +1067,9 @@ declare module "report" { * ``` * * @param {(models.IFilter[])} filters - * @returns {Promise} + * @returns {Promise>} */ - setFilters(filters: models.IFilter[]): Promise; + setFilters(filters: models.IFilter[]): Promise>; /** * Updates visibility settings for the filter pane and the page navigation pane. * @@ -1076,9 +1084,9 @@ declare module "report" { * ``` * * @param {models.ISettings} settings - * @returns {Promise} + * @returns {Promise>} */ - updateSettings(settings: models.ISettings): Promise; + updateSettings(settings: models.ISettings): Promise>; /** * Validate load configuration. * @@ -1143,7 +1151,7 @@ declare module "report" { * report.resetPersistentFilters(); * ``` */ - resetPersistentFilters(): Promise; + resetPersistentFilters(): Promise>; /** * Save user's filters, slicers, and other data view changes of the report * @@ -1151,7 +1159,7 @@ declare module "report" { * report.savePersistentFilters(); * ``` */ - savePersistentFilters(): Promise; + savePersistentFilters(): Promise>; /** * Returns if there are user's filters, slicers, or other data view changes applied on the report. * If persistent filters is disable, returns false. @@ -1166,15 +1174,15 @@ declare module "report" { /** * @hidden */ - private applyThemeInternal(theme); + private applyThemeInternal; /** * @hidden */ - private viewModeToString(viewMode); + private viewModeToString; /** * @hidden */ - private isMobileSettings(settings); + private isMobileSettings; } } declare module "create" { @@ -1314,7 +1322,7 @@ declare module "dashboard" { * 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); + private ValidatePageView; } } declare module "tile" { @@ -1374,6 +1382,7 @@ declare module "qna" { import * as service from "service"; import * as models from 'powerbi-models'; import * as embed from "embed"; + import { IHttpPostMessageResponse } from 'http-post-message'; /** * The Power BI Q&A embed component * @@ -1399,10 +1408,10 @@ declare module "qna" { /** * Change the question of the Q&A embed component * - * @param question - question which will render Q&A data - * @returns {string} + * @param {string} question - question which will render Q&A data + * @returns {Promise>} */ - setQuestion(question: string): Promise; + setQuestion(question: string): Promise>; /** * Handle config changes. * @@ -1427,6 +1436,7 @@ declare module "visual" { import { Report } from "report"; import { Page } from "page"; import { VisualDescriptor } from "visualDescriptor"; + import { IHttpPostMessageResponse } from 'http-post-message'; /** * The Power BI Visual embed component * @@ -1460,9 +1470,9 @@ declare module "visual" { * Sets the active page of the report - not supported in visual embed. * * @param {string} pageName - * @returns {Promise} + * @returns {Promise>} */ - setPage(pageName: string): Promise; + setPage(pageName: string): Promise>; /** * Gets the embedded visual descriptor object that contains the visual name, type, etc. * @@ -1504,9 +1514,9 @@ declare module "visual" { * ``` * * @param {(models.IFilter[])} filters - * @returns {Promise} + * @returns {Promise>} */ - setFilters(filters: models.IFilter[], filtersLevel?: models.FiltersLevel): Promise; + setFilters(filters: models.IFilter[], filtersLevel?: models.FiltersLevel): Promise>; /** * Removes all filters from the current filter level. * Default filter level is visual level. @@ -1515,13 +1525,13 @@ declare module "visual" { * visual.removeFilters(filtersLevel); * ``` * - * @returns {Promise} + * @returns {Promise>} */ - removeFilters(filtersLevel?: models.FiltersLevel): Promise; + removeFilters(filtersLevel?: models.FiltersLevel): Promise>; /** * @hidden */ - private getFiltersLevelUrl(filtersLevel); + private getFiltersLevelUrl; } } declare module "service" { @@ -1689,7 +1699,7 @@ declare module "service" { * @returns {embed.Embed} * @hidden */ - private embedNew(element, config, phasedRender?, isBootstrap?); + private embedNew; /** * Given an element that already contains an embed component, load with a new configuration. * @@ -1699,7 +1709,7 @@ declare module "service" { * @returns {embed.Embed} * @hidden */ - private embedExisting(element, config, phasedRender?); + private embedExisting; /** * Adds an event handler for DOMContentLoaded, which searches the DOM for elements that have the 'powerbi-embed-url' attribute, * and automatically attempts to embed a powerbi component based on information from other powerbi-* attributes. @@ -1755,7 +1765,7 @@ declare module "service" { * @param {IEvent} event * @hidden */ - private handleEvent(event); + private handleEvent; /** * API for warm starting powerbi embedded endpoints. * Use this API to preload Power BI Embedded in the background. @@ -1771,6 +1781,7 @@ declare module "bookmarksManager" { import * as service from "service"; import * as embed from "embed"; import * as models from 'powerbi-models'; + import { IHttpPostMessageResponse } from 'http-post-message'; /** * APIs for managing the report bookmarks. * @@ -1779,10 +1790,10 @@ declare module "bookmarksManager" { */ export interface IBookmarksManager { getBookmarks(): Promise; - apply(bookmarkName: string): Promise; - play(playMode: models.BookmarksPlayMode): Promise; + apply(bookmarkName: string): Promise>; + play(playMode: models.BookmarksPlayMode): Promise>; capture(options?: models.ICaptureBookmarkOptions): Promise; - applyState(state: string): Promise; + applyState(state: string): Promise>; } /** * Manages report bookmarks. @@ -1794,7 +1805,7 @@ declare module "bookmarksManager" { export class BookmarksManager implements IBookmarksManager { private service; private config; - private iframe; + private iframe?; /** * @hidden */ @@ -1821,9 +1832,9 @@ declare module "bookmarksManager" { * ``` * * @param {string} bookmarkName The name of the bookmark to be applied - * @returns {Promise} + * @returns {Promise>} */ - apply(bookmarkName: string): Promise; + apply(bookmarkName: string): Promise>; /** * Play bookmarks: Enter or Exit bookmarks presentation mode. * @@ -1833,9 +1844,9 @@ declare module "bookmarksManager" { * ``` * * @param {models.BookmarksPlayMode} playMode Play mode can be either `Presentation` or `Off` - * @returns {Promise} + * @returns {Promise>} */ - play(playMode: models.BookmarksPlayMode): Promise; + play(playMode: models.BookmarksPlayMode): Promise>; /** * Capture bookmark from current state. * @@ -1855,9 +1866,9 @@ declare module "bookmarksManager" { * ``` * * @param {string} state A base64 bookmark state to be applied - * @returns {Promise} + * @returns {Promise>} */ - applyState(state: string): Promise; + applyState(state: string): Promise>; } } declare module "factories" { @@ -1882,12 +1893,12 @@ declare module "powerbi-client" { export { Report } from "report"; export { Dashboard } from "dashboard"; export { Tile } from "tile"; - export { IEmbedConfiguration, IQnaEmbedConfiguration, IVisualEmbedConfiguration, IReportEmbedConfiguration, IDashboardEmbedConfiguration, ITileEmbedConfiguration, Embed, ILocaleSettings, IEmbedSettings, IQnaSettings } from "embed"; + export { IEmbedConfiguration, IQnaEmbedConfiguration, IVisualEmbedConfiguration, IReportEmbedConfiguration, IDashboardEmbedConfiguration, ITileEmbedConfiguration, Embed, ILocaleSettings, IEmbedSettings, IQnaSettings, } from "embed"; export { Page } from "page"; export { Qna } from "qna"; export { Visual } from "visual"; export { VisualDescriptor } from "visualDescriptor"; - global { + global { interface Window { powerbi: service.Service; } diff --git a/dist/powerbi.js b/dist/powerbi.js index 5d6b6979..52083736 100644 --- a/dist/powerbi.js +++ b/dist/powerbi.js @@ -1,4 +1,4 @@ -/*! powerbi-client v2.15.2 | (c) 2016 Microsoft Corporation MIT */ +/*! powerbi-client v2.16.0 | (c) 2016 Microsoft Corporation MIT */ (function webpackUniversalModuleDefinition(root, factory) { if(typeof exports === 'object' && typeof module === 'object') module.exports = factory(); @@ -8,6 +8,107 @@ exports["powerbi-client"] = factory(); else root["powerbi-client"] = factory(); +})(window, function() { +return /******/ (function(modules) { // webpackBootstrap +/******/ // The module cache +/******/ var installedModules = {}; +/******/ +/******/ // The require function +/******/ function __webpack_require__(moduleId) { +/******/ +/******/ // Check if module is in cache +/******/ if(installedModules[moduleId]) { +/******/ return installedModules[moduleId].exports; +/******/ } +/******/ // Create a new module (and put it into the cache) +/******/ var module = installedModules[moduleId] = { +/******/ 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.l = true; +/******/ +/******/ // Return the exports of the module +/******/ return module.exports; +/******/ } +/******/ +/******/ +/******/ // expose the modules object (__webpack_modules__) +/******/ __webpack_require__.m = modules; +/******/ +/******/ // 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__(__webpack_require__.s = "./src/powerbi-client.ts"); +/******/ }) +/************************************************************************/ +/******/ ({ + +/***/ "./node_modules/http-post-message/dist/httpPostMessage.js": +/*!****************************************************************!*\ + !*** ./node_modules/http-post-message/dist/httpPostMessage.js ***! + \****************************************************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +/*! http-post-message v0.2.3 | (c) 2016 Microsoft Corporation MIT */ +(function webpackUniversalModuleDefinition(root, factory) { + if(true) + module.exports = factory(); + else {} })(this, function() { return /******/ (function(modules) { // webpackBootstrap /******/ // The module cache @@ -53,8457 +154,9536 @@ return /******/ (function(modules) { // webpackBootstrap /************************************************************************/ /******/ ([ /* 0 */ -/***/ (function(module, exports, __webpack_require__) { - - /** - * @hidden - */ - var service = __webpack_require__(1); - exports.service = service; - var factories = __webpack_require__(16); - exports.factories = factories; - var models = __webpack_require__(5); - exports.models = models; - var report_1 = __webpack_require__(7); - exports.Report = report_1.Report; - var dashboard_1 = __webpack_require__(12); - exports.Dashboard = dashboard_1.Dashboard; - var tile_1 = __webpack_require__(13); - exports.Tile = tile_1.Tile; - var embed_1 = __webpack_require__(2); - exports.Embed = embed_1.Embed; - var page_1 = __webpack_require__(8); - exports.Page = page_1.Page; - var qna_1 = __webpack_require__(14); - exports.Qna = qna_1.Qna; - var visual_1 = __webpack_require__(15); - exports.Visual = visual_1.Visual; - var visualDescriptor_1 = __webpack_require__(9); - exports.VisualDescriptor = visualDescriptor_1.VisualDescriptor; - /** - * Makes Power BI available to the global object for use in applications that don't have module loading support. - * - * Note: create an instance of the class with the default configuration for normal usage, or save the class so that you can create an instance of the service. - */ - var powerbi = new service.Service(factories.hpmFactory, factories.wpmpFactory, factories.routerFactory); - window.powerbi = powerbi; +/***/ function(module, exports) { - -/***/ }), -/* 1 */ -/***/ (function(module, exports, __webpack_require__) { - - var embed = __webpack_require__(2); - var report_1 = __webpack_require__(7); - var create_1 = __webpack_require__(11); - var dashboard_1 = __webpack_require__(12); - var tile_1 = __webpack_require__(13); - var page_1 = __webpack_require__(8); - var qna_1 = __webpack_require__(14); - var visual_1 = __webpack_require__(15); - var utils = __webpack_require__(3); - /** - * The Power BI Service embed component, which is the entry point to embed all other Power BI components into your application - * - * @export - * @class Service - * @implements {IService} - */ - var Service = (function () { - /** - * Creates an instance of a Power BI Service. - * - * @param {IHpmFactory} hpmFactory The http post message factory used in the postMessage communication layer - * @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; - if (config === void 0) { config = {}; } - this.wpmp = wpmpFactory(config.wpmpName, config.logMessages); - this.hpm = hpmFactory(this.wpmp, null, config.version, config.type); - this.router = routerFactory(this.wpmp); - this.uniqueSessionId = utils.generateUUID(); - /** - * Adds handler for report events. - */ - this.router.post("/reports/:uniqueId/events/:eventName", function (req, res) { - var event = { - type: 'report', - id: req.params.uniqueId, - name: req.params.eventName, - value: req.body - }; - _this.handleEvent(event); - }); - this.router.post("/reports/:uniqueId/pages/:pageName/events/:eventName", function (req, res) { - var event = { - type: 'report', - id: req.params.uniqueId, - name: req.params.eventName, - value: req.body - }; - _this.handleEvent(event); - }); - this.router.post("/reports/:uniqueId/pages/:pageName/visuals/:visualName/events/:eventName", function (req, res) { - var event = { - type: 'report', - id: req.params.uniqueId, - name: req.params.eventName, - value: req.body - }; - _this.handleEvent(event); - }); - this.router.post("/dashboards/:uniqueId/events/:eventName", function (req, res) { - var event = { - type: 'dashboard', - id: req.params.uniqueId, - name: req.params.eventName, - value: req.body - }; - _this.handleEvent(event); - }); - this.router.post("/tile/:uniqueId/events/:eventName", function (req, res) { - var event = { - type: 'tile', - id: req.params.uniqueId, - name: req.params.eventName, - value: req.body - }; - _this.handleEvent(event); - }); - /** - * Adds handler for Q&A events. - */ - this.router.post("/qna/:uniqueId/events/:eventName", function (req, res) { - var event = { - type: 'qna', - id: req.params.uniqueId, - name: req.params.eventName, - value: req.body - }; - _this.handleEvent(event); - }); - /** - * Adds handler for front load 'ready' message. - */ - this.router.post("/ready/:uniqueId", function (req, res) { - var event = { - type: 'report', - id: req.params.uniqueId, - name: 'ready', - value: req.body - }; - _this.handleEvent(event); - }); - this.embeds = []; - // TODO: Change when Object.assign is available. - this.config = utils.assign({}, Service.defaultConfig, config); - if (this.config.autoEmbedOnContentLoaded) { - this.enableAutoEmbed(); - } + "use strict"; + var HttpPostMessage = (function () { + function HttpPostMessage(windowPostMessageProxy, defaultHeaders, defaultTargetWindow) { + if (defaultHeaders === void 0) { defaultHeaders = {}; } + this.defaultHeaders = defaultHeaders; + this.defaultTargetWindow = defaultTargetWindow; + this.windowPostMessageProxy = windowPostMessageProxy; } - /** - * Creates new report - * @param {HTMLElement} element - * @param {embed.IEmbedConfiguration} [config={}] - * @returns {embed.Embed} - */ - Service.prototype.createReport = function (element, config) { - config.type = 'create'; - var powerBiElement = element; - var component = new create_1.Create(this, powerBiElement, config); - powerBiElement.powerBiEmbed = component; - this.addOrOverwriteEmbed(component, element); - return component; - }; - /** - * TODO: Add a description here - * - * @param {HTMLElement} [container] - * @param {embed.IEmbedConfiguration} [config=undefined] - * @returns {embed.Embed[]} - * @hidden - */ - Service.prototype.init = function (container, config) { - var _this = this; - if (config === void 0) { config = undefined; } - container = (container && container instanceof HTMLElement) ? container : document.body; - var elements = Array.prototype.slice.call(container.querySelectorAll("[" + embed.Embed.embedUrlAttribute + "]")); - return elements.map(function (element) { return _this.embed(element, config); }); - }; - /** - * Given a configuration based on an HTML element, - * if the component has already been created and attached to the element, reuses the component instance and existing iframe, - * otherwise creates a new component instance. - * - * @param {HTMLElement} element - * @param {embed.IEmbedConfigurationBase} [config={}] - * @returns {embed.Embed} - */ - Service.prototype.embed = function (element, config) { - if (config === void 0) { config = {}; } - return this.embedInternal(element, config); - }; - /** - * Given a configuration based on an HTML element, - * if the component has already been created and attached to the element, reuses the component instance and existing iframe, - * otherwise creates a new component instance. - * This is used for the phased embedding API, once element is loaded successfully, one can call 'render' on it. - * - * @param {HTMLElement} element - * @param {embed.IEmbedConfigurationBase} [config={}] - * @returns {embed.Embed} - */ - Service.prototype.load = function (element, config) { - if (config === void 0) { config = {}; } - return this.embedInternal(element, config, /* phasedRender */ true, /* isBootstrap */ false); - }; - /** - * Given an HTML element and entityType, creates a new component instance, and bootstrap the iframe for embedding. - * - * @param {HTMLElement} element - * @param {embed.IBootstrapEmbedConfiguration} config: a bootstrap config which is an embed config without access token. - */ - Service.prototype.bootstrap = function (element, config) { - return this.embedInternal(element, config, /* phasedRender */ false, /* isBootstrap */ true); - }; - /** @hidden */ - Service.prototype.embedInternal = function (element, config, phasedRender, isBootstrap) { - if (config === void 0) { config = {}; } - var component; - var powerBiElement = element; - if (powerBiElement.powerBiEmbed) { - if (isBootstrap) { - throw new Error("Attempted to bootstrap element " + element.outerHTML + ", but the element is already a powerbi element."); - } - component = this.embedExisting(powerBiElement, config, phasedRender); - } - else { - component = this.embedNew(powerBiElement, config, phasedRender, isBootstrap); - } - return component; - }; - /** @hidden */ - Service.prototype.getNumberOfComponents = function () { - if (!this.embeds) { - return 0; - } - return this.embeds.length; - }; - /** @hidden */ - Service.prototype.getSdkSessionId = function () { - return this.uniqueSessionId; - }; - /** - * Given a configuration based on a Power BI element, saves the component instance that reference the element for later lookup. - * - * @private - * @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); - if (!componentType) { - throw new Error("Attempted to embed using config " + JSON.stringify(config) + " on element " + element.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 '" + embed.Embed.typeAttribute + "=\"" + report_1.Report.type.toLowerCase() + "\"'."); - } - // Saves the type as part of the configuration so that it can be referenced later at a known location. - config.type = componentType; - var Component = utils.find(function (component) { return componentType === component.type.toLowerCase(); }, Service.components); - if (!Component) { - throw new Error("Attempted to embed component of type: " + componentType + " but did not find any matching component. Please verify the type you specified is intended."); - } - var component = new Component(this, element, config, phasedRender, isBootstrap); - element.powerBiEmbed = component; - this.addOrOverwriteEmbed(component, element); - return component; - }; - /** - * Given an element that already contains an embed component, load with a new configuration. - * - * @private - * @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); - if (!component) { - throw new Error("Attempted to embed using config " + JSON.stringify(config) + " on element " + element.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."); - } - // TODO: Multiple embedding to the same iframe is not supported in QnA - if (config.type && config.type.toLowerCase() === "qna") { - return this.embedNew(element, config); - } - /** - * TODO: Dynamic embed type switching could be supported but there is work needed to prepare the service state and DOM cleanup. - * remove all event handlers from the DOM, then reset the element to initial state which removes iframe, and removes from list of embeds - * then we can call the embedNew function which would allow setting the proper embedUrl and construction of object based on the new type. - */ - if (typeof config.type === "string" && config.type !== component.config.type) { - /** - * When loading report after create we want to use existing Iframe to optimize load period - */ - if (config.type === "report" && component.config.type === "create") { - var report = new report_1.Report(this, element, config, /* phasedRender */ false, /* isBootstrap */ false, element.powerBiEmbed.iframe); - component.populateConfig(config, /* isBootstrap */ false); - report.load(); - element.powerBiEmbed = report; - this.addOrOverwriteEmbed(component, element); - return report; - } - 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(config) + " on element " + element.outerHTML + ", but the existing element contains an embed of type: " + this.config.type + " which does not match the new type: " + config.type); - } - component.populateConfig(config, /* isBootstrap */ false); - component.load(phasedRender); - return component; - }; - /** - * Adds an event handler for DOMContentLoaded, which searches the DOM for elements that have the 'powerbi-embed-url' attribute, - * and automatically attempts to embed a powerbi component based on information from other powerbi-* attributes. - * - * Note: Only runs if `config.autoEmbedOnContentLoaded` is true when the service is created. - * This handler is typically useful only for applications that are rendered on the server so that all required data is available when the handler is called. - * - * @hidden - */ - Service.prototype.enableAutoEmbed = function () { - var _this = this; - window.addEventListener('DOMContentLoaded', function (event) { return _this.init(document.body); }, false); - }; - /** - * Returns an instance of the component associated with the element. - * - * @param {HTMLElement} element - * @returns {(Report | Tile)} - */ - Service.prototype.get = function (element) { - var powerBiElement = element; - if (!powerBiElement.powerBiEmbed) { - throw new Error("You attempted to get an instance of powerbi component associated with element: " + element.outerHTML + " but there was no associated instance."); - } - return powerBiElement.powerBiEmbed; - }; - /** - * Finds an embed instance by the name or unique ID that is provided. - * - * @param {string} uniqueId - * @returns {(Report | Tile)} - * @hidden - */ - Service.prototype.find = function (uniqueId) { - return utils.find(function (x) { return x.config.uniqueId === uniqueId; }, this.embeds); - }; - /** - * Removes embed components whose container element is same as the given element - * - * @param {Embed} component - * @param {HTMLElement} element - * @returns {void} - * @hidden - */ - Service.prototype.addOrOverwriteEmbed = function (component, element) { - // remove embeds over the same div element. - this.embeds = this.embeds.filter(function (embed) { - return embed.element !== element; - }); - this.embeds.push(component); - }; - /** - * Given an HTML element that has a component embedded within it, removes the component from the list of embedded components, removes the association between the element and the component, and removes the iframe. - * - * @param {HTMLElement} element - * @returns {void} - */ - Service.prototype.reset = function (element) { - var powerBiElement = element; - if (!powerBiElement.powerBiEmbed) { - return; - } - /** Removes the element frontLoad listener if exists. */ - var embedElement = powerBiElement.powerBiEmbed; - if (embedElement.frontLoadHandler) { - embedElement.element.removeEventListener('ready', embedElement.frontLoadHandler, false); - } - /** Removes the component from an internal list of components. */ - utils.remove(function (x) { return x === powerBiElement.powerBiEmbed; }, this.embeds); - /** Deletes a property from the HTML element. */ - delete powerBiElement.powerBiEmbed; - /** Removes the iframe from the element. */ - var iframe = element.querySelector('iframe'); - if (iframe) { - if (iframe.remove !== undefined) { - iframe.remove(); - } - else { - /** Workaround for IE: unhandled rejection TypeError: object doesn't support propert or method 'remove' */ - iframe.parentElement.removeChild(iframe); - } - } - }; - /** - * handles tile events - * - * @param {IEvent} event - * @hidden - */ - Service.prototype.handleTileEvents = function (event) { - if (event.type === 'tile') { - this.handleEvent(event); - } - }; - /** - * Given an event object, finds the embed component with the matching type and ID, and invokes its handleEvent method with the event object. - * - * @private - * @param {IEvent} event - * @hidden - */ - Service.prototype.handleEvent = function (event) { - var embed = utils.find(function (embed) { - return (embed.config.uniqueId === event.id); - }, this.embeds); - if (embed) { - var value = event.value; - if (event.name === 'pageChanged') { - var pageKey = 'newPage'; - var page = value[pageKey]; - if (!page) { - throw new Error("Page model not found at 'event.value." + pageKey + "'."); - } - value[pageKey] = new page_1.Page(embed, page.name, page.displayName, true /* isActive */); - } - utils.raiseCustomEvent(embed.element, event.name, value); - } - }; - /** - * API for warm starting powerbi embedded endpoints. - * Use this API to preload Power BI Embedded in the background. - * - * @public - * @param {embed.IEmbedConfigurationBase} [config={}] - * @param {HTMLElement} [element=undefined] - */ - Service.prototype.preload = function (config, element) { - var iframeContent = document.createElement("iframe"); - iframeContent.setAttribute("style", "display:none;"); - iframeContent.setAttribute("src", config.embedUrl); - iframeContent.setAttribute("scrolling", "no"); - iframeContent.setAttribute("allowfullscreen", "false"); - var node = element; - if (!node) { - node = document.getElementsByTagName("body")[0]; - } - node.appendChild(iframeContent); - iframeContent.onload = function () { - utils.raiseCustomEvent(iframeContent, "preloaded", {}); + // TODO: See if it's possible to share tracking properties interface? + // The responsibility of knowing how to configure windowPostMessageProxy for http should + // live in this http class, but the configuration would need ITrackingProperties + // interface which lives in WindowPostMessageProxy. Use type as workaround + HttpPostMessage.addTrackingProperties = function (message, trackingProperties) { + message.headers = message.headers || {}; + if (trackingProperties && trackingProperties.id) { + message.headers.id = trackingProperties.id; + } + return message; + }; + HttpPostMessage.getTrackingProperties = function (message) { + return { + id: message.headers && message.headers.id }; - return iframeContent; }; - /** - * A list of components that this service can embed - */ - Service.components = [ - tile_1.Tile, - report_1.Report, - dashboard_1.Dashboard, - qna_1.Qna, - visual_1.Visual - ]; - /** - * The default configuration for the service + HttpPostMessage.isErrorMessage = function (message) { + if (typeof (message && message.statusCode) !== 'number') { + return false; + } + return !(200 <= message.statusCode && message.statusCode < 300); + }; + HttpPostMessage.prototype.get = function (url, headers, targetWindow) { + if (headers === void 0) { headers = {}; } + if (targetWindow === void 0) { targetWindow = this.defaultTargetWindow; } + return this.send({ + method: "GET", + url: url, + headers: headers + }, targetWindow); + }; + HttpPostMessage.prototype.post = function (url, body, headers, targetWindow) { + if (headers === void 0) { headers = {}; } + if (targetWindow === void 0) { targetWindow = this.defaultTargetWindow; } + return this.send({ + method: "POST", + url: url, + headers: headers, + body: body + }, targetWindow); + }; + HttpPostMessage.prototype.put = function (url, body, headers, targetWindow) { + if (headers === void 0) { headers = {}; } + if (targetWindow === void 0) { targetWindow = this.defaultTargetWindow; } + return this.send({ + method: "PUT", + url: url, + headers: headers, + body: body + }, targetWindow); + }; + HttpPostMessage.prototype.patch = function (url, body, headers, targetWindow) { + if (headers === void 0) { headers = {}; } + if (targetWindow === void 0) { targetWindow = this.defaultTargetWindow; } + return this.send({ + method: "PATCH", + url: url, + headers: headers, + body: body + }, targetWindow); + }; + HttpPostMessage.prototype.delete = function (url, body, headers, targetWindow) { + if (body === void 0) { body = null; } + if (headers === void 0) { headers = {}; } + if (targetWindow === void 0) { targetWindow = this.defaultTargetWindow; } + return this.send({ + method: "DELETE", + url: url, + headers: headers, + body: body + }, targetWindow); + }; + HttpPostMessage.prototype.send = function (request, targetWindow) { + if (targetWindow === void 0) { targetWindow = this.defaultTargetWindow; } + request.headers = this.assign({}, this.defaultHeaders, request.headers); + if (!targetWindow) { + throw new Error("target window is not provided. You must either provide the target window explicitly as argument to request, or specify default target window when constructing instance of this class."); + } + return this.windowPostMessageProxy.postMessage(targetWindow, request); + }; + /** + * Object.assign() polyfill + * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/assign */ - Service.defaultConfig = { - autoEmbedOnContentLoaded: false, - onError: function () { - var args = []; - for (var _i = 0; _i < arguments.length; _i++) { - args[_i - 0] = arguments[_i]; + HttpPostMessage.prototype.assign = function (target) { + var sources = []; + for (var _i = 1; _i < arguments.length; _i++) { + sources[_i - 1] = arguments[_i]; + } + if (target === undefined || target === null) { + throw new TypeError('Cannot convert undefined or null to object'); + } + var output = Object(target); + sources.forEach(function (source) { + if (source !== undefined && source !== null) { + for (var nextKey in source) { + if (Object.prototype.hasOwnProperty.call(source, nextKey)) { + output[nextKey] = source[nextKey]; + } + } } - return console.log(args[0], args.slice(1)); - } + }); + return output; }; - return Service; + return HttpPostMessage; }()); - exports.Service = Service; + exports.HttpPostMessage = HttpPostMessage; + + +/***/ } +/******/ ]) +}); +; +//# sourceMappingURL=httpPostMessage.js.map + +/***/ }), + +/***/ "./node_modules/powerbi-models/dist/models.js": +/*!****************************************************!*\ + !*** ./node_modules/powerbi-models/dist/models.js ***! + \****************************************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +/*! powerbi-models v1.7.0 | (c) 2016 Microsoft Corporation MIT */ +(function webpackUniversalModuleDefinition(root, factory) { + if(true) + module.exports = factory(); + else {} +})(window, function() { +return /******/ (function(modules) { // webpackBootstrap +/******/ // The module cache +/******/ var installedModules = {}; +/******/ +/******/ // The require function +/******/ function __webpack_require__(moduleId) { +/******/ +/******/ // Check if module is in cache +/******/ if(installedModules[moduleId]) { +/******/ return installedModules[moduleId].exports; +/******/ } +/******/ // Create a new module (and put it into the cache) +/******/ var module = installedModules[moduleId] = { +/******/ 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.l = true; +/******/ +/******/ // Return the exports of the module +/******/ return module.exports; +/******/ } +/******/ +/******/ +/******/ // expose the modules object (__webpack_modules__) +/******/ __webpack_require__.m = modules; +/******/ +/******/ // 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__(__webpack_require__.s = 0); +/******/ }) +/************************************************************************/ +/******/ ([ +/* 0 */ +/***/ (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 }); +exports.validateCustomTheme = exports.validateCommandsSettings = exports.validateVisualSettings = exports.validateVisualHeader = exports.validateExportDataRequest = exports.validateQnaInterpretInputData = exports.validateLoadQnaConfiguration = exports.validateSaveAsParameters = exports.validateFilter = exports.validatePage = exports.validateTileLoad = exports.validateDashboardLoad = exports.validateCreateReport = exports.validateReportLoad = exports.validateMenuGroupExtension = exports.validateExtension = exports.validateCustomPageSize = exports.validateVisualizationsPane = exports.validateSyncSlicersPane = exports.validateSelectionPane = exports.validatePageNavigationPane = exports.validateFieldsPane = exports.validateFiltersPane = exports.validateBookmarksPane = exports.validatePanes = exports.validateSettings = exports.validateCaptureBookmarkRequest = exports.validateApplyBookmarkStateRequest = exports.validateApplyBookmarkByNameRequest = exports.validateAddBookmarkRequest = exports.validatePlayBookmarkRequest = exports.validateSlicerState = exports.validateSlicer = exports.validateVisualSelector = exports.isIExtensionArray = exports.isIExtensions = exports.isGroupedMenuExtension = exports.isFlatMenuExtension = exports.VisualDataRoleKindPreference = exports.VisualDataRoleKind = exports.CommandDisplayOption = exports.SlicerTargetSelector = exports.VisualTypeSelector = exports.VisualSelector = exports.PageSelector = exports.Selector = exports.SortDirection = exports.LegendPosition = exports.TextAlignment = exports.CommonErrorCodes = exports.BookmarksPlayMode = exports.ExportDataType = exports.QnaMode = exports.PageNavigationPosition = exports.isColumnAggr = exports.isHierarchyLevelAggr = exports.isHierarchyLevel = exports.isColumn = exports.isMeasure = exports.getFilterType = exports.isBasicFilterWithKeys = exports.isFilterKeyColumnsTarget = exports.AdvancedFilter = exports.TupleFilter = exports.BasicFilterWithKeys = exports.BasicFilter = exports.RelativeTimeFilter = exports.RelativeDateFilter = exports.TopNFilter = exports.IncludeExcludeFilter = exports.NotSupportedFilter = exports.Filter = exports.RelativeDateOperators = exports.RelativeDateFilterTimeUnit = exports.FilterType = exports.FiltersLevel = exports.MenuLocation = exports.ContrastMode = exports.TokenType = exports.ViewMode = exports.Permissions = exports.SectionVisibility = exports.HyperlinkClickBehavior = exports.LayoutType = exports.VisualContainerDisplayMode = exports.BackgroundType = exports.DisplayOption = exports.PageSizeType = exports.TraceType = void 0; +var validator_1 = __webpack_require__(1); +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[FilterType["RelativeTime"] = 7] = "RelativeTime"; +})(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[RelativeDateFilterTimeUnit["Minutes"] = 7] = "Minutes"; + RelativeDateFilterTimeUnit[RelativeDateFilterTimeUnit["Hours"] = 8] = "Hours"; +})(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 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) { + 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, _a = _this.keyValues; _i < _a.length; _i++) { + var keyValue = _a[_i]; + if (keyValue) { + var lengthOfArray = keyValue.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 PageNavigationPosition; +(function (PageNavigationPosition) { + PageNavigationPosition[PageNavigationPosition["Bottom"] = 0] = "Bottom"; + PageNavigationPosition[PageNavigationPosition["Left"] = 1] = "Left"; +})(PageNavigationPosition = exports.PageNavigationPosition || (exports.PageNavigationPosition = {})); +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 isFlatMenuExtension(menuExtension) { + return menuExtension && !isGroupedMenuExtension(menuExtension); +} +exports.isFlatMenuExtension = isFlatMenuExtension; +function isGroupedMenuExtension(menuExtension) { + return menuExtension && !!menuExtension.groupName; +} +exports.isGroupedMenuExtension = isGroupedMenuExtension; +function isIExtensions(extensions) { + return extensions && !isIExtensionArray(extensions); +} +exports.isIExtensions = isIExtensions; +function isIExtensionArray(extensions) { + return Array.isArray(extensions); +} +exports.isIExtensionArray = isIExtensionArray; +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 = validator_1.Validators.visualSelectorValidator.validate(input); + return errors ? errors.map(normalizeError) : undefined; +} +exports.validateVisualSelector = validateVisualSelector; +function validateSlicer(input) { + var errors = validator_1.Validators.slicerValidator.validate(input); + return errors ? errors.map(normalizeError) : undefined; +} +exports.validateSlicer = validateSlicer; +function validateSlicerState(input) { + var errors = validator_1.Validators.slicerStateValidator.validate(input); + return errors ? errors.map(normalizeError) : undefined; +} +exports.validateSlicerState = validateSlicerState; +function validatePlayBookmarkRequest(input) { + var errors = validator_1.Validators.playBookmarkRequestValidator.validate(input); + return errors ? errors.map(normalizeError) : undefined; +} +exports.validatePlayBookmarkRequest = validatePlayBookmarkRequest; +function validateAddBookmarkRequest(input) { + var errors = validator_1.Validators.addBookmarkRequestValidator.validate(input); + return errors ? errors.map(normalizeError) : undefined; +} +exports.validateAddBookmarkRequest = validateAddBookmarkRequest; +function validateApplyBookmarkByNameRequest(input) { + var errors = validator_1.Validators.applyBookmarkByNameRequestValidator.validate(input); + return errors ? errors.map(normalizeError) : undefined; +} +exports.validateApplyBookmarkByNameRequest = validateApplyBookmarkByNameRequest; +function validateApplyBookmarkStateRequest(input) { + var errors = validator_1.Validators.applyBookmarkStateRequestValidator.validate(input); + return errors ? errors.map(normalizeError) : undefined; +} +exports.validateApplyBookmarkStateRequest = validateApplyBookmarkStateRequest; +function validateCaptureBookmarkRequest(input) { + var errors = validator_1.Validators.captureBookmarkRequestValidator.validate(input); + return errors ? errors.map(normalizeError) : undefined; +} +exports.validateCaptureBookmarkRequest = validateCaptureBookmarkRequest; +function validateSettings(input) { + var errors = validator_1.Validators.settingsValidator.validate(input); + return errors ? errors.map(normalizeError) : undefined; +} +exports.validateSettings = validateSettings; +function validatePanes(input) { + var errors = validator_1.Validators.reportPanesValidator.validate(input); + return errors ? errors.map(normalizeError) : undefined; +} +exports.validatePanes = validatePanes; +function validateBookmarksPane(input) { + var errors = validator_1.Validators.bookmarksPaneValidator.validate(input); + return errors ? errors.map(normalizeError) : undefined; +} +exports.validateBookmarksPane = validateBookmarksPane; +function validateFiltersPane(input) { + var errors = validator_1.Validators.filtersPaneValidator.validate(input); + return errors ? errors.map(normalizeError) : undefined; +} +exports.validateFiltersPane = validateFiltersPane; +function validateFieldsPane(input) { + var errors = validator_1.Validators.fieldsPaneValidator.validate(input); + return errors ? errors.map(normalizeError) : undefined; +} +exports.validateFieldsPane = validateFieldsPane; +function validatePageNavigationPane(input) { + var errors = validator_1.Validators.pageNavigationPaneValidator.validate(input); + return errors ? errors.map(normalizeError) : undefined; +} +exports.validatePageNavigationPane = validatePageNavigationPane; +function validateSelectionPane(input) { + var errors = validator_1.Validators.selectionPaneValidator.validate(input); + return errors ? errors.map(normalizeError) : undefined; +} +exports.validateSelectionPane = validateSelectionPane; +function validateSyncSlicersPane(input) { + var errors = validator_1.Validators.syncSlicersPaneValidator.validate(input); + return errors ? errors.map(normalizeError) : undefined; +} +exports.validateSyncSlicersPane = validateSyncSlicersPane; +function validateVisualizationsPane(input) { + var errors = validator_1.Validators.visualizationsPaneValidator.validate(input); + return errors ? errors.map(normalizeError) : undefined; +} +exports.validateVisualizationsPane = validateVisualizationsPane; +function validateCustomPageSize(input) { + var errors = validator_1.Validators.customPageSizeValidator.validate(input); + return errors ? errors.map(normalizeError) : undefined; +} +exports.validateCustomPageSize = validateCustomPageSize; +function validateExtension(input) { + var errors = validator_1.Validators.extensionValidator.validate(input); + return errors ? errors.map(normalizeError) : undefined; +} +exports.validateExtension = validateExtension; +function validateMenuGroupExtension(input) { + var errors = validator_1.Validators.menuGroupExtensionValidator.validate(input); + return errors ? errors.map(normalizeError) : undefined; +} +exports.validateMenuGroupExtension = validateMenuGroupExtension; +function validateReportLoad(input) { + var errors = validator_1.Validators.reportLoadValidator.validate(input); + return errors ? errors.map(normalizeError) : undefined; +} +exports.validateReportLoad = validateReportLoad; +function validateCreateReport(input) { + var errors = validator_1.Validators.reportCreateValidator.validate(input); + return errors ? errors.map(normalizeError) : undefined; +} +exports.validateCreateReport = validateCreateReport; +function validateDashboardLoad(input) { + var errors = validator_1.Validators.dashboardLoadValidator.validate(input); + return errors ? errors.map(normalizeError) : undefined; +} +exports.validateDashboardLoad = validateDashboardLoad; +function validateTileLoad(input) { + var errors = validator_1.Validators.tileLoadValidator.validate(input); + return errors ? errors.map(normalizeError) : undefined; +} +exports.validateTileLoad = validateTileLoad; +function validatePage(input) { + var errors = validator_1.Validators.pageValidator.validate(input); + return errors ? errors.map(normalizeError) : undefined; +} +exports.validatePage = validatePage; +function validateFilter(input) { + var errors = validator_1.Validators.filtersValidator.validate(input); + return errors ? errors.map(normalizeError) : undefined; +} +exports.validateFilter = validateFilter; +function validateSaveAsParameters(input) { + var errors = validator_1.Validators.saveAsParametersValidator.validate(input); + return errors ? errors.map(normalizeError) : undefined; +} +exports.validateSaveAsParameters = validateSaveAsParameters; +function validateLoadQnaConfiguration(input) { + var errors = validator_1.Validators.loadQnaValidator.validate(input); + return errors ? errors.map(normalizeError) : undefined; +} +exports.validateLoadQnaConfiguration = validateLoadQnaConfiguration; +function validateQnaInterpretInputData(input) { + var errors = validator_1.Validators.qnaInterpretInputDataValidator.validate(input); + return errors ? errors.map(normalizeError) : undefined; +} +exports.validateQnaInterpretInputData = validateQnaInterpretInputData; +function validateExportDataRequest(input) { + var errors = validator_1.Validators.exportDataRequestValidator.validate(input); + return errors ? errors.map(normalizeError) : undefined; +} +exports.validateExportDataRequest = validateExportDataRequest; +function validateVisualHeader(input) { + var errors = validator_1.Validators.visualHeaderValidator.validate(input); + return errors ? errors.map(normalizeError) : undefined; +} +exports.validateVisualHeader = validateVisualHeader; +function validateVisualSettings(input) { + var errors = validator_1.Validators.visualSettingsValidator.validate(input); + return errors ? errors.map(normalizeError) : undefined; +} +exports.validateVisualSettings = validateVisualSettings; +function validateCommandsSettings(input) { + var errors = validator_1.Validators.commandsSettingsValidator.validate(input); + return errors ? errors.map(normalizeError) : undefined; +} +exports.validateCommandsSettings = validateCommandsSettings; +function validateCustomTheme(input) { + var errors = validator_1.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 }); +exports.Validators = void 0; +var barsValidator_1 = __webpack_require__(2); +var bookmarkValidator_1 = __webpack_require__(5); +var commandsSettingsValidator_1 = __webpack_require__(6); +var customThemeValidator_1 = __webpack_require__(7); +var dashboardLoadValidator_1 = __webpack_require__(8); +var datasetBindingValidator_1 = __webpack_require__(9); +var exportDataValidator_1 = __webpack_require__(10); +var extensionsValidator_1 = __webpack_require__(11); +var filtersValidator_1 = __webpack_require__(12); +var layoutValidator_1 = __webpack_require__(13); +var pageValidator_1 = __webpack_require__(14); +var panesValidator_1 = __webpack_require__(15); +var qnaValidator_1 = __webpack_require__(16); +var reportCreateValidator_1 = __webpack_require__(17); +var reportLoadValidator_1 = __webpack_require__(18); +var saveAsParametersValidator_1 = __webpack_require__(19); +var selectorsValidator_1 = __webpack_require__(20); +var settingsValidator_1 = __webpack_require__(21); +var slicersValidator_1 = __webpack_require__(22); +var tileLoadValidator_1 = __webpack_require__(23); +var visualSettingsValidator_1 = __webpack_require__(24); +var anyOfValidator_1 = __webpack_require__(25); +var fieldForbiddenValidator_1 = __webpack_require__(26); +var fieldRequiredValidator_1 = __webpack_require__(27); +var mapValidator_1 = __webpack_require__(28); +var typeValidator_1 = __webpack_require__(4); +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(), new filtersValidator_1.RelativeTimeFilterValidator()]), + anyValueValidator: new anyOfValidator_1.AnyOfValidator([new typeValidator_1.StringValidator(), new typeValidator_1.NumberValidator(), new typeValidator_1.BooleanValidator()]), + actionBarValidator: new barsValidator_1.ActionBarValidator(), + 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(), + bookmarksPaneValidator: new panesValidator_1.BookmarksPaneValidator(), + captureBookmarkOptionsValidator: new bookmarkValidator_1.CaptureBookmarkOptionsValidator(), + captureBookmarkRequestValidator: new bookmarkValidator_1.CaptureBookmarkRequestValidator(), + commandDisplayOptionValidator: new typeValidator_1.EnumValidator([0, 1, 2]), + commandExtensionSelectorValidator: new anyOfValidator_1.AnyOfValidator([new selectorsValidator_1.VisualSelectorValidator(), new selectorsValidator_1.VisualTypeSelectorValidator()]), + commandExtensionArrayValidator: new typeValidator_1.ArrayValidator([new extensionsValidator_1.CommandExtensionValidator()]), + 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()]), + extensionsValidator: new anyOfValidator_1.AnyOfValidator([new typeValidator_1.ArrayValidator([new extensionsValidator_1.ExtensionValidator()]), new extensionsValidator_1.ExtensionsValidator()]), + extensionPointsValidator: new extensionsValidator_1.ExtensionPointsValidator(), + extensionValidator: new extensionsValidator_1.ExtensionValidator(), + fieldForbiddenValidator: new fieldForbiddenValidator_1.FieldForbiddenValidator(), + 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(), + 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(), new filtersValidator_1.RelativeTimeFilterValidator()])]), + 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]), + layoutTypeValidator: new typeValidator_1.EnumValidator([0, 1, 2, 3]), + loadQnaValidator: new qnaValidator_1.LoadQnaValidator(), + menuExtensionValidator: new anyOfValidator_1.AnyOfValidator([new extensionsValidator_1.FlatMenuExtensionValidator(), new extensionsValidator_1.GroupedMenuExtensionValidator()]), + menuGroupExtensionArrayValidator: new typeValidator_1.ArrayValidator([new extensionsValidator_1.MenuGroupExtensionValidator()]), + menuGroupExtensionValidator: new extensionsValidator_1.MenuGroupExtensionValidator(), + 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()]), + pageNavigationPaneValidator: new panesValidator_1.PageNavigationPaneValidator(), + pageNavigationPositionValidator: new typeValidator_1.EnumValidator([0, 1]), + 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()]), + reportBarsValidator: new barsValidator_1.ReportBarsValidator(), + 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(), + 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(), + 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()]), + 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(), + syncSlicersPaneValidator: new panesValidator_1.SyncSlicersPaneValidator(), + 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()]), + visualizationsPaneValidator: new panesValidator_1.VisualizationsPaneValidator(), + visualLayoutValidator: new layoutValidator_1.VisualLayoutValidator(), + visualSelectorValidator: new selectorsValidator_1.VisualSelectorValidator(), + visualSettingsValidator: new visualSettingsValidator_1.VisualSettingsValidator(), + visualTypeSelectorValidator: new selectorsValidator_1.VisualTypeSelectorValidator(), +}; /***/ }), /* 2 */ /***/ (function(module, exports, __webpack_require__) { - 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 - * - * @export - * @abstract - * @hidden - * @class Embed - */ - var Embed = (function () { - /** - * Creates an instance of Embed. - * - * Note: there is circular reference between embeds and the service, because - * the service has a list of all embeds on the host page, and each embed has a reference to the service that created it. - * - * @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); - } - Array.prototype.push.apply(this.allowedEvents, Embed.allowedEvents); - this.eventHandlers = []; - this.service = service; - this.element = element; - this.iframe = iframe; - this.iframeLoaded = false; - this.embedtype = config.type.toLowerCase(); - this.populateConfig(config, isBootstrap); - 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); - } - } - /** - * Sends createReport configuration data. - * - * ```javascript - * createReport({ - * datasetId: '5dac7a4a-4452-46b3-99f6-a25915e0fe55', - * accessToken: 'eyJ0eXA ... TaE2rTSbmg', - * ``` - * @hidden - * @param {models.IReportCreateConfiguration} config - * @returns {Promise} - */ - Embed.prototype.createReport = function (config) { - var errors = models.validateCreateReport(config); - if (errors) { - throw errors; - } - return this.service.hpm.post("/report/create", config, { uid: this.config.uniqueId, sdkSessionId: this.service.getSdkSessionId() }, this.iframe.contentWindow) - .then(function (response) { - return response.body; - }, function (response) { - throw response.body; - }); - }; - /** - * Saves Report. - * - * @returns {Promise} - */ - Embed.prototype.save = function () { - return this.service.hpm.post('/report/save', null, { uid: this.config.uniqueId }, this.iframe.contentWindow) - .then(function (response) { - return response.body; - }) - .catch(function (response) { - throw response.body; - }); - }; - /** - * SaveAs Report. - * - * @returns {Promise} - */ - Embed.prototype.saveAs = function (saveAsParameters) { - return this.service.hpm.post('/report/saveAs', saveAsParameters, { uid: this.config.uniqueId }, this.iframe.contentWindow) - .then(function (response) { - return response.body; - }) - .catch(function (response) { - 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. - * - * ```javascript - * report.load({ - * type: 'report', - * id: '5dac7a4a-4452-46b3-99f6-a25915e0fe55', - * accessToken: 'eyJ0eXA ... TaE2rTSbmg', - * settings: { - * navContentPaneEnabled: false - * }, - * pageName: "DefaultPage", - * filters: [ - * { - * ... DefaultReportFilter ... - * } - * ] - * }) - * .catch(error => { ... }); - * ``` - * @hidden - * @param {models.ILoadConfiguration} config - * @param {boolean} phasedRender - * @returns {Promise} - */ - Embed.prototype.load = function (phasedRender) { - if (!this.config.accessToken) { - console.debug("Power BI SDK iframe is loaded but powerbi.embed is not called yet."); - return; - } - if (!this.iframeLoaded) { - console.debug("Power BI SDK is trying to post /report/load before iframe is ready."); - return; - } - var path = phasedRender && this.config.type === 'report' ? this.phasedLoadPath : this.loadPath; - var headers = { - uid: this.config.uniqueId, - sdkSessionId: this.service.getSdkSessionId(), - bootstrapped: this.config.bootstrapped, - sdkVersion: sdkConfig.default.version - }; - var timeNow = new Date(); - if (this.lastLoadRequest && utils.getTimeDiffInMilliseconds(this.lastLoadRequest, timeNow) < 100) { - console.debug("Power BI SDK sent more than two /report/load requests in the last 100ms interval."); - return; - } - this.lastLoadRequest = timeNow; - return this.service.hpm.post(path, this.config, headers, this.iframe.contentWindow) - .then(function (response) { - return response.body; - }, function (response) { - throw response.body; - }); - }; - /** - * Removes one or more event handlers from the list of handlers. - * If a reference to the existing handle function is specified, remove the specific handler. - * If the handler is not specified, remove all handlers for the event name specified. - * - * ```javascript - * report.off('pageChanged') - * - * or - * - * const logHandler = function (event) { - * console.log(event); - * }; - * - * report.off('pageChanged', logHandler); - * ``` - * - * @template T - * @param {string} eventName - * @param {service.IEventHandler} [handler] - */ - Embed.prototype.off = function (eventName, handler) { - var _this = this; - var fakeEvent = { name: eventName, type: null, id: null, value: null }; - if (handler) { - utils.remove(function (eventHandler) { return eventHandler.test(fakeEvent) && (eventHandler.handle === handler); }, this.eventHandlers); - this.element.removeEventListener(eventName, handler); - } - else { - var eventHandlersToRemove = this.eventHandlers - .filter(function (eventHandler) { return eventHandler.test(fakeEvent); }); - eventHandlersToRemove - .forEach(function (eventHandlerToRemove) { - utils.remove(function (eventHandler) { return eventHandler === eventHandlerToRemove; }, _this.eventHandlers); - _this.element.removeEventListener(eventName, eventHandlerToRemove.handle); - }); - } - }; - /** - * Adds an event handler for a specific event. - * - * ```javascript - * report.on('pageChanged', (event) => { - * console.log('PageChanged: ', event.page.name); - * }); - * ``` - * - * @template T - * @param {string} eventName - * @param {service.IEventHandler} handler - */ - Embed.prototype.on = function (eventName, handler) { - if (this.allowedEvents.indexOf(eventName) === -1) { - throw new Error("eventName must be one of " + this.allowedEvents + ". You passed: " + eventName); - } - this.eventHandlers.push({ - test: function (event) { return event.name === eventName; }, - handle: handler - }); - this.element.addEventListener(eventName, handler); - }; - /** - * Reloads embed using existing configuration. - * E.g. For reports this effectively clears all filters and makes the first page active which simulates resetting a report back to loaded state. - * - * ```javascript - * report.reload(); - * ``` - */ - Embed.prototype.reload = function () { - return this.load(); - }; - /** - * Set accessToken. - * - * @returns {Promise} - */ - Embed.prototype.setAccessToken = function (accessToken) { - var _this = this; - var embedType = this.config.type; - embedType = (embedType === 'create' || embedType === 'visual' || embedType === 'qna') ? 'report' : embedType; - return this.service.hpm.post('/' + embedType + '/token', accessToken, { uid: this.config.uniqueId }, this.iframe.contentWindow) - .then(function (response) { - _this.config.accessToken = accessToken; - _this.element.setAttribute(Embed.accessTokenAttribute, accessToken); - _this.service.accessToken = accessToken; - return response.body; - }) - .catch(function (response) { - throw response.body; - }); - }; - /** - * Gets an access token from the first available location: config, attribute, global. - * - * @private - * @param {string} globalAccessToken - * @returns {string} - * @hidden - */ - Embed.prototype.getAccessToken = function (globalAccessToken) { - var accessToken = this.config.accessToken || this.element.getAttribute(Embed.accessTokenAttribute) || globalAccessToken; - if (!accessToken) { - throw new Error("No access token was found for element. You must specify an access token directly on the element using attribute '" + Embed.accessTokenAttribute + "' or specify a global token at: powerbi.accessToken."); - } - return accessToken; - }; - /** - * Populate config for create and load - * - * @hidden - * @param {IEmbedConfiguration} - * @returns {void} - */ - Embed.prototype.populateConfig = function (config, isBootstrap) { - if (this.bootstrapConfig) { - this.config = utils.assign({}, this.bootstrapConfig, config); - // reset bootstrapConfig because we do not want to merge it in re-embed scenario. - this.bootstrapConfig = null; - } - else { - // Copy config - important for multiple iframe scenario. - // Otherwise, if a user uses the same config twice, same unique Id which will be used in different iframes. - this.config = utils.assign({}, config); - } - this.config.embedUrl = this.getEmbedUrl(isBootstrap); - this.config.groupId = this.getGroupId(); - this.addLocaleToEmbedUrl(config); - this.config.uniqueId = this.getUniqueId(); - if (isBootstrap) { - // save current config in bootstrapConfig to be able to merge it on next call to powerbi.embed - this.bootstrapConfig = this.config; - this.bootstrapConfig.bootstrapped = true; - } - else { - this.config.accessToken = this.getAccessToken(this.service.accessToken); - } - this.configChanged(isBootstrap); - }; - /** - * Adds locale parameters to embedUrl - * - * @private - * @param {IEmbedConfiguration | models.ICommonEmbedConfiguration} config - * @hidden - */ - Embed.prototype.addLocaleToEmbedUrl = function (config) { - if (!config.settings) { - return; - } - var 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); - } - }; - /** - * Gets an embed url from the first available location: options, attribute. - * - * @private - * @returns {string} - * @hidden - */ - Embed.prototype.getEmbedUrl = function (isBootstrap) { - var embedUrl = this.config.embedUrl || this.element.getAttribute(Embed.embedUrlAttribute); - if (isBootstrap && !embedUrl) { - // Prepare flow, embed url was not provided, use hostname to build embed url. - embedUrl = this.getDefaultEmbedUrl(this.config.hostname); - } - if (typeof embedUrl !== 'string' || embedUrl.length === 0) { - throw new Error("Embed Url is required, but it was not found. You must provide an embed url either as part of embed configuration or as attribute '" + Embed.embedUrlAttribute + "'."); - } - return embedUrl; - }; - /** - * @hidden - */ - Embed.prototype.getDefaultEmbedUrl = function (hostname) { - if (!hostname) { - hostname = Embed.defaultEmbedHostName; - } - var endpoint = this.getDefaultEmbedUrlEndpoint(); - // Trim spaces to fix user mistakes. - hostname = hostname.toLowerCase().trim(); - if (hostname.indexOf("http://") === 0) { - throw new Error("HTTP is not allowed. HTTPS is required"); - } - if (hostname.indexOf("https://") === 0) { - return hostname + "/" + endpoint; - } - return "https://" + hostname + "/" + endpoint; - }; - /** - * Gets a unique ID from the first available location: options, attribute. - * If neither is provided generate a unique string. - * - * @private - * @returns {string} - * @hidden - */ - Embed.prototype.getUniqueId = function () { - return this.config.uniqueId || this.element.getAttribute(Embed.nameAttribute) || utils.createRandomString(); - }; - /** - * Gets the group ID from the first available location: options, embeddedUrl. - * - * @private - * @returns {string} - * @hidden - */ - Embed.prototype.getGroupId = function () { - return this.config.groupId || Embed.findGroupIdFromEmbedUrl(this.config.embedUrl); - }; - /** - * Requests the browser to render the component's iframe in fullscreen mode. - */ - Embed.prototype.fullscreen = function () { - var requestFullScreen = this.iframe.requestFullscreen || this.iframe.msRequestFullscreen || this.iframe.mozRequestFullScreen || this.iframe.webkitRequestFullscreen; - requestFullScreen.call(this.iframe); - }; - /** - * Requests the browser to exit fullscreen mode. - */ - Embed.prototype.exitFullscreen = function () { - if (!this.isFullscreen(this.iframe)) { - return; - } - var exitFullscreen = document.exitFullscreen || document.mozCancelFullScreen || document.webkitExitFullscreen || document.msExitFullscreen; - exitFullscreen.call(document); - }; - /** - * Returns true if the iframe is rendered in fullscreen mode, - * otherwise returns false. - * - * @private - * @param {HTMLIFrameElement} iframe - * @returns {boolean} - * @hidden - */ - Embed.prototype.isFullscreen = function (iframe) { - var options = ['fullscreenElement', 'webkitFullscreenElement', 'mozFullscreenScreenElement', 'msFullscreenElement']; - return options.some(function (option) { return document[option] === iframe; }); - }; - /** - * Sets Iframe for embed - * @hidden - */ - Embed.prototype.setIframe = function (isLoad, phasedRender, isBootstrap) { - var _this = this; - if (!this.iframe) { - var iframeContent = document.createElement("iframe"); - var embedUrl = this.config.uniqueId ? utils.addParamToUrl(this.config.embedUrl, 'uid', this.config.uniqueId) : this.config.embedUrl; - iframeContent.style.width = '100%'; - iframeContent.style.height = '100%'; - iframeContent.setAttribute("src", embedUrl); - iframeContent.setAttribute("scrolling", "no"); - iframeContent.setAttribute("allowfullscreen", "true"); - var node = this.element; - while (node.firstChild) { - node.removeChild(node.firstChild); - } - node.appendChild(iframeContent); - this.iframe = node.firstChild; - } - if (isLoad) { - if (!isBootstrap) { - // Validate config if it's not a bootstrap case. - var errors = this.validate(this.config); - if (errors) { - throw errors; - } - } - this.iframe.addEventListener('load', function () { - _this.iframeLoaded = true; - _this.load(phasedRender); - }, false); - if (this.service.getNumberOfComponents() <= Embed.maxFrontLoadTimes) { - this.frontLoadHandler = function () { - _this.frontLoadSendConfig(_this.config); - }; - // 'ready' event is fired by the embedded element (not by the iframe) - this.element.addEventListener('ready', this.frontLoadHandler, false); - } - } - else { - this.iframe.addEventListener('load', function () { return _this.createReport(_this.createConfig); }, false); - } - }; - /** - * 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) { - return; - } - if (title == null) { - this.iframe.removeAttribute("title"); - } - else { - this.iframe.setAttribute("title", title); - } - }; - /** - * Sets element's tabindex attribute - */ - Embed.prototype.setComponentTabIndex = function (tabIndex) { - if (!this.element) { - return; - } - this.element.setAttribute("tabindex", (tabIndex == null) ? "0" : tabIndex.toString()); - }; - /** - * Removes element's tabindex attribute - */ - Embed.prototype.removeComponentTabIndex = function (tabIndex) { - if (!this.element) { - return; - } - this.element.removeAttribute("tabindex"); - }; - /** - * 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} - */ - Embed.findGroupIdFromEmbedUrl = function (url) { - var groupIdRegEx = /groupId="?([^&]+)"?/; - var groupIdMatch = url.match(groupIdRegEx); - var groupId; - if (groupIdMatch) { - groupId = groupIdMatch[1]; - } - return groupId; - }; - /** - * Sends the config for front load calls, after 'ready' message is received from the iframe - * @hidden - */ - Embed.prototype.frontLoadSendConfig = function (config) { - if (!config.accessToken) { - return; - } - var errors = this.validate(config); - if (errors) { - throw errors; - } - // contentWindow must be initialized - if (this.iframe.contentWindow == null) - return; - return this.service.hpm.post("/frontload/config", config, { uid: this.config.uniqueId }, this.iframe.contentWindow).then(function (response) { - return response.body; - }, function (response) { - 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; - }()); - exports.Embed = Embed; +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.ActionBarValidator = exports.ReportBarsValidator = void 0; +var multipleFieldsValidator_1 = __webpack_require__(3); +var typeValidator_1 = __webpack_require__(4); +var validator_1 = __webpack_require__(1); +var ReportBarsValidator = /** @class */ (function (_super) { + __extends(ReportBarsValidator, _super); + function ReportBarsValidator() { + return _super !== null && _super.apply(this, arguments) || this; + } + ReportBarsValidator.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: "actionBar", + validators: [validator_1.Validators.actionBarValidator] + } + ]; + var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields); + return multipleFieldsValidator.validate(input, path, field); + }; + return ReportBarsValidator; +}(typeValidator_1.ObjectValidator)); +exports.ReportBarsValidator = ReportBarsValidator; +var ActionBarValidator = /** @class */ (function (_super) { + __extends(ActionBarValidator, _super); + function ActionBarValidator() { + return _super !== null && _super.apply(this, arguments) || this; + } + ActionBarValidator.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 ActionBarValidator; +}(typeValidator_1.ObjectValidator)); +exports.ActionBarValidator = ActionBarValidator; /***/ }), /* 3 */ /***/ (function(module, exports) { - /** - * Raises a custom event with event data on the specified HTML element. - * - * @export - * @param {HTMLElement} element - * @param {string} eventName - * @param {*} eventData - */ - function raiseCustomEvent(element, eventName, eventData) { - var customEvent; - if (typeof CustomEvent === 'function') { - customEvent = new CustomEvent(eventName, { - detail: eventData, - bubbles: true, - cancelable: true - }); - } - else { - customEvent = document.createEvent('CustomEvent'); - customEvent.initCustomEvent(eventName, true, true, eventData); - } - element.dispatchEvent(customEvent); - } - exports.raiseCustomEvent = raiseCustomEvent; - /** - * Finds the index of the first value in an array that matches the specified predicate. - * - * @export - * @template T - * @param {(x: T) => boolean} predicate - * @param {T[]} xs - * @returns {number} - */ - function findIndex(predicate, xs) { - if (!Array.isArray(xs)) { - throw new Error("You attempted to call find with second parameter that was not an array. You passed: " + xs); - } - var index; - xs.some(function (x, i) { - if (predicate(x)) { - index = i; - return true; - } - }); - return index; - } - exports.findIndex = findIndex; - /** - * Finds the first value in an array that matches the specified predicate. - * - * @export - * @template T - * @param {(x: T) => boolean} predicate - * @param {T[]} xs - * @returns {T} - */ - function find(predicate, xs) { - var index = findIndex(predicate, xs); - return xs[index]; - } - exports.find = find; - function remove(predicate, xs) { - var index = findIndex(predicate, xs); - xs.splice(index, 1); - } - exports.remove = remove; - // See: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/assign - // TODO: replace in favor of using polyfill - /** - * Copies the values of all enumerable properties from one or more source objects to a target object, and returns the target object. - * - * @export - * @param {any} args - * @returns - */ - function assign() { - var args = []; - for (var _i = 0; _i < arguments.length; _i++) { - args[_i - 0] = arguments[_i]; - } - var target = args[0]; - 'use strict'; - if (target === undefined || target === null) { - throw new TypeError('Cannot convert undefined or null to object'); - } - var output = Object(target); - for (var index = 1; index < arguments.length; index++) { - var source = arguments[index]; - if (source !== undefined && source !== null) { - for (var nextKey in source) { - if (source.hasOwnProperty(nextKey)) { - output[nextKey] = source[nextKey]; - } - } - } - } - return output; - } - exports.assign = assign; - /** - * Generates a random 5 to 6 character string. - * - * @export - * @returns {string} - */ - function createRandomString() { - return getRandomValue().toString(36).substring(1); - } - exports.createRandomString = createRandomString; - /** - * Generates a 20 charachter uuid. - * - * @export - * @returns {string} - */ - function generateUUID() { - var d = new Date().getTime(); - if (typeof performance !== 'undefined' && typeof performance.now === 'function') { - d += performance.now(); - } - return 'xxxxxxxxxxxxxxxxxxxx'.replace(/[xy]/g, function (c) { - // Generate a random number, scaled from 0 to 15. - var r = (getRandomValue() % 16); - // Shift 4 times to divide by 16 - d >>= 4; - return r.toString(16); - }); - } - exports.generateUUID = generateUUID; - /** - * Adds a parameter to the given url - * - * @export - * @param {string} url - * @param {string} paramName - * @param {string} value - * @returns {string} - */ - function addParamToUrl(url, paramName, value) { - var parameterPrefix = url.indexOf('?') > 0 ? '&' : '?'; - url += parameterPrefix + paramName + '=' + value; - return url; - } - exports.addParamToUrl = addParamToUrl; - /** - * Checks if the report is saved. - * - * @export - * @param {HttpPostMessage} hpm - * @param {string} uid - * @param {Window} contentWindow - * @returns {Promise} - */ - function isSavedInternal(hpm, uid, contentWindow) { - return hpm.get('/report/hasUnsavedChanges', { uid: uid }, contentWindow) - .then(function (response) { return !response.body; }, function (response) { - throw response.body; - }); - } - exports.isSavedInternal = isSavedInternal; - /** - * Checks if the embed url is for RDL report. - * - * @export - * @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 - */ - function getRandomValue() { - // window.msCrypto for IE - var cryptoObj = window.crypto || window.msCrypto; - var randomValueArray = new Uint32Array(1); - cryptoObj.getRandomValues(randomValueArray); - return randomValueArray[0]; - } - exports.getRandomValue = getRandomValue; - /** - * Returns the time interval between two dates in milliseconds - * @export - * @param {Date} start - * @param {Date} end - * @returns {number} - */ - function getTimeDiffInMilliseconds(start, end) { - return Math.abs(start.getTime() - end.getTime()); - } - exports.getTimeDiffInMilliseconds = getTimeDiffInMilliseconds; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.MultipleFieldsValidator = void 0; +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; /***/ }), /* 4 */ /***/ (function(module, exports) { - /** @ignore */ /** */ - var config = { - version: '2.15.2', - type: 'js' - }; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.default = config; +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.NumberArrayValidator = exports.BooleanArrayValidator = exports.StringArrayValidator = exports.EnumValidator = exports.SchemaValidator = exports.ValueValidator = exports.NumberValidator = exports.BooleanValidator = exports.StringValidator = exports.TypeValidator = exports.ArrayValidator = exports.ObjectValidator = void 0; +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; /***/ }), /* 5 */ /***/ (function(module, exports, __webpack_require__) { - /*! powerbi-models v1.7.0 | (c) 2016 Microsoft Corporation MIT */ - (function webpackUniversalModuleDefinition(root, factory) { - if(true) - module.exports = factory(); - else if(typeof define === 'function' && define.amd) - define([], factory); - else if(typeof exports === 'object') - exports["powerbi-models"] = factory(); - else - root["powerbi-models"] = factory(); - })(window, function() { - return /******/ (function(modules) { // webpackBootstrap - /******/ // The module cache - /******/ var installedModules = {}; - /******/ - /******/ // The require function - /******/ function __webpack_require__(moduleId) { - /******/ - /******/ // Check if module is in cache - /******/ if(installedModules[moduleId]) { - /******/ return installedModules[moduleId].exports; - /******/ } - /******/ // Create a new module (and put it into the cache) - /******/ var module = installedModules[moduleId] = { - /******/ 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.l = true; - /******/ - /******/ // Return the exports of the module - /******/ return module.exports; - /******/ } - /******/ - /******/ - /******/ // expose the modules object (__webpack_modules__) - /******/ __webpack_require__.m = modules; - /******/ - /******/ // 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__(__webpack_require__.s = 0); - /******/ }) - /************************************************************************/ - /******/ ([ - /* 0 */ - /***/ (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 }); - exports.validateCustomTheme = exports.validateCommandsSettings = exports.validateVisualSettings = exports.validateVisualHeader = exports.validateExportDataRequest = exports.validateQnaInterpretInputData = exports.validateLoadQnaConfiguration = exports.validateSaveAsParameters = exports.validateFilter = exports.validatePage = exports.validateTileLoad = exports.validateDashboardLoad = exports.validateCreateReport = exports.validateReportLoad = exports.validateMenuGroupExtension = exports.validateExtension = exports.validateCustomPageSize = exports.validateVisualizationsPane = exports.validateSyncSlicersPane = exports.validateSelectionPane = exports.validatePageNavigationPane = exports.validateFieldsPane = exports.validateFiltersPane = exports.validateBookmarksPane = exports.validatePanes = exports.validateSettings = exports.validateCaptureBookmarkRequest = exports.validateApplyBookmarkStateRequest = exports.validateApplyBookmarkByNameRequest = exports.validateAddBookmarkRequest = exports.validatePlayBookmarkRequest = exports.validateSlicerState = exports.validateSlicer = exports.validateVisualSelector = exports.isIExtensionArray = exports.isIExtensions = exports.isGroupedMenuExtension = exports.isFlatMenuExtension = exports.VisualDataRoleKindPreference = exports.VisualDataRoleKind = exports.CommandDisplayOption = exports.SlicerTargetSelector = exports.VisualTypeSelector = exports.VisualSelector = exports.PageSelector = exports.Selector = exports.SortDirection = exports.LegendPosition = exports.TextAlignment = exports.CommonErrorCodes = exports.BookmarksPlayMode = exports.ExportDataType = exports.QnaMode = exports.PageNavigationPosition = exports.isColumnAggr = exports.isHierarchyLevelAggr = exports.isHierarchyLevel = exports.isColumn = exports.isMeasure = exports.getFilterType = exports.isBasicFilterWithKeys = exports.isFilterKeyColumnsTarget = exports.AdvancedFilter = exports.TupleFilter = exports.BasicFilterWithKeys = exports.BasicFilter = exports.RelativeTimeFilter = exports.RelativeDateFilter = exports.TopNFilter = exports.IncludeExcludeFilter = exports.NotSupportedFilter = exports.Filter = exports.RelativeDateOperators = exports.RelativeDateFilterTimeUnit = exports.FilterType = exports.FiltersLevel = exports.MenuLocation = exports.ContrastMode = exports.TokenType = exports.ViewMode = exports.Permissions = exports.SectionVisibility = exports.HyperlinkClickBehavior = exports.LayoutType = exports.VisualContainerDisplayMode = exports.BackgroundType = exports.DisplayOption = exports.PageSizeType = exports.TraceType = void 0; - var validator_1 = __webpack_require__(1); - 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[FilterType["RelativeTime"] = 7] = "RelativeTime"; - })(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[RelativeDateFilterTimeUnit["Minutes"] = 7] = "Minutes"; - RelativeDateFilterTimeUnit[RelativeDateFilterTimeUnit["Hours"] = 8] = "Hours"; - })(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 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) { - 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, _a = _this.keyValues; _i < _a.length; _i++) { - var keyValue = _a[_i]; - if (keyValue) { - var lengthOfArray = keyValue.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 PageNavigationPosition; - (function (PageNavigationPosition) { - PageNavigationPosition[PageNavigationPosition["Bottom"] = 0] = "Bottom"; - PageNavigationPosition[PageNavigationPosition["Left"] = 1] = "Left"; - })(PageNavigationPosition = exports.PageNavigationPosition || (exports.PageNavigationPosition = {})); - 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 isFlatMenuExtension(menuExtension) { - return menuExtension && !isGroupedMenuExtension(menuExtension); - } - exports.isFlatMenuExtension = isFlatMenuExtension; - function isGroupedMenuExtension(menuExtension) { - return menuExtension && !!menuExtension.groupName; - } - exports.isGroupedMenuExtension = isGroupedMenuExtension; - function isIExtensions(extensions) { - return extensions && !isIExtensionArray(extensions); - } - exports.isIExtensions = isIExtensions; - function isIExtensionArray(extensions) { - return Array.isArray(extensions); - } - exports.isIExtensionArray = isIExtensionArray; - 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 = validator_1.Validators.visualSelectorValidator.validate(input); - return errors ? errors.map(normalizeError) : undefined; - } - exports.validateVisualSelector = validateVisualSelector; - function validateSlicer(input) { - var errors = validator_1.Validators.slicerValidator.validate(input); - return errors ? errors.map(normalizeError) : undefined; - } - exports.validateSlicer = validateSlicer; - function validateSlicerState(input) { - var errors = validator_1.Validators.slicerStateValidator.validate(input); - return errors ? errors.map(normalizeError) : undefined; - } - exports.validateSlicerState = validateSlicerState; - function validatePlayBookmarkRequest(input) { - var errors = validator_1.Validators.playBookmarkRequestValidator.validate(input); - return errors ? errors.map(normalizeError) : undefined; - } - exports.validatePlayBookmarkRequest = validatePlayBookmarkRequest; - function validateAddBookmarkRequest(input) { - var errors = validator_1.Validators.addBookmarkRequestValidator.validate(input); - return errors ? errors.map(normalizeError) : undefined; - } - exports.validateAddBookmarkRequest = validateAddBookmarkRequest; - function validateApplyBookmarkByNameRequest(input) { - var errors = validator_1.Validators.applyBookmarkByNameRequestValidator.validate(input); - return errors ? errors.map(normalizeError) : undefined; - } - exports.validateApplyBookmarkByNameRequest = validateApplyBookmarkByNameRequest; - function validateApplyBookmarkStateRequest(input) { - var errors = validator_1.Validators.applyBookmarkStateRequestValidator.validate(input); - return errors ? errors.map(normalizeError) : undefined; - } - exports.validateApplyBookmarkStateRequest = validateApplyBookmarkStateRequest; - function validateCaptureBookmarkRequest(input) { - var errors = validator_1.Validators.captureBookmarkRequestValidator.validate(input); - return errors ? errors.map(normalizeError) : undefined; - } - exports.validateCaptureBookmarkRequest = validateCaptureBookmarkRequest; - function validateSettings(input) { - var errors = validator_1.Validators.settingsValidator.validate(input); - return errors ? errors.map(normalizeError) : undefined; - } - exports.validateSettings = validateSettings; - function validatePanes(input) { - var errors = validator_1.Validators.reportPanesValidator.validate(input); - return errors ? errors.map(normalizeError) : undefined; - } - exports.validatePanes = validatePanes; - function validateBookmarksPane(input) { - var errors = validator_1.Validators.bookmarksPaneValidator.validate(input); - return errors ? errors.map(normalizeError) : undefined; - } - exports.validateBookmarksPane = validateBookmarksPane; - function validateFiltersPane(input) { - var errors = validator_1.Validators.filtersPaneValidator.validate(input); - return errors ? errors.map(normalizeError) : undefined; - } - exports.validateFiltersPane = validateFiltersPane; - function validateFieldsPane(input) { - var errors = validator_1.Validators.fieldsPaneValidator.validate(input); - return errors ? errors.map(normalizeError) : undefined; - } - exports.validateFieldsPane = validateFieldsPane; - function validatePageNavigationPane(input) { - var errors = validator_1.Validators.pageNavigationPaneValidator.validate(input); - return errors ? errors.map(normalizeError) : undefined; - } - exports.validatePageNavigationPane = validatePageNavigationPane; - function validateSelectionPane(input) { - var errors = validator_1.Validators.selectionPaneValidator.validate(input); - return errors ? errors.map(normalizeError) : undefined; - } - exports.validateSelectionPane = validateSelectionPane; - function validateSyncSlicersPane(input) { - var errors = validator_1.Validators.syncSlicersPaneValidator.validate(input); - return errors ? errors.map(normalizeError) : undefined; - } - exports.validateSyncSlicersPane = validateSyncSlicersPane; - function validateVisualizationsPane(input) { - var errors = validator_1.Validators.visualizationsPaneValidator.validate(input); - return errors ? errors.map(normalizeError) : undefined; - } - exports.validateVisualizationsPane = validateVisualizationsPane; - function validateCustomPageSize(input) { - var errors = validator_1.Validators.customPageSizeValidator.validate(input); - return errors ? errors.map(normalizeError) : undefined; - } - exports.validateCustomPageSize = validateCustomPageSize; - function validateExtension(input) { - var errors = validator_1.Validators.extensionValidator.validate(input); - return errors ? errors.map(normalizeError) : undefined; - } - exports.validateExtension = validateExtension; - function validateMenuGroupExtension(input) { - var errors = validator_1.Validators.menuGroupExtensionValidator.validate(input); - return errors ? errors.map(normalizeError) : undefined; - } - exports.validateMenuGroupExtension = validateMenuGroupExtension; - function validateReportLoad(input) { - var errors = validator_1.Validators.reportLoadValidator.validate(input); - return errors ? errors.map(normalizeError) : undefined; - } - exports.validateReportLoad = validateReportLoad; - function validateCreateReport(input) { - var errors = validator_1.Validators.reportCreateValidator.validate(input); - return errors ? errors.map(normalizeError) : undefined; - } - exports.validateCreateReport = validateCreateReport; - function validateDashboardLoad(input) { - var errors = validator_1.Validators.dashboardLoadValidator.validate(input); - return errors ? errors.map(normalizeError) : undefined; - } - exports.validateDashboardLoad = validateDashboardLoad; - function validateTileLoad(input) { - var errors = validator_1.Validators.tileLoadValidator.validate(input); - return errors ? errors.map(normalizeError) : undefined; - } - exports.validateTileLoad = validateTileLoad; - function validatePage(input) { - var errors = validator_1.Validators.pageValidator.validate(input); - return errors ? errors.map(normalizeError) : undefined; - } - exports.validatePage = validatePage; - function validateFilter(input) { - var errors = validator_1.Validators.filtersValidator.validate(input); - return errors ? errors.map(normalizeError) : undefined; - } - exports.validateFilter = validateFilter; - function validateSaveAsParameters(input) { - var errors = validator_1.Validators.saveAsParametersValidator.validate(input); - return errors ? errors.map(normalizeError) : undefined; - } - exports.validateSaveAsParameters = validateSaveAsParameters; - function validateLoadQnaConfiguration(input) { - var errors = validator_1.Validators.loadQnaValidator.validate(input); - return errors ? errors.map(normalizeError) : undefined; - } - exports.validateLoadQnaConfiguration = validateLoadQnaConfiguration; - function validateQnaInterpretInputData(input) { - var errors = validator_1.Validators.qnaInterpretInputDataValidator.validate(input); - return errors ? errors.map(normalizeError) : undefined; - } - exports.validateQnaInterpretInputData = validateQnaInterpretInputData; - function validateExportDataRequest(input) { - var errors = validator_1.Validators.exportDataRequestValidator.validate(input); - return errors ? errors.map(normalizeError) : undefined; - } - exports.validateExportDataRequest = validateExportDataRequest; - function validateVisualHeader(input) { - var errors = validator_1.Validators.visualHeaderValidator.validate(input); - return errors ? errors.map(normalizeError) : undefined; - } - exports.validateVisualHeader = validateVisualHeader; - function validateVisualSettings(input) { - var errors = validator_1.Validators.visualSettingsValidator.validate(input); - return errors ? errors.map(normalizeError) : undefined; - } - exports.validateVisualSettings = validateVisualSettings; - function validateCommandsSettings(input) { - var errors = validator_1.Validators.commandsSettingsValidator.validate(input); - return errors ? errors.map(normalizeError) : undefined; - } - exports.validateCommandsSettings = validateCommandsSettings; - function validateCustomTheme(input) { - var errors = validator_1.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 }); - exports.Validators = void 0; - var barsValidator_1 = __webpack_require__(2); - var bookmarkValidator_1 = __webpack_require__(5); - var commandsSettingsValidator_1 = __webpack_require__(6); - var customThemeValidator_1 = __webpack_require__(7); - var dashboardLoadValidator_1 = __webpack_require__(8); - var datasetBindingValidator_1 = __webpack_require__(9); - var exportDataValidator_1 = __webpack_require__(10); - var extensionsValidator_1 = __webpack_require__(11); - var filtersValidator_1 = __webpack_require__(12); - var layoutValidator_1 = __webpack_require__(13); - var pageValidator_1 = __webpack_require__(14); - var panesValidator_1 = __webpack_require__(15); - var qnaValidator_1 = __webpack_require__(16); - var reportCreateValidator_1 = __webpack_require__(17); - var reportLoadValidator_1 = __webpack_require__(18); - var saveAsParametersValidator_1 = __webpack_require__(19); - var selectorsValidator_1 = __webpack_require__(20); - var settingsValidator_1 = __webpack_require__(21); - var slicersValidator_1 = __webpack_require__(22); - var tileLoadValidator_1 = __webpack_require__(23); - var visualSettingsValidator_1 = __webpack_require__(24); - var anyOfValidator_1 = __webpack_require__(25); - var fieldForbiddenValidator_1 = __webpack_require__(26); - var fieldRequiredValidator_1 = __webpack_require__(27); - var mapValidator_1 = __webpack_require__(28); - var typeValidator_1 = __webpack_require__(4); - 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(), new filtersValidator_1.RelativeTimeFilterValidator()]), - anyValueValidator: new anyOfValidator_1.AnyOfValidator([new typeValidator_1.StringValidator(), new typeValidator_1.NumberValidator(), new typeValidator_1.BooleanValidator()]), - actionBarValidator: new barsValidator_1.ActionBarValidator(), - 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(), - bookmarksPaneValidator: new panesValidator_1.BookmarksPaneValidator(), - captureBookmarkOptionsValidator: new bookmarkValidator_1.CaptureBookmarkOptionsValidator(), - captureBookmarkRequestValidator: new bookmarkValidator_1.CaptureBookmarkRequestValidator(), - commandDisplayOptionValidator: new typeValidator_1.EnumValidator([0, 1, 2]), - commandExtensionSelectorValidator: new anyOfValidator_1.AnyOfValidator([new selectorsValidator_1.VisualSelectorValidator(), new selectorsValidator_1.VisualTypeSelectorValidator()]), - commandExtensionArrayValidator: new typeValidator_1.ArrayValidator([new extensionsValidator_1.CommandExtensionValidator()]), - 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()]), - extensionsValidator: new anyOfValidator_1.AnyOfValidator([new typeValidator_1.ArrayValidator([new extensionsValidator_1.ExtensionValidator()]), new extensionsValidator_1.ExtensionsValidator()]), - extensionPointsValidator: new extensionsValidator_1.ExtensionPointsValidator(), - extensionValidator: new extensionsValidator_1.ExtensionValidator(), - fieldForbiddenValidator: new fieldForbiddenValidator_1.FieldForbiddenValidator(), - 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(), - 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(), new filtersValidator_1.RelativeTimeFilterValidator()])]), - 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]), - layoutTypeValidator: new typeValidator_1.EnumValidator([0, 1, 2, 3]), - loadQnaValidator: new qnaValidator_1.LoadQnaValidator(), - menuExtensionValidator: new anyOfValidator_1.AnyOfValidator([new extensionsValidator_1.FlatMenuExtensionValidator(), new extensionsValidator_1.GroupedMenuExtensionValidator()]), - menuGroupExtensionArrayValidator: new typeValidator_1.ArrayValidator([new extensionsValidator_1.MenuGroupExtensionValidator()]), - menuGroupExtensionValidator: new extensionsValidator_1.MenuGroupExtensionValidator(), - 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()]), - pageNavigationPaneValidator: new panesValidator_1.PageNavigationPaneValidator(), - pageNavigationPositionValidator: new typeValidator_1.EnumValidator([0, 1]), - 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()]), - reportBarsValidator: new barsValidator_1.ReportBarsValidator(), - 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(), - 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(), - 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()]), - 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(), - syncSlicersPaneValidator: new panesValidator_1.SyncSlicersPaneValidator(), - 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()]), - visualizationsPaneValidator: new panesValidator_1.VisualizationsPaneValidator(), - visualLayoutValidator: new layoutValidator_1.VisualLayoutValidator(), - visualSelectorValidator: new selectorsValidator_1.VisualSelectorValidator(), - visualSettingsValidator: new visualSettingsValidator_1.VisualSettingsValidator(), - visualTypeSelectorValidator: new selectorsValidator_1.VisualTypeSelectorValidator(), - }; - - - /***/ }), - /* 2 */ - /***/ (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 }); - exports.ActionBarValidator = exports.ReportBarsValidator = void 0; - var multipleFieldsValidator_1 = __webpack_require__(3); - var typeValidator_1 = __webpack_require__(4); - var validator_1 = __webpack_require__(1); - var ReportBarsValidator = /** @class */ (function (_super) { - __extends(ReportBarsValidator, _super); - function ReportBarsValidator() { - return _super !== null && _super.apply(this, arguments) || this; - } - ReportBarsValidator.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: "actionBar", - validators: [validator_1.Validators.actionBarValidator] - } - ]; - var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields); - return multipleFieldsValidator.validate(input, path, field); - }; - return ReportBarsValidator; - }(typeValidator_1.ObjectValidator)); - exports.ReportBarsValidator = ReportBarsValidator; - var ActionBarValidator = /** @class */ (function (_super) { - __extends(ActionBarValidator, _super); - function ActionBarValidator() { - return _super !== null && _super.apply(this, arguments) || this; - } - ActionBarValidator.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 ActionBarValidator; - }(typeValidator_1.ObjectValidator)); - exports.ActionBarValidator = ActionBarValidator; - - - /***/ }), - /* 3 */ - /***/ (function(module, exports) { - - Object.defineProperty(exports, "__esModule", { value: true }); - exports.MultipleFieldsValidator = void 0; - 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; - - - /***/ }), - /* 4 */ - /***/ (function(module, exports) { - - 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.NumberArrayValidator = exports.BooleanArrayValidator = exports.StringArrayValidator = exports.EnumValidator = exports.SchemaValidator = exports.ValueValidator = exports.NumberValidator = exports.BooleanValidator = exports.StringValidator = exports.TypeValidator = exports.ArrayValidator = exports.ObjectValidator = void 0; - 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; - - - /***/ }), - /* 5 */ - /***/ (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 }); - exports.CaptureBookmarkRequestValidator = exports.CaptureBookmarkOptionsValidator = exports.ApplyBookmarkStateRequestValidator = exports.ApplyBookmarkByNameRequestValidator = exports.AddBookmarkRequestValidator = exports.PlayBookmarkRequestValidator = void 0; - var multipleFieldsValidator_1 = __webpack_require__(3); - var typeValidator_1 = __webpack_require__(4); - var validator_1 = __webpack_require__(1); - 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 CaptureBookmarkOptionsValidator = /** @class */ (function (_super) { - __extends(CaptureBookmarkOptionsValidator, _super); - function CaptureBookmarkOptionsValidator() { - return _super !== null && _super.apply(this, arguments) || this; - } - CaptureBookmarkOptionsValidator.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: "personalizeVisuals", - validators: [validator_1.Validators.booleanValidator] - } - ]; - var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields); - return multipleFieldsValidator.validate(input, path, field); - }; - return CaptureBookmarkOptionsValidator; - }(typeValidator_1.ObjectValidator)); - exports.CaptureBookmarkOptionsValidator = CaptureBookmarkOptionsValidator; - var CaptureBookmarkRequestValidator = /** @class */ (function (_super) { - __extends(CaptureBookmarkRequestValidator, _super); - function CaptureBookmarkRequestValidator() { - return _super !== null && _super.apply(this, arguments) || this; - } - CaptureBookmarkRequestValidator.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: "options", - validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.captureBookmarkOptionsValidator] - } - ]; - var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields); - return multipleFieldsValidator.validate(input, path, field); - }; - return CaptureBookmarkRequestValidator; - }(typeValidator_1.ObjectValidator)); - exports.CaptureBookmarkRequestValidator = CaptureBookmarkRequestValidator; - - - /***/ }), - /* 6 */ - /***/ (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 }); - exports.SingleCommandSettingsValidator = exports.CommandsSettingsValidator = void 0; - var multipleFieldsValidator_1 = __webpack_require__(3); - var typeValidator_1 = __webpack_require__(4); - var validator_1 = __webpack_require__(1); - 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; - - - /***/ }), - /* 7 */ - /***/ (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 }); - exports.CustomThemeValidator = void 0; - var multipleFieldsValidator_1 = __webpack_require__(3); - var typeValidator_1 = __webpack_require__(4); - 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; - - - /***/ }), - /* 8 */ - /***/ (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 }); - exports.DashboardLoadValidator = void 0; - var multipleFieldsValidator_1 = __webpack_require__(3); - var typeValidator_1 = __webpack_require__(4); - var validator_1 = __webpack_require__(1); - 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; - - - /***/ }), - /* 9 */ - /***/ (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 }); - exports.DatasetBindingValidator = void 0; - var multipleFieldsValidator_1 = __webpack_require__(3); - var typeValidator_1 = __webpack_require__(4); - var validator_1 = __webpack_require__(1); - 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; - - - /***/ }), - /* 10 */ - /***/ (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 }); - exports.ExportDataRequestValidator = void 0; - var multipleFieldsValidator_1 = __webpack_require__(3); - var typeValidator_1 = __webpack_require__(4); - 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; - - - /***/ }), - /* 11 */ - /***/ (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 }); - exports.ExtensionsValidator = exports.MenuGroupExtensionValidator = exports.ExtensionValidator = exports.CommandExtensionValidator = exports.ExtensionItemValidator = exports.ExtensionPointsValidator = exports.GroupedMenuExtensionValidator = exports.FlatMenuExtensionValidator = exports.MenuExtensionBaseValidator = void 0; - var multipleFieldsValidator_1 = __webpack_require__(3); - var typeValidator_1 = __webpack_require__(4); - var validator_1 = __webpack_require__(1); - var MenuExtensionBaseValidator = /** @class */ (function (_super) { - __extends(MenuExtensionBaseValidator, _super); - function MenuExtensionBaseValidator() { - return _super !== null && _super.apply(this, arguments) || this; - } - MenuExtensionBaseValidator.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] - } - ]; - var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields); - return multipleFieldsValidator.validate(input, path, field); - }; - return MenuExtensionBaseValidator; - }(typeValidator_1.ObjectValidator)); - exports.MenuExtensionBaseValidator = MenuExtensionBaseValidator; - var FlatMenuExtensionValidator = /** @class */ (function (_super) { - __extends(FlatMenuExtensionValidator, _super); - function FlatMenuExtensionValidator() { - return _super !== null && _super.apply(this, arguments) || this; - } - FlatMenuExtensionValidator.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: "menuLocation", - validators: [validator_1.Validators.menuLocationValidator] - }, - { - field: "groupName", - validators: [validator_1.Validators.fieldForbiddenValidator] - }, - ]; - var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields); - return multipleFieldsValidator.validate(input, path, field); - }; - return FlatMenuExtensionValidator; - }(MenuExtensionBaseValidator)); - exports.FlatMenuExtensionValidator = FlatMenuExtensionValidator; - var GroupedMenuExtensionValidator = /** @class */ (function (_super) { - __extends(GroupedMenuExtensionValidator, _super); - function GroupedMenuExtensionValidator() { - return _super !== null && _super.apply(this, arguments) || this; - } - GroupedMenuExtensionValidator.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: "groupName", - validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.stringValidator] - }, - { - field: "menuLocation", - validators: [validator_1.Validators.fieldForbiddenValidator] - }, - ]; - var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields); - return multipleFieldsValidator.validate(input, path, field); - }; - return GroupedMenuExtensionValidator; - }(MenuExtensionBaseValidator)); - exports.GroupedMenuExtensionValidator = GroupedMenuExtensionValidator; - 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 MenuGroupExtensionValidator = /** @class */ (function (_super) { - __extends(MenuGroupExtensionValidator, _super); - function MenuGroupExtensionValidator() { - return _super !== null && _super.apply(this, arguments) || this; - } - MenuGroupExtensionValidator.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: "title", - validators: [validator_1.Validators.fieldRequiredValidator, 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 MenuGroupExtensionValidator; - }(typeValidator_1.ObjectValidator)); - exports.MenuGroupExtensionValidator = MenuGroupExtensionValidator; - var ExtensionsValidator = /** @class */ (function (_super) { - __extends(ExtensionsValidator, _super); - function ExtensionsValidator() { - return _super !== null && _super.apply(this, arguments) || this; - } - ExtensionsValidator.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: "commands", - validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.commandExtensionArrayValidator] - }, - { - field: "groups", - validators: [validator_1.Validators.menuGroupExtensionArrayValidator] - } - ]; - var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields); - return multipleFieldsValidator.validate(input, path, field); - }; - return ExtensionsValidator; - }(typeValidator_1.ObjectValidator)); - exports.ExtensionsValidator = ExtensionsValidator; - - - /***/ }), - /* 12 */ - /***/ (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 }); - exports.ConditionItemValidator = exports.FilterValidator = exports.IncludeExcludeFilterValidator = exports.NotSupportedFilterValidator = exports.TopNFilterValidator = exports.RelativeTimeFilterValidator = exports.RelativeDateFilterValidator = exports.AdvancedFilterValidator = exports.BasicFilterValidator = exports.FilterMeasureTargetValidator = exports.FilterKeyHierarchyTargetValidator = exports.FilterHierarchyTargetValidator = exports.FilterKeyColumnsTargetValidator = exports.FilterColumnTargetValidator = void 0; - var multipleFieldsValidator_1 = __webpack_require__(3); - var typeValidator_1 = __webpack_require__(4); - var validator_1 = __webpack_require__(1); - 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 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() { - 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; - - - /***/ }), - /* 13 */ - /***/ (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 }); - exports.PageLayoutValidator = exports.DisplayStateValidator = exports.VisualLayoutValidator = exports.CustomLayoutValidator = void 0; - var multipleFieldsValidator_1 = __webpack_require__(3); - var typeValidator_1 = __webpack_require__(4); - var validator_1 = __webpack_require__(1); - 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; - - - /***/ }), - /* 14 */ - /***/ (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 }); - exports.PageViewFieldValidator = exports.PageValidator = exports.CustomPageSizeValidator = exports.PageSizeValidator = void 0; - var multipleFieldsValidator_1 = __webpack_require__(3); - var typeValidator_1 = __webpack_require__(4); - var validator_1 = __webpack_require__(1); - 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 = 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.VisualizationsPaneValidator = exports.SyncSlicersPaneValidator = exports.SelectionPaneValidator = exports.PageNavigationPaneValidator = exports.FiltersPaneValidator = exports.FieldsPaneValidator = exports.BookmarksPaneValidator = exports.ReportPanesValidator = void 0; - var multipleFieldsValidator_1 = __webpack_require__(3); - var typeValidator_1 = __webpack_require__(4); - var validator_1 = __webpack_require__(1); - var ReportPanesValidator = /** @class */ (function (_super) { - __extends(ReportPanesValidator, _super); - function ReportPanesValidator() { - return _super !== null && _super.apply(this, arguments) || this; +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.CaptureBookmarkRequestValidator = exports.CaptureBookmarkOptionsValidator = exports.ApplyBookmarkStateRequestValidator = exports.ApplyBookmarkByNameRequestValidator = exports.AddBookmarkRequestValidator = exports.PlayBookmarkRequestValidator = void 0; +var multipleFieldsValidator_1 = __webpack_require__(3); +var typeValidator_1 = __webpack_require__(4); +var validator_1 = __webpack_require__(1); +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 CaptureBookmarkOptionsValidator = /** @class */ (function (_super) { + __extends(CaptureBookmarkOptionsValidator, _super); + function CaptureBookmarkOptionsValidator() { + return _super !== null && _super.apply(this, arguments) || this; + } + CaptureBookmarkOptionsValidator.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: "personalizeVisuals", + validators: [validator_1.Validators.booleanValidator] + } + ]; + var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields); + return multipleFieldsValidator.validate(input, path, field); + }; + return CaptureBookmarkOptionsValidator; +}(typeValidator_1.ObjectValidator)); +exports.CaptureBookmarkOptionsValidator = CaptureBookmarkOptionsValidator; +var CaptureBookmarkRequestValidator = /** @class */ (function (_super) { + __extends(CaptureBookmarkRequestValidator, _super); + function CaptureBookmarkRequestValidator() { + return _super !== null && _super.apply(this, arguments) || this; + } + CaptureBookmarkRequestValidator.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: "options", + validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.captureBookmarkOptionsValidator] + } + ]; + var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields); + return multipleFieldsValidator.validate(input, path, field); + }; + return CaptureBookmarkRequestValidator; +}(typeValidator_1.ObjectValidator)); +exports.CaptureBookmarkRequestValidator = CaptureBookmarkRequestValidator; + + +/***/ }), +/* 6 */ +/***/ (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 }); +exports.SingleCommandSettingsValidator = exports.CommandsSettingsValidator = void 0; +var multipleFieldsValidator_1 = __webpack_require__(3); +var typeValidator_1 = __webpack_require__(4); +var validator_1 = __webpack_require__(1); +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; + + +/***/ }), +/* 7 */ +/***/ (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 }); +exports.CustomThemeValidator = void 0; +var multipleFieldsValidator_1 = __webpack_require__(3); +var typeValidator_1 = __webpack_require__(4); +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; + + +/***/ }), +/* 8 */ +/***/ (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 }); +exports.DashboardLoadValidator = void 0; +var multipleFieldsValidator_1 = __webpack_require__(3); +var typeValidator_1 = __webpack_require__(4); +var validator_1 = __webpack_require__(1); +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; + + +/***/ }), +/* 9 */ +/***/ (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 }); +exports.DatasetBindingValidator = void 0; +var multipleFieldsValidator_1 = __webpack_require__(3); +var typeValidator_1 = __webpack_require__(4); +var validator_1 = __webpack_require__(1); +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; + + +/***/ }), +/* 10 */ +/***/ (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 }); +exports.ExportDataRequestValidator = void 0; +var multipleFieldsValidator_1 = __webpack_require__(3); +var typeValidator_1 = __webpack_require__(4); +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; + + +/***/ }), +/* 11 */ +/***/ (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 }); +exports.ExtensionsValidator = exports.MenuGroupExtensionValidator = exports.ExtensionValidator = exports.CommandExtensionValidator = exports.ExtensionItemValidator = exports.ExtensionPointsValidator = exports.GroupedMenuExtensionValidator = exports.FlatMenuExtensionValidator = exports.MenuExtensionBaseValidator = void 0; +var multipleFieldsValidator_1 = __webpack_require__(3); +var typeValidator_1 = __webpack_require__(4); +var validator_1 = __webpack_require__(1); +var MenuExtensionBaseValidator = /** @class */ (function (_super) { + __extends(MenuExtensionBaseValidator, _super); + function MenuExtensionBaseValidator() { + return _super !== null && _super.apply(this, arguments) || this; + } + MenuExtensionBaseValidator.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] + } + ]; + var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields); + return multipleFieldsValidator.validate(input, path, field); + }; + return MenuExtensionBaseValidator; +}(typeValidator_1.ObjectValidator)); +exports.MenuExtensionBaseValidator = MenuExtensionBaseValidator; +var FlatMenuExtensionValidator = /** @class */ (function (_super) { + __extends(FlatMenuExtensionValidator, _super); + function FlatMenuExtensionValidator() { + return _super !== null && _super.apply(this, arguments) || this; + } + FlatMenuExtensionValidator.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: "menuLocation", + validators: [validator_1.Validators.menuLocationValidator] + }, + { + field: "groupName", + validators: [validator_1.Validators.fieldForbiddenValidator] + }, + ]; + var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields); + return multipleFieldsValidator.validate(input, path, field); + }; + return FlatMenuExtensionValidator; +}(MenuExtensionBaseValidator)); +exports.FlatMenuExtensionValidator = FlatMenuExtensionValidator; +var GroupedMenuExtensionValidator = /** @class */ (function (_super) { + __extends(GroupedMenuExtensionValidator, _super); + function GroupedMenuExtensionValidator() { + return _super !== null && _super.apply(this, arguments) || this; + } + GroupedMenuExtensionValidator.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: "groupName", + validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.stringValidator] + }, + { + field: "menuLocation", + validators: [validator_1.Validators.fieldForbiddenValidator] + }, + ]; + var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields); + return multipleFieldsValidator.validate(input, path, field); + }; + return GroupedMenuExtensionValidator; +}(MenuExtensionBaseValidator)); +exports.GroupedMenuExtensionValidator = GroupedMenuExtensionValidator; +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 MenuGroupExtensionValidator = /** @class */ (function (_super) { + __extends(MenuGroupExtensionValidator, _super); + function MenuGroupExtensionValidator() { + return _super !== null && _super.apply(this, arguments) || this; + } + MenuGroupExtensionValidator.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: "title", + validators: [validator_1.Validators.fieldRequiredValidator, 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 MenuGroupExtensionValidator; +}(typeValidator_1.ObjectValidator)); +exports.MenuGroupExtensionValidator = MenuGroupExtensionValidator; +var ExtensionsValidator = /** @class */ (function (_super) { + __extends(ExtensionsValidator, _super); + function ExtensionsValidator() { + return _super !== null && _super.apply(this, arguments) || this; + } + ExtensionsValidator.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: "commands", + validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.commandExtensionArrayValidator] + }, + { + field: "groups", + validators: [validator_1.Validators.menuGroupExtensionArrayValidator] + } + ]; + var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields); + return multipleFieldsValidator.validate(input, path, field); + }; + return ExtensionsValidator; +}(typeValidator_1.ObjectValidator)); +exports.ExtensionsValidator = ExtensionsValidator; + + +/***/ }), +/* 12 */ +/***/ (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 }); +exports.ConditionItemValidator = exports.FilterValidator = exports.IncludeExcludeFilterValidator = exports.NotSupportedFilterValidator = exports.TopNFilterValidator = exports.RelativeTimeFilterValidator = exports.RelativeDateFilterValidator = exports.AdvancedFilterValidator = exports.BasicFilterValidator = exports.FilterMeasureTargetValidator = exports.FilterKeyHierarchyTargetValidator = exports.FilterHierarchyTargetValidator = exports.FilterKeyColumnsTargetValidator = exports.FilterColumnTargetValidator = void 0; +var multipleFieldsValidator_1 = __webpack_require__(3); +var typeValidator_1 = __webpack_require__(4); +var validator_1 = __webpack_require__(1); +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 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() { + 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; + + +/***/ }), +/* 13 */ +/***/ (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 }); +exports.PageLayoutValidator = exports.DisplayStateValidator = exports.VisualLayoutValidator = exports.CustomLayoutValidator = void 0; +var multipleFieldsValidator_1 = __webpack_require__(3); +var typeValidator_1 = __webpack_require__(4); +var validator_1 = __webpack_require__(1); +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; + + +/***/ }), +/* 14 */ +/***/ (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 }); +exports.PageViewFieldValidator = exports.PageValidator = exports.CustomPageSizeValidator = exports.PageSizeValidator = void 0; +var multipleFieldsValidator_1 = __webpack_require__(3); +var typeValidator_1 = __webpack_require__(4); +var validator_1 = __webpack_require__(1); +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 = 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.VisualizationsPaneValidator = exports.SyncSlicersPaneValidator = exports.SelectionPaneValidator = exports.PageNavigationPaneValidator = exports.FiltersPaneValidator = exports.FieldsPaneValidator = exports.BookmarksPaneValidator = exports.ReportPanesValidator = void 0; +var multipleFieldsValidator_1 = __webpack_require__(3); +var typeValidator_1 = __webpack_require__(4); +var validator_1 = __webpack_require__(1); +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] + }, + { + field: "position", + validators: [validator_1.Validators.pageNavigationPositionValidator] + }, + ]; + 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; + + +/***/ }), +/* 16 */ +/***/ (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 }); +exports.QnaInterpretInputDataValidator = exports.QnaSettingsValidator = exports.LoadQnaValidator = void 0; +var multipleFieldsValidator_1 = __webpack_require__(3); +var typeValidator_1 = __webpack_require__(4); +var validator_1 = __webpack_require__(1); +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; + + +/***/ }), +/* 17 */ +/***/ (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 }); +exports.ReportCreateValidator = void 0; +var multipleFieldsValidator_1 = __webpack_require__(3); +var typeValidator_1 = __webpack_require__(4); +var validator_1 = __webpack_require__(1); +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; + + +/***/ }), +/* 18 */ +/***/ (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 }); +exports.ReportLoadValidator = void 0; +var multipleFieldsValidator_1 = __webpack_require__(3); +var typeValidator_1 = __webpack_require__(4); +var validator_1 = __webpack_require__(1); +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; + + +/***/ }), +/* 19 */ +/***/ (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 }); +exports.SaveAsParametersValidator = void 0; +var multipleFieldsValidator_1 = __webpack_require__(3); +var typeValidator_1 = __webpack_require__(4); +var validator_1 = __webpack_require__(1); +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; + + +/***/ }), +/* 20 */ +/***/ (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 }); +exports.SlicerTargetSelectorValidator = exports.VisualTypeSelectorValidator = exports.VisualSelectorValidator = void 0; +var multipleFieldsValidator_1 = __webpack_require__(3); +var typeValidator_1 = __webpack_require__(4); +var typeValidator_2 = __webpack_require__(4); +var validator_1 = __webpack_require__(1); +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 = 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.SettingsValidator = void 0; +var multipleFieldsValidator_1 = __webpack_require__(3); +var typeValidator_1 = __webpack_require__(4); +var validator_1 = __webpack_require__(1); +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.extensionsValidator] + }, + { + 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] + }, + { + field: "bars", + validators: [validator_1.Validators.reportBarsValidator] + }, + { + field: "panes", + validators: [validator_1.Validators.reportPanesValidator] + }, + { + field: "personalBookmarksEnabled", + validators: [validator_1.Validators.booleanValidator] + }, + { + field: "persistentFiltersEnabled", + validators: [validator_1.Validators.booleanValidator] + }, + { + field: "visualRenderedEvents", + validators: [validator_1.Validators.booleanValidator] + }, + { + field: "authoringHintsEnabled", + validators: [validator_1.Validators.booleanValidator] + } + ]; + var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields); + return multipleFieldsValidator.validate(input, path, field); + }; + return SettingsValidator; +}(typeValidator_1.ObjectValidator)); +exports.SettingsValidator = SettingsValidator; + + +/***/ }), +/* 22 */ +/***/ (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 }); +exports.SlicerStateValidator = exports.SlicerValidator = void 0; +var multipleFieldsValidator_1 = __webpack_require__(3); +var typeValidator_1 = __webpack_require__(4); +var validator_1 = __webpack_require__(1); +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; + + +/***/ }), +/* 23 */ +/***/ (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 }); +exports.TileLoadValidator = void 0; +var multipleFieldsValidator_1 = __webpack_require__(3); +var typeValidator_1 = __webpack_require__(4); +var validator_1 = __webpack_require__(1); +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; + + +/***/ }), +/* 24 */ +/***/ (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 }); +exports.VisualHeaderValidator = exports.VisualHeaderSettingsValidator = exports.VisualSettingsValidator = void 0; +var multipleFieldsValidator_1 = __webpack_require__(3); +var typeValidator_1 = __webpack_require__(4); +var validator_1 = __webpack_require__(1); +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; + + +/***/ }), +/* 25 */ +/***/ (function(module, exports) { + +Object.defineProperty(exports, "__esModule", { value: true }); +exports.AnyOfValidator = void 0; +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; + + +/***/ }), +/* 26 */ +/***/ (function(module, exports) { + +Object.defineProperty(exports, "__esModule", { value: true }); +exports.FieldForbiddenValidator = void 0; +var FieldForbiddenValidator = /** @class */ (function () { + function FieldForbiddenValidator() { + } + FieldForbiddenValidator.prototype.validate = function (input, path, field) { + if (input !== undefined) { + return [{ + message: field + " is forbidden", + path: (path ? path + "." : "") + field, + keyword: "forbidden" + }]; + } + return null; + }; + return FieldForbiddenValidator; +}()); +exports.FieldForbiddenValidator = FieldForbiddenValidator; + + +/***/ }), +/* 27 */ +/***/ (function(module, exports) { + +Object.defineProperty(exports, "__esModule", { value: true }); +exports.FieldRequiredValidator = void 0; +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; + + +/***/ }), +/* 28 */ +/***/ (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 }); +exports.MapValidator = void 0; +var typeValidator_1 = __webpack_require__(4); +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; + + +/***/ }) +/******/ ]); +}); +//# sourceMappingURL=models.js.map + +/***/ }), + +/***/ "./node_modules/powerbi-router/dist/router.js": +/*!****************************************************!*\ + !*** ./node_modules/powerbi-router/dist/router.js ***! + \****************************************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +/*! powerbi-router v0.1.5 | (c) 2016 Microsoft Corporation MIT */ +(function webpackUniversalModuleDefinition(root, factory) { + if(true) + module.exports = factory(); + else {} +})(this, function() { +return /******/ (function(modules) { // webpackBootstrap +/******/ // The module cache +/******/ var installedModules = {}; +/******/ +/******/ // The require function +/******/ function __webpack_require__(moduleId) { +/******/ +/******/ // Check if module is in cache +/******/ 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 +/******/ }; +/******/ +/******/ // Execute the module function +/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); +/******/ +/******/ // Flag the module as loaded +/******/ module.loaded = true; +/******/ +/******/ // Return the exports of the module +/******/ return module.exports; +/******/ } +/******/ +/******/ +/******/ // expose the modules object (__webpack_modules__) +/******/ __webpack_require__.m = modules; +/******/ +/******/ // expose the module cache +/******/ __webpack_require__.c = installedModules; +/******/ +/******/ // __webpack_public_path__ +/******/ __webpack_require__.p = ""; +/******/ +/******/ // Load entry module and return exports +/******/ return __webpack_require__(0); +/******/ }) +/************************************************************************/ +/******/ ([ +/* 0 */ +/***/ function(module, exports, __webpack_require__) { + + "use strict"; + var RouteRecognizer = __webpack_require__(1); + var Router = (function () { + function Router(handlers) { + this.handlers = handlers; + /** + * TODO: look at generating the router dynamically based on list of supported http methods + * instead of hardcoding the creation of these and the methods. + */ + this.getRouteRecognizer = new RouteRecognizer(); + this.patchRouteRecognizer = new RouteRecognizer(); + this.postRouteRecognizer = new RouteRecognizer(); + this.putRouteRecognizer = new RouteRecognizer(); + this.deleteRouteRecognizer = new RouteRecognizer(); } - 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); + Router.prototype.get = function (url, handler) { + this.registerHandler(this.getRouteRecognizer, "GET", url, handler); + return this; }; - 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); + Router.prototype.patch = function (url, handler) { + this.registerHandler(this.patchRouteRecognizer, "PATCH", url, handler); + return this; }; - 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); + Router.prototype.post = function (url, handler) { + this.registerHandler(this.postRouteRecognizer, "POST", url, handler); + return this; }; - 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); + Router.prototype.put = function (url, handler) { + this.registerHandler(this.putRouteRecognizer, "PUT", url, handler); + return this; }; - 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] - }, - { - field: "position", - validators: [validator_1.Validators.pageNavigationPositionValidator] - }, - ]; - var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields); - return multipleFieldsValidator.validate(input, path, field); + Router.prototype.delete = function (url, handler) { + this.registerHandler(this.deleteRouteRecognizer, "DELETE", url, handler); + return this; }; - 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); + /** + * TODO: This method could use some refactoring. There is conflict of interest between keeping clean separation of test and handle method + * Test method only returns boolean indicating if request can be handled, and handle method has opportunity to modify response and return promise of it. + * In the case of the router with route-recognizer where handlers are associated with routes, this already guarantees that only one handler is selected and makes the test method feel complicated + * Will leave as is an investigate cleaner ways at later time. + */ + Router.prototype.registerHandler = function (routeRecognizer, method, url, handler) { + var routeRecognizerHandler = function (request) { + var response = new Response(); + return Promise.resolve(handler(request, response)) + .then(function (x) { return response; }); + }; + routeRecognizer.add([ + { path: url, handler: routeRecognizerHandler } + ]); + var internalHandler = { + test: function (request) { + if (request.method !== method) { + return false; + } + var matchingRoutes = routeRecognizer.recognize(request.url); + if (matchingRoutes === undefined) { + return false; + } + /** + * Copy parameters from recognized route to the request so they can be used within the handler function + * This isn't ideal because it is side affect which modifies the request instead of strictly testing for true or false + * but I don't see a better place to put this. If we move it between the call to test and the handle it becomes part of the window post message proxy + * even though it's responsibility is related to routing. + */ + var route = matchingRoutes[0]; + request.params = route.params; + request.queryParams = matchingRoutes.queryParams; + request.handler = route.handler; + return true; + }, + handle: function (request) { + return request.handler(request); + } + }; + this.handlers.addHandler(internalHandler); }; - 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; + return Router; + }()); + exports.Router = Router; + var Response = (function () { + function Response() { + this.statusCode = 200; + this.headers = {}; + this.body = null; } - 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); + Response.prototype.send = function (statusCode, body) { + this.statusCode = statusCode; + this.body = body; }; - 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; + return Response; + }()); + exports.Response = Response; + + +/***/ }, +/* 1 */ +/***/ function(module, exports, __webpack_require__) { + + var __WEBPACK_AMD_DEFINE_RESULT__;/* WEBPACK VAR INJECTION */(function(module) {(function() { + "use strict"; + function $$route$recognizer$dsl$$Target(path, matcher, delegate) { + this.path = path; + this.matcher = matcher; + this.delegate = delegate; } - VisualizationsPaneValidator.prototype.validate = function (input, path, field) { - if (input == null) { - return null; + + $$route$recognizer$dsl$$Target.prototype = { + to: function(target, callback) { + var delegate = this.delegate; + + if (delegate && delegate.willAddRoute) { + target = delegate.willAddRoute(this.matcher.target, target); } - var errors = _super.prototype.validate.call(this, input, path, field); - if (errors) { - return errors; + + this.matcher.add(this.path, target); + + if (callback) { + if (callback.length === 0) { throw new Error("You must have an argument in the function passed to `to`"); } + this.matcher.addChild(this.path, target, callback, this.delegate); } - var fields = [ - { - field: "expanded", - validators: [validator_1.Validators.booleanValidator] - }, - ]; - var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields); - return multipleFieldsValidator.validate(input, path, field); + return this; + } }; - return VisualizationsPaneValidator; - }(typeValidator_1.ObjectValidator)); - exports.VisualizationsPaneValidator = VisualizationsPaneValidator; + function $$route$recognizer$dsl$$Matcher(target) { + this.routes = {}; + this.children = {}; + this.target = target; + } + + $$route$recognizer$dsl$$Matcher.prototype = { + add: function(path, handler) { + this.routes[path] = handler; + }, - /***/ }), - /* 16 */ - /***/ (function(module, exports, __webpack_require__) { + addChild: function(path, target, callback, delegate) { + var matcher = new $$route$recognizer$dsl$$Matcher(target); + this.children[path] = matcher; - 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.QnaInterpretInputDataValidator = exports.QnaSettingsValidator = exports.LoadQnaValidator = void 0; - var multipleFieldsValidator_1 = __webpack_require__(3); - var typeValidator_1 = __webpack_require__(4); - var validator_1 = __webpack_require__(1); - 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 match = $$route$recognizer$dsl$$generateMatch(path, matcher, delegate); + + if (delegate && delegate.contextEntered) { + delegate.contextEntered(target, match); } - 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); + + callback(match); + } }; - 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; + + function $$route$recognizer$dsl$$generateMatch(startingPath, matcher, delegate) { + return function(path, nestedCallback) { + var fullPath = startingPath + path; + + if (nestedCallback) { + nestedCallback($$route$recognizer$dsl$$generateMatch(fullPath, matcher, delegate)); + } else { + return new $$route$recognizer$dsl$$Target(startingPath + path, matcher, delegate); } - 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; + + function $$route$recognizer$dsl$$addRoute(routeArray, path, handler) { + var len = 0; + for (var i=0; i z`. For instance, "199" is smaller + // then "200", even though "y" and "z" (which are both 9) are larger than "0" (the value + // of (`b` and `c`). This is because the leading symbol, "2", is larger than the other + // leading symbol, "1". + // The rule is that symbols to the left carry more weight than symbols to the right + // when a number is written out as a string. In the above strings, the leading digit + // represents how many 100's are in the number, and it carries more weight than the middle + // number which represents how many 10's are in the number. + // This system of number magnitude works well for route specificity, too. A route written as + // `a/b/c` will be more specific than `x/y/z` as long as `a` is more specific than + // `x`, irrespective of the other parts. + // Because of this similarity, we assign each type of segment a number value written as a + // string. We can find the specificity of compound routes by concatenating these strings + // together, from left to right. After we have looped through all of the segments, + // we convert the string to a number. + specificity.val = ''; + + for (var i=0; i 2 && key.slice(keyLength -2) === '[]') { + isArray = true; + key = key.slice(0, keyLength - 2); + if(!queryParams[key]) { + queryParams[key] = []; + } } + value = pair[1] ? $$route$recognizer$$decodeQueryParamPart(pair[1]) : ''; + } + if (isArray) { + queryParams[key].push(value); + } else { + queryParams[key] = value; + } + } + return queryParams; + }, + + recognize: function(path) { + var states = [ this.rootState ], + pathLen, i, l, queryStart, queryParams = {}, + isSlashDropped = false; + + queryStart = path.indexOf('?'); + if (queryStart !== -1) { + var queryString = path.substr(queryStart + 1, path.length); + path = path.substr(0, queryStart); + queryParams = this.parseQueryString(queryString); } - if (!valid) { - return [{ - message: field + " property is invalid", - path: (path ? path + "." : "") + field, - keyword: "invalid" - }]; - } - return null; - }; - return AnyOfValidator; - }()); - exports.AnyOfValidator = AnyOfValidator; + path = decodeURI(path); - /***/ }), - /* 26 */ - /***/ (function(module, exports) { + if (path.charAt(0) !== "/") { path = "/" + path; } - Object.defineProperty(exports, "__esModule", { value: true }); - exports.FieldForbiddenValidator = void 0; - var FieldForbiddenValidator = /** @class */ (function () { - function FieldForbiddenValidator() { - } - FieldForbiddenValidator.prototype.validate = function (input, path, field) { - if (input !== undefined) { - return [{ - message: field + " is forbidden", - path: (path ? path + "." : "") + field, - keyword: "forbidden" - }]; + pathLen = path.length; + if (pathLen > 1 && path.charAt(pathLen - 1) === "/") { + path = path.substr(0, pathLen - 1); + isSlashDropped = true; + } + + for (i=0; i} - */ - Report.prototype.render = function (config) { - return this.service.hpm.post("/report/render", config, { uid: this.config.uniqueId }, this.iframe.contentWindow) - .then(function (response) { - return response.body; - }) - .catch(function (response) { - 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("ReportSection145"); - * ``` - * - * @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; - }); - }; - /** - * Rename a page from a report - * - * ```javascript - * // Rename a page from a report by changing displayName (pageName is different from the display name and can be acquired from the getPages API) - * report.renamePage("ReportSection145", "Sales"); - * ``` - * - * @returns {Promise} - */ - Report.prototype.renamePage = function (pageName, displayName) { - var page = { - name: pageName, - displayName: displayName, - }; - return this.service.hpm.put("/report/pages/" + pageName + "/name", page, { 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. - * - * ```javascript - * // Get filters applied at report level - * report.getFilters() - * .then(filters => { - * ... - * }); - * ``` - * - * @returns {Promise} - */ - Report.prototype.getFilters = function () { - if (utils.isRDLEmbed(this.config.embedUrl)) { - return Promise.reject(errors.APINotSupportedForRDLError); - } - return this.service.hpm.get("/report/filters", { uid: this.config.uniqueId }, this.iframe.contentWindow) - .then(function (response) { return response.body; }, function (response) { - throw response.body; - }); - }; - /** - * Gets the report ID from the first available location: options, attribute, embed url. - * - * @returns {string} - */ - Report.prototype.getId = function () { - var config = this.config; - var reportId = config.id || this.element.getAttribute(Report.reportIdAttribute) || Report.findIdFromEmbedUrl(config.embedUrl); - if (typeof reportId !== 'string' || reportId.length === 0) { - throw new Error("Report id is required, but it was not found. You must provide an id either as part of embed configuration or as attribute '" + Report.reportIdAttribute + "'."); - } - return reportId; - }; - /** - * Gets the list of pages within the report. - * - * ```javascript - * report.getPages() - * .then(pages => { - * ... - * }); - * ``` - * - * @returns {Promise} - */ - Report.prototype.getPages = function () { - var _this = this; - if (utils.isRDLEmbed(this.config.embedUrl)) { - return Promise.reject(errors.APINotSupportedForRDLError); - } - return this.service.hpm.get('/report/pages', { uid: this.config.uniqueId }, this.iframe.contentWindow) - .then(function (response) { - return response.body - .map(function (page) { - return new page_1.Page(_this, page.name, page.displayName, page.isActive, page.visibility, page.defaultSize, page.defaultDisplayOption); - }); - }, function (response) { - throw response.body; - }); - }; - /** - * Creates an instance of a Page. - * - * Normally you would get Page objects by calling `report.getPages()`, but in the case - * that the page name is known and you want to perform an action on a page without having to retrieve it - * you can create it directly. - * - * Note: Because you are creating the page manually there is no guarantee that the page actually exists in the report, and subsequent requests could fail. - * - * @param {string} name - * @param {string} [displayName] - * @param {boolean} [isActive] - * @returns {Page} - * @hidden - */ - Report.prototype.page = function (name, displayName, isActive, visibility) { - return new page_1.Page(this, name, displayName, isActive, visibility); - }; - /** - * Prints the active page of the report by invoking `window.print()` on the embed iframe component. - */ - Report.prototype.print = function () { - if (utils.isRDLEmbed(this.config.embedUrl)) { - return Promise.reject(errors.APINotSupportedForRDLError); - } - return this.service.hpm.post('/report/print', null, { uid: this.config.uniqueId }, this.iframe.contentWindow) - .then(function (response) { - return response.body; - }) - .catch(function (response) { - throw response.body; - }); - }; - /** - * Removes all filters at the report level. - * - * ```javascript - * report.removeFilters(); - * ``` - * - * @returns {Promise} - */ - Report.prototype.removeFilters = function () { - if (utils.isRDLEmbed(this.config.embedUrl)) { - return Promise.reject(errors.APINotSupportedForRDLError); - } - return this.setFilters([]); - }; - /** - * Sets the active page of the report. - * - * ```javascript - * report.setPage("page2") - * .catch(error => { ... }); - * ``` - * - * @param {string} pageName - * @returns {Promise} - */ - Report.prototype.setPage = function (pageName) { - if (utils.isRDLEmbed(this.config.embedUrl)) { - return Promise.reject(errors.APINotSupportedForRDLError); - } - var page = { - name: pageName, - displayName: null, - isActive: true - }; - return this.service.hpm.put('/report/pages/active', page, { uid: this.config.uniqueId }, this.iframe.contentWindow) - .catch(function (response) { - throw response.body; - }); - }; - /** - * Sets filters at the report level. - * - * ```javascript - * const filters: [ - * ... - * ]; - * - * report.setFilters(filters) - * .catch(errors => { - * ... - * }); - * ``` - * - * @param {(models.IFilter[])} filters - * @returns {Promise} - */ - Report.prototype.setFilters = function (filters) { - if (utils.isRDLEmbed(this.config.embedUrl)) { - return Promise.reject(errors.APINotSupportedForRDLError); - } - return this.service.hpm.put("/report/filters", filters, { uid: this.config.uniqueId }, this.iframe.contentWindow) - .catch(function (response) { - throw response.body; - }); - }; - /** - * Updates visibility settings for the filter pane and the page navigation pane. - * - * ```javascript - * const newSettings = { - * navContentPaneEnabled: true, - * filterPaneEnabled: false - * }; - * - * report.updateSettings(newSettings) - * .catch(error => { ... }); - * ``` - * - * @param {models.ISettings} settings - * @returns {Promise} - */ - Report.prototype.updateSettings = function (settings) { - if (utils.isRDLEmbed(this.config.embedUrl) && settings.customLayout != null) { - return Promise.reject(errors.APINotSupportedForRDLError); - } - return this.service.hpm.patch('/report/settings', settings, { uid: this.config.uniqueId }, this.iframe.contentWindow) - .catch(function (response) { - throw response.body; - }); - }; - /** - * Validate load configuration. - * - * @hidden - */ - Report.prototype.validate = function (config) { - return models.validateReportLoad(config); - }; - /** - * Handle config changes. - * - * @returns {void} - */ - Report.prototype.configChanged = function (isBootstrap) { - var config = this.config; - if (this.isMobileSettings(config.settings)) - config.embedUrl = utils.addParamToUrl(config.embedUrl, "isMobile", "true"); - // Calculate settings from HTML element attributes if available. - var filterPaneEnabledAttribute = this.element.getAttribute(Report.filterPaneEnabledAttribute); - var navContentPaneEnabledAttribute = this.element.getAttribute(Report.navContentPaneEnabledAttribute); - var elementAttrSettings = { - filterPaneEnabled: (filterPaneEnabledAttribute == null) ? undefined : (filterPaneEnabledAttribute !== "false"), - navContentPaneEnabled: (navContentPaneEnabledAttribute == null) ? undefined : (navContentPaneEnabledAttribute !== "false") - }; - // Set the settings back into the config. - this.config.settings = utils.assign({}, elementAttrSettings, config.settings); - if (isBootstrap) { - return; - } - config.id = this.getId(); - }; - /** - * @hidden - * @returns {string} - */ - Report.prototype.getDefaultEmbedUrlEndpoint = function () { - return "reportEmbed"; - }; - /** - * Switch Report view mode. - * - * @returns {Promise} - */ - Report.prototype.switchMode = function (viewMode) { - var newMode; - if (typeof viewMode === "string") { - newMode = viewMode; - } - else { - newMode = this.viewModeToString(viewMode); - } - var url = '/report/switchMode/' + newMode; - return this.service.hpm.post(url, null, { uid: this.config.uniqueId }, this.iframe.contentWindow) - .then(function (response) { - return response.body; - }) - .catch(function (response) { - throw response.body; - }); - }; - /** - * Refreshes data sources for the report. - * - * ```javascript - * report.refresh(); - * ``` - */ - Report.prototype.refresh = function () { - return this.service.hpm.post('/report/refresh', null, { uid: this.config.uniqueId }, this.iframe.contentWindow) - .then(function (response) { - return response.body; - }) - .catch(function (response) { - throw response.body; - }); - }; - /** - * checks if the report is saved. - * - * ```javascript - * report.isSaved() - * ``` - * - * @returns {Promise} - */ - Report.prototype.isSaved = function () { - if (utils.isRDLEmbed(this.config.embedUrl)) { - return Promise.reject(errors.APINotSupportedForRDLError); - } - return utils.isSavedInternal(this.service.hpm, this.config.uniqueId, this.iframe.contentWindow); - }; - /** - * Apply a theme to the report - * - * ```javascript - * report.applyTheme(theme); - * ``` - */ - Report.prototype.applyTheme = function (theme) { - if (utils.isRDLEmbed(this.config.embedUrl)) { - return Promise.reject(errors.APINotSupportedForRDLError); - } - return this.applyThemeInternal(theme); - }; - /** - * Reset and apply the default theme of the report - * - * ```javascript - * report.resetTheme(); - * ``` - */ - Report.prototype.resetTheme = function () { - if (utils.isRDLEmbed(this.config.embedUrl)) { - return Promise.reject(errors.APINotSupportedForRDLError); - } - return this.applyThemeInternal({}); - }; - /** - * Reset user's filters, slicers, and other data view changes to the default state of the report - * - * ```javascript - * report.resetPersistentFilters(); - * ``` - */ - Report.prototype.resetPersistentFilters = function () { - return this.service.hpm.delete("/report/userState", null, { uid: this.config.uniqueId }, this.iframe.contentWindow) - .catch(function (response) { - throw response.body; - }); - }; - /** - * Save user's filters, slicers, and other data view changes of the report - * - * ```javascript - * report.savePersistentFilters(); - * ``` - */ - Report.prototype.savePersistentFilters = function () { - return this.service.hpm.post("/report/userState", null, { uid: this.config.uniqueId }, this.iframe.contentWindow) - .catch(function (response) { - throw response.body; - }); - }; - /** - * Returns if there are user's filters, slicers, or other data view changes applied on the report. - * If persistent filters is disable, returns false. - * - * ```javascript - * report.arePersistentFiltersApplied(); - * ``` - * - * @returns {Promise} - */ - Report.prototype.arePersistentFiltersApplied = function () { - return this.service.hpm.get("/report/isUserStateApplied", { uid: this.config.uniqueId }, this.iframe.contentWindow) - .then(function (response) { return response.body; }, function (response) { - throw response.body; - }); - }; - /** - * @hidden - */ - Report.prototype.applyThemeInternal = function (theme) { - return this.service.hpm.put('/report/theme', theme, { uid: this.config.uniqueId }, this.iframe.contentWindow) - .then(function (response) { - return response.body; - }) - .catch(function (response) { - throw response.body; - }); - }; - /** - * @hidden - */ - Report.prototype.viewModeToString = function (viewMode) { - var mode; - switch (viewMode) { - case models.ViewMode.Edit: - mode = "edit"; - break; - case models.ViewMode.View: - mode = "view"; - break; - } - 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", "visualRendered", "visualClicked", "selectionChanged"]; - /** @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)); - exports.Report = Report; +var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { + function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } + return new (P || (P = Promise))(function (resolve, reject) { + function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } + function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } + function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } + step((generator = generator.apply(thisArg, _arguments || [])).next()); + }); +}; +var __generator = (this && this.__generator) || function (thisArg, body) { + var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g; + return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g; + function verb(n) { return function (v) { return step([n, v]); }; } + function step(op) { + if (f) throw new TypeError("Generator is already executing."); + while (_) try { + if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t; + if (y = 0, t) op = [op[0] & 2, t.value]; + switch (op[0]) { + case 0: case 1: t = op; break; + case 4: _.label++; return { value: op[1], done: false }; + case 5: _.label++; y = op[1]; op = [0]; continue; + case 7: op = _.ops.pop(); _.trys.pop(); continue; + default: + if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; } + if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; } + if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; } + if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; } + if (t[2]) _.ops.pop(); + _.trys.pop(); continue; + } + op = body.call(thisArg, _); + } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; } + if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true }; + } +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.BookmarksManager = void 0; +var utils = __webpack_require__(/*! ./util */ "./src/util.ts"); +var errors = __webpack_require__(/*! ./errors */ "./src/errors.ts"); +/** + * Manages report bookmarks. + * + * @export + * @class BookmarksManager + * @implements {IBookmarksManager} + */ +var BookmarksManager = /** @class */ (function () { + /** + * @hidden + */ + function BookmarksManager(service, config, iframe) { + this.service = service; + this.config = config; + this.iframe = iframe; + } + /** + * Gets bookmarks that are defined in the report. + * + * ```javascript + * // Gets bookmarks that are defined in the report + * bookmarksManager.getBookmarks() + * .then(bookmarks => { + * ... + * }); + * ``` + * + * @returns {Promise} + */ + BookmarksManager.prototype.getBookmarks = function () { + return __awaiter(this, void 0, void 0, function () { + var response, response_1; + return __generator(this, function (_a) { + switch (_a.label) { + case 0: + if (utils.isRDLEmbed(this.config.embedUrl)) { + return [2 /*return*/, Promise.reject(errors.APINotSupportedForRDLError)]; + } + _a.label = 1; + case 1: + _a.trys.push([1, 3, , 4]); + return [4 /*yield*/, this.service.hpm.get("/report/bookmarks", { uid: this.config.uniqueId }, this.iframe.contentWindow)]; + case 2: + response = _a.sent(); + return [2 /*return*/, response.body]; + case 3: + response_1 = _a.sent(); + throw response_1.body; + case 4: return [2 /*return*/]; + } + }); + }); + }; + /** + * Apply bookmark by name. + * + * ```javascript + * bookmarksManager.apply(bookmarkName) + * ``` + * + * @param {string} bookmarkName The name of the bookmark to be applied + * @returns {Promise>} + */ + BookmarksManager.prototype.apply = function (bookmarkName) { + return __awaiter(this, void 0, void 0, function () { + var request, response_2; + return __generator(this, function (_a) { + switch (_a.label) { + case 0: + if (utils.isRDLEmbed(this.config.embedUrl)) { + return [2 /*return*/, Promise.reject(errors.APINotSupportedForRDLError)]; + } + request = { + name: bookmarkName + }; + _a.label = 1; + case 1: + _a.trys.push([1, 3, , 4]); + return [4 /*yield*/, this.service.hpm.post("/report/bookmarks/applyByName", request, { uid: this.config.uniqueId }, this.iframe.contentWindow)]; + case 2: return [2 /*return*/, _a.sent()]; + case 3: + response_2 = _a.sent(); + throw response_2.body; + case 4: return [2 /*return*/]; + } + }); + }); + }; + /** + * Play bookmarks: Enter or Exit bookmarks presentation mode. + * + * ```javascript + * // Enter presentation mode. + * bookmarksManager.play(models.BookmarksPlayMode.Presentation) + * ``` + * + * @param {models.BookmarksPlayMode} playMode Play mode can be either `Presentation` or `Off` + * @returns {Promise>} + */ + BookmarksManager.prototype.play = function (playMode) { + return __awaiter(this, void 0, void 0, function () { + var playBookmarkRequest, response_3; + return __generator(this, function (_a) { + switch (_a.label) { + case 0: + if (utils.isRDLEmbed(this.config.embedUrl)) { + return [2 /*return*/, Promise.reject(errors.APINotSupportedForRDLError)]; + } + playBookmarkRequest = { + playMode: playMode + }; + _a.label = 1; + case 1: + _a.trys.push([1, 3, , 4]); + return [4 /*yield*/, this.service.hpm.post("/report/bookmarks/play", playBookmarkRequest, { uid: this.config.uniqueId }, this.iframe.contentWindow)]; + case 2: return [2 /*return*/, _a.sent()]; + case 3: + response_3 = _a.sent(); + throw response_3.body; + case 4: return [2 /*return*/]; + } + }); + }); + }; + /** + * Capture bookmark from current state. + * + * ```javascript + * bookmarksManager.capture(options) + * ``` + * + * @param {models.ICaptureBookmarkOptions} [options] Options for bookmark capturing + * @returns {Promise} + */ + BookmarksManager.prototype.capture = function (options) { + return __awaiter(this, void 0, void 0, function () { + var request, response, response_4; + return __generator(this, function (_a) { + switch (_a.label) { + case 0: + if (utils.isRDLEmbed(this.config.embedUrl)) { + return [2 /*return*/, Promise.reject(errors.APINotSupportedForRDLError)]; + } + request = { + options: options + }; + _a.label = 1; + case 1: + _a.trys.push([1, 3, , 4]); + return [4 /*yield*/, this.service.hpm.post("/report/bookmarks/capture", request, { uid: this.config.uniqueId }, this.iframe.contentWindow)]; + case 2: + response = _a.sent(); + return [2 /*return*/, response.body]; + case 3: + response_4 = _a.sent(); + throw response_4.body; + case 4: return [2 /*return*/]; + } + }); + }); + }; + /** + * Apply bookmark state. + * + * ```javascript + * bookmarksManager.applyState(bookmarkState) + * ``` + * + * @param {string} state A base64 bookmark state to be applied + * @returns {Promise>} + */ + BookmarksManager.prototype.applyState = function (state) { + return __awaiter(this, void 0, void 0, function () { + var request, response_5; + return __generator(this, function (_a) { + switch (_a.label) { + case 0: + if (utils.isRDLEmbed(this.config.embedUrl)) { + return [2 /*return*/, Promise.reject(errors.APINotSupportedForRDLError)]; + } + request = { + state: state + }; + _a.label = 1; + case 1: + _a.trys.push([1, 3, , 4]); + return [4 /*yield*/, this.service.hpm.post("/report/bookmarks/applyState", request, { uid: this.config.uniqueId }, this.iframe.contentWindow)]; + case 2: return [2 /*return*/, _a.sent()]; + case 3: + response_5 = _a.sent(); + throw response_5.body; + case 4: return [2 /*return*/]; + } + }); + }); + }; + return BookmarksManager; +}()); +exports.BookmarksManager = BookmarksManager; /***/ }), -/* 8 */ + +/***/ "./src/config.ts": +/*!***********************!*\ + !*** ./src/config.ts ***! + \***********************/ +/*! no static exports found */ +/***/ (function(module, exports) { + +Object.defineProperty(exports, "__esModule", { value: true }); +/** @ignore */ /** */ +var config = { + version: '2.16.0', + type: 'js' +}; +exports.default = config; + + +/***/ }), + +/***/ "./src/create.ts": +/*!***********************!*\ + !*** ./src/create.ts ***! + \***********************/ +/*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { - var visualDescriptor_1 = __webpack_require__(9); - var models = __webpack_require__(5); - var utils = __webpack_require__(3); - var errors = __webpack_require__(6); - /** - * A Power BI report page - * - * @export - * @class Page - * @implements {IPageNode} - * @implements {IFilterable} - */ - var Page = (function () { - /** - * Creates an instance of a Power BI report page. - * - * @param {IReportNode} report - * @param {string} name - * @param {string} [displayName] - * @param {boolean} [isActivePage] - * @param {models.SectionVisibility} [visibility] - * @hidden - */ - function Page(report, name, displayName, isActivePage, visibility, defaultSize, defaultDisplayOption) { - this.report = report; - this.name = name; - this.displayName = displayName; - this.isActive = isActivePage; - this.visibility = visibility; - this.defaultSize = defaultSize; - this.defaultDisplayOption = defaultDisplayOption; - } - /** - * Gets all page level filters within the report. - * - * ```javascript - * page.getFilters() - * .then(filters => { ... }); - * ``` - * - * @returns {(Promise)} - */ - Page.prototype.getFilters = function () { - return this.report.service.hpm.get("/report/pages/" + this.name + "/filters", { uid: this.report.config.uniqueId }, this.report.iframe.contentWindow) - .then(function (response) { return response.body; }, function (response) { - 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. - * - * ```javascript - * page.removeFilters(); - * ``` - * - * @returns {Promise} - */ - Page.prototype.removeFilters = function () { - return this.setFilters([]); - }; - /** - * Makes the current page the active page of the report. - * - * ```javascripot - * page.setActive(); - * ``` - * - * @returns {Promise} - */ - Page.prototype.setActive = function () { - var page = { - name: this.name, - displayName: null, - isActive: true - }; - return this.report.service.hpm.put('/report/pages/active', page, { uid: this.report.config.uniqueId }, this.report.iframe.contentWindow) - .catch(function (response) { - throw response.body; - }); - }; - /** - * Sets all filters on the current page. - * - * ```javascript - * page.setFilters(filters); - * .catch(errors => { ... }); - * ``` - * - * @param {(models.IFilter[])} filters - * @returns {Promise} - */ - Page.prototype.setFilters = function (filters) { - return this.report.service.hpm.put("/report/pages/" + this.name + "/filters", filters, { uid: this.report.config.uniqueId }, this.report.iframe.contentWindow) - .catch(function (response) { - throw response.body; - }); - }; - /** - * Set displayName to the current page. - * - * ```javascript - * page.setName(displayName); - * ``` - * - * @returns {Promise} - */ - Page.prototype.setDisplayName = function (displayName) { - var page = { - name: this.name, - displayName: displayName, - }; - return this.report.service.hpm.put("/report/pages/" + this.name + "/name", page, { uid: this.report.config.uniqueId }, this.report.iframe.contentWindow) - .catch(function (response) { - throw response.body; - }); - }; - /** - * Gets all the visuals on the page. - * - * ```javascript - * page.getVisuals() - * .then(visuals => { ... }); - * ``` - * - * @returns {Promise} - */ - Page.prototype.getVisuals = function () { - var _this = this; - if (utils.isRDLEmbed(this.report.config.embedUrl)) { - return Promise.reject(errors.APINotSupportedForRDLError); - } - return this.report.service.hpm.get("/report/pages/" + this.name + "/visuals", { uid: this.report.config.uniqueId }, this.report.iframe.contentWindow) - .then(function (response) { - return response.body - .map(function (visual) { - return new visualDescriptor_1.VisualDescriptor(_this, visual.name, visual.title, visual.type, visual.layout); - }); - }, function (response) { - throw response.body; - }); - }; - /** - * Checks if page has layout. - * - * ```javascript - * page.hasLayout(layoutType) - * .then(hasLayout: boolean => { ... }); - * ``` - * - * @returns {(Promise)} - */ - Page.prototype.hasLayout = function (layoutType) { - if (utils.isRDLEmbed(this.report.config.embedUrl)) { - return Promise.reject(errors.APINotSupportedForRDLError); - } - var layoutTypeEnum = models.LayoutType[layoutType]; - return this.report.service.hpm.get("/report/pages/" + this.name + "/layoutTypes/" + layoutTypeEnum, { uid: this.report.config.uniqueId }, this.report.iframe.contentWindow) - .then(function (response) { return response.body; }, function (response) { - throw response.body; - }); - }; - return Page; - }()); - exports.Page = Page; +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 __()); + }; +})(); +var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { + function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } + return new (P || (P = Promise))(function (resolve, reject) { + function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } + function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } + function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } + step((generator = generator.apply(thisArg, _arguments || [])).next()); + }); +}; +var __generator = (this && this.__generator) || function (thisArg, body) { + var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g; + return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g; + function verb(n) { return function (v) { return step([n, v]); }; } + function step(op) { + if (f) throw new TypeError("Generator is already executing."); + while (_) try { + if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t; + if (y = 0, t) op = [op[0] & 2, t.value]; + switch (op[0]) { + case 0: case 1: t = op; break; + case 4: _.label++; return { value: op[1], done: false }; + case 5: _.label++; y = op[1]; op = [0]; continue; + case 7: op = _.ops.pop(); _.trys.pop(); continue; + default: + if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; } + if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; } + if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; } + if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; } + if (t[2]) _.ops.pop(); + _.trys.pop(); continue; + } + op = body.call(thisArg, _); + } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; } + if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true }; + } +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.Create = void 0; +var models = __webpack_require__(/*! powerbi-models */ "./node_modules/powerbi-models/dist/models.js"); +var embed = __webpack_require__(/*! ./embed */ "./src/embed.ts"); +var utils = __webpack_require__(/*! ./util */ "./src/util.ts"); +/** + * A Power BI Report creator component + * + * @export + * @class Create + * @extends {embed.Embed} + */ +var Create = /** @class */ (function (_super) { + __extends(Create, _super); + /* + * @hidden + */ + function Create(service, element, config, phasedRender, isBootstrap) { + return _super.call(this, service, element, config, /* iframe */ undefined, phasedRender, isBootstrap) || this; + } + /** + * Gets the dataset ID from the first available location: createConfig or embed url. + * + * @returns {string} + */ + Create.prototype.getId = function () { + var datasetId = (this.createConfig && this.createConfig.datasetId) ? this.createConfig.datasetId : Create.findIdFromEmbedUrl(this.config.embedUrl); + if (typeof datasetId !== 'string' || datasetId.length === 0) { + throw new Error('Dataset id is required, but it was not found. You must provide an id either as part of embed configuration.'); + } + return datasetId; + }; + /** + * Validate create report configuration. + */ + Create.prototype.validate = function (config) { + return models.validateCreateReport(config); + }; + /** + * Handle config changes. + * + * @hidden + * @returns {void} + */ + Create.prototype.configChanged = function (isBootstrap) { + if (isBootstrap) { + return; + } + var config = this.config; + this.createConfig = { + accessToken: config.accessToken, + datasetId: config.datasetId || this.getId(), + groupId: config.groupId, + settings: config.settings, + tokenType: config.tokenType, + theme: config.theme + }; + }; + /** + * @hidden + * @returns {string} + */ + Create.prototype.getDefaultEmbedUrlEndpoint = function () { + return "reportEmbed"; + }; + /** + * checks if the report is saved. + * + * ```javascript + * report.isSaved() + * ``` + * + * @returns {Promise} + */ + Create.prototype.isSaved = function () { + return __awaiter(this, void 0, void 0, function () { + return __generator(this, function (_a) { + switch (_a.label) { + case 0: return [4 /*yield*/, utils.isSavedInternal(this.service.hpm, this.config.uniqueId, this.iframe.contentWindow)]; + case 1: return [2 /*return*/, _a.sent()]; + } + }); + }); + }; + /** + * Adds the ability to get datasetId from url. + * (e.g. http://embedded.powerbi.com/appTokenReportEmbed?datasetId=854846ed-2106-4dc2-bc58-eb77533bf2f1). + * + * By extracting the ID we can ensure that the ID is always explicitly provided as part of the create configuration. + * + * @static + * @param {string} url + * @returns {string} + * @hidden + */ + Create.findIdFromEmbedUrl = function (url) { + var datasetIdRegEx = /datasetId="?([^&]+)"?/; + var datasetIdMatch = url.match(datasetIdRegEx); + var datasetId; + if (datasetIdMatch) { + datasetId = datasetIdMatch[1]; + } + return datasetId; + }; + return Create; +}(embed.Embed)); +exports.Create = Create; + + +/***/ }), + +/***/ "./src/dashboard.ts": +/*!**************************!*\ + !*** ./src/dashboard.ts ***! + \**************************/ +/*! no static exports found */ +/***/ (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 }); +exports.Dashboard = void 0; +var embed = __webpack_require__(/*! ./embed */ "./src/embed.ts"); +var models = __webpack_require__(/*! powerbi-models */ "./node_modules/powerbi-models/dist/models.js"); +/** + * A Power BI Dashboard embed component + * + * @export + * @class Dashboard + * @extends {embed.Embed} + * @implements {IDashboardNode} + */ +var Dashboard = /** @class */ (function (_super) { + __extends(Dashboard, _super); + /** + * Creates an instance of a Power BI Dashboard. + * + * @param {service.Service} service + * @hidden + * @param {HTMLElement} element + */ + function Dashboard(service, element, config, phasedRender, isBootstrap) { + var _this = _super.call(this, service, element, config, /* iframe */ undefined, phasedRender, isBootstrap) || this; + _this.loadPath = "/dashboard/load"; + _this.phasedLoadPath = "/dashboard/prepare"; + Array.prototype.push.apply(_this.allowedEvents, Dashboard.allowedEvents); + return _this; + } + /** + * This adds backwards compatibility for older config which used the dashboardId query param to specify dashboard id. + * E.g. https://powerbi-df.analysis-df.windows.net/dashboardEmbedHost?dashboardId=e9363c62-edb6-4eac-92d3-2199c5ca2a9e + * + * By extracting the id we can ensure id is always explicitly provided as part of the load configuration. + * @hidden + * @static + * @param {string} url + * @returns {string} + */ + Dashboard.findIdFromEmbedUrl = function (url) { + var dashboardIdRegEx = /dashboardId="?([^&]+)"?/; + var dashboardIdMatch = url.match(dashboardIdRegEx); + var dashboardId; + if (dashboardIdMatch) { + dashboardId = dashboardIdMatch[1]; + } + return dashboardId; + }; + /** + * Get dashboard id from first available location: options, attribute, embed url. + * + * @returns {string} + */ + Dashboard.prototype.getId = function () { + var config = this.config; + var dashboardId = config.id || this.element.getAttribute(Dashboard.dashboardIdAttribute) || Dashboard.findIdFromEmbedUrl(config.embedUrl); + if (typeof dashboardId !== 'string' || dashboardId.length === 0) { + throw new Error("Dashboard id is required, but it was not found. You must provide an id either as part of embed configuration or as attribute '" + Dashboard.dashboardIdAttribute + "'."); + } + return dashboardId; + }; + /** + * Validate load configuration. + * + * @hidden + */ + Dashboard.prototype.validate = function (baseConfig) { + var config = baseConfig; + var error = models.validateDashboardLoad(config); + return error ? error : this.ValidatePageView(config.pageView); + }; + /** + * Handle config changes. + * @hidden + * @returns {void} + */ + Dashboard.prototype.configChanged = function (isBootstrap) { + if (isBootstrap) { + return; + } + // 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)); +exports.Dashboard = Dashboard; /***/ }), -/* 9 */ + +/***/ "./src/embed.ts": +/*!**********************!*\ + !*** ./src/embed.ts ***! + \**********************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { + function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } + return new (P || (P = Promise))(function (resolve, reject) { + function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } + function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } + function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } + step((generator = generator.apply(thisArg, _arguments || [])).next()); + }); +}; +var __generator = (this && this.__generator) || function (thisArg, body) { + var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g; + return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g; + function verb(n) { return function (v) { return step([n, v]); }; } + function step(op) { + if (f) throw new TypeError("Generator is already executing."); + while (_) try { + if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t; + if (y = 0, t) op = [op[0] & 2, t.value]; + switch (op[0]) { + case 0: case 1: t = op; break; + case 4: _.label++; return { value: op[1], done: false }; + case 5: _.label++; y = op[1]; op = [0]; continue; + case 7: op = _.ops.pop(); _.trys.pop(); continue; + default: + if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; } + if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; } + if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; } + if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; } + if (t[2]) _.ops.pop(); + _.trys.pop(); continue; + } + op = body.call(thisArg, _); + } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; } + if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true }; + } +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.Embed = void 0; +var utils = __webpack_require__(/*! ./util */ "./src/util.ts"); +var sdkConfig = __webpack_require__(/*! ./config */ "./src/config.ts"); +var models = __webpack_require__(/*! powerbi-models */ "./node_modules/powerbi-models/dist/models.js"); +var errors_1 = __webpack_require__(/*! ./errors */ "./src/errors.ts"); +/** + * Base class for all Power BI embed components + * + * @export + * @abstract + * @hidden + * @class Embed + */ +var Embed = /** @class */ (function () { + /** + * Creates an instance of Embed. + * + * Note: there is circular reference between embeds and the service, because + * the service has a list of all embeds on the host page, and each embed has a reference to the service that created it. + * + * @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); + } + Array.prototype.push.apply(this.allowedEvents, Embed.allowedEvents); + this.eventHandlers = []; + this.service = service; + this.element = element; + this.iframe = iframe; + this.iframeLoaded = false; + this.embedtype = config.type.toLowerCase(); + this.populateConfig(config, isBootstrap); + 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); + } + } + /** + * Sends createReport configuration data. + * + * ```javascript + * createReport({ + * datasetId: '5dac7a4a-4452-46b3-99f6-a25915e0fe55', + * accessToken: 'eyJ0eXA ... TaE2rTSbmg', + * ``` + * @hidden + * @param {models.IReportCreateConfiguration} config + * @returns {Promise} + */ + Embed.prototype.createReport = function (config) { + return __awaiter(this, void 0, void 0, function () { + var errors, response, response_1; + return __generator(this, function (_a) { + switch (_a.label) { + case 0: + errors = models.validateCreateReport(config); + if (errors) { + throw errors; + } + _a.label = 1; + case 1: + _a.trys.push([1, 3, , 4]); + return [4 /*yield*/, this.service.hpm.post("/report/create", config, { uid: this.config.uniqueId, sdkSessionId: this.service.getSdkSessionId() }, this.iframe.contentWindow)]; + case 2: + response = _a.sent(); + return [2 /*return*/, response.body]; + case 3: + response_1 = _a.sent(); + throw response_1.body; + case 4: return [2 /*return*/]; + } + }); + }); + }; + /** + * Saves Report. + * + * @returns {Promise} + */ + Embed.prototype.save = function () { + return __awaiter(this, void 0, void 0, function () { + var response, response_2; + return __generator(this, function (_a) { + switch (_a.label) { + case 0: + _a.trys.push([0, 2, , 3]); + return [4 /*yield*/, this.service.hpm.post('/report/save', null, { uid: this.config.uniqueId }, this.iframe.contentWindow)]; + case 1: + response = _a.sent(); + return [2 /*return*/, response.body]; + case 2: + response_2 = _a.sent(); + throw response_2.body; + case 3: return [2 /*return*/]; + } + }); + }); + }; + /** + * SaveAs Report. + * + * @returns {Promise} + */ + Embed.prototype.saveAs = function (saveAsParameters) { + return __awaiter(this, void 0, void 0, function () { + var response, response_3; + return __generator(this, function (_a) { + switch (_a.label) { + case 0: + _a.trys.push([0, 2, , 3]); + return [4 /*yield*/, this.service.hpm.post('/report/saveAs', saveAsParameters, { uid: this.config.uniqueId }, this.iframe.contentWindow)]; + case 1: + response = _a.sent(); + return [2 /*return*/, response.body]; + case 2: + response_3 = _a.sent(); + throw response_3.body; + case 3: return [2 /*return*/]; + } + }); + }); + }; + /** + * 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 __awaiter(this, void 0, void 0, function () { + var response, response_4; + return __generator(this, function (_a) { + switch (_a.label) { + case 0: + _a.trys.push([0, 2, , 3]); + return [4 /*yield*/, this.service.hpm.get("/getCorrelationId", { uid: this.config.uniqueId }, this.iframe.contentWindow)]; + case 1: + response = _a.sent(); + return [2 /*return*/, response.body]; + case 2: + response_4 = _a.sent(); + throw response_4.body; + case 3: return [2 /*return*/]; + } + }); + }); + }; + /** + * Sends load configuration data. + * + * ```javascript + * report.load({ + * type: 'report', + * id: '5dac7a4a-4452-46b3-99f6-a25915e0fe55', + * accessToken: 'eyJ0eXA ... TaE2rTSbmg', + * settings: { + * navContentPaneEnabled: false + * }, + * pageName: "DefaultPage", + * filters: [ + * { + * ... DefaultReportFilter ... + * } + * ] + * }) + * .catch(error => { ... }); + * ``` + * @hidden + * @param {models.ILoadConfiguration} config + * @param {boolean} phasedRender + * @returns {Promise} + */ + Embed.prototype.load = function (phasedRender) { + return __awaiter(this, void 0, void 0, function () { + var path, headers, timeNow, response, response_5; + return __generator(this, function (_a) { + switch (_a.label) { + case 0: + if (!this.config.accessToken) { + console.debug("Power BI SDK iframe is loaded but powerbi.embed is not called yet."); + return [2 /*return*/]; + } + if (!this.iframeLoaded) { + console.debug("Power BI SDK is trying to post /report/load before iframe is ready."); + return [2 /*return*/]; + } + path = phasedRender && this.config.type === 'report' ? this.phasedLoadPath : this.loadPath; + headers = { + uid: this.config.uniqueId, + sdkSessionId: this.service.getSdkSessionId(), + bootstrapped: this.config.bootstrapped, + sdkVersion: sdkConfig.default.version + }; + timeNow = new Date(); + if (this.lastLoadRequest && utils.getTimeDiffInMilliseconds(this.lastLoadRequest, timeNow) < 100) { + console.debug("Power BI SDK sent more than two /report/load requests in the last 100ms interval."); + return [2 /*return*/]; + } + this.lastLoadRequest = timeNow; + _a.label = 1; + case 1: + _a.trys.push([1, 3, , 4]); + return [4 /*yield*/, this.service.hpm.post(path, this.config, headers, this.iframe.contentWindow)]; + case 2: + response = _a.sent(); + return [2 /*return*/, response.body]; + case 3: + response_5 = _a.sent(); + throw response_5.body; + case 4: return [2 /*return*/]; + } + }); + }); + }; + /** + * Removes one or more event handlers from the list of handlers. + * If a reference to the existing handle function is specified, remove the specific handler. + * If the handler is not specified, remove all handlers for the event name specified. + * + * ```javascript + * report.off('pageChanged') + * + * or + * + * const logHandler = function (event) { + * console.log(event); + * }; + * + * report.off('pageChanged', logHandler); + * ``` + * + * @template T + * @param {string} eventName + * @param {service.IEventHandler} [handler] + */ + Embed.prototype.off = function (eventName, handler) { + var _this = this; + var fakeEvent = { name: eventName, type: null, id: null, value: null }; + if (handler) { + utils.remove(function (eventHandler) { return eventHandler.test(fakeEvent) && (eventHandler.handle === handler); }, this.eventHandlers); + this.element.removeEventListener(eventName, handler); + } + else { + var eventHandlersToRemove = this.eventHandlers + .filter(function (eventHandler) { return eventHandler.test(fakeEvent); }); + eventHandlersToRemove + .forEach(function (eventHandlerToRemove) { + utils.remove(function (eventHandler) { return eventHandler === eventHandlerToRemove; }, _this.eventHandlers); + _this.element.removeEventListener(eventName, eventHandlerToRemove.handle); + }); + } + }; + /** + * Adds an event handler for a specific event. + * + * ```javascript + * report.on('pageChanged', (event) => { + * console.log('PageChanged: ', event.page.name); + * }); + * ``` + * + * @template T + * @param {string} eventName + * @param {service.IEventHandler} handler + */ + Embed.prototype.on = function (eventName, handler) { + if (this.allowedEvents.indexOf(eventName) === -1) { + throw new Error("eventName must be one of " + this.allowedEvents + ". You passed: " + eventName); + } + this.eventHandlers.push({ + test: function (event) { return event.name === eventName; }, + handle: handler + }); + this.element.addEventListener(eventName, handler); + }; + /** + * Reloads embed using existing configuration. + * E.g. For reports this effectively clears all filters and makes the first page active which simulates resetting a report back to loaded state. + * + * ```javascript + * report.reload(); + * ``` + */ + Embed.prototype.reload = function () { + return __awaiter(this, void 0, void 0, function () { + return __generator(this, function (_a) { + switch (_a.label) { + case 0: return [4 /*yield*/, this.load()]; + case 1: return [2 /*return*/, _a.sent()]; + } + }); + }); + }; + /** + * Set accessToken. + * + * @returns {Promise} + */ + Embed.prototype.setAccessToken = function (accessToken) { + return __awaiter(this, void 0, void 0, function () { + var embedType, response, response_6; + return __generator(this, function (_a) { + switch (_a.label) { + case 0: + embedType = this.config.type; + embedType = (embedType === 'create' || embedType === 'visual' || embedType === 'qna') ? 'report' : embedType; + _a.label = 1; + case 1: + _a.trys.push([1, 3, , 4]); + return [4 /*yield*/, this.service.hpm.post('/' + embedType + '/token', accessToken, { uid: this.config.uniqueId }, this.iframe.contentWindow)]; + case 2: + response = _a.sent(); + this.config.accessToken = accessToken; + this.element.setAttribute(Embed.accessTokenAttribute, accessToken); + this.service.accessToken = accessToken; + return [2 /*return*/, response.body]; + case 3: + response_6 = _a.sent(); + throw response_6.body; + case 4: return [2 /*return*/]; + } + }); + }); + }; + /** + * Gets an access token from the first available location: config, attribute, global. + * + * @private + * @param {string} globalAccessToken + * @returns {string} + * @hidden + */ + Embed.prototype.getAccessToken = function (globalAccessToken) { + var accessToken = this.config.accessToken || this.element.getAttribute(Embed.accessTokenAttribute) || globalAccessToken; + if (!accessToken) { + throw new Error("No access token was found for element. You must specify an access token directly on the element using attribute '" + Embed.accessTokenAttribute + "' or specify a global token at: powerbi.accessToken."); + } + return accessToken; + }; + /** + * Populate config for create and load + * + * @hidden + * @param {IEmbedConfiguration} + * @returns {void} + */ + Embed.prototype.populateConfig = function (config, isBootstrap) { + if (this.bootstrapConfig) { + this.config = utils.assign({}, this.bootstrapConfig, config); + // reset bootstrapConfig because we do not want to merge it in re-embed scenario. + this.bootstrapConfig = null; + } + else { + // Copy config - important for multiple iframe scenario. + // Otherwise, if a user uses the same config twice, same unique Id which will be used in different iframes. + this.config = utils.assign({}, config); + } + this.config.embedUrl = this.getEmbedUrl(isBootstrap); + this.config.groupId = this.getGroupId(); + this.addLocaleToEmbedUrl(config); + this.config.uniqueId = this.getUniqueId(); + if (isBootstrap) { + // save current config in bootstrapConfig to be able to merge it on next call to powerbi.embed + this.bootstrapConfig = this.config; + this.bootstrapConfig.bootstrapped = true; + } + else { + this.config.accessToken = this.getAccessToken(this.service.accessToken); + } + this.configChanged(isBootstrap); + }; + /** + * Adds locale parameters to embedUrl + * + * @private + * @param {IEmbedConfiguration | models.ICommonEmbedConfiguration} config + * @hidden + */ + Embed.prototype.addLocaleToEmbedUrl = function (config) { + if (!config.settings) { + return; + } + var 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); + } + }; + /** + * Gets an embed url from the first available location: options, attribute. + * + * @private + * @returns {string} + * @hidden + */ + Embed.prototype.getEmbedUrl = function (isBootstrap) { + var embedUrl = this.config.embedUrl || this.element.getAttribute(Embed.embedUrlAttribute); + if (isBootstrap && !embedUrl) { + // Prepare flow, embed url was not provided, use hostname to build embed url. + embedUrl = this.getDefaultEmbedUrl(this.config.hostname); + } + if (typeof embedUrl !== 'string' || embedUrl.length === 0) { + throw new Error("Embed Url is required, but it was not found. You must provide an embed url either as part of embed configuration or as attribute '" + Embed.embedUrlAttribute + "'."); + } + return embedUrl; + }; + /** + * @hidden + */ + Embed.prototype.getDefaultEmbedUrl = function (hostname) { + if (!hostname) { + hostname = Embed.defaultEmbedHostName; + } + var endpoint = this.getDefaultEmbedUrlEndpoint(); + // Trim spaces to fix user mistakes. + hostname = hostname.toLowerCase().trim(); + if (hostname.indexOf("http://") === 0) { + throw new Error("HTTP is not allowed. HTTPS is required"); + } + if (hostname.indexOf("https://") === 0) { + return hostname + "/" + endpoint; + } + return "https://" + hostname + "/" + endpoint; + }; + /** + * Gets a unique ID from the first available location: options, attribute. + * If neither is provided generate a unique string. + * + * @private + * @returns {string} + * @hidden + */ + Embed.prototype.getUniqueId = function () { + return this.config.uniqueId || this.element.getAttribute(Embed.nameAttribute) || utils.createRandomString(); + }; + /** + * Gets the group ID from the first available location: options, embeddedUrl. + * + * @private + * @returns {string} + * @hidden + */ + Embed.prototype.getGroupId = function () { + return this.config.groupId || Embed.findGroupIdFromEmbedUrl(this.config.embedUrl); + }; + /** + * Requests the browser to render the component's iframe in fullscreen mode. + */ + Embed.prototype.fullscreen = function () { + var requestFullScreen = this.iframe.requestFullscreen || this.iframe.msRequestFullscreen || this.iframe.mozRequestFullScreen || this.iframe.webkitRequestFullscreen; + requestFullScreen.call(this.iframe); + }; + /** + * Requests the browser to exit fullscreen mode. + */ + Embed.prototype.exitFullscreen = function () { + if (!this.isFullscreen(this.iframe)) { + return; + } + var exitFullscreen = document.exitFullscreen || document.mozCancelFullScreen || document.webkitExitFullscreen || document.msExitFullscreen; + exitFullscreen.call(document); + }; + /** + * Returns true if the iframe is rendered in fullscreen mode, + * otherwise returns false. + * + * @private + * @param {HTMLIFrameElement} iframe + * @returns {boolean} + * @hidden + */ + Embed.prototype.isFullscreen = function (iframe) { + var options = ['fullscreenElement', 'webkitFullscreenElement', 'mozFullscreenScreenElement', 'msFullscreenElement']; + return options.some(function (option) { return document[option] === iframe; }); + }; + /** + * Sets Iframe for embed + * @hidden + */ + Embed.prototype.setIframe = function (isLoad, phasedRender, isBootstrap) { + var _this = this; + if (!this.iframe) { + var iframeContent = document.createElement("iframe"); + var embedUrl = this.config.uniqueId ? utils.addParamToUrl(this.config.embedUrl, 'uid', this.config.uniqueId) : this.config.embedUrl; + iframeContent.style.width = '100%'; + iframeContent.style.height = '100%'; + iframeContent.setAttribute("src", embedUrl); + iframeContent.setAttribute("scrolling", "no"); + iframeContent.setAttribute("allowfullscreen", "true"); + var node = this.element; + while (node.firstChild) { + node.removeChild(node.firstChild); + } + node.appendChild(iframeContent); + this.iframe = node.firstChild; + } + if (isLoad) { + if (!isBootstrap) { + // Validate config if it's not a bootstrap case. + var errors = this.validate(this.config); + if (errors) { + throw errors; + } + } + this.iframe.addEventListener('load', function () { + _this.iframeLoaded = true; + _this.load(phasedRender); + }, false); + if (this.service.getNumberOfComponents() <= Embed.maxFrontLoadTimes) { + this.frontLoadHandler = function () { + _this.frontLoadSendConfig(_this.config); + }; + // 'ready' event is fired by the embedded element (not by the iframe) + this.element.addEventListener('ready', this.frontLoadHandler, false); + } + } + else { + this.iframe.addEventListener('load', function () { return _this.createReport(_this.createConfig); }, false); + } + }; + /** + * 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) { + return; + } + if (title == null) { + this.iframe.removeAttribute("title"); + } + else { + this.iframe.setAttribute("title", title); + } + }; + /** + * Sets element's tabindex attribute + */ + Embed.prototype.setComponentTabIndex = function (tabIndex) { + if (!this.element) { + return; + } + this.element.setAttribute("tabindex", (tabIndex == null) ? "0" : tabIndex.toString()); + }; + /** + * Removes element's tabindex attribute + */ + Embed.prototype.removeComponentTabIndex = function (tabIndex) { + if (!this.element) { + return; + } + this.element.removeAttribute("tabindex"); + }; + /** + * 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} + */ + Embed.findGroupIdFromEmbedUrl = function (url) { + var groupIdRegEx = /groupId="?([^&]+)"?/; + var groupIdMatch = url.match(groupIdRegEx); + var groupId; + if (groupIdMatch) { + groupId = groupIdMatch[1]; + } + return groupId; + }; + /** + * Sends the config for front load calls, after 'ready' message is received from the iframe + * @hidden + */ + Embed.prototype.frontLoadSendConfig = function (config) { + return __awaiter(this, void 0, void 0, function () { + var errors, response, response_7; + return __generator(this, function (_a) { + switch (_a.label) { + case 0: + if (!config.accessToken) { + return [2 /*return*/]; + } + errors = this.validate(config); + if (errors) { + throw errors; + } + // contentWindow must be initialized + if (this.iframe.contentWindow == null) + return [2 /*return*/]; + _a.label = 1; + case 1: + _a.trys.push([1, 3, , 4]); + return [4 /*yield*/, this.service.hpm.post("/frontload/config", config, { uid: this.config.uniqueId }, this.iframe.contentWindow)]; + case 2: + response = _a.sent(); + return [2 /*return*/, response.body]; + case 3: + response_7 = _a.sent(); + throw response_7.body; + case 4: return [2 /*return*/]; + } + }); + }); + }; + /** @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; +}()); +exports.Embed = Embed; + + +/***/ }), + +/***/ "./src/errors.ts": +/*!***********************!*\ + !*** ./src/errors.ts ***! + \***********************/ +/*! no static exports found */ /***/ (function(module, exports) { - /** - * A Power BI visual within a page - * - * @export - * @class VisualDescriptor - * @implements {IVisualNode} - */ - var VisualDescriptor = (function () { - /** - * @hidden - */ - function VisualDescriptor(page, name, title, type, layout) { - this.name = name; - this.title = title; - this.type = type; - this.layout = layout; - this.page = page; - } - /** - * Gets all visual level filters of the current visual. - * - * ```javascript - * visual.getFilters() - * .then(filters => { ... }); - * ``` - * - * @returns {(Promise)} - */ - VisualDescriptor.prototype.getFilters = function () { - return this.page.report.service.hpm.get("/report/pages/" + this.page.name + "/visuals/" + this.name + "/filters", { uid: this.page.report.config.uniqueId }, this.page.report.iframe.contentWindow) - .then(function (response) { return response.body; }, function (response) { - throw response.body; - }); - }; - /** - * Removes all filters from the current visual. - * - * ```javascript - * visual.removeFilters(); - * ``` - * - * @returns {Promise} - */ - VisualDescriptor.prototype.removeFilters = function () { - return this.setFilters([]); - }; - /** - * Sets the filters on the current visual to 'filters'. - * - * ```javascript - * visual.setFilters(filters); - * .catch(errors => { ... }); - * ``` - * - * @param {(models.IFilter[])} filters - * @returns {Promise} - */ - VisualDescriptor.prototype.setFilters = function (filters) { - return this.page.report.service.hpm.put("/report/pages/" + this.page.name + "/visuals/" + this.name + "/filters", filters, { uid: this.page.report.config.uniqueId }, this.page.report.iframe.contentWindow) - .catch(function (response) { - throw response.body; - }); - }; - /** - * Exports Visual data. - * Can export up to 30K rows. - * @param rows: Optional. Default value is 30K, maximum value is 30K as well. - * @param exportDataType: Optional. Default is models.ExportDataType.Summarized. - * ```javascript - * visual.exportData() - * .then(data => { ... }); - * ``` - * - * @returns {(Promise)} - */ - VisualDescriptor.prototype.exportData = function (exportDataType, rows) { - var exportDataRequestBody = { - rows: rows, - exportDataType: exportDataType - }; - return this.page.report.service.hpm.post("/report/pages/" + this.page.name + "/visuals/" + this.name + "/exportData", exportDataRequestBody, { uid: this.page.report.config.uniqueId }, this.page.report.iframe.contentWindow) - .then(function (response) { return response.body; }, function (response) { - throw response.body; - }); - }; - /** - * Set slicer state. - * Works only for visuals of type slicer. - * @param state: A new state which contains the slicer filters. - * ```javascript - * visual.setSlicerState() - * .then(() => { ... }); - * ``` - */ - VisualDescriptor.prototype.setSlicerState = function (state) { - return this.page.report.service.hpm.put("/report/pages/" + this.page.name + "/visuals/" + this.name + "/slicer", state, { uid: this.page.report.config.uniqueId }, this.page.report.iframe.contentWindow) - .catch(function (response) { - throw response.body; - }); - }; - /** - * Get slicer state. - * Works only for visuals of type slicer. - * - * ```javascript - * visual.getSlicerState() - * .then(state => { ... }); - * ``` - * - * @returns {(Promise)} - */ - VisualDescriptor.prototype.getSlicerState = function () { - return this.page.report.service.hpm.get("/report/pages/" + this.page.name + "/visuals/" + this.name + "/slicer", { uid: this.page.report.config.uniqueId }, this.page.report.iframe.contentWindow) - .then(function (response) { return response.body; }, function (response) { - throw response.body; - }); - }; - /** - * Clone existing visual to a new instance. - * - * @returns {(Promise)} - */ - VisualDescriptor.prototype.clone = function (request) { - if (request === void 0) { request = {}; } - return this.page.report.service.hpm.post("/report/pages/" + this.page.name + "/visuals/" + this.name + "/clone", request, { uid: this.page.report.config.uniqueId }, this.page.report.iframe.contentWindow) - .then(function (response) { return response.body; }, function (response) { - throw response.body; - }); - }; - /** - * Sort a visual by dataField and direction. - * - * @param request: Sort by visual request. - * - * ```javascript - * visual.sortBy(request) - * .then(() => { ... }); - * ``` - */ - VisualDescriptor.prototype.sortBy = function (request) { - return this.page.report.service.hpm.put("/report/pages/" + this.page.name + "/visuals/" + this.name + "/sortBy", request, { uid: this.page.report.config.uniqueId }, this.page.report.iframe.contentWindow) - .catch(function (response) { - throw response.body; - }); - }; - return VisualDescriptor; - }()); - exports.VisualDescriptor = VisualDescriptor; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.EmbedUrlNotSupported = exports.APINotSupportedForRDLError = void 0; +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"; /***/ }), -/* 10 */ + +/***/ "./src/factories.ts": +/*!**************************!*\ + !*** ./src/factories.ts ***! + \**************************/ +/*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { - var utils = __webpack_require__(3); - var errors = __webpack_require__(6); - /** - * Manages report bookmarks. - * - * @export - * @class BookmarksManager - * @implements {IBookmarksManager} - */ - var BookmarksManager = (function () { - /** - * @hidden - */ - function BookmarksManager(service, config, iframe) { - this.service = service; - this.config = config; - this.iframe = iframe; - } - /** - * Gets bookmarks that are defined in the report. - * - * ```javascript - * // Gets bookmarks that are defined in the report - * bookmarksManager.getBookmarks() - * .then(bookmarks => { - * ... - * }); - * ``` - * - * @returns {Promise} - */ - BookmarksManager.prototype.getBookmarks = function () { - if (utils.isRDLEmbed(this.config.embedUrl)) { - return Promise.reject(errors.APINotSupportedForRDLError); - } - return this.service.hpm.get("/report/bookmarks", { uid: this.config.uniqueId }, this.iframe.contentWindow) - .then(function (response) { return response.body; }, function (response) { - throw response.body; - }); - }; - /** - * Apply bookmark by name. - * - * ```javascript - * bookmarksManager.apply(bookmarkName) - * ``` - * - * @param {string} bookmarkName The name of the bookmark to be applied - * @returns {Promise} - */ - BookmarksManager.prototype.apply = function (bookmarkName) { - if (utils.isRDLEmbed(this.config.embedUrl)) { - return Promise.reject(errors.APINotSupportedForRDLError); - } - var request = { - name: bookmarkName - }; - return this.service.hpm.post("/report/bookmarks/applyByName", request, { uid: this.config.uniqueId }, this.iframe.contentWindow) - .catch(function (response) { - throw response.body; - }); - }; - /** - * Play bookmarks: Enter or Exit bookmarks presentation mode. - * - * ```javascript - * // Enter presentation mode. - * bookmarksManager.play(models.BookmarksPlayMode.Presentation) - * ``` - * - * @param {models.BookmarksPlayMode} playMode Play mode can be either `Presentation` or `Off` - * @returns {Promise} - */ - BookmarksManager.prototype.play = function (playMode) { - if (utils.isRDLEmbed(this.config.embedUrl)) { - return Promise.reject(errors.APINotSupportedForRDLError); - } - var playBookmarkRequest = { - playMode: playMode - }; - return this.service.hpm.post("/report/bookmarks/play", playBookmarkRequest, { uid: this.config.uniqueId }, this.iframe.contentWindow) - .catch(function (response) { - throw response.body; - }); - }; - /** - * Capture bookmark from current state. - * - * ```javascript - * bookmarksManager.capture(options) - * ``` - * - * @param {models.ICaptureBookmarkOptions} [options] Options for bookmark capturing - * @returns {Promise} - */ - BookmarksManager.prototype.capture = function (options) { - if (utils.isRDLEmbed(this.config.embedUrl)) { - return Promise.reject(errors.APINotSupportedForRDLError); - } - var request = { - options: options - }; - return this.service.hpm.post("/report/bookmarks/capture", request, { uid: this.config.uniqueId }, this.iframe.contentWindow) - .then(function (response) { return response.body; }, function (response) { - throw response.body; - }); - }; - /** - * Apply bookmark state. - * - * ```javascript - * bookmarksManager.applyState(bookmarkState) - * ``` - * - * @param {string} state A base64 bookmark state to be applied - * @returns {Promise} - */ - BookmarksManager.prototype.applyState = function (state) { - if (utils.isRDLEmbed(this.config.embedUrl)) { - return Promise.reject(errors.APINotSupportedForRDLError); - } - var request = { - state: state - }; - return this.service.hpm.post("/report/bookmarks/applyState", request, { uid: this.config.uniqueId }, this.iframe.contentWindow) - .catch(function (response) { - throw response.body; - }); - }; - return BookmarksManager; - }()); - exports.BookmarksManager = BookmarksManager; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.routerFactory = exports.wpmpFactory = exports.hpmFactory = void 0; +var config_1 = __webpack_require__(/*! ./config */ "./src/config.ts"); +var wpmp = __webpack_require__(/*! window-post-message-proxy */ "./node_modules/window-post-message-proxy/dist/windowPostMessageProxy.js"); +var hpm = __webpack_require__(/*! http-post-message */ "./node_modules/http-post-message/dist/httpPostMessage.js"); +var router = __webpack_require__(/*! powerbi-router */ "./node_modules/powerbi-router/dist/router.js"); +exports.hpmFactory = function (wpmp, defaultTargetWindow, sdkVersion, sdkType) { + if (sdkVersion === void 0) { sdkVersion = config_1.default.version; } + if (sdkType === void 0) { sdkType = config_1.default.type; } + return new hpm.HttpPostMessage(wpmp, { + 'x-sdk-type': sdkType, + 'x-sdk-version': sdkVersion + }, defaultTargetWindow); +}; +exports.wpmpFactory = function (name, logMessages, eventSourceOverrideWindow) { + return new wpmp.WindowPostMessageProxy({ + processTrackingProperties: { + addTrackingProperties: hpm.HttpPostMessage.addTrackingProperties, + getTrackingProperties: hpm.HttpPostMessage.getTrackingProperties, + }, + isErrorMessage: hpm.HttpPostMessage.isErrorMessage, + suppressWarnings: true, + name: name, + logMessages: logMessages, + eventSourceOverrideWindow: eventSourceOverrideWindow + }); +}; +exports.routerFactory = function (wpmp) { + return new router.Router(wpmp); +}; /***/ }), -/* 11 */ + +/***/ "./src/page.ts": +/*!*********************!*\ + !*** ./src/page.ts ***! + \*********************/ +/*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { - 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; } - d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); - }; - 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); - } - /** - * Gets the dataset ID from the first available location: createConfig or embed url. - * - * @returns {string} - */ - Create.prototype.getId = function () { - var datasetId = (this.createConfig && this.createConfig.datasetId) ? this.createConfig.datasetId : Create.findIdFromEmbedUrl(this.config.embedUrl); - if (typeof datasetId !== 'string' || datasetId.length === 0) { - throw new Error('Dataset id is required, but it was not found. You must provide an id either as part of embed configuration.'); - } - return datasetId; - }; - /** - * Validate create report configuration. - */ - Create.prototype.validate = function (config) { - return models.validateCreateReport(config); - }; - /** - * Handle config changes. - * - * @hidden - * @returns {void} - */ - Create.prototype.configChanged = function (isBootstrap) { - if (isBootstrap) { - return; - } - var config = this.config; - this.createConfig = { - accessToken: config.accessToken, - datasetId: config.datasetId || this.getId(), - groupId: config.groupId, - settings: config.settings, - tokenType: config.tokenType, - theme: config.theme - }; - }; - /** - * @hidden - * @returns {string} - */ - Create.prototype.getDefaultEmbedUrlEndpoint = function () { - return "reportEmbed"; - }; - /** - * checks if the report is saved. - * - * ```javascript - * report.isSaved() - * ``` - * - * @returns {Promise} - */ - Create.prototype.isSaved = function () { - return utils.isSavedInternal(this.service.hpm, this.config.uniqueId, this.iframe.contentWindow); - }; - /** - * Adds the ability to get datasetId from url. - * (e.g. http://embedded.powerbi.com/appTokenReportEmbed?datasetId=854846ed-2106-4dc2-bc58-eb77533bf2f1). - * - * By extracting the ID we can ensure that the ID is always explicitly provided as part of the create configuration. - * - * @static - * @param {string} url - * @returns {string} - * @hidden - */ - Create.findIdFromEmbedUrl = function (url) { - var datasetIdRegEx = /datasetId="?([^&]+)"?/; - var datasetIdMatch = url.match(datasetIdRegEx); - var datasetId; - if (datasetIdMatch) { - datasetId = datasetIdMatch[1]; - } - return datasetId; - }; - return Create; - }(embed.Embed)); - exports.Create = Create; +var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { + function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } + return new (P || (P = Promise))(function (resolve, reject) { + function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } + function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } + function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } + step((generator = generator.apply(thisArg, _arguments || [])).next()); + }); +}; +var __generator = (this && this.__generator) || function (thisArg, body) { + var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g; + return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g; + function verb(n) { return function (v) { return step([n, v]); }; } + function step(op) { + if (f) throw new TypeError("Generator is already executing."); + while (_) try { + if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t; + if (y = 0, t) op = [op[0] & 2, t.value]; + switch (op[0]) { + case 0: case 1: t = op; break; + case 4: _.label++; return { value: op[1], done: false }; + case 5: _.label++; y = op[1]; op = [0]; continue; + case 7: op = _.ops.pop(); _.trys.pop(); continue; + default: + if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; } + if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; } + if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; } + if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; } + if (t[2]) _.ops.pop(); + _.trys.pop(); continue; + } + op = body.call(thisArg, _); + } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; } + if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true }; + } +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.Page = void 0; +var visualDescriptor_1 = __webpack_require__(/*! ./visualDescriptor */ "./src/visualDescriptor.ts"); +var models = __webpack_require__(/*! powerbi-models */ "./node_modules/powerbi-models/dist/models.js"); +var utils = __webpack_require__(/*! ./util */ "./src/util.ts"); +var errors = __webpack_require__(/*! ./errors */ "./src/errors.ts"); +/** + * A Power BI report page + * + * @export + * @class Page + * @implements {IPageNode} + * @implements {IFilterable} + */ +var Page = /** @class */ (function () { + /** + * Creates an instance of a Power BI report page. + * + * @param {IReportNode} report + * @param {string} name + * @param {string} [displayName] + * @param {boolean} [isActivePage] + * @param {models.SectionVisibility} [visibility] + * @hidden + */ + function Page(report, name, displayName, isActivePage, visibility, defaultSize, defaultDisplayOption) { + this.report = report; + this.name = name; + this.displayName = displayName; + this.isActive = isActivePage; + this.visibility = visibility; + this.defaultSize = defaultSize; + this.defaultDisplayOption = defaultDisplayOption; + } + /** + * Gets all page level filters within the report. + * + * ```javascript + * page.getFilters() + * .then(filters => { ... }); + * ``` + * + * @returns {(Promise)} + */ + Page.prototype.getFilters = function () { + return __awaiter(this, void 0, void 0, function () { + var response, response_1; + return __generator(this, function (_a) { + switch (_a.label) { + case 0: + _a.trys.push([0, 2, , 3]); + return [4 /*yield*/, this.report.service.hpm.get("/report/pages/" + this.name + "/filters", { uid: this.report.config.uniqueId }, this.report.iframe.contentWindow)]; + case 1: + response = _a.sent(); + return [2 /*return*/, response.body]; + case 2: + response_1 = _a.sent(); + throw response_1.body; + case 3: return [2 /*return*/]; + } + }); + }); + }; + /** + * Delete the page from the report + * + * ```javascript + * // Delete the page from the report + * page.delete(); + * ``` + * + * @returns {Promise} + */ + Page.prototype.delete = function () { + return __awaiter(this, void 0, void 0, function () { + var response, response_2; + return __generator(this, function (_a) { + switch (_a.label) { + case 0: + _a.trys.push([0, 2, , 3]); + return [4 /*yield*/, this.report.service.hpm.delete("/report/pages/" + this.name, {}, { uid: this.report.config.uniqueId }, this.report.iframe.contentWindow)]; + case 1: + response = _a.sent(); + return [2 /*return*/, response.body]; + case 2: + response_2 = _a.sent(); + throw response_2.body; + case 3: return [2 /*return*/]; + } + }); + }); + }; + /** + * Removes all filters from this page of the report. + * + * ```javascript + * page.removeFilters(); + * ``` + * + * @returns {Promise>} + */ + Page.prototype.removeFilters = function () { + return __awaiter(this, void 0, void 0, function () { + return __generator(this, function (_a) { + switch (_a.label) { + case 0: return [4 /*yield*/, this.setFilters([])]; + case 1: return [2 /*return*/, _a.sent()]; + } + }); + }); + }; + /** + * Makes the current page the active page of the report. + * + * ```javascripot + * page.setActive(); + * ``` + * + * @returns {Promise>} + */ + Page.prototype.setActive = function () { + return __awaiter(this, void 0, void 0, function () { + var page, response_3; + return __generator(this, function (_a) { + switch (_a.label) { + case 0: + page = { + name: this.name, + displayName: null, + isActive: true + }; + _a.label = 1; + case 1: + _a.trys.push([1, 3, , 4]); + return [4 /*yield*/, this.report.service.hpm.put('/report/pages/active', page, { uid: this.report.config.uniqueId }, this.report.iframe.contentWindow)]; + case 2: return [2 /*return*/, _a.sent()]; + case 3: + response_3 = _a.sent(); + throw response_3.body; + case 4: return [2 /*return*/]; + } + }); + }); + }; + /** + * Sets all filters on the current page. + * + * ```javascript + * page.setFilters(filters); + * .catch(errors => { ... }); + * ``` + * + * @param {(models.IFilter[])} filters + * @returns {Promise>} + */ + Page.prototype.setFilters = function (filters) { + return __awaiter(this, void 0, void 0, function () { + var response_4; + return __generator(this, function (_a) { + switch (_a.label) { + case 0: + _a.trys.push([0, 2, , 3]); + return [4 /*yield*/, this.report.service.hpm.put("/report/pages/" + this.name + "/filters", filters, { uid: this.report.config.uniqueId }, this.report.iframe.contentWindow)]; + case 1: return [2 /*return*/, _a.sent()]; + case 2: + response_4 = _a.sent(); + throw response_4.body; + case 3: return [2 /*return*/]; + } + }); + }); + }; + /** + * Set displayName to the current page. + * + * ```javascript + * page.setName(displayName); + * ``` + * + * @returns {Promise>} + */ + Page.prototype.setDisplayName = function (displayName) { + return __awaiter(this, void 0, void 0, function () { + var page, response_5; + return __generator(this, function (_a) { + switch (_a.label) { + case 0: + page = { + name: this.name, + displayName: displayName, + }; + _a.label = 1; + case 1: + _a.trys.push([1, 3, , 4]); + return [4 /*yield*/, this.report.service.hpm.put("/report/pages/" + this.name + "/name", page, { uid: this.report.config.uniqueId }, this.report.iframe.contentWindow)]; + case 2: return [2 /*return*/, _a.sent()]; + case 3: + response_5 = _a.sent(); + throw response_5.body; + case 4: return [2 /*return*/]; + } + }); + }); + }; + /** + * Gets all the visuals on the page. + * + * ```javascript + * page.getVisuals() + * .then(visuals => { ... }); + * ``` + * + * @returns {Promise} + */ + Page.prototype.getVisuals = function () { + return __awaiter(this, void 0, void 0, function () { + var response, response_6; + var _this = this; + return __generator(this, function (_a) { + switch (_a.label) { + case 0: + if (utils.isRDLEmbed(this.report.config.embedUrl)) { + return [2 /*return*/, Promise.reject(errors.APINotSupportedForRDLError)]; + } + _a.label = 1; + case 1: + _a.trys.push([1, 3, , 4]); + return [4 /*yield*/, this.report.service.hpm.get("/report/pages/" + this.name + "/visuals", { uid: this.report.config.uniqueId }, this.report.iframe.contentWindow)]; + case 2: + response = _a.sent(); + return [2 /*return*/, response.body + .map(function (visual) { + return new visualDescriptor_1.VisualDescriptor(_this, visual.name, visual.title, visual.type, visual.layout); + })]; + case 3: + response_6 = _a.sent(); + throw response_6.body; + case 4: return [2 /*return*/]; + } + }); + }); + }; + /** + * Checks if page has layout. + * + * ```javascript + * page.hasLayout(layoutType) + * .then(hasLayout: boolean => { ... }); + * ``` + * + * @returns {(Promise)} + */ + Page.prototype.hasLayout = function (layoutType) { + return __awaiter(this, void 0, void 0, function () { + var layoutTypeEnum, response, response_7; + return __generator(this, function (_a) { + switch (_a.label) { + case 0: + if (utils.isRDLEmbed(this.report.config.embedUrl)) { + return [2 /*return*/, Promise.reject(errors.APINotSupportedForRDLError)]; + } + layoutTypeEnum = models.LayoutType[layoutType]; + _a.label = 1; + case 1: + _a.trys.push([1, 3, , 4]); + return [4 /*yield*/, this.report.service.hpm.get("/report/pages/" + this.name + "/layoutTypes/" + layoutTypeEnum, { uid: this.report.config.uniqueId }, this.report.iframe.contentWindow)]; + case 2: + response = _a.sent(); + return [2 /*return*/, response.body]; + case 3: + response_7 = _a.sent(); + throw response_7.body; + case 4: return [2 /*return*/]; + } + }); + }); + }; + return Page; +}()); +exports.Page = Page; /***/ }), -/* 12 */ + +/***/ "./src/powerbi-client.ts": +/*!*******************************!*\ + !*** ./src/powerbi-client.ts ***! + \*******************************/ +/*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { - 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; } - d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); - }; - var embed = __webpack_require__(2); - var models = __webpack_require__(5); - /** - * A Power BI Dashboard embed component - * - * @export - * @class Dashboard - * @extends {embed.Embed} - * @implements {IDashboardNode} - */ - var Dashboard = (function (_super) { - __extends(Dashboard, _super); - /** - * Creates an instance of a Power BI Dashboard. - * - * @param {service.Service} service - * @hidden - * @param {HTMLElement} element - */ - function Dashboard(service, element, config, phasedRender, isBootstrap) { - _super.call(this, service, element, config, /* iframe */ undefined, phasedRender, isBootstrap); - this.loadPath = "/dashboard/load"; - this.phasedLoadPath = "/dashboard/prepare"; - Array.prototype.push.apply(this.allowedEvents, Dashboard.allowedEvents); - } - /** - * This adds backwards compatibility for older config which used the dashboardId query param to specify dashboard id. - * E.g. https://powerbi-df.analysis-df.windows.net/dashboardEmbedHost?dashboardId=e9363c62-edb6-4eac-92d3-2199c5ca2a9e - * - * By extracting the id we can ensure id is always explicitly provided as part of the load configuration. - * @hidden - * @static - * @param {string} url - * @returns {string} - */ - Dashboard.findIdFromEmbedUrl = function (url) { - var dashboardIdRegEx = /dashboardId="?([^&]+)"?/; - var dashboardIdMatch = url.match(dashboardIdRegEx); - var dashboardId; - if (dashboardIdMatch) { - dashboardId = dashboardIdMatch[1]; - } - return dashboardId; - }; - /** - * Get dashboard id from first available location: options, attribute, embed url. - * - * @returns {string} - */ - Dashboard.prototype.getId = function () { - var config = this.config; - var dashboardId = config.id || this.element.getAttribute(Dashboard.dashboardIdAttribute) || Dashboard.findIdFromEmbedUrl(config.embedUrl); - if (typeof dashboardId !== 'string' || dashboardId.length === 0) { - throw new Error("Dashboard id is required, but it was not found. You must provide an id either as part of embed configuration or as attribute '" + Dashboard.dashboardIdAttribute + "'."); - } - return dashboardId; - }; - /** - * Validate load configuration. - * - * @hidden - */ - Dashboard.prototype.validate = function (baseConfig) { - var config = baseConfig; - var error = models.validateDashboardLoad(config); - return error ? error : this.ValidatePageView(config.pageView); - }; - /** - * Handle config changes. - * @hidden - * @returns {void} - */ - Dashboard.prototype.configChanged = function (isBootstrap) { - if (isBootstrap) { - return; - } - // 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)); - exports.Dashboard = Dashboard; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.models = exports.factories = exports.service = void 0; +/** + * @hidden + */ +var service = __webpack_require__(/*! ./service */ "./src/service.ts"); +exports.service = service; +var factories = __webpack_require__(/*! ./factories */ "./src/factories.ts"); +exports.factories = factories; +var models = __webpack_require__(/*! powerbi-models */ "./node_modules/powerbi-models/dist/models.js"); +exports.models = models; +var report_1 = __webpack_require__(/*! ./report */ "./src/report.ts"); +Object.defineProperty(exports, "Report", { enumerable: true, get: function () { return report_1.Report; } }); +var dashboard_1 = __webpack_require__(/*! ./dashboard */ "./src/dashboard.ts"); +Object.defineProperty(exports, "Dashboard", { enumerable: true, get: function () { return dashboard_1.Dashboard; } }); +var tile_1 = __webpack_require__(/*! ./tile */ "./src/tile.ts"); +Object.defineProperty(exports, "Tile", { enumerable: true, get: function () { return tile_1.Tile; } }); +var embed_1 = __webpack_require__(/*! ./embed */ "./src/embed.ts"); +Object.defineProperty(exports, "Embed", { enumerable: true, get: function () { return embed_1.Embed; } }); +var page_1 = __webpack_require__(/*! ./page */ "./src/page.ts"); +Object.defineProperty(exports, "Page", { enumerable: true, get: function () { return page_1.Page; } }); +var qna_1 = __webpack_require__(/*! ./qna */ "./src/qna.ts"); +Object.defineProperty(exports, "Qna", { enumerable: true, get: function () { return qna_1.Qna; } }); +var visual_1 = __webpack_require__(/*! ./visual */ "./src/visual.ts"); +Object.defineProperty(exports, "Visual", { enumerable: true, get: function () { return visual_1.Visual; } }); +var visualDescriptor_1 = __webpack_require__(/*! ./visualDescriptor */ "./src/visualDescriptor.ts"); +Object.defineProperty(exports, "VisualDescriptor", { enumerable: true, get: function () { return visualDescriptor_1.VisualDescriptor; } }); +/** + * Makes Power BI available to the global object for use in applications that don't have module loading support. + * + * Note: create an instance of the class with the default configuration for normal usage, or save the class so that you can create an instance of the service. + */ +var powerbi = new service.Service(factories.hpmFactory, factories.wpmpFactory, factories.routerFactory); +window.powerbi = powerbi; /***/ }), -/* 13 */ + +/***/ "./src/qna.ts": +/*!********************!*\ + !*** ./src/qna.ts ***! + \********************/ +/*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { - 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; } - d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); - }; - var models = __webpack_require__(5); - var embed = __webpack_require__(2); - /** - * The Power BI tile embed component - * - * @export - * @class Tile - * @extends {Embed} - */ - 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); - this.loadPath = "/tile/load"; - Array.prototype.push.apply(this.allowedEvents, Tile.allowedEvents); - } - /** - * The ID of the tile - * - * @returns {string} - */ - Tile.prototype.getId = function () { - var config = this.config; - var tileId = config.id || Tile.findIdFromEmbedUrl(this.config.embedUrl); - if (typeof tileId !== 'string' || tileId.length === 0) { - throw new Error("Tile id is required, but it was not found. You must provide an id either as part of embed configuration."); - } - return tileId; - }; - /** - * Validate load configuration. - */ - Tile.prototype.validate = function (config) { - var embedConfig = config; - return models.validateTileLoad(embedConfig); - }; - /** - * Handle config changes. - * - * @returns {void} - */ - Tile.prototype.configChanged = function (isBootstrap) { - if (isBootstrap) { - return; - } - // Populate tile id into config object. - this.config.id = this.getId(); - }; - /** - * @hidden - * @returns {string} - */ - Tile.prototype.getDefaultEmbedUrlEndpoint = function () { - return "tileEmbed"; - }; - /** - * Adds the ability to get tileId 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} - */ - Tile.findIdFromEmbedUrl = function (url) { - var tileIdRegEx = /tileId="?([^&]+)"?/; - var tileIdMatch = url.match(tileIdRegEx); - var tileId; - if (tileIdMatch) { - tileId = tileIdMatch[1]; - } - return tileId; - }; - /** @hidden */ - Tile.type = "Tile"; - /** @hidden */ - Tile.allowedEvents = ["tileClicked", "tileLoaded"]; - return Tile; - }(embed.Embed)); - exports.Tile = Tile; +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 __()); + }; +})(); +var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { + function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } + return new (P || (P = Promise))(function (resolve, reject) { + function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } + function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } + function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } + step((generator = generator.apply(thisArg, _arguments || [])).next()); + }); +}; +var __generator = (this && this.__generator) || function (thisArg, body) { + var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g; + return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g; + function verb(n) { return function (v) { return step([n, v]); }; } + function step(op) { + if (f) throw new TypeError("Generator is already executing."); + while (_) try { + if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t; + if (y = 0, t) op = [op[0] & 2, t.value]; + switch (op[0]) { + case 0: case 1: t = op; break; + case 4: _.label++; return { value: op[1], done: false }; + case 5: _.label++; y = op[1]; op = [0]; continue; + case 7: op = _.ops.pop(); _.trys.pop(); continue; + default: + if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; } + if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; } + if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; } + if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; } + if (t[2]) _.ops.pop(); + _.trys.pop(); continue; + } + op = body.call(thisArg, _); + } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; } + if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true }; + } +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.Qna = void 0; +var models = __webpack_require__(/*! powerbi-models */ "./node_modules/powerbi-models/dist/models.js"); +var embed = __webpack_require__(/*! ./embed */ "./src/embed.ts"); +/** + * The Power BI Q&A embed component + * + * @export + * @class Qna + * @extends {Embed} + */ +var Qna = /** @class */ (function (_super) { + __extends(Qna, _super); + /** + * @hidden + */ + function Qna(service, element, config, phasedRender, isBootstrap) { + var _this = _super.call(this, service, element, config, /* iframe */ undefined, phasedRender, isBootstrap) || this; + _this.loadPath = "/qna/load"; + _this.phasedLoadPath = "/qna/prepare"; + Array.prototype.push.apply(_this.allowedEvents, Qna.allowedEvents); + return _this; + } + /** + * The ID of the Q&A embed component + * + * @returns {string} + */ + Qna.prototype.getId = function () { + return null; + }; + /** + * Change the question of the Q&A embed component + * + * @param {string} question - question which will render Q&A data + * @returns {Promise>} + */ + Qna.prototype.setQuestion = function (question) { + return __awaiter(this, void 0, void 0, function () { + var qnaData, response_1; + return __generator(this, function (_a) { + switch (_a.label) { + case 0: + qnaData = { + question: question + }; + _a.label = 1; + case 1: + _a.trys.push([1, 3, , 4]); + return [4 /*yield*/, this.service.hpm.post('/qna/interpret', qnaData, { uid: this.config.uniqueId }, this.iframe.contentWindow)]; + case 2: return [2 /*return*/, _a.sent()]; + case 3: + response_1 = _a.sent(); + throw response_1.body; + case 4: return [2 /*return*/]; + } + }); + }); + }; + /** + * Handle config changes. + * + * @returns {void} + */ + Qna.prototype.configChanged = function (isBootstrap) { + // Nothing to do in Q&A embed. + }; + /** + * @hidden + * @returns {string} + */ + Qna.prototype.getDefaultEmbedUrlEndpoint = function () { + return "qnaEmbed"; + }; + /** + * Validate load configuration. + */ + Qna.prototype.validate = function (config) { + return models.validateLoadQnaConfiguration(config); + }; + /** @hidden */ + Qna.type = "Qna"; + /** @hidden */ + Qna.allowedEvents = ["loaded", "visualRendered"]; + return Qna; +}(embed.Embed)); +exports.Qna = Qna; /***/ }), -/* 14 */ + +/***/ "./src/report.ts": +/*!***********************!*\ + !*** ./src/report.ts ***! + \***********************/ +/*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { - 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; } - d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); - }; - var models = __webpack_require__(5); - var embed = __webpack_require__(2); - /** - * The Power BI Q&A embed component - * - * @export - * @class Qna - * @extends {Embed} - */ - 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"; - this.phasedLoadPath = "/qna/prepare"; - Array.prototype.push.apply(this.allowedEvents, Qna.allowedEvents); - } - /** - * The ID of the Q&A embed component - * - * @returns {string} - */ - Qna.prototype.getId = function () { - return null; - }; - /** - * Change the question of the Q&A embed component - * - * @param question - question which will render Q&A data - * @returns {string} - */ - Qna.prototype.setQuestion = function (question) { - var qnaData = { - question: question - }; - return this.service.hpm.post('/qna/interpret', qnaData, { uid: this.config.uniqueId }, this.iframe.contentWindow) - .catch(function (response) { - throw response.body; - }); - }; - /** - * Handle config changes. - * - * @returns {void} - */ - Qna.prototype.configChanged = function (isBootstrap) { - // Nothing to do in Q&A embed. - }; - /** - * @hidden - * @returns {string} - */ - Qna.prototype.getDefaultEmbedUrlEndpoint = function () { - return "qnaEmbed"; - }; - /** - * Validate load configuration. - */ - Qna.prototype.validate = function (config) { - return models.validateLoadQnaConfiguration(config); - }; - /** @hidden */ - Qna.type = "Qna"; - /** @hidden */ - Qna.allowedEvents = ["loaded", "visualRendered"]; - return Qna; - }(embed.Embed)); - exports.Qna = Qna; +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 __()); + }; +})(); +var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { + function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } + return new (P || (P = Promise))(function (resolve, reject) { + function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } + function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } + function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } + step((generator = generator.apply(thisArg, _arguments || [])).next()); + }); +}; +var __generator = (this && this.__generator) || function (thisArg, body) { + var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g; + return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g; + function verb(n) { return function (v) { return step([n, v]); }; } + function step(op) { + if (f) throw new TypeError("Generator is already executing."); + while (_) try { + if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t; + if (y = 0, t) op = [op[0] & 2, t.value]; + switch (op[0]) { + case 0: case 1: t = op; break; + case 4: _.label++; return { value: op[1], done: false }; + case 5: _.label++; y = op[1]; op = [0]; continue; + case 7: op = _.ops.pop(); _.trys.pop(); continue; + default: + if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; } + if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; } + if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; } + if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; } + if (t[2]) _.ops.pop(); + _.trys.pop(); continue; + } + op = body.call(thisArg, _); + } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; } + if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true }; + } +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.Report = void 0; +var embed = __webpack_require__(/*! ./embed */ "./src/embed.ts"); +var models = __webpack_require__(/*! powerbi-models */ "./node_modules/powerbi-models/dist/models.js"); +var utils = __webpack_require__(/*! ./util */ "./src/util.ts"); +var errors = __webpack_require__(/*! ./errors */ "./src/errors.ts"); +var page_1 = __webpack_require__(/*! ./page */ "./src/page.ts"); +var bookmarksManager_1 = __webpack_require__(/*! ./bookmarksManager */ "./src/bookmarksManager.ts"); +/** + * The Power BI Report embed component + * + * @export + * @class Report + * @extends {embed.Embed} + * @implements {IReportNode} + * @implements {IFilterable} + */ +var Report = /** @class */ (function (_super) { + __extends(Report, _super); + /** + * Creates an instance of a Power BI Report. + * + * @param {service.Service} service + * @param {HTMLElement} element + * @param {embed.IEmbedConfiguration} config + * @hidden + */ + function Report(service, element, baseConfig, phasedRender, isBootstrap, iframe) { + var _this = this; + var config = baseConfig; + _this = _super.call(this, service, element, config, iframe, phasedRender, isBootstrap) || this; + _this.loadPath = "/report/load"; + _this.phasedLoadPath = "/report/prepare"; + Array.prototype.push.apply(_this.allowedEvents, Report.allowedEvents); + _this.bookmarksManager = new bookmarksManager_1.BookmarksManager(service, config, _this.iframe); + return _this; + } + /** + * Adds backwards compatibility for the previous load configuration, which used the reportId query parameter to specify the report ID + * (e.g. http://embedded.powerbi.com/appTokenReportEmbed?reportId=854846ed-2106-4dc2-bc58-eb77533bf2f1). + * + * 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} + */ + Report.findIdFromEmbedUrl = function (url) { + var reportIdRegEx = /reportId="?([^&]+)"?/; + var reportIdMatch = url.match(reportIdRegEx); + var reportId; + if (reportIdMatch) { + reportId = reportIdMatch[1]; + } + return reportId; + }; + /** + * Render a preloaded report, using phased embedding API + * + * ```javascript + * // Load report + * var report = powerbi.load(element, config); + * + * ... + * + * // Render report + * report.render() + * ``` + * + * @returns {Promise} + */ + Report.prototype.render = function (config) { + return __awaiter(this, void 0, void 0, function () { + var response, response_1; + return __generator(this, function (_a) { + switch (_a.label) { + case 0: + _a.trys.push([0, 2, , 3]); + return [4 /*yield*/, this.service.hpm.post("/report/render", config, { uid: this.config.uniqueId }, this.iframe.contentWindow)]; + case 1: + response = _a.sent(); + return [2 /*return*/, response.body]; + case 2: + response_1 = _a.sent(); + throw response_1.body; + case 3: return [2 /*return*/]; + } + }); + }); + }; + /** + * 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) { + return __awaiter(this, void 0, void 0, function () { + var request, response, page, response_2; + return __generator(this, function (_a) { + switch (_a.label) { + case 0: + request = { + displayName: displayName + }; + _a.label = 1; + case 1: + _a.trys.push([1, 3, , 4]); + return [4 /*yield*/, this.service.hpm.post("/report/addPage", request, { uid: this.config.uniqueId }, this.iframe.contentWindow)]; + case 2: + response = _a.sent(); + page = response.body; + return [2 /*return*/, new page_1.Page(this, page.name, page.displayName, page.isActive, page.visibility, page.defaultSize, page.defaultDisplayOption)]; + case 3: + response_2 = _a.sent(); + throw response_2.body; + case 4: return [2 /*return*/]; + } + }); + }); + }; + /** + * 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("ReportSection145"); + * ``` + * + * @returns {Promise} + */ + Report.prototype.deletePage = function (pageName) { + return __awaiter(this, void 0, void 0, function () { + var response, response_3; + return __generator(this, function (_a) { + switch (_a.label) { + case 0: + _a.trys.push([0, 2, , 3]); + return [4 /*yield*/, this.service.hpm.delete("/report/pages/" + pageName, {}, { uid: this.config.uniqueId }, this.iframe.contentWindow)]; + case 1: + response = _a.sent(); + return [2 /*return*/, response.body]; + case 2: + response_3 = _a.sent(); + throw response_3.body; + case 3: return [2 /*return*/]; + } + }); + }); + }; + /** + * Rename a page from a report + * + * ```javascript + * // Rename a page from a report by changing displayName (pageName is different from the display name and can be acquired from the getPages API) + * report.renamePage("ReportSection145", "Sales"); + * ``` + * + * @returns {Promise} + */ + Report.prototype.renamePage = function (pageName, displayName) { + return __awaiter(this, void 0, void 0, function () { + var page, response, response_4; + return __generator(this, function (_a) { + switch (_a.label) { + case 0: + page = { + name: pageName, + displayName: displayName, + }; + _a.label = 1; + case 1: + _a.trys.push([1, 3, , 4]); + return [4 /*yield*/, this.service.hpm.put("/report/pages/" + pageName + "/name", page, { uid: this.config.uniqueId }, this.iframe.contentWindow)]; + case 2: + response = _a.sent(); + return [2 /*return*/, response.body]; + case 3: + response_4 = _a.sent(); + throw response_4.body; + case 4: return [2 /*return*/]; + } + }); + }); + }; + /** + * Gets filters that are applied at the report level. + * + * ```javascript + * // Get filters applied at report level + * report.getFilters() + * .then(filters => { + * ... + * }); + * ``` + * + * @returns {Promise} + */ + Report.prototype.getFilters = function () { + return __awaiter(this, void 0, void 0, function () { + var response, response_5; + return __generator(this, function (_a) { + switch (_a.label) { + case 0: + if (utils.isRDLEmbed(this.config.embedUrl)) { + return [2 /*return*/, Promise.reject(errors.APINotSupportedForRDLError)]; + } + _a.label = 1; + case 1: + _a.trys.push([1, 3, , 4]); + return [4 /*yield*/, this.service.hpm.get("/report/filters", { uid: this.config.uniqueId }, this.iframe.contentWindow)]; + case 2: + response = _a.sent(); + return [2 /*return*/, response.body]; + case 3: + response_5 = _a.sent(); + throw response_5.body; + case 4: return [2 /*return*/]; + } + }); + }); + }; + /** + * Gets the report ID from the first available location: options, attribute, embed url. + * + * @returns {string} + */ + Report.prototype.getId = function () { + var config = this.config; + var reportId = config.id || this.element.getAttribute(Report.reportIdAttribute) || Report.findIdFromEmbedUrl(config.embedUrl); + if (typeof reportId !== 'string' || reportId.length === 0) { + throw new Error("Report id is required, but it was not found. You must provide an id either as part of embed configuration or as attribute '" + Report.reportIdAttribute + "'."); + } + return reportId; + }; + /** + * Gets the list of pages within the report. + * + * ```javascript + * report.getPages() + * .then(pages => { + * ... + * }); + * ``` + * + * @returns {Promise} + */ + Report.prototype.getPages = function () { + return __awaiter(this, void 0, void 0, function () { + var response, response_6; + var _this = this; + return __generator(this, function (_a) { + switch (_a.label) { + case 0: + if (utils.isRDLEmbed(this.config.embedUrl)) { + return [2 /*return*/, Promise.reject(errors.APINotSupportedForRDLError)]; + } + _a.label = 1; + case 1: + _a.trys.push([1, 3, , 4]); + return [4 /*yield*/, this.service.hpm.get('/report/pages', { uid: this.config.uniqueId }, this.iframe.contentWindow)]; + case 2: + response = _a.sent(); + return [2 /*return*/, response.body + .map(function (page) { + return new page_1.Page(_this, page.name, page.displayName, page.isActive, page.visibility, page.defaultSize, page.defaultDisplayOption); + })]; + case 3: + response_6 = _a.sent(); + throw response_6.body; + case 4: return [2 /*return*/]; + } + }); + }); + }; + /** + * Creates an instance of a Page. + * + * Normally you would get Page objects by calling `report.getPages()`, but in the case + * that the page name is known and you want to perform an action on a page without having to retrieve it + * you can create it directly. + * + * Note: Because you are creating the page manually there is no guarantee that the page actually exists in the report, and subsequent requests could fail. + * + * @param {string} name + * @param {string} [displayName] + * @param {boolean} [isActive] + * @returns {Page} + * @hidden + */ + Report.prototype.page = function (name, displayName, isActive, visibility) { + return new page_1.Page(this, name, displayName, isActive, visibility); + }; + /** + * Prints the active page of the report by invoking `window.print()` on the embed iframe component. + */ + Report.prototype.print = function () { + return __awaiter(this, void 0, void 0, function () { + var response, response_7; + return __generator(this, function (_a) { + switch (_a.label) { + case 0: + if (utils.isRDLEmbed(this.config.embedUrl)) { + return [2 /*return*/, Promise.reject(errors.APINotSupportedForRDLError)]; + } + _a.label = 1; + case 1: + _a.trys.push([1, 3, , 4]); + return [4 /*yield*/, this.service.hpm.post('/report/print', null, { uid: this.config.uniqueId }, this.iframe.contentWindow)]; + case 2: + response = _a.sent(); + return [2 /*return*/, response.body]; + case 3: + response_7 = _a.sent(); + throw response_7.body; + case 4: return [2 /*return*/]; + } + }); + }); + }; + /** + * Removes all filters at the report level. + * + * ```javascript + * report.removeFilters(); + * ``` + * + * @returns {Promise>} + */ + Report.prototype.removeFilters = function () { + return __awaiter(this, void 0, void 0, function () { + return __generator(this, function (_a) { + switch (_a.label) { + case 0: + if (utils.isRDLEmbed(this.config.embedUrl)) { + return [2 /*return*/, Promise.reject(errors.APINotSupportedForRDLError)]; + } + return [4 /*yield*/, this.setFilters([])]; + case 1: return [2 /*return*/, _a.sent()]; + } + }); + }); + }; + /** + * Sets the active page of the report. + * + * ```javascript + * report.setPage("page2") + * .catch(error => { ... }); + * ``` + * + * @param {string} pageName + * @returns {Promise>} + */ + Report.prototype.setPage = function (pageName) { + return __awaiter(this, void 0, void 0, function () { + var page, response_8; + return __generator(this, function (_a) { + switch (_a.label) { + case 0: + if (utils.isRDLEmbed(this.config.embedUrl)) { + return [2 /*return*/, Promise.reject(errors.APINotSupportedForRDLError)]; + } + page = { + name: pageName, + displayName: null, + isActive: true + }; + _a.label = 1; + case 1: + _a.trys.push([1, 3, , 4]); + return [4 /*yield*/, this.service.hpm.put('/report/pages/active', page, { uid: this.config.uniqueId }, this.iframe.contentWindow)]; + case 2: return [2 /*return*/, _a.sent()]; + case 3: + response_8 = _a.sent(); + throw response_8.body; + case 4: return [2 /*return*/]; + } + }); + }); + }; + /** + * Sets filters at the report level. + * + * ```javascript + * const filters: [ + * ... + * ]; + * + * report.setFilters(filters) + * .catch(errors => { + * ... + * }); + * ``` + * + * @param {(models.IFilter[])} filters + * @returns {Promise>} + */ + Report.prototype.setFilters = function (filters) { + return __awaiter(this, void 0, void 0, function () { + var response_9; + return __generator(this, function (_a) { + switch (_a.label) { + case 0: + if (utils.isRDLEmbed(this.config.embedUrl)) { + return [2 /*return*/, Promise.reject(errors.APINotSupportedForRDLError)]; + } + _a.label = 1; + case 1: + _a.trys.push([1, 3, , 4]); + return [4 /*yield*/, this.service.hpm.put("/report/filters", filters, { uid: this.config.uniqueId }, this.iframe.contentWindow)]; + case 2: return [2 /*return*/, _a.sent()]; + case 3: + response_9 = _a.sent(); + throw response_9.body; + case 4: return [2 /*return*/]; + } + }); + }); + }; + /** + * Updates visibility settings for the filter pane and the page navigation pane. + * + * ```javascript + * const newSettings = { + * navContentPaneEnabled: true, + * filterPaneEnabled: false + * }; + * + * report.updateSettings(newSettings) + * .catch(error => { ... }); + * ``` + * + * @param {models.ISettings} settings + * @returns {Promise>} + */ + Report.prototype.updateSettings = function (settings) { + return __awaiter(this, void 0, void 0, function () { + var response_10; + return __generator(this, function (_a) { + switch (_a.label) { + case 0: + if (utils.isRDLEmbed(this.config.embedUrl) && settings.customLayout != null) { + return [2 /*return*/, Promise.reject(errors.APINotSupportedForRDLError)]; + } + _a.label = 1; + case 1: + _a.trys.push([1, 3, , 4]); + return [4 /*yield*/, this.service.hpm.patch('/report/settings', settings, { uid: this.config.uniqueId }, this.iframe.contentWindow)]; + case 2: return [2 /*return*/, _a.sent()]; + case 3: + response_10 = _a.sent(); + throw response_10.body; + case 4: return [2 /*return*/]; + } + }); + }); + }; + /** + * Validate load configuration. + * + * @hidden + */ + Report.prototype.validate = function (config) { + return models.validateReportLoad(config); + }; + /** + * Handle config changes. + * + * @returns {void} + */ + Report.prototype.configChanged = function (isBootstrap) { + var config = this.config; + if (this.isMobileSettings(config.settings)) + config.embedUrl = utils.addParamToUrl(config.embedUrl, "isMobile", "true"); + // Calculate settings from HTML element attributes if available. + var filterPaneEnabledAttribute = this.element.getAttribute(Report.filterPaneEnabledAttribute); + var navContentPaneEnabledAttribute = this.element.getAttribute(Report.navContentPaneEnabledAttribute); + var elementAttrSettings = { + filterPaneEnabled: (filterPaneEnabledAttribute == null) ? undefined : (filterPaneEnabledAttribute !== "false"), + navContentPaneEnabled: (navContentPaneEnabledAttribute == null) ? undefined : (navContentPaneEnabledAttribute !== "false") + }; + // Set the settings back into the config. + this.config.settings = utils.assign({}, elementAttrSettings, config.settings); + if (isBootstrap) { + return; + } + config.id = this.getId(); + }; + /** + * @hidden + * @returns {string} + */ + Report.prototype.getDefaultEmbedUrlEndpoint = function () { + return "reportEmbed"; + }; + /** + * Switch Report view mode. + * + * @returns {Promise} + */ + Report.prototype.switchMode = function (viewMode) { + return __awaiter(this, void 0, void 0, function () { + var newMode, url, response, response_11; + return __generator(this, function (_a) { + switch (_a.label) { + case 0: + if (typeof viewMode === "string") { + newMode = viewMode; + } + else { + newMode = this.viewModeToString(viewMode); + } + url = '/report/switchMode/' + newMode; + _a.label = 1; + case 1: + _a.trys.push([1, 3, , 4]); + return [4 /*yield*/, this.service.hpm.post(url, null, { uid: this.config.uniqueId }, this.iframe.contentWindow)]; + case 2: + response = _a.sent(); + return [2 /*return*/, response.body]; + case 3: + response_11 = _a.sent(); + throw response_11.body; + case 4: return [2 /*return*/]; + } + }); + }); + }; + /** + * Refreshes data sources for the report. + * + * ```javascript + * report.refresh(); + * ``` + */ + Report.prototype.refresh = function () { + return __awaiter(this, void 0, void 0, function () { + var response, response_12; + return __generator(this, function (_a) { + switch (_a.label) { + case 0: + _a.trys.push([0, 2, , 3]); + return [4 /*yield*/, this.service.hpm.post('/report/refresh', null, { uid: this.config.uniqueId }, this.iframe.contentWindow)]; + case 1: + response = _a.sent(); + return [2 /*return*/, response.body]; + case 2: + response_12 = _a.sent(); + throw response_12.body; + case 3: return [2 /*return*/]; + } + }); + }); + }; + /** + * checks if the report is saved. + * + * ```javascript + * report.isSaved() + * ``` + * + * @returns {Promise} + */ + Report.prototype.isSaved = function () { + return __awaiter(this, void 0, void 0, function () { + return __generator(this, function (_a) { + switch (_a.label) { + case 0: + if (utils.isRDLEmbed(this.config.embedUrl)) { + return [2 /*return*/, Promise.reject(errors.APINotSupportedForRDLError)]; + } + return [4 /*yield*/, utils.isSavedInternal(this.service.hpm, this.config.uniqueId, this.iframe.contentWindow)]; + case 1: return [2 /*return*/, _a.sent()]; + } + }); + }); + }; + /** + * Apply a theme to the report + * + * ```javascript + * report.applyTheme(theme); + * ``` + */ + Report.prototype.applyTheme = function (theme) { + return __awaiter(this, void 0, void 0, function () { + return __generator(this, function (_a) { + switch (_a.label) { + case 0: + if (utils.isRDLEmbed(this.config.embedUrl)) { + return [2 /*return*/, Promise.reject(errors.APINotSupportedForRDLError)]; + } + return [4 /*yield*/, this.applyThemeInternal(theme)]; + case 1: return [2 /*return*/, _a.sent()]; + } + }); + }); + }; + /** + * Reset and apply the default theme of the report + * + * ```javascript + * report.resetTheme(); + * ``` + */ + Report.prototype.resetTheme = function () { + return __awaiter(this, void 0, void 0, function () { + return __generator(this, function (_a) { + switch (_a.label) { + case 0: + if (utils.isRDLEmbed(this.config.embedUrl)) { + return [2 /*return*/, Promise.reject(errors.APINotSupportedForRDLError)]; + } + return [4 /*yield*/, this.applyThemeInternal({})]; + case 1: return [2 /*return*/, _a.sent()]; + } + }); + }); + }; + /** + * Reset user's filters, slicers, and other data view changes to the default state of the report + * + * ```javascript + * report.resetPersistentFilters(); + * ``` + */ + Report.prototype.resetPersistentFilters = function () { + return __awaiter(this, void 0, void 0, function () { + var response_13; + return __generator(this, function (_a) { + switch (_a.label) { + case 0: + _a.trys.push([0, 2, , 3]); + return [4 /*yield*/, this.service.hpm.delete("/report/userState", null, { uid: this.config.uniqueId }, this.iframe.contentWindow)]; + case 1: return [2 /*return*/, _a.sent()]; + case 2: + response_13 = _a.sent(); + throw response_13.body; + case 3: return [2 /*return*/]; + } + }); + }); + }; + /** + * Save user's filters, slicers, and other data view changes of the report + * + * ```javascript + * report.savePersistentFilters(); + * ``` + */ + Report.prototype.savePersistentFilters = function () { + return __awaiter(this, void 0, void 0, function () { + var response_14; + return __generator(this, function (_a) { + switch (_a.label) { + case 0: + _a.trys.push([0, 2, , 3]); + return [4 /*yield*/, this.service.hpm.post("/report/userState", null, { uid: this.config.uniqueId }, this.iframe.contentWindow)]; + case 1: return [2 /*return*/, _a.sent()]; + case 2: + response_14 = _a.sent(); + throw response_14.body; + case 3: return [2 /*return*/]; + } + }); + }); + }; + /** + * Returns if there are user's filters, slicers, or other data view changes applied on the report. + * If persistent filters is disable, returns false. + * + * ```javascript + * report.arePersistentFiltersApplied(); + * ``` + * + * @returns {Promise} + */ + Report.prototype.arePersistentFiltersApplied = function () { + return __awaiter(this, void 0, void 0, function () { + var response, response_15; + return __generator(this, function (_a) { + switch (_a.label) { + case 0: + _a.trys.push([0, 2, , 3]); + return [4 /*yield*/, this.service.hpm.get("/report/isUserStateApplied", { uid: this.config.uniqueId }, this.iframe.contentWindow)]; + case 1: + response = _a.sent(); + return [2 /*return*/, response.body]; + case 2: + response_15 = _a.sent(); + throw response_15.body; + case 3: return [2 /*return*/]; + } + }); + }); + }; + /** + * @hidden + */ + Report.prototype.applyThemeInternal = function (theme) { + return __awaiter(this, void 0, void 0, function () { + var response, response_16; + return __generator(this, function (_a) { + switch (_a.label) { + case 0: + _a.trys.push([0, 2, , 3]); + return [4 /*yield*/, this.service.hpm.put('/report/theme', theme, { uid: this.config.uniqueId }, this.iframe.contentWindow)]; + case 1: + response = _a.sent(); + return [2 /*return*/, response.body]; + case 2: + response_16 = _a.sent(); + throw response_16.body; + case 3: return [2 /*return*/]; + } + }); + }); + }; + /** + * @hidden + */ + Report.prototype.viewModeToString = function (viewMode) { + var mode; + switch (viewMode) { + case models.ViewMode.Edit: + mode = "edit"; + break; + case models.ViewMode.View: + mode = "view"; + break; + } + 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", "visualRendered", "visualClicked", "selectionChanged"]; + /** @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)); +exports.Report = Report; /***/ }), -/* 15 */ + +/***/ "./src/service.ts": +/*!************************!*\ + !*** ./src/service.ts ***! + \************************/ +/*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { - 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; } - d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); - }; - var models = __webpack_require__(5); - var report_1 = __webpack_require__(7); - var visualDescriptor_1 = __webpack_require__(9); - /** - * The Power BI Visual embed component - * - * @export - * @class Visual - */ - var Visual = (function (_super) { - __extends(Visual, _super); - /** - * Creates an instance of a Power BI Single Visual. - * - * @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); - } - Visual.prototype.load = function (phasedRender) { - var config = this.config; - if (!config.accessToken) { - // bootstrap flow. - return; - } - if (typeof config.pageName !== 'string' || config.pageName.length === 0) { - throw new Error("Page name is required when embedding a visual."); - } - if (typeof config.visualName !== 'string' || config.visualName.length === 0) { - throw new Error("Visual name is required, but it was not found. You must provide a visual name as part of embed configuration."); - } - // calculate custom layout settings and override config. - var width = config.width ? config.width : this.iframe.offsetWidth; - var height = config.height ? config.height : this.iframe.offsetHeight; - var pageSize = { - type: models.PageSizeType.Custom, - width: width, - height: height, - }; - var pagesLayout = {}; - pagesLayout[config.pageName] = { - defaultLayout: { - displayState: { - mode: models.VisualContainerDisplayMode.Hidden - } - }, - visualsLayout: {} - }; - pagesLayout[config.pageName].visualsLayout[config.visualName] = { - displayState: { - mode: models.VisualContainerDisplayMode.Visible - }, - x: 1, - y: 1, - z: 1, - width: pageSize.width, - height: pageSize.height - }; - config.settings = config.settings || {}; - config.settings.filterPaneEnabled = false; - config.settings.navContentPaneEnabled = false; - config.settings.layoutType = models.LayoutType.Custom; - config.settings.customLayout = { - displayOption: models.DisplayOption.FitToPage, - pageSize: pageSize, - pagesLayout: pagesLayout - }; - this.config = config; - return _super.prototype.load.call(this, phasedRender); - }; - /** - * Gets the list of pages within the report - not supported in visual embed. - * - * @returns {Promise} - */ - Visual.prototype.getPages = function () { - throw Visual.GetPagesNotSupportedError; - }; - /** - * Sets the active page of the report - not supported in visual embed. - * - * @param {string} pageName - * @returns {Promise} - */ - Visual.prototype.setPage = function (pageName) { - throw Visual.SetPageNotSupportedError; - }; - /** - * Gets the embedded visual descriptor object that contains the visual name, type, etc. - * - * ```javascript - * visual.getVisualDescriptor() - * .then(visualDetails => { ... }); - * ``` - * - * @returns {Promise} - */ - Visual.prototype.getVisualDescriptor = function () { - var _this = this; - var config = this.config; - return this.service.hpm.get("/report/pages/" + config.pageName + "/visuals", { uid: this.config.uniqueId }, this.iframe.contentWindow) - .then(function (response) { - // Find the embedded visual from visuals of this page - // TODO: Use the Array.find method when ES6 is available - var embeddedVisuals = response.body.filter(function (pageVisual) { return pageVisual.name === config.visualName; }); - if (embeddedVisuals.length === 0) { - var visualNotFoundError = { - message: "visualNotFound", - detailedMessage: "Visual not found" - }; - throw visualNotFoundError; - } - var embeddedVisual = embeddedVisuals[0]; - var currentPage = _this.page(config.pageName); - return new visualDescriptor_1.VisualDescriptor(currentPage, embeddedVisual.name, embeddedVisual.title, embeddedVisual.type, embeddedVisual.layout); - }, function (response) { - throw response.body; - }); - }; - /** - * Gets filters that are applied to the filter level. - * Default filter level is visual level. - * - * ```javascript - * visual.getFilters(filtersLevel) - * .then(filters => { - * ... - * }); - * ``` - * - * @returns {Promise} - */ - Visual.prototype.getFilters = function (filtersLevel) { - var url = this.getFiltersLevelUrl(filtersLevel); - return this.service.hpm.get(url, { uid: this.config.uniqueId }, this.iframe.contentWindow) - .then(function (response) { return response.body; }, function (response) { - throw response.body; - }); - }; - /** - * Sets filters at the filter level. - * Default filter level is visual level. - * - * ```javascript - * const filters: [ - * ... - * ]; - * - * visual.setFilters(filters, filtersLevel) - * .catch(errors => { - * ... - * }); - * ``` - * - * @param {(models.IFilter[])} filters - * @returns {Promise} - */ - Visual.prototype.setFilters = function (filters, filtersLevel) { - var url = this.getFiltersLevelUrl(filtersLevel); - return this.service.hpm.put(url, filters, { uid: this.config.uniqueId }, this.iframe.contentWindow) - .catch(function (response) { - throw response.body; - }); - }; - /** - * Removes all filters from the current filter level. - * Default filter level is visual level. - * - * ```javascript - * visual.removeFilters(filtersLevel); - * ``` - * - * @returns {Promise} - */ - Visual.prototype.removeFilters = function (filtersLevel) { - return this.setFilters([], filtersLevel); - }; - /** - * @hidden - */ - Visual.prototype.getFiltersLevelUrl = function (filtersLevel) { - var config = this.config; - switch (filtersLevel) { - case models.FiltersLevel.Report: - return "/report/filters"; - case models.FiltersLevel.Page: - return "/report/pages/" + config.pageName + "/filters"; - default: - 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)); - exports.Visual = Visual; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.Service = void 0; +var embed = __webpack_require__(/*! ./embed */ "./src/embed.ts"); +var report_1 = __webpack_require__(/*! ./report */ "./src/report.ts"); +var create_1 = __webpack_require__(/*! ./create */ "./src/create.ts"); +var dashboard_1 = __webpack_require__(/*! ./dashboard */ "./src/dashboard.ts"); +var tile_1 = __webpack_require__(/*! ./tile */ "./src/tile.ts"); +var page_1 = __webpack_require__(/*! ./page */ "./src/page.ts"); +var qna_1 = __webpack_require__(/*! ./qna */ "./src/qna.ts"); +var visual_1 = __webpack_require__(/*! ./visual */ "./src/visual.ts"); +var utils = __webpack_require__(/*! ./util */ "./src/util.ts"); +/** + * The Power BI Service embed component, which is the entry point to embed all other Power BI components into your application + * + * @export + * @class Service + * @implements {IService} + */ +var Service = /** @class */ (function () { + /** + * Creates an instance of a Power BI Service. + * + * @param {IHpmFactory} hpmFactory The http post message factory used in the postMessage communication layer + * @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; + if (config === void 0) { config = {}; } + this.wpmp = wpmpFactory(config.wpmpName, config.logMessages); + this.hpm = hpmFactory(this.wpmp, null, config.version, config.type); + this.router = routerFactory(this.wpmp); + this.uniqueSessionId = utils.generateUUID(); + /** + * Adds handler for report events. + */ + this.router.post("/reports/:uniqueId/events/:eventName", function (req, res) { + var event = { + type: 'report', + id: req.params.uniqueId, + name: req.params.eventName, + value: req.body + }; + _this.handleEvent(event); + }); + this.router.post("/reports/:uniqueId/pages/:pageName/events/:eventName", function (req, res) { + var event = { + type: 'report', + id: req.params.uniqueId, + name: req.params.eventName, + value: req.body + }; + _this.handleEvent(event); + }); + this.router.post("/reports/:uniqueId/pages/:pageName/visuals/:visualName/events/:eventName", function (req, res) { + var event = { + type: 'report', + id: req.params.uniqueId, + name: req.params.eventName, + value: req.body + }; + _this.handleEvent(event); + }); + this.router.post("/dashboards/:uniqueId/events/:eventName", function (req, res) { + var event = { + type: 'dashboard', + id: req.params.uniqueId, + name: req.params.eventName, + value: req.body + }; + _this.handleEvent(event); + }); + this.router.post("/tile/:uniqueId/events/:eventName", function (req, res) { + var event = { + type: 'tile', + id: req.params.uniqueId, + name: req.params.eventName, + value: req.body + }; + _this.handleEvent(event); + }); + /** + * Adds handler for Q&A events. + */ + this.router.post("/qna/:uniqueId/events/:eventName", function (req, res) { + var event = { + type: 'qna', + id: req.params.uniqueId, + name: req.params.eventName, + value: req.body + }; + _this.handleEvent(event); + }); + /** + * Adds handler for front load 'ready' message. + */ + this.router.post("/ready/:uniqueId", function (req, res) { + var event = { + type: 'report', + id: req.params.uniqueId, + name: 'ready', + value: req.body + }; + _this.handleEvent(event); + }); + this.embeds = []; + // TODO: Change when Object.assign is available. + this.config = utils.assign({}, Service.defaultConfig, config); + if (this.config.autoEmbedOnContentLoaded) { + this.enableAutoEmbed(); + } + } + /** + * Creates new report + * @param {HTMLElement} element + * @param {embed.IEmbedConfiguration} [config={}] + * @returns {embed.Embed} + */ + Service.prototype.createReport = function (element, config) { + config.type = 'create'; + var powerBiElement = element; + var component = new create_1.Create(this, powerBiElement, config); + powerBiElement.powerBiEmbed = component; + this.addOrOverwriteEmbed(component, element); + return component; + }; + /** + * TODO: Add a description here + * + * @param {HTMLElement} [container] + * @param {embed.IEmbedConfiguration} [config=undefined] + * @returns {embed.Embed[]} + * @hidden + */ + Service.prototype.init = function (container, config) { + var _this = this; + if (config === void 0) { config = undefined; } + container = (container && container instanceof HTMLElement) ? container : document.body; + var elements = Array.prototype.slice.call(container.querySelectorAll("[" + embed.Embed.embedUrlAttribute + "]")); + return elements.map(function (element) { return _this.embed(element, config); }); + }; + /** + * Given a configuration based on an HTML element, + * if the component has already been created and attached to the element, reuses the component instance and existing iframe, + * otherwise creates a new component instance. + * + * @param {HTMLElement} element + * @param {embed.IEmbedConfigurationBase} [config={}] + * @returns {embed.Embed} + */ + Service.prototype.embed = function (element, config) { + if (config === void 0) { config = {}; } + return this.embedInternal(element, config); + }; + /** + * Given a configuration based on an HTML element, + * if the component has already been created and attached to the element, reuses the component instance and existing iframe, + * otherwise creates a new component instance. + * This is used for the phased embedding API, once element is loaded successfully, one can call 'render' on it. + * + * @param {HTMLElement} element + * @param {embed.IEmbedConfigurationBase} [config={}] + * @returns {embed.Embed} + */ + Service.prototype.load = function (element, config) { + if (config === void 0) { config = {}; } + return this.embedInternal(element, config, /* phasedRender */ true, /* isBootstrap */ false); + }; + /** + * Given an HTML element and entityType, creates a new component instance, and bootstrap the iframe for embedding. + * + * @param {HTMLElement} element + * @param {embed.IBootstrapEmbedConfiguration} config: a bootstrap config which is an embed config without access token. + */ + Service.prototype.bootstrap = function (element, config) { + return this.embedInternal(element, config, /* phasedRender */ false, /* isBootstrap */ true); + }; + /** @hidden */ + Service.prototype.embedInternal = function (element, config, phasedRender, isBootstrap) { + if (config === void 0) { config = {}; } + var component; + var powerBiElement = element; + if (powerBiElement.powerBiEmbed) { + if (isBootstrap) { + throw new Error("Attempted to bootstrap element " + element.outerHTML + ", but the element is already a powerbi element."); + } + component = this.embedExisting(powerBiElement, config, phasedRender); + } + else { + component = this.embedNew(powerBiElement, config, phasedRender, isBootstrap); + } + return component; + }; + /** @hidden */ + Service.prototype.getNumberOfComponents = function () { + if (!this.embeds) { + return 0; + } + return this.embeds.length; + }; + /** @hidden */ + Service.prototype.getSdkSessionId = function () { + return this.uniqueSessionId; + }; + /** + * Given a configuration based on a Power BI element, saves the component instance that reference the element for later lookup. + * + * @private + * @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); + if (!componentType) { + throw new Error("Attempted to embed using config " + JSON.stringify(config) + " on element " + element.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 '" + embed.Embed.typeAttribute + "=\"" + report_1.Report.type.toLowerCase() + "\"'."); + } + // Saves the type as part of the configuration so that it can be referenced later at a known location. + config.type = componentType; + var Component = utils.find(function (component) { return componentType === component.type.toLowerCase(); }, Service.components); + if (!Component) { + throw new Error("Attempted to embed component of type: " + componentType + " but did not find any matching component. Please verify the type you specified is intended."); + } + var component = new Component(this, element, config, phasedRender, isBootstrap); + element.powerBiEmbed = component; + this.addOrOverwriteEmbed(component, element); + return component; + }; + /** + * Given an element that already contains an embed component, load with a new configuration. + * + * @private + * @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); + if (!component) { + throw new Error("Attempted to embed using config " + JSON.stringify(config) + " on element " + element.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."); + } + // TODO: Multiple embedding to the same iframe is not supported in QnA + if (config.type && config.type.toLowerCase() === "qna") { + return this.embedNew(element, config); + } + /** + * TODO: Dynamic embed type switching could be supported but there is work needed to prepare the service state and DOM cleanup. + * remove all event handlers from the DOM, then reset the element to initial state which removes iframe, and removes from list of embeds + * then we can call the embedNew function which would allow setting the proper embedUrl and construction of object based on the new type. + */ + if (typeof config.type === "string" && config.type !== component.config.type) { + /** + * When loading report after create we want to use existing Iframe to optimize load period + */ + if (config.type === "report" && component.config.type === "create") { + var report = new report_1.Report(this, element, config, /* phasedRender */ false, /* isBootstrap */ false, element.powerBiEmbed.iframe); + component.populateConfig(config, /* isBootstrap */ false); + report.load(); + element.powerBiEmbed = report; + this.addOrOverwriteEmbed(component, element); + return report; + } + 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(config) + " on element " + element.outerHTML + ", but the existing element contains an embed of type: " + this.config.type + " which does not match the new type: " + config.type); + } + component.populateConfig(config, /* isBootstrap */ false); + component.load(phasedRender); + return component; + }; + /** + * Adds an event handler for DOMContentLoaded, which searches the DOM for elements that have the 'powerbi-embed-url' attribute, + * and automatically attempts to embed a powerbi component based on information from other powerbi-* attributes. + * + * Note: Only runs if `config.autoEmbedOnContentLoaded` is true when the service is created. + * This handler is typically useful only for applications that are rendered on the server so that all required data is available when the handler is called. + * + * @hidden + */ + Service.prototype.enableAutoEmbed = function () { + var _this = this; + window.addEventListener('DOMContentLoaded', function (event) { return _this.init(document.body); }, false); + }; + /** + * Returns an instance of the component associated with the element. + * + * @param {HTMLElement} element + * @returns {(Report | Tile)} + */ + Service.prototype.get = function (element) { + var powerBiElement = element; + if (!powerBiElement.powerBiEmbed) { + throw new Error("You attempted to get an instance of powerbi component associated with element: " + element.outerHTML + " but there was no associated instance."); + } + return powerBiElement.powerBiEmbed; + }; + /** + * Finds an embed instance by the name or unique ID that is provided. + * + * @param {string} uniqueId + * @returns {(Report | Tile)} + * @hidden + */ + Service.prototype.find = function (uniqueId) { + return utils.find(function (x) { return x.config.uniqueId === uniqueId; }, this.embeds); + }; + /** + * Removes embed components whose container element is same as the given element + * + * @param {Embed} component + * @param {HTMLElement} element + * @returns {void} + * @hidden + */ + Service.prototype.addOrOverwriteEmbed = function (component, element) { + // remove embeds over the same div element. + this.embeds = this.embeds.filter(function (embed) { + return embed.element !== element; + }); + this.embeds.push(component); + }; + /** + * Given an HTML element that has a component embedded within it, removes the component from the list of embedded components, removes the association between the element and the component, and removes the iframe. + * + * @param {HTMLElement} element + * @returns {void} + */ + Service.prototype.reset = function (element) { + var powerBiElement = element; + if (!powerBiElement.powerBiEmbed) { + return; + } + /** Removes the element frontLoad listener if exists. */ + var embedElement = powerBiElement.powerBiEmbed; + if (embedElement.frontLoadHandler) { + embedElement.element.removeEventListener('ready', embedElement.frontLoadHandler, false); + } + /** Removes the component from an internal list of components. */ + utils.remove(function (x) { return x === powerBiElement.powerBiEmbed; }, this.embeds); + /** Deletes a property from the HTML element. */ + delete powerBiElement.powerBiEmbed; + /** Removes the iframe from the element. */ + var iframe = element.querySelector('iframe'); + if (iframe) { + if (iframe.remove !== undefined) { + iframe.remove(); + } + else { + /** Workaround for IE: unhandled rejection TypeError: object doesn't support propert or method 'remove' */ + iframe.parentElement.removeChild(iframe); + } + } + }; + /** + * handles tile events + * + * @param {IEvent} event + * @hidden + */ + Service.prototype.handleTileEvents = function (event) { + if (event.type === 'tile') { + this.handleEvent(event); + } + }; + /** + * Given an event object, finds the embed component with the matching type and ID, and invokes its handleEvent method with the event object. + * + * @private + * @param {IEvent} event + * @hidden + */ + Service.prototype.handleEvent = function (event) { + var embed = utils.find(function (embed) { + return (embed.config.uniqueId === event.id); + }, this.embeds); + if (embed) { + var value = event.value; + if (event.name === 'pageChanged') { + var pageKey = 'newPage'; + var page = value[pageKey]; + if (!page) { + throw new Error("Page model not found at 'event.value." + pageKey + "'."); + } + value[pageKey] = new page_1.Page(embed, page.name, page.displayName, true /* isActive */); + } + utils.raiseCustomEvent(embed.element, event.name, value); + } + }; + /** + * API for warm starting powerbi embedded endpoints. + * Use this API to preload Power BI Embedded in the background. + * + * @public + * @param {embed.IEmbedConfigurationBase} [config={}] + * @param {HTMLElement} [element=undefined] + */ + Service.prototype.preload = function (config, element) { + var iframeContent = document.createElement("iframe"); + iframeContent.setAttribute("style", "display:none;"); + iframeContent.setAttribute("src", config.embedUrl); + iframeContent.setAttribute("scrolling", "no"); + iframeContent.setAttribute("allowfullscreen", "false"); + var node = element; + if (!node) { + node = document.getElementsByTagName("body")[0]; + } + node.appendChild(iframeContent); + iframeContent.onload = function () { + utils.raiseCustomEvent(iframeContent, "preloaded", {}); + }; + return iframeContent; + }; + /** + * A list of components that this service can embed + */ + Service.components = [ + tile_1.Tile, + report_1.Report, + dashboard_1.Dashboard, + qna_1.Qna, + visual_1.Visual + ]; + /** + * The default configuration for the service + */ + Service.defaultConfig = { + autoEmbedOnContentLoaded: false, + onError: function () { + var args = []; + for (var _i = 0; _i < arguments.length; _i++) { + args[_i] = arguments[_i]; + } + return console.log(args[0], args.slice(1)); + } + }; + return Service; +}()); +exports.Service = Service; /***/ }), -/* 16 */ + +/***/ "./src/tile.ts": +/*!*********************!*\ + !*** ./src/tile.ts ***! + \*********************/ +/*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { - var config_1 = __webpack_require__(4); - var wpmp = __webpack_require__(17); - var hpm = __webpack_require__(18); - var router = __webpack_require__(19); - exports.hpmFactory = function (wpmp, defaultTargetWindow, sdkVersion, sdkType) { - if (sdkVersion === void 0) { sdkVersion = config_1.default.version; } - if (sdkType === void 0) { sdkType = config_1.default.type; } - return new hpm.HttpPostMessage(wpmp, { - 'x-sdk-type': sdkType, - 'x-sdk-version': sdkVersion - }, defaultTargetWindow); - }; - exports.wpmpFactory = function (name, logMessages, eventSourceOverrideWindow) { - return new wpmp.WindowPostMessageProxy({ - processTrackingProperties: { - addTrackingProperties: hpm.HttpPostMessage.addTrackingProperties, - getTrackingProperties: hpm.HttpPostMessage.getTrackingProperties, - }, - isErrorMessage: hpm.HttpPostMessage.isErrorMessage, - suppressWarnings: true, - name: name, - logMessages: logMessages, - eventSourceOverrideWindow: eventSourceOverrideWindow - }); - }; - exports.routerFactory = function (wpmp) { - return new router.Router(wpmp); - }; +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.Tile = void 0; +var models = __webpack_require__(/*! powerbi-models */ "./node_modules/powerbi-models/dist/models.js"); +var embed = __webpack_require__(/*! ./embed */ "./src/embed.ts"); +/** + * The Power BI tile embed component + * + * @export + * @class Tile + * @extends {Embed} + */ +var Tile = /** @class */ (function (_super) { + __extends(Tile, _super); + /** + * @hidden + */ + function Tile(service, element, baseConfig, phasedRender, isBootstrap) { + var _this = this; + var config = baseConfig; + _this = _super.call(this, service, element, config, /* iframe */ undefined, phasedRender, isBootstrap) || this; + _this.loadPath = "/tile/load"; + Array.prototype.push.apply(_this.allowedEvents, Tile.allowedEvents); + return _this; + } + /** + * The ID of the tile + * + * @returns {string} + */ + Tile.prototype.getId = function () { + var config = this.config; + var tileId = config.id || Tile.findIdFromEmbedUrl(this.config.embedUrl); + if (typeof tileId !== 'string' || tileId.length === 0) { + throw new Error("Tile id is required, but it was not found. You must provide an id either as part of embed configuration."); + } + return tileId; + }; + /** + * Validate load configuration. + */ + Tile.prototype.validate = function (config) { + var embedConfig = config; + return models.validateTileLoad(embedConfig); + }; + /** + * Handle config changes. + * + * @returns {void} + */ + Tile.prototype.configChanged = function (isBootstrap) { + if (isBootstrap) { + return; + } + // Populate tile id into config object. + this.config.id = this.getId(); + }; + /** + * @hidden + * @returns {string} + */ + Tile.prototype.getDefaultEmbedUrlEndpoint = function () { + return "tileEmbed"; + }; + /** + * Adds the ability to get tileId 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} + */ + Tile.findIdFromEmbedUrl = function (url) { + var tileIdRegEx = /tileId="?([^&]+)"?/; + var tileIdMatch = url.match(tileIdRegEx); + var tileId; + if (tileIdMatch) { + tileId = tileIdMatch[1]; + } + return tileId; + }; + /** @hidden */ + Tile.type = "Tile"; + /** @hidden */ + Tile.allowedEvents = ["tileClicked", "tileLoaded"]; + return Tile; +}(embed.Embed)); +exports.Tile = Tile; /***/ }), -/* 17 */ -/***/ (function(module, exports, __webpack_require__) { - /*! window-post-message-proxy v0.2.6 | (c) 2016 Microsoft Corporation MIT */ - (function webpackUniversalModuleDefinition(root, factory) { - if(true) - module.exports = factory(); - else if(typeof define === 'function' && define.amd) - define([], factory); - else if(typeof exports === 'object') - exports["window-post-message-proxy"] = factory(); - else - root["window-post-message-proxy"] = factory(); - })(this, function() { - return /******/ (function(modules) { // webpackBootstrap - /******/ // The module cache - /******/ var installedModules = {}; - /******/ - /******/ // The require function - /******/ function __webpack_require__(moduleId) { - /******/ - /******/ // Check if module is in cache - /******/ 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 - /******/ }; - /******/ - /******/ // Execute the module function - /******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); - /******/ - /******/ // Flag the module as loaded - /******/ module.loaded = true; - /******/ - /******/ // Return the exports of the module - /******/ return module.exports; - /******/ } - /******/ - /******/ - /******/ // expose the modules object (__webpack_modules__) - /******/ __webpack_require__.m = modules; - /******/ - /******/ // expose the module cache - /******/ __webpack_require__.c = installedModules; - /******/ - /******/ // __webpack_public_path__ - /******/ __webpack_require__.p = ""; - /******/ - /******/ // Load entry module and return exports - /******/ return __webpack_require__(0); - /******/ }) - /************************************************************************/ - /******/ ([ - /* 0 */ - /***/ (function(module, exports) { - - "use strict"; - var WindowPostMessageProxy = (function () { - function WindowPostMessageProxy(options) { - var _this = this; - if (options === void 0) { options = { - processTrackingProperties: { - addTrackingProperties: WindowPostMessageProxy.defaultAddTrackingProperties, - getTrackingProperties: WindowPostMessageProxy.defaultGetTrackingProperties - }, - isErrorMessage: WindowPostMessageProxy.defaultIsErrorMessage, - receiveWindow: window, - name: WindowPostMessageProxy.createRandomString() - }; } - this.pendingRequestPromises = {}; - // save options with defaults - this.addTrackingProperties = (options.processTrackingProperties && options.processTrackingProperties.addTrackingProperties) || WindowPostMessageProxy.defaultAddTrackingProperties; - this.getTrackingProperties = (options.processTrackingProperties && options.processTrackingProperties.getTrackingProperties) || WindowPostMessageProxy.defaultGetTrackingProperties; - this.isErrorMessage = options.isErrorMessage || WindowPostMessageProxy.defaultIsErrorMessage; - this.receiveWindow = options.receiveWindow || window; - this.name = options.name || WindowPostMessageProxy.createRandomString(); - this.logMessages = options.logMessages || false; - this.eventSourceOverrideWindow = options.eventSourceOverrideWindow; - this.suppressWarnings = options.suppressWarnings || false; - if (this.logMessages) { - console.log("new WindowPostMessageProxy created with name: " + this.name + " receiving on window: " + this.receiveWindow.document.title); - } - // Initialize - this.handlers = []; - this.windowMessageHandler = function (event) { return _this.onMessageReceived(event); }; - this.start(); - } - // Static - WindowPostMessageProxy.defaultAddTrackingProperties = function (message, trackingProperties) { - message[WindowPostMessageProxy.messagePropertyName] = trackingProperties; - return message; - }; - WindowPostMessageProxy.defaultGetTrackingProperties = function (message) { - return message[WindowPostMessageProxy.messagePropertyName]; - }; - WindowPostMessageProxy.defaultIsErrorMessage = function (message) { - return !!message.error; - }; - /** - * Utility to create a deferred object. - */ - // TODO: Look to use RSVP library instead of doing this manually. - // From what I searched RSVP would work better because it has .finally and .deferred; however, it doesn't have Typings information. - WindowPostMessageProxy.createDeferred = function () { - var deferred = { - resolve: null, - reject: null, - promise: null - }; - var promise = new Promise(function (resolve, reject) { - deferred.resolve = resolve; - deferred.reject = reject; - }); - deferred.promise = promise; - return deferred; - }; - /** - * Utility to generate random sequence of characters used as tracking id for promises. - */ - WindowPostMessageProxy.createRandomString = function () { - // window.msCrypto for IE - var cryptoObj = window.crypto || window.msCrypto; - var randomValueArray = new Uint32Array(1); - cryptoObj.getRandomValues(randomValueArray); - return randomValueArray[0].toString(36).substring(1); - }; - /** - * Adds handler. - * If the first handler whose test method returns true will handle the message and provide a response. - */ - WindowPostMessageProxy.prototype.addHandler = function (handler) { - this.handlers.push(handler); - }; - /** - * Removes handler. - * The reference must match the original object that was provided when adding the handler. - */ - WindowPostMessageProxy.prototype.removeHandler = function (handler) { - var handlerIndex = this.handlers.indexOf(handler); - if (handlerIndex === -1) { - throw new Error("You attempted to remove a handler but no matching handler was found."); - } - this.handlers.splice(handlerIndex, 1); - }; - /** - * Start listening to message events. - */ - WindowPostMessageProxy.prototype.start = function () { - this.receiveWindow.addEventListener('message', this.windowMessageHandler); - }; - /** - * Stops listening to message events. - */ - WindowPostMessageProxy.prototype.stop = function () { - this.receiveWindow.removeEventListener('message', this.windowMessageHandler); - }; - /** - * Post message to target window with tracking properties added and save deferred object referenced by tracking id. - */ - WindowPostMessageProxy.prototype.postMessage = function (targetWindow, message) { - // Add tracking properties to indicate message came from this proxy - var trackingProperties = { id: WindowPostMessageProxy.createRandomString() }; - this.addTrackingProperties(message, trackingProperties); - if (this.logMessages) { - console.log(this.name + " Posting message:"); - console.log(JSON.stringify(message, null, ' ')); - } - targetWindow.postMessage(message, "*"); - var deferred = WindowPostMessageProxy.createDeferred(); - this.pendingRequestPromises[trackingProperties.id] = deferred; - return deferred.promise; - }; - /** - * Send response message to target window. - * Response messages re-use tracking properties from a previous request message. - */ - WindowPostMessageProxy.prototype.sendResponse = function (targetWindow, message, trackingProperties) { - this.addTrackingProperties(message, trackingProperties); - if (this.logMessages) { - console.log(this.name + " Sending response:"); - console.log(JSON.stringify(message, null, ' ')); - } - targetWindow.postMessage(message, "*"); - }; - /** - * Message handler. - */ - WindowPostMessageProxy.prototype.onMessageReceived = function (event) { - var _this = this; - if (this.logMessages) { - console.log(this.name + " Received message:"); - console.log("type: " + event.type); - console.log(JSON.stringify(event.data, null, ' ')); - } - var sendingWindow = this.eventSourceOverrideWindow || event.source; - var message = event.data; - if (typeof message !== "object") { - if (!this.suppressWarnings) { - console.warn("Proxy(" + this.name + "): Received message that was not an object. Discarding message"); - } - return; - } - var trackingProperties; - try { - trackingProperties = this.getTrackingProperties(message); - } - catch (e) { - if (!this.suppressWarnings) { - console.warn("Proxy(" + this.name + "): Error occurred when attempting to get tracking properties from incoming message:", JSON.stringify(message, null, ' '), "Error: ", e); - } - } - var deferred; - if (trackingProperties) { - deferred = this.pendingRequestPromises[trackingProperties.id]; - } - // If message does not have a known ID, treat it as a request - // Otherwise, treat message as response - if (!deferred) { - var handled = this.handlers.some(function (handler) { - var canMessageBeHandled = false; - try { - canMessageBeHandled = handler.test(message); - } - catch (e) { - if (!_this.suppressWarnings) { - console.warn("Proxy(" + _this.name + "): Error occurred when handler was testing incoming message:", JSON.stringify(message, null, ' '), "Error: ", e); - } - } - if (canMessageBeHandled) { - var responseMessagePromise = void 0; - try { - responseMessagePromise = Promise.resolve(handler.handle(message)); - } - catch (e) { - if (!_this.suppressWarnings) { - console.warn("Proxy(" + _this.name + "): Error occurred when handler was processing incoming message:", JSON.stringify(message, null, ' '), "Error: ", e); - } - responseMessagePromise = Promise.resolve(); - } - responseMessagePromise - .then(function (responseMessage) { - if (!responseMessage) { - var warningMessage = "Handler for message: " + JSON.stringify(message, null, ' ') + " did not return a response message. The default response message will be returned instead."; - if (!_this.suppressWarnings) { - console.warn("Proxy(" + _this.name + "): " + warningMessage); - } - responseMessage = { - warning: warningMessage - }; - } - _this.sendResponse(sendingWindow, responseMessage, trackingProperties); - }); - return true; - } - }); - /** - * TODO: Consider returning an error message if nothing handled the message. - * In the case of the Report receiving messages all of them should be handled, - * however, in the case of the SDK receiving messages it's likely it won't register handlers - * for all events. Perhaps make this an option at construction time. - */ - if (!handled && !this.suppressWarnings) { - console.warn("Proxy(" + this.name + ") did not handle message. Handlers: " + this.handlers.length + " Message: " + JSON.stringify(message, null, '') + "."); - } - } - else { - /** - * If error message reject promise, - * Otherwise, resolve promise - */ - var isErrorMessage = true; - try { - isErrorMessage = this.isErrorMessage(message); - } - catch (e) { - console.warn("Proxy(" + this.name + ") Error occurred when trying to determine if message is consider an error response. Message: ", JSON.stringify(message, null, ''), 'Error: ', e); - } - if (isErrorMessage) { - deferred.reject(message); - } - else { - deferred.resolve(message); - } - // TODO: Move to .finally clause up where promise is created for better maitenance like original proxy code. - delete this.pendingRequestPromises[trackingProperties.id]; - } - }; - WindowPostMessageProxy.messagePropertyName = "windowPostMessageProxy"; - return WindowPostMessageProxy; - }()); - exports.WindowPostMessageProxy = WindowPostMessageProxy; - - - /***/ }) - /******/ ]) - }); - ; - //# sourceMappingURL=windowPostMessageProxy.js.map +/***/ "./src/util.ts": +/*!*********************!*\ + !*** ./src/util.ts ***! + \*********************/ +/*! no static exports found */ +/***/ (function(module, exports) { + +var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { + function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } + return new (P || (P = Promise))(function (resolve, reject) { + function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } + function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } + function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } + step((generator = generator.apply(thisArg, _arguments || [])).next()); + }); +}; +var __generator = (this && this.__generator) || function (thisArg, body) { + var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g; + return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g; + function verb(n) { return function (v) { return step([n, v]); }; } + function step(op) { + if (f) throw new TypeError("Generator is already executing."); + while (_) try { + if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t; + if (y = 0, t) op = [op[0] & 2, t.value]; + switch (op[0]) { + case 0: case 1: t = op; break; + case 4: _.label++; return { value: op[1], done: false }; + case 5: _.label++; y = op[1]; op = [0]; continue; + case 7: op = _.ops.pop(); _.trys.pop(); continue; + default: + if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; } + if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; } + if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; } + if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; } + if (t[2]) _.ops.pop(); + _.trys.pop(); continue; + } + op = body.call(thisArg, _); + } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; } + if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true }; + } +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.getTimeDiffInMilliseconds = exports.getRandomValue = exports.autoAuthInEmbedUrl = exports.isRDLEmbed = exports.isSavedInternal = exports.addParamToUrl = exports.generateUUID = exports.createRandomString = exports.assign = exports.remove = exports.find = exports.findIndex = exports.raiseCustomEvent = void 0; +/** + * Raises a custom event with event data on the specified HTML element. + * + * @export + * @param {HTMLElement} element + * @param {string} eventName + * @param {*} eventData + */ +function raiseCustomEvent(element, eventName, eventData) { + var customEvent; + if (typeof CustomEvent === 'function') { + customEvent = new CustomEvent(eventName, { + detail: eventData, + bubbles: true, + cancelable: true + }); + } + else { + customEvent = document.createEvent('CustomEvent'); + customEvent.initCustomEvent(eventName, true, true, eventData); + } + element.dispatchEvent(customEvent); +} +exports.raiseCustomEvent = raiseCustomEvent; +/** + * Finds the index of the first value in an array that matches the specified predicate. + * + * @export + * @template T + * @param {(x: T) => boolean} predicate + * @param {T[]} xs + * @returns {number} + */ +function findIndex(predicate, xs) { + if (!Array.isArray(xs)) { + throw new Error("You attempted to call find with second parameter that was not an array. You passed: " + xs); + } + var index; + xs.some(function (x, i) { + if (predicate(x)) { + index = i; + return true; + } + }); + return index; +} +exports.findIndex = findIndex; +/** + * Finds the first value in an array that matches the specified predicate. + * + * @export + * @template T + * @param {(x: T) => boolean} predicate + * @param {T[]} xs + * @returns {T} + */ +function find(predicate, xs) { + var index = findIndex(predicate, xs); + return xs[index]; +} +exports.find = find; +function remove(predicate, xs) { + var index = findIndex(predicate, xs); + xs.splice(index, 1); +} +exports.remove = remove; +// See: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/assign +// TODO: replace in favor of using polyfill +/** + * Copies the values of all enumerable properties from one or more source objects to a target object, and returns the target object. + * + * @export + * @param {any} args + * @returns + */ +function assign() { + var args = []; + for (var _i = 0; _i < arguments.length; _i++) { + args[_i] = arguments[_i]; + } + var target = args[0]; + 'use strict'; + if (target === undefined || target === null) { + throw new TypeError('Cannot convert undefined or null to object'); + } + var output = Object(target); + for (var index = 1; index < arguments.length; index++) { + var source = arguments[index]; + if (source !== undefined && source !== null) { + for (var nextKey in source) { + if (source.hasOwnProperty(nextKey)) { + output[nextKey] = source[nextKey]; + } + } + } + } + return output; +} +exports.assign = assign; +/** + * Generates a random 5 to 6 character string. + * + * @export + * @returns {string} + */ +function createRandomString() { + return getRandomValue().toString(36).substring(1); +} +exports.createRandomString = createRandomString; +/** + * Generates a 20 charachter uuid. + * + * @export + * @returns {string} + */ +function generateUUID() { + var d = new Date().getTime(); + if (typeof performance !== 'undefined' && typeof performance.now === 'function') { + d += performance.now(); + } + return 'xxxxxxxxxxxxxxxxxxxx'.replace(/[xy]/g, function (c) { + // Generate a random number, scaled from 0 to 15. + var r = (getRandomValue() % 16); + // Shift 4 times to divide by 16 + d >>= 4; + return r.toString(16); + }); +} +exports.generateUUID = generateUUID; +/** + * Adds a parameter to the given url + * + * @export + * @param {string} url + * @param {string} paramName + * @param {string} value + * @returns {string} + */ +function addParamToUrl(url, paramName, value) { + var parameterPrefix = url.indexOf('?') > 0 ? '&' : '?'; + url += parameterPrefix + paramName + '=' + value; + return url; +} +exports.addParamToUrl = addParamToUrl; +/** + * Checks if the report is saved. + * + * @export + * @param {HttpPostMessage} hpm + * @param {string} uid + * @param {Window} contentWindow + * @returns {Promise} + */ +function isSavedInternal(hpm, uid, contentWindow) { + return __awaiter(this, void 0, void 0, function () { + var response, response_1; + return __generator(this, function (_a) { + switch (_a.label) { + case 0: + _a.trys.push([0, 2, , 3]); + return [4 /*yield*/, hpm.get('/report/hasUnsavedChanges', { uid: uid }, contentWindow)]; + case 1: + response = _a.sent(); + return [2 /*return*/, !response.body]; + case 2: + response_1 = _a.sent(); + throw response_1.body; + case 3: return [2 /*return*/]; + } + }); + }); +} +exports.isSavedInternal = isSavedInternal; +/** + * Checks if the embed url is for RDL report. + * + * @export + * @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 + */ +function getRandomValue() { + // window.msCrypto for IE + var cryptoObj = window.crypto || window.msCrypto; + var randomValueArray = new Uint32Array(1); + cryptoObj.getRandomValues(randomValueArray); + return randomValueArray[0]; +} +exports.getRandomValue = getRandomValue; +/** + * Returns the time interval between two dates in milliseconds + * @export + * @param {Date} start + * @param {Date} end + * @returns {number} + */ +function getTimeDiffInMilliseconds(start, end) { + return Math.abs(start.getTime() - end.getTime()); +} +exports.getTimeDiffInMilliseconds = getTimeDiffInMilliseconds; + /***/ }), -/* 18 */ + +/***/ "./src/visual.ts": +/*!***********************!*\ + !*** ./src/visual.ts ***! + \***********************/ +/*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { - /*! http-post-message v0.2.3 | (c) 2016 Microsoft Corporation MIT */ - (function webpackUniversalModuleDefinition(root, factory) { - if(true) - module.exports = factory(); - else if(typeof define === 'function' && define.amd) - define([], factory); - else if(typeof exports === 'object') - exports["http-post-message"] = factory(); - else - root["http-post-message"] = factory(); - })(this, function() { - return /******/ (function(modules) { // webpackBootstrap - /******/ // The module cache - /******/ var installedModules = {}; - /******/ - /******/ // The require function - /******/ function __webpack_require__(moduleId) { - /******/ - /******/ // Check if module is in cache - /******/ 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 - /******/ }; - /******/ - /******/ // Execute the module function - /******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); - /******/ - /******/ // Flag the module as loaded - /******/ module.loaded = true; - /******/ - /******/ // Return the exports of the module - /******/ return module.exports; - /******/ } - /******/ - /******/ - /******/ // expose the modules object (__webpack_modules__) - /******/ __webpack_require__.m = modules; - /******/ - /******/ // expose the module cache - /******/ __webpack_require__.c = installedModules; - /******/ - /******/ // __webpack_public_path__ - /******/ __webpack_require__.p = ""; - /******/ - /******/ // Load entry module and return exports - /******/ return __webpack_require__(0); - /******/ }) - /************************************************************************/ - /******/ ([ - /* 0 */ - /***/ function(module, exports) { - - "use strict"; - var HttpPostMessage = (function () { - function HttpPostMessage(windowPostMessageProxy, defaultHeaders, defaultTargetWindow) { - if (defaultHeaders === void 0) { defaultHeaders = {}; } - this.defaultHeaders = defaultHeaders; - this.defaultTargetWindow = defaultTargetWindow; - this.windowPostMessageProxy = windowPostMessageProxy; - } - // TODO: See if it's possible to share tracking properties interface? - // The responsibility of knowing how to configure windowPostMessageProxy for http should - // live in this http class, but the configuration would need ITrackingProperties - // interface which lives in WindowPostMessageProxy. Use type as workaround - HttpPostMessage.addTrackingProperties = function (message, trackingProperties) { - message.headers = message.headers || {}; - if (trackingProperties && trackingProperties.id) { - message.headers.id = trackingProperties.id; - } - return message; - }; - HttpPostMessage.getTrackingProperties = function (message) { - return { - id: message.headers && message.headers.id - }; - }; - HttpPostMessage.isErrorMessage = function (message) { - if (typeof (message && message.statusCode) !== 'number') { - return false; - } - return !(200 <= message.statusCode && message.statusCode < 300); - }; - HttpPostMessage.prototype.get = function (url, headers, targetWindow) { - if (headers === void 0) { headers = {}; } - if (targetWindow === void 0) { targetWindow = this.defaultTargetWindow; } - return this.send({ - method: "GET", - url: url, - headers: headers - }, targetWindow); - }; - HttpPostMessage.prototype.post = function (url, body, headers, targetWindow) { - if (headers === void 0) { headers = {}; } - if (targetWindow === void 0) { targetWindow = this.defaultTargetWindow; } - return this.send({ - method: "POST", - url: url, - headers: headers, - body: body - }, targetWindow); - }; - HttpPostMessage.prototype.put = function (url, body, headers, targetWindow) { - if (headers === void 0) { headers = {}; } - if (targetWindow === void 0) { targetWindow = this.defaultTargetWindow; } - return this.send({ - method: "PUT", - url: url, - headers: headers, - body: body - }, targetWindow); - }; - HttpPostMessage.prototype.patch = function (url, body, headers, targetWindow) { - if (headers === void 0) { headers = {}; } - if (targetWindow === void 0) { targetWindow = this.defaultTargetWindow; } - return this.send({ - method: "PATCH", - url: url, - headers: headers, - body: body - }, targetWindow); - }; - HttpPostMessage.prototype.delete = function (url, body, headers, targetWindow) { - if (body === void 0) { body = null; } - if (headers === void 0) { headers = {}; } - if (targetWindow === void 0) { targetWindow = this.defaultTargetWindow; } - return this.send({ - method: "DELETE", - url: url, - headers: headers, - body: body - }, targetWindow); - }; - HttpPostMessage.prototype.send = function (request, targetWindow) { - if (targetWindow === void 0) { targetWindow = this.defaultTargetWindow; } - request.headers = this.assign({}, this.defaultHeaders, request.headers); - if (!targetWindow) { - throw new Error("target window is not provided. You must either provide the target window explicitly as argument to request, or specify default target window when constructing instance of this class."); - } - return this.windowPostMessageProxy.postMessage(targetWindow, request); - }; - /** - * Object.assign() polyfill - * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/assign - */ - HttpPostMessage.prototype.assign = function (target) { - var sources = []; - for (var _i = 1; _i < arguments.length; _i++) { - sources[_i - 1] = arguments[_i]; - } - if (target === undefined || target === null) { - throw new TypeError('Cannot convert undefined or null to object'); - } - var output = Object(target); - sources.forEach(function (source) { - if (source !== undefined && source !== null) { - for (var nextKey in source) { - if (Object.prototype.hasOwnProperty.call(source, nextKey)) { - output[nextKey] = source[nextKey]; - } - } - } - }); - return output; - }; - return HttpPostMessage; - }()); - exports.HttpPostMessage = HttpPostMessage; - - - /***/ } - /******/ ]) - }); - ; - //# sourceMappingURL=httpPostMessage.js.map +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 __()); + }; +})(); +var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { + function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } + return new (P || (P = Promise))(function (resolve, reject) { + function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } + function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } + function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } + step((generator = generator.apply(thisArg, _arguments || [])).next()); + }); +}; +var __generator = (this && this.__generator) || function (thisArg, body) { + var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g; + return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g; + function verb(n) { return function (v) { return step([n, v]); }; } + function step(op) { + if (f) throw new TypeError("Generator is already executing."); + while (_) try { + if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t; + if (y = 0, t) op = [op[0] & 2, t.value]; + switch (op[0]) { + case 0: case 1: t = op; break; + case 4: _.label++; return { value: op[1], done: false }; + case 5: _.label++; y = op[1]; op = [0]; continue; + case 7: op = _.ops.pop(); _.trys.pop(); continue; + default: + if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; } + if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; } + if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; } + if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; } + if (t[2]) _.ops.pop(); + _.trys.pop(); continue; + } + op = body.call(thisArg, _); + } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; } + if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true }; + } +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.Visual = void 0; +var models = __webpack_require__(/*! powerbi-models */ "./node_modules/powerbi-models/dist/models.js"); +var report_1 = __webpack_require__(/*! ./report */ "./src/report.ts"); +var visualDescriptor_1 = __webpack_require__(/*! ./visualDescriptor */ "./src/visualDescriptor.ts"); +/** + * The Power BI Visual embed component + * + * @export + * @class Visual + */ +var Visual = /** @class */ (function (_super) { + __extends(Visual, _super); + /** + * Creates an instance of a Power BI Single Visual. + * + * @param {service.Service} service + * @param {HTMLElement} element + * @param {embed.IEmbedConfiguration} config + * @hidden + */ + function Visual(service, element, baseConfig, phasedRender, isBootstrap, iframe) { + return _super.call(this, service, element, baseConfig, phasedRender, isBootstrap, iframe) || this; + } + Visual.prototype.load = function (phasedRender) { + var config = this.config; + if (!config.accessToken) { + // bootstrap flow. + return; + } + if (typeof config.pageName !== 'string' || config.pageName.length === 0) { + throw new Error("Page name is required when embedding a visual."); + } + if (typeof config.visualName !== 'string' || config.visualName.length === 0) { + throw new Error("Visual name is required, but it was not found. You must provide a visual name as part of embed configuration."); + } + // calculate custom layout settings and override config. + var width = config.width ? config.width : this.iframe.offsetWidth; + var height = config.height ? config.height : this.iframe.offsetHeight; + var pageSize = { + type: models.PageSizeType.Custom, + width: width, + height: height, + }; + var pagesLayout = {}; + pagesLayout[config.pageName] = { + defaultLayout: { + displayState: { + mode: models.VisualContainerDisplayMode.Hidden + } + }, + visualsLayout: {} + }; + pagesLayout[config.pageName].visualsLayout[config.visualName] = { + displayState: { + mode: models.VisualContainerDisplayMode.Visible + }, + x: 1, + y: 1, + z: 1, + width: pageSize.width, + height: pageSize.height + }; + config.settings = config.settings || {}; + config.settings.filterPaneEnabled = false; + config.settings.navContentPaneEnabled = false; + config.settings.layoutType = models.LayoutType.Custom; + config.settings.customLayout = { + displayOption: models.DisplayOption.FitToPage, + pageSize: pageSize, + pagesLayout: pagesLayout + }; + this.config = config; + return _super.prototype.load.call(this, phasedRender); + }; + /** + * Gets the list of pages within the report - not supported in visual embed. + * + * @returns {Promise} + */ + Visual.prototype.getPages = function () { + throw Visual.GetPagesNotSupportedError; + }; + /** + * Sets the active page of the report - not supported in visual embed. + * + * @param {string} pageName + * @returns {Promise>} + */ + Visual.prototype.setPage = function (pageName) { + throw Visual.SetPageNotSupportedError; + }; + /** + * Gets the embedded visual descriptor object that contains the visual name, type, etc. + * + * ```javascript + * visual.getVisualDescriptor() + * .then(visualDetails => { ... }); + * ``` + * + * @returns {Promise} + */ + Visual.prototype.getVisualDescriptor = function () { + return __awaiter(this, void 0, void 0, function () { + var config, response, embeddedVisuals, visualNotFoundError, embeddedVisual, currentPage, response_1; + return __generator(this, function (_a) { + switch (_a.label) { + case 0: + config = this.config; + _a.label = 1; + case 1: + _a.trys.push([1, 3, , 4]); + return [4 /*yield*/, this.service.hpm.get("/report/pages/" + config.pageName + "/visuals", { uid: this.config.uniqueId }, this.iframe.contentWindow)]; + case 2: + response = _a.sent(); + embeddedVisuals = response.body.filter(function (pageVisual) { return pageVisual.name === config.visualName; }); + if (embeddedVisuals.length === 0) { + visualNotFoundError = { + message: "visualNotFound", + detailedMessage: "Visual not found" + }; + throw visualNotFoundError; + } + embeddedVisual = embeddedVisuals[0]; + currentPage = this.page(config.pageName); + return [2 /*return*/, new visualDescriptor_1.VisualDescriptor(currentPage, embeddedVisual.name, embeddedVisual.title, embeddedVisual.type, embeddedVisual.layout)]; + case 3: + response_1 = _a.sent(); + throw response_1.body; + case 4: return [2 /*return*/]; + } + }); + }); + }; + /** + * Gets filters that are applied to the filter level. + * Default filter level is visual level. + * + * ```javascript + * visual.getFilters(filtersLevel) + * .then(filters => { + * ... + * }); + * ``` + * + * @returns {Promise} + */ + Visual.prototype.getFilters = function (filtersLevel) { + return __awaiter(this, void 0, void 0, function () { + var url, response, response_2; + return __generator(this, function (_a) { + switch (_a.label) { + case 0: + url = this.getFiltersLevelUrl(filtersLevel); + _a.label = 1; + case 1: + _a.trys.push([1, 3, , 4]); + return [4 /*yield*/, this.service.hpm.get(url, { uid: this.config.uniqueId }, this.iframe.contentWindow)]; + case 2: + response = _a.sent(); + return [2 /*return*/, response.body]; + case 3: + response_2 = _a.sent(); + throw response_2.body; + case 4: return [2 /*return*/]; + } + }); + }); + }; + /** + * Sets filters at the filter level. + * Default filter level is visual level. + * + * ```javascript + * const filters: [ + * ... + * ]; + * + * visual.setFilters(filters, filtersLevel) + * .catch(errors => { + * ... + * }); + * ``` + * + * @param {(models.IFilter[])} filters + * @returns {Promise>} + */ + Visual.prototype.setFilters = function (filters, filtersLevel) { + return __awaiter(this, void 0, void 0, function () { + var url, response_3; + return __generator(this, function (_a) { + switch (_a.label) { + case 0: + url = this.getFiltersLevelUrl(filtersLevel); + _a.label = 1; + case 1: + _a.trys.push([1, 3, , 4]); + return [4 /*yield*/, this.service.hpm.put(url, filters, { uid: this.config.uniqueId }, this.iframe.contentWindow)]; + case 2: return [2 /*return*/, _a.sent()]; + case 3: + response_3 = _a.sent(); + throw response_3.body; + case 4: return [2 /*return*/]; + } + }); + }); + }; + /** + * Removes all filters from the current filter level. + * Default filter level is visual level. + * + * ```javascript + * visual.removeFilters(filtersLevel); + * ``` + * + * @returns {Promise>} + */ + Visual.prototype.removeFilters = function (filtersLevel) { + return __awaiter(this, void 0, void 0, function () { + return __generator(this, function (_a) { + switch (_a.label) { + case 0: return [4 /*yield*/, this.setFilters([], filtersLevel)]; + case 1: return [2 /*return*/, _a.sent()]; + } + }); + }); + }; + /** + * @hidden + */ + Visual.prototype.getFiltersLevelUrl = function (filtersLevel) { + var config = this.config; + switch (filtersLevel) { + case models.FiltersLevel.Report: + return "/report/filters"; + case models.FiltersLevel.Page: + return "/report/pages/" + config.pageName + "/filters"; + default: + 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)); +exports.Visual = Visual; + /***/ }), -/* 19 */ -/***/ (function(module, exports, __webpack_require__) { - /*! powerbi-router v0.1.5 | (c) 2016 Microsoft Corporation MIT */ - (function webpackUniversalModuleDefinition(root, factory) { - if(true) - module.exports = factory(); - else if(typeof define === 'function' && define.amd) - define([], factory); - else if(typeof exports === 'object') - exports["powerbi-router"] = factory(); - else - root["powerbi-router"] = factory(); - })(this, function() { - return /******/ (function(modules) { // webpackBootstrap - /******/ // The module cache - /******/ var installedModules = {}; - /******/ - /******/ // The require function - /******/ function __webpack_require__(moduleId) { - /******/ - /******/ // Check if module is in cache - /******/ 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 - /******/ }; - /******/ - /******/ // Execute the module function - /******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); - /******/ - /******/ // Flag the module as loaded - /******/ module.loaded = true; - /******/ - /******/ // Return the exports of the module - /******/ return module.exports; - /******/ } - /******/ - /******/ - /******/ // expose the modules object (__webpack_modules__) - /******/ __webpack_require__.m = modules; - /******/ - /******/ // expose the module cache - /******/ __webpack_require__.c = installedModules; - /******/ - /******/ // __webpack_public_path__ - /******/ __webpack_require__.p = ""; - /******/ - /******/ // Load entry module and return exports - /******/ return __webpack_require__(0); - /******/ }) - /************************************************************************/ - /******/ ([ - /* 0 */ - /***/ function(module, exports, __webpack_require__) { - - "use strict"; - var RouteRecognizer = __webpack_require__(1); - var Router = (function () { - function Router(handlers) { - this.handlers = handlers; - /** - * TODO: look at generating the router dynamically based on list of supported http methods - * instead of hardcoding the creation of these and the methods. - */ - this.getRouteRecognizer = new RouteRecognizer(); - this.patchRouteRecognizer = new RouteRecognizer(); - this.postRouteRecognizer = new RouteRecognizer(); - this.putRouteRecognizer = new RouteRecognizer(); - this.deleteRouteRecognizer = new RouteRecognizer(); - } - Router.prototype.get = function (url, handler) { - this.registerHandler(this.getRouteRecognizer, "GET", url, handler); - return this; - }; - Router.prototype.patch = function (url, handler) { - this.registerHandler(this.patchRouteRecognizer, "PATCH", url, handler); - return this; - }; - Router.prototype.post = function (url, handler) { - this.registerHandler(this.postRouteRecognizer, "POST", url, handler); - return this; - }; - Router.prototype.put = function (url, handler) { - this.registerHandler(this.putRouteRecognizer, "PUT", url, handler); - return this; - }; - Router.prototype.delete = function (url, handler) { - this.registerHandler(this.deleteRouteRecognizer, "DELETE", url, handler); - return this; - }; - /** - * TODO: This method could use some refactoring. There is conflict of interest between keeping clean separation of test and handle method - * Test method only returns boolean indicating if request can be handled, and handle method has opportunity to modify response and return promise of it. - * In the case of the router with route-recognizer where handlers are associated with routes, this already guarantees that only one handler is selected and makes the test method feel complicated - * Will leave as is an investigate cleaner ways at later time. - */ - Router.prototype.registerHandler = function (routeRecognizer, method, url, handler) { - var routeRecognizerHandler = function (request) { - var response = new Response(); - return Promise.resolve(handler(request, response)) - .then(function (x) { return response; }); - }; - routeRecognizer.add([ - { path: url, handler: routeRecognizerHandler } - ]); - var internalHandler = { - test: function (request) { - if (request.method !== method) { - return false; - } - var matchingRoutes = routeRecognizer.recognize(request.url); - if (matchingRoutes === undefined) { - return false; - } - /** - * Copy parameters from recognized route to the request so they can be used within the handler function - * This isn't ideal because it is side affect which modifies the request instead of strictly testing for true or false - * but I don't see a better place to put this. If we move it between the call to test and the handle it becomes part of the window post message proxy - * even though it's responsibility is related to routing. - */ - var route = matchingRoutes[0]; - request.params = route.params; - request.queryParams = matchingRoutes.queryParams; - request.handler = route.handler; - return true; - }, - handle: function (request) { - return request.handler(request); - } - }; - this.handlers.addHandler(internalHandler); - }; - return Router; - }()); - exports.Router = Router; - var Response = (function () { - function Response() { - this.statusCode = 200; - this.headers = {}; - this.body = null; - } - Response.prototype.send = function (statusCode, body) { - this.statusCode = statusCode; - this.body = body; - }; - return Response; - }()); - exports.Response = Response; - - - /***/ }, - /* 1 */ - /***/ function(module, exports, __webpack_require__) { - - var __WEBPACK_AMD_DEFINE_RESULT__;/* WEBPACK VAR INJECTION */(function(module) {(function() { - "use strict"; - function $$route$recognizer$dsl$$Target(path, matcher, delegate) { - this.path = path; - this.matcher = matcher; - this.delegate = delegate; - } - - $$route$recognizer$dsl$$Target.prototype = { - to: function(target, callback) { - var delegate = this.delegate; - - if (delegate && delegate.willAddRoute) { - target = delegate.willAddRoute(this.matcher.target, target); - } - - this.matcher.add(this.path, target); - - if (callback) { - if (callback.length === 0) { throw new Error("You must have an argument in the function passed to `to`"); } - this.matcher.addChild(this.path, target, callback, this.delegate); - } - return this; - } - }; - - function $$route$recognizer$dsl$$Matcher(target) { - this.routes = {}; - this.children = {}; - this.target = target; - } - - $$route$recognizer$dsl$$Matcher.prototype = { - add: function(path, handler) { - this.routes[path] = handler; - }, - - addChild: function(path, target, callback, delegate) { - var matcher = new $$route$recognizer$dsl$$Matcher(target); - this.children[path] = matcher; - - var match = $$route$recognizer$dsl$$generateMatch(path, matcher, delegate); - - if (delegate && delegate.contextEntered) { - delegate.contextEntered(target, match); - } - - callback(match); - } - }; - - function $$route$recognizer$dsl$$generateMatch(startingPath, matcher, delegate) { - return function(path, nestedCallback) { - var fullPath = startingPath + path; - - if (nestedCallback) { - nestedCallback($$route$recognizer$dsl$$generateMatch(fullPath, matcher, delegate)); - } else { - return new $$route$recognizer$dsl$$Target(startingPath + path, matcher, delegate); - } - }; - } - - function $$route$recognizer$dsl$$addRoute(routeArray, path, handler) { - var len = 0; - for (var i=0; i z`. For instance, "199" is smaller - // then "200", even though "y" and "z" (which are both 9) are larger than "0" (the value - // of (`b` and `c`). This is because the leading symbol, "2", is larger than the other - // leading symbol, "1". - // The rule is that symbols to the left carry more weight than symbols to the right - // when a number is written out as a string. In the above strings, the leading digit - // represents how many 100's are in the number, and it carries more weight than the middle - // number which represents how many 10's are in the number. - // This system of number magnitude works well for route specificity, too. A route written as - // `a/b/c` will be more specific than `x/y/z` as long as `a` is more specific than - // `x`, irrespective of the other parts. - // Because of this similarity, we assign each type of segment a number value written as a - // string. We can find the specificity of compound routes by concatenating these strings - // together, from left to right. After we have looped through all of the segments, - // we convert the string to a number. - specificity.val = ''; - - for (var i=0; i 2 && key.slice(keyLength -2) === '[]') { - isArray = true; - key = key.slice(0, keyLength - 2); - if(!queryParams[key]) { - queryParams[key] = []; - } - } - value = pair[1] ? $$route$recognizer$$decodeQueryParamPart(pair[1]) : ''; - } - if (isArray) { - queryParams[key].push(value); - } else { - queryParams[key] = value; - } - } - return queryParams; - }, - - recognize: function(path) { - var states = [ this.rootState ], - pathLen, i, l, queryStart, queryParams = {}, - isSlashDropped = false; - - queryStart = path.indexOf('?'); - if (queryStart !== -1) { - var queryString = path.substr(queryStart + 1, path.length); - path = path.substr(0, queryStart); - queryParams = this.parseQueryString(queryString); - } - - path = decodeURI(path); - - if (path.charAt(0) !== "/") { path = "/" + path; } - - pathLen = path.length; - if (pathLen > 1 && path.charAt(pathLen - 1) === "/") { - path = path.substr(0, pathLen - 1); - isSlashDropped = true; - } - - for (i=0; i 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; } + if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; } + if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; } + if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; } + if (t[2]) _.ops.pop(); + _.trys.pop(); continue; + } + op = body.call(thisArg, _); + } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; } + if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true }; + } +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.VisualDescriptor = void 0; +/** + * A Power BI visual within a page + * + * @export + * @class VisualDescriptor + * @implements {IVisualNode} + */ +var VisualDescriptor = /** @class */ (function () { + /** + * @hidden + */ + function VisualDescriptor(page, name, title, type, layout) { + this.name = name; + this.title = title; + this.type = type; + this.layout = layout; + this.page = page; + } + /** + * Gets all visual level filters of the current visual. + * + * ```javascript + * visual.getFilters() + * .then(filters => { ... }); + * ``` + * + * @returns {(Promise)} + */ + VisualDescriptor.prototype.getFilters = function () { + return __awaiter(this, void 0, void 0, function () { + var response, response_1; + return __generator(this, function (_a) { + switch (_a.label) { + case 0: + _a.trys.push([0, 2, , 3]); + return [4 /*yield*/, this.page.report.service.hpm.get("/report/pages/" + this.page.name + "/visuals/" + this.name + "/filters", { uid: this.page.report.config.uniqueId }, this.page.report.iframe.contentWindow)]; + case 1: + response = _a.sent(); + return [2 /*return*/, response.body]; + case 2: + response_1 = _a.sent(); + throw response_1.body; + case 3: return [2 /*return*/]; + } + }); + }); + }; + /** + * Removes all filters from the current visual. + * + * ```javascript + * visual.removeFilters(); + * ``` + * + * @returns {Promise>} + */ + VisualDescriptor.prototype.removeFilters = function () { + return __awaiter(this, void 0, void 0, function () { + return __generator(this, function (_a) { + switch (_a.label) { + case 0: return [4 /*yield*/, this.setFilters([])]; + case 1: return [2 /*return*/, _a.sent()]; + } + }); + }); + }; + /** + * Sets the filters on the current visual to 'filters'. + * + * ```javascript + * visual.setFilters(filters); + * .catch(errors => { ... }); + * ``` + * + * @param {(models.IFilter[])} filters + * @returns {Promise>} + */ + VisualDescriptor.prototype.setFilters = function (filters) { + return __awaiter(this, void 0, void 0, function () { + var response_2; + return __generator(this, function (_a) { + switch (_a.label) { + case 0: + _a.trys.push([0, 2, , 3]); + return [4 /*yield*/, this.page.report.service.hpm.put("/report/pages/" + this.page.name + "/visuals/" + this.name + "/filters", filters, { uid: this.page.report.config.uniqueId }, this.page.report.iframe.contentWindow)]; + case 1: return [2 /*return*/, _a.sent()]; + case 2: + response_2 = _a.sent(); + throw response_2.body; + case 3: return [2 /*return*/]; + } + }); + }); + }; + /** + * Exports Visual data. + * Can export up to 30K rows. + * @param rows: Optional. Default value is 30K, maximum value is 30K as well. + * @param exportDataType: Optional. Default is models.ExportDataType.Summarized. + * ```javascript + * visual.exportData() + * .then(data => { ... }); + * ``` + * + * @returns {(Promise)} + */ + VisualDescriptor.prototype.exportData = function (exportDataType, rows) { + return __awaiter(this, void 0, void 0, function () { + var exportDataRequestBody, response, response_3; + return __generator(this, function (_a) { + switch (_a.label) { + case 0: + exportDataRequestBody = { + rows: rows, + exportDataType: exportDataType + }; + _a.label = 1; + case 1: + _a.trys.push([1, 3, , 4]); + return [4 /*yield*/, this.page.report.service.hpm.post("/report/pages/" + this.page.name + "/visuals/" + this.name + "/exportData", exportDataRequestBody, { uid: this.page.report.config.uniqueId }, this.page.report.iframe.contentWindow)]; + case 2: + response = _a.sent(); + return [2 /*return*/, response.body]; + case 3: + response_3 = _a.sent(); + throw response_3.body; + case 4: return [2 /*return*/]; + } + }); + }); + }; + /** + * Set slicer state. + * Works only for visuals of type slicer. + * @param state: A new state which contains the slicer filters. + * ```javascript + * visual.setSlicerState() + * .then(() => { ... }); + * ``` + */ + VisualDescriptor.prototype.setSlicerState = function (state) { + return __awaiter(this, void 0, void 0, function () { + var response_4; + return __generator(this, function (_a) { + switch (_a.label) { + case 0: + _a.trys.push([0, 2, , 3]); + return [4 /*yield*/, this.page.report.service.hpm.put("/report/pages/" + this.page.name + "/visuals/" + this.name + "/slicer", state, { uid: this.page.report.config.uniqueId }, this.page.report.iframe.contentWindow)]; + case 1: return [2 /*return*/, _a.sent()]; + case 2: + response_4 = _a.sent(); + throw response_4.body; + case 3: return [2 /*return*/]; + } + }); + }); + }; + /** + * Get slicer state. + * Works only for visuals of type slicer. + * + * ```javascript + * visual.getSlicerState() + * .then(state => { ... }); + * ``` + * + * @returns {(Promise)} + */ + VisualDescriptor.prototype.getSlicerState = function () { + return __awaiter(this, void 0, void 0, function () { + var response, response_5; + return __generator(this, function (_a) { + switch (_a.label) { + case 0: + _a.trys.push([0, 2, , 3]); + return [4 /*yield*/, this.page.report.service.hpm.get("/report/pages/" + this.page.name + "/visuals/" + this.name + "/slicer", { uid: this.page.report.config.uniqueId }, this.page.report.iframe.contentWindow)]; + case 1: + response = _a.sent(); + return [2 /*return*/, response.body]; + case 2: + response_5 = _a.sent(); + throw response_5.body; + case 3: return [2 /*return*/]; + } + }); + }); + }; + /** + * Clone existing visual to a new instance. + * + * @returns {(Promise)} + */ + VisualDescriptor.prototype.clone = function (request) { + if (request === void 0) { request = {}; } + return __awaiter(this, void 0, void 0, function () { + var response, response_6; + return __generator(this, function (_a) { + switch (_a.label) { + case 0: + _a.trys.push([0, 2, , 3]); + return [4 /*yield*/, this.page.report.service.hpm.post("/report/pages/" + this.page.name + "/visuals/" + this.name + "/clone", request, { uid: this.page.report.config.uniqueId }, this.page.report.iframe.contentWindow)]; + case 1: + response = _a.sent(); + return [2 /*return*/, response.body]; + case 2: + response_6 = _a.sent(); + throw response_6.body; + case 3: return [2 /*return*/]; + } + }); + }); + }; + /** + * Sort a visual by dataField and direction. + * + * @param request: Sort by visual request. + * + * ```javascript + * visual.sortBy(request) + * .then(() => { ... }); + * ``` + */ + VisualDescriptor.prototype.sortBy = function (request) { + return __awaiter(this, void 0, void 0, function () { + var response_7; + return __generator(this, function (_a) { + switch (_a.label) { + case 0: + _a.trys.push([0, 2, , 3]); + return [4 /*yield*/, this.page.report.service.hpm.put("/report/pages/" + this.page.name + "/visuals/" + this.name + "/sortBy", request, { uid: this.page.report.config.uniqueId }, this.page.report.iframe.contentWindow)]; + case 1: return [2 /*return*/, _a.sent()]; + case 2: + response_7 = _a.sent(); + throw response_7.body; + case 3: return [2 /*return*/]; + } + }); + }); + }; + return VisualDescriptor; +}()); +exports.VisualDescriptor = VisualDescriptor; + /***/ }) -/******/ ]) + +/******/ }); }); -; //# sourceMappingURL=powerbi.js.map \ No newline at end of file diff --git a/dist/powerbi.min.js b/dist/powerbi.min.js index a3222a9d..f1220a9f 100644 --- a/dist/powerbi.min.js +++ b/dist/powerbi.min.js @@ -1,9 +1,10 @@ -/*! powerbi-client v2.15.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(16);e.factories=i;var o=r(5);e.models=o;var n=r(7);e.Report=n.Report;var l=r(12);e.Dashboard=l.Dashboard;var d=r(13);e.Tile=d.Tile;var s=r(2);e.Embed=s.Embed;var u=r(8);e.Page=u.Page;var p=r(14);e.Qna=p.Qna;var c=r(15);e.Visual=c.Visual;var f=r(9);e.VisualDescriptor=f.VisualDescriptor;var v=new a.Service(i.hpmFactory,i.wpmpFactory,i.routerFactory);window.powerbi=v},function(t,e,r){var a=r(2),i=r(7),o=r(11),n=r(12),l=r(13),d=r(8),s=r(14),u=r(15),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 d=p.find(function(t){return l===t.type.toLowerCase()},t.components);if(!d)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 s=new d(this,e,r,o,n);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),(!1),t.powerBiEmbed.iframe);return a.populateConfig(e,!1),o.load(),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(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){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 d.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,s.Qna,u.Visual],t.defaultConfig={autoEmbedOnContentLoaded:!1,onError:function(){for(var t=[],e=0;e>=4,r.toString(16)})}function s(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]}function v(t,e){return Math.abs(t.getTime()-e.getTime())}e.raiseCustomEvent=r,e.findIndex=a,e.find=i,e.remove=o,e.assign=n,e.createRandomString=l,e.generateUUID=d,e.addParamToUrl=s,e.isSavedInternal=u,e.isRDLEmbed=p,e.autoAuthInEmbedUrl=c,e.getRandomValue=f,e.getTimeDiffInMilliseconds=v},function(t,e){var r={version:"2.15.2",type:"js"};Object.defineProperty(e,"__esModule",{value:!0}),e["default"]=r},function(t,e,r){/*! powerbi-models v1.7.0 | (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)===ct.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)?ct.Basic:"string"==typeof r.logicalOperator&&Array.isArray(r.conditions)?ct.Advanced:ct.Unknown}function n(t){return void 0!==t.table&&void 0!==t.measure}function l(t){return!(!t.table||!t.column||t.aggregationFunction)}function d(t){return!(!(t.table&&t.hierarchy&&t.hierarchyLevel)||t.aggregationFunction)}function s(t){return!!(t.table&&t.hierarchy&&t.hierarchyLevel&&t.aggregationFunction)}function u(t){return!!(t.table&&t.column&&t.aggregationFunction)}function p(t){return t&&!c(t)}function c(t){return t&&!!t.groupName}function f(t){return t&&!v(t)}function v(t){return Array.isArray(t)}function h(t){var e=t.message;return e||(e=t.path+" is invalid. Not meeting "+t.keyword+" constraint"),{message:e}}function y(t){var e=X.Validators.visualSelectorValidator.validate(t);return e?e.map(h):void 0}function V(t){var e=X.Validators.slicerValidator.validate(t);return e?e.map(h):void 0}function m(t){var e=X.Validators.slicerStateValidator.validate(t);return e?e.map(h):void 0}function g(t){var e=X.Validators.playBookmarkRequestValidator.validate(t);return e?e.map(h):void 0}function w(t){var e=X.Validators.addBookmarkRequestValidator.validate(t);return e?e.map(h):void 0}function b(t){var e=X.Validators.applyBookmarkByNameRequestValidator.validate(t);return e?e.map(h):void 0}function P(t){var e=X.Validators.applyBookmarkStateRequestValidator.validate(t);return e?e.map(h):void 0}function S(t){var e=X.Validators.captureBookmarkRequestValidator.validate(t);return e?e.map(h):void 0}function E(t){var e=X.Validators.settingsValidator.validate(t);return e?e.map(h):void 0}function T(t){var e=X.Validators.reportPanesValidator.validate(t);return e?e.map(h):void 0}function O(t){var e=X.Validators.bookmarksPaneValidator.validate(t);return e?e.map(h):void 0}function _(t){var e=X.Validators.filtersPaneValidator.validate(t);return e?e.map(h):void 0}function F(t){var e=X.Validators.fieldsPaneValidator.validate(t);return e?e.map(h):void 0}function R(t){var e=X.Validators.pageNavigationPaneValidator.validate(t);return e?e.map(h):void 0}function k(t){var e=X.Validators.selectionPaneValidator.validate(t);return e?e.map(h):void 0}function A(t){var e=X.Validators.syncSlicersPaneValidator.validate(t);return e?e.map(h):void 0}function C(t){var e=X.Validators.visualizationsPaneValidator.validate(t);return e?e.map(h):void 0}function x(t){var e=X.Validators.customPageSizeValidator.validate(t);return e?e.map(h):void 0}function M(t){var e=X.Validators.extensionValidator.validate(t);return e?e.map(h):void 0}function q(t){var e=X.Validators.menuGroupExtensionValidator.validate(t);return e?e.map(h):void 0}function I(t){var e=X.Validators.reportLoadValidator.validate(t);return e?e.map(h):void 0}function L(t){var e=X.Validators.reportCreateValidator.validate(t);return e?e.map(h):void 0}function j(t){var e=X.Validators.dashboardLoadValidator.validate(t);return e?e.map(h):void 0}function N(t){var e=X.Validators.tileLoadValidator.validate(t);return e?e.map(h):void 0}function D(t){var e=X.Validators.pageValidator.validate(t);return e?e.map(h):void 0}function U(t){var e=X.Validators.filtersValidator.validate(t);return e?e.map(h):void 0}function B(t){var e=X.Validators.saveAsParametersValidator.validate(t);return e?e.map(h):void 0}function W(t){var e=X.Validators.loadQnaValidator.validate(t);return e?e.map(h):void 0}function H(t){var e=X.Validators.qnaInterpretInputDataValidator.validate(t);return e?e.map(h):void 0}function z(t){var e=X.Validators.exportDataRequestValidator.validate(t);return e?e.map(h):void 0}function J(t){var e=X.Validators.visualHeaderValidator.validate(t);return e?e.map(h):void 0}function G(t){var e=X.Validators.visualSettingsValidator.validate(t);return e?e.map(h):void 0}function Q(t){var e=X.Validators.commandsSettingsValidator.validate(t);return e?e.map(h):void 0}function Y(t){var e=X.Validators.customThemeValidator.validate(t);return e?e.map(h):void 0}var K=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.validateCustomTheme=e.validateCommandsSettings=e.validateVisualSettings=e.validateVisualHeader=e.validateExportDataRequest=e.validateQnaInterpretInputData=e.validateLoadQnaConfiguration=e.validateSaveAsParameters=e.validateFilter=e.validatePage=e.validateTileLoad=e.validateDashboardLoad=e.validateCreateReport=e.validateReportLoad=e.validateMenuGroupExtension=e.validateExtension=e.validateCustomPageSize=e.validateVisualizationsPane=e.validateSyncSlicersPane=e.validateSelectionPane=e.validatePageNavigationPane=e.validateFieldsPane=e.validateFiltersPane=e.validateBookmarksPane=e.validatePanes=e.validateSettings=e.validateCaptureBookmarkRequest=e.validateApplyBookmarkStateRequest=e.validateApplyBookmarkByNameRequest=e.validateAddBookmarkRequest=e.validatePlayBookmarkRequest=e.validateSlicerState=e.validateSlicer=e.validateVisualSelector=e.isIExtensionArray=e.isIExtensions=e.isGroupedMenuExtension=e.isFlatMenuExtension=e.VisualDataRoleKindPreference=e.VisualDataRoleKind=e.CommandDisplayOption=e.SlicerTargetSelector=e.VisualTypeSelector=e.VisualSelector=e.PageSelector=e.Selector=e.SortDirection=e.LegendPosition=e.TextAlignment=e.CommonErrorCodes=e.BookmarksPlayMode=e.ExportDataType=e.QnaMode=e.PageNavigationPosition=e.isColumnAggr=e.isHierarchyLevelAggr=e.isHierarchyLevel=e.isColumn=e.isMeasure=e.getFilterType=e.isBasicFilterWithKeys=e.isFilterKeyColumnsTarget=e.AdvancedFilter=e.TupleFilter=e.BasicFilterWithKeys=e.BasicFilter=e.RelativeTimeFilter=e.RelativeDateFilter=e.TopNFilter=e.IncludeExcludeFilter=e.NotSupportedFilter=e.Filter=e.RelativeDateOperators=e.RelativeDateFilterTimeUnit=e.FilterType=e.FiltersLevel=e.MenuLocation=e.ContrastMode=e.TokenType=e.ViewMode=e.Permissions=e.SectionVisibility=e.HyperlinkClickBehavior=e.LayoutType=e.VisualContainerDisplayMode=e.BackgroundType=e.DisplayOption=e.PageSizeType=e.TraceType=void 0;var $,X=r(1);!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"}($=e.TraceType||(e.TraceType={}));var Z;!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"}(Z=e.PageSizeType||(e.PageSizeType={}));var tt;!function(t){t[t.FitToPage=0]="FitToPage",t[t.FitToWidth=1]="FitToWidth",t[t.ActualSize=2]="ActualSize"}(tt=e.DisplayOption||(e.DisplayOption={}));var et;!function(t){t[t.Default=0]="Default",t[t.Transparent=1]="Transparent"}(et=e.BackgroundType||(e.BackgroundType={}));var rt;!function(t){t[t.Visible=0]="Visible",t[t.Hidden=1]="Hidden"}(rt=e.VisualContainerDisplayMode||(e.VisualContainerDisplayMode={}));var at;!function(t){t[t.Master=0]="Master",t[t.Custom=1]="Custom",t[t.MobilePortrait=2]="MobilePortrait",t[t.MobileLandscape=3]="MobileLandscape"}(at=e.LayoutType||(e.LayoutType={}));var it;!function(t){t[t.Navigate=0]="Navigate",t[t.NavigateAndRaiseEvent=1]="NavigateAndRaiseEvent",t[t.RaiseEvent=2]="RaiseEvent"}(it=e.HyperlinkClickBehavior||(e.HyperlinkClickBehavior={}));var ot;!function(t){t[t.AlwaysVisible=0]="AlwaysVisible",t[t.HiddenInViewMode=1]="HiddenInViewMode"}(ot=e.SectionVisibility||(e.SectionVisibility={}));var nt;!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"}(nt=e.Permissions||(e.Permissions={}));var lt;!function(t){t[t.View=0]="View",t[t.Edit=1]="Edit"}(lt=e.ViewMode||(e.ViewMode={}));var dt;!function(t){t[t.Aad=0]="Aad",t[t.Embed=1]="Embed"}(dt=e.TokenType||(e.TokenType={}));var st;!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"}(st=e.ContrastMode||(e.ContrastMode={}));var ut;!function(t){t[t.Bottom=0]="Bottom",t[t.Top=1]="Top"}(ut=e.MenuLocation||(e.MenuLocation={}));var pt;!function(t){t[t.Report=0]="Report",t[t.Page=1]="Page",t[t.Visual=2]="Visual"}(pt=e.FiltersLevel||(e.FiltersLevel={}));var ct;!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"}(ct=e.FilterType||(e.FilterType={}));var ft;!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"}(ft=e.RelativeDateFilterTimeUnit||(e.RelativeDateFilterTimeUnit={}));var vt;!function(t){t[t.InLast=0]="InLast",t[t.InThis=1]="InThis",t[t.InNext=2]="InNext"}(vt=e.RelativeDateOperators||(e.RelativeDateOperators={}));var ht=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=ht;var yt=function(t){function e(r,a,i){var o=t.call(this,r,ct.Unknown)||this;return o.message=a,o.notSupportedTypeName=i,o.schemaUrl=e.schemaUrl,o}return K(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}(ht);e.NotSupportedFilter=yt;var Vt=function(t){function e(r,a,i){var o=t.call(this,r,ct.IncludeExclude)||this;return o.values=i,o.isExclude=a,o.schemaUrl=e.schemaUrl,o}return K(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}(ht);e.IncludeExcludeFilter=Vt;var mt=function(t){function e(r,a,i,o){var n=t.call(this,r,ct.TopN)||this;return n.operator=a,n.itemCount=i,n.schemaUrl=e.schemaUrl,n.orderBy=o,n}return K(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}(ht);e.TopNFilter=mt;var gt=function(t){function e(r,a,i,o,n){var l=t.call(this,r,ct.RelativeDate)||this;return l.operator=a,l.timeUnitsCount=i,l.timeUnitType=o,l.includeToday=n,l.schemaUrl=e.schemaUrl,l}return K(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}(ht);e.RelativeDateFilter=gt;var wt=function(t){function e(r,a,i,o){var n=t.call(this,r,ct.RelativeTime)||this;return n.operator=a,n.timeUnitsCount=i,n.timeUnitType=o,n.schemaUrl=e.schemaUrl,n}return K(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}(ht);e.RelativeTimeFilter=wt;var bt=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,d=o.keyValues;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 K(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}(ht);e.AdvancedFilter=Et,e.isFilterKeyColumnsTarget=a,e.isBasicFilterWithKeys=i,e.getFilterType=o,e.isMeasure=n,e.isColumn=l,e.isHierarchyLevel=d,e.isHierarchyLevelAggr=s,e.isColumnAggr=u;var Tt;!function(t){t[t.Bottom=0]="Bottom",t[t.Left=1]="Left"}(Tt=e.PageNavigationPosition||(e.PageNavigationPosition={}));var Ot;!function(t){t[t.Interactive=0]="Interactive",t[t.ResultOnly=1]="ResultOnly"}(Ot=e.QnaMode||(e.QnaMode={}));var _t;!function(t){t[t.Summarized=0]="Summarized",t[t.Underlying=1]="Underlying"}(_t=e.ExportDataType||(e.ExportDataType={}));var Ft;!function(t){t[t.Off=0]="Off",t[t.Presentation=1]="Presentation"}(Ft=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 Rt;!function(t){t[t.Ascending=1]="Ascending",t[t.Descending=2]="Descending"}(Rt=e.SortDirection||(e.SortDirection={}));var kt=function(){function t(t){this.$schema=t}return t.prototype.toJSON=function(){return{$schema:this.$schema}},t}();e.Selector=kt;var At=function(t){function e(r){var a=t.call(this,e.schemaUrl)||this;return a.pageName=r,a}return K(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}(kt);e.PageSelector=At;var Ct=function(t){function e(r){var a=t.call(this,e.schemaUrl)||this;return a.visualName=r,a}return K(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}(kt);e.VisualSelector=Ct;var xt=function(t){function e(e){var r=t.call(this,Ct.schemaUrl)||this;return r.visualType=e,r}return K(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}(kt);e.VisualTypeSelector=xt;var Mt=function(t){function e(e){var r=t.call(this,Ct.schemaUrl)||this;return r.target=e,r}return K(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}(kt);e.SlicerTargetSelector=Mt;var qt;!function(t){t[t.Enabled=0]="Enabled",t[t.Disabled=1]="Disabled",t[t.Hidden=2]="Hidden"}(qt=e.CommandDisplayOption||(e.CommandDisplayOption={}));var It;!function(t){t[t.Grouping=0]="Grouping",t[t.Measure=1]="Measure",t[t.GroupingOrMeasure=2]="GroupingOrMeasure"}(It=e.VisualDataRoleKind||(e.VisualDataRoleKind={}));var Lt;!function(t){t[t.Measure=0]="Measure",t[t.Grouping=1]="Grouping"}(Lt=e.VisualDataRoleKindPreference||(e.VisualDataRoleKindPreference={})),e.isFlatMenuExtension=p,e.isGroupedMenuExtension=c,e.isIExtensions=f,e.isIExtensionArray=v,e.validateVisualSelector=y,e.validateSlicer=V,e.validateSlicerState=m,e.validatePlayBookmarkRequest=g,e.validateAddBookmarkRequest=w,e.validateApplyBookmarkByNameRequest=b,e.validateApplyBookmarkStateRequest=P,e.validateCaptureBookmarkRequest=S,e.validateSettings=E,e.validatePanes=T,e.validateBookmarksPane=O,e.validateFiltersPane=_,e.validateFieldsPane=F,e.validatePageNavigationPane=R,e.validateSelectionPane=k,e.validateSyncSlicersPane=A,e.validateVisualizationsPane=C,e.validateCustomPageSize=x,e.validateExtension=M,e.validateMenuGroupExtension=q,e.validateReportLoad=I,e.validateCreateReport=L,e.validateDashboardLoad=j,e.validateTileLoad=N,e.validatePage=D,e.validateFilter=U,e.validateSaveAsParameters=B,e.validateLoadQnaConfiguration=W,e.validateQnaInterpretInputData=H,e.validateExportDataRequest=z,e.validateVisualHeader=J,e.validateVisualSettings=G,e.validateCommandsSettings=Q,e.validateCustomTheme=Y},function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.Validators=void 0;var a=r(2),i=r(5),o=r(6),n=r(7),l=r(8),d=r(9),s=r(10),u=r(11),p=r(12),c=r(13),f=r(14),v=r(15),h=r(16),y=r(17),V=r(18),m=r(19),g=r(20),w=r(21),b=r(22),P=r(23),S=r(24),E=r(25),T=r(26),O=r(27),_=r(28),F=r(4);e.Validators={addBookmarkRequestValidator:new i.AddBookmarkRequestValidator,advancedFilterTypeValidator:new F.EnumValidator([0]),advancedFilterValidator:new p.AdvancedFilterValidator,anyArrayValidator:new F.ArrayValidator([new E.AnyOfValidator([new F.StringValidator,new F.NumberValidator,new F.BooleanValidator])]),anyFilterValidator:new E.AnyOfValidator([new p.BasicFilterValidator,new p.AdvancedFilterValidator,new p.IncludeExcludeFilterValidator,new p.NotSupportedFilterValidator,new p.RelativeDateFilterValidator,new p.TopNFilterValidator,new p.RelativeTimeFilterValidator]),anyValueValidator:new E.AnyOfValidator([new F.StringValidator,new F.NumberValidator,new F.BooleanValidator]),actionBarValidator:new a.ActionBarValidator,applyBookmarkByNameRequestValidator:new i.ApplyBookmarkByNameRequestValidator,applyBookmarkStateRequestValidator:new i.ApplyBookmarkStateRequestValidator,applyBookmarkValidator:new E.AnyOfValidator([new i.ApplyBookmarkByNameRequestValidator,new i.ApplyBookmarkStateRequestValidator]),backgroundValidator:new F.EnumValidator([0,1]),basicFilterTypeValidator:new F.EnumValidator([1]),basicFilterValidator:new p.BasicFilterValidator,booleanArrayValidator:new F.BooleanArrayValidator,booleanValidator:new F.BooleanValidator,bookmarksPaneValidator:new v.BookmarksPaneValidator,captureBookmarkOptionsValidator:new i.CaptureBookmarkOptionsValidator,captureBookmarkRequestValidator:new i.CaptureBookmarkRequestValidator,commandDisplayOptionValidator:new F.EnumValidator([0,1,2]),commandExtensionSelectorValidator:new E.AnyOfValidator([new g.VisualSelectorValidator,new g.VisualTypeSelectorValidator]),commandExtensionArrayValidator:new F.ArrayValidator([new u.CommandExtensionValidator]),commandExtensionValidator:new u.CommandExtensionValidator,commandsSettingsArrayValidator:new F.ArrayValidator([new o.CommandsSettingsValidator]),commandsSettingsValidator:new o.CommandsSettingsValidator,conditionItemValidator:new p.ConditionItemValidator,contrastModeValidator:new F.EnumValidator([0,1,2,3,4]),customLayoutDisplayOptionValidator:new F.EnumValidator([0,1,2]),customLayoutValidator:new c.CustomLayoutValidator,customPageSizeValidator:new f.CustomPageSizeValidator,customThemeValidator:new n.CustomThemeValidator,dashboardLoadValidator:new l.DashboardLoadValidator,datasetBindingValidator:new d.DatasetBindingValidator,displayStateModeValidator:new F.EnumValidator([0,1]),displayStateValidator:new c.DisplayStateValidator,exportDataRequestValidator:new s.ExportDataRequestValidator,extensionArrayValidator:new F.ArrayValidator([new u.ExtensionValidator]),extensionsValidator:new E.AnyOfValidator([new F.ArrayValidator([new u.ExtensionValidator]),new u.ExtensionsValidator]),extensionPointsValidator:new u.ExtensionPointsValidator,extensionValidator:new u.ExtensionValidator,fieldForbiddenValidator:new T.FieldForbiddenValidator,fieldRequiredValidator:new O.FieldRequiredValidator,fieldsPaneValidator:new v.FieldsPaneValidator,filterColumnTargetValidator:new p.FilterColumnTargetValidator,filterConditionsValidator:new F.ArrayValidator([new p.ConditionItemValidator]),filterHierarchyTargetValidator:new p.FilterHierarchyTargetValidator,filterMeasureTargetValidator:new p.FilterMeasureTargetValidator,filterTargetValidator:new E.AnyOfValidator([new p.FilterColumnTargetValidator,new p.FilterHierarchyTargetValidator,new p.FilterMeasureTargetValidator]),filtersArrayValidator:new F.ArrayValidator([new E.AnyOfValidator([new p.BasicFilterValidator,new p.AdvancedFilterValidator,new p.RelativeDateFilterValidator,new p.RelativeTimeFilterValidator])]),filtersValidator:new p.FilterValidator,filtersPaneValidator:new v.FiltersPaneValidator,hyperlinkClickBehaviorValidator:new F.EnumValidator([0,1,2]),includeExcludeFilterValidator:new p.IncludeExcludeFilterValidator,includeExludeFilterTypeValidator:new F.EnumValidator([3]),layoutTypeValidator:new F.EnumValidator([0,1,2,3]),loadQnaValidator:new h.LoadQnaValidator,menuExtensionValidator:new E.AnyOfValidator([new u.FlatMenuExtensionValidator,new u.GroupedMenuExtensionValidator]),menuGroupExtensionArrayValidator:new F.ArrayValidator([new u.MenuGroupExtensionValidator]),menuGroupExtensionValidator:new u.MenuGroupExtensionValidator,menuLocationValidator:new F.EnumValidator([0,1]),notSupportedFilterTypeValidator:new F.EnumValidator([2]),notSupportedFilterValidator:new p.NotSupportedFilterValidator,numberArrayValidator:new F.NumberArrayValidator,numberValidator:new F.NumberValidator,pageLayoutValidator:new _.MapValidator([new F.StringValidator],[new c.VisualLayoutValidator]),pageNavigationPaneValidator:new v.PageNavigationPaneValidator,pageNavigationPositionValidator:new F.EnumValidator([0,1]),pageSizeTypeValidator:new F.EnumValidator([0,1,2,3,4,5]),pageSizeValidator:new f.PageSizeValidator,pageValidator:new f.PageValidator,pageViewFieldValidator:new f.PageViewFieldValidator,pagesLayoutValidator:new _.MapValidator([new F.StringValidator],[new c.PageLayoutValidator]),reportBarsValidator:new a.ReportBarsValidator,reportPanesValidator:new v.ReportPanesValidator,permissionsValidator:new F.EnumValidator([0,1,2,4,7]),playBookmarkRequestValidator:new i.PlayBookmarkRequestValidator,qnaInterpretInputDataValidator:new h.QnaInterpretInputDataValidator,qnaSettingValidator:new h.QnaSettingsValidator,relativeDateFilterOperatorValidator:new F.EnumValidator([0,1,2]),relativeDateFilterTimeUnitTypeValidator:new F.EnumValidator([0,1,2,3,4,5,6]),relativeDateFilterTypeValidator:new F.EnumValidator([4]),relativeDateFilterValidator:new p.RelativeDateFilterValidator,relativeTimeFilterTimeUnitTypeValidator:new F.EnumValidator([7,8]),relativeTimeFilterTypeValidator:new F.EnumValidator([7]),relativeTimeFilterValidator:new p.RelativeTimeFilterValidator,reportCreateValidator:new y.ReportCreateValidator,reportLoadValidator:new V.ReportLoadValidator,saveAsParametersValidator:new m.SaveAsParametersValidator,selectionPaneValidator:new v.SelectionPaneValidator,settingsValidator:new w.SettingsValidator,singleCommandSettingsValidator:new o.SingleCommandSettingsValidator,slicerSelectorValidator:new E.AnyOfValidator([new g.VisualSelectorValidator,new g.SlicerTargetSelectorValidator]),slicerStateValidator:new b.SlicerStateValidator,slicerTargetValidator:new E.AnyOfValidator([new p.FilterColumnTargetValidator,new p.FilterHierarchyTargetValidator,new p.FilterMeasureTargetValidator,new p.FilterKeyColumnsTargetValidator,new p.FilterKeyHierarchyTargetValidator]),slicerValidator:new b.SlicerValidator,stringArrayValidator:new F.StringArrayValidator,stringValidator:new F.StringValidator,syncSlicersPaneValidator:new v.SyncSlicersPaneValidator,tileLoadValidator:new P.TileLoadValidator,tokenTypeValidator:new F.EnumValidator([0,1]),topNFilterTypeValidator:new F.EnumValidator([5]),topNFilterValidator:new p.TopNFilterValidator,viewModeValidator:new F.EnumValidator([0,1]),visualCommandSelectorValidator:new E.AnyOfValidator([new g.VisualSelectorValidator,new g.VisualTypeSelectorValidator]),visualHeaderSelectorValidator:new E.AnyOfValidator([new g.VisualSelectorValidator,new g.VisualTypeSelectorValidator]),visualHeaderSettingsValidator:new S.VisualHeaderSettingsValidator,visualHeaderValidator:new S.VisualHeaderValidator,visualHeadersValidator:new F.ArrayValidator([new S.VisualHeaderValidator]),visualizationsPaneValidator:new v.VisualizationsPaneValidator,visualLayoutValidator:new c.VisualLayoutValidator,visualSelectorValidator:new g.VisualSelectorValidator,visualSettingsValidator:new S.VisualSettingsValidator,visualTypeSelectorValidator:new g.VisualTypeSelectorValidator}},function(t,e,r){var a=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.ActionBarValidator=e.ReportBarsValidator=void 0;var i=r(3),o=r(4),n=r(1),l=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return a(e,t),e.prototype.validate=function(e,r,a){if(null==e)return null;var o=t.prototype.validate.call(this,e,r,a);if(o)return o;var l=[{field:"actionBar",validators:[n.Validators.actionBarValidator]}],d=new i.MultipleFieldsValidator(l);return d.validate(e,r,a)},e}(o.ObjectValidator);e.ReportBarsValidator=l;var d=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return a(e,t),e.prototype.validate=function(e,r,a){if(null==e)return null;var o=t.prototype.validate.call(this,e,r,a);if(o)return o;var l=[{field:"visible",validators:[n.Validators.booleanValidator]}],d=new i.MultipleFieldsValidator(l);return d.validate(e,r,a)},e}(o.ObjectValidator);e.ActionBarValidator=d},function(t,e){Object.defineProperty(e,"__esModule",{value:!0}),e.MultipleFieldsValidator=void 0;var r=function(){function t(t){this.fieldValidatorsPairs=t}return t.prototype.validate=function(t,e,r){if(!this.fieldValidatorsPairs)return null;for(var a=e?e+"."+r:r,i=0,o=this.fieldValidatorsPairs;i2&&"[]"===n.slice(l-2)&&(d=!0,n=n.slice(0,l-2),r[n]||(r[n]=[])),i=o[1]?w(o[1]):""),d?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;r0&&!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,s=o.keyValues;l2)throw new Error("AdvancedFilters may not have more than two conditions. You passed: "+i.length);if(1===n.length&&"And"!==a)throw new Error('Logical Operator must be "And" when there is only one condition provided');return l.conditions=n,l}return d(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}(p);e.AdvancedFilter=w,e.isFilterKeyColumnsTarget=function(t){return i(t)&&!!t.keys},e.isBasicFilterWithKeys=function(t){return a(t)===u.Basic&&!!t.keyValues},e.getFilterType=a,e.isMeasure=function(t){return void 0!==t.table&&void 0!==t.measure},e.isColumn=i,e.isHierarchyLevel=function(t){return!(!(t.table&&t.hierarchy&&t.hierarchyLevel)||t.aggregationFunction)},e.isHierarchyLevelAggr=function(t){return!!(t.table&&t.hierarchy&&t.hierarchyLevel&&t.aggregationFunction)},e.isColumnAggr=function(t){return!!(t.table&&t.column&&t.aggregationFunction)},function(t){t[t.Bottom=0]="Bottom",t[t.Left=1]="Left"}(e.PageNavigationPosition||(e.PageNavigationPosition={})),function(t){t[t.Interactive=0]="Interactive",t[t.ResultOnly=1]="ResultOnly"}(e.QnaMode||(e.QnaMode={})),function(t){t[t.Summarized=0]="Summarized",t[t.Underlying=1]="Underlying"}(e.ExportDataType||(e.ExportDataType={})),function(t){t[t.Off=0]="Off",t[t.Presentation=1]="Presentation"}(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"},function(t){t[t.Ascending=1]="Ascending",t[t.Descending=2]="Descending"}(e.SortDirection||(e.SortDirection={}));var P=function(){function t(t){this.$schema=t}return t.prototype.toJSON=function(){return{$schema:this.$schema}},t}();e.Selector=P;var _=function(t){function e(r){var a=t.call(this,e.schemaUrl)||this;return a.pageName=r,a}return d(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}(P);e.PageSelector=_;var S=function(t){function e(r){var a=t.call(this,e.schemaUrl)||this;return a.visualName=r,a}return d(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}(P);e.VisualSelector=S;var E=function(t){function e(e){var r=t.call(this,S.schemaUrl)||this;return r.visualType=e,r}return d(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}(P);e.VisualTypeSelector=E;var O=function(t){function e(e){var r=t.call(this,S.schemaUrl)||this;return r.target=e,r}return d(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}(P);e.SlicerTargetSelector=O,function(t){t[t.Enabled=0]="Enabled",t[t.Disabled=1]="Disabled",t[t.Hidden=2]="Hidden"}(e.CommandDisplayOption||(e.CommandDisplayOption={})),function(t){t[t.Grouping=0]="Grouping",t[t.Measure=1]="Measure",t[t.GroupingOrMeasure=2]="GroupingOrMeasure"}(e.VisualDataRoleKind||(e.VisualDataRoleKind={})),function(t){t[t.Measure=0]="Measure",t[t.Grouping=1]="Grouping"}(e.VisualDataRoleKindPreference||(e.VisualDataRoleKindPreference={})),e.isFlatMenuExtension=function(t){return t&&!o(t)},e.isGroupedMenuExtension=o,e.isIExtensions=function(t){return t&&!n(t)},e.isIExtensionArray=n,e.validateVisualSelector=function(t){var e=c.Validators.visualSelectorValidator.validate(t);return e?e.map(l):void 0},e.validateSlicer=function(t){var e=c.Validators.slicerValidator.validate(t);return e?e.map(l):void 0},e.validateSlicerState=function(t){var e=c.Validators.slicerStateValidator.validate(t);return e?e.map(l):void 0},e.validatePlayBookmarkRequest=function(t){var e=c.Validators.playBookmarkRequestValidator.validate(t);return e?e.map(l):void 0},e.validateAddBookmarkRequest=function(t){var e=c.Validators.addBookmarkRequestValidator.validate(t);return e?e.map(l):void 0},e.validateApplyBookmarkByNameRequest=function(t){var e=c.Validators.applyBookmarkByNameRequestValidator.validate(t);return e?e.map(l):void 0},e.validateApplyBookmarkStateRequest=function(t){var e=c.Validators.applyBookmarkStateRequestValidator.validate(t);return e?e.map(l):void 0},e.validateCaptureBookmarkRequest=function(t){var e=c.Validators.captureBookmarkRequestValidator.validate(t);return e?e.map(l):void 0},e.validateSettings=function(t){var e=c.Validators.settingsValidator.validate(t);return e?e.map(l):void 0},e.validatePanes=function(t){var e=c.Validators.reportPanesValidator.validate(t);return e?e.map(l):void 0},e.validateBookmarksPane=function(t){var e=c.Validators.bookmarksPaneValidator.validate(t);return e?e.map(l):void 0},e.validateFiltersPane=function(t){var e=c.Validators.filtersPaneValidator.validate(t);return e?e.map(l):void 0},e.validateFieldsPane=function(t){var e=c.Validators.fieldsPaneValidator.validate(t);return e?e.map(l):void 0},e.validatePageNavigationPane=function(t){var e=c.Validators.pageNavigationPaneValidator.validate(t);return e?e.map(l):void 0},e.validateSelectionPane=function(t){var e=c.Validators.selectionPaneValidator.validate(t);return e?e.map(l):void 0},e.validateSyncSlicersPane=function(t){var e=c.Validators.syncSlicersPaneValidator.validate(t);return e?e.map(l):void 0},e.validateVisualizationsPane=function(t){var e=c.Validators.visualizationsPaneValidator.validate(t);return e?e.map(l):void 0},e.validateCustomPageSize=function(t){var e=c.Validators.customPageSizeValidator.validate(t);return e?e.map(l):void 0},e.validateExtension=function(t){var e=c.Validators.extensionValidator.validate(t);return e?e.map(l):void 0},e.validateMenuGroupExtension=function(t){var e=c.Validators.menuGroupExtensionValidator.validate(t);return e?e.map(l):void 0},e.validateReportLoad=function(t){var e=c.Validators.reportLoadValidator.validate(t);return e?e.map(l):void 0},e.validateCreateReport=function(t){var e=c.Validators.reportCreateValidator.validate(t);return e?e.map(l):void 0},e.validateDashboardLoad=function(t){var e=c.Validators.dashboardLoadValidator.validate(t);return e?e.map(l):void 0},e.validateTileLoad=function(t){var e=c.Validators.tileLoadValidator.validate(t);return e?e.map(l):void 0},e.validatePage=function(t){var e=c.Validators.pageValidator.validate(t);return e?e.map(l):void 0},e.validateFilter=function(t){var e=c.Validators.filtersValidator.validate(t);return e?e.map(l):void 0},e.validateSaveAsParameters=function(t){var e=c.Validators.saveAsParametersValidator.validate(t);return e?e.map(l):void 0},e.validateLoadQnaConfiguration=function(t){var e=c.Validators.loadQnaValidator.validate(t);return e?e.map(l):void 0},e.validateQnaInterpretInputData=function(t){var e=c.Validators.qnaInterpretInputDataValidator.validate(t);return e?e.map(l):void 0},e.validateExportDataRequest=function(t){var e=c.Validators.exportDataRequestValidator.validate(t);return e?e.map(l):void 0},e.validateVisualHeader=function(t){var e=c.Validators.visualHeaderValidator.validate(t);return e?e.map(l):void 0},e.validateVisualSettings=function(t){var e=c.Validators.visualSettingsValidator.validate(t);return e?e.map(l):void 0},e.validateCommandsSettings=function(t){var e=c.Validators.commandsSettingsValidator.validate(t);return e?e.map(l):void 0},e.validateCustomTheme=function(t){var e=c.Validators.customThemeValidator.validate(t);return e?e.map(l):void 0}},function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.Validators=void 0;var a=r(2),i=r(5),o=r(6),n=r(7),l=r(8),s=r(9),d=r(10),u=r(11),c=r(12),p=r(13),f=r(14),h=r(15),v=r(16),y=r(17),m=r(18),V=r(19),g=r(20),b=r(21),w=r(22),P=r(23),_=r(24),S=r(25),E=r(26),O=r(27),T=r(28),k=r(4);e.Validators={addBookmarkRequestValidator:new i.AddBookmarkRequestValidator,advancedFilterTypeValidator:new k.EnumValidator([0]),advancedFilterValidator:new c.AdvancedFilterValidator,anyArrayValidator:new k.ArrayValidator([new S.AnyOfValidator([new k.StringValidator,new k.NumberValidator,new k.BooleanValidator])]),anyFilterValidator:new S.AnyOfValidator([new c.BasicFilterValidator,new c.AdvancedFilterValidator,new c.IncludeExcludeFilterValidator,new c.NotSupportedFilterValidator,new c.RelativeDateFilterValidator,new c.TopNFilterValidator,new c.RelativeTimeFilterValidator]),anyValueValidator:new S.AnyOfValidator([new k.StringValidator,new k.NumberValidator,new k.BooleanValidator]),actionBarValidator:new a.ActionBarValidator,applyBookmarkByNameRequestValidator:new i.ApplyBookmarkByNameRequestValidator,applyBookmarkStateRequestValidator:new i.ApplyBookmarkStateRequestValidator,applyBookmarkValidator:new S.AnyOfValidator([new i.ApplyBookmarkByNameRequestValidator,new i.ApplyBookmarkStateRequestValidator]),backgroundValidator:new k.EnumValidator([0,1]),basicFilterTypeValidator:new k.EnumValidator([1]),basicFilterValidator:new c.BasicFilterValidator,booleanArrayValidator:new k.BooleanArrayValidator,booleanValidator:new k.BooleanValidator,bookmarksPaneValidator:new h.BookmarksPaneValidator,captureBookmarkOptionsValidator:new i.CaptureBookmarkOptionsValidator,captureBookmarkRequestValidator:new i.CaptureBookmarkRequestValidator,commandDisplayOptionValidator:new k.EnumValidator([0,1,2]),commandExtensionSelectorValidator:new S.AnyOfValidator([new g.VisualSelectorValidator,new g.VisualTypeSelectorValidator]),commandExtensionArrayValidator:new k.ArrayValidator([new u.CommandExtensionValidator]),commandExtensionValidator:new u.CommandExtensionValidator,commandsSettingsArrayValidator:new k.ArrayValidator([new o.CommandsSettingsValidator]),commandsSettingsValidator:new o.CommandsSettingsValidator,conditionItemValidator:new c.ConditionItemValidator,contrastModeValidator:new k.EnumValidator([0,1,2,3,4]),customLayoutDisplayOptionValidator:new k.EnumValidator([0,1,2]),customLayoutValidator:new p.CustomLayoutValidator,customPageSizeValidator:new f.CustomPageSizeValidator,customThemeValidator:new n.CustomThemeValidator,dashboardLoadValidator:new l.DashboardLoadValidator,datasetBindingValidator:new s.DatasetBindingValidator,displayStateModeValidator:new k.EnumValidator([0,1]),displayStateValidator:new p.DisplayStateValidator,exportDataRequestValidator:new d.ExportDataRequestValidator,extensionArrayValidator:new k.ArrayValidator([new u.ExtensionValidator]),extensionsValidator:new S.AnyOfValidator([new k.ArrayValidator([new u.ExtensionValidator]),new u.ExtensionsValidator]),extensionPointsValidator:new u.ExtensionPointsValidator,extensionValidator:new u.ExtensionValidator,fieldForbiddenValidator:new E.FieldForbiddenValidator,fieldRequiredValidator:new O.FieldRequiredValidator,fieldsPaneValidator:new h.FieldsPaneValidator,filterColumnTargetValidator:new c.FilterColumnTargetValidator,filterConditionsValidator:new k.ArrayValidator([new c.ConditionItemValidator]),filterHierarchyTargetValidator:new c.FilterHierarchyTargetValidator,filterMeasureTargetValidator:new c.FilterMeasureTargetValidator,filterTargetValidator:new S.AnyOfValidator([new c.FilterColumnTargetValidator,new c.FilterHierarchyTargetValidator,new c.FilterMeasureTargetValidator]),filtersArrayValidator:new k.ArrayValidator([new S.AnyOfValidator([new c.BasicFilterValidator,new c.AdvancedFilterValidator,new c.RelativeDateFilterValidator,new c.RelativeTimeFilterValidator])]),filtersValidator:new c.FilterValidator,filtersPaneValidator:new h.FiltersPaneValidator,hyperlinkClickBehaviorValidator:new k.EnumValidator([0,1,2]),includeExcludeFilterValidator:new c.IncludeExcludeFilterValidator,includeExludeFilterTypeValidator:new k.EnumValidator([3]),layoutTypeValidator:new k.EnumValidator([0,1,2,3]),loadQnaValidator:new v.LoadQnaValidator,menuExtensionValidator:new S.AnyOfValidator([new u.FlatMenuExtensionValidator,new u.GroupedMenuExtensionValidator]),menuGroupExtensionArrayValidator:new k.ArrayValidator([new u.MenuGroupExtensionValidator]),menuGroupExtensionValidator:new u.MenuGroupExtensionValidator,menuLocationValidator:new k.EnumValidator([0,1]),notSupportedFilterTypeValidator:new k.EnumValidator([2]),notSupportedFilterValidator:new c.NotSupportedFilterValidator,numberArrayValidator:new k.NumberArrayValidator,numberValidator:new k.NumberValidator,pageLayoutValidator:new T.MapValidator([new k.StringValidator],[new p.VisualLayoutValidator]),pageNavigationPaneValidator:new h.PageNavigationPaneValidator,pageNavigationPositionValidator:new k.EnumValidator([0,1]),pageSizeTypeValidator:new k.EnumValidator([0,1,2,3,4,5]),pageSizeValidator:new f.PageSizeValidator,pageValidator:new f.PageValidator,pageViewFieldValidator:new f.PageViewFieldValidator,pagesLayoutValidator:new T.MapValidator([new k.StringValidator],[new p.PageLayoutValidator]),reportBarsValidator:new a.ReportBarsValidator,reportPanesValidator:new h.ReportPanesValidator,permissionsValidator:new k.EnumValidator([0,1,2,4,7]),playBookmarkRequestValidator:new i.PlayBookmarkRequestValidator,qnaInterpretInputDataValidator:new v.QnaInterpretInputDataValidator,qnaSettingValidator:new v.QnaSettingsValidator,relativeDateFilterOperatorValidator:new k.EnumValidator([0,1,2]),relativeDateFilterTimeUnitTypeValidator:new k.EnumValidator([0,1,2,3,4,5,6]),relativeDateFilterTypeValidator:new k.EnumValidator([4]),relativeDateFilterValidator:new c.RelativeDateFilterValidator,relativeTimeFilterTimeUnitTypeValidator:new k.EnumValidator([7,8]),relativeTimeFilterTypeValidator:new k.EnumValidator([7]),relativeTimeFilterValidator:new c.RelativeTimeFilterValidator,reportCreateValidator:new y.ReportCreateValidator,reportLoadValidator:new m.ReportLoadValidator,saveAsParametersValidator:new V.SaveAsParametersValidator,selectionPaneValidator:new h.SelectionPaneValidator,settingsValidator:new b.SettingsValidator,singleCommandSettingsValidator:new o.SingleCommandSettingsValidator,slicerSelectorValidator:new S.AnyOfValidator([new g.VisualSelectorValidator,new g.SlicerTargetSelectorValidator]),slicerStateValidator:new w.SlicerStateValidator,slicerTargetValidator:new S.AnyOfValidator([new c.FilterColumnTargetValidator,new c.FilterHierarchyTargetValidator,new c.FilterMeasureTargetValidator,new c.FilterKeyColumnsTargetValidator,new c.FilterKeyHierarchyTargetValidator]),slicerValidator:new w.SlicerValidator,stringArrayValidator:new k.StringArrayValidator,stringValidator:new k.StringValidator,syncSlicersPaneValidator:new h.SyncSlicersPaneValidator,tileLoadValidator:new P.TileLoadValidator,tokenTypeValidator:new k.EnumValidator([0,1]),topNFilterTypeValidator:new k.EnumValidator([5]),topNFilterValidator:new c.TopNFilterValidator,viewModeValidator:new k.EnumValidator([0,1]),visualCommandSelectorValidator:new S.AnyOfValidator([new g.VisualSelectorValidator,new g.VisualTypeSelectorValidator]),visualHeaderSelectorValidator:new S.AnyOfValidator([new g.VisualSelectorValidator,new g.VisualTypeSelectorValidator]),visualHeaderSettingsValidator:new _.VisualHeaderSettingsValidator,visualHeaderValidator:new _.VisualHeaderValidator,visualHeadersValidator:new k.ArrayValidator([new _.VisualHeaderValidator]),visualizationsPaneValidator:new h.VisualizationsPaneValidator,visualLayoutValidator:new p.VisualLayoutValidator,visualSelectorValidator:new g.VisualSelectorValidator,visualSettingsValidator:new _.VisualSettingsValidator,visualTypeSelectorValidator:new g.VisualTypeSelectorValidator}},function(t,e,r){var a,i=this&&this.__extends||(a=function(t,e){return(a=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])})(t,e)},function(t,e){function r(){this.constructor=t}a(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.ActionBarValidator=e.ReportBarsValidator=void 0;var o=r(3),n=r(4),l=r(1),s=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i(e,t),e.prototype.validate=function(e,r,a){if(null==e)return null;var i=t.prototype.validate.call(this,e,r,a);if(i)return i;var n=[{field:"actionBar",validators:[l.Validators.actionBarValidator]}];return new o.MultipleFieldsValidator(n).validate(e,r,a)},e}(n.ObjectValidator);e.ReportBarsValidator=s;var d=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i(e,t),e.prototype.validate=function(e,r,a){if(null==e)return null;var i=t.prototype.validate.call(this,e,r,a);if(i)return i;var n=[{field:"visible",validators:[l.Validators.booleanValidator]}];return new o.MultipleFieldsValidator(n).validate(e,r,a)},e}(n.ObjectValidator);e.ActionBarValidator=d},function(t,e){Object.defineProperty(e,"__esModule",{value:!0}),e.MultipleFieldsValidator=void 0;var r=function(){function t(t){this.fieldValidatorsPairs=t}return t.prototype.validate=function(t,e,r){if(!this.fieldValidatorsPairs)return null;for(var a=e?e+"."+r:r,i=0,o=this.fieldValidatorsPairs;i0&&o[o.length-1])||6!==t[0]&&2!==t[0])){l=0;continue}if(3===t[0]&&(!o||t[1]>o[0]&&t[1]0&&o[o.length-1])||6!==t[0]&&2!==t[0])){l=0;continue}if(3===t[0]&&(!o||t[1]>o[0]&&t[1]0?"&":"?";return t+=a+e+"="+r},e.isSavedInternal=function(t,e,r){return i(this,void 0,void 0,function(){return o(this,function(a){switch(a.label){case 0:return a.trys.push([0,2,,3]),[4,t.get("/report/hasUnsavedChanges",{uid:e},r)];case 1:return[2,!a.sent().body];case 2:throw a.sent().body;case 3:return[2]}})})},e.isRDLEmbed=function(t){return t.toLowerCase().indexOf("/rdlembed?")>=0},e.autoAuthInEmbedUrl=function(t){return t&&decodeURIComponent(t).toLowerCase().indexOf("autoauth=true")>=0},e.getRandomValue=a,e.getTimeDiffInMilliseconds=function(t,e){return Math.abs(t.getTime()-e.getTime())}},function(t,e){Object.defineProperty(e,"__esModule",{ +value:!0}),e.EmbedUrlNotSupported=e.APINotSupportedForRDLError=void 0,e.APINotSupportedForRDLError="This API is currently not supported for RDL reports",e.EmbedUrlNotSupported="Embed URL is invalid for this scenario. Please use Power BI REST APIs to get the valid URL"},function(t,e,r){var a,i=this&&this.__extends||(a=function(t,e){return(a=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])})(t,e)},function(t,e){function r(){this.constructor=t}a(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}),o=this&&this.__awaiter||function(t,e,r,a){return new(r||(r=Promise))(function(i,o){function n(t){try{s(a.next(t))}catch(t){o(t)}}function l(t){try{s(a["throw"](t))}catch(t){o(t)}}function s(t){var e;t.done?i(t.value):(e=t.value,e instanceof r?e:new r(function(t){t(e)})).then(n,l)}s((a=a.apply(t,e||[])).next())})},n=this&&this.__generator||function(t,e){function r(t){return function(r){return function(t){if(a)throw new TypeError("Generator is already executing.");for(;l;)try{if(a=1,i&&(o=2&t[0]?i["return"]:t[0]?i["throw"]||((o=i["return"])&&o.call(i),0):i.next)&&!(o=o.call(i,t[1])).done)return o;switch(i=0,o&&(t=[2&t[0],o.value]),t[0]){case 0:case 1:o=t;break;case 4:return l.label++,{value:t[1],done:!1};case 5:l.label++,i=t[1],t=[0];continue;case 7:t=l.ops.pop(),l.trys.pop();continue;default:if(o=l.trys,!((o=o.length>0&&o[o.length-1])||6!==t[0]&&2!==t[0])){l=0;continue}if(3===t[0]&&(!o||t[1]>o[0]&&t[1]0&&o[o.length-1])||6!==t[0]&&2!==t[0])){l=0;continue}if(3===t[0]&&(!o||t[1]>o[0]&&t[1]0&&o[o.length-1])||6!==t[0]&&2!==t[0])){l=0;continue}if(3===t[0]&&(!o||t[1]>o[0]&&t[1]0&&o[o.length-1])||6!==t[0]&&2!==t[0])){l=0;continue}if(3===t[0]&&(!o||t[1]>o[0]&&t[1]0&&o[o.length-1])||6!==t[0]&&2!==t[0])){l=0;continue}if(3===t[0]&&(!o||t[1]>o[0]&&t[1]0&&o[o.length-1])||6!==t[0]&&2!==t[0])){l=0;continue}if(3===t[0]&&(!o||t[1]>o[0]&&t[1]0&&o[o.length-1])||6!==t[0]&&2!==t[0])){l=0;continue}if(3===t[0]&&(!o||t[1]>o[0]&&t[1]2&&"[]"===n.slice(l-2)&&(s=!0,r[n=n.slice(0,l-2)]||(r[n]=[])),i=o[1]?y(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(-1!==(a=t.indexOf("?"))){var l=t.substr(a+1,t.length);t=t.substr(0,a),o=this.parseQueryString(l)}for("/"!==(t=decodeURI(t)).charAt(0)&&(t="/"+t),(e=t.length)>1&&"/"===t.charAt(e-1)&&(t=t.substr(0,e-1),n=!0),r=0;r; - apply(bookmarkName: string): Promise; - play(playMode: models.BookmarksPlayMode): Promise; + apply(bookmarkName: string): Promise>; + play(playMode: models.BookmarksPlayMode): Promise>; capture(options?: models.ICaptureBookmarkOptions): Promise; - applyState(state: string): Promise; + applyState(state: string): Promise>; } /** @@ -45,16 +46,17 @@ export class BookmarksManager implements IBookmarksManager { * * @returns {Promise} */ - getBookmarks(): Promise { + async getBookmarks(): Promise { if (utils.isRDLEmbed(this.config.embedUrl)) { return Promise.reject(errors.APINotSupportedForRDLError); } - return this.service.hpm.get(`/report/bookmarks`, { uid: this.config.uniqueId }, this.iframe.contentWindow) - .then(response => response.body, - response => { - throw response.body; - }); + try { + const response = await this.service.hpm.get(`/report/bookmarks`, { uid: this.config.uniqueId }, this.iframe.contentWindow); + return response.body; + } catch (response) { + throw response.body; + } } /** @@ -65,9 +67,9 @@ export class BookmarksManager implements IBookmarksManager { * ``` * * @param {string} bookmarkName The name of the bookmark to be applied - * @returns {Promise} + * @returns {Promise>} */ - apply(bookmarkName: string): Promise { + async apply(bookmarkName: string): Promise> { if (utils.isRDLEmbed(this.config.embedUrl)) { return Promise.reject(errors.APINotSupportedForRDLError); } @@ -76,10 +78,11 @@ export class BookmarksManager implements IBookmarksManager { name: bookmarkName }; - return this.service.hpm.post(`/report/bookmarks/applyByName`, request, { uid: this.config.uniqueId }, this.iframe.contentWindow) - .catch(response => { - throw response.body; - }); + try { + return await this.service.hpm.post(`/report/bookmarks/applyByName`, request, { uid: this.config.uniqueId }, this.iframe.contentWindow); + } catch (response) { + throw response.body; + } } /** @@ -91,9 +94,9 @@ export class BookmarksManager implements IBookmarksManager { * ``` * * @param {models.BookmarksPlayMode} playMode Play mode can be either `Presentation` or `Off` - * @returns {Promise} + * @returns {Promise>} */ - play(playMode: models.BookmarksPlayMode): Promise { + async play(playMode: models.BookmarksPlayMode): Promise> { if (utils.isRDLEmbed(this.config.embedUrl)) { return Promise.reject(errors.APINotSupportedForRDLError); } @@ -102,10 +105,11 @@ export class BookmarksManager implements IBookmarksManager { playMode: playMode }; - return this.service.hpm.post(`/report/bookmarks/play`, playBookmarkRequest, { uid: this.config.uniqueId }, this.iframe.contentWindow) - .catch(response => { - throw response.body; - }); + try { + return await this.service.hpm.post(`/report/bookmarks/play`, playBookmarkRequest, { uid: this.config.uniqueId }, this.iframe.contentWindow); + } catch (response) { + throw response.body; + } } /** @@ -118,7 +122,7 @@ export class BookmarksManager implements IBookmarksManager { * @param {models.ICaptureBookmarkOptions} [options] Options for bookmark capturing * @returns {Promise} */ - capture(options?: models.ICaptureBookmarkOptions): Promise { + async capture(options?: models.ICaptureBookmarkOptions): Promise { if (utils.isRDLEmbed(this.config.embedUrl)) { return Promise.reject(errors.APINotSupportedForRDLError); } @@ -127,11 +131,12 @@ export class BookmarksManager implements IBookmarksManager { options: options }; - return this.service.hpm.post(`/report/bookmarks/capture`, request, { uid: this.config.uniqueId }, this.iframe.contentWindow) - .then(response => response.body, - response => { - throw response.body; - }); + try { + const response = await this.service.hpm.post(`/report/bookmarks/capture`, request, { uid: this.config.uniqueId }, this.iframe.contentWindow); + return response.body; + } catch (response) { + throw response.body; + } } /** @@ -142,9 +147,9 @@ export class BookmarksManager implements IBookmarksManager { * ``` * * @param {string} state A base64 bookmark state to be applied - * @returns {Promise} + * @returns {Promise>} */ - applyState(state: string): Promise { + async applyState(state: string): Promise> { if (utils.isRDLEmbed(this.config.embedUrl)) { return Promise.reject(errors.APINotSupportedForRDLError); } @@ -153,9 +158,10 @@ export class BookmarksManager implements IBookmarksManager { state: state }; - return this.service.hpm.post(`/report/bookmarks/applyState`, request, { uid: this.config.uniqueId }, this.iframe.contentWindow) - .catch(response => { - throw response.body; - }); + try { + return await this.service.hpm.post(`/report/bookmarks/applyState`, request, { uid: this.config.uniqueId }, this.iframe.contentWindow); + } catch (response) { + throw response.body; + } } } diff --git a/src/config.ts b/src/config.ts index 71a5260f..676d2576 100644 --- a/src/config.ts +++ b/src/config.ts @@ -1,6 +1,6 @@ /** @ignore *//** */ const config = { - version: '2.15.2', + version: '2.16.0', type: 'js' }; diff --git a/src/create.ts b/src/create.ts index 9140fdcf..60844b80 100644 --- a/src/create.ts +++ b/src/create.ts @@ -80,8 +80,8 @@ export class Create extends embed.Embed { * * @returns {Promise} */ - isSaved(): Promise { - return utils.isSavedInternal(this.service.hpm, this.config.uniqueId, this.iframe.contentWindow); + async isSaved(): Promise { + return await utils.isSavedInternal(this.service.hpm, this.config.uniqueId, this.iframe.contentWindow); } /** diff --git a/src/embed.ts b/src/embed.ts index bea6d11a..69fe406e 100644 --- a/src/embed.ts +++ b/src/embed.ts @@ -11,6 +11,9 @@ declare global { // Ms Fullscreen msExitFullscreen: any; + + // Safari Fullscreen + webkitExitFullscreen: void; } interface HTMLIFrameElement { @@ -19,10 +22,12 @@ declare global { // Ms Fullscreen msRequestFullscreen: Function; + + // Safari Fullscreen + webkitRequestFullscreen: {(): void}; } } -//TODO: Require a specific version of powerbi-models in package.json export type IBootstrapEmbedConfiguration = models.IBootstrapEmbedConfiguration; export type IEmbedConfigurationBase = models.IEmbedConfigurationBase; @@ -224,19 +229,18 @@ export abstract class Embed { * @param {models.IReportCreateConfiguration} config * @returns {Promise} */ - createReport(config: models.IReportCreateConfiguration): Promise { + async createReport(config: models.IReportCreateConfiguration): Promise { const errors = models.validateCreateReport(config); if (errors) { throw errors; } - return this.service.hpm.post("/report/create", config, { uid: this.config.uniqueId, sdkSessionId: this.service.getSdkSessionId() }, this.iframe.contentWindow) - .then(response => { - return response.body; - }, - response => { - throw response.body; - }); + try { + const response = await this.service.hpm.post("/report/create", config, { uid: this.config.uniqueId, sdkSessionId: this.service.getSdkSessionId() }, this.iframe.contentWindow); + return response.body; + } catch (response) { + throw response.body; + } } /** @@ -244,14 +248,13 @@ export abstract class Embed { * * @returns {Promise} */ - save(): Promise { - return this.service.hpm.post('/report/save', null, { uid: this.config.uniqueId }, this.iframe.contentWindow) - .then(response => { - return response.body; - }) - .catch(response => { - throw response.body; - }); + async save(): Promise { + try { + const response = await this.service.hpm.post('/report/save', null, { uid: this.config.uniqueId }, this.iframe.contentWindow); + return response.body; + } catch (response) { + throw response.body; + } } /** @@ -259,14 +262,13 @@ export abstract class Embed { * * @returns {Promise} */ - saveAs(saveAsParameters: models.ISaveAsParameters): Promise { - return this.service.hpm.post('/report/saveAs', saveAsParameters, { uid: this.config.uniqueId }, this.iframe.contentWindow) - .then(response => { - return response.body; - }) - .catch(response => { - throw response.body; - }); + async saveAs(saveAsParameters: models.ISaveAsParameters): Promise { + try { + const response = await this.service.hpm.post('/report/saveAs', saveAsParameters, { uid: this.config.uniqueId }, this.iframe.contentWindow); + return response.body; + } catch (response) { + throw response.body; + } } /** @@ -282,12 +284,13 @@ export abstract class Embed { * * @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; - }); + async getCorrelationId(): Promise { + try { + const response = await this.service.hpm.get(`/getCorrelationId`, { uid: this.config.uniqueId }, this.iframe.contentWindow); + return response.body; + } catch (response) { + throw response.body; + } } /** @@ -315,7 +318,7 @@ export abstract class Embed { * @param {boolean} phasedRender * @returns {Promise} */ - load(phasedRender?: boolean): Promise { + async load(phasedRender?: boolean): Promise { if (!this.config.accessToken) { console.debug("Power BI SDK iframe is loaded but powerbi.embed is not called yet."); return; @@ -342,13 +345,12 @@ export abstract class Embed { this.lastLoadRequest = timeNow; - return this.service.hpm.post(path, this.config, headers, this.iframe.contentWindow) - .then(response => { - return response.body; - }, - response => { - throw response.body; - }); + try { + const response = await this.service.hpm.post(path, this.config, headers, this.iframe.contentWindow); + return response.body; + } catch (response) { + throw response.body; + } } /** @@ -424,8 +426,8 @@ export abstract class Embed { * report.reload(); * ``` */ - reload(): Promise { - return this.load(); + async reload(): Promise { + return await this.load(); } /** @@ -433,19 +435,19 @@ export abstract class Embed { * * @returns {Promise} */ - setAccessToken(accessToken: string): Promise { + async setAccessToken(accessToken: string): Promise { var embedType = this.config.type; embedType = (embedType === 'create' || embedType === 'visual' || embedType === 'qna') ? 'report' : embedType; - return this.service.hpm.post('/' + embedType + '/token', accessToken, { uid: this.config.uniqueId }, this.iframe.contentWindow) - .then(response => { - this.config.accessToken = accessToken; - this.element.setAttribute(Embed.accessTokenAttribute, accessToken); - this.service.accessToken = accessToken; - return response.body; - }) - .catch(response => { - throw response.body; - }); + try { + const response = await this.service.hpm.post('/' + embedType + '/token', accessToken, { uid: this.config.uniqueId }, this.iframe.contentWindow); + + this.config.accessToken = accessToken; + this.element.setAttribute(Embed.accessTokenAttribute, accessToken); + this.service.accessToken = accessToken; + return response.body; + } catch (response) { + throw response.body; + } } /** @@ -768,7 +770,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 { + private async frontLoadSendConfig(config: IEmbedConfigurationBase): Promise { if (!config.accessToken) { return; } @@ -782,11 +784,11 @@ export abstract class Embed { if (this.iframe.contentWindow == null) return; - return this.service.hpm.post("/frontload/config", config, { uid: this.config.uniqueId }, this.iframe.contentWindow).then(response => { + try { + const response = await this.service.hpm.post("/frontload/config", config, { uid: this.config.uniqueId }, this.iframe.contentWindow); return response.body; - }, - response => { - throw response.body; - }); + } catch (response) { + throw response.body; + } } } diff --git a/src/ifilterable.ts b/src/ifilterable.ts index caec70c1..42dff3a8 100644 --- a/src/ifilterable.ts +++ b/src/ifilterable.ts @@ -1,5 +1,5 @@ - import * as models from 'powerbi-models'; +import { IHttpPostMessageResponse } from 'http-post-message'; /** * Decorates embed components that support filters @@ -19,13 +19,13 @@ export interface IFilterable { * Replaces all filters on the current object with the specified filter values. * * @param {(models.IFilter[])} filters - * @returns {Promise} + * @returns {Promise>} */ - setFilters(filters: models.IFilter[]): Promise; + setFilters(filters: models.IFilter[]): Promise>; /** * Removes all filters from the current object. * - * @returns {Promise} + * @returns {Promise>} */ - removeFilters(): Promise; + removeFilters(): Promise>; } \ No newline at end of file diff --git a/src/page.ts b/src/page.ts index 6bee38e7..efc3daf6 100644 --- a/src/page.ts +++ b/src/page.ts @@ -1,3 +1,4 @@ +import { IHttpPostMessageResponse } from 'http-post-message'; import { IFilterable } from './ifilterable'; import { IReportNode } from './report'; import { VisualDescriptor } from './visualDescriptor'; @@ -103,12 +104,13 @@ export class Page implements IPageNode, IFilterable { * * @returns {(Promise)} */ - getFilters(): Promise { - return this.report.service.hpm.get(`/report/pages/${this.name}/filters`, { uid: this.report.config.uniqueId }, this.report.iframe.contentWindow) - .then(response => response.body, - response => { - throw response.body; - }); + async getFilters(): Promise { + try { + const response = await this.report.service.hpm.get(`/report/pages/${this.name}/filters`, { uid: this.report.config.uniqueId }, this.report.iframe.contentWindow); + return response.body; + } catch (response) { + throw response.body; + } } /** @@ -121,14 +123,13 @@ export class Page implements IPageNode, IFilterable { * * @returns {Promise} */ - delete(): Promise { - return this.report.service.hpm.delete(`/report/pages/${this.name}`, { }, { uid: this.report.config.uniqueId }, this.report.iframe.contentWindow) - .then(response => { + async delete(): Promise { + try { + const response = await this.report.service.hpm.delete(`/report/pages/${this.name}`, { }, { uid: this.report.config.uniqueId }, this.report.iframe.contentWindow); return response.body; - }) - .catch(response => { + } catch (response) { throw response.body; - }); + } } /** @@ -138,10 +139,10 @@ export class Page implements IPageNode, IFilterable { * page.removeFilters(); * ``` * - * @returns {Promise} + * @returns {Promise>} */ - removeFilters(): Promise { - return this.setFilters([]); + async removeFilters(): Promise> { + return await this.setFilters([]); } /** @@ -151,19 +152,20 @@ export class Page implements IPageNode, IFilterable { * page.setActive(); * ``` * - * @returns {Promise} + * @returns {Promise>} */ - setActive(): Promise { + async setActive(): Promise> { const page: models.IPage = { name: this.name, displayName: null, isActive: true }; - return this.report.service.hpm.put('/report/pages/active', page, { uid: this.report.config.uniqueId }, this.report.iframe.contentWindow) - .catch(response => { - throw response.body; - }); + try { + return await this.report.service.hpm.put('/report/pages/active', page, { uid: this.report.config.uniqueId }, this.report.iframe.contentWindow); + } catch (response) { + throw response.body; + } } /** @@ -175,13 +177,14 @@ export class Page implements IPageNode, IFilterable { * ``` * * @param {(models.IFilter[])} filters - * @returns {Promise} + * @returns {Promise>} */ - setFilters(filters: models.IFilter[]): Promise { - return this.report.service.hpm.put(`/report/pages/${this.name}/filters`, filters, { uid: this.report.config.uniqueId }, this.report.iframe.contentWindow) - .catch(response => { - throw response.body; - }); + async setFilters(filters: models.IFilter[]): Promise> { + try { + return await this.report.service.hpm.put(`/report/pages/${this.name}/filters`, filters, { uid: this.report.config.uniqueId }, this.report.iframe.contentWindow); + } catch (response) { + throw response.body; + } } /** @@ -191,18 +194,19 @@ export class Page implements IPageNode, IFilterable { * page.setName(displayName); * ``` * - * @returns {Promise} + * @returns {Promise>} */ - setDisplayName(displayName: string): Promise { + async setDisplayName(displayName: string): Promise> { const page: models.IPage = { name: this.name, displayName, }; - return this.report.service.hpm.put(`/report/pages/${this.name}/name`, page, { uid: this.report.config.uniqueId }, this.report.iframe.contentWindow) - .catch(response => { - throw response.body; - }); + try { + return await this.report.service.hpm.put(`/report/pages/${this.name}/name`, page, { uid: this.report.config.uniqueId }, this.report.iframe.contentWindow); + } catch (response) { + throw response.body; + } } /** @@ -215,20 +219,20 @@ export class Page implements IPageNode, IFilterable { * * @returns {Promise} */ - getVisuals(): Promise { + async getVisuals(): Promise { if (utils.isRDLEmbed(this.report.config.embedUrl)) { return Promise.reject(errors.APINotSupportedForRDLError); } - return this.report.service.hpm.get(`/report/pages/${this.name}/visuals`, { uid: this.report.config.uniqueId }, this.report.iframe.contentWindow) - .then(response => { - return response.body + try { + const response = await this.report.service.hpm.get(`/report/pages/${this.name}/visuals`, { uid: this.report.config.uniqueId }, this.report.iframe.contentWindow); + return response.body .map(visual => { return new VisualDescriptor(this, visual.name, visual.title, visual.type, visual.layout); }); - }, response => { + } catch (response) { throw response.body; - }); + } } /** @@ -241,16 +245,17 @@ export class Page implements IPageNode, IFilterable { * * @returns {(Promise)} */ - hasLayout(layoutType): Promise { + async hasLayout(layoutType): Promise { if (utils.isRDLEmbed(this.report.config.embedUrl)) { return Promise.reject(errors.APINotSupportedForRDLError); } let layoutTypeEnum = models.LayoutType[layoutType]; - return this.report.service.hpm.get(`/report/pages/${this.name}/layoutTypes/${layoutTypeEnum}`, { uid: this.report.config.uniqueId }, this.report.iframe.contentWindow) - .then(response => response.body, - response => { - throw response.body; - }); + try { + const response = await this.report.service.hpm.get(`/report/pages/${this.name}/layoutTypes/${layoutTypeEnum}`, { uid: this.report.config.uniqueId }, this.report.iframe.contentWindow); + return response.body; + } catch (response) { + throw response.body; + } } } \ No newline at end of file diff --git a/src/qna.ts b/src/qna.ts index 060442de..0fdd09c2 100644 --- a/src/qna.ts +++ b/src/qna.ts @@ -1,6 +1,7 @@ import * as service from './service'; import * as models from 'powerbi-models'; import * as embed from './embed'; +import { IHttpPostMessageResponse } from 'http-post-message'; /** * The Power BI Q&A embed component @@ -38,18 +39,19 @@ export class Qna extends embed.Embed { /** * Change the question of the Q&A embed component * - * @param question - question which will render Q&A data - * @returns {string} + * @param {string} question - question which will render Q&A data + * @returns {Promise>} */ - setQuestion(question: string): Promise { + async setQuestion(question: string): Promise> { const qnaData: models.IQnaInterpretInputData = { question: question }; - return this.service.hpm.post('/qna/interpret', qnaData, { uid: this.config.uniqueId }, this.iframe.contentWindow) - .catch(response => { - throw response.body; - }); + try { + return await this.service.hpm.post('/qna/interpret', qnaData, { uid: this.config.uniqueId }, this.iframe.contentWindow); + } catch (response) { + throw response.body; + } } /** diff --git a/src/report.ts b/src/report.ts index b919106d..1a3c1a03 100644 --- a/src/report.ts +++ b/src/report.ts @@ -7,6 +7,7 @@ import { IFilterable } from './ifilterable'; import { Page } from './page'; import { IReportLoadConfiguration, IReportEmbedConfiguration } from 'powerbi-models'; import { BookmarksManager } from './bookmarksManager'; +import { IHttpPostMessageResponse } from 'http-post-message'; /** * A Report node within a report hierarchy @@ -71,7 +72,7 @@ export class Report extends embed.Embed implements IReportNode, IFilterable { * @hidden * @static * @param {string} url - * @returns {string} + * @returns {string} */ static findIdFromEmbedUrl(url: string): string { const reportIdRegEx = /reportId="?([^&]+)"?/ @@ -101,14 +102,13 @@ export class Report extends embed.Embed implements IReportNode, IFilterable { * * @returns {Promise} */ - render(config?: IReportLoadConfiguration | embed.IReportEmbedConfiguration): Promise { - return this.service.hpm.post(`/report/render`, config, { uid: this.config.uniqueId }, this.iframe.contentWindow) - .then(response => { - return response.body; - }) - .catch(response => { - throw response.body; - }); + async render(config?: IReportLoadConfiguration | embed.IReportEmbedConfiguration): Promise { + try { + const response = await this.service.hpm.post(`/report/render`, config, { uid: this.config.uniqueId }, this.iframe.contentWindow); + return response.body; + } catch (response) { + throw response.body; + } } /** @@ -121,18 +121,18 @@ export class Report extends embed.Embed implements IReportNode, IFilterable { * * @returns {Promise} */ - addPage(displayName?: string): Promise { + async 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; - }); + try { + const response = await this.service.hpm.post(`/report/addPage`, request, { uid: this.config.uniqueId }, this.iframe.contentWindow); + var page = response.body; + return new Page(this, page.name, page.displayName, page.isActive, page.visibility, page.defaultSize, page.defaultDisplayOption); + } catch (response) { + throw response.body; + } } /** @@ -145,14 +145,13 @@ export class Report extends embed.Embed implements IReportNode, IFilterable { * * @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; - }); + async deletePage(pageName: string): Promise { + try { + const response = await this.service.hpm.delete(`/report/pages/${pageName}`, {}, { uid: this.config.uniqueId }, this.iframe.contentWindow); + return response.body; + } catch (response) { + throw response.body; + } } /** @@ -165,19 +164,18 @@ export class Report extends embed.Embed implements IReportNode, IFilterable { * * @returns {Promise} */ - renamePage(pageName: string, displayName: string): Promise { + async renamePage(pageName: string, displayName: string): Promise { const page: models.IPage = { name: pageName, displayName, }; - return this.service.hpm.put(`/report/pages/${pageName}/name`, page, { uid: this.config.uniqueId }, this.iframe.contentWindow) - .then(response => { - return response.body; - }) - .catch(response => { - throw response.body; - }); + try { + const response = await this.service.hpm.put(`/report/pages/${pageName}/name`, page, { uid: this.config.uniqueId }, this.iframe.contentWindow); + return response.body; + } catch (response) { + throw response.body; + } } /** @@ -193,16 +191,17 @@ export class Report extends embed.Embed implements IReportNode, IFilterable { * * @returns {Promise} */ - getFilters(): Promise { + async getFilters(): Promise { if (utils.isRDLEmbed(this.config.embedUrl)) { return Promise.reject(errors.APINotSupportedForRDLError); } - return this.service.hpm.get(`/report/filters`, { uid: this.config.uniqueId }, this.iframe.contentWindow) - .then(response => response.body, - response => { - throw response.body; - }); + try { + const response = await this.service.hpm.get(`/report/filters`, { uid: this.config.uniqueId }, this.iframe.contentWindow); + return response.body; + } catch (response) { + throw response.body; + } } /** @@ -233,20 +232,20 @@ export class Report extends embed.Embed implements IReportNode, IFilterable { * * @returns {Promise} */ - getPages(): Promise { + async getPages(): Promise { if (utils.isRDLEmbed(this.config.embedUrl)) { return Promise.reject(errors.APINotSupportedForRDLError); } - return this.service.hpm.get('/report/pages', { uid: this.config.uniqueId }, this.iframe.contentWindow) - .then(response => { - return response.body - .map(page => { - return new Page(this, page.name, page.displayName, page.isActive, page.visibility, page.defaultSize, page.defaultDisplayOption); - }); - }, response => { - throw response.body; - }); + try { + const response = await this.service.hpm.get('/report/pages', { uid: this.config.uniqueId }, this.iframe.contentWindow); + return response.body + .map(page => { + return new Page(this, page.name, page.displayName, page.isActive, page.visibility, page.defaultSize, page.defaultDisplayOption); + }); + } catch (response) { + throw response.body; + } } /** @@ -271,18 +270,17 @@ export class Report extends embed.Embed implements IReportNode, IFilterable { /** * Prints the active page of the report by invoking `window.print()` on the embed iframe component. */ - print(): Promise { + async print(): Promise { if (utils.isRDLEmbed(this.config.embedUrl)) { return Promise.reject(errors.APINotSupportedForRDLError); } - return this.service.hpm.post('/report/print', null, { uid: this.config.uniqueId }, this.iframe.contentWindow) - .then(response => { - return response.body; - }) - .catch(response => { - throw response.body; - }); + try { + const response = await this.service.hpm.post('/report/print', null, { uid: this.config.uniqueId }, this.iframe.contentWindow); + return response.body; + } catch (response) { + throw response.body; + } } /** @@ -292,14 +290,14 @@ export class Report extends embed.Embed implements IReportNode, IFilterable { * report.removeFilters(); * ``` * - * @returns {Promise} + * @returns {Promise>} */ - removeFilters(): Promise { + async removeFilters(): Promise> { if (utils.isRDLEmbed(this.config.embedUrl)) { return Promise.reject(errors.APINotSupportedForRDLError); } - return this.setFilters([]); + return await this.setFilters([]); } /** @@ -311,9 +309,9 @@ export class Report extends embed.Embed implements IReportNode, IFilterable { * ``` * * @param {string} pageName - * @returns {Promise} + * @returns {Promise>} */ - setPage(pageName: string): Promise { + async setPage(pageName: string): Promise> { if (utils.isRDLEmbed(this.config.embedUrl)) { return Promise.reject(errors.APINotSupportedForRDLError); } @@ -324,10 +322,11 @@ export class Report extends embed.Embed implements IReportNode, IFilterable { isActive: true }; - return this.service.hpm.put('/report/pages/active', page, { uid: this.config.uniqueId }, this.iframe.contentWindow) - .catch(response => { - throw response.body; - }); + try { + return await this.service.hpm.put('/report/pages/active', page, { uid: this.config.uniqueId }, this.iframe.contentWindow); + } catch (response) { + throw response.body; + } } /** @@ -345,18 +344,18 @@ export class Report extends embed.Embed implements IReportNode, IFilterable { * ``` * * @param {(models.IFilter[])} filters - * @returns {Promise} + * @returns {Promise>} */ - setFilters(filters: models.IFilter[]): Promise { + async setFilters(filters: models.IFilter[]): Promise> { if (utils.isRDLEmbed(this.config.embedUrl)) { return Promise.reject(errors.APINotSupportedForRDLError); } - - return this.service.hpm.put(`/report/filters`, filters, { uid: this.config.uniqueId }, this.iframe.contentWindow) - .catch(response => { - throw response.body; - }); + try { + return await this.service.hpm.put(`/report/filters`, filters, { uid: this.config.uniqueId }, this.iframe.contentWindow); + } catch (response) { + throw response.body; + } } /** @@ -373,17 +372,18 @@ export class Report extends embed.Embed implements IReportNode, IFilterable { * ``` * * @param {models.ISettings} settings - * @returns {Promise} + * @returns {Promise>} */ - updateSettings(settings: models.ISettings): Promise { + async updateSettings(settings: models.ISettings): Promise> { if (utils.isRDLEmbed(this.config.embedUrl) && settings.customLayout != null) { return Promise.reject(errors.APINotSupportedForRDLError); } - return this.service.hpm.patch('/report/settings', settings, { uid: this.config.uniqueId }, this.iframe.contentWindow) - .catch(response => { - throw response.body; - }); + try { + return await this.service.hpm.patch('/report/settings', settings, { uid: this.config.uniqueId }, this.iframe.contentWindow); + } catch (response) { + throw response.body; + } } /** @@ -438,7 +438,7 @@ export class Report extends embed.Embed implements IReportNode, IFilterable { * * @returns {Promise} */ - switchMode(viewMode: models.ViewMode | string): Promise { + async switchMode(viewMode: models.ViewMode | string): Promise { let newMode: string; if (typeof viewMode === "string") { newMode = viewMode; @@ -448,13 +448,12 @@ export class Report extends embed.Embed implements IReportNode, IFilterable { } let url = '/report/switchMode/' + newMode; - return this.service.hpm.post(url, null, { uid: this.config.uniqueId }, this.iframe.contentWindow) - .then(response => { - return response.body; - }) - .catch(response => { - throw response.body; - }); + try { + const response = await this.service.hpm.post(url, null, { uid: this.config.uniqueId }, this.iframe.contentWindow); + return response.body; + } catch (response) { + throw response.body; + } } /** @@ -464,14 +463,13 @@ export class Report extends embed.Embed implements IReportNode, IFilterable { * report.refresh(); * ``` */ - refresh(): Promise { - return this.service.hpm.post('/report/refresh', null, { uid: this.config.uniqueId }, this.iframe.contentWindow) - .then(response => { - return response.body; - }) - .catch(response => { - throw response.body; - }); + async refresh(): Promise { + try { + const response = await this.service.hpm.post('/report/refresh', null, { uid: this.config.uniqueId }, this.iframe.contentWindow); + return response.body; + } catch (response) { + throw response.body; + } } /** @@ -483,12 +481,12 @@ export class Report extends embed.Embed implements IReportNode, IFilterable { * * @returns {Promise} */ - isSaved(): Promise { + async isSaved(): Promise { if (utils.isRDLEmbed(this.config.embedUrl)) { return Promise.reject(errors.APINotSupportedForRDLError); } - return utils.isSavedInternal(this.service.hpm, this.config.uniqueId, this.iframe.contentWindow); + return await utils.isSavedInternal(this.service.hpm, this.config.uniqueId, this.iframe.contentWindow); } /** @@ -498,12 +496,12 @@ export class Report extends embed.Embed implements IReportNode, IFilterable { * report.applyTheme(theme); * ``` */ - applyTheme(theme: models.IReportTheme): Promise { + async applyTheme(theme: models.IReportTheme): Promise { if (utils.isRDLEmbed(this.config.embedUrl)) { return Promise.reject(errors.APINotSupportedForRDLError); } - return this.applyThemeInternal(theme); + return await this.applyThemeInternal(theme); } /** @@ -513,12 +511,12 @@ export class Report extends embed.Embed implements IReportNode, IFilterable { * report.resetTheme(); * ``` */ - resetTheme(): Promise { + async resetTheme(): Promise { if (utils.isRDLEmbed(this.config.embedUrl)) { return Promise.reject(errors.APINotSupportedForRDLError); } - return this.applyThemeInternal({}); + return await this.applyThemeInternal({}); } /** @@ -528,11 +526,12 @@ export class Report extends embed.Embed implements IReportNode, IFilterable { * report.resetPersistentFilters(); * ``` */ - resetPersistentFilters(): Promise { - return this.service.hpm.delete(`/report/userState`, null, { uid: this.config.uniqueId }, this.iframe.contentWindow) - .catch(response => { - throw response.body; - }); + async resetPersistentFilters(): Promise> { + try { + return await this.service.hpm.delete(`/report/userState`, null, { uid: this.config.uniqueId }, this.iframe.contentWindow); + } catch (response) { + throw response.body; + } } /** @@ -542,11 +541,12 @@ export class Report extends embed.Embed implements IReportNode, IFilterable { * report.savePersistentFilters(); * ``` */ - savePersistentFilters(): Promise { - return this.service.hpm.post(`/report/userState`, null, { uid: this.config.uniqueId }, this.iframe.contentWindow) - .catch(response => { - throw response.body; - }); + async savePersistentFilters(): Promise> { + try { + return await this.service.hpm.post(`/report/userState`, null, { uid: this.config.uniqueId }, this.iframe.contentWindow); + } catch (response) { + throw response.body; + } } /** @@ -559,25 +559,25 @@ export class Report extends embed.Embed implements IReportNode, IFilterable { * * @returns {Promise} */ - arePersistentFiltersApplied(): Promise { - return this.service.hpm.get(`/report/isUserStateApplied`, { uid: this.config.uniqueId }, this.iframe.contentWindow) - .then(response => response.body, - response => { - throw response.body; - }); + async arePersistentFiltersApplied(): Promise { + try { + const response = await this.service.hpm.get(`/report/isUserStateApplied`, { uid: this.config.uniqueId }, this.iframe.contentWindow); + return response.body; + } catch (response) { + throw response.body; + } } /** * @hidden */ - private applyThemeInternal(theme: models.IReportTheme): Promise { - return this.service.hpm.put('/report/theme', theme, { uid: this.config.uniqueId }, this.iframe.contentWindow) - .then(response => { - return response.body; - }) - .catch(response => { - throw response.body; - }); + private async applyThemeInternal(theme: models.IReportTheme): Promise { + try { + const response = await this.service.hpm.put('/report/theme', theme, { uid: this.config.uniqueId }, this.iframe.contentWindow); + return response.body; + } catch (response) { + throw response.body; + } } /** diff --git a/src/util.ts b/src/util.ts index 5130e2d9..0b0de8ae 100644 --- a/src/util.ts +++ b/src/util.ts @@ -154,12 +154,13 @@ export function addParamToUrl(url: string, paramName: string, value: string): st * @param {Window} contentWindow * @returns {Promise} */ -export function isSavedInternal(hpm: HttpPostMessage, uid: string, contentWindow: Window): Promise { - return hpm.get('/report/hasUnsavedChanges', { uid }, contentWindow) - .then(response => !response.body, - response => { - throw response.body; - }); +export async function isSavedInternal(hpm: HttpPostMessage, uid: string, contentWindow: Window): Promise { + try { + const response = await hpm.get('/report/hasUnsavedChanges', { uid }, contentWindow); + return !response.body; + } catch (response) { + throw response.body; + } } /** diff --git a/src/visual.ts b/src/visual.ts index 801f0333..8bcc4e4d 100644 --- a/src/visual.ts +++ b/src/visual.ts @@ -1,11 +1,10 @@ import * as service from './service'; import * as embed from './embed'; import * as models from 'powerbi-models'; -import * as utils from './util'; -import * as errors from './errors'; import { Report } from './report' import { Page } from './page'; import { VisualDescriptor } from './visualDescriptor'; +import { IHttpPostMessageResponse } from 'http-post-message'; /** * The Power BI Visual embed component @@ -108,9 +107,9 @@ export class Visual extends Report { * Sets the active page of the report - not supported in visual embed. * * @param {string} pageName - * @returns {Promise} + * @returns {Promise>} */ - setPage(pageName: string): Promise { + setPage(pageName: string): Promise> { throw Visual.SetPageNotSupportedError; } @@ -124,30 +123,30 @@ export class Visual extends Report { * * @returns {Promise} */ - getVisualDescriptor(): Promise { + async getVisualDescriptor(): Promise { const config = this.config; - return this.service.hpm.get(`/report/pages/${config.pageName}/visuals`, { uid: this.config.uniqueId }, this.iframe.contentWindow) - .then(response => { - // Find the embedded visual from visuals of this page - // TODO: Use the Array.find method when ES6 is available - const embeddedVisuals = response.body.filter(pageVisual => pageVisual.name === config.visualName); - - if (embeddedVisuals.length === 0) { - const visualNotFoundError: models.IError = { - message: "visualNotFound", - detailedMessage: "Visual not found" - }; - - throw visualNotFoundError; - } - - const embeddedVisual = embeddedVisuals[0]; - const currentPage = this.page(config.pageName); - return new VisualDescriptor(currentPage, embeddedVisual.name, embeddedVisual.title, embeddedVisual.type, embeddedVisual.layout); - }, response => { - throw response.body; - }); + try { + const response = await this.service.hpm.get(`/report/pages/${config.pageName}/visuals`, { uid: this.config.uniqueId }, this.iframe.contentWindow); + // Find the embedded visual from visuals of this page + // TODO: Use the Array.find method when ES6 is available + const embeddedVisuals = response.body.filter(pageVisual => pageVisual.name === config.visualName); + + if (embeddedVisuals.length === 0) { + const visualNotFoundError: models.IError = { + message: "visualNotFound", + detailedMessage: "Visual not found" + }; + + throw visualNotFoundError; + } + + const embeddedVisual = embeddedVisuals[0]; + const currentPage = this.page(config.pageName); + return new VisualDescriptor(currentPage, embeddedVisual.name, embeddedVisual.title, embeddedVisual.type, embeddedVisual.layout); + } catch (response) { + throw response.body; + } } /** @@ -163,13 +162,14 @@ export class Visual extends Report { * * @returns {Promise} */ - getFilters(filtersLevel?: models.FiltersLevel): Promise { + async getFilters(filtersLevel?: models.FiltersLevel): Promise { const url: string = this.getFiltersLevelUrl(filtersLevel); - return this.service.hpm.get(url, { uid: this.config.uniqueId }, this.iframe.contentWindow) - .then(response => response.body, - response => { - throw response.body; - }); + try { + const response = await this.service.hpm.get(url, { uid: this.config.uniqueId }, this.iframe.contentWindow); + return response.body; + } catch (response) { + throw response.body; + } } /** @@ -188,14 +188,15 @@ export class Visual extends Report { * ``` * * @param {(models.IFilter[])} filters - * @returns {Promise} + * @returns {Promise>} */ - setFilters(filters: models.IFilter[], filtersLevel?: models.FiltersLevel): Promise { + async setFilters(filters: models.IFilter[], filtersLevel?: models.FiltersLevel): Promise> { const url: string = this.getFiltersLevelUrl(filtersLevel); - return this.service.hpm.put(url, filters, { uid: this.config.uniqueId }, this.iframe.contentWindow) - .catch(response => { - throw response.body; - }); + try { + return await this.service.hpm.put(url, filters, { uid: this.config.uniqueId }, this.iframe.contentWindow); + } catch (response) { + throw response.body; + } } /** @@ -206,10 +207,10 @@ export class Visual extends Report { * visual.removeFilters(filtersLevel); * ``` * - * @returns {Promise} + * @returns {Promise>} */ - removeFilters(filtersLevel?: models.FiltersLevel): Promise { - return this.setFilters([], filtersLevel); + async removeFilters(filtersLevel?: models.FiltersLevel): Promise> { + return await this.setFilters([], filtersLevel); } /** diff --git a/src/visualDescriptor.ts b/src/visualDescriptor.ts index 0c7e84ed..764213ef 100644 --- a/src/visualDescriptor.ts +++ b/src/visualDescriptor.ts @@ -1,6 +1,7 @@ import * as models from 'powerbi-models'; import { IFilterable } from './ifilterable'; import { IPageNode } from './page'; +import { IHttpPostMessageResponse } from 'http-post-message'; /** * A Visual node within a report hierarchy @@ -80,12 +81,13 @@ export class VisualDescriptor implements IVisualNode, IFilterable { * * @returns {(Promise)} */ - getFilters(): Promise { - return this.page.report.service.hpm.get(`/report/pages/${this.page.name}/visuals/${this.name}/filters`, { uid: this.page.report.config.uniqueId }, this.page.report.iframe.contentWindow) - .then(response => response.body, - response => { - throw response.body; - }); + async getFilters(): Promise { + try { + const response = await this.page.report.service.hpm.get(`/report/pages/${this.page.name}/visuals/${this.name}/filters`, { uid: this.page.report.config.uniqueId }, this.page.report.iframe.contentWindow); + return response.body; + } catch (response) { + throw response.body; + } } /** @@ -95,10 +97,10 @@ export class VisualDescriptor implements IVisualNode, IFilterable { * visual.removeFilters(); * ``` * - * @returns {Promise} + * @returns {Promise>} */ - removeFilters(): Promise { - return this.setFilters([]); + async removeFilters(): Promise> { + return await this.setFilters([]); } /** @@ -110,13 +112,14 @@ export class VisualDescriptor implements IVisualNode, IFilterable { * ``` * * @param {(models.IFilter[])} filters - * @returns {Promise} + * @returns {Promise>} */ - setFilters(filters: models.IFilter[]): Promise { - return this.page.report.service.hpm.put(`/report/pages/${this.page.name}/visuals/${this.name}/filters`, filters, { uid: this.page.report.config.uniqueId }, this.page.report.iframe.contentWindow) - .catch(response => { - throw response.body; - }); + async setFilters(filters: models.IFilter[]): Promise> { + try { + return await this.page.report.service.hpm.put(`/report/pages/${this.page.name}/visuals/${this.name}/filters`, filters, { uid: this.page.report.config.uniqueId }, this.page.report.iframe.contentWindow); + } catch (response) { + throw response.body; + } } /** @@ -131,17 +134,18 @@ export class VisualDescriptor implements IVisualNode, IFilterable { * * @returns {(Promise)} */ - exportData(exportDataType?: models.ExportDataType, rows?: number): Promise { + async exportData(exportDataType?: models.ExportDataType, rows?: number): Promise { let exportDataRequestBody: models.IExportDataRequest = { rows: rows, exportDataType: exportDataType }; - return this.page.report.service.hpm.post(`/report/pages/${this.page.name}/visuals/${this.name}/exportData`, exportDataRequestBody, { uid: this.page.report.config.uniqueId }, this.page.report.iframe.contentWindow) - .then(response => response.body, - response => { - throw response.body; - }); + try { + const response = await this.page.report.service.hpm.post(`/report/pages/${this.page.name}/visuals/${this.name}/exportData`, exportDataRequestBody, { uid: this.page.report.config.uniqueId }, this.page.report.iframe.contentWindow); + return response.body; + } catch (response) { + throw response.body; + } } /** @@ -153,11 +157,12 @@ export class VisualDescriptor implements IVisualNode, IFilterable { * .then(() => { ... }); * ``` */ - setSlicerState(state: models.ISlicerState): Promise { - return this.page.report.service.hpm.put(`/report/pages/${this.page.name}/visuals/${this.name}/slicer`, state, { uid: this.page.report.config.uniqueId }, this.page.report.iframe.contentWindow) - .catch(response => { - throw response.body; - }); + async setSlicerState(state: models.ISlicerState): Promise> { + try { + return await this.page.report.service.hpm.put(`/report/pages/${this.page.name}/visuals/${this.name}/slicer`, state, { uid: this.page.report.config.uniqueId }, this.page.report.iframe.contentWindow); + } catch (response) { + throw response.body; + } } /** @@ -171,12 +176,13 @@ export class VisualDescriptor implements IVisualNode, IFilterable { * * @returns {(Promise)} */ - getSlicerState(): Promise { - return this.page.report.service.hpm.get(`/report/pages/${this.page.name}/visuals/${this.name}/slicer`, { uid: this.page.report.config.uniqueId }, this.page.report.iframe.contentWindow) - .then(response => response.body, - response => { - throw response.body; - }); + async getSlicerState(): Promise { + try { + const response = await this.page.report.service.hpm.get(`/report/pages/${this.page.name}/visuals/${this.name}/slicer`, { uid: this.page.report.config.uniqueId }, this.page.report.iframe.contentWindow); + return response.body; + } catch (response) { + throw response.body; + } } /** @@ -184,12 +190,13 @@ export class VisualDescriptor implements IVisualNode, IFilterable { * * @returns {(Promise)} */ - clone(request: models.ICloneVisualRequest = {}): Promise { - return this.page.report.service.hpm.post(`/report/pages/${this.page.name}/visuals/${this.name}/clone`, request, { uid: this.page.report.config.uniqueId }, this.page.report.iframe.contentWindow) - .then(response => response.body, - response => { - throw response.body; - }); + async clone(request: models.ICloneVisualRequest = {}): Promise { + try { + const response = await this.page.report.service.hpm.post(`/report/pages/${this.page.name}/visuals/${this.name}/clone`, request, { uid: this.page.report.config.uniqueId }, this.page.report.iframe.contentWindow); + return response.body; + } catch (response) { + throw response.body; + } } /** @@ -202,10 +209,11 @@ export class VisualDescriptor implements IVisualNode, IFilterable { * .then(() => { ... }); * ``` */ - sortBy(request: models.ISortByVisualRequest): Promise { - return this.page.report.service.hpm.put(`/report/pages/${this.page.name}/visuals/${this.name}/sortBy`, request, { uid: this.page.report.config.uniqueId }, this.page.report.iframe.contentWindow) - .catch(response => { - throw response.body; - }); + async sortBy(request: models.ISortByVisualRequest): Promise> { + try { + return await this.page.report.service.hpm.put(`/report/pages/${this.page.name}/visuals/${this.name}/sortBy`, request, { uid: this.page.report.config.uniqueId }, this.page.report.iframe.contentWindow); + } catch (response) { + throw response.body; + } } } diff --git a/test/test.spec.ts b/test/test.spec.ts index 4a9e8fba..c1a14dd3 100644 --- a/test/test.spec.ts +++ b/test/test.spec.ts @@ -1118,7 +1118,7 @@ describe('embed', function () { var report = powerbi.get($container[0]); report.fullscreen(); - expect(document.webkitFullscreenElement === $iframe[0]); + expect(document["webkitFullscreenElement"] === $iframe[0]); }); }); @@ -1128,7 +1128,7 @@ describe('embed', function () { report.fullscreen(); report.exitFullscreen(); - expect(document.webkitFullscreenElement !== $iframe[0]); + expect(document["webkitFullscreenElement"] !== $iframe[0]); }); }); }); @@ -1596,6 +1596,7 @@ describe('Protocol', function () { // Assert expect(spyApp.getPages).toHaveBeenCalled(); const pages = response.body; + // @ts-ignore as testData is not of type IFilter expect(pages).toEqual(testData.expectedPages); // Cleanup spyApp.getPages.calls.reset(); @@ -1909,6 +1910,7 @@ describe('Protocol', function () { // Assert expect(spyApp.getFilters).toHaveBeenCalled(); expect(response.statusCode).toEqual(200); + // @ts-ignore as testData is not of type IFilter expect(response.body).toEqual(testData.filters); // Cleanup spyApp.getFilters.calls.reset(); @@ -2061,6 +2063,7 @@ describe('Protocol', function () { // Assert expect(spyApp.getFilters).toHaveBeenCalled(); expect(response.statusCode).toEqual(200); + // @ts-ignore as testData is not of type IFilter expect(response.body).toEqual(testData.filters); // Cleanup spyApp.getFilters.calls.reset(); @@ -2217,6 +2220,7 @@ describe('Protocol', function () { // Assert expect(spyApp.getFilters).toHaveBeenCalled(); expect(response.statusCode).toEqual(200); + // @ts-ignore as testData is not of type IFilter expect(response.body).toEqual(testData.filters); // Cleanup spyApp.getFilters.calls.reset(); @@ -3909,6 +3913,7 @@ describe('SDK-to-HPM', function () { .then(filters => { // Assert expect(spyHpm.get).toHaveBeenCalledWith(`/report/pages/${page1.name}/filters`, { uid: uniqueId }, iframe.contentWindow); + // @ts-ignore as testData is not of type IFilter expect(filters).toEqual(testData.expectedResponse.body); done(); }); @@ -4155,6 +4160,7 @@ describe('SDK-to-HPM', function () { .then(filters => { // Assert expect(spyHpm.get).toHaveBeenCalledWith(`/report/pages/${page1.name}/visuals/${visual1.name}/filters`, { uid: uniqueId }, iframe.contentWindow); + // @ts-ignore as testData is not of type IFilter expect(filters).toEqual(testData.expectedResponse.body); done(); }); @@ -4269,6 +4275,13 @@ describe('SDK-to-HPM', function () { } }; + const expectedHeaders = { + bootstrapped: undefined, + sdkVersion: sdkConfig.default.version, + uid: uniqueId, + sdkSessionId: sdkSessionId + }; + spyHpm.post.and.returnValue(Promise.resolve(testData.response)); report.applyTheme(testData.theme) .then(() => { @@ -4278,7 +4291,7 @@ describe('SDK-to-HPM', function () { report.reload(); // Assert - expect(spyHpm.post).toHaveBeenCalledWith('/report/load', jasmine.objectContaining(testData.theme), { uid: uniqueId, sdkSessionId: sdkSessionId }, iframe.contentWindow); + expect(spyHpm.post).toHaveBeenCalledWith('/report/load', jasmine.objectContaining(testData.theme), expectedHeaders, iframe.contentWindow); }); }); @@ -4288,6 +4301,13 @@ describe('SDK-to-HPM', function () { body: null }; + const expectedHeaders = { + bootstrapped: undefined, + sdkVersion: sdkConfig.default.version, + uid: uniqueId, + sdkSessionId: sdkSessionId + }; + spyHpm.post.and.returnValue(Promise.resolve(response)); report.resetTheme() .then(() => { @@ -4297,7 +4317,7 @@ describe('SDK-to-HPM', function () { report.reload(); // Assert - expect(spyHpm.post).toHaveBeenCalledWith('/report/load', jasmine.objectContaining({}), { uid: uniqueId, sdkSessionId: sdkSessionId }, iframe.contentWindow); + expect(spyHpm.post).toHaveBeenCalledWith('/report/load', jasmine.objectContaining({}), expectedHeaders, iframe.contentWindow); }); }); }); @@ -4763,6 +4783,7 @@ describe('SDK-to-MockApp', function () { .then(filters => { // Assert expect(spyApp.getFilters).toHaveBeenCalled(); + // @ts-ignore as testData is not of type IFilter expect(filters).toEqual(testData.filters); done(); }); @@ -4969,6 +4990,7 @@ describe('SDK-to-MockApp', function () { .then(filters => { // Assert expect(spyApp.getFilters).toHaveBeenCalled(); + // @ts-ignore as testData is not of type IFilter as testData is not of type IFilter expect(filters).toEqual(testData.filters); done(); }); diff --git a/tsconfig.json b/tsconfig.json index 50e055dc..b47a4de3 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -8,11 +8,6 @@ }, "exclude": [ "node_modules", - "typings/main", - "typings/main.d.ts", - "typings/browser", - "typings/browser.d.ts", - "typings/index.d.ts", "demo", "dist", "docs", diff --git a/typings.json b/typings.json deleted file mode 100644 index 2229075a..00000000 --- a/typings.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "name": "powerbi-client", - "dependencies": {}, - "globalDependencies": { - "es6-promise": "registry:dt/es6-promise#0.0.0+20160423074304", - "jasmine": "registry:dt/jasmine#2.2.0+20160505161446", - "jquery": "registry:dt/jquery#1.10.0+20160417213236", - "jsen": "registry:dt/jsen#0.0.0+20160328204314", - "karma-jasmine": "registry:dt/karma-jasmine#0.0.0+20160316155526" - } -} diff --git a/webpack.config.js b/webpack.config.js index ce1dd83e..257f38a7 100644 --- a/webpack.config.js +++ b/webpack.config.js @@ -12,10 +12,10 @@ module.exports = { }, devtool: 'source-map', resolve: { - extensions: ['', '.webpack.js', '.web.js', '.ts', '.js'] + extensions: ['.webpack.js', '.web.js', '.ts', '.js'] }, module: { - loaders: [ + rules: [ { test: /\.map$/, loader: 'ignore-loader' }, { test: /\.d.ts$/, loader: 'ignore-loader' }, { test: /\.ts$/, exclude: /\.d.ts$/, loader: 'ts-loader' }, diff --git a/webpack.test.config.js b/webpack.test.config.js index b7f4ee28..e0ebe539 100644 --- a/webpack.test.config.js +++ b/webpack.test.config.js @@ -1,4 +1,7 @@ +const webpack = require('webpack'); // To access built-in plugins + module.exports = { + mode: 'development', entry: './test/test.spec.ts', output: { path: __dirname + "/tmp", @@ -6,17 +9,21 @@ module.exports = { }, devtool: 'source-map', resolve: { - extensions: ['', '.webpack.js', '.web.js', '.ts', '.js'] + extensions: ['.webpack.js', '.web.js', '.ts', '.js'] }, module: { - loaders: [ + rules: [ { test: /\.map$/, loader: 'ignore-loader' }, { test: /\.d.ts$/, loader: 'ignore-loader' }, { test: /\.ts$/, exclude: /\.d.ts$/, loader: 'ts-loader' }, { test: /\.json$/, loader: 'json-loader' } ] }, - ts: { - configFileName: "webpack.test.tsconfig.json" - } + plugins: [ + new webpack.LoaderOptionsPlugin({ + ts: { + configFileName: "webpack.test.tsconfig.json" + } + }) + ], } \ No newline at end of file diff --git a/webpack.test.tsconfig.json b/webpack.test.tsconfig.json index b8012b00..f934fe43 100644 --- a/webpack.test.tsconfig.json +++ b/webpack.test.tsconfig.json @@ -6,11 +6,6 @@ }, "exclude": [ "node_modules", - "typings/main", - "typings/main.d.ts", - "typings/browser", - "typings/browser.d.ts", - "typings/index.d.ts", "demo", "dist", "docs", From 9c18221d1661051ae793fbe9b87af55835f2ec68 Mon Sep 17 00:00:00 2001 From: Mayur Garhwal Date: Fri, 4 Dec 2020 10:36:01 +0000 Subject: [PATCH 038/125] Merged PR 131679: Remove typings install from pipeline restore task ## In this PR: - Remove typings install from pipeline restore task Related work items: #472167 --- .pipelines/restore.ps1 | 9 --------- 1 file changed, 9 deletions(-) diff --git a/.pipelines/restore.ps1 b/.pipelines/restore.ps1 index 6c5c5125..3aa88f61 100644 --- a/.pipelines/restore.ps1 +++ b/.pipelines/restore.ps1 @@ -15,17 +15,8 @@ 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" From 6d81a1757baa06acebbb158a65b70e084d2bc70a Mon Sep 17 00:00:00 2001 From: Saleh Mahameed Date: Mon, 7 Dec 2020 10:04:10 +0000 Subject: [PATCH 039/125] Merged PR 131977: Capture bug fix Fixed error on capturing without options object. Related work items: #471445 --- src/bookmarksManager.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/bookmarksManager.ts b/src/bookmarksManager.ts index 83c03cc3..cd2b2434 100644 --- a/src/bookmarksManager.ts +++ b/src/bookmarksManager.ts @@ -128,7 +128,7 @@ export class BookmarksManager implements IBookmarksManager { } var request: models.ICaptureBookmarkRequest = { - options: options + options: options || {} }; try { From 6f30306a4750582099e7975e25b484664c627f09 Mon Sep 17 00:00:00 2001 From: Mayur Garhwal Date: Mon, 7 Dec 2020 11:20:03 +0000 Subject: [PATCH 040/125] Merged PR 132031: Upgrade version to 2.16.1 version upgraded to 2.16.1 Related work items: #473909 --- dist/powerbi-client.d.ts | 2 +- dist/powerbi.js | 6 +++--- dist/powerbi.min.js | 6 +++--- package.json | 2 +- src/config.ts | 2 +- 5 files changed, 9 insertions(+), 9 deletions(-) diff --git a/dist/powerbi-client.d.ts b/dist/powerbi-client.d.ts index 8a49ada6..327eb7be 100644 --- a/dist/powerbi-client.d.ts +++ b/dist/powerbi-client.d.ts @@ -1,4 +1,4 @@ -/*! powerbi-client v2.16.0 | (c) 2016 Microsoft Corporation MIT */ +/*! powerbi-client v2.16.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 52083736..a3c7ed40 100644 --- a/dist/powerbi.js +++ b/dist/powerbi.js @@ -1,4 +1,4 @@ -/*! powerbi-client v2.16.0 | (c) 2016 Microsoft Corporation MIT */ +/*! powerbi-client v2.16.1 | (c) 2016 Microsoft Corporation MIT */ (function webpackUniversalModuleDefinition(root, factory) { if(typeof exports === 'object' && typeof module === 'object') module.exports = factory(); @@ -5795,7 +5795,7 @@ var BookmarksManager = /** @class */ (function () { return [2 /*return*/, Promise.reject(errors.APINotSupportedForRDLError)]; } request = { - options: options + options: options || {} }; _a.label = 1; case 1: @@ -5864,7 +5864,7 @@ exports.BookmarksManager = BookmarksManager; Object.defineProperty(exports, "__esModule", { value: true }); /** @ignore */ /** */ var config = { - version: '2.16.0', + version: '2.16.1', type: 'js' }; exports.default = config; diff --git a/dist/powerbi.min.js b/dist/powerbi.min.js index f1220a9f..07ef0854 100644 --- a/dist/powerbi.min.js +++ b/dist/powerbi.min.js @@ -1,10 +1,10 @@ -/*! powerbi-client v2.16.0 | (c) 2016 Microsoft Corporation MIT */ +/*! powerbi-client v2.16.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()}(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=12)}([function(t,e,r){/*! powerbi-models v1.7.0 | (c) 2016 Microsoft Corporation MIT */ var a;window,a=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){if(t.filterType)return t.filterType;var e=t,r=t;return"string"==typeof e.operator&&Array.isArray(e.values)?u.Basic:"string"==typeof r.logicalOperator&&Array.isArray(r.conditions)?u.Advanced:u.Unknown}function i(t){return!(!t.table||!t.column||t.aggregationFunction)}function o(t){return t&&!!t.groupName}function n(t){return Array.isArray(t)}function l(t){var e=t.message;return e||(e=t.path+" is invalid. Not meeting "+t.keyword+" constraint"),{message:e}}var s,d=this&&this.__extends||(s=function(t,e){return(s=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])})(t,e)},function(t,e){function r(){this.constructor=t}s(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.validateCustomTheme=e.validateCommandsSettings=e.validateVisualSettings=e.validateVisualHeader=e.validateExportDataRequest=e.validateQnaInterpretInputData=e.validateLoadQnaConfiguration=e.validateSaveAsParameters=e.validateFilter=e.validatePage=e.validateTileLoad=e.validateDashboardLoad=e.validateCreateReport=e.validateReportLoad=e.validateMenuGroupExtension=e.validateExtension=e.validateCustomPageSize=e.validateVisualizationsPane=e.validateSyncSlicersPane=e.validateSelectionPane=e.validatePageNavigationPane=e.validateFieldsPane=e.validateFiltersPane=e.validateBookmarksPane=e.validatePanes=e.validateSettings=e.validateCaptureBookmarkRequest=e.validateApplyBookmarkStateRequest=e.validateApplyBookmarkByNameRequest=e.validateAddBookmarkRequest=e.validatePlayBookmarkRequest=e.validateSlicerState=e.validateSlicer=e.validateVisualSelector=e.isIExtensionArray=e.isIExtensions=e.isGroupedMenuExtension=e.isFlatMenuExtension=e.VisualDataRoleKindPreference=e.VisualDataRoleKind=e.CommandDisplayOption=e.SlicerTargetSelector=e.VisualTypeSelector=e.VisualSelector=e.PageSelector=e.Selector=e.SortDirection=e.LegendPosition=e.TextAlignment=e.CommonErrorCodes=e.BookmarksPlayMode=e.ExportDataType=e.QnaMode=e.PageNavigationPosition=e.isColumnAggr=e.isHierarchyLevelAggr=e.isHierarchyLevel=e.isColumn=e.isMeasure=e.getFilterType=e.isBasicFilterWithKeys=e.isFilterKeyColumnsTarget=e.AdvancedFilter=e.TupleFilter=e.BasicFilterWithKeys=e.BasicFilter=e.RelativeTimeFilter=e.RelativeDateFilter=e.TopNFilter=e.IncludeExcludeFilter=e.NotSupportedFilter=e.Filter=e.RelativeDateOperators=e.RelativeDateFilterTimeUnit=e.FilterType=e.FiltersLevel=e.MenuLocation=e.ContrastMode=e.TokenType=e.ViewMode=e.Permissions=e.SectionVisibility=e.HyperlinkClickBehavior=e.LayoutType=e.VisualContainerDisplayMode=e.BackgroundType=e.DisplayOption=e.PageSizeType=e.TraceType=void 0;var u,c=r(1);!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"}(e.TraceType||(e.TraceType={})),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"}(e.PageSizeType||(e.PageSizeType={})),function(t){t[t.FitToPage=0]="FitToPage",t[t.FitToWidth=1]="FitToWidth",t[t.ActualSize=2]="ActualSize"}(e.DisplayOption||(e.DisplayOption={})),function(t){t[t.Default=0]="Default",t[t.Transparent=1]="Transparent"}(e.BackgroundType||(e.BackgroundType={})),function(t){t[t.Visible=0]="Visible",t[t.Hidden=1]="Hidden"}(e.VisualContainerDisplayMode||(e.VisualContainerDisplayMode={})),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={})),function(t){t[t.Navigate=0]="Navigate",t[t.NavigateAndRaiseEvent=1]="NavigateAndRaiseEvent",t[t.RaiseEvent=2]="RaiseEvent"}(e.HyperlinkClickBehavior||(e.HyperlinkClickBehavior={})),function(t){t[t.AlwaysVisible=0]="AlwaysVisible",t[t.HiddenInViewMode=1]="HiddenInViewMode"}(e.SectionVisibility||(e.SectionVisibility={})),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"}(e.Permissions||(e.Permissions={})),function(t){t[t.View=0]="View",t[t.Edit=1]="Edit"}(e.ViewMode||(e.ViewMode={})),function(t){t[t.Aad=0]="Aad",t[t.Embed=1]="Embed"}(e.TokenType||(e.TokenType={})),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"}(e.ContrastMode||(e.ContrastMode={})),function(t){t[t.Bottom=0]="Bottom",t[t.Top=1]="Top"}(e.MenuLocation||(e.MenuLocation={})),function(t){t[t.Report=0]="Report",t[t.Page=1]="Page",t[t.Visual=2]="Visual"}(e.FiltersLevel||(e.FiltersLevel={})),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"}(u=e.FilterType||(e.FilterType={})),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"}(e.RelativeDateFilterTimeUnit||(e.RelativeDateFilterTimeUnit={})),function(t){t[t.InLast=0]="InLast",t[t.InThis=1]="InThis",t[t.InNext=2]="InNext"}(e.RelativeDateOperators||(e.RelativeDateOperators={}));var p=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=p;var f=function(t){function e(r,a,i){var o=t.call(this,r,u.Unknown)||this;return o.message=a,o.notSupportedTypeName=i,o.schemaUrl=e.schemaUrl,o}return d(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}(p);e.NotSupportedFilter=f;var h=function(t){function e(r,a,i){var o=t.call(this,r,u.IncludeExclude)||this;return o.values=i,o.isExclude=a,o.schemaUrl=e.schemaUrl,o}return d(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}(p);e.IncludeExcludeFilter=h;var v=function(t){function e(r,a,i,o){var n=t.call(this,r,u.TopN)||this;return n.operator=a,n.itemCount=i,n.schemaUrl=e.schemaUrl,n.orderBy=o,n}return d(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}(p);e.TopNFilter=v;var y=function(t){function e(r,a,i,o,n){var l=t.call(this,r,u.RelativeDate)||this;return l.operator=a,l.timeUnitsCount=i,l.timeUnitType=o,l.includeToday=n,l.schemaUrl=e.schemaUrl,l}return d(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}(p);e.RelativeDateFilter=y;var m=function(t){function e(r,a,i,o){var n=t.call(this,r,u.RelativeTime)||this;return n.operator=a,n.timeUnitsCount=i,n.timeUnitType=o,n.schemaUrl=e.schemaUrl,n}return d(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}(p);e.RelativeTimeFilter=m;var V=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,s=o.keyValues;l2)throw new Error("AdvancedFilters may not have more than two conditions. You passed: "+i.length);if(1===n.length&&"And"!==a)throw new Error('Logical Operator must be "And" when there is only one condition provided');return l.conditions=n,l}return d(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}(p);e.AdvancedFilter=w,e.isFilterKeyColumnsTarget=function(t){return i(t)&&!!t.keys},e.isBasicFilterWithKeys=function(t){return a(t)===u.Basic&&!!t.keyValues},e.getFilterType=a,e.isMeasure=function(t){return void 0!==t.table&&void 0!==t.measure},e.isColumn=i,e.isHierarchyLevel=function(t){return!(!(t.table&&t.hierarchy&&t.hierarchyLevel)||t.aggregationFunction)},e.isHierarchyLevelAggr=function(t){return!!(t.table&&t.hierarchy&&t.hierarchyLevel&&t.aggregationFunction)},e.isColumnAggr=function(t){return!!(t.table&&t.column&&t.aggregationFunction)},function(t){t[t.Bottom=0]="Bottom",t[t.Left=1]="Left"}(e.PageNavigationPosition||(e.PageNavigationPosition={})),function(t){t[t.Interactive=0]="Interactive",t[t.ResultOnly=1]="ResultOnly"}(e.QnaMode||(e.QnaMode={})),function(t){t[t.Summarized=0]="Summarized",t[t.Underlying=1]="Underlying"}(e.ExportDataType||(e.ExportDataType={})),function(t){t[t.Off=0]="Off",t[t.Presentation=1]="Presentation"}(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"},function(t){t[t.Ascending=1]="Ascending",t[t.Descending=2]="Descending"}(e.SortDirection||(e.SortDirection={}));var P=function(){function t(t){this.$schema=t}return t.prototype.toJSON=function(){return{$schema:this.$schema}},t}();e.Selector=P;var _=function(t){function e(r){var a=t.call(this,e.schemaUrl)||this;return a.pageName=r,a}return d(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}(P);e.PageSelector=_;var S=function(t){function e(r){var a=t.call(this,e.schemaUrl)||this;return a.visualName=r,a}return d(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}(P);e.VisualSelector=S;var E=function(t){function e(e){var r=t.call(this,S.schemaUrl)||this;return r.visualType=e,r}return d(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}(P);e.VisualTypeSelector=E;var O=function(t){function e(e){var r=t.call(this,S.schemaUrl)||this;return r.target=e,r}return d(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}(P);e.SlicerTargetSelector=O,function(t){t[t.Enabled=0]="Enabled",t[t.Disabled=1]="Disabled",t[t.Hidden=2]="Hidden"}(e.CommandDisplayOption||(e.CommandDisplayOption={})),function(t){t[t.Grouping=0]="Grouping",t[t.Measure=1]="Measure",t[t.GroupingOrMeasure=2]="GroupingOrMeasure"}(e.VisualDataRoleKind||(e.VisualDataRoleKind={})),function(t){t[t.Measure=0]="Measure",t[t.Grouping=1]="Grouping"}(e.VisualDataRoleKindPreference||(e.VisualDataRoleKindPreference={})),e.isFlatMenuExtension=function(t){return t&&!o(t)},e.isGroupedMenuExtension=o,e.isIExtensions=function(t){return t&&!n(t)},e.isIExtensionArray=n,e.validateVisualSelector=function(t){var e=c.Validators.visualSelectorValidator.validate(t);return e?e.map(l):void 0},e.validateSlicer=function(t){var e=c.Validators.slicerValidator.validate(t);return e?e.map(l):void 0},e.validateSlicerState=function(t){var e=c.Validators.slicerStateValidator.validate(t);return e?e.map(l):void 0},e.validatePlayBookmarkRequest=function(t){var e=c.Validators.playBookmarkRequestValidator.validate(t);return e?e.map(l):void 0},e.validateAddBookmarkRequest=function(t){var e=c.Validators.addBookmarkRequestValidator.validate(t);return e?e.map(l):void 0},e.validateApplyBookmarkByNameRequest=function(t){var e=c.Validators.applyBookmarkByNameRequestValidator.validate(t);return e?e.map(l):void 0},e.validateApplyBookmarkStateRequest=function(t){var e=c.Validators.applyBookmarkStateRequestValidator.validate(t);return e?e.map(l):void 0},e.validateCaptureBookmarkRequest=function(t){var e=c.Validators.captureBookmarkRequestValidator.validate(t);return e?e.map(l):void 0},e.validateSettings=function(t){var e=c.Validators.settingsValidator.validate(t);return e?e.map(l):void 0},e.validatePanes=function(t){var e=c.Validators.reportPanesValidator.validate(t);return e?e.map(l):void 0},e.validateBookmarksPane=function(t){var e=c.Validators.bookmarksPaneValidator.validate(t);return e?e.map(l):void 0},e.validateFiltersPane=function(t){var e=c.Validators.filtersPaneValidator.validate(t);return e?e.map(l):void 0},e.validateFieldsPane=function(t){var e=c.Validators.fieldsPaneValidator.validate(t);return e?e.map(l):void 0},e.validatePageNavigationPane=function(t){var e=c.Validators.pageNavigationPaneValidator.validate(t);return e?e.map(l):void 0},e.validateSelectionPane=function(t){var e=c.Validators.selectionPaneValidator.validate(t);return e?e.map(l):void 0},e.validateSyncSlicersPane=function(t){var e=c.Validators.syncSlicersPaneValidator.validate(t);return e?e.map(l):void 0},e.validateVisualizationsPane=function(t){var e=c.Validators.visualizationsPaneValidator.validate(t);return e?e.map(l):void 0},e.validateCustomPageSize=function(t){var e=c.Validators.customPageSizeValidator.validate(t);return e?e.map(l):void 0},e.validateExtension=function(t){var e=c.Validators.extensionValidator.validate(t);return e?e.map(l):void 0},e.validateMenuGroupExtension=function(t){var e=c.Validators.menuGroupExtensionValidator.validate(t);return e?e.map(l):void 0},e.validateReportLoad=function(t){var e=c.Validators.reportLoadValidator.validate(t);return e?e.map(l):void 0},e.validateCreateReport=function(t){var e=c.Validators.reportCreateValidator.validate(t);return e?e.map(l):void 0},e.validateDashboardLoad=function(t){var e=c.Validators.dashboardLoadValidator.validate(t);return e?e.map(l):void 0},e.validateTileLoad=function(t){var e=c.Validators.tileLoadValidator.validate(t);return e?e.map(l):void 0},e.validatePage=function(t){var e=c.Validators.pageValidator.validate(t);return e?e.map(l):void 0},e.validateFilter=function(t){var e=c.Validators.filtersValidator.validate(t);return e?e.map(l):void 0},e.validateSaveAsParameters=function(t){var e=c.Validators.saveAsParametersValidator.validate(t);return e?e.map(l):void 0},e.validateLoadQnaConfiguration=function(t){var e=c.Validators.loadQnaValidator.validate(t);return e?e.map(l):void 0},e.validateQnaInterpretInputData=function(t){var e=c.Validators.qnaInterpretInputDataValidator.validate(t);return e?e.map(l):void 0},e.validateExportDataRequest=function(t){var e=c.Validators.exportDataRequestValidator.validate(t);return e?e.map(l):void 0},e.validateVisualHeader=function(t){var e=c.Validators.visualHeaderValidator.validate(t);return e?e.map(l):void 0},e.validateVisualSettings=function(t){var e=c.Validators.visualSettingsValidator.validate(t);return e?e.map(l):void 0},e.validateCommandsSettings=function(t){var e=c.Validators.commandsSettingsValidator.validate(t);return e?e.map(l):void 0},e.validateCustomTheme=function(t){var e=c.Validators.customThemeValidator.validate(t);return e?e.map(l):void 0}},function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.Validators=void 0;var a=r(2),i=r(5),o=r(6),n=r(7),l=r(8),s=r(9),d=r(10),u=r(11),c=r(12),p=r(13),f=r(14),h=r(15),v=r(16),y=r(17),m=r(18),V=r(19),g=r(20),b=r(21),w=r(22),P=r(23),_=r(24),S=r(25),E=r(26),O=r(27),T=r(28),k=r(4);e.Validators={addBookmarkRequestValidator:new i.AddBookmarkRequestValidator,advancedFilterTypeValidator:new k.EnumValidator([0]),advancedFilterValidator:new c.AdvancedFilterValidator,anyArrayValidator:new k.ArrayValidator([new S.AnyOfValidator([new k.StringValidator,new k.NumberValidator,new k.BooleanValidator])]),anyFilterValidator:new S.AnyOfValidator([new c.BasicFilterValidator,new c.AdvancedFilterValidator,new c.IncludeExcludeFilterValidator,new c.NotSupportedFilterValidator,new c.RelativeDateFilterValidator,new c.TopNFilterValidator,new c.RelativeTimeFilterValidator]),anyValueValidator:new S.AnyOfValidator([new k.StringValidator,new k.NumberValidator,new k.BooleanValidator]),actionBarValidator:new a.ActionBarValidator,applyBookmarkByNameRequestValidator:new i.ApplyBookmarkByNameRequestValidator,applyBookmarkStateRequestValidator:new i.ApplyBookmarkStateRequestValidator,applyBookmarkValidator:new S.AnyOfValidator([new i.ApplyBookmarkByNameRequestValidator,new i.ApplyBookmarkStateRequestValidator]),backgroundValidator:new k.EnumValidator([0,1]),basicFilterTypeValidator:new k.EnumValidator([1]),basicFilterValidator:new c.BasicFilterValidator,booleanArrayValidator:new k.BooleanArrayValidator,booleanValidator:new k.BooleanValidator,bookmarksPaneValidator:new h.BookmarksPaneValidator,captureBookmarkOptionsValidator:new i.CaptureBookmarkOptionsValidator,captureBookmarkRequestValidator:new i.CaptureBookmarkRequestValidator,commandDisplayOptionValidator:new k.EnumValidator([0,1,2]),commandExtensionSelectorValidator:new S.AnyOfValidator([new g.VisualSelectorValidator,new g.VisualTypeSelectorValidator]),commandExtensionArrayValidator:new k.ArrayValidator([new u.CommandExtensionValidator]),commandExtensionValidator:new u.CommandExtensionValidator,commandsSettingsArrayValidator:new k.ArrayValidator([new o.CommandsSettingsValidator]),commandsSettingsValidator:new o.CommandsSettingsValidator,conditionItemValidator:new c.ConditionItemValidator,contrastModeValidator:new k.EnumValidator([0,1,2,3,4]),customLayoutDisplayOptionValidator:new k.EnumValidator([0,1,2]),customLayoutValidator:new p.CustomLayoutValidator,customPageSizeValidator:new f.CustomPageSizeValidator,customThemeValidator:new n.CustomThemeValidator,dashboardLoadValidator:new l.DashboardLoadValidator,datasetBindingValidator:new s.DatasetBindingValidator,displayStateModeValidator:new k.EnumValidator([0,1]),displayStateValidator:new p.DisplayStateValidator,exportDataRequestValidator:new d.ExportDataRequestValidator,extensionArrayValidator:new k.ArrayValidator([new u.ExtensionValidator]),extensionsValidator:new S.AnyOfValidator([new k.ArrayValidator([new u.ExtensionValidator]),new u.ExtensionsValidator]),extensionPointsValidator:new u.ExtensionPointsValidator,extensionValidator:new u.ExtensionValidator,fieldForbiddenValidator:new E.FieldForbiddenValidator,fieldRequiredValidator:new O.FieldRequiredValidator,fieldsPaneValidator:new h.FieldsPaneValidator,filterColumnTargetValidator:new c.FilterColumnTargetValidator,filterConditionsValidator:new k.ArrayValidator([new c.ConditionItemValidator]),filterHierarchyTargetValidator:new c.FilterHierarchyTargetValidator,filterMeasureTargetValidator:new c.FilterMeasureTargetValidator,filterTargetValidator:new S.AnyOfValidator([new c.FilterColumnTargetValidator,new c.FilterHierarchyTargetValidator,new c.FilterMeasureTargetValidator]),filtersArrayValidator:new k.ArrayValidator([new S.AnyOfValidator([new c.BasicFilterValidator,new c.AdvancedFilterValidator,new c.RelativeDateFilterValidator,new c.RelativeTimeFilterValidator])]),filtersValidator:new c.FilterValidator,filtersPaneValidator:new h.FiltersPaneValidator,hyperlinkClickBehaviorValidator:new k.EnumValidator([0,1,2]),includeExcludeFilterValidator:new c.IncludeExcludeFilterValidator,includeExludeFilterTypeValidator:new k.EnumValidator([3]),layoutTypeValidator:new k.EnumValidator([0,1,2,3]),loadQnaValidator:new v.LoadQnaValidator,menuExtensionValidator:new S.AnyOfValidator([new u.FlatMenuExtensionValidator,new u.GroupedMenuExtensionValidator]),menuGroupExtensionArrayValidator:new k.ArrayValidator([new u.MenuGroupExtensionValidator]),menuGroupExtensionValidator:new u.MenuGroupExtensionValidator,menuLocationValidator:new k.EnumValidator([0,1]),notSupportedFilterTypeValidator:new k.EnumValidator([2]),notSupportedFilterValidator:new c.NotSupportedFilterValidator,numberArrayValidator:new k.NumberArrayValidator,numberValidator:new k.NumberValidator,pageLayoutValidator:new T.MapValidator([new k.StringValidator],[new p.VisualLayoutValidator]),pageNavigationPaneValidator:new h.PageNavigationPaneValidator,pageNavigationPositionValidator:new k.EnumValidator([0,1]),pageSizeTypeValidator:new k.EnumValidator([0,1,2,3,4,5]),pageSizeValidator:new f.PageSizeValidator,pageValidator:new f.PageValidator,pageViewFieldValidator:new f.PageViewFieldValidator,pagesLayoutValidator:new T.MapValidator([new k.StringValidator],[new p.PageLayoutValidator]),reportBarsValidator:new a.ReportBarsValidator,reportPanesValidator:new h.ReportPanesValidator,permissionsValidator:new k.EnumValidator([0,1,2,4,7]),playBookmarkRequestValidator:new i.PlayBookmarkRequestValidator,qnaInterpretInputDataValidator:new v.QnaInterpretInputDataValidator,qnaSettingValidator:new v.QnaSettingsValidator,relativeDateFilterOperatorValidator:new k.EnumValidator([0,1,2]),relativeDateFilterTimeUnitTypeValidator:new k.EnumValidator([0,1,2,3,4,5,6]),relativeDateFilterTypeValidator:new k.EnumValidator([4]),relativeDateFilterValidator:new c.RelativeDateFilterValidator,relativeTimeFilterTimeUnitTypeValidator:new k.EnumValidator([7,8]),relativeTimeFilterTypeValidator:new k.EnumValidator([7]),relativeTimeFilterValidator:new c.RelativeTimeFilterValidator,reportCreateValidator:new y.ReportCreateValidator,reportLoadValidator:new m.ReportLoadValidator,saveAsParametersValidator:new V.SaveAsParametersValidator,selectionPaneValidator:new h.SelectionPaneValidator,settingsValidator:new b.SettingsValidator,singleCommandSettingsValidator:new o.SingleCommandSettingsValidator,slicerSelectorValidator:new S.AnyOfValidator([new g.VisualSelectorValidator,new g.SlicerTargetSelectorValidator]),slicerStateValidator:new w.SlicerStateValidator,slicerTargetValidator:new S.AnyOfValidator([new c.FilterColumnTargetValidator,new c.FilterHierarchyTargetValidator,new c.FilterMeasureTargetValidator,new c.FilterKeyColumnsTargetValidator,new c.FilterKeyHierarchyTargetValidator]),slicerValidator:new w.SlicerValidator,stringArrayValidator:new k.StringArrayValidator,stringValidator:new k.StringValidator,syncSlicersPaneValidator:new h.SyncSlicersPaneValidator,tileLoadValidator:new P.TileLoadValidator,tokenTypeValidator:new k.EnumValidator([0,1]),topNFilterTypeValidator:new k.EnumValidator([5]),topNFilterValidator:new c.TopNFilterValidator,viewModeValidator:new k.EnumValidator([0,1]),visualCommandSelectorValidator:new S.AnyOfValidator([new g.VisualSelectorValidator,new g.VisualTypeSelectorValidator]),visualHeaderSelectorValidator:new S.AnyOfValidator([new g.VisualSelectorValidator,new g.VisualTypeSelectorValidator]),visualHeaderSettingsValidator:new _.VisualHeaderSettingsValidator,visualHeaderValidator:new _.VisualHeaderValidator,visualHeadersValidator:new k.ArrayValidator([new _.VisualHeaderValidator]),visualizationsPaneValidator:new h.VisualizationsPaneValidator,visualLayoutValidator:new p.VisualLayoutValidator,visualSelectorValidator:new g.VisualSelectorValidator,visualSettingsValidator:new _.VisualSettingsValidator,visualTypeSelectorValidator:new g.VisualTypeSelectorValidator}},function(t,e,r){var a,i=this&&this.__extends||(a=function(t,e){return(a=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])})(t,e)},function(t,e){function r(){this.constructor=t}a(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.ActionBarValidator=e.ReportBarsValidator=void 0;var o=r(3),n=r(4),l=r(1),s=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i(e,t),e.prototype.validate=function(e,r,a){if(null==e)return null;var i=t.prototype.validate.call(this,e,r,a);if(i)return i;var n=[{field:"actionBar",validators:[l.Validators.actionBarValidator]}];return new o.MultipleFieldsValidator(n).validate(e,r,a)},e}(n.ObjectValidator);e.ReportBarsValidator=s;var d=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i(e,t),e.prototype.validate=function(e,r,a){if(null==e)return null;var i=t.prototype.validate.call(this,e,r,a);if(i)return i;var n=[{field:"visible",validators:[l.Validators.booleanValidator]}];return new o.MultipleFieldsValidator(n).validate(e,r,a)},e}(n.ObjectValidator);e.ActionBarValidator=d},function(t,e){Object.defineProperty(e,"__esModule",{value:!0}),e.MultipleFieldsValidator=void 0;var r=function(){function t(t){this.fieldValidatorsPairs=t}return t.prototype.validate=function(t,e,r){if(!this.fieldValidatorsPairs)return null;for(var a=e?e+"."+r:r,i=0,o=this.fieldValidatorsPairs;i0&&o[o.length-1])||6!==t[0]&&2!==t[0])){l=0;continue}if(3===t[0]&&(!o||t[1]>o[0]&&t[1]0&&o[o.length-1])||6!==t[0]&&2!==t[0])){l=0;continue}if(3===t[0]&&(!o||t[1]>o[0]&&t[1]0?"&":"?";return t+=a+e+"="+r},e.isSavedInternal=function(t,e,r){return i(this,void 0,void 0,function(){return o(this,function(a){switch(a.label){case 0:return a.trys.push([0,2,,3]),[4,t.get("/report/hasUnsavedChanges",{uid:e},r)];case 1:return[2,!a.sent().body];case 2:throw a.sent().body;case 3:return[2]}})})},e.isRDLEmbed=function(t){return t.toLowerCase().indexOf("/rdlembed?")>=0},e.autoAuthInEmbedUrl=function(t){return t&&decodeURIComponent(t).toLowerCase().indexOf("autoauth=true")>=0},e.getRandomValue=a,e.getTimeDiffInMilliseconds=function(t,e){return Math.abs(t.getTime()-e.getTime())}},function(t,e){Object.defineProperty(e,"__esModule",{ -value:!0}),e.EmbedUrlNotSupported=e.APINotSupportedForRDLError=void 0,e.APINotSupportedForRDLError="This API is currently not supported for RDL reports",e.EmbedUrlNotSupported="Embed URL is invalid for this scenario. Please use Power BI REST APIs to get the valid URL"},function(t,e,r){var a,i=this&&this.__extends||(a=function(t,e){return(a=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])})(t,e)},function(t,e){function r(){this.constructor=t}a(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}),o=this&&this.__awaiter||function(t,e,r,a){return new(r||(r=Promise))(function(i,o){function n(t){try{s(a.next(t))}catch(t){o(t)}}function l(t){try{s(a["throw"](t))}catch(t){o(t)}}function s(t){var e;t.done?i(t.value):(e=t.value,e instanceof r?e:new r(function(t){t(e)})).then(n,l)}s((a=a.apply(t,e||[])).next())})},n=this&&this.__generator||function(t,e){function r(t){return function(r){return function(t){if(a)throw new TypeError("Generator is already executing.");for(;l;)try{if(a=1,i&&(o=2&t[0]?i["return"]:t[0]?i["throw"]||((o=i["return"])&&o.call(i),0):i.next)&&!(o=o.call(i,t[1])).done)return o;switch(i=0,o&&(t=[2&t[0],o.value]),t[0]){case 0:case 1:o=t;break;case 4:return l.label++,{value:t[1],done:!1};case 5:l.label++,i=t[1],t=[0];continue;case 7:t=l.ops.pop(),l.trys.pop();continue;default:if(o=l.trys,!((o=o.length>0&&o[o.length-1])||6!==t[0]&&2!==t[0])){l=0;continue}if(3===t[0]&&(!o||t[1]>o[0]&&t[1]0&&o[o.length-1])||6!==t[0]&&2!==t[0])){l=0;continue}if(3===t[0]&&(!o||t[1]>o[0]&&t[1]0&&o[o.length-1])||6!==t[0]&&2!==t[0])){l=0;continue}if(3===t[0]&&(!o||t[1]>o[0]&&t[1]0&&o[o.length-1])||6!==t[0]&&2!==t[0])){l=0;continue}if(3===t[0]&&(!o||t[1]>o[0]&&t[1]0&&o[o.length-1])||6!==t[0]&&2!==t[0])){l=0;continue}if(3===t[0]&&(!o||t[1]>o[0]&&t[1]0&&o[o.length-1])||6!==t[0]&&2!==t[0])){l=0;continue}if(3===t[0]&&(!o||t[1]>o[0]&&t[1]0&&o[o.length-1])||6!==t[0]&&2!==t[0])){l=0;continue}if(3===t[0]&&(!o||t[1]>o[0]&&t[1]0&&o[o.length-1])||6!==t[0]&&2!==t[0])){l=0;continue}if(3===t[0]&&(!o||t[1]>o[0]&&t[1]0&&o[o.length-1])||6!==t[0]&&2!==t[0])){l=0;continue}if(3===t[0]&&(!o||t[1]>o[0]&&t[1]0&&o[o.length-1])||6!==t[0]&&2!==t[0])){l=0;continue}if(3===t[0]&&(!o||t[1]>o[0]&&t[1]0&&o[o.length-1])||6!==t[0]&&2!==t[0])){l=0;continue}if(3===t[0]&&(!o||t[1]>o[0]&&t[1]0&&o[o.length-1])||6!==t[0]&&2!==t[0])){l=0;continue}if(3===t[0]&&(!o||t[1]>o[0]&&t[1]0&&o[o.length-1])||6!==t[0]&&2!==t[0])){l=0;continue}if(3===t[0]&&(!o||t[1]>o[0]&&t[1]0&&o[o.length-1])||6!==t[0]&&2!==t[0])){l=0;continue}if(3===t[0]&&(!o||t[1]>o[0]&&t[1]2&&"[]"===n.slice(l-2)&&(s=!0,r[n=n.slice(0,l-2)]||(r[n]=[])),i=o[1]?y(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(-1!==(a=t.indexOf("?"))){var l=t.substr(a+1,t.length);t=t.substr(0,a),o=this.parseQueryString(l)}for("/"!==(t=decodeURI(t)).charAt(0)&&(t="/"+t),(e=t.length)>1&&"/"===t.charAt(e-1)&&(t=t.substr(0,e-1),n=!0),r=0;r Date: Wed, 9 Dec 2020 10:37:47 +0000 Subject: [PATCH 041/125] Merged PR 130579: Update playground code snippets in Playground v1 to migrate from then-catch to async-await **Items completed in this PR** 1. Then-catch has been migrated to async-await for code_samples file from v2-demo folder for Playground v1 _All the functions of this file are tested after the async-await change_ Related work items: #469707, #470909, #471453, #473946 --- demo/v2-demo/scripts/codesamples.js | 1813 ++++++++++++--------------- 1 file changed, 835 insertions(+), 978 deletions(-) diff --git a/demo/v2-demo/scripts/codesamples.js b/demo/v2-demo/scripts/codesamples.js index c7cd743d..1838366e 100644 --- a/demo/v2-demo/scripts/codesamples.js +++ b/demo/v2-demo/scripts/codesamples.js @@ -37,14 +37,14 @@ function _Embed_BasicEmbed() { id: txtEmbedReportId, permissions: permissions, settings: { - panes: { - filters: { - visible: true - }, - pageNavigation: { - visible: true + panes: { + filters: { + visible: true + }, + pageNavigation: { + visible: true + } } - } } }; @@ -117,12 +117,12 @@ function _Embed_BasicEmbed_Mobile() { permissions: permissions, pageName: "ReportSectioneb8c865100f8508cc533", settings: { - panes: { - filters: { - visible: false - } - }, - layoutType: models.LayoutType.MobilePortrait + panes: { + filters: { + visible: false + } + }, + layoutType: models.LayoutType.MobilePortrait } }; @@ -181,19 +181,19 @@ function _Embed_PaginatedReportBasicEmbed() { var models = window['powerbi-client'].models; // Se view permissions. - var permissions = models.Permissions.View; + var permissions = models.Permissions.View; // Embed configuration used to describe the what and how to embed. // This object is used when calling powerbi.embed. // This also includes settings and options such as filters. // You can find more information at https://github.com/Microsoft/PowerBI-JavaScript/wiki/Embed-Configuration-Details. var config = { - type: 'report', - tokenType: tokenType == '0' ? models.TokenType.Aad : models.TokenType.Embed, - accessToken: txtAccessToken, - embedUrl: txtEmbedUrl, - id: txtEmbedReportId, - permissions: permissions, + type: 'report', + tokenType: tokenType == '0' ? models.TokenType.Aad : models.TokenType.Embed, + accessToken: txtAccessToken, + embedUrl: txtEmbedUrl, + id: txtEmbedReportId, + permissions: permissions, }; // Get a reference to the paginated embedded report HTML element @@ -412,12 +412,12 @@ function _Mock_Embed_BasicEmbed(isEdit) { viewMode: viewMode, settings: { panes: { - filters: { - visible: true - }, - pageNavigation: { - visible: true - } + filters: { + visible: true + }, + pageNavigation: { + visible: true + } }, useCustomSaveAsDialog: true } @@ -502,12 +502,12 @@ function _Embed_BasicEmbed_EditMode() { viewMode: models.ViewMode.Edit, settings: { panes: { - filters: { - visible: true - }, - pageNavigation: { - visible: true - } + filters: { + visible: true + }, + pageNavigation: { + visible: true + } } } }; @@ -582,12 +582,12 @@ function _Embed_EmbedWithDefaultFilter() { id: txtEmbedReportId, settings: { panes: { - filters: { - visible: false - }, - pageNavigation: { - visible: false - } + filters: { + visible: false + }, + pageNavigation: { + visible: false + } } }, filters: [filter] @@ -866,16 +866,16 @@ function _Report_GetId() { Log.logText("Report id: \"" + reportId + "\""); } -function _Report_UpdateSettings() { +async function _Report_UpdateSettings() { // The new settings that you want to apply to the report. const newSettings = { panes: { - filters: { - visible: false - }, - pageNavigation: { - visible: true - } + filters: { + visible: false + }, + pageNavigation: { + visible: true + } } }; @@ -886,16 +886,16 @@ function _Report_UpdateSettings() { report = powerbi.get(embedContainer); // Update the settings by passing in the new settings you have configured. - report.updateSettings(newSettings) - .then(function () { - Log.logText("Filter pane was removed."); - }) - .catch(function (error) { - Log.log(error); - }); + try { + await report.updateSettings(newSettings); + Log.logText("Filter pane was removed."); + } + catch (error) { + Log.log(error); + } } -function _Report_GetPages() { +async function _Report_GetPages() { // Get a reference to the embedded report HTML element var embedContainer = $('#embedContainer')[0]; @@ -904,20 +904,20 @@ function _Report_GetPages() { // Retrieve the page collection and loop through to collect the // page name and display name of each page and display the value. - report.getPages() - .then(function (pages) { - var log = "Report pages:"; - pages.forEach(function (page) { - log += "\n" + page.name + " - " + page.displayName; - }); - Log.logText(log); - }) - .catch(function (error) { - Log.log(error); + try { + const pages = await report.getPages(); + var log = "Report pages:"; + pages.forEach(function (page) { + log += "\n" + page.name + " - " + page.displayName; }); + Log.logText(log); + } + catch (error) { + Log.log(error); + } } -function _Report_SetPage() { +async function _Report_SetPage() { // Get a reference to the embedded report HTML element var embedContainer = $('#embedContainer')[0]; @@ -926,16 +926,16 @@ function _Report_SetPage() { // setPage will change the selected view to the page you indicate. // This is the actual page name not the display name. - report.setPage("ReportSectiona271643cba2213c935be") - .then(function () { - Log.logText("Page was set to: ReportSectiona271643cba2213c935be"); - }) - .catch(function (errors) { - Log.log(errors); - }); + try { + await report.setPage("ReportSectiona271643cba2213c935be"); + Log.logText("Page was set to: ReportSectiona271643cba2213c935be"); + } + catch (errors) { + Log.log(errors); + } } -function _Report_GetFilters() { +async function _Report_GetFilters() { // Get a reference to the embedded report HTML element var embedContainer = $('#embedContainer')[0]; @@ -943,16 +943,16 @@ function _Report_GetFilters() { report = powerbi.get(embedContainer); // Get the filters applied to the report. - report.getFilters() - .then(function (filters) { - Log.log(filters); - }) - .catch(function (errors) { - Log.log(errors); - }); + try { + const filters = await report.getFilters(); + Log.log(filters); + } + catch (errors) { + Log.log(errors); + } } -function _Report_SetFilters() { +async function _Report_SetFilters() { // Build the filter you want to use. For more information, See Constructing // Filters in https://github.com/Microsoft/PowerBI-JavaScript/wiki/Filters. const filter = { @@ -973,16 +973,16 @@ function _Report_SetFilters() { // Set the filter for the report. // Pay attention that setFilters receives an array. - report.setFilters([filter]) - .then(function () { - Log.logText("Report filter was set."); - }) - .catch(function (errors) { - Log.log(errors); - }); + try { + await report.setFilters([filter]); + Log.logText("Report filter was set."); + } + catch (errors) { + Log.log(errors); + } } -function _Report_RemoveFilters() { +async function _Report_RemoveFilters() { // Get a reference to the embedded report HTML element var embedContainer = $('#embedContainer')[0]; @@ -990,16 +990,16 @@ function _Report_RemoveFilters() { report = powerbi.get(embedContainer); // Remove the filters currently applied to the report. - report.removeFilters() - .then(function () { - Log.logText("Report filters were removed."); - }) - .catch(function (errors) { - Log.log(errors); - }); + try { + await report.removeFilters(); + Log.logText("Report filters were removed."); + } + catch (errors) { + Log.log(errors); + } } -function _ReportVisual_Report_SetFilters() { +async function _ReportVisual_Report_SetFilters() { // Get models. models contains enums that can be used. var models = window['powerbi-client'].models; @@ -1023,16 +1023,16 @@ function _ReportVisual_Report_SetFilters() { // Set the filter for the report. // Pay attention that setFilters receives an array. - visual.setFilters([filter], models.FiltersLevel.Report) - .then(function () { - Log.logText("Report filter was set."); - }) - .catch(function (errors) { - Log.log(errors); - }); + try { + await visual.setFilters([filter], models.FiltersLevel.Report); + Log.logText("Report filter was set."); + } + catch (errors) { + Log.log(errors); + } } -function _ReportVisual_Report_GetFilters() { +async function _ReportVisual_Report_GetFilters() { // Get models. models contains enums that can be used. var models = window['powerbi-client'].models; @@ -1043,16 +1043,16 @@ function _ReportVisual_Report_GetFilters() { visual = powerbi.get(embedContainer); // Get the filters applied to the report. - visual.getFilters(models.FiltersLevel.Report) - .then(function (filters) { - Log.log(filters); - }) - .catch(function (errors) { - Log.log(errors); - }); + try { + const filters = await visual.getFilters(models.FiltersLevel.Report); + Log.log(filters); + } + catch (errors) { + Log.log(errors); + } } -function _ReportVisual_Report_RemoveFilters() { +async function _ReportVisual_Report_RemoveFilters() { // Get models. models contains enums that can be used. var models = window['powerbi-client'].models; @@ -1063,16 +1063,16 @@ function _ReportVisual_Report_RemoveFilters() { report = powerbi.get(embedContainer); // Remove the filters currently applied to the report. - report.removeFilters(models.FiltersLevel.Report) - .then(function () { - Log.logText("Report filters were removed."); - }) - .catch(function (errors) { - Log.log(errors); - }); + try { + await report.removeFilters(models.FiltersLevel.Report); + Log.logText("Report filters were removed."); + } + catch (errors) { + Log.log(errors); + } } -function _ReportVisual_Page_SetFilters() { +async function _ReportVisual_Page_SetFilters() { // Get models. models contains enums that can be used. var models = window['powerbi-client'].models; @@ -1096,16 +1096,16 @@ function _ReportVisual_Page_SetFilters() { // Set the filter for the report. // Pay attention that setFilters receives an array. - visual.setFilters([filter], models.FiltersLevel.Page) - .then(function () { - Log.logText("Page filter was set."); - }) - .catch(function (errors) { - Log.log(errors); - }); + try { + await visual.setFilters([filter], models.FiltersLevel.Page); + Log.logText("Page filter was set."); + } + catch (errors) { + Log.log(errors); + } } -function _ReportVisual_Page_GetFilters() { +async function _ReportVisual_Page_GetFilters() { // Get models. models contains enums that can be used. var models = window['powerbi-client'].models; @@ -1116,16 +1116,16 @@ function _ReportVisual_Page_GetFilters() { visual = powerbi.get(embedContainer); // Get the filters applied to the report. - visual.getFilters(models.FiltersLevel.Page) - .then(function (filters) { - Log.log(filters); - }) - .catch(function (errors) { - Log.log(errors); - }); + try { + const filters = await visual.getFilters(models.FiltersLevel.Page); + Log.log(filters); + } + catch (errors) { + Log.log(errors); + } } -function _ReportVisual_Page_RemoveFilters() { +async function _ReportVisual_Page_RemoveFilters() { // Get models. models contains enums that can be used. var models = window['powerbi-client'].models; @@ -1136,16 +1136,16 @@ function _ReportVisual_Page_RemoveFilters() { report = powerbi.get(embedContainer); // Remove the filters currently applied to the report. - report.removeFilters(models.FiltersLevel.Page) - .then(function () { - Log.logText("Page filters were removed."); - }) - .catch(function (errors) { - Log.log(errors); - }); + try { + await report.removeFilters(models.FiltersLevel.Page); + Log.logText("Page filters were removed."); + } + catch (errors) { + Log.log(errors); + } } -function _ReportVisual_Visual_SetFilters() { +async function _ReportVisual_Visual_SetFilters() { // Build the filter you want to use. For more information, See Constructing // Filters in https://github.com/Microsoft/PowerBI-JavaScript/wiki/Filters. const filter = { @@ -1166,16 +1166,16 @@ function _ReportVisual_Visual_SetFilters() { // Set the filter for the report. // Pay attention that setFilters receives an array. - visual.setFilters([filter]) - .then(function () { - Log.logText("Report filter was set."); - }) - .catch(function (errors) { - Log.log(errors); - }); + try { + await visual.setFilters([filter]); + Log.logText("Report filter was set."); + } + catch (errors) { + Log.log(errors); + } } -function _ReportVisual_Visual_GetFilters() { +async function _ReportVisual_Visual_GetFilters() { // Get a reference to the embedded report HTML element var embedContainer = $('#embedContainer')[0]; @@ -1183,16 +1183,16 @@ function _ReportVisual_Visual_GetFilters() { visual = powerbi.get(embedContainer); // Get the filters applied to the report. - visual.getFilters() - .then(function (filters) { - Log.log(filters); - }) - .catch(function (errors) { - Log.log(errors); - }); + try { + const filters = await visual.getFilters(); + Log.log(filters); + } + catch (errors) { + Log.log(errors); + } } -function _ReportVisual_Visual_RemoveFilters() { +async function _ReportVisual_Visual_RemoveFilters() { // Get a reference to the embedded report HTML element var embedContainer = $('#embedContainer')[0]; @@ -1200,16 +1200,16 @@ function _ReportVisual_Visual_RemoveFilters() { report = powerbi.get(embedContainer); // Remove the filters currently applied to the report. - report.removeFilters() - .then(function () { - Log.logText("Report filters were removed."); - }) - .catch(function (errors) { - Log.log(errors); - }); + try { + await report.removeFilters(); + Log.logText("Report filters were removed."); + } + catch (errors) { + Log.log(errors); + } } -function _Report_PrintCurrentReport() { +async function _Report_PrintCurrentReport() { // Get a reference to the embedded report HTML element var embedContainer = $('#embedContainer')[0]; @@ -1217,13 +1217,15 @@ function _Report_PrintCurrentReport() { report = powerbi.get(embedContainer); // Trigger the print dialog for your browser. - report.print() - .catch(function (errors) { - Log.log(errors); - }); + try { + await report.print(); + } + catch (errors) { + Log.log(errors); + } } -function _Report_Reload() { +async function _Report_Reload() { // Get a reference to the embedded report HTML element var embedContainer = $('#embedContainer')[0]; @@ -1231,13 +1233,13 @@ function _Report_Reload() { report = powerbi.get(embedContainer); // Reload the displayed report - report.reload() - .then(function (result) { - Log.logText("Reloaded"); - }) - .catch(function (errors) { - Log.log(errors); - }); + try { + await report.reload(); + Log.logText("Reloaded"); + } + catch (errors) { + Log.log(errors); + } } function _PaginatedReport_Reload() { @@ -1249,11 +1251,11 @@ function _PaginatedReport_Reload() { // Reload the displayed paginated report paginatedReport.reload(); - + Log.logText("Reload Paginated Report"); } -function _Report_Refresh() { +async function _Report_Refresh() { // Get a reference to the embedded report HTML element var embedContainer = $('#embedContainer')[0]; @@ -1261,16 +1263,16 @@ function _Report_Refresh() { report = powerbi.get(embedContainer); // Refresh the displayed report - report.refresh() - .then(function (result) { - Log.logText("Refreshed"); - }) - .catch(function (errors) { - Log.log(errors); - }); + try { + await report.refresh(); + Log.logText("Refreshed"); + } + catch (errors) { + Log.log(errors); + } } -function _Report_ApplyCustomLayout() { +async function _Report_ApplyCustomLayout() { // Get a reference to the embedded report HTML element var embedContainer = $('#embedContainer')[0]; @@ -1324,12 +1326,12 @@ function _Report_ApplyCustomLayout() { } }, panes: { - filters: { - visible: false - }, - pageNavigation: { - visible: false - } + filters: { + visible: false + }, + pageNavigation: { + visible: false + } } } @@ -1337,16 +1339,16 @@ function _Report_ApplyCustomLayout() { report = powerbi.get(embedContainer); // Update the settings by passing in the new settings you have configured. - report.updateSettings(settings) - .then(function () { - Log.logText("Custom layout applied, to remove custom layout, reload the report using 'Reload' API.") - }) - .catch(function (error) { - Log.log(error); - }); + try { + await report.updateSettings(settings); + Log.logText("Custom layout applied, to remove custom layout, reload the report using 'Reload' API."); + } + catch (error) { + Log.log(error); + } } -function _Report_HideAllVisualHeaders() { +async function _Report_HideAllVisualHeaders() { // New settings to hide all the visual headers in the report const newSettings = { @@ -1369,17 +1371,16 @@ function _Report_HideAllVisualHeaders() { report = powerbi.get(embedContainer); // Update the settings by passing in the new settings you have configured. - report.updateSettings(newSettings) - .then(function () { - Log.logText("Visual header was successfully hidden for all the visuals in the report."); - }) - .catch(function (error) { - Log.log(error); - }); - + try { + await report.updateSettings(newSettings); + Log.logText("Visual header was successfully hidden for all the visuals in the report."); + } + catch (error) { + Log.log(error); + } } -function _Report_ShowAllVisualHeaders() { +async function _Report_ShowAllVisualHeaders() { // New settings to show all the visual headers in the report const newSettings = { visualSettings: { @@ -1401,17 +1402,16 @@ function _Report_ShowAllVisualHeaders() { report = powerbi.get(embedContainer); // Update the settings by passing in the new settings you have configured. - report.updateSettings(newSettings) - .then(function () { - Log.logText("Visual header was successfully shown for all the visuals in the report."); - }) - .catch(function (error) { - Log.log(error); - }); - + try { + await report.updateSettings(newSettings); + Log.logText("Visual header was successfully shown for all the visuals in the report."); + } + catch (error) { + Log.log(error); + } } -function _Report_HideSingleVisualHeader() { +async function _Report_HideSingleVisualHeader() { // Define settings to hide the header of a single visual var newSettings = { @@ -1445,13 +1445,13 @@ function _Report_HideSingleVisualHeader() { report = powerbi.get(embedContainer); // Update the settings by passing in the new settings you have configured. - report.updateSettings(newSettings) - .then(function () { - Log.logText("Visual header was successfully hidden for 'Category Breakdown' visual."); - }) - .catch(function (error) { - Log.log(error); - }); + try { + await report.updateSettings(newSettings); + Log.logText("Visual header was successfully hidden for 'Category Breakdown' visual."); + } + catch (error) { + Log.log(error); + } } function _Report_FullScreen() { @@ -1565,7 +1565,7 @@ function _Report_saveAs() { report.saveAs(saveAsParameters); } -function _Report_Extensions_OptionsMenu() { +async function _Report_Extensions_OptionsMenu() { const base64Icon = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAIAAAACACAYAAADDPmHLAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEwAACxMBAJqcGAAAAu9JREFUeJzt3U9OE2Ech/FnSiKsXbh340pg5Qk8gofAY3gGtBqWXsKNIR5BF0ZkQ9h6A2pC62LAEP5ITdv3R+f7fJJ3QUh4ZzpPmaaZmReGZxf4ABwDE2C24Jhc/K33wE7D/dB/2gIOgCmLH/S7xhQYA5uN9klz2gK+sLoDf30cXsypB+KAdgf/coyb7Jnutctq/+3/63Sw3WD/VmpUvQFL8BroCubtgL2CeXXNMe3f/ZfjqMH+rVTFO2fZJsCjwrnX+sPgEAKYFc+/1q/hED4DaAEGEM4AwhlAOAMIZwDhDCCcAYQzgHAGEM4AwhlAOAMIZwDhDCCcAYQzgHAGEM4AwhlAOAMIZwDhDCCcAYQzgHAGEM4AwhlAOAMIZwDhDCCcAYQzgHAGEM4AwhlAOAMIZwDhDCDcbQEs+3n7qx7Vqvf/vjH3egctnrfvqB13rnfQ+nn7jtrxd72DDXpj4BVK8RR4DHzq6M/5X1nzZ97qv82A3Q3gDfCidltUoAOmHf0nxGfFG6MaPztqn7evWpOO/lygUH4TGM4AwhlAOAMIZwDhDCCcAYQzgHAGEM4AwhlAOAMIZwDhDCCcAYQbAb+rN0JlJiPgtHorVOZkRH+NuDIddvS3C33Dy8LTTLm4LPwX8AQvDU/zDvh4+cMm/amg+pYlR5vxmVuuBN+iv0XMm0OHO86Bfa4c/NvO+9vAHvCS/h6yG3eSaq1MgBP6//AHwPervxzCB79Z8fxr/Rr6TWA4AwhnAOEMIJwBhDOAcAYQzgDCGUA4AwhnAOEMIJwBhDOAcAYQzgDCGUA4AwhnAOEMIJwBhDOAcAYQzgDCGUA4AwhnAOEMIJwBhDOAcAYQzgDCGUA4AwhnAOEMIJwBhDOAcAYQbggBVK53MCmceymGEMBp4dwnhXMvxRACqFzvwLUWHoAdah5wfQ48b7B/msOY9gHsN9kzzaX1ege3Pm9ftVqsd3Djeft6eLbpl0M5As5Y/KCfAT+AtwzwnP8HNwiKJyPkCoYAAAAASUVORK5CYII="; // The new settings that you want to apply to the report. @@ -1596,10 +1596,12 @@ function _Report_Extensions_OptionsMenu() { report = powerbi.get(embedContainer); // Update the settings by passing in the new settings you have configured. - report.updateSettings(newSettings) - .catch(function (error) { - Log.log(error); - }); + try { + await report.updateSettings(newSettings); + } + catch (error) { + Log.log(error); + } // Report.on will add an event handler to commandTriggered event which prints to console window. report.on("commandTriggered", function (event) { @@ -1614,7 +1616,7 @@ function _Report_Extensions_OptionsMenu() { Log.logText("Open visual options menu by clicking the three dots icon and click on added items to see events in Log window."); } -function _Report_Extensions_ContextMenu() { +async function _Report_Extensions_ContextMenu() { // The new settings that you want to apply to the report. const newSettings = { extensions: [ @@ -1642,10 +1644,12 @@ function _Report_Extensions_ContextMenu() { report = powerbi.get(embedContainer); // Update the settings by passing in the new settings you have configured. - report.updateSettings(newSettings) - .catch(function (error) { - Log.log(error); - }); + try { + await report.updateSettings(newSettings); + } + catch (error) { + Log.log(error); + } // Report.on will add an event handler to commandTriggered event which prints to console window. report.on("commandTriggered", function (event) { @@ -1660,7 +1664,7 @@ function _Report_Extensions_ContextMenu() { Log.logText("Open visual context menu by right click on data points and click on added items to see events in Log window."); } -function _Visual_Operations_SortVisualBy() { +async function _Visual_Operations_SortVisualBy() { // Get models. models contains enums that can be used. var models = window['powerbi-client'].models; @@ -1681,65 +1685,51 @@ function _Visual_Operations_SortVisualBy() { report = powerbi.get(embedContainer); // Retrieve the page collection and get the visuals for the first page. - report.getPages() - .then(function (pages) { - - // Retrieve active page. - var activePage = pages.filter(function (page) { - return page.isActive - })[0]; - - activePage.getVisuals() - .then(function (visuals) { - // Retrieve the target visual. - var visual = visuals.filter(function (visual) { - return visual.name === "VisualContainer6"; - })[0]; - - // Sort the visual's data by direction and data field. - visual.sortBy(sortByRequest) - .then(function () { - Log.logText("\"Total Category Volume Over Time by Region\" visual was sorted according to the request.") - }) - .catch(function (errors) { - Log.log(errors); - }); - }) - .catch(function (errors) { - Log.log(errors); - }); - }) - .catch(function (errors) { - Log.log(errors); - }); + try { + const pages = await report.getPages(); + + // Retrieve active page. + var activePage = pages.filter(function (page) { + return page.isActive + })[0]; + + const visuals = await activePage.getVisuals(); + + // Retrieve the target visual. + var visual = visuals.filter(function (visual) { + return visual.name === "VisualContainer6"; + })[0]; + + // Sort the visual's data by direction and data field. + await visual.sortBy(sortByRequest); + Log.logText("\"Total Category Volume Over Time by Region\" visual was sorted according to the request.") + } + catch (errors) { + Log.log(errors); + } } // ---- Page Operations ---------------------------------------------------- -function _Page_SetActive() { +async function _Page_SetActive() { // Get a reference to the embedded report HTML element var embedContainer = $('#embedContainer')[0]; // Get a reference to the embedded report. report = powerbi.get(embedContainer); - // Retrieve the page collection, and then set the second page to be active. - report.getPages() - .then(function (pages) { - pages[3].setActive() - .then(function () { - Log.logText("Active page was set to: \"" + pages[3].displayName + "\""); - }) - .catch(function (errors) { - Log.log(errors); - }); - }) - .catch(function (errors) { - Log.log(errors); - }); + // Retrieve active page. + try { + const pages = await report.getPages(); + await pages[3].setActive(); + Log.logText("Active page was set to: \"" + pages[3].displayName + "\""); + } + catch (errors) { + Log.log(errors); + } } -function _Page_GetFilters() { +async function _Page_GetFilters() { // Get a reference to the embedded report HTML element var embedContainer = $('#embedContainer')[0]; @@ -1747,27 +1737,22 @@ function _Page_GetFilters() { report = powerbi.get(embedContainer); // Retrieve the page collection and get the filters for the first page. - report.getPages() - .then(function (pages) { - // Retrieve active page. - var activePage = pages.filter(function (page) { - return page.isActive - })[0]; - - activePage.getFilters() - .then(function (filters) { - Log.log(filters); - }) - .catch(function (errors) { - Log.log(errors); - }); - }) - .catch(function (errors) { - Log.log(errors); - }); + try { + const pages = await report.getPages(); + // Retrieve active page. + var activePage = pages.filter(function (page) { + return page.isActive + })[0]; + + const filters = await activePage.getFilters(); + Log.log(filters); + } + catch (errors) { + Log.log(errors); + } } -function _Page_GetVisuals() { +async function _Page_GetVisuals() { // Get a reference to the embedded report HTML element var embedContainer = $('#embedContainer')[0]; @@ -1775,35 +1760,30 @@ function _Page_GetVisuals() { report = powerbi.get(embedContainer); // Retrieve the page collection and get the visuals for the first page. - report.getPages() - .then(function (pages) { - // Retrieve active page. - var activePage = pages.filter(function (page) { - return page.isActive - })[0]; - - activePage.getVisuals() - .then(function (visuals) { - Log.log( - visuals.map(function (visual) { - return { - name: visual.name, - type: visual.type, - title: visual.title, - layout: visual.layout - }; - })); - }) - .catch(function (errors) { - Log.log(errors); - }); - }) - .catch(function (errors) { - Log.log(errors); - }); + try { + const pages = await report.getPages(); + // Retrieve active page. + var activePage = pages.filter(function (page) { + return page.isActive + })[0]; + + const visuals = await activePage.getVisuals(); + Log.log( + visuals.map(function (visual) { + return { + name: visual.name, + type: visual.type, + title: visual.title, + layout: visual.layout + }; + })); + } + catch (errors) { + Log.log(errors); + } } -function _Page_SetFilters() { +async function _Page_SetFilters() { // Get a reference to the embedded report HTML element var embedContainer = $('#embedContainer')[0]; @@ -1824,27 +1804,23 @@ function _Page_SetFilters() { // Retrieve the page collection and then set the filters for the first page. // Pay attention that setFilters receives an array. - report.getPages() - .then(function (pages) { - // Retrieve active page. - var activePage = pages.filter(function (page) { - return page.isActive - })[0]; - - activePage.setFilters([filter]) - .then(function () { - Log.logText("Page filter was set."); - }) - .catch(function (errors) { - Log.log(errors); - }); - }) - .catch(function (errors) { - Log.log(errors); - }); + try { + const pages = await report.getPages(); + // Retrieve active page. + var activePage = pages.filter(function (page) { + return page.isActive + })[0]; + + await activePage.setFilters([filter]); + Log.logText("Page filter was set."); + + } + catch (errors) { + Log.log(errors); + } } -function _Page_RemoveFilters() { +async function _Page_RemoveFilters() { // Get a reference to the embedded report HTML element var embedContainer = $('#embedContainer')[0]; @@ -1852,27 +1828,22 @@ function _Page_RemoveFilters() { report = powerbi.get(embedContainer); // Retrieve the page collection and remove the filters for the first page. - report.getPages() - .then(function (pages) { - // Retrieve active page. - var activePage = pages.filter(function (page) { - return page.isActive - })[0]; - - activePage.removeFilters() - .then(function () { - Log.logText("Page filters were removed."); - }) - .catch(function (errors) { - Log.log(errors); - }); - }) - .catch(function (errors) { - Log.log(errors); - }); + try { + const pages = await report.getPages(); + // Retrieve active page. + var activePage = pages.filter(function (page) { + return page.isActive + })[0]; + + await activePage.removeFilters(); + Log.logText("Page filters were removed."); + } + catch (errors) { + Log.log(errors); + } } -function _Page_HasLayout() { +async function _Page_HasLayout() { // Get models. models contains enums that can be used. var models = window['powerbi-client'].models; @@ -1883,12 +1854,16 @@ function _Page_HasLayout() { report = powerbi.get(embedContainer); // Retrieve the page collection and check if the first page has a MobilePortrait layout. - report.getPages().then(function (pages) { - pages[0].hasLayout(models.LayoutType.MobilePortrait).then(function (hasLayout) { - hasLayout = hasLayout ? "has" : "doesn't have"; - Log.logText("Page \"" + pages[0].name + "\" " + hasLayout + " mobile portrait layout."); - }) - }); + try { + const pages = await report.getPages(); + const hasLayout = await pages[0].hasLayout(models.LayoutType.MobilePortrait); + + var hasLayoutText = hasLayout ? "has" : "doesn't have"; + Log.logText("Page \"" + pages[0].name + "\" " + hasLayoutText + " mobile portrait layout."); + } + catch (errors) { + Log.log(errors); + } } // ---- Event Listener ---------------------------------------------------- @@ -2153,20 +2128,20 @@ function _DashboardEvents_TileClicked() { // ---- Qna Events Listener ---------------------------------------------------- -function _Qna_SetQuestion() { +async function _Qna_SetQuestion() { // Get a reference to the embedded Q&A HTML element var qnaContainer = $('#qnaContainer')[0]; // Get a reference to the embedded Q&A. qna = powerbi.get(qnaContainer); - qna.setQuestion("2014 total units YTD by manufacturer, region as treemap chart") - .then(function (result) { - log.log(result); - }) - .catch(function (errors) { - Log.log(errors); - }); + try { + const result = await qna.setQuestion("2014 total units YTD by manufacturer, region as treemap chart"); + Log.log(result); + } + catch (errors) { + Log.log(errors); + } } function _Qna_QuestionChanged() { @@ -2212,13 +2187,13 @@ function _Visual_DataSelected() { } // ---- Bookmarks Operations ---------------------------------------------------- -function _Bookmarks_Enable() { +async function _Bookmarks_Enable() { // The new settings that you want to apply to the report. const newSettings = { panes: { - bookmarks: { - visible: true - } + bookmarks: { + visible: true + } } }; @@ -2229,20 +2204,22 @@ function _Bookmarks_Enable() { report = powerbi.get(embedContainer); // Update the settings by passing in the new settings you have configured. - report.updateSettings(newSettings) - .catch(function (error) { - Log.log(error); - }); + try { + await report.updateSettings(newSettings); + } + catch (error) { + Log.log(error); + } } -function _Bookmarks_Disable() { +async function _Bookmarks_Disable() { // The new settings that you want to apply to the report. const newSettings = { - panes: { - bookmarks: { - visible: false + panes: { + bookmarks: { + visible: false + } } - } }; // Get a reference to the embedded report HTML element @@ -2252,13 +2229,15 @@ function _Bookmarks_Disable() { report = powerbi.get(embedContainer); // Update the settings by passing in the new settings you have configured. - report.updateSettings(newSettings) - .catch(function (error) { - Log.log(error); - }); + try { + await report.updateSettings(newSettings); + } + catch (error) { + Log.log(error); + } } -function _Bookmarks_Get() { +async function _Bookmarks_Get() { // Get a reference to the embedded report HTML element var embedContainer = $('#embedContainer')[0]; @@ -2267,19 +2246,19 @@ function _Bookmarks_Get() { // Retrieve the bookmark collection and loop through to print the // bookmarks' name and display name. - report.bookmarksManager.getBookmarks() - .then(function (bookmarks) { - bookmarks.forEach(function (bookmark) { - var log = bookmark.name + " - " + bookmark.displayName; - Log.logText(log); - }); - }) - .catch(function (error) { - Log.log(error); + try { + const bookmarks = await report.bookmarksManager.getBookmarks(); + bookmarks.forEach(function (bookmark) { + var log = bookmark.name + " - " + bookmark.displayName; + Log.logText(log); }); + } + catch (error) { + Log.log(error); + } } -function _Bookmarks_Apply() { +async function _Bookmarks_Apply() { // Get a reference to the embedded report HTML element var embedContainer = $('#embedContainer')[0]; @@ -2289,16 +2268,16 @@ function _Bookmarks_Apply() { // bookmarksManager.apply will apply the bookmark with the // given name on the report. // This is the actual bookmark name not the display name. - report.bookmarksManager.apply("Bookmarkaf5fe203dc1e280a4822") - .then(function () { - Log.logText("Bookmark \"Q4 2014\" applied."); - }) - .catch(function (errors) { - Log.log(errors); - }); + try { + await report.bookmarksManager.apply("Bookmarkaf5fe203dc1e280a4822"); + Log.logText("Bookmark \"Q4 2014\" applied."); + } + catch (errors) { + Log.log(errors); + } } -function _Bookmarks_Capture() { +async function _Bookmarks_Capture() { // Get a reference to the embedded report HTML element var embedContainer = $('#embedContainer')[0]; @@ -2307,17 +2286,17 @@ function _Bookmarks_Capture() { // Capture the current bookmark and prints the bookmark's // state string to Log window. - report.bookmarksManager.capture() - .then(function (capturedBookmark) { - var log = "Captured bookmark state: " + capturedBookmark.state; - Log.logText(log); - }) - .catch(function (error) { - Log.log(error); - }); + try { + const capturedBookmark = await report.bookmarksManager.capture(); + var log = "Captured bookmark state: " + capturedBookmark.state; + Log.logText(log); + } + catch (error) { + Log.log(error); + } } -function _Bookmarks_ApplyState() { +async function _Bookmarks_ApplyState() { // Get a reference to the embedded report HTML element var embedContainer = $('#embedContainer')[0]; @@ -2326,16 +2305,16 @@ function _Bookmarks_ApplyState() { // bookmarksManager.applyState will apply the bookmark which // represented by the given state string. - report.bookmarksManager.applyState("H4sIAAAAAAAAA+1d62/bOBL/VwIfDvmSXQyfEvvp2qa9La7Z7iW9HIpDP/AxcrRrS4Yspw2K/u9HSbbrxJal+J3USRBEMjUcDofD3zyofOu4eDjo6bvfdR87Lzqv0vSvvs7+OiGkc9ZJ7t8MlNbaEMuIoxGllFMS+VbpII/TZNh58a2T66yL+XU8HOleQdHf/F8HeEggcIZKwQyRwoEQnc/fzzr4ddBLM108fZXrHAsKt5gN/bXvlfwKnri2eXyLV2jz6u4lDtIsH19LAOcUVcwFRDsEEkjhn4niXu7JFOTM3Zuvg8xz8W0ymLflh75Vfjcorl/7jrtpFlvdmz5aPHk9YYSedd5mab+kMZaS8y3fJHmc3/mL84Lz75/POv+9wQzLZq/TxMUVw98678rfBRs4HFaCKpv0Rv0HnxRXV+kos3iJ0Y+LssPvXl5/ZOkAs7LTT6gzf8/3eq17o1LOnuj72DPvx1GwX9z2DSkQ/r5o+fm7/1UJfaa7Vmw8GOpCTs46N+mX1xn6Fq7zgpRdDatZKieied58ozUmbp1h+dG4kc0fjuwKu31M8gWDO3vAFNkGV4uEfZEm+U0LhugOxRQPr3XyMhs67NXowW1pD/yiyHWcjOdXRCQALYghKL0iEGeZKu4P46Tbw8qClPag/OtjNRajh7G9utH+wpsd86fXpoLY96JbVCIMGBNADRBpCSLCWgSp1NxbPIYBD3jIIMRgPYJhGEobSaCWc0IF1Ua7RoI5fs1N+nWemoCA+G9NRejXuCICDFmLvQBQCEIjFxolDA3ACb06e1QoFkZgNIAXoSUMmFmLPW8wmHCRlx+nEoQRwjYrTC17VitqGHcuJBqscIrz5snVpfF6Ncpzv0zmp5c5wyURwmgBjBmtgK9JUkZGBwJsgDSQzijCrF2D5Nlksy+e6aeuaH0TO4dJp1pClHk5MAcSqQ4DqwSDerO8q/3zQ0nuPUZ5ZbL6A53Fw4kBm1z9K078YoKzmYZrbbCXoyTxUj6Zbm+XcfemJLxgkyXFDnuv0UGySSs2twQE5liZ26IOYUeCGUZeuludWHRzXFygHo4ybMvGle7h8K2eZ+RjmuveyX+S2K+/eUZKiLRsJdveaOgnEV0lldc3Ossfrug0c5i9uiuXzXmcTXCyX3RvdjCkYtkutylGUCRWWxOC9bYROZAVd5WmnkJghHoYEXCp0ITInW426Sv1RKmjjCERBJwJnHeINN+/ndyKn/FgUTf7G2SrzkZrG7P1pf33ag2cXHi/GPMTD1oy3K+xWcTRySWhF6uYHqOzgzA3NWJutjshCwWTEeEOVUiMsVywNdEYRetBMTM2pAyFx2MhROs5BA6874uBDiVYiiIAuYZDoELBheSRjDRHMNa7VM2Iu5aaA6o1eHdAIkAowyCiwerUru97gGT/1vKIKo+o8lmiyhaM/Bb7Oczszd17vMXePD/Tz+c/mrBx7RWvCtyOleiRMzxeslMynXsjnDab4aS8efLjRvHxmP/FMUhoqRzPThqLg4Q/p2ac67tteV5VZsLz9udMmHusaBVAenbSnKyzZzi0yaL53Oj9PcAybP9Y5uj5Haqf9SQd0me3to/wYFYa/x75zQyPAjnipc3hpZ7fCY8g6bFIAkISomUoEIAhaENlc2x89fSe0pQLIFZZKqWTwMMWIZ3lIbFIGxABUwGC4iEn1pF1SDaNwCkeKAdaoUXtQPBxgnLlCBy3Aoo8AUehADToQOJaBKVENJ4mOi/gACjTMlyLIPPKYbmIDAFDVUFa0UaCtXE4RgUGTAMBisY4Io2w9fi1XY1LO0AbzwLadx68Wp2nvsctw9p4rqgn1/lo2ArQnl6gi0f9003B2tlR1zDVVNfzYw5mtqR2EzCcnYAZFFkv/9bRxnYQdjonc8P/x1QyQJvDjeedmmDjppD0HDvbDznWq8a7vu4uwvGNW3J/1MvjS/+MztyCXIaxQWikJAGzTFlumMajIagzBO/TL0crcFBWgBytwAasAHdFtZrWwsMVh9y6SDXjqWEvtqUO/iDW6WPWLUXexaSaKq9Gg4r/GIc/LMv9vzYWAXuZlInTduk8urE82dQ1WKaqzjfK4z6eFqXYv4D8BchHgBflz+njMnxsn5wTMs95uQLH6Xid6wXTPsy9V3g+Lu7HckNZTUp+aSXu0YQI/MLIR+qpyBdc/aooGxOrvIullE5fYf4FMTmdmJr6+gfysP5h/YDn+F7VbeRoRDiw4scGRmhlw/rtenchx4knf1JoKnqXuC7suIah2kfRSe24qumg3llkwmnLnHKa01DoJYWyP9feTRrNCtvl3k1a4KmfENH+5udnz5D26cOnB5nAA6gBPcgCoXEd0yGVB7UT/WBW9NOqoHrp76SmbDC3xmaOqS2bhlPP6y0mMfpN55G4cw/MXnh8Vh0NnUGaOz3mV5MA2tZe/Xuazw9kZxt4VVM2hT3XhWCbHYRk1OvVz85m690W8bZK+nIjOjPNYO2Vi9nbe6s7WIq1dsrJ364G2uKCaE0rLl5mcX7T966jnTXim9XhaQHpTPXmdH1dWd/avbnVC5Kg22ej7N1bpdK/+TAobG/qrRw7hBnds14tjQS2AJGD+DbNP2rTw307tnWWtNiWFmbqPfR9hGvS3l59LtEHEcoYQqzz/rQAIsAJWY+hj270HhNhRzf6cDPET9+RDnkUSB4CJ1oHoYaiQqEgsXoeoiYa3Sbqe+6fcOmXmbDvAl9/iZ1a1S4dHf1N1/8+T1etKvS9X3786cOnk9c3Ouk2+2xwvn2PrQWL27di/8R0TomwWzyyVzT5eG/2kPI4T8qxfHalpWsVsm/r7VM77n+1N2msc4xrg2bnGevkRie48g85SCskDRhHamUIDPEgst6P2tyeXO67YXRVBjwIlaFUO+4E0wY4Z7Ak/fWzu4kHkG39uaInzQWEOy1CeLYFhIpFBGkoDePGUUIoZc3nP3bruEMEDFQUKAJcaYWasGOi/mn479vcvxsPyj7BXXvBa5IWhK6Co/b/xNrfNvzwpNS/Pq9VNJTFm/pMcbSPSMuUUs661d2Il91uhl09UeV1yn6XILk0qwb5dpSMhQe78bsfjS538DK5PYq80iChNNcq4NSYgJPQGS2bX4x71KCjBk01iBlwkikRAsiQUsXAHSvGW6e6d3ra65jqPtAzkE/fXV74n1DWcpc3d96uO6uTZRB7u8rYrY2St1DGN3qYz2jj0hNorU56FW9gmI0blF//B2OhSYYdZwAA") - .then(function () { - Log.logText("Bookmark applied from given state."); - }) - .catch(function (error) { - Log.log(error); - }); + try { + await report.bookmarksManager.applyState("H4sIAAAAAAAAA+1d62/bOBL/VwIfDvmSXQyfEvvp2qa9La7Z7iW9HIpDP/AxcrRrS4Yspw2K/u9HSbbrxJal+J3USRBEMjUcDofD3zyofOu4eDjo6bvfdR87Lzqv0vSvvs7+OiGkc9ZJ7t8MlNbaEMuIoxGllFMS+VbpII/TZNh58a2T66yL+XU8HOleQdHf/F8HeEggcIZKwQyRwoEQnc/fzzr4ddBLM108fZXrHAsKt5gN/bXvlfwKnri2eXyLV2jz6u4lDtIsH19LAOcUVcwFRDsEEkjhn4niXu7JFOTM3Zuvg8xz8W0ymLflh75Vfjcorl/7jrtpFlvdmz5aPHk9YYSedd5mab+kMZaS8y3fJHmc3/mL84Lz75/POv+9wQzLZq/TxMUVw98678rfBRs4HFaCKpv0Rv0HnxRXV+kos3iJ0Y+LssPvXl5/ZOkAs7LTT6gzf8/3eq17o1LOnuj72DPvx1GwX9z2DSkQ/r5o+fm7/1UJfaa7Vmw8GOpCTs46N+mX1xn6Fq7zgpRdDatZKieied58ozUmbp1h+dG4kc0fjuwKu31M8gWDO3vAFNkGV4uEfZEm+U0LhugOxRQPr3XyMhs67NXowW1pD/yiyHWcjOdXRCQALYghKL0iEGeZKu4P46Tbw8qClPag/OtjNRajh7G9utH+wpsd86fXpoLY96JbVCIMGBNADRBpCSLCWgSp1NxbPIYBD3jIIMRgPYJhGEobSaCWc0IF1Ua7RoI5fs1N+nWemoCA+G9NRejXuCICDFmLvQBQCEIjFxolDA3ACb06e1QoFkZgNIAXoSUMmFmLPW8wmHCRlx+nEoQRwjYrTC17VitqGHcuJBqscIrz5snVpfF6Ncpzv0zmp5c5wyURwmgBjBmtgK9JUkZGBwJsgDSQzijCrF2D5Nlksy+e6aeuaH0TO4dJp1pClHk5MAcSqQ4DqwSDerO8q/3zQ0nuPUZ5ZbL6A53Fw4kBm1z9K078YoKzmYZrbbCXoyTxUj6Zbm+XcfemJLxgkyXFDnuv0UGySSs2twQE5liZ26IOYUeCGUZeuludWHRzXFygHo4ybMvGle7h8K2eZ+RjmuveyX+S2K+/eUZKiLRsJdveaOgnEV0lldc3Ossfrug0c5i9uiuXzXmcTXCyX3RvdjCkYtkutylGUCRWWxOC9bYROZAVd5WmnkJghHoYEXCp0ITInW426Sv1RKmjjCERBJwJnHeINN+/ndyKn/FgUTf7G2SrzkZrG7P1pf33ag2cXHi/GPMTD1oy3K+xWcTRySWhF6uYHqOzgzA3NWJutjshCwWTEeEOVUiMsVywNdEYRetBMTM2pAyFx2MhROs5BA6874uBDiVYiiIAuYZDoELBheSRjDRHMNa7VM2Iu5aaA6o1eHdAIkAowyCiwerUru97gGT/1vKIKo+o8lmiyhaM/Bb7Oczszd17vMXePD/Tz+c/mrBx7RWvCtyOleiRMzxeslMynXsjnDab4aS8efLjRvHxmP/FMUhoqRzPThqLg4Q/p2ac67tteV5VZsLz9udMmHusaBVAenbSnKyzZzi0yaL53Oj9PcAybP9Y5uj5Haqf9SQd0me3to/wYFYa/x75zQyPAjnipc3hpZ7fCY8g6bFIAkISomUoEIAhaENlc2x89fSe0pQLIFZZKqWTwMMWIZ3lIbFIGxABUwGC4iEn1pF1SDaNwCkeKAdaoUXtQPBxgnLlCBy3Aoo8AUehADToQOJaBKVENJ4mOi/gACjTMlyLIPPKYbmIDAFDVUFa0UaCtXE4RgUGTAMBisY4Io2w9fi1XY1LO0AbzwLadx68Wp2nvsctw9p4rqgn1/lo2ArQnl6gi0f9003B2tlR1zDVVNfzYw5mtqR2EzCcnYAZFFkv/9bRxnYQdjonc8P/x1QyQJvDjeedmmDjppD0HDvbDznWq8a7vu4uwvGNW3J/1MvjS/+MztyCXIaxQWikJAGzTFlumMajIagzBO/TL0crcFBWgBytwAasAHdFtZrWwsMVh9y6SDXjqWEvtqUO/iDW6WPWLUXexaSaKq9Gg4r/GIc/LMv9vzYWAXuZlInTduk8urE82dQ1WKaqzjfK4z6eFqXYv4D8BchHgBflz+njMnxsn5wTMs95uQLH6Xid6wXTPsy9V3g+Lu7HckNZTUp+aSXu0YQI/MLIR+qpyBdc/aooGxOrvIullE5fYf4FMTmdmJr6+gfysP5h/YDn+F7VbeRoRDiw4scGRmhlw/rtenchx4knf1JoKnqXuC7suIah2kfRSe24qumg3llkwmnLnHKa01DoJYWyP9feTRrNCtvl3k1a4KmfENH+5udnz5D26cOnB5nAA6gBPcgCoXEd0yGVB7UT/WBW9NOqoHrp76SmbDC3xmaOqS2bhlPP6y0mMfpN55G4cw/MXnh8Vh0NnUGaOz3mV5MA2tZe/Xuazw9kZxt4VVM2hT3XhWCbHYRk1OvVz85m690W8bZK+nIjOjPNYO2Vi9nbe6s7WIq1dsrJ364G2uKCaE0rLl5mcX7T966jnTXim9XhaQHpTPXmdH1dWd/avbnVC5Kg22ej7N1bpdK/+TAobG/qrRw7hBnds14tjQS2AJGD+DbNP2rTw307tnWWtNiWFmbqPfR9hGvS3l59LtEHEcoYQqzz/rQAIsAJWY+hj270HhNhRzf6cDPET9+RDnkUSB4CJ1oHoYaiQqEgsXoeoiYa3Sbqe+6fcOmXmbDvAl9/iZ1a1S4dHf1N1/8+T1etKvS9X3786cOnk9c3Ouk2+2xwvn2PrQWL27di/8R0TomwWzyyVzT5eG/2kPI4T8qxfHalpWsVsm/r7VM77n+1N2msc4xrg2bnGevkRie48g85SCskDRhHamUIDPEgst6P2tyeXO67YXRVBjwIlaFUO+4E0wY4Z7Ak/fWzu4kHkG39uaInzQWEOy1CeLYFhIpFBGkoDePGUUIoZc3nP3bruEMEDFQUKAJcaYWasGOi/mn479vcvxsPyj7BXXvBa5IWhK6Co/b/xNrfNvzwpNS/Pq9VNJTFm/pMcbSPSMuUUs661d2Il91uhl09UeV1yn6XILk0qwb5dpSMhQe78bsfjS538DK5PYq80iChNNcq4NSYgJPQGS2bX4x71KCjBk01iBlwkikRAsiQUsXAHSvGW6e6d3ra65jqPtAzkE/fXV74n1DWcpc3d96uO6uTZRB7u8rYrY2St1DGN3qYz2jj0hNorU56FW9gmI0blF//B2OhSYYdZwAA"); + Log.logText("Bookmark applied from given state."); + } + catch (error) { + Log.log(error); + } } -function _Bookmarks_EnterPresentation() { +async function _Bookmarks_EnterPresentation() { // Get models. models contains enums that can be used. var models = window['powerbi-client'].models; @@ -2346,13 +2325,16 @@ function _Bookmarks_EnterPresentation() { report = powerbi.get(embedContainer); // Enter bookmarks play mode - report.bookmarksManager.play(models.BookmarksPlayMode.Presentation) - .then(function () { - Log.logText("Bookmarks play mode is on, check the play bar at the bottom of the report."); - }); + try { + await report.bookmarksManager.play(models.BookmarksPlayMode.Presentation); + Log.logText("Bookmarks play mode is on, check the play bar at the bottom of the report."); + } + catch (errors) { + Log.log(errors); + } } -function _Bookmarks_ExitPresentation() { +async function _Bookmarks_ExitPresentation() { // Get models. models contains enums that can be used. var models = window['powerbi-client'].models; @@ -2363,13 +2345,16 @@ function _Bookmarks_ExitPresentation() { report = powerbi.get(embedContainer); // Exit bookmarks play mode - report.bookmarksManager.play(models.BookmarksPlayMode.Off) - .then(function () { - Log.logText("Bookmarks play mode is off."); - }); + try { + await report.bookmarksManager.play(models.BookmarksPlayMode.Off); + Log.logText("Bookmarks play mode is off."); + } + catch (errors) { + Log.log(errors); + } } -function _Visual_GetSlicer() { +async function _Visual_GetSlicer() { // Get a reference to the embedded report HTML element var embedContainer = $('#embedContainer')[0]; @@ -2377,39 +2362,31 @@ function _Visual_GetSlicer() { report = powerbi.get(embedContainer); // Retrieve the page collection and get the visuals for the first page. - report.getPages() - .then(function (pages) { - // Retrieve active page. - var activePage = pages.filter(function (page) { - return page.isActive; - })[0]; - - activePage.getVisuals() - .then(function (visuals) { - // Retrieve the target visual. - var slicer = visuals.filter(function (visual) { - return visual.type == "slicer" && visual.name == "4d55baaa5eddde4cdf90"; - })[0]; - - // Get the slicer state which contains the slicer filter. - slicer.getSlicerState() - .then(function (state) { - Log.log(state); - }) - .catch(function (errors) { - Log.log(errors); - }); - }) - .catch(function (errors) { - Log.log(errors); - }); - }) - .catch(function (errors) { - Log.log(errors); - }); + try { + const pages = await report.getPages(); + + // Retrieve active page. + var activePage = pages.filter(function (page) { + return page.isActive; + })[0]; + + const visuals = await activePage.getVisuals(); + + // Retrieve the target visual. + var slicer = visuals.filter(function (visual) { + return visual.type == "slicer" && visual.name == "4d55baaa5eddde4cdf90"; + })[0]; + + // Get the slicer state which contains the slicer filter. + const state = await slicer.getSlicerState(); + Log.log(state); + } + catch (errors) { + Log.log(errors); + } } -function _Visual_SetSlicer() { +async function _Visual_SetSlicer() { // Build the filter you want to use. For more information, See Constructing // Filters in https://github.com/Microsoft/PowerBI-JavaScript/wiki/Filters. const filter = { @@ -2439,39 +2416,31 @@ function _Visual_SetSlicer() { report = powerbi.get(embedContainer); // Retrieve the page collection and get the visuals for the first page. - report.getPages() - .then(function (pages) { - // Retrieve active page. - var activePage = pages.filter(function (page) { - return page.isActive; - })[0]; - - activePage.getVisuals() - .then(function (visuals) { - // Retrieve the target visual. - var slicer = visuals.filter(function (visual) { - return visual.type == "slicer" && visual.name == "4d55baaa5eddde4cdf90"; - })[0]; - - // Set the slicer state which contains the slicer filters. - slicer.setSlicerState({ filters: [filter] }) - .then(function () { - Log.logText("Date slicer was set."); - }) - .catch(function (errors) { - Log.log(errors); - }); - }) - .catch(function (errors) { - Log.log(errors); - }); - }) - .catch(function (errors) { - Log.log(errors); - }); + try { + const pages = await report.getPages(); + + // Retrieve active page. + var activePage = pages.filter(function (page) { + return page.isActive; + })[0]; + + const visuals = await activePage.getVisuals(); + + // Retrieve the target visual. + var slicer = visuals.filter(function (visual) { + return visual.type == "slicer" && visual.name == "4d55baaa5eddde4cdf90"; + })[0]; + + // Set the slicer state which contains the slicer filters. + await slicer.setSlicerState({ filters: [filter] }); + Log.logText("Date slicer was set."); + } + catch (errors) { + Log.log(errors); + } } -function _Visual_SetFilters() { +async function _Visual_SetFilters() { // Build the filter you want to use. For more information, See Constructing // Filters in https://github.com/Microsoft/PowerBI-JavaScript/wiki/Filters. const filter = { @@ -2497,42 +2466,32 @@ function _Visual_SetFilters() { report = powerbi.get(embedContainer); // Retrieve the page collection and get the visuals for the first page. - report.getPages() - .then(function (pages) { - - // Retrieve active page. - var activePage = pages.filter(function (page) { - return page.isActive - })[0]; - - activePage.getVisuals() - .then(function (visuals) { - - // Retrieve the target visual. - var visual = visuals.filter(function (visual) { - return visual.name == "VisualContainer4"; - })[0]; - - // Set the filter for the visual. - // Pay attention that setFilters receives an array. - visual.setFilters([filter]) - .then(function () { - Log.logText("Filter was set for \"Category Breakdown\" table.") - }) - .catch(function (errors) { - Log.log(errors); - }); - }) - .catch(function (errors) { - Log.log(errors); - }); - }) - .catch(function (errors) { - Log.log(errors); - }); + try { + const pages = await report.getPages(); + + // Retrieve active page. + var activePage = pages.filter(function (page) { + return page.isActive + })[0]; + + const visuals = await activePage.getVisuals(); + + // Retrieve the target visual. + var visual = visuals.filter(function (visual) { + return visual.name == "VisualContainer4"; + })[0]; + + // Set the filter for the visual. + // Pay attention that setFilters receives an array. + await visual.setFilters([filter]); + Log.logText("Filter was set for \"Category Breakdown\" table.") + } + catch (errors) { + Log.log(errors); + } } -function _Visual_GetFilters() { +async function _Visual_GetFilters() { // Get a reference to the embedded report HTML element var embedContainer = $('#embedContainer')[0]; @@ -2540,40 +2499,30 @@ function _Visual_GetFilters() { report = powerbi.get(embedContainer); // Retrieve the page collection and get the visuals for the first page. - report.getPages() - .then(function (pages) { - - // Retrieve active page. - var activePage = pages.filter(function (page) { - return page.isActive - })[0]; - - activePage.getVisuals() - .then(function (visuals) { - - // Retrieve the target visual. - var visual = visuals.filter(function (visual) { - return visual.name == "VisualContainer4"; - })[0]; - - visual.getFilters() - .then(function (filters) { - Log.log(filters); - }) - .catch(function (errors) { - Log.log(errors); - }); - }) - .catch(function (errors) { - Log.log(errors); - }); - }) - .catch(function (errors) { - Log.log(errors); - }); + try { + const pages = await report.getPages(); + + // Retrieve active page. + var activePage = pages.filter(function (page) { + return page.isActive + })[0]; + + const visuals = await activePage.getVisuals(); + + // Retrieve the target visual. + var visual = visuals.filter(function (visual) { + return visual.name == "VisualContainer4"; + })[0]; + + const filters = await visual.getFilters(); + Log.log(filters); + } + catch (errors) { + Log.log(errors); + } } -function _Visual_RemoveFilters() { +async function _Visual_RemoveFilters() { // Get a reference to the embedded report HTML element var embedContainer = $('#embedContainer')[0]; @@ -2581,40 +2530,30 @@ function _Visual_RemoveFilters() { report = powerbi.get(embedContainer); // Retrieve the page collection and get the visuals for the first page. - report.getPages() - .then(function (pages) { - - // Retrieve active page. - var activePage = pages.filter(function (page) { - return page.isActive - })[0]; - - activePage.getVisuals() - .then(function (visuals) { - - // Retrieve the target visual. - var visual = visuals.filter(function (visual) { - return visual.name == "VisualContainer4"; - })[0]; - - visual.removeFilters() - .then(function () { - Log.logText("\"Sentiment by Year and Months\" visual filters were removed."); - }) - .catch(function (errors) { - Log.log(errors); - }); - }) - .catch(function (errors) { - Log.log(errors); - }); - }) - .catch(function (errors) { - Log.log(errors); - }); + try { + const pages = await report.getPages(); + + // Retrieve active page. + var activePage = pages.filter(function (page) { + return page.isActive + })[0]; + + const visuals = await activePage.getVisuals(); + + // Retrieve the target visual. + var visual = visuals.filter(function (visual) { + return visual.name == "VisualContainer4"; + })[0]; + + await visual.removeFilters(); + Log.logText("\"Sentiment by Year and Months\" visual filters were removed."); + } + catch (errors) { + Log.log(errors); + } } -function _Visual_ExportData_Summarized() { +async function _Visual_ExportData_Summarized() { // Get models. models contains enums that can be used. var models = window['powerbi-client'].models; @@ -2625,41 +2564,30 @@ function _Visual_ExportData_Summarized() { report = powerbi.get(embedContainer); // Retrieve the page collection and get the visuals for the first page. - report.getPages() - .then(function (pages) { - - // Retrieve active page. - var activePage = pages.filter(function (page) { - return page.isActive - })[0]; - - activePage.getVisuals() - .then(function (visuals) { - - // Retrieve the target visual. - var visual = visuals.filter(function (visual) { - return visual.name == "VisualContainer4"; - })[0]; - - // Exports visual data - visual.exportData(models.ExportDataType.Summarized) - .then(function (result) { - Log.logCsv(result.data); - }) - .catch(function (errors) { - Log.log(errors); - }); - }) - .catch(function (errors) { - Log.log(errors); - }); - }) - .catch(function (errors) { - Log.log(errors); - }); + try { + const pages = await report.getPages(); + + // Retrieve active page. + var activePage = pages.filter(function (page) { + return page.isActive + })[0]; + + const visuals = await activePage.getVisuals(); + + // Retrieve the target visual. + var visual = visuals.filter(function (visual) { + return visual.name == "VisualContainer4"; + })[0]; + + const result = await visual.exportData(models.ExportDataType.Summarized); + Log.logCsv(result.data); + } + catch (errors) { + Log.log(errors); + } } -function _Visual_ExportData_Underlying() { +async function _Visual_ExportData_Underlying() { // Get models. models contains enums that can be used. var models = window['powerbi-client'].models; @@ -2670,47 +2598,37 @@ function _Visual_ExportData_Underlying() { report = powerbi.get(embedContainer); // Retrieve the page collection and get the visuals for the first page. - report.getPages() - .then(function (pages) { - - // Retrieve active page. - var activePage = pages.filter(function (page) { - return page.isActive - })[0]; - - activePage.getVisuals() - .then(function (visuals) { - - // Retrieve the target visual. - var visual = visuals.filter(function (visual) { - return visual.name == "VisualContainer4"; - })[0]; - - // Exports visual data - visual.exportData(models.ExportDataType.Underlying) - .then(function (result) { - Log.logCsv(result.data); - }) - .catch(function (errors) { - Log.log(errors); - }); - }) - .catch(function (errors) { - Log.log(errors); - }); - }) - .catch(function (errors) { - Log.log(errors); - }); + try { + const pages = await report.getPages(); + + // Retrieve active page. + var activePage = pages.filter(function (page) { + return page.isActive + })[0]; + + const visuals = await activePage.getVisuals(); + + // Retrieve the target visual. + var visual = visuals.filter(function (visual) { + return visual.name == "VisualContainer4"; + })[0]; + + // Exports visual data + const result = await visual.exportData(models.ExportDataType.Underlying); + Log.logCsv(result.data); + } + catch (errors) { + Log.log(errors); + } } -function _ReportVisual_UpdateSettings() { +async function _ReportVisual_UpdateSettings() { // The new settings that you want to apply to the report. const newSettings = { panes: { - filters: { - visible: true - } + filters: { + visible: true + } } }; @@ -2721,16 +2639,16 @@ function _ReportVisual_UpdateSettings() { visual = powerbi.get(embedContainer); // Update the settings by passing in the new settings you have configured. - visual.updateSettings(newSettings) - .then(function () { - Log.logText("Filter pane was added."); - }) - .catch(function (error) { - Log.log(error); - }); + try { + await visual.updateSettings(newSettings); + Log.logText("Filter pane was added."); + } + catch (error) { + Log.log(error); + } } -function _ReportVisual_HideSingleVisualHeader() { +async function _ReportVisual_HideSingleVisualHeader() { // Define settings to hide the header of a single visual var newSettings = { @@ -2764,16 +2682,16 @@ function _ReportVisual_HideSingleVisualHeader() { visual = powerbi.get(embedContainer); // Update the settings by passing in the new settings you have configured. - visual.updateSettings(newSettings) - .then(function () { - Log.logText("Visual header was successfully hidden for 'Sentiment by Year and Months' visual."); - }) - .catch(function (error) { - Log.log(error); - }); + try { + await visual.updateSettings(newSettings); + Log.logText("Visual header was successfully hidden for 'Sentiment by Year and Months' visual."); + } + catch (error) { + Log.log(error); + } } -function _Report_Authoring_Create() { +async function _Report_Authoring_Create() { // Get a reference to the embedded report HTML element var embedContainer = $('#embedContainer')[0]; @@ -2782,38 +2700,37 @@ function _Report_Authoring_Create() { // Util function - setting authoring page as active // For implementation please check 'Navigation > Page - Set active' code sample. - SetAuthoringPageActive(report) - .then(function (page) { - - // Creating new visual - // Documentation link: https://github.com/microsoft/powerbi-report-authoring/wiki/Visualization - page.createVisual('clusteredColumnChart') - .then(function (response) { - let visual = response.visual; - - // Defining data fields - const regionColumn = { column: 'Region', table: 'Geo', schema: 'http://powerbi.com/product/schema#column' }; - const totalUnitsMeasure = { measure: 'Total Units', table: 'SalesFact', schema: 'http://powerbi.com/product/schema#measure' }; - const totalVanArsdelUnitsMeasure = { measure: 'Total VanArsdel Units', table: 'SalesFact', schema: 'http://powerbi.com/product/schema#measure' }; - - // Setting visual data fields - visual.addDataField('Category', regionColumn); - visual.addDataField('Y', totalUnitsMeasure); - visual.addDataField('Y', totalVanArsdelUnitsMeasure); - - // Personalizing the visual - visual.setProperty({ objectName: "title", propertyName: "textSize" }, { schema: 'http://powerbi.com/product/schema#property', value: 8 }); - visual.setProperty({ objectName: "title", propertyName: "fontColor" }, { schema: 'http://powerbi.com/product/schema#property', value: '#000000' }); - - // Visit: https://github.com/microsoft/powerbi-report-authoring/wiki for full documentation - }); - }) - .catch(function (errors) { - Log.log(errors); - }); + try { + const page = await SetAuthoringPageActive(report); + + // Creating new visual + // Documentation link: https://github.com/microsoft/powerbi-report-authoring/wiki/Visualization + const response = await page.createVisual('clusteredColumnChart'); + + let visual = response.visual; + + // Defining data fields + const regionColumn = { column: 'Region', table: 'Geo', schema: 'http://powerbi.com/product/schema#column' }; + const totalUnitsMeasure = { measure: 'Total Units', table: 'SalesFact', schema: 'http://powerbi.com/product/schema#measure' }; + const totalVanArsdelUnitsMeasure = { measure: 'Total VanArsdel Units', table: 'SalesFact', schema: 'http://powerbi.com/product/schema#measure' }; + + // Setting visual data fields + visual.addDataField('Category', regionColumn); + visual.addDataField('Y', totalUnitsMeasure); + visual.addDataField('Y', totalVanArsdelUnitsMeasure); + + // Personalizing the visual + visual.setProperty({ objectName: "title", propertyName: "textSize" }, { schema: 'http://powerbi.com/product/schema#property', value: 8 }); + visual.setProperty({ objectName: "title", propertyName: "fontColor" }, { schema: 'http://powerbi.com/product/schema#property', value: '#000000' }); + + // Visit: https://github.com/microsoft/powerbi-report-authoring/wiki for full documentation + } + catch (errors) { + Log.log(errors); + } } -function _Report_Authoring_ChangeType() { +async function _Report_Authoring_ChangeType() { // Get a reference to the embedded report HTML element var embedContainer = $('#embedContainer')[0]; @@ -2822,33 +2739,27 @@ function _Report_Authoring_ChangeType() { // Util function - setting authoring page as active // For implementation please check 'Navigation > Page - Set active' code sample. - SetAuthoringPageActive(report) - .then(function (page) { - page.getVisuals().then(function (visuals) { - if (visuals.length < 1) { - Log.logText("No visuals on authoring page. Please run 'Create visual and personalize' first."); - return; - } + try { + const page = await SetAuthoringPageActive(report); + const visuals = await page.getVisuals(); + if (visuals.length < 1) { + Log.logText("No visuals on authoring page. Please run 'Create visual and personalize' first."); + return; + } - // Getting the last visual that was added - let visual = visuals[visuals.length - 1]; - - // Documentation link: https://github.com/microsoft/powerbi-report-authoring/wiki/Visualization - visual.changeType('waterfallChart') - .then(function () { - Log.logText("Last visual type was changed."); - }) - .catch(function (errors) { - Log.log(errors); - }); - }) - }) - .catch(function (errors) { - Log.log(errors); - }); + // Getting the last visual that was added + let visual = visuals[visuals.length - 1]; + + // Documentation link: https://github.com/microsoft/powerbi-report-authoring/wiki/Visualization + await visual.changeType('waterfallChart'); + Log.logText("Last visual type was changed."); + } + catch (errors) { + Log.log(errors); + } } -function _Report_Authoring_Remove() { +async function _Report_Authoring_Remove() { // Get a reference to the embedded report HTML element var embedContainer = $('#embedContainer')[0]; @@ -2857,33 +2768,27 @@ function _Report_Authoring_Remove() { // Util function - setting authoring page as active // For implementation please check 'Navigation > Page - Set active' code sample. - SetAuthoringPageActive(report) - .then(function (page) { - page.getVisuals().then(function (visuals) { - if (visuals.length < 1) { - Log.logText("No visuals on authoring page. Please run 'Create visual and personalize' first."); - return; - } + try { + const page = await SetAuthoringPageActive(report); + const visuals = await page.getVisuals(); + if (visuals.length < 1) { + Log.logText("No visuals on authoring page. Please run 'Create visual and personalize' first."); + return; + } - // Getting the last visual that was added - let visual = visuals[visuals.length - 1]; - - // Documentation link: https://github.com/microsoft/powerbi-report-authoring/wiki/Visualization - page.deleteVisual(visual.name) - .then(function () { - Log.logText("Last visual was deleted."); - }) - .catch(function (errors) { - Log.log(errors); - }); - }) - }) - .catch(function (errors) { - Log.log(errors); - }); + // Getting the last visual that was added + let visual = visuals[visuals.length - 1]; + + // Documentation link: https://github.com/microsoft/powerbi-report-authoring/wiki/Visualization + await page.deleteVisual(visual.name); + Log.logText("Last visual was deleted."); + } + catch (errors) { + Log.log(errors); + } } -function _Report_Authoring_Capabilities() { +async function _Report_Authoring_Capabilities() { // Get a reference to the embedded report HTML element var embedContainer = $('#embedContainer')[0]; @@ -2892,33 +2797,29 @@ function _Report_Authoring_Capabilities() { // Util function - setting authoring page as active // For implementation please check 'Navigation > Page - Set active' code sample. - SetAuthoringPageActive(report) - .then(function (page) { - page.getVisuals().then(function (visuals) { - if (visuals.length < 1) { - Log.logText("No visuals on authoring page. Please run 'Create visual and personalize' first."); - return; - } + try { + const page = await SetAuthoringPageActive(report); + const visuals = await page.getVisuals(); + if (visuals.length < 1) { + Log.logText("No visuals on authoring page. Please run 'Create visual and personalize' first."); + return; + } - // Getting the last visual that was added - let visual = visuals[visuals.length - 1]; - - // Getting visual capabilities - // Documentation link: https://github.com/microsoft/powerbi-report-authoring/wiki/Data-binding - visual.getCapabilities().then(function (capabilities) { - Log.logText("Visual capabilities:"); - Log.log(capabilities); - }).catch(function (errors) { - Log.log(errors); - }); - }) - }) - .catch(function (errors) { - Log.log(errors); - }); + // Getting the last visual that was added + let visual = visuals[visuals.length - 1]; + + // Getting visual capabilities + // Documentation link: https://github.com/microsoft/powerbi-report-authoring/wiki/Data-binding + const capabilities = await visual.getCapabilities(); + Log.logText("Visual capabilities:"); + Log.log(capabilities); + } + catch (errors) { + Log.log(errors); + } } -function _Report_Authoring_AddDataField() { +async function _Report_Authoring_AddDataField() { // Get a reference to the embedded report HTML element var embedContainer = $('#embedContainer')[0]; @@ -2927,57 +2828,43 @@ function _Report_Authoring_AddDataField() { // Util function - setting authoring page as active // For implementation please check 'Navigation > Page - Set active' code sample. - SetAuthoringPageActive(report) - .then(function (page) { - page.getVisuals().then(function (visuals) { - if (visuals.length < 1) { - Log.logText("No visuals on authoring page. Please run 'Create visual and personalize' first."); - return; - } + try { + const page = await SetAuthoringPageActive(report); + const visuals = await page.getVisuals(); + if (visuals.length < 1) { + Log.logText("No visuals on authoring page. Please run 'Create visual and personalize' first."); + return; + } - // Getting the last visual that was added - let visual = visuals[visuals.length - 1]; - - // Getting 'Y' role data fields - // Documentation link: https://github.com/microsoft/powerbi-report-authoring/wiki/Data-binding - visual.getDataFields('Y') - .then(function (dataFields) { - - // Removing the second data field of 'Y' role, in order to add Legend/Breakdown - if (dataFields.length > 1) - visual.removeDataField('Y', 1); - - // Adding Legend/Breakdown data role - if (visual.type === 'clusteredColumnChart') { - const quarterColumn = { column: 'Quarter', table: 'Date', schema: 'http://powerbi.com/product/schema#column' }; - visual.addDataField('Series', quarterColumn) - .then(function () { - Log.logText("Data field was added to last visual."); - }) - .catch(function (errors) { - Log.log(errors); - }); - } else { - const categoryColumn = { column: 'Category', table: 'Product', schema: 'http://powerbi.com/product/schema#column' }; - visual.addDataField('Breakdown', categoryColumn) - .then(function () { - Log.logText("Data field was added to last visual."); - }) - .catch(function (errors) { - Log.log(errors); - }); - } - }).catch(function (errors) { - Log.log(errors); - }); - }) - }) - .catch(function (errors) { - Log.log(errors); - }); + // Getting the last visual that was added + let visual = visuals[visuals.length - 1]; + + // Getting 'Y' role data fields + // Documentation link: https://github.com/microsoft/powerbi-report-authoring/wiki/Data-binding + const dataFields = await visual.getDataFields('Y'); + + // Removing the second data field of 'Y' role, in order to add Legend/Breakdown + if (dataFields.length > 1) + visual.removeDataField('Y', 1); + + // Adding Legend/Breakdown data role + if (visual.type === 'clusteredColumnChart') { + const quarterColumn = { column: 'Quarter', table: 'Date', schema: 'http://powerbi.com/product/schema#column' }; + await visual.addDataField('Series', quarterColumn); + Log.logText("Data field was added to last visual."); + } + else { + const categoryColumn = { column: 'Category', table: 'Product', schema: 'http://powerbi.com/product/schema#column' }; + await visual.addDataField('Breakdown', categoryColumn); + Log.logText("Data field was added to last visual."); + } + } + catch (errors) { + Log.log(errors); + } } -function _Report_Authoring_RemoveDataField() { +async function _Report_Authoring_RemoveDataField() { // Get a reference to the embedded report HTML element var embedContainer = $('#embedContainer')[0]; @@ -2986,46 +2873,37 @@ function _Report_Authoring_RemoveDataField() { // Util function - setting authoring page as active // For implementation please check 'Navigation > Page - Set active' code sample. - SetAuthoringPageActive(report) - .then(function (page) { - page.getVisuals().then(function (visuals) { - if (visuals.length < 1) { - Log.logText("No visuals on authoring page. Please run 'Create visual and personalize' first."); - return; - } + try { + const page = await SetAuthoringPageActive(report); + const visuals = await page.getVisuals(); - // Getting the last visual that was added - let visual = visuals[visuals.length - 1]; - let dataRole = visual.type === 'clusteredColumnChart' ? 'Series' : 'Breakdown'; - - // Documentation link: https://github.com/microsoft/powerbi-report-authoring/wiki/Data-binding - visual.getDataFields(dataRole) - .then(function (dataFields) { - - // Removing Legend/Breakdown data field - if (dataFields.length > 0) { - visual.removeDataField(dataRole, 0) - .then(function () { - Log.logText("Data field was removed from last visual."); - }) - .catch(function (errors) { - Log.log(errors); - }); - } else { - Log.logText("Please add additional data field first."); - } - }) - .catch(function (errors) { - Log.log(errors); - }); - }) - }) - .catch(function (errors) { - Log.log(errors); - }); + if (visuals.length < 1) { + Log.logText("No visuals on authoring page. Please run 'Create visual and personalize' first."); + return; + } + + // Getting the last visual that was added + let visual = visuals[visuals.length - 1]; + let dataRole = visual.type === 'clusteredColumnChart' ? 'Series' : 'Breakdown'; + + // Documentation link: https://github.com/microsoft/powerbi-report-authoring/wiki/Data-binding + const dataFields = await visual.getDataFields(dataRole); + + // Removing Legend/Breakdown data field + if (dataFields.length > 0) { + await visual.removeDataField(dataRole, 0); + Log.logText("Data field was removed from last visual."); + } + else { + Log.log("Please add additional data field first."); + } + } + catch (errors) { + Log.log(errors); + } } -function _Report_Authoring_GetDataField() { +async function _Report_Authoring_GetDataField() { // Get a reference to the embedded report HTML element var embedContainer = $('#embedContainer')[0]; @@ -3034,35 +2912,29 @@ function _Report_Authoring_GetDataField() { // Util function - setting authoring page as active // For implementation please check 'Navigation > Page - Set active' code sample. - SetAuthoringPageActive(report) - .then(function (page) { - page.getVisuals().then(function (visuals) { - if (visuals.length < 1) { - Log.logText("No visuals on authoring page. Please run 'Create visual and personalize' first."); - return; - } + try { + const page = await SetAuthoringPageActive(report); + const visuals = await page.getVisuals(); + if (visuals.length < 1) { + Log.logText("No visuals on authoring page. Please run 'Create visual and personalize' first."); + return; + } - // Getting the last visual that was added - let visual = visuals[visuals.length - 1]; - - // Getting 'Y' role data fields - // Documentation link: https://github.com/microsoft/powerbi-report-authoring/wiki/Data-binding - visual.getDataFields('Y') - .then(function (dataFields) { - Log.logText("Visual 'Y' fields:"); - Log.log(dataFields); - }) - .catch(function (errors) { - Log.log(errors); - }); - }) - }) - .catch(function (errors) { - Log.log(errors); - }); + // Getting the last visual that was added + let visual = visuals[visuals.length - 1]; + + // Getting 'Y' role data fields + // Documentation link: https://github.com/microsoft/powerbi-report-authoring/wiki/Data-binding + const dataFields = await visual.getDataFields('Y'); + Log.logText("Visual 'Y' fields:"); + Log.log(dataFields); + } + catch (errors) { + Log.log(errors); + } } -function _Report_Authoring_GetProperty() { +async function _Report_Authoring_GetProperty() { // Get a reference to the embedded report HTML element var embedContainer = $('#embedContainer')[0]; @@ -3071,32 +2943,29 @@ function _Report_Authoring_GetProperty() { // Util function - setting authoring page as active // For implementation please check 'Navigation > Page - Set active' code sample. - SetAuthoringPageActive(report) - .then(function (page) { - page.getVisuals().then(function (visuals) { - if (visuals.length < 1) { - Log.logText("No visuals on authoring page. Please run 'Create visual and personalize' first."); - return; - } + try { + const page = await SetAuthoringPageActive(report); + const visuals = await page.getVisuals(); + if (visuals.length < 1) { + Log.logText("No visuals on authoring page. Please run 'Create visual and personalize' first."); + return; + } - // Getting the last visual that was added - let visual = visuals[visuals.length - 1]; - - // Get legend position property - // Documentation link: https://github.com/microsoft/powerbi-report-authoring/wiki/Properties - visual.getProperty({ objectName: "legend", propertyName: "position" }) - .then(function (property) { - Log.logText("Last visual - legend position property:"); - Log.log(property); - }); - }) - }) - .catch(function (errors) { - Log.log(errors); - }); + // Getting the last visual that was added + let visual = visuals[visuals.length - 1]; + + // Get legend position property + // Documentation link: https://github.com/microsoft/powerbi-report-authoring/wiki/Properties + const property = await visual.getProperty({ objectName: "legend", propertyName: "position" }); + Log.logText("Last visual - legend position property:"); + Log.log(property); + } + catch (errors) { + Log.log(errors); + } } -function _Report_Authoring_SetProperty() { +async function _Report_Authoring_SetProperty() { // Get a reference to the embedded report HTML element var embedContainer = $('#embedContainer')[0]; @@ -3105,34 +2974,28 @@ function _Report_Authoring_SetProperty() { // Util function - setting authoring page as active // For implementation please check 'Navigation > Page - Set active' code sample. - SetAuthoringPageActive(report) - .then(function (page) { - page.getVisuals().then(function (visuals) { - if (visuals.length < 1) { - Log.logText("No visuals on authoring page. Please run 'Create visual and personalize' first."); - return; - } + try { + const page = await SetAuthoringPageActive(report); + const visuals = await page.getVisuals(); + if (visuals.length < 1) { + Log.logText("No visuals on authoring page. Please run 'Create visual and personalize' first."); + return; + } - // Getting the last visual that was added - let visual = visuals[visuals.length - 1]; - - // Set legend position to bottom center - // Documentation link: https://github.com/microsoft/powerbi-report-authoring/wiki/Properties - visual.setProperty({ objectName: "legend", propertyName: "position" }, { schema: 'http://powerbi.com/product/schema#property', value: 'BottomCenter' }) - .then(function () { - Log.logText("Last visual legend position was set to bottom center."); - }) - .catch(function (errors) { - Log.log(errors); - }); - }) - }) - .catch(function (errors) { - Log.log(errors); - }); + // Getting the last visual that was added + let visual = visuals[visuals.length - 1]; + + // Set legend position to bottom center + // Documentation link: https://github.com/microsoft/powerbi-report-authoring/wiki/Properties + await visual.setProperty({ objectName: "legend", propertyName: "position" }, { schema: 'http://powerbi.com/product/schema#property', value: 'BottomCenter' }); + Log.logText("Last visual legend position was set to bottom center."); + } + catch (errors) { + Log.log(errors); + } } -function _Report_Authoring_ResetProperty() { +async function _Report_Authoring_ResetProperty() { // Get a reference to the embedded report HTML element var embedContainer = $('#embedContainer')[0]; @@ -3141,29 +3004,23 @@ function _Report_Authoring_ResetProperty() { // Util function - setting authoring page as active // For implementation please check 'Navigation > Page - Set active' code sample. - SetAuthoringPageActive(report) - .then(function (page) { - page.getVisuals().then(function (visuals) { - if (visuals.length < 1) { - Log.logText("No visuals on authoring page. Please run 'Create visual and personalize' first."); - return; - } + try { + const page = await SetAuthoringPageActive(report); + const visuals = await page.getVisuals(); + if (visuals.length < 1) { + Log.logText("No visuals on authoring page. Please run 'Create visual and personalize' first."); + return; + } - // Getting the last visual that was added - let visual = visuals[visuals.length - 1]; - - // Reset visual legend position - // Documentation link: https://github.com/microsoft/powerbi-report-authoring/wiki/Properties - visual.resetProperty({ objectName: "legend", propertyName: "position" }) - .then(function () { - Log.logText("Last visual legend position property was reset to default value."); - }) - .catch(function (errors) { - Log.log(errors); - }); - }) - }) - .catch(function (errors) { - Log.log(errors); - }); + // Getting the last visual that was added + let visual = visuals[visuals.length - 1]; + + // Reset visual legend position + // Documentation link: https://github.com/microsoft/powerbi-report-authoring/wiki/Properties + await visual.resetProperty({ objectName: "legend", propertyName: "position" }); + Log.logText("Last visual legend position property was reset to default value."); + } + catch (errors) { + Log.log(errors); + } } From 0071be7c041a9487096f0f9eecb12f1f867628e3 Mon Sep 17 00:00:00 2001 From: Shahak Yosef Date: Sun, 13 Dec 2020 15:15:34 +0000 Subject: [PATCH 042/125] Merged PR 132063: Hide phased loading for single visual embedded Phased loading (load and render) doesn't work for single visual embed (report embed with custom layout). Hide it from the official documentation. --- src/visual.ts | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/src/visual.ts b/src/visual.ts index 8bcc4e4d..13e183fd 100644 --- a/src/visual.ts +++ b/src/visual.ts @@ -5,6 +5,7 @@ import { Report } from './report' import { Page } from './page'; import { VisualDescriptor } from './visualDescriptor'; import { IHttpPostMessageResponse } from 'http-post-message'; +import { IReportLoadConfiguration } from 'powerbi-models'; /** * The Power BI Visual embed component @@ -20,6 +21,8 @@ export class Visual extends Report { static GetPagesNotSupportedError = "Get pages is not supported while embedding a visual."; /** @hidden */ static SetPageNotSupportedError = "Set page is not supported while embedding a visual."; + /** @hidden */ + static RenderNotSupportedError = "render is not supported while embedding a visual."; /** * Creates an instance of a Power BI Single Visual. @@ -33,6 +36,9 @@ export class Visual extends Report { super(service, element, baseConfig, phasedRender, isBootstrap, iframe); } + /** + * @hidden + */ load(phasedRender?: boolean): Promise { var config = this.config; @@ -113,6 +119,16 @@ export class Visual extends Report { throw Visual.SetPageNotSupportedError; } + /** + * Render a preloaded report, using phased embedding API + * + * @hidden + * @returns {Promise} + */ + async render(config?: IReportLoadConfiguration | embed.IReportEmbedConfiguration): Promise { + throw Visual.RenderNotSupportedError + } + /** * Gets the embedded visual descriptor object that contains the visual name, type, etc. * From 09894c8d6781a00b75b60e87b230ffb70c6d0d73 Mon Sep 17 00:00:00 2001 From: Anant Singh Date: Sun, 20 Dec 2020 17:05:13 +0000 Subject: [PATCH 043/125] Merged PR 134898: Fixed spellings Note: Changes in **powerbi-client.d.ts > module "visual"** are due to the previous completed PR --- dist/powerbi-client.d.ts | 21 +++++++++++++++++---- dist/powerbi.js | 26 ++++++++++++++++++++++---- dist/powerbi.min.js | 4 ++-- src/page.ts | 2 +- src/service.ts | 6 +++--- src/util.ts | 2 +- src/visualDescriptor.ts | 2 +- 7 files changed, 47 insertions(+), 16 deletions(-) diff --git a/dist/powerbi-client.d.ts b/dist/powerbi-client.d.ts index 327eb7be..418a2094 100644 --- a/dist/powerbi-client.d.ts +++ b/dist/powerbi-client.d.ts @@ -47,7 +47,7 @@ declare module "util" { */ export function createRandomString(): string; /** - * Generates a 20 charachter uuid. + * Generates a 20 character uuid. * * @export * @returns {string} @@ -597,7 +597,7 @@ declare module "visualDescriptor" { */ type: string; /** - * The visual layout: position, size and visiblity. + * The visual layout: position, size and visibility. * * @type {string} */ @@ -812,7 +812,7 @@ declare module "page" { /** * Makes the current page the active page of the report. * - * ```javascripot + * ```javascript * page.setActive(); * ``` * @@ -1437,6 +1437,7 @@ declare module "visual" { import { Page } from "page"; import { VisualDescriptor } from "visualDescriptor"; import { IHttpPostMessageResponse } from 'http-post-message'; + import { IReportLoadConfiguration } from 'powerbi-models'; /** * The Power BI Visual embed component * @@ -1450,6 +1451,8 @@ declare module "visual" { static GetPagesNotSupportedError: string; /** @hidden */ static SetPageNotSupportedError: string; + /** @hidden */ + static RenderNotSupportedError: string; /** * Creates an instance of a Power BI Single Visual. * @@ -1459,6 +1462,9 @@ declare module "visual" { * @hidden */ constructor(service: service.Service, element: HTMLElement, baseConfig: embed.IEmbedConfigurationBase, phasedRender?: boolean, isBootstrap?: boolean, iframe?: HTMLIFrameElement); + /** + * @hidden + */ load(phasedRender?: boolean): Promise; /** * Gets the list of pages within the report - not supported in visual embed. @@ -1473,6 +1479,13 @@ declare module "visual" { * @returns {Promise>} */ setPage(pageName: string): Promise>; + /** + * Render a preloaded report, using phased embedding API + * + * @hidden + * @returns {Promise} + */ + render(config?: IReportLoadConfiguration | embed.IReportEmbedConfiguration): Promise; /** * Gets the embedded visual descriptor object that contains the visual name, type, etc. * @@ -1620,7 +1633,7 @@ declare module "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 sacrificing ease of maintenance. This should be private but in embed needs to call methods. * @hidden */ hpm: hpm.HttpPostMessage; diff --git a/dist/powerbi.js b/dist/powerbi.js index a3c7ed40..17ccd31d 100644 --- a/dist/powerbi.js +++ b/dist/powerbi.js @@ -7073,7 +7073,7 @@ var Page = /** @class */ (function () { /** * Makes the current page the active page of the report. * - * ```javascripot + * ```javascript * page.setActive(); * ``` * @@ -8504,7 +8504,7 @@ var Service = /** @class */ (function () { Service.prototype.embedExisting = function (element, config, phasedRender) { var component = utils.find(function (x) { return x.element === element; }, this.embeds); if (!component) { - throw new Error("Attempted to embed using config " + JSON.stringify(config) + " on element " + element.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."); + throw new Error("Attempted to embed using config " + JSON.stringify(config) + " on element " + element.outerHTML + " which already has embedded component associated, but could not find the existing component 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."); } // TODO: Multiple embedding to the same iframe is not supported in QnA if (config.type && config.type.toLowerCase() === "qna") { @@ -8611,7 +8611,7 @@ var Service = /** @class */ (function () { iframe.remove(); } else { - /** Workaround for IE: unhandled rejection TypeError: object doesn't support propert or method 'remove' */ + /** Workaround for IE: unhandled rejection TypeError: object doesn't support property or method 'remove' */ iframe.parentElement.removeChild(iframe); } } @@ -8972,7 +8972,7 @@ function createRandomString() { } exports.createRandomString = createRandomString; /** - * Generates a 20 charachter uuid. + * Generates a 20 character uuid. * * @export * @returns {string} @@ -9163,6 +9163,9 @@ var Visual = /** @class */ (function (_super) { function Visual(service, element, baseConfig, phasedRender, isBootstrap, iframe) { return _super.call(this, service, element, baseConfig, phasedRender, isBootstrap, iframe) || this; } + /** + * @hidden + */ Visual.prototype.load = function (phasedRender) { var config = this.config; if (!config.accessToken) { @@ -9231,6 +9234,19 @@ var Visual = /** @class */ (function (_super) { Visual.prototype.setPage = function (pageName) { throw Visual.SetPageNotSupportedError; }; + /** + * Render a preloaded report, using phased embedding API + * + * @hidden + * @returns {Promise} + */ + Visual.prototype.render = function (config) { + return __awaiter(this, void 0, void 0, function () { + return __generator(this, function (_a) { + throw Visual.RenderNotSupportedError; + }); + }); + }; /** * Gets the embedded visual descriptor object that contains the visual name, type, etc. * @@ -9386,6 +9402,8 @@ var Visual = /** @class */ (function (_super) { Visual.GetPagesNotSupportedError = "Get pages is not supported while embedding a visual."; /** @hidden */ Visual.SetPageNotSupportedError = "Set page is not supported while embedding a visual."; + /** @hidden */ + Visual.RenderNotSupportedError = "render is not supported while embedding a visual."; return Visual; }(report_1.Report)); exports.Visual = Visual; diff --git a/dist/powerbi.min.js b/dist/powerbi.min.js index 07ef0854..11125637 100644 --- a/dist/powerbi.min.js +++ b/dist/powerbi.min.js @@ -3,8 +3,8 @@ var a;window,a=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){if(t.filterType)return t.filterType;var e=t,r=t;return"string"==typeof e.operator&&Array.isArray(e.values)?u.Basic:"string"==typeof r.logicalOperator&&Array.isArray(r.conditions)?u.Advanced:u.Unknown}function i(t){return!(!t.table||!t.column||t.aggregationFunction)}function o(t){return t&&!!t.groupName}function n(t){return Array.isArray(t)}function l(t){var e=t.message;return e||(e=t.path+" is invalid. Not meeting "+t.keyword+" constraint"),{message:e}}var s,d=this&&this.__extends||(s=function(t,e){return(s=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])})(t,e)},function(t,e){function r(){this.constructor=t}s(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.validateCustomTheme=e.validateCommandsSettings=e.validateVisualSettings=e.validateVisualHeader=e.validateExportDataRequest=e.validateQnaInterpretInputData=e.validateLoadQnaConfiguration=e.validateSaveAsParameters=e.validateFilter=e.validatePage=e.validateTileLoad=e.validateDashboardLoad=e.validateCreateReport=e.validateReportLoad=e.validateMenuGroupExtension=e.validateExtension=e.validateCustomPageSize=e.validateVisualizationsPane=e.validateSyncSlicersPane=e.validateSelectionPane=e.validatePageNavigationPane=e.validateFieldsPane=e.validateFiltersPane=e.validateBookmarksPane=e.validatePanes=e.validateSettings=e.validateCaptureBookmarkRequest=e.validateApplyBookmarkStateRequest=e.validateApplyBookmarkByNameRequest=e.validateAddBookmarkRequest=e.validatePlayBookmarkRequest=e.validateSlicerState=e.validateSlicer=e.validateVisualSelector=e.isIExtensionArray=e.isIExtensions=e.isGroupedMenuExtension=e.isFlatMenuExtension=e.VisualDataRoleKindPreference=e.VisualDataRoleKind=e.CommandDisplayOption=e.SlicerTargetSelector=e.VisualTypeSelector=e.VisualSelector=e.PageSelector=e.Selector=e.SortDirection=e.LegendPosition=e.TextAlignment=e.CommonErrorCodes=e.BookmarksPlayMode=e.ExportDataType=e.QnaMode=e.PageNavigationPosition=e.isColumnAggr=e.isHierarchyLevelAggr=e.isHierarchyLevel=e.isColumn=e.isMeasure=e.getFilterType=e.isBasicFilterWithKeys=e.isFilterKeyColumnsTarget=e.AdvancedFilter=e.TupleFilter=e.BasicFilterWithKeys=e.BasicFilter=e.RelativeTimeFilter=e.RelativeDateFilter=e.TopNFilter=e.IncludeExcludeFilter=e.NotSupportedFilter=e.Filter=e.RelativeDateOperators=e.RelativeDateFilterTimeUnit=e.FilterType=e.FiltersLevel=e.MenuLocation=e.ContrastMode=e.TokenType=e.ViewMode=e.Permissions=e.SectionVisibility=e.HyperlinkClickBehavior=e.LayoutType=e.VisualContainerDisplayMode=e.BackgroundType=e.DisplayOption=e.PageSizeType=e.TraceType=void 0;var u,c=r(1);!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"}(e.TraceType||(e.TraceType={})),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"}(e.PageSizeType||(e.PageSizeType={})),function(t){t[t.FitToPage=0]="FitToPage",t[t.FitToWidth=1]="FitToWidth",t[t.ActualSize=2]="ActualSize"}(e.DisplayOption||(e.DisplayOption={})),function(t){t[t.Default=0]="Default",t[t.Transparent=1]="Transparent"}(e.BackgroundType||(e.BackgroundType={})),function(t){t[t.Visible=0]="Visible",t[t.Hidden=1]="Hidden"}(e.VisualContainerDisplayMode||(e.VisualContainerDisplayMode={})),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={})),function(t){t[t.Navigate=0]="Navigate",t[t.NavigateAndRaiseEvent=1]="NavigateAndRaiseEvent",t[t.RaiseEvent=2]="RaiseEvent"}(e.HyperlinkClickBehavior||(e.HyperlinkClickBehavior={})),function(t){t[t.AlwaysVisible=0]="AlwaysVisible",t[t.HiddenInViewMode=1]="HiddenInViewMode"}(e.SectionVisibility||(e.SectionVisibility={})),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"}(e.Permissions||(e.Permissions={})),function(t){t[t.View=0]="View",t[t.Edit=1]="Edit"}(e.ViewMode||(e.ViewMode={})),function(t){t[t.Aad=0]="Aad",t[t.Embed=1]="Embed"}(e.TokenType||(e.TokenType={})),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"}(e.ContrastMode||(e.ContrastMode={})),function(t){t[t.Bottom=0]="Bottom",t[t.Top=1]="Top"}(e.MenuLocation||(e.MenuLocation={})),function(t){t[t.Report=0]="Report",t[t.Page=1]="Page",t[t.Visual=2]="Visual"}(e.FiltersLevel||(e.FiltersLevel={})),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"}(u=e.FilterType||(e.FilterType={})),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"}(e.RelativeDateFilterTimeUnit||(e.RelativeDateFilterTimeUnit={})),function(t){t[t.InLast=0]="InLast",t[t.InThis=1]="InThis",t[t.InNext=2]="InNext"}(e.RelativeDateOperators||(e.RelativeDateOperators={}));var p=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=p;var f=function(t){function e(r,a,i){var o=t.call(this,r,u.Unknown)||this;return o.message=a,o.notSupportedTypeName=i,o.schemaUrl=e.schemaUrl,o}return d(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}(p);e.NotSupportedFilter=f;var h=function(t){function e(r,a,i){var o=t.call(this,r,u.IncludeExclude)||this;return o.values=i,o.isExclude=a,o.schemaUrl=e.schemaUrl,o}return d(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}(p);e.IncludeExcludeFilter=h;var v=function(t){function e(r,a,i,o){var n=t.call(this,r,u.TopN)||this;return n.operator=a,n.itemCount=i,n.schemaUrl=e.schemaUrl,n.orderBy=o,n}return d(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}(p);e.TopNFilter=v;var y=function(t){function e(r,a,i,o,n){var l=t.call(this,r,u.RelativeDate)||this;return l.operator=a,l.timeUnitsCount=i,l.timeUnitType=o,l.includeToday=n,l.schemaUrl=e.schemaUrl,l}return d(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}(p);e.RelativeDateFilter=y;var m=function(t){function e(r,a,i,o){var n=t.call(this,r,u.RelativeTime)||this;return n.operator=a,n.timeUnitsCount=i,n.timeUnitType=o,n.schemaUrl=e.schemaUrl,n}return d(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}(p);e.RelativeTimeFilter=m;var V=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,s=o.keyValues;l2)throw new Error("AdvancedFilters may not have more than two conditions. You passed: "+i.length);if(1===n.length&&"And"!==a)throw new Error('Logical Operator must be "And" when there is only one condition provided');return l.conditions=n,l}return d(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}(p);e.AdvancedFilter=w,e.isFilterKeyColumnsTarget=function(t){return i(t)&&!!t.keys},e.isBasicFilterWithKeys=function(t){return a(t)===u.Basic&&!!t.keyValues},e.getFilterType=a,e.isMeasure=function(t){return void 0!==t.table&&void 0!==t.measure},e.isColumn=i,e.isHierarchyLevel=function(t){return!(!(t.table&&t.hierarchy&&t.hierarchyLevel)||t.aggregationFunction)},e.isHierarchyLevelAggr=function(t){return!!(t.table&&t.hierarchy&&t.hierarchyLevel&&t.aggregationFunction)},e.isColumnAggr=function(t){return!!(t.table&&t.column&&t.aggregationFunction)},function(t){t[t.Bottom=0]="Bottom",t[t.Left=1]="Left"}(e.PageNavigationPosition||(e.PageNavigationPosition={})),function(t){t[t.Interactive=0]="Interactive",t[t.ResultOnly=1]="ResultOnly"}(e.QnaMode||(e.QnaMode={})),function(t){t[t.Summarized=0]="Summarized",t[t.Underlying=1]="Underlying"}(e.ExportDataType||(e.ExportDataType={})),function(t){t[t.Off=0]="Off",t[t.Presentation=1]="Presentation"}(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"},function(t){t[t.Ascending=1]="Ascending",t[t.Descending=2]="Descending"}(e.SortDirection||(e.SortDirection={}));var P=function(){function t(t){this.$schema=t}return t.prototype.toJSON=function(){return{$schema:this.$schema}},t}();e.Selector=P;var _=function(t){function e(r){var a=t.call(this,e.schemaUrl)||this;return a.pageName=r,a}return d(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}(P);e.PageSelector=_;var S=function(t){function e(r){var a=t.call(this,e.schemaUrl)||this;return a.visualName=r,a}return d(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}(P);e.VisualSelector=S;var E=function(t){function e(e){var r=t.call(this,S.schemaUrl)||this;return r.visualType=e,r}return d(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}(P);e.VisualTypeSelector=E;var O=function(t){function e(e){var r=t.call(this,S.schemaUrl)||this;return r.target=e,r}return d(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}(P);e.SlicerTargetSelector=O,function(t){t[t.Enabled=0]="Enabled",t[t.Disabled=1]="Disabled",t[t.Hidden=2]="Hidden"}(e.CommandDisplayOption||(e.CommandDisplayOption={})),function(t){t[t.Grouping=0]="Grouping",t[t.Measure=1]="Measure",t[t.GroupingOrMeasure=2]="GroupingOrMeasure"}(e.VisualDataRoleKind||(e.VisualDataRoleKind={})),function(t){t[t.Measure=0]="Measure",t[t.Grouping=1]="Grouping"}(e.VisualDataRoleKindPreference||(e.VisualDataRoleKindPreference={})),e.isFlatMenuExtension=function(t){return t&&!o(t)},e.isGroupedMenuExtension=o,e.isIExtensions=function(t){return t&&!n(t)},e.isIExtensionArray=n,e.validateVisualSelector=function(t){var e=c.Validators.visualSelectorValidator.validate(t);return e?e.map(l):void 0},e.validateSlicer=function(t){var e=c.Validators.slicerValidator.validate(t);return e?e.map(l):void 0},e.validateSlicerState=function(t){var e=c.Validators.slicerStateValidator.validate(t);return e?e.map(l):void 0},e.validatePlayBookmarkRequest=function(t){var e=c.Validators.playBookmarkRequestValidator.validate(t);return e?e.map(l):void 0},e.validateAddBookmarkRequest=function(t){var e=c.Validators.addBookmarkRequestValidator.validate(t);return e?e.map(l):void 0},e.validateApplyBookmarkByNameRequest=function(t){var e=c.Validators.applyBookmarkByNameRequestValidator.validate(t);return e?e.map(l):void 0},e.validateApplyBookmarkStateRequest=function(t){var e=c.Validators.applyBookmarkStateRequestValidator.validate(t);return e?e.map(l):void 0},e.validateCaptureBookmarkRequest=function(t){var e=c.Validators.captureBookmarkRequestValidator.validate(t);return e?e.map(l):void 0},e.validateSettings=function(t){var e=c.Validators.settingsValidator.validate(t);return e?e.map(l):void 0},e.validatePanes=function(t){var e=c.Validators.reportPanesValidator.validate(t);return e?e.map(l):void 0},e.validateBookmarksPane=function(t){var e=c.Validators.bookmarksPaneValidator.validate(t);return e?e.map(l):void 0},e.validateFiltersPane=function(t){var e=c.Validators.filtersPaneValidator.validate(t);return e?e.map(l):void 0},e.validateFieldsPane=function(t){var e=c.Validators.fieldsPaneValidator.validate(t);return e?e.map(l):void 0},e.validatePageNavigationPane=function(t){var e=c.Validators.pageNavigationPaneValidator.validate(t);return e?e.map(l):void 0},e.validateSelectionPane=function(t){var e=c.Validators.selectionPaneValidator.validate(t);return e?e.map(l):void 0},e.validateSyncSlicersPane=function(t){var e=c.Validators.syncSlicersPaneValidator.validate(t);return e?e.map(l):void 0},e.validateVisualizationsPane=function(t){var e=c.Validators.visualizationsPaneValidator.validate(t);return e?e.map(l):void 0},e.validateCustomPageSize=function(t){var e=c.Validators.customPageSizeValidator.validate(t);return e?e.map(l):void 0},e.validateExtension=function(t){var e=c.Validators.extensionValidator.validate(t);return e?e.map(l):void 0},e.validateMenuGroupExtension=function(t){var e=c.Validators.menuGroupExtensionValidator.validate(t);return e?e.map(l):void 0},e.validateReportLoad=function(t){var e=c.Validators.reportLoadValidator.validate(t);return e?e.map(l):void 0},e.validateCreateReport=function(t){var e=c.Validators.reportCreateValidator.validate(t);return e?e.map(l):void 0},e.validateDashboardLoad=function(t){var e=c.Validators.dashboardLoadValidator.validate(t);return e?e.map(l):void 0},e.validateTileLoad=function(t){var e=c.Validators.tileLoadValidator.validate(t);return e?e.map(l):void 0},e.validatePage=function(t){var e=c.Validators.pageValidator.validate(t);return e?e.map(l):void 0},e.validateFilter=function(t){var e=c.Validators.filtersValidator.validate(t);return e?e.map(l):void 0},e.validateSaveAsParameters=function(t){var e=c.Validators.saveAsParametersValidator.validate(t);return e?e.map(l):void 0},e.validateLoadQnaConfiguration=function(t){var e=c.Validators.loadQnaValidator.validate(t);return e?e.map(l):void 0},e.validateQnaInterpretInputData=function(t){var e=c.Validators.qnaInterpretInputDataValidator.validate(t);return e?e.map(l):void 0},e.validateExportDataRequest=function(t){var e=c.Validators.exportDataRequestValidator.validate(t);return e?e.map(l):void 0},e.validateVisualHeader=function(t){var e=c.Validators.visualHeaderValidator.validate(t);return e?e.map(l):void 0},e.validateVisualSettings=function(t){var e=c.Validators.visualSettingsValidator.validate(t);return e?e.map(l):void 0},e.validateCommandsSettings=function(t){var e=c.Validators.commandsSettingsValidator.validate(t);return e?e.map(l):void 0},e.validateCustomTheme=function(t){var e=c.Validators.customThemeValidator.validate(t);return e?e.map(l):void 0}},function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.Validators=void 0;var a=r(2),i=r(5),o=r(6),n=r(7),l=r(8),s=r(9),d=r(10),u=r(11),c=r(12),p=r(13),f=r(14),h=r(15),v=r(16),y=r(17),m=r(18),V=r(19),g=r(20),b=r(21),w=r(22),P=r(23),_=r(24),S=r(25),E=r(26),O=r(27),T=r(28),k=r(4);e.Validators={addBookmarkRequestValidator:new i.AddBookmarkRequestValidator,advancedFilterTypeValidator:new k.EnumValidator([0]),advancedFilterValidator:new c.AdvancedFilterValidator,anyArrayValidator:new k.ArrayValidator([new S.AnyOfValidator([new k.StringValidator,new k.NumberValidator,new k.BooleanValidator])]),anyFilterValidator:new S.AnyOfValidator([new c.BasicFilterValidator,new c.AdvancedFilterValidator,new c.IncludeExcludeFilterValidator,new c.NotSupportedFilterValidator,new c.RelativeDateFilterValidator,new c.TopNFilterValidator,new c.RelativeTimeFilterValidator]),anyValueValidator:new S.AnyOfValidator([new k.StringValidator,new k.NumberValidator,new k.BooleanValidator]),actionBarValidator:new a.ActionBarValidator,applyBookmarkByNameRequestValidator:new i.ApplyBookmarkByNameRequestValidator,applyBookmarkStateRequestValidator:new i.ApplyBookmarkStateRequestValidator,applyBookmarkValidator:new S.AnyOfValidator([new i.ApplyBookmarkByNameRequestValidator,new i.ApplyBookmarkStateRequestValidator]),backgroundValidator:new k.EnumValidator([0,1]),basicFilterTypeValidator:new k.EnumValidator([1]),basicFilterValidator:new c.BasicFilterValidator,booleanArrayValidator:new k.BooleanArrayValidator,booleanValidator:new k.BooleanValidator,bookmarksPaneValidator:new h.BookmarksPaneValidator,captureBookmarkOptionsValidator:new i.CaptureBookmarkOptionsValidator,captureBookmarkRequestValidator:new i.CaptureBookmarkRequestValidator,commandDisplayOptionValidator:new k.EnumValidator([0,1,2]),commandExtensionSelectorValidator:new S.AnyOfValidator([new g.VisualSelectorValidator,new g.VisualTypeSelectorValidator]),commandExtensionArrayValidator:new k.ArrayValidator([new u.CommandExtensionValidator]),commandExtensionValidator:new u.CommandExtensionValidator,commandsSettingsArrayValidator:new k.ArrayValidator([new o.CommandsSettingsValidator]),commandsSettingsValidator:new o.CommandsSettingsValidator,conditionItemValidator:new c.ConditionItemValidator,contrastModeValidator:new k.EnumValidator([0,1,2,3,4]),customLayoutDisplayOptionValidator:new k.EnumValidator([0,1,2]),customLayoutValidator:new p.CustomLayoutValidator,customPageSizeValidator:new f.CustomPageSizeValidator,customThemeValidator:new n.CustomThemeValidator,dashboardLoadValidator:new l.DashboardLoadValidator,datasetBindingValidator:new s.DatasetBindingValidator,displayStateModeValidator:new k.EnumValidator([0,1]),displayStateValidator:new p.DisplayStateValidator,exportDataRequestValidator:new d.ExportDataRequestValidator,extensionArrayValidator:new k.ArrayValidator([new u.ExtensionValidator]),extensionsValidator:new S.AnyOfValidator([new k.ArrayValidator([new u.ExtensionValidator]),new u.ExtensionsValidator]),extensionPointsValidator:new u.ExtensionPointsValidator,extensionValidator:new u.ExtensionValidator,fieldForbiddenValidator:new E.FieldForbiddenValidator,fieldRequiredValidator:new O.FieldRequiredValidator,fieldsPaneValidator:new h.FieldsPaneValidator,filterColumnTargetValidator:new c.FilterColumnTargetValidator,filterConditionsValidator:new k.ArrayValidator([new c.ConditionItemValidator]),filterHierarchyTargetValidator:new c.FilterHierarchyTargetValidator,filterMeasureTargetValidator:new c.FilterMeasureTargetValidator,filterTargetValidator:new S.AnyOfValidator([new c.FilterColumnTargetValidator,new c.FilterHierarchyTargetValidator,new c.FilterMeasureTargetValidator]),filtersArrayValidator:new k.ArrayValidator([new S.AnyOfValidator([new c.BasicFilterValidator,new c.AdvancedFilterValidator,new c.RelativeDateFilterValidator,new c.RelativeTimeFilterValidator])]),filtersValidator:new c.FilterValidator,filtersPaneValidator:new h.FiltersPaneValidator,hyperlinkClickBehaviorValidator:new k.EnumValidator([0,1,2]),includeExcludeFilterValidator:new c.IncludeExcludeFilterValidator,includeExludeFilterTypeValidator:new k.EnumValidator([3]),layoutTypeValidator:new k.EnumValidator([0,1,2,3]),loadQnaValidator:new v.LoadQnaValidator,menuExtensionValidator:new S.AnyOfValidator([new u.FlatMenuExtensionValidator,new u.GroupedMenuExtensionValidator]),menuGroupExtensionArrayValidator:new k.ArrayValidator([new u.MenuGroupExtensionValidator]),menuGroupExtensionValidator:new u.MenuGroupExtensionValidator,menuLocationValidator:new k.EnumValidator([0,1]),notSupportedFilterTypeValidator:new k.EnumValidator([2]),notSupportedFilterValidator:new c.NotSupportedFilterValidator,numberArrayValidator:new k.NumberArrayValidator,numberValidator:new k.NumberValidator,pageLayoutValidator:new T.MapValidator([new k.StringValidator],[new p.VisualLayoutValidator]),pageNavigationPaneValidator:new h.PageNavigationPaneValidator,pageNavigationPositionValidator:new k.EnumValidator([0,1]),pageSizeTypeValidator:new k.EnumValidator([0,1,2,3,4,5]),pageSizeValidator:new f.PageSizeValidator,pageValidator:new f.PageValidator,pageViewFieldValidator:new f.PageViewFieldValidator,pagesLayoutValidator:new T.MapValidator([new k.StringValidator],[new p.PageLayoutValidator]),reportBarsValidator:new a.ReportBarsValidator,reportPanesValidator:new h.ReportPanesValidator,permissionsValidator:new k.EnumValidator([0,1,2,4,7]),playBookmarkRequestValidator:new i.PlayBookmarkRequestValidator,qnaInterpretInputDataValidator:new v.QnaInterpretInputDataValidator,qnaSettingValidator:new v.QnaSettingsValidator,relativeDateFilterOperatorValidator:new k.EnumValidator([0,1,2]),relativeDateFilterTimeUnitTypeValidator:new k.EnumValidator([0,1,2,3,4,5,6]),relativeDateFilterTypeValidator:new k.EnumValidator([4]),relativeDateFilterValidator:new c.RelativeDateFilterValidator,relativeTimeFilterTimeUnitTypeValidator:new k.EnumValidator([7,8]),relativeTimeFilterTypeValidator:new k.EnumValidator([7]),relativeTimeFilterValidator:new c.RelativeTimeFilterValidator,reportCreateValidator:new y.ReportCreateValidator,reportLoadValidator:new m.ReportLoadValidator,saveAsParametersValidator:new V.SaveAsParametersValidator,selectionPaneValidator:new h.SelectionPaneValidator,settingsValidator:new b.SettingsValidator,singleCommandSettingsValidator:new o.SingleCommandSettingsValidator,slicerSelectorValidator:new S.AnyOfValidator([new g.VisualSelectorValidator,new g.SlicerTargetSelectorValidator]),slicerStateValidator:new w.SlicerStateValidator,slicerTargetValidator:new S.AnyOfValidator([new c.FilterColumnTargetValidator,new c.FilterHierarchyTargetValidator,new c.FilterMeasureTargetValidator,new c.FilterKeyColumnsTargetValidator,new c.FilterKeyHierarchyTargetValidator]),slicerValidator:new w.SlicerValidator,stringArrayValidator:new k.StringArrayValidator,stringValidator:new k.StringValidator,syncSlicersPaneValidator:new h.SyncSlicersPaneValidator,tileLoadValidator:new P.TileLoadValidator,tokenTypeValidator:new k.EnumValidator([0,1]),topNFilterTypeValidator:new k.EnumValidator([5]),topNFilterValidator:new c.TopNFilterValidator,viewModeValidator:new k.EnumValidator([0,1]),visualCommandSelectorValidator:new S.AnyOfValidator([new g.VisualSelectorValidator,new g.VisualTypeSelectorValidator]),visualHeaderSelectorValidator:new S.AnyOfValidator([new g.VisualSelectorValidator,new g.VisualTypeSelectorValidator]),visualHeaderSettingsValidator:new _.VisualHeaderSettingsValidator,visualHeaderValidator:new _.VisualHeaderValidator,visualHeadersValidator:new k.ArrayValidator([new _.VisualHeaderValidator]),visualizationsPaneValidator:new h.VisualizationsPaneValidator,visualLayoutValidator:new p.VisualLayoutValidator,visualSelectorValidator:new g.VisualSelectorValidator,visualSettingsValidator:new _.VisualSettingsValidator,visualTypeSelectorValidator:new g.VisualTypeSelectorValidator}},function(t,e,r){var a,i=this&&this.__extends||(a=function(t,e){return(a=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])})(t,e)},function(t,e){function r(){this.constructor=t}a(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.ActionBarValidator=e.ReportBarsValidator=void 0;var o=r(3),n=r(4),l=r(1),s=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i(e,t),e.prototype.validate=function(e,r,a){if(null==e)return null;var i=t.prototype.validate.call(this,e,r,a);if(i)return i;var n=[{field:"actionBar",validators:[l.Validators.actionBarValidator]}];return new o.MultipleFieldsValidator(n).validate(e,r,a)},e}(n.ObjectValidator);e.ReportBarsValidator=s;var d=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i(e,t),e.prototype.validate=function(e,r,a){if(null==e)return null;var i=t.prototype.validate.call(this,e,r,a);if(i)return i;var n=[{field:"visible",validators:[l.Validators.booleanValidator]}];return new o.MultipleFieldsValidator(n).validate(e,r,a)},e}(n.ObjectValidator);e.ActionBarValidator=d},function(t,e){Object.defineProperty(e,"__esModule",{value:!0}),e.MultipleFieldsValidator=void 0;var r=function(){function t(t){this.fieldValidatorsPairs=t}return t.prototype.validate=function(t,e,r){if(!this.fieldValidatorsPairs)return null;for(var a=e?e+"."+r:r,i=0,o=this.fieldValidatorsPairs;i0&&o[o.length-1])||6!==t[0]&&2!==t[0])){l=0;continue}if(3===t[0]&&(!o||t[1]>o[0]&&t[1]0&&o[o.length-1])||6!==t[0]&&2!==t[0])){l=0;continue}if(3===t[0]&&(!o||t[1]>o[0]&&t[1]0?"&":"?";return t+=a+e+"="+r},e.isSavedInternal=function(t,e,r){return i(this,void 0,void 0,function(){return o(this,function(a){switch(a.label){case 0:return a.trys.push([0,2,,3]),[4,t.get("/report/hasUnsavedChanges",{uid:e},r)];case 1:return[2,!a.sent().body];case 2:throw a.sent().body;case 3:return[2]}})})},e.isRDLEmbed=function(t){return t.toLowerCase().indexOf("/rdlembed?")>=0},e.autoAuthInEmbedUrl=function(t){return t&&decodeURIComponent(t).toLowerCase().indexOf("autoauth=true")>=0},e.getRandomValue=a,e.getTimeDiffInMilliseconds=function(t,e){return Math.abs(t.getTime()-e.getTime())}},function(t,e){Object.defineProperty(e,"__esModule",{ -value:!0}),e.EmbedUrlNotSupported=e.APINotSupportedForRDLError=void 0,e.APINotSupportedForRDLError="This API is currently not supported for RDL reports",e.EmbedUrlNotSupported="Embed URL is invalid for this scenario. Please use Power BI REST APIs to get the valid URL"},function(t,e,r){var a,i=this&&this.__extends||(a=function(t,e){return(a=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])})(t,e)},function(t,e){function r(){this.constructor=t}a(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}),o=this&&this.__awaiter||function(t,e,r,a){return new(r||(r=Promise))(function(i,o){function n(t){try{s(a.next(t))}catch(t){o(t)}}function l(t){try{s(a["throw"](t))}catch(t){o(t)}}function s(t){var e;t.done?i(t.value):(e=t.value,e instanceof r?e:new r(function(t){t(e)})).then(n,l)}s((a=a.apply(t,e||[])).next())})},n=this&&this.__generator||function(t,e){function r(t){return function(r){return function(t){if(a)throw new TypeError("Generator is already executing.");for(;l;)try{if(a=1,i&&(o=2&t[0]?i["return"]:t[0]?i["throw"]||((o=i["return"])&&o.call(i),0):i.next)&&!(o=o.call(i,t[1])).done)return o;switch(i=0,o&&(t=[2&t[0],o.value]),t[0]){case 0:case 1:o=t;break;case 4:return l.label++,{value:t[1],done:!1};case 5:l.label++,i=t[1],t=[0];continue;case 7:t=l.ops.pop(),l.trys.pop();continue;default:if(o=l.trys,!((o=o.length>0&&o[o.length-1])||6!==t[0]&&2!==t[0])){l=0;continue}if(3===t[0]&&(!o||t[1]>o[0]&&t[1]0&&o[o.length-1])||6!==t[0]&&2!==t[0])){l=0;continue}if(3===t[0]&&(!o||t[1]>o[0]&&t[1]0&&o[o.length-1])||6!==t[0]&&2!==t[0])){l=0;continue}if(3===t[0]&&(!o||t[1]>o[0]&&t[1]0&&o[o.length-1])||6!==t[0]&&2!==t[0])){l=0;continue}if(3===t[0]&&(!o||t[1]>o[0]&&t[1]0&&o[o.length-1])||6!==t[0]&&2!==t[0])){l=0;continue}if(3===t[0]&&(!o||t[1]>o[0]&&t[1]0&&o[o.length-1])||6!==t[0]&&2!==t[0])){l=0;continue}if(3===t[0]&&(!o||t[1]>o[0]&&t[1]0&&o[o.length-1])||6!==t[0]&&2!==t[0])){l=0;continue}if(3===t[0]&&(!o||t[1]>o[0]&&t[1]0&&o[o.length-1])||6!==t[0]&&2!==t[0])){l=0;continue}if(3===t[0]&&(!o||t[1]>o[0]&&t[1]0&&o[o.length-1])||6!==t[0]&&2!==t[0])){l=0;continue}if(3===t[0]&&(!o||t[1]>o[0]&&t[1]0&&o[o.length-1])||6!==t[0]&&2!==t[0])){l=0;continue}if(3===t[0]&&(!o||t[1]>o[0]&&t[1]0&&o[o.length-1])||6!==t[0]&&2!==t[0])){l=0;continue}if(3===t[0]&&(!o||t[1]>o[0]&&t[1]0&&o[o.length-1])||6!==t[0]&&2!==t[0])){l=0;continue}if(3===t[0]&&(!o||t[1]>o[0]&&t[1]0&&o[o.length-1])||6!==t[0]&&2!==t[0])){l=0;continue}if(3===t[0]&&(!o||t[1]>o[0]&&t[1]0&&o[o.length-1])||6!==t[0]&&2!==t[0])){l=0;continue}if(3===t[0]&&(!o||t[1]>o[0]&&t[1]2&&"[]"===n.slice(l-2)&&(s=!0,r[n=n.slice(0,l-2)]||(r[n]=[])),i=o[1]?y(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(-1!==(a=t.indexOf("?"))){var l=t.substr(a+1,t.length);t=t.substr(0,a),o=this.parseQueryString(l)}for("/"!==(t=decodeURI(t)).charAt(0)&&(t="/"+t),(e=t.length)>1&&"/"===t.charAt(e-1)&&(t=t.substr(0,e-1),n=!0),r=0;r x.element === element, this.embeds); if (!component) { - throw new Error(`Attempted to embed using config ${JSON.stringify(config)} on element ${element.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.`); + throw new Error(`Attempted to embed using config ${JSON.stringify(config)} on element ${element.outerHTML} which already has embedded component associated, but could not find the existing component 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.`); } // TODO: Multiple embedding to the same iframe is not supported in QnA @@ -508,7 +508,7 @@ export class Service implements IService { iframe.remove(); } else { - /** Workaround for IE: unhandled rejection TypeError: object doesn't support propert or method 'remove' */ + /** Workaround for IE: unhandled rejection TypeError: object doesn't support property or method 'remove' */ iframe.parentElement.removeChild(iframe); } } diff --git a/src/util.ts b/src/util.ts index 0b0de8ae..bc84e731 100644 --- a/src/util.ts +++ b/src/util.ts @@ -110,7 +110,7 @@ export function createRandomString(): string { } /** - * Generates a 20 charachter uuid. + * Generates a 20 character uuid. * * @export * @returns {string} diff --git a/src/visualDescriptor.ts b/src/visualDescriptor.ts index 764213ef..8836b32e 100644 --- a/src/visualDescriptor.ts +++ b/src/visualDescriptor.ts @@ -47,7 +47,7 @@ export class VisualDescriptor implements IVisualNode, IFilterable { type: string; /** - * The visual layout: position, size and visiblity. + * The visual layout: position, size and visibility. * * @type {string} */ From b07359b9c18ec242150ca6733b699017529ecb1b Mon Sep 17 00:00:00 2001 From: Anant Singh Date: Thu, 24 Dec 2020 13:16:55 +0000 Subject: [PATCH 044/125] Merged PR 135765: Fix bug with minified version of output bundle Removed gulp-uglify package as it introduced the bug in the minified file. We are now just using the webpack's production mode to generate minified bundle --- dist/powerbi-client.d.ts | 2 +- dist/powerbi.js | 4 ++-- dist/powerbi.min.js | 20 ++++++++++---------- gulpfile.js | 4 ---- package.json | 3 +-- src/config.ts | 2 +- 6 files changed, 15 insertions(+), 20 deletions(-) diff --git a/dist/powerbi-client.d.ts b/dist/powerbi-client.d.ts index 418a2094..866833ae 100644 --- a/dist/powerbi-client.d.ts +++ b/dist/powerbi-client.d.ts @@ -1,4 +1,4 @@ -/*! powerbi-client v2.16.1 | (c) 2016 Microsoft Corporation MIT */ +/*! powerbi-client v2.16.2 | (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 17ccd31d..03ae6229 100644 --- a/dist/powerbi.js +++ b/dist/powerbi.js @@ -1,4 +1,4 @@ -/*! powerbi-client v2.16.1 | (c) 2016 Microsoft Corporation MIT */ +/*! powerbi-client v2.16.2 | (c) 2016 Microsoft Corporation MIT */ (function webpackUniversalModuleDefinition(root, factory) { if(typeof exports === 'object' && typeof module === 'object') module.exports = factory(); @@ -5864,7 +5864,7 @@ exports.BookmarksManager = BookmarksManager; Object.defineProperty(exports, "__esModule", { value: true }); /** @ignore */ /** */ var config = { - version: '2.16.1', + version: '2.16.2', type: 'js' }; exports.default = config; diff --git a/dist/powerbi.min.js b/dist/powerbi.min.js index 11125637..d0f38b8f 100644 --- a/dist/powerbi.min.js +++ b/dist/powerbi.min.js @@ -1,10 +1,10 @@ -/*! powerbi-client v2.16.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()}(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=12)}([function(t,e,r){/*! powerbi-models v1.7.0 | (c) 2016 Microsoft Corporation MIT */ -var a;window,a=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){if(t.filterType)return t.filterType;var e=t,r=t;return"string"==typeof e.operator&&Array.isArray(e.values)?u.Basic:"string"==typeof r.logicalOperator&&Array.isArray(r.conditions)?u.Advanced:u.Unknown}function i(t){return!(!t.table||!t.column||t.aggregationFunction)}function o(t){return t&&!!t.groupName}function n(t){return Array.isArray(t)}function l(t){var e=t.message;return e||(e=t.path+" is invalid. Not meeting "+t.keyword+" constraint"),{message:e}}var s,d=this&&this.__extends||(s=function(t,e){return(s=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])})(t,e)},function(t,e){function r(){this.constructor=t}s(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.validateCustomTheme=e.validateCommandsSettings=e.validateVisualSettings=e.validateVisualHeader=e.validateExportDataRequest=e.validateQnaInterpretInputData=e.validateLoadQnaConfiguration=e.validateSaveAsParameters=e.validateFilter=e.validatePage=e.validateTileLoad=e.validateDashboardLoad=e.validateCreateReport=e.validateReportLoad=e.validateMenuGroupExtension=e.validateExtension=e.validateCustomPageSize=e.validateVisualizationsPane=e.validateSyncSlicersPane=e.validateSelectionPane=e.validatePageNavigationPane=e.validateFieldsPane=e.validateFiltersPane=e.validateBookmarksPane=e.validatePanes=e.validateSettings=e.validateCaptureBookmarkRequest=e.validateApplyBookmarkStateRequest=e.validateApplyBookmarkByNameRequest=e.validateAddBookmarkRequest=e.validatePlayBookmarkRequest=e.validateSlicerState=e.validateSlicer=e.validateVisualSelector=e.isIExtensionArray=e.isIExtensions=e.isGroupedMenuExtension=e.isFlatMenuExtension=e.VisualDataRoleKindPreference=e.VisualDataRoleKind=e.CommandDisplayOption=e.SlicerTargetSelector=e.VisualTypeSelector=e.VisualSelector=e.PageSelector=e.Selector=e.SortDirection=e.LegendPosition=e.TextAlignment=e.CommonErrorCodes=e.BookmarksPlayMode=e.ExportDataType=e.QnaMode=e.PageNavigationPosition=e.isColumnAggr=e.isHierarchyLevelAggr=e.isHierarchyLevel=e.isColumn=e.isMeasure=e.getFilterType=e.isBasicFilterWithKeys=e.isFilterKeyColumnsTarget=e.AdvancedFilter=e.TupleFilter=e.BasicFilterWithKeys=e.BasicFilter=e.RelativeTimeFilter=e.RelativeDateFilter=e.TopNFilter=e.IncludeExcludeFilter=e.NotSupportedFilter=e.Filter=e.RelativeDateOperators=e.RelativeDateFilterTimeUnit=e.FilterType=e.FiltersLevel=e.MenuLocation=e.ContrastMode=e.TokenType=e.ViewMode=e.Permissions=e.SectionVisibility=e.HyperlinkClickBehavior=e.LayoutType=e.VisualContainerDisplayMode=e.BackgroundType=e.DisplayOption=e.PageSizeType=e.TraceType=void 0;var u,c=r(1);!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"}(e.TraceType||(e.TraceType={})),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"}(e.PageSizeType||(e.PageSizeType={})),function(t){t[t.FitToPage=0]="FitToPage",t[t.FitToWidth=1]="FitToWidth",t[t.ActualSize=2]="ActualSize"}(e.DisplayOption||(e.DisplayOption={})),function(t){t[t.Default=0]="Default",t[t.Transparent=1]="Transparent"}(e.BackgroundType||(e.BackgroundType={})),function(t){t[t.Visible=0]="Visible",t[t.Hidden=1]="Hidden"}(e.VisualContainerDisplayMode||(e.VisualContainerDisplayMode={})),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={})),function(t){t[t.Navigate=0]="Navigate",t[t.NavigateAndRaiseEvent=1]="NavigateAndRaiseEvent",t[t.RaiseEvent=2]="RaiseEvent"}(e.HyperlinkClickBehavior||(e.HyperlinkClickBehavior={})),function(t){t[t.AlwaysVisible=0]="AlwaysVisible",t[t.HiddenInViewMode=1]="HiddenInViewMode"}(e.SectionVisibility||(e.SectionVisibility={})),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"}(e.Permissions||(e.Permissions={})),function(t){t[t.View=0]="View",t[t.Edit=1]="Edit"}(e.ViewMode||(e.ViewMode={})),function(t){t[t.Aad=0]="Aad",t[t.Embed=1]="Embed"}(e.TokenType||(e.TokenType={})),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"}(e.ContrastMode||(e.ContrastMode={})),function(t){t[t.Bottom=0]="Bottom",t[t.Top=1]="Top"}(e.MenuLocation||(e.MenuLocation={})),function(t){t[t.Report=0]="Report",t[t.Page=1]="Page",t[t.Visual=2]="Visual"}(e.FiltersLevel||(e.FiltersLevel={})),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"}(u=e.FilterType||(e.FilterType={})),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"}(e.RelativeDateFilterTimeUnit||(e.RelativeDateFilterTimeUnit={})),function(t){t[t.InLast=0]="InLast",t[t.InThis=1]="InThis",t[t.InNext=2]="InNext"}(e.RelativeDateOperators||(e.RelativeDateOperators={}));var p=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=p;var f=function(t){function e(r,a,i){var o=t.call(this,r,u.Unknown)||this;return o.message=a,o.notSupportedTypeName=i,o.schemaUrl=e.schemaUrl,o}return d(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}(p);e.NotSupportedFilter=f;var h=function(t){function e(r,a,i){var o=t.call(this,r,u.IncludeExclude)||this;return o.values=i,o.isExclude=a,o.schemaUrl=e.schemaUrl,o}return d(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}(p);e.IncludeExcludeFilter=h;var v=function(t){function e(r,a,i,o){var n=t.call(this,r,u.TopN)||this;return n.operator=a,n.itemCount=i,n.schemaUrl=e.schemaUrl,n.orderBy=o,n}return d(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}(p);e.TopNFilter=v;var y=function(t){function e(r,a,i,o,n){var l=t.call(this,r,u.RelativeDate)||this;return l.operator=a,l.timeUnitsCount=i,l.timeUnitType=o,l.includeToday=n,l.schemaUrl=e.schemaUrl,l}return d(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}(p);e.RelativeDateFilter=y;var m=function(t){function e(r,a,i,o){var n=t.call(this,r,u.RelativeTime)||this;return n.operator=a,n.timeUnitsCount=i,n.timeUnitType=o,n.schemaUrl=e.schemaUrl,n}return d(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}(p);e.RelativeTimeFilter=m;var V=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,s=o.keyValues;l2)throw new Error("AdvancedFilters may not have more than two conditions. You passed: "+i.length);if(1===n.length&&"And"!==a)throw new Error('Logical Operator must be "And" when there is only one condition provided');return l.conditions=n,l}return d(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}(p);e.AdvancedFilter=w,e.isFilterKeyColumnsTarget=function(t){return i(t)&&!!t.keys},e.isBasicFilterWithKeys=function(t){return a(t)===u.Basic&&!!t.keyValues},e.getFilterType=a,e.isMeasure=function(t){return void 0!==t.table&&void 0!==t.measure},e.isColumn=i,e.isHierarchyLevel=function(t){return!(!(t.table&&t.hierarchy&&t.hierarchyLevel)||t.aggregationFunction)},e.isHierarchyLevelAggr=function(t){return!!(t.table&&t.hierarchy&&t.hierarchyLevel&&t.aggregationFunction)},e.isColumnAggr=function(t){return!!(t.table&&t.column&&t.aggregationFunction)},function(t){t[t.Bottom=0]="Bottom",t[t.Left=1]="Left"}(e.PageNavigationPosition||(e.PageNavigationPosition={})),function(t){t[t.Interactive=0]="Interactive",t[t.ResultOnly=1]="ResultOnly"}(e.QnaMode||(e.QnaMode={})),function(t){t[t.Summarized=0]="Summarized",t[t.Underlying=1]="Underlying"}(e.ExportDataType||(e.ExportDataType={})),function(t){t[t.Off=0]="Off",t[t.Presentation=1]="Presentation"}(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"},function(t){t[t.Ascending=1]="Ascending",t[t.Descending=2]="Descending"}(e.SortDirection||(e.SortDirection={}));var P=function(){function t(t){this.$schema=t}return t.prototype.toJSON=function(){return{$schema:this.$schema}},t}();e.Selector=P;var _=function(t){function e(r){var a=t.call(this,e.schemaUrl)||this;return a.pageName=r,a}return d(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}(P);e.PageSelector=_;var S=function(t){function e(r){var a=t.call(this,e.schemaUrl)||this;return a.visualName=r,a}return d(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}(P);e.VisualSelector=S;var E=function(t){function e(e){var r=t.call(this,S.schemaUrl)||this;return r.visualType=e,r}return d(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}(P);e.VisualTypeSelector=E;var O=function(t){function e(e){var r=t.call(this,S.schemaUrl)||this;return r.target=e,r}return d(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}(P);e.SlicerTargetSelector=O,function(t){t[t.Enabled=0]="Enabled",t[t.Disabled=1]="Disabled",t[t.Hidden=2]="Hidden"}(e.CommandDisplayOption||(e.CommandDisplayOption={})),function(t){t[t.Grouping=0]="Grouping",t[t.Measure=1]="Measure",t[t.GroupingOrMeasure=2]="GroupingOrMeasure"}(e.VisualDataRoleKind||(e.VisualDataRoleKind={})),function(t){t[t.Measure=0]="Measure",t[t.Grouping=1]="Grouping"}(e.VisualDataRoleKindPreference||(e.VisualDataRoleKindPreference={})),e.isFlatMenuExtension=function(t){return t&&!o(t)},e.isGroupedMenuExtension=o,e.isIExtensions=function(t){return t&&!n(t)},e.isIExtensionArray=n,e.validateVisualSelector=function(t){var e=c.Validators.visualSelectorValidator.validate(t);return e?e.map(l):void 0},e.validateSlicer=function(t){var e=c.Validators.slicerValidator.validate(t);return e?e.map(l):void 0},e.validateSlicerState=function(t){var e=c.Validators.slicerStateValidator.validate(t);return e?e.map(l):void 0},e.validatePlayBookmarkRequest=function(t){var e=c.Validators.playBookmarkRequestValidator.validate(t);return e?e.map(l):void 0},e.validateAddBookmarkRequest=function(t){var e=c.Validators.addBookmarkRequestValidator.validate(t);return e?e.map(l):void 0},e.validateApplyBookmarkByNameRequest=function(t){var e=c.Validators.applyBookmarkByNameRequestValidator.validate(t);return e?e.map(l):void 0},e.validateApplyBookmarkStateRequest=function(t){var e=c.Validators.applyBookmarkStateRequestValidator.validate(t);return e?e.map(l):void 0},e.validateCaptureBookmarkRequest=function(t){var e=c.Validators.captureBookmarkRequestValidator.validate(t);return e?e.map(l):void 0},e.validateSettings=function(t){var e=c.Validators.settingsValidator.validate(t);return e?e.map(l):void 0},e.validatePanes=function(t){var e=c.Validators.reportPanesValidator.validate(t);return e?e.map(l):void 0},e.validateBookmarksPane=function(t){var e=c.Validators.bookmarksPaneValidator.validate(t);return e?e.map(l):void 0},e.validateFiltersPane=function(t){var e=c.Validators.filtersPaneValidator.validate(t);return e?e.map(l):void 0},e.validateFieldsPane=function(t){var e=c.Validators.fieldsPaneValidator.validate(t);return e?e.map(l):void 0},e.validatePageNavigationPane=function(t){var e=c.Validators.pageNavigationPaneValidator.validate(t);return e?e.map(l):void 0},e.validateSelectionPane=function(t){var e=c.Validators.selectionPaneValidator.validate(t);return e?e.map(l):void 0},e.validateSyncSlicersPane=function(t){var e=c.Validators.syncSlicersPaneValidator.validate(t);return e?e.map(l):void 0},e.validateVisualizationsPane=function(t){var e=c.Validators.visualizationsPaneValidator.validate(t);return e?e.map(l):void 0},e.validateCustomPageSize=function(t){var e=c.Validators.customPageSizeValidator.validate(t);return e?e.map(l):void 0},e.validateExtension=function(t){var e=c.Validators.extensionValidator.validate(t);return e?e.map(l):void 0},e.validateMenuGroupExtension=function(t){var e=c.Validators.menuGroupExtensionValidator.validate(t);return e?e.map(l):void 0},e.validateReportLoad=function(t){var e=c.Validators.reportLoadValidator.validate(t);return e?e.map(l):void 0},e.validateCreateReport=function(t){var e=c.Validators.reportCreateValidator.validate(t);return e?e.map(l):void 0},e.validateDashboardLoad=function(t){var e=c.Validators.dashboardLoadValidator.validate(t);return e?e.map(l):void 0},e.validateTileLoad=function(t){var e=c.Validators.tileLoadValidator.validate(t);return e?e.map(l):void 0},e.validatePage=function(t){var e=c.Validators.pageValidator.validate(t);return e?e.map(l):void 0},e.validateFilter=function(t){var e=c.Validators.filtersValidator.validate(t);return e?e.map(l):void 0},e.validateSaveAsParameters=function(t){var e=c.Validators.saveAsParametersValidator.validate(t);return e?e.map(l):void 0},e.validateLoadQnaConfiguration=function(t){var e=c.Validators.loadQnaValidator.validate(t);return e?e.map(l):void 0},e.validateQnaInterpretInputData=function(t){var e=c.Validators.qnaInterpretInputDataValidator.validate(t);return e?e.map(l):void 0},e.validateExportDataRequest=function(t){var e=c.Validators.exportDataRequestValidator.validate(t);return e?e.map(l):void 0},e.validateVisualHeader=function(t){var e=c.Validators.visualHeaderValidator.validate(t);return e?e.map(l):void 0},e.validateVisualSettings=function(t){var e=c.Validators.visualSettingsValidator.validate(t);return e?e.map(l):void 0},e.validateCommandsSettings=function(t){var e=c.Validators.commandsSettingsValidator.validate(t);return e?e.map(l):void 0},e.validateCustomTheme=function(t){var e=c.Validators.customThemeValidator.validate(t);return e?e.map(l):void 0}},function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.Validators=void 0;var a=r(2),i=r(5),o=r(6),n=r(7),l=r(8),s=r(9),d=r(10),u=r(11),c=r(12),p=r(13),f=r(14),h=r(15),v=r(16),y=r(17),m=r(18),V=r(19),g=r(20),b=r(21),w=r(22),P=r(23),_=r(24),S=r(25),E=r(26),O=r(27),T=r(28),k=r(4);e.Validators={addBookmarkRequestValidator:new i.AddBookmarkRequestValidator,advancedFilterTypeValidator:new k.EnumValidator([0]),advancedFilterValidator:new c.AdvancedFilterValidator,anyArrayValidator:new k.ArrayValidator([new S.AnyOfValidator([new k.StringValidator,new k.NumberValidator,new k.BooleanValidator])]),anyFilterValidator:new S.AnyOfValidator([new c.BasicFilterValidator,new c.AdvancedFilterValidator,new c.IncludeExcludeFilterValidator,new c.NotSupportedFilterValidator,new c.RelativeDateFilterValidator,new c.TopNFilterValidator,new c.RelativeTimeFilterValidator]),anyValueValidator:new S.AnyOfValidator([new k.StringValidator,new k.NumberValidator,new k.BooleanValidator]),actionBarValidator:new a.ActionBarValidator,applyBookmarkByNameRequestValidator:new i.ApplyBookmarkByNameRequestValidator,applyBookmarkStateRequestValidator:new i.ApplyBookmarkStateRequestValidator,applyBookmarkValidator:new S.AnyOfValidator([new i.ApplyBookmarkByNameRequestValidator,new i.ApplyBookmarkStateRequestValidator]),backgroundValidator:new k.EnumValidator([0,1]),basicFilterTypeValidator:new k.EnumValidator([1]),basicFilterValidator:new c.BasicFilterValidator,booleanArrayValidator:new k.BooleanArrayValidator,booleanValidator:new k.BooleanValidator,bookmarksPaneValidator:new h.BookmarksPaneValidator,captureBookmarkOptionsValidator:new i.CaptureBookmarkOptionsValidator,captureBookmarkRequestValidator:new i.CaptureBookmarkRequestValidator,commandDisplayOptionValidator:new k.EnumValidator([0,1,2]),commandExtensionSelectorValidator:new S.AnyOfValidator([new g.VisualSelectorValidator,new g.VisualTypeSelectorValidator]),commandExtensionArrayValidator:new k.ArrayValidator([new u.CommandExtensionValidator]),commandExtensionValidator:new u.CommandExtensionValidator,commandsSettingsArrayValidator:new k.ArrayValidator([new o.CommandsSettingsValidator]),commandsSettingsValidator:new o.CommandsSettingsValidator,conditionItemValidator:new c.ConditionItemValidator,contrastModeValidator:new k.EnumValidator([0,1,2,3,4]),customLayoutDisplayOptionValidator:new k.EnumValidator([0,1,2]),customLayoutValidator:new p.CustomLayoutValidator,customPageSizeValidator:new f.CustomPageSizeValidator,customThemeValidator:new n.CustomThemeValidator,dashboardLoadValidator:new l.DashboardLoadValidator,datasetBindingValidator:new s.DatasetBindingValidator,displayStateModeValidator:new k.EnumValidator([0,1]),displayStateValidator:new p.DisplayStateValidator,exportDataRequestValidator:new d.ExportDataRequestValidator,extensionArrayValidator:new k.ArrayValidator([new u.ExtensionValidator]),extensionsValidator:new S.AnyOfValidator([new k.ArrayValidator([new u.ExtensionValidator]),new u.ExtensionsValidator]),extensionPointsValidator:new u.ExtensionPointsValidator,extensionValidator:new u.ExtensionValidator,fieldForbiddenValidator:new E.FieldForbiddenValidator,fieldRequiredValidator:new O.FieldRequiredValidator,fieldsPaneValidator:new h.FieldsPaneValidator,filterColumnTargetValidator:new c.FilterColumnTargetValidator,filterConditionsValidator:new k.ArrayValidator([new c.ConditionItemValidator]),filterHierarchyTargetValidator:new c.FilterHierarchyTargetValidator,filterMeasureTargetValidator:new c.FilterMeasureTargetValidator,filterTargetValidator:new S.AnyOfValidator([new c.FilterColumnTargetValidator,new c.FilterHierarchyTargetValidator,new c.FilterMeasureTargetValidator]),filtersArrayValidator:new k.ArrayValidator([new S.AnyOfValidator([new c.BasicFilterValidator,new c.AdvancedFilterValidator,new c.RelativeDateFilterValidator,new c.RelativeTimeFilterValidator])]),filtersValidator:new c.FilterValidator,filtersPaneValidator:new h.FiltersPaneValidator,hyperlinkClickBehaviorValidator:new k.EnumValidator([0,1,2]),includeExcludeFilterValidator:new c.IncludeExcludeFilterValidator,includeExludeFilterTypeValidator:new k.EnumValidator([3]),layoutTypeValidator:new k.EnumValidator([0,1,2,3]),loadQnaValidator:new v.LoadQnaValidator,menuExtensionValidator:new S.AnyOfValidator([new u.FlatMenuExtensionValidator,new u.GroupedMenuExtensionValidator]),menuGroupExtensionArrayValidator:new k.ArrayValidator([new u.MenuGroupExtensionValidator]),menuGroupExtensionValidator:new u.MenuGroupExtensionValidator,menuLocationValidator:new k.EnumValidator([0,1]),notSupportedFilterTypeValidator:new k.EnumValidator([2]),notSupportedFilterValidator:new c.NotSupportedFilterValidator,numberArrayValidator:new k.NumberArrayValidator,numberValidator:new k.NumberValidator,pageLayoutValidator:new T.MapValidator([new k.StringValidator],[new p.VisualLayoutValidator]),pageNavigationPaneValidator:new h.PageNavigationPaneValidator,pageNavigationPositionValidator:new k.EnumValidator([0,1]),pageSizeTypeValidator:new k.EnumValidator([0,1,2,3,4,5]),pageSizeValidator:new f.PageSizeValidator,pageValidator:new f.PageValidator,pageViewFieldValidator:new f.PageViewFieldValidator,pagesLayoutValidator:new T.MapValidator([new k.StringValidator],[new p.PageLayoutValidator]),reportBarsValidator:new a.ReportBarsValidator,reportPanesValidator:new h.ReportPanesValidator,permissionsValidator:new k.EnumValidator([0,1,2,4,7]),playBookmarkRequestValidator:new i.PlayBookmarkRequestValidator,qnaInterpretInputDataValidator:new v.QnaInterpretInputDataValidator,qnaSettingValidator:new v.QnaSettingsValidator,relativeDateFilterOperatorValidator:new k.EnumValidator([0,1,2]),relativeDateFilterTimeUnitTypeValidator:new k.EnumValidator([0,1,2,3,4,5,6]),relativeDateFilterTypeValidator:new k.EnumValidator([4]),relativeDateFilterValidator:new c.RelativeDateFilterValidator,relativeTimeFilterTimeUnitTypeValidator:new k.EnumValidator([7,8]),relativeTimeFilterTypeValidator:new k.EnumValidator([7]),relativeTimeFilterValidator:new c.RelativeTimeFilterValidator,reportCreateValidator:new y.ReportCreateValidator,reportLoadValidator:new m.ReportLoadValidator,saveAsParametersValidator:new V.SaveAsParametersValidator,selectionPaneValidator:new h.SelectionPaneValidator,settingsValidator:new b.SettingsValidator,singleCommandSettingsValidator:new o.SingleCommandSettingsValidator,slicerSelectorValidator:new S.AnyOfValidator([new g.VisualSelectorValidator,new g.SlicerTargetSelectorValidator]),slicerStateValidator:new w.SlicerStateValidator,slicerTargetValidator:new S.AnyOfValidator([new c.FilterColumnTargetValidator,new c.FilterHierarchyTargetValidator,new c.FilterMeasureTargetValidator,new c.FilterKeyColumnsTargetValidator,new c.FilterKeyHierarchyTargetValidator]),slicerValidator:new w.SlicerValidator,stringArrayValidator:new k.StringArrayValidator,stringValidator:new k.StringValidator,syncSlicersPaneValidator:new h.SyncSlicersPaneValidator,tileLoadValidator:new P.TileLoadValidator,tokenTypeValidator:new k.EnumValidator([0,1]),topNFilterTypeValidator:new k.EnumValidator([5]),topNFilterValidator:new c.TopNFilterValidator,viewModeValidator:new k.EnumValidator([0,1]),visualCommandSelectorValidator:new S.AnyOfValidator([new g.VisualSelectorValidator,new g.VisualTypeSelectorValidator]),visualHeaderSelectorValidator:new S.AnyOfValidator([new g.VisualSelectorValidator,new g.VisualTypeSelectorValidator]),visualHeaderSettingsValidator:new _.VisualHeaderSettingsValidator,visualHeaderValidator:new _.VisualHeaderValidator,visualHeadersValidator:new k.ArrayValidator([new _.VisualHeaderValidator]),visualizationsPaneValidator:new h.VisualizationsPaneValidator,visualLayoutValidator:new p.VisualLayoutValidator,visualSelectorValidator:new g.VisualSelectorValidator,visualSettingsValidator:new _.VisualSettingsValidator,visualTypeSelectorValidator:new g.VisualTypeSelectorValidator}},function(t,e,r){var a,i=this&&this.__extends||(a=function(t,e){return(a=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])})(t,e)},function(t,e){function r(){this.constructor=t}a(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.ActionBarValidator=e.ReportBarsValidator=void 0;var o=r(3),n=r(4),l=r(1),s=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i(e,t),e.prototype.validate=function(e,r,a){if(null==e)return null;var i=t.prototype.validate.call(this,e,r,a);if(i)return i;var n=[{field:"actionBar",validators:[l.Validators.actionBarValidator]}];return new o.MultipleFieldsValidator(n).validate(e,r,a)},e}(n.ObjectValidator);e.ReportBarsValidator=s;var d=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i(e,t),e.prototype.validate=function(e,r,a){if(null==e)return null;var i=t.prototype.validate.call(this,e,r,a);if(i)return i;var n=[{field:"visible",validators:[l.Validators.booleanValidator]}];return new o.MultipleFieldsValidator(n).validate(e,r,a)},e}(n.ObjectValidator);e.ActionBarValidator=d},function(t,e){Object.defineProperty(e,"__esModule",{value:!0}),e.MultipleFieldsValidator=void 0;var r=function(){function t(t){this.fieldValidatorsPairs=t}return t.prototype.validate=function(t,e,r){if(!this.fieldValidatorsPairs)return null;for(var a=e?e+"."+r:r,i=0,o=this.fieldValidatorsPairs;i0&&o[o.length-1])||6!==t[0]&&2!==t[0])){l=0;continue}if(3===t[0]&&(!o||t[1]>o[0]&&t[1]0&&o[o.length-1])||6!==t[0]&&2!==t[0])){l=0;continue}if(3===t[0]&&(!o||t[1]>o[0]&&t[1]0?"&":"?";return t+=a+e+"="+r},e.isSavedInternal=function(t,e,r){return i(this,void 0,void 0,function(){return o(this,function(a){switch(a.label){case 0:return a.trys.push([0,2,,3]),[4,t.get("/report/hasUnsavedChanges",{uid:e},r)];case 1:return[2,!a.sent().body];case 2:throw a.sent().body;case 3:return[2]}})})},e.isRDLEmbed=function(t){return t.toLowerCase().indexOf("/rdlembed?")>=0},e.autoAuthInEmbedUrl=function(t){return t&&decodeURIComponent(t).toLowerCase().indexOf("autoauth=true")>=0},e.getRandomValue=a,e.getTimeDiffInMilliseconds=function(t,e){return Math.abs(t.getTime()-e.getTime())}},function(t,e){Object.defineProperty(e,"__esModule",{ -value:!0}),e.EmbedUrlNotSupported=e.APINotSupportedForRDLError=void 0,e.APINotSupportedForRDLError="This API is currently not supported for RDL reports",e.EmbedUrlNotSupported="Embed URL is invalid for this scenario. Please use Power BI REST APIs to get the valid URL"},function(t,e,r){var a,i=this&&this.__extends||(a=function(t,e){return(a=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])})(t,e)},function(t,e){function r(){this.constructor=t}a(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}),o=this&&this.__awaiter||function(t,e,r,a){return new(r||(r=Promise))(function(i,o){function n(t){try{s(a.next(t))}catch(t){o(t)}}function l(t){try{s(a["throw"](t))}catch(t){o(t)}}function s(t){var e;t.done?i(t.value):(e=t.value,e instanceof r?e:new r(function(t){t(e)})).then(n,l)}s((a=a.apply(t,e||[])).next())})},n=this&&this.__generator||function(t,e){function r(t){return function(r){return function(t){if(a)throw new TypeError("Generator is already executing.");for(;l;)try{if(a=1,i&&(o=2&t[0]?i["return"]:t[0]?i["throw"]||((o=i["return"])&&o.call(i),0):i.next)&&!(o=o.call(i,t[1])).done)return o;switch(i=0,o&&(t=[2&t[0],o.value]),t[0]){case 0:case 1:o=t;break;case 4:return l.label++,{value:t[1],done:!1};case 5:l.label++,i=t[1],t=[0];continue;case 7:t=l.ops.pop(),l.trys.pop();continue;default:if(o=l.trys,!((o=o.length>0&&o[o.length-1])||6!==t[0]&&2!==t[0])){l=0;continue}if(3===t[0]&&(!o||t[1]>o[0]&&t[1]0&&o[o.length-1])||6!==t[0]&&2!==t[0])){l=0;continue}if(3===t[0]&&(!o||t[1]>o[0]&&t[1]0&&o[o.length-1])||6!==t[0]&&2!==t[0])){l=0;continue}if(3===t[0]&&(!o||t[1]>o[0]&&t[1]0&&o[o.length-1])||6!==t[0]&&2!==t[0])){l=0;continue}if(3===t[0]&&(!o||t[1]>o[0]&&t[1]0&&o[o.length-1])||6!==t[0]&&2!==t[0])){l=0;continue}if(3===t[0]&&(!o||t[1]>o[0]&&t[1]0&&o[o.length-1])||6!==t[0]&&2!==t[0])){l=0;continue}if(3===t[0]&&(!o||t[1]>o[0]&&t[1]0&&o[o.length-1])||6!==t[0]&&2!==t[0])){l=0;continue}if(3===t[0]&&(!o||t[1]>o[0]&&t[1]2&&"[]"===n.slice(l-2)&&(s=!0,r[n=n.slice(0,l-2)]||(r[n]=[])),i=o[1]?y(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(-1!==(a=t.indexOf("?"))){var l=t.substr(a+1,t.length);t=t.substr(0,a),o=this.parseQueryString(l)}for("/"!==(t=decodeURI(t)).charAt(0)&&(t="/"+t),(e=t.length)>1&&"/"===t.charAt(e-1)&&(t=t.substr(0,e-1),n=!0),r=0;r0&&!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,s=o.keyValues;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 s.conditions=l,s}return i(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}(l);function m(t){if(t.filterType)return t.filterType;var e=t,r=t;return"string"==typeof e.operator&&Array.isArray(e.values)?o.Basic:"string"==typeof r.logicalOperator&&Array.isArray(r.conditions)?o.Advanced:o.Unknown}function V(t){return!(!t.table||!t.column||t.aggregationFunction)}e.AdvancedFilter=y,e.isFilterKeyColumnsTarget=function(t){return V(t)&&!!t.keys},e.isBasicFilterWithKeys=function(t){return m(t)===o.Basic&&!!t.keyValues},e.getFilterType=m,e.isMeasure=function(t){return void 0!==t.table&&void 0!==t.measure},e.isColumn=V,e.isHierarchyLevel=function(t){return!(!(t.table&&t.hierarchy&&t.hierarchyLevel)||t.aggregationFunction)},e.isHierarchyLevelAggr=function(t){return!!(t.table&&t.hierarchy&&t.hierarchyLevel&&t.aggregationFunction)},e.isColumnAggr=function(t){return!!(t.table&&t.column&&t.aggregationFunction)},function(t){t[t.Bottom=0]="Bottom",t[t.Left=1]="Left"}(e.PageNavigationPosition||(e.PageNavigationPosition={})),function(t){t[t.Interactive=0]="Interactive",t[t.ResultOnly=1]="ResultOnly"}(e.QnaMode||(e.QnaMode={})),function(t){t[t.Summarized=0]="Summarized",t[t.Underlying=1]="Underlying"}(e.ExportDataType||(e.ExportDataType={})),function(t){t[t.Off=0]="Off",t[t.Presentation=1]="Presentation"}(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"},function(t){t[t.Ascending=1]="Ascending",t[t.Descending=2]="Descending"}(e.SortDirection||(e.SortDirection={}));var g=function(){function t(t){this.$schema=t}return t.prototype.toJSON=function(){return{$schema:this.$schema}},t}();e.Selector=g;var b=function(t){function e(r){var a=t.call(this,e.schemaUrl)||this;return a.pageName=r,a}return i(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}(g);e.PageSelector=b;var w=function(t){function e(r){var a=t.call(this,e.schemaUrl)||this;return a.visualName=r,a}return i(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}(g);e.VisualSelector=w;var P=function(t){function e(e){var r=t.call(this,w.schemaUrl)||this;return r.visualType=e,r}return i(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}(g);e.VisualTypeSelector=P;var _=function(t){function e(e){var r=t.call(this,w.schemaUrl)||this;return r.target=e,r}return i(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}(g);function S(t){return t&&!!t.groupName}function E(t){return Array.isArray(t)}function O(t){var e=t.message;return e||(e=t.path+" is invalid. Not meeting "+t.keyword+" constraint"),{message:e}}e.SlicerTargetSelector=_,function(t){t[t.Enabled=0]="Enabled",t[t.Disabled=1]="Disabled",t[t.Hidden=2]="Hidden"}(e.CommandDisplayOption||(e.CommandDisplayOption={})),function(t){t[t.Grouping=0]="Grouping",t[t.Measure=1]="Measure",t[t.GroupingOrMeasure=2]="GroupingOrMeasure"}(e.VisualDataRoleKind||(e.VisualDataRoleKind={})),function(t){t[t.Measure=0]="Measure",t[t.Grouping=1]="Grouping"}(e.VisualDataRoleKindPreference||(e.VisualDataRoleKindPreference={})),e.isFlatMenuExtension=function(t){return t&&!S(t)},e.isGroupedMenuExtension=S,e.isIExtensions=function(t){return t&&!E(t)},e.isIExtensionArray=E,e.validateVisualSelector=function(t){var e=n.Validators.visualSelectorValidator.validate(t);return e?e.map(O):void 0},e.validateSlicer=function(t){var e=n.Validators.slicerValidator.validate(t);return e?e.map(O):void 0},e.validateSlicerState=function(t){var e=n.Validators.slicerStateValidator.validate(t);return e?e.map(O):void 0},e.validatePlayBookmarkRequest=function(t){var e=n.Validators.playBookmarkRequestValidator.validate(t);return e?e.map(O):void 0},e.validateAddBookmarkRequest=function(t){var e=n.Validators.addBookmarkRequestValidator.validate(t);return e?e.map(O):void 0},e.validateApplyBookmarkByNameRequest=function(t){var e=n.Validators.applyBookmarkByNameRequestValidator.validate(t);return e?e.map(O):void 0},e.validateApplyBookmarkStateRequest=function(t){var e=n.Validators.applyBookmarkStateRequestValidator.validate(t);return e?e.map(O):void 0},e.validateCaptureBookmarkRequest=function(t){var e=n.Validators.captureBookmarkRequestValidator.validate(t);return e?e.map(O):void 0},e.validateSettings=function(t){var e=n.Validators.settingsValidator.validate(t);return e?e.map(O):void 0},e.validatePanes=function(t){var e=n.Validators.reportPanesValidator.validate(t);return e?e.map(O):void 0},e.validateBookmarksPane=function(t){var e=n.Validators.bookmarksPaneValidator.validate(t);return e?e.map(O):void 0},e.validateFiltersPane=function(t){var e=n.Validators.filtersPaneValidator.validate(t);return e?e.map(O):void 0},e.validateFieldsPane=function(t){var e=n.Validators.fieldsPaneValidator.validate(t);return e?e.map(O):void 0},e.validatePageNavigationPane=function(t){var e=n.Validators.pageNavigationPaneValidator.validate(t);return e?e.map(O):void 0},e.validateSelectionPane=function(t){var e=n.Validators.selectionPaneValidator.validate(t);return e?e.map(O):void 0},e.validateSyncSlicersPane=function(t){var e=n.Validators.syncSlicersPaneValidator.validate(t);return e?e.map(O):void 0},e.validateVisualizationsPane=function(t){var e=n.Validators.visualizationsPaneValidator.validate(t);return e?e.map(O):void 0},e.validateCustomPageSize=function(t){var e=n.Validators.customPageSizeValidator.validate(t);return e?e.map(O):void 0},e.validateExtension=function(t){var e=n.Validators.extensionValidator.validate(t);return e?e.map(O):void 0},e.validateMenuGroupExtension=function(t){var e=n.Validators.menuGroupExtensionValidator.validate(t);return e?e.map(O):void 0},e.validateReportLoad=function(t){var e=n.Validators.reportLoadValidator.validate(t);return e?e.map(O):void 0},e.validateCreateReport=function(t){var e=n.Validators.reportCreateValidator.validate(t);return e?e.map(O):void 0},e.validateDashboardLoad=function(t){var e=n.Validators.dashboardLoadValidator.validate(t);return e?e.map(O):void 0},e.validateTileLoad=function(t){var e=n.Validators.tileLoadValidator.validate(t);return e?e.map(O):void 0},e.validatePage=function(t){var e=n.Validators.pageValidator.validate(t);return e?e.map(O):void 0},e.validateFilter=function(t){var e=n.Validators.filtersValidator.validate(t);return e?e.map(O):void 0},e.validateSaveAsParameters=function(t){var e=n.Validators.saveAsParametersValidator.validate(t);return e?e.map(O):void 0},e.validateLoadQnaConfiguration=function(t){var e=n.Validators.loadQnaValidator.validate(t);return e?e.map(O):void 0},e.validateQnaInterpretInputData=function(t){var e=n.Validators.qnaInterpretInputDataValidator.validate(t);return e?e.map(O):void 0},e.validateExportDataRequest=function(t){var e=n.Validators.exportDataRequestValidator.validate(t);return e?e.map(O):void 0},e.validateVisualHeader=function(t){var e=n.Validators.visualHeaderValidator.validate(t);return e?e.map(O):void 0},e.validateVisualSettings=function(t){var e=n.Validators.visualSettingsValidator.validate(t);return e?e.map(O):void 0},e.validateCommandsSettings=function(t){var e=n.Validators.commandsSettingsValidator.validate(t);return e?e.map(O):void 0},e.validateCustomTheme=function(t){var e=n.Validators.customThemeValidator.validate(t);return e?e.map(O):void 0}},function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.Validators=void 0;var a=r(2),i=r(5),o=r(6),n=r(7),l=r(8),s=r(9),d=r(10),u=r(11),c=r(12),p=r(13),f=r(14),h=r(15),v=r(16),y=r(17),m=r(18),V=r(19),g=r(20),b=r(21),w=r(22),P=r(23),_=r(24),S=r(25),E=r(26),O=r(27),T=r(28),k=r(4);e.Validators={addBookmarkRequestValidator:new i.AddBookmarkRequestValidator,advancedFilterTypeValidator:new k.EnumValidator([0]),advancedFilterValidator:new c.AdvancedFilterValidator,anyArrayValidator:new k.ArrayValidator([new S.AnyOfValidator([new k.StringValidator,new k.NumberValidator,new k.BooleanValidator])]),anyFilterValidator:new S.AnyOfValidator([new c.BasicFilterValidator,new c.AdvancedFilterValidator,new c.IncludeExcludeFilterValidator,new c.NotSupportedFilterValidator,new c.RelativeDateFilterValidator,new c.TopNFilterValidator,new c.RelativeTimeFilterValidator]),anyValueValidator:new S.AnyOfValidator([new k.StringValidator,new k.NumberValidator,new k.BooleanValidator]),actionBarValidator:new a.ActionBarValidator,applyBookmarkByNameRequestValidator:new i.ApplyBookmarkByNameRequestValidator,applyBookmarkStateRequestValidator:new i.ApplyBookmarkStateRequestValidator,applyBookmarkValidator:new S.AnyOfValidator([new i.ApplyBookmarkByNameRequestValidator,new i.ApplyBookmarkStateRequestValidator]),backgroundValidator:new k.EnumValidator([0,1]),basicFilterTypeValidator:new k.EnumValidator([1]),basicFilterValidator:new c.BasicFilterValidator,booleanArrayValidator:new k.BooleanArrayValidator,booleanValidator:new k.BooleanValidator,bookmarksPaneValidator:new h.BookmarksPaneValidator,captureBookmarkOptionsValidator:new i.CaptureBookmarkOptionsValidator,captureBookmarkRequestValidator:new i.CaptureBookmarkRequestValidator,commandDisplayOptionValidator:new k.EnumValidator([0,1,2]),commandExtensionSelectorValidator:new S.AnyOfValidator([new g.VisualSelectorValidator,new g.VisualTypeSelectorValidator]),commandExtensionArrayValidator:new k.ArrayValidator([new u.CommandExtensionValidator]),commandExtensionValidator:new u.CommandExtensionValidator,commandsSettingsArrayValidator:new k.ArrayValidator([new o.CommandsSettingsValidator]),commandsSettingsValidator:new o.CommandsSettingsValidator,conditionItemValidator:new c.ConditionItemValidator,contrastModeValidator:new k.EnumValidator([0,1,2,3,4]),customLayoutDisplayOptionValidator:new k.EnumValidator([0,1,2]),customLayoutValidator:new p.CustomLayoutValidator,customPageSizeValidator:new f.CustomPageSizeValidator,customThemeValidator:new n.CustomThemeValidator,dashboardLoadValidator:new l.DashboardLoadValidator,datasetBindingValidator:new s.DatasetBindingValidator,displayStateModeValidator:new k.EnumValidator([0,1]),displayStateValidator:new p.DisplayStateValidator,exportDataRequestValidator:new d.ExportDataRequestValidator,extensionArrayValidator:new k.ArrayValidator([new u.ExtensionValidator]),extensionsValidator:new S.AnyOfValidator([new k.ArrayValidator([new u.ExtensionValidator]),new u.ExtensionsValidator]),extensionPointsValidator:new u.ExtensionPointsValidator,extensionValidator:new u.ExtensionValidator,fieldForbiddenValidator:new E.FieldForbiddenValidator,fieldRequiredValidator:new O.FieldRequiredValidator,fieldsPaneValidator:new h.FieldsPaneValidator,filterColumnTargetValidator:new c.FilterColumnTargetValidator,filterConditionsValidator:new k.ArrayValidator([new c.ConditionItemValidator]),filterHierarchyTargetValidator:new c.FilterHierarchyTargetValidator,filterMeasureTargetValidator:new c.FilterMeasureTargetValidator,filterTargetValidator:new S.AnyOfValidator([new c.FilterColumnTargetValidator,new c.FilterHierarchyTargetValidator,new c.FilterMeasureTargetValidator]),filtersArrayValidator:new k.ArrayValidator([new S.AnyOfValidator([new c.BasicFilterValidator,new c.AdvancedFilterValidator,new c.RelativeDateFilterValidator,new c.RelativeTimeFilterValidator])]),filtersValidator:new c.FilterValidator,filtersPaneValidator:new h.FiltersPaneValidator,hyperlinkClickBehaviorValidator:new k.EnumValidator([0,1,2]),includeExcludeFilterValidator:new c.IncludeExcludeFilterValidator,includeExludeFilterTypeValidator:new k.EnumValidator([3]),layoutTypeValidator:new k.EnumValidator([0,1,2,3]),loadQnaValidator:new v.LoadQnaValidator,menuExtensionValidator:new S.AnyOfValidator([new u.FlatMenuExtensionValidator,new u.GroupedMenuExtensionValidator]),menuGroupExtensionArrayValidator:new k.ArrayValidator([new u.MenuGroupExtensionValidator]),menuGroupExtensionValidator:new u.MenuGroupExtensionValidator,menuLocationValidator:new k.EnumValidator([0,1]),notSupportedFilterTypeValidator:new k.EnumValidator([2]),notSupportedFilterValidator:new c.NotSupportedFilterValidator,numberArrayValidator:new k.NumberArrayValidator,numberValidator:new k.NumberValidator,pageLayoutValidator:new T.MapValidator([new k.StringValidator],[new p.VisualLayoutValidator]),pageNavigationPaneValidator:new h.PageNavigationPaneValidator,pageNavigationPositionValidator:new k.EnumValidator([0,1]),pageSizeTypeValidator:new k.EnumValidator([0,1,2,3,4,5]),pageSizeValidator:new f.PageSizeValidator,pageValidator:new f.PageValidator,pageViewFieldValidator:new f.PageViewFieldValidator,pagesLayoutValidator:new T.MapValidator([new k.StringValidator],[new p.PageLayoutValidator]),reportBarsValidator:new a.ReportBarsValidator,reportPanesValidator:new h.ReportPanesValidator,permissionsValidator:new k.EnumValidator([0,1,2,4,7]),playBookmarkRequestValidator:new i.PlayBookmarkRequestValidator,qnaInterpretInputDataValidator:new v.QnaInterpretInputDataValidator,qnaSettingValidator:new v.QnaSettingsValidator,relativeDateFilterOperatorValidator:new k.EnumValidator([0,1,2]),relativeDateFilterTimeUnitTypeValidator:new k.EnumValidator([0,1,2,3,4,5,6]),relativeDateFilterTypeValidator:new k.EnumValidator([4]),relativeDateFilterValidator:new c.RelativeDateFilterValidator,relativeTimeFilterTimeUnitTypeValidator:new k.EnumValidator([7,8]),relativeTimeFilterTypeValidator:new k.EnumValidator([7]),relativeTimeFilterValidator:new c.RelativeTimeFilterValidator,reportCreateValidator:new y.ReportCreateValidator,reportLoadValidator:new m.ReportLoadValidator,saveAsParametersValidator:new V.SaveAsParametersValidator,selectionPaneValidator:new h.SelectionPaneValidator,settingsValidator:new b.SettingsValidator,singleCommandSettingsValidator:new o.SingleCommandSettingsValidator,slicerSelectorValidator:new S.AnyOfValidator([new g.VisualSelectorValidator,new g.SlicerTargetSelectorValidator]),slicerStateValidator:new w.SlicerStateValidator,slicerTargetValidator:new S.AnyOfValidator([new c.FilterColumnTargetValidator,new c.FilterHierarchyTargetValidator,new c.FilterMeasureTargetValidator,new c.FilterKeyColumnsTargetValidator,new c.FilterKeyHierarchyTargetValidator]),slicerValidator:new w.SlicerValidator,stringArrayValidator:new k.StringArrayValidator,stringValidator:new k.StringValidator,syncSlicersPaneValidator:new h.SyncSlicersPaneValidator,tileLoadValidator:new P.TileLoadValidator,tokenTypeValidator:new k.EnumValidator([0,1]),topNFilterTypeValidator:new k.EnumValidator([5]),topNFilterValidator:new c.TopNFilterValidator,viewModeValidator:new k.EnumValidator([0,1]),visualCommandSelectorValidator:new S.AnyOfValidator([new g.VisualSelectorValidator,new g.VisualTypeSelectorValidator]),visualHeaderSelectorValidator:new S.AnyOfValidator([new g.VisualSelectorValidator,new g.VisualTypeSelectorValidator]),visualHeaderSettingsValidator:new _.VisualHeaderSettingsValidator,visualHeaderValidator:new _.VisualHeaderValidator,visualHeadersValidator:new k.ArrayValidator([new _.VisualHeaderValidator]),visualizationsPaneValidator:new h.VisualizationsPaneValidator,visualLayoutValidator:new p.VisualLayoutValidator,visualSelectorValidator:new g.VisualSelectorValidator,visualSettingsValidator:new _.VisualSettingsValidator,visualTypeSelectorValidator:new g.VisualTypeSelectorValidator}},function(t,e,r){var a,i=this&&this.__extends||(a=function(t,e){return(a=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])})(t,e)},function(t,e){function r(){this.constructor=t}a(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.ActionBarValidator=e.ReportBarsValidator=void 0;var o=r(3),n=r(4),l=r(1),s=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i(e,t),e.prototype.validate=function(e,r,a){if(null==e)return null;var i=t.prototype.validate.call(this,e,r,a);if(i)return i;var n=[{field:"actionBar",validators:[l.Validators.actionBarValidator]}];return new o.MultipleFieldsValidator(n).validate(e,r,a)},e}(n.ObjectValidator);e.ReportBarsValidator=s;var d=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i(e,t),e.prototype.validate=function(e,r,a){if(null==e)return null;var i=t.prototype.validate.call(this,e,r,a);if(i)return i;var n=[{field:"visible",validators:[l.Validators.booleanValidator]}];return new o.MultipleFieldsValidator(n).validate(e,r,a)},e}(n.ObjectValidator);e.ActionBarValidator=d},function(t,e){Object.defineProperty(e,"__esModule",{value:!0}),e.MultipleFieldsValidator=void 0;var r=function(){function t(t){this.fieldValidatorsPairs=t}return t.prototype.validate=function(t,e,r){if(!this.fieldValidatorsPairs)return null;for(var a=e?e+"."+r:r,i=0,o=this.fieldValidatorsPairs;i0&&i[i.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0?"&":"?";return t+=a+e+"="+r},e.isSavedInternal=function(t,e,i){return r(this,void 0,void 0,(function(){return a(this,(function(r){switch(r.label){case 0:return r.trys.push([0,2,,3]),[4,t.get("/report/hasUnsavedChanges",{uid:e},i)];case 1:return[2,!r.sent().body];case 2:throw r.sent().body;case 3:return[2]}}))}))},e.isRDLEmbed=function(t){return t.toLowerCase().indexOf("/rdlembed?")>=0},e.autoAuthInEmbedUrl=function(t){return t&&decodeURIComponent(t).toLowerCase().indexOf("autoauth=true")>=0},e.getRandomValue=o,e.getTimeDiffInMilliseconds=function(t,e){return Math.abs(t.getTime()-e.getTime())}},function(t,e){Object.defineProperty(e,"__esModule",{value:!0}),e.EmbedUrlNotSupported=e.APINotSupportedForRDLError=void 0,e.APINotSupportedForRDLError="This API is currently not supported for RDL reports",e.EmbedUrlNotSupported="Embed URL is invalid for this scenario. Please use Power BI REST APIs to get the valid URL"},function(t,e,r){var a,i=this&&this.__extends||(a=function(t,e){return(a=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])})(t,e)},function(t,e){function r(){this.constructor=t}a(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}),o=this&&this.__awaiter||function(t,e,r,a){return new(r||(r=Promise))((function(i,o){function n(t){try{s(a.next(t))}catch(t){o(t)}}function l(t){try{s(a.throw(t))}catch(t){o(t)}}function s(t){var e;t.done?i(t.value):(e=t.value,e instanceof r?e:new r((function(t){t(e)}))).then(n,l)}s((a=a.apply(t,e||[])).next())}))},n=this&&this.__generator||function(t,e){var r,a,i,o,n={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:l(0),throw:l(1),return:l(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function l(o){return function(l){return function(o){if(r)throw new TypeError("Generator is already executing.");for(;n;)try{if(r=1,a&&(i=2&o[0]?a.return:o[0]?a.throw||((i=a.return)&&i.call(a),0):a.next)&&!(i=i.call(a,o[1])).done)return i;switch(a=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return n.label++,{value:o[1],done:!1};case 5:n.label++,a=o[1],o=[0];continue;case 7:o=n.ops.pop(),n.trys.pop();continue;default:if(!(i=n.trys,(i=i.length>0&&i[i.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]2&&"[]"===n.slice(l-2)&&(s=!0,r[n=n.slice(0,l-2)]||(r[n]=[])),i=o[1]?V(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(-1!==(a=t.indexOf("?"))){var l=t.substr(a+1,t.length);t=t.substr(0,a),o=this.parseQueryString(l)}for("/"!==(t=decodeURI(t)).charAt(0)&&(t="/"+t),(e=t.length)>1&&"/"===t.charAt(e-1)&&(t=t.substr(0,e-1),n=!0),r=0;r Date: Wed, 30 Dec 2020 07:17:22 +0000 Subject: [PATCH 045/125] Merged PR 136125: Fix return type of exportData method Changed return type to `Promise` --- dist/powerbi-client.d.ts | 4 ++-- dist/powerbi.js | 2 +- src/visualDescriptor.ts | 8 ++++---- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/dist/powerbi-client.d.ts b/dist/powerbi-client.d.ts index 866833ae..33194670 100644 --- a/dist/powerbi-client.d.ts +++ b/dist/powerbi-client.d.ts @@ -655,9 +655,9 @@ declare module "visualDescriptor" { * .then(data => { ... }); * ``` * - * @returns {(Promise)} + * @returns {(Promise)} */ - exportData(exportDataType?: models.ExportDataType, rows?: number): Promise; + exportData(exportDataType?: models.ExportDataType, rows?: number): Promise; /** * Set slicer state. * Works only for visuals of type slicer. diff --git a/dist/powerbi.js b/dist/powerbi.js index 03ae6229..bffa38d2 100644 --- a/dist/powerbi.js +++ b/dist/powerbi.js @@ -9560,7 +9560,7 @@ var VisualDescriptor = /** @class */ (function () { * .then(data => { ... }); * ``` * - * @returns {(Promise)} + * @returns {(Promise)} */ VisualDescriptor.prototype.exportData = function (exportDataType, rows) { return __awaiter(this, void 0, void 0, function () { diff --git a/src/visualDescriptor.ts b/src/visualDescriptor.ts index 8836b32e..29a7be1c 100644 --- a/src/visualDescriptor.ts +++ b/src/visualDescriptor.ts @@ -132,16 +132,16 @@ export class VisualDescriptor implements IVisualNode, IFilterable { * .then(data => { ... }); * ``` * - * @returns {(Promise)} + * @returns {(Promise)} */ - async exportData(exportDataType?: models.ExportDataType, rows?: number): Promise { - let exportDataRequestBody: models.IExportDataRequest = { + async exportData(exportDataType?: models.ExportDataType, rows?: number): Promise { + const exportDataRequestBody: models.IExportDataRequest = { rows: rows, exportDataType: exportDataType }; try { - const response = await this.page.report.service.hpm.post(`/report/pages/${this.page.name}/visuals/${this.name}/exportData`, exportDataRequestBody, { uid: this.page.report.config.uniqueId }, this.page.report.iframe.contentWindow); + const response = await this.page.report.service.hpm.post(`/report/pages/${this.page.name}/visuals/${this.name}/exportData`, exportDataRequestBody, { uid: this.page.report.config.uniqueId }, this.page.report.iframe.contentWindow); return response.body; } catch (response) { throw response.body; From 194de2f843c722f96e34de490179096a87b6d762 Mon Sep 17 00:00:00 2001 From: Shahak Yosef Date: Wed, 30 Dec 2020 09:23:51 +0000 Subject: [PATCH 046/125] Merged PR 136313: 2.16.3 global this Between versions 2.15.1 and 2.16.1 Webpack version was updated which caused the compiled JS code to use the window object instead of the global `this` object. `window` object is not defined in Node.JS so when I tried to update the version used by the front end E2E tests I got the following error: It might also be the reason why the travis build fails the `npm install` in Github. ![e2e.PNG](https://powerbi.visualstudio.com/4c7b5adb-c2d0-4f18-b23c-edc4ac30f4e1/_apis/git/repositories/3e42401e-931d-4a96-b4b9-3533d1cf56ce/pullRequests/136311/attachments/e2e.PNG) --- dist/powerbi-client.d.ts | 2 +- dist/powerbi.js | 6 +++--- dist/powerbi.min.js | 6 +++--- package.json | 2 +- src/config.ts | 2 +- webpack.config.js | 1 + 6 files changed, 10 insertions(+), 9 deletions(-) diff --git a/dist/powerbi-client.d.ts b/dist/powerbi-client.d.ts index 33194670..cb29c41d 100644 --- a/dist/powerbi-client.d.ts +++ b/dist/powerbi-client.d.ts @@ -1,4 +1,4 @@ -/*! powerbi-client v2.16.2 | (c) 2016 Microsoft Corporation MIT */ +/*! powerbi-client v2.16.3 | (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 bffa38d2..bd951155 100644 --- a/dist/powerbi.js +++ b/dist/powerbi.js @@ -1,4 +1,4 @@ -/*! powerbi-client v2.16.2 | (c) 2016 Microsoft Corporation MIT */ +/*! powerbi-client v2.16.3 | (c) 2016 Microsoft Corporation MIT */ (function webpackUniversalModuleDefinition(root, factory) { if(typeof exports === 'object' && typeof module === 'object') module.exports = factory(); @@ -8,7 +8,7 @@ exports["powerbi-client"] = factory(); else root["powerbi-client"] = factory(); -})(window, function() { +})(this, function() { return /******/ (function(modules) { // webpackBootstrap /******/ // The module cache /******/ var installedModules = {}; @@ -5864,7 +5864,7 @@ exports.BookmarksManager = BookmarksManager; Object.defineProperty(exports, "__esModule", { value: true }); /** @ignore */ /** */ var config = { - version: '2.16.2', + version: '2.16.3', type: 'js' }; exports.default = config; diff --git a/dist/powerbi.min.js b/dist/powerbi.min.js index d0f38b8f..ef01eb03 100644 --- a/dist/powerbi.min.js +++ b/dist/powerbi.min.js @@ -1,7 +1,7 @@ -/*! powerbi-client v2.16.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()}(window,(function(){return function(t){var e={};function r(a){if(e[a])return e[a].exports;var i=e[a]={i:a,l:!1,exports:{}};return t[a].call(i.exports,i,i.exports,r),i.l=!0,i.exports}return r.m=t,r.c=e,r.d=function(t,e,a){r.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:a})},r.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},r.t=function(t,e){if(1&e&&(t=r(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var a=Object.create(null);if(r.r(a),Object.defineProperty(a,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var i in t)r.d(a,i,function(e){return t[e]}.bind(null,i));return a},r.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return r.d(e,"a",e),e},r.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},r.p="",r(r.s=12)}([function(t,e,r){ +/*! powerbi-client v2.16.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){var e={};function r(a){if(e[a])return e[a].exports;var i=e[a]={i:a,l:!1,exports:{}};return t[a].call(i.exports,i,i.exports,r),i.l=!0,i.exports}return r.m=t,r.c=e,r.d=function(t,e,a){r.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:a})},r.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},r.t=function(t,e){if(1&e&&(t=r(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var a=Object.create(null);if(r.r(a),Object.defineProperty(a,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var i in t)r.d(a,i,function(e){return t[e]}.bind(null,i));return a},r.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return r.d(e,"a",e),e},r.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},r.p="",r(r.s=12)}([function(t,e,r){ /*! powerbi-models v1.7.0 | (c) 2016 Microsoft Corporation MIT */ -var a;window,a=function(){return function(t){var e={};function r(a){if(e[a])return e[a].exports;var i=e[a]={i:a,l:!1,exports:{}};return t[a].call(i.exports,i,i.exports,r),i.l=!0,i.exports}return r.m=t,r.c=e,r.d=function(t,e,a){r.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:a})},r.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},r.t=function(t,e){if(1&e&&(t=r(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var a=Object.create(null);if(r.r(a),Object.defineProperty(a,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var i in t)r.d(a,i,function(e){return t[e]}.bind(null,i));return a},r.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return r.d(e,"a",e),e},r.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},r.p="",r(r.s=0)}([function(t,e,r){var a,i=this&&this.__extends||(a=function(t,e){return(a=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])})(t,e)},function(t,e){function r(){this.constructor=t}a(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.validateCustomTheme=e.validateCommandsSettings=e.validateVisualSettings=e.validateVisualHeader=e.validateExportDataRequest=e.validateQnaInterpretInputData=e.validateLoadQnaConfiguration=e.validateSaveAsParameters=e.validateFilter=e.validatePage=e.validateTileLoad=e.validateDashboardLoad=e.validateCreateReport=e.validateReportLoad=e.validateMenuGroupExtension=e.validateExtension=e.validateCustomPageSize=e.validateVisualizationsPane=e.validateSyncSlicersPane=e.validateSelectionPane=e.validatePageNavigationPane=e.validateFieldsPane=e.validateFiltersPane=e.validateBookmarksPane=e.validatePanes=e.validateSettings=e.validateCaptureBookmarkRequest=e.validateApplyBookmarkStateRequest=e.validateApplyBookmarkByNameRequest=e.validateAddBookmarkRequest=e.validatePlayBookmarkRequest=e.validateSlicerState=e.validateSlicer=e.validateVisualSelector=e.isIExtensionArray=e.isIExtensions=e.isGroupedMenuExtension=e.isFlatMenuExtension=e.VisualDataRoleKindPreference=e.VisualDataRoleKind=e.CommandDisplayOption=e.SlicerTargetSelector=e.VisualTypeSelector=e.VisualSelector=e.PageSelector=e.Selector=e.SortDirection=e.LegendPosition=e.TextAlignment=e.CommonErrorCodes=e.BookmarksPlayMode=e.ExportDataType=e.QnaMode=e.PageNavigationPosition=e.isColumnAggr=e.isHierarchyLevelAggr=e.isHierarchyLevel=e.isColumn=e.isMeasure=e.getFilterType=e.isBasicFilterWithKeys=e.isFilterKeyColumnsTarget=e.AdvancedFilter=e.TupleFilter=e.BasicFilterWithKeys=e.BasicFilter=e.RelativeTimeFilter=e.RelativeDateFilter=e.TopNFilter=e.IncludeExcludeFilter=e.NotSupportedFilter=e.Filter=e.RelativeDateOperators=e.RelativeDateFilterTimeUnit=e.FilterType=e.FiltersLevel=e.MenuLocation=e.ContrastMode=e.TokenType=e.ViewMode=e.Permissions=e.SectionVisibility=e.HyperlinkClickBehavior=e.LayoutType=e.VisualContainerDisplayMode=e.BackgroundType=e.DisplayOption=e.PageSizeType=e.TraceType=void 0;var o,n=r(1);!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"}(e.TraceType||(e.TraceType={})),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"}(e.PageSizeType||(e.PageSizeType={})),function(t){t[t.FitToPage=0]="FitToPage",t[t.FitToWidth=1]="FitToWidth",t[t.ActualSize=2]="ActualSize"}(e.DisplayOption||(e.DisplayOption={})),function(t){t[t.Default=0]="Default",t[t.Transparent=1]="Transparent"}(e.BackgroundType||(e.BackgroundType={})),function(t){t[t.Visible=0]="Visible",t[t.Hidden=1]="Hidden"}(e.VisualContainerDisplayMode||(e.VisualContainerDisplayMode={})),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={})),function(t){t[t.Navigate=0]="Navigate",t[t.NavigateAndRaiseEvent=1]="NavigateAndRaiseEvent",t[t.RaiseEvent=2]="RaiseEvent"}(e.HyperlinkClickBehavior||(e.HyperlinkClickBehavior={})),function(t){t[t.AlwaysVisible=0]="AlwaysVisible",t[t.HiddenInViewMode=1]="HiddenInViewMode"}(e.SectionVisibility||(e.SectionVisibility={})),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"}(e.Permissions||(e.Permissions={})),function(t){t[t.View=0]="View",t[t.Edit=1]="Edit"}(e.ViewMode||(e.ViewMode={})),function(t){t[t.Aad=0]="Aad",t[t.Embed=1]="Embed"}(e.TokenType||(e.TokenType={})),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"}(e.ContrastMode||(e.ContrastMode={})),function(t){t[t.Bottom=0]="Bottom",t[t.Top=1]="Top"}(e.MenuLocation||(e.MenuLocation={})),function(t){t[t.Report=0]="Report",t[t.Page=1]="Page",t[t.Visual=2]="Visual"}(e.FiltersLevel||(e.FiltersLevel={})),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"}(o=e.FilterType||(e.FilterType={})),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"}(e.RelativeDateFilterTimeUnit||(e.RelativeDateFilterTimeUnit={})),function(t){t[t.InLast=0]="InLast",t[t.InThis=1]="InThis",t[t.InNext=2]="InNext"}(e.RelativeDateOperators||(e.RelativeDateOperators={}));var l=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=l;var s=function(t){function e(r,a,i){var n=t.call(this,r,o.Unknown)||this;return n.message=a,n.notSupportedTypeName=i,n.schemaUrl=e.schemaUrl,n}return i(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}(l);e.NotSupportedFilter=s;var d=function(t){function e(r,a,i){var n=t.call(this,r,o.IncludeExclude)||this;return n.values=i,n.isExclude=a,n.schemaUrl=e.schemaUrl,n}return i(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}(l);e.IncludeExcludeFilter=d;var u=function(t){function e(r,a,i,n){var l=t.call(this,r,o.TopN)||this;return l.operator=a,l.itemCount=i,l.schemaUrl=e.schemaUrl,l.orderBy=n,l}return i(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}(l);e.TopNFilter=u;var c=function(t){function e(r,a,i,n,l){var s=t.call(this,r,o.RelativeDate)||this;return s.operator=a,s.timeUnitsCount=i,s.timeUnitType=n,s.includeToday=l,s.schemaUrl=e.schemaUrl,s}return i(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}(l);e.RelativeDateFilter=c;var p=function(t){function e(r,a,i,n){var l=t.call(this,r,o.RelativeTime)||this;return l.operator=a,l.timeUnitsCount=i,l.timeUnitType=n,l.schemaUrl=e.schemaUrl,l}return i(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}(l);e.RelativeTimeFilter=p;var f=function(t){function e(r,a){for(var i=[],n=2;n0&&!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,s=o.keyValues;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 s.conditions=l,s}return i(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}(l);function m(t){if(t.filterType)return t.filterType;var e=t,r=t;return"string"==typeof e.operator&&Array.isArray(e.values)?o.Basic:"string"==typeof r.logicalOperator&&Array.isArray(r.conditions)?o.Advanced:o.Unknown}function V(t){return!(!t.table||!t.column||t.aggregationFunction)}e.AdvancedFilter=y,e.isFilterKeyColumnsTarget=function(t){return V(t)&&!!t.keys},e.isBasicFilterWithKeys=function(t){return m(t)===o.Basic&&!!t.keyValues},e.getFilterType=m,e.isMeasure=function(t){return void 0!==t.table&&void 0!==t.measure},e.isColumn=V,e.isHierarchyLevel=function(t){return!(!(t.table&&t.hierarchy&&t.hierarchyLevel)||t.aggregationFunction)},e.isHierarchyLevelAggr=function(t){return!!(t.table&&t.hierarchy&&t.hierarchyLevel&&t.aggregationFunction)},e.isColumnAggr=function(t){return!!(t.table&&t.column&&t.aggregationFunction)},function(t){t[t.Bottom=0]="Bottom",t[t.Left=1]="Left"}(e.PageNavigationPosition||(e.PageNavigationPosition={})),function(t){t[t.Interactive=0]="Interactive",t[t.ResultOnly=1]="ResultOnly"}(e.QnaMode||(e.QnaMode={})),function(t){t[t.Summarized=0]="Summarized",t[t.Underlying=1]="Underlying"}(e.ExportDataType||(e.ExportDataType={})),function(t){t[t.Off=0]="Off",t[t.Presentation=1]="Presentation"}(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"},function(t){t[t.Ascending=1]="Ascending",t[t.Descending=2]="Descending"}(e.SortDirection||(e.SortDirection={}));var g=function(){function t(t){this.$schema=t}return t.prototype.toJSON=function(){return{$schema:this.$schema}},t}();e.Selector=g;var b=function(t){function e(r){var a=t.call(this,e.schemaUrl)||this;return a.pageName=r,a}return i(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}(g);e.PageSelector=b;var w=function(t){function e(r){var a=t.call(this,e.schemaUrl)||this;return a.visualName=r,a}return i(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}(g);e.VisualSelector=w;var P=function(t){function e(e){var r=t.call(this,w.schemaUrl)||this;return r.visualType=e,r}return i(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}(g);e.VisualTypeSelector=P;var _=function(t){function e(e){var r=t.call(this,w.schemaUrl)||this;return r.target=e,r}return i(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}(g);function S(t){return t&&!!t.groupName}function E(t){return Array.isArray(t)}function O(t){var e=t.message;return e||(e=t.path+" is invalid. Not meeting "+t.keyword+" constraint"),{message:e}}e.SlicerTargetSelector=_,function(t){t[t.Enabled=0]="Enabled",t[t.Disabled=1]="Disabled",t[t.Hidden=2]="Hidden"}(e.CommandDisplayOption||(e.CommandDisplayOption={})),function(t){t[t.Grouping=0]="Grouping",t[t.Measure=1]="Measure",t[t.GroupingOrMeasure=2]="GroupingOrMeasure"}(e.VisualDataRoleKind||(e.VisualDataRoleKind={})),function(t){t[t.Measure=0]="Measure",t[t.Grouping=1]="Grouping"}(e.VisualDataRoleKindPreference||(e.VisualDataRoleKindPreference={})),e.isFlatMenuExtension=function(t){return t&&!S(t)},e.isGroupedMenuExtension=S,e.isIExtensions=function(t){return t&&!E(t)},e.isIExtensionArray=E,e.validateVisualSelector=function(t){var e=n.Validators.visualSelectorValidator.validate(t);return e?e.map(O):void 0},e.validateSlicer=function(t){var e=n.Validators.slicerValidator.validate(t);return e?e.map(O):void 0},e.validateSlicerState=function(t){var e=n.Validators.slicerStateValidator.validate(t);return e?e.map(O):void 0},e.validatePlayBookmarkRequest=function(t){var e=n.Validators.playBookmarkRequestValidator.validate(t);return e?e.map(O):void 0},e.validateAddBookmarkRequest=function(t){var e=n.Validators.addBookmarkRequestValidator.validate(t);return e?e.map(O):void 0},e.validateApplyBookmarkByNameRequest=function(t){var e=n.Validators.applyBookmarkByNameRequestValidator.validate(t);return e?e.map(O):void 0},e.validateApplyBookmarkStateRequest=function(t){var e=n.Validators.applyBookmarkStateRequestValidator.validate(t);return e?e.map(O):void 0},e.validateCaptureBookmarkRequest=function(t){var e=n.Validators.captureBookmarkRequestValidator.validate(t);return e?e.map(O):void 0},e.validateSettings=function(t){var e=n.Validators.settingsValidator.validate(t);return e?e.map(O):void 0},e.validatePanes=function(t){var e=n.Validators.reportPanesValidator.validate(t);return e?e.map(O):void 0},e.validateBookmarksPane=function(t){var e=n.Validators.bookmarksPaneValidator.validate(t);return e?e.map(O):void 0},e.validateFiltersPane=function(t){var e=n.Validators.filtersPaneValidator.validate(t);return e?e.map(O):void 0},e.validateFieldsPane=function(t){var e=n.Validators.fieldsPaneValidator.validate(t);return e?e.map(O):void 0},e.validatePageNavigationPane=function(t){var e=n.Validators.pageNavigationPaneValidator.validate(t);return e?e.map(O):void 0},e.validateSelectionPane=function(t){var e=n.Validators.selectionPaneValidator.validate(t);return e?e.map(O):void 0},e.validateSyncSlicersPane=function(t){var e=n.Validators.syncSlicersPaneValidator.validate(t);return e?e.map(O):void 0},e.validateVisualizationsPane=function(t){var e=n.Validators.visualizationsPaneValidator.validate(t);return e?e.map(O):void 0},e.validateCustomPageSize=function(t){var e=n.Validators.customPageSizeValidator.validate(t);return e?e.map(O):void 0},e.validateExtension=function(t){var e=n.Validators.extensionValidator.validate(t);return e?e.map(O):void 0},e.validateMenuGroupExtension=function(t){var e=n.Validators.menuGroupExtensionValidator.validate(t);return e?e.map(O):void 0},e.validateReportLoad=function(t){var e=n.Validators.reportLoadValidator.validate(t);return e?e.map(O):void 0},e.validateCreateReport=function(t){var e=n.Validators.reportCreateValidator.validate(t);return e?e.map(O):void 0},e.validateDashboardLoad=function(t){var e=n.Validators.dashboardLoadValidator.validate(t);return e?e.map(O):void 0},e.validateTileLoad=function(t){var e=n.Validators.tileLoadValidator.validate(t);return e?e.map(O):void 0},e.validatePage=function(t){var e=n.Validators.pageValidator.validate(t);return e?e.map(O):void 0},e.validateFilter=function(t){var e=n.Validators.filtersValidator.validate(t);return e?e.map(O):void 0},e.validateSaveAsParameters=function(t){var e=n.Validators.saveAsParametersValidator.validate(t);return e?e.map(O):void 0},e.validateLoadQnaConfiguration=function(t){var e=n.Validators.loadQnaValidator.validate(t);return e?e.map(O):void 0},e.validateQnaInterpretInputData=function(t){var e=n.Validators.qnaInterpretInputDataValidator.validate(t);return e?e.map(O):void 0},e.validateExportDataRequest=function(t){var e=n.Validators.exportDataRequestValidator.validate(t);return e?e.map(O):void 0},e.validateVisualHeader=function(t){var e=n.Validators.visualHeaderValidator.validate(t);return e?e.map(O):void 0},e.validateVisualSettings=function(t){var e=n.Validators.visualSettingsValidator.validate(t);return e?e.map(O):void 0},e.validateCommandsSettings=function(t){var e=n.Validators.commandsSettingsValidator.validate(t);return e?e.map(O):void 0},e.validateCustomTheme=function(t){var e=n.Validators.customThemeValidator.validate(t);return e?e.map(O):void 0}},function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.Validators=void 0;var a=r(2),i=r(5),o=r(6),n=r(7),l=r(8),s=r(9),d=r(10),u=r(11),c=r(12),p=r(13),f=r(14),h=r(15),v=r(16),y=r(17),m=r(18),V=r(19),g=r(20),b=r(21),w=r(22),P=r(23),_=r(24),S=r(25),E=r(26),O=r(27),T=r(28),k=r(4);e.Validators={addBookmarkRequestValidator:new i.AddBookmarkRequestValidator,advancedFilterTypeValidator:new k.EnumValidator([0]),advancedFilterValidator:new c.AdvancedFilterValidator,anyArrayValidator:new k.ArrayValidator([new S.AnyOfValidator([new k.StringValidator,new k.NumberValidator,new k.BooleanValidator])]),anyFilterValidator:new S.AnyOfValidator([new c.BasicFilterValidator,new c.AdvancedFilterValidator,new c.IncludeExcludeFilterValidator,new c.NotSupportedFilterValidator,new c.RelativeDateFilterValidator,new c.TopNFilterValidator,new c.RelativeTimeFilterValidator]),anyValueValidator:new S.AnyOfValidator([new k.StringValidator,new k.NumberValidator,new k.BooleanValidator]),actionBarValidator:new a.ActionBarValidator,applyBookmarkByNameRequestValidator:new i.ApplyBookmarkByNameRequestValidator,applyBookmarkStateRequestValidator:new i.ApplyBookmarkStateRequestValidator,applyBookmarkValidator:new S.AnyOfValidator([new i.ApplyBookmarkByNameRequestValidator,new i.ApplyBookmarkStateRequestValidator]),backgroundValidator:new k.EnumValidator([0,1]),basicFilterTypeValidator:new k.EnumValidator([1]),basicFilterValidator:new c.BasicFilterValidator,booleanArrayValidator:new k.BooleanArrayValidator,booleanValidator:new k.BooleanValidator,bookmarksPaneValidator:new h.BookmarksPaneValidator,captureBookmarkOptionsValidator:new i.CaptureBookmarkOptionsValidator,captureBookmarkRequestValidator:new i.CaptureBookmarkRequestValidator,commandDisplayOptionValidator:new k.EnumValidator([0,1,2]),commandExtensionSelectorValidator:new S.AnyOfValidator([new g.VisualSelectorValidator,new g.VisualTypeSelectorValidator]),commandExtensionArrayValidator:new k.ArrayValidator([new u.CommandExtensionValidator]),commandExtensionValidator:new u.CommandExtensionValidator,commandsSettingsArrayValidator:new k.ArrayValidator([new o.CommandsSettingsValidator]),commandsSettingsValidator:new o.CommandsSettingsValidator,conditionItemValidator:new c.ConditionItemValidator,contrastModeValidator:new k.EnumValidator([0,1,2,3,4]),customLayoutDisplayOptionValidator:new k.EnumValidator([0,1,2]),customLayoutValidator:new p.CustomLayoutValidator,customPageSizeValidator:new f.CustomPageSizeValidator,customThemeValidator:new n.CustomThemeValidator,dashboardLoadValidator:new l.DashboardLoadValidator,datasetBindingValidator:new s.DatasetBindingValidator,displayStateModeValidator:new k.EnumValidator([0,1]),displayStateValidator:new p.DisplayStateValidator,exportDataRequestValidator:new d.ExportDataRequestValidator,extensionArrayValidator:new k.ArrayValidator([new u.ExtensionValidator]),extensionsValidator:new S.AnyOfValidator([new k.ArrayValidator([new u.ExtensionValidator]),new u.ExtensionsValidator]),extensionPointsValidator:new u.ExtensionPointsValidator,extensionValidator:new u.ExtensionValidator,fieldForbiddenValidator:new E.FieldForbiddenValidator,fieldRequiredValidator:new O.FieldRequiredValidator,fieldsPaneValidator:new h.FieldsPaneValidator,filterColumnTargetValidator:new c.FilterColumnTargetValidator,filterConditionsValidator:new k.ArrayValidator([new c.ConditionItemValidator]),filterHierarchyTargetValidator:new c.FilterHierarchyTargetValidator,filterMeasureTargetValidator:new c.FilterMeasureTargetValidator,filterTargetValidator:new S.AnyOfValidator([new c.FilterColumnTargetValidator,new c.FilterHierarchyTargetValidator,new c.FilterMeasureTargetValidator]),filtersArrayValidator:new k.ArrayValidator([new S.AnyOfValidator([new c.BasicFilterValidator,new c.AdvancedFilterValidator,new c.RelativeDateFilterValidator,new c.RelativeTimeFilterValidator])]),filtersValidator:new c.FilterValidator,filtersPaneValidator:new h.FiltersPaneValidator,hyperlinkClickBehaviorValidator:new k.EnumValidator([0,1,2]),includeExcludeFilterValidator:new c.IncludeExcludeFilterValidator,includeExludeFilterTypeValidator:new k.EnumValidator([3]),layoutTypeValidator:new k.EnumValidator([0,1,2,3]),loadQnaValidator:new v.LoadQnaValidator,menuExtensionValidator:new S.AnyOfValidator([new u.FlatMenuExtensionValidator,new u.GroupedMenuExtensionValidator]),menuGroupExtensionArrayValidator:new k.ArrayValidator([new u.MenuGroupExtensionValidator]),menuGroupExtensionValidator:new u.MenuGroupExtensionValidator,menuLocationValidator:new k.EnumValidator([0,1]),notSupportedFilterTypeValidator:new k.EnumValidator([2]),notSupportedFilterValidator:new c.NotSupportedFilterValidator,numberArrayValidator:new k.NumberArrayValidator,numberValidator:new k.NumberValidator,pageLayoutValidator:new T.MapValidator([new k.StringValidator],[new p.VisualLayoutValidator]),pageNavigationPaneValidator:new h.PageNavigationPaneValidator,pageNavigationPositionValidator:new k.EnumValidator([0,1]),pageSizeTypeValidator:new k.EnumValidator([0,1,2,3,4,5]),pageSizeValidator:new f.PageSizeValidator,pageValidator:new f.PageValidator,pageViewFieldValidator:new f.PageViewFieldValidator,pagesLayoutValidator:new T.MapValidator([new k.StringValidator],[new p.PageLayoutValidator]),reportBarsValidator:new a.ReportBarsValidator,reportPanesValidator:new h.ReportPanesValidator,permissionsValidator:new k.EnumValidator([0,1,2,4,7]),playBookmarkRequestValidator:new i.PlayBookmarkRequestValidator,qnaInterpretInputDataValidator:new v.QnaInterpretInputDataValidator,qnaSettingValidator:new v.QnaSettingsValidator,relativeDateFilterOperatorValidator:new k.EnumValidator([0,1,2]),relativeDateFilterTimeUnitTypeValidator:new k.EnumValidator([0,1,2,3,4,5,6]),relativeDateFilterTypeValidator:new k.EnumValidator([4]),relativeDateFilterValidator:new c.RelativeDateFilterValidator,relativeTimeFilterTimeUnitTypeValidator:new k.EnumValidator([7,8]),relativeTimeFilterTypeValidator:new k.EnumValidator([7]),relativeTimeFilterValidator:new c.RelativeTimeFilterValidator,reportCreateValidator:new y.ReportCreateValidator,reportLoadValidator:new m.ReportLoadValidator,saveAsParametersValidator:new V.SaveAsParametersValidator,selectionPaneValidator:new h.SelectionPaneValidator,settingsValidator:new b.SettingsValidator,singleCommandSettingsValidator:new o.SingleCommandSettingsValidator,slicerSelectorValidator:new S.AnyOfValidator([new g.VisualSelectorValidator,new g.SlicerTargetSelectorValidator]),slicerStateValidator:new w.SlicerStateValidator,slicerTargetValidator:new S.AnyOfValidator([new c.FilterColumnTargetValidator,new c.FilterHierarchyTargetValidator,new c.FilterMeasureTargetValidator,new c.FilterKeyColumnsTargetValidator,new c.FilterKeyHierarchyTargetValidator]),slicerValidator:new w.SlicerValidator,stringArrayValidator:new k.StringArrayValidator,stringValidator:new k.StringValidator,syncSlicersPaneValidator:new h.SyncSlicersPaneValidator,tileLoadValidator:new P.TileLoadValidator,tokenTypeValidator:new k.EnumValidator([0,1]),topNFilterTypeValidator:new k.EnumValidator([5]),topNFilterValidator:new c.TopNFilterValidator,viewModeValidator:new k.EnumValidator([0,1]),visualCommandSelectorValidator:new S.AnyOfValidator([new g.VisualSelectorValidator,new g.VisualTypeSelectorValidator]),visualHeaderSelectorValidator:new S.AnyOfValidator([new g.VisualSelectorValidator,new g.VisualTypeSelectorValidator]),visualHeaderSettingsValidator:new _.VisualHeaderSettingsValidator,visualHeaderValidator:new _.VisualHeaderValidator,visualHeadersValidator:new k.ArrayValidator([new _.VisualHeaderValidator]),visualizationsPaneValidator:new h.VisualizationsPaneValidator,visualLayoutValidator:new p.VisualLayoutValidator,visualSelectorValidator:new g.VisualSelectorValidator,visualSettingsValidator:new _.VisualSettingsValidator,visualTypeSelectorValidator:new g.VisualTypeSelectorValidator}},function(t,e,r){var a,i=this&&this.__extends||(a=function(t,e){return(a=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])})(t,e)},function(t,e){function r(){this.constructor=t}a(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.ActionBarValidator=e.ReportBarsValidator=void 0;var o=r(3),n=r(4),l=r(1),s=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i(e,t),e.prototype.validate=function(e,r,a){if(null==e)return null;var i=t.prototype.validate.call(this,e,r,a);if(i)return i;var n=[{field:"actionBar",validators:[l.Validators.actionBarValidator]}];return new o.MultipleFieldsValidator(n).validate(e,r,a)},e}(n.ObjectValidator);e.ReportBarsValidator=s;var d=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i(e,t),e.prototype.validate=function(e,r,a){if(null==e)return null;var i=t.prototype.validate.call(this,e,r,a);if(i)return i;var n=[{field:"visible",validators:[l.Validators.booleanValidator]}];return new o.MultipleFieldsValidator(n).validate(e,r,a)},e}(n.ObjectValidator);e.ActionBarValidator=d},function(t,e){Object.defineProperty(e,"__esModule",{value:!0}),e.MultipleFieldsValidator=void 0;var r=function(){function t(t){this.fieldValidatorsPairs=t}return t.prototype.validate=function(t,e,r){if(!this.fieldValidatorsPairs)return null;for(var a=e?e+"."+r:r,i=0,o=this.fieldValidatorsPairs;i0&&i[i.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0?"&":"?";return t+=a+e+"="+r},e.isSavedInternal=function(t,e,i){return r(this,void 0,void 0,(function(){return a(this,(function(r){switch(r.label){case 0:return r.trys.push([0,2,,3]),[4,t.get("/report/hasUnsavedChanges",{uid:e},i)];case 1:return[2,!r.sent().body];case 2:throw r.sent().body;case 3:return[2]}}))}))},e.isRDLEmbed=function(t){return t.toLowerCase().indexOf("/rdlembed?")>=0},e.autoAuthInEmbedUrl=function(t){return t&&decodeURIComponent(t).toLowerCase().indexOf("autoauth=true")>=0},e.getRandomValue=o,e.getTimeDiffInMilliseconds=function(t,e){return Math.abs(t.getTime()-e.getTime())}},function(t,e){Object.defineProperty(e,"__esModule",{value:!0}),e.EmbedUrlNotSupported=e.APINotSupportedForRDLError=void 0,e.APINotSupportedForRDLError="This API is currently not supported for RDL reports",e.EmbedUrlNotSupported="Embed URL is invalid for this scenario. Please use Power BI REST APIs to get the valid URL"},function(t,e,r){var a,i=this&&this.__extends||(a=function(t,e){return(a=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])})(t,e)},function(t,e){function r(){this.constructor=t}a(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}),o=this&&this.__awaiter||function(t,e,r,a){return new(r||(r=Promise))((function(i,o){function n(t){try{s(a.next(t))}catch(t){o(t)}}function l(t){try{s(a.throw(t))}catch(t){o(t)}}function s(t){var e;t.done?i(t.value):(e=t.value,e instanceof r?e:new r((function(t){t(e)}))).then(n,l)}s((a=a.apply(t,e||[])).next())}))},n=this&&this.__generator||function(t,e){var r,a,i,o,n={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:l(0),throw:l(1),return:l(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function l(o){return function(l){return function(o){if(r)throw new TypeError("Generator is already executing.");for(;n;)try{if(r=1,a&&(i=2&o[0]?a.return:o[0]?a.throw||((i=a.return)&&i.call(a),0):a.next)&&!(i=i.call(a,o[1])).done)return i;switch(a=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return n.label++,{value:o[1],done:!1};case 5:n.label++,a=o[1],o=[0];continue;case 7:o=n.ops.pop(),n.trys.pop();continue;default:if(!(i=n.trys,(i=i.length>0&&i[i.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&!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,s=o.keyValues;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 s.conditions=l,s}return i(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}(l);function m(t){if(t.filterType)return t.filterType;var e=t,r=t;return"string"==typeof e.operator&&Array.isArray(e.values)?o.Basic:"string"==typeof r.logicalOperator&&Array.isArray(r.conditions)?o.Advanced:o.Unknown}function V(t){return!(!t.table||!t.column||t.aggregationFunction)}e.AdvancedFilter=y,e.isFilterKeyColumnsTarget=function(t){return V(t)&&!!t.keys},e.isBasicFilterWithKeys=function(t){return m(t)===o.Basic&&!!t.keyValues},e.getFilterType=m,e.isMeasure=function(t){return void 0!==t.table&&void 0!==t.measure},e.isColumn=V,e.isHierarchyLevel=function(t){return!(!(t.table&&t.hierarchy&&t.hierarchyLevel)||t.aggregationFunction)},e.isHierarchyLevelAggr=function(t){return!!(t.table&&t.hierarchy&&t.hierarchyLevel&&t.aggregationFunction)},e.isColumnAggr=function(t){return!!(t.table&&t.column&&t.aggregationFunction)},function(t){t[t.Bottom=0]="Bottom",t[t.Left=1]="Left"}(e.PageNavigationPosition||(e.PageNavigationPosition={})),function(t){t[t.Interactive=0]="Interactive",t[t.ResultOnly=1]="ResultOnly"}(e.QnaMode||(e.QnaMode={})),function(t){t[t.Summarized=0]="Summarized",t[t.Underlying=1]="Underlying"}(e.ExportDataType||(e.ExportDataType={})),function(t){t[t.Off=0]="Off",t[t.Presentation=1]="Presentation"}(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"},function(t){t[t.Ascending=1]="Ascending",t[t.Descending=2]="Descending"}(e.SortDirection||(e.SortDirection={}));var g=function(){function t(t){this.$schema=t}return t.prototype.toJSON=function(){return{$schema:this.$schema}},t}();e.Selector=g;var b=function(t){function e(r){var a=t.call(this,e.schemaUrl)||this;return a.pageName=r,a}return i(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}(g);e.PageSelector=b;var w=function(t){function e(r){var a=t.call(this,e.schemaUrl)||this;return a.visualName=r,a}return i(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}(g);e.VisualSelector=w;var P=function(t){function e(e){var r=t.call(this,w.schemaUrl)||this;return r.visualType=e,r}return i(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}(g);e.VisualTypeSelector=P;var _=function(t){function e(e){var r=t.call(this,w.schemaUrl)||this;return r.target=e,r}return i(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}(g);function S(t){return t&&!!t.groupName}function E(t){return Array.isArray(t)}function O(t){var e=t.message;return e||(e=t.path+" is invalid. Not meeting "+t.keyword+" constraint"),{message:e}}e.SlicerTargetSelector=_,function(t){t[t.Enabled=0]="Enabled",t[t.Disabled=1]="Disabled",t[t.Hidden=2]="Hidden"}(e.CommandDisplayOption||(e.CommandDisplayOption={})),function(t){t[t.Grouping=0]="Grouping",t[t.Measure=1]="Measure",t[t.GroupingOrMeasure=2]="GroupingOrMeasure"}(e.VisualDataRoleKind||(e.VisualDataRoleKind={})),function(t){t[t.Measure=0]="Measure",t[t.Grouping=1]="Grouping"}(e.VisualDataRoleKindPreference||(e.VisualDataRoleKindPreference={})),e.isFlatMenuExtension=function(t){return t&&!S(t)},e.isGroupedMenuExtension=S,e.isIExtensions=function(t){return t&&!E(t)},e.isIExtensionArray=E,e.validateVisualSelector=function(t){var e=n.Validators.visualSelectorValidator.validate(t);return e?e.map(O):void 0},e.validateSlicer=function(t){var e=n.Validators.slicerValidator.validate(t);return e?e.map(O):void 0},e.validateSlicerState=function(t){var e=n.Validators.slicerStateValidator.validate(t);return e?e.map(O):void 0},e.validatePlayBookmarkRequest=function(t){var e=n.Validators.playBookmarkRequestValidator.validate(t);return e?e.map(O):void 0},e.validateAddBookmarkRequest=function(t){var e=n.Validators.addBookmarkRequestValidator.validate(t);return e?e.map(O):void 0},e.validateApplyBookmarkByNameRequest=function(t){var e=n.Validators.applyBookmarkByNameRequestValidator.validate(t);return e?e.map(O):void 0},e.validateApplyBookmarkStateRequest=function(t){var e=n.Validators.applyBookmarkStateRequestValidator.validate(t);return e?e.map(O):void 0},e.validateCaptureBookmarkRequest=function(t){var e=n.Validators.captureBookmarkRequestValidator.validate(t);return e?e.map(O):void 0},e.validateSettings=function(t){var e=n.Validators.settingsValidator.validate(t);return e?e.map(O):void 0},e.validatePanes=function(t){var e=n.Validators.reportPanesValidator.validate(t);return e?e.map(O):void 0},e.validateBookmarksPane=function(t){var e=n.Validators.bookmarksPaneValidator.validate(t);return e?e.map(O):void 0},e.validateFiltersPane=function(t){var e=n.Validators.filtersPaneValidator.validate(t);return e?e.map(O):void 0},e.validateFieldsPane=function(t){var e=n.Validators.fieldsPaneValidator.validate(t);return e?e.map(O):void 0},e.validatePageNavigationPane=function(t){var e=n.Validators.pageNavigationPaneValidator.validate(t);return e?e.map(O):void 0},e.validateSelectionPane=function(t){var e=n.Validators.selectionPaneValidator.validate(t);return e?e.map(O):void 0},e.validateSyncSlicersPane=function(t){var e=n.Validators.syncSlicersPaneValidator.validate(t);return e?e.map(O):void 0},e.validateVisualizationsPane=function(t){var e=n.Validators.visualizationsPaneValidator.validate(t);return e?e.map(O):void 0},e.validateCustomPageSize=function(t){var e=n.Validators.customPageSizeValidator.validate(t);return e?e.map(O):void 0},e.validateExtension=function(t){var e=n.Validators.extensionValidator.validate(t);return e?e.map(O):void 0},e.validateMenuGroupExtension=function(t){var e=n.Validators.menuGroupExtensionValidator.validate(t);return e?e.map(O):void 0},e.validateReportLoad=function(t){var e=n.Validators.reportLoadValidator.validate(t);return e?e.map(O):void 0},e.validateCreateReport=function(t){var e=n.Validators.reportCreateValidator.validate(t);return e?e.map(O):void 0},e.validateDashboardLoad=function(t){var e=n.Validators.dashboardLoadValidator.validate(t);return e?e.map(O):void 0},e.validateTileLoad=function(t){var e=n.Validators.tileLoadValidator.validate(t);return e?e.map(O):void 0},e.validatePage=function(t){var e=n.Validators.pageValidator.validate(t);return e?e.map(O):void 0},e.validateFilter=function(t){var e=n.Validators.filtersValidator.validate(t);return e?e.map(O):void 0},e.validateSaveAsParameters=function(t){var e=n.Validators.saveAsParametersValidator.validate(t);return e?e.map(O):void 0},e.validateLoadQnaConfiguration=function(t){var e=n.Validators.loadQnaValidator.validate(t);return e?e.map(O):void 0},e.validateQnaInterpretInputData=function(t){var e=n.Validators.qnaInterpretInputDataValidator.validate(t);return e?e.map(O):void 0},e.validateExportDataRequest=function(t){var e=n.Validators.exportDataRequestValidator.validate(t);return e?e.map(O):void 0},e.validateVisualHeader=function(t){var e=n.Validators.visualHeaderValidator.validate(t);return e?e.map(O):void 0},e.validateVisualSettings=function(t){var e=n.Validators.visualSettingsValidator.validate(t);return e?e.map(O):void 0},e.validateCommandsSettings=function(t){var e=n.Validators.commandsSettingsValidator.validate(t);return e?e.map(O):void 0},e.validateCustomTheme=function(t){var e=n.Validators.customThemeValidator.validate(t);return e?e.map(O):void 0}},function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.Validators=void 0;var a=r(2),i=r(5),o=r(6),n=r(7),l=r(8),s=r(9),d=r(10),u=r(11),c=r(12),p=r(13),f=r(14),h=r(15),v=r(16),y=r(17),m=r(18),V=r(19),g=r(20),b=r(21),w=r(22),P=r(23),_=r(24),S=r(25),E=r(26),O=r(27),T=r(28),k=r(4);e.Validators={addBookmarkRequestValidator:new i.AddBookmarkRequestValidator,advancedFilterTypeValidator:new k.EnumValidator([0]),advancedFilterValidator:new c.AdvancedFilterValidator,anyArrayValidator:new k.ArrayValidator([new S.AnyOfValidator([new k.StringValidator,new k.NumberValidator,new k.BooleanValidator])]),anyFilterValidator:new S.AnyOfValidator([new c.BasicFilterValidator,new c.AdvancedFilterValidator,new c.IncludeExcludeFilterValidator,new c.NotSupportedFilterValidator,new c.RelativeDateFilterValidator,new c.TopNFilterValidator,new c.RelativeTimeFilterValidator]),anyValueValidator:new S.AnyOfValidator([new k.StringValidator,new k.NumberValidator,new k.BooleanValidator]),actionBarValidator:new a.ActionBarValidator,applyBookmarkByNameRequestValidator:new i.ApplyBookmarkByNameRequestValidator,applyBookmarkStateRequestValidator:new i.ApplyBookmarkStateRequestValidator,applyBookmarkValidator:new S.AnyOfValidator([new i.ApplyBookmarkByNameRequestValidator,new i.ApplyBookmarkStateRequestValidator]),backgroundValidator:new k.EnumValidator([0,1]),basicFilterTypeValidator:new k.EnumValidator([1]),basicFilterValidator:new c.BasicFilterValidator,booleanArrayValidator:new k.BooleanArrayValidator,booleanValidator:new k.BooleanValidator,bookmarksPaneValidator:new h.BookmarksPaneValidator,captureBookmarkOptionsValidator:new i.CaptureBookmarkOptionsValidator,captureBookmarkRequestValidator:new i.CaptureBookmarkRequestValidator,commandDisplayOptionValidator:new k.EnumValidator([0,1,2]),commandExtensionSelectorValidator:new S.AnyOfValidator([new g.VisualSelectorValidator,new g.VisualTypeSelectorValidator]),commandExtensionArrayValidator:new k.ArrayValidator([new u.CommandExtensionValidator]),commandExtensionValidator:new u.CommandExtensionValidator,commandsSettingsArrayValidator:new k.ArrayValidator([new o.CommandsSettingsValidator]),commandsSettingsValidator:new o.CommandsSettingsValidator,conditionItemValidator:new c.ConditionItemValidator,contrastModeValidator:new k.EnumValidator([0,1,2,3,4]),customLayoutDisplayOptionValidator:new k.EnumValidator([0,1,2]),customLayoutValidator:new p.CustomLayoutValidator,customPageSizeValidator:new f.CustomPageSizeValidator,customThemeValidator:new n.CustomThemeValidator,dashboardLoadValidator:new l.DashboardLoadValidator,datasetBindingValidator:new s.DatasetBindingValidator,displayStateModeValidator:new k.EnumValidator([0,1]),displayStateValidator:new p.DisplayStateValidator,exportDataRequestValidator:new d.ExportDataRequestValidator,extensionArrayValidator:new k.ArrayValidator([new u.ExtensionValidator]),extensionsValidator:new S.AnyOfValidator([new k.ArrayValidator([new u.ExtensionValidator]),new u.ExtensionsValidator]),extensionPointsValidator:new u.ExtensionPointsValidator,extensionValidator:new u.ExtensionValidator,fieldForbiddenValidator:new E.FieldForbiddenValidator,fieldRequiredValidator:new O.FieldRequiredValidator,fieldsPaneValidator:new h.FieldsPaneValidator,filterColumnTargetValidator:new c.FilterColumnTargetValidator,filterConditionsValidator:new k.ArrayValidator([new c.ConditionItemValidator]),filterHierarchyTargetValidator:new c.FilterHierarchyTargetValidator,filterMeasureTargetValidator:new c.FilterMeasureTargetValidator,filterTargetValidator:new S.AnyOfValidator([new c.FilterColumnTargetValidator,new c.FilterHierarchyTargetValidator,new c.FilterMeasureTargetValidator]),filtersArrayValidator:new k.ArrayValidator([new S.AnyOfValidator([new c.BasicFilterValidator,new c.AdvancedFilterValidator,new c.RelativeDateFilterValidator,new c.RelativeTimeFilterValidator])]),filtersValidator:new c.FilterValidator,filtersPaneValidator:new h.FiltersPaneValidator,hyperlinkClickBehaviorValidator:new k.EnumValidator([0,1,2]),includeExcludeFilterValidator:new c.IncludeExcludeFilterValidator,includeExludeFilterTypeValidator:new k.EnumValidator([3]),layoutTypeValidator:new k.EnumValidator([0,1,2,3]),loadQnaValidator:new v.LoadQnaValidator,menuExtensionValidator:new S.AnyOfValidator([new u.FlatMenuExtensionValidator,new u.GroupedMenuExtensionValidator]),menuGroupExtensionArrayValidator:new k.ArrayValidator([new u.MenuGroupExtensionValidator]),menuGroupExtensionValidator:new u.MenuGroupExtensionValidator,menuLocationValidator:new k.EnumValidator([0,1]),notSupportedFilterTypeValidator:new k.EnumValidator([2]),notSupportedFilterValidator:new c.NotSupportedFilterValidator,numberArrayValidator:new k.NumberArrayValidator,numberValidator:new k.NumberValidator,pageLayoutValidator:new T.MapValidator([new k.StringValidator],[new p.VisualLayoutValidator]),pageNavigationPaneValidator:new h.PageNavigationPaneValidator,pageNavigationPositionValidator:new k.EnumValidator([0,1]),pageSizeTypeValidator:new k.EnumValidator([0,1,2,3,4,5]),pageSizeValidator:new f.PageSizeValidator,pageValidator:new f.PageValidator,pageViewFieldValidator:new f.PageViewFieldValidator,pagesLayoutValidator:new T.MapValidator([new k.StringValidator],[new p.PageLayoutValidator]),reportBarsValidator:new a.ReportBarsValidator,reportPanesValidator:new h.ReportPanesValidator,permissionsValidator:new k.EnumValidator([0,1,2,4,7]),playBookmarkRequestValidator:new i.PlayBookmarkRequestValidator,qnaInterpretInputDataValidator:new v.QnaInterpretInputDataValidator,qnaSettingValidator:new v.QnaSettingsValidator,relativeDateFilterOperatorValidator:new k.EnumValidator([0,1,2]),relativeDateFilterTimeUnitTypeValidator:new k.EnumValidator([0,1,2,3,4,5,6]),relativeDateFilterTypeValidator:new k.EnumValidator([4]),relativeDateFilterValidator:new c.RelativeDateFilterValidator,relativeTimeFilterTimeUnitTypeValidator:new k.EnumValidator([7,8]),relativeTimeFilterTypeValidator:new k.EnumValidator([7]),relativeTimeFilterValidator:new c.RelativeTimeFilterValidator,reportCreateValidator:new y.ReportCreateValidator,reportLoadValidator:new m.ReportLoadValidator,saveAsParametersValidator:new V.SaveAsParametersValidator,selectionPaneValidator:new h.SelectionPaneValidator,settingsValidator:new b.SettingsValidator,singleCommandSettingsValidator:new o.SingleCommandSettingsValidator,slicerSelectorValidator:new S.AnyOfValidator([new g.VisualSelectorValidator,new g.SlicerTargetSelectorValidator]),slicerStateValidator:new w.SlicerStateValidator,slicerTargetValidator:new S.AnyOfValidator([new c.FilterColumnTargetValidator,new c.FilterHierarchyTargetValidator,new c.FilterMeasureTargetValidator,new c.FilterKeyColumnsTargetValidator,new c.FilterKeyHierarchyTargetValidator]),slicerValidator:new w.SlicerValidator,stringArrayValidator:new k.StringArrayValidator,stringValidator:new k.StringValidator,syncSlicersPaneValidator:new h.SyncSlicersPaneValidator,tileLoadValidator:new P.TileLoadValidator,tokenTypeValidator:new k.EnumValidator([0,1]),topNFilterTypeValidator:new k.EnumValidator([5]),topNFilterValidator:new c.TopNFilterValidator,viewModeValidator:new k.EnumValidator([0,1]),visualCommandSelectorValidator:new S.AnyOfValidator([new g.VisualSelectorValidator,new g.VisualTypeSelectorValidator]),visualHeaderSelectorValidator:new S.AnyOfValidator([new g.VisualSelectorValidator,new g.VisualTypeSelectorValidator]),visualHeaderSettingsValidator:new _.VisualHeaderSettingsValidator,visualHeaderValidator:new _.VisualHeaderValidator,visualHeadersValidator:new k.ArrayValidator([new _.VisualHeaderValidator]),visualizationsPaneValidator:new h.VisualizationsPaneValidator,visualLayoutValidator:new p.VisualLayoutValidator,visualSelectorValidator:new g.VisualSelectorValidator,visualSettingsValidator:new _.VisualSettingsValidator,visualTypeSelectorValidator:new g.VisualTypeSelectorValidator}},function(t,e,r){var a,i=this&&this.__extends||(a=function(t,e){return(a=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])})(t,e)},function(t,e){function r(){this.constructor=t}a(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.ActionBarValidator=e.ReportBarsValidator=void 0;var o=r(3),n=r(4),l=r(1),s=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i(e,t),e.prototype.validate=function(e,r,a){if(null==e)return null;var i=t.prototype.validate.call(this,e,r,a);if(i)return i;var n=[{field:"actionBar",validators:[l.Validators.actionBarValidator]}];return new o.MultipleFieldsValidator(n).validate(e,r,a)},e}(n.ObjectValidator);e.ReportBarsValidator=s;var d=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i(e,t),e.prototype.validate=function(e,r,a){if(null==e)return null;var i=t.prototype.validate.call(this,e,r,a);if(i)return i;var n=[{field:"visible",validators:[l.Validators.booleanValidator]}];return new o.MultipleFieldsValidator(n).validate(e,r,a)},e}(n.ObjectValidator);e.ActionBarValidator=d},function(t,e){Object.defineProperty(e,"__esModule",{value:!0}),e.MultipleFieldsValidator=void 0;var r=function(){function t(t){this.fieldValidatorsPairs=t}return t.prototype.validate=function(t,e,r){if(!this.fieldValidatorsPairs)return null;for(var a=e?e+"."+r:r,i=0,o=this.fieldValidatorsPairs;i0&&i[i.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0?"&":"?";return t+=a+e+"="+r},e.isSavedInternal=function(t,e,i){return r(this,void 0,void 0,(function(){return a(this,(function(r){switch(r.label){case 0:return r.trys.push([0,2,,3]),[4,t.get("/report/hasUnsavedChanges",{uid:e},i)];case 1:return[2,!r.sent().body];case 2:throw r.sent().body;case 3:return[2]}}))}))},e.isRDLEmbed=function(t){return t.toLowerCase().indexOf("/rdlembed?")>=0},e.autoAuthInEmbedUrl=function(t){return t&&decodeURIComponent(t).toLowerCase().indexOf("autoauth=true")>=0},e.getRandomValue=o,e.getTimeDiffInMilliseconds=function(t,e){return Math.abs(t.getTime()-e.getTime())}},function(t,e){Object.defineProperty(e,"__esModule",{value:!0}),e.EmbedUrlNotSupported=e.APINotSupportedForRDLError=void 0,e.APINotSupportedForRDLError="This API is currently not supported for RDL reports",e.EmbedUrlNotSupported="Embed URL is invalid for this scenario. Please use Power BI REST APIs to get the valid URL"},function(t,e,r){var a,i=this&&this.__extends||(a=function(t,e){return(a=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])})(t,e)},function(t,e){function r(){this.constructor=t}a(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}),o=this&&this.__awaiter||function(t,e,r,a){return new(r||(r=Promise))((function(i,o){function n(t){try{s(a.next(t))}catch(t){o(t)}}function l(t){try{s(a.throw(t))}catch(t){o(t)}}function s(t){var e;t.done?i(t.value):(e=t.value,e instanceof r?e:new r((function(t){t(e)}))).then(n,l)}s((a=a.apply(t,e||[])).next())}))},n=this&&this.__generator||function(t,e){var r,a,i,o,n={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:l(0),throw:l(1),return:l(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function l(o){return function(l){return function(o){if(r)throw new TypeError("Generator is already executing.");for(;n;)try{if(r=1,a&&(i=2&o[0]?a.return:o[0]?a.throw||((i=a.return)&&i.call(a),0):a.next)&&!(i=i.call(a,o[1])).done)return i;switch(a=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return n.label++,{value:o[1],done:!1};case 5:n.label++,a=o[1],o=[0];continue;case 7:o=n.ops.pop(),n.trys.pop();continue;default:if(!(i=n.trys,(i=i.length>0&&i[i.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1] Date: Wed, 30 Dec 2020 10:47:16 +0000 Subject: [PATCH 047/125] Merged PR 126798: Migrate to eslint and TypeScript v4 ## Changes in the PR - Configured eslint - Upgraded typescript to v4 Related work items: #462609, #502381 --- .eslintrc.js | 254 + dist/powerbi-client.d.ts | 2 +- dist/powerbi.js | 16173 ++++++++++++++++++----------------- dist/powerbi.min.js | 4 +- gulpfile.js | 162 +- package.json | 13 +- src/config.ts | 2 +- tslint.json | 26 - webpack.test.tsconfig.json | 1 - 9 files changed, 8436 insertions(+), 8201 deletions(-) create mode 100644 .eslintrc.js delete mode 100644 tslint.json diff --git a/.eslintrc.js b/.eslintrc.js new file mode 100644 index 00000000..5e6d4467 --- /dev/null +++ b/.eslintrc.js @@ -0,0 +1,254 @@ +// TODO: Remove "warn" settings for the rules after resolving them +module.exports = { + "env": { + "browser": true, + "node": true + }, + "extends": [ + "plugin:@typescript-eslint/recommended", + "plugin:@typescript-eslint/recommended-requiring-type-checking" + ], + "parser": "@typescript-eslint/parser", + "parserOptions": { + "project": "webpack.test.tsconfig.json", + "sourceType": "module" + }, + "plugins": [ + "eslint-plugin-jsdoc", + "eslint-plugin-prefer-arrow", + "eslint-plugin-import", + "@typescript-eslint" + ], + "rules": { + "@typescript-eslint/adjacent-overload-signatures": "warn", + "@typescript-eslint/array-type": [ + "warn", + { + "default": "array-simple" + } + ], + "@typescript-eslint/await-thenable": "warn", + "@typescript-eslint/ban-ts-comment": "warn", + "@typescript-eslint/ban-types": [ + "warn", + { + "types": { + "Object": { + "message": "Avoid using the `Object` type. Did you mean `object`?" + }, + "Function": { + "message": "Avoid using the `Function` type. Prefer a specific function type, like `() => void`." + }, + "Boolean": { + "message": "Avoid using the `Boolean` type. Did you mean `boolean`?" + }, + "Number": { + "message": "Avoid using the `Number` type. Did you mean `number`?" + }, + "String": { + "message": "Avoid using the `String` type. Did you mean `string`?" + }, + "Symbol": { + "message": "Avoid using the `Symbol` type. Did you mean `symbol`?" + } + } + } + ], + "@typescript-eslint/consistent-type-assertions": "warn", + "@typescript-eslint/consistent-type-definitions": "warn", + "@typescript-eslint/dot-notation": "warn", + "@typescript-eslint/explicit-member-accessibility": [ + "off", + { + "accessibility": "explicit" + } + ], + "@typescript-eslint/explicit-module-boundary-types": "warn", + "@typescript-eslint/indent": [ + "warn", + 2, + { + "FunctionDeclaration": { + "parameters": "first" + }, + "FunctionExpression": { + "parameters": "first" + } + } + ], + "@typescript-eslint/member-delimiter-style": [ + "warn", + { + "multiline": { + "delimiter": "semi", + "requireLast": true + }, + "singleline": { + "delimiter": "semi", + "requireLast": false + } + } + ], + "@typescript-eslint/member-ordering": "warn", + "@typescript-eslint/naming-convention": "warn", + "@typescript-eslint/no-array-constructor": "warn", + "@typescript-eslint/no-empty-function": "warn", + "@typescript-eslint/no-empty-interface": "warn", + "@typescript-eslint/no-explicit-any": "off", + "@typescript-eslint/no-extra-non-null-assertion": "warn", + "@typescript-eslint/no-extra-semi": "warn", + "@typescript-eslint/no-floating-promises": "warn", + "@typescript-eslint/no-for-in-array": "warn", + "@typescript-eslint/no-implied-eval": "warn", + "@typescript-eslint/no-inferrable-types": "warn", + "@typescript-eslint/no-misused-new": "warn", + "@typescript-eslint/no-misused-promises": "warn", + "@typescript-eslint/no-namespace": "warn", + "@typescript-eslint/no-non-null-asserted-optional-chain": "warn", + "@typescript-eslint/no-non-null-assertion": "warn", + "@typescript-eslint/no-parameter-properties": "off", + "@typescript-eslint/no-this-alias": "warn", + "@typescript-eslint/no-unnecessary-type-assertion": "warn", + "@typescript-eslint/no-unsafe-assignment": "warn", + "@typescript-eslint/no-unsafe-call": "warn", + "@typescript-eslint/no-unsafe-member-access": "warn", + "@typescript-eslint/no-unsafe-return": "warn", + "@typescript-eslint/no-unused-expressions": "warn", + "@typescript-eslint/no-unused-vars": "warn", + "@typescript-eslint/no-use-before-define": "off", + "@typescript-eslint/no-var-requires": "warn", + "@typescript-eslint/prefer-as-const": "warn", + "@typescript-eslint/prefer-for-of": "warn", + "@typescript-eslint/prefer-function-type": "warn", + "@typescript-eslint/prefer-namespace-keyword": "warn", + "@typescript-eslint/prefer-regexp-exec": "warn", + "@typescript-eslint/quotes": [ + "off", + { + "avoidEscape": true + } + ], + "@typescript-eslint/require-await": "warn", + "@typescript-eslint/restrict-plus-operands": "warn", + "@typescript-eslint/restrict-template-expressions": "warn", + "@typescript-eslint/semi": [ + "warn", + "always" + ], + "@typescript-eslint/triple-slash-reference": [ + "warn", + { + "path": "always", + "types": "prefer-import", + "lib": "always" + } + ], + "@typescript-eslint/type-annotation-spacing": "warn", + "@typescript-eslint/unbound-method": "warn", + "@typescript-eslint/unified-signatures": "warn", + "arrow-body-style": "warn", + "arrow-parens": [ + "warn", + "always" + ], + "brace-style": [ + "off", + "1tbs" + ], + "comma-dangle": "off", + "complexity": "off", + "constructor-super": "warn", + "curly": "warn", + "eol-last": "warn", + "eqeqeq": [ + "warn", + "smart" + ], + "guard-for-in": "warn", + "id-blacklist": [ + "warn", + "any", + "Number", + "number", + "String", + "string", + "Boolean", + "boolean", + "Undefined", + "undefined" + ], + "id-match": "warn", + "import/order": "warn", + "jsdoc/check-alignment": "warn", + "jsdoc/check-indentation": "warn", + "jsdoc/newline-after-description": "warn", + "max-classes-per-file": [ + "warn", + 1 + ], + "max-len": "off", + "new-parens": "warn", + "no-array-constructor": "off", + "no-bitwise": "warn", + "no-caller": "warn", + "no-cond-assign": "warn", + "no-console": "off", + "no-debugger": "warn", + "no-empty": "warn", + "no-empty-function": "off", + "no-eval": "warn", + "no-extra-semi": "off", + "no-fallthrough": "off", + "no-implied-eval": "off", + "no-invalid-this": "off", + "no-multiple-empty-lines": "warn", + "no-new-wrappers": "warn", + "no-shadow": [ + "warn", + { + "hoist": "all" + } + ], + "no-throw-literal": "warn", + "no-trailing-spaces": "warn", + "no-undef-init": "warn", + "no-underscore-dangle": "warn", + "no-unsafe-finally": "warn", + "no-unused-labels": "warn", + "no-unused-vars": "off", + "no-var": "warn", + "object-shorthand": "warn", + "one-var": [ + "warn", + "never" + ], + "prefer-arrow/prefer-arrow-functions": "warn", + "prefer-const": "warn", + "prefer-rest-params": "warn", + "quote-props": [ + "warn", + "consistent-as-needed" + ], + "radix": "warn", + "require-await": "off", + "space-before-function-paren": [ + "warn", + { + "anonymous": "never", + "asyncArrow": "always", + "named": "never" + } + ], + "spaced-comment": [ + "warn", + "always", + { + "markers": [ + "/" + ] + } + ], + "use-isnan": "warn", + "valid-typeof": "off" + } +}; diff --git a/dist/powerbi-client.d.ts b/dist/powerbi-client.d.ts index cb29c41d..c8a29da1 100644 --- a/dist/powerbi-client.d.ts +++ b/dist/powerbi-client.d.ts @@ -1,4 +1,4 @@ -/*! powerbi-client v2.16.3 | (c) 2016 Microsoft Corporation MIT */ +/*! powerbi-client v2.16.4 | (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 bd951155..041303e1 100644 --- a/dist/powerbi.js +++ b/dist/powerbi.js @@ -1,4 +1,4 @@ -/*! powerbi-client v2.16.3 | (c) 2016 Microsoft Corporation MIT */ +/*! powerbi-client v2.16.4 | (c) 2016 Microsoft Corporation MIT */ (function webpackUniversalModuleDefinition(root, factory) { if(typeof exports === 'object' && typeof module === 'object') module.exports = factory(); @@ -384,4090 +384,4090 @@ return /******/ (function(modules) { // webpackBootstrap /* 0 */ /***/ (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 }); -exports.validateCustomTheme = exports.validateCommandsSettings = exports.validateVisualSettings = exports.validateVisualHeader = exports.validateExportDataRequest = exports.validateQnaInterpretInputData = exports.validateLoadQnaConfiguration = exports.validateSaveAsParameters = exports.validateFilter = exports.validatePage = exports.validateTileLoad = exports.validateDashboardLoad = exports.validateCreateReport = exports.validateReportLoad = exports.validateMenuGroupExtension = exports.validateExtension = exports.validateCustomPageSize = exports.validateVisualizationsPane = exports.validateSyncSlicersPane = exports.validateSelectionPane = exports.validatePageNavigationPane = exports.validateFieldsPane = exports.validateFiltersPane = exports.validateBookmarksPane = exports.validatePanes = exports.validateSettings = exports.validateCaptureBookmarkRequest = exports.validateApplyBookmarkStateRequest = exports.validateApplyBookmarkByNameRequest = exports.validateAddBookmarkRequest = exports.validatePlayBookmarkRequest = exports.validateSlicerState = exports.validateSlicer = exports.validateVisualSelector = exports.isIExtensionArray = exports.isIExtensions = exports.isGroupedMenuExtension = exports.isFlatMenuExtension = exports.VisualDataRoleKindPreference = exports.VisualDataRoleKind = exports.CommandDisplayOption = exports.SlicerTargetSelector = exports.VisualTypeSelector = exports.VisualSelector = exports.PageSelector = exports.Selector = exports.SortDirection = exports.LegendPosition = exports.TextAlignment = exports.CommonErrorCodes = exports.BookmarksPlayMode = exports.ExportDataType = exports.QnaMode = exports.PageNavigationPosition = exports.isColumnAggr = exports.isHierarchyLevelAggr = exports.isHierarchyLevel = exports.isColumn = exports.isMeasure = exports.getFilterType = exports.isBasicFilterWithKeys = exports.isFilterKeyColumnsTarget = exports.AdvancedFilter = exports.TupleFilter = exports.BasicFilterWithKeys = exports.BasicFilter = exports.RelativeTimeFilter = exports.RelativeDateFilter = exports.TopNFilter = exports.IncludeExcludeFilter = exports.NotSupportedFilter = exports.Filter = exports.RelativeDateOperators = exports.RelativeDateFilterTimeUnit = exports.FilterType = exports.FiltersLevel = exports.MenuLocation = exports.ContrastMode = exports.TokenType = exports.ViewMode = exports.Permissions = exports.SectionVisibility = exports.HyperlinkClickBehavior = exports.LayoutType = exports.VisualContainerDisplayMode = exports.BackgroundType = exports.DisplayOption = exports.PageSizeType = exports.TraceType = void 0; -var validator_1 = __webpack_require__(1); -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[FilterType["RelativeTime"] = 7] = "RelativeTime"; -})(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[RelativeDateFilterTimeUnit["Minutes"] = 7] = "Minutes"; - RelativeDateFilterTimeUnit[RelativeDateFilterTimeUnit["Hours"] = 8] = "Hours"; -})(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 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) { - 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, _a = _this.keyValues; _i < _a.length; _i++) { - var keyValue = _a[_i]; - if (keyValue) { - var lengthOfArray = keyValue.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 PageNavigationPosition; -(function (PageNavigationPosition) { - PageNavigationPosition[PageNavigationPosition["Bottom"] = 0] = "Bottom"; - PageNavigationPosition[PageNavigationPosition["Left"] = 1] = "Left"; -})(PageNavigationPosition = exports.PageNavigationPosition || (exports.PageNavigationPosition = {})); -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 isFlatMenuExtension(menuExtension) { - return menuExtension && !isGroupedMenuExtension(menuExtension); -} -exports.isFlatMenuExtension = isFlatMenuExtension; -function isGroupedMenuExtension(menuExtension) { - return menuExtension && !!menuExtension.groupName; -} -exports.isGroupedMenuExtension = isGroupedMenuExtension; -function isIExtensions(extensions) { - return extensions && !isIExtensionArray(extensions); -} -exports.isIExtensions = isIExtensions; -function isIExtensionArray(extensions) { - return Array.isArray(extensions); -} -exports.isIExtensionArray = isIExtensionArray; -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 = validator_1.Validators.visualSelectorValidator.validate(input); - return errors ? errors.map(normalizeError) : undefined; -} -exports.validateVisualSelector = validateVisualSelector; -function validateSlicer(input) { - var errors = validator_1.Validators.slicerValidator.validate(input); - return errors ? errors.map(normalizeError) : undefined; -} -exports.validateSlicer = validateSlicer; -function validateSlicerState(input) { - var errors = validator_1.Validators.slicerStateValidator.validate(input); - return errors ? errors.map(normalizeError) : undefined; -} -exports.validateSlicerState = validateSlicerState; -function validatePlayBookmarkRequest(input) { - var errors = validator_1.Validators.playBookmarkRequestValidator.validate(input); - return errors ? errors.map(normalizeError) : undefined; -} -exports.validatePlayBookmarkRequest = validatePlayBookmarkRequest; -function validateAddBookmarkRequest(input) { - var errors = validator_1.Validators.addBookmarkRequestValidator.validate(input); - return errors ? errors.map(normalizeError) : undefined; -} -exports.validateAddBookmarkRequest = validateAddBookmarkRequest; -function validateApplyBookmarkByNameRequest(input) { - var errors = validator_1.Validators.applyBookmarkByNameRequestValidator.validate(input); - return errors ? errors.map(normalizeError) : undefined; -} -exports.validateApplyBookmarkByNameRequest = validateApplyBookmarkByNameRequest; -function validateApplyBookmarkStateRequest(input) { - var errors = validator_1.Validators.applyBookmarkStateRequestValidator.validate(input); - return errors ? errors.map(normalizeError) : undefined; -} -exports.validateApplyBookmarkStateRequest = validateApplyBookmarkStateRequest; -function validateCaptureBookmarkRequest(input) { - var errors = validator_1.Validators.captureBookmarkRequestValidator.validate(input); - return errors ? errors.map(normalizeError) : undefined; -} -exports.validateCaptureBookmarkRequest = validateCaptureBookmarkRequest; -function validateSettings(input) { - var errors = validator_1.Validators.settingsValidator.validate(input); - return errors ? errors.map(normalizeError) : undefined; -} -exports.validateSettings = validateSettings; -function validatePanes(input) { - var errors = validator_1.Validators.reportPanesValidator.validate(input); - return errors ? errors.map(normalizeError) : undefined; -} -exports.validatePanes = validatePanes; -function validateBookmarksPane(input) { - var errors = validator_1.Validators.bookmarksPaneValidator.validate(input); - return errors ? errors.map(normalizeError) : undefined; -} -exports.validateBookmarksPane = validateBookmarksPane; -function validateFiltersPane(input) { - var errors = validator_1.Validators.filtersPaneValidator.validate(input); - return errors ? errors.map(normalizeError) : undefined; -} -exports.validateFiltersPane = validateFiltersPane; -function validateFieldsPane(input) { - var errors = validator_1.Validators.fieldsPaneValidator.validate(input); - return errors ? errors.map(normalizeError) : undefined; -} -exports.validateFieldsPane = validateFieldsPane; -function validatePageNavigationPane(input) { - var errors = validator_1.Validators.pageNavigationPaneValidator.validate(input); - return errors ? errors.map(normalizeError) : undefined; -} -exports.validatePageNavigationPane = validatePageNavigationPane; -function validateSelectionPane(input) { - var errors = validator_1.Validators.selectionPaneValidator.validate(input); - return errors ? errors.map(normalizeError) : undefined; -} -exports.validateSelectionPane = validateSelectionPane; -function validateSyncSlicersPane(input) { - var errors = validator_1.Validators.syncSlicersPaneValidator.validate(input); - return errors ? errors.map(normalizeError) : undefined; -} -exports.validateSyncSlicersPane = validateSyncSlicersPane; -function validateVisualizationsPane(input) { - var errors = validator_1.Validators.visualizationsPaneValidator.validate(input); - return errors ? errors.map(normalizeError) : undefined; -} -exports.validateVisualizationsPane = validateVisualizationsPane; -function validateCustomPageSize(input) { - var errors = validator_1.Validators.customPageSizeValidator.validate(input); - return errors ? errors.map(normalizeError) : undefined; -} -exports.validateCustomPageSize = validateCustomPageSize; -function validateExtension(input) { - var errors = validator_1.Validators.extensionValidator.validate(input); - return errors ? errors.map(normalizeError) : undefined; -} -exports.validateExtension = validateExtension; -function validateMenuGroupExtension(input) { - var errors = validator_1.Validators.menuGroupExtensionValidator.validate(input); - return errors ? errors.map(normalizeError) : undefined; -} -exports.validateMenuGroupExtension = validateMenuGroupExtension; -function validateReportLoad(input) { - var errors = validator_1.Validators.reportLoadValidator.validate(input); - return errors ? errors.map(normalizeError) : undefined; -} -exports.validateReportLoad = validateReportLoad; -function validateCreateReport(input) { - var errors = validator_1.Validators.reportCreateValidator.validate(input); - return errors ? errors.map(normalizeError) : undefined; -} -exports.validateCreateReport = validateCreateReport; -function validateDashboardLoad(input) { - var errors = validator_1.Validators.dashboardLoadValidator.validate(input); - return errors ? errors.map(normalizeError) : undefined; -} -exports.validateDashboardLoad = validateDashboardLoad; -function validateTileLoad(input) { - var errors = validator_1.Validators.tileLoadValidator.validate(input); - return errors ? errors.map(normalizeError) : undefined; -} -exports.validateTileLoad = validateTileLoad; -function validatePage(input) { - var errors = validator_1.Validators.pageValidator.validate(input); - return errors ? errors.map(normalizeError) : undefined; -} -exports.validatePage = validatePage; -function validateFilter(input) { - var errors = validator_1.Validators.filtersValidator.validate(input); - return errors ? errors.map(normalizeError) : undefined; -} -exports.validateFilter = validateFilter; -function validateSaveAsParameters(input) { - var errors = validator_1.Validators.saveAsParametersValidator.validate(input); - return errors ? errors.map(normalizeError) : undefined; -} -exports.validateSaveAsParameters = validateSaveAsParameters; -function validateLoadQnaConfiguration(input) { - var errors = validator_1.Validators.loadQnaValidator.validate(input); - return errors ? errors.map(normalizeError) : undefined; -} -exports.validateLoadQnaConfiguration = validateLoadQnaConfiguration; -function validateQnaInterpretInputData(input) { - var errors = validator_1.Validators.qnaInterpretInputDataValidator.validate(input); - return errors ? errors.map(normalizeError) : undefined; -} -exports.validateQnaInterpretInputData = validateQnaInterpretInputData; -function validateExportDataRequest(input) { - var errors = validator_1.Validators.exportDataRequestValidator.validate(input); - return errors ? errors.map(normalizeError) : undefined; -} -exports.validateExportDataRequest = validateExportDataRequest; -function validateVisualHeader(input) { - var errors = validator_1.Validators.visualHeaderValidator.validate(input); - return errors ? errors.map(normalizeError) : undefined; -} -exports.validateVisualHeader = validateVisualHeader; -function validateVisualSettings(input) { - var errors = validator_1.Validators.visualSettingsValidator.validate(input); - return errors ? errors.map(normalizeError) : undefined; -} -exports.validateVisualSettings = validateVisualSettings; -function validateCommandsSettings(input) { - var errors = validator_1.Validators.commandsSettingsValidator.validate(input); - return errors ? errors.map(normalizeError) : undefined; -} -exports.validateCommandsSettings = validateCommandsSettings; -function validateCustomTheme(input) { - var errors = validator_1.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.validateCustomTheme = exports.validateCommandsSettings = exports.validateVisualSettings = exports.validateVisualHeader = exports.validateExportDataRequest = exports.validateQnaInterpretInputData = exports.validateLoadQnaConfiguration = exports.validateSaveAsParameters = exports.validateFilter = exports.validatePage = exports.validateTileLoad = exports.validateDashboardLoad = exports.validateCreateReport = exports.validateReportLoad = exports.validateMenuGroupExtension = exports.validateExtension = exports.validateCustomPageSize = exports.validateVisualizationsPane = exports.validateSyncSlicersPane = exports.validateSelectionPane = exports.validatePageNavigationPane = exports.validateFieldsPane = exports.validateFiltersPane = exports.validateBookmarksPane = exports.validatePanes = exports.validateSettings = exports.validateCaptureBookmarkRequest = exports.validateApplyBookmarkStateRequest = exports.validateApplyBookmarkByNameRequest = exports.validateAddBookmarkRequest = exports.validatePlayBookmarkRequest = exports.validateSlicerState = exports.validateSlicer = exports.validateVisualSelector = exports.isIExtensionArray = exports.isIExtensions = exports.isGroupedMenuExtension = exports.isFlatMenuExtension = exports.VisualDataRoleKindPreference = exports.VisualDataRoleKind = exports.CommandDisplayOption = exports.SlicerTargetSelector = exports.VisualTypeSelector = exports.VisualSelector = exports.PageSelector = exports.Selector = exports.SortDirection = exports.LegendPosition = exports.TextAlignment = exports.CommonErrorCodes = exports.BookmarksPlayMode = exports.ExportDataType = exports.QnaMode = exports.PageNavigationPosition = exports.isColumnAggr = exports.isHierarchyLevelAggr = exports.isHierarchyLevel = exports.isColumn = exports.isMeasure = exports.getFilterType = exports.isBasicFilterWithKeys = exports.isFilterKeyColumnsTarget = exports.AdvancedFilter = exports.TupleFilter = exports.BasicFilterWithKeys = exports.BasicFilter = exports.RelativeTimeFilter = exports.RelativeDateFilter = exports.TopNFilter = exports.IncludeExcludeFilter = exports.NotSupportedFilter = exports.Filter = exports.RelativeDateOperators = exports.RelativeDateFilterTimeUnit = exports.FilterType = exports.FiltersLevel = exports.MenuLocation = exports.ContrastMode = exports.TokenType = exports.ViewMode = exports.Permissions = exports.SectionVisibility = exports.HyperlinkClickBehavior = exports.LayoutType = exports.VisualContainerDisplayMode = exports.BackgroundType = exports.DisplayOption = exports.PageSizeType = exports.TraceType = void 0; +var validator_1 = __webpack_require__(1); +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[FilterType["RelativeTime"] = 7] = "RelativeTime"; +})(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[RelativeDateFilterTimeUnit["Minutes"] = 7] = "Minutes"; + RelativeDateFilterTimeUnit[RelativeDateFilterTimeUnit["Hours"] = 8] = "Hours"; +})(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 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) { + 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, _a = _this.keyValues; _i < _a.length; _i++) { + var keyValue = _a[_i]; + if (keyValue) { + var lengthOfArray = keyValue.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 PageNavigationPosition; +(function (PageNavigationPosition) { + PageNavigationPosition[PageNavigationPosition["Bottom"] = 0] = "Bottom"; + PageNavigationPosition[PageNavigationPosition["Left"] = 1] = "Left"; +})(PageNavigationPosition = exports.PageNavigationPosition || (exports.PageNavigationPosition = {})); +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 isFlatMenuExtension(menuExtension) { + return menuExtension && !isGroupedMenuExtension(menuExtension); +} +exports.isFlatMenuExtension = isFlatMenuExtension; +function isGroupedMenuExtension(menuExtension) { + return menuExtension && !!menuExtension.groupName; +} +exports.isGroupedMenuExtension = isGroupedMenuExtension; +function isIExtensions(extensions) { + return extensions && !isIExtensionArray(extensions); +} +exports.isIExtensions = isIExtensions; +function isIExtensionArray(extensions) { + return Array.isArray(extensions); +} +exports.isIExtensionArray = isIExtensionArray; +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 = validator_1.Validators.visualSelectorValidator.validate(input); + return errors ? errors.map(normalizeError) : undefined; +} +exports.validateVisualSelector = validateVisualSelector; +function validateSlicer(input) { + var errors = validator_1.Validators.slicerValidator.validate(input); + return errors ? errors.map(normalizeError) : undefined; +} +exports.validateSlicer = validateSlicer; +function validateSlicerState(input) { + var errors = validator_1.Validators.slicerStateValidator.validate(input); + return errors ? errors.map(normalizeError) : undefined; +} +exports.validateSlicerState = validateSlicerState; +function validatePlayBookmarkRequest(input) { + var errors = validator_1.Validators.playBookmarkRequestValidator.validate(input); + return errors ? errors.map(normalizeError) : undefined; +} +exports.validatePlayBookmarkRequest = validatePlayBookmarkRequest; +function validateAddBookmarkRequest(input) { + var errors = validator_1.Validators.addBookmarkRequestValidator.validate(input); + return errors ? errors.map(normalizeError) : undefined; +} +exports.validateAddBookmarkRequest = validateAddBookmarkRequest; +function validateApplyBookmarkByNameRequest(input) { + var errors = validator_1.Validators.applyBookmarkByNameRequestValidator.validate(input); + return errors ? errors.map(normalizeError) : undefined; +} +exports.validateApplyBookmarkByNameRequest = validateApplyBookmarkByNameRequest; +function validateApplyBookmarkStateRequest(input) { + var errors = validator_1.Validators.applyBookmarkStateRequestValidator.validate(input); + return errors ? errors.map(normalizeError) : undefined; +} +exports.validateApplyBookmarkStateRequest = validateApplyBookmarkStateRequest; +function validateCaptureBookmarkRequest(input) { + var errors = validator_1.Validators.captureBookmarkRequestValidator.validate(input); + return errors ? errors.map(normalizeError) : undefined; +} +exports.validateCaptureBookmarkRequest = validateCaptureBookmarkRequest; +function validateSettings(input) { + var errors = validator_1.Validators.settingsValidator.validate(input); + return errors ? errors.map(normalizeError) : undefined; +} +exports.validateSettings = validateSettings; +function validatePanes(input) { + var errors = validator_1.Validators.reportPanesValidator.validate(input); + return errors ? errors.map(normalizeError) : undefined; +} +exports.validatePanes = validatePanes; +function validateBookmarksPane(input) { + var errors = validator_1.Validators.bookmarksPaneValidator.validate(input); + return errors ? errors.map(normalizeError) : undefined; +} +exports.validateBookmarksPane = validateBookmarksPane; +function validateFiltersPane(input) { + var errors = validator_1.Validators.filtersPaneValidator.validate(input); + return errors ? errors.map(normalizeError) : undefined; +} +exports.validateFiltersPane = validateFiltersPane; +function validateFieldsPane(input) { + var errors = validator_1.Validators.fieldsPaneValidator.validate(input); + return errors ? errors.map(normalizeError) : undefined; +} +exports.validateFieldsPane = validateFieldsPane; +function validatePageNavigationPane(input) { + var errors = validator_1.Validators.pageNavigationPaneValidator.validate(input); + return errors ? errors.map(normalizeError) : undefined; +} +exports.validatePageNavigationPane = validatePageNavigationPane; +function validateSelectionPane(input) { + var errors = validator_1.Validators.selectionPaneValidator.validate(input); + return errors ? errors.map(normalizeError) : undefined; +} +exports.validateSelectionPane = validateSelectionPane; +function validateSyncSlicersPane(input) { + var errors = validator_1.Validators.syncSlicersPaneValidator.validate(input); + return errors ? errors.map(normalizeError) : undefined; +} +exports.validateSyncSlicersPane = validateSyncSlicersPane; +function validateVisualizationsPane(input) { + var errors = validator_1.Validators.visualizationsPaneValidator.validate(input); + return errors ? errors.map(normalizeError) : undefined; +} +exports.validateVisualizationsPane = validateVisualizationsPane; +function validateCustomPageSize(input) { + var errors = validator_1.Validators.customPageSizeValidator.validate(input); + return errors ? errors.map(normalizeError) : undefined; +} +exports.validateCustomPageSize = validateCustomPageSize; +function validateExtension(input) { + var errors = validator_1.Validators.extensionValidator.validate(input); + return errors ? errors.map(normalizeError) : undefined; +} +exports.validateExtension = validateExtension; +function validateMenuGroupExtension(input) { + var errors = validator_1.Validators.menuGroupExtensionValidator.validate(input); + return errors ? errors.map(normalizeError) : undefined; +} +exports.validateMenuGroupExtension = validateMenuGroupExtension; +function validateReportLoad(input) { + var errors = validator_1.Validators.reportLoadValidator.validate(input); + return errors ? errors.map(normalizeError) : undefined; +} +exports.validateReportLoad = validateReportLoad; +function validateCreateReport(input) { + var errors = validator_1.Validators.reportCreateValidator.validate(input); + return errors ? errors.map(normalizeError) : undefined; +} +exports.validateCreateReport = validateCreateReport; +function validateDashboardLoad(input) { + var errors = validator_1.Validators.dashboardLoadValidator.validate(input); + return errors ? errors.map(normalizeError) : undefined; +} +exports.validateDashboardLoad = validateDashboardLoad; +function validateTileLoad(input) { + var errors = validator_1.Validators.tileLoadValidator.validate(input); + return errors ? errors.map(normalizeError) : undefined; +} +exports.validateTileLoad = validateTileLoad; +function validatePage(input) { + var errors = validator_1.Validators.pageValidator.validate(input); + return errors ? errors.map(normalizeError) : undefined; +} +exports.validatePage = validatePage; +function validateFilter(input) { + var errors = validator_1.Validators.filtersValidator.validate(input); + return errors ? errors.map(normalizeError) : undefined; +} +exports.validateFilter = validateFilter; +function validateSaveAsParameters(input) { + var errors = validator_1.Validators.saveAsParametersValidator.validate(input); + return errors ? errors.map(normalizeError) : undefined; +} +exports.validateSaveAsParameters = validateSaveAsParameters; +function validateLoadQnaConfiguration(input) { + var errors = validator_1.Validators.loadQnaValidator.validate(input); + return errors ? errors.map(normalizeError) : undefined; +} +exports.validateLoadQnaConfiguration = validateLoadQnaConfiguration; +function validateQnaInterpretInputData(input) { + var errors = validator_1.Validators.qnaInterpretInputDataValidator.validate(input); + return errors ? errors.map(normalizeError) : undefined; +} +exports.validateQnaInterpretInputData = validateQnaInterpretInputData; +function validateExportDataRequest(input) { + var errors = validator_1.Validators.exportDataRequestValidator.validate(input); + return errors ? errors.map(normalizeError) : undefined; +} +exports.validateExportDataRequest = validateExportDataRequest; +function validateVisualHeader(input) { + var errors = validator_1.Validators.visualHeaderValidator.validate(input); + return errors ? errors.map(normalizeError) : undefined; +} +exports.validateVisualHeader = validateVisualHeader; +function validateVisualSettings(input) { + var errors = validator_1.Validators.visualSettingsValidator.validate(input); + return errors ? errors.map(normalizeError) : undefined; +} +exports.validateVisualSettings = validateVisualSettings; +function validateCommandsSettings(input) { + var errors = validator_1.Validators.commandsSettingsValidator.validate(input); + return errors ? errors.map(normalizeError) : undefined; +} +exports.validateCommandsSettings = validateCommandsSettings; +function validateCustomTheme(input) { + var errors = validator_1.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 }); -exports.Validators = void 0; -var barsValidator_1 = __webpack_require__(2); -var bookmarkValidator_1 = __webpack_require__(5); -var commandsSettingsValidator_1 = __webpack_require__(6); -var customThemeValidator_1 = __webpack_require__(7); -var dashboardLoadValidator_1 = __webpack_require__(8); -var datasetBindingValidator_1 = __webpack_require__(9); -var exportDataValidator_1 = __webpack_require__(10); -var extensionsValidator_1 = __webpack_require__(11); -var filtersValidator_1 = __webpack_require__(12); -var layoutValidator_1 = __webpack_require__(13); -var pageValidator_1 = __webpack_require__(14); -var panesValidator_1 = __webpack_require__(15); -var qnaValidator_1 = __webpack_require__(16); -var reportCreateValidator_1 = __webpack_require__(17); -var reportLoadValidator_1 = __webpack_require__(18); -var saveAsParametersValidator_1 = __webpack_require__(19); -var selectorsValidator_1 = __webpack_require__(20); -var settingsValidator_1 = __webpack_require__(21); -var slicersValidator_1 = __webpack_require__(22); -var tileLoadValidator_1 = __webpack_require__(23); -var visualSettingsValidator_1 = __webpack_require__(24); -var anyOfValidator_1 = __webpack_require__(25); -var fieldForbiddenValidator_1 = __webpack_require__(26); -var fieldRequiredValidator_1 = __webpack_require__(27); -var mapValidator_1 = __webpack_require__(28); -var typeValidator_1 = __webpack_require__(4); -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(), new filtersValidator_1.RelativeTimeFilterValidator()]), - anyValueValidator: new anyOfValidator_1.AnyOfValidator([new typeValidator_1.StringValidator(), new typeValidator_1.NumberValidator(), new typeValidator_1.BooleanValidator()]), - actionBarValidator: new barsValidator_1.ActionBarValidator(), - 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(), - bookmarksPaneValidator: new panesValidator_1.BookmarksPaneValidator(), - captureBookmarkOptionsValidator: new bookmarkValidator_1.CaptureBookmarkOptionsValidator(), - captureBookmarkRequestValidator: new bookmarkValidator_1.CaptureBookmarkRequestValidator(), - commandDisplayOptionValidator: new typeValidator_1.EnumValidator([0, 1, 2]), - commandExtensionSelectorValidator: new anyOfValidator_1.AnyOfValidator([new selectorsValidator_1.VisualSelectorValidator(), new selectorsValidator_1.VisualTypeSelectorValidator()]), - commandExtensionArrayValidator: new typeValidator_1.ArrayValidator([new extensionsValidator_1.CommandExtensionValidator()]), - 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()]), - extensionsValidator: new anyOfValidator_1.AnyOfValidator([new typeValidator_1.ArrayValidator([new extensionsValidator_1.ExtensionValidator()]), new extensionsValidator_1.ExtensionsValidator()]), - extensionPointsValidator: new extensionsValidator_1.ExtensionPointsValidator(), - extensionValidator: new extensionsValidator_1.ExtensionValidator(), - fieldForbiddenValidator: new fieldForbiddenValidator_1.FieldForbiddenValidator(), - 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(), - 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(), new filtersValidator_1.RelativeTimeFilterValidator()])]), - 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]), - layoutTypeValidator: new typeValidator_1.EnumValidator([0, 1, 2, 3]), - loadQnaValidator: new qnaValidator_1.LoadQnaValidator(), - menuExtensionValidator: new anyOfValidator_1.AnyOfValidator([new extensionsValidator_1.FlatMenuExtensionValidator(), new extensionsValidator_1.GroupedMenuExtensionValidator()]), - menuGroupExtensionArrayValidator: new typeValidator_1.ArrayValidator([new extensionsValidator_1.MenuGroupExtensionValidator()]), - menuGroupExtensionValidator: new extensionsValidator_1.MenuGroupExtensionValidator(), - 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()]), - pageNavigationPaneValidator: new panesValidator_1.PageNavigationPaneValidator(), - pageNavigationPositionValidator: new typeValidator_1.EnumValidator([0, 1]), - 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()]), - reportBarsValidator: new barsValidator_1.ReportBarsValidator(), - 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(), - 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(), - 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()]), - 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(), - syncSlicersPaneValidator: new panesValidator_1.SyncSlicersPaneValidator(), - 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()]), - visualizationsPaneValidator: new panesValidator_1.VisualizationsPaneValidator(), - 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 }); +exports.Validators = void 0; +var barsValidator_1 = __webpack_require__(2); +var bookmarkValidator_1 = __webpack_require__(5); +var commandsSettingsValidator_1 = __webpack_require__(6); +var customThemeValidator_1 = __webpack_require__(7); +var dashboardLoadValidator_1 = __webpack_require__(8); +var datasetBindingValidator_1 = __webpack_require__(9); +var exportDataValidator_1 = __webpack_require__(10); +var extensionsValidator_1 = __webpack_require__(11); +var filtersValidator_1 = __webpack_require__(12); +var layoutValidator_1 = __webpack_require__(13); +var pageValidator_1 = __webpack_require__(14); +var panesValidator_1 = __webpack_require__(15); +var qnaValidator_1 = __webpack_require__(16); +var reportCreateValidator_1 = __webpack_require__(17); +var reportLoadValidator_1 = __webpack_require__(18); +var saveAsParametersValidator_1 = __webpack_require__(19); +var selectorsValidator_1 = __webpack_require__(20); +var settingsValidator_1 = __webpack_require__(21); +var slicersValidator_1 = __webpack_require__(22); +var tileLoadValidator_1 = __webpack_require__(23); +var visualSettingsValidator_1 = __webpack_require__(24); +var anyOfValidator_1 = __webpack_require__(25); +var fieldForbiddenValidator_1 = __webpack_require__(26); +var fieldRequiredValidator_1 = __webpack_require__(27); +var mapValidator_1 = __webpack_require__(28); +var typeValidator_1 = __webpack_require__(4); +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(), new filtersValidator_1.RelativeTimeFilterValidator()]), + anyValueValidator: new anyOfValidator_1.AnyOfValidator([new typeValidator_1.StringValidator(), new typeValidator_1.NumberValidator(), new typeValidator_1.BooleanValidator()]), + actionBarValidator: new barsValidator_1.ActionBarValidator(), + 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(), + bookmarksPaneValidator: new panesValidator_1.BookmarksPaneValidator(), + captureBookmarkOptionsValidator: new bookmarkValidator_1.CaptureBookmarkOptionsValidator(), + captureBookmarkRequestValidator: new bookmarkValidator_1.CaptureBookmarkRequestValidator(), + commandDisplayOptionValidator: new typeValidator_1.EnumValidator([0, 1, 2]), + commandExtensionSelectorValidator: new anyOfValidator_1.AnyOfValidator([new selectorsValidator_1.VisualSelectorValidator(), new selectorsValidator_1.VisualTypeSelectorValidator()]), + commandExtensionArrayValidator: new typeValidator_1.ArrayValidator([new extensionsValidator_1.CommandExtensionValidator()]), + 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()]), + extensionsValidator: new anyOfValidator_1.AnyOfValidator([new typeValidator_1.ArrayValidator([new extensionsValidator_1.ExtensionValidator()]), new extensionsValidator_1.ExtensionsValidator()]), + extensionPointsValidator: new extensionsValidator_1.ExtensionPointsValidator(), + extensionValidator: new extensionsValidator_1.ExtensionValidator(), + fieldForbiddenValidator: new fieldForbiddenValidator_1.FieldForbiddenValidator(), + 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(), + 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(), new filtersValidator_1.RelativeTimeFilterValidator()])]), + 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]), + layoutTypeValidator: new typeValidator_1.EnumValidator([0, 1, 2, 3]), + loadQnaValidator: new qnaValidator_1.LoadQnaValidator(), + menuExtensionValidator: new anyOfValidator_1.AnyOfValidator([new extensionsValidator_1.FlatMenuExtensionValidator(), new extensionsValidator_1.GroupedMenuExtensionValidator()]), + menuGroupExtensionArrayValidator: new typeValidator_1.ArrayValidator([new extensionsValidator_1.MenuGroupExtensionValidator()]), + menuGroupExtensionValidator: new extensionsValidator_1.MenuGroupExtensionValidator(), + 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()]), + pageNavigationPaneValidator: new panesValidator_1.PageNavigationPaneValidator(), + pageNavigationPositionValidator: new typeValidator_1.EnumValidator([0, 1]), + 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()]), + reportBarsValidator: new barsValidator_1.ReportBarsValidator(), + 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(), + 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(), + 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()]), + 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(), + syncSlicersPaneValidator: new panesValidator_1.SyncSlicersPaneValidator(), + 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()]), + visualizationsPaneValidator: new panesValidator_1.VisualizationsPaneValidator(), + visualLayoutValidator: new layoutValidator_1.VisualLayoutValidator(), + visualSelectorValidator: new selectorsValidator_1.VisualSelectorValidator(), + visualSettingsValidator: new visualSettingsValidator_1.VisualSettingsValidator(), + visualTypeSelectorValidator: new selectorsValidator_1.VisualTypeSelectorValidator(), +}; /***/ }), /* 2 */ /***/ (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 }); -exports.ActionBarValidator = exports.ReportBarsValidator = void 0; -var multipleFieldsValidator_1 = __webpack_require__(3); -var typeValidator_1 = __webpack_require__(4); -var validator_1 = __webpack_require__(1); -var ReportBarsValidator = /** @class */ (function (_super) { - __extends(ReportBarsValidator, _super); - function ReportBarsValidator() { - return _super !== null && _super.apply(this, arguments) || this; - } - ReportBarsValidator.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: "actionBar", - validators: [validator_1.Validators.actionBarValidator] - } - ]; - var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields); - return multipleFieldsValidator.validate(input, path, field); - }; - return ReportBarsValidator; -}(typeValidator_1.ObjectValidator)); -exports.ReportBarsValidator = ReportBarsValidator; -var ActionBarValidator = /** @class */ (function (_super) { - __extends(ActionBarValidator, _super); - function ActionBarValidator() { - return _super !== null && _super.apply(this, arguments) || this; - } - ActionBarValidator.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 ActionBarValidator; -}(typeValidator_1.ObjectValidator)); -exports.ActionBarValidator = ActionBarValidator; +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.ActionBarValidator = exports.ReportBarsValidator = void 0; +var multipleFieldsValidator_1 = __webpack_require__(3); +var typeValidator_1 = __webpack_require__(4); +var validator_1 = __webpack_require__(1); +var ReportBarsValidator = /** @class */ (function (_super) { + __extends(ReportBarsValidator, _super); + function ReportBarsValidator() { + return _super !== null && _super.apply(this, arguments) || this; + } + ReportBarsValidator.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: "actionBar", + validators: [validator_1.Validators.actionBarValidator] + } + ]; + var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields); + return multipleFieldsValidator.validate(input, path, field); + }; + return ReportBarsValidator; +}(typeValidator_1.ObjectValidator)); +exports.ReportBarsValidator = ReportBarsValidator; +var ActionBarValidator = /** @class */ (function (_super) { + __extends(ActionBarValidator, _super); + function ActionBarValidator() { + return _super !== null && _super.apply(this, arguments) || this; + } + ActionBarValidator.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 ActionBarValidator; +}(typeValidator_1.ObjectValidator)); +exports.ActionBarValidator = ActionBarValidator; /***/ }), /* 3 */ /***/ (function(module, exports) { -Object.defineProperty(exports, "__esModule", { value: true }); -exports.MultipleFieldsValidator = void 0; -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 }); +exports.MultipleFieldsValidator = void 0; +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; /***/ }), /* 4 */ /***/ (function(module, exports) { -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.NumberArrayValidator = exports.BooleanArrayValidator = exports.StringArrayValidator = exports.EnumValidator = exports.SchemaValidator = exports.ValueValidator = exports.NumberValidator = exports.BooleanValidator = exports.StringValidator = exports.TypeValidator = exports.ArrayValidator = exports.ObjectValidator = void 0; -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 }); +exports.NumberArrayValidator = exports.BooleanArrayValidator = exports.StringArrayValidator = exports.EnumValidator = exports.SchemaValidator = exports.ValueValidator = exports.NumberValidator = exports.BooleanValidator = exports.StringValidator = exports.TypeValidator = exports.ArrayValidator = exports.ObjectValidator = void 0; +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; /***/ }), /* 5 */ /***/ (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 }); -exports.CaptureBookmarkRequestValidator = exports.CaptureBookmarkOptionsValidator = exports.ApplyBookmarkStateRequestValidator = exports.ApplyBookmarkByNameRequestValidator = exports.AddBookmarkRequestValidator = exports.PlayBookmarkRequestValidator = void 0; -var multipleFieldsValidator_1 = __webpack_require__(3); -var typeValidator_1 = __webpack_require__(4); -var validator_1 = __webpack_require__(1); -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 CaptureBookmarkOptionsValidator = /** @class */ (function (_super) { - __extends(CaptureBookmarkOptionsValidator, _super); - function CaptureBookmarkOptionsValidator() { - return _super !== null && _super.apply(this, arguments) || this; - } - CaptureBookmarkOptionsValidator.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: "personalizeVisuals", - validators: [validator_1.Validators.booleanValidator] - } - ]; - var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields); - return multipleFieldsValidator.validate(input, path, field); - }; - return CaptureBookmarkOptionsValidator; -}(typeValidator_1.ObjectValidator)); -exports.CaptureBookmarkOptionsValidator = CaptureBookmarkOptionsValidator; -var CaptureBookmarkRequestValidator = /** @class */ (function (_super) { - __extends(CaptureBookmarkRequestValidator, _super); - function CaptureBookmarkRequestValidator() { - return _super !== null && _super.apply(this, arguments) || this; - } - CaptureBookmarkRequestValidator.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: "options", - validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.captureBookmarkOptionsValidator] - } - ]; - var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields); - return multipleFieldsValidator.validate(input, path, field); - }; - return CaptureBookmarkRequestValidator; -}(typeValidator_1.ObjectValidator)); -exports.CaptureBookmarkRequestValidator = CaptureBookmarkRequestValidator; +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.CaptureBookmarkRequestValidator = exports.CaptureBookmarkOptionsValidator = exports.ApplyBookmarkStateRequestValidator = exports.ApplyBookmarkByNameRequestValidator = exports.AddBookmarkRequestValidator = exports.PlayBookmarkRequestValidator = void 0; +var multipleFieldsValidator_1 = __webpack_require__(3); +var typeValidator_1 = __webpack_require__(4); +var validator_1 = __webpack_require__(1); +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 CaptureBookmarkOptionsValidator = /** @class */ (function (_super) { + __extends(CaptureBookmarkOptionsValidator, _super); + function CaptureBookmarkOptionsValidator() { + return _super !== null && _super.apply(this, arguments) || this; + } + CaptureBookmarkOptionsValidator.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: "personalizeVisuals", + validators: [validator_1.Validators.booleanValidator] + } + ]; + var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields); + return multipleFieldsValidator.validate(input, path, field); + }; + return CaptureBookmarkOptionsValidator; +}(typeValidator_1.ObjectValidator)); +exports.CaptureBookmarkOptionsValidator = CaptureBookmarkOptionsValidator; +var CaptureBookmarkRequestValidator = /** @class */ (function (_super) { + __extends(CaptureBookmarkRequestValidator, _super); + function CaptureBookmarkRequestValidator() { + return _super !== null && _super.apply(this, arguments) || this; + } + CaptureBookmarkRequestValidator.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: "options", + validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.captureBookmarkOptionsValidator] + } + ]; + var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields); + return multipleFieldsValidator.validate(input, path, field); + }; + return CaptureBookmarkRequestValidator; +}(typeValidator_1.ObjectValidator)); +exports.CaptureBookmarkRequestValidator = CaptureBookmarkRequestValidator; /***/ }), /* 6 */ /***/ (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 }); -exports.SingleCommandSettingsValidator = exports.CommandsSettingsValidator = void 0; -var multipleFieldsValidator_1 = __webpack_require__(3); -var typeValidator_1 = __webpack_require__(4); -var validator_1 = __webpack_require__(1); -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 }); +exports.SingleCommandSettingsValidator = exports.CommandsSettingsValidator = void 0; +var multipleFieldsValidator_1 = __webpack_require__(3); +var typeValidator_1 = __webpack_require__(4); +var validator_1 = __webpack_require__(1); +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; /***/ }), /* 7 */ /***/ (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 }); -exports.CustomThemeValidator = void 0; -var multipleFieldsValidator_1 = __webpack_require__(3); -var typeValidator_1 = __webpack_require__(4); -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 }); +exports.CustomThemeValidator = void 0; +var multipleFieldsValidator_1 = __webpack_require__(3); +var typeValidator_1 = __webpack_require__(4); +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; /***/ }), /* 8 */ /***/ (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 }); -exports.DashboardLoadValidator = void 0; -var multipleFieldsValidator_1 = __webpack_require__(3); -var typeValidator_1 = __webpack_require__(4); -var validator_1 = __webpack_require__(1); -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 }); +exports.DashboardLoadValidator = void 0; +var multipleFieldsValidator_1 = __webpack_require__(3); +var typeValidator_1 = __webpack_require__(4); +var validator_1 = __webpack_require__(1); +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; /***/ }), /* 9 */ /***/ (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 }); -exports.DatasetBindingValidator = void 0; -var multipleFieldsValidator_1 = __webpack_require__(3); -var typeValidator_1 = __webpack_require__(4); -var validator_1 = __webpack_require__(1); -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 }); +exports.DatasetBindingValidator = void 0; +var multipleFieldsValidator_1 = __webpack_require__(3); +var typeValidator_1 = __webpack_require__(4); +var validator_1 = __webpack_require__(1); +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; /***/ }), /* 10 */ /***/ (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 }); -exports.ExportDataRequestValidator = void 0; -var multipleFieldsValidator_1 = __webpack_require__(3); -var typeValidator_1 = __webpack_require__(4); -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 }); +exports.ExportDataRequestValidator = void 0; +var multipleFieldsValidator_1 = __webpack_require__(3); +var typeValidator_1 = __webpack_require__(4); +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; /***/ }), /* 11 */ /***/ (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 }); -exports.ExtensionsValidator = exports.MenuGroupExtensionValidator = exports.ExtensionValidator = exports.CommandExtensionValidator = exports.ExtensionItemValidator = exports.ExtensionPointsValidator = exports.GroupedMenuExtensionValidator = exports.FlatMenuExtensionValidator = exports.MenuExtensionBaseValidator = void 0; -var multipleFieldsValidator_1 = __webpack_require__(3); -var typeValidator_1 = __webpack_require__(4); -var validator_1 = __webpack_require__(1); -var MenuExtensionBaseValidator = /** @class */ (function (_super) { - __extends(MenuExtensionBaseValidator, _super); - function MenuExtensionBaseValidator() { - return _super !== null && _super.apply(this, arguments) || this; - } - MenuExtensionBaseValidator.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] - } - ]; - var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields); - return multipleFieldsValidator.validate(input, path, field); - }; - return MenuExtensionBaseValidator; -}(typeValidator_1.ObjectValidator)); -exports.MenuExtensionBaseValidator = MenuExtensionBaseValidator; -var FlatMenuExtensionValidator = /** @class */ (function (_super) { - __extends(FlatMenuExtensionValidator, _super); - function FlatMenuExtensionValidator() { - return _super !== null && _super.apply(this, arguments) || this; - } - FlatMenuExtensionValidator.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: "menuLocation", - validators: [validator_1.Validators.menuLocationValidator] - }, - { - field: "groupName", - validators: [validator_1.Validators.fieldForbiddenValidator] - }, - ]; - var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields); - return multipleFieldsValidator.validate(input, path, field); - }; - return FlatMenuExtensionValidator; -}(MenuExtensionBaseValidator)); -exports.FlatMenuExtensionValidator = FlatMenuExtensionValidator; -var GroupedMenuExtensionValidator = /** @class */ (function (_super) { - __extends(GroupedMenuExtensionValidator, _super); - function GroupedMenuExtensionValidator() { - return _super !== null && _super.apply(this, arguments) || this; - } - GroupedMenuExtensionValidator.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: "groupName", - validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.stringValidator] - }, - { - field: "menuLocation", - validators: [validator_1.Validators.fieldForbiddenValidator] - }, - ]; - var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields); - return multipleFieldsValidator.validate(input, path, field); - }; - return GroupedMenuExtensionValidator; -}(MenuExtensionBaseValidator)); -exports.GroupedMenuExtensionValidator = GroupedMenuExtensionValidator; -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 MenuGroupExtensionValidator = /** @class */ (function (_super) { - __extends(MenuGroupExtensionValidator, _super); - function MenuGroupExtensionValidator() { - return _super !== null && _super.apply(this, arguments) || this; - } - MenuGroupExtensionValidator.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: "title", - validators: [validator_1.Validators.fieldRequiredValidator, 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 MenuGroupExtensionValidator; -}(typeValidator_1.ObjectValidator)); -exports.MenuGroupExtensionValidator = MenuGroupExtensionValidator; -var ExtensionsValidator = /** @class */ (function (_super) { - __extends(ExtensionsValidator, _super); - function ExtensionsValidator() { - return _super !== null && _super.apply(this, arguments) || this; - } - ExtensionsValidator.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: "commands", - validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.commandExtensionArrayValidator] - }, - { - field: "groups", - validators: [validator_1.Validators.menuGroupExtensionArrayValidator] - } - ]; - var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields); - return multipleFieldsValidator.validate(input, path, field); - }; - return ExtensionsValidator; -}(typeValidator_1.ObjectValidator)); -exports.ExtensionsValidator = ExtensionsValidator; +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.ExtensionsValidator = exports.MenuGroupExtensionValidator = exports.ExtensionValidator = exports.CommandExtensionValidator = exports.ExtensionItemValidator = exports.ExtensionPointsValidator = exports.GroupedMenuExtensionValidator = exports.FlatMenuExtensionValidator = exports.MenuExtensionBaseValidator = void 0; +var multipleFieldsValidator_1 = __webpack_require__(3); +var typeValidator_1 = __webpack_require__(4); +var validator_1 = __webpack_require__(1); +var MenuExtensionBaseValidator = /** @class */ (function (_super) { + __extends(MenuExtensionBaseValidator, _super); + function MenuExtensionBaseValidator() { + return _super !== null && _super.apply(this, arguments) || this; + } + MenuExtensionBaseValidator.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] + } + ]; + var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields); + return multipleFieldsValidator.validate(input, path, field); + }; + return MenuExtensionBaseValidator; +}(typeValidator_1.ObjectValidator)); +exports.MenuExtensionBaseValidator = MenuExtensionBaseValidator; +var FlatMenuExtensionValidator = /** @class */ (function (_super) { + __extends(FlatMenuExtensionValidator, _super); + function FlatMenuExtensionValidator() { + return _super !== null && _super.apply(this, arguments) || this; + } + FlatMenuExtensionValidator.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: "menuLocation", + validators: [validator_1.Validators.menuLocationValidator] + }, + { + field: "groupName", + validators: [validator_1.Validators.fieldForbiddenValidator] + }, + ]; + var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields); + return multipleFieldsValidator.validate(input, path, field); + }; + return FlatMenuExtensionValidator; +}(MenuExtensionBaseValidator)); +exports.FlatMenuExtensionValidator = FlatMenuExtensionValidator; +var GroupedMenuExtensionValidator = /** @class */ (function (_super) { + __extends(GroupedMenuExtensionValidator, _super); + function GroupedMenuExtensionValidator() { + return _super !== null && _super.apply(this, arguments) || this; + } + GroupedMenuExtensionValidator.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: "groupName", + validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.stringValidator] + }, + { + field: "menuLocation", + validators: [validator_1.Validators.fieldForbiddenValidator] + }, + ]; + var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields); + return multipleFieldsValidator.validate(input, path, field); + }; + return GroupedMenuExtensionValidator; +}(MenuExtensionBaseValidator)); +exports.GroupedMenuExtensionValidator = GroupedMenuExtensionValidator; +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 MenuGroupExtensionValidator = /** @class */ (function (_super) { + __extends(MenuGroupExtensionValidator, _super); + function MenuGroupExtensionValidator() { + return _super !== null && _super.apply(this, arguments) || this; + } + MenuGroupExtensionValidator.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: "title", + validators: [validator_1.Validators.fieldRequiredValidator, 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 MenuGroupExtensionValidator; +}(typeValidator_1.ObjectValidator)); +exports.MenuGroupExtensionValidator = MenuGroupExtensionValidator; +var ExtensionsValidator = /** @class */ (function (_super) { + __extends(ExtensionsValidator, _super); + function ExtensionsValidator() { + return _super !== null && _super.apply(this, arguments) || this; + } + ExtensionsValidator.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: "commands", + validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.commandExtensionArrayValidator] + }, + { + field: "groups", + validators: [validator_1.Validators.menuGroupExtensionArrayValidator] + } + ]; + var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields); + return multipleFieldsValidator.validate(input, path, field); + }; + return ExtensionsValidator; +}(typeValidator_1.ObjectValidator)); +exports.ExtensionsValidator = ExtensionsValidator; /***/ }), /* 12 */ /***/ (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 }); -exports.ConditionItemValidator = exports.FilterValidator = exports.IncludeExcludeFilterValidator = exports.NotSupportedFilterValidator = exports.TopNFilterValidator = exports.RelativeTimeFilterValidator = exports.RelativeDateFilterValidator = exports.AdvancedFilterValidator = exports.BasicFilterValidator = exports.FilterMeasureTargetValidator = exports.FilterKeyHierarchyTargetValidator = exports.FilterHierarchyTargetValidator = exports.FilterKeyColumnsTargetValidator = exports.FilterColumnTargetValidator = void 0; -var multipleFieldsValidator_1 = __webpack_require__(3); -var typeValidator_1 = __webpack_require__(4); -var validator_1 = __webpack_require__(1); -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 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() { - 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 }); +exports.ConditionItemValidator = exports.FilterValidator = exports.IncludeExcludeFilterValidator = exports.NotSupportedFilterValidator = exports.TopNFilterValidator = exports.RelativeTimeFilterValidator = exports.RelativeDateFilterValidator = exports.AdvancedFilterValidator = exports.BasicFilterValidator = exports.FilterMeasureTargetValidator = exports.FilterKeyHierarchyTargetValidator = exports.FilterHierarchyTargetValidator = exports.FilterKeyColumnsTargetValidator = exports.FilterColumnTargetValidator = void 0; +var multipleFieldsValidator_1 = __webpack_require__(3); +var typeValidator_1 = __webpack_require__(4); +var validator_1 = __webpack_require__(1); +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 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() { + 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; /***/ }), /* 13 */ /***/ (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 }); -exports.PageLayoutValidator = exports.DisplayStateValidator = exports.VisualLayoutValidator = exports.CustomLayoutValidator = void 0; -var multipleFieldsValidator_1 = __webpack_require__(3); -var typeValidator_1 = __webpack_require__(4); -var validator_1 = __webpack_require__(1); -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 }); +exports.PageLayoutValidator = exports.DisplayStateValidator = exports.VisualLayoutValidator = exports.CustomLayoutValidator = void 0; +var multipleFieldsValidator_1 = __webpack_require__(3); +var typeValidator_1 = __webpack_require__(4); +var validator_1 = __webpack_require__(1); +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; /***/ }), /* 14 */ /***/ (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 }); -exports.PageViewFieldValidator = exports.PageValidator = exports.CustomPageSizeValidator = exports.PageSizeValidator = void 0; -var multipleFieldsValidator_1 = __webpack_require__(3); -var typeValidator_1 = __webpack_require__(4); -var validator_1 = __webpack_require__(1); -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 }); +exports.PageViewFieldValidator = exports.PageValidator = exports.CustomPageSizeValidator = exports.PageSizeValidator = void 0; +var multipleFieldsValidator_1 = __webpack_require__(3); +var typeValidator_1 = __webpack_require__(4); +var validator_1 = __webpack_require__(1); +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 = 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.VisualizationsPaneValidator = exports.SyncSlicersPaneValidator = exports.SelectionPaneValidator = exports.PageNavigationPaneValidator = exports.FiltersPaneValidator = exports.FieldsPaneValidator = exports.BookmarksPaneValidator = exports.ReportPanesValidator = void 0; -var multipleFieldsValidator_1 = __webpack_require__(3); -var typeValidator_1 = __webpack_require__(4); -var validator_1 = __webpack_require__(1); -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] - }, - { - field: "position", - validators: [validator_1.Validators.pageNavigationPositionValidator] - }, - ]; - 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; +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.VisualizationsPaneValidator = exports.SyncSlicersPaneValidator = exports.SelectionPaneValidator = exports.PageNavigationPaneValidator = exports.FiltersPaneValidator = exports.FieldsPaneValidator = exports.BookmarksPaneValidator = exports.ReportPanesValidator = void 0; +var multipleFieldsValidator_1 = __webpack_require__(3); +var typeValidator_1 = __webpack_require__(4); +var validator_1 = __webpack_require__(1); +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] + }, + { + field: "position", + validators: [validator_1.Validators.pageNavigationPositionValidator] + }, + ]; + 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; /***/ }), /* 16 */ /***/ (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 }); -exports.QnaInterpretInputDataValidator = exports.QnaSettingsValidator = exports.LoadQnaValidator = void 0; -var multipleFieldsValidator_1 = __webpack_require__(3); -var typeValidator_1 = __webpack_require__(4); -var validator_1 = __webpack_require__(1); -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 }); +exports.QnaInterpretInputDataValidator = exports.QnaSettingsValidator = exports.LoadQnaValidator = void 0; +var multipleFieldsValidator_1 = __webpack_require__(3); +var typeValidator_1 = __webpack_require__(4); +var validator_1 = __webpack_require__(1); +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; /***/ }), /* 17 */ /***/ (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 }); -exports.ReportCreateValidator = void 0; -var multipleFieldsValidator_1 = __webpack_require__(3); -var typeValidator_1 = __webpack_require__(4); -var validator_1 = __webpack_require__(1); -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 }); +exports.ReportCreateValidator = void 0; +var multipleFieldsValidator_1 = __webpack_require__(3); +var typeValidator_1 = __webpack_require__(4); +var validator_1 = __webpack_require__(1); +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; /***/ }), /* 18 */ /***/ (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 }); -exports.ReportLoadValidator = void 0; -var multipleFieldsValidator_1 = __webpack_require__(3); -var typeValidator_1 = __webpack_require__(4); -var validator_1 = __webpack_require__(1); -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 }); +exports.ReportLoadValidator = void 0; +var multipleFieldsValidator_1 = __webpack_require__(3); +var typeValidator_1 = __webpack_require__(4); +var validator_1 = __webpack_require__(1); +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; /***/ }), /* 19 */ /***/ (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 }); -exports.SaveAsParametersValidator = void 0; -var multipleFieldsValidator_1 = __webpack_require__(3); -var typeValidator_1 = __webpack_require__(4); -var validator_1 = __webpack_require__(1); -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 }); +exports.SaveAsParametersValidator = void 0; +var multipleFieldsValidator_1 = __webpack_require__(3); +var typeValidator_1 = __webpack_require__(4); +var validator_1 = __webpack_require__(1); +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; /***/ }), /* 20 */ /***/ (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 }); -exports.SlicerTargetSelectorValidator = exports.VisualTypeSelectorValidator = exports.VisualSelectorValidator = void 0; -var multipleFieldsValidator_1 = __webpack_require__(3); -var typeValidator_1 = __webpack_require__(4); -var typeValidator_2 = __webpack_require__(4); -var validator_1 = __webpack_require__(1); -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 }); +exports.SlicerTargetSelectorValidator = exports.VisualTypeSelectorValidator = exports.VisualSelectorValidator = void 0; +var multipleFieldsValidator_1 = __webpack_require__(3); +var typeValidator_1 = __webpack_require__(4); +var typeValidator_2 = __webpack_require__(4); +var validator_1 = __webpack_require__(1); +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 = 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.SettingsValidator = void 0; -var multipleFieldsValidator_1 = __webpack_require__(3); -var typeValidator_1 = __webpack_require__(4); -var validator_1 = __webpack_require__(1); -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.extensionsValidator] - }, - { - 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] - }, - { - field: "bars", - validators: [validator_1.Validators.reportBarsValidator] - }, - { - field: "panes", - validators: [validator_1.Validators.reportPanesValidator] - }, - { - field: "personalBookmarksEnabled", - validators: [validator_1.Validators.booleanValidator] - }, - { - field: "persistentFiltersEnabled", - validators: [validator_1.Validators.booleanValidator] - }, - { - field: "visualRenderedEvents", - validators: [validator_1.Validators.booleanValidator] - }, - { - field: "authoringHintsEnabled", - validators: [validator_1.Validators.booleanValidator] - } - ]; - 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 }); +exports.SettingsValidator = void 0; +var multipleFieldsValidator_1 = __webpack_require__(3); +var typeValidator_1 = __webpack_require__(4); +var validator_1 = __webpack_require__(1); +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.extensionsValidator] + }, + { + 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] + }, + { + field: "bars", + validators: [validator_1.Validators.reportBarsValidator] + }, + { + field: "panes", + validators: [validator_1.Validators.reportPanesValidator] + }, + { + field: "personalBookmarksEnabled", + validators: [validator_1.Validators.booleanValidator] + }, + { + field: "persistentFiltersEnabled", + validators: [validator_1.Validators.booleanValidator] + }, + { + field: "visualRenderedEvents", + validators: [validator_1.Validators.booleanValidator] + }, + { + field: "authoringHintsEnabled", + validators: [validator_1.Validators.booleanValidator] + } + ]; + var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields); + return multipleFieldsValidator.validate(input, path, field); + }; + return SettingsValidator; +}(typeValidator_1.ObjectValidator)); +exports.SettingsValidator = SettingsValidator; /***/ }), /* 22 */ /***/ (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 }); -exports.SlicerStateValidator = exports.SlicerValidator = void 0; -var multipleFieldsValidator_1 = __webpack_require__(3); -var typeValidator_1 = __webpack_require__(4); -var validator_1 = __webpack_require__(1); -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 }); +exports.SlicerStateValidator = exports.SlicerValidator = void 0; +var multipleFieldsValidator_1 = __webpack_require__(3); +var typeValidator_1 = __webpack_require__(4); +var validator_1 = __webpack_require__(1); +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; /***/ }), /* 23 */ /***/ (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 }); -exports.TileLoadValidator = void 0; -var multipleFieldsValidator_1 = __webpack_require__(3); -var typeValidator_1 = __webpack_require__(4); -var validator_1 = __webpack_require__(1); -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 }); +exports.TileLoadValidator = void 0; +var multipleFieldsValidator_1 = __webpack_require__(3); +var typeValidator_1 = __webpack_require__(4); +var validator_1 = __webpack_require__(1); +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; /***/ }), /* 24 */ /***/ (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 }); -exports.VisualHeaderValidator = exports.VisualHeaderSettingsValidator = exports.VisualSettingsValidator = void 0; -var multipleFieldsValidator_1 = __webpack_require__(3); -var typeValidator_1 = __webpack_require__(4); -var validator_1 = __webpack_require__(1); -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 }); +exports.VisualHeaderValidator = exports.VisualHeaderSettingsValidator = exports.VisualSettingsValidator = void 0; +var multipleFieldsValidator_1 = __webpack_require__(3); +var typeValidator_1 = __webpack_require__(4); +var validator_1 = __webpack_require__(1); +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; /***/ }), /* 25 */ /***/ (function(module, exports) { -Object.defineProperty(exports, "__esModule", { value: true }); -exports.AnyOfValidator = void 0; -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 }); +exports.AnyOfValidator = void 0; +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; /***/ }), /* 26 */ /***/ (function(module, exports) { -Object.defineProperty(exports, "__esModule", { value: true }); -exports.FieldForbiddenValidator = void 0; -var FieldForbiddenValidator = /** @class */ (function () { - function FieldForbiddenValidator() { - } - FieldForbiddenValidator.prototype.validate = function (input, path, field) { - if (input !== undefined) { - return [{ - message: field + " is forbidden", - path: (path ? path + "." : "") + field, - keyword: "forbidden" - }]; - } - return null; - }; - return FieldForbiddenValidator; -}()); -exports.FieldForbiddenValidator = FieldForbiddenValidator; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.FieldForbiddenValidator = void 0; +var FieldForbiddenValidator = /** @class */ (function () { + function FieldForbiddenValidator() { + } + FieldForbiddenValidator.prototype.validate = function (input, path, field) { + if (input !== undefined) { + return [{ + message: field + " is forbidden", + path: (path ? path + "." : "") + field, + keyword: "forbidden" + }]; + } + return null; + }; + return FieldForbiddenValidator; +}()); +exports.FieldForbiddenValidator = FieldForbiddenValidator; /***/ }), /* 27 */ /***/ (function(module, exports) { -Object.defineProperty(exports, "__esModule", { value: true }); -exports.FieldRequiredValidator = void 0; -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 }); +exports.FieldRequiredValidator = void 0; +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; /***/ }), /* 28 */ /***/ (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 }); -exports.MapValidator = void 0; -var typeValidator_1 = __webpack_require__(4); -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 }); +exports.MapValidator = void 0; +var typeValidator_1 = __webpack_require__(4); +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; /***/ }) @@ -5273,23 +5273,23 @@ return /******/ (function(modules) { // webpackBootstrap /* 2 */ /***/ function(module, exports) { - module.exports = function(module) { - if(!module.webpackPolyfill) { - module.deprecate = function() {}; - module.paths = []; - // module.parent = undefined by default - module.children = []; - module.webpackPolyfill = 1; - } - return module; - } + module.exports = function(module) { + if(!module.webpackPolyfill) { + module.deprecate = function() {}; + module.paths = []; + // module.parent = undefined by default + module.children = []; + module.webpackPolyfill = 1; + } + return module; + } /***/ }, /* 3 */ /***/ function(module, exports) { - module.exports = function() { throw new Error("define cannot be used indirect"); }; + module.exports = function() { throw new Error("define cannot be used indirect"); }; /***/ } @@ -5359,241 +5359,241 @@ return /******/ (function(modules) { // webpackBootstrap /* 0 */ /***/ (function(module, exports) { - "use strict"; - var WindowPostMessageProxy = (function () { - function WindowPostMessageProxy(options) { - var _this = this; - if (options === void 0) { options = { - processTrackingProperties: { - addTrackingProperties: WindowPostMessageProxy.defaultAddTrackingProperties, - getTrackingProperties: WindowPostMessageProxy.defaultGetTrackingProperties - }, - isErrorMessage: WindowPostMessageProxy.defaultIsErrorMessage, - receiveWindow: window, - name: WindowPostMessageProxy.createRandomString() - }; } - this.pendingRequestPromises = {}; - // save options with defaults - this.addTrackingProperties = (options.processTrackingProperties && options.processTrackingProperties.addTrackingProperties) || WindowPostMessageProxy.defaultAddTrackingProperties; - this.getTrackingProperties = (options.processTrackingProperties && options.processTrackingProperties.getTrackingProperties) || WindowPostMessageProxy.defaultGetTrackingProperties; - this.isErrorMessage = options.isErrorMessage || WindowPostMessageProxy.defaultIsErrorMessage; - this.receiveWindow = options.receiveWindow || window; - this.name = options.name || WindowPostMessageProxy.createRandomString(); - this.logMessages = options.logMessages || false; - this.eventSourceOverrideWindow = options.eventSourceOverrideWindow; - this.suppressWarnings = options.suppressWarnings || false; - if (this.logMessages) { - console.log("new WindowPostMessageProxy created with name: " + this.name + " receiving on window: " + this.receiveWindow.document.title); - } - // Initialize - this.handlers = []; - this.windowMessageHandler = function (event) { return _this.onMessageReceived(event); }; - this.start(); - } - // Static - WindowPostMessageProxy.defaultAddTrackingProperties = function (message, trackingProperties) { - message[WindowPostMessageProxy.messagePropertyName] = trackingProperties; - return message; - }; - WindowPostMessageProxy.defaultGetTrackingProperties = function (message) { - return message[WindowPostMessageProxy.messagePropertyName]; - }; - WindowPostMessageProxy.defaultIsErrorMessage = function (message) { - return !!message.error; - }; - /** - * Utility to create a deferred object. - */ - // TODO: Look to use RSVP library instead of doing this manually. - // From what I searched RSVP would work better because it has .finally and .deferred; however, it doesn't have Typings information. - WindowPostMessageProxy.createDeferred = function () { - var deferred = { - resolve: null, - reject: null, - promise: null - }; - var promise = new Promise(function (resolve, reject) { - deferred.resolve = resolve; - deferred.reject = reject; - }); - deferred.promise = promise; - return deferred; - }; - /** - * Utility to generate random sequence of characters used as tracking id for promises. - */ - WindowPostMessageProxy.createRandomString = function () { - // window.msCrypto for IE - var cryptoObj = window.crypto || window.msCrypto; - var randomValueArray = new Uint32Array(1); - cryptoObj.getRandomValues(randomValueArray); - return randomValueArray[0].toString(36).substring(1); - }; - /** - * Adds handler. - * If the first handler whose test method returns true will handle the message and provide a response. - */ - WindowPostMessageProxy.prototype.addHandler = function (handler) { - this.handlers.push(handler); - }; - /** - * Removes handler. - * The reference must match the original object that was provided when adding the handler. - */ - WindowPostMessageProxy.prototype.removeHandler = function (handler) { - var handlerIndex = this.handlers.indexOf(handler); - if (handlerIndex === -1) { - throw new Error("You attempted to remove a handler but no matching handler was found."); - } - this.handlers.splice(handlerIndex, 1); - }; - /** - * Start listening to message events. - */ - WindowPostMessageProxy.prototype.start = function () { - this.receiveWindow.addEventListener('message', this.windowMessageHandler); - }; - /** - * Stops listening to message events. - */ - WindowPostMessageProxy.prototype.stop = function () { - this.receiveWindow.removeEventListener('message', this.windowMessageHandler); - }; - /** - * Post message to target window with tracking properties added and save deferred object referenced by tracking id. - */ - WindowPostMessageProxy.prototype.postMessage = function (targetWindow, message) { - // Add tracking properties to indicate message came from this proxy - var trackingProperties = { id: WindowPostMessageProxy.createRandomString() }; - this.addTrackingProperties(message, trackingProperties); - if (this.logMessages) { - console.log(this.name + " Posting message:"); - console.log(JSON.stringify(message, null, ' ')); - } - targetWindow.postMessage(message, "*"); - var deferred = WindowPostMessageProxy.createDeferred(); - this.pendingRequestPromises[trackingProperties.id] = deferred; - return deferred.promise; - }; - /** - * Send response message to target window. - * Response messages re-use tracking properties from a previous request message. - */ - WindowPostMessageProxy.prototype.sendResponse = function (targetWindow, message, trackingProperties) { - this.addTrackingProperties(message, trackingProperties); - if (this.logMessages) { - console.log(this.name + " Sending response:"); - console.log(JSON.stringify(message, null, ' ')); - } - targetWindow.postMessage(message, "*"); - }; - /** - * Message handler. - */ - WindowPostMessageProxy.prototype.onMessageReceived = function (event) { - var _this = this; - if (this.logMessages) { - console.log(this.name + " Received message:"); - console.log("type: " + event.type); - console.log(JSON.stringify(event.data, null, ' ')); - } - var sendingWindow = this.eventSourceOverrideWindow || event.source; - var message = event.data; - if (typeof message !== "object") { - if (!this.suppressWarnings) { - console.warn("Proxy(" + this.name + "): Received message that was not an object. Discarding message"); - } - return; - } - var trackingProperties; - try { - trackingProperties = this.getTrackingProperties(message); - } - catch (e) { - if (!this.suppressWarnings) { - console.warn("Proxy(" + this.name + "): Error occurred when attempting to get tracking properties from incoming message:", JSON.stringify(message, null, ' '), "Error: ", e); - } - } - var deferred; - if (trackingProperties) { - deferred = this.pendingRequestPromises[trackingProperties.id]; - } - // If message does not have a known ID, treat it as a request - // Otherwise, treat message as response - if (!deferred) { - var handled = this.handlers.some(function (handler) { - var canMessageBeHandled = false; - try { - canMessageBeHandled = handler.test(message); - } - catch (e) { - if (!_this.suppressWarnings) { - console.warn("Proxy(" + _this.name + "): Error occurred when handler was testing incoming message:", JSON.stringify(message, null, ' '), "Error: ", e); - } - } - if (canMessageBeHandled) { - var responseMessagePromise = void 0; - try { - responseMessagePromise = Promise.resolve(handler.handle(message)); - } - catch (e) { - if (!_this.suppressWarnings) { - console.warn("Proxy(" + _this.name + "): Error occurred when handler was processing incoming message:", JSON.stringify(message, null, ' '), "Error: ", e); - } - responseMessagePromise = Promise.resolve(); - } - responseMessagePromise - .then(function (responseMessage) { - if (!responseMessage) { - var warningMessage = "Handler for message: " + JSON.stringify(message, null, ' ') + " did not return a response message. The default response message will be returned instead."; - if (!_this.suppressWarnings) { - console.warn("Proxy(" + _this.name + "): " + warningMessage); - } - responseMessage = { - warning: warningMessage - }; - } - _this.sendResponse(sendingWindow, responseMessage, trackingProperties); - }); - return true; - } - }); - /** - * TODO: Consider returning an error message if nothing handled the message. - * In the case of the Report receiving messages all of them should be handled, - * however, in the case of the SDK receiving messages it's likely it won't register handlers - * for all events. Perhaps make this an option at construction time. - */ - if (!handled && !this.suppressWarnings) { - console.warn("Proxy(" + this.name + ") did not handle message. Handlers: " + this.handlers.length + " Message: " + JSON.stringify(message, null, '') + "."); - } - } - else { - /** - * If error message reject promise, - * Otherwise, resolve promise - */ - var isErrorMessage = true; - try { - isErrorMessage = this.isErrorMessage(message); - } - catch (e) { - console.warn("Proxy(" + this.name + ") Error occurred when trying to determine if message is consider an error response. Message: ", JSON.stringify(message, null, ''), 'Error: ', e); - } - if (isErrorMessage) { - deferred.reject(message); - } - else { - deferred.resolve(message); - } - // TODO: Move to .finally clause up where promise is created for better maitenance like original proxy code. - delete this.pendingRequestPromises[trackingProperties.id]; - } - }; - WindowPostMessageProxy.messagePropertyName = "windowPostMessageProxy"; - return WindowPostMessageProxy; - }()); - exports.WindowPostMessageProxy = WindowPostMessageProxy; + "use strict"; + var WindowPostMessageProxy = (function () { + function WindowPostMessageProxy(options) { + var _this = this; + if (options === void 0) { options = { + processTrackingProperties: { + addTrackingProperties: WindowPostMessageProxy.defaultAddTrackingProperties, + getTrackingProperties: WindowPostMessageProxy.defaultGetTrackingProperties + }, + isErrorMessage: WindowPostMessageProxy.defaultIsErrorMessage, + receiveWindow: window, + name: WindowPostMessageProxy.createRandomString() + }; } + this.pendingRequestPromises = {}; + // save options with defaults + this.addTrackingProperties = (options.processTrackingProperties && options.processTrackingProperties.addTrackingProperties) || WindowPostMessageProxy.defaultAddTrackingProperties; + this.getTrackingProperties = (options.processTrackingProperties && options.processTrackingProperties.getTrackingProperties) || WindowPostMessageProxy.defaultGetTrackingProperties; + this.isErrorMessage = options.isErrorMessage || WindowPostMessageProxy.defaultIsErrorMessage; + this.receiveWindow = options.receiveWindow || window; + this.name = options.name || WindowPostMessageProxy.createRandomString(); + this.logMessages = options.logMessages || false; + this.eventSourceOverrideWindow = options.eventSourceOverrideWindow; + this.suppressWarnings = options.suppressWarnings || false; + if (this.logMessages) { + console.log("new WindowPostMessageProxy created with name: " + this.name + " receiving on window: " + this.receiveWindow.document.title); + } + // Initialize + this.handlers = []; + this.windowMessageHandler = function (event) { return _this.onMessageReceived(event); }; + this.start(); + } + // Static + WindowPostMessageProxy.defaultAddTrackingProperties = function (message, trackingProperties) { + message[WindowPostMessageProxy.messagePropertyName] = trackingProperties; + return message; + }; + WindowPostMessageProxy.defaultGetTrackingProperties = function (message) { + return message[WindowPostMessageProxy.messagePropertyName]; + }; + WindowPostMessageProxy.defaultIsErrorMessage = function (message) { + return !!message.error; + }; + /** + * Utility to create a deferred object. + */ + // TODO: Look to use RSVP library instead of doing this manually. + // From what I searched RSVP would work better because it has .finally and .deferred; however, it doesn't have Typings information. + WindowPostMessageProxy.createDeferred = function () { + var deferred = { + resolve: null, + reject: null, + promise: null + }; + var promise = new Promise(function (resolve, reject) { + deferred.resolve = resolve; + deferred.reject = reject; + }); + deferred.promise = promise; + return deferred; + }; + /** + * Utility to generate random sequence of characters used as tracking id for promises. + */ + WindowPostMessageProxy.createRandomString = function () { + // window.msCrypto for IE + var cryptoObj = window.crypto || window.msCrypto; + var randomValueArray = new Uint32Array(1); + cryptoObj.getRandomValues(randomValueArray); + return randomValueArray[0].toString(36).substring(1); + }; + /** + * Adds handler. + * If the first handler whose test method returns true will handle the message and provide a response. + */ + WindowPostMessageProxy.prototype.addHandler = function (handler) { + this.handlers.push(handler); + }; + /** + * Removes handler. + * The reference must match the original object that was provided when adding the handler. + */ + WindowPostMessageProxy.prototype.removeHandler = function (handler) { + var handlerIndex = this.handlers.indexOf(handler); + if (handlerIndex === -1) { + throw new Error("You attempted to remove a handler but no matching handler was found."); + } + this.handlers.splice(handlerIndex, 1); + }; + /** + * Start listening to message events. + */ + WindowPostMessageProxy.prototype.start = function () { + this.receiveWindow.addEventListener('message', this.windowMessageHandler); + }; + /** + * Stops listening to message events. + */ + WindowPostMessageProxy.prototype.stop = function () { + this.receiveWindow.removeEventListener('message', this.windowMessageHandler); + }; + /** + * Post message to target window with tracking properties added and save deferred object referenced by tracking id. + */ + WindowPostMessageProxy.prototype.postMessage = function (targetWindow, message) { + // Add tracking properties to indicate message came from this proxy + var trackingProperties = { id: WindowPostMessageProxy.createRandomString() }; + this.addTrackingProperties(message, trackingProperties); + if (this.logMessages) { + console.log(this.name + " Posting message:"); + console.log(JSON.stringify(message, null, ' ')); + } + targetWindow.postMessage(message, "*"); + var deferred = WindowPostMessageProxy.createDeferred(); + this.pendingRequestPromises[trackingProperties.id] = deferred; + return deferred.promise; + }; + /** + * Send response message to target window. + * Response messages re-use tracking properties from a previous request message. + */ + WindowPostMessageProxy.prototype.sendResponse = function (targetWindow, message, trackingProperties) { + this.addTrackingProperties(message, trackingProperties); + if (this.logMessages) { + console.log(this.name + " Sending response:"); + console.log(JSON.stringify(message, null, ' ')); + } + targetWindow.postMessage(message, "*"); + }; + /** + * Message handler. + */ + WindowPostMessageProxy.prototype.onMessageReceived = function (event) { + var _this = this; + if (this.logMessages) { + console.log(this.name + " Received message:"); + console.log("type: " + event.type); + console.log(JSON.stringify(event.data, null, ' ')); + } + var sendingWindow = this.eventSourceOverrideWindow || event.source; + var message = event.data; + if (typeof message !== "object") { + if (!this.suppressWarnings) { + console.warn("Proxy(" + this.name + "): Received message that was not an object. Discarding message"); + } + return; + } + var trackingProperties; + try { + trackingProperties = this.getTrackingProperties(message); + } + catch (e) { + if (!this.suppressWarnings) { + console.warn("Proxy(" + this.name + "): Error occurred when attempting to get tracking properties from incoming message:", JSON.stringify(message, null, ' '), "Error: ", e); + } + } + var deferred; + if (trackingProperties) { + deferred = this.pendingRequestPromises[trackingProperties.id]; + } + // If message does not have a known ID, treat it as a request + // Otherwise, treat message as response + if (!deferred) { + var handled = this.handlers.some(function (handler) { + var canMessageBeHandled = false; + try { + canMessageBeHandled = handler.test(message); + } + catch (e) { + if (!_this.suppressWarnings) { + console.warn("Proxy(" + _this.name + "): Error occurred when handler was testing incoming message:", JSON.stringify(message, null, ' '), "Error: ", e); + } + } + if (canMessageBeHandled) { + var responseMessagePromise = void 0; + try { + responseMessagePromise = Promise.resolve(handler.handle(message)); + } + catch (e) { + if (!_this.suppressWarnings) { + console.warn("Proxy(" + _this.name + "): Error occurred when handler was processing incoming message:", JSON.stringify(message, null, ' '), "Error: ", e); + } + responseMessagePromise = Promise.resolve(); + } + responseMessagePromise + .then(function (responseMessage) { + if (!responseMessage) { + var warningMessage = "Handler for message: " + JSON.stringify(message, null, ' ') + " did not return a response message. The default response message will be returned instead."; + if (!_this.suppressWarnings) { + console.warn("Proxy(" + _this.name + "): " + warningMessage); + } + responseMessage = { + warning: warningMessage + }; + } + _this.sendResponse(sendingWindow, responseMessage, trackingProperties); + }); + return true; + } + }); + /** + * TODO: Consider returning an error message if nothing handled the message. + * In the case of the Report receiving messages all of them should be handled, + * however, in the case of the SDK receiving messages it's likely it won't register handlers + * for all events. Perhaps make this an option at construction time. + */ + if (!handled && !this.suppressWarnings) { + console.warn("Proxy(" + this.name + ") did not handle message. Handlers: " + this.handlers.length + " Message: " + JSON.stringify(message, null, '') + "."); + } + } + else { + /** + * If error message reject promise, + * Otherwise, resolve promise + */ + var isErrorMessage = true; + try { + isErrorMessage = this.isErrorMessage(message); + } + catch (e) { + console.warn("Proxy(" + this.name + ") Error occurred when trying to determine if message is consider an error response. Message: ", JSON.stringify(message, null, ''), 'Error: ', e); + } + if (isErrorMessage) { + deferred.reject(message); + } + else { + deferred.resolve(message); + } + // TODO: Move to .finally clause up where promise is created for better maitenance like original proxy code. + delete this.pendingRequestPromises[trackingProperties.id]; + } + }; + WindowPostMessageProxy.messagePropertyName = "windowPostMessageProxy"; + return WindowPostMessageProxy; + }()); + exports.WindowPostMessageProxy = WindowPostMessageProxy; /***/ }) @@ -5611,245 +5611,245 @@ return /******/ (function(modules) { // webpackBootstrap /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { -var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { - function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } - return new (P || (P = Promise))(function (resolve, reject) { - function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } - function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } - function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } - step((generator = generator.apply(thisArg, _arguments || [])).next()); - }); -}; -var __generator = (this && this.__generator) || function (thisArg, body) { - var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g; - return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g; - function verb(n) { return function (v) { return step([n, v]); }; } - function step(op) { - if (f) throw new TypeError("Generator is already executing."); - while (_) try { - if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t; - if (y = 0, t) op = [op[0] & 2, t.value]; - switch (op[0]) { - case 0: case 1: t = op; break; - case 4: _.label++; return { value: op[1], done: false }; - case 5: _.label++; y = op[1]; op = [0]; continue; - case 7: op = _.ops.pop(); _.trys.pop(); continue; - default: - if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; } - if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; } - if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; } - if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; } - if (t[2]) _.ops.pop(); - _.trys.pop(); continue; - } - op = body.call(thisArg, _); - } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; } - if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true }; - } -}; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.BookmarksManager = void 0; -var utils = __webpack_require__(/*! ./util */ "./src/util.ts"); -var errors = __webpack_require__(/*! ./errors */ "./src/errors.ts"); -/** - * Manages report bookmarks. - * - * @export - * @class BookmarksManager - * @implements {IBookmarksManager} - */ -var BookmarksManager = /** @class */ (function () { - /** - * @hidden - */ - function BookmarksManager(service, config, iframe) { - this.service = service; - this.config = config; - this.iframe = iframe; - } - /** - * Gets bookmarks that are defined in the report. - * - * ```javascript - * // Gets bookmarks that are defined in the report - * bookmarksManager.getBookmarks() - * .then(bookmarks => { - * ... - * }); - * ``` - * - * @returns {Promise} - */ - BookmarksManager.prototype.getBookmarks = function () { - return __awaiter(this, void 0, void 0, function () { - var response, response_1; - return __generator(this, function (_a) { - switch (_a.label) { - case 0: - if (utils.isRDLEmbed(this.config.embedUrl)) { - return [2 /*return*/, Promise.reject(errors.APINotSupportedForRDLError)]; - } - _a.label = 1; - case 1: - _a.trys.push([1, 3, , 4]); - return [4 /*yield*/, this.service.hpm.get("/report/bookmarks", { uid: this.config.uniqueId }, this.iframe.contentWindow)]; - case 2: - response = _a.sent(); - return [2 /*return*/, response.body]; - case 3: - response_1 = _a.sent(); - throw response_1.body; - case 4: return [2 /*return*/]; - } - }); - }); - }; - /** - * Apply bookmark by name. - * - * ```javascript - * bookmarksManager.apply(bookmarkName) - * ``` - * - * @param {string} bookmarkName The name of the bookmark to be applied - * @returns {Promise>} - */ - BookmarksManager.prototype.apply = function (bookmarkName) { - return __awaiter(this, void 0, void 0, function () { - var request, response_2; - return __generator(this, function (_a) { - switch (_a.label) { - case 0: - if (utils.isRDLEmbed(this.config.embedUrl)) { - return [2 /*return*/, Promise.reject(errors.APINotSupportedForRDLError)]; - } - request = { - name: bookmarkName - }; - _a.label = 1; - case 1: - _a.trys.push([1, 3, , 4]); - return [4 /*yield*/, this.service.hpm.post("/report/bookmarks/applyByName", request, { uid: this.config.uniqueId }, this.iframe.contentWindow)]; - case 2: return [2 /*return*/, _a.sent()]; - case 3: - response_2 = _a.sent(); - throw response_2.body; - case 4: return [2 /*return*/]; - } - }); - }); - }; - /** - * Play bookmarks: Enter or Exit bookmarks presentation mode. - * - * ```javascript - * // Enter presentation mode. - * bookmarksManager.play(models.BookmarksPlayMode.Presentation) - * ``` - * - * @param {models.BookmarksPlayMode} playMode Play mode can be either `Presentation` or `Off` - * @returns {Promise>} - */ - BookmarksManager.prototype.play = function (playMode) { - return __awaiter(this, void 0, void 0, function () { - var playBookmarkRequest, response_3; - return __generator(this, function (_a) { - switch (_a.label) { - case 0: - if (utils.isRDLEmbed(this.config.embedUrl)) { - return [2 /*return*/, Promise.reject(errors.APINotSupportedForRDLError)]; - } - playBookmarkRequest = { - playMode: playMode - }; - _a.label = 1; - case 1: - _a.trys.push([1, 3, , 4]); - return [4 /*yield*/, this.service.hpm.post("/report/bookmarks/play", playBookmarkRequest, { uid: this.config.uniqueId }, this.iframe.contentWindow)]; - case 2: return [2 /*return*/, _a.sent()]; - case 3: - response_3 = _a.sent(); - throw response_3.body; - case 4: return [2 /*return*/]; - } - }); - }); - }; - /** - * Capture bookmark from current state. - * - * ```javascript - * bookmarksManager.capture(options) - * ``` - * - * @param {models.ICaptureBookmarkOptions} [options] Options for bookmark capturing - * @returns {Promise} - */ - BookmarksManager.prototype.capture = function (options) { - return __awaiter(this, void 0, void 0, function () { - var request, response, response_4; - return __generator(this, function (_a) { - switch (_a.label) { - case 0: - if (utils.isRDLEmbed(this.config.embedUrl)) { - return [2 /*return*/, Promise.reject(errors.APINotSupportedForRDLError)]; - } - request = { - options: options || {} - }; - _a.label = 1; - case 1: - _a.trys.push([1, 3, , 4]); - return [4 /*yield*/, this.service.hpm.post("/report/bookmarks/capture", request, { uid: this.config.uniqueId }, this.iframe.contentWindow)]; - case 2: - response = _a.sent(); - return [2 /*return*/, response.body]; - case 3: - response_4 = _a.sent(); - throw response_4.body; - case 4: return [2 /*return*/]; - } - }); - }); - }; - /** - * Apply bookmark state. - * - * ```javascript - * bookmarksManager.applyState(bookmarkState) - * ``` - * - * @param {string} state A base64 bookmark state to be applied - * @returns {Promise>} - */ - BookmarksManager.prototype.applyState = function (state) { - return __awaiter(this, void 0, void 0, function () { - var request, response_5; - return __generator(this, function (_a) { - switch (_a.label) { - case 0: - if (utils.isRDLEmbed(this.config.embedUrl)) { - return [2 /*return*/, Promise.reject(errors.APINotSupportedForRDLError)]; - } - request = { - state: state - }; - _a.label = 1; - case 1: - _a.trys.push([1, 3, , 4]); - return [4 /*yield*/, this.service.hpm.post("/report/bookmarks/applyState", request, { uid: this.config.uniqueId }, this.iframe.contentWindow)]; - case 2: return [2 /*return*/, _a.sent()]; - case 3: - response_5 = _a.sent(); - throw response_5.body; - case 4: return [2 /*return*/]; - } - }); - }); - }; - return BookmarksManager; -}()); -exports.BookmarksManager = BookmarksManager; +var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { + function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } + return new (P || (P = Promise))(function (resolve, reject) { + function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } + function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } + function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } + step((generator = generator.apply(thisArg, _arguments || [])).next()); + }); +}; +var __generator = (this && this.__generator) || function (thisArg, body) { + var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g; + return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g; + function verb(n) { return function (v) { return step([n, v]); }; } + function step(op) { + if (f) throw new TypeError("Generator is already executing."); + while (_) try { + if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t; + if (y = 0, t) op = [op[0] & 2, t.value]; + switch (op[0]) { + case 0: case 1: t = op; break; + case 4: _.label++; return { value: op[1], done: false }; + case 5: _.label++; y = op[1]; op = [0]; continue; + case 7: op = _.ops.pop(); _.trys.pop(); continue; + default: + if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; } + if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; } + if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; } + if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; } + if (t[2]) _.ops.pop(); + _.trys.pop(); continue; + } + op = body.call(thisArg, _); + } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; } + if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true }; + } +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.BookmarksManager = void 0; +var utils = __webpack_require__(/*! ./util */ "./src/util.ts"); +var errors = __webpack_require__(/*! ./errors */ "./src/errors.ts"); +/** + * Manages report bookmarks. + * + * @export + * @class BookmarksManager + * @implements {IBookmarksManager} + */ +var BookmarksManager = /** @class */ (function () { + /** + * @hidden + */ + function BookmarksManager(service, config, iframe) { + this.service = service; + this.config = config; + this.iframe = iframe; + } + /** + * Gets bookmarks that are defined in the report. + * + * ```javascript + * // Gets bookmarks that are defined in the report + * bookmarksManager.getBookmarks() + * .then(bookmarks => { + * ... + * }); + * ``` + * + * @returns {Promise} + */ + BookmarksManager.prototype.getBookmarks = function () { + return __awaiter(this, void 0, void 0, function () { + var response, response_1; + return __generator(this, function (_a) { + switch (_a.label) { + case 0: + if (utils.isRDLEmbed(this.config.embedUrl)) { + return [2 /*return*/, Promise.reject(errors.APINotSupportedForRDLError)]; + } + _a.label = 1; + case 1: + _a.trys.push([1, 3, , 4]); + return [4 /*yield*/, this.service.hpm.get("/report/bookmarks", { uid: this.config.uniqueId }, this.iframe.contentWindow)]; + case 2: + response = _a.sent(); + return [2 /*return*/, response.body]; + case 3: + response_1 = _a.sent(); + throw response_1.body; + case 4: return [2 /*return*/]; + } + }); + }); + }; + /** + * Apply bookmark by name. + * + * ```javascript + * bookmarksManager.apply(bookmarkName) + * ``` + * + * @param {string} bookmarkName The name of the bookmark to be applied + * @returns {Promise>} + */ + BookmarksManager.prototype.apply = function (bookmarkName) { + return __awaiter(this, void 0, void 0, function () { + var request, response_2; + return __generator(this, function (_a) { + switch (_a.label) { + case 0: + if (utils.isRDLEmbed(this.config.embedUrl)) { + return [2 /*return*/, Promise.reject(errors.APINotSupportedForRDLError)]; + } + request = { + name: bookmarkName + }; + _a.label = 1; + case 1: + _a.trys.push([1, 3, , 4]); + return [4 /*yield*/, this.service.hpm.post("/report/bookmarks/applyByName", request, { uid: this.config.uniqueId }, this.iframe.contentWindow)]; + case 2: return [2 /*return*/, _a.sent()]; + case 3: + response_2 = _a.sent(); + throw response_2.body; + case 4: return [2 /*return*/]; + } + }); + }); + }; + /** + * Play bookmarks: Enter or Exit bookmarks presentation mode. + * + * ```javascript + * // Enter presentation mode. + * bookmarksManager.play(models.BookmarksPlayMode.Presentation) + * ``` + * + * @param {models.BookmarksPlayMode} playMode Play mode can be either `Presentation` or `Off` + * @returns {Promise>} + */ + BookmarksManager.prototype.play = function (playMode) { + return __awaiter(this, void 0, void 0, function () { + var playBookmarkRequest, response_3; + return __generator(this, function (_a) { + switch (_a.label) { + case 0: + if (utils.isRDLEmbed(this.config.embedUrl)) { + return [2 /*return*/, Promise.reject(errors.APINotSupportedForRDLError)]; + } + playBookmarkRequest = { + playMode: playMode + }; + _a.label = 1; + case 1: + _a.trys.push([1, 3, , 4]); + return [4 /*yield*/, this.service.hpm.post("/report/bookmarks/play", playBookmarkRequest, { uid: this.config.uniqueId }, this.iframe.contentWindow)]; + case 2: return [2 /*return*/, _a.sent()]; + case 3: + response_3 = _a.sent(); + throw response_3.body; + case 4: return [2 /*return*/]; + } + }); + }); + }; + /** + * Capture bookmark from current state. + * + * ```javascript + * bookmarksManager.capture(options) + * ``` + * + * @param {models.ICaptureBookmarkOptions} [options] Options for bookmark capturing + * @returns {Promise} + */ + BookmarksManager.prototype.capture = function (options) { + return __awaiter(this, void 0, void 0, function () { + var request, response, response_4; + return __generator(this, function (_a) { + switch (_a.label) { + case 0: + if (utils.isRDLEmbed(this.config.embedUrl)) { + return [2 /*return*/, Promise.reject(errors.APINotSupportedForRDLError)]; + } + request = { + options: options || {} + }; + _a.label = 1; + case 1: + _a.trys.push([1, 3, , 4]); + return [4 /*yield*/, this.service.hpm.post("/report/bookmarks/capture", request, { uid: this.config.uniqueId }, this.iframe.contentWindow)]; + case 2: + response = _a.sent(); + return [2 /*return*/, response.body]; + case 3: + response_4 = _a.sent(); + throw response_4.body; + case 4: return [2 /*return*/]; + } + }); + }); + }; + /** + * Apply bookmark state. + * + * ```javascript + * bookmarksManager.applyState(bookmarkState) + * ``` + * + * @param {string} state A base64 bookmark state to be applied + * @returns {Promise>} + */ + BookmarksManager.prototype.applyState = function (state) { + return __awaiter(this, void 0, void 0, function () { + var request, response_5; + return __generator(this, function (_a) { + switch (_a.label) { + case 0: + if (utils.isRDLEmbed(this.config.embedUrl)) { + return [2 /*return*/, Promise.reject(errors.APINotSupportedForRDLError)]; + } + request = { + state: state + }; + _a.label = 1; + case 1: + _a.trys.push([1, 3, , 4]); + return [4 /*yield*/, this.service.hpm.post("/report/bookmarks/applyState", request, { uid: this.config.uniqueId }, this.iframe.contentWindow)]; + case 2: return [2 /*return*/, _a.sent()]; + case 3: + response_5 = _a.sent(); + throw response_5.body; + case 4: return [2 /*return*/]; + } + }); + }); + }; + return BookmarksManager; +}()); +exports.BookmarksManager = BookmarksManager; /***/ }), @@ -5861,13 +5861,13 @@ exports.BookmarksManager = BookmarksManager; /*! no static exports found */ /***/ (function(module, exports) { -Object.defineProperty(exports, "__esModule", { value: true }); -/** @ignore */ /** */ -var config = { - version: '2.16.3', - type: 'js' -}; -exports.default = config; +Object.defineProperty(exports, "__esModule", { value: true }); +/** @ignore */ /** */ +var config = { + version: '2.16.4', + type: 'js' +}; +exports.default = config; /***/ }), @@ -5879,162 +5879,162 @@ exports.default = config; /*! no static exports found */ /***/ (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 __()); - }; -})(); -var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { - function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } - return new (P || (P = Promise))(function (resolve, reject) { - function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } - function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } - function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } - step((generator = generator.apply(thisArg, _arguments || [])).next()); - }); -}; -var __generator = (this && this.__generator) || function (thisArg, body) { - var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g; - return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g; - function verb(n) { return function (v) { return step([n, v]); }; } - function step(op) { - if (f) throw new TypeError("Generator is already executing."); - while (_) try { - if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t; - if (y = 0, t) op = [op[0] & 2, t.value]; - switch (op[0]) { - case 0: case 1: t = op; break; - case 4: _.label++; return { value: op[1], done: false }; - case 5: _.label++; y = op[1]; op = [0]; continue; - case 7: op = _.ops.pop(); _.trys.pop(); continue; - default: - if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; } - if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; } - if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; } - if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; } - if (t[2]) _.ops.pop(); - _.trys.pop(); continue; - } - op = body.call(thisArg, _); - } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; } - if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true }; - } -}; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.Create = void 0; -var models = __webpack_require__(/*! powerbi-models */ "./node_modules/powerbi-models/dist/models.js"); -var embed = __webpack_require__(/*! ./embed */ "./src/embed.ts"); -var utils = __webpack_require__(/*! ./util */ "./src/util.ts"); -/** - * A Power BI Report creator component - * - * @export - * @class Create - * @extends {embed.Embed} - */ -var Create = /** @class */ (function (_super) { - __extends(Create, _super); - /* - * @hidden - */ - function Create(service, element, config, phasedRender, isBootstrap) { - return _super.call(this, service, element, config, /* iframe */ undefined, phasedRender, isBootstrap) || this; - } - /** - * Gets the dataset ID from the first available location: createConfig or embed url. - * - * @returns {string} - */ - Create.prototype.getId = function () { - var datasetId = (this.createConfig && this.createConfig.datasetId) ? this.createConfig.datasetId : Create.findIdFromEmbedUrl(this.config.embedUrl); - if (typeof datasetId !== 'string' || datasetId.length === 0) { - throw new Error('Dataset id is required, but it was not found. You must provide an id either as part of embed configuration.'); - } - return datasetId; - }; - /** - * Validate create report configuration. - */ - Create.prototype.validate = function (config) { - return models.validateCreateReport(config); - }; - /** - * Handle config changes. - * - * @hidden - * @returns {void} - */ - Create.prototype.configChanged = function (isBootstrap) { - if (isBootstrap) { - return; - } - var config = this.config; - this.createConfig = { - accessToken: config.accessToken, - datasetId: config.datasetId || this.getId(), - groupId: config.groupId, - settings: config.settings, - tokenType: config.tokenType, - theme: config.theme - }; - }; - /** - * @hidden - * @returns {string} - */ - Create.prototype.getDefaultEmbedUrlEndpoint = function () { - return "reportEmbed"; - }; - /** - * checks if the report is saved. - * - * ```javascript - * report.isSaved() - * ``` - * - * @returns {Promise} - */ - Create.prototype.isSaved = function () { - return __awaiter(this, void 0, void 0, function () { - return __generator(this, function (_a) { - switch (_a.label) { - case 0: return [4 /*yield*/, utils.isSavedInternal(this.service.hpm, this.config.uniqueId, this.iframe.contentWindow)]; - case 1: return [2 /*return*/, _a.sent()]; - } - }); - }); - }; - /** - * Adds the ability to get datasetId from url. - * (e.g. http://embedded.powerbi.com/appTokenReportEmbed?datasetId=854846ed-2106-4dc2-bc58-eb77533bf2f1). - * - * By extracting the ID we can ensure that the ID is always explicitly provided as part of the create configuration. - * - * @static - * @param {string} url - * @returns {string} - * @hidden - */ - Create.findIdFromEmbedUrl = function (url) { - var datasetIdRegEx = /datasetId="?([^&]+)"?/; - var datasetIdMatch = url.match(datasetIdRegEx); - var datasetId; - if (datasetIdMatch) { - datasetId = datasetIdMatch[1]; - } - return datasetId; - }; - return Create; -}(embed.Embed)); -exports.Create = Create; +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 (Object.prototype.hasOwnProperty.call(b, 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 __()); + }; +})(); +var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { + function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } + return new (P || (P = Promise))(function (resolve, reject) { + function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } + function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } + function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } + step((generator = generator.apply(thisArg, _arguments || [])).next()); + }); +}; +var __generator = (this && this.__generator) || function (thisArg, body) { + var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g; + return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g; + function verb(n) { return function (v) { return step([n, v]); }; } + function step(op) { + if (f) throw new TypeError("Generator is already executing."); + while (_) try { + if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t; + if (y = 0, t) op = [op[0] & 2, t.value]; + switch (op[0]) { + case 0: case 1: t = op; break; + case 4: _.label++; return { value: op[1], done: false }; + case 5: _.label++; y = op[1]; op = [0]; continue; + case 7: op = _.ops.pop(); _.trys.pop(); continue; + default: + if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; } + if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; } + if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; } + if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; } + if (t[2]) _.ops.pop(); + _.trys.pop(); continue; + } + op = body.call(thisArg, _); + } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; } + if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true }; + } +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.Create = void 0; +var models = __webpack_require__(/*! powerbi-models */ "./node_modules/powerbi-models/dist/models.js"); +var embed = __webpack_require__(/*! ./embed */ "./src/embed.ts"); +var utils = __webpack_require__(/*! ./util */ "./src/util.ts"); +/** + * A Power BI Report creator component + * + * @export + * @class Create + * @extends {embed.Embed} + */ +var Create = /** @class */ (function (_super) { + __extends(Create, _super); + /* + * @hidden + */ + function Create(service, element, config, phasedRender, isBootstrap) { + return _super.call(this, service, element, config, /* iframe */ undefined, phasedRender, isBootstrap) || this; + } + /** + * Gets the dataset ID from the first available location: createConfig or embed url. + * + * @returns {string} + */ + Create.prototype.getId = function () { + var datasetId = (this.createConfig && this.createConfig.datasetId) ? this.createConfig.datasetId : Create.findIdFromEmbedUrl(this.config.embedUrl); + if (typeof datasetId !== 'string' || datasetId.length === 0) { + throw new Error('Dataset id is required, but it was not found. You must provide an id either as part of embed configuration.'); + } + return datasetId; + }; + /** + * Validate create report configuration. + */ + Create.prototype.validate = function (config) { + return models.validateCreateReport(config); + }; + /** + * Handle config changes. + * + * @hidden + * @returns {void} + */ + Create.prototype.configChanged = function (isBootstrap) { + if (isBootstrap) { + return; + } + var config = this.config; + this.createConfig = { + accessToken: config.accessToken, + datasetId: config.datasetId || this.getId(), + groupId: config.groupId, + settings: config.settings, + tokenType: config.tokenType, + theme: config.theme + }; + }; + /** + * @hidden + * @returns {string} + */ + Create.prototype.getDefaultEmbedUrlEndpoint = function () { + return "reportEmbed"; + }; + /** + * checks if the report is saved. + * + * ```javascript + * report.isSaved() + * ``` + * + * @returns {Promise} + */ + Create.prototype.isSaved = function () { + return __awaiter(this, void 0, void 0, function () { + return __generator(this, function (_a) { + switch (_a.label) { + case 0: return [4 /*yield*/, utils.isSavedInternal(this.service.hpm, this.config.uniqueId, this.iframe.contentWindow)]; + case 1: return [2 /*return*/, _a.sent()]; + } + }); + }); + }; + /** + * Adds the ability to get datasetId from url. + * (e.g. http://embedded.powerbi.com/appTokenReportEmbed?datasetId=854846ed-2106-4dc2-bc58-eb77533bf2f1). + * + * By extracting the ID we can ensure that the ID is always explicitly provided as part of the create configuration. + * + * @static + * @param {string} url + * @returns {string} + * @hidden + */ + Create.findIdFromEmbedUrl = function (url) { + var datasetIdRegEx = /datasetId="?([^&]+)"?/; + var datasetIdMatch = url.match(datasetIdRegEx); + var datasetId; + if (datasetIdMatch) { + datasetId = datasetIdMatch[1]; + } + return datasetId; + }; + return Create; +}(embed.Embed)); +exports.Create = Create; /***/ }), @@ -6046,128 +6046,128 @@ exports.Create = Create; /*! no static exports found */ /***/ (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 }); -exports.Dashboard = void 0; -var embed = __webpack_require__(/*! ./embed */ "./src/embed.ts"); -var models = __webpack_require__(/*! powerbi-models */ "./node_modules/powerbi-models/dist/models.js"); -/** - * A Power BI Dashboard embed component - * - * @export - * @class Dashboard - * @extends {embed.Embed} - * @implements {IDashboardNode} - */ -var Dashboard = /** @class */ (function (_super) { - __extends(Dashboard, _super); - /** - * Creates an instance of a Power BI Dashboard. - * - * @param {service.Service} service - * @hidden - * @param {HTMLElement} element - */ - function Dashboard(service, element, config, phasedRender, isBootstrap) { - var _this = _super.call(this, service, element, config, /* iframe */ undefined, phasedRender, isBootstrap) || this; - _this.loadPath = "/dashboard/load"; - _this.phasedLoadPath = "/dashboard/prepare"; - Array.prototype.push.apply(_this.allowedEvents, Dashboard.allowedEvents); - return _this; - } - /** - * This adds backwards compatibility for older config which used the dashboardId query param to specify dashboard id. - * E.g. https://powerbi-df.analysis-df.windows.net/dashboardEmbedHost?dashboardId=e9363c62-edb6-4eac-92d3-2199c5ca2a9e - * - * By extracting the id we can ensure id is always explicitly provided as part of the load configuration. - * @hidden - * @static - * @param {string} url - * @returns {string} - */ - Dashboard.findIdFromEmbedUrl = function (url) { - var dashboardIdRegEx = /dashboardId="?([^&]+)"?/; - var dashboardIdMatch = url.match(dashboardIdRegEx); - var dashboardId; - if (dashboardIdMatch) { - dashboardId = dashboardIdMatch[1]; - } - return dashboardId; - }; - /** - * Get dashboard id from first available location: options, attribute, embed url. - * - * @returns {string} - */ - Dashboard.prototype.getId = function () { - var config = this.config; - var dashboardId = config.id || this.element.getAttribute(Dashboard.dashboardIdAttribute) || Dashboard.findIdFromEmbedUrl(config.embedUrl); - if (typeof dashboardId !== 'string' || dashboardId.length === 0) { - throw new Error("Dashboard id is required, but it was not found. You must provide an id either as part of embed configuration or as attribute '" + Dashboard.dashboardIdAttribute + "'."); - } - return dashboardId; - }; - /** - * Validate load configuration. - * - * @hidden - */ - Dashboard.prototype.validate = function (baseConfig) { - var config = baseConfig; - var error = models.validateDashboardLoad(config); - return error ? error : this.ValidatePageView(config.pageView); - }; - /** - * Handle config changes. - * @hidden - * @returns {void} - */ - Dashboard.prototype.configChanged = function (isBootstrap) { - if (isBootstrap) { - return; - } - // 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)); -exports.Dashboard = Dashboard; +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 (Object.prototype.hasOwnProperty.call(b, 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.Dashboard = void 0; +var embed = __webpack_require__(/*! ./embed */ "./src/embed.ts"); +var models = __webpack_require__(/*! powerbi-models */ "./node_modules/powerbi-models/dist/models.js"); +/** + * A Power BI Dashboard embed component + * + * @export + * @class Dashboard + * @extends {embed.Embed} + * @implements {IDashboardNode} + */ +var Dashboard = /** @class */ (function (_super) { + __extends(Dashboard, _super); + /** + * Creates an instance of a Power BI Dashboard. + * + * @param {service.Service} service + * @hidden + * @param {HTMLElement} element + */ + function Dashboard(service, element, config, phasedRender, isBootstrap) { + var _this = _super.call(this, service, element, config, /* iframe */ undefined, phasedRender, isBootstrap) || this; + _this.loadPath = "/dashboard/load"; + _this.phasedLoadPath = "/dashboard/prepare"; + Array.prototype.push.apply(_this.allowedEvents, Dashboard.allowedEvents); + return _this; + } + /** + * This adds backwards compatibility for older config which used the dashboardId query param to specify dashboard id. + * E.g. https://powerbi-df.analysis-df.windows.net/dashboardEmbedHost?dashboardId=e9363c62-edb6-4eac-92d3-2199c5ca2a9e + * + * By extracting the id we can ensure id is always explicitly provided as part of the load configuration. + * @hidden + * @static + * @param {string} url + * @returns {string} + */ + Dashboard.findIdFromEmbedUrl = function (url) { + var dashboardIdRegEx = /dashboardId="?([^&]+)"?/; + var dashboardIdMatch = url.match(dashboardIdRegEx); + var dashboardId; + if (dashboardIdMatch) { + dashboardId = dashboardIdMatch[1]; + } + return dashboardId; + }; + /** + * Get dashboard id from first available location: options, attribute, embed url. + * + * @returns {string} + */ + Dashboard.prototype.getId = function () { + var config = this.config; + var dashboardId = config.id || this.element.getAttribute(Dashboard.dashboardIdAttribute) || Dashboard.findIdFromEmbedUrl(config.embedUrl); + if (typeof dashboardId !== 'string' || dashboardId.length === 0) { + throw new Error("Dashboard id is required, but it was not found. You must provide an id either as part of embed configuration or as attribute '" + Dashboard.dashboardIdAttribute + "'."); + } + return dashboardId; + }; + /** + * Validate load configuration. + * + * @hidden + */ + Dashboard.prototype.validate = function (baseConfig) { + var config = baseConfig; + var error = models.validateDashboardLoad(config); + return error ? error : this.ValidatePageView(config.pageView); + }; + /** + * Handle config changes. + * @hidden + * @returns {void} + */ + Dashboard.prototype.configChanged = function (isBootstrap) { + if (isBootstrap) { + return; + } + // 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)); +exports.Dashboard = Dashboard; /***/ }), @@ -6179,683 +6179,683 @@ exports.Dashboard = Dashboard; /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { -var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { - function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } - return new (P || (P = Promise))(function (resolve, reject) { - function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } - function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } - function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } - step((generator = generator.apply(thisArg, _arguments || [])).next()); - }); -}; -var __generator = (this && this.__generator) || function (thisArg, body) { - var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g; - return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g; - function verb(n) { return function (v) { return step([n, v]); }; } - function step(op) { - if (f) throw new TypeError("Generator is already executing."); - while (_) try { - if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t; - if (y = 0, t) op = [op[0] & 2, t.value]; - switch (op[0]) { - case 0: case 1: t = op; break; - case 4: _.label++; return { value: op[1], done: false }; - case 5: _.label++; y = op[1]; op = [0]; continue; - case 7: op = _.ops.pop(); _.trys.pop(); continue; - default: - if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; } - if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; } - if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; } - if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; } - if (t[2]) _.ops.pop(); - _.trys.pop(); continue; - } - op = body.call(thisArg, _); - } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; } - if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true }; - } -}; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.Embed = void 0; -var utils = __webpack_require__(/*! ./util */ "./src/util.ts"); -var sdkConfig = __webpack_require__(/*! ./config */ "./src/config.ts"); -var models = __webpack_require__(/*! powerbi-models */ "./node_modules/powerbi-models/dist/models.js"); -var errors_1 = __webpack_require__(/*! ./errors */ "./src/errors.ts"); -/** - * Base class for all Power BI embed components - * - * @export - * @abstract - * @hidden - * @class Embed - */ -var Embed = /** @class */ (function () { - /** - * Creates an instance of Embed. - * - * Note: there is circular reference between embeds and the service, because - * the service has a list of all embeds on the host page, and each embed has a reference to the service that created it. - * - * @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); - } - Array.prototype.push.apply(this.allowedEvents, Embed.allowedEvents); - this.eventHandlers = []; - this.service = service; - this.element = element; - this.iframe = iframe; - this.iframeLoaded = false; - this.embedtype = config.type.toLowerCase(); - this.populateConfig(config, isBootstrap); - 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); - } - } - /** - * Sends createReport configuration data. - * - * ```javascript - * createReport({ - * datasetId: '5dac7a4a-4452-46b3-99f6-a25915e0fe55', - * accessToken: 'eyJ0eXA ... TaE2rTSbmg', - * ``` - * @hidden - * @param {models.IReportCreateConfiguration} config - * @returns {Promise} - */ - Embed.prototype.createReport = function (config) { - return __awaiter(this, void 0, void 0, function () { - var errors, response, response_1; - return __generator(this, function (_a) { - switch (_a.label) { - case 0: - errors = models.validateCreateReport(config); - if (errors) { - throw errors; - } - _a.label = 1; - case 1: - _a.trys.push([1, 3, , 4]); - return [4 /*yield*/, this.service.hpm.post("/report/create", config, { uid: this.config.uniqueId, sdkSessionId: this.service.getSdkSessionId() }, this.iframe.contentWindow)]; - case 2: - response = _a.sent(); - return [2 /*return*/, response.body]; - case 3: - response_1 = _a.sent(); - throw response_1.body; - case 4: return [2 /*return*/]; - } - }); - }); - }; - /** - * Saves Report. - * - * @returns {Promise} - */ - Embed.prototype.save = function () { - return __awaiter(this, void 0, void 0, function () { - var response, response_2; - return __generator(this, function (_a) { - switch (_a.label) { - case 0: - _a.trys.push([0, 2, , 3]); - return [4 /*yield*/, this.service.hpm.post('/report/save', null, { uid: this.config.uniqueId }, this.iframe.contentWindow)]; - case 1: - response = _a.sent(); - return [2 /*return*/, response.body]; - case 2: - response_2 = _a.sent(); - throw response_2.body; - case 3: return [2 /*return*/]; - } - }); - }); - }; - /** - * SaveAs Report. - * - * @returns {Promise} - */ - Embed.prototype.saveAs = function (saveAsParameters) { - return __awaiter(this, void 0, void 0, function () { - var response, response_3; - return __generator(this, function (_a) { - switch (_a.label) { - case 0: - _a.trys.push([0, 2, , 3]); - return [4 /*yield*/, this.service.hpm.post('/report/saveAs', saveAsParameters, { uid: this.config.uniqueId }, this.iframe.contentWindow)]; - case 1: - response = _a.sent(); - return [2 /*return*/, response.body]; - case 2: - response_3 = _a.sent(); - throw response_3.body; - case 3: return [2 /*return*/]; - } - }); - }); - }; - /** - * 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 __awaiter(this, void 0, void 0, function () { - var response, response_4; - return __generator(this, function (_a) { - switch (_a.label) { - case 0: - _a.trys.push([0, 2, , 3]); - return [4 /*yield*/, this.service.hpm.get("/getCorrelationId", { uid: this.config.uniqueId }, this.iframe.contentWindow)]; - case 1: - response = _a.sent(); - return [2 /*return*/, response.body]; - case 2: - response_4 = _a.sent(); - throw response_4.body; - case 3: return [2 /*return*/]; - } - }); - }); - }; - /** - * Sends load configuration data. - * - * ```javascript - * report.load({ - * type: 'report', - * id: '5dac7a4a-4452-46b3-99f6-a25915e0fe55', - * accessToken: 'eyJ0eXA ... TaE2rTSbmg', - * settings: { - * navContentPaneEnabled: false - * }, - * pageName: "DefaultPage", - * filters: [ - * { - * ... DefaultReportFilter ... - * } - * ] - * }) - * .catch(error => { ... }); - * ``` - * @hidden - * @param {models.ILoadConfiguration} config - * @param {boolean} phasedRender - * @returns {Promise} - */ - Embed.prototype.load = function (phasedRender) { - return __awaiter(this, void 0, void 0, function () { - var path, headers, timeNow, response, response_5; - return __generator(this, function (_a) { - switch (_a.label) { - case 0: - if (!this.config.accessToken) { - console.debug("Power BI SDK iframe is loaded but powerbi.embed is not called yet."); - return [2 /*return*/]; - } - if (!this.iframeLoaded) { - console.debug("Power BI SDK is trying to post /report/load before iframe is ready."); - return [2 /*return*/]; - } - path = phasedRender && this.config.type === 'report' ? this.phasedLoadPath : this.loadPath; - headers = { - uid: this.config.uniqueId, - sdkSessionId: this.service.getSdkSessionId(), - bootstrapped: this.config.bootstrapped, - sdkVersion: sdkConfig.default.version - }; - timeNow = new Date(); - if (this.lastLoadRequest && utils.getTimeDiffInMilliseconds(this.lastLoadRequest, timeNow) < 100) { - console.debug("Power BI SDK sent more than two /report/load requests in the last 100ms interval."); - return [2 /*return*/]; - } - this.lastLoadRequest = timeNow; - _a.label = 1; - case 1: - _a.trys.push([1, 3, , 4]); - return [4 /*yield*/, this.service.hpm.post(path, this.config, headers, this.iframe.contentWindow)]; - case 2: - response = _a.sent(); - return [2 /*return*/, response.body]; - case 3: - response_5 = _a.sent(); - throw response_5.body; - case 4: return [2 /*return*/]; - } - }); - }); - }; - /** - * Removes one or more event handlers from the list of handlers. - * If a reference to the existing handle function is specified, remove the specific handler. - * If the handler is not specified, remove all handlers for the event name specified. - * - * ```javascript - * report.off('pageChanged') - * - * or - * - * const logHandler = function (event) { - * console.log(event); - * }; - * - * report.off('pageChanged', logHandler); - * ``` - * - * @template T - * @param {string} eventName - * @param {service.IEventHandler} [handler] - */ - Embed.prototype.off = function (eventName, handler) { - var _this = this; - var fakeEvent = { name: eventName, type: null, id: null, value: null }; - if (handler) { - utils.remove(function (eventHandler) { return eventHandler.test(fakeEvent) && (eventHandler.handle === handler); }, this.eventHandlers); - this.element.removeEventListener(eventName, handler); - } - else { - var eventHandlersToRemove = this.eventHandlers - .filter(function (eventHandler) { return eventHandler.test(fakeEvent); }); - eventHandlersToRemove - .forEach(function (eventHandlerToRemove) { - utils.remove(function (eventHandler) { return eventHandler === eventHandlerToRemove; }, _this.eventHandlers); - _this.element.removeEventListener(eventName, eventHandlerToRemove.handle); - }); - } - }; - /** - * Adds an event handler for a specific event. - * - * ```javascript - * report.on('pageChanged', (event) => { - * console.log('PageChanged: ', event.page.name); - * }); - * ``` - * - * @template T - * @param {string} eventName - * @param {service.IEventHandler} handler - */ - Embed.prototype.on = function (eventName, handler) { - if (this.allowedEvents.indexOf(eventName) === -1) { - throw new Error("eventName must be one of " + this.allowedEvents + ". You passed: " + eventName); - } - this.eventHandlers.push({ - test: function (event) { return event.name === eventName; }, - handle: handler - }); - this.element.addEventListener(eventName, handler); - }; - /** - * Reloads embed using existing configuration. - * E.g. For reports this effectively clears all filters and makes the first page active which simulates resetting a report back to loaded state. - * - * ```javascript - * report.reload(); - * ``` - */ - Embed.prototype.reload = function () { - return __awaiter(this, void 0, void 0, function () { - return __generator(this, function (_a) { - switch (_a.label) { - case 0: return [4 /*yield*/, this.load()]; - case 1: return [2 /*return*/, _a.sent()]; - } - }); - }); - }; - /** - * Set accessToken. - * - * @returns {Promise} - */ - Embed.prototype.setAccessToken = function (accessToken) { - return __awaiter(this, void 0, void 0, function () { - var embedType, response, response_6; - return __generator(this, function (_a) { - switch (_a.label) { - case 0: - embedType = this.config.type; - embedType = (embedType === 'create' || embedType === 'visual' || embedType === 'qna') ? 'report' : embedType; - _a.label = 1; - case 1: - _a.trys.push([1, 3, , 4]); - return [4 /*yield*/, this.service.hpm.post('/' + embedType + '/token', accessToken, { uid: this.config.uniqueId }, this.iframe.contentWindow)]; - case 2: - response = _a.sent(); - this.config.accessToken = accessToken; - this.element.setAttribute(Embed.accessTokenAttribute, accessToken); - this.service.accessToken = accessToken; - return [2 /*return*/, response.body]; - case 3: - response_6 = _a.sent(); - throw response_6.body; - case 4: return [2 /*return*/]; - } - }); - }); - }; - /** - * Gets an access token from the first available location: config, attribute, global. - * - * @private - * @param {string} globalAccessToken - * @returns {string} - * @hidden - */ - Embed.prototype.getAccessToken = function (globalAccessToken) { - var accessToken = this.config.accessToken || this.element.getAttribute(Embed.accessTokenAttribute) || globalAccessToken; - if (!accessToken) { - throw new Error("No access token was found for element. You must specify an access token directly on the element using attribute '" + Embed.accessTokenAttribute + "' or specify a global token at: powerbi.accessToken."); - } - return accessToken; - }; - /** - * Populate config for create and load - * - * @hidden - * @param {IEmbedConfiguration} - * @returns {void} - */ - Embed.prototype.populateConfig = function (config, isBootstrap) { - if (this.bootstrapConfig) { - this.config = utils.assign({}, this.bootstrapConfig, config); - // reset bootstrapConfig because we do not want to merge it in re-embed scenario. - this.bootstrapConfig = null; - } - else { - // Copy config - important for multiple iframe scenario. - // Otherwise, if a user uses the same config twice, same unique Id which will be used in different iframes. - this.config = utils.assign({}, config); - } - this.config.embedUrl = this.getEmbedUrl(isBootstrap); - this.config.groupId = this.getGroupId(); - this.addLocaleToEmbedUrl(config); - this.config.uniqueId = this.getUniqueId(); - if (isBootstrap) { - // save current config in bootstrapConfig to be able to merge it on next call to powerbi.embed - this.bootstrapConfig = this.config; - this.bootstrapConfig.bootstrapped = true; - } - else { - this.config.accessToken = this.getAccessToken(this.service.accessToken); - } - this.configChanged(isBootstrap); - }; - /** - * Adds locale parameters to embedUrl - * - * @private - * @param {IEmbedConfiguration | models.ICommonEmbedConfiguration} config - * @hidden - */ - Embed.prototype.addLocaleToEmbedUrl = function (config) { - if (!config.settings) { - return; - } - var 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); - } - }; - /** - * Gets an embed url from the first available location: options, attribute. - * - * @private - * @returns {string} - * @hidden - */ - Embed.prototype.getEmbedUrl = function (isBootstrap) { - var embedUrl = this.config.embedUrl || this.element.getAttribute(Embed.embedUrlAttribute); - if (isBootstrap && !embedUrl) { - // Prepare flow, embed url was not provided, use hostname to build embed url. - embedUrl = this.getDefaultEmbedUrl(this.config.hostname); - } - if (typeof embedUrl !== 'string' || embedUrl.length === 0) { - throw new Error("Embed Url is required, but it was not found. You must provide an embed url either as part of embed configuration or as attribute '" + Embed.embedUrlAttribute + "'."); - } - return embedUrl; - }; - /** - * @hidden - */ - Embed.prototype.getDefaultEmbedUrl = function (hostname) { - if (!hostname) { - hostname = Embed.defaultEmbedHostName; - } - var endpoint = this.getDefaultEmbedUrlEndpoint(); - // Trim spaces to fix user mistakes. - hostname = hostname.toLowerCase().trim(); - if (hostname.indexOf("http://") === 0) { - throw new Error("HTTP is not allowed. HTTPS is required"); - } - if (hostname.indexOf("https://") === 0) { - return hostname + "/" + endpoint; - } - return "https://" + hostname + "/" + endpoint; - }; - /** - * Gets a unique ID from the first available location: options, attribute. - * If neither is provided generate a unique string. - * - * @private - * @returns {string} - * @hidden - */ - Embed.prototype.getUniqueId = function () { - return this.config.uniqueId || this.element.getAttribute(Embed.nameAttribute) || utils.createRandomString(); - }; - /** - * Gets the group ID from the first available location: options, embeddedUrl. - * - * @private - * @returns {string} - * @hidden - */ - Embed.prototype.getGroupId = function () { - return this.config.groupId || Embed.findGroupIdFromEmbedUrl(this.config.embedUrl); - }; - /** - * Requests the browser to render the component's iframe in fullscreen mode. - */ - Embed.prototype.fullscreen = function () { - var requestFullScreen = this.iframe.requestFullscreen || this.iframe.msRequestFullscreen || this.iframe.mozRequestFullScreen || this.iframe.webkitRequestFullscreen; - requestFullScreen.call(this.iframe); - }; - /** - * Requests the browser to exit fullscreen mode. - */ - Embed.prototype.exitFullscreen = function () { - if (!this.isFullscreen(this.iframe)) { - return; - } - var exitFullscreen = document.exitFullscreen || document.mozCancelFullScreen || document.webkitExitFullscreen || document.msExitFullscreen; - exitFullscreen.call(document); - }; - /** - * Returns true if the iframe is rendered in fullscreen mode, - * otherwise returns false. - * - * @private - * @param {HTMLIFrameElement} iframe - * @returns {boolean} - * @hidden - */ - Embed.prototype.isFullscreen = function (iframe) { - var options = ['fullscreenElement', 'webkitFullscreenElement', 'mozFullscreenScreenElement', 'msFullscreenElement']; - return options.some(function (option) { return document[option] === iframe; }); - }; - /** - * Sets Iframe for embed - * @hidden - */ - Embed.prototype.setIframe = function (isLoad, phasedRender, isBootstrap) { - var _this = this; - if (!this.iframe) { - var iframeContent = document.createElement("iframe"); - var embedUrl = this.config.uniqueId ? utils.addParamToUrl(this.config.embedUrl, 'uid', this.config.uniqueId) : this.config.embedUrl; - iframeContent.style.width = '100%'; - iframeContent.style.height = '100%'; - iframeContent.setAttribute("src", embedUrl); - iframeContent.setAttribute("scrolling", "no"); - iframeContent.setAttribute("allowfullscreen", "true"); - var node = this.element; - while (node.firstChild) { - node.removeChild(node.firstChild); - } - node.appendChild(iframeContent); - this.iframe = node.firstChild; - } - if (isLoad) { - if (!isBootstrap) { - // Validate config if it's not a bootstrap case. - var errors = this.validate(this.config); - if (errors) { - throw errors; - } - } - this.iframe.addEventListener('load', function () { - _this.iframeLoaded = true; - _this.load(phasedRender); - }, false); - if (this.service.getNumberOfComponents() <= Embed.maxFrontLoadTimes) { - this.frontLoadHandler = function () { - _this.frontLoadSendConfig(_this.config); - }; - // 'ready' event is fired by the embedded element (not by the iframe) - this.element.addEventListener('ready', this.frontLoadHandler, false); - } - } - else { - this.iframe.addEventListener('load', function () { return _this.createReport(_this.createConfig); }, false); - } - }; - /** - * 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) { - return; - } - if (title == null) { - this.iframe.removeAttribute("title"); - } - else { - this.iframe.setAttribute("title", title); - } - }; - /** - * Sets element's tabindex attribute - */ - Embed.prototype.setComponentTabIndex = function (tabIndex) { - if (!this.element) { - return; - } - this.element.setAttribute("tabindex", (tabIndex == null) ? "0" : tabIndex.toString()); - }; - /** - * Removes element's tabindex attribute - */ - Embed.prototype.removeComponentTabIndex = function (tabIndex) { - if (!this.element) { - return; - } - this.element.removeAttribute("tabindex"); - }; - /** - * 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} - */ - Embed.findGroupIdFromEmbedUrl = function (url) { - var groupIdRegEx = /groupId="?([^&]+)"?/; - var groupIdMatch = url.match(groupIdRegEx); - var groupId; - if (groupIdMatch) { - groupId = groupIdMatch[1]; - } - return groupId; - }; - /** - * Sends the config for front load calls, after 'ready' message is received from the iframe - * @hidden - */ - Embed.prototype.frontLoadSendConfig = function (config) { - return __awaiter(this, void 0, void 0, function () { - var errors, response, response_7; - return __generator(this, function (_a) { - switch (_a.label) { - case 0: - if (!config.accessToken) { - return [2 /*return*/]; - } - errors = this.validate(config); - if (errors) { - throw errors; - } - // contentWindow must be initialized - if (this.iframe.contentWindow == null) - return [2 /*return*/]; - _a.label = 1; - case 1: - _a.trys.push([1, 3, , 4]); - return [4 /*yield*/, this.service.hpm.post("/frontload/config", config, { uid: this.config.uniqueId }, this.iframe.contentWindow)]; - case 2: - response = _a.sent(); - return [2 /*return*/, response.body]; - case 3: - response_7 = _a.sent(); - throw response_7.body; - case 4: return [2 /*return*/]; - } - }); - }); - }; - /** @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; -}()); -exports.Embed = Embed; +var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { + function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } + return new (P || (P = Promise))(function (resolve, reject) { + function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } + function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } + function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } + step((generator = generator.apply(thisArg, _arguments || [])).next()); + }); +}; +var __generator = (this && this.__generator) || function (thisArg, body) { + var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g; + return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g; + function verb(n) { return function (v) { return step([n, v]); }; } + function step(op) { + if (f) throw new TypeError("Generator is already executing."); + while (_) try { + if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t; + if (y = 0, t) op = [op[0] & 2, t.value]; + switch (op[0]) { + case 0: case 1: t = op; break; + case 4: _.label++; return { value: op[1], done: false }; + case 5: _.label++; y = op[1]; op = [0]; continue; + case 7: op = _.ops.pop(); _.trys.pop(); continue; + default: + if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; } + if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; } + if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; } + if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; } + if (t[2]) _.ops.pop(); + _.trys.pop(); continue; + } + op = body.call(thisArg, _); + } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; } + if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true }; + } +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.Embed = void 0; +var utils = __webpack_require__(/*! ./util */ "./src/util.ts"); +var sdkConfig = __webpack_require__(/*! ./config */ "./src/config.ts"); +var models = __webpack_require__(/*! powerbi-models */ "./node_modules/powerbi-models/dist/models.js"); +var errors_1 = __webpack_require__(/*! ./errors */ "./src/errors.ts"); +/** + * Base class for all Power BI embed components + * + * @export + * @abstract + * @hidden + * @class Embed + */ +var Embed = /** @class */ (function () { + /** + * Creates an instance of Embed. + * + * Note: there is circular reference between embeds and the service, because + * the service has a list of all embeds on the host page, and each embed has a reference to the service that created it. + * + * @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); + } + Array.prototype.push.apply(this.allowedEvents, Embed.allowedEvents); + this.eventHandlers = []; + this.service = service; + this.element = element; + this.iframe = iframe; + this.iframeLoaded = false; + this.embedtype = config.type.toLowerCase(); + this.populateConfig(config, isBootstrap); + 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); + } + } + /** + * Sends createReport configuration data. + * + * ```javascript + * createReport({ + * datasetId: '5dac7a4a-4452-46b3-99f6-a25915e0fe55', + * accessToken: 'eyJ0eXA ... TaE2rTSbmg', + * ``` + * @hidden + * @param {models.IReportCreateConfiguration} config + * @returns {Promise} + */ + Embed.prototype.createReport = function (config) { + return __awaiter(this, void 0, void 0, function () { + var errors, response, response_1; + return __generator(this, function (_a) { + switch (_a.label) { + case 0: + errors = models.validateCreateReport(config); + if (errors) { + throw errors; + } + _a.label = 1; + case 1: + _a.trys.push([1, 3, , 4]); + return [4 /*yield*/, this.service.hpm.post("/report/create", config, { uid: this.config.uniqueId, sdkSessionId: this.service.getSdkSessionId() }, this.iframe.contentWindow)]; + case 2: + response = _a.sent(); + return [2 /*return*/, response.body]; + case 3: + response_1 = _a.sent(); + throw response_1.body; + case 4: return [2 /*return*/]; + } + }); + }); + }; + /** + * Saves Report. + * + * @returns {Promise} + */ + Embed.prototype.save = function () { + return __awaiter(this, void 0, void 0, function () { + var response, response_2; + return __generator(this, function (_a) { + switch (_a.label) { + case 0: + _a.trys.push([0, 2, , 3]); + return [4 /*yield*/, this.service.hpm.post('/report/save', null, { uid: this.config.uniqueId }, this.iframe.contentWindow)]; + case 1: + response = _a.sent(); + return [2 /*return*/, response.body]; + case 2: + response_2 = _a.sent(); + throw response_2.body; + case 3: return [2 /*return*/]; + } + }); + }); + }; + /** + * SaveAs Report. + * + * @returns {Promise} + */ + Embed.prototype.saveAs = function (saveAsParameters) { + return __awaiter(this, void 0, void 0, function () { + var response, response_3; + return __generator(this, function (_a) { + switch (_a.label) { + case 0: + _a.trys.push([0, 2, , 3]); + return [4 /*yield*/, this.service.hpm.post('/report/saveAs', saveAsParameters, { uid: this.config.uniqueId }, this.iframe.contentWindow)]; + case 1: + response = _a.sent(); + return [2 /*return*/, response.body]; + case 2: + response_3 = _a.sent(); + throw response_3.body; + case 3: return [2 /*return*/]; + } + }); + }); + }; + /** + * 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 __awaiter(this, void 0, void 0, function () { + var response, response_4; + return __generator(this, function (_a) { + switch (_a.label) { + case 0: + _a.trys.push([0, 2, , 3]); + return [4 /*yield*/, this.service.hpm.get("/getCorrelationId", { uid: this.config.uniqueId }, this.iframe.contentWindow)]; + case 1: + response = _a.sent(); + return [2 /*return*/, response.body]; + case 2: + response_4 = _a.sent(); + throw response_4.body; + case 3: return [2 /*return*/]; + } + }); + }); + }; + /** + * Sends load configuration data. + * + * ```javascript + * report.load({ + * type: 'report', + * id: '5dac7a4a-4452-46b3-99f6-a25915e0fe55', + * accessToken: 'eyJ0eXA ... TaE2rTSbmg', + * settings: { + * navContentPaneEnabled: false + * }, + * pageName: "DefaultPage", + * filters: [ + * { + * ... DefaultReportFilter ... + * } + * ] + * }) + * .catch(error => { ... }); + * ``` + * @hidden + * @param {models.ILoadConfiguration} config + * @param {boolean} phasedRender + * @returns {Promise} + */ + Embed.prototype.load = function (phasedRender) { + return __awaiter(this, void 0, void 0, function () { + var path, headers, timeNow, response, response_5; + return __generator(this, function (_a) { + switch (_a.label) { + case 0: + if (!this.config.accessToken) { + console.debug("Power BI SDK iframe is loaded but powerbi.embed is not called yet."); + return [2 /*return*/]; + } + if (!this.iframeLoaded) { + console.debug("Power BI SDK is trying to post /report/load before iframe is ready."); + return [2 /*return*/]; + } + path = phasedRender && this.config.type === 'report' ? this.phasedLoadPath : this.loadPath; + headers = { + uid: this.config.uniqueId, + sdkSessionId: this.service.getSdkSessionId(), + bootstrapped: this.config.bootstrapped, + sdkVersion: sdkConfig.default.version + }; + timeNow = new Date(); + if (this.lastLoadRequest && utils.getTimeDiffInMilliseconds(this.lastLoadRequest, timeNow) < 100) { + console.debug("Power BI SDK sent more than two /report/load requests in the last 100ms interval."); + return [2 /*return*/]; + } + this.lastLoadRequest = timeNow; + _a.label = 1; + case 1: + _a.trys.push([1, 3, , 4]); + return [4 /*yield*/, this.service.hpm.post(path, this.config, headers, this.iframe.contentWindow)]; + case 2: + response = _a.sent(); + return [2 /*return*/, response.body]; + case 3: + response_5 = _a.sent(); + throw response_5.body; + case 4: return [2 /*return*/]; + } + }); + }); + }; + /** + * Removes one or more event handlers from the list of handlers. + * If a reference to the existing handle function is specified, remove the specific handler. + * If the handler is not specified, remove all handlers for the event name specified. + * + * ```javascript + * report.off('pageChanged') + * + * or + * + * const logHandler = function (event) { + * console.log(event); + * }; + * + * report.off('pageChanged', logHandler); + * ``` + * + * @template T + * @param {string} eventName + * @param {service.IEventHandler} [handler] + */ + Embed.prototype.off = function (eventName, handler) { + var _this = this; + var fakeEvent = { name: eventName, type: null, id: null, value: null }; + if (handler) { + utils.remove(function (eventHandler) { return eventHandler.test(fakeEvent) && (eventHandler.handle === handler); }, this.eventHandlers); + this.element.removeEventListener(eventName, handler); + } + else { + var eventHandlersToRemove = this.eventHandlers + .filter(function (eventHandler) { return eventHandler.test(fakeEvent); }); + eventHandlersToRemove + .forEach(function (eventHandlerToRemove) { + utils.remove(function (eventHandler) { return eventHandler === eventHandlerToRemove; }, _this.eventHandlers); + _this.element.removeEventListener(eventName, eventHandlerToRemove.handle); + }); + } + }; + /** + * Adds an event handler for a specific event. + * + * ```javascript + * report.on('pageChanged', (event) => { + * console.log('PageChanged: ', event.page.name); + * }); + * ``` + * + * @template T + * @param {string} eventName + * @param {service.IEventHandler} handler + */ + Embed.prototype.on = function (eventName, handler) { + if (this.allowedEvents.indexOf(eventName) === -1) { + throw new Error("eventName must be one of " + this.allowedEvents + ". You passed: " + eventName); + } + this.eventHandlers.push({ + test: function (event) { return event.name === eventName; }, + handle: handler + }); + this.element.addEventListener(eventName, handler); + }; + /** + * Reloads embed using existing configuration. + * E.g. For reports this effectively clears all filters and makes the first page active which simulates resetting a report back to loaded state. + * + * ```javascript + * report.reload(); + * ``` + */ + Embed.prototype.reload = function () { + return __awaiter(this, void 0, void 0, function () { + return __generator(this, function (_a) { + switch (_a.label) { + case 0: return [4 /*yield*/, this.load()]; + case 1: return [2 /*return*/, _a.sent()]; + } + }); + }); + }; + /** + * Set accessToken. + * + * @returns {Promise} + */ + Embed.prototype.setAccessToken = function (accessToken) { + return __awaiter(this, void 0, void 0, function () { + var embedType, response, response_6; + return __generator(this, function (_a) { + switch (_a.label) { + case 0: + embedType = this.config.type; + embedType = (embedType === 'create' || embedType === 'visual' || embedType === 'qna') ? 'report' : embedType; + _a.label = 1; + case 1: + _a.trys.push([1, 3, , 4]); + return [4 /*yield*/, this.service.hpm.post('/' + embedType + '/token', accessToken, { uid: this.config.uniqueId }, this.iframe.contentWindow)]; + case 2: + response = _a.sent(); + this.config.accessToken = accessToken; + this.element.setAttribute(Embed.accessTokenAttribute, accessToken); + this.service.accessToken = accessToken; + return [2 /*return*/, response.body]; + case 3: + response_6 = _a.sent(); + throw response_6.body; + case 4: return [2 /*return*/]; + } + }); + }); + }; + /** + * Gets an access token from the first available location: config, attribute, global. + * + * @private + * @param {string} globalAccessToken + * @returns {string} + * @hidden + */ + Embed.prototype.getAccessToken = function (globalAccessToken) { + var accessToken = this.config.accessToken || this.element.getAttribute(Embed.accessTokenAttribute) || globalAccessToken; + if (!accessToken) { + throw new Error("No access token was found for element. You must specify an access token directly on the element using attribute '" + Embed.accessTokenAttribute + "' or specify a global token at: powerbi.accessToken."); + } + return accessToken; + }; + /** + * Populate config for create and load + * + * @hidden + * @param {IEmbedConfiguration} + * @returns {void} + */ + Embed.prototype.populateConfig = function (config, isBootstrap) { + if (this.bootstrapConfig) { + this.config = utils.assign({}, this.bootstrapConfig, config); + // reset bootstrapConfig because we do not want to merge it in re-embed scenario. + this.bootstrapConfig = null; + } + else { + // Copy config - important for multiple iframe scenario. + // Otherwise, if a user uses the same config twice, same unique Id which will be used in different iframes. + this.config = utils.assign({}, config); + } + this.config.embedUrl = this.getEmbedUrl(isBootstrap); + this.config.groupId = this.getGroupId(); + this.addLocaleToEmbedUrl(config); + this.config.uniqueId = this.getUniqueId(); + if (isBootstrap) { + // save current config in bootstrapConfig to be able to merge it on next call to powerbi.embed + this.bootstrapConfig = this.config; + this.bootstrapConfig.bootstrapped = true; + } + else { + this.config.accessToken = this.getAccessToken(this.service.accessToken); + } + this.configChanged(isBootstrap); + }; + /** + * Adds locale parameters to embedUrl + * + * @private + * @param {IEmbedConfiguration | models.ICommonEmbedConfiguration} config + * @hidden + */ + Embed.prototype.addLocaleToEmbedUrl = function (config) { + if (!config.settings) { + return; + } + var 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); + } + }; + /** + * Gets an embed url from the first available location: options, attribute. + * + * @private + * @returns {string} + * @hidden + */ + Embed.prototype.getEmbedUrl = function (isBootstrap) { + var embedUrl = this.config.embedUrl || this.element.getAttribute(Embed.embedUrlAttribute); + if (isBootstrap && !embedUrl) { + // Prepare flow, embed url was not provided, use hostname to build embed url. + embedUrl = this.getDefaultEmbedUrl(this.config.hostname); + } + if (typeof embedUrl !== 'string' || embedUrl.length === 0) { + throw new Error("Embed Url is required, but it was not found. You must provide an embed url either as part of embed configuration or as attribute '" + Embed.embedUrlAttribute + "'."); + } + return embedUrl; + }; + /** + * @hidden + */ + Embed.prototype.getDefaultEmbedUrl = function (hostname) { + if (!hostname) { + hostname = Embed.defaultEmbedHostName; + } + var endpoint = this.getDefaultEmbedUrlEndpoint(); + // Trim spaces to fix user mistakes. + hostname = hostname.toLowerCase().trim(); + if (hostname.indexOf("http://") === 0) { + throw new Error("HTTP is not allowed. HTTPS is required"); + } + if (hostname.indexOf("https://") === 0) { + return hostname + "/" + endpoint; + } + return "https://" + hostname + "/" + endpoint; + }; + /** + * Gets a unique ID from the first available location: options, attribute. + * If neither is provided generate a unique string. + * + * @private + * @returns {string} + * @hidden + */ + Embed.prototype.getUniqueId = function () { + return this.config.uniqueId || this.element.getAttribute(Embed.nameAttribute) || utils.createRandomString(); + }; + /** + * Gets the group ID from the first available location: options, embeddedUrl. + * + * @private + * @returns {string} + * @hidden + */ + Embed.prototype.getGroupId = function () { + return this.config.groupId || Embed.findGroupIdFromEmbedUrl(this.config.embedUrl); + }; + /** + * Requests the browser to render the component's iframe in fullscreen mode. + */ + Embed.prototype.fullscreen = function () { + var requestFullScreen = this.iframe.requestFullscreen || this.iframe.msRequestFullscreen || this.iframe.mozRequestFullScreen || this.iframe.webkitRequestFullscreen; + requestFullScreen.call(this.iframe); + }; + /** + * Requests the browser to exit fullscreen mode. + */ + Embed.prototype.exitFullscreen = function () { + if (!this.isFullscreen(this.iframe)) { + return; + } + var exitFullscreen = document.exitFullscreen || document.mozCancelFullScreen || document.webkitExitFullscreen || document.msExitFullscreen; + exitFullscreen.call(document); + }; + /** + * Returns true if the iframe is rendered in fullscreen mode, + * otherwise returns false. + * + * @private + * @param {HTMLIFrameElement} iframe + * @returns {boolean} + * @hidden + */ + Embed.prototype.isFullscreen = function (iframe) { + var options = ['fullscreenElement', 'webkitFullscreenElement', 'mozFullscreenScreenElement', 'msFullscreenElement']; + return options.some(function (option) { return document[option] === iframe; }); + }; + /** + * Sets Iframe for embed + * @hidden + */ + Embed.prototype.setIframe = function (isLoad, phasedRender, isBootstrap) { + var _this = this; + if (!this.iframe) { + var iframeContent = document.createElement("iframe"); + var embedUrl = this.config.uniqueId ? utils.addParamToUrl(this.config.embedUrl, 'uid', this.config.uniqueId) : this.config.embedUrl; + iframeContent.style.width = '100%'; + iframeContent.style.height = '100%'; + iframeContent.setAttribute("src", embedUrl); + iframeContent.setAttribute("scrolling", "no"); + iframeContent.setAttribute("allowfullscreen", "true"); + var node = this.element; + while (node.firstChild) { + node.removeChild(node.firstChild); + } + node.appendChild(iframeContent); + this.iframe = node.firstChild; + } + if (isLoad) { + if (!isBootstrap) { + // Validate config if it's not a bootstrap case. + var errors = this.validate(this.config); + if (errors) { + throw errors; + } + } + this.iframe.addEventListener('load', function () { + _this.iframeLoaded = true; + _this.load(phasedRender); + }, false); + if (this.service.getNumberOfComponents() <= Embed.maxFrontLoadTimes) { + this.frontLoadHandler = function () { + _this.frontLoadSendConfig(_this.config); + }; + // 'ready' event is fired by the embedded element (not by the iframe) + this.element.addEventListener('ready', this.frontLoadHandler, false); + } + } + else { + this.iframe.addEventListener('load', function () { return _this.createReport(_this.createConfig); }, false); + } + }; + /** + * 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) { + return; + } + if (title == null) { + this.iframe.removeAttribute("title"); + } + else { + this.iframe.setAttribute("title", title); + } + }; + /** + * Sets element's tabindex attribute + */ + Embed.prototype.setComponentTabIndex = function (tabIndex) { + if (!this.element) { + return; + } + this.element.setAttribute("tabindex", (tabIndex == null) ? "0" : tabIndex.toString()); + }; + /** + * Removes element's tabindex attribute + */ + Embed.prototype.removeComponentTabIndex = function (tabIndex) { + if (!this.element) { + return; + } + this.element.removeAttribute("tabindex"); + }; + /** + * 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} + */ + Embed.findGroupIdFromEmbedUrl = function (url) { + var groupIdRegEx = /groupId="?([^&]+)"?/; + var groupIdMatch = url.match(groupIdRegEx); + var groupId; + if (groupIdMatch) { + groupId = groupIdMatch[1]; + } + return groupId; + }; + /** + * Sends the config for front load calls, after 'ready' message is received from the iframe + * @hidden + */ + Embed.prototype.frontLoadSendConfig = function (config) { + return __awaiter(this, void 0, void 0, function () { + var errors, response, response_7; + return __generator(this, function (_a) { + switch (_a.label) { + case 0: + if (!config.accessToken) { + return [2 /*return*/]; + } + errors = this.validate(config); + if (errors) { + throw errors; + } + // contentWindow must be initialized + if (this.iframe.contentWindow == null) + return [2 /*return*/]; + _a.label = 1; + case 1: + _a.trys.push([1, 3, , 4]); + return [4 /*yield*/, this.service.hpm.post("/frontload/config", config, { uid: this.config.uniqueId }, this.iframe.contentWindow)]; + case 2: + response = _a.sent(); + return [2 /*return*/, response.body]; + case 3: + response_7 = _a.sent(); + throw response_7.body; + case 4: return [2 /*return*/]; + } + }); + }); + }; + /** @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; +}()); +exports.Embed = Embed; /***/ }), @@ -6867,10 +6867,10 @@ exports.Embed = Embed; /*! no static exports found */ /***/ (function(module, exports) { -Object.defineProperty(exports, "__esModule", { value: true }); -exports.EmbedUrlNotSupported = exports.APINotSupportedForRDLError = void 0; -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"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.EmbedUrlNotSupported = exports.APINotSupportedForRDLError = void 0; +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"; /***/ }), @@ -6882,36 +6882,39 @@ exports.EmbedUrlNotSupported = "Embed URL is invalid for this scenario. Please u /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { -Object.defineProperty(exports, "__esModule", { value: true }); -exports.routerFactory = exports.wpmpFactory = exports.hpmFactory = void 0; -var config_1 = __webpack_require__(/*! ./config */ "./src/config.ts"); -var wpmp = __webpack_require__(/*! window-post-message-proxy */ "./node_modules/window-post-message-proxy/dist/windowPostMessageProxy.js"); -var hpm = __webpack_require__(/*! http-post-message */ "./node_modules/http-post-message/dist/httpPostMessage.js"); -var router = __webpack_require__(/*! powerbi-router */ "./node_modules/powerbi-router/dist/router.js"); -exports.hpmFactory = function (wpmp, defaultTargetWindow, sdkVersion, sdkType) { - if (sdkVersion === void 0) { sdkVersion = config_1.default.version; } - if (sdkType === void 0) { sdkType = config_1.default.type; } - return new hpm.HttpPostMessage(wpmp, { - 'x-sdk-type': sdkType, - 'x-sdk-version': sdkVersion - }, defaultTargetWindow); -}; -exports.wpmpFactory = function (name, logMessages, eventSourceOverrideWindow) { - return new wpmp.WindowPostMessageProxy({ - processTrackingProperties: { - addTrackingProperties: hpm.HttpPostMessage.addTrackingProperties, - getTrackingProperties: hpm.HttpPostMessage.getTrackingProperties, - }, - isErrorMessage: hpm.HttpPostMessage.isErrorMessage, - suppressWarnings: true, - name: name, - logMessages: logMessages, - eventSourceOverrideWindow: eventSourceOverrideWindow - }); -}; -exports.routerFactory = function (wpmp) { - return new router.Router(wpmp); -}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.routerFactory = exports.wpmpFactory = exports.hpmFactory = void 0; +var config_1 = __webpack_require__(/*! ./config */ "./src/config.ts"); +var wpmp = __webpack_require__(/*! window-post-message-proxy */ "./node_modules/window-post-message-proxy/dist/windowPostMessageProxy.js"); +var hpm = __webpack_require__(/*! http-post-message */ "./node_modules/http-post-message/dist/httpPostMessage.js"); +var router = __webpack_require__(/*! powerbi-router */ "./node_modules/powerbi-router/dist/router.js"); +var hpmFactory = function (wpmp, defaultTargetWindow, sdkVersion, sdkType) { + if (sdkVersion === void 0) { sdkVersion = config_1.default.version; } + if (sdkType === void 0) { sdkType = config_1.default.type; } + return new hpm.HttpPostMessage(wpmp, { + 'x-sdk-type': sdkType, + 'x-sdk-version': sdkVersion + }, defaultTargetWindow); +}; +exports.hpmFactory = hpmFactory; +var wpmpFactory = function (name, logMessages, eventSourceOverrideWindow) { + return new wpmp.WindowPostMessageProxy({ + processTrackingProperties: { + addTrackingProperties: hpm.HttpPostMessage.addTrackingProperties, + getTrackingProperties: hpm.HttpPostMessage.getTrackingProperties, + }, + isErrorMessage: hpm.HttpPostMessage.isErrorMessage, + suppressWarnings: true, + name: name, + logMessages: logMessages, + eventSourceOverrideWindow: eventSourceOverrideWindow + }); +}; +exports.wpmpFactory = wpmpFactory; +var routerFactory = function (wpmp) { + return new router.Router(wpmp); +}; +exports.routerFactory = routerFactory; /***/ }), @@ -6923,322 +6926,322 @@ exports.routerFactory = function (wpmp) { /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { -var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { - function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } - return new (P || (P = Promise))(function (resolve, reject) { - function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } - function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } - function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } - step((generator = generator.apply(thisArg, _arguments || [])).next()); - }); -}; -var __generator = (this && this.__generator) || function (thisArg, body) { - var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g; - return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g; - function verb(n) { return function (v) { return step([n, v]); }; } - function step(op) { - if (f) throw new TypeError("Generator is already executing."); - while (_) try { - if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t; - if (y = 0, t) op = [op[0] & 2, t.value]; - switch (op[0]) { - case 0: case 1: t = op; break; - case 4: _.label++; return { value: op[1], done: false }; - case 5: _.label++; y = op[1]; op = [0]; continue; - case 7: op = _.ops.pop(); _.trys.pop(); continue; - default: - if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; } - if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; } - if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; } - if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; } - if (t[2]) _.ops.pop(); - _.trys.pop(); continue; - } - op = body.call(thisArg, _); - } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; } - if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true }; - } -}; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.Page = void 0; -var visualDescriptor_1 = __webpack_require__(/*! ./visualDescriptor */ "./src/visualDescriptor.ts"); -var models = __webpack_require__(/*! powerbi-models */ "./node_modules/powerbi-models/dist/models.js"); -var utils = __webpack_require__(/*! ./util */ "./src/util.ts"); -var errors = __webpack_require__(/*! ./errors */ "./src/errors.ts"); -/** - * A Power BI report page - * - * @export - * @class Page - * @implements {IPageNode} - * @implements {IFilterable} - */ -var Page = /** @class */ (function () { - /** - * Creates an instance of a Power BI report page. - * - * @param {IReportNode} report - * @param {string} name - * @param {string} [displayName] - * @param {boolean} [isActivePage] - * @param {models.SectionVisibility} [visibility] - * @hidden - */ - function Page(report, name, displayName, isActivePage, visibility, defaultSize, defaultDisplayOption) { - this.report = report; - this.name = name; - this.displayName = displayName; - this.isActive = isActivePage; - this.visibility = visibility; - this.defaultSize = defaultSize; - this.defaultDisplayOption = defaultDisplayOption; - } - /** - * Gets all page level filters within the report. - * - * ```javascript - * page.getFilters() - * .then(filters => { ... }); - * ``` - * - * @returns {(Promise)} - */ - Page.prototype.getFilters = function () { - return __awaiter(this, void 0, void 0, function () { - var response, response_1; - return __generator(this, function (_a) { - switch (_a.label) { - case 0: - _a.trys.push([0, 2, , 3]); - return [4 /*yield*/, this.report.service.hpm.get("/report/pages/" + this.name + "/filters", { uid: this.report.config.uniqueId }, this.report.iframe.contentWindow)]; - case 1: - response = _a.sent(); - return [2 /*return*/, response.body]; - case 2: - response_1 = _a.sent(); - throw response_1.body; - case 3: return [2 /*return*/]; - } - }); - }); - }; - /** - * Delete the page from the report - * - * ```javascript - * // Delete the page from the report - * page.delete(); - * ``` - * - * @returns {Promise} - */ - Page.prototype.delete = function () { - return __awaiter(this, void 0, void 0, function () { - var response, response_2; - return __generator(this, function (_a) { - switch (_a.label) { - case 0: - _a.trys.push([0, 2, , 3]); - return [4 /*yield*/, this.report.service.hpm.delete("/report/pages/" + this.name, {}, { uid: this.report.config.uniqueId }, this.report.iframe.contentWindow)]; - case 1: - response = _a.sent(); - return [2 /*return*/, response.body]; - case 2: - response_2 = _a.sent(); - throw response_2.body; - case 3: return [2 /*return*/]; - } - }); - }); - }; - /** - * Removes all filters from this page of the report. - * - * ```javascript - * page.removeFilters(); - * ``` - * - * @returns {Promise>} - */ - Page.prototype.removeFilters = function () { - return __awaiter(this, void 0, void 0, function () { - return __generator(this, function (_a) { - switch (_a.label) { - case 0: return [4 /*yield*/, this.setFilters([])]; - case 1: return [2 /*return*/, _a.sent()]; - } - }); - }); - }; - /** - * Makes the current page the active page of the report. - * - * ```javascript - * page.setActive(); - * ``` - * - * @returns {Promise>} - */ - Page.prototype.setActive = function () { - return __awaiter(this, void 0, void 0, function () { - var page, response_3; - return __generator(this, function (_a) { - switch (_a.label) { - case 0: - page = { - name: this.name, - displayName: null, - isActive: true - }; - _a.label = 1; - case 1: - _a.trys.push([1, 3, , 4]); - return [4 /*yield*/, this.report.service.hpm.put('/report/pages/active', page, { uid: this.report.config.uniqueId }, this.report.iframe.contentWindow)]; - case 2: return [2 /*return*/, _a.sent()]; - case 3: - response_3 = _a.sent(); - throw response_3.body; - case 4: return [2 /*return*/]; - } - }); - }); - }; - /** - * Sets all filters on the current page. - * - * ```javascript - * page.setFilters(filters); - * .catch(errors => { ... }); - * ``` - * - * @param {(models.IFilter[])} filters - * @returns {Promise>} - */ - Page.prototype.setFilters = function (filters) { - return __awaiter(this, void 0, void 0, function () { - var response_4; - return __generator(this, function (_a) { - switch (_a.label) { - case 0: - _a.trys.push([0, 2, , 3]); - return [4 /*yield*/, this.report.service.hpm.put("/report/pages/" + this.name + "/filters", filters, { uid: this.report.config.uniqueId }, this.report.iframe.contentWindow)]; - case 1: return [2 /*return*/, _a.sent()]; - case 2: - response_4 = _a.sent(); - throw response_4.body; - case 3: return [2 /*return*/]; - } - }); - }); - }; - /** - * Set displayName to the current page. - * - * ```javascript - * page.setName(displayName); - * ``` - * - * @returns {Promise>} - */ - Page.prototype.setDisplayName = function (displayName) { - return __awaiter(this, void 0, void 0, function () { - var page, response_5; - return __generator(this, function (_a) { - switch (_a.label) { - case 0: - page = { - name: this.name, - displayName: displayName, - }; - _a.label = 1; - case 1: - _a.trys.push([1, 3, , 4]); - return [4 /*yield*/, this.report.service.hpm.put("/report/pages/" + this.name + "/name", page, { uid: this.report.config.uniqueId }, this.report.iframe.contentWindow)]; - case 2: return [2 /*return*/, _a.sent()]; - case 3: - response_5 = _a.sent(); - throw response_5.body; - case 4: return [2 /*return*/]; - } - }); - }); - }; - /** - * Gets all the visuals on the page. - * - * ```javascript - * page.getVisuals() - * .then(visuals => { ... }); - * ``` - * - * @returns {Promise} - */ - Page.prototype.getVisuals = function () { - return __awaiter(this, void 0, void 0, function () { - var response, response_6; - var _this = this; - return __generator(this, function (_a) { - switch (_a.label) { - case 0: - if (utils.isRDLEmbed(this.report.config.embedUrl)) { - return [2 /*return*/, Promise.reject(errors.APINotSupportedForRDLError)]; - } - _a.label = 1; - case 1: - _a.trys.push([1, 3, , 4]); - return [4 /*yield*/, this.report.service.hpm.get("/report/pages/" + this.name + "/visuals", { uid: this.report.config.uniqueId }, this.report.iframe.contentWindow)]; - case 2: - response = _a.sent(); - return [2 /*return*/, response.body - .map(function (visual) { - return new visualDescriptor_1.VisualDescriptor(_this, visual.name, visual.title, visual.type, visual.layout); - })]; - case 3: - response_6 = _a.sent(); - throw response_6.body; - case 4: return [2 /*return*/]; - } - }); - }); - }; - /** - * Checks if page has layout. - * - * ```javascript - * page.hasLayout(layoutType) - * .then(hasLayout: boolean => { ... }); - * ``` - * - * @returns {(Promise)} - */ - Page.prototype.hasLayout = function (layoutType) { - return __awaiter(this, void 0, void 0, function () { - var layoutTypeEnum, response, response_7; - return __generator(this, function (_a) { - switch (_a.label) { - case 0: - if (utils.isRDLEmbed(this.report.config.embedUrl)) { - return [2 /*return*/, Promise.reject(errors.APINotSupportedForRDLError)]; - } - layoutTypeEnum = models.LayoutType[layoutType]; - _a.label = 1; - case 1: - _a.trys.push([1, 3, , 4]); - return [4 /*yield*/, this.report.service.hpm.get("/report/pages/" + this.name + "/layoutTypes/" + layoutTypeEnum, { uid: this.report.config.uniqueId }, this.report.iframe.contentWindow)]; - case 2: - response = _a.sent(); - return [2 /*return*/, response.body]; - case 3: - response_7 = _a.sent(); - throw response_7.body; - case 4: return [2 /*return*/]; - } - }); - }); - }; - return Page; -}()); -exports.Page = Page; +var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { + function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } + return new (P || (P = Promise))(function (resolve, reject) { + function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } + function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } + function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } + step((generator = generator.apply(thisArg, _arguments || [])).next()); + }); +}; +var __generator = (this && this.__generator) || function (thisArg, body) { + var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g; + return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g; + function verb(n) { return function (v) { return step([n, v]); }; } + function step(op) { + if (f) throw new TypeError("Generator is already executing."); + while (_) try { + if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t; + if (y = 0, t) op = [op[0] & 2, t.value]; + switch (op[0]) { + case 0: case 1: t = op; break; + case 4: _.label++; return { value: op[1], done: false }; + case 5: _.label++; y = op[1]; op = [0]; continue; + case 7: op = _.ops.pop(); _.trys.pop(); continue; + default: + if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; } + if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; } + if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; } + if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; } + if (t[2]) _.ops.pop(); + _.trys.pop(); continue; + } + op = body.call(thisArg, _); + } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; } + if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true }; + } +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.Page = void 0; +var visualDescriptor_1 = __webpack_require__(/*! ./visualDescriptor */ "./src/visualDescriptor.ts"); +var models = __webpack_require__(/*! powerbi-models */ "./node_modules/powerbi-models/dist/models.js"); +var utils = __webpack_require__(/*! ./util */ "./src/util.ts"); +var errors = __webpack_require__(/*! ./errors */ "./src/errors.ts"); +/** + * A Power BI report page + * + * @export + * @class Page + * @implements {IPageNode} + * @implements {IFilterable} + */ +var Page = /** @class */ (function () { + /** + * Creates an instance of a Power BI report page. + * + * @param {IReportNode} report + * @param {string} name + * @param {string} [displayName] + * @param {boolean} [isActivePage] + * @param {models.SectionVisibility} [visibility] + * @hidden + */ + function Page(report, name, displayName, isActivePage, visibility, defaultSize, defaultDisplayOption) { + this.report = report; + this.name = name; + this.displayName = displayName; + this.isActive = isActivePage; + this.visibility = visibility; + this.defaultSize = defaultSize; + this.defaultDisplayOption = defaultDisplayOption; + } + /** + * Gets all page level filters within the report. + * + * ```javascript + * page.getFilters() + * .then(filters => { ... }); + * ``` + * + * @returns {(Promise)} + */ + Page.prototype.getFilters = function () { + return __awaiter(this, void 0, void 0, function () { + var response, response_1; + return __generator(this, function (_a) { + switch (_a.label) { + case 0: + _a.trys.push([0, 2, , 3]); + return [4 /*yield*/, this.report.service.hpm.get("/report/pages/" + this.name + "/filters", { uid: this.report.config.uniqueId }, this.report.iframe.contentWindow)]; + case 1: + response = _a.sent(); + return [2 /*return*/, response.body]; + case 2: + response_1 = _a.sent(); + throw response_1.body; + case 3: return [2 /*return*/]; + } + }); + }); + }; + /** + * Delete the page from the report + * + * ```javascript + * // Delete the page from the report + * page.delete(); + * ``` + * + * @returns {Promise} + */ + Page.prototype.delete = function () { + return __awaiter(this, void 0, void 0, function () { + var response, response_2; + return __generator(this, function (_a) { + switch (_a.label) { + case 0: + _a.trys.push([0, 2, , 3]); + return [4 /*yield*/, this.report.service.hpm.delete("/report/pages/" + this.name, {}, { uid: this.report.config.uniqueId }, this.report.iframe.contentWindow)]; + case 1: + response = _a.sent(); + return [2 /*return*/, response.body]; + case 2: + response_2 = _a.sent(); + throw response_2.body; + case 3: return [2 /*return*/]; + } + }); + }); + }; + /** + * Removes all filters from this page of the report. + * + * ```javascript + * page.removeFilters(); + * ``` + * + * @returns {Promise>} + */ + Page.prototype.removeFilters = function () { + return __awaiter(this, void 0, void 0, function () { + return __generator(this, function (_a) { + switch (_a.label) { + case 0: return [4 /*yield*/, this.setFilters([])]; + case 1: return [2 /*return*/, _a.sent()]; + } + }); + }); + }; + /** + * Makes the current page the active page of the report. + * + * ```javascript + * page.setActive(); + * ``` + * + * @returns {Promise>} + */ + Page.prototype.setActive = function () { + return __awaiter(this, void 0, void 0, function () { + var page, response_3; + return __generator(this, function (_a) { + switch (_a.label) { + case 0: + page = { + name: this.name, + displayName: null, + isActive: true + }; + _a.label = 1; + case 1: + _a.trys.push([1, 3, , 4]); + return [4 /*yield*/, this.report.service.hpm.put('/report/pages/active', page, { uid: this.report.config.uniqueId }, this.report.iframe.contentWindow)]; + case 2: return [2 /*return*/, _a.sent()]; + case 3: + response_3 = _a.sent(); + throw response_3.body; + case 4: return [2 /*return*/]; + } + }); + }); + }; + /** + * Sets all filters on the current page. + * + * ```javascript + * page.setFilters(filters); + * .catch(errors => { ... }); + * ``` + * + * @param {(models.IFilter[])} filters + * @returns {Promise>} + */ + Page.prototype.setFilters = function (filters) { + return __awaiter(this, void 0, void 0, function () { + var response_4; + return __generator(this, function (_a) { + switch (_a.label) { + case 0: + _a.trys.push([0, 2, , 3]); + return [4 /*yield*/, this.report.service.hpm.put("/report/pages/" + this.name + "/filters", filters, { uid: this.report.config.uniqueId }, this.report.iframe.contentWindow)]; + case 1: return [2 /*return*/, _a.sent()]; + case 2: + response_4 = _a.sent(); + throw response_4.body; + case 3: return [2 /*return*/]; + } + }); + }); + }; + /** + * Set displayName to the current page. + * + * ```javascript + * page.setName(displayName); + * ``` + * + * @returns {Promise>} + */ + Page.prototype.setDisplayName = function (displayName) { + return __awaiter(this, void 0, void 0, function () { + var page, response_5; + return __generator(this, function (_a) { + switch (_a.label) { + case 0: + page = { + name: this.name, + displayName: displayName, + }; + _a.label = 1; + case 1: + _a.trys.push([1, 3, , 4]); + return [4 /*yield*/, this.report.service.hpm.put("/report/pages/" + this.name + "/name", page, { uid: this.report.config.uniqueId }, this.report.iframe.contentWindow)]; + case 2: return [2 /*return*/, _a.sent()]; + case 3: + response_5 = _a.sent(); + throw response_5.body; + case 4: return [2 /*return*/]; + } + }); + }); + }; + /** + * Gets all the visuals on the page. + * + * ```javascript + * page.getVisuals() + * .then(visuals => { ... }); + * ``` + * + * @returns {Promise} + */ + Page.prototype.getVisuals = function () { + return __awaiter(this, void 0, void 0, function () { + var response, response_6; + var _this = this; + return __generator(this, function (_a) { + switch (_a.label) { + case 0: + if (utils.isRDLEmbed(this.report.config.embedUrl)) { + return [2 /*return*/, Promise.reject(errors.APINotSupportedForRDLError)]; + } + _a.label = 1; + case 1: + _a.trys.push([1, 3, , 4]); + return [4 /*yield*/, this.report.service.hpm.get("/report/pages/" + this.name + "/visuals", { uid: this.report.config.uniqueId }, this.report.iframe.contentWindow)]; + case 2: + response = _a.sent(); + return [2 /*return*/, response.body + .map(function (visual) { + return new visualDescriptor_1.VisualDescriptor(_this, visual.name, visual.title, visual.type, visual.layout); + })]; + case 3: + response_6 = _a.sent(); + throw response_6.body; + case 4: return [2 /*return*/]; + } + }); + }); + }; + /** + * Checks if page has layout. + * + * ```javascript + * page.hasLayout(layoutType) + * .then(hasLayout: boolean => { ... }); + * ``` + * + * @returns {(Promise)} + */ + Page.prototype.hasLayout = function (layoutType) { + return __awaiter(this, void 0, void 0, function () { + var layoutTypeEnum, response, response_7; + return __generator(this, function (_a) { + switch (_a.label) { + case 0: + if (utils.isRDLEmbed(this.report.config.embedUrl)) { + return [2 /*return*/, Promise.reject(errors.APINotSupportedForRDLError)]; + } + layoutTypeEnum = models.LayoutType[layoutType]; + _a.label = 1; + case 1: + _a.trys.push([1, 3, , 4]); + return [4 /*yield*/, this.report.service.hpm.get("/report/pages/" + this.name + "/layoutTypes/" + layoutTypeEnum, { uid: this.report.config.uniqueId }, this.report.iframe.contentWindow)]; + case 2: + response = _a.sent(); + return [2 /*return*/, response.body]; + case 3: + response_7 = _a.sent(); + throw response_7.body; + case 4: return [2 /*return*/]; + } + }); + }); + }; + return Page; +}()); +exports.Page = Page; /***/ }), @@ -7250,40 +7253,40 @@ exports.Page = Page; /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { -Object.defineProperty(exports, "__esModule", { value: true }); -exports.models = exports.factories = exports.service = void 0; -/** - * @hidden - */ -var service = __webpack_require__(/*! ./service */ "./src/service.ts"); -exports.service = service; -var factories = __webpack_require__(/*! ./factories */ "./src/factories.ts"); -exports.factories = factories; -var models = __webpack_require__(/*! powerbi-models */ "./node_modules/powerbi-models/dist/models.js"); -exports.models = models; -var report_1 = __webpack_require__(/*! ./report */ "./src/report.ts"); -Object.defineProperty(exports, "Report", { enumerable: true, get: function () { return report_1.Report; } }); -var dashboard_1 = __webpack_require__(/*! ./dashboard */ "./src/dashboard.ts"); -Object.defineProperty(exports, "Dashboard", { enumerable: true, get: function () { return dashboard_1.Dashboard; } }); -var tile_1 = __webpack_require__(/*! ./tile */ "./src/tile.ts"); -Object.defineProperty(exports, "Tile", { enumerable: true, get: function () { return tile_1.Tile; } }); -var embed_1 = __webpack_require__(/*! ./embed */ "./src/embed.ts"); -Object.defineProperty(exports, "Embed", { enumerable: true, get: function () { return embed_1.Embed; } }); -var page_1 = __webpack_require__(/*! ./page */ "./src/page.ts"); -Object.defineProperty(exports, "Page", { enumerable: true, get: function () { return page_1.Page; } }); -var qna_1 = __webpack_require__(/*! ./qna */ "./src/qna.ts"); -Object.defineProperty(exports, "Qna", { enumerable: true, get: function () { return qna_1.Qna; } }); -var visual_1 = __webpack_require__(/*! ./visual */ "./src/visual.ts"); -Object.defineProperty(exports, "Visual", { enumerable: true, get: function () { return visual_1.Visual; } }); -var visualDescriptor_1 = __webpack_require__(/*! ./visualDescriptor */ "./src/visualDescriptor.ts"); -Object.defineProperty(exports, "VisualDescriptor", { enumerable: true, get: function () { return visualDescriptor_1.VisualDescriptor; } }); -/** - * Makes Power BI available to the global object for use in applications that don't have module loading support. - * - * Note: create an instance of the class with the default configuration for normal usage, or save the class so that you can create an instance of the service. - */ -var powerbi = new service.Service(factories.hpmFactory, factories.wpmpFactory, factories.routerFactory); -window.powerbi = powerbi; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.VisualDescriptor = exports.Visual = exports.Qna = exports.Page = exports.Embed = exports.Tile = exports.Dashboard = exports.Report = exports.models = exports.factories = exports.service = void 0; +/** + * @hidden + */ +var service = __webpack_require__(/*! ./service */ "./src/service.ts"); +exports.service = service; +var factories = __webpack_require__(/*! ./factories */ "./src/factories.ts"); +exports.factories = factories; +var models = __webpack_require__(/*! powerbi-models */ "./node_modules/powerbi-models/dist/models.js"); +exports.models = models; +var report_1 = __webpack_require__(/*! ./report */ "./src/report.ts"); +Object.defineProperty(exports, "Report", { enumerable: true, get: function () { return report_1.Report; } }); +var dashboard_1 = __webpack_require__(/*! ./dashboard */ "./src/dashboard.ts"); +Object.defineProperty(exports, "Dashboard", { enumerable: true, get: function () { return dashboard_1.Dashboard; } }); +var tile_1 = __webpack_require__(/*! ./tile */ "./src/tile.ts"); +Object.defineProperty(exports, "Tile", { enumerable: true, get: function () { return tile_1.Tile; } }); +var embed_1 = __webpack_require__(/*! ./embed */ "./src/embed.ts"); +Object.defineProperty(exports, "Embed", { enumerable: true, get: function () { return embed_1.Embed; } }); +var page_1 = __webpack_require__(/*! ./page */ "./src/page.ts"); +Object.defineProperty(exports, "Page", { enumerable: true, get: function () { return page_1.Page; } }); +var qna_1 = __webpack_require__(/*! ./qna */ "./src/qna.ts"); +Object.defineProperty(exports, "Qna", { enumerable: true, get: function () { return qna_1.Qna; } }); +var visual_1 = __webpack_require__(/*! ./visual */ "./src/visual.ts"); +Object.defineProperty(exports, "Visual", { enumerable: true, get: function () { return visual_1.Visual; } }); +var visualDescriptor_1 = __webpack_require__(/*! ./visualDescriptor */ "./src/visualDescriptor.ts"); +Object.defineProperty(exports, "VisualDescriptor", { enumerable: true, get: function () { return visualDescriptor_1.VisualDescriptor; } }); +/** + * Makes Power BI available to the global object for use in applications that don't have module loading support. + * + * Note: create an instance of the class with the default configuration for normal usage, or save the class so that you can create an instance of the service. + */ +var powerbi = new service.Service(factories.hpmFactory, factories.wpmpFactory, factories.routerFactory); +window.powerbi = powerbi; /***/ }), @@ -7295,142 +7298,142 @@ window.powerbi = powerbi; /*! no static exports found */ /***/ (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 __()); - }; -})(); -var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { - function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } - return new (P || (P = Promise))(function (resolve, reject) { - function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } - function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } - function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } - step((generator = generator.apply(thisArg, _arguments || [])).next()); - }); -}; -var __generator = (this && this.__generator) || function (thisArg, body) { - var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g; - return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g; - function verb(n) { return function (v) { return step([n, v]); }; } - function step(op) { - if (f) throw new TypeError("Generator is already executing."); - while (_) try { - if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t; - if (y = 0, t) op = [op[0] & 2, t.value]; - switch (op[0]) { - case 0: case 1: t = op; break; - case 4: _.label++; return { value: op[1], done: false }; - case 5: _.label++; y = op[1]; op = [0]; continue; - case 7: op = _.ops.pop(); _.trys.pop(); continue; - default: - if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; } - if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; } - if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; } - if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; } - if (t[2]) _.ops.pop(); - _.trys.pop(); continue; - } - op = body.call(thisArg, _); - } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; } - if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true }; - } -}; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.Qna = void 0; -var models = __webpack_require__(/*! powerbi-models */ "./node_modules/powerbi-models/dist/models.js"); -var embed = __webpack_require__(/*! ./embed */ "./src/embed.ts"); -/** - * The Power BI Q&A embed component - * - * @export - * @class Qna - * @extends {Embed} - */ -var Qna = /** @class */ (function (_super) { - __extends(Qna, _super); - /** - * @hidden - */ - function Qna(service, element, config, phasedRender, isBootstrap) { - var _this = _super.call(this, service, element, config, /* iframe */ undefined, phasedRender, isBootstrap) || this; - _this.loadPath = "/qna/load"; - _this.phasedLoadPath = "/qna/prepare"; - Array.prototype.push.apply(_this.allowedEvents, Qna.allowedEvents); - return _this; - } - /** - * The ID of the Q&A embed component - * - * @returns {string} - */ - Qna.prototype.getId = function () { - return null; - }; - /** - * Change the question of the Q&A embed component - * - * @param {string} question - question which will render Q&A data - * @returns {Promise>} - */ - Qna.prototype.setQuestion = function (question) { - return __awaiter(this, void 0, void 0, function () { - var qnaData, response_1; - return __generator(this, function (_a) { - switch (_a.label) { - case 0: - qnaData = { - question: question - }; - _a.label = 1; - case 1: - _a.trys.push([1, 3, , 4]); - return [4 /*yield*/, this.service.hpm.post('/qna/interpret', qnaData, { uid: this.config.uniqueId }, this.iframe.contentWindow)]; - case 2: return [2 /*return*/, _a.sent()]; - case 3: - response_1 = _a.sent(); - throw response_1.body; - case 4: return [2 /*return*/]; - } - }); - }); - }; - /** - * Handle config changes. - * - * @returns {void} - */ - Qna.prototype.configChanged = function (isBootstrap) { - // Nothing to do in Q&A embed. - }; - /** - * @hidden - * @returns {string} - */ - Qna.prototype.getDefaultEmbedUrlEndpoint = function () { - return "qnaEmbed"; - }; - /** - * Validate load configuration. - */ - Qna.prototype.validate = function (config) { - return models.validateLoadQnaConfiguration(config); - }; - /** @hidden */ - Qna.type = "Qna"; - /** @hidden */ - Qna.allowedEvents = ["loaded", "visualRendered"]; - return Qna; -}(embed.Embed)); -exports.Qna = Qna; +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 (Object.prototype.hasOwnProperty.call(b, 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 __()); + }; +})(); +var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { + function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } + return new (P || (P = Promise))(function (resolve, reject) { + function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } + function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } + function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } + step((generator = generator.apply(thisArg, _arguments || [])).next()); + }); +}; +var __generator = (this && this.__generator) || function (thisArg, body) { + var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g; + return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g; + function verb(n) { return function (v) { return step([n, v]); }; } + function step(op) { + if (f) throw new TypeError("Generator is already executing."); + while (_) try { + if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t; + if (y = 0, t) op = [op[0] & 2, t.value]; + switch (op[0]) { + case 0: case 1: t = op; break; + case 4: _.label++; return { value: op[1], done: false }; + case 5: _.label++; y = op[1]; op = [0]; continue; + case 7: op = _.ops.pop(); _.trys.pop(); continue; + default: + if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; } + if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; } + if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; } + if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; } + if (t[2]) _.ops.pop(); + _.trys.pop(); continue; + } + op = body.call(thisArg, _); + } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; } + if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true }; + } +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.Qna = void 0; +var models = __webpack_require__(/*! powerbi-models */ "./node_modules/powerbi-models/dist/models.js"); +var embed = __webpack_require__(/*! ./embed */ "./src/embed.ts"); +/** + * The Power BI Q&A embed component + * + * @export + * @class Qna + * @extends {Embed} + */ +var Qna = /** @class */ (function (_super) { + __extends(Qna, _super); + /** + * @hidden + */ + function Qna(service, element, config, phasedRender, isBootstrap) { + var _this = _super.call(this, service, element, config, /* iframe */ undefined, phasedRender, isBootstrap) || this; + _this.loadPath = "/qna/load"; + _this.phasedLoadPath = "/qna/prepare"; + Array.prototype.push.apply(_this.allowedEvents, Qna.allowedEvents); + return _this; + } + /** + * The ID of the Q&A embed component + * + * @returns {string} + */ + Qna.prototype.getId = function () { + return null; + }; + /** + * Change the question of the Q&A embed component + * + * @param {string} question - question which will render Q&A data + * @returns {Promise>} + */ + Qna.prototype.setQuestion = function (question) { + return __awaiter(this, void 0, void 0, function () { + var qnaData, response_1; + return __generator(this, function (_a) { + switch (_a.label) { + case 0: + qnaData = { + question: question + }; + _a.label = 1; + case 1: + _a.trys.push([1, 3, , 4]); + return [4 /*yield*/, this.service.hpm.post('/qna/interpret', qnaData, { uid: this.config.uniqueId }, this.iframe.contentWindow)]; + case 2: return [2 /*return*/, _a.sent()]; + case 3: + response_1 = _a.sent(); + throw response_1.body; + case 4: return [2 /*return*/]; + } + }); + }); + }; + /** + * Handle config changes. + * + * @returns {void} + */ + Qna.prototype.configChanged = function (isBootstrap) { + // Nothing to do in Q&A embed. + }; + /** + * @hidden + * @returns {string} + */ + Qna.prototype.getDefaultEmbedUrlEndpoint = function () { + return "qnaEmbed"; + }; + /** + * Validate load configuration. + */ + Qna.prototype.validate = function (config) { + return models.validateLoadQnaConfiguration(config); + }; + /** @hidden */ + Qna.type = "Qna"; + /** @hidden */ + Qna.allowedEvents = ["loaded", "visualRendered"]; + return Qna; +}(embed.Embed)); +exports.Qna = Qna; /***/ }), @@ -7442,814 +7445,814 @@ exports.Qna = Qna; /*! no static exports found */ /***/ (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 __()); - }; -})(); -var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { - function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } - return new (P || (P = Promise))(function (resolve, reject) { - function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } - function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } - function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } - step((generator = generator.apply(thisArg, _arguments || [])).next()); - }); -}; -var __generator = (this && this.__generator) || function (thisArg, body) { - var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g; - return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g; - function verb(n) { return function (v) { return step([n, v]); }; } - function step(op) { - if (f) throw new TypeError("Generator is already executing."); - while (_) try { - if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t; - if (y = 0, t) op = [op[0] & 2, t.value]; - switch (op[0]) { - case 0: case 1: t = op; break; - case 4: _.label++; return { value: op[1], done: false }; - case 5: _.label++; y = op[1]; op = [0]; continue; - case 7: op = _.ops.pop(); _.trys.pop(); continue; - default: - if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; } - if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; } - if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; } - if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; } - if (t[2]) _.ops.pop(); - _.trys.pop(); continue; - } - op = body.call(thisArg, _); - } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; } - if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true }; - } -}; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.Report = void 0; -var embed = __webpack_require__(/*! ./embed */ "./src/embed.ts"); -var models = __webpack_require__(/*! powerbi-models */ "./node_modules/powerbi-models/dist/models.js"); -var utils = __webpack_require__(/*! ./util */ "./src/util.ts"); -var errors = __webpack_require__(/*! ./errors */ "./src/errors.ts"); -var page_1 = __webpack_require__(/*! ./page */ "./src/page.ts"); -var bookmarksManager_1 = __webpack_require__(/*! ./bookmarksManager */ "./src/bookmarksManager.ts"); -/** - * The Power BI Report embed component - * - * @export - * @class Report - * @extends {embed.Embed} - * @implements {IReportNode} - * @implements {IFilterable} - */ -var Report = /** @class */ (function (_super) { - __extends(Report, _super); - /** - * Creates an instance of a Power BI Report. - * - * @param {service.Service} service - * @param {HTMLElement} element - * @param {embed.IEmbedConfiguration} config - * @hidden - */ - function Report(service, element, baseConfig, phasedRender, isBootstrap, iframe) { - var _this = this; - var config = baseConfig; - _this = _super.call(this, service, element, config, iframe, phasedRender, isBootstrap) || this; - _this.loadPath = "/report/load"; - _this.phasedLoadPath = "/report/prepare"; - Array.prototype.push.apply(_this.allowedEvents, Report.allowedEvents); - _this.bookmarksManager = new bookmarksManager_1.BookmarksManager(service, config, _this.iframe); - return _this; - } - /** - * Adds backwards compatibility for the previous load configuration, which used the reportId query parameter to specify the report ID - * (e.g. http://embedded.powerbi.com/appTokenReportEmbed?reportId=854846ed-2106-4dc2-bc58-eb77533bf2f1). - * - * 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} - */ - Report.findIdFromEmbedUrl = function (url) { - var reportIdRegEx = /reportId="?([^&]+)"?/; - var reportIdMatch = url.match(reportIdRegEx); - var reportId; - if (reportIdMatch) { - reportId = reportIdMatch[1]; - } - return reportId; - }; - /** - * Render a preloaded report, using phased embedding API - * - * ```javascript - * // Load report - * var report = powerbi.load(element, config); - * - * ... - * - * // Render report - * report.render() - * ``` - * - * @returns {Promise} - */ - Report.prototype.render = function (config) { - return __awaiter(this, void 0, void 0, function () { - var response, response_1; - return __generator(this, function (_a) { - switch (_a.label) { - case 0: - _a.trys.push([0, 2, , 3]); - return [4 /*yield*/, this.service.hpm.post("/report/render", config, { uid: this.config.uniqueId }, this.iframe.contentWindow)]; - case 1: - response = _a.sent(); - return [2 /*return*/, response.body]; - case 2: - response_1 = _a.sent(); - throw response_1.body; - case 3: return [2 /*return*/]; - } - }); - }); - }; - /** - * 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) { - return __awaiter(this, void 0, void 0, function () { - var request, response, page, response_2; - return __generator(this, function (_a) { - switch (_a.label) { - case 0: - request = { - displayName: displayName - }; - _a.label = 1; - case 1: - _a.trys.push([1, 3, , 4]); - return [4 /*yield*/, this.service.hpm.post("/report/addPage", request, { uid: this.config.uniqueId }, this.iframe.contentWindow)]; - case 2: - response = _a.sent(); - page = response.body; - return [2 /*return*/, new page_1.Page(this, page.name, page.displayName, page.isActive, page.visibility, page.defaultSize, page.defaultDisplayOption)]; - case 3: - response_2 = _a.sent(); - throw response_2.body; - case 4: return [2 /*return*/]; - } - }); - }); - }; - /** - * 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("ReportSection145"); - * ``` - * - * @returns {Promise} - */ - Report.prototype.deletePage = function (pageName) { - return __awaiter(this, void 0, void 0, function () { - var response, response_3; - return __generator(this, function (_a) { - switch (_a.label) { - case 0: - _a.trys.push([0, 2, , 3]); - return [4 /*yield*/, this.service.hpm.delete("/report/pages/" + pageName, {}, { uid: this.config.uniqueId }, this.iframe.contentWindow)]; - case 1: - response = _a.sent(); - return [2 /*return*/, response.body]; - case 2: - response_3 = _a.sent(); - throw response_3.body; - case 3: return [2 /*return*/]; - } - }); - }); - }; - /** - * Rename a page from a report - * - * ```javascript - * // Rename a page from a report by changing displayName (pageName is different from the display name and can be acquired from the getPages API) - * report.renamePage("ReportSection145", "Sales"); - * ``` - * - * @returns {Promise} - */ - Report.prototype.renamePage = function (pageName, displayName) { - return __awaiter(this, void 0, void 0, function () { - var page, response, response_4; - return __generator(this, function (_a) { - switch (_a.label) { - case 0: - page = { - name: pageName, - displayName: displayName, - }; - _a.label = 1; - case 1: - _a.trys.push([1, 3, , 4]); - return [4 /*yield*/, this.service.hpm.put("/report/pages/" + pageName + "/name", page, { uid: this.config.uniqueId }, this.iframe.contentWindow)]; - case 2: - response = _a.sent(); - return [2 /*return*/, response.body]; - case 3: - response_4 = _a.sent(); - throw response_4.body; - case 4: return [2 /*return*/]; - } - }); - }); - }; - /** - * Gets filters that are applied at the report level. - * - * ```javascript - * // Get filters applied at report level - * report.getFilters() - * .then(filters => { - * ... - * }); - * ``` - * - * @returns {Promise} - */ - Report.prototype.getFilters = function () { - return __awaiter(this, void 0, void 0, function () { - var response, response_5; - return __generator(this, function (_a) { - switch (_a.label) { - case 0: - if (utils.isRDLEmbed(this.config.embedUrl)) { - return [2 /*return*/, Promise.reject(errors.APINotSupportedForRDLError)]; - } - _a.label = 1; - case 1: - _a.trys.push([1, 3, , 4]); - return [4 /*yield*/, this.service.hpm.get("/report/filters", { uid: this.config.uniqueId }, this.iframe.contentWindow)]; - case 2: - response = _a.sent(); - return [2 /*return*/, response.body]; - case 3: - response_5 = _a.sent(); - throw response_5.body; - case 4: return [2 /*return*/]; - } - }); - }); - }; - /** - * Gets the report ID from the first available location: options, attribute, embed url. - * - * @returns {string} - */ - Report.prototype.getId = function () { - var config = this.config; - var reportId = config.id || this.element.getAttribute(Report.reportIdAttribute) || Report.findIdFromEmbedUrl(config.embedUrl); - if (typeof reportId !== 'string' || reportId.length === 0) { - throw new Error("Report id is required, but it was not found. You must provide an id either as part of embed configuration or as attribute '" + Report.reportIdAttribute + "'."); - } - return reportId; - }; - /** - * Gets the list of pages within the report. - * - * ```javascript - * report.getPages() - * .then(pages => { - * ... - * }); - * ``` - * - * @returns {Promise} - */ - Report.prototype.getPages = function () { - return __awaiter(this, void 0, void 0, function () { - var response, response_6; - var _this = this; - return __generator(this, function (_a) { - switch (_a.label) { - case 0: - if (utils.isRDLEmbed(this.config.embedUrl)) { - return [2 /*return*/, Promise.reject(errors.APINotSupportedForRDLError)]; - } - _a.label = 1; - case 1: - _a.trys.push([1, 3, , 4]); - return [4 /*yield*/, this.service.hpm.get('/report/pages', { uid: this.config.uniqueId }, this.iframe.contentWindow)]; - case 2: - response = _a.sent(); - return [2 /*return*/, response.body - .map(function (page) { - return new page_1.Page(_this, page.name, page.displayName, page.isActive, page.visibility, page.defaultSize, page.defaultDisplayOption); - })]; - case 3: - response_6 = _a.sent(); - throw response_6.body; - case 4: return [2 /*return*/]; - } - }); - }); - }; - /** - * Creates an instance of a Page. - * - * Normally you would get Page objects by calling `report.getPages()`, but in the case - * that the page name is known and you want to perform an action on a page without having to retrieve it - * you can create it directly. - * - * Note: Because you are creating the page manually there is no guarantee that the page actually exists in the report, and subsequent requests could fail. - * - * @param {string} name - * @param {string} [displayName] - * @param {boolean} [isActive] - * @returns {Page} - * @hidden - */ - Report.prototype.page = function (name, displayName, isActive, visibility) { - return new page_1.Page(this, name, displayName, isActive, visibility); - }; - /** - * Prints the active page of the report by invoking `window.print()` on the embed iframe component. - */ - Report.prototype.print = function () { - return __awaiter(this, void 0, void 0, function () { - var response, response_7; - return __generator(this, function (_a) { - switch (_a.label) { - case 0: - if (utils.isRDLEmbed(this.config.embedUrl)) { - return [2 /*return*/, Promise.reject(errors.APINotSupportedForRDLError)]; - } - _a.label = 1; - case 1: - _a.trys.push([1, 3, , 4]); - return [4 /*yield*/, this.service.hpm.post('/report/print', null, { uid: this.config.uniqueId }, this.iframe.contentWindow)]; - case 2: - response = _a.sent(); - return [2 /*return*/, response.body]; - case 3: - response_7 = _a.sent(); - throw response_7.body; - case 4: return [2 /*return*/]; - } - }); - }); - }; - /** - * Removes all filters at the report level. - * - * ```javascript - * report.removeFilters(); - * ``` - * - * @returns {Promise>} - */ - Report.prototype.removeFilters = function () { - return __awaiter(this, void 0, void 0, function () { - return __generator(this, function (_a) { - switch (_a.label) { - case 0: - if (utils.isRDLEmbed(this.config.embedUrl)) { - return [2 /*return*/, Promise.reject(errors.APINotSupportedForRDLError)]; - } - return [4 /*yield*/, this.setFilters([])]; - case 1: return [2 /*return*/, _a.sent()]; - } - }); - }); - }; - /** - * Sets the active page of the report. - * - * ```javascript - * report.setPage("page2") - * .catch(error => { ... }); - * ``` - * - * @param {string} pageName - * @returns {Promise>} - */ - Report.prototype.setPage = function (pageName) { - return __awaiter(this, void 0, void 0, function () { - var page, response_8; - return __generator(this, function (_a) { - switch (_a.label) { - case 0: - if (utils.isRDLEmbed(this.config.embedUrl)) { - return [2 /*return*/, Promise.reject(errors.APINotSupportedForRDLError)]; - } - page = { - name: pageName, - displayName: null, - isActive: true - }; - _a.label = 1; - case 1: - _a.trys.push([1, 3, , 4]); - return [4 /*yield*/, this.service.hpm.put('/report/pages/active', page, { uid: this.config.uniqueId }, this.iframe.contentWindow)]; - case 2: return [2 /*return*/, _a.sent()]; - case 3: - response_8 = _a.sent(); - throw response_8.body; - case 4: return [2 /*return*/]; - } - }); - }); - }; - /** - * Sets filters at the report level. - * - * ```javascript - * const filters: [ - * ... - * ]; - * - * report.setFilters(filters) - * .catch(errors => { - * ... - * }); - * ``` - * - * @param {(models.IFilter[])} filters - * @returns {Promise>} - */ - Report.prototype.setFilters = function (filters) { - return __awaiter(this, void 0, void 0, function () { - var response_9; - return __generator(this, function (_a) { - switch (_a.label) { - case 0: - if (utils.isRDLEmbed(this.config.embedUrl)) { - return [2 /*return*/, Promise.reject(errors.APINotSupportedForRDLError)]; - } - _a.label = 1; - case 1: - _a.trys.push([1, 3, , 4]); - return [4 /*yield*/, this.service.hpm.put("/report/filters", filters, { uid: this.config.uniqueId }, this.iframe.contentWindow)]; - case 2: return [2 /*return*/, _a.sent()]; - case 3: - response_9 = _a.sent(); - throw response_9.body; - case 4: return [2 /*return*/]; - } - }); - }); - }; - /** - * Updates visibility settings for the filter pane and the page navigation pane. - * - * ```javascript - * const newSettings = { - * navContentPaneEnabled: true, - * filterPaneEnabled: false - * }; - * - * report.updateSettings(newSettings) - * .catch(error => { ... }); - * ``` - * - * @param {models.ISettings} settings - * @returns {Promise>} - */ - Report.prototype.updateSettings = function (settings) { - return __awaiter(this, void 0, void 0, function () { - var response_10; - return __generator(this, function (_a) { - switch (_a.label) { - case 0: - if (utils.isRDLEmbed(this.config.embedUrl) && settings.customLayout != null) { - return [2 /*return*/, Promise.reject(errors.APINotSupportedForRDLError)]; - } - _a.label = 1; - case 1: - _a.trys.push([1, 3, , 4]); - return [4 /*yield*/, this.service.hpm.patch('/report/settings', settings, { uid: this.config.uniqueId }, this.iframe.contentWindow)]; - case 2: return [2 /*return*/, _a.sent()]; - case 3: - response_10 = _a.sent(); - throw response_10.body; - case 4: return [2 /*return*/]; - } - }); - }); - }; - /** - * Validate load configuration. - * - * @hidden - */ - Report.prototype.validate = function (config) { - return models.validateReportLoad(config); - }; - /** - * Handle config changes. - * - * @returns {void} - */ - Report.prototype.configChanged = function (isBootstrap) { - var config = this.config; - if (this.isMobileSettings(config.settings)) - config.embedUrl = utils.addParamToUrl(config.embedUrl, "isMobile", "true"); - // Calculate settings from HTML element attributes if available. - var filterPaneEnabledAttribute = this.element.getAttribute(Report.filterPaneEnabledAttribute); - var navContentPaneEnabledAttribute = this.element.getAttribute(Report.navContentPaneEnabledAttribute); - var elementAttrSettings = { - filterPaneEnabled: (filterPaneEnabledAttribute == null) ? undefined : (filterPaneEnabledAttribute !== "false"), - navContentPaneEnabled: (navContentPaneEnabledAttribute == null) ? undefined : (navContentPaneEnabledAttribute !== "false") - }; - // Set the settings back into the config. - this.config.settings = utils.assign({}, elementAttrSettings, config.settings); - if (isBootstrap) { - return; - } - config.id = this.getId(); - }; - /** - * @hidden - * @returns {string} - */ - Report.prototype.getDefaultEmbedUrlEndpoint = function () { - return "reportEmbed"; - }; - /** - * Switch Report view mode. - * - * @returns {Promise} - */ - Report.prototype.switchMode = function (viewMode) { - return __awaiter(this, void 0, void 0, function () { - var newMode, url, response, response_11; - return __generator(this, function (_a) { - switch (_a.label) { - case 0: - if (typeof viewMode === "string") { - newMode = viewMode; - } - else { - newMode = this.viewModeToString(viewMode); - } - url = '/report/switchMode/' + newMode; - _a.label = 1; - case 1: - _a.trys.push([1, 3, , 4]); - return [4 /*yield*/, this.service.hpm.post(url, null, { uid: this.config.uniqueId }, this.iframe.contentWindow)]; - case 2: - response = _a.sent(); - return [2 /*return*/, response.body]; - case 3: - response_11 = _a.sent(); - throw response_11.body; - case 4: return [2 /*return*/]; - } - }); - }); - }; - /** - * Refreshes data sources for the report. - * - * ```javascript - * report.refresh(); - * ``` - */ - Report.prototype.refresh = function () { - return __awaiter(this, void 0, void 0, function () { - var response, response_12; - return __generator(this, function (_a) { - switch (_a.label) { - case 0: - _a.trys.push([0, 2, , 3]); - return [4 /*yield*/, this.service.hpm.post('/report/refresh', null, { uid: this.config.uniqueId }, this.iframe.contentWindow)]; - case 1: - response = _a.sent(); - return [2 /*return*/, response.body]; - case 2: - response_12 = _a.sent(); - throw response_12.body; - case 3: return [2 /*return*/]; - } - }); - }); - }; - /** - * checks if the report is saved. - * - * ```javascript - * report.isSaved() - * ``` - * - * @returns {Promise} - */ - Report.prototype.isSaved = function () { - return __awaiter(this, void 0, void 0, function () { - return __generator(this, function (_a) { - switch (_a.label) { - case 0: - if (utils.isRDLEmbed(this.config.embedUrl)) { - return [2 /*return*/, Promise.reject(errors.APINotSupportedForRDLError)]; - } - return [4 /*yield*/, utils.isSavedInternal(this.service.hpm, this.config.uniqueId, this.iframe.contentWindow)]; - case 1: return [2 /*return*/, _a.sent()]; - } - }); - }); - }; - /** - * Apply a theme to the report - * - * ```javascript - * report.applyTheme(theme); - * ``` - */ - Report.prototype.applyTheme = function (theme) { - return __awaiter(this, void 0, void 0, function () { - return __generator(this, function (_a) { - switch (_a.label) { - case 0: - if (utils.isRDLEmbed(this.config.embedUrl)) { - return [2 /*return*/, Promise.reject(errors.APINotSupportedForRDLError)]; - } - return [4 /*yield*/, this.applyThemeInternal(theme)]; - case 1: return [2 /*return*/, _a.sent()]; - } - }); - }); - }; - /** - * Reset and apply the default theme of the report - * - * ```javascript - * report.resetTheme(); - * ``` - */ - Report.prototype.resetTheme = function () { - return __awaiter(this, void 0, void 0, function () { - return __generator(this, function (_a) { - switch (_a.label) { - case 0: - if (utils.isRDLEmbed(this.config.embedUrl)) { - return [2 /*return*/, Promise.reject(errors.APINotSupportedForRDLError)]; - } - return [4 /*yield*/, this.applyThemeInternal({})]; - case 1: return [2 /*return*/, _a.sent()]; - } - }); - }); - }; - /** - * Reset user's filters, slicers, and other data view changes to the default state of the report - * - * ```javascript - * report.resetPersistentFilters(); - * ``` - */ - Report.prototype.resetPersistentFilters = function () { - return __awaiter(this, void 0, void 0, function () { - var response_13; - return __generator(this, function (_a) { - switch (_a.label) { - case 0: - _a.trys.push([0, 2, , 3]); - return [4 /*yield*/, this.service.hpm.delete("/report/userState", null, { uid: this.config.uniqueId }, this.iframe.contentWindow)]; - case 1: return [2 /*return*/, _a.sent()]; - case 2: - response_13 = _a.sent(); - throw response_13.body; - case 3: return [2 /*return*/]; - } - }); - }); - }; - /** - * Save user's filters, slicers, and other data view changes of the report - * - * ```javascript - * report.savePersistentFilters(); - * ``` - */ - Report.prototype.savePersistentFilters = function () { - return __awaiter(this, void 0, void 0, function () { - var response_14; - return __generator(this, function (_a) { - switch (_a.label) { - case 0: - _a.trys.push([0, 2, , 3]); - return [4 /*yield*/, this.service.hpm.post("/report/userState", null, { uid: this.config.uniqueId }, this.iframe.contentWindow)]; - case 1: return [2 /*return*/, _a.sent()]; - case 2: - response_14 = _a.sent(); - throw response_14.body; - case 3: return [2 /*return*/]; - } - }); - }); - }; - /** - * Returns if there are user's filters, slicers, or other data view changes applied on the report. - * If persistent filters is disable, returns false. - * - * ```javascript - * report.arePersistentFiltersApplied(); - * ``` - * - * @returns {Promise} - */ - Report.prototype.arePersistentFiltersApplied = function () { - return __awaiter(this, void 0, void 0, function () { - var response, response_15; - return __generator(this, function (_a) { - switch (_a.label) { - case 0: - _a.trys.push([0, 2, , 3]); - return [4 /*yield*/, this.service.hpm.get("/report/isUserStateApplied", { uid: this.config.uniqueId }, this.iframe.contentWindow)]; - case 1: - response = _a.sent(); - return [2 /*return*/, response.body]; - case 2: - response_15 = _a.sent(); - throw response_15.body; - case 3: return [2 /*return*/]; - } - }); - }); - }; - /** - * @hidden - */ - Report.prototype.applyThemeInternal = function (theme) { - return __awaiter(this, void 0, void 0, function () { - var response, response_16; - return __generator(this, function (_a) { - switch (_a.label) { - case 0: - _a.trys.push([0, 2, , 3]); - return [4 /*yield*/, this.service.hpm.put('/report/theme', theme, { uid: this.config.uniqueId }, this.iframe.contentWindow)]; - case 1: - response = _a.sent(); - return [2 /*return*/, response.body]; - case 2: - response_16 = _a.sent(); - throw response_16.body; - case 3: return [2 /*return*/]; - } - }); - }); - }; - /** - * @hidden - */ - Report.prototype.viewModeToString = function (viewMode) { - var mode; - switch (viewMode) { - case models.ViewMode.Edit: - mode = "edit"; - break; - case models.ViewMode.View: - mode = "view"; - break; - } - 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", "visualRendered", "visualClicked", "selectionChanged"]; - /** @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)); -exports.Report = Report; +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 (Object.prototype.hasOwnProperty.call(b, 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 __()); + }; +})(); +var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { + function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } + return new (P || (P = Promise))(function (resolve, reject) { + function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } + function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } + function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } + step((generator = generator.apply(thisArg, _arguments || [])).next()); + }); +}; +var __generator = (this && this.__generator) || function (thisArg, body) { + var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g; + return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g; + function verb(n) { return function (v) { return step([n, v]); }; } + function step(op) { + if (f) throw new TypeError("Generator is already executing."); + while (_) try { + if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t; + if (y = 0, t) op = [op[0] & 2, t.value]; + switch (op[0]) { + case 0: case 1: t = op; break; + case 4: _.label++; return { value: op[1], done: false }; + case 5: _.label++; y = op[1]; op = [0]; continue; + case 7: op = _.ops.pop(); _.trys.pop(); continue; + default: + if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; } + if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; } + if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; } + if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; } + if (t[2]) _.ops.pop(); + _.trys.pop(); continue; + } + op = body.call(thisArg, _); + } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; } + if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true }; + } +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.Report = void 0; +var embed = __webpack_require__(/*! ./embed */ "./src/embed.ts"); +var models = __webpack_require__(/*! powerbi-models */ "./node_modules/powerbi-models/dist/models.js"); +var utils = __webpack_require__(/*! ./util */ "./src/util.ts"); +var errors = __webpack_require__(/*! ./errors */ "./src/errors.ts"); +var page_1 = __webpack_require__(/*! ./page */ "./src/page.ts"); +var bookmarksManager_1 = __webpack_require__(/*! ./bookmarksManager */ "./src/bookmarksManager.ts"); +/** + * The Power BI Report embed component + * + * @export + * @class Report + * @extends {embed.Embed} + * @implements {IReportNode} + * @implements {IFilterable} + */ +var Report = /** @class */ (function (_super) { + __extends(Report, _super); + /** + * Creates an instance of a Power BI Report. + * + * @param {service.Service} service + * @param {HTMLElement} element + * @param {embed.IEmbedConfiguration} config + * @hidden + */ + function Report(service, element, baseConfig, phasedRender, isBootstrap, iframe) { + var _this = this; + var config = baseConfig; + _this = _super.call(this, service, element, config, iframe, phasedRender, isBootstrap) || this; + _this.loadPath = "/report/load"; + _this.phasedLoadPath = "/report/prepare"; + Array.prototype.push.apply(_this.allowedEvents, Report.allowedEvents); + _this.bookmarksManager = new bookmarksManager_1.BookmarksManager(service, config, _this.iframe); + return _this; + } + /** + * Adds backwards compatibility for the previous load configuration, which used the reportId query parameter to specify the report ID + * (e.g. http://embedded.powerbi.com/appTokenReportEmbed?reportId=854846ed-2106-4dc2-bc58-eb77533bf2f1). + * + * 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} + */ + Report.findIdFromEmbedUrl = function (url) { + var reportIdRegEx = /reportId="?([^&]+)"?/; + var reportIdMatch = url.match(reportIdRegEx); + var reportId; + if (reportIdMatch) { + reportId = reportIdMatch[1]; + } + return reportId; + }; + /** + * Render a preloaded report, using phased embedding API + * + * ```javascript + * // Load report + * var report = powerbi.load(element, config); + * + * ... + * + * // Render report + * report.render() + * ``` + * + * @returns {Promise} + */ + Report.prototype.render = function (config) { + return __awaiter(this, void 0, void 0, function () { + var response, response_1; + return __generator(this, function (_a) { + switch (_a.label) { + case 0: + _a.trys.push([0, 2, , 3]); + return [4 /*yield*/, this.service.hpm.post("/report/render", config, { uid: this.config.uniqueId }, this.iframe.contentWindow)]; + case 1: + response = _a.sent(); + return [2 /*return*/, response.body]; + case 2: + response_1 = _a.sent(); + throw response_1.body; + case 3: return [2 /*return*/]; + } + }); + }); + }; + /** + * 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) { + return __awaiter(this, void 0, void 0, function () { + var request, response, page, response_2; + return __generator(this, function (_a) { + switch (_a.label) { + case 0: + request = { + displayName: displayName + }; + _a.label = 1; + case 1: + _a.trys.push([1, 3, , 4]); + return [4 /*yield*/, this.service.hpm.post("/report/addPage", request, { uid: this.config.uniqueId }, this.iframe.contentWindow)]; + case 2: + response = _a.sent(); + page = response.body; + return [2 /*return*/, new page_1.Page(this, page.name, page.displayName, page.isActive, page.visibility, page.defaultSize, page.defaultDisplayOption)]; + case 3: + response_2 = _a.sent(); + throw response_2.body; + case 4: return [2 /*return*/]; + } + }); + }); + }; + /** + * 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("ReportSection145"); + * ``` + * + * @returns {Promise} + */ + Report.prototype.deletePage = function (pageName) { + return __awaiter(this, void 0, void 0, function () { + var response, response_3; + return __generator(this, function (_a) { + switch (_a.label) { + case 0: + _a.trys.push([0, 2, , 3]); + return [4 /*yield*/, this.service.hpm.delete("/report/pages/" + pageName, {}, { uid: this.config.uniqueId }, this.iframe.contentWindow)]; + case 1: + response = _a.sent(); + return [2 /*return*/, response.body]; + case 2: + response_3 = _a.sent(); + throw response_3.body; + case 3: return [2 /*return*/]; + } + }); + }); + }; + /** + * Rename a page from a report + * + * ```javascript + * // Rename a page from a report by changing displayName (pageName is different from the display name and can be acquired from the getPages API) + * report.renamePage("ReportSection145", "Sales"); + * ``` + * + * @returns {Promise} + */ + Report.prototype.renamePage = function (pageName, displayName) { + return __awaiter(this, void 0, void 0, function () { + var page, response, response_4; + return __generator(this, function (_a) { + switch (_a.label) { + case 0: + page = { + name: pageName, + displayName: displayName, + }; + _a.label = 1; + case 1: + _a.trys.push([1, 3, , 4]); + return [4 /*yield*/, this.service.hpm.put("/report/pages/" + pageName + "/name", page, { uid: this.config.uniqueId }, this.iframe.contentWindow)]; + case 2: + response = _a.sent(); + return [2 /*return*/, response.body]; + case 3: + response_4 = _a.sent(); + throw response_4.body; + case 4: return [2 /*return*/]; + } + }); + }); + }; + /** + * Gets filters that are applied at the report level. + * + * ```javascript + * // Get filters applied at report level + * report.getFilters() + * .then(filters => { + * ... + * }); + * ``` + * + * @returns {Promise} + */ + Report.prototype.getFilters = function () { + return __awaiter(this, void 0, void 0, function () { + var response, response_5; + return __generator(this, function (_a) { + switch (_a.label) { + case 0: + if (utils.isRDLEmbed(this.config.embedUrl)) { + return [2 /*return*/, Promise.reject(errors.APINotSupportedForRDLError)]; + } + _a.label = 1; + case 1: + _a.trys.push([1, 3, , 4]); + return [4 /*yield*/, this.service.hpm.get("/report/filters", { uid: this.config.uniqueId }, this.iframe.contentWindow)]; + case 2: + response = _a.sent(); + return [2 /*return*/, response.body]; + case 3: + response_5 = _a.sent(); + throw response_5.body; + case 4: return [2 /*return*/]; + } + }); + }); + }; + /** + * Gets the report ID from the first available location: options, attribute, embed url. + * + * @returns {string} + */ + Report.prototype.getId = function () { + var config = this.config; + var reportId = config.id || this.element.getAttribute(Report.reportIdAttribute) || Report.findIdFromEmbedUrl(config.embedUrl); + if (typeof reportId !== 'string' || reportId.length === 0) { + throw new Error("Report id is required, but it was not found. You must provide an id either as part of embed configuration or as attribute '" + Report.reportIdAttribute + "'."); + } + return reportId; + }; + /** + * Gets the list of pages within the report. + * + * ```javascript + * report.getPages() + * .then(pages => { + * ... + * }); + * ``` + * + * @returns {Promise} + */ + Report.prototype.getPages = function () { + return __awaiter(this, void 0, void 0, function () { + var response, response_6; + var _this = this; + return __generator(this, function (_a) { + switch (_a.label) { + case 0: + if (utils.isRDLEmbed(this.config.embedUrl)) { + return [2 /*return*/, Promise.reject(errors.APINotSupportedForRDLError)]; + } + _a.label = 1; + case 1: + _a.trys.push([1, 3, , 4]); + return [4 /*yield*/, this.service.hpm.get('/report/pages', { uid: this.config.uniqueId }, this.iframe.contentWindow)]; + case 2: + response = _a.sent(); + return [2 /*return*/, response.body + .map(function (page) { + return new page_1.Page(_this, page.name, page.displayName, page.isActive, page.visibility, page.defaultSize, page.defaultDisplayOption); + })]; + case 3: + response_6 = _a.sent(); + throw response_6.body; + case 4: return [2 /*return*/]; + } + }); + }); + }; + /** + * Creates an instance of a Page. + * + * Normally you would get Page objects by calling `report.getPages()`, but in the case + * that the page name is known and you want to perform an action on a page without having to retrieve it + * you can create it directly. + * + * Note: Because you are creating the page manually there is no guarantee that the page actually exists in the report, and subsequent requests could fail. + * + * @param {string} name + * @param {string} [displayName] + * @param {boolean} [isActive] + * @returns {Page} + * @hidden + */ + Report.prototype.page = function (name, displayName, isActive, visibility) { + return new page_1.Page(this, name, displayName, isActive, visibility); + }; + /** + * Prints the active page of the report by invoking `window.print()` on the embed iframe component. + */ + Report.prototype.print = function () { + return __awaiter(this, void 0, void 0, function () { + var response, response_7; + return __generator(this, function (_a) { + switch (_a.label) { + case 0: + if (utils.isRDLEmbed(this.config.embedUrl)) { + return [2 /*return*/, Promise.reject(errors.APINotSupportedForRDLError)]; + } + _a.label = 1; + case 1: + _a.trys.push([1, 3, , 4]); + return [4 /*yield*/, this.service.hpm.post('/report/print', null, { uid: this.config.uniqueId }, this.iframe.contentWindow)]; + case 2: + response = _a.sent(); + return [2 /*return*/, response.body]; + case 3: + response_7 = _a.sent(); + throw response_7.body; + case 4: return [2 /*return*/]; + } + }); + }); + }; + /** + * Removes all filters at the report level. + * + * ```javascript + * report.removeFilters(); + * ``` + * + * @returns {Promise>} + */ + Report.prototype.removeFilters = function () { + return __awaiter(this, void 0, void 0, function () { + return __generator(this, function (_a) { + switch (_a.label) { + case 0: + if (utils.isRDLEmbed(this.config.embedUrl)) { + return [2 /*return*/, Promise.reject(errors.APINotSupportedForRDLError)]; + } + return [4 /*yield*/, this.setFilters([])]; + case 1: return [2 /*return*/, _a.sent()]; + } + }); + }); + }; + /** + * Sets the active page of the report. + * + * ```javascript + * report.setPage("page2") + * .catch(error => { ... }); + * ``` + * + * @param {string} pageName + * @returns {Promise>} + */ + Report.prototype.setPage = function (pageName) { + return __awaiter(this, void 0, void 0, function () { + var page, response_8; + return __generator(this, function (_a) { + switch (_a.label) { + case 0: + if (utils.isRDLEmbed(this.config.embedUrl)) { + return [2 /*return*/, Promise.reject(errors.APINotSupportedForRDLError)]; + } + page = { + name: pageName, + displayName: null, + isActive: true + }; + _a.label = 1; + case 1: + _a.trys.push([1, 3, , 4]); + return [4 /*yield*/, this.service.hpm.put('/report/pages/active', page, { uid: this.config.uniqueId }, this.iframe.contentWindow)]; + case 2: return [2 /*return*/, _a.sent()]; + case 3: + response_8 = _a.sent(); + throw response_8.body; + case 4: return [2 /*return*/]; + } + }); + }); + }; + /** + * Sets filters at the report level. + * + * ```javascript + * const filters: [ + * ... + * ]; + * + * report.setFilters(filters) + * .catch(errors => { + * ... + * }); + * ``` + * + * @param {(models.IFilter[])} filters + * @returns {Promise>} + */ + Report.prototype.setFilters = function (filters) { + return __awaiter(this, void 0, void 0, function () { + var response_9; + return __generator(this, function (_a) { + switch (_a.label) { + case 0: + if (utils.isRDLEmbed(this.config.embedUrl)) { + return [2 /*return*/, Promise.reject(errors.APINotSupportedForRDLError)]; + } + _a.label = 1; + case 1: + _a.trys.push([1, 3, , 4]); + return [4 /*yield*/, this.service.hpm.put("/report/filters", filters, { uid: this.config.uniqueId }, this.iframe.contentWindow)]; + case 2: return [2 /*return*/, _a.sent()]; + case 3: + response_9 = _a.sent(); + throw response_9.body; + case 4: return [2 /*return*/]; + } + }); + }); + }; + /** + * Updates visibility settings for the filter pane and the page navigation pane. + * + * ```javascript + * const newSettings = { + * navContentPaneEnabled: true, + * filterPaneEnabled: false + * }; + * + * report.updateSettings(newSettings) + * .catch(error => { ... }); + * ``` + * + * @param {models.ISettings} settings + * @returns {Promise>} + */ + Report.prototype.updateSettings = function (settings) { + return __awaiter(this, void 0, void 0, function () { + var response_10; + return __generator(this, function (_a) { + switch (_a.label) { + case 0: + if (utils.isRDLEmbed(this.config.embedUrl) && settings.customLayout != null) { + return [2 /*return*/, Promise.reject(errors.APINotSupportedForRDLError)]; + } + _a.label = 1; + case 1: + _a.trys.push([1, 3, , 4]); + return [4 /*yield*/, this.service.hpm.patch('/report/settings', settings, { uid: this.config.uniqueId }, this.iframe.contentWindow)]; + case 2: return [2 /*return*/, _a.sent()]; + case 3: + response_10 = _a.sent(); + throw response_10.body; + case 4: return [2 /*return*/]; + } + }); + }); + }; + /** + * Validate load configuration. + * + * @hidden + */ + Report.prototype.validate = function (config) { + return models.validateReportLoad(config); + }; + /** + * Handle config changes. + * + * @returns {void} + */ + Report.prototype.configChanged = function (isBootstrap) { + var config = this.config; + if (this.isMobileSettings(config.settings)) + config.embedUrl = utils.addParamToUrl(config.embedUrl, "isMobile", "true"); + // Calculate settings from HTML element attributes if available. + var filterPaneEnabledAttribute = this.element.getAttribute(Report.filterPaneEnabledAttribute); + var navContentPaneEnabledAttribute = this.element.getAttribute(Report.navContentPaneEnabledAttribute); + var elementAttrSettings = { + filterPaneEnabled: (filterPaneEnabledAttribute == null) ? undefined : (filterPaneEnabledAttribute !== "false"), + navContentPaneEnabled: (navContentPaneEnabledAttribute == null) ? undefined : (navContentPaneEnabledAttribute !== "false") + }; + // Set the settings back into the config. + this.config.settings = utils.assign({}, elementAttrSettings, config.settings); + if (isBootstrap) { + return; + } + config.id = this.getId(); + }; + /** + * @hidden + * @returns {string} + */ + Report.prototype.getDefaultEmbedUrlEndpoint = function () { + return "reportEmbed"; + }; + /** + * Switch Report view mode. + * + * @returns {Promise} + */ + Report.prototype.switchMode = function (viewMode) { + return __awaiter(this, void 0, void 0, function () { + var newMode, url, response, response_11; + return __generator(this, function (_a) { + switch (_a.label) { + case 0: + if (typeof viewMode === "string") { + newMode = viewMode; + } + else { + newMode = this.viewModeToString(viewMode); + } + url = '/report/switchMode/' + newMode; + _a.label = 1; + case 1: + _a.trys.push([1, 3, , 4]); + return [4 /*yield*/, this.service.hpm.post(url, null, { uid: this.config.uniqueId }, this.iframe.contentWindow)]; + case 2: + response = _a.sent(); + return [2 /*return*/, response.body]; + case 3: + response_11 = _a.sent(); + throw response_11.body; + case 4: return [2 /*return*/]; + } + }); + }); + }; + /** + * Refreshes data sources for the report. + * + * ```javascript + * report.refresh(); + * ``` + */ + Report.prototype.refresh = function () { + return __awaiter(this, void 0, void 0, function () { + var response, response_12; + return __generator(this, function (_a) { + switch (_a.label) { + case 0: + _a.trys.push([0, 2, , 3]); + return [4 /*yield*/, this.service.hpm.post('/report/refresh', null, { uid: this.config.uniqueId }, this.iframe.contentWindow)]; + case 1: + response = _a.sent(); + return [2 /*return*/, response.body]; + case 2: + response_12 = _a.sent(); + throw response_12.body; + case 3: return [2 /*return*/]; + } + }); + }); + }; + /** + * checks if the report is saved. + * + * ```javascript + * report.isSaved() + * ``` + * + * @returns {Promise} + */ + Report.prototype.isSaved = function () { + return __awaiter(this, void 0, void 0, function () { + return __generator(this, function (_a) { + switch (_a.label) { + case 0: + if (utils.isRDLEmbed(this.config.embedUrl)) { + return [2 /*return*/, Promise.reject(errors.APINotSupportedForRDLError)]; + } + return [4 /*yield*/, utils.isSavedInternal(this.service.hpm, this.config.uniqueId, this.iframe.contentWindow)]; + case 1: return [2 /*return*/, _a.sent()]; + } + }); + }); + }; + /** + * Apply a theme to the report + * + * ```javascript + * report.applyTheme(theme); + * ``` + */ + Report.prototype.applyTheme = function (theme) { + return __awaiter(this, void 0, void 0, function () { + return __generator(this, function (_a) { + switch (_a.label) { + case 0: + if (utils.isRDLEmbed(this.config.embedUrl)) { + return [2 /*return*/, Promise.reject(errors.APINotSupportedForRDLError)]; + } + return [4 /*yield*/, this.applyThemeInternal(theme)]; + case 1: return [2 /*return*/, _a.sent()]; + } + }); + }); + }; + /** + * Reset and apply the default theme of the report + * + * ```javascript + * report.resetTheme(); + * ``` + */ + Report.prototype.resetTheme = function () { + return __awaiter(this, void 0, void 0, function () { + return __generator(this, function (_a) { + switch (_a.label) { + case 0: + if (utils.isRDLEmbed(this.config.embedUrl)) { + return [2 /*return*/, Promise.reject(errors.APINotSupportedForRDLError)]; + } + return [4 /*yield*/, this.applyThemeInternal({})]; + case 1: return [2 /*return*/, _a.sent()]; + } + }); + }); + }; + /** + * Reset user's filters, slicers, and other data view changes to the default state of the report + * + * ```javascript + * report.resetPersistentFilters(); + * ``` + */ + Report.prototype.resetPersistentFilters = function () { + return __awaiter(this, void 0, void 0, function () { + var response_13; + return __generator(this, function (_a) { + switch (_a.label) { + case 0: + _a.trys.push([0, 2, , 3]); + return [4 /*yield*/, this.service.hpm.delete("/report/userState", null, { uid: this.config.uniqueId }, this.iframe.contentWindow)]; + case 1: return [2 /*return*/, _a.sent()]; + case 2: + response_13 = _a.sent(); + throw response_13.body; + case 3: return [2 /*return*/]; + } + }); + }); + }; + /** + * Save user's filters, slicers, and other data view changes of the report + * + * ```javascript + * report.savePersistentFilters(); + * ``` + */ + Report.prototype.savePersistentFilters = function () { + return __awaiter(this, void 0, void 0, function () { + var response_14; + return __generator(this, function (_a) { + switch (_a.label) { + case 0: + _a.trys.push([0, 2, , 3]); + return [4 /*yield*/, this.service.hpm.post("/report/userState", null, { uid: this.config.uniqueId }, this.iframe.contentWindow)]; + case 1: return [2 /*return*/, _a.sent()]; + case 2: + response_14 = _a.sent(); + throw response_14.body; + case 3: return [2 /*return*/]; + } + }); + }); + }; + /** + * Returns if there are user's filters, slicers, or other data view changes applied on the report. + * If persistent filters is disable, returns false. + * + * ```javascript + * report.arePersistentFiltersApplied(); + * ``` + * + * @returns {Promise} + */ + Report.prototype.arePersistentFiltersApplied = function () { + return __awaiter(this, void 0, void 0, function () { + var response, response_15; + return __generator(this, function (_a) { + switch (_a.label) { + case 0: + _a.trys.push([0, 2, , 3]); + return [4 /*yield*/, this.service.hpm.get("/report/isUserStateApplied", { uid: this.config.uniqueId }, this.iframe.contentWindow)]; + case 1: + response = _a.sent(); + return [2 /*return*/, response.body]; + case 2: + response_15 = _a.sent(); + throw response_15.body; + case 3: return [2 /*return*/]; + } + }); + }); + }; + /** + * @hidden + */ + Report.prototype.applyThemeInternal = function (theme) { + return __awaiter(this, void 0, void 0, function () { + var response, response_16; + return __generator(this, function (_a) { + switch (_a.label) { + case 0: + _a.trys.push([0, 2, , 3]); + return [4 /*yield*/, this.service.hpm.put('/report/theme', theme, { uid: this.config.uniqueId }, this.iframe.contentWindow)]; + case 1: + response = _a.sent(); + return [2 /*return*/, response.body]; + case 2: + response_16 = _a.sent(); + throw response_16.body; + case 3: return [2 /*return*/]; + } + }); + }); + }; + /** + * @hidden + */ + Report.prototype.viewModeToString = function (viewMode) { + var mode; + switch (viewMode) { + case models.ViewMode.Edit: + mode = "edit"; + break; + case models.ViewMode.View: + mode = "view"; + break; + } + 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", "visualRendered", "visualClicked", "selectionChanged"]; + /** @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)); +exports.Report = Report; /***/ }), @@ -8261,446 +8264,446 @@ exports.Report = Report; /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { -Object.defineProperty(exports, "__esModule", { value: true }); -exports.Service = void 0; -var embed = __webpack_require__(/*! ./embed */ "./src/embed.ts"); -var report_1 = __webpack_require__(/*! ./report */ "./src/report.ts"); -var create_1 = __webpack_require__(/*! ./create */ "./src/create.ts"); -var dashboard_1 = __webpack_require__(/*! ./dashboard */ "./src/dashboard.ts"); -var tile_1 = __webpack_require__(/*! ./tile */ "./src/tile.ts"); -var page_1 = __webpack_require__(/*! ./page */ "./src/page.ts"); -var qna_1 = __webpack_require__(/*! ./qna */ "./src/qna.ts"); -var visual_1 = __webpack_require__(/*! ./visual */ "./src/visual.ts"); -var utils = __webpack_require__(/*! ./util */ "./src/util.ts"); -/** - * The Power BI Service embed component, which is the entry point to embed all other Power BI components into your application - * - * @export - * @class Service - * @implements {IService} - */ -var Service = /** @class */ (function () { - /** - * Creates an instance of a Power BI Service. - * - * @param {IHpmFactory} hpmFactory The http post message factory used in the postMessage communication layer - * @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; - if (config === void 0) { config = {}; } - this.wpmp = wpmpFactory(config.wpmpName, config.logMessages); - this.hpm = hpmFactory(this.wpmp, null, config.version, config.type); - this.router = routerFactory(this.wpmp); - this.uniqueSessionId = utils.generateUUID(); - /** - * Adds handler for report events. - */ - this.router.post("/reports/:uniqueId/events/:eventName", function (req, res) { - var event = { - type: 'report', - id: req.params.uniqueId, - name: req.params.eventName, - value: req.body - }; - _this.handleEvent(event); - }); - this.router.post("/reports/:uniqueId/pages/:pageName/events/:eventName", function (req, res) { - var event = { - type: 'report', - id: req.params.uniqueId, - name: req.params.eventName, - value: req.body - }; - _this.handleEvent(event); - }); - this.router.post("/reports/:uniqueId/pages/:pageName/visuals/:visualName/events/:eventName", function (req, res) { - var event = { - type: 'report', - id: req.params.uniqueId, - name: req.params.eventName, - value: req.body - }; - _this.handleEvent(event); - }); - this.router.post("/dashboards/:uniqueId/events/:eventName", function (req, res) { - var event = { - type: 'dashboard', - id: req.params.uniqueId, - name: req.params.eventName, - value: req.body - }; - _this.handleEvent(event); - }); - this.router.post("/tile/:uniqueId/events/:eventName", function (req, res) { - var event = { - type: 'tile', - id: req.params.uniqueId, - name: req.params.eventName, - value: req.body - }; - _this.handleEvent(event); - }); - /** - * Adds handler for Q&A events. - */ - this.router.post("/qna/:uniqueId/events/:eventName", function (req, res) { - var event = { - type: 'qna', - id: req.params.uniqueId, - name: req.params.eventName, - value: req.body - }; - _this.handleEvent(event); - }); - /** - * Adds handler for front load 'ready' message. - */ - this.router.post("/ready/:uniqueId", function (req, res) { - var event = { - type: 'report', - id: req.params.uniqueId, - name: 'ready', - value: req.body - }; - _this.handleEvent(event); - }); - this.embeds = []; - // TODO: Change when Object.assign is available. - this.config = utils.assign({}, Service.defaultConfig, config); - if (this.config.autoEmbedOnContentLoaded) { - this.enableAutoEmbed(); - } - } - /** - * Creates new report - * @param {HTMLElement} element - * @param {embed.IEmbedConfiguration} [config={}] - * @returns {embed.Embed} - */ - Service.prototype.createReport = function (element, config) { - config.type = 'create'; - var powerBiElement = element; - var component = new create_1.Create(this, powerBiElement, config); - powerBiElement.powerBiEmbed = component; - this.addOrOverwriteEmbed(component, element); - return component; - }; - /** - * TODO: Add a description here - * - * @param {HTMLElement} [container] - * @param {embed.IEmbedConfiguration} [config=undefined] - * @returns {embed.Embed[]} - * @hidden - */ - Service.prototype.init = function (container, config) { - var _this = this; - if (config === void 0) { config = undefined; } - container = (container && container instanceof HTMLElement) ? container : document.body; - var elements = Array.prototype.slice.call(container.querySelectorAll("[" + embed.Embed.embedUrlAttribute + "]")); - return elements.map(function (element) { return _this.embed(element, config); }); - }; - /** - * Given a configuration based on an HTML element, - * if the component has already been created and attached to the element, reuses the component instance and existing iframe, - * otherwise creates a new component instance. - * - * @param {HTMLElement} element - * @param {embed.IEmbedConfigurationBase} [config={}] - * @returns {embed.Embed} - */ - Service.prototype.embed = function (element, config) { - if (config === void 0) { config = {}; } - return this.embedInternal(element, config); - }; - /** - * Given a configuration based on an HTML element, - * if the component has already been created and attached to the element, reuses the component instance and existing iframe, - * otherwise creates a new component instance. - * This is used for the phased embedding API, once element is loaded successfully, one can call 'render' on it. - * - * @param {HTMLElement} element - * @param {embed.IEmbedConfigurationBase} [config={}] - * @returns {embed.Embed} - */ - Service.prototype.load = function (element, config) { - if (config === void 0) { config = {}; } - return this.embedInternal(element, config, /* phasedRender */ true, /* isBootstrap */ false); - }; - /** - * Given an HTML element and entityType, creates a new component instance, and bootstrap the iframe for embedding. - * - * @param {HTMLElement} element - * @param {embed.IBootstrapEmbedConfiguration} config: a bootstrap config which is an embed config without access token. - */ - Service.prototype.bootstrap = function (element, config) { - return this.embedInternal(element, config, /* phasedRender */ false, /* isBootstrap */ true); - }; - /** @hidden */ - Service.prototype.embedInternal = function (element, config, phasedRender, isBootstrap) { - if (config === void 0) { config = {}; } - var component; - var powerBiElement = element; - if (powerBiElement.powerBiEmbed) { - if (isBootstrap) { - throw new Error("Attempted to bootstrap element " + element.outerHTML + ", but the element is already a powerbi element."); - } - component = this.embedExisting(powerBiElement, config, phasedRender); - } - else { - component = this.embedNew(powerBiElement, config, phasedRender, isBootstrap); - } - return component; - }; - /** @hidden */ - Service.prototype.getNumberOfComponents = function () { - if (!this.embeds) { - return 0; - } - return this.embeds.length; - }; - /** @hidden */ - Service.prototype.getSdkSessionId = function () { - return this.uniqueSessionId; - }; - /** - * Given a configuration based on a Power BI element, saves the component instance that reference the element for later lookup. - * - * @private - * @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); - if (!componentType) { - throw new Error("Attempted to embed using config " + JSON.stringify(config) + " on element " + element.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 '" + embed.Embed.typeAttribute + "=\"" + report_1.Report.type.toLowerCase() + "\"'."); - } - // Saves the type as part of the configuration so that it can be referenced later at a known location. - config.type = componentType; - var Component = utils.find(function (component) { return componentType === component.type.toLowerCase(); }, Service.components); - if (!Component) { - throw new Error("Attempted to embed component of type: " + componentType + " but did not find any matching component. Please verify the type you specified is intended."); - } - var component = new Component(this, element, config, phasedRender, isBootstrap); - element.powerBiEmbed = component; - this.addOrOverwriteEmbed(component, element); - return component; - }; - /** - * Given an element that already contains an embed component, load with a new configuration. - * - * @private - * @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); - if (!component) { - throw new Error("Attempted to embed using config " + JSON.stringify(config) + " on element " + element.outerHTML + " which already has embedded component associated, but could not find the existing component 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."); - } - // TODO: Multiple embedding to the same iframe is not supported in QnA - if (config.type && config.type.toLowerCase() === "qna") { - return this.embedNew(element, config); - } - /** - * TODO: Dynamic embed type switching could be supported but there is work needed to prepare the service state and DOM cleanup. - * remove all event handlers from the DOM, then reset the element to initial state which removes iframe, and removes from list of embeds - * then we can call the embedNew function which would allow setting the proper embedUrl and construction of object based on the new type. - */ - if (typeof config.type === "string" && config.type !== component.config.type) { - /** - * When loading report after create we want to use existing Iframe to optimize load period - */ - if (config.type === "report" && component.config.type === "create") { - var report = new report_1.Report(this, element, config, /* phasedRender */ false, /* isBootstrap */ false, element.powerBiEmbed.iframe); - component.populateConfig(config, /* isBootstrap */ false); - report.load(); - element.powerBiEmbed = report; - this.addOrOverwriteEmbed(component, element); - return report; - } - 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(config) + " on element " + element.outerHTML + ", but the existing element contains an embed of type: " + this.config.type + " which does not match the new type: " + config.type); - } - component.populateConfig(config, /* isBootstrap */ false); - component.load(phasedRender); - return component; - }; - /** - * Adds an event handler for DOMContentLoaded, which searches the DOM for elements that have the 'powerbi-embed-url' attribute, - * and automatically attempts to embed a powerbi component based on information from other powerbi-* attributes. - * - * Note: Only runs if `config.autoEmbedOnContentLoaded` is true when the service is created. - * This handler is typically useful only for applications that are rendered on the server so that all required data is available when the handler is called. - * - * @hidden - */ - Service.prototype.enableAutoEmbed = function () { - var _this = this; - window.addEventListener('DOMContentLoaded', function (event) { return _this.init(document.body); }, false); - }; - /** - * Returns an instance of the component associated with the element. - * - * @param {HTMLElement} element - * @returns {(Report | Tile)} - */ - Service.prototype.get = function (element) { - var powerBiElement = element; - if (!powerBiElement.powerBiEmbed) { - throw new Error("You attempted to get an instance of powerbi component associated with element: " + element.outerHTML + " but there was no associated instance."); - } - return powerBiElement.powerBiEmbed; - }; - /** - * Finds an embed instance by the name or unique ID that is provided. - * - * @param {string} uniqueId - * @returns {(Report | Tile)} - * @hidden - */ - Service.prototype.find = function (uniqueId) { - return utils.find(function (x) { return x.config.uniqueId === uniqueId; }, this.embeds); - }; - /** - * Removes embed components whose container element is same as the given element - * - * @param {Embed} component - * @param {HTMLElement} element - * @returns {void} - * @hidden - */ - Service.prototype.addOrOverwriteEmbed = function (component, element) { - // remove embeds over the same div element. - this.embeds = this.embeds.filter(function (embed) { - return embed.element !== element; - }); - this.embeds.push(component); - }; - /** - * Given an HTML element that has a component embedded within it, removes the component from the list of embedded components, removes the association between the element and the component, and removes the iframe. - * - * @param {HTMLElement} element - * @returns {void} - */ - Service.prototype.reset = function (element) { - var powerBiElement = element; - if (!powerBiElement.powerBiEmbed) { - return; - } - /** Removes the element frontLoad listener if exists. */ - var embedElement = powerBiElement.powerBiEmbed; - if (embedElement.frontLoadHandler) { - embedElement.element.removeEventListener('ready', embedElement.frontLoadHandler, false); - } - /** Removes the component from an internal list of components. */ - utils.remove(function (x) { return x === powerBiElement.powerBiEmbed; }, this.embeds); - /** Deletes a property from the HTML element. */ - delete powerBiElement.powerBiEmbed; - /** Removes the iframe from the element. */ - var iframe = element.querySelector('iframe'); - if (iframe) { - if (iframe.remove !== undefined) { - iframe.remove(); - } - else { - /** Workaround for IE: unhandled rejection TypeError: object doesn't support property or method 'remove' */ - iframe.parentElement.removeChild(iframe); - } - } - }; - /** - * handles tile events - * - * @param {IEvent} event - * @hidden - */ - Service.prototype.handleTileEvents = function (event) { - if (event.type === 'tile') { - this.handleEvent(event); - } - }; - /** - * Given an event object, finds the embed component with the matching type and ID, and invokes its handleEvent method with the event object. - * - * @private - * @param {IEvent} event - * @hidden - */ - Service.prototype.handleEvent = function (event) { - var embed = utils.find(function (embed) { - return (embed.config.uniqueId === event.id); - }, this.embeds); - if (embed) { - var value = event.value; - if (event.name === 'pageChanged') { - var pageKey = 'newPage'; - var page = value[pageKey]; - if (!page) { - throw new Error("Page model not found at 'event.value." + pageKey + "'."); - } - value[pageKey] = new page_1.Page(embed, page.name, page.displayName, true /* isActive */); - } - utils.raiseCustomEvent(embed.element, event.name, value); - } - }; - /** - * API for warm starting powerbi embedded endpoints. - * Use this API to preload Power BI Embedded in the background. - * - * @public - * @param {embed.IEmbedConfigurationBase} [config={}] - * @param {HTMLElement} [element=undefined] - */ - Service.prototype.preload = function (config, element) { - var iframeContent = document.createElement("iframe"); - iframeContent.setAttribute("style", "display:none;"); - iframeContent.setAttribute("src", config.embedUrl); - iframeContent.setAttribute("scrolling", "no"); - iframeContent.setAttribute("allowfullscreen", "false"); - var node = element; - if (!node) { - node = document.getElementsByTagName("body")[0]; - } - node.appendChild(iframeContent); - iframeContent.onload = function () { - utils.raiseCustomEvent(iframeContent, "preloaded", {}); - }; - return iframeContent; - }; - /** - * A list of components that this service can embed - */ - Service.components = [ - tile_1.Tile, - report_1.Report, - dashboard_1.Dashboard, - qna_1.Qna, - visual_1.Visual - ]; - /** - * The default configuration for the service - */ - Service.defaultConfig = { - autoEmbedOnContentLoaded: false, - onError: function () { - var args = []; - for (var _i = 0; _i < arguments.length; _i++) { - args[_i] = arguments[_i]; - } - return console.log(args[0], args.slice(1)); - } - }; - return Service; -}()); -exports.Service = Service; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.Service = void 0; +var embed = __webpack_require__(/*! ./embed */ "./src/embed.ts"); +var report_1 = __webpack_require__(/*! ./report */ "./src/report.ts"); +var create_1 = __webpack_require__(/*! ./create */ "./src/create.ts"); +var dashboard_1 = __webpack_require__(/*! ./dashboard */ "./src/dashboard.ts"); +var tile_1 = __webpack_require__(/*! ./tile */ "./src/tile.ts"); +var page_1 = __webpack_require__(/*! ./page */ "./src/page.ts"); +var qna_1 = __webpack_require__(/*! ./qna */ "./src/qna.ts"); +var visual_1 = __webpack_require__(/*! ./visual */ "./src/visual.ts"); +var utils = __webpack_require__(/*! ./util */ "./src/util.ts"); +/** + * The Power BI Service embed component, which is the entry point to embed all other Power BI components into your application + * + * @export + * @class Service + * @implements {IService} + */ +var Service = /** @class */ (function () { + /** + * Creates an instance of a Power BI Service. + * + * @param {IHpmFactory} hpmFactory The http post message factory used in the postMessage communication layer + * @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; + if (config === void 0) { config = {}; } + this.wpmp = wpmpFactory(config.wpmpName, config.logMessages); + this.hpm = hpmFactory(this.wpmp, null, config.version, config.type); + this.router = routerFactory(this.wpmp); + this.uniqueSessionId = utils.generateUUID(); + /** + * Adds handler for report events. + */ + this.router.post("/reports/:uniqueId/events/:eventName", function (req, res) { + var event = { + type: 'report', + id: req.params.uniqueId, + name: req.params.eventName, + value: req.body + }; + _this.handleEvent(event); + }); + this.router.post("/reports/:uniqueId/pages/:pageName/events/:eventName", function (req, res) { + var event = { + type: 'report', + id: req.params.uniqueId, + name: req.params.eventName, + value: req.body + }; + _this.handleEvent(event); + }); + this.router.post("/reports/:uniqueId/pages/:pageName/visuals/:visualName/events/:eventName", function (req, res) { + var event = { + type: 'report', + id: req.params.uniqueId, + name: req.params.eventName, + value: req.body + }; + _this.handleEvent(event); + }); + this.router.post("/dashboards/:uniqueId/events/:eventName", function (req, res) { + var event = { + type: 'dashboard', + id: req.params.uniqueId, + name: req.params.eventName, + value: req.body + }; + _this.handleEvent(event); + }); + this.router.post("/tile/:uniqueId/events/:eventName", function (req, res) { + var event = { + type: 'tile', + id: req.params.uniqueId, + name: req.params.eventName, + value: req.body + }; + _this.handleEvent(event); + }); + /** + * Adds handler for Q&A events. + */ + this.router.post("/qna/:uniqueId/events/:eventName", function (req, res) { + var event = { + type: 'qna', + id: req.params.uniqueId, + name: req.params.eventName, + value: req.body + }; + _this.handleEvent(event); + }); + /** + * Adds handler for front load 'ready' message. + */ + this.router.post("/ready/:uniqueId", function (req, res) { + var event = { + type: 'report', + id: req.params.uniqueId, + name: 'ready', + value: req.body + }; + _this.handleEvent(event); + }); + this.embeds = []; + // TODO: Change when Object.assign is available. + this.config = utils.assign({}, Service.defaultConfig, config); + if (this.config.autoEmbedOnContentLoaded) { + this.enableAutoEmbed(); + } + } + /** + * Creates new report + * @param {HTMLElement} element + * @param {embed.IEmbedConfiguration} [config={}] + * @returns {embed.Embed} + */ + Service.prototype.createReport = function (element, config) { + config.type = 'create'; + var powerBiElement = element; + var component = new create_1.Create(this, powerBiElement, config); + powerBiElement.powerBiEmbed = component; + this.addOrOverwriteEmbed(component, element); + return component; + }; + /** + * TODO: Add a description here + * + * @param {HTMLElement} [container] + * @param {embed.IEmbedConfiguration} [config=undefined] + * @returns {embed.Embed[]} + * @hidden + */ + Service.prototype.init = function (container, config) { + var _this = this; + if (config === void 0) { config = undefined; } + container = (container && container instanceof HTMLElement) ? container : document.body; + var elements = Array.prototype.slice.call(container.querySelectorAll("[" + embed.Embed.embedUrlAttribute + "]")); + return elements.map(function (element) { return _this.embed(element, config); }); + }; + /** + * Given a configuration based on an HTML element, + * if the component has already been created and attached to the element, reuses the component instance and existing iframe, + * otherwise creates a new component instance. + * + * @param {HTMLElement} element + * @param {embed.IEmbedConfigurationBase} [config={}] + * @returns {embed.Embed} + */ + Service.prototype.embed = function (element, config) { + if (config === void 0) { config = {}; } + return this.embedInternal(element, config); + }; + /** + * Given a configuration based on an HTML element, + * if the component has already been created and attached to the element, reuses the component instance and existing iframe, + * otherwise creates a new component instance. + * This is used for the phased embedding API, once element is loaded successfully, one can call 'render' on it. + * + * @param {HTMLElement} element + * @param {embed.IEmbedConfigurationBase} [config={}] + * @returns {embed.Embed} + */ + Service.prototype.load = function (element, config) { + if (config === void 0) { config = {}; } + return this.embedInternal(element, config, /* phasedRender */ true, /* isBootstrap */ false); + }; + /** + * Given an HTML element and entityType, creates a new component instance, and bootstrap the iframe for embedding. + * + * @param {HTMLElement} element + * @param {embed.IBootstrapEmbedConfiguration} config: a bootstrap config which is an embed config without access token. + */ + Service.prototype.bootstrap = function (element, config) { + return this.embedInternal(element, config, /* phasedRender */ false, /* isBootstrap */ true); + }; + /** @hidden */ + Service.prototype.embedInternal = function (element, config, phasedRender, isBootstrap) { + if (config === void 0) { config = {}; } + var component; + var powerBiElement = element; + if (powerBiElement.powerBiEmbed) { + if (isBootstrap) { + throw new Error("Attempted to bootstrap element " + element.outerHTML + ", but the element is already a powerbi element."); + } + component = this.embedExisting(powerBiElement, config, phasedRender); + } + else { + component = this.embedNew(powerBiElement, config, phasedRender, isBootstrap); + } + return component; + }; + /** @hidden */ + Service.prototype.getNumberOfComponents = function () { + if (!this.embeds) { + return 0; + } + return this.embeds.length; + }; + /** @hidden */ + Service.prototype.getSdkSessionId = function () { + return this.uniqueSessionId; + }; + /** + * Given a configuration based on a Power BI element, saves the component instance that reference the element for later lookup. + * + * @private + * @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); + if (!componentType) { + throw new Error("Attempted to embed using config " + JSON.stringify(config) + " on element " + element.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 '" + embed.Embed.typeAttribute + "=\"" + report_1.Report.type.toLowerCase() + "\"'."); + } + // Saves the type as part of the configuration so that it can be referenced later at a known location. + config.type = componentType; + var Component = utils.find(function (component) { return componentType === component.type.toLowerCase(); }, Service.components); + if (!Component) { + throw new Error("Attempted to embed component of type: " + componentType + " but did not find any matching component. Please verify the type you specified is intended."); + } + var component = new Component(this, element, config, phasedRender, isBootstrap); + element.powerBiEmbed = component; + this.addOrOverwriteEmbed(component, element); + return component; + }; + /** + * Given an element that already contains an embed component, load with a new configuration. + * + * @private + * @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); + if (!component) { + throw new Error("Attempted to embed using config " + JSON.stringify(config) + " on element " + element.outerHTML + " which already has embedded component associated, but could not find the existing component 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."); + } + // TODO: Multiple embedding to the same iframe is not supported in QnA + if (config.type && config.type.toLowerCase() === "qna") { + return this.embedNew(element, config); + } + /** + * TODO: Dynamic embed type switching could be supported but there is work needed to prepare the service state and DOM cleanup. + * remove all event handlers from the DOM, then reset the element to initial state which removes iframe, and removes from list of embeds + * then we can call the embedNew function which would allow setting the proper embedUrl and construction of object based on the new type. + */ + if (typeof config.type === "string" && config.type !== component.config.type) { + /** + * When loading report after create we want to use existing Iframe to optimize load period + */ + if (config.type === "report" && component.config.type === "create") { + var report = new report_1.Report(this, element, config, /* phasedRender */ false, /* isBootstrap */ false, element.powerBiEmbed.iframe); + component.populateConfig(config, /* isBootstrap */ false); + report.load(); + element.powerBiEmbed = report; + this.addOrOverwriteEmbed(component, element); + return report; + } + 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(config) + " on element " + element.outerHTML + ", but the existing element contains an embed of type: " + this.config.type + " which does not match the new type: " + config.type); + } + component.populateConfig(config, /* isBootstrap */ false); + component.load(phasedRender); + return component; + }; + /** + * Adds an event handler for DOMContentLoaded, which searches the DOM for elements that have the 'powerbi-embed-url' attribute, + * and automatically attempts to embed a powerbi component based on information from other powerbi-* attributes. + * + * Note: Only runs if `config.autoEmbedOnContentLoaded` is true when the service is created. + * This handler is typically useful only for applications that are rendered on the server so that all required data is available when the handler is called. + * + * @hidden + */ + Service.prototype.enableAutoEmbed = function () { + var _this = this; + window.addEventListener('DOMContentLoaded', function (event) { return _this.init(document.body); }, false); + }; + /** + * Returns an instance of the component associated with the element. + * + * @param {HTMLElement} element + * @returns {(Report | Tile)} + */ + Service.prototype.get = function (element) { + var powerBiElement = element; + if (!powerBiElement.powerBiEmbed) { + throw new Error("You attempted to get an instance of powerbi component associated with element: " + element.outerHTML + " but there was no associated instance."); + } + return powerBiElement.powerBiEmbed; + }; + /** + * Finds an embed instance by the name or unique ID that is provided. + * + * @param {string} uniqueId + * @returns {(Report | Tile)} + * @hidden + */ + Service.prototype.find = function (uniqueId) { + return utils.find(function (x) { return x.config.uniqueId === uniqueId; }, this.embeds); + }; + /** + * Removes embed components whose container element is same as the given element + * + * @param {Embed} component + * @param {HTMLElement} element + * @returns {void} + * @hidden + */ + Service.prototype.addOrOverwriteEmbed = function (component, element) { + // remove embeds over the same div element. + this.embeds = this.embeds.filter(function (embed) { + return embed.element !== element; + }); + this.embeds.push(component); + }; + /** + * Given an HTML element that has a component embedded within it, removes the component from the list of embedded components, removes the association between the element and the component, and removes the iframe. + * + * @param {HTMLElement} element + * @returns {void} + */ + Service.prototype.reset = function (element) { + var powerBiElement = element; + if (!powerBiElement.powerBiEmbed) { + return; + } + /** Removes the element frontLoad listener if exists. */ + var embedElement = powerBiElement.powerBiEmbed; + if (embedElement.frontLoadHandler) { + embedElement.element.removeEventListener('ready', embedElement.frontLoadHandler, false); + } + /** Removes the component from an internal list of components. */ + utils.remove(function (x) { return x === powerBiElement.powerBiEmbed; }, this.embeds); + /** Deletes a property from the HTML element. */ + delete powerBiElement.powerBiEmbed; + /** Removes the iframe from the element. */ + var iframe = element.querySelector('iframe'); + if (iframe) { + if (iframe.remove !== undefined) { + iframe.remove(); + } + else { + /** Workaround for IE: unhandled rejection TypeError: object doesn't support property or method 'remove' */ + iframe.parentElement.removeChild(iframe); + } + } + }; + /** + * handles tile events + * + * @param {IEvent} event + * @hidden + */ + Service.prototype.handleTileEvents = function (event) { + if (event.type === 'tile') { + this.handleEvent(event); + } + }; + /** + * Given an event object, finds the embed component with the matching type and ID, and invokes its handleEvent method with the event object. + * + * @private + * @param {IEvent} event + * @hidden + */ + Service.prototype.handleEvent = function (event) { + var embed = utils.find(function (embed) { + return (embed.config.uniqueId === event.id); + }, this.embeds); + if (embed) { + var value = event.value; + if (event.name === 'pageChanged') { + var pageKey = 'newPage'; + var page = value[pageKey]; + if (!page) { + throw new Error("Page model not found at 'event.value." + pageKey + "'."); + } + value[pageKey] = new page_1.Page(embed, page.name, page.displayName, true /* isActive */); + } + utils.raiseCustomEvent(embed.element, event.name, value); + } + }; + /** + * API for warm starting powerbi embedded endpoints. + * Use this API to preload Power BI Embedded in the background. + * + * @public + * @param {embed.IEmbedConfigurationBase} [config={}] + * @param {HTMLElement} [element=undefined] + */ + Service.prototype.preload = function (config, element) { + var iframeContent = document.createElement("iframe"); + iframeContent.setAttribute("style", "display:none;"); + iframeContent.setAttribute("src", config.embedUrl); + iframeContent.setAttribute("scrolling", "no"); + iframeContent.setAttribute("allowfullscreen", "false"); + var node = element; + if (!node) { + node = document.getElementsByTagName("body")[0]; + } + node.appendChild(iframeContent); + iframeContent.onload = function () { + utils.raiseCustomEvent(iframeContent, "preloaded", {}); + }; + return iframeContent; + }; + /** + * A list of components that this service can embed + */ + Service.components = [ + tile_1.Tile, + report_1.Report, + dashboard_1.Dashboard, + qna_1.Qna, + visual_1.Visual + ]; + /** + * The default configuration for the service + */ + Service.defaultConfig = { + autoEmbedOnContentLoaded: false, + onError: function () { + var args = []; + for (var _i = 0; _i < arguments.length; _i++) { + args[_i] = arguments[_i]; + } + return console.log(args[0], args.slice(1)); + } + }; + return Service; +}()); +exports.Service = Service; /***/ }), @@ -8712,107 +8715,107 @@ exports.Service = Service; /*! no static exports found */ /***/ (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 }); -exports.Tile = void 0; -var models = __webpack_require__(/*! powerbi-models */ "./node_modules/powerbi-models/dist/models.js"); -var embed = __webpack_require__(/*! ./embed */ "./src/embed.ts"); -/** - * The Power BI tile embed component - * - * @export - * @class Tile - * @extends {Embed} - */ -var Tile = /** @class */ (function (_super) { - __extends(Tile, _super); - /** - * @hidden - */ - function Tile(service, element, baseConfig, phasedRender, isBootstrap) { - var _this = this; - var config = baseConfig; - _this = _super.call(this, service, element, config, /* iframe */ undefined, phasedRender, isBootstrap) || this; - _this.loadPath = "/tile/load"; - Array.prototype.push.apply(_this.allowedEvents, Tile.allowedEvents); - return _this; - } - /** - * The ID of the tile - * - * @returns {string} - */ - Tile.prototype.getId = function () { - var config = this.config; - var tileId = config.id || Tile.findIdFromEmbedUrl(this.config.embedUrl); - if (typeof tileId !== 'string' || tileId.length === 0) { - throw new Error("Tile id is required, but it was not found. You must provide an id either as part of embed configuration."); - } - return tileId; - }; - /** - * Validate load configuration. - */ - Tile.prototype.validate = function (config) { - var embedConfig = config; - return models.validateTileLoad(embedConfig); - }; - /** - * Handle config changes. - * - * @returns {void} - */ - Tile.prototype.configChanged = function (isBootstrap) { - if (isBootstrap) { - return; - } - // Populate tile id into config object. - this.config.id = this.getId(); - }; - /** - * @hidden - * @returns {string} - */ - Tile.prototype.getDefaultEmbedUrlEndpoint = function () { - return "tileEmbed"; - }; - /** - * Adds the ability to get tileId 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} - */ - Tile.findIdFromEmbedUrl = function (url) { - var tileIdRegEx = /tileId="?([^&]+)"?/; - var tileIdMatch = url.match(tileIdRegEx); - var tileId; - if (tileIdMatch) { - tileId = tileIdMatch[1]; - } - return tileId; - }; - /** @hidden */ - Tile.type = "Tile"; - /** @hidden */ - Tile.allowedEvents = ["tileClicked", "tileLoaded"]; - return Tile; -}(embed.Embed)); -exports.Tile = Tile; +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 (Object.prototype.hasOwnProperty.call(b, 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.Tile = void 0; +var models = __webpack_require__(/*! powerbi-models */ "./node_modules/powerbi-models/dist/models.js"); +var embed = __webpack_require__(/*! ./embed */ "./src/embed.ts"); +/** + * The Power BI tile embed component + * + * @export + * @class Tile + * @extends {Embed} + */ +var Tile = /** @class */ (function (_super) { + __extends(Tile, _super); + /** + * @hidden + */ + function Tile(service, element, baseConfig, phasedRender, isBootstrap) { + var _this = this; + var config = baseConfig; + _this = _super.call(this, service, element, config, /* iframe */ undefined, phasedRender, isBootstrap) || this; + _this.loadPath = "/tile/load"; + Array.prototype.push.apply(_this.allowedEvents, Tile.allowedEvents); + return _this; + } + /** + * The ID of the tile + * + * @returns {string} + */ + Tile.prototype.getId = function () { + var config = this.config; + var tileId = config.id || Tile.findIdFromEmbedUrl(this.config.embedUrl); + if (typeof tileId !== 'string' || tileId.length === 0) { + throw new Error("Tile id is required, but it was not found. You must provide an id either as part of embed configuration."); + } + return tileId; + }; + /** + * Validate load configuration. + */ + Tile.prototype.validate = function (config) { + var embedConfig = config; + return models.validateTileLoad(embedConfig); + }; + /** + * Handle config changes. + * + * @returns {void} + */ + Tile.prototype.configChanged = function (isBootstrap) { + if (isBootstrap) { + return; + } + // Populate tile id into config object. + this.config.id = this.getId(); + }; + /** + * @hidden + * @returns {string} + */ + Tile.prototype.getDefaultEmbedUrlEndpoint = function () { + return "tileEmbed"; + }; + /** + * Adds the ability to get tileId 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} + */ + Tile.findIdFromEmbedUrl = function (url) { + var tileIdRegEx = /tileId="?([^&]+)"?/; + var tileIdMatch = url.match(tileIdRegEx); + var tileId; + if (tileIdMatch) { + tileId = tileIdMatch[1]; + } + return tileId; + }; + /** @hidden */ + Tile.type = "Tile"; + /** @hidden */ + Tile.allowedEvents = ["tileClicked", "tileLoaded"]; + return Tile; +}(embed.Embed)); +exports.Tile = Tile; /***/ }), @@ -8824,261 +8827,261 @@ exports.Tile = Tile; /*! no static exports found */ /***/ (function(module, exports) { -var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { - function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } - return new (P || (P = Promise))(function (resolve, reject) { - function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } - function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } - function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } - step((generator = generator.apply(thisArg, _arguments || [])).next()); - }); -}; -var __generator = (this && this.__generator) || function (thisArg, body) { - var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g; - return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g; - function verb(n) { return function (v) { return step([n, v]); }; } - function step(op) { - if (f) throw new TypeError("Generator is already executing."); - while (_) try { - if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t; - if (y = 0, t) op = [op[0] & 2, t.value]; - switch (op[0]) { - case 0: case 1: t = op; break; - case 4: _.label++; return { value: op[1], done: false }; - case 5: _.label++; y = op[1]; op = [0]; continue; - case 7: op = _.ops.pop(); _.trys.pop(); continue; - default: - if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; } - if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; } - if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; } - if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; } - if (t[2]) _.ops.pop(); - _.trys.pop(); continue; - } - op = body.call(thisArg, _); - } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; } - if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true }; - } -}; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.getTimeDiffInMilliseconds = exports.getRandomValue = exports.autoAuthInEmbedUrl = exports.isRDLEmbed = exports.isSavedInternal = exports.addParamToUrl = exports.generateUUID = exports.createRandomString = exports.assign = exports.remove = exports.find = exports.findIndex = exports.raiseCustomEvent = void 0; -/** - * Raises a custom event with event data on the specified HTML element. - * - * @export - * @param {HTMLElement} element - * @param {string} eventName - * @param {*} eventData - */ -function raiseCustomEvent(element, eventName, eventData) { - var customEvent; - if (typeof CustomEvent === 'function') { - customEvent = new CustomEvent(eventName, { - detail: eventData, - bubbles: true, - cancelable: true - }); - } - else { - customEvent = document.createEvent('CustomEvent'); - customEvent.initCustomEvent(eventName, true, true, eventData); - } - element.dispatchEvent(customEvent); -} -exports.raiseCustomEvent = raiseCustomEvent; -/** - * Finds the index of the first value in an array that matches the specified predicate. - * - * @export - * @template T - * @param {(x: T) => boolean} predicate - * @param {T[]} xs - * @returns {number} - */ -function findIndex(predicate, xs) { - if (!Array.isArray(xs)) { - throw new Error("You attempted to call find with second parameter that was not an array. You passed: " + xs); - } - var index; - xs.some(function (x, i) { - if (predicate(x)) { - index = i; - return true; - } - }); - return index; -} -exports.findIndex = findIndex; -/** - * Finds the first value in an array that matches the specified predicate. - * - * @export - * @template T - * @param {(x: T) => boolean} predicate - * @param {T[]} xs - * @returns {T} - */ -function find(predicate, xs) { - var index = findIndex(predicate, xs); - return xs[index]; -} -exports.find = find; -function remove(predicate, xs) { - var index = findIndex(predicate, xs); - xs.splice(index, 1); -} -exports.remove = remove; -// See: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/assign -// TODO: replace in favor of using polyfill -/** - * Copies the values of all enumerable properties from one or more source objects to a target object, and returns the target object. - * - * @export - * @param {any} args - * @returns - */ -function assign() { - var args = []; - for (var _i = 0; _i < arguments.length; _i++) { - args[_i] = arguments[_i]; - } - var target = args[0]; - 'use strict'; - if (target === undefined || target === null) { - throw new TypeError('Cannot convert undefined or null to object'); - } - var output = Object(target); - for (var index = 1; index < arguments.length; index++) { - var source = arguments[index]; - if (source !== undefined && source !== null) { - for (var nextKey in source) { - if (source.hasOwnProperty(nextKey)) { - output[nextKey] = source[nextKey]; - } - } - } - } - return output; -} -exports.assign = assign; -/** - * Generates a random 5 to 6 character string. - * - * @export - * @returns {string} - */ -function createRandomString() { - return getRandomValue().toString(36).substring(1); -} -exports.createRandomString = createRandomString; -/** - * Generates a 20 character uuid. - * - * @export - * @returns {string} - */ -function generateUUID() { - var d = new Date().getTime(); - if (typeof performance !== 'undefined' && typeof performance.now === 'function') { - d += performance.now(); - } - return 'xxxxxxxxxxxxxxxxxxxx'.replace(/[xy]/g, function (c) { - // Generate a random number, scaled from 0 to 15. - var r = (getRandomValue() % 16); - // Shift 4 times to divide by 16 - d >>= 4; - return r.toString(16); - }); -} -exports.generateUUID = generateUUID; -/** - * Adds a parameter to the given url - * - * @export - * @param {string} url - * @param {string} paramName - * @param {string} value - * @returns {string} - */ -function addParamToUrl(url, paramName, value) { - var parameterPrefix = url.indexOf('?') > 0 ? '&' : '?'; - url += parameterPrefix + paramName + '=' + value; - return url; -} -exports.addParamToUrl = addParamToUrl; -/** - * Checks if the report is saved. - * - * @export - * @param {HttpPostMessage} hpm - * @param {string} uid - * @param {Window} contentWindow - * @returns {Promise} - */ -function isSavedInternal(hpm, uid, contentWindow) { - return __awaiter(this, void 0, void 0, function () { - var response, response_1; - return __generator(this, function (_a) { - switch (_a.label) { - case 0: - _a.trys.push([0, 2, , 3]); - return [4 /*yield*/, hpm.get('/report/hasUnsavedChanges', { uid: uid }, contentWindow)]; - case 1: - response = _a.sent(); - return [2 /*return*/, !response.body]; - case 2: - response_1 = _a.sent(); - throw response_1.body; - case 3: return [2 /*return*/]; - } - }); - }); -} -exports.isSavedInternal = isSavedInternal; -/** - * Checks if the embed url is for RDL report. - * - * @export - * @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 - */ -function getRandomValue() { - // window.msCrypto for IE - var cryptoObj = window.crypto || window.msCrypto; - var randomValueArray = new Uint32Array(1); - cryptoObj.getRandomValues(randomValueArray); - return randomValueArray[0]; -} -exports.getRandomValue = getRandomValue; -/** - * Returns the time interval between two dates in milliseconds - * @export - * @param {Date} start - * @param {Date} end - * @returns {number} - */ -function getTimeDiffInMilliseconds(start, end) { - return Math.abs(start.getTime() - end.getTime()); -} -exports.getTimeDiffInMilliseconds = getTimeDiffInMilliseconds; +var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { + function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } + return new (P || (P = Promise))(function (resolve, reject) { + function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } + function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } + function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } + step((generator = generator.apply(thisArg, _arguments || [])).next()); + }); +}; +var __generator = (this && this.__generator) || function (thisArg, body) { + var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g; + return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g; + function verb(n) { return function (v) { return step([n, v]); }; } + function step(op) { + if (f) throw new TypeError("Generator is already executing."); + while (_) try { + if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t; + if (y = 0, t) op = [op[0] & 2, t.value]; + switch (op[0]) { + case 0: case 1: t = op; break; + case 4: _.label++; return { value: op[1], done: false }; + case 5: _.label++; y = op[1]; op = [0]; continue; + case 7: op = _.ops.pop(); _.trys.pop(); continue; + default: + if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; } + if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; } + if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; } + if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; } + if (t[2]) _.ops.pop(); + _.trys.pop(); continue; + } + op = body.call(thisArg, _); + } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; } + if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true }; + } +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.getTimeDiffInMilliseconds = exports.getRandomValue = exports.autoAuthInEmbedUrl = exports.isRDLEmbed = exports.isSavedInternal = exports.addParamToUrl = exports.generateUUID = exports.createRandomString = exports.assign = exports.remove = exports.find = exports.findIndex = exports.raiseCustomEvent = void 0; +/** + * Raises a custom event with event data on the specified HTML element. + * + * @export + * @param {HTMLElement} element + * @param {string} eventName + * @param {*} eventData + */ +function raiseCustomEvent(element, eventName, eventData) { + var customEvent; + if (typeof CustomEvent === 'function') { + customEvent = new CustomEvent(eventName, { + detail: eventData, + bubbles: true, + cancelable: true + }); + } + else { + customEvent = document.createEvent('CustomEvent'); + customEvent.initCustomEvent(eventName, true, true, eventData); + } + element.dispatchEvent(customEvent); +} +exports.raiseCustomEvent = raiseCustomEvent; +/** + * Finds the index of the first value in an array that matches the specified predicate. + * + * @export + * @template T + * @param {(x: T) => boolean} predicate + * @param {T[]} xs + * @returns {number} + */ +function findIndex(predicate, xs) { + if (!Array.isArray(xs)) { + throw new Error("You attempted to call find with second parameter that was not an array. You passed: " + xs); + } + var index; + xs.some(function (x, i) { + if (predicate(x)) { + index = i; + return true; + } + }); + return index; +} +exports.findIndex = findIndex; +/** + * Finds the first value in an array that matches the specified predicate. + * + * @export + * @template T + * @param {(x: T) => boolean} predicate + * @param {T[]} xs + * @returns {T} + */ +function find(predicate, xs) { + var index = findIndex(predicate, xs); + return xs[index]; +} +exports.find = find; +function remove(predicate, xs) { + var index = findIndex(predicate, xs); + xs.splice(index, 1); +} +exports.remove = remove; +// See: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/assign +// TODO: replace in favor of using polyfill +/** + * Copies the values of all enumerable properties from one or more source objects to a target object, and returns the target object. + * + * @export + * @param {any} args + * @returns + */ +function assign() { + var args = []; + for (var _i = 0; _i < arguments.length; _i++) { + args[_i] = arguments[_i]; + } + var target = args[0]; + 'use strict'; + if (target === undefined || target === null) { + throw new TypeError('Cannot convert undefined or null to object'); + } + var output = Object(target); + for (var index = 1; index < arguments.length; index++) { + var source = arguments[index]; + if (source !== undefined && source !== null) { + for (var nextKey in source) { + if (source.hasOwnProperty(nextKey)) { + output[nextKey] = source[nextKey]; + } + } + } + } + return output; +} +exports.assign = assign; +/** + * Generates a random 5 to 6 character string. + * + * @export + * @returns {string} + */ +function createRandomString() { + return getRandomValue().toString(36).substring(1); +} +exports.createRandomString = createRandomString; +/** + * Generates a 20 character uuid. + * + * @export + * @returns {string} + */ +function generateUUID() { + var d = new Date().getTime(); + if (typeof performance !== 'undefined' && typeof performance.now === 'function') { + d += performance.now(); + } + return 'xxxxxxxxxxxxxxxxxxxx'.replace(/[xy]/g, function (c) { + // Generate a random number, scaled from 0 to 15. + var r = (getRandomValue() % 16); + // Shift 4 times to divide by 16 + d >>= 4; + return r.toString(16); + }); +} +exports.generateUUID = generateUUID; +/** + * Adds a parameter to the given url + * + * @export + * @param {string} url + * @param {string} paramName + * @param {string} value + * @returns {string} + */ +function addParamToUrl(url, paramName, value) { + var parameterPrefix = url.indexOf('?') > 0 ? '&' : '?'; + url += parameterPrefix + paramName + '=' + value; + return url; +} +exports.addParamToUrl = addParamToUrl; +/** + * Checks if the report is saved. + * + * @export + * @param {HttpPostMessage} hpm + * @param {string} uid + * @param {Window} contentWindow + * @returns {Promise} + */ +function isSavedInternal(hpm, uid, contentWindow) { + return __awaiter(this, void 0, void 0, function () { + var response, response_1; + return __generator(this, function (_a) { + switch (_a.label) { + case 0: + _a.trys.push([0, 2, , 3]); + return [4 /*yield*/, hpm.get('/report/hasUnsavedChanges', { uid: uid }, contentWindow)]; + case 1: + response = _a.sent(); + return [2 /*return*/, !response.body]; + case 2: + response_1 = _a.sent(); + throw response_1.body; + case 3: return [2 /*return*/]; + } + }); + }); +} +exports.isSavedInternal = isSavedInternal; +/** + * Checks if the embed url is for RDL report. + * + * @export + * @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 + */ +function getRandomValue() { + // window.msCrypto for IE + var cryptoObj = window.crypto || window.msCrypto; + var randomValueArray = new Uint32Array(1); + cryptoObj.getRandomValues(randomValueArray); + return randomValueArray[0]; +} +exports.getRandomValue = getRandomValue; +/** + * Returns the time interval between two dates in milliseconds + * @export + * @param {Date} start + * @param {Date} end + * @returns {number} + */ +function getTimeDiffInMilliseconds(start, end) { + return Math.abs(start.getTime() - end.getTime()); +} +exports.getTimeDiffInMilliseconds = getTimeDiffInMilliseconds; /***/ }), @@ -9090,323 +9093,323 @@ exports.getTimeDiffInMilliseconds = getTimeDiffInMilliseconds; /*! no static exports found */ /***/ (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 __()); - }; -})(); -var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { - function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } - return new (P || (P = Promise))(function (resolve, reject) { - function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } - function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } - function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } - step((generator = generator.apply(thisArg, _arguments || [])).next()); - }); -}; -var __generator = (this && this.__generator) || function (thisArg, body) { - var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g; - return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g; - function verb(n) { return function (v) { return step([n, v]); }; } - function step(op) { - if (f) throw new TypeError("Generator is already executing."); - while (_) try { - if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t; - if (y = 0, t) op = [op[0] & 2, t.value]; - switch (op[0]) { - case 0: case 1: t = op; break; - case 4: _.label++; return { value: op[1], done: false }; - case 5: _.label++; y = op[1]; op = [0]; continue; - case 7: op = _.ops.pop(); _.trys.pop(); continue; - default: - if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; } - if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; } - if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; } - if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; } - if (t[2]) _.ops.pop(); - _.trys.pop(); continue; - } - op = body.call(thisArg, _); - } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; } - if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true }; - } -}; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.Visual = void 0; -var models = __webpack_require__(/*! powerbi-models */ "./node_modules/powerbi-models/dist/models.js"); -var report_1 = __webpack_require__(/*! ./report */ "./src/report.ts"); -var visualDescriptor_1 = __webpack_require__(/*! ./visualDescriptor */ "./src/visualDescriptor.ts"); -/** - * The Power BI Visual embed component - * - * @export - * @class Visual - */ -var Visual = /** @class */ (function (_super) { - __extends(Visual, _super); - /** - * Creates an instance of a Power BI Single Visual. - * - * @param {service.Service} service - * @param {HTMLElement} element - * @param {embed.IEmbedConfiguration} config - * @hidden - */ - function Visual(service, element, baseConfig, phasedRender, isBootstrap, iframe) { - return _super.call(this, service, element, baseConfig, phasedRender, isBootstrap, iframe) || this; - } - /** - * @hidden - */ - Visual.prototype.load = function (phasedRender) { - var config = this.config; - if (!config.accessToken) { - // bootstrap flow. - return; - } - if (typeof config.pageName !== 'string' || config.pageName.length === 0) { - throw new Error("Page name is required when embedding a visual."); - } - if (typeof config.visualName !== 'string' || config.visualName.length === 0) { - throw new Error("Visual name is required, but it was not found. You must provide a visual name as part of embed configuration."); - } - // calculate custom layout settings and override config. - var width = config.width ? config.width : this.iframe.offsetWidth; - var height = config.height ? config.height : this.iframe.offsetHeight; - var pageSize = { - type: models.PageSizeType.Custom, - width: width, - height: height, - }; - var pagesLayout = {}; - pagesLayout[config.pageName] = { - defaultLayout: { - displayState: { - mode: models.VisualContainerDisplayMode.Hidden - } - }, - visualsLayout: {} - }; - pagesLayout[config.pageName].visualsLayout[config.visualName] = { - displayState: { - mode: models.VisualContainerDisplayMode.Visible - }, - x: 1, - y: 1, - z: 1, - width: pageSize.width, - height: pageSize.height - }; - config.settings = config.settings || {}; - config.settings.filterPaneEnabled = false; - config.settings.navContentPaneEnabled = false; - config.settings.layoutType = models.LayoutType.Custom; - config.settings.customLayout = { - displayOption: models.DisplayOption.FitToPage, - pageSize: pageSize, - pagesLayout: pagesLayout - }; - this.config = config; - return _super.prototype.load.call(this, phasedRender); - }; - /** - * Gets the list of pages within the report - not supported in visual embed. - * - * @returns {Promise} - */ - Visual.prototype.getPages = function () { - throw Visual.GetPagesNotSupportedError; - }; - /** - * Sets the active page of the report - not supported in visual embed. - * - * @param {string} pageName - * @returns {Promise>} - */ - Visual.prototype.setPage = function (pageName) { - throw Visual.SetPageNotSupportedError; - }; - /** - * Render a preloaded report, using phased embedding API - * - * @hidden - * @returns {Promise} - */ - Visual.prototype.render = function (config) { - return __awaiter(this, void 0, void 0, function () { - return __generator(this, function (_a) { - throw Visual.RenderNotSupportedError; - }); - }); - }; - /** - * Gets the embedded visual descriptor object that contains the visual name, type, etc. - * - * ```javascript - * visual.getVisualDescriptor() - * .then(visualDetails => { ... }); - * ``` - * - * @returns {Promise} - */ - Visual.prototype.getVisualDescriptor = function () { - return __awaiter(this, void 0, void 0, function () { - var config, response, embeddedVisuals, visualNotFoundError, embeddedVisual, currentPage, response_1; - return __generator(this, function (_a) { - switch (_a.label) { - case 0: - config = this.config; - _a.label = 1; - case 1: - _a.trys.push([1, 3, , 4]); - return [4 /*yield*/, this.service.hpm.get("/report/pages/" + config.pageName + "/visuals", { uid: this.config.uniqueId }, this.iframe.contentWindow)]; - case 2: - response = _a.sent(); - embeddedVisuals = response.body.filter(function (pageVisual) { return pageVisual.name === config.visualName; }); - if (embeddedVisuals.length === 0) { - visualNotFoundError = { - message: "visualNotFound", - detailedMessage: "Visual not found" - }; - throw visualNotFoundError; - } - embeddedVisual = embeddedVisuals[0]; - currentPage = this.page(config.pageName); - return [2 /*return*/, new visualDescriptor_1.VisualDescriptor(currentPage, embeddedVisual.name, embeddedVisual.title, embeddedVisual.type, embeddedVisual.layout)]; - case 3: - response_1 = _a.sent(); - throw response_1.body; - case 4: return [2 /*return*/]; - } - }); - }); - }; - /** - * Gets filters that are applied to the filter level. - * Default filter level is visual level. - * - * ```javascript - * visual.getFilters(filtersLevel) - * .then(filters => { - * ... - * }); - * ``` - * - * @returns {Promise} - */ - Visual.prototype.getFilters = function (filtersLevel) { - return __awaiter(this, void 0, void 0, function () { - var url, response, response_2; - return __generator(this, function (_a) { - switch (_a.label) { - case 0: - url = this.getFiltersLevelUrl(filtersLevel); - _a.label = 1; - case 1: - _a.trys.push([1, 3, , 4]); - return [4 /*yield*/, this.service.hpm.get(url, { uid: this.config.uniqueId }, this.iframe.contentWindow)]; - case 2: - response = _a.sent(); - return [2 /*return*/, response.body]; - case 3: - response_2 = _a.sent(); - throw response_2.body; - case 4: return [2 /*return*/]; - } - }); - }); - }; - /** - * Sets filters at the filter level. - * Default filter level is visual level. - * - * ```javascript - * const filters: [ - * ... - * ]; - * - * visual.setFilters(filters, filtersLevel) - * .catch(errors => { - * ... - * }); - * ``` - * - * @param {(models.IFilter[])} filters - * @returns {Promise>} - */ - Visual.prototype.setFilters = function (filters, filtersLevel) { - return __awaiter(this, void 0, void 0, function () { - var url, response_3; - return __generator(this, function (_a) { - switch (_a.label) { - case 0: - url = this.getFiltersLevelUrl(filtersLevel); - _a.label = 1; - case 1: - _a.trys.push([1, 3, , 4]); - return [4 /*yield*/, this.service.hpm.put(url, filters, { uid: this.config.uniqueId }, this.iframe.contentWindow)]; - case 2: return [2 /*return*/, _a.sent()]; - case 3: - response_3 = _a.sent(); - throw response_3.body; - case 4: return [2 /*return*/]; - } - }); - }); - }; - /** - * Removes all filters from the current filter level. - * Default filter level is visual level. - * - * ```javascript - * visual.removeFilters(filtersLevel); - * ``` - * - * @returns {Promise>} - */ - Visual.prototype.removeFilters = function (filtersLevel) { - return __awaiter(this, void 0, void 0, function () { - return __generator(this, function (_a) { - switch (_a.label) { - case 0: return [4 /*yield*/, this.setFilters([], filtersLevel)]; - case 1: return [2 /*return*/, _a.sent()]; - } - }); - }); - }; - /** - * @hidden - */ - Visual.prototype.getFiltersLevelUrl = function (filtersLevel) { - var config = this.config; - switch (filtersLevel) { - case models.FiltersLevel.Report: - return "/report/filters"; - case models.FiltersLevel.Page: - return "/report/pages/" + config.pageName + "/filters"; - default: - 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."; - /** @hidden */ - Visual.RenderNotSupportedError = "render is not supported while embedding a visual."; - return Visual; -}(report_1.Report)); -exports.Visual = Visual; +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 (Object.prototype.hasOwnProperty.call(b, 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 __()); + }; +})(); +var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { + function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } + return new (P || (P = Promise))(function (resolve, reject) { + function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } + function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } + function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } + step((generator = generator.apply(thisArg, _arguments || [])).next()); + }); +}; +var __generator = (this && this.__generator) || function (thisArg, body) { + var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g; + return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g; + function verb(n) { return function (v) { return step([n, v]); }; } + function step(op) { + if (f) throw new TypeError("Generator is already executing."); + while (_) try { + if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t; + if (y = 0, t) op = [op[0] & 2, t.value]; + switch (op[0]) { + case 0: case 1: t = op; break; + case 4: _.label++; return { value: op[1], done: false }; + case 5: _.label++; y = op[1]; op = [0]; continue; + case 7: op = _.ops.pop(); _.trys.pop(); continue; + default: + if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; } + if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; } + if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; } + if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; } + if (t[2]) _.ops.pop(); + _.trys.pop(); continue; + } + op = body.call(thisArg, _); + } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; } + if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true }; + } +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.Visual = void 0; +var models = __webpack_require__(/*! powerbi-models */ "./node_modules/powerbi-models/dist/models.js"); +var report_1 = __webpack_require__(/*! ./report */ "./src/report.ts"); +var visualDescriptor_1 = __webpack_require__(/*! ./visualDescriptor */ "./src/visualDescriptor.ts"); +/** + * The Power BI Visual embed component + * + * @export + * @class Visual + */ +var Visual = /** @class */ (function (_super) { + __extends(Visual, _super); + /** + * Creates an instance of a Power BI Single Visual. + * + * @param {service.Service} service + * @param {HTMLElement} element + * @param {embed.IEmbedConfiguration} config + * @hidden + */ + function Visual(service, element, baseConfig, phasedRender, isBootstrap, iframe) { + return _super.call(this, service, element, baseConfig, phasedRender, isBootstrap, iframe) || this; + } + /** + * @hidden + */ + Visual.prototype.load = function (phasedRender) { + var config = this.config; + if (!config.accessToken) { + // bootstrap flow. + return; + } + if (typeof config.pageName !== 'string' || config.pageName.length === 0) { + throw new Error("Page name is required when embedding a visual."); + } + if (typeof config.visualName !== 'string' || config.visualName.length === 0) { + throw new Error("Visual name is required, but it was not found. You must provide a visual name as part of embed configuration."); + } + // calculate custom layout settings and override config. + var width = config.width ? config.width : this.iframe.offsetWidth; + var height = config.height ? config.height : this.iframe.offsetHeight; + var pageSize = { + type: models.PageSizeType.Custom, + width: width, + height: height, + }; + var pagesLayout = {}; + pagesLayout[config.pageName] = { + defaultLayout: { + displayState: { + mode: models.VisualContainerDisplayMode.Hidden + } + }, + visualsLayout: {} + }; + pagesLayout[config.pageName].visualsLayout[config.visualName] = { + displayState: { + mode: models.VisualContainerDisplayMode.Visible + }, + x: 1, + y: 1, + z: 1, + width: pageSize.width, + height: pageSize.height + }; + config.settings = config.settings || {}; + config.settings.filterPaneEnabled = false; + config.settings.navContentPaneEnabled = false; + config.settings.layoutType = models.LayoutType.Custom; + config.settings.customLayout = { + displayOption: models.DisplayOption.FitToPage, + pageSize: pageSize, + pagesLayout: pagesLayout + }; + this.config = config; + return _super.prototype.load.call(this, phasedRender); + }; + /** + * Gets the list of pages within the report - not supported in visual embed. + * + * @returns {Promise} + */ + Visual.prototype.getPages = function () { + throw Visual.GetPagesNotSupportedError; + }; + /** + * Sets the active page of the report - not supported in visual embed. + * + * @param {string} pageName + * @returns {Promise>} + */ + Visual.prototype.setPage = function (pageName) { + throw Visual.SetPageNotSupportedError; + }; + /** + * Render a preloaded report, using phased embedding API + * + * @hidden + * @returns {Promise} + */ + Visual.prototype.render = function (config) { + return __awaiter(this, void 0, void 0, function () { + return __generator(this, function (_a) { + throw Visual.RenderNotSupportedError; + }); + }); + }; + /** + * Gets the embedded visual descriptor object that contains the visual name, type, etc. + * + * ```javascript + * visual.getVisualDescriptor() + * .then(visualDetails => { ... }); + * ``` + * + * @returns {Promise} + */ + Visual.prototype.getVisualDescriptor = function () { + return __awaiter(this, void 0, void 0, function () { + var config, response, embeddedVisuals, visualNotFoundError, embeddedVisual, currentPage, response_1; + return __generator(this, function (_a) { + switch (_a.label) { + case 0: + config = this.config; + _a.label = 1; + case 1: + _a.trys.push([1, 3, , 4]); + return [4 /*yield*/, this.service.hpm.get("/report/pages/" + config.pageName + "/visuals", { uid: this.config.uniqueId }, this.iframe.contentWindow)]; + case 2: + response = _a.sent(); + embeddedVisuals = response.body.filter(function (pageVisual) { return pageVisual.name === config.visualName; }); + if (embeddedVisuals.length === 0) { + visualNotFoundError = { + message: "visualNotFound", + detailedMessage: "Visual not found" + }; + throw visualNotFoundError; + } + embeddedVisual = embeddedVisuals[0]; + currentPage = this.page(config.pageName); + return [2 /*return*/, new visualDescriptor_1.VisualDescriptor(currentPage, embeddedVisual.name, embeddedVisual.title, embeddedVisual.type, embeddedVisual.layout)]; + case 3: + response_1 = _a.sent(); + throw response_1.body; + case 4: return [2 /*return*/]; + } + }); + }); + }; + /** + * Gets filters that are applied to the filter level. + * Default filter level is visual level. + * + * ```javascript + * visual.getFilters(filtersLevel) + * .then(filters => { + * ... + * }); + * ``` + * + * @returns {Promise} + */ + Visual.prototype.getFilters = function (filtersLevel) { + return __awaiter(this, void 0, void 0, function () { + var url, response, response_2; + return __generator(this, function (_a) { + switch (_a.label) { + case 0: + url = this.getFiltersLevelUrl(filtersLevel); + _a.label = 1; + case 1: + _a.trys.push([1, 3, , 4]); + return [4 /*yield*/, this.service.hpm.get(url, { uid: this.config.uniqueId }, this.iframe.contentWindow)]; + case 2: + response = _a.sent(); + return [2 /*return*/, response.body]; + case 3: + response_2 = _a.sent(); + throw response_2.body; + case 4: return [2 /*return*/]; + } + }); + }); + }; + /** + * Sets filters at the filter level. + * Default filter level is visual level. + * + * ```javascript + * const filters: [ + * ... + * ]; + * + * visual.setFilters(filters, filtersLevel) + * .catch(errors => { + * ... + * }); + * ``` + * + * @param {(models.IFilter[])} filters + * @returns {Promise>} + */ + Visual.prototype.setFilters = function (filters, filtersLevel) { + return __awaiter(this, void 0, void 0, function () { + var url, response_3; + return __generator(this, function (_a) { + switch (_a.label) { + case 0: + url = this.getFiltersLevelUrl(filtersLevel); + _a.label = 1; + case 1: + _a.trys.push([1, 3, , 4]); + return [4 /*yield*/, this.service.hpm.put(url, filters, { uid: this.config.uniqueId }, this.iframe.contentWindow)]; + case 2: return [2 /*return*/, _a.sent()]; + case 3: + response_3 = _a.sent(); + throw response_3.body; + case 4: return [2 /*return*/]; + } + }); + }); + }; + /** + * Removes all filters from the current filter level. + * Default filter level is visual level. + * + * ```javascript + * visual.removeFilters(filtersLevel); + * ``` + * + * @returns {Promise>} + */ + Visual.prototype.removeFilters = function (filtersLevel) { + return __awaiter(this, void 0, void 0, function () { + return __generator(this, function (_a) { + switch (_a.label) { + case 0: return [4 /*yield*/, this.setFilters([], filtersLevel)]; + case 1: return [2 /*return*/, _a.sent()]; + } + }); + }); + }; + /** + * @hidden + */ + Visual.prototype.getFiltersLevelUrl = function (filtersLevel) { + var config = this.config; + switch (filtersLevel) { + case models.FiltersLevel.Report: + return "/report/filters"; + case models.FiltersLevel.Page: + return "/report/pages/" + config.pageName + "/filters"; + default: + 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."; + /** @hidden */ + Visual.RenderNotSupportedError = "render is not supported while embedding a visual."; + return Visual; +}(report_1.Report)); +exports.Visual = Visual; /***/ }), @@ -9418,286 +9421,286 @@ exports.Visual = Visual; /*! no static exports found */ /***/ (function(module, exports) { -var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { - function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } - return new (P || (P = Promise))(function (resolve, reject) { - function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } - function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } - function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } - step((generator = generator.apply(thisArg, _arguments || [])).next()); - }); -}; -var __generator = (this && this.__generator) || function (thisArg, body) { - var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g; - return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g; - function verb(n) { return function (v) { return step([n, v]); }; } - function step(op) { - if (f) throw new TypeError("Generator is already executing."); - while (_) try { - if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t; - if (y = 0, t) op = [op[0] & 2, t.value]; - switch (op[0]) { - case 0: case 1: t = op; break; - case 4: _.label++; return { value: op[1], done: false }; - case 5: _.label++; y = op[1]; op = [0]; continue; - case 7: op = _.ops.pop(); _.trys.pop(); continue; - default: - if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; } - if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; } - if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; } - if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; } - if (t[2]) _.ops.pop(); - _.trys.pop(); continue; - } - op = body.call(thisArg, _); - } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; } - if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true }; - } -}; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.VisualDescriptor = void 0; -/** - * A Power BI visual within a page - * - * @export - * @class VisualDescriptor - * @implements {IVisualNode} - */ -var VisualDescriptor = /** @class */ (function () { - /** - * @hidden - */ - function VisualDescriptor(page, name, title, type, layout) { - this.name = name; - this.title = title; - this.type = type; - this.layout = layout; - this.page = page; - } - /** - * Gets all visual level filters of the current visual. - * - * ```javascript - * visual.getFilters() - * .then(filters => { ... }); - * ``` - * - * @returns {(Promise)} - */ - VisualDescriptor.prototype.getFilters = function () { - return __awaiter(this, void 0, void 0, function () { - var response, response_1; - return __generator(this, function (_a) { - switch (_a.label) { - case 0: - _a.trys.push([0, 2, , 3]); - return [4 /*yield*/, this.page.report.service.hpm.get("/report/pages/" + this.page.name + "/visuals/" + this.name + "/filters", { uid: this.page.report.config.uniqueId }, this.page.report.iframe.contentWindow)]; - case 1: - response = _a.sent(); - return [2 /*return*/, response.body]; - case 2: - response_1 = _a.sent(); - throw response_1.body; - case 3: return [2 /*return*/]; - } - }); - }); - }; - /** - * Removes all filters from the current visual. - * - * ```javascript - * visual.removeFilters(); - * ``` - * - * @returns {Promise>} - */ - VisualDescriptor.prototype.removeFilters = function () { - return __awaiter(this, void 0, void 0, function () { - return __generator(this, function (_a) { - switch (_a.label) { - case 0: return [4 /*yield*/, this.setFilters([])]; - case 1: return [2 /*return*/, _a.sent()]; - } - }); - }); - }; - /** - * Sets the filters on the current visual to 'filters'. - * - * ```javascript - * visual.setFilters(filters); - * .catch(errors => { ... }); - * ``` - * - * @param {(models.IFilter[])} filters - * @returns {Promise>} - */ - VisualDescriptor.prototype.setFilters = function (filters) { - return __awaiter(this, void 0, void 0, function () { - var response_2; - return __generator(this, function (_a) { - switch (_a.label) { - case 0: - _a.trys.push([0, 2, , 3]); - return [4 /*yield*/, this.page.report.service.hpm.put("/report/pages/" + this.page.name + "/visuals/" + this.name + "/filters", filters, { uid: this.page.report.config.uniqueId }, this.page.report.iframe.contentWindow)]; - case 1: return [2 /*return*/, _a.sent()]; - case 2: - response_2 = _a.sent(); - throw response_2.body; - case 3: return [2 /*return*/]; - } - }); - }); - }; - /** - * Exports Visual data. - * Can export up to 30K rows. - * @param rows: Optional. Default value is 30K, maximum value is 30K as well. - * @param exportDataType: Optional. Default is models.ExportDataType.Summarized. - * ```javascript - * visual.exportData() - * .then(data => { ... }); - * ``` - * - * @returns {(Promise)} - */ - VisualDescriptor.prototype.exportData = function (exportDataType, rows) { - return __awaiter(this, void 0, void 0, function () { - var exportDataRequestBody, response, response_3; - return __generator(this, function (_a) { - switch (_a.label) { - case 0: - exportDataRequestBody = { - rows: rows, - exportDataType: exportDataType - }; - _a.label = 1; - case 1: - _a.trys.push([1, 3, , 4]); - return [4 /*yield*/, this.page.report.service.hpm.post("/report/pages/" + this.page.name + "/visuals/" + this.name + "/exportData", exportDataRequestBody, { uid: this.page.report.config.uniqueId }, this.page.report.iframe.contentWindow)]; - case 2: - response = _a.sent(); - return [2 /*return*/, response.body]; - case 3: - response_3 = _a.sent(); - throw response_3.body; - case 4: return [2 /*return*/]; - } - }); - }); - }; - /** - * Set slicer state. - * Works only for visuals of type slicer. - * @param state: A new state which contains the slicer filters. - * ```javascript - * visual.setSlicerState() - * .then(() => { ... }); - * ``` - */ - VisualDescriptor.prototype.setSlicerState = function (state) { - return __awaiter(this, void 0, void 0, function () { - var response_4; - return __generator(this, function (_a) { - switch (_a.label) { - case 0: - _a.trys.push([0, 2, , 3]); - return [4 /*yield*/, this.page.report.service.hpm.put("/report/pages/" + this.page.name + "/visuals/" + this.name + "/slicer", state, { uid: this.page.report.config.uniqueId }, this.page.report.iframe.contentWindow)]; - case 1: return [2 /*return*/, _a.sent()]; - case 2: - response_4 = _a.sent(); - throw response_4.body; - case 3: return [2 /*return*/]; - } - }); - }); - }; - /** - * Get slicer state. - * Works only for visuals of type slicer. - * - * ```javascript - * visual.getSlicerState() - * .then(state => { ... }); - * ``` - * - * @returns {(Promise)} - */ - VisualDescriptor.prototype.getSlicerState = function () { - return __awaiter(this, void 0, void 0, function () { - var response, response_5; - return __generator(this, function (_a) { - switch (_a.label) { - case 0: - _a.trys.push([0, 2, , 3]); - return [4 /*yield*/, this.page.report.service.hpm.get("/report/pages/" + this.page.name + "/visuals/" + this.name + "/slicer", { uid: this.page.report.config.uniqueId }, this.page.report.iframe.contentWindow)]; - case 1: - response = _a.sent(); - return [2 /*return*/, response.body]; - case 2: - response_5 = _a.sent(); - throw response_5.body; - case 3: return [2 /*return*/]; - } - }); - }); - }; - /** - * Clone existing visual to a new instance. - * - * @returns {(Promise)} - */ - VisualDescriptor.prototype.clone = function (request) { - if (request === void 0) { request = {}; } - return __awaiter(this, void 0, void 0, function () { - var response, response_6; - return __generator(this, function (_a) { - switch (_a.label) { - case 0: - _a.trys.push([0, 2, , 3]); - return [4 /*yield*/, this.page.report.service.hpm.post("/report/pages/" + this.page.name + "/visuals/" + this.name + "/clone", request, { uid: this.page.report.config.uniqueId }, this.page.report.iframe.contentWindow)]; - case 1: - response = _a.sent(); - return [2 /*return*/, response.body]; - case 2: - response_6 = _a.sent(); - throw response_6.body; - case 3: return [2 /*return*/]; - } - }); - }); - }; - /** - * Sort a visual by dataField and direction. - * - * @param request: Sort by visual request. - * - * ```javascript - * visual.sortBy(request) - * .then(() => { ... }); - * ``` - */ - VisualDescriptor.prototype.sortBy = function (request) { - return __awaiter(this, void 0, void 0, function () { - var response_7; - return __generator(this, function (_a) { - switch (_a.label) { - case 0: - _a.trys.push([0, 2, , 3]); - return [4 /*yield*/, this.page.report.service.hpm.put("/report/pages/" + this.page.name + "/visuals/" + this.name + "/sortBy", request, { uid: this.page.report.config.uniqueId }, this.page.report.iframe.contentWindow)]; - case 1: return [2 /*return*/, _a.sent()]; - case 2: - response_7 = _a.sent(); - throw response_7.body; - case 3: return [2 /*return*/]; - } - }); - }); - }; - return VisualDescriptor; -}()); -exports.VisualDescriptor = VisualDescriptor; +var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { + function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } + return new (P || (P = Promise))(function (resolve, reject) { + function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } + function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } + function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } + step((generator = generator.apply(thisArg, _arguments || [])).next()); + }); +}; +var __generator = (this && this.__generator) || function (thisArg, body) { + var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g; + return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g; + function verb(n) { return function (v) { return step([n, v]); }; } + function step(op) { + if (f) throw new TypeError("Generator is already executing."); + while (_) try { + if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t; + if (y = 0, t) op = [op[0] & 2, t.value]; + switch (op[0]) { + case 0: case 1: t = op; break; + case 4: _.label++; return { value: op[1], done: false }; + case 5: _.label++; y = op[1]; op = [0]; continue; + case 7: op = _.ops.pop(); _.trys.pop(); continue; + default: + if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; } + if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; } + if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; } + if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; } + if (t[2]) _.ops.pop(); + _.trys.pop(); continue; + } + op = body.call(thisArg, _); + } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; } + if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true }; + } +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.VisualDescriptor = void 0; +/** + * A Power BI visual within a page + * + * @export + * @class VisualDescriptor + * @implements {IVisualNode} + */ +var VisualDescriptor = /** @class */ (function () { + /** + * @hidden + */ + function VisualDescriptor(page, name, title, type, layout) { + this.name = name; + this.title = title; + this.type = type; + this.layout = layout; + this.page = page; + } + /** + * Gets all visual level filters of the current visual. + * + * ```javascript + * visual.getFilters() + * .then(filters => { ... }); + * ``` + * + * @returns {(Promise)} + */ + VisualDescriptor.prototype.getFilters = function () { + return __awaiter(this, void 0, void 0, function () { + var response, response_1; + return __generator(this, function (_a) { + switch (_a.label) { + case 0: + _a.trys.push([0, 2, , 3]); + return [4 /*yield*/, this.page.report.service.hpm.get("/report/pages/" + this.page.name + "/visuals/" + this.name + "/filters", { uid: this.page.report.config.uniqueId }, this.page.report.iframe.contentWindow)]; + case 1: + response = _a.sent(); + return [2 /*return*/, response.body]; + case 2: + response_1 = _a.sent(); + throw response_1.body; + case 3: return [2 /*return*/]; + } + }); + }); + }; + /** + * Removes all filters from the current visual. + * + * ```javascript + * visual.removeFilters(); + * ``` + * + * @returns {Promise>} + */ + VisualDescriptor.prototype.removeFilters = function () { + return __awaiter(this, void 0, void 0, function () { + return __generator(this, function (_a) { + switch (_a.label) { + case 0: return [4 /*yield*/, this.setFilters([])]; + case 1: return [2 /*return*/, _a.sent()]; + } + }); + }); + }; + /** + * Sets the filters on the current visual to 'filters'. + * + * ```javascript + * visual.setFilters(filters); + * .catch(errors => { ... }); + * ``` + * + * @param {(models.IFilter[])} filters + * @returns {Promise>} + */ + VisualDescriptor.prototype.setFilters = function (filters) { + return __awaiter(this, void 0, void 0, function () { + var response_2; + return __generator(this, function (_a) { + switch (_a.label) { + case 0: + _a.trys.push([0, 2, , 3]); + return [4 /*yield*/, this.page.report.service.hpm.put("/report/pages/" + this.page.name + "/visuals/" + this.name + "/filters", filters, { uid: this.page.report.config.uniqueId }, this.page.report.iframe.contentWindow)]; + case 1: return [2 /*return*/, _a.sent()]; + case 2: + response_2 = _a.sent(); + throw response_2.body; + case 3: return [2 /*return*/]; + } + }); + }); + }; + /** + * Exports Visual data. + * Can export up to 30K rows. + * @param rows: Optional. Default value is 30K, maximum value is 30K as well. + * @param exportDataType: Optional. Default is models.ExportDataType.Summarized. + * ```javascript + * visual.exportData() + * .then(data => { ... }); + * ``` + * + * @returns {(Promise)} + */ + VisualDescriptor.prototype.exportData = function (exportDataType, rows) { + return __awaiter(this, void 0, void 0, function () { + var exportDataRequestBody, response, response_3; + return __generator(this, function (_a) { + switch (_a.label) { + case 0: + exportDataRequestBody = { + rows: rows, + exportDataType: exportDataType + }; + _a.label = 1; + case 1: + _a.trys.push([1, 3, , 4]); + return [4 /*yield*/, this.page.report.service.hpm.post("/report/pages/" + this.page.name + "/visuals/" + this.name + "/exportData", exportDataRequestBody, { uid: this.page.report.config.uniqueId }, this.page.report.iframe.contentWindow)]; + case 2: + response = _a.sent(); + return [2 /*return*/, response.body]; + case 3: + response_3 = _a.sent(); + throw response_3.body; + case 4: return [2 /*return*/]; + } + }); + }); + }; + /** + * Set slicer state. + * Works only for visuals of type slicer. + * @param state: A new state which contains the slicer filters. + * ```javascript + * visual.setSlicerState() + * .then(() => { ... }); + * ``` + */ + VisualDescriptor.prototype.setSlicerState = function (state) { + return __awaiter(this, void 0, void 0, function () { + var response_4; + return __generator(this, function (_a) { + switch (_a.label) { + case 0: + _a.trys.push([0, 2, , 3]); + return [4 /*yield*/, this.page.report.service.hpm.put("/report/pages/" + this.page.name + "/visuals/" + this.name + "/slicer", state, { uid: this.page.report.config.uniqueId }, this.page.report.iframe.contentWindow)]; + case 1: return [2 /*return*/, _a.sent()]; + case 2: + response_4 = _a.sent(); + throw response_4.body; + case 3: return [2 /*return*/]; + } + }); + }); + }; + /** + * Get slicer state. + * Works only for visuals of type slicer. + * + * ```javascript + * visual.getSlicerState() + * .then(state => { ... }); + * ``` + * + * @returns {(Promise)} + */ + VisualDescriptor.prototype.getSlicerState = function () { + return __awaiter(this, void 0, void 0, function () { + var response, response_5; + return __generator(this, function (_a) { + switch (_a.label) { + case 0: + _a.trys.push([0, 2, , 3]); + return [4 /*yield*/, this.page.report.service.hpm.get("/report/pages/" + this.page.name + "/visuals/" + this.name + "/slicer", { uid: this.page.report.config.uniqueId }, this.page.report.iframe.contentWindow)]; + case 1: + response = _a.sent(); + return [2 /*return*/, response.body]; + case 2: + response_5 = _a.sent(); + throw response_5.body; + case 3: return [2 /*return*/]; + } + }); + }); + }; + /** + * Clone existing visual to a new instance. + * + * @returns {(Promise)} + */ + VisualDescriptor.prototype.clone = function (request) { + if (request === void 0) { request = {}; } + return __awaiter(this, void 0, void 0, function () { + var response, response_6; + return __generator(this, function (_a) { + switch (_a.label) { + case 0: + _a.trys.push([0, 2, , 3]); + return [4 /*yield*/, this.page.report.service.hpm.post("/report/pages/" + this.page.name + "/visuals/" + this.name + "/clone", request, { uid: this.page.report.config.uniqueId }, this.page.report.iframe.contentWindow)]; + case 1: + response = _a.sent(); + return [2 /*return*/, response.body]; + case 2: + response_6 = _a.sent(); + throw response_6.body; + case 3: return [2 /*return*/]; + } + }); + }); + }; + /** + * Sort a visual by dataField and direction. + * + * @param request: Sort by visual request. + * + * ```javascript + * visual.sortBy(request) + * .then(() => { ... }); + * ``` + */ + VisualDescriptor.prototype.sortBy = function (request) { + return __awaiter(this, void 0, void 0, function () { + var response_7; + return __generator(this, function (_a) { + switch (_a.label) { + case 0: + _a.trys.push([0, 2, , 3]); + return [4 /*yield*/, this.page.report.service.hpm.put("/report/pages/" + this.page.name + "/visuals/" + this.name + "/sortBy", request, { uid: this.page.report.config.uniqueId }, this.page.report.iframe.contentWindow)]; + case 1: return [2 /*return*/, _a.sent()]; + case 2: + response_7 = _a.sent(); + throw response_7.body; + case 3: return [2 /*return*/]; + } + }); + }); + }; + return VisualDescriptor; +}()); +exports.VisualDescriptor = VisualDescriptor; /***/ }) diff --git a/dist/powerbi.min.js b/dist/powerbi.min.js index ef01eb03..34d7d125 100644 --- a/dist/powerbi.min.js +++ b/dist/powerbi.min.js @@ -1,7 +1,7 @@ -/*! powerbi-client v2.16.3 | (c) 2016 Microsoft Corporation MIT */ +/*! powerbi-client v2.16.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){var e={};function r(a){if(e[a])return e[a].exports;var i=e[a]={i:a,l:!1,exports:{}};return t[a].call(i.exports,i,i.exports,r),i.l=!0,i.exports}return r.m=t,r.c=e,r.d=function(t,e,a){r.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:a})},r.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},r.t=function(t,e){if(1&e&&(t=r(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var a=Object.create(null);if(r.r(a),Object.defineProperty(a,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var i in t)r.d(a,i,function(e){return t[e]}.bind(null,i));return a},r.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return r.d(e,"a",e),e},r.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},r.p="",r(r.s=12)}([function(t,e,r){ /*! powerbi-models v1.7.0 | (c) 2016 Microsoft Corporation MIT */ -var a;window,a=function(){return function(t){var e={};function r(a){if(e[a])return e[a].exports;var i=e[a]={i:a,l:!1,exports:{}};return t[a].call(i.exports,i,i.exports,r),i.l=!0,i.exports}return r.m=t,r.c=e,r.d=function(t,e,a){r.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:a})},r.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},r.t=function(t,e){if(1&e&&(t=r(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var a=Object.create(null);if(r.r(a),Object.defineProperty(a,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var i in t)r.d(a,i,function(e){return t[e]}.bind(null,i));return a},r.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return r.d(e,"a",e),e},r.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},r.p="",r(r.s=0)}([function(t,e,r){var a,i=this&&this.__extends||(a=function(t,e){return(a=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])})(t,e)},function(t,e){function r(){this.constructor=t}a(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.validateCustomTheme=e.validateCommandsSettings=e.validateVisualSettings=e.validateVisualHeader=e.validateExportDataRequest=e.validateQnaInterpretInputData=e.validateLoadQnaConfiguration=e.validateSaveAsParameters=e.validateFilter=e.validatePage=e.validateTileLoad=e.validateDashboardLoad=e.validateCreateReport=e.validateReportLoad=e.validateMenuGroupExtension=e.validateExtension=e.validateCustomPageSize=e.validateVisualizationsPane=e.validateSyncSlicersPane=e.validateSelectionPane=e.validatePageNavigationPane=e.validateFieldsPane=e.validateFiltersPane=e.validateBookmarksPane=e.validatePanes=e.validateSettings=e.validateCaptureBookmarkRequest=e.validateApplyBookmarkStateRequest=e.validateApplyBookmarkByNameRequest=e.validateAddBookmarkRequest=e.validatePlayBookmarkRequest=e.validateSlicerState=e.validateSlicer=e.validateVisualSelector=e.isIExtensionArray=e.isIExtensions=e.isGroupedMenuExtension=e.isFlatMenuExtension=e.VisualDataRoleKindPreference=e.VisualDataRoleKind=e.CommandDisplayOption=e.SlicerTargetSelector=e.VisualTypeSelector=e.VisualSelector=e.PageSelector=e.Selector=e.SortDirection=e.LegendPosition=e.TextAlignment=e.CommonErrorCodes=e.BookmarksPlayMode=e.ExportDataType=e.QnaMode=e.PageNavigationPosition=e.isColumnAggr=e.isHierarchyLevelAggr=e.isHierarchyLevel=e.isColumn=e.isMeasure=e.getFilterType=e.isBasicFilterWithKeys=e.isFilterKeyColumnsTarget=e.AdvancedFilter=e.TupleFilter=e.BasicFilterWithKeys=e.BasicFilter=e.RelativeTimeFilter=e.RelativeDateFilter=e.TopNFilter=e.IncludeExcludeFilter=e.NotSupportedFilter=e.Filter=e.RelativeDateOperators=e.RelativeDateFilterTimeUnit=e.FilterType=e.FiltersLevel=e.MenuLocation=e.ContrastMode=e.TokenType=e.ViewMode=e.Permissions=e.SectionVisibility=e.HyperlinkClickBehavior=e.LayoutType=e.VisualContainerDisplayMode=e.BackgroundType=e.DisplayOption=e.PageSizeType=e.TraceType=void 0;var o,n=r(1);!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"}(e.TraceType||(e.TraceType={})),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"}(e.PageSizeType||(e.PageSizeType={})),function(t){t[t.FitToPage=0]="FitToPage",t[t.FitToWidth=1]="FitToWidth",t[t.ActualSize=2]="ActualSize"}(e.DisplayOption||(e.DisplayOption={})),function(t){t[t.Default=0]="Default",t[t.Transparent=1]="Transparent"}(e.BackgroundType||(e.BackgroundType={})),function(t){t[t.Visible=0]="Visible",t[t.Hidden=1]="Hidden"}(e.VisualContainerDisplayMode||(e.VisualContainerDisplayMode={})),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={})),function(t){t[t.Navigate=0]="Navigate",t[t.NavigateAndRaiseEvent=1]="NavigateAndRaiseEvent",t[t.RaiseEvent=2]="RaiseEvent"}(e.HyperlinkClickBehavior||(e.HyperlinkClickBehavior={})),function(t){t[t.AlwaysVisible=0]="AlwaysVisible",t[t.HiddenInViewMode=1]="HiddenInViewMode"}(e.SectionVisibility||(e.SectionVisibility={})),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"}(e.Permissions||(e.Permissions={})),function(t){t[t.View=0]="View",t[t.Edit=1]="Edit"}(e.ViewMode||(e.ViewMode={})),function(t){t[t.Aad=0]="Aad",t[t.Embed=1]="Embed"}(e.TokenType||(e.TokenType={})),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"}(e.ContrastMode||(e.ContrastMode={})),function(t){t[t.Bottom=0]="Bottom",t[t.Top=1]="Top"}(e.MenuLocation||(e.MenuLocation={})),function(t){t[t.Report=0]="Report",t[t.Page=1]="Page",t[t.Visual=2]="Visual"}(e.FiltersLevel||(e.FiltersLevel={})),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"}(o=e.FilterType||(e.FilterType={})),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"}(e.RelativeDateFilterTimeUnit||(e.RelativeDateFilterTimeUnit={})),function(t){t[t.InLast=0]="InLast",t[t.InThis=1]="InThis",t[t.InNext=2]="InNext"}(e.RelativeDateOperators||(e.RelativeDateOperators={}));var l=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=l;var s=function(t){function e(r,a,i){var n=t.call(this,r,o.Unknown)||this;return n.message=a,n.notSupportedTypeName=i,n.schemaUrl=e.schemaUrl,n}return i(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}(l);e.NotSupportedFilter=s;var d=function(t){function e(r,a,i){var n=t.call(this,r,o.IncludeExclude)||this;return n.values=i,n.isExclude=a,n.schemaUrl=e.schemaUrl,n}return i(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}(l);e.IncludeExcludeFilter=d;var u=function(t){function e(r,a,i,n){var l=t.call(this,r,o.TopN)||this;return l.operator=a,l.itemCount=i,l.schemaUrl=e.schemaUrl,l.orderBy=n,l}return i(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}(l);e.TopNFilter=u;var c=function(t){function e(r,a,i,n,l){var s=t.call(this,r,o.RelativeDate)||this;return s.operator=a,s.timeUnitsCount=i,s.timeUnitType=n,s.includeToday=l,s.schemaUrl=e.schemaUrl,s}return i(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}(l);e.RelativeDateFilter=c;var p=function(t){function e(r,a,i,n){var l=t.call(this,r,o.RelativeTime)||this;return l.operator=a,l.timeUnitsCount=i,l.timeUnitType=n,l.schemaUrl=e.schemaUrl,l}return i(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}(l);e.RelativeTimeFilter=p;var f=function(t){function e(r,a){for(var i=[],n=2;n0&&!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,s=o.keyValues;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 s.conditions=l,s}return i(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}(l);function m(t){if(t.filterType)return t.filterType;var e=t,r=t;return"string"==typeof e.operator&&Array.isArray(e.values)?o.Basic:"string"==typeof r.logicalOperator&&Array.isArray(r.conditions)?o.Advanced:o.Unknown}function V(t){return!(!t.table||!t.column||t.aggregationFunction)}e.AdvancedFilter=y,e.isFilterKeyColumnsTarget=function(t){return V(t)&&!!t.keys},e.isBasicFilterWithKeys=function(t){return m(t)===o.Basic&&!!t.keyValues},e.getFilterType=m,e.isMeasure=function(t){return void 0!==t.table&&void 0!==t.measure},e.isColumn=V,e.isHierarchyLevel=function(t){return!(!(t.table&&t.hierarchy&&t.hierarchyLevel)||t.aggregationFunction)},e.isHierarchyLevelAggr=function(t){return!!(t.table&&t.hierarchy&&t.hierarchyLevel&&t.aggregationFunction)},e.isColumnAggr=function(t){return!!(t.table&&t.column&&t.aggregationFunction)},function(t){t[t.Bottom=0]="Bottom",t[t.Left=1]="Left"}(e.PageNavigationPosition||(e.PageNavigationPosition={})),function(t){t[t.Interactive=0]="Interactive",t[t.ResultOnly=1]="ResultOnly"}(e.QnaMode||(e.QnaMode={})),function(t){t[t.Summarized=0]="Summarized",t[t.Underlying=1]="Underlying"}(e.ExportDataType||(e.ExportDataType={})),function(t){t[t.Off=0]="Off",t[t.Presentation=1]="Presentation"}(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"},function(t){t[t.Ascending=1]="Ascending",t[t.Descending=2]="Descending"}(e.SortDirection||(e.SortDirection={}));var g=function(){function t(t){this.$schema=t}return t.prototype.toJSON=function(){return{$schema:this.$schema}},t}();e.Selector=g;var b=function(t){function e(r){var a=t.call(this,e.schemaUrl)||this;return a.pageName=r,a}return i(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}(g);e.PageSelector=b;var w=function(t){function e(r){var a=t.call(this,e.schemaUrl)||this;return a.visualName=r,a}return i(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}(g);e.VisualSelector=w;var P=function(t){function e(e){var r=t.call(this,w.schemaUrl)||this;return r.visualType=e,r}return i(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}(g);e.VisualTypeSelector=P;var _=function(t){function e(e){var r=t.call(this,w.schemaUrl)||this;return r.target=e,r}return i(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}(g);function S(t){return t&&!!t.groupName}function E(t){return Array.isArray(t)}function O(t){var e=t.message;return e||(e=t.path+" is invalid. Not meeting "+t.keyword+" constraint"),{message:e}}e.SlicerTargetSelector=_,function(t){t[t.Enabled=0]="Enabled",t[t.Disabled=1]="Disabled",t[t.Hidden=2]="Hidden"}(e.CommandDisplayOption||(e.CommandDisplayOption={})),function(t){t[t.Grouping=0]="Grouping",t[t.Measure=1]="Measure",t[t.GroupingOrMeasure=2]="GroupingOrMeasure"}(e.VisualDataRoleKind||(e.VisualDataRoleKind={})),function(t){t[t.Measure=0]="Measure",t[t.Grouping=1]="Grouping"}(e.VisualDataRoleKindPreference||(e.VisualDataRoleKindPreference={})),e.isFlatMenuExtension=function(t){return t&&!S(t)},e.isGroupedMenuExtension=S,e.isIExtensions=function(t){return t&&!E(t)},e.isIExtensionArray=E,e.validateVisualSelector=function(t){var e=n.Validators.visualSelectorValidator.validate(t);return e?e.map(O):void 0},e.validateSlicer=function(t){var e=n.Validators.slicerValidator.validate(t);return e?e.map(O):void 0},e.validateSlicerState=function(t){var e=n.Validators.slicerStateValidator.validate(t);return e?e.map(O):void 0},e.validatePlayBookmarkRequest=function(t){var e=n.Validators.playBookmarkRequestValidator.validate(t);return e?e.map(O):void 0},e.validateAddBookmarkRequest=function(t){var e=n.Validators.addBookmarkRequestValidator.validate(t);return e?e.map(O):void 0},e.validateApplyBookmarkByNameRequest=function(t){var e=n.Validators.applyBookmarkByNameRequestValidator.validate(t);return e?e.map(O):void 0},e.validateApplyBookmarkStateRequest=function(t){var e=n.Validators.applyBookmarkStateRequestValidator.validate(t);return e?e.map(O):void 0},e.validateCaptureBookmarkRequest=function(t){var e=n.Validators.captureBookmarkRequestValidator.validate(t);return e?e.map(O):void 0},e.validateSettings=function(t){var e=n.Validators.settingsValidator.validate(t);return e?e.map(O):void 0},e.validatePanes=function(t){var e=n.Validators.reportPanesValidator.validate(t);return e?e.map(O):void 0},e.validateBookmarksPane=function(t){var e=n.Validators.bookmarksPaneValidator.validate(t);return e?e.map(O):void 0},e.validateFiltersPane=function(t){var e=n.Validators.filtersPaneValidator.validate(t);return e?e.map(O):void 0},e.validateFieldsPane=function(t){var e=n.Validators.fieldsPaneValidator.validate(t);return e?e.map(O):void 0},e.validatePageNavigationPane=function(t){var e=n.Validators.pageNavigationPaneValidator.validate(t);return e?e.map(O):void 0},e.validateSelectionPane=function(t){var e=n.Validators.selectionPaneValidator.validate(t);return e?e.map(O):void 0},e.validateSyncSlicersPane=function(t){var e=n.Validators.syncSlicersPaneValidator.validate(t);return e?e.map(O):void 0},e.validateVisualizationsPane=function(t){var e=n.Validators.visualizationsPaneValidator.validate(t);return e?e.map(O):void 0},e.validateCustomPageSize=function(t){var e=n.Validators.customPageSizeValidator.validate(t);return e?e.map(O):void 0},e.validateExtension=function(t){var e=n.Validators.extensionValidator.validate(t);return e?e.map(O):void 0},e.validateMenuGroupExtension=function(t){var e=n.Validators.menuGroupExtensionValidator.validate(t);return e?e.map(O):void 0},e.validateReportLoad=function(t){var e=n.Validators.reportLoadValidator.validate(t);return e?e.map(O):void 0},e.validateCreateReport=function(t){var e=n.Validators.reportCreateValidator.validate(t);return e?e.map(O):void 0},e.validateDashboardLoad=function(t){var e=n.Validators.dashboardLoadValidator.validate(t);return e?e.map(O):void 0},e.validateTileLoad=function(t){var e=n.Validators.tileLoadValidator.validate(t);return e?e.map(O):void 0},e.validatePage=function(t){var e=n.Validators.pageValidator.validate(t);return e?e.map(O):void 0},e.validateFilter=function(t){var e=n.Validators.filtersValidator.validate(t);return e?e.map(O):void 0},e.validateSaveAsParameters=function(t){var e=n.Validators.saveAsParametersValidator.validate(t);return e?e.map(O):void 0},e.validateLoadQnaConfiguration=function(t){var e=n.Validators.loadQnaValidator.validate(t);return e?e.map(O):void 0},e.validateQnaInterpretInputData=function(t){var e=n.Validators.qnaInterpretInputDataValidator.validate(t);return e?e.map(O):void 0},e.validateExportDataRequest=function(t){var e=n.Validators.exportDataRequestValidator.validate(t);return e?e.map(O):void 0},e.validateVisualHeader=function(t){var e=n.Validators.visualHeaderValidator.validate(t);return e?e.map(O):void 0},e.validateVisualSettings=function(t){var e=n.Validators.visualSettingsValidator.validate(t);return e?e.map(O):void 0},e.validateCommandsSettings=function(t){var e=n.Validators.commandsSettingsValidator.validate(t);return e?e.map(O):void 0},e.validateCustomTheme=function(t){var e=n.Validators.customThemeValidator.validate(t);return e?e.map(O):void 0}},function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.Validators=void 0;var a=r(2),i=r(5),o=r(6),n=r(7),l=r(8),s=r(9),d=r(10),u=r(11),c=r(12),p=r(13),f=r(14),h=r(15),v=r(16),y=r(17),m=r(18),V=r(19),g=r(20),b=r(21),w=r(22),P=r(23),_=r(24),S=r(25),E=r(26),O=r(27),T=r(28),k=r(4);e.Validators={addBookmarkRequestValidator:new i.AddBookmarkRequestValidator,advancedFilterTypeValidator:new k.EnumValidator([0]),advancedFilterValidator:new c.AdvancedFilterValidator,anyArrayValidator:new k.ArrayValidator([new S.AnyOfValidator([new k.StringValidator,new k.NumberValidator,new k.BooleanValidator])]),anyFilterValidator:new S.AnyOfValidator([new c.BasicFilterValidator,new c.AdvancedFilterValidator,new c.IncludeExcludeFilterValidator,new c.NotSupportedFilterValidator,new c.RelativeDateFilterValidator,new c.TopNFilterValidator,new c.RelativeTimeFilterValidator]),anyValueValidator:new S.AnyOfValidator([new k.StringValidator,new k.NumberValidator,new k.BooleanValidator]),actionBarValidator:new a.ActionBarValidator,applyBookmarkByNameRequestValidator:new i.ApplyBookmarkByNameRequestValidator,applyBookmarkStateRequestValidator:new i.ApplyBookmarkStateRequestValidator,applyBookmarkValidator:new S.AnyOfValidator([new i.ApplyBookmarkByNameRequestValidator,new i.ApplyBookmarkStateRequestValidator]),backgroundValidator:new k.EnumValidator([0,1]),basicFilterTypeValidator:new k.EnumValidator([1]),basicFilterValidator:new c.BasicFilterValidator,booleanArrayValidator:new k.BooleanArrayValidator,booleanValidator:new k.BooleanValidator,bookmarksPaneValidator:new h.BookmarksPaneValidator,captureBookmarkOptionsValidator:new i.CaptureBookmarkOptionsValidator,captureBookmarkRequestValidator:new i.CaptureBookmarkRequestValidator,commandDisplayOptionValidator:new k.EnumValidator([0,1,2]),commandExtensionSelectorValidator:new S.AnyOfValidator([new g.VisualSelectorValidator,new g.VisualTypeSelectorValidator]),commandExtensionArrayValidator:new k.ArrayValidator([new u.CommandExtensionValidator]),commandExtensionValidator:new u.CommandExtensionValidator,commandsSettingsArrayValidator:new k.ArrayValidator([new o.CommandsSettingsValidator]),commandsSettingsValidator:new o.CommandsSettingsValidator,conditionItemValidator:new c.ConditionItemValidator,contrastModeValidator:new k.EnumValidator([0,1,2,3,4]),customLayoutDisplayOptionValidator:new k.EnumValidator([0,1,2]),customLayoutValidator:new p.CustomLayoutValidator,customPageSizeValidator:new f.CustomPageSizeValidator,customThemeValidator:new n.CustomThemeValidator,dashboardLoadValidator:new l.DashboardLoadValidator,datasetBindingValidator:new s.DatasetBindingValidator,displayStateModeValidator:new k.EnumValidator([0,1]),displayStateValidator:new p.DisplayStateValidator,exportDataRequestValidator:new d.ExportDataRequestValidator,extensionArrayValidator:new k.ArrayValidator([new u.ExtensionValidator]),extensionsValidator:new S.AnyOfValidator([new k.ArrayValidator([new u.ExtensionValidator]),new u.ExtensionsValidator]),extensionPointsValidator:new u.ExtensionPointsValidator,extensionValidator:new u.ExtensionValidator,fieldForbiddenValidator:new E.FieldForbiddenValidator,fieldRequiredValidator:new O.FieldRequiredValidator,fieldsPaneValidator:new h.FieldsPaneValidator,filterColumnTargetValidator:new c.FilterColumnTargetValidator,filterConditionsValidator:new k.ArrayValidator([new c.ConditionItemValidator]),filterHierarchyTargetValidator:new c.FilterHierarchyTargetValidator,filterMeasureTargetValidator:new c.FilterMeasureTargetValidator,filterTargetValidator:new S.AnyOfValidator([new c.FilterColumnTargetValidator,new c.FilterHierarchyTargetValidator,new c.FilterMeasureTargetValidator]),filtersArrayValidator:new k.ArrayValidator([new S.AnyOfValidator([new c.BasicFilterValidator,new c.AdvancedFilterValidator,new c.RelativeDateFilterValidator,new c.RelativeTimeFilterValidator])]),filtersValidator:new c.FilterValidator,filtersPaneValidator:new h.FiltersPaneValidator,hyperlinkClickBehaviorValidator:new k.EnumValidator([0,1,2]),includeExcludeFilterValidator:new c.IncludeExcludeFilterValidator,includeExludeFilterTypeValidator:new k.EnumValidator([3]),layoutTypeValidator:new k.EnumValidator([0,1,2,3]),loadQnaValidator:new v.LoadQnaValidator,menuExtensionValidator:new S.AnyOfValidator([new u.FlatMenuExtensionValidator,new u.GroupedMenuExtensionValidator]),menuGroupExtensionArrayValidator:new k.ArrayValidator([new u.MenuGroupExtensionValidator]),menuGroupExtensionValidator:new u.MenuGroupExtensionValidator,menuLocationValidator:new k.EnumValidator([0,1]),notSupportedFilterTypeValidator:new k.EnumValidator([2]),notSupportedFilterValidator:new c.NotSupportedFilterValidator,numberArrayValidator:new k.NumberArrayValidator,numberValidator:new k.NumberValidator,pageLayoutValidator:new T.MapValidator([new k.StringValidator],[new p.VisualLayoutValidator]),pageNavigationPaneValidator:new h.PageNavigationPaneValidator,pageNavigationPositionValidator:new k.EnumValidator([0,1]),pageSizeTypeValidator:new k.EnumValidator([0,1,2,3,4,5]),pageSizeValidator:new f.PageSizeValidator,pageValidator:new f.PageValidator,pageViewFieldValidator:new f.PageViewFieldValidator,pagesLayoutValidator:new T.MapValidator([new k.StringValidator],[new p.PageLayoutValidator]),reportBarsValidator:new a.ReportBarsValidator,reportPanesValidator:new h.ReportPanesValidator,permissionsValidator:new k.EnumValidator([0,1,2,4,7]),playBookmarkRequestValidator:new i.PlayBookmarkRequestValidator,qnaInterpretInputDataValidator:new v.QnaInterpretInputDataValidator,qnaSettingValidator:new v.QnaSettingsValidator,relativeDateFilterOperatorValidator:new k.EnumValidator([0,1,2]),relativeDateFilterTimeUnitTypeValidator:new k.EnumValidator([0,1,2,3,4,5,6]),relativeDateFilterTypeValidator:new k.EnumValidator([4]),relativeDateFilterValidator:new c.RelativeDateFilterValidator,relativeTimeFilterTimeUnitTypeValidator:new k.EnumValidator([7,8]),relativeTimeFilterTypeValidator:new k.EnumValidator([7]),relativeTimeFilterValidator:new c.RelativeTimeFilterValidator,reportCreateValidator:new y.ReportCreateValidator,reportLoadValidator:new m.ReportLoadValidator,saveAsParametersValidator:new V.SaveAsParametersValidator,selectionPaneValidator:new h.SelectionPaneValidator,settingsValidator:new b.SettingsValidator,singleCommandSettingsValidator:new o.SingleCommandSettingsValidator,slicerSelectorValidator:new S.AnyOfValidator([new g.VisualSelectorValidator,new g.SlicerTargetSelectorValidator]),slicerStateValidator:new w.SlicerStateValidator,slicerTargetValidator:new S.AnyOfValidator([new c.FilterColumnTargetValidator,new c.FilterHierarchyTargetValidator,new c.FilterMeasureTargetValidator,new c.FilterKeyColumnsTargetValidator,new c.FilterKeyHierarchyTargetValidator]),slicerValidator:new w.SlicerValidator,stringArrayValidator:new k.StringArrayValidator,stringValidator:new k.StringValidator,syncSlicersPaneValidator:new h.SyncSlicersPaneValidator,tileLoadValidator:new P.TileLoadValidator,tokenTypeValidator:new k.EnumValidator([0,1]),topNFilterTypeValidator:new k.EnumValidator([5]),topNFilterValidator:new c.TopNFilterValidator,viewModeValidator:new k.EnumValidator([0,1]),visualCommandSelectorValidator:new S.AnyOfValidator([new g.VisualSelectorValidator,new g.VisualTypeSelectorValidator]),visualHeaderSelectorValidator:new S.AnyOfValidator([new g.VisualSelectorValidator,new g.VisualTypeSelectorValidator]),visualHeaderSettingsValidator:new _.VisualHeaderSettingsValidator,visualHeaderValidator:new _.VisualHeaderValidator,visualHeadersValidator:new k.ArrayValidator([new _.VisualHeaderValidator]),visualizationsPaneValidator:new h.VisualizationsPaneValidator,visualLayoutValidator:new p.VisualLayoutValidator,visualSelectorValidator:new g.VisualSelectorValidator,visualSettingsValidator:new _.VisualSettingsValidator,visualTypeSelectorValidator:new g.VisualTypeSelectorValidator}},function(t,e,r){var a,i=this&&this.__extends||(a=function(t,e){return(a=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])})(t,e)},function(t,e){function r(){this.constructor=t}a(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.ActionBarValidator=e.ReportBarsValidator=void 0;var o=r(3),n=r(4),l=r(1),s=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i(e,t),e.prototype.validate=function(e,r,a){if(null==e)return null;var i=t.prototype.validate.call(this,e,r,a);if(i)return i;var n=[{field:"actionBar",validators:[l.Validators.actionBarValidator]}];return new o.MultipleFieldsValidator(n).validate(e,r,a)},e}(n.ObjectValidator);e.ReportBarsValidator=s;var d=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i(e,t),e.prototype.validate=function(e,r,a){if(null==e)return null;var i=t.prototype.validate.call(this,e,r,a);if(i)return i;var n=[{field:"visible",validators:[l.Validators.booleanValidator]}];return new o.MultipleFieldsValidator(n).validate(e,r,a)},e}(n.ObjectValidator);e.ActionBarValidator=d},function(t,e){Object.defineProperty(e,"__esModule",{value:!0}),e.MultipleFieldsValidator=void 0;var r=function(){function t(t){this.fieldValidatorsPairs=t}return t.prototype.validate=function(t,e,r){if(!this.fieldValidatorsPairs)return null;for(var a=e?e+"."+r:r,i=0,o=this.fieldValidatorsPairs;i0&&i[i.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0?"&":"?";return t+=a+e+"="+r},e.isSavedInternal=function(t,e,i){return r(this,void 0,void 0,(function(){return a(this,(function(r){switch(r.label){case 0:return r.trys.push([0,2,,3]),[4,t.get("/report/hasUnsavedChanges",{uid:e},i)];case 1:return[2,!r.sent().body];case 2:throw r.sent().body;case 3:return[2]}}))}))},e.isRDLEmbed=function(t){return t.toLowerCase().indexOf("/rdlembed?")>=0},e.autoAuthInEmbedUrl=function(t){return t&&decodeURIComponent(t).toLowerCase().indexOf("autoauth=true")>=0},e.getRandomValue=o,e.getTimeDiffInMilliseconds=function(t,e){return Math.abs(t.getTime()-e.getTime())}},function(t,e){Object.defineProperty(e,"__esModule",{value:!0}),e.EmbedUrlNotSupported=e.APINotSupportedForRDLError=void 0,e.APINotSupportedForRDLError="This API is currently not supported for RDL reports",e.EmbedUrlNotSupported="Embed URL is invalid for this scenario. Please use Power BI REST APIs to get the valid URL"},function(t,e,r){var a,i=this&&this.__extends||(a=function(t,e){return(a=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])})(t,e)},function(t,e){function r(){this.constructor=t}a(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}),o=this&&this.__awaiter||function(t,e,r,a){return new(r||(r=Promise))((function(i,o){function n(t){try{s(a.next(t))}catch(t){o(t)}}function l(t){try{s(a.throw(t))}catch(t){o(t)}}function s(t){var e;t.done?i(t.value):(e=t.value,e instanceof r?e:new r((function(t){t(e)}))).then(n,l)}s((a=a.apply(t,e||[])).next())}))},n=this&&this.__generator||function(t,e){var r,a,i,o,n={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:l(0),throw:l(1),return:l(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function l(o){return function(l){return function(o){if(r)throw new TypeError("Generator is already executing.");for(;n;)try{if(r=1,a&&(i=2&o[0]?a.return:o[0]?a.throw||((i=a.return)&&i.call(a),0):a.next)&&!(i=i.call(a,o[1])).done)return i;switch(a=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return n.label++,{value:o[1],done:!1};case 5:n.label++,a=o[1],o=[0];continue;case 7:o=n.ops.pop(),n.trys.pop();continue;default:if(!(i=n.trys,(i=i.length>0&&i[i.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&!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,s=o.keyValues;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 s.conditions=l,s}return i(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}(l);function m(t){if(t.filterType)return t.filterType;var e=t,r=t;return"string"==typeof e.operator&&Array.isArray(e.values)?o.Basic:"string"==typeof r.logicalOperator&&Array.isArray(r.conditions)?o.Advanced:o.Unknown}function V(t){return!(!t.table||!t.column||t.aggregationFunction)}e.AdvancedFilter=y,e.isFilterKeyColumnsTarget=function(t){return V(t)&&!!t.keys},e.isBasicFilterWithKeys=function(t){return m(t)===o.Basic&&!!t.keyValues},e.getFilterType=m,e.isMeasure=function(t){return void 0!==t.table&&void 0!==t.measure},e.isColumn=V,e.isHierarchyLevel=function(t){return!(!(t.table&&t.hierarchy&&t.hierarchyLevel)||t.aggregationFunction)},e.isHierarchyLevelAggr=function(t){return!!(t.table&&t.hierarchy&&t.hierarchyLevel&&t.aggregationFunction)},e.isColumnAggr=function(t){return!!(t.table&&t.column&&t.aggregationFunction)},function(t){t[t.Bottom=0]="Bottom",t[t.Left=1]="Left"}(e.PageNavigationPosition||(e.PageNavigationPosition={})),function(t){t[t.Interactive=0]="Interactive",t[t.ResultOnly=1]="ResultOnly"}(e.QnaMode||(e.QnaMode={})),function(t){t[t.Summarized=0]="Summarized",t[t.Underlying=1]="Underlying"}(e.ExportDataType||(e.ExportDataType={})),function(t){t[t.Off=0]="Off",t[t.Presentation=1]="Presentation"}(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"},function(t){t[t.Ascending=1]="Ascending",t[t.Descending=2]="Descending"}(e.SortDirection||(e.SortDirection={}));var g=function(){function t(t){this.$schema=t}return t.prototype.toJSON=function(){return{$schema:this.$schema}},t}();e.Selector=g;var b=function(t){function e(r){var a=t.call(this,e.schemaUrl)||this;return a.pageName=r,a}return i(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}(g);e.PageSelector=b;var w=function(t){function e(r){var a=t.call(this,e.schemaUrl)||this;return a.visualName=r,a}return i(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}(g);e.VisualSelector=w;var P=function(t){function e(e){var r=t.call(this,w.schemaUrl)||this;return r.visualType=e,r}return i(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}(g);e.VisualTypeSelector=P;var _=function(t){function e(e){var r=t.call(this,w.schemaUrl)||this;return r.target=e,r}return i(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}(g);function S(t){return t&&!!t.groupName}function E(t){return Array.isArray(t)}function O(t){var e=t.message;return e||(e=t.path+" is invalid. Not meeting "+t.keyword+" constraint"),{message:e}}e.SlicerTargetSelector=_,function(t){t[t.Enabled=0]="Enabled",t[t.Disabled=1]="Disabled",t[t.Hidden=2]="Hidden"}(e.CommandDisplayOption||(e.CommandDisplayOption={})),function(t){t[t.Grouping=0]="Grouping",t[t.Measure=1]="Measure",t[t.GroupingOrMeasure=2]="GroupingOrMeasure"}(e.VisualDataRoleKind||(e.VisualDataRoleKind={})),function(t){t[t.Measure=0]="Measure",t[t.Grouping=1]="Grouping"}(e.VisualDataRoleKindPreference||(e.VisualDataRoleKindPreference={})),e.isFlatMenuExtension=function(t){return t&&!S(t)},e.isGroupedMenuExtension=S,e.isIExtensions=function(t){return t&&!E(t)},e.isIExtensionArray=E,e.validateVisualSelector=function(t){var e=n.Validators.visualSelectorValidator.validate(t);return e?e.map(O):void 0},e.validateSlicer=function(t){var e=n.Validators.slicerValidator.validate(t);return e?e.map(O):void 0},e.validateSlicerState=function(t){var e=n.Validators.slicerStateValidator.validate(t);return e?e.map(O):void 0},e.validatePlayBookmarkRequest=function(t){var e=n.Validators.playBookmarkRequestValidator.validate(t);return e?e.map(O):void 0},e.validateAddBookmarkRequest=function(t){var e=n.Validators.addBookmarkRequestValidator.validate(t);return e?e.map(O):void 0},e.validateApplyBookmarkByNameRequest=function(t){var e=n.Validators.applyBookmarkByNameRequestValidator.validate(t);return e?e.map(O):void 0},e.validateApplyBookmarkStateRequest=function(t){var e=n.Validators.applyBookmarkStateRequestValidator.validate(t);return e?e.map(O):void 0},e.validateCaptureBookmarkRequest=function(t){var e=n.Validators.captureBookmarkRequestValidator.validate(t);return e?e.map(O):void 0},e.validateSettings=function(t){var e=n.Validators.settingsValidator.validate(t);return e?e.map(O):void 0},e.validatePanes=function(t){var e=n.Validators.reportPanesValidator.validate(t);return e?e.map(O):void 0},e.validateBookmarksPane=function(t){var e=n.Validators.bookmarksPaneValidator.validate(t);return e?e.map(O):void 0},e.validateFiltersPane=function(t){var e=n.Validators.filtersPaneValidator.validate(t);return e?e.map(O):void 0},e.validateFieldsPane=function(t){var e=n.Validators.fieldsPaneValidator.validate(t);return e?e.map(O):void 0},e.validatePageNavigationPane=function(t){var e=n.Validators.pageNavigationPaneValidator.validate(t);return e?e.map(O):void 0},e.validateSelectionPane=function(t){var e=n.Validators.selectionPaneValidator.validate(t);return e?e.map(O):void 0},e.validateSyncSlicersPane=function(t){var e=n.Validators.syncSlicersPaneValidator.validate(t);return e?e.map(O):void 0},e.validateVisualizationsPane=function(t){var e=n.Validators.visualizationsPaneValidator.validate(t);return e?e.map(O):void 0},e.validateCustomPageSize=function(t){var e=n.Validators.customPageSizeValidator.validate(t);return e?e.map(O):void 0},e.validateExtension=function(t){var e=n.Validators.extensionValidator.validate(t);return e?e.map(O):void 0},e.validateMenuGroupExtension=function(t){var e=n.Validators.menuGroupExtensionValidator.validate(t);return e?e.map(O):void 0},e.validateReportLoad=function(t){var e=n.Validators.reportLoadValidator.validate(t);return e?e.map(O):void 0},e.validateCreateReport=function(t){var e=n.Validators.reportCreateValidator.validate(t);return e?e.map(O):void 0},e.validateDashboardLoad=function(t){var e=n.Validators.dashboardLoadValidator.validate(t);return e?e.map(O):void 0},e.validateTileLoad=function(t){var e=n.Validators.tileLoadValidator.validate(t);return e?e.map(O):void 0},e.validatePage=function(t){var e=n.Validators.pageValidator.validate(t);return e?e.map(O):void 0},e.validateFilter=function(t){var e=n.Validators.filtersValidator.validate(t);return e?e.map(O):void 0},e.validateSaveAsParameters=function(t){var e=n.Validators.saveAsParametersValidator.validate(t);return e?e.map(O):void 0},e.validateLoadQnaConfiguration=function(t){var e=n.Validators.loadQnaValidator.validate(t);return e?e.map(O):void 0},e.validateQnaInterpretInputData=function(t){var e=n.Validators.qnaInterpretInputDataValidator.validate(t);return e?e.map(O):void 0},e.validateExportDataRequest=function(t){var e=n.Validators.exportDataRequestValidator.validate(t);return e?e.map(O):void 0},e.validateVisualHeader=function(t){var e=n.Validators.visualHeaderValidator.validate(t);return e?e.map(O):void 0},e.validateVisualSettings=function(t){var e=n.Validators.visualSettingsValidator.validate(t);return e?e.map(O):void 0},e.validateCommandsSettings=function(t){var e=n.Validators.commandsSettingsValidator.validate(t);return e?e.map(O):void 0},e.validateCustomTheme=function(t){var e=n.Validators.customThemeValidator.validate(t);return e?e.map(O):void 0}},function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.Validators=void 0;var a=r(2),i=r(5),o=r(6),n=r(7),l=r(8),s=r(9),d=r(10),u=r(11),c=r(12),p=r(13),f=r(14),h=r(15),v=r(16),y=r(17),m=r(18),V=r(19),g=r(20),b=r(21),w=r(22),P=r(23),_=r(24),S=r(25),E=r(26),O=r(27),T=r(28),k=r(4);e.Validators={addBookmarkRequestValidator:new i.AddBookmarkRequestValidator,advancedFilterTypeValidator:new k.EnumValidator([0]),advancedFilterValidator:new c.AdvancedFilterValidator,anyArrayValidator:new k.ArrayValidator([new S.AnyOfValidator([new k.StringValidator,new k.NumberValidator,new k.BooleanValidator])]),anyFilterValidator:new S.AnyOfValidator([new c.BasicFilterValidator,new c.AdvancedFilterValidator,new c.IncludeExcludeFilterValidator,new c.NotSupportedFilterValidator,new c.RelativeDateFilterValidator,new c.TopNFilterValidator,new c.RelativeTimeFilterValidator]),anyValueValidator:new S.AnyOfValidator([new k.StringValidator,new k.NumberValidator,new k.BooleanValidator]),actionBarValidator:new a.ActionBarValidator,applyBookmarkByNameRequestValidator:new i.ApplyBookmarkByNameRequestValidator,applyBookmarkStateRequestValidator:new i.ApplyBookmarkStateRequestValidator,applyBookmarkValidator:new S.AnyOfValidator([new i.ApplyBookmarkByNameRequestValidator,new i.ApplyBookmarkStateRequestValidator]),backgroundValidator:new k.EnumValidator([0,1]),basicFilterTypeValidator:new k.EnumValidator([1]),basicFilterValidator:new c.BasicFilterValidator,booleanArrayValidator:new k.BooleanArrayValidator,booleanValidator:new k.BooleanValidator,bookmarksPaneValidator:new h.BookmarksPaneValidator,captureBookmarkOptionsValidator:new i.CaptureBookmarkOptionsValidator,captureBookmarkRequestValidator:new i.CaptureBookmarkRequestValidator,commandDisplayOptionValidator:new k.EnumValidator([0,1,2]),commandExtensionSelectorValidator:new S.AnyOfValidator([new g.VisualSelectorValidator,new g.VisualTypeSelectorValidator]),commandExtensionArrayValidator:new k.ArrayValidator([new u.CommandExtensionValidator]),commandExtensionValidator:new u.CommandExtensionValidator,commandsSettingsArrayValidator:new k.ArrayValidator([new o.CommandsSettingsValidator]),commandsSettingsValidator:new o.CommandsSettingsValidator,conditionItemValidator:new c.ConditionItemValidator,contrastModeValidator:new k.EnumValidator([0,1,2,3,4]),customLayoutDisplayOptionValidator:new k.EnumValidator([0,1,2]),customLayoutValidator:new p.CustomLayoutValidator,customPageSizeValidator:new f.CustomPageSizeValidator,customThemeValidator:new n.CustomThemeValidator,dashboardLoadValidator:new l.DashboardLoadValidator,datasetBindingValidator:new s.DatasetBindingValidator,displayStateModeValidator:new k.EnumValidator([0,1]),displayStateValidator:new p.DisplayStateValidator,exportDataRequestValidator:new d.ExportDataRequestValidator,extensionArrayValidator:new k.ArrayValidator([new u.ExtensionValidator]),extensionsValidator:new S.AnyOfValidator([new k.ArrayValidator([new u.ExtensionValidator]),new u.ExtensionsValidator]),extensionPointsValidator:new u.ExtensionPointsValidator,extensionValidator:new u.ExtensionValidator,fieldForbiddenValidator:new E.FieldForbiddenValidator,fieldRequiredValidator:new O.FieldRequiredValidator,fieldsPaneValidator:new h.FieldsPaneValidator,filterColumnTargetValidator:new c.FilterColumnTargetValidator,filterConditionsValidator:new k.ArrayValidator([new c.ConditionItemValidator]),filterHierarchyTargetValidator:new c.FilterHierarchyTargetValidator,filterMeasureTargetValidator:new c.FilterMeasureTargetValidator,filterTargetValidator:new S.AnyOfValidator([new c.FilterColumnTargetValidator,new c.FilterHierarchyTargetValidator,new c.FilterMeasureTargetValidator]),filtersArrayValidator:new k.ArrayValidator([new S.AnyOfValidator([new c.BasicFilterValidator,new c.AdvancedFilterValidator,new c.RelativeDateFilterValidator,new c.RelativeTimeFilterValidator])]),filtersValidator:new c.FilterValidator,filtersPaneValidator:new h.FiltersPaneValidator,hyperlinkClickBehaviorValidator:new k.EnumValidator([0,1,2]),includeExcludeFilterValidator:new c.IncludeExcludeFilterValidator,includeExludeFilterTypeValidator:new k.EnumValidator([3]),layoutTypeValidator:new k.EnumValidator([0,1,2,3]),loadQnaValidator:new v.LoadQnaValidator,menuExtensionValidator:new S.AnyOfValidator([new u.FlatMenuExtensionValidator,new u.GroupedMenuExtensionValidator]),menuGroupExtensionArrayValidator:new k.ArrayValidator([new u.MenuGroupExtensionValidator]),menuGroupExtensionValidator:new u.MenuGroupExtensionValidator,menuLocationValidator:new k.EnumValidator([0,1]),notSupportedFilterTypeValidator:new k.EnumValidator([2]),notSupportedFilterValidator:new c.NotSupportedFilterValidator,numberArrayValidator:new k.NumberArrayValidator,numberValidator:new k.NumberValidator,pageLayoutValidator:new T.MapValidator([new k.StringValidator],[new p.VisualLayoutValidator]),pageNavigationPaneValidator:new h.PageNavigationPaneValidator,pageNavigationPositionValidator:new k.EnumValidator([0,1]),pageSizeTypeValidator:new k.EnumValidator([0,1,2,3,4,5]),pageSizeValidator:new f.PageSizeValidator,pageValidator:new f.PageValidator,pageViewFieldValidator:new f.PageViewFieldValidator,pagesLayoutValidator:new T.MapValidator([new k.StringValidator],[new p.PageLayoutValidator]),reportBarsValidator:new a.ReportBarsValidator,reportPanesValidator:new h.ReportPanesValidator,permissionsValidator:new k.EnumValidator([0,1,2,4,7]),playBookmarkRequestValidator:new i.PlayBookmarkRequestValidator,qnaInterpretInputDataValidator:new v.QnaInterpretInputDataValidator,qnaSettingValidator:new v.QnaSettingsValidator,relativeDateFilterOperatorValidator:new k.EnumValidator([0,1,2]),relativeDateFilterTimeUnitTypeValidator:new k.EnumValidator([0,1,2,3,4,5,6]),relativeDateFilterTypeValidator:new k.EnumValidator([4]),relativeDateFilterValidator:new c.RelativeDateFilterValidator,relativeTimeFilterTimeUnitTypeValidator:new k.EnumValidator([7,8]),relativeTimeFilterTypeValidator:new k.EnumValidator([7]),relativeTimeFilterValidator:new c.RelativeTimeFilterValidator,reportCreateValidator:new y.ReportCreateValidator,reportLoadValidator:new m.ReportLoadValidator,saveAsParametersValidator:new V.SaveAsParametersValidator,selectionPaneValidator:new h.SelectionPaneValidator,settingsValidator:new b.SettingsValidator,singleCommandSettingsValidator:new o.SingleCommandSettingsValidator,slicerSelectorValidator:new S.AnyOfValidator([new g.VisualSelectorValidator,new g.SlicerTargetSelectorValidator]),slicerStateValidator:new w.SlicerStateValidator,slicerTargetValidator:new S.AnyOfValidator([new c.FilterColumnTargetValidator,new c.FilterHierarchyTargetValidator,new c.FilterMeasureTargetValidator,new c.FilterKeyColumnsTargetValidator,new c.FilterKeyHierarchyTargetValidator]),slicerValidator:new w.SlicerValidator,stringArrayValidator:new k.StringArrayValidator,stringValidator:new k.StringValidator,syncSlicersPaneValidator:new h.SyncSlicersPaneValidator,tileLoadValidator:new P.TileLoadValidator,tokenTypeValidator:new k.EnumValidator([0,1]),topNFilterTypeValidator:new k.EnumValidator([5]),topNFilterValidator:new c.TopNFilterValidator,viewModeValidator:new k.EnumValidator([0,1]),visualCommandSelectorValidator:new S.AnyOfValidator([new g.VisualSelectorValidator,new g.VisualTypeSelectorValidator]),visualHeaderSelectorValidator:new S.AnyOfValidator([new g.VisualSelectorValidator,new g.VisualTypeSelectorValidator]),visualHeaderSettingsValidator:new _.VisualHeaderSettingsValidator,visualHeaderValidator:new _.VisualHeaderValidator,visualHeadersValidator:new k.ArrayValidator([new _.VisualHeaderValidator]),visualizationsPaneValidator:new h.VisualizationsPaneValidator,visualLayoutValidator:new p.VisualLayoutValidator,visualSelectorValidator:new g.VisualSelectorValidator,visualSettingsValidator:new _.VisualSettingsValidator,visualTypeSelectorValidator:new g.VisualTypeSelectorValidator}},function(t,e,r){var a,i=this&&this.__extends||(a=function(t,e){return(a=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])})(t,e)},function(t,e){function r(){this.constructor=t}a(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.ActionBarValidator=e.ReportBarsValidator=void 0;var o=r(3),n=r(4),l=r(1),s=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i(e,t),e.prototype.validate=function(e,r,a){if(null==e)return null;var i=t.prototype.validate.call(this,e,r,a);if(i)return i;var n=[{field:"actionBar",validators:[l.Validators.actionBarValidator]}];return new o.MultipleFieldsValidator(n).validate(e,r,a)},e}(n.ObjectValidator);e.ReportBarsValidator=s;var d=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i(e,t),e.prototype.validate=function(e,r,a){if(null==e)return null;var i=t.prototype.validate.call(this,e,r,a);if(i)return i;var n=[{field:"visible",validators:[l.Validators.booleanValidator]}];return new o.MultipleFieldsValidator(n).validate(e,r,a)},e}(n.ObjectValidator);e.ActionBarValidator=d},function(t,e){Object.defineProperty(e,"__esModule",{value:!0}),e.MultipleFieldsValidator=void 0;var r=function(){function t(t){this.fieldValidatorsPairs=t}return t.prototype.validate=function(t,e,r){if(!this.fieldValidatorsPairs)return null;for(var a=e?e+"."+r:r,i=0,o=this.fieldValidatorsPairs;i0&&i[i.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0?"&":"?";return t+=a+e+"="+r},e.isSavedInternal=function(t,e,i){return r(this,void 0,void 0,(function(){return a(this,(function(r){switch(r.label){case 0:return r.trys.push([0,2,,3]),[4,t.get("/report/hasUnsavedChanges",{uid:e},i)];case 1:return[2,!r.sent().body];case 2:throw r.sent().body;case 3:return[2]}}))}))},e.isRDLEmbed=function(t){return t.toLowerCase().indexOf("/rdlembed?")>=0},e.autoAuthInEmbedUrl=function(t){return t&&decodeURIComponent(t).toLowerCase().indexOf("autoauth=true")>=0},e.getRandomValue=o,e.getTimeDiffInMilliseconds=function(t,e){return Math.abs(t.getTime()-e.getTime())}},function(t,e){Object.defineProperty(e,"__esModule",{value:!0}),e.EmbedUrlNotSupported=e.APINotSupportedForRDLError=void 0,e.APINotSupportedForRDLError="This API is currently not supported for RDL reports",e.EmbedUrlNotSupported="Embed URL is invalid for this scenario. Please use Power BI REST APIs to get the valid URL"},function(t,e,r){var a,i=this&&this.__extends||(a=function(t,e){return(a=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])})(t,e)},function(t,e){function r(){this.constructor=t}a(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}),o=this&&this.__awaiter||function(t,e,r,a){return new(r||(r=Promise))((function(i,o){function n(t){try{s(a.next(t))}catch(t){o(t)}}function l(t){try{s(a.throw(t))}catch(t){o(t)}}function s(t){var e;t.done?i(t.value):(e=t.value,e instanceof r?e:new r((function(t){t(e)}))).then(n,l)}s((a=a.apply(t,e||[])).next())}))},n=this&&this.__generator||function(t,e){var r,a,i,o,n={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:l(0),throw:l(1),return:l(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function l(o){return function(l){return function(o){if(r)throw new TypeError("Generator is already executing.");for(;n;)try{if(r=1,a&&(i=2&o[0]?a.return:o[0]?a.throw||((i=a.return)&&i.call(a),0):a.next)&&!(i=i.call(a,o[1])).done)return i;switch(a=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return n.label++,{value:o[1],done:!1};case 5:n.label++,a=o[1],o=[0];continue;case 7:o=n.ops.pop(),n.trys.pop();continue;default:if(!(i=n.trys,(i=i.length>0&&i[i.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1] Date: Wed, 30 Dec 2020 11:36:04 +0000 Subject: [PATCH 048/125] Merged PR 136337: 2.16.5 Use 1.7.1 models version Use explicit version --- dist/powerbi-client.d.ts | 2 +- dist/powerbi.js | 8 ++++---- dist/powerbi.min.js | 6 +++--- package.json | 4 ++-- src/config.ts | 2 +- 5 files changed, 11 insertions(+), 11 deletions(-) diff --git a/dist/powerbi-client.d.ts b/dist/powerbi-client.d.ts index c8a29da1..212fba02 100644 --- a/dist/powerbi-client.d.ts +++ b/dist/powerbi-client.d.ts @@ -1,4 +1,4 @@ -/*! powerbi-client v2.16.4 | (c) 2016 Microsoft Corporation MIT */ +/*! powerbi-client v2.16.5 | (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 041303e1..e8d4f430 100644 --- a/dist/powerbi.js +++ b/dist/powerbi.js @@ -1,4 +1,4 @@ -/*! powerbi-client v2.16.4 | (c) 2016 Microsoft Corporation MIT */ +/*! powerbi-client v2.16.5 | (c) 2016 Microsoft Corporation MIT */ (function webpackUniversalModuleDefinition(root, factory) { if(typeof exports === 'object' && typeof module === 'object') module.exports = factory(); @@ -288,12 +288,12 @@ return /******/ (function(modules) { // webpackBootstrap /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { -/*! powerbi-models v1.7.0 | (c) 2016 Microsoft Corporation MIT */ +/*! powerbi-models v1.7.1 | (c) 2016 Microsoft Corporation MIT */ (function webpackUniversalModuleDefinition(root, factory) { if(true) module.exports = factory(); else {} -})(window, function() { +})(this, function() { return /******/ (function(modules) { // webpackBootstrap /******/ // The module cache /******/ var installedModules = {}; @@ -5864,7 +5864,7 @@ exports.BookmarksManager = BookmarksManager; Object.defineProperty(exports, "__esModule", { value: true }); /** @ignore */ /** */ var config = { - version: '2.16.4', + version: '2.16.5', type: 'js' }; exports.default = config; diff --git a/dist/powerbi.min.js b/dist/powerbi.min.js index 34d7d125..7c107024 100644 --- a/dist/powerbi.min.js +++ b/dist/powerbi.min.js @@ -1,7 +1,7 @@ -/*! powerbi-client v2.16.4 | (c) 2016 Microsoft Corporation MIT */ +/*! powerbi-client v2.16.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){var e={};function r(a){if(e[a])return e[a].exports;var i=e[a]={i:a,l:!1,exports:{}};return t[a].call(i.exports,i,i.exports,r),i.l=!0,i.exports}return r.m=t,r.c=e,r.d=function(t,e,a){r.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:a})},r.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},r.t=function(t,e){if(1&e&&(t=r(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var a=Object.create(null);if(r.r(a),Object.defineProperty(a,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var i in t)r.d(a,i,function(e){return t[e]}.bind(null,i));return a},r.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return r.d(e,"a",e),e},r.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},r.p="",r(r.s=12)}([function(t,e,r){ -/*! powerbi-models v1.7.0 | (c) 2016 Microsoft Corporation MIT */ -var a;window,a=function(){return function(t){var e={};function r(a){if(e[a])return e[a].exports;var i=e[a]={i:a,l:!1,exports:{}};return t[a].call(i.exports,i,i.exports,r),i.l=!0,i.exports}return r.m=t,r.c=e,r.d=function(t,e,a){r.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:a})},r.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},r.t=function(t,e){if(1&e&&(t=r(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var a=Object.create(null);if(r.r(a),Object.defineProperty(a,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var i in t)r.d(a,i,function(e){return t[e]}.bind(null,i));return a},r.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return r.d(e,"a",e),e},r.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},r.p="",r(r.s=0)}([function(t,e,r){var a,i=this&&this.__extends||(a=function(t,e){return(a=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])})(t,e)},function(t,e){function r(){this.constructor=t}a(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.validateCustomTheme=e.validateCommandsSettings=e.validateVisualSettings=e.validateVisualHeader=e.validateExportDataRequest=e.validateQnaInterpretInputData=e.validateLoadQnaConfiguration=e.validateSaveAsParameters=e.validateFilter=e.validatePage=e.validateTileLoad=e.validateDashboardLoad=e.validateCreateReport=e.validateReportLoad=e.validateMenuGroupExtension=e.validateExtension=e.validateCustomPageSize=e.validateVisualizationsPane=e.validateSyncSlicersPane=e.validateSelectionPane=e.validatePageNavigationPane=e.validateFieldsPane=e.validateFiltersPane=e.validateBookmarksPane=e.validatePanes=e.validateSettings=e.validateCaptureBookmarkRequest=e.validateApplyBookmarkStateRequest=e.validateApplyBookmarkByNameRequest=e.validateAddBookmarkRequest=e.validatePlayBookmarkRequest=e.validateSlicerState=e.validateSlicer=e.validateVisualSelector=e.isIExtensionArray=e.isIExtensions=e.isGroupedMenuExtension=e.isFlatMenuExtension=e.VisualDataRoleKindPreference=e.VisualDataRoleKind=e.CommandDisplayOption=e.SlicerTargetSelector=e.VisualTypeSelector=e.VisualSelector=e.PageSelector=e.Selector=e.SortDirection=e.LegendPosition=e.TextAlignment=e.CommonErrorCodes=e.BookmarksPlayMode=e.ExportDataType=e.QnaMode=e.PageNavigationPosition=e.isColumnAggr=e.isHierarchyLevelAggr=e.isHierarchyLevel=e.isColumn=e.isMeasure=e.getFilterType=e.isBasicFilterWithKeys=e.isFilterKeyColumnsTarget=e.AdvancedFilter=e.TupleFilter=e.BasicFilterWithKeys=e.BasicFilter=e.RelativeTimeFilter=e.RelativeDateFilter=e.TopNFilter=e.IncludeExcludeFilter=e.NotSupportedFilter=e.Filter=e.RelativeDateOperators=e.RelativeDateFilterTimeUnit=e.FilterType=e.FiltersLevel=e.MenuLocation=e.ContrastMode=e.TokenType=e.ViewMode=e.Permissions=e.SectionVisibility=e.HyperlinkClickBehavior=e.LayoutType=e.VisualContainerDisplayMode=e.BackgroundType=e.DisplayOption=e.PageSizeType=e.TraceType=void 0;var o,n=r(1);!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"}(e.TraceType||(e.TraceType={})),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"}(e.PageSizeType||(e.PageSizeType={})),function(t){t[t.FitToPage=0]="FitToPage",t[t.FitToWidth=1]="FitToWidth",t[t.ActualSize=2]="ActualSize"}(e.DisplayOption||(e.DisplayOption={})),function(t){t[t.Default=0]="Default",t[t.Transparent=1]="Transparent"}(e.BackgroundType||(e.BackgroundType={})),function(t){t[t.Visible=0]="Visible",t[t.Hidden=1]="Hidden"}(e.VisualContainerDisplayMode||(e.VisualContainerDisplayMode={})),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={})),function(t){t[t.Navigate=0]="Navigate",t[t.NavigateAndRaiseEvent=1]="NavigateAndRaiseEvent",t[t.RaiseEvent=2]="RaiseEvent"}(e.HyperlinkClickBehavior||(e.HyperlinkClickBehavior={})),function(t){t[t.AlwaysVisible=0]="AlwaysVisible",t[t.HiddenInViewMode=1]="HiddenInViewMode"}(e.SectionVisibility||(e.SectionVisibility={})),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"}(e.Permissions||(e.Permissions={})),function(t){t[t.View=0]="View",t[t.Edit=1]="Edit"}(e.ViewMode||(e.ViewMode={})),function(t){t[t.Aad=0]="Aad",t[t.Embed=1]="Embed"}(e.TokenType||(e.TokenType={})),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"}(e.ContrastMode||(e.ContrastMode={})),function(t){t[t.Bottom=0]="Bottom",t[t.Top=1]="Top"}(e.MenuLocation||(e.MenuLocation={})),function(t){t[t.Report=0]="Report",t[t.Page=1]="Page",t[t.Visual=2]="Visual"}(e.FiltersLevel||(e.FiltersLevel={})),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"}(o=e.FilterType||(e.FilterType={})),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"}(e.RelativeDateFilterTimeUnit||(e.RelativeDateFilterTimeUnit={})),function(t){t[t.InLast=0]="InLast",t[t.InThis=1]="InThis",t[t.InNext=2]="InNext"}(e.RelativeDateOperators||(e.RelativeDateOperators={}));var l=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=l;var s=function(t){function e(r,a,i){var n=t.call(this,r,o.Unknown)||this;return n.message=a,n.notSupportedTypeName=i,n.schemaUrl=e.schemaUrl,n}return i(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}(l);e.NotSupportedFilter=s;var d=function(t){function e(r,a,i){var n=t.call(this,r,o.IncludeExclude)||this;return n.values=i,n.isExclude=a,n.schemaUrl=e.schemaUrl,n}return i(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}(l);e.IncludeExcludeFilter=d;var u=function(t){function e(r,a,i,n){var l=t.call(this,r,o.TopN)||this;return l.operator=a,l.itemCount=i,l.schemaUrl=e.schemaUrl,l.orderBy=n,l}return i(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}(l);e.TopNFilter=u;var c=function(t){function e(r,a,i,n,l){var s=t.call(this,r,o.RelativeDate)||this;return s.operator=a,s.timeUnitsCount=i,s.timeUnitType=n,s.includeToday=l,s.schemaUrl=e.schemaUrl,s}return i(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}(l);e.RelativeDateFilter=c;var p=function(t){function e(r,a,i,n){var l=t.call(this,r,o.RelativeTime)||this;return l.operator=a,l.timeUnitsCount=i,l.timeUnitType=n,l.schemaUrl=e.schemaUrl,l}return i(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}(l);e.RelativeTimeFilter=p;var f=function(t){function e(r,a){for(var i=[],n=2;n0&&!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,s=o.keyValues;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 s.conditions=l,s}return i(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}(l);function m(t){if(t.filterType)return t.filterType;var e=t,r=t;return"string"==typeof e.operator&&Array.isArray(e.values)?o.Basic:"string"==typeof r.logicalOperator&&Array.isArray(r.conditions)?o.Advanced:o.Unknown}function V(t){return!(!t.table||!t.column||t.aggregationFunction)}e.AdvancedFilter=y,e.isFilterKeyColumnsTarget=function(t){return V(t)&&!!t.keys},e.isBasicFilterWithKeys=function(t){return m(t)===o.Basic&&!!t.keyValues},e.getFilterType=m,e.isMeasure=function(t){return void 0!==t.table&&void 0!==t.measure},e.isColumn=V,e.isHierarchyLevel=function(t){return!(!(t.table&&t.hierarchy&&t.hierarchyLevel)||t.aggregationFunction)},e.isHierarchyLevelAggr=function(t){return!!(t.table&&t.hierarchy&&t.hierarchyLevel&&t.aggregationFunction)},e.isColumnAggr=function(t){return!!(t.table&&t.column&&t.aggregationFunction)},function(t){t[t.Bottom=0]="Bottom",t[t.Left=1]="Left"}(e.PageNavigationPosition||(e.PageNavigationPosition={})),function(t){t[t.Interactive=0]="Interactive",t[t.ResultOnly=1]="ResultOnly"}(e.QnaMode||(e.QnaMode={})),function(t){t[t.Summarized=0]="Summarized",t[t.Underlying=1]="Underlying"}(e.ExportDataType||(e.ExportDataType={})),function(t){t[t.Off=0]="Off",t[t.Presentation=1]="Presentation"}(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"},function(t){t[t.Ascending=1]="Ascending",t[t.Descending=2]="Descending"}(e.SortDirection||(e.SortDirection={}));var g=function(){function t(t){this.$schema=t}return t.prototype.toJSON=function(){return{$schema:this.$schema}},t}();e.Selector=g;var b=function(t){function e(r){var a=t.call(this,e.schemaUrl)||this;return a.pageName=r,a}return i(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}(g);e.PageSelector=b;var w=function(t){function e(r){var a=t.call(this,e.schemaUrl)||this;return a.visualName=r,a}return i(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}(g);e.VisualSelector=w;var P=function(t){function e(e){var r=t.call(this,w.schemaUrl)||this;return r.visualType=e,r}return i(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}(g);e.VisualTypeSelector=P;var _=function(t){function e(e){var r=t.call(this,w.schemaUrl)||this;return r.target=e,r}return i(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}(g);function S(t){return t&&!!t.groupName}function E(t){return Array.isArray(t)}function O(t){var e=t.message;return e||(e=t.path+" is invalid. Not meeting "+t.keyword+" constraint"),{message:e}}e.SlicerTargetSelector=_,function(t){t[t.Enabled=0]="Enabled",t[t.Disabled=1]="Disabled",t[t.Hidden=2]="Hidden"}(e.CommandDisplayOption||(e.CommandDisplayOption={})),function(t){t[t.Grouping=0]="Grouping",t[t.Measure=1]="Measure",t[t.GroupingOrMeasure=2]="GroupingOrMeasure"}(e.VisualDataRoleKind||(e.VisualDataRoleKind={})),function(t){t[t.Measure=0]="Measure",t[t.Grouping=1]="Grouping"}(e.VisualDataRoleKindPreference||(e.VisualDataRoleKindPreference={})),e.isFlatMenuExtension=function(t){return t&&!S(t)},e.isGroupedMenuExtension=S,e.isIExtensions=function(t){return t&&!E(t)},e.isIExtensionArray=E,e.validateVisualSelector=function(t){var e=n.Validators.visualSelectorValidator.validate(t);return e?e.map(O):void 0},e.validateSlicer=function(t){var e=n.Validators.slicerValidator.validate(t);return e?e.map(O):void 0},e.validateSlicerState=function(t){var e=n.Validators.slicerStateValidator.validate(t);return e?e.map(O):void 0},e.validatePlayBookmarkRequest=function(t){var e=n.Validators.playBookmarkRequestValidator.validate(t);return e?e.map(O):void 0},e.validateAddBookmarkRequest=function(t){var e=n.Validators.addBookmarkRequestValidator.validate(t);return e?e.map(O):void 0},e.validateApplyBookmarkByNameRequest=function(t){var e=n.Validators.applyBookmarkByNameRequestValidator.validate(t);return e?e.map(O):void 0},e.validateApplyBookmarkStateRequest=function(t){var e=n.Validators.applyBookmarkStateRequestValidator.validate(t);return e?e.map(O):void 0},e.validateCaptureBookmarkRequest=function(t){var e=n.Validators.captureBookmarkRequestValidator.validate(t);return e?e.map(O):void 0},e.validateSettings=function(t){var e=n.Validators.settingsValidator.validate(t);return e?e.map(O):void 0},e.validatePanes=function(t){var e=n.Validators.reportPanesValidator.validate(t);return e?e.map(O):void 0},e.validateBookmarksPane=function(t){var e=n.Validators.bookmarksPaneValidator.validate(t);return e?e.map(O):void 0},e.validateFiltersPane=function(t){var e=n.Validators.filtersPaneValidator.validate(t);return e?e.map(O):void 0},e.validateFieldsPane=function(t){var e=n.Validators.fieldsPaneValidator.validate(t);return e?e.map(O):void 0},e.validatePageNavigationPane=function(t){var e=n.Validators.pageNavigationPaneValidator.validate(t);return e?e.map(O):void 0},e.validateSelectionPane=function(t){var e=n.Validators.selectionPaneValidator.validate(t);return e?e.map(O):void 0},e.validateSyncSlicersPane=function(t){var e=n.Validators.syncSlicersPaneValidator.validate(t);return e?e.map(O):void 0},e.validateVisualizationsPane=function(t){var e=n.Validators.visualizationsPaneValidator.validate(t);return e?e.map(O):void 0},e.validateCustomPageSize=function(t){var e=n.Validators.customPageSizeValidator.validate(t);return e?e.map(O):void 0},e.validateExtension=function(t){var e=n.Validators.extensionValidator.validate(t);return e?e.map(O):void 0},e.validateMenuGroupExtension=function(t){var e=n.Validators.menuGroupExtensionValidator.validate(t);return e?e.map(O):void 0},e.validateReportLoad=function(t){var e=n.Validators.reportLoadValidator.validate(t);return e?e.map(O):void 0},e.validateCreateReport=function(t){var e=n.Validators.reportCreateValidator.validate(t);return e?e.map(O):void 0},e.validateDashboardLoad=function(t){var e=n.Validators.dashboardLoadValidator.validate(t);return e?e.map(O):void 0},e.validateTileLoad=function(t){var e=n.Validators.tileLoadValidator.validate(t);return e?e.map(O):void 0},e.validatePage=function(t){var e=n.Validators.pageValidator.validate(t);return e?e.map(O):void 0},e.validateFilter=function(t){var e=n.Validators.filtersValidator.validate(t);return e?e.map(O):void 0},e.validateSaveAsParameters=function(t){var e=n.Validators.saveAsParametersValidator.validate(t);return e?e.map(O):void 0},e.validateLoadQnaConfiguration=function(t){var e=n.Validators.loadQnaValidator.validate(t);return e?e.map(O):void 0},e.validateQnaInterpretInputData=function(t){var e=n.Validators.qnaInterpretInputDataValidator.validate(t);return e?e.map(O):void 0},e.validateExportDataRequest=function(t){var e=n.Validators.exportDataRequestValidator.validate(t);return e?e.map(O):void 0},e.validateVisualHeader=function(t){var e=n.Validators.visualHeaderValidator.validate(t);return e?e.map(O):void 0},e.validateVisualSettings=function(t){var e=n.Validators.visualSettingsValidator.validate(t);return e?e.map(O):void 0},e.validateCommandsSettings=function(t){var e=n.Validators.commandsSettingsValidator.validate(t);return e?e.map(O):void 0},e.validateCustomTheme=function(t){var e=n.Validators.customThemeValidator.validate(t);return e?e.map(O):void 0}},function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.Validators=void 0;var a=r(2),i=r(5),o=r(6),n=r(7),l=r(8),s=r(9),d=r(10),u=r(11),c=r(12),p=r(13),f=r(14),h=r(15),v=r(16),y=r(17),m=r(18),V=r(19),g=r(20),b=r(21),w=r(22),P=r(23),_=r(24),S=r(25),E=r(26),O=r(27),T=r(28),k=r(4);e.Validators={addBookmarkRequestValidator:new i.AddBookmarkRequestValidator,advancedFilterTypeValidator:new k.EnumValidator([0]),advancedFilterValidator:new c.AdvancedFilterValidator,anyArrayValidator:new k.ArrayValidator([new S.AnyOfValidator([new k.StringValidator,new k.NumberValidator,new k.BooleanValidator])]),anyFilterValidator:new S.AnyOfValidator([new c.BasicFilterValidator,new c.AdvancedFilterValidator,new c.IncludeExcludeFilterValidator,new c.NotSupportedFilterValidator,new c.RelativeDateFilterValidator,new c.TopNFilterValidator,new c.RelativeTimeFilterValidator]),anyValueValidator:new S.AnyOfValidator([new k.StringValidator,new k.NumberValidator,new k.BooleanValidator]),actionBarValidator:new a.ActionBarValidator,applyBookmarkByNameRequestValidator:new i.ApplyBookmarkByNameRequestValidator,applyBookmarkStateRequestValidator:new i.ApplyBookmarkStateRequestValidator,applyBookmarkValidator:new S.AnyOfValidator([new i.ApplyBookmarkByNameRequestValidator,new i.ApplyBookmarkStateRequestValidator]),backgroundValidator:new k.EnumValidator([0,1]),basicFilterTypeValidator:new k.EnumValidator([1]),basicFilterValidator:new c.BasicFilterValidator,booleanArrayValidator:new k.BooleanArrayValidator,booleanValidator:new k.BooleanValidator,bookmarksPaneValidator:new h.BookmarksPaneValidator,captureBookmarkOptionsValidator:new i.CaptureBookmarkOptionsValidator,captureBookmarkRequestValidator:new i.CaptureBookmarkRequestValidator,commandDisplayOptionValidator:new k.EnumValidator([0,1,2]),commandExtensionSelectorValidator:new S.AnyOfValidator([new g.VisualSelectorValidator,new g.VisualTypeSelectorValidator]),commandExtensionArrayValidator:new k.ArrayValidator([new u.CommandExtensionValidator]),commandExtensionValidator:new u.CommandExtensionValidator,commandsSettingsArrayValidator:new k.ArrayValidator([new o.CommandsSettingsValidator]),commandsSettingsValidator:new o.CommandsSettingsValidator,conditionItemValidator:new c.ConditionItemValidator,contrastModeValidator:new k.EnumValidator([0,1,2,3,4]),customLayoutDisplayOptionValidator:new k.EnumValidator([0,1,2]),customLayoutValidator:new p.CustomLayoutValidator,customPageSizeValidator:new f.CustomPageSizeValidator,customThemeValidator:new n.CustomThemeValidator,dashboardLoadValidator:new l.DashboardLoadValidator,datasetBindingValidator:new s.DatasetBindingValidator,displayStateModeValidator:new k.EnumValidator([0,1]),displayStateValidator:new p.DisplayStateValidator,exportDataRequestValidator:new d.ExportDataRequestValidator,extensionArrayValidator:new k.ArrayValidator([new u.ExtensionValidator]),extensionsValidator:new S.AnyOfValidator([new k.ArrayValidator([new u.ExtensionValidator]),new u.ExtensionsValidator]),extensionPointsValidator:new u.ExtensionPointsValidator,extensionValidator:new u.ExtensionValidator,fieldForbiddenValidator:new E.FieldForbiddenValidator,fieldRequiredValidator:new O.FieldRequiredValidator,fieldsPaneValidator:new h.FieldsPaneValidator,filterColumnTargetValidator:new c.FilterColumnTargetValidator,filterConditionsValidator:new k.ArrayValidator([new c.ConditionItemValidator]),filterHierarchyTargetValidator:new c.FilterHierarchyTargetValidator,filterMeasureTargetValidator:new c.FilterMeasureTargetValidator,filterTargetValidator:new S.AnyOfValidator([new c.FilterColumnTargetValidator,new c.FilterHierarchyTargetValidator,new c.FilterMeasureTargetValidator]),filtersArrayValidator:new k.ArrayValidator([new S.AnyOfValidator([new c.BasicFilterValidator,new c.AdvancedFilterValidator,new c.RelativeDateFilterValidator,new c.RelativeTimeFilterValidator])]),filtersValidator:new c.FilterValidator,filtersPaneValidator:new h.FiltersPaneValidator,hyperlinkClickBehaviorValidator:new k.EnumValidator([0,1,2]),includeExcludeFilterValidator:new c.IncludeExcludeFilterValidator,includeExludeFilterTypeValidator:new k.EnumValidator([3]),layoutTypeValidator:new k.EnumValidator([0,1,2,3]),loadQnaValidator:new v.LoadQnaValidator,menuExtensionValidator:new S.AnyOfValidator([new u.FlatMenuExtensionValidator,new u.GroupedMenuExtensionValidator]),menuGroupExtensionArrayValidator:new k.ArrayValidator([new u.MenuGroupExtensionValidator]),menuGroupExtensionValidator:new u.MenuGroupExtensionValidator,menuLocationValidator:new k.EnumValidator([0,1]),notSupportedFilterTypeValidator:new k.EnumValidator([2]),notSupportedFilterValidator:new c.NotSupportedFilterValidator,numberArrayValidator:new k.NumberArrayValidator,numberValidator:new k.NumberValidator,pageLayoutValidator:new T.MapValidator([new k.StringValidator],[new p.VisualLayoutValidator]),pageNavigationPaneValidator:new h.PageNavigationPaneValidator,pageNavigationPositionValidator:new k.EnumValidator([0,1]),pageSizeTypeValidator:new k.EnumValidator([0,1,2,3,4,5]),pageSizeValidator:new f.PageSizeValidator,pageValidator:new f.PageValidator,pageViewFieldValidator:new f.PageViewFieldValidator,pagesLayoutValidator:new T.MapValidator([new k.StringValidator],[new p.PageLayoutValidator]),reportBarsValidator:new a.ReportBarsValidator,reportPanesValidator:new h.ReportPanesValidator,permissionsValidator:new k.EnumValidator([0,1,2,4,7]),playBookmarkRequestValidator:new i.PlayBookmarkRequestValidator,qnaInterpretInputDataValidator:new v.QnaInterpretInputDataValidator,qnaSettingValidator:new v.QnaSettingsValidator,relativeDateFilterOperatorValidator:new k.EnumValidator([0,1,2]),relativeDateFilterTimeUnitTypeValidator:new k.EnumValidator([0,1,2,3,4,5,6]),relativeDateFilterTypeValidator:new k.EnumValidator([4]),relativeDateFilterValidator:new c.RelativeDateFilterValidator,relativeTimeFilterTimeUnitTypeValidator:new k.EnumValidator([7,8]),relativeTimeFilterTypeValidator:new k.EnumValidator([7]),relativeTimeFilterValidator:new c.RelativeTimeFilterValidator,reportCreateValidator:new y.ReportCreateValidator,reportLoadValidator:new m.ReportLoadValidator,saveAsParametersValidator:new V.SaveAsParametersValidator,selectionPaneValidator:new h.SelectionPaneValidator,settingsValidator:new b.SettingsValidator,singleCommandSettingsValidator:new o.SingleCommandSettingsValidator,slicerSelectorValidator:new S.AnyOfValidator([new g.VisualSelectorValidator,new g.SlicerTargetSelectorValidator]),slicerStateValidator:new w.SlicerStateValidator,slicerTargetValidator:new S.AnyOfValidator([new c.FilterColumnTargetValidator,new c.FilterHierarchyTargetValidator,new c.FilterMeasureTargetValidator,new c.FilterKeyColumnsTargetValidator,new c.FilterKeyHierarchyTargetValidator]),slicerValidator:new w.SlicerValidator,stringArrayValidator:new k.StringArrayValidator,stringValidator:new k.StringValidator,syncSlicersPaneValidator:new h.SyncSlicersPaneValidator,tileLoadValidator:new P.TileLoadValidator,tokenTypeValidator:new k.EnumValidator([0,1]),topNFilterTypeValidator:new k.EnumValidator([5]),topNFilterValidator:new c.TopNFilterValidator,viewModeValidator:new k.EnumValidator([0,1]),visualCommandSelectorValidator:new S.AnyOfValidator([new g.VisualSelectorValidator,new g.VisualTypeSelectorValidator]),visualHeaderSelectorValidator:new S.AnyOfValidator([new g.VisualSelectorValidator,new g.VisualTypeSelectorValidator]),visualHeaderSettingsValidator:new _.VisualHeaderSettingsValidator,visualHeaderValidator:new _.VisualHeaderValidator,visualHeadersValidator:new k.ArrayValidator([new _.VisualHeaderValidator]),visualizationsPaneValidator:new h.VisualizationsPaneValidator,visualLayoutValidator:new p.VisualLayoutValidator,visualSelectorValidator:new g.VisualSelectorValidator,visualSettingsValidator:new _.VisualSettingsValidator,visualTypeSelectorValidator:new g.VisualTypeSelectorValidator}},function(t,e,r){var a,i=this&&this.__extends||(a=function(t,e){return(a=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])})(t,e)},function(t,e){function r(){this.constructor=t}a(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.ActionBarValidator=e.ReportBarsValidator=void 0;var o=r(3),n=r(4),l=r(1),s=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i(e,t),e.prototype.validate=function(e,r,a){if(null==e)return null;var i=t.prototype.validate.call(this,e,r,a);if(i)return i;var n=[{field:"actionBar",validators:[l.Validators.actionBarValidator]}];return new o.MultipleFieldsValidator(n).validate(e,r,a)},e}(n.ObjectValidator);e.ReportBarsValidator=s;var d=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i(e,t),e.prototype.validate=function(e,r,a){if(null==e)return null;var i=t.prototype.validate.call(this,e,r,a);if(i)return i;var n=[{field:"visible",validators:[l.Validators.booleanValidator]}];return new o.MultipleFieldsValidator(n).validate(e,r,a)},e}(n.ObjectValidator);e.ActionBarValidator=d},function(t,e){Object.defineProperty(e,"__esModule",{value:!0}),e.MultipleFieldsValidator=void 0;var r=function(){function t(t){this.fieldValidatorsPairs=t}return t.prototype.validate=function(t,e,r){if(!this.fieldValidatorsPairs)return null;for(var a=e?e+"."+r:r,i=0,o=this.fieldValidatorsPairs;i0&&i[i.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0?"&":"?";return t+=a+e+"="+r},e.isSavedInternal=function(t,e,i){return r(this,void 0,void 0,(function(){return a(this,(function(r){switch(r.label){case 0:return r.trys.push([0,2,,3]),[4,t.get("/report/hasUnsavedChanges",{uid:e},i)];case 1:return[2,!r.sent().body];case 2:throw r.sent().body;case 3:return[2]}}))}))},e.isRDLEmbed=function(t){return t.toLowerCase().indexOf("/rdlembed?")>=0},e.autoAuthInEmbedUrl=function(t){return t&&decodeURIComponent(t).toLowerCase().indexOf("autoauth=true")>=0},e.getRandomValue=o,e.getTimeDiffInMilliseconds=function(t,e){return Math.abs(t.getTime()-e.getTime())}},function(t,e){Object.defineProperty(e,"__esModule",{value:!0}),e.EmbedUrlNotSupported=e.APINotSupportedForRDLError=void 0,e.APINotSupportedForRDLError="This API is currently not supported for RDL reports",e.EmbedUrlNotSupported="Embed URL is invalid for this scenario. Please use Power BI REST APIs to get the valid URL"},function(t,e,r){var a,i=this&&this.__extends||(a=function(t,e){return(a=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])})(t,e)},function(t,e){function r(){this.constructor=t}a(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}),o=this&&this.__awaiter||function(t,e,r,a){return new(r||(r=Promise))((function(i,o){function n(t){try{s(a.next(t))}catch(t){o(t)}}function l(t){try{s(a.throw(t))}catch(t){o(t)}}function s(t){var e;t.done?i(t.value):(e=t.value,e instanceof r?e:new r((function(t){t(e)}))).then(n,l)}s((a=a.apply(t,e||[])).next())}))},n=this&&this.__generator||function(t,e){var r,a,i,o,n={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:l(0),throw:l(1),return:l(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function l(o){return function(l){return function(o){if(r)throw new TypeError("Generator is already executing.");for(;n;)try{if(r=1,a&&(i=2&o[0]?a.return:o[0]?a.throw||((i=a.return)&&i.call(a),0):a.next)&&!(i=i.call(a,o[1])).done)return i;switch(a=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return n.label++,{value:o[1],done:!1};case 5:n.label++,a=o[1],o=[0];continue;case 7:o=n.ops.pop(),n.trys.pop();continue;default:if(!(i=n.trys,(i=i.length>0&&i[i.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&!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,s=o.keyValues;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 s.conditions=l,s}return i(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}(l);function m(t){if(t.filterType)return t.filterType;var e=t,r=t;return"string"==typeof e.operator&&Array.isArray(e.values)?o.Basic:"string"==typeof r.logicalOperator&&Array.isArray(r.conditions)?o.Advanced:o.Unknown}function V(t){return!(!t.table||!t.column||t.aggregationFunction)}e.AdvancedFilter=y,e.isFilterKeyColumnsTarget=function(t){return V(t)&&!!t.keys},e.isBasicFilterWithKeys=function(t){return m(t)===o.Basic&&!!t.keyValues},e.getFilterType=m,e.isMeasure=function(t){return void 0!==t.table&&void 0!==t.measure},e.isColumn=V,e.isHierarchyLevel=function(t){return!(!(t.table&&t.hierarchy&&t.hierarchyLevel)||t.aggregationFunction)},e.isHierarchyLevelAggr=function(t){return!!(t.table&&t.hierarchy&&t.hierarchyLevel&&t.aggregationFunction)},e.isColumnAggr=function(t){return!!(t.table&&t.column&&t.aggregationFunction)},function(t){t[t.Bottom=0]="Bottom",t[t.Left=1]="Left"}(e.PageNavigationPosition||(e.PageNavigationPosition={})),function(t){t[t.Interactive=0]="Interactive",t[t.ResultOnly=1]="ResultOnly"}(e.QnaMode||(e.QnaMode={})),function(t){t[t.Summarized=0]="Summarized",t[t.Underlying=1]="Underlying"}(e.ExportDataType||(e.ExportDataType={})),function(t){t[t.Off=0]="Off",t[t.Presentation=1]="Presentation"}(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"},function(t){t[t.Ascending=1]="Ascending",t[t.Descending=2]="Descending"}(e.SortDirection||(e.SortDirection={}));var g=function(){function t(t){this.$schema=t}return t.prototype.toJSON=function(){return{$schema:this.$schema}},t}();e.Selector=g;var b=function(t){function e(r){var a=t.call(this,e.schemaUrl)||this;return a.pageName=r,a}return i(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}(g);e.PageSelector=b;var w=function(t){function e(r){var a=t.call(this,e.schemaUrl)||this;return a.visualName=r,a}return i(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}(g);e.VisualSelector=w;var P=function(t){function e(e){var r=t.call(this,w.schemaUrl)||this;return r.visualType=e,r}return i(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}(g);e.VisualTypeSelector=P;var _=function(t){function e(e){var r=t.call(this,w.schemaUrl)||this;return r.target=e,r}return i(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}(g);function S(t){return t&&!!t.groupName}function E(t){return Array.isArray(t)}function O(t){var e=t.message;return e||(e=t.path+" is invalid. Not meeting "+t.keyword+" constraint"),{message:e}}e.SlicerTargetSelector=_,function(t){t[t.Enabled=0]="Enabled",t[t.Disabled=1]="Disabled",t[t.Hidden=2]="Hidden"}(e.CommandDisplayOption||(e.CommandDisplayOption={})),function(t){t[t.Grouping=0]="Grouping",t[t.Measure=1]="Measure",t[t.GroupingOrMeasure=2]="GroupingOrMeasure"}(e.VisualDataRoleKind||(e.VisualDataRoleKind={})),function(t){t[t.Measure=0]="Measure",t[t.Grouping=1]="Grouping"}(e.VisualDataRoleKindPreference||(e.VisualDataRoleKindPreference={})),e.isFlatMenuExtension=function(t){return t&&!S(t)},e.isGroupedMenuExtension=S,e.isIExtensions=function(t){return t&&!E(t)},e.isIExtensionArray=E,e.validateVisualSelector=function(t){var e=n.Validators.visualSelectorValidator.validate(t);return e?e.map(O):void 0},e.validateSlicer=function(t){var e=n.Validators.slicerValidator.validate(t);return e?e.map(O):void 0},e.validateSlicerState=function(t){var e=n.Validators.slicerStateValidator.validate(t);return e?e.map(O):void 0},e.validatePlayBookmarkRequest=function(t){var e=n.Validators.playBookmarkRequestValidator.validate(t);return e?e.map(O):void 0},e.validateAddBookmarkRequest=function(t){var e=n.Validators.addBookmarkRequestValidator.validate(t);return e?e.map(O):void 0},e.validateApplyBookmarkByNameRequest=function(t){var e=n.Validators.applyBookmarkByNameRequestValidator.validate(t);return e?e.map(O):void 0},e.validateApplyBookmarkStateRequest=function(t){var e=n.Validators.applyBookmarkStateRequestValidator.validate(t);return e?e.map(O):void 0},e.validateCaptureBookmarkRequest=function(t){var e=n.Validators.captureBookmarkRequestValidator.validate(t);return e?e.map(O):void 0},e.validateSettings=function(t){var e=n.Validators.settingsValidator.validate(t);return e?e.map(O):void 0},e.validatePanes=function(t){var e=n.Validators.reportPanesValidator.validate(t);return e?e.map(O):void 0},e.validateBookmarksPane=function(t){var e=n.Validators.bookmarksPaneValidator.validate(t);return e?e.map(O):void 0},e.validateFiltersPane=function(t){var e=n.Validators.filtersPaneValidator.validate(t);return e?e.map(O):void 0},e.validateFieldsPane=function(t){var e=n.Validators.fieldsPaneValidator.validate(t);return e?e.map(O):void 0},e.validatePageNavigationPane=function(t){var e=n.Validators.pageNavigationPaneValidator.validate(t);return e?e.map(O):void 0},e.validateSelectionPane=function(t){var e=n.Validators.selectionPaneValidator.validate(t);return e?e.map(O):void 0},e.validateSyncSlicersPane=function(t){var e=n.Validators.syncSlicersPaneValidator.validate(t);return e?e.map(O):void 0},e.validateVisualizationsPane=function(t){var e=n.Validators.visualizationsPaneValidator.validate(t);return e?e.map(O):void 0},e.validateCustomPageSize=function(t){var e=n.Validators.customPageSizeValidator.validate(t);return e?e.map(O):void 0},e.validateExtension=function(t){var e=n.Validators.extensionValidator.validate(t);return e?e.map(O):void 0},e.validateMenuGroupExtension=function(t){var e=n.Validators.menuGroupExtensionValidator.validate(t);return e?e.map(O):void 0},e.validateReportLoad=function(t){var e=n.Validators.reportLoadValidator.validate(t);return e?e.map(O):void 0},e.validateCreateReport=function(t){var e=n.Validators.reportCreateValidator.validate(t);return e?e.map(O):void 0},e.validateDashboardLoad=function(t){var e=n.Validators.dashboardLoadValidator.validate(t);return e?e.map(O):void 0},e.validateTileLoad=function(t){var e=n.Validators.tileLoadValidator.validate(t);return e?e.map(O):void 0},e.validatePage=function(t){var e=n.Validators.pageValidator.validate(t);return e?e.map(O):void 0},e.validateFilter=function(t){var e=n.Validators.filtersValidator.validate(t);return e?e.map(O):void 0},e.validateSaveAsParameters=function(t){var e=n.Validators.saveAsParametersValidator.validate(t);return e?e.map(O):void 0},e.validateLoadQnaConfiguration=function(t){var e=n.Validators.loadQnaValidator.validate(t);return e?e.map(O):void 0},e.validateQnaInterpretInputData=function(t){var e=n.Validators.qnaInterpretInputDataValidator.validate(t);return e?e.map(O):void 0},e.validateExportDataRequest=function(t){var e=n.Validators.exportDataRequestValidator.validate(t);return e?e.map(O):void 0},e.validateVisualHeader=function(t){var e=n.Validators.visualHeaderValidator.validate(t);return e?e.map(O):void 0},e.validateVisualSettings=function(t){var e=n.Validators.visualSettingsValidator.validate(t);return e?e.map(O):void 0},e.validateCommandsSettings=function(t){var e=n.Validators.commandsSettingsValidator.validate(t);return e?e.map(O):void 0},e.validateCustomTheme=function(t){var e=n.Validators.customThemeValidator.validate(t);return e?e.map(O):void 0}},function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.Validators=void 0;var a=r(2),i=r(5),o=r(6),n=r(7),l=r(8),s=r(9),d=r(10),u=r(11),c=r(12),p=r(13),f=r(14),h=r(15),v=r(16),y=r(17),m=r(18),V=r(19),g=r(20),b=r(21),w=r(22),P=r(23),_=r(24),S=r(25),E=r(26),O=r(27),T=r(28),k=r(4);e.Validators={addBookmarkRequestValidator:new i.AddBookmarkRequestValidator,advancedFilterTypeValidator:new k.EnumValidator([0]),advancedFilterValidator:new c.AdvancedFilterValidator,anyArrayValidator:new k.ArrayValidator([new S.AnyOfValidator([new k.StringValidator,new k.NumberValidator,new k.BooleanValidator])]),anyFilterValidator:new S.AnyOfValidator([new c.BasicFilterValidator,new c.AdvancedFilterValidator,new c.IncludeExcludeFilterValidator,new c.NotSupportedFilterValidator,new c.RelativeDateFilterValidator,new c.TopNFilterValidator,new c.RelativeTimeFilterValidator]),anyValueValidator:new S.AnyOfValidator([new k.StringValidator,new k.NumberValidator,new k.BooleanValidator]),actionBarValidator:new a.ActionBarValidator,applyBookmarkByNameRequestValidator:new i.ApplyBookmarkByNameRequestValidator,applyBookmarkStateRequestValidator:new i.ApplyBookmarkStateRequestValidator,applyBookmarkValidator:new S.AnyOfValidator([new i.ApplyBookmarkByNameRequestValidator,new i.ApplyBookmarkStateRequestValidator]),backgroundValidator:new k.EnumValidator([0,1]),basicFilterTypeValidator:new k.EnumValidator([1]),basicFilterValidator:new c.BasicFilterValidator,booleanArrayValidator:new k.BooleanArrayValidator,booleanValidator:new k.BooleanValidator,bookmarksPaneValidator:new h.BookmarksPaneValidator,captureBookmarkOptionsValidator:new i.CaptureBookmarkOptionsValidator,captureBookmarkRequestValidator:new i.CaptureBookmarkRequestValidator,commandDisplayOptionValidator:new k.EnumValidator([0,1,2]),commandExtensionSelectorValidator:new S.AnyOfValidator([new g.VisualSelectorValidator,new g.VisualTypeSelectorValidator]),commandExtensionArrayValidator:new k.ArrayValidator([new u.CommandExtensionValidator]),commandExtensionValidator:new u.CommandExtensionValidator,commandsSettingsArrayValidator:new k.ArrayValidator([new o.CommandsSettingsValidator]),commandsSettingsValidator:new o.CommandsSettingsValidator,conditionItemValidator:new c.ConditionItemValidator,contrastModeValidator:new k.EnumValidator([0,1,2,3,4]),customLayoutDisplayOptionValidator:new k.EnumValidator([0,1,2]),customLayoutValidator:new p.CustomLayoutValidator,customPageSizeValidator:new f.CustomPageSizeValidator,customThemeValidator:new n.CustomThemeValidator,dashboardLoadValidator:new l.DashboardLoadValidator,datasetBindingValidator:new s.DatasetBindingValidator,displayStateModeValidator:new k.EnumValidator([0,1]),displayStateValidator:new p.DisplayStateValidator,exportDataRequestValidator:new d.ExportDataRequestValidator,extensionArrayValidator:new k.ArrayValidator([new u.ExtensionValidator]),extensionsValidator:new S.AnyOfValidator([new k.ArrayValidator([new u.ExtensionValidator]),new u.ExtensionsValidator]),extensionPointsValidator:new u.ExtensionPointsValidator,extensionValidator:new u.ExtensionValidator,fieldForbiddenValidator:new E.FieldForbiddenValidator,fieldRequiredValidator:new O.FieldRequiredValidator,fieldsPaneValidator:new h.FieldsPaneValidator,filterColumnTargetValidator:new c.FilterColumnTargetValidator,filterConditionsValidator:new k.ArrayValidator([new c.ConditionItemValidator]),filterHierarchyTargetValidator:new c.FilterHierarchyTargetValidator,filterMeasureTargetValidator:new c.FilterMeasureTargetValidator,filterTargetValidator:new S.AnyOfValidator([new c.FilterColumnTargetValidator,new c.FilterHierarchyTargetValidator,new c.FilterMeasureTargetValidator]),filtersArrayValidator:new k.ArrayValidator([new S.AnyOfValidator([new c.BasicFilterValidator,new c.AdvancedFilterValidator,new c.RelativeDateFilterValidator,new c.RelativeTimeFilterValidator])]),filtersValidator:new c.FilterValidator,filtersPaneValidator:new h.FiltersPaneValidator,hyperlinkClickBehaviorValidator:new k.EnumValidator([0,1,2]),includeExcludeFilterValidator:new c.IncludeExcludeFilterValidator,includeExludeFilterTypeValidator:new k.EnumValidator([3]),layoutTypeValidator:new k.EnumValidator([0,1,2,3]),loadQnaValidator:new v.LoadQnaValidator,menuExtensionValidator:new S.AnyOfValidator([new u.FlatMenuExtensionValidator,new u.GroupedMenuExtensionValidator]),menuGroupExtensionArrayValidator:new k.ArrayValidator([new u.MenuGroupExtensionValidator]),menuGroupExtensionValidator:new u.MenuGroupExtensionValidator,menuLocationValidator:new k.EnumValidator([0,1]),notSupportedFilterTypeValidator:new k.EnumValidator([2]),notSupportedFilterValidator:new c.NotSupportedFilterValidator,numberArrayValidator:new k.NumberArrayValidator,numberValidator:new k.NumberValidator,pageLayoutValidator:new T.MapValidator([new k.StringValidator],[new p.VisualLayoutValidator]),pageNavigationPaneValidator:new h.PageNavigationPaneValidator,pageNavigationPositionValidator:new k.EnumValidator([0,1]),pageSizeTypeValidator:new k.EnumValidator([0,1,2,3,4,5]),pageSizeValidator:new f.PageSizeValidator,pageValidator:new f.PageValidator,pageViewFieldValidator:new f.PageViewFieldValidator,pagesLayoutValidator:new T.MapValidator([new k.StringValidator],[new p.PageLayoutValidator]),reportBarsValidator:new a.ReportBarsValidator,reportPanesValidator:new h.ReportPanesValidator,permissionsValidator:new k.EnumValidator([0,1,2,4,7]),playBookmarkRequestValidator:new i.PlayBookmarkRequestValidator,qnaInterpretInputDataValidator:new v.QnaInterpretInputDataValidator,qnaSettingValidator:new v.QnaSettingsValidator,relativeDateFilterOperatorValidator:new k.EnumValidator([0,1,2]),relativeDateFilterTimeUnitTypeValidator:new k.EnumValidator([0,1,2,3,4,5,6]),relativeDateFilterTypeValidator:new k.EnumValidator([4]),relativeDateFilterValidator:new c.RelativeDateFilterValidator,relativeTimeFilterTimeUnitTypeValidator:new k.EnumValidator([7,8]),relativeTimeFilterTypeValidator:new k.EnumValidator([7]),relativeTimeFilterValidator:new c.RelativeTimeFilterValidator,reportCreateValidator:new y.ReportCreateValidator,reportLoadValidator:new m.ReportLoadValidator,saveAsParametersValidator:new V.SaveAsParametersValidator,selectionPaneValidator:new h.SelectionPaneValidator,settingsValidator:new b.SettingsValidator,singleCommandSettingsValidator:new o.SingleCommandSettingsValidator,slicerSelectorValidator:new S.AnyOfValidator([new g.VisualSelectorValidator,new g.SlicerTargetSelectorValidator]),slicerStateValidator:new w.SlicerStateValidator,slicerTargetValidator:new S.AnyOfValidator([new c.FilterColumnTargetValidator,new c.FilterHierarchyTargetValidator,new c.FilterMeasureTargetValidator,new c.FilterKeyColumnsTargetValidator,new c.FilterKeyHierarchyTargetValidator]),slicerValidator:new w.SlicerValidator,stringArrayValidator:new k.StringArrayValidator,stringValidator:new k.StringValidator,syncSlicersPaneValidator:new h.SyncSlicersPaneValidator,tileLoadValidator:new P.TileLoadValidator,tokenTypeValidator:new k.EnumValidator([0,1]),topNFilterTypeValidator:new k.EnumValidator([5]),topNFilterValidator:new c.TopNFilterValidator,viewModeValidator:new k.EnumValidator([0,1]),visualCommandSelectorValidator:new S.AnyOfValidator([new g.VisualSelectorValidator,new g.VisualTypeSelectorValidator]),visualHeaderSelectorValidator:new S.AnyOfValidator([new g.VisualSelectorValidator,new g.VisualTypeSelectorValidator]),visualHeaderSettingsValidator:new _.VisualHeaderSettingsValidator,visualHeaderValidator:new _.VisualHeaderValidator,visualHeadersValidator:new k.ArrayValidator([new _.VisualHeaderValidator]),visualizationsPaneValidator:new h.VisualizationsPaneValidator,visualLayoutValidator:new p.VisualLayoutValidator,visualSelectorValidator:new g.VisualSelectorValidator,visualSettingsValidator:new _.VisualSettingsValidator,visualTypeSelectorValidator:new g.VisualTypeSelectorValidator}},function(t,e,r){var a,i=this&&this.__extends||(a=function(t,e){return(a=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])})(t,e)},function(t,e){function r(){this.constructor=t}a(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.ActionBarValidator=e.ReportBarsValidator=void 0;var o=r(3),n=r(4),l=r(1),s=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i(e,t),e.prototype.validate=function(e,r,a){if(null==e)return null;var i=t.prototype.validate.call(this,e,r,a);if(i)return i;var n=[{field:"actionBar",validators:[l.Validators.actionBarValidator]}];return new o.MultipleFieldsValidator(n).validate(e,r,a)},e}(n.ObjectValidator);e.ReportBarsValidator=s;var d=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i(e,t),e.prototype.validate=function(e,r,a){if(null==e)return null;var i=t.prototype.validate.call(this,e,r,a);if(i)return i;var n=[{field:"visible",validators:[l.Validators.booleanValidator]}];return new o.MultipleFieldsValidator(n).validate(e,r,a)},e}(n.ObjectValidator);e.ActionBarValidator=d},function(t,e){Object.defineProperty(e,"__esModule",{value:!0}),e.MultipleFieldsValidator=void 0;var r=function(){function t(t){this.fieldValidatorsPairs=t}return t.prototype.validate=function(t,e,r){if(!this.fieldValidatorsPairs)return null;for(var a=e?e+"."+r:r,i=0,o=this.fieldValidatorsPairs;i0&&i[i.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0?"&":"?";return t+=a+e+"="+r},e.isSavedInternal=function(t,e,i){return r(this,void 0,void 0,(function(){return a(this,(function(r){switch(r.label){case 0:return r.trys.push([0,2,,3]),[4,t.get("/report/hasUnsavedChanges",{uid:e},i)];case 1:return[2,!r.sent().body];case 2:throw r.sent().body;case 3:return[2]}}))}))},e.isRDLEmbed=function(t){return t.toLowerCase().indexOf("/rdlembed?")>=0},e.autoAuthInEmbedUrl=function(t){return t&&decodeURIComponent(t).toLowerCase().indexOf("autoauth=true")>=0},e.getRandomValue=o,e.getTimeDiffInMilliseconds=function(t,e){return Math.abs(t.getTime()-e.getTime())}},function(t,e){Object.defineProperty(e,"__esModule",{value:!0}),e.EmbedUrlNotSupported=e.APINotSupportedForRDLError=void 0,e.APINotSupportedForRDLError="This API is currently not supported for RDL reports",e.EmbedUrlNotSupported="Embed URL is invalid for this scenario. Please use Power BI REST APIs to get the valid URL"},function(t,e,r){var a,i=this&&this.__extends||(a=function(t,e){return(a=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])})(t,e)},function(t,e){function r(){this.constructor=t}a(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}),o=this&&this.__awaiter||function(t,e,r,a){return new(r||(r=Promise))((function(i,o){function n(t){try{s(a.next(t))}catch(t){o(t)}}function l(t){try{s(a.throw(t))}catch(t){o(t)}}function s(t){var e;t.done?i(t.value):(e=t.value,e instanceof r?e:new r((function(t){t(e)}))).then(n,l)}s((a=a.apply(t,e||[])).next())}))},n=this&&this.__generator||function(t,e){var r,a,i,o,n={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:l(0),throw:l(1),return:l(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function l(o){return function(l){return function(o){if(r)throw new TypeError("Generator is already executing.");for(;n;)try{if(r=1,a&&(i=2&o[0]?a.return:o[0]?a.throw||((i=a.return)&&i.call(a),0):a.next)&&!(i=i.call(a,o[1])).done)return i;switch(a=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return n.label++,{value:o[1],done:!1};case 5:n.label++,a=o[1],o=[0];continue;case 7:o=n.ops.pop(),n.trys.pop();continue;default:if(!(i=n.trys,(i=i.length>0&&i[i.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1] Date: Wed, 6 Jan 2021 08:05:52 +0000 Subject: [PATCH 049/125] Merged PR 136967: Add update filters API Added new `updateFilters` to `IFilterable` interfaces and to the classes that implements it. API usage examples: ```typescript await report.updateFilters(FiltersOperations.RemoveAll); await page.updateFilters(FiltersOperations.ReplaceAll, filters); await visual.updateFilters(FiltersOperations.Add, filters); await report.updateFilters(FiltersOperations.Replace, filters); ``` --- .eslintrc.js | 503 +++++++++++----------- dist/powerbi-client.d.ts | 357 +++++++++------- dist/powerbi.js | 876 ++++++++++++++++++++++++-------------- dist/powerbi.min.js | 6 +- package.json | 4 +- src/config.ts | 2 +- src/ifilterable.ts | 30 +- src/page.ts | 139 +++--- src/report.ts | 342 ++++++++------- src/visual.ts | 128 ++++-- src/visualDescriptor.ts | 85 ++-- test/test.spec.ts | 36 +- test/utility/mockApp.ts | 4 + test/utility/mockEmbed.ts | 98 ++++- 14 files changed, 1593 insertions(+), 1017 deletions(-) diff --git a/.eslintrc.js b/.eslintrc.js index 5e6d4467..ebc8387a 100644 --- a/.eslintrc.js +++ b/.eslintrc.js @@ -1,254 +1,255 @@ // TODO: Remove "warn" settings for the rules after resolving them module.exports = { - "env": { - "browser": true, - "node": true - }, - "extends": [ - "plugin:@typescript-eslint/recommended", - "plugin:@typescript-eslint/recommended-requiring-type-checking" - ], - "parser": "@typescript-eslint/parser", - "parserOptions": { - "project": "webpack.test.tsconfig.json", - "sourceType": "module" - }, - "plugins": [ - "eslint-plugin-jsdoc", - "eslint-plugin-prefer-arrow", - "eslint-plugin-import", - "@typescript-eslint" - ], - "rules": { - "@typescript-eslint/adjacent-overload-signatures": "warn", - "@typescript-eslint/array-type": [ - "warn", - { - "default": "array-simple" - } - ], - "@typescript-eslint/await-thenable": "warn", - "@typescript-eslint/ban-ts-comment": "warn", - "@typescript-eslint/ban-types": [ - "warn", - { - "types": { - "Object": { - "message": "Avoid using the `Object` type. Did you mean `object`?" - }, - "Function": { - "message": "Avoid using the `Function` type. Prefer a specific function type, like `() => void`." - }, - "Boolean": { - "message": "Avoid using the `Boolean` type. Did you mean `boolean`?" - }, - "Number": { - "message": "Avoid using the `Number` type. Did you mean `number`?" - }, - "String": { - "message": "Avoid using the `String` type. Did you mean `string`?" - }, - "Symbol": { - "message": "Avoid using the `Symbol` type. Did you mean `symbol`?" - } - } - } - ], - "@typescript-eslint/consistent-type-assertions": "warn", - "@typescript-eslint/consistent-type-definitions": "warn", - "@typescript-eslint/dot-notation": "warn", - "@typescript-eslint/explicit-member-accessibility": [ - "off", - { - "accessibility": "explicit" - } - ], - "@typescript-eslint/explicit-module-boundary-types": "warn", - "@typescript-eslint/indent": [ - "warn", - 2, - { - "FunctionDeclaration": { - "parameters": "first" - }, - "FunctionExpression": { - "parameters": "first" - } - } - ], - "@typescript-eslint/member-delimiter-style": [ - "warn", - { - "multiline": { - "delimiter": "semi", - "requireLast": true - }, - "singleline": { - "delimiter": "semi", - "requireLast": false - } - } - ], - "@typescript-eslint/member-ordering": "warn", - "@typescript-eslint/naming-convention": "warn", - "@typescript-eslint/no-array-constructor": "warn", - "@typescript-eslint/no-empty-function": "warn", - "@typescript-eslint/no-empty-interface": "warn", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-extra-non-null-assertion": "warn", - "@typescript-eslint/no-extra-semi": "warn", - "@typescript-eslint/no-floating-promises": "warn", - "@typescript-eslint/no-for-in-array": "warn", - "@typescript-eslint/no-implied-eval": "warn", - "@typescript-eslint/no-inferrable-types": "warn", - "@typescript-eslint/no-misused-new": "warn", - "@typescript-eslint/no-misused-promises": "warn", - "@typescript-eslint/no-namespace": "warn", - "@typescript-eslint/no-non-null-asserted-optional-chain": "warn", - "@typescript-eslint/no-non-null-assertion": "warn", - "@typescript-eslint/no-parameter-properties": "off", - "@typescript-eslint/no-this-alias": "warn", - "@typescript-eslint/no-unnecessary-type-assertion": "warn", - "@typescript-eslint/no-unsafe-assignment": "warn", - "@typescript-eslint/no-unsafe-call": "warn", - "@typescript-eslint/no-unsafe-member-access": "warn", - "@typescript-eslint/no-unsafe-return": "warn", - "@typescript-eslint/no-unused-expressions": "warn", - "@typescript-eslint/no-unused-vars": "warn", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-var-requires": "warn", - "@typescript-eslint/prefer-as-const": "warn", - "@typescript-eslint/prefer-for-of": "warn", - "@typescript-eslint/prefer-function-type": "warn", - "@typescript-eslint/prefer-namespace-keyword": "warn", - "@typescript-eslint/prefer-regexp-exec": "warn", - "@typescript-eslint/quotes": [ - "off", - { - "avoidEscape": true - } - ], - "@typescript-eslint/require-await": "warn", - "@typescript-eslint/restrict-plus-operands": "warn", - "@typescript-eslint/restrict-template-expressions": "warn", - "@typescript-eslint/semi": [ - "warn", - "always" - ], - "@typescript-eslint/triple-slash-reference": [ - "warn", - { - "path": "always", - "types": "prefer-import", - "lib": "always" - } - ], - "@typescript-eslint/type-annotation-spacing": "warn", - "@typescript-eslint/unbound-method": "warn", - "@typescript-eslint/unified-signatures": "warn", - "arrow-body-style": "warn", - "arrow-parens": [ - "warn", - "always" - ], - "brace-style": [ - "off", - "1tbs" - ], - "comma-dangle": "off", - "complexity": "off", - "constructor-super": "warn", - "curly": "warn", - "eol-last": "warn", - "eqeqeq": [ - "warn", - "smart" - ], - "guard-for-in": "warn", - "id-blacklist": [ - "warn", - "any", - "Number", - "number", - "String", - "string", - "Boolean", - "boolean", - "Undefined", - "undefined" - ], - "id-match": "warn", - "import/order": "warn", - "jsdoc/check-alignment": "warn", - "jsdoc/check-indentation": "warn", - "jsdoc/newline-after-description": "warn", - "max-classes-per-file": [ - "warn", - 1 - ], - "max-len": "off", - "new-parens": "warn", - "no-array-constructor": "off", - "no-bitwise": "warn", - "no-caller": "warn", - "no-cond-assign": "warn", - "no-console": "off", - "no-debugger": "warn", - "no-empty": "warn", - "no-empty-function": "off", - "no-eval": "warn", - "no-extra-semi": "off", - "no-fallthrough": "off", - "no-implied-eval": "off", - "no-invalid-this": "off", - "no-multiple-empty-lines": "warn", - "no-new-wrappers": "warn", - "no-shadow": [ - "warn", - { - "hoist": "all" - } - ], - "no-throw-literal": "warn", - "no-trailing-spaces": "warn", - "no-undef-init": "warn", - "no-underscore-dangle": "warn", - "no-unsafe-finally": "warn", - "no-unused-labels": "warn", - "no-unused-vars": "off", - "no-var": "warn", - "object-shorthand": "warn", - "one-var": [ - "warn", - "never" - ], - "prefer-arrow/prefer-arrow-functions": "warn", - "prefer-const": "warn", - "prefer-rest-params": "warn", - "quote-props": [ - "warn", - "consistent-as-needed" - ], - "radix": "warn", - "require-await": "off", - "space-before-function-paren": [ - "warn", - { - "anonymous": "never", - "asyncArrow": "always", - "named": "never" - } - ], - "spaced-comment": [ - "warn", - "always", - { - "markers": [ - "/" - ] - } - ], - "use-isnan": "warn", - "valid-typeof": "off" - } + "env": { + "browser": true, + "node": true + }, + "extends": [ + "plugin:@typescript-eslint/recommended", + "plugin:@typescript-eslint/recommended-requiring-type-checking" + ], + "parser": "@typescript-eslint/parser", + "parserOptions": { + "project": "webpack.test.tsconfig.json", + "sourceType": "module" + }, + "plugins": [ + "eslint-plugin-jsdoc", + "eslint-plugin-prefer-arrow", + "eslint-plugin-import", + "@typescript-eslint" + ], + "rules": { + "@typescript-eslint/adjacent-overload-signatures": "warn", + "@typescript-eslint/array-type": [ + "warn", + { + "default": "array-simple" + } + ], + "@typescript-eslint/await-thenable": "warn", + "@typescript-eslint/ban-ts-comment": "warn", + "@typescript-eslint/ban-types": [ + "warn", + { + "types": { + "Object": { + "message": "Avoid using the `Object` type. Did you mean `object`?" + }, + "Function": { + "message": "Avoid using the `Function` type. Prefer a specific function type, like `() => void`." + }, + "Boolean": { + "message": "Avoid using the `Boolean` type. Did you mean `boolean`?" + }, + "Number": { + "message": "Avoid using the `Number` type. Did you mean `number`?" + }, + "String": { + "message": "Avoid using the `String` type. Did you mean `string`?" + }, + "Symbol": { + "message": "Avoid using the `Symbol` type. Did you mean `symbol`?" + } + } + } + ], + "@typescript-eslint/consistent-type-assertions": "warn", + "@typescript-eslint/consistent-type-definitions": "warn", + "@typescript-eslint/dot-notation": "warn", + "@typescript-eslint/explicit-member-accessibility": [ + "off", + { + "accessibility": "explicit" + } + ], + "@typescript-eslint/explicit-module-boundary-types": "warn", + "@typescript-eslint/indent": [ + "warn", + 2, + { + "SwitchCase": 1, + "FunctionDeclaration": { + "parameters": "first" + }, + "FunctionExpression": { + "parameters": "first" + } + } + ], + "@typescript-eslint/member-delimiter-style": [ + "warn", + { + "multiline": { + "delimiter": "semi", + "requireLast": true + }, + "singleline": { + "delimiter": "semi", + "requireLast": false + } + } + ], + "@typescript-eslint/member-ordering": "warn", + "@typescript-eslint/naming-convention": "warn", + "@typescript-eslint/no-array-constructor": "warn", + "@typescript-eslint/no-empty-function": "warn", + "@typescript-eslint/no-empty-interface": "warn", + "@typescript-eslint/no-explicit-any": "off", + "@typescript-eslint/no-extra-non-null-assertion": "warn", + "@typescript-eslint/no-extra-semi": "warn", + "@typescript-eslint/no-floating-promises": "warn", + "@typescript-eslint/no-for-in-array": "warn", + "@typescript-eslint/no-implied-eval": "warn", + "@typescript-eslint/no-inferrable-types": "warn", + "@typescript-eslint/no-misused-new": "warn", + "@typescript-eslint/no-misused-promises": "warn", + "@typescript-eslint/no-namespace": "warn", + "@typescript-eslint/no-non-null-asserted-optional-chain": "warn", + "@typescript-eslint/no-non-null-assertion": "warn", + "@typescript-eslint/no-parameter-properties": "off", + "@typescript-eslint/no-this-alias": "warn", + "@typescript-eslint/no-unnecessary-type-assertion": "warn", + "@typescript-eslint/no-unsafe-assignment": "warn", + "@typescript-eslint/no-unsafe-call": "warn", + "@typescript-eslint/no-unsafe-member-access": "warn", + "@typescript-eslint/no-unsafe-return": "warn", + "@typescript-eslint/no-unused-expressions": "warn", + "@typescript-eslint/no-unused-vars": "warn", + "@typescript-eslint/no-use-before-define": "off", + "@typescript-eslint/no-var-requires": "warn", + "@typescript-eslint/prefer-as-const": "warn", + "@typescript-eslint/prefer-for-of": "warn", + "@typescript-eslint/prefer-function-type": "warn", + "@typescript-eslint/prefer-namespace-keyword": "warn", + "@typescript-eslint/prefer-regexp-exec": "warn", + "@typescript-eslint/quotes": [ + "off", + { + "avoidEscape": true + } + ], + "@typescript-eslint/require-await": "warn", + "@typescript-eslint/restrict-plus-operands": "warn", + "@typescript-eslint/restrict-template-expressions": "warn", + "@typescript-eslint/semi": [ + "warn", + "always" + ], + "@typescript-eslint/triple-slash-reference": [ + "warn", + { + "path": "always", + "types": "prefer-import", + "lib": "always" + } + ], + "@typescript-eslint/type-annotation-spacing": "warn", + "@typescript-eslint/unbound-method": "warn", + "@typescript-eslint/unified-signatures": "warn", + "arrow-body-style": "warn", + "arrow-parens": [ + "warn", + "always" + ], + "brace-style": [ + "off", + "1tbs" + ], + "comma-dangle": "off", + "complexity": "off", + "constructor-super": "warn", + "curly": "warn", + "eol-last": "warn", + "eqeqeq": [ + "warn", + "smart" + ], + "guard-for-in": "warn", + "id-blacklist": [ + "warn", + "any", + "Number", + "number", + "String", + "string", + "Boolean", + "boolean", + "Undefined", + "undefined" + ], + "id-match": "warn", + "import/order": "warn", + "jsdoc/check-alignment": "warn", + "jsdoc/check-indentation": "warn", + "jsdoc/newline-after-description": "warn", + "max-classes-per-file": [ + "warn", + 1 + ], + "max-len": "off", + "new-parens": "warn", + "no-array-constructor": "off", + "no-bitwise": "warn", + "no-caller": "warn", + "no-cond-assign": "warn", + "no-console": "off", + "no-debugger": "warn", + "no-empty": "warn", + "no-empty-function": "off", + "no-eval": "warn", + "no-extra-semi": "off", + "no-fallthrough": "off", + "no-implied-eval": "off", + "no-invalid-this": "off", + "no-multiple-empty-lines": "warn", + "no-new-wrappers": "warn", + "no-shadow": [ + "warn", + { + "hoist": "all" + } + ], + "no-throw-literal": "warn", + "no-trailing-spaces": "warn", + "no-undef-init": "warn", + "no-underscore-dangle": "warn", + "no-unsafe-finally": "warn", + "no-unused-labels": "warn", + "no-unused-vars": "off", + "no-var": "warn", + "object-shorthand": ["warn", "never"], + "one-var": [ + "warn", + "never" + ], + "prefer-arrow/prefer-arrow-functions": "warn", + "prefer-const": "warn", + "prefer-rest-params": "warn", + "quote-props": [ + "warn", + "consistent-as-needed" + ], + "radix": "warn", + "require-await": "off", + "space-before-function-paren": [ + "warn", + { + "anonymous": "never", + "asyncArrow": "always", + "named": "never" + } + ], + "spaced-comment": [ + "warn", + "always", + { + "markers": [ + "/" + ] + } + ], + "use-isnan": "warn", + "valid-typeof": "off" + } }; diff --git a/dist/powerbi-client.d.ts b/dist/powerbi-client.d.ts index 212fba02..6ba35a4b 100644 --- a/dist/powerbi-client.d.ts +++ b/dist/powerbi-client.d.ts @@ -1,4 +1,4 @@ -/*! powerbi-client v2.16.5 | (c) 2016 Microsoft Corporation MIT */ +/*! powerbi-client v2.17.0 | (c) 2016 Microsoft Corporation MIT */ declare module "util" { import { HttpPostMessage } from 'http-post-message'; /** @@ -521,7 +521,7 @@ declare module "embed" { } } declare module "ifilterable" { - import * as models from 'powerbi-models'; + import { FiltersOperations, IFilter } from 'powerbi-models'; import { IHttpPostMessageResponse } from 'http-post-message'; /** * Decorates embed components that support filters @@ -534,29 +534,37 @@ declare module "ifilterable" { /** * Gets the filters currently applied to the object. * - * @returns {(Promise)} + * @returns {(Promise)} */ - getFilters(): Promise; + getFilters(): Promise; /** - * Replaces all filters on the current object with the specified filter values. + * Update the filters for the current instance according to the operation: Add, replace all, replace by target or remove. * - * @param {(models.IFilter[])} filters + * @param {(FiltersOperations)} operation + * @param {(IFilter[])} filters * @returns {Promise>} */ - setFilters(filters: models.IFilter[]): Promise>; + updateFilters(operation: FiltersOperations, filters?: IFilter[]): Promise>; /** * Removes all filters from the current object. * * @returns {Promise>} */ removeFilters(): Promise>; + /** + * Replaces all filters on the current object with the specified filter values. + * + * @param {(IFilter[])} filters + * @returns {Promise>} + */ + setFilters(filters: IFilter[]): Promise>; } } declare module "visualDescriptor" { - import * as models from 'powerbi-models'; + import { ExportDataType, FiltersOperations, ICloneVisualRequest, ICloneVisualResponse, IExportDataResult, IFilter, ISlicerState, ISortByVisualRequest, IVisualLayout } from 'powerbi-models'; + import { IHttpPostMessageResponse } from 'http-post-message'; import { IFilterable } from "ifilterable"; import { IPageNode } from "page"; - import { IHttpPostMessageResponse } from 'http-post-message'; /** * A Visual node within a report hierarchy * @@ -567,7 +575,7 @@ declare module "visualDescriptor" { name: string; title: string; type: string; - layout: models.IVisualLayout; + layout: IVisualLayout; page: IPageNode; } /** @@ -601,7 +609,7 @@ declare module "visualDescriptor" { * * @type {string} */ - layout: models.IVisualLayout; + layout: IVisualLayout; /** * The parent Power BI page that contains this visual * @@ -611,7 +619,7 @@ declare module "visualDescriptor" { /** * @hidden */ - constructor(page: IPageNode, name: string, title: string, type: string, layout: models.IVisualLayout); + constructor(page: IPageNode, name: string, title: string, type: string, layout: IVisualLayout); /** * Gets all visual level filters of the current visual. * @@ -620,9 +628,21 @@ declare module "visualDescriptor" { * .then(filters => { ... }); * ``` * - * @returns {(Promise)} + * @returns {(Promise)} */ - getFilters(): Promise; + getFilters(): Promise; + /** + * Update the filters for the current visual according to the operation: Add, replace all, replace by target or remove. + * + * ```javascript + * visual.updateFilters(FiltersOperations.Add, filters) + * .catch(errors => { ... }); + * ``` + * + * @param {(IFilter[])} filters + * @returns {Promise>} + */ + updateFilters(operation: FiltersOperations, filters?: IFilter[]): Promise>; /** * Removes all filters from the current visual. * @@ -641,23 +661,23 @@ declare module "visualDescriptor" { * .catch(errors => { ... }); * ``` * - * @param {(models.IFilter[])} filters + * @param {(IFilter[])} filters * @returns {Promise>} */ - setFilters(filters: models.IFilter[]): Promise>; + setFilters(filters: IFilter[]): Promise>; /** * Exports Visual data. * Can export up to 30K rows. * @param rows: Optional. Default value is 30K, maximum value is 30K as well. - * @param exportDataType: Optional. Default is models.ExportDataType.Summarized. + * @param exportDataType: Optional. Default is ExportDataType.Summarized. * ```javascript * visual.exportData() * .then(data => { ... }); * ``` * - * @returns {(Promise)} + * @returns {(Promise)} */ - exportData(exportDataType?: models.ExportDataType, rows?: number): Promise; + exportData(exportDataType?: ExportDataType, rows?: number): Promise; /** * Set slicer state. * Works only for visuals of type slicer. @@ -667,7 +687,7 @@ declare module "visualDescriptor" { * .then(() => { ... }); * ``` */ - setSlicerState(state: models.ISlicerState): Promise>; + setSlicerState(state: ISlicerState): Promise>; /** * Get slicer state. * Works only for visuals of type slicer. @@ -677,15 +697,15 @@ declare module "visualDescriptor" { * .then(state => { ... }); * ``` * - * @returns {(Promise)} + * @returns {(Promise)} */ - getSlicerState(): Promise; + getSlicerState(): Promise; /** * Clone existing visual to a new instance. * - * @returns {(Promise)} + * @returns {(Promise)} */ - clone(request?: models.ICloneVisualRequest): Promise; + clone(request?: ICloneVisualRequest): Promise; /** * Sort a visual by dataField and direction. * @@ -696,15 +716,15 @@ declare module "visualDescriptor" { * .then(() => { ... }); * ``` */ - sortBy(request: models.ISortByVisualRequest): Promise>; + sortBy(request: ISortByVisualRequest): Promise>; } } declare module "page" { import { IHttpPostMessageResponse } from 'http-post-message'; + import { DisplayOption, FiltersOperations, ICustomPageSize, IFilter, SectionVisibility } from 'powerbi-models'; import { IFilterable } from "ifilterable"; import { IReportNode } from "report"; import { VisualDescriptor } from "visualDescriptor"; - import * as models from 'powerbi-models'; /** * A Page node within a report hierarchy * @@ -753,19 +773,21 @@ declare module "page" { * 0 - Always Visible * 1 - Hidden in View Mode * - * @type {models.SectionVisibility} + * @type {SectionVisibility} */ - visibility: models.SectionVisibility; + visibility: SectionVisibility; /** * Page size as saved in the report. - * @type {models.ICustomPageSize} + * + * @type {ICustomPageSize} */ - defaultSize: models.ICustomPageSize; + defaultSize: ICustomPageSize; /** * Page display options as saved in the report. - * @type {models.ICustomPageSize} + * + * @type {ICustomPageSize} */ - defaultDisplayOption: models.DisplayOption; + defaultDisplayOption: DisplayOption; /** * Creates an instance of a Power BI report page. * @@ -773,10 +795,10 @@ declare module "page" { * @param {string} name * @param {string} [displayName] * @param {boolean} [isActivePage] - * @param {models.SectionVisibility} [visibility] + * @param {SectionVisibility} [visibility] * @hidden */ - constructor(report: IReportNode, name: string, displayName?: string, isActivePage?: boolean, visibility?: models.SectionVisibility, defaultSize?: models.ICustomPageSize, defaultDisplayOption?: models.DisplayOption); + constructor(report: IReportNode, name: string, displayName?: string, isActivePage?: boolean, visibility?: SectionVisibility, defaultSize?: ICustomPageSize, defaultDisplayOption?: DisplayOption); /** * Gets all page level filters within the report. * @@ -785,20 +807,21 @@ declare module "page" { * .then(filters => { ... }); * ``` * - * @returns {(Promise)} + * @returns {(Promise)} */ - getFilters(): Promise; + getFilters(): Promise; /** - * Delete the page from the report + * Update the filters for the current page according to the operation: Add, replace all, replace by target or remove. * * ```javascript - * // Delete the page from the report - * page.delete(); + * page.updateFilters(FiltersOperations.Add, filters) + * .catch(errors => { ... }); * ``` * - * @returns {Promise} + * @param {(IFilter[])} filters + * @returns {Promise>} */ - delete(): Promise; + updateFilters(operation: FiltersOperations, filters?: IFilter[]): Promise>; /** * Removes all filters from this page of the report. * @@ -810,27 +833,38 @@ declare module "page" { */ removeFilters(): Promise>; /** - * Makes the current page the active page of the report. + * Sets all filters on the current page. * * ```javascript - * page.setActive(); + * page.setFilters(filters) + * .catch(errors => { ... }); * ``` * + * @param {(IFilter[])} filters * @returns {Promise>} */ - setActive(): Promise>; + setFilters(filters: IFilter[]): Promise>; /** - * Sets all filters on the current page. + * Delete the page from the report * * ```javascript - * page.setFilters(filters); - * .catch(errors => { ... }); + * // Delete the page from the report + * page.delete(); + * ``` + * + * @returns {Promise} + */ + delete(): Promise; + /** + * Makes the current page the active page of the report. + * + * ```javascript + * page.setActive(); * ``` * - * @param {(models.IFilter[])} filters * @returns {Promise>} */ - setFilters(filters: models.IFilter[]): Promise>; + setActive(): Promise>; /** * Set displayName to the current page. * @@ -866,14 +900,13 @@ declare module "page" { } } declare module "report" { - import * as service from "service"; - import * as embed from "embed"; - import * as models from 'powerbi-models'; + import { IReportLoadConfiguration, IReportEmbedConfiguration, FiltersOperations, IError, IFilter, IReportTheme, ISettings, SectionVisibility, ViewMode, IEmbedConfiguration, IEmbedConfigurationBase } from 'powerbi-models'; + import { IHttpPostMessageResponse } from 'http-post-message'; + import { IService, Service } from "service"; + import { Embed } from "embed"; import { IFilterable } from "ifilterable"; import { Page } from "page"; - import { IReportLoadConfiguration, IReportEmbedConfiguration } from 'powerbi-models'; import { BookmarksManager } from "bookmarksManager"; - import { IHttpPostMessageResponse } from 'http-post-message'; /** * A Report node within a report hierarchy * @@ -882,19 +915,19 @@ declare module "report" { */ export interface IReportNode { iframe: HTMLIFrameElement; - service: service.IService; - config: embed.IEmbedConfiguration | IReportEmbedConfiguration; + service: IService; + config: IEmbedConfiguration | IReportEmbedConfiguration; } /** * The Power BI Report embed component * * @export * @class Report - * @extends {embed.Embed} + * @extends {Embed} * @implements {IReportNode} * @implements {IFilterable} */ - export class Report extends embed.Embed implements IReportNode, IFilterable { + export class Report extends Embed implements IReportNode, IFilterable { /** @hidden */ static allowedEvents: string[]; /** @hidden */ @@ -911,17 +944,18 @@ declare module "report" { /** * Creates an instance of a Power BI Report. * - * @param {service.Service} service + * @param {Service} service * @param {HTMLElement} element - * @param {embed.IEmbedConfiguration} config + * @param {IEmbedConfiguration} config * @hidden */ - constructor(service: service.Service, element: HTMLElement, baseConfig: embed.IEmbedConfigurationBase, phasedRender?: boolean, isBootstrap?: boolean, iframe?: HTMLIFrameElement); + constructor(service: Service, element: HTMLElement, baseConfig: IEmbedConfigurationBase, phasedRender?: boolean, isBootstrap?: boolean, iframe?: HTMLIFrameElement); /** * Adds backwards compatibility for the previous load configuration, which used the reportId query parameter to specify the report ID * (e.g. http://embedded.powerbi.com/appTokenReportEmbed?reportId=854846ed-2106-4dc2-bc58-eb77533bf2f1). * * 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 @@ -943,7 +977,7 @@ declare module "report" { * * @returns {Promise} */ - render(config?: IReportLoadConfiguration | embed.IReportEmbedConfiguration): Promise; + render(config?: IReportLoadConfiguration | IReportEmbedConfiguration): Promise; /** * Add an empty page to the report * @@ -988,9 +1022,49 @@ declare module "report" { * }); * ``` * - * @returns {Promise} + * @returns {Promise} + */ + getFilters(): Promise; + /** + * Update the filters at the report level according to the operation: Add, replace all, replace by target or remove. + * + * ```javascript + * report.updateFilters(FiltersOperations.Add, filters) + * .catch(errors => { ... }); + * ``` + * + * @param {(IFilter[])} filters + * @returns {Promise>} */ - getFilters(): Promise; + updateFilters(operation: FiltersOperations, filters?: IFilter[]): Promise>; + /** + * Removes all filters at the report level. + * + * ```javascript + * report.removeFilters(); + * ``` + * + * @returns {Promise>} + */ + removeFilters(): Promise>; + /** + * Sets filters at the report level. + * + * ```javascript + * const filters: [ + * ... + * ]; + * + * report.setFilters(filters) + * .catch(errors => { + * ... + * }); + * ``` + * + * @param {(IFilter[])} filters + * @returns {Promise>} + */ + setFilters(filters: IFilter[]): Promise>; /** * Gets the report ID from the first available location: options, attribute, embed url. * @@ -1025,21 +1099,11 @@ declare module "report" { * @returns {Page} * @hidden */ - page(name: string, displayName?: string, isActive?: boolean, visibility?: models.SectionVisibility): Page; + page(name: string, displayName?: string, isActive?: boolean, visibility?: SectionVisibility): Page; /** * Prints the active page of the report by invoking `window.print()` on the embed iframe component. */ print(): Promise; - /** - * Removes all filters at the report level. - * - * ```javascript - * report.removeFilters(); - * ``` - * - * @returns {Promise>} - */ - removeFilters(): Promise>; /** * Sets the active page of the report. * @@ -1052,24 +1116,6 @@ declare module "report" { * @returns {Promise>} */ setPage(pageName: string): Promise>; - /** - * Sets filters at the report level. - * - * ```javascript - * const filters: [ - * ... - * ]; - * - * report.setFilters(filters) - * .catch(errors => { - * ... - * }); - * ``` - * - * @param {(models.IFilter[])} filters - * @returns {Promise>} - */ - setFilters(filters: models.IFilter[]): Promise>; /** * Updates visibility settings for the filter pane and the page navigation pane. * @@ -1083,16 +1129,16 @@ declare module "report" { * .catch(error => { ... }); * ``` * - * @param {models.ISettings} settings + * @param {ISettings} settings * @returns {Promise>} */ - updateSettings(settings: models.ISettings): Promise>; + updateSettings(settings: ISettings): Promise>; /** * Validate load configuration. * * @hidden */ - validate(config: embed.IEmbedConfigurationBase): models.IError[]; + validate(config: IEmbedConfigurationBase): IError[]; /** * Handle config changes. * @@ -1109,14 +1155,14 @@ declare module "report" { * * @returns {Promise} */ - switchMode(viewMode: models.ViewMode | string): Promise; + switchMode(viewMode: ViewMode | string): Promise; /** - * Refreshes data sources for the report. - * - * ```javascript - * report.refresh(); - * ``` - */ + * Refreshes data sources for the report. + * + * ```javascript + * report.refresh(); + * ``` + */ refresh(): Promise; /** * checks if the report is saved. @@ -1135,41 +1181,41 @@ declare module "report" { * report.applyTheme(theme); * ``` */ - applyTheme(theme: models.IReportTheme): Promise; + applyTheme(theme: IReportTheme): Promise; /** - * Reset and apply the default theme of the report - * - * ```javascript - * report.resetTheme(); - * ``` - */ + * Reset and apply the default theme of the report + * + * ```javascript + * report.resetTheme(); + * ``` + */ resetTheme(): Promise; /** - * Reset user's filters, slicers, and other data view changes to the default state of the report - * - * ```javascript - * report.resetPersistentFilters(); - * ``` - */ + * Reset user's filters, slicers, and other data view changes to the default state of the report + * + * ```javascript + * report.resetPersistentFilters(); + * ``` + */ resetPersistentFilters(): Promise>; /** - * Save user's filters, slicers, and other data view changes of the report - * - * ```javascript - * report.savePersistentFilters(); - * ``` - */ + * Save user's filters, slicers, and other data view changes of the report + * + * ```javascript + * report.savePersistentFilters(); + * ``` + */ savePersistentFilters(): Promise>; /** - * Returns if there are user's filters, slicers, or other data view changes applied on the report. - * If persistent filters is disable, returns false. - * - * ```javascript - * report.arePersistentFiltersApplied(); - * ``` - * - * @returns {Promise} - */ + * Returns if there are user's filters, slicers, or other data view changes applied on the report. + * If persistent filters is disable, returns false. + * + * ```javascript + * report.arePersistentFiltersApplied(); + * ``` + * + * @returns {Promise} + */ arePersistentFiltersApplied(): Promise; /** * @hidden @@ -1430,14 +1476,12 @@ declare module "qna" { } } declare module "visual" { - import * as service from "service"; - import * as embed from "embed"; - import * as models from 'powerbi-models'; + import { FiltersLevel, FiltersOperations, IEmbedConfigurationBase, IFilter, IReportEmbedConfiguration, IReportLoadConfiguration } from 'powerbi-models'; + import { IHttpPostMessageResponse } from 'http-post-message'; + import { Service } from "service"; import { Report } from "report"; import { Page } from "page"; import { VisualDescriptor } from "visualDescriptor"; - import { IHttpPostMessageResponse } from 'http-post-message'; - import { IReportLoadConfiguration } from 'powerbi-models'; /** * The Power BI Visual embed component * @@ -1456,24 +1500,24 @@ declare module "visual" { /** * Creates an instance of a Power BI Single Visual. * - * @param {service.Service} service + * @param {Service} service * @param {HTMLElement} element - * @param {embed.IEmbedConfiguration} config + * @param {IEmbedConfiguration} config * @hidden */ - constructor(service: service.Service, element: HTMLElement, baseConfig: embed.IEmbedConfigurationBase, phasedRender?: boolean, isBootstrap?: boolean, iframe?: HTMLIFrameElement); + constructor(service: Service, element: HTMLElement, baseConfig: IEmbedConfigurationBase, phasedRender?: boolean, isBootstrap?: boolean, iframe?: HTMLIFrameElement); /** * @hidden */ load(phasedRender?: boolean): Promise; /** - * Gets the list of pages within the report - not supported in visual embed. + * Gets the list of pages within the report - not supported in visual * * @returns {Promise} */ getPages(): Promise; /** - * Sets the active page of the report - not supported in visual embed. + * Sets the active page of the report - not supported in visual * * @param {string} pageName * @returns {Promise>} @@ -1485,7 +1529,7 @@ declare module "visual" { * @hidden * @returns {Promise} */ - render(config?: IReportLoadConfiguration | embed.IReportEmbedConfiguration): Promise; + render(config?: IReportLoadConfiguration | IReportEmbedConfiguration): Promise; /** * Gets the embedded visual descriptor object that contains the visual name, type, etc. * @@ -1508,9 +1552,28 @@ declare module "visual" { * }); * ``` * - * @returns {Promise} + * @returns {Promise} + */ + getFilters(filtersLevel?: FiltersLevel): Promise; + /** + * Updates filters at the filter level. + * Default filter level is visual level. + * + * ```javascript + * const filters: [ + * ... + * ]; + * + * visual.updateFilters(FiltersOperations.Add, filters, filtersLevel) + * .catch(errors => { + * ... + * }); + * ``` + * + * @param {(IFilter[])} filters + * @returns {Promise>} */ - getFilters(filtersLevel?: models.FiltersLevel): Promise; + updateFilters(operation: FiltersOperations, filters: IFilter[], filtersLevel?: FiltersLevel): Promise>; /** * Sets filters at the filter level. * Default filter level is visual level. @@ -1526,10 +1589,10 @@ declare module "visual" { * }); * ``` * - * @param {(models.IFilter[])} filters + * @param {(IFilter[])} filters * @returns {Promise>} */ - setFilters(filters: models.IFilter[], filtersLevel?: models.FiltersLevel): Promise>; + setFilters(filters: IFilter[], filtersLevel?: FiltersLevel): Promise>; /** * Removes all filters from the current filter level. * Default filter level is visual level. @@ -1540,7 +1603,7 @@ declare module "visual" { * * @returns {Promise>} */ - removeFilters(filtersLevel?: models.FiltersLevel): Promise>; + removeFilters(filtersLevel?: FiltersLevel): Promise>; /** * @hidden */ diff --git a/dist/powerbi.js b/dist/powerbi.js index e8d4f430..8e137622 100644 --- a/dist/powerbi.js +++ b/dist/powerbi.js @@ -1,4 +1,4 @@ -/*! powerbi-client v2.16.5 | (c) 2016 Microsoft Corporation MIT */ +/*! powerbi-client v2.17.0 | (c) 2016 Microsoft Corporation MIT */ (function webpackUniversalModuleDefinition(root, factory) { if(typeof exports === 'object' && typeof module === 'object') module.exports = factory(); @@ -288,7 +288,7 @@ return /******/ (function(modules) { // webpackBootstrap /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { -/*! powerbi-models v1.7.1 | (c) 2016 Microsoft Corporation MIT */ +/*! powerbi-models v1.8.0 | (c) 2016 Microsoft Corporation MIT */ (function webpackUniversalModuleDefinition(root, factory) { if(true) module.exports = factory(); @@ -398,7 +398,7 @@ var __extends = (this && this.__extends) || (function () { }; })(); Object.defineProperty(exports, "__esModule", { value: true }); -exports.validateCustomTheme = exports.validateCommandsSettings = exports.validateVisualSettings = exports.validateVisualHeader = exports.validateExportDataRequest = exports.validateQnaInterpretInputData = exports.validateLoadQnaConfiguration = exports.validateSaveAsParameters = exports.validateFilter = exports.validatePage = exports.validateTileLoad = exports.validateDashboardLoad = exports.validateCreateReport = exports.validateReportLoad = exports.validateMenuGroupExtension = exports.validateExtension = exports.validateCustomPageSize = exports.validateVisualizationsPane = exports.validateSyncSlicersPane = exports.validateSelectionPane = exports.validatePageNavigationPane = exports.validateFieldsPane = exports.validateFiltersPane = exports.validateBookmarksPane = exports.validatePanes = exports.validateSettings = exports.validateCaptureBookmarkRequest = exports.validateApplyBookmarkStateRequest = exports.validateApplyBookmarkByNameRequest = exports.validateAddBookmarkRequest = exports.validatePlayBookmarkRequest = exports.validateSlicerState = exports.validateSlicer = exports.validateVisualSelector = exports.isIExtensionArray = exports.isIExtensions = exports.isGroupedMenuExtension = exports.isFlatMenuExtension = exports.VisualDataRoleKindPreference = exports.VisualDataRoleKind = exports.CommandDisplayOption = exports.SlicerTargetSelector = exports.VisualTypeSelector = exports.VisualSelector = exports.PageSelector = exports.Selector = exports.SortDirection = exports.LegendPosition = exports.TextAlignment = exports.CommonErrorCodes = exports.BookmarksPlayMode = exports.ExportDataType = exports.QnaMode = exports.PageNavigationPosition = exports.isColumnAggr = exports.isHierarchyLevelAggr = exports.isHierarchyLevel = exports.isColumn = exports.isMeasure = exports.getFilterType = exports.isBasicFilterWithKeys = exports.isFilterKeyColumnsTarget = exports.AdvancedFilter = exports.TupleFilter = exports.BasicFilterWithKeys = exports.BasicFilter = exports.RelativeTimeFilter = exports.RelativeDateFilter = exports.TopNFilter = exports.IncludeExcludeFilter = exports.NotSupportedFilter = exports.Filter = exports.RelativeDateOperators = exports.RelativeDateFilterTimeUnit = exports.FilterType = exports.FiltersLevel = exports.MenuLocation = exports.ContrastMode = exports.TokenType = exports.ViewMode = exports.Permissions = exports.SectionVisibility = exports.HyperlinkClickBehavior = exports.LayoutType = exports.VisualContainerDisplayMode = exports.BackgroundType = exports.DisplayOption = exports.PageSizeType = exports.TraceType = void 0; +exports.validateCustomTheme = exports.validateCommandsSettings = exports.validateVisualSettings = exports.validateVisualHeader = exports.validateExportDataRequest = exports.validateQnaInterpretInputData = exports.validateLoadQnaConfiguration = exports.validateSaveAsParameters = exports.validateUpdateFiltersRequest = exports.validateFilter = exports.validatePage = exports.validateTileLoad = exports.validateDashboardLoad = exports.validateCreateReport = exports.validateReportLoad = exports.validateMenuGroupExtension = exports.validateExtension = exports.validateCustomPageSize = exports.validateVisualizationsPane = exports.validateSyncSlicersPane = exports.validateSelectionPane = exports.validatePageNavigationPane = exports.validateFieldsPane = exports.validateFiltersPane = exports.validateBookmarksPane = exports.validatePanes = exports.validateSettings = exports.validateCaptureBookmarkRequest = exports.validateApplyBookmarkStateRequest = exports.validateApplyBookmarkByNameRequest = exports.validateAddBookmarkRequest = exports.validatePlayBookmarkRequest = exports.validateSlicerState = exports.validateSlicer = exports.validateVisualSelector = exports.isIExtensionArray = exports.isIExtensions = exports.isGroupedMenuExtension = exports.isFlatMenuExtension = exports.VisualDataRoleKindPreference = exports.VisualDataRoleKind = exports.CommandDisplayOption = exports.SlicerTargetSelector = exports.VisualTypeSelector = exports.VisualSelector = exports.PageSelector = exports.Selector = exports.SortDirection = exports.LegendPosition = exports.TextAlignment = exports.CommonErrorCodes = exports.BookmarksPlayMode = exports.ExportDataType = exports.QnaMode = exports.PageNavigationPosition = exports.isColumnAggr = exports.isHierarchyLevelAggr = exports.isHierarchyLevel = exports.isColumn = exports.isMeasure = exports.getFilterType = exports.isBasicFilterWithKeys = exports.isFilterKeyColumnsTarget = exports.AdvancedFilter = exports.TupleFilter = exports.BasicFilterWithKeys = exports.BasicFilter = exports.RelativeTimeFilter = exports.RelativeDateFilter = exports.TopNFilter = exports.IncludeExcludeFilter = exports.NotSupportedFilter = exports.Filter = exports.RelativeDateOperators = exports.RelativeDateFilterTimeUnit = exports.FilterType = exports.FiltersLevel = exports.FiltersOperations = exports.MenuLocation = exports.ContrastMode = exports.TokenType = exports.ViewMode = exports.Permissions = exports.SectionVisibility = exports.HyperlinkClickBehavior = exports.LayoutType = exports.VisualContainerDisplayMode = exports.BackgroundType = exports.DisplayOption = exports.PageSizeType = exports.TraceType = void 0; var validator_1 = __webpack_require__(1); var TraceType; (function (TraceType) { @@ -483,6 +483,13 @@ var MenuLocation; MenuLocation[MenuLocation["Bottom"] = 0] = "Bottom"; MenuLocation[MenuLocation["Top"] = 1] = "Top"; })(MenuLocation = exports.MenuLocation || (exports.MenuLocation = {})); +var FiltersOperations; +(function (FiltersOperations) { + FiltersOperations[FiltersOperations["RemoveAll"] = 0] = "RemoveAll"; + FiltersOperations[FiltersOperations["ReplaceAll"] = 1] = "ReplaceAll"; + FiltersOperations[FiltersOperations["Add"] = 2] = "Add"; + FiltersOperations[FiltersOperations["Replace"] = 3] = "Replace"; +})(FiltersOperations = exports.FiltersOperations || (exports.FiltersOperations = {})); var FiltersLevel; (function (FiltersLevel) { FiltersLevel[FiltersLevel["Report"] = 0] = "Report"; @@ -1127,10 +1134,15 @@ function validatePage(input) { } exports.validatePage = validatePage; function validateFilter(input) { - var errors = validator_1.Validators.filtersValidator.validate(input); + var errors = validator_1.Validators.filterValidator.validate(input); return errors ? errors.map(normalizeError) : undefined; } exports.validateFilter = validateFilter; +function validateUpdateFiltersRequest(input) { + var errors = validator_1.Validators.updateFiltersRequestValidator.validate(input); + return errors ? errors.map(normalizeError) : undefined; +} +exports.validateUpdateFiltersRequest = validateUpdateFiltersRequest; function validateSaveAsParameters(input) { var errors = validator_1.Validators.saveAsParametersValidator.validate(input); return errors ? errors.map(normalizeError) : undefined; @@ -1249,12 +1261,16 @@ exports.Validators = { fieldRequiredValidator: new fieldRequiredValidator_1.FieldRequiredValidator(), fieldsPaneValidator: new panesValidator_1.FieldsPaneValidator(), filterColumnTargetValidator: new filtersValidator_1.FilterColumnTargetValidator(), + filterDisplaySettingsValidator: new filtersValidator_1.FilterDisplaySettingsValidator(), 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(), new filtersValidator_1.RelativeTimeFilterValidator()])]), - filtersValidator: new filtersValidator_1.FilterValidator(), + filterValidator: new filtersValidator_1.FilterValidator(), + filterTypeValidator: new typeValidator_1.EnumValidator([0, 1, 2, 3, 4, 5, 6, 7]), + filtersArrayValidator: new typeValidator_1.ArrayValidator([new filtersValidator_1.FilterValidator()]), + filtersOperationsUpdateValidator: new typeValidator_1.EnumValidator([1, 2, 3]), + filtersOperationsRemoveAllValidator: new typeValidator_1.EnumValidator([0]), filtersPaneValidator: new panesValidator_1.FiltersPaneValidator(), hyperlinkClickBehaviorValidator: new typeValidator_1.EnumValidator([0, 1, 2]), includeExcludeFilterValidator: new filtersValidator_1.IncludeExcludeFilterValidator(), @@ -1307,6 +1323,7 @@ exports.Validators = { tokenTypeValidator: new typeValidator_1.EnumValidator([0, 1]), topNFilterTypeValidator: new typeValidator_1.EnumValidator([5]), topNFilterValidator: new filtersValidator_1.TopNFilterValidator(), + updateFiltersRequestValidator: new anyOfValidator_1.AnyOfValidator([new filtersValidator_1.UpdateFiltersRequestValidator(), new filtersValidator_1.RemoveFiltersRequestValidator()]), 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()]), @@ -2481,7 +2498,7 @@ var __extends = (this && this.__extends) || (function () { }; })(); Object.defineProperty(exports, "__esModule", { value: true }); -exports.ConditionItemValidator = exports.FilterValidator = exports.IncludeExcludeFilterValidator = exports.NotSupportedFilterValidator = exports.TopNFilterValidator = exports.RelativeTimeFilterValidator = exports.RelativeDateFilterValidator = exports.AdvancedFilterValidator = exports.BasicFilterValidator = exports.FilterMeasureTargetValidator = exports.FilterKeyHierarchyTargetValidator = exports.FilterHierarchyTargetValidator = exports.FilterKeyColumnsTargetValidator = exports.FilterColumnTargetValidator = void 0; +exports.ConditionItemValidator = exports.RemoveFiltersRequestValidator = exports.UpdateFiltersRequestValidator = exports.FilterValidator = exports.IncludeExcludeFilterValidator = exports.NotSupportedFilterValidator = exports.TopNFilterValidator = exports.RelativeTimeFilterValidator = exports.RelativeDateFilterValidator = exports.AdvancedFilterValidator = exports.BasicFilterValidator = exports.FilterValidatorBase = exports.FilterDisplaySettingsValidator = exports.FilterMeasureTargetValidator = exports.FilterKeyHierarchyTargetValidator = exports.FilterHierarchyTargetValidator = exports.FilterKeyColumnsTargetValidator = exports.FilterColumnTargetValidator = void 0; var multipleFieldsValidator_1 = __webpack_require__(3); var typeValidator_1 = __webpack_require__(4); var validator_1 = __webpack_require__(1); @@ -2626,12 +2643,45 @@ var FilterMeasureTargetValidator = /** @class */ (function (_super) { return FilterMeasureTargetValidator; }(typeValidator_1.ObjectValidator)); exports.FilterMeasureTargetValidator = FilterMeasureTargetValidator; -var BasicFilterValidator = /** @class */ (function (_super) { - __extends(BasicFilterValidator, _super); - function BasicFilterValidator() { +var FilterDisplaySettingsValidator = /** @class */ (function (_super) { + __extends(FilterDisplaySettingsValidator, _super); + function FilterDisplaySettingsValidator() { return _super !== null && _super.apply(this, arguments) || this; } - BasicFilterValidator.prototype.validate = function (input, path, field) { + FilterDisplaySettingsValidator.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: "isLockedInViewMode", + validators: [validator_1.Validators.booleanValidator] + }, + { + field: "isHiddenInViewMode", + validators: [validator_1.Validators.booleanValidator] + }, + { + field: "displayName", + validators: [validator_1.Validators.stringValidator] + } + ]; + var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields); + return multipleFieldsValidator.validate(input, path, field); + }; + return FilterDisplaySettingsValidator; +}(typeValidator_1.ObjectValidator)); +exports.FilterDisplaySettingsValidator = FilterDisplaySettingsValidator; +var FilterValidatorBase = /** @class */ (function (_super) { + __extends(FilterValidatorBase, _super); + function FilterValidatorBase() { + return _super !== null && _super.apply(this, arguments) || this; + } + FilterValidatorBase.prototype.validate = function (input, path, field) { if (input == null) { return null; } @@ -2644,6 +2694,39 @@ var BasicFilterValidator = /** @class */ (function (_super) { field: "target", validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.filterTargetValidator] }, + { + field: "$schema", + validators: [validator_1.Validators.stringValidator] + }, + { + field: "filterType", + validators: [validator_1.Validators.filterTypeValidator] + }, + { + field: "displaySettings", + validators: [validator_1.Validators.filterDisplaySettingsValidator] + }, + ]; + var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields); + return multipleFieldsValidator.validate(input, path, field); + }; + return FilterValidatorBase; +}(typeValidator_1.ObjectValidator)); +exports.FilterValidatorBase = FilterValidatorBase; +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: "operator", validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.stringValidator] @@ -2665,7 +2748,7 @@ var BasicFilterValidator = /** @class */ (function (_super) { return multipleFieldsValidator.validate(input, path, field); }; return BasicFilterValidator; -}(typeValidator_1.ObjectValidator)); +}(FilterValidatorBase)); exports.BasicFilterValidator = BasicFilterValidator; var AdvancedFilterValidator = /** @class */ (function (_super) { __extends(AdvancedFilterValidator, _super); @@ -2681,10 +2764,6 @@ var AdvancedFilterValidator = /** @class */ (function (_super) { 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] @@ -2702,7 +2781,7 @@ var AdvancedFilterValidator = /** @class */ (function (_super) { return multipleFieldsValidator.validate(input, path, field); }; return AdvancedFilterValidator; -}(typeValidator_1.ObjectValidator)); +}(FilterValidatorBase)); exports.AdvancedFilterValidator = AdvancedFilterValidator; var RelativeDateFilterValidator = /** @class */ (function (_super) { __extends(RelativeDateFilterValidator, _super); @@ -2718,10 +2797,6 @@ var RelativeDateFilterValidator = /** @class */ (function (_super) { 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] @@ -2747,7 +2822,7 @@ var RelativeDateFilterValidator = /** @class */ (function (_super) { return multipleFieldsValidator.validate(input, path, field); }; return RelativeDateFilterValidator; -}(typeValidator_1.ObjectValidator)); +}(FilterValidatorBase)); exports.RelativeDateFilterValidator = RelativeDateFilterValidator; var RelativeTimeFilterValidator = /** @class */ (function (_super) { __extends(RelativeTimeFilterValidator, _super); @@ -2763,10 +2838,6 @@ var RelativeTimeFilterValidator = /** @class */ (function (_super) { 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] @@ -2788,7 +2859,7 @@ var RelativeTimeFilterValidator = /** @class */ (function (_super) { return multipleFieldsValidator.validate(input, path, field); }; return RelativeTimeFilterValidator; -}(typeValidator_1.ObjectValidator)); +}(FilterValidatorBase)); exports.RelativeTimeFilterValidator = RelativeTimeFilterValidator; var TopNFilterValidator = /** @class */ (function (_super) { __extends(TopNFilterValidator, _super); @@ -2804,10 +2875,6 @@ var TopNFilterValidator = /** @class */ (function (_super) { 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] @@ -2829,7 +2896,7 @@ var TopNFilterValidator = /** @class */ (function (_super) { return multipleFieldsValidator.validate(input, path, field); }; return TopNFilterValidator; -}(typeValidator_1.ObjectValidator)); +}(FilterValidatorBase)); exports.TopNFilterValidator = TopNFilterValidator; var NotSupportedFilterValidator = /** @class */ (function (_super) { __extends(NotSupportedFilterValidator, _super); @@ -2845,10 +2912,6 @@ var NotSupportedFilterValidator = /** @class */ (function (_super) { return errors; } var fields = [ - { - field: "target", - validators: [validator_1.Validators.filterTargetValidator] - }, { field: "message", validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.stringValidator] @@ -2866,7 +2929,7 @@ var NotSupportedFilterValidator = /** @class */ (function (_super) { return multipleFieldsValidator.validate(input, path, field); }; return NotSupportedFilterValidator; -}(typeValidator_1.ObjectValidator)); +}(FilterValidatorBase)); exports.NotSupportedFilterValidator = NotSupportedFilterValidator; var IncludeExcludeFilterValidator = /** @class */ (function (_super) { __extends(IncludeExcludeFilterValidator, _super); @@ -2882,10 +2945,6 @@ var IncludeExcludeFilterValidator = /** @class */ (function (_super) { 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] @@ -2903,7 +2962,7 @@ var IncludeExcludeFilterValidator = /** @class */ (function (_super) { return multipleFieldsValidator.validate(input, path, field); }; return IncludeExcludeFilterValidator; -}(typeValidator_1.ObjectValidator)); +}(FilterValidatorBase)); exports.IncludeExcludeFilterValidator = IncludeExcludeFilterValidator; var FilterValidator = /** @class */ (function (_super) { __extends(FilterValidator, _super); @@ -2919,6 +2978,56 @@ var FilterValidator = /** @class */ (function (_super) { return FilterValidator; }(typeValidator_1.ObjectValidator)); exports.FilterValidator = FilterValidator; +var UpdateFiltersRequestValidator = /** @class */ (function (_super) { + __extends(UpdateFiltersRequestValidator, _super); + function UpdateFiltersRequestValidator() { + return _super !== null && _super.apply(this, arguments) || this; + } + UpdateFiltersRequestValidator.prototype.validate = function (input, path, field) { + if (input == null) { + return null; + } + var fields = [ + { + field: "filtersOperation", + validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.filtersOperationsUpdateValidator] + }, + { + field: "filters", + validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.filtersArrayValidator] + } + ]; + var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields); + return multipleFieldsValidator.validate(input, path, field); + }; + return UpdateFiltersRequestValidator; +}(typeValidator_1.ObjectValidator)); +exports.UpdateFiltersRequestValidator = UpdateFiltersRequestValidator; +var RemoveFiltersRequestValidator = /** @class */ (function (_super) { + __extends(RemoveFiltersRequestValidator, _super); + function RemoveFiltersRequestValidator() { + return _super !== null && _super.apply(this, arguments) || this; + } + RemoveFiltersRequestValidator.prototype.validate = function (input, path, field) { + if (input == null) { + return null; + } + var fields = [ + { + field: "filtersOperation", + validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.filtersOperationsRemoveAllValidator] + }, + { + field: "filters", + validators: [validator_1.Validators.fieldForbiddenValidator, validator_1.Validators.filtersArrayValidator] + } + ]; + var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields); + return multipleFieldsValidator.validate(input, path, field); + }; + return RemoveFiltersRequestValidator; +}(typeValidator_1.ObjectValidator)); +exports.RemoveFiltersRequestValidator = RemoveFiltersRequestValidator; var ConditionItemValidator = /** @class */ (function (_super) { __extends(ConditionItemValidator, _super); function ConditionItemValidator() { @@ -5864,7 +5973,7 @@ exports.BookmarksManager = BookmarksManager; Object.defineProperty(exports, "__esModule", { value: true }); /** @ignore */ /** */ var config = { - version: '2.16.5', + version: '2.17.0', type: 'js' }; exports.default = config; @@ -6964,10 +7073,10 @@ var __generator = (this && this.__generator) || function (thisArg, body) { }; Object.defineProperty(exports, "__esModule", { value: true }); exports.Page = void 0; +var powerbi_models_1 = __webpack_require__(/*! powerbi-models */ "./node_modules/powerbi-models/dist/models.js"); var visualDescriptor_1 = __webpack_require__(/*! ./visualDescriptor */ "./src/visualDescriptor.ts"); -var models = __webpack_require__(/*! powerbi-models */ "./node_modules/powerbi-models/dist/models.js"); -var utils = __webpack_require__(/*! ./util */ "./src/util.ts"); -var errors = __webpack_require__(/*! ./errors */ "./src/errors.ts"); +var util_1 = __webpack_require__(/*! ./util */ "./src/util.ts"); +var errors_1 = __webpack_require__(/*! ./errors */ "./src/errors.ts"); /** * A Power BI report page * @@ -6984,7 +7093,7 @@ var Page = /** @class */ (function () { * @param {string} name * @param {string} [displayName] * @param {boolean} [isActivePage] - * @param {models.SectionVisibility} [visibility] + * @param {SectionVisibility} [visibility] * @hidden */ function Page(report, name, displayName, isActivePage, visibility, defaultSize, defaultDisplayOption) { @@ -7004,7 +7113,7 @@ var Page = /** @class */ (function () { * .then(filters => { ... }); * ``` * - * @returns {(Promise)} + * @returns {(Promise)} */ Page.prototype.getFilters = function () { return __awaiter(this, void 0, void 0, function () { @@ -7026,30 +7135,35 @@ var Page = /** @class */ (function () { }); }; /** - * Delete the page from the report + * Update the filters for the current page according to the operation: Add, replace all, replace by target or remove. * * ```javascript - * // Delete the page from the report - * page.delete(); + * page.updateFilters(FiltersOperations.Add, filters) + * .catch(errors => { ... }); * ``` * - * @returns {Promise} + * @param {(IFilter[])} filters + * @returns {Promise>} */ - Page.prototype.delete = function () { + Page.prototype.updateFilters = function (operation, filters) { return __awaiter(this, void 0, void 0, function () { - var response, response_2; + var updateFiltersRequest, response_2; return __generator(this, function (_a) { switch (_a.label) { case 0: - _a.trys.push([0, 2, , 3]); - return [4 /*yield*/, this.report.service.hpm.delete("/report/pages/" + this.name, {}, { uid: this.report.config.uniqueId }, this.report.iframe.contentWindow)]; + updateFiltersRequest = { + filtersOperation: operation, + filters: filters + }; + _a.label = 1; case 1: - response = _a.sent(); - return [2 /*return*/, response.body]; - case 2: + _a.trys.push([1, 3, , 4]); + return [4 /*yield*/, this.report.service.hpm.post("/report/pages/" + this.name + "/filters", updateFiltersRequest, { uid: this.report.config.uniqueId }, this.report.iframe.contentWindow)]; + case 2: return [2 /*return*/, _a.sent()]; + case 3: response_2 = _a.sent(); throw response_2.body; - case 3: return [2 /*return*/]; + case 4: return [2 /*return*/]; } }); }); @@ -7067,65 +7181,61 @@ var Page = /** @class */ (function () { return __awaiter(this, void 0, void 0, function () { return __generator(this, function (_a) { switch (_a.label) { - case 0: return [4 /*yield*/, this.setFilters([])]; + case 0: return [4 /*yield*/, this.updateFilters(powerbi_models_1.FiltersOperations.RemoveAll)]; case 1: return [2 /*return*/, _a.sent()]; } }); }); }; /** - * Makes the current page the active page of the report. + * Sets all filters on the current page. * * ```javascript - * page.setActive(); + * page.setFilters(filters) + * .catch(errors => { ... }); * ``` * + * @param {(IFilter[])} filters * @returns {Promise>} */ - Page.prototype.setActive = function () { + Page.prototype.setFilters = function (filters) { return __awaiter(this, void 0, void 0, function () { - var page, response_3; + var response_3; return __generator(this, function (_a) { switch (_a.label) { case 0: - page = { - name: this.name, - displayName: null, - isActive: true - }; - _a.label = 1; - case 1: - _a.trys.push([1, 3, , 4]); - return [4 /*yield*/, this.report.service.hpm.put('/report/pages/active', page, { uid: this.report.config.uniqueId }, this.report.iframe.contentWindow)]; - case 2: return [2 /*return*/, _a.sent()]; - case 3: + _a.trys.push([0, 2, , 3]); + return [4 /*yield*/, this.report.service.hpm.put("/report/pages/" + this.name + "/filters", filters, { uid: this.report.config.uniqueId }, this.report.iframe.contentWindow)]; + case 1: return [2 /*return*/, _a.sent()]; + case 2: response_3 = _a.sent(); throw response_3.body; - case 4: return [2 /*return*/]; + case 3: return [2 /*return*/]; } }); }); }; /** - * Sets all filters on the current page. + * Delete the page from the report * * ```javascript - * page.setFilters(filters); - * .catch(errors => { ... }); + * // Delete the page from the report + * page.delete(); * ``` * - * @param {(models.IFilter[])} filters - * @returns {Promise>} + * @returns {Promise} */ - Page.prototype.setFilters = function (filters) { + Page.prototype.delete = function () { return __awaiter(this, void 0, void 0, function () { - var response_4; + var response, response_4; return __generator(this, function (_a) { switch (_a.label) { case 0: _a.trys.push([0, 2, , 3]); - return [4 /*yield*/, this.report.service.hpm.put("/report/pages/" + this.name + "/filters", filters, { uid: this.report.config.uniqueId }, this.report.iframe.contentWindow)]; - case 1: return [2 /*return*/, _a.sent()]; + return [4 /*yield*/, this.report.service.hpm.delete("/report/pages/" + this.name, {}, { uid: this.report.config.uniqueId }, this.report.iframe.contentWindow)]; + case 1: + response = _a.sent(); + return [2 /*return*/, response.body]; case 2: response_4 = _a.sent(); throw response_4.body; @@ -7134,6 +7244,39 @@ var Page = /** @class */ (function () { }); }); }; + /** + * Makes the current page the active page of the report. + * + * ```javascript + * page.setActive(); + * ``` + * + * @returns {Promise>} + */ + Page.prototype.setActive = function () { + return __awaiter(this, void 0, void 0, function () { + var page, response_5; + return __generator(this, function (_a) { + switch (_a.label) { + case 0: + page = { + name: this.name, + displayName: null, + isActive: true + }; + _a.label = 1; + case 1: + _a.trys.push([1, 3, , 4]); + return [4 /*yield*/, this.report.service.hpm.put('/report/pages/active', page, { uid: this.report.config.uniqueId }, this.report.iframe.contentWindow)]; + case 2: return [2 /*return*/, _a.sent()]; + case 3: + response_5 = _a.sent(); + throw response_5.body; + case 4: return [2 /*return*/]; + } + }); + }); + }; /** * Set displayName to the current page. * @@ -7145,7 +7288,7 @@ var Page = /** @class */ (function () { */ Page.prototype.setDisplayName = function (displayName) { return __awaiter(this, void 0, void 0, function () { - var page, response_5; + var page, response_6; return __generator(this, function (_a) { switch (_a.label) { case 0: @@ -7159,8 +7302,8 @@ var Page = /** @class */ (function () { return [4 /*yield*/, this.report.service.hpm.put("/report/pages/" + this.name + "/name", page, { uid: this.report.config.uniqueId }, this.report.iframe.contentWindow)]; case 2: return [2 /*return*/, _a.sent()]; case 3: - response_5 = _a.sent(); - throw response_5.body; + response_6 = _a.sent(); + throw response_6.body; case 4: return [2 /*return*/]; } }); @@ -7178,13 +7321,13 @@ var Page = /** @class */ (function () { */ Page.prototype.getVisuals = function () { return __awaiter(this, void 0, void 0, function () { - var response, response_6; + var response, response_7; var _this = this; return __generator(this, function (_a) { switch (_a.label) { case 0: - if (utils.isRDLEmbed(this.report.config.embedUrl)) { - return [2 /*return*/, Promise.reject(errors.APINotSupportedForRDLError)]; + if (util_1.isRDLEmbed(this.report.config.embedUrl)) { + return [2 /*return*/, Promise.reject(errors_1.APINotSupportedForRDLError)]; } _a.label = 1; case 1: @@ -7193,12 +7336,10 @@ var Page = /** @class */ (function () { case 2: response = _a.sent(); return [2 /*return*/, response.body - .map(function (visual) { - return new visualDescriptor_1.VisualDescriptor(_this, visual.name, visual.title, visual.type, visual.layout); - })]; + .map(function (visual) { return new visualDescriptor_1.VisualDescriptor(_this, visual.name, visual.title, visual.type, visual.layout); })]; case 3: - response_6 = _a.sent(); - throw response_6.body; + response_7 = _a.sent(); + throw response_7.body; case 4: return [2 /*return*/]; } }); @@ -7216,14 +7357,14 @@ var Page = /** @class */ (function () { */ Page.prototype.hasLayout = function (layoutType) { return __awaiter(this, void 0, void 0, function () { - var layoutTypeEnum, response, response_7; + var layoutTypeEnum, response, response_8; return __generator(this, function (_a) { switch (_a.label) { case 0: - if (utils.isRDLEmbed(this.report.config.embedUrl)) { - return [2 /*return*/, Promise.reject(errors.APINotSupportedForRDLError)]; + if (util_1.isRDLEmbed(this.report.config.embedUrl)) { + return [2 /*return*/, Promise.reject(errors_1.APINotSupportedForRDLError)]; } - layoutTypeEnum = models.LayoutType[layoutType]; + layoutTypeEnum = powerbi_models_1.LayoutType[layoutType]; _a.label = 1; case 1: _a.trys.push([1, 3, , 4]); @@ -7232,8 +7373,8 @@ var Page = /** @class */ (function () { response = _a.sent(); return [2 /*return*/, response.body]; case 3: - response_7 = _a.sent(); - throw response_7.body; + response_8 = _a.sent(); + throw response_8.body; case 4: return [2 /*return*/]; } }); @@ -7496,10 +7637,10 @@ var __generator = (this && this.__generator) || function (thisArg, body) { }; Object.defineProperty(exports, "__esModule", { value: true }); exports.Report = void 0; -var embed = __webpack_require__(/*! ./embed */ "./src/embed.ts"); -var models = __webpack_require__(/*! powerbi-models */ "./node_modules/powerbi-models/dist/models.js"); -var utils = __webpack_require__(/*! ./util */ "./src/util.ts"); -var errors = __webpack_require__(/*! ./errors */ "./src/errors.ts"); +var powerbi_models_1 = __webpack_require__(/*! powerbi-models */ "./node_modules/powerbi-models/dist/models.js"); +var embed_1 = __webpack_require__(/*! ./embed */ "./src/embed.ts"); +var util_1 = __webpack_require__(/*! ./util */ "./src/util.ts"); +var errors_1 = __webpack_require__(/*! ./errors */ "./src/errors.ts"); var page_1 = __webpack_require__(/*! ./page */ "./src/page.ts"); var bookmarksManager_1 = __webpack_require__(/*! ./bookmarksManager */ "./src/bookmarksManager.ts"); /** @@ -7507,7 +7648,7 @@ var bookmarksManager_1 = __webpack_require__(/*! ./bookmarksManager */ "./src/bo * * @export * @class Report - * @extends {embed.Embed} + * @extends {Embed} * @implements {IReportNode} * @implements {IFilterable} */ @@ -7516,9 +7657,9 @@ var Report = /** @class */ (function (_super) { /** * Creates an instance of a Power BI Report. * - * @param {service.Service} service + * @param {Service} service * @param {HTMLElement} element - * @param {embed.IEmbedConfiguration} config + * @param {IEmbedConfiguration} config * @hidden */ function Report(service, element, baseConfig, phasedRender, isBootstrap, iframe) { @@ -7536,6 +7677,7 @@ var Report = /** @class */ (function (_super) { * (e.g. http://embedded.powerbi.com/appTokenReportEmbed?reportId=854846ed-2106-4dc2-bc58-eb77533bf2f1). * * 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 @@ -7694,7 +7836,7 @@ var Report = /** @class */ (function (_super) { * }); * ``` * - * @returns {Promise} + * @returns {Promise} */ Report.prototype.getFilters = function () { return __awaiter(this, void 0, void 0, function () { @@ -7702,8 +7844,8 @@ var Report = /** @class */ (function (_super) { return __generator(this, function (_a) { switch (_a.label) { case 0: - if (utils.isRDLEmbed(this.config.embedUrl)) { - return [2 /*return*/, Promise.reject(errors.APINotSupportedForRDLError)]; + if (util_1.isRDLEmbed(this.config.embedUrl)) { + return [2 /*return*/, Promise.reject(errors_1.APINotSupportedForRDLError)]; } _a.label = 1; case 1: @@ -7721,13 +7863,105 @@ var Report = /** @class */ (function (_super) { }); }; /** - * Gets the report ID from the first available location: options, attribute, embed url. + * Update the filters at the report level according to the operation: Add, replace all, replace by target or remove. * - * @returns {string} + * ```javascript + * report.updateFilters(FiltersOperations.Add, filters) + * .catch(errors => { ... }); + * ``` + * + * @param {(IFilter[])} filters + * @returns {Promise>} */ - Report.prototype.getId = function () { - var config = this.config; - var reportId = config.id || this.element.getAttribute(Report.reportIdAttribute) || Report.findIdFromEmbedUrl(config.embedUrl); + Report.prototype.updateFilters = function (operation, filters) { + return __awaiter(this, void 0, void 0, function () { + var updateFiltersRequest, response_6; + return __generator(this, function (_a) { + switch (_a.label) { + case 0: + updateFiltersRequest = { + filtersOperation: operation, + filters: filters + }; + _a.label = 1; + case 1: + _a.trys.push([1, 3, , 4]); + return [4 /*yield*/, this.service.hpm.post("/report/filters", updateFiltersRequest, { uid: this.config.uniqueId }, this.iframe.contentWindow)]; + case 2: return [2 /*return*/, _a.sent()]; + case 3: + response_6 = _a.sent(); + throw response_6.body; + case 4: return [2 /*return*/]; + } + }); + }); + }; + /** + * Removes all filters at the report level. + * + * ```javascript + * report.removeFilters(); + * ``` + * + * @returns {Promise>} + */ + Report.prototype.removeFilters = function () { + return __awaiter(this, void 0, void 0, function () { + return __generator(this, function (_a) { + if (util_1.isRDLEmbed(this.config.embedUrl)) { + return [2 /*return*/, Promise.reject(errors_1.APINotSupportedForRDLError)]; + } + return [2 /*return*/, this.updateFilters(powerbi_models_1.FiltersOperations.RemoveAll)]; + }); + }); + }; + /** + * Sets filters at the report level. + * + * ```javascript + * const filters: [ + * ... + * ]; + * + * report.setFilters(filters) + * .catch(errors => { + * ... + * }); + * ``` + * + * @param {(IFilter[])} filters + * @returns {Promise>} + */ + Report.prototype.setFilters = function (filters) { + return __awaiter(this, void 0, void 0, function () { + var response_7; + return __generator(this, function (_a) { + switch (_a.label) { + case 0: + if (util_1.isRDLEmbed(this.config.embedUrl)) { + return [2 /*return*/, Promise.reject(errors_1.APINotSupportedForRDLError)]; + } + _a.label = 1; + case 1: + _a.trys.push([1, 3, , 4]); + return [4 /*yield*/, this.service.hpm.put("/report/filters", filters, { uid: this.config.uniqueId }, this.iframe.contentWindow)]; + case 2: return [2 /*return*/, _a.sent()]; + case 3: + response_7 = _a.sent(); + throw response_7.body; + case 4: return [2 /*return*/]; + } + }); + }); + }; + /** + * Gets the report ID from the first available location: options, attribute, embed url. + * + * @returns {string} + */ + Report.prototype.getId = function () { + var config = this.config; + var reportId = config.id || this.element.getAttribute(Report.reportIdAttribute) || Report.findIdFromEmbedUrl(config.embedUrl); if (typeof reportId !== 'string' || reportId.length === 0) { throw new Error("Report id is required, but it was not found. You must provide an id either as part of embed configuration or as attribute '" + Report.reportIdAttribute + "'."); } @@ -7747,13 +7981,13 @@ var Report = /** @class */ (function (_super) { */ Report.prototype.getPages = function () { return __awaiter(this, void 0, void 0, function () { - var response, response_6; + var response, response_8; var _this = this; return __generator(this, function (_a) { switch (_a.label) { case 0: - if (utils.isRDLEmbed(this.config.embedUrl)) { - return [2 /*return*/, Promise.reject(errors.APINotSupportedForRDLError)]; + if (util_1.isRDLEmbed(this.config.embedUrl)) { + return [2 /*return*/, Promise.reject(errors_1.APINotSupportedForRDLError)]; } _a.label = 1; case 1: @@ -7762,12 +7996,10 @@ var Report = /** @class */ (function (_super) { case 2: response = _a.sent(); return [2 /*return*/, response.body - .map(function (page) { - return new page_1.Page(_this, page.name, page.displayName, page.isActive, page.visibility, page.defaultSize, page.defaultDisplayOption); - })]; + .map(function (page) { return new page_1.Page(_this, page.name, page.displayName, page.isActive, page.visibility, page.defaultSize, page.defaultDisplayOption); })]; case 3: - response_6 = _a.sent(); - throw response_6.body; + response_8 = _a.sent(); + throw response_8.body; case 4: return [2 /*return*/]; } }); @@ -7796,12 +8028,12 @@ var Report = /** @class */ (function (_super) { */ Report.prototype.print = function () { return __awaiter(this, void 0, void 0, function () { - var response, response_7; + var response, response_9; return __generator(this, function (_a) { switch (_a.label) { case 0: - if (utils.isRDLEmbed(this.config.embedUrl)) { - return [2 /*return*/, Promise.reject(errors.APINotSupportedForRDLError)]; + if (util_1.isRDLEmbed(this.config.embedUrl)) { + return [2 /*return*/, Promise.reject(errors_1.APINotSupportedForRDLError)]; } _a.label = 1; case 1: @@ -7811,36 +8043,13 @@ var Report = /** @class */ (function (_super) { response = _a.sent(); return [2 /*return*/, response.body]; case 3: - response_7 = _a.sent(); - throw response_7.body; + response_9 = _a.sent(); + throw response_9.body; case 4: return [2 /*return*/]; } }); }); }; - /** - * Removes all filters at the report level. - * - * ```javascript - * report.removeFilters(); - * ``` - * - * @returns {Promise>} - */ - Report.prototype.removeFilters = function () { - return __awaiter(this, void 0, void 0, function () { - return __generator(this, function (_a) { - switch (_a.label) { - case 0: - if (utils.isRDLEmbed(this.config.embedUrl)) { - return [2 /*return*/, Promise.reject(errors.APINotSupportedForRDLError)]; - } - return [4 /*yield*/, this.setFilters([])]; - case 1: return [2 /*return*/, _a.sent()]; - } - }); - }); - }; /** * Sets the active page of the report. * @@ -7854,12 +8063,12 @@ var Report = /** @class */ (function (_super) { */ Report.prototype.setPage = function (pageName) { return __awaiter(this, void 0, void 0, function () { - var page, response_8; + var page, response_10; return __generator(this, function (_a) { switch (_a.label) { case 0: - if (utils.isRDLEmbed(this.config.embedUrl)) { - return [2 /*return*/, Promise.reject(errors.APINotSupportedForRDLError)]; + if (util_1.isRDLEmbed(this.config.embedUrl)) { + return [2 /*return*/, Promise.reject(errors_1.APINotSupportedForRDLError)]; } page = { name: pageName, @@ -7872,47 +8081,8 @@ var Report = /** @class */ (function (_super) { return [4 /*yield*/, this.service.hpm.put('/report/pages/active', page, { uid: this.config.uniqueId }, this.iframe.contentWindow)]; case 2: return [2 /*return*/, _a.sent()]; case 3: - response_8 = _a.sent(); - throw response_8.body; - case 4: return [2 /*return*/]; - } - }); - }); - }; - /** - * Sets filters at the report level. - * - * ```javascript - * const filters: [ - * ... - * ]; - * - * report.setFilters(filters) - * .catch(errors => { - * ... - * }); - * ``` - * - * @param {(models.IFilter[])} filters - * @returns {Promise>} - */ - Report.prototype.setFilters = function (filters) { - return __awaiter(this, void 0, void 0, function () { - var response_9; - return __generator(this, function (_a) { - switch (_a.label) { - case 0: - if (utils.isRDLEmbed(this.config.embedUrl)) { - return [2 /*return*/, Promise.reject(errors.APINotSupportedForRDLError)]; - } - _a.label = 1; - case 1: - _a.trys.push([1, 3, , 4]); - return [4 /*yield*/, this.service.hpm.put("/report/filters", filters, { uid: this.config.uniqueId }, this.iframe.contentWindow)]; - case 2: return [2 /*return*/, _a.sent()]; - case 3: - response_9 = _a.sent(); - throw response_9.body; + response_10 = _a.sent(); + throw response_10.body; case 4: return [2 /*return*/]; } }); @@ -7931,17 +8101,17 @@ var Report = /** @class */ (function (_super) { * .catch(error => { ... }); * ``` * - * @param {models.ISettings} settings + * @param {ISettings} settings * @returns {Promise>} */ Report.prototype.updateSettings = function (settings) { return __awaiter(this, void 0, void 0, function () { - var response_10; + var response_11; return __generator(this, function (_a) { switch (_a.label) { case 0: - if (utils.isRDLEmbed(this.config.embedUrl) && settings.customLayout != null) { - return [2 /*return*/, Promise.reject(errors.APINotSupportedForRDLError)]; + if (util_1.isRDLEmbed(this.config.embedUrl) && settings.customLayout != null) { + return [2 /*return*/, Promise.reject(errors_1.APINotSupportedForRDLError)]; } _a.label = 1; case 1: @@ -7949,8 +8119,8 @@ var Report = /** @class */ (function (_super) { return [4 /*yield*/, this.service.hpm.patch('/report/settings', settings, { uid: this.config.uniqueId }, this.iframe.contentWindow)]; case 2: return [2 /*return*/, _a.sent()]; case 3: - response_10 = _a.sent(); - throw response_10.body; + response_11 = _a.sent(); + throw response_11.body; case 4: return [2 /*return*/]; } }); @@ -7962,7 +8132,7 @@ var Report = /** @class */ (function (_super) { * @hidden */ Report.prototype.validate = function (config) { - return models.validateReportLoad(config); + return powerbi_models_1.validateReportLoad(config); }; /** * Handle config changes. @@ -7971,8 +8141,9 @@ var Report = /** @class */ (function (_super) { */ Report.prototype.configChanged = function (isBootstrap) { var config = this.config; - if (this.isMobileSettings(config.settings)) - config.embedUrl = utils.addParamToUrl(config.embedUrl, "isMobile", "true"); + if (this.isMobileSettings(config.settings)) { + config.embedUrl = util_1.addParamToUrl(config.embedUrl, "isMobile", "true"); + } // Calculate settings from HTML element attributes if available. var filterPaneEnabledAttribute = this.element.getAttribute(Report.filterPaneEnabledAttribute); var navContentPaneEnabledAttribute = this.element.getAttribute(Report.navContentPaneEnabledAttribute); @@ -7981,7 +8152,7 @@ var Report = /** @class */ (function (_super) { navContentPaneEnabled: (navContentPaneEnabledAttribute == null) ? undefined : (navContentPaneEnabledAttribute !== "false") }; // Set the settings back into the config. - this.config.settings = utils.assign({}, elementAttrSettings, config.settings); + this.config.settings = util_1.assign({}, elementAttrSettings, config.settings); if (isBootstrap) { return; } @@ -8001,7 +8172,7 @@ var Report = /** @class */ (function (_super) { */ Report.prototype.switchMode = function (viewMode) { return __awaiter(this, void 0, void 0, function () { - var newMode, url, response, response_11; + var newMode, url, response, response_12; return __generator(this, function (_a) { switch (_a.label) { case 0: @@ -8020,23 +8191,23 @@ var Report = /** @class */ (function (_super) { response = _a.sent(); return [2 /*return*/, response.body]; case 3: - response_11 = _a.sent(); - throw response_11.body; + response_12 = _a.sent(); + throw response_12.body; case 4: return [2 /*return*/]; } }); }); }; /** - * Refreshes data sources for the report. - * - * ```javascript - * report.refresh(); - * ``` - */ + * Refreshes data sources for the report. + * + * ```javascript + * report.refresh(); + * ``` + */ Report.prototype.refresh = function () { return __awaiter(this, void 0, void 0, function () { - var response, response_12; + var response, response_13; return __generator(this, function (_a) { switch (_a.label) { case 0: @@ -8046,8 +8217,8 @@ var Report = /** @class */ (function (_super) { response = _a.sent(); return [2 /*return*/, response.body]; case 2: - response_12 = _a.sent(); - throw response_12.body; + response_13 = _a.sent(); + throw response_13.body; case 3: return [2 /*return*/]; } }); @@ -8067,10 +8238,10 @@ var Report = /** @class */ (function (_super) { return __generator(this, function (_a) { switch (_a.label) { case 0: - if (utils.isRDLEmbed(this.config.embedUrl)) { - return [2 /*return*/, Promise.reject(errors.APINotSupportedForRDLError)]; + if (util_1.isRDLEmbed(this.config.embedUrl)) { + return [2 /*return*/, Promise.reject(errors_1.APINotSupportedForRDLError)]; } - return [4 /*yield*/, utils.isSavedInternal(this.service.hpm, this.config.uniqueId, this.iframe.contentWindow)]; + return [4 /*yield*/, util_1.isSavedInternal(this.service.hpm, this.config.uniqueId, this.iframe.contentWindow)]; case 1: return [2 /*return*/, _a.sent()]; } }); @@ -8088,8 +8259,8 @@ var Report = /** @class */ (function (_super) { return __generator(this, function (_a) { switch (_a.label) { case 0: - if (utils.isRDLEmbed(this.config.embedUrl)) { - return [2 /*return*/, Promise.reject(errors.APINotSupportedForRDLError)]; + if (util_1.isRDLEmbed(this.config.embedUrl)) { + return [2 /*return*/, Promise.reject(errors_1.APINotSupportedForRDLError)]; } return [4 /*yield*/, this.applyThemeInternal(theme)]; case 1: return [2 /*return*/, _a.sent()]; @@ -8098,19 +8269,19 @@ var Report = /** @class */ (function (_super) { }); }; /** - * Reset and apply the default theme of the report - * - * ```javascript - * report.resetTheme(); - * ``` - */ + * Reset and apply the default theme of the report + * + * ```javascript + * report.resetTheme(); + * ``` + */ Report.prototype.resetTheme = function () { return __awaiter(this, void 0, void 0, function () { return __generator(this, function (_a) { switch (_a.label) { case 0: - if (utils.isRDLEmbed(this.config.embedUrl)) { - return [2 /*return*/, Promise.reject(errors.APINotSupportedForRDLError)]; + if (util_1.isRDLEmbed(this.config.embedUrl)) { + return [2 /*return*/, Promise.reject(errors_1.APINotSupportedForRDLError)]; } return [4 /*yield*/, this.applyThemeInternal({})]; case 1: return [2 /*return*/, _a.sent()]; @@ -8119,15 +8290,15 @@ var Report = /** @class */ (function (_super) { }); }; /** - * Reset user's filters, slicers, and other data view changes to the default state of the report - * - * ```javascript - * report.resetPersistentFilters(); - * ``` - */ + * Reset user's filters, slicers, and other data view changes to the default state of the report + * + * ```javascript + * report.resetPersistentFilters(); + * ``` + */ Report.prototype.resetPersistentFilters = function () { return __awaiter(this, void 0, void 0, function () { - var response_13; + var response_14; return __generator(this, function (_a) { switch (_a.label) { case 0: @@ -8135,23 +8306,23 @@ var Report = /** @class */ (function (_super) { return [4 /*yield*/, this.service.hpm.delete("/report/userState", null, { uid: this.config.uniqueId }, this.iframe.contentWindow)]; case 1: return [2 /*return*/, _a.sent()]; case 2: - response_13 = _a.sent(); - throw response_13.body; + response_14 = _a.sent(); + throw response_14.body; case 3: return [2 /*return*/]; } }); }); }; /** - * Save user's filters, slicers, and other data view changes of the report - * - * ```javascript - * report.savePersistentFilters(); - * ``` - */ + * Save user's filters, slicers, and other data view changes of the report + * + * ```javascript + * report.savePersistentFilters(); + * ``` + */ Report.prototype.savePersistentFilters = function () { return __awaiter(this, void 0, void 0, function () { - var response_14; + var response_15; return __generator(this, function (_a) { switch (_a.label) { case 0: @@ -8159,26 +8330,26 @@ var Report = /** @class */ (function (_super) { return [4 /*yield*/, this.service.hpm.post("/report/userState", null, { uid: this.config.uniqueId }, this.iframe.contentWindow)]; case 1: return [2 /*return*/, _a.sent()]; case 2: - response_14 = _a.sent(); - throw response_14.body; + response_15 = _a.sent(); + throw response_15.body; case 3: return [2 /*return*/]; } }); }); }; /** - * Returns if there are user's filters, slicers, or other data view changes applied on the report. - * If persistent filters is disable, returns false. - * - * ```javascript - * report.arePersistentFiltersApplied(); - * ``` - * - * @returns {Promise} - */ + * Returns if there are user's filters, slicers, or other data view changes applied on the report. + * If persistent filters is disable, returns false. + * + * ```javascript + * report.arePersistentFiltersApplied(); + * ``` + * + * @returns {Promise} + */ Report.prototype.arePersistentFiltersApplied = function () { return __awaiter(this, void 0, void 0, function () { - var response, response_15; + var response, response_16; return __generator(this, function (_a) { switch (_a.label) { case 0: @@ -8188,8 +8359,8 @@ var Report = /** @class */ (function (_super) { response = _a.sent(); return [2 /*return*/, response.body]; case 2: - response_15 = _a.sent(); - throw response_15.body; + response_16 = _a.sent(); + throw response_16.body; case 3: return [2 /*return*/]; } }); @@ -8200,7 +8371,7 @@ var Report = /** @class */ (function (_super) { */ Report.prototype.applyThemeInternal = function (theme) { return __awaiter(this, void 0, void 0, function () { - var response, response_16; + var response, response_17; return __generator(this, function (_a) { switch (_a.label) { case 0: @@ -8210,8 +8381,8 @@ var Report = /** @class */ (function (_super) { response = _a.sent(); return [2 /*return*/, response.body]; case 2: - response_16 = _a.sent(); - throw response_16.body; + response_17 = _a.sent(); + throw response_17.body; case 3: return [2 /*return*/]; } }); @@ -8223,10 +8394,10 @@ var Report = /** @class */ (function (_super) { Report.prototype.viewModeToString = function (viewMode) { var mode; switch (viewMode) { - case models.ViewMode.Edit: + case powerbi_models_1.ViewMode.Edit: mode = "edit"; break; - case models.ViewMode.View: + case powerbi_models_1.ViewMode.View: mode = "view"; break; } @@ -8236,7 +8407,7 @@ var Report = /** @class */ (function (_super) { * @hidden */ Report.prototype.isMobileSettings = function (settings) { - return settings && (settings.layoutType === models.LayoutType.MobileLandscape || settings.layoutType === models.LayoutType.MobilePortrait); + return settings && (settings.layoutType === powerbi_models_1.LayoutType.MobileLandscape || settings.layoutType === powerbi_models_1.LayoutType.MobilePortrait); }; /** @hidden */ Report.allowedEvents = ["filtersApplied", "pageChanged", "commandTriggered", "swipeStart", "swipeEnd", "bookmarkApplied", "dataHyperlinkClicked", "visualRendered", "visualClicked", "selectionChanged"]; @@ -8251,7 +8422,7 @@ var Report = /** @class */ (function (_super) { /** @hidden */ Report.type = "Report"; return Report; -}(embed.Embed)); +}(embed_1.Embed)); exports.Report = Report; @@ -9144,7 +9315,7 @@ var __generator = (this && this.__generator) || function (thisArg, body) { }; Object.defineProperty(exports, "__esModule", { value: true }); exports.Visual = void 0; -var models = __webpack_require__(/*! powerbi-models */ "./node_modules/powerbi-models/dist/models.js"); +var powerbi_models_1 = __webpack_require__(/*! powerbi-models */ "./node_modules/powerbi-models/dist/models.js"); var report_1 = __webpack_require__(/*! ./report */ "./src/report.ts"); var visualDescriptor_1 = __webpack_require__(/*! ./visualDescriptor */ "./src/visualDescriptor.ts"); /** @@ -9158,9 +9329,9 @@ var Visual = /** @class */ (function (_super) { /** * Creates an instance of a Power BI Single Visual. * - * @param {service.Service} service + * @param {Service} service * @param {HTMLElement} element - * @param {embed.IEmbedConfiguration} config + * @param {IEmbedConfiguration} config * @hidden */ function Visual(service, element, baseConfig, phasedRender, isBootstrap, iframe) { @@ -9185,7 +9356,7 @@ var Visual = /** @class */ (function (_super) { var width = config.width ? config.width : this.iframe.offsetWidth; var height = config.height ? config.height : this.iframe.offsetHeight; var pageSize = { - type: models.PageSizeType.Custom, + type: powerbi_models_1.PageSizeType.Custom, width: width, height: height, }; @@ -9193,14 +9364,14 @@ var Visual = /** @class */ (function (_super) { pagesLayout[config.pageName] = { defaultLayout: { displayState: { - mode: models.VisualContainerDisplayMode.Hidden + mode: powerbi_models_1.VisualContainerDisplayMode.Hidden } }, visualsLayout: {} }; pagesLayout[config.pageName].visualsLayout[config.visualName] = { displayState: { - mode: models.VisualContainerDisplayMode.Visible + mode: powerbi_models_1.VisualContainerDisplayMode.Visible }, x: 1, y: 1, @@ -9211,9 +9382,9 @@ var Visual = /** @class */ (function (_super) { config.settings = config.settings || {}; config.settings.filterPaneEnabled = false; config.settings.navContentPaneEnabled = false; - config.settings.layoutType = models.LayoutType.Custom; + config.settings.layoutType = powerbi_models_1.LayoutType.Custom; config.settings.customLayout = { - displayOption: models.DisplayOption.FitToPage, + displayOption: powerbi_models_1.DisplayOption.FitToPage, pageSize: pageSize, pagesLayout: pagesLayout }; @@ -9221,7 +9392,7 @@ var Visual = /** @class */ (function (_super) { return _super.prototype.load.call(this, phasedRender); }; /** - * Gets the list of pages within the report - not supported in visual embed. + * Gets the list of pages within the report - not supported in visual * * @returns {Promise} */ @@ -9229,7 +9400,7 @@ var Visual = /** @class */ (function (_super) { throw Visual.GetPagesNotSupportedError; }; /** - * Sets the active page of the report - not supported in visual embed. + * Sets the active page of the report - not supported in visual * * @param {string} pageName * @returns {Promise>} @@ -9303,7 +9474,7 @@ var Visual = /** @class */ (function (_super) { * }); * ``` * - * @returns {Promise} + * @returns {Promise} */ Visual.prototype.getFilters = function (filtersLevel) { return __awaiter(this, void 0, void 0, function () { @@ -9327,6 +9498,48 @@ var Visual = /** @class */ (function (_super) { }); }); }; + /** + * Updates filters at the filter level. + * Default filter level is visual level. + * + * ```javascript + * const filters: [ + * ... + * ]; + * + * visual.updateFilters(FiltersOperations.Add, filters, filtersLevel) + * .catch(errors => { + * ... + * }); + * ``` + * + * @param {(IFilter[])} filters + * @returns {Promise>} + */ + Visual.prototype.updateFilters = function (operation, filters, filtersLevel) { + return __awaiter(this, void 0, void 0, function () { + var updateFiltersRequest, url, response_3; + return __generator(this, function (_a) { + switch (_a.label) { + case 0: + updateFiltersRequest = { + filtersOperation: operation, + filters: filters + }; + url = this.getFiltersLevelUrl(filtersLevel); + _a.label = 1; + case 1: + _a.trys.push([1, 3, , 4]); + return [4 /*yield*/, this.service.hpm.put(url, updateFiltersRequest, { uid: this.config.uniqueId }, this.iframe.contentWindow)]; + case 2: return [2 /*return*/, _a.sent()]; + case 3: + response_3 = _a.sent(); + throw response_3.body; + case 4: return [2 /*return*/]; + } + }); + }); + }; /** * Sets filters at the filter level. * Default filter level is visual level. @@ -9342,12 +9555,12 @@ var Visual = /** @class */ (function (_super) { * }); * ``` * - * @param {(models.IFilter[])} filters + * @param {(IFilter[])} filters * @returns {Promise>} */ Visual.prototype.setFilters = function (filters, filtersLevel) { return __awaiter(this, void 0, void 0, function () { - var url, response_3; + var url, response_4; return __generator(this, function (_a) { switch (_a.label) { case 0: @@ -9358,8 +9571,8 @@ var Visual = /** @class */ (function (_super) { return [4 /*yield*/, this.service.hpm.put(url, filters, { uid: this.config.uniqueId }, this.iframe.contentWindow)]; case 2: return [2 /*return*/, _a.sent()]; case 3: - response_3 = _a.sent(); - throw response_3.body; + response_4 = _a.sent(); + throw response_4.body; case 4: return [2 /*return*/]; } }); @@ -9379,7 +9592,7 @@ var Visual = /** @class */ (function (_super) { return __awaiter(this, void 0, void 0, function () { return __generator(this, function (_a) { switch (_a.label) { - case 0: return [4 /*yield*/, this.setFilters([], filtersLevel)]; + case 0: return [4 /*yield*/, this.updateFilters(powerbi_models_1.FiltersOperations.RemoveAll, undefined, filtersLevel)]; case 1: return [2 /*return*/, _a.sent()]; } }); @@ -9391,9 +9604,9 @@ var Visual = /** @class */ (function (_super) { Visual.prototype.getFiltersLevelUrl = function (filtersLevel) { var config = this.config; switch (filtersLevel) { - case models.FiltersLevel.Report: + case powerbi_models_1.FiltersLevel.Report: return "/report/filters"; - case models.FiltersLevel.Page: + case powerbi_models_1.FiltersLevel.Page: return "/report/pages/" + config.pageName + "/filters"; default: return "/report/pages/" + config.pageName + "/visuals/" + config.visualName + "/filters"; @@ -9419,7 +9632,7 @@ exports.Visual = Visual; !*** ./src/visualDescriptor.ts ***! \*********************************/ /*! no static exports found */ -/***/ (function(module, exports) { +/***/ (function(module, exports, __webpack_require__) { var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } @@ -9459,6 +9672,7 @@ var __generator = (this && this.__generator) || function (thisArg, body) { }; Object.defineProperty(exports, "__esModule", { value: true }); exports.VisualDescriptor = void 0; +var powerbi_models_1 = __webpack_require__(/*! powerbi-models */ "./node_modules/powerbi-models/dist/models.js"); /** * A Power BI visual within a page * @@ -9485,7 +9699,7 @@ var VisualDescriptor = /** @class */ (function () { * .then(filters => { ... }); * ``` * - * @returns {(Promise)} + * @returns {(Promise)} */ VisualDescriptor.prototype.getFilters = function () { return __awaiter(this, void 0, void 0, function () { @@ -9506,6 +9720,40 @@ var VisualDescriptor = /** @class */ (function () { }); }); }; + /** + * Update the filters for the current visual according to the operation: Add, replace all, replace by target or remove. + * + * ```javascript + * visual.updateFilters(FiltersOperations.Add, filters) + * .catch(errors => { ... }); + * ``` + * + * @param {(IFilter[])} filters + * @returns {Promise>} + */ + VisualDescriptor.prototype.updateFilters = function (operation, filters) { + return __awaiter(this, void 0, void 0, function () { + var updateFiltersRequest, response_2; + return __generator(this, function (_a) { + switch (_a.label) { + case 0: + updateFiltersRequest = { + filtersOperation: operation, + filters: filters + }; + _a.label = 1; + case 1: + _a.trys.push([1, 3, , 4]); + return [4 /*yield*/, this.page.report.service.hpm.post("/report/pages/" + this.page.name + "/visuals/" + this.name + "/filters", updateFiltersRequest, { uid: this.page.report.config.uniqueId }, this.page.report.iframe.contentWindow)]; + case 2: return [2 /*return*/, _a.sent()]; + case 3: + response_2 = _a.sent(); + throw response_2.body; + case 4: return [2 /*return*/]; + } + }); + }); + }; /** * Removes all filters from the current visual. * @@ -9519,7 +9767,7 @@ var VisualDescriptor = /** @class */ (function () { return __awaiter(this, void 0, void 0, function () { return __generator(this, function (_a) { switch (_a.label) { - case 0: return [4 /*yield*/, this.setFilters([])]; + case 0: return [4 /*yield*/, this.updateFilters(powerbi_models_1.FiltersOperations.RemoveAll)]; case 1: return [2 /*return*/, _a.sent()]; } }); @@ -9533,12 +9781,12 @@ var VisualDescriptor = /** @class */ (function () { * .catch(errors => { ... }); * ``` * - * @param {(models.IFilter[])} filters + * @param {(IFilter[])} filters * @returns {Promise>} */ VisualDescriptor.prototype.setFilters = function (filters) { return __awaiter(this, void 0, void 0, function () { - var response_2; + var response_3; return __generator(this, function (_a) { switch (_a.label) { case 0: @@ -9546,8 +9794,8 @@ var VisualDescriptor = /** @class */ (function () { return [4 /*yield*/, this.page.report.service.hpm.put("/report/pages/" + this.page.name + "/visuals/" + this.name + "/filters", filters, { uid: this.page.report.config.uniqueId }, this.page.report.iframe.contentWindow)]; case 1: return [2 /*return*/, _a.sent()]; case 2: - response_2 = _a.sent(); - throw response_2.body; + response_3 = _a.sent(); + throw response_3.body; case 3: return [2 /*return*/]; } }); @@ -9557,17 +9805,17 @@ var VisualDescriptor = /** @class */ (function () { * Exports Visual data. * Can export up to 30K rows. * @param rows: Optional. Default value is 30K, maximum value is 30K as well. - * @param exportDataType: Optional. Default is models.ExportDataType.Summarized. + * @param exportDataType: Optional. Default is ExportDataType.Summarized. * ```javascript * visual.exportData() * .then(data => { ... }); * ``` * - * @returns {(Promise)} + * @returns {(Promise)} */ VisualDescriptor.prototype.exportData = function (exportDataType, rows) { return __awaiter(this, void 0, void 0, function () { - var exportDataRequestBody, response, response_3; + var exportDataRequestBody, response, response_4; return __generator(this, function (_a) { switch (_a.label) { case 0: @@ -9583,8 +9831,8 @@ var VisualDescriptor = /** @class */ (function () { response = _a.sent(); return [2 /*return*/, response.body]; case 3: - response_3 = _a.sent(); - throw response_3.body; + response_4 = _a.sent(); + throw response_4.body; case 4: return [2 /*return*/]; } }); @@ -9601,7 +9849,7 @@ var VisualDescriptor = /** @class */ (function () { */ VisualDescriptor.prototype.setSlicerState = function (state) { return __awaiter(this, void 0, void 0, function () { - var response_4; + var response_5; return __generator(this, function (_a) { switch (_a.label) { case 0: @@ -9609,8 +9857,8 @@ var VisualDescriptor = /** @class */ (function () { return [4 /*yield*/, this.page.report.service.hpm.put("/report/pages/" + this.page.name + "/visuals/" + this.name + "/slicer", state, { uid: this.page.report.config.uniqueId }, this.page.report.iframe.contentWindow)]; case 1: return [2 /*return*/, _a.sent()]; case 2: - response_4 = _a.sent(); - throw response_4.body; + response_5 = _a.sent(); + throw response_5.body; case 3: return [2 /*return*/]; } }); @@ -9625,11 +9873,11 @@ var VisualDescriptor = /** @class */ (function () { * .then(state => { ... }); * ``` * - * @returns {(Promise)} + * @returns {(Promise)} */ VisualDescriptor.prototype.getSlicerState = function () { return __awaiter(this, void 0, void 0, function () { - var response, response_5; + var response, response_6; return __generator(this, function (_a) { switch (_a.label) { case 0: @@ -9639,8 +9887,8 @@ var VisualDescriptor = /** @class */ (function () { response = _a.sent(); return [2 /*return*/, response.body]; case 2: - response_5 = _a.sent(); - throw response_5.body; + response_6 = _a.sent(); + throw response_6.body; case 3: return [2 /*return*/]; } }); @@ -9649,12 +9897,12 @@ var VisualDescriptor = /** @class */ (function () { /** * Clone existing visual to a new instance. * - * @returns {(Promise)} + * @returns {(Promise)} */ VisualDescriptor.prototype.clone = function (request) { if (request === void 0) { request = {}; } return __awaiter(this, void 0, void 0, function () { - var response, response_6; + var response, response_7; return __generator(this, function (_a) { switch (_a.label) { case 0: @@ -9664,8 +9912,8 @@ var VisualDescriptor = /** @class */ (function () { response = _a.sent(); return [2 /*return*/, response.body]; case 2: - response_6 = _a.sent(); - throw response_6.body; + response_7 = _a.sent(); + throw response_7.body; case 3: return [2 /*return*/]; } }); @@ -9683,7 +9931,7 @@ var VisualDescriptor = /** @class */ (function () { */ VisualDescriptor.prototype.sortBy = function (request) { return __awaiter(this, void 0, void 0, function () { - var response_7; + var response_8; return __generator(this, function (_a) { switch (_a.label) { case 0: @@ -9691,8 +9939,8 @@ var VisualDescriptor = /** @class */ (function () { return [4 /*yield*/, this.page.report.service.hpm.put("/report/pages/" + this.page.name + "/visuals/" + this.name + "/sortBy", request, { uid: this.page.report.config.uniqueId }, this.page.report.iframe.contentWindow)]; case 1: return [2 /*return*/, _a.sent()]; case 2: - response_7 = _a.sent(); - throw response_7.body; + response_8 = _a.sent(); + throw response_8.body; case 3: return [2 /*return*/]; } }); diff --git a/dist/powerbi.min.js b/dist/powerbi.min.js index 7c107024..dfcdc53b 100644 --- a/dist/powerbi.min.js +++ b/dist/powerbi.min.js @@ -1,7 +1,7 @@ -/*! powerbi-client v2.16.5 | (c) 2016 Microsoft Corporation MIT */ +/*! powerbi-client v2.17.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){var e={};function r(a){if(e[a])return e[a].exports;var i=e[a]={i:a,l:!1,exports:{}};return t[a].call(i.exports,i,i.exports,r),i.l=!0,i.exports}return r.m=t,r.c=e,r.d=function(t,e,a){r.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:a})},r.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},r.t=function(t,e){if(1&e&&(t=r(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var a=Object.create(null);if(r.r(a),Object.defineProperty(a,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var i in t)r.d(a,i,function(e){return t[e]}.bind(null,i));return a},r.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return r.d(e,"a",e),e},r.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},r.p="",r(r.s=12)}([function(t,e,r){ -/*! powerbi-models v1.7.1 | (c) 2016 Microsoft Corporation MIT */ -var a;a=function(){return function(t){var e={};function r(a){if(e[a])return e[a].exports;var i=e[a]={i:a,l:!1,exports:{}};return t[a].call(i.exports,i,i.exports,r),i.l=!0,i.exports}return r.m=t,r.c=e,r.d=function(t,e,a){r.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:a})},r.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},r.t=function(t,e){if(1&e&&(t=r(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var a=Object.create(null);if(r.r(a),Object.defineProperty(a,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var i in t)r.d(a,i,function(e){return t[e]}.bind(null,i));return a},r.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return r.d(e,"a",e),e},r.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},r.p="",r(r.s=0)}([function(t,e,r){var a,i=this&&this.__extends||(a=function(t,e){return(a=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])})(t,e)},function(t,e){function r(){this.constructor=t}a(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.validateCustomTheme=e.validateCommandsSettings=e.validateVisualSettings=e.validateVisualHeader=e.validateExportDataRequest=e.validateQnaInterpretInputData=e.validateLoadQnaConfiguration=e.validateSaveAsParameters=e.validateFilter=e.validatePage=e.validateTileLoad=e.validateDashboardLoad=e.validateCreateReport=e.validateReportLoad=e.validateMenuGroupExtension=e.validateExtension=e.validateCustomPageSize=e.validateVisualizationsPane=e.validateSyncSlicersPane=e.validateSelectionPane=e.validatePageNavigationPane=e.validateFieldsPane=e.validateFiltersPane=e.validateBookmarksPane=e.validatePanes=e.validateSettings=e.validateCaptureBookmarkRequest=e.validateApplyBookmarkStateRequest=e.validateApplyBookmarkByNameRequest=e.validateAddBookmarkRequest=e.validatePlayBookmarkRequest=e.validateSlicerState=e.validateSlicer=e.validateVisualSelector=e.isIExtensionArray=e.isIExtensions=e.isGroupedMenuExtension=e.isFlatMenuExtension=e.VisualDataRoleKindPreference=e.VisualDataRoleKind=e.CommandDisplayOption=e.SlicerTargetSelector=e.VisualTypeSelector=e.VisualSelector=e.PageSelector=e.Selector=e.SortDirection=e.LegendPosition=e.TextAlignment=e.CommonErrorCodes=e.BookmarksPlayMode=e.ExportDataType=e.QnaMode=e.PageNavigationPosition=e.isColumnAggr=e.isHierarchyLevelAggr=e.isHierarchyLevel=e.isColumn=e.isMeasure=e.getFilterType=e.isBasicFilterWithKeys=e.isFilterKeyColumnsTarget=e.AdvancedFilter=e.TupleFilter=e.BasicFilterWithKeys=e.BasicFilter=e.RelativeTimeFilter=e.RelativeDateFilter=e.TopNFilter=e.IncludeExcludeFilter=e.NotSupportedFilter=e.Filter=e.RelativeDateOperators=e.RelativeDateFilterTimeUnit=e.FilterType=e.FiltersLevel=e.MenuLocation=e.ContrastMode=e.TokenType=e.ViewMode=e.Permissions=e.SectionVisibility=e.HyperlinkClickBehavior=e.LayoutType=e.VisualContainerDisplayMode=e.BackgroundType=e.DisplayOption=e.PageSizeType=e.TraceType=void 0;var o,n=r(1);!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"}(e.TraceType||(e.TraceType={})),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"}(e.PageSizeType||(e.PageSizeType={})),function(t){t[t.FitToPage=0]="FitToPage",t[t.FitToWidth=1]="FitToWidth",t[t.ActualSize=2]="ActualSize"}(e.DisplayOption||(e.DisplayOption={})),function(t){t[t.Default=0]="Default",t[t.Transparent=1]="Transparent"}(e.BackgroundType||(e.BackgroundType={})),function(t){t[t.Visible=0]="Visible",t[t.Hidden=1]="Hidden"}(e.VisualContainerDisplayMode||(e.VisualContainerDisplayMode={})),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={})),function(t){t[t.Navigate=0]="Navigate",t[t.NavigateAndRaiseEvent=1]="NavigateAndRaiseEvent",t[t.RaiseEvent=2]="RaiseEvent"}(e.HyperlinkClickBehavior||(e.HyperlinkClickBehavior={})),function(t){t[t.AlwaysVisible=0]="AlwaysVisible",t[t.HiddenInViewMode=1]="HiddenInViewMode"}(e.SectionVisibility||(e.SectionVisibility={})),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"}(e.Permissions||(e.Permissions={})),function(t){t[t.View=0]="View",t[t.Edit=1]="Edit"}(e.ViewMode||(e.ViewMode={})),function(t){t[t.Aad=0]="Aad",t[t.Embed=1]="Embed"}(e.TokenType||(e.TokenType={})),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"}(e.ContrastMode||(e.ContrastMode={})),function(t){t[t.Bottom=0]="Bottom",t[t.Top=1]="Top"}(e.MenuLocation||(e.MenuLocation={})),function(t){t[t.Report=0]="Report",t[t.Page=1]="Page",t[t.Visual=2]="Visual"}(e.FiltersLevel||(e.FiltersLevel={})),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"}(o=e.FilterType||(e.FilterType={})),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"}(e.RelativeDateFilterTimeUnit||(e.RelativeDateFilterTimeUnit={})),function(t){t[t.InLast=0]="InLast",t[t.InThis=1]="InThis",t[t.InNext=2]="InNext"}(e.RelativeDateOperators||(e.RelativeDateOperators={}));var l=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=l;var s=function(t){function e(r,a,i){var n=t.call(this,r,o.Unknown)||this;return n.message=a,n.notSupportedTypeName=i,n.schemaUrl=e.schemaUrl,n}return i(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}(l);e.NotSupportedFilter=s;var d=function(t){function e(r,a,i){var n=t.call(this,r,o.IncludeExclude)||this;return n.values=i,n.isExclude=a,n.schemaUrl=e.schemaUrl,n}return i(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}(l);e.IncludeExcludeFilter=d;var u=function(t){function e(r,a,i,n){var l=t.call(this,r,o.TopN)||this;return l.operator=a,l.itemCount=i,l.schemaUrl=e.schemaUrl,l.orderBy=n,l}return i(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}(l);e.TopNFilter=u;var c=function(t){function e(r,a,i,n,l){var s=t.call(this,r,o.RelativeDate)||this;return s.operator=a,s.timeUnitsCount=i,s.timeUnitType=n,s.includeToday=l,s.schemaUrl=e.schemaUrl,s}return i(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}(l);e.RelativeDateFilter=c;var p=function(t){function e(r,a,i,n){var l=t.call(this,r,o.RelativeTime)||this;return l.operator=a,l.timeUnitsCount=i,l.timeUnitType=n,l.schemaUrl=e.schemaUrl,l}return i(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}(l);e.RelativeTimeFilter=p;var f=function(t){function e(r,a){for(var i=[],n=2;n0&&!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,s=o.keyValues;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 s.conditions=l,s}return i(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}(l);function m(t){if(t.filterType)return t.filterType;var e=t,r=t;return"string"==typeof e.operator&&Array.isArray(e.values)?o.Basic:"string"==typeof r.logicalOperator&&Array.isArray(r.conditions)?o.Advanced:o.Unknown}function V(t){return!(!t.table||!t.column||t.aggregationFunction)}e.AdvancedFilter=y,e.isFilterKeyColumnsTarget=function(t){return V(t)&&!!t.keys},e.isBasicFilterWithKeys=function(t){return m(t)===o.Basic&&!!t.keyValues},e.getFilterType=m,e.isMeasure=function(t){return void 0!==t.table&&void 0!==t.measure},e.isColumn=V,e.isHierarchyLevel=function(t){return!(!(t.table&&t.hierarchy&&t.hierarchyLevel)||t.aggregationFunction)},e.isHierarchyLevelAggr=function(t){return!!(t.table&&t.hierarchy&&t.hierarchyLevel&&t.aggregationFunction)},e.isColumnAggr=function(t){return!!(t.table&&t.column&&t.aggregationFunction)},function(t){t[t.Bottom=0]="Bottom",t[t.Left=1]="Left"}(e.PageNavigationPosition||(e.PageNavigationPosition={})),function(t){t[t.Interactive=0]="Interactive",t[t.ResultOnly=1]="ResultOnly"}(e.QnaMode||(e.QnaMode={})),function(t){t[t.Summarized=0]="Summarized",t[t.Underlying=1]="Underlying"}(e.ExportDataType||(e.ExportDataType={})),function(t){t[t.Off=0]="Off",t[t.Presentation=1]="Presentation"}(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"},function(t){t[t.Ascending=1]="Ascending",t[t.Descending=2]="Descending"}(e.SortDirection||(e.SortDirection={}));var g=function(){function t(t){this.$schema=t}return t.prototype.toJSON=function(){return{$schema:this.$schema}},t}();e.Selector=g;var b=function(t){function e(r){var a=t.call(this,e.schemaUrl)||this;return a.pageName=r,a}return i(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}(g);e.PageSelector=b;var w=function(t){function e(r){var a=t.call(this,e.schemaUrl)||this;return a.visualName=r,a}return i(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}(g);e.VisualSelector=w;var P=function(t){function e(e){var r=t.call(this,w.schemaUrl)||this;return r.visualType=e,r}return i(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}(g);e.VisualTypeSelector=P;var _=function(t){function e(e){var r=t.call(this,w.schemaUrl)||this;return r.target=e,r}return i(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}(g);function S(t){return t&&!!t.groupName}function E(t){return Array.isArray(t)}function O(t){var e=t.message;return e||(e=t.path+" is invalid. Not meeting "+t.keyword+" constraint"),{message:e}}e.SlicerTargetSelector=_,function(t){t[t.Enabled=0]="Enabled",t[t.Disabled=1]="Disabled",t[t.Hidden=2]="Hidden"}(e.CommandDisplayOption||(e.CommandDisplayOption={})),function(t){t[t.Grouping=0]="Grouping",t[t.Measure=1]="Measure",t[t.GroupingOrMeasure=2]="GroupingOrMeasure"}(e.VisualDataRoleKind||(e.VisualDataRoleKind={})),function(t){t[t.Measure=0]="Measure",t[t.Grouping=1]="Grouping"}(e.VisualDataRoleKindPreference||(e.VisualDataRoleKindPreference={})),e.isFlatMenuExtension=function(t){return t&&!S(t)},e.isGroupedMenuExtension=S,e.isIExtensions=function(t){return t&&!E(t)},e.isIExtensionArray=E,e.validateVisualSelector=function(t){var e=n.Validators.visualSelectorValidator.validate(t);return e?e.map(O):void 0},e.validateSlicer=function(t){var e=n.Validators.slicerValidator.validate(t);return e?e.map(O):void 0},e.validateSlicerState=function(t){var e=n.Validators.slicerStateValidator.validate(t);return e?e.map(O):void 0},e.validatePlayBookmarkRequest=function(t){var e=n.Validators.playBookmarkRequestValidator.validate(t);return e?e.map(O):void 0},e.validateAddBookmarkRequest=function(t){var e=n.Validators.addBookmarkRequestValidator.validate(t);return e?e.map(O):void 0},e.validateApplyBookmarkByNameRequest=function(t){var e=n.Validators.applyBookmarkByNameRequestValidator.validate(t);return e?e.map(O):void 0},e.validateApplyBookmarkStateRequest=function(t){var e=n.Validators.applyBookmarkStateRequestValidator.validate(t);return e?e.map(O):void 0},e.validateCaptureBookmarkRequest=function(t){var e=n.Validators.captureBookmarkRequestValidator.validate(t);return e?e.map(O):void 0},e.validateSettings=function(t){var e=n.Validators.settingsValidator.validate(t);return e?e.map(O):void 0},e.validatePanes=function(t){var e=n.Validators.reportPanesValidator.validate(t);return e?e.map(O):void 0},e.validateBookmarksPane=function(t){var e=n.Validators.bookmarksPaneValidator.validate(t);return e?e.map(O):void 0},e.validateFiltersPane=function(t){var e=n.Validators.filtersPaneValidator.validate(t);return e?e.map(O):void 0},e.validateFieldsPane=function(t){var e=n.Validators.fieldsPaneValidator.validate(t);return e?e.map(O):void 0},e.validatePageNavigationPane=function(t){var e=n.Validators.pageNavigationPaneValidator.validate(t);return e?e.map(O):void 0},e.validateSelectionPane=function(t){var e=n.Validators.selectionPaneValidator.validate(t);return e?e.map(O):void 0},e.validateSyncSlicersPane=function(t){var e=n.Validators.syncSlicersPaneValidator.validate(t);return e?e.map(O):void 0},e.validateVisualizationsPane=function(t){var e=n.Validators.visualizationsPaneValidator.validate(t);return e?e.map(O):void 0},e.validateCustomPageSize=function(t){var e=n.Validators.customPageSizeValidator.validate(t);return e?e.map(O):void 0},e.validateExtension=function(t){var e=n.Validators.extensionValidator.validate(t);return e?e.map(O):void 0},e.validateMenuGroupExtension=function(t){var e=n.Validators.menuGroupExtensionValidator.validate(t);return e?e.map(O):void 0},e.validateReportLoad=function(t){var e=n.Validators.reportLoadValidator.validate(t);return e?e.map(O):void 0},e.validateCreateReport=function(t){var e=n.Validators.reportCreateValidator.validate(t);return e?e.map(O):void 0},e.validateDashboardLoad=function(t){var e=n.Validators.dashboardLoadValidator.validate(t);return e?e.map(O):void 0},e.validateTileLoad=function(t){var e=n.Validators.tileLoadValidator.validate(t);return e?e.map(O):void 0},e.validatePage=function(t){var e=n.Validators.pageValidator.validate(t);return e?e.map(O):void 0},e.validateFilter=function(t){var e=n.Validators.filtersValidator.validate(t);return e?e.map(O):void 0},e.validateSaveAsParameters=function(t){var e=n.Validators.saveAsParametersValidator.validate(t);return e?e.map(O):void 0},e.validateLoadQnaConfiguration=function(t){var e=n.Validators.loadQnaValidator.validate(t);return e?e.map(O):void 0},e.validateQnaInterpretInputData=function(t){var e=n.Validators.qnaInterpretInputDataValidator.validate(t);return e?e.map(O):void 0},e.validateExportDataRequest=function(t){var e=n.Validators.exportDataRequestValidator.validate(t);return e?e.map(O):void 0},e.validateVisualHeader=function(t){var e=n.Validators.visualHeaderValidator.validate(t);return e?e.map(O):void 0},e.validateVisualSettings=function(t){var e=n.Validators.visualSettingsValidator.validate(t);return e?e.map(O):void 0},e.validateCommandsSettings=function(t){var e=n.Validators.commandsSettingsValidator.validate(t);return e?e.map(O):void 0},e.validateCustomTheme=function(t){var e=n.Validators.customThemeValidator.validate(t);return e?e.map(O):void 0}},function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.Validators=void 0;var a=r(2),i=r(5),o=r(6),n=r(7),l=r(8),s=r(9),d=r(10),u=r(11),c=r(12),p=r(13),f=r(14),h=r(15),v=r(16),y=r(17),m=r(18),V=r(19),g=r(20),b=r(21),w=r(22),P=r(23),_=r(24),S=r(25),E=r(26),O=r(27),T=r(28),k=r(4);e.Validators={addBookmarkRequestValidator:new i.AddBookmarkRequestValidator,advancedFilterTypeValidator:new k.EnumValidator([0]),advancedFilterValidator:new c.AdvancedFilterValidator,anyArrayValidator:new k.ArrayValidator([new S.AnyOfValidator([new k.StringValidator,new k.NumberValidator,new k.BooleanValidator])]),anyFilterValidator:new S.AnyOfValidator([new c.BasicFilterValidator,new c.AdvancedFilterValidator,new c.IncludeExcludeFilterValidator,new c.NotSupportedFilterValidator,new c.RelativeDateFilterValidator,new c.TopNFilterValidator,new c.RelativeTimeFilterValidator]),anyValueValidator:new S.AnyOfValidator([new k.StringValidator,new k.NumberValidator,new k.BooleanValidator]),actionBarValidator:new a.ActionBarValidator,applyBookmarkByNameRequestValidator:new i.ApplyBookmarkByNameRequestValidator,applyBookmarkStateRequestValidator:new i.ApplyBookmarkStateRequestValidator,applyBookmarkValidator:new S.AnyOfValidator([new i.ApplyBookmarkByNameRequestValidator,new i.ApplyBookmarkStateRequestValidator]),backgroundValidator:new k.EnumValidator([0,1]),basicFilterTypeValidator:new k.EnumValidator([1]),basicFilterValidator:new c.BasicFilterValidator,booleanArrayValidator:new k.BooleanArrayValidator,booleanValidator:new k.BooleanValidator,bookmarksPaneValidator:new h.BookmarksPaneValidator,captureBookmarkOptionsValidator:new i.CaptureBookmarkOptionsValidator,captureBookmarkRequestValidator:new i.CaptureBookmarkRequestValidator,commandDisplayOptionValidator:new k.EnumValidator([0,1,2]),commandExtensionSelectorValidator:new S.AnyOfValidator([new g.VisualSelectorValidator,new g.VisualTypeSelectorValidator]),commandExtensionArrayValidator:new k.ArrayValidator([new u.CommandExtensionValidator]),commandExtensionValidator:new u.CommandExtensionValidator,commandsSettingsArrayValidator:new k.ArrayValidator([new o.CommandsSettingsValidator]),commandsSettingsValidator:new o.CommandsSettingsValidator,conditionItemValidator:new c.ConditionItemValidator,contrastModeValidator:new k.EnumValidator([0,1,2,3,4]),customLayoutDisplayOptionValidator:new k.EnumValidator([0,1,2]),customLayoutValidator:new p.CustomLayoutValidator,customPageSizeValidator:new f.CustomPageSizeValidator,customThemeValidator:new n.CustomThemeValidator,dashboardLoadValidator:new l.DashboardLoadValidator,datasetBindingValidator:new s.DatasetBindingValidator,displayStateModeValidator:new k.EnumValidator([0,1]),displayStateValidator:new p.DisplayStateValidator,exportDataRequestValidator:new d.ExportDataRequestValidator,extensionArrayValidator:new k.ArrayValidator([new u.ExtensionValidator]),extensionsValidator:new S.AnyOfValidator([new k.ArrayValidator([new u.ExtensionValidator]),new u.ExtensionsValidator]),extensionPointsValidator:new u.ExtensionPointsValidator,extensionValidator:new u.ExtensionValidator,fieldForbiddenValidator:new E.FieldForbiddenValidator,fieldRequiredValidator:new O.FieldRequiredValidator,fieldsPaneValidator:new h.FieldsPaneValidator,filterColumnTargetValidator:new c.FilterColumnTargetValidator,filterConditionsValidator:new k.ArrayValidator([new c.ConditionItemValidator]),filterHierarchyTargetValidator:new c.FilterHierarchyTargetValidator,filterMeasureTargetValidator:new c.FilterMeasureTargetValidator,filterTargetValidator:new S.AnyOfValidator([new c.FilterColumnTargetValidator,new c.FilterHierarchyTargetValidator,new c.FilterMeasureTargetValidator]),filtersArrayValidator:new k.ArrayValidator([new S.AnyOfValidator([new c.BasicFilterValidator,new c.AdvancedFilterValidator,new c.RelativeDateFilterValidator,new c.RelativeTimeFilterValidator])]),filtersValidator:new c.FilterValidator,filtersPaneValidator:new h.FiltersPaneValidator,hyperlinkClickBehaviorValidator:new k.EnumValidator([0,1,2]),includeExcludeFilterValidator:new c.IncludeExcludeFilterValidator,includeExludeFilterTypeValidator:new k.EnumValidator([3]),layoutTypeValidator:new k.EnumValidator([0,1,2,3]),loadQnaValidator:new v.LoadQnaValidator,menuExtensionValidator:new S.AnyOfValidator([new u.FlatMenuExtensionValidator,new u.GroupedMenuExtensionValidator]),menuGroupExtensionArrayValidator:new k.ArrayValidator([new u.MenuGroupExtensionValidator]),menuGroupExtensionValidator:new u.MenuGroupExtensionValidator,menuLocationValidator:new k.EnumValidator([0,1]),notSupportedFilterTypeValidator:new k.EnumValidator([2]),notSupportedFilterValidator:new c.NotSupportedFilterValidator,numberArrayValidator:new k.NumberArrayValidator,numberValidator:new k.NumberValidator,pageLayoutValidator:new T.MapValidator([new k.StringValidator],[new p.VisualLayoutValidator]),pageNavigationPaneValidator:new h.PageNavigationPaneValidator,pageNavigationPositionValidator:new k.EnumValidator([0,1]),pageSizeTypeValidator:new k.EnumValidator([0,1,2,3,4,5]),pageSizeValidator:new f.PageSizeValidator,pageValidator:new f.PageValidator,pageViewFieldValidator:new f.PageViewFieldValidator,pagesLayoutValidator:new T.MapValidator([new k.StringValidator],[new p.PageLayoutValidator]),reportBarsValidator:new a.ReportBarsValidator,reportPanesValidator:new h.ReportPanesValidator,permissionsValidator:new k.EnumValidator([0,1,2,4,7]),playBookmarkRequestValidator:new i.PlayBookmarkRequestValidator,qnaInterpretInputDataValidator:new v.QnaInterpretInputDataValidator,qnaSettingValidator:new v.QnaSettingsValidator,relativeDateFilterOperatorValidator:new k.EnumValidator([0,1,2]),relativeDateFilterTimeUnitTypeValidator:new k.EnumValidator([0,1,2,3,4,5,6]),relativeDateFilterTypeValidator:new k.EnumValidator([4]),relativeDateFilterValidator:new c.RelativeDateFilterValidator,relativeTimeFilterTimeUnitTypeValidator:new k.EnumValidator([7,8]),relativeTimeFilterTypeValidator:new k.EnumValidator([7]),relativeTimeFilterValidator:new c.RelativeTimeFilterValidator,reportCreateValidator:new y.ReportCreateValidator,reportLoadValidator:new m.ReportLoadValidator,saveAsParametersValidator:new V.SaveAsParametersValidator,selectionPaneValidator:new h.SelectionPaneValidator,settingsValidator:new b.SettingsValidator,singleCommandSettingsValidator:new o.SingleCommandSettingsValidator,slicerSelectorValidator:new S.AnyOfValidator([new g.VisualSelectorValidator,new g.SlicerTargetSelectorValidator]),slicerStateValidator:new w.SlicerStateValidator,slicerTargetValidator:new S.AnyOfValidator([new c.FilterColumnTargetValidator,new c.FilterHierarchyTargetValidator,new c.FilterMeasureTargetValidator,new c.FilterKeyColumnsTargetValidator,new c.FilterKeyHierarchyTargetValidator]),slicerValidator:new w.SlicerValidator,stringArrayValidator:new k.StringArrayValidator,stringValidator:new k.StringValidator,syncSlicersPaneValidator:new h.SyncSlicersPaneValidator,tileLoadValidator:new P.TileLoadValidator,tokenTypeValidator:new k.EnumValidator([0,1]),topNFilterTypeValidator:new k.EnumValidator([5]),topNFilterValidator:new c.TopNFilterValidator,viewModeValidator:new k.EnumValidator([0,1]),visualCommandSelectorValidator:new S.AnyOfValidator([new g.VisualSelectorValidator,new g.VisualTypeSelectorValidator]),visualHeaderSelectorValidator:new S.AnyOfValidator([new g.VisualSelectorValidator,new g.VisualTypeSelectorValidator]),visualHeaderSettingsValidator:new _.VisualHeaderSettingsValidator,visualHeaderValidator:new _.VisualHeaderValidator,visualHeadersValidator:new k.ArrayValidator([new _.VisualHeaderValidator]),visualizationsPaneValidator:new h.VisualizationsPaneValidator,visualLayoutValidator:new p.VisualLayoutValidator,visualSelectorValidator:new g.VisualSelectorValidator,visualSettingsValidator:new _.VisualSettingsValidator,visualTypeSelectorValidator:new g.VisualTypeSelectorValidator}},function(t,e,r){var a,i=this&&this.__extends||(a=function(t,e){return(a=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])})(t,e)},function(t,e){function r(){this.constructor=t}a(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.ActionBarValidator=e.ReportBarsValidator=void 0;var o=r(3),n=r(4),l=r(1),s=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i(e,t),e.prototype.validate=function(e,r,a){if(null==e)return null;var i=t.prototype.validate.call(this,e,r,a);if(i)return i;var n=[{field:"actionBar",validators:[l.Validators.actionBarValidator]}];return new o.MultipleFieldsValidator(n).validate(e,r,a)},e}(n.ObjectValidator);e.ReportBarsValidator=s;var d=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i(e,t),e.prototype.validate=function(e,r,a){if(null==e)return null;var i=t.prototype.validate.call(this,e,r,a);if(i)return i;var n=[{field:"visible",validators:[l.Validators.booleanValidator]}];return new o.MultipleFieldsValidator(n).validate(e,r,a)},e}(n.ObjectValidator);e.ActionBarValidator=d},function(t,e){Object.defineProperty(e,"__esModule",{value:!0}),e.MultipleFieldsValidator=void 0;var r=function(){function t(t){this.fieldValidatorsPairs=t}return t.prototype.validate=function(t,e,r){if(!this.fieldValidatorsPairs)return null;for(var a=e?e+"."+r:r,i=0,o=this.fieldValidatorsPairs;i0&&i[i.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0?"&":"?";return t+=a+e+"="+r},e.isSavedInternal=function(t,e,i){return r(this,void 0,void 0,(function(){return a(this,(function(r){switch(r.label){case 0:return r.trys.push([0,2,,3]),[4,t.get("/report/hasUnsavedChanges",{uid:e},i)];case 1:return[2,!r.sent().body];case 2:throw r.sent().body;case 3:return[2]}}))}))},e.isRDLEmbed=function(t){return t.toLowerCase().indexOf("/rdlembed?")>=0},e.autoAuthInEmbedUrl=function(t){return t&&decodeURIComponent(t).toLowerCase().indexOf("autoauth=true")>=0},e.getRandomValue=o,e.getTimeDiffInMilliseconds=function(t,e){return Math.abs(t.getTime()-e.getTime())}},function(t,e){Object.defineProperty(e,"__esModule",{value:!0}),e.EmbedUrlNotSupported=e.APINotSupportedForRDLError=void 0,e.APINotSupportedForRDLError="This API is currently not supported for RDL reports",e.EmbedUrlNotSupported="Embed URL is invalid for this scenario. Please use Power BI REST APIs to get the valid URL"},function(t,e,r){var a,i=this&&this.__extends||(a=function(t,e){return(a=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])})(t,e)},function(t,e){function r(){this.constructor=t}a(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}),o=this&&this.__awaiter||function(t,e,r,a){return new(r||(r=Promise))((function(i,o){function n(t){try{s(a.next(t))}catch(t){o(t)}}function l(t){try{s(a.throw(t))}catch(t){o(t)}}function s(t){var e;t.done?i(t.value):(e=t.value,e instanceof r?e:new r((function(t){t(e)}))).then(n,l)}s((a=a.apply(t,e||[])).next())}))},n=this&&this.__generator||function(t,e){var r,a,i,o,n={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:l(0),throw:l(1),return:l(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function l(o){return function(l){return function(o){if(r)throw new TypeError("Generator is already executing.");for(;n;)try{if(r=1,a&&(i=2&o[0]?a.return:o[0]?a.throw||((i=a.return)&&i.call(a),0):a.next)&&!(i=i.call(a,o[1])).done)return i;switch(a=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return n.label++,{value:o[1],done:!1};case 5:n.label++,a=o[1],o=[0];continue;case 7:o=n.ops.pop(),n.trys.pop();continue;default:if(!(i=n.trys,(i=i.length>0&&i[i.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&!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,s=o.keyValues;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 s.conditions=l,s}return i(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}(l);function m(t){if(t.filterType)return t.filterType;var e=t,r=t;return"string"==typeof e.operator&&Array.isArray(e.values)?o.Basic:"string"==typeof r.logicalOperator&&Array.isArray(r.conditions)?o.Advanced:o.Unknown}function V(t){return!(!t.table||!t.column||t.aggregationFunction)}e.AdvancedFilter=y,e.isFilterKeyColumnsTarget=function(t){return V(t)&&!!t.keys},e.isBasicFilterWithKeys=function(t){return m(t)===o.Basic&&!!t.keyValues},e.getFilterType=m,e.isMeasure=function(t){return void 0!==t.table&&void 0!==t.measure},e.isColumn=V,e.isHierarchyLevel=function(t){return!(!(t.table&&t.hierarchy&&t.hierarchyLevel)||t.aggregationFunction)},e.isHierarchyLevelAggr=function(t){return!!(t.table&&t.hierarchy&&t.hierarchyLevel&&t.aggregationFunction)},e.isColumnAggr=function(t){return!!(t.table&&t.column&&t.aggregationFunction)},function(t){t[t.Bottom=0]="Bottom",t[t.Left=1]="Left"}(e.PageNavigationPosition||(e.PageNavigationPosition={})),function(t){t[t.Interactive=0]="Interactive",t[t.ResultOnly=1]="ResultOnly"}(e.QnaMode||(e.QnaMode={})),function(t){t[t.Summarized=0]="Summarized",t[t.Underlying=1]="Underlying"}(e.ExportDataType||(e.ExportDataType={})),function(t){t[t.Off=0]="Off",t[t.Presentation=1]="Presentation"}(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"},function(t){t[t.Ascending=1]="Ascending",t[t.Descending=2]="Descending"}(e.SortDirection||(e.SortDirection={}));var g=function(){function t(t){this.$schema=t}return t.prototype.toJSON=function(){return{$schema:this.$schema}},t}();e.Selector=g;var b=function(t){function e(r){var a=t.call(this,e.schemaUrl)||this;return a.pageName=r,a}return i(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}(g);e.PageSelector=b;var w=function(t){function e(r){var a=t.call(this,e.schemaUrl)||this;return a.visualName=r,a}return i(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}(g);e.VisualSelector=w;var P=function(t){function e(e){var r=t.call(this,w.schemaUrl)||this;return r.visualType=e,r}return i(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}(g);e.VisualTypeSelector=P;var _=function(t){function e(e){var r=t.call(this,w.schemaUrl)||this;return r.target=e,r}return i(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}(g);function S(t){return t&&!!t.groupName}function E(t){return Array.isArray(t)}function O(t){var e=t.message;return e||(e=t.path+" is invalid. Not meeting "+t.keyword+" constraint"),{message:e}}e.SlicerTargetSelector=_,function(t){t[t.Enabled=0]="Enabled",t[t.Disabled=1]="Disabled",t[t.Hidden=2]="Hidden"}(e.CommandDisplayOption||(e.CommandDisplayOption={})),function(t){t[t.Grouping=0]="Grouping",t[t.Measure=1]="Measure",t[t.GroupingOrMeasure=2]="GroupingOrMeasure"}(e.VisualDataRoleKind||(e.VisualDataRoleKind={})),function(t){t[t.Measure=0]="Measure",t[t.Grouping=1]="Grouping"}(e.VisualDataRoleKindPreference||(e.VisualDataRoleKindPreference={})),e.isFlatMenuExtension=function(t){return t&&!S(t)},e.isGroupedMenuExtension=S,e.isIExtensions=function(t){return t&&!E(t)},e.isIExtensionArray=E,e.validateVisualSelector=function(t){var e=n.Validators.visualSelectorValidator.validate(t);return e?e.map(O):void 0},e.validateSlicer=function(t){var e=n.Validators.slicerValidator.validate(t);return e?e.map(O):void 0},e.validateSlicerState=function(t){var e=n.Validators.slicerStateValidator.validate(t);return e?e.map(O):void 0},e.validatePlayBookmarkRequest=function(t){var e=n.Validators.playBookmarkRequestValidator.validate(t);return e?e.map(O):void 0},e.validateAddBookmarkRequest=function(t){var e=n.Validators.addBookmarkRequestValidator.validate(t);return e?e.map(O):void 0},e.validateApplyBookmarkByNameRequest=function(t){var e=n.Validators.applyBookmarkByNameRequestValidator.validate(t);return e?e.map(O):void 0},e.validateApplyBookmarkStateRequest=function(t){var e=n.Validators.applyBookmarkStateRequestValidator.validate(t);return e?e.map(O):void 0},e.validateCaptureBookmarkRequest=function(t){var e=n.Validators.captureBookmarkRequestValidator.validate(t);return e?e.map(O):void 0},e.validateSettings=function(t){var e=n.Validators.settingsValidator.validate(t);return e?e.map(O):void 0},e.validatePanes=function(t){var e=n.Validators.reportPanesValidator.validate(t);return e?e.map(O):void 0},e.validateBookmarksPane=function(t){var e=n.Validators.bookmarksPaneValidator.validate(t);return e?e.map(O):void 0},e.validateFiltersPane=function(t){var e=n.Validators.filtersPaneValidator.validate(t);return e?e.map(O):void 0},e.validateFieldsPane=function(t){var e=n.Validators.fieldsPaneValidator.validate(t);return e?e.map(O):void 0},e.validatePageNavigationPane=function(t){var e=n.Validators.pageNavigationPaneValidator.validate(t);return e?e.map(O):void 0},e.validateSelectionPane=function(t){var e=n.Validators.selectionPaneValidator.validate(t);return e?e.map(O):void 0},e.validateSyncSlicersPane=function(t){var e=n.Validators.syncSlicersPaneValidator.validate(t);return e?e.map(O):void 0},e.validateVisualizationsPane=function(t){var e=n.Validators.visualizationsPaneValidator.validate(t);return e?e.map(O):void 0},e.validateCustomPageSize=function(t){var e=n.Validators.customPageSizeValidator.validate(t);return e?e.map(O):void 0},e.validateExtension=function(t){var e=n.Validators.extensionValidator.validate(t);return e?e.map(O):void 0},e.validateMenuGroupExtension=function(t){var e=n.Validators.menuGroupExtensionValidator.validate(t);return e?e.map(O):void 0},e.validateReportLoad=function(t){var e=n.Validators.reportLoadValidator.validate(t);return e?e.map(O):void 0},e.validateCreateReport=function(t){var e=n.Validators.reportCreateValidator.validate(t);return e?e.map(O):void 0},e.validateDashboardLoad=function(t){var e=n.Validators.dashboardLoadValidator.validate(t);return e?e.map(O):void 0},e.validateTileLoad=function(t){var e=n.Validators.tileLoadValidator.validate(t);return e?e.map(O):void 0},e.validatePage=function(t){var e=n.Validators.pageValidator.validate(t);return e?e.map(O):void 0},e.validateFilter=function(t){var e=n.Validators.filterValidator.validate(t);return e?e.map(O):void 0},e.validateUpdateFiltersRequest=function(t){var e=n.Validators.updateFiltersRequestValidator.validate(t);return e?e.map(O):void 0},e.validateSaveAsParameters=function(t){var e=n.Validators.saveAsParametersValidator.validate(t);return e?e.map(O):void 0},e.validateLoadQnaConfiguration=function(t){var e=n.Validators.loadQnaValidator.validate(t);return e?e.map(O):void 0},e.validateQnaInterpretInputData=function(t){var e=n.Validators.qnaInterpretInputDataValidator.validate(t);return e?e.map(O):void 0},e.validateExportDataRequest=function(t){var e=n.Validators.exportDataRequestValidator.validate(t);return e?e.map(O):void 0},e.validateVisualHeader=function(t){var e=n.Validators.visualHeaderValidator.validate(t);return e?e.map(O):void 0},e.validateVisualSettings=function(t){var e=n.Validators.visualSettingsValidator.validate(t);return e?e.map(O):void 0},e.validateCommandsSettings=function(t){var e=n.Validators.commandsSettingsValidator.validate(t);return e?e.map(O):void 0},e.validateCustomTheme=function(t){var e=n.Validators.customThemeValidator.validate(t);return e?e.map(O):void 0}},function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.Validators=void 0;var a=r(2),i=r(5),o=r(6),n=r(7),l=r(8),s=r(9),d=r(10),u=r(11),c=r(12),p=r(13),f=r(14),h=r(15),v=r(16),y=r(17),m=r(18),V=r(19),g=r(20),b=r(21),w=r(22),P=r(23),_=r(24),S=r(25),E=r(26),O=r(27),T=r(28),F=r(4);e.Validators={addBookmarkRequestValidator:new i.AddBookmarkRequestValidator,advancedFilterTypeValidator:new F.EnumValidator([0]),advancedFilterValidator:new c.AdvancedFilterValidator,anyArrayValidator:new F.ArrayValidator([new S.AnyOfValidator([new F.StringValidator,new F.NumberValidator,new F.BooleanValidator])]),anyFilterValidator:new S.AnyOfValidator([new c.BasicFilterValidator,new c.AdvancedFilterValidator,new c.IncludeExcludeFilterValidator,new c.NotSupportedFilterValidator,new c.RelativeDateFilterValidator,new c.TopNFilterValidator,new c.RelativeTimeFilterValidator]),anyValueValidator:new S.AnyOfValidator([new F.StringValidator,new F.NumberValidator,new F.BooleanValidator]),actionBarValidator:new a.ActionBarValidator,applyBookmarkByNameRequestValidator:new i.ApplyBookmarkByNameRequestValidator,applyBookmarkStateRequestValidator:new i.ApplyBookmarkStateRequestValidator,applyBookmarkValidator:new S.AnyOfValidator([new i.ApplyBookmarkByNameRequestValidator,new i.ApplyBookmarkStateRequestValidator]),backgroundValidator:new F.EnumValidator([0,1]),basicFilterTypeValidator:new F.EnumValidator([1]),basicFilterValidator:new c.BasicFilterValidator,booleanArrayValidator:new F.BooleanArrayValidator,booleanValidator:new F.BooleanValidator,bookmarksPaneValidator:new h.BookmarksPaneValidator,captureBookmarkOptionsValidator:new i.CaptureBookmarkOptionsValidator,captureBookmarkRequestValidator:new i.CaptureBookmarkRequestValidator,commandDisplayOptionValidator:new F.EnumValidator([0,1,2]),commandExtensionSelectorValidator:new S.AnyOfValidator([new g.VisualSelectorValidator,new g.VisualTypeSelectorValidator]),commandExtensionArrayValidator:new F.ArrayValidator([new u.CommandExtensionValidator]),commandExtensionValidator:new u.CommandExtensionValidator,commandsSettingsArrayValidator:new F.ArrayValidator([new o.CommandsSettingsValidator]),commandsSettingsValidator:new o.CommandsSettingsValidator,conditionItemValidator:new c.ConditionItemValidator,contrastModeValidator:new F.EnumValidator([0,1,2,3,4]),customLayoutDisplayOptionValidator:new F.EnumValidator([0,1,2]),customLayoutValidator:new p.CustomLayoutValidator,customPageSizeValidator:new f.CustomPageSizeValidator,customThemeValidator:new n.CustomThemeValidator,dashboardLoadValidator:new l.DashboardLoadValidator,datasetBindingValidator:new s.DatasetBindingValidator,displayStateModeValidator:new F.EnumValidator([0,1]),displayStateValidator:new p.DisplayStateValidator,exportDataRequestValidator:new d.ExportDataRequestValidator,extensionArrayValidator:new F.ArrayValidator([new u.ExtensionValidator]),extensionsValidator:new S.AnyOfValidator([new F.ArrayValidator([new u.ExtensionValidator]),new u.ExtensionsValidator]),extensionPointsValidator:new u.ExtensionPointsValidator,extensionValidator:new u.ExtensionValidator,fieldForbiddenValidator:new E.FieldForbiddenValidator,fieldRequiredValidator:new O.FieldRequiredValidator,fieldsPaneValidator:new h.FieldsPaneValidator,filterColumnTargetValidator:new c.FilterColumnTargetValidator,filterDisplaySettingsValidator:new c.FilterDisplaySettingsValidator,filterConditionsValidator:new F.ArrayValidator([new c.ConditionItemValidator]),filterHierarchyTargetValidator:new c.FilterHierarchyTargetValidator,filterMeasureTargetValidator:new c.FilterMeasureTargetValidator,filterTargetValidator:new S.AnyOfValidator([new c.FilterColumnTargetValidator,new c.FilterHierarchyTargetValidator,new c.FilterMeasureTargetValidator]),filterValidator:new c.FilterValidator,filterTypeValidator:new F.EnumValidator([0,1,2,3,4,5,6,7]),filtersArrayValidator:new F.ArrayValidator([new c.FilterValidator]),filtersOperationsUpdateValidator:new F.EnumValidator([1,2,3]),filtersOperationsRemoveAllValidator:new F.EnumValidator([0]),filtersPaneValidator:new h.FiltersPaneValidator,hyperlinkClickBehaviorValidator:new F.EnumValidator([0,1,2]),includeExcludeFilterValidator:new c.IncludeExcludeFilterValidator,includeExludeFilterTypeValidator:new F.EnumValidator([3]),layoutTypeValidator:new F.EnumValidator([0,1,2,3]),loadQnaValidator:new v.LoadQnaValidator,menuExtensionValidator:new S.AnyOfValidator([new u.FlatMenuExtensionValidator,new u.GroupedMenuExtensionValidator]),menuGroupExtensionArrayValidator:new F.ArrayValidator([new u.MenuGroupExtensionValidator]),menuGroupExtensionValidator:new u.MenuGroupExtensionValidator,menuLocationValidator:new F.EnumValidator([0,1]),notSupportedFilterTypeValidator:new F.EnumValidator([2]),notSupportedFilterValidator:new c.NotSupportedFilterValidator,numberArrayValidator:new F.NumberArrayValidator,numberValidator:new F.NumberValidator,pageLayoutValidator:new T.MapValidator([new F.StringValidator],[new p.VisualLayoutValidator]),pageNavigationPaneValidator:new h.PageNavigationPaneValidator,pageNavigationPositionValidator:new F.EnumValidator([0,1]),pageSizeTypeValidator:new F.EnumValidator([0,1,2,3,4,5]),pageSizeValidator:new f.PageSizeValidator,pageValidator:new f.PageValidator,pageViewFieldValidator:new f.PageViewFieldValidator,pagesLayoutValidator:new T.MapValidator([new F.StringValidator],[new p.PageLayoutValidator]),reportBarsValidator:new a.ReportBarsValidator,reportPanesValidator:new h.ReportPanesValidator,permissionsValidator:new F.EnumValidator([0,1,2,4,7]),playBookmarkRequestValidator:new i.PlayBookmarkRequestValidator,qnaInterpretInputDataValidator:new v.QnaInterpretInputDataValidator,qnaSettingValidator:new v.QnaSettingsValidator,relativeDateFilterOperatorValidator:new F.EnumValidator([0,1,2]),relativeDateFilterTimeUnitTypeValidator:new F.EnumValidator([0,1,2,3,4,5,6]),relativeDateFilterTypeValidator:new F.EnumValidator([4]),relativeDateFilterValidator:new c.RelativeDateFilterValidator,relativeTimeFilterTimeUnitTypeValidator:new F.EnumValidator([7,8]),relativeTimeFilterTypeValidator:new F.EnumValidator([7]),relativeTimeFilterValidator:new c.RelativeTimeFilterValidator,reportCreateValidator:new y.ReportCreateValidator,reportLoadValidator:new m.ReportLoadValidator,saveAsParametersValidator:new V.SaveAsParametersValidator,selectionPaneValidator:new h.SelectionPaneValidator,settingsValidator:new b.SettingsValidator,singleCommandSettingsValidator:new o.SingleCommandSettingsValidator,slicerSelectorValidator:new S.AnyOfValidator([new g.VisualSelectorValidator,new g.SlicerTargetSelectorValidator]),slicerStateValidator:new w.SlicerStateValidator,slicerTargetValidator:new S.AnyOfValidator([new c.FilterColumnTargetValidator,new c.FilterHierarchyTargetValidator,new c.FilterMeasureTargetValidator,new c.FilterKeyColumnsTargetValidator,new c.FilterKeyHierarchyTargetValidator]),slicerValidator:new w.SlicerValidator,stringArrayValidator:new F.StringArrayValidator,stringValidator:new F.StringValidator,syncSlicersPaneValidator:new h.SyncSlicersPaneValidator,tileLoadValidator:new P.TileLoadValidator,tokenTypeValidator:new F.EnumValidator([0,1]),topNFilterTypeValidator:new F.EnumValidator([5]),topNFilterValidator:new c.TopNFilterValidator,updateFiltersRequestValidator:new S.AnyOfValidator([new c.UpdateFiltersRequestValidator,new c.RemoveFiltersRequestValidator]),viewModeValidator:new F.EnumValidator([0,1]),visualCommandSelectorValidator:new S.AnyOfValidator([new g.VisualSelectorValidator,new g.VisualTypeSelectorValidator]),visualHeaderSelectorValidator:new S.AnyOfValidator([new g.VisualSelectorValidator,new g.VisualTypeSelectorValidator]),visualHeaderSettingsValidator:new _.VisualHeaderSettingsValidator,visualHeaderValidator:new _.VisualHeaderValidator,visualHeadersValidator:new F.ArrayValidator([new _.VisualHeaderValidator]),visualizationsPaneValidator:new h.VisualizationsPaneValidator,visualLayoutValidator:new p.VisualLayoutValidator,visualSelectorValidator:new g.VisualSelectorValidator,visualSettingsValidator:new _.VisualSettingsValidator,visualTypeSelectorValidator:new g.VisualTypeSelectorValidator}},function(t,e,r){var a,i=this&&this.__extends||(a=function(t,e){return(a=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])})(t,e)},function(t,e){function r(){this.constructor=t}a(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.ActionBarValidator=e.ReportBarsValidator=void 0;var o=r(3),n=r(4),l=r(1),s=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i(e,t),e.prototype.validate=function(e,r,a){if(null==e)return null;var i=t.prototype.validate.call(this,e,r,a);if(i)return i;var n=[{field:"actionBar",validators:[l.Validators.actionBarValidator]}];return new o.MultipleFieldsValidator(n).validate(e,r,a)},e}(n.ObjectValidator);e.ReportBarsValidator=s;var d=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i(e,t),e.prototype.validate=function(e,r,a){if(null==e)return null;var i=t.prototype.validate.call(this,e,r,a);if(i)return i;var n=[{field:"visible",validators:[l.Validators.booleanValidator]}];return new o.MultipleFieldsValidator(n).validate(e,r,a)},e}(n.ObjectValidator);e.ActionBarValidator=d},function(t,e){Object.defineProperty(e,"__esModule",{value:!0}),e.MultipleFieldsValidator=void 0;var r=function(){function t(t){this.fieldValidatorsPairs=t}return t.prototype.validate=function(t,e,r){if(!this.fieldValidatorsPairs)return null;for(var a=e?e+"."+r:r,i=0,o=this.fieldValidatorsPairs;i0&&i[i.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0?"&":"?";return t+=a+e+"="+r},e.isSavedInternal=function(t,e,i){return r(this,void 0,void 0,(function(){return a(this,(function(r){switch(r.label){case 0:return r.trys.push([0,2,,3]),[4,t.get("/report/hasUnsavedChanges",{uid:e},i)];case 1:return[2,!r.sent().body];case 2:throw r.sent().body;case 3:return[2]}}))}))},e.isRDLEmbed=function(t){return t.toLowerCase().indexOf("/rdlembed?")>=0},e.autoAuthInEmbedUrl=function(t){return t&&decodeURIComponent(t).toLowerCase().indexOf("autoauth=true")>=0},e.getRandomValue=o,e.getTimeDiffInMilliseconds=function(t,e){return Math.abs(t.getTime()-e.getTime())}},function(t,e){Object.defineProperty(e,"__esModule",{value:!0}),e.EmbedUrlNotSupported=e.APINotSupportedForRDLError=void 0,e.APINotSupportedForRDLError="This API is currently not supported for RDL reports",e.EmbedUrlNotSupported="Embed URL is invalid for this scenario. Please use Power BI REST APIs to get the valid URL"},function(t,e,r){var a,i=this&&this.__extends||(a=function(t,e){return(a=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])})(t,e)},function(t,e){function r(){this.constructor=t}a(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}),o=this&&this.__awaiter||function(t,e,r,a){return new(r||(r=Promise))((function(i,o){function n(t){try{s(a.next(t))}catch(t){o(t)}}function l(t){try{s(a.throw(t))}catch(t){o(t)}}function s(t){var e;t.done?i(t.value):(e=t.value,e instanceof r?e:new r((function(t){t(e)}))).then(n,l)}s((a=a.apply(t,e||[])).next())}))},n=this&&this.__generator||function(t,e){var r,a,i,o,n={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:l(0),throw:l(1),return:l(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function l(o){return function(l){return function(o){if(r)throw new TypeError("Generator is already executing.");for(;n;)try{if(r=1,a&&(i=2&o[0]?a.return:o[0]?a.throw||((i=a.return)&&i.call(a),0):a.next)&&!(i=i.call(a,o[1])).done)return i;switch(a=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return n.label++,{value:o[1],done:!1};case 5:n.label++,a=o[1],o=[0];continue;case 7:o=n.ops.pop(),n.trys.pop();continue;default:if(!(i=n.trys,(i=i.length>0&&i[i.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1])} + * + * @returns {(Promise)} */ - getFilters(): Promise; + getFilters(): Promise; /** - * Replaces all filters on the current object with the specified filter values. - * - * @param {(models.IFilter[])} filters + * Update the filters for the current instance according to the operation: Add, replace all, replace by target or remove. + * + * @param {(FiltersOperations)} operation + * @param {(IFilter[])} filters * @returns {Promise>} */ - setFilters(filters: models.IFilter[]): Promise>; + updateFilters(operation: FiltersOperations, filters?: IFilter[]): Promise>; /** * Removes all filters from the current object. - * + * * @returns {Promise>} */ removeFilters(): Promise>; -} \ No newline at end of file + /** + * Replaces all filters on the current object with the specified filter values. + * + * @param {(IFilter[])} filters + * @returns {Promise>} + */ + setFilters(filters: IFilter[]): Promise>; +} diff --git a/src/page.ts b/src/page.ts index 89e3cc64..00240aad 100644 --- a/src/page.ts +++ b/src/page.ts @@ -1,10 +1,21 @@ import { IHttpPostMessageResponse } from 'http-post-message'; +import { + DisplayOption, + FiltersOperations, + ICustomPageSize, + IFilter, + IPage, + IUpdateFiltersRequest, + IVisual, + LayoutType, + PageLevelFilters, + SectionVisibility +} from 'powerbi-models'; import { IFilterable } from './ifilterable'; import { IReportNode } from './report'; import { VisualDescriptor } from './visualDescriptor'; -import * as models from 'powerbi-models'; -import * as utils from './util'; -import * as errors from './errors'; +import { isRDLEmbed } from './util'; +import { APINotSupportedForRDLError } from './errors'; /** * A Page node within a report hierarchy @@ -58,21 +69,23 @@ export class Page implements IPageNode, IFilterable { * 0 - Always Visible * 1 - Hidden in View Mode * - * @type {models.SectionVisibility} + * @type {SectionVisibility} */ - visibility: models.SectionVisibility; + visibility: SectionVisibility; /** * Page size as saved in the report. - * @type {models.ICustomPageSize} + * + * @type {ICustomPageSize} */ - defaultSize: models.ICustomPageSize; + defaultSize: ICustomPageSize; /** * Page display options as saved in the report. - * @type {models.ICustomPageSize} + * + * @type {ICustomPageSize} */ - defaultDisplayOption: models.DisplayOption; + defaultDisplayOption: DisplayOption; /** * Creates an instance of a Power BI report page. @@ -81,10 +94,10 @@ export class Page implements IPageNode, IFilterable { * @param {string} name * @param {string} [displayName] * @param {boolean} [isActivePage] - * @param {models.SectionVisibility} [visibility] + * @param {SectionVisibility} [visibility] * @hidden */ - constructor(report: IReportNode, name: string, displayName?: string, isActivePage?: boolean, visibility?: models.SectionVisibility, defaultSize?: models.ICustomPageSize, defaultDisplayOption?: models.DisplayOption) { + constructor(report: IReportNode, name: string, displayName?: string, isActivePage?: boolean, visibility?: SectionVisibility, defaultSize?: ICustomPageSize, defaultDisplayOption?: DisplayOption) { this.report = report; this.name = name; this.displayName = displayName; @@ -102,11 +115,11 @@ export class Page implements IPageNode, IFilterable { * .then(filters => { ... }); * ``` * - * @returns {(Promise)} + * @returns {(Promise)} */ - async getFilters(): Promise { + async getFilters(): Promise { try { - const response = await this.report.service.hpm.get(`/report/pages/${this.name}/filters`, { uid: this.report.config.uniqueId }, this.report.iframe.contentWindow); + const response = await this.report.service.hpm.get(`/report/pages/${this.name}/filters`, { uid: this.report.config.uniqueId }, this.report.iframe.contentWindow); return response.body; } catch (response) { throw response.body; @@ -114,19 +127,24 @@ export class Page implements IPageNode, IFilterable { } /** - * Delete the page from the report + * Update the filters for the current page according to the operation: Add, replace all, replace by target or remove. * * ```javascript - * // Delete the page from the report - * page.delete(); + * page.updateFilters(FiltersOperations.Add, filters) + * .catch(errors => { ... }); * ``` * - * @returns {Promise} + * @param {(IFilter[])} filters + * @returns {Promise>} */ - async delete(): Promise { + async updateFilters(operation: FiltersOperations, filters?: IFilter[]): Promise> { + const updateFiltersRequest: IUpdateFiltersRequest = { + filtersOperation: operation, + filters: filters as PageLevelFilters[] + }; + try { - const response = await this.report.service.hpm.delete(`/report/pages/${this.name}`, { }, { uid: this.report.config.uniqueId }, this.report.iframe.contentWindow); - return response.body; + return await this.report.service.hpm.post(`/report/pages/${this.name}/filters`, updateFiltersRequest, { uid: this.report.config.uniqueId }, this.report.iframe.contentWindow); } catch (response) { throw response.body; } @@ -142,46 +160,65 @@ export class Page implements IPageNode, IFilterable { * @returns {Promise>} */ async removeFilters(): Promise> { - return await this.setFilters([]); + return await this.updateFilters(FiltersOperations.RemoveAll); } /** - * Makes the current page the active page of the report. + * Sets all filters on the current page. * * ```javascript - * page.setActive(); + * page.setFilters(filters) + * .catch(errors => { ... }); * ``` * + * @param {(IFilter[])} filters * @returns {Promise>} */ - async setActive(): Promise> { - const page: models.IPage = { - name: this.name, - displayName: null, - isActive: true - }; + async setFilters(filters: IFilter[]): Promise> { + try { + return await this.report.service.hpm.put(`/report/pages/${this.name}/filters`, filters, { uid: this.report.config.uniqueId }, this.report.iframe.contentWindow); + } catch (response) { + throw response.body; + } + } + /** + * Delete the page from the report + * + * ```javascript + * // Delete the page from the report + * page.delete(); + * ``` + * + * @returns {Promise} + */ + async delete(): Promise { try { - return await this.report.service.hpm.put('/report/pages/active', page, { uid: this.report.config.uniqueId }, this.report.iframe.contentWindow); + const response = await this.report.service.hpm.delete(`/report/pages/${this.name}`, {}, { uid: this.report.config.uniqueId }, this.report.iframe.contentWindow); + return response.body; } catch (response) { throw response.body; } } /** - * Sets all filters on the current page. + * Makes the current page the active page of the report. * * ```javascript - * page.setFilters(filters); - * .catch(errors => { ... }); + * page.setActive(); * ``` * - * @param {(models.IFilter[])} filters * @returns {Promise>} */ - async setFilters(filters: models.IFilter[]): Promise> { + async setActive(): Promise> { + const page: IPage = { + name: this.name, + displayName: null, + isActive: true + }; + try { - return await this.report.service.hpm.put(`/report/pages/${this.name}/filters`, filters, { uid: this.report.config.uniqueId }, this.report.iframe.contentWindow); + return await this.report.service.hpm.put('/report/pages/active', page, { uid: this.report.config.uniqueId }, this.report.iframe.contentWindow); } catch (response) { throw response.body; } @@ -197,9 +234,9 @@ export class Page implements IPageNode, IFilterable { * @returns {Promise>} */ async setDisplayName(displayName: string): Promise> { - const page: models.IPage = { + const page: IPage = { name: this.name, - displayName, + displayName: displayName, }; try { @@ -220,19 +257,17 @@ export class Page implements IPageNode, IFilterable { * @returns {Promise} */ async getVisuals(): Promise { - if (utils.isRDLEmbed(this.report.config.embedUrl)) { - return Promise.reject(errors.APINotSupportedForRDLError); + if (isRDLEmbed(this.report.config.embedUrl)) { + return Promise.reject(APINotSupportedForRDLError); } try { - const response = await this.report.service.hpm.get(`/report/pages/${this.name}/visuals`, { uid: this.report.config.uniqueId }, this.report.iframe.contentWindow); + const response = await this.report.service.hpm.get(`/report/pages/${this.name}/visuals`, { uid: this.report.config.uniqueId }, this.report.iframe.contentWindow); return response.body - .map(visual => { - return new VisualDescriptor(this, visual.name, visual.title, visual.type, visual.layout); - }); - } catch (response) { - throw response.body; - } + .map(visual => new VisualDescriptor(this, visual.name, visual.title, visual.type, visual.layout)); + } catch (response) { + throw response.body; + } } /** @@ -246,11 +281,11 @@ export class Page implements IPageNode, IFilterable { * @returns {(Promise)} */ async hasLayout(layoutType): Promise { - if (utils.isRDLEmbed(this.report.config.embedUrl)) { - return Promise.reject(errors.APINotSupportedForRDLError); + if (isRDLEmbed(this.report.config.embedUrl)) { + return Promise.reject(APINotSupportedForRDLError); } - let layoutTypeEnum = models.LayoutType[layoutType]; + const layoutTypeEnum = LayoutType[layoutType]; try { const response = await this.report.service.hpm.get(`/report/pages/${this.name}/layoutTypes/${layoutTypeEnum}`, { uid: this.report.config.uniqueId }, this.report.iframe.contentWindow); return response.body; @@ -258,4 +293,4 @@ export class Page implements IPageNode, IFilterable { throw response.body; } } -} \ No newline at end of file +} diff --git a/src/report.ts b/src/report.ts index 1a3c1a03..63d1dc79 100644 --- a/src/report.ts +++ b/src/report.ts @@ -1,13 +1,29 @@ -import * as service from './service'; -import * as embed from './embed'; -import * as models from 'powerbi-models'; -import * as utils from './util'; -import * as errors from './errors'; +import { + IReportLoadConfiguration, + IReportEmbedConfiguration, + IPage, + FiltersOperations, + IError, + IFilter, + IReportTheme, + ISettings, + IUpdateFiltersRequest, + LayoutType, + SectionVisibility, + validateReportLoad, + ViewMode, + IEmbedConfiguration, + IEmbedConfigurationBase, + ReportLevelFilters +} from 'powerbi-models'; +import { IHttpPostMessageResponse } from 'http-post-message'; +import { IService, Service } from './service'; +import { Embed, IEmbedSettings } from './embed'; +import { addParamToUrl, assign, isRDLEmbed, isSavedInternal } from './util'; +import { APINotSupportedForRDLError } from './errors'; import { IFilterable } from './ifilterable'; import { Page } from './page'; -import { IReportLoadConfiguration, IReportEmbedConfiguration } from 'powerbi-models'; import { BookmarksManager } from './bookmarksManager'; -import { IHttpPostMessageResponse } from 'http-post-message'; /** * A Report node within a report hierarchy @@ -17,8 +33,8 @@ import { IHttpPostMessageResponse } from 'http-post-message'; */ export interface IReportNode { iframe: HTMLIFrameElement; - service: service.IService; - config: embed.IEmbedConfiguration | IReportEmbedConfiguration + service: IService; + config: IEmbedConfiguration | IReportEmbedConfiguration; } /** @@ -26,11 +42,11 @@ export interface IReportNode { * * @export * @class Report - * @extends {embed.Embed} + * @extends {Embed} * @implements {IReportNode} * @implements {IFilterable} */ -export class Report extends embed.Embed implements IReportNode, IFilterable { +export class Report extends Embed implements IReportNode, IFilterable { /** @hidden */ static allowedEvents = ["filtersApplied", "pageChanged", "commandTriggered", "swipeStart", "swipeEnd", "bookmarkApplied", "dataHyperlinkClicked", "visualRendered", "visualClicked", "selectionChanged"]; /** @hidden */ @@ -49,13 +65,13 @@ export class Report extends embed.Embed implements IReportNode, IFilterable { /** * Creates an instance of a Power BI Report. * - * @param {service.Service} service + * @param {Service} service * @param {HTMLElement} element - * @param {embed.IEmbedConfiguration} config + * @param {IEmbedConfiguration} config * @hidden */ - constructor(service: service.Service, element: HTMLElement, baseConfig: embed.IEmbedConfigurationBase, phasedRender?: boolean, isBootstrap?: boolean, iframe?: HTMLIFrameElement) { - const config = baseConfig; + constructor(service: Service, element: HTMLElement, baseConfig: IEmbedConfigurationBase, phasedRender?: boolean, isBootstrap?: boolean, iframe?: HTMLIFrameElement) { + const config = baseConfig; super(service, element, config, iframe, phasedRender, isBootstrap); this.loadPath = "/report/load"; this.phasedLoadPath = "/report/prepare"; @@ -69,16 +85,17 @@ export class Report extends embed.Embed implements IReportNode, IFilterable { * (e.g. http://embedded.powerbi.com/appTokenReportEmbed?reportId=854846ed-2106-4dc2-bc58-eb77533bf2f1). * * 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} */ static findIdFromEmbedUrl(url: string): string { - const reportIdRegEx = /reportId="?([^&]+)"?/ + const reportIdRegEx = /reportId="?([^&]+)"?/; const reportIdMatch = url.match(reportIdRegEx); - let reportId; + let reportId: string; if (reportIdMatch) { reportId = reportIdMatch[1]; } @@ -102,7 +119,7 @@ export class Report extends embed.Embed implements IReportNode, IFilterable { * * @returns {Promise} */ - async render(config?: IReportLoadConfiguration | embed.IReportEmbedConfiguration): Promise { + async render(config?: IReportLoadConfiguration | IReportEmbedConfiguration): Promise { try { const response = await this.service.hpm.post(`/report/render`, config, { uid: this.config.uniqueId }, this.iframe.contentWindow); return response.body; @@ -122,13 +139,13 @@ export class Report extends embed.Embed implements IReportNode, IFilterable { * @returns {Promise} */ async addPage(displayName?: string): Promise { - var request = { + const request = { displayName: displayName }; try { - const response = await this.service.hpm.post(`/report/addPage`, request, { uid: this.config.uniqueId }, this.iframe.contentWindow); - var page = response.body; + const response = await this.service.hpm.post(`/report/addPage`, request, { uid: this.config.uniqueId }, this.iframe.contentWindow); + const page = response.body; return new Page(this, page.name, page.displayName, page.isActive, page.visibility, page.defaultSize, page.defaultDisplayOption); } catch (response) { throw response.body; @@ -165,9 +182,9 @@ export class Report extends embed.Embed implements IReportNode, IFilterable { * @returns {Promise} */ async renamePage(pageName: string, displayName: string): Promise { - const page: models.IPage = { + const page: IPage = { name: pageName, - displayName, + displayName: displayName, }; try { @@ -189,28 +206,98 @@ export class Report extends embed.Embed implements IReportNode, IFilterable { * }); * ``` * - * @returns {Promise} + * @returns {Promise} */ - async getFilters(): Promise { - if (utils.isRDLEmbed(this.config.embedUrl)) { - return Promise.reject(errors.APINotSupportedForRDLError); + async getFilters(): Promise { + if (isRDLEmbed(this.config.embedUrl)) { + return Promise.reject(APINotSupportedForRDLError); } try { - const response = await this.service.hpm.get(`/report/filters`, { uid: this.config.uniqueId }, this.iframe.contentWindow); + const response = await this.service.hpm.get(`/report/filters`, { uid: this.config.uniqueId }, this.iframe.contentWindow); return response.body; } catch (response) { throw response.body; } } + /** + * Update the filters at the report level according to the operation: Add, replace all, replace by target or remove. + * + * ```javascript + * report.updateFilters(FiltersOperations.Add, filters) + * .catch(errors => { ... }); + * ``` + * + * @param {(IFilter[])} filters + * @returns {Promise>} + */ + async updateFilters(operation: FiltersOperations, filters?: IFilter[]): Promise> { + const updateFiltersRequest: IUpdateFiltersRequest = { + filtersOperation: operation, + filters: filters as ReportLevelFilters[] + }; + + try { + return await this.service.hpm.post(`/report/filters`, updateFiltersRequest, { uid: this.config.uniqueId }, this.iframe.contentWindow); + } catch (response) { + throw response.body; + } + } + + /** + * Removes all filters at the report level. + * + * ```javascript + * report.removeFilters(); + * ``` + * + * @returns {Promise>} + */ + async removeFilters(): Promise> { + if (isRDLEmbed(this.config.embedUrl)) { + return Promise.reject(APINotSupportedForRDLError); + } + + return this.updateFilters(FiltersOperations.RemoveAll); + } + + /** + * Sets filters at the report level. + * + * ```javascript + * const filters: [ + * ... + * ]; + * + * report.setFilters(filters) + * .catch(errors => { + * ... + * }); + * ``` + * + * @param {(IFilter[])} filters + * @returns {Promise>} + */ + async setFilters(filters: IFilter[]): Promise> { + if (isRDLEmbed(this.config.embedUrl)) { + return Promise.reject(APINotSupportedForRDLError); + } + + try { + return await this.service.hpm.put(`/report/filters`, filters, { uid: this.config.uniqueId }, this.iframe.contentWindow); + } catch (response) { + throw response.body; + } + } + /** * Gets the report ID from the first available location: options, attribute, embed url. * * @returns {string} */ getId(): string { - let config = this.config; + const config = this.config; const reportId = config.id || this.element.getAttribute(Report.reportIdAttribute) || Report.findIdFromEmbedUrl(config.embedUrl); if (typeof reportId !== 'string' || reportId.length === 0) { @@ -233,16 +320,14 @@ export class Report extends embed.Embed implements IReportNode, IFilterable { * @returns {Promise} */ async getPages(): Promise { - if (utils.isRDLEmbed(this.config.embedUrl)) { - return Promise.reject(errors.APINotSupportedForRDLError); + if (isRDLEmbed(this.config.embedUrl)) { + return Promise.reject(APINotSupportedForRDLError); } try { - const response = await this.service.hpm.get('/report/pages', { uid: this.config.uniqueId }, this.iframe.contentWindow); + const response = await this.service.hpm.get('/report/pages', { uid: this.config.uniqueId }, this.iframe.contentWindow); return response.body - .map(page => { - return new Page(this, page.name, page.displayName, page.isActive, page.visibility, page.defaultSize, page.defaultDisplayOption); - }); + .map(page => new Page(this, page.name, page.displayName, page.isActive, page.visibility, page.defaultSize, page.defaultDisplayOption)); } catch (response) { throw response.body; } @@ -263,7 +348,7 @@ export class Report extends embed.Embed implements IReportNode, IFilterable { * @returns {Page} * @hidden */ - page(name: string, displayName?: string, isActive?: boolean, visibility?: models.SectionVisibility): Page { + page(name: string, displayName?: string, isActive?: boolean, visibility?: SectionVisibility): Page { return new Page(this, name, displayName, isActive, visibility); } @@ -271,8 +356,8 @@ export class Report extends embed.Embed implements IReportNode, IFilterable { * Prints the active page of the report by invoking `window.print()` on the embed iframe component. */ async print(): Promise { - if (utils.isRDLEmbed(this.config.embedUrl)) { - return Promise.reject(errors.APINotSupportedForRDLError); + if (isRDLEmbed(this.config.embedUrl)) { + return Promise.reject(APINotSupportedForRDLError); } try { @@ -283,23 +368,6 @@ export class Report extends embed.Embed implements IReportNode, IFilterable { } } - /** - * Removes all filters at the report level. - * - * ```javascript - * report.removeFilters(); - * ``` - * - * @returns {Promise>} - */ - async removeFilters(): Promise> { - if (utils.isRDLEmbed(this.config.embedUrl)) { - return Promise.reject(errors.APINotSupportedForRDLError); - } - - return await this.setFilters([]); - } - /** * Sets the active page of the report. * @@ -312,11 +380,11 @@ export class Report extends embed.Embed implements IReportNode, IFilterable { * @returns {Promise>} */ async setPage(pageName: string): Promise> { - if (utils.isRDLEmbed(this.config.embedUrl)) { - return Promise.reject(errors.APINotSupportedForRDLError); + if (isRDLEmbed(this.config.embedUrl)) { + return Promise.reject(APINotSupportedForRDLError); } - const page: models.IPage = { + const page: IPage = { name: pageName, displayName: null, isActive: true @@ -329,35 +397,6 @@ export class Report extends embed.Embed implements IReportNode, IFilterable { } } - /** - * Sets filters at the report level. - * - * ```javascript - * const filters: [ - * ... - * ]; - * - * report.setFilters(filters) - * .catch(errors => { - * ... - * }); - * ``` - * - * @param {(models.IFilter[])} filters - * @returns {Promise>} - */ - async setFilters(filters: models.IFilter[]): Promise> { - if (utils.isRDLEmbed(this.config.embedUrl)) { - return Promise.reject(errors.APINotSupportedForRDLError); - } - - try { - return await this.service.hpm.put(`/report/filters`, filters, { uid: this.config.uniqueId }, this.iframe.contentWindow); - } catch (response) { - throw response.body; - } - } - /** * Updates visibility settings for the filter pane and the page navigation pane. * @@ -371,12 +410,12 @@ export class Report extends embed.Embed implements IReportNode, IFilterable { * .catch(error => { ... }); * ``` * - * @param {models.ISettings} settings + * @param {ISettings} settings * @returns {Promise>} */ - async updateSettings(settings: models.ISettings): Promise> { - if (utils.isRDLEmbed(this.config.embedUrl) && settings.customLayout != null) { - return Promise.reject(errors.APINotSupportedForRDLError); + async updateSettings(settings: ISettings): Promise> { + if (isRDLEmbed(this.config.embedUrl) && settings.customLayout != null) { + return Promise.reject(APINotSupportedForRDLError); } try { @@ -388,11 +427,11 @@ export class Report extends embed.Embed implements IReportNode, IFilterable { /** * Validate load configuration. - * + * * @hidden */ - validate(config: embed.IEmbedConfigurationBase): models.IError[] { - return models.validateReportLoad(config); + validate(config: IEmbedConfigurationBase): IError[] { + return validateReportLoad(config); } /** @@ -401,22 +440,23 @@ export class Report extends embed.Embed implements IReportNode, IFilterable { * @returns {void} */ configChanged(isBootstrap: boolean): void { - let config = this.config; + const config = this.config; - if (this.isMobileSettings(config.settings)) - config.embedUrl = utils.addParamToUrl(config.embedUrl, "isMobile", "true"); + if (this.isMobileSettings(config.settings)) { + config.embedUrl = addParamToUrl(config.embedUrl, "isMobile", "true"); + } // Calculate settings from HTML element attributes if available. - let filterPaneEnabledAttribute = this.element.getAttribute(Report.filterPaneEnabledAttribute); - let navContentPaneEnabledAttribute = this.element.getAttribute(Report.navContentPaneEnabledAttribute); + const filterPaneEnabledAttribute = this.element.getAttribute(Report.filterPaneEnabledAttribute); + const navContentPaneEnabledAttribute = this.element.getAttribute(Report.navContentPaneEnabledAttribute); - let elementAttrSettings: embed.IEmbedSettings = { + const elementAttrSettings: IEmbedSettings = { filterPaneEnabled: (filterPaneEnabledAttribute == null) ? undefined : (filterPaneEnabledAttribute !== "false"), navContentPaneEnabled: (navContentPaneEnabledAttribute == null) ? undefined : (navContentPaneEnabledAttribute !== "false") }; // Set the settings back into the config. - this.config.settings = utils.assign({}, elementAttrSettings, config.settings); + this.config.settings = assign({}, elementAttrSettings, config.settings); if (isBootstrap) { return; @@ -438,7 +478,7 @@ export class Report extends embed.Embed implements IReportNode, IFilterable { * * @returns {Promise} */ - async switchMode(viewMode: models.ViewMode | string): Promise { + async switchMode(viewMode: ViewMode | string): Promise { let newMode: string; if (typeof viewMode === "string") { newMode = viewMode; @@ -447,7 +487,7 @@ export class Report extends embed.Embed implements IReportNode, IFilterable { newMode = this.viewModeToString(viewMode); } - let url = '/report/switchMode/' + newMode; + const url = '/report/switchMode/' + newMode; try { const response = await this.service.hpm.post(url, null, { uid: this.config.uniqueId }, this.iframe.contentWindow); return response.body; @@ -457,12 +497,12 @@ export class Report extends embed.Embed implements IReportNode, IFilterable { } /** - * Refreshes data sources for the report. - * - * ```javascript - * report.refresh(); - * ``` - */ + * Refreshes data sources for the report. + * + * ```javascript + * report.refresh(); + * ``` + */ async refresh(): Promise { try { const response = await this.service.hpm.post('/report/refresh', null, { uid: this.config.uniqueId }, this.iframe.contentWindow); @@ -482,11 +522,11 @@ export class Report extends embed.Embed implements IReportNode, IFilterable { * @returns {Promise} */ async isSaved(): Promise { - if (utils.isRDLEmbed(this.config.embedUrl)) { - return Promise.reject(errors.APINotSupportedForRDLError); + if (isRDLEmbed(this.config.embedUrl)) { + return Promise.reject(APINotSupportedForRDLError); } - return await utils.isSavedInternal(this.service.hpm, this.config.uniqueId, this.iframe.contentWindow); + return await isSavedInternal(this.service.hpm, this.config.uniqueId, this.iframe.contentWindow); } /** @@ -496,36 +536,36 @@ export class Report extends embed.Embed implements IReportNode, IFilterable { * report.applyTheme(theme); * ``` */ - async applyTheme(theme: models.IReportTheme): Promise { - if (utils.isRDLEmbed(this.config.embedUrl)) { - return Promise.reject(errors.APINotSupportedForRDLError); + async applyTheme(theme: IReportTheme): Promise { + if (isRDLEmbed(this.config.embedUrl)) { + return Promise.reject(APINotSupportedForRDLError); } return await this.applyThemeInternal(theme); } /** - * Reset and apply the default theme of the report - * - * ```javascript - * report.resetTheme(); - * ``` - */ + * Reset and apply the default theme of the report + * + * ```javascript + * report.resetTheme(); + * ``` + */ async resetTheme(): Promise { - if (utils.isRDLEmbed(this.config.embedUrl)) { - return Promise.reject(errors.APINotSupportedForRDLError); + if (isRDLEmbed(this.config.embedUrl)) { + return Promise.reject(APINotSupportedForRDLError); } - return await this.applyThemeInternal({}); + return await this.applyThemeInternal({}); } /** - * Reset user's filters, slicers, and other data view changes to the default state of the report - * - * ```javascript - * report.resetPersistentFilters(); - * ``` - */ + * Reset user's filters, slicers, and other data view changes to the default state of the report + * + * ```javascript + * report.resetPersistentFilters(); + * ``` + */ async resetPersistentFilters(): Promise> { try { return await this.service.hpm.delete(`/report/userState`, null, { uid: this.config.uniqueId }, this.iframe.contentWindow); @@ -535,12 +575,12 @@ export class Report extends embed.Embed implements IReportNode, IFilterable { } /** - * Save user's filters, slicers, and other data view changes of the report - * - * ```javascript - * report.savePersistentFilters(); - * ``` - */ + * Save user's filters, slicers, and other data view changes of the report + * + * ```javascript + * report.savePersistentFilters(); + * ``` + */ async savePersistentFilters(): Promise> { try { return await this.service.hpm.post(`/report/userState`, null, { uid: this.config.uniqueId }, this.iframe.contentWindow); @@ -550,15 +590,15 @@ export class Report extends embed.Embed implements IReportNode, IFilterable { } /** - * Returns if there are user's filters, slicers, or other data view changes applied on the report. - * If persistent filters is disable, returns false. - * - * ```javascript - * report.arePersistentFiltersApplied(); - * ``` - * - * @returns {Promise} - */ + * Returns if there are user's filters, slicers, or other data view changes applied on the report. + * If persistent filters is disable, returns false. + * + * ```javascript + * report.arePersistentFiltersApplied(); + * ``` + * + * @returns {Promise} + */ async arePersistentFiltersApplied(): Promise { try { const response = await this.service.hpm.get(`/report/isUserStateApplied`, { uid: this.config.uniqueId }, this.iframe.contentWindow); @@ -571,7 +611,7 @@ export class Report extends embed.Embed implements IReportNode, IFilterable { /** * @hidden */ - private async applyThemeInternal(theme: models.IReportTheme): Promise { + private async applyThemeInternal(theme: IReportTheme): Promise { try { const response = await this.service.hpm.put('/report/theme', theme, { uid: this.config.uniqueId }, this.iframe.contentWindow); return response.body; @@ -583,13 +623,13 @@ export class Report extends embed.Embed implements IReportNode, IFilterable { /** * @hidden */ - private viewModeToString(viewMode: models.ViewMode): string { + private viewModeToString(viewMode: ViewMode): string { let mode: string; switch (viewMode) { - case models.ViewMode.Edit: + case ViewMode.Edit: mode = "edit"; break; - case models.ViewMode.View: + case ViewMode.View: mode = "view"; break; } @@ -600,7 +640,7 @@ export class Report extends embed.Embed implements IReportNode, IFilterable { /** * @hidden */ - private isMobileSettings(settings: embed.IEmbedSettings): boolean { - return settings && (settings.layoutType === models.LayoutType.MobileLandscape || settings.layoutType === models.LayoutType.MobilePortrait); + private isMobileSettings(settings: IEmbedSettings): boolean { + return settings && (settings.layoutType === LayoutType.MobileLandscape || settings.layoutType === LayoutType.MobilePortrait); } } diff --git a/src/visual.ts b/src/visual.ts index 13e183fd..3a2e7b73 100644 --- a/src/visual.ts +++ b/src/visual.ts @@ -1,11 +1,29 @@ -import * as service from './service'; -import * as embed from './embed'; -import * as models from 'powerbi-models'; -import { Report } from './report' +import { + DisplayOption, + FiltersLevel, + FiltersOperations, + ICustomPageSize, + IEmbedConfigurationBase, + IError, + IFilter, + IReportEmbedConfiguration, + IReportLoadConfiguration, + IUpdateFiltersRequest, + IVisual, + IVisualEmbedConfiguration, + LayoutType, + PageLevelFilters, + PageSizeType, + PagesLayout, + ReportLevelFilters, + VisualContainerDisplayMode, + VisualLevelFilters +} from 'powerbi-models'; +import { IHttpPostMessageResponse } from 'http-post-message'; +import { Service } from './service'; +import { Report } from './report'; import { Page } from './page'; import { VisualDescriptor } from './visualDescriptor'; -import { IHttpPostMessageResponse } from 'http-post-message'; -import { IReportLoadConfiguration } from 'powerbi-models'; /** * The Power BI Visual embed component @@ -27,12 +45,12 @@ export class Visual extends Report { /** * Creates an instance of a Power BI Single Visual. * - * @param {service.Service} service + * @param {Service} service * @param {HTMLElement} element - * @param {embed.IEmbedConfiguration} config + * @param {IEmbedConfiguration} config * @hidden */ - constructor(service: service.Service, element: HTMLElement, baseConfig: embed.IEmbedConfigurationBase, phasedRender?: boolean, isBootstrap?: boolean, iframe?: HTMLIFrameElement) { + constructor(service: Service, element: HTMLElement, baseConfig: IEmbedConfigurationBase, phasedRender?: boolean, isBootstrap?: boolean, iframe?: HTMLIFrameElement) { super(service, element, baseConfig, phasedRender, isBootstrap, iframe); } @@ -40,7 +58,7 @@ export class Visual extends Report { * @hidden */ load(phasedRender?: boolean): Promise { - var config = this.config; + const config = this.config as IVisualEmbedConfiguration; if (!config.accessToken) { // bootstrap flow. @@ -56,20 +74,20 @@ export class Visual extends Report { } // calculate custom layout settings and override config. - let width = config.width ? config.width : this.iframe.offsetWidth; - let height = config.height ? config.height : this.iframe.offsetHeight; + const width = config.width ? config.width : this.iframe.offsetWidth; + const height = config.height ? config.height : this.iframe.offsetHeight; - const pageSize: models.ICustomPageSize = { - type: models.PageSizeType.Custom, + const pageSize: ICustomPageSize = { + type: PageSizeType.Custom, width: width, height: height, }; - let pagesLayout: models.PagesLayout = {}; + const pagesLayout: PagesLayout = {}; pagesLayout[config.pageName] = { defaultLayout: { displayState: { - mode: models.VisualContainerDisplayMode.Hidden + mode: VisualContainerDisplayMode.Hidden } }, visualsLayout: {} @@ -77,21 +95,21 @@ export class Visual extends Report { pagesLayout[config.pageName].visualsLayout[config.visualName] = { displayState: { - mode: models.VisualContainerDisplayMode.Visible + mode: VisualContainerDisplayMode.Visible }, x: 1, y: 1, z: 1, width: pageSize.width, height: pageSize.height - } + }; config.settings = config.settings || {}; config.settings.filterPaneEnabled = false; config.settings.navContentPaneEnabled = false; - config.settings.layoutType = models.LayoutType.Custom; + config.settings.layoutType = LayoutType.Custom; config.settings.customLayout = { - displayOption: models.DisplayOption.FitToPage, + displayOption: DisplayOption.FitToPage, pageSize: pageSize, pagesLayout: pagesLayout }; @@ -101,7 +119,7 @@ export class Visual extends Report { } /** - * Gets the list of pages within the report - not supported in visual embed. + * Gets the list of pages within the report - not supported in visual * * @returns {Promise} */ @@ -110,7 +128,7 @@ export class Visual extends Report { } /** - * Sets the active page of the report - not supported in visual embed. + * Sets the active page of the report - not supported in visual * * @param {string} pageName * @returns {Promise>} @@ -125,8 +143,8 @@ export class Visual extends Report { * @hidden * @returns {Promise} */ - async render(config?: IReportLoadConfiguration | embed.IReportEmbedConfiguration): Promise { - throw Visual.RenderNotSupportedError + async render(config?: IReportLoadConfiguration | IReportEmbedConfiguration): Promise { + throw Visual.RenderNotSupportedError; } /** @@ -140,16 +158,16 @@ export class Visual extends Report { * @returns {Promise} */ async getVisualDescriptor(): Promise { - const config = this.config; + const config = this.config as IVisualEmbedConfiguration; try { - const response = await this.service.hpm.get(`/report/pages/${config.pageName}/visuals`, { uid: this.config.uniqueId }, this.iframe.contentWindow); + const response = await this.service.hpm.get(`/report/pages/${config.pageName}/visuals`, { uid: this.config.uniqueId }, this.iframe.contentWindow); // Find the embedded visual from visuals of this page // TODO: Use the Array.find method when ES6 is available - const embeddedVisuals = response.body.filter(pageVisual => pageVisual.name === config.visualName); + const embeddedVisuals = response.body.filter((pageVisual) => pageVisual.name === config.visualName); if (embeddedVisuals.length === 0) { - const visualNotFoundError: models.IError = { + const visualNotFoundError: IError = { message: "visualNotFound", detailedMessage: "Visual not found" }; @@ -176,18 +194,50 @@ export class Visual extends Report { * }); * ``` * - * @returns {Promise} + * @returns {Promise} */ - async getFilters(filtersLevel?: models.FiltersLevel): Promise { + async getFilters(filtersLevel?: FiltersLevel): Promise { const url: string = this.getFiltersLevelUrl(filtersLevel); try { - const response = await this.service.hpm.get(url, { uid: this.config.uniqueId }, this.iframe.contentWindow); + const response = await this.service.hpm.get(url, { uid: this.config.uniqueId }, this.iframe.contentWindow); return response.body; } catch (response) { throw response.body; } } + /** + * Updates filters at the filter level. + * Default filter level is visual level. + * + * ```javascript + * const filters: [ + * ... + * ]; + * + * visual.updateFilters(FiltersOperations.Add, filters, filtersLevel) + * .catch(errors => { + * ... + * }); + * ``` + * + * @param {(IFilter[])} filters + * @returns {Promise>} + */ + async updateFilters(operation: FiltersOperations, filters: IFilter[], filtersLevel?: FiltersLevel): Promise> { + const updateFiltersRequest: IUpdateFiltersRequest = { + filtersOperation: operation, + filters: filters as VisualLevelFilters[] | PageLevelFilters[] | ReportLevelFilters[] + }; + + const url: string = this.getFiltersLevelUrl(filtersLevel); + try { + return await this.service.hpm.put(url, updateFiltersRequest, { uid: this.config.uniqueId }, this.iframe.contentWindow); + } catch (response) { + throw response.body; + } + } + /** * Sets filters at the filter level. * Default filter level is visual level. @@ -203,10 +253,10 @@ export class Visual extends Report { * }); * ``` * - * @param {(models.IFilter[])} filters + * @param {(IFilter[])} filters * @returns {Promise>} */ - async setFilters(filters: models.IFilter[], filtersLevel?: models.FiltersLevel): Promise> { + async setFilters(filters: IFilter[], filtersLevel?: FiltersLevel): Promise> { const url: string = this.getFiltersLevelUrl(filtersLevel); try { return await this.service.hpm.put(url, filters, { uid: this.config.uniqueId }, this.iframe.contentWindow); @@ -225,19 +275,19 @@ export class Visual extends Report { * * @returns {Promise>} */ - async removeFilters(filtersLevel?: models.FiltersLevel): Promise> { - return await this.setFilters([], filtersLevel); + async removeFilters(filtersLevel?: FiltersLevel): Promise> { + return await this.updateFilters(FiltersOperations.RemoveAll, undefined, filtersLevel); } /** * @hidden */ - private getFiltersLevelUrl(filtersLevel: models.FiltersLevel): string { - const config = this.config; + private getFiltersLevelUrl(filtersLevel: FiltersLevel): string { + const config = this.config as IVisualEmbedConfiguration; switch (filtersLevel) { - case models.FiltersLevel.Report: + case FiltersLevel.Report: return `/report/filters`; - case models.FiltersLevel.Page: + case FiltersLevel.Page: return `/report/pages/${config.pageName}/filters`; default: return `/report/pages/${config.pageName}/visuals/${config.visualName}/filters`; diff --git a/src/visualDescriptor.ts b/src/visualDescriptor.ts index 29a7be1c..cd401cc3 100644 --- a/src/visualDescriptor.ts +++ b/src/visualDescriptor.ts @@ -1,7 +1,20 @@ -import * as models from 'powerbi-models'; +import { + ExportDataType, + FiltersOperations, + ICloneVisualRequest, + ICloneVisualResponse, + IExportDataRequest, + IExportDataResult, + IFilter, + ISlicerState, + ISortByVisualRequest, + IUpdateFiltersRequest, + IVisualLayout, + VisualLevelFilters +} from 'powerbi-models'; +import { IHttpPostMessageResponse } from 'http-post-message'; import { IFilterable } from './ifilterable'; import { IPageNode } from './page'; -import { IHttpPostMessageResponse } from 'http-post-message'; /** * A Visual node within a report hierarchy @@ -13,7 +26,7 @@ export interface IVisualNode { name: string; title: string; type: string; - layout: models.IVisualLayout; + layout: IVisualLayout; page: IPageNode; } @@ -51,7 +64,7 @@ export class VisualDescriptor implements IVisualNode, IFilterable { * * @type {string} */ - layout: models.IVisualLayout; + layout: IVisualLayout; /** * The parent Power BI page that contains this visual @@ -63,7 +76,7 @@ export class VisualDescriptor implements IVisualNode, IFilterable { /** * @hidden */ - constructor(page: IPageNode, name: string, title: string, type: string, layout: models.IVisualLayout) { + constructor(page: IPageNode, name: string, title: string, type: string, layout: IVisualLayout) { this.name = name; this.title = title; this.type = type; @@ -79,17 +92,41 @@ export class VisualDescriptor implements IVisualNode, IFilterable { * .then(filters => { ... }); * ``` * - * @returns {(Promise)} + * @returns {(Promise)} */ - async getFilters(): Promise { + async getFilters(): Promise { try { - const response = await this.page.report.service.hpm.get(`/report/pages/${this.page.name}/visuals/${this.name}/filters`, { uid: this.page.report.config.uniqueId }, this.page.report.iframe.contentWindow); + const response = await this.page.report.service.hpm.get(`/report/pages/${this.page.name}/visuals/${this.name}/filters`, { uid: this.page.report.config.uniqueId }, this.page.report.iframe.contentWindow); return response.body; } catch (response) { throw response.body; } } + /** + * Update the filters for the current visual according to the operation: Add, replace all, replace by target or remove. + * + * ```javascript + * visual.updateFilters(FiltersOperations.Add, filters) + * .catch(errors => { ... }); + * ``` + * + * @param {(IFilter[])} filters + * @returns {Promise>} + */ + async updateFilters(operation: FiltersOperations, filters?: IFilter[]): Promise> { + const updateFiltersRequest: IUpdateFiltersRequest = { + filtersOperation: operation, + filters: filters as VisualLevelFilters[] + }; + + try { + return await this.page.report.service.hpm.post(`/report/pages/${this.page.name}/visuals/${this.name}/filters`, updateFiltersRequest, { uid: this.page.report.config.uniqueId }, this.page.report.iframe.contentWindow); + } catch (response) { + throw response.body; + } + } + /** * Removes all filters from the current visual. * @@ -100,7 +137,7 @@ export class VisualDescriptor implements IVisualNode, IFilterable { * @returns {Promise>} */ async removeFilters(): Promise> { - return await this.setFilters([]); + return await this.updateFilters(FiltersOperations.RemoveAll); } /** @@ -111,10 +148,10 @@ export class VisualDescriptor implements IVisualNode, IFilterable { * .catch(errors => { ... }); * ``` * - * @param {(models.IFilter[])} filters + * @param {(IFilter[])} filters * @returns {Promise>} */ - async setFilters(filters: models.IFilter[]): Promise> { + async setFilters(filters: IFilter[]): Promise> { try { return await this.page.report.service.hpm.put(`/report/pages/${this.page.name}/visuals/${this.name}/filters`, filters, { uid: this.page.report.config.uniqueId }, this.page.report.iframe.contentWindow); } catch (response) { @@ -126,22 +163,22 @@ export class VisualDescriptor implements IVisualNode, IFilterable { * Exports Visual data. * Can export up to 30K rows. * @param rows: Optional. Default value is 30K, maximum value is 30K as well. - * @param exportDataType: Optional. Default is models.ExportDataType.Summarized. + * @param exportDataType: Optional. Default is ExportDataType.Summarized. * ```javascript * visual.exportData() * .then(data => { ... }); * ``` * - * @returns {(Promise)} + * @returns {(Promise)} */ - async exportData(exportDataType?: models.ExportDataType, rows?: number): Promise { - const exportDataRequestBody: models.IExportDataRequest = { + async exportData(exportDataType?: ExportDataType, rows?: number): Promise { + const exportDataRequestBody: IExportDataRequest = { rows: rows, exportDataType: exportDataType }; try { - const response = await this.page.report.service.hpm.post(`/report/pages/${this.page.name}/visuals/${this.name}/exportData`, exportDataRequestBody, { uid: this.page.report.config.uniqueId }, this.page.report.iframe.contentWindow); + const response = await this.page.report.service.hpm.post(`/report/pages/${this.page.name}/visuals/${this.name}/exportData`, exportDataRequestBody, { uid: this.page.report.config.uniqueId }, this.page.report.iframe.contentWindow); return response.body; } catch (response) { throw response.body; @@ -157,7 +194,7 @@ export class VisualDescriptor implements IVisualNode, IFilterable { * .then(() => { ... }); * ``` */ - async setSlicerState(state: models.ISlicerState): Promise> { + async setSlicerState(state: ISlicerState): Promise> { try { return await this.page.report.service.hpm.put(`/report/pages/${this.page.name}/visuals/${this.name}/slicer`, state, { uid: this.page.report.config.uniqueId }, this.page.report.iframe.contentWindow); } catch (response) { @@ -174,11 +211,11 @@ export class VisualDescriptor implements IVisualNode, IFilterable { * .then(state => { ... }); * ``` * - * @returns {(Promise)} + * @returns {(Promise)} */ - async getSlicerState(): Promise { + async getSlicerState(): Promise { try { - const response = await this.page.report.service.hpm.get(`/report/pages/${this.page.name}/visuals/${this.name}/slicer`, { uid: this.page.report.config.uniqueId }, this.page.report.iframe.contentWindow); + const response = await this.page.report.service.hpm.get(`/report/pages/${this.page.name}/visuals/${this.name}/slicer`, { uid: this.page.report.config.uniqueId }, this.page.report.iframe.contentWindow); return response.body; } catch (response) { throw response.body; @@ -188,11 +225,11 @@ export class VisualDescriptor implements IVisualNode, IFilterable { /** * Clone existing visual to a new instance. * - * @returns {(Promise)} + * @returns {(Promise)} */ - async clone(request: models.ICloneVisualRequest = {}): Promise { + async clone(request: ICloneVisualRequest = {}): Promise { try { - const response = await this.page.report.service.hpm.post(`/report/pages/${this.page.name}/visuals/${this.name}/clone`, request, { uid: this.page.report.config.uniqueId }, this.page.report.iframe.contentWindow); + const response = await this.page.report.service.hpm.post(`/report/pages/${this.page.name}/visuals/${this.name}/clone`, request, { uid: this.page.report.config.uniqueId }, this.page.report.iframe.contentWindow); return response.body; } catch (response) { throw response.body; @@ -209,7 +246,7 @@ export class VisualDescriptor implements IVisualNode, IFilterable { * .then(() => { ... }); * ``` */ - async sortBy(request: models.ISortByVisualRequest): Promise> { + async sortBy(request: ISortByVisualRequest): Promise> { try { return await this.page.report.service.hpm.put(`/report/pages/${this.page.name}/visuals/${this.name}/sortBy`, request, { uid: this.page.report.config.uniqueId }, this.page.report.iframe.contentWindow); } catch (response) { diff --git a/test/test.spec.ts b/test/test.spec.ts index c1a14dd3..1c7cfdcb 100644 --- a/test/test.spec.ts +++ b/test/test.spec.ts @@ -3140,14 +3140,14 @@ describe('SDK-to-HPM', function () { describe('getVisualDescriptor', function () { it('embeddedVisual.getVisualDescriptor() sends GET /report/pages/xyz/visuals', function () { // Arrange - + // Act embeddedVisual.getVisualDescriptor(); - + // Assert expect(spyHpm.get).toHaveBeenCalledWith(`/report/pages/ReportSection1/visuals`, { uid: visualUniqueId }, visualFrame.contentWindow); }); - + it('embeddedVisual.getVisualDescriptor() returns promise that rejects with server error if there was error getting visual details', function (done) { // Arrange const testData = { @@ -3157,9 +3157,9 @@ describe('SDK-to-HPM', function () { } } }; - + spyHpm.get.and.returnValue(Promise.reject(testData.expectedError)); - + // Act embeddedVisual.getVisualDescriptor() .catch(error => { @@ -3169,7 +3169,7 @@ describe('SDK-to-HPM', function () { done(); }); }); - + it('embeddedVisual.getVisualDescriptor() returns promise that resolves with visual details', function (done) { // Arrange const fakeVisualDescriptor = new visualDescriptor.VisualDescriptor(page1, visualEmbedConfiguration.visualName, 'title', 'type', {}); @@ -3454,18 +3454,18 @@ describe('SDK-to-HPM', function () { report.removeFilters(); // Assert - expect(spyHpm.put).toHaveBeenCalledWith('/report/filters', [], { uid: uniqueId }, iframe.contentWindow); + expect(spyHpm.post).toHaveBeenCalledWith('/report/filters', { filtersOperation: models.FiltersOperations.RemoveAll, filters: undefined }, { uid: uniqueId }, iframe.contentWindow); }); it('report.removeFilters() returns promise that resolves with null if request is accepted', function (done) { // Arrange - spyHpm.put.and.returnValue(Promise.resolve(null)); + spyHpm.post.and.returnValue(Promise.resolve(null)); // Act report.removeFilters() .then(response => { // Assert - expect(spyHpm.put).toHaveBeenCalledWith('/report/filters', [], { uid: uniqueId }, iframe.contentWindow); + expect(spyHpm.post).toHaveBeenCalledWith('/report/filters', { filtersOperation: models.FiltersOperations.RemoveAll, filters: undefined }, { uid: uniqueId }, iframe.contentWindow); expect(response).toEqual(null); done(); }); @@ -3996,18 +3996,18 @@ describe('SDK-to-HPM', function () { page1.removeFilters(); // Assert - expect(spyHpm.put).toHaveBeenCalledWith(`/report/pages/${page1.name}/filters`, [], { uid: uniqueId }, iframe.contentWindow); + expect(spyHpm.post).toHaveBeenCalledWith(`/report/pages/${page1.name}/filters`, { filtersOperation: models.FiltersOperations.RemoveAll, filters: undefined }, { uid: uniqueId }, iframe.contentWindow); }); it('page.removeFilters() returns promise that resolves with null if request is accepted', function (done) { // Arrange - spyHpm.put.and.returnValue(Promise.resolve(null)); + spyHpm.post.and.returnValue(Promise.resolve(null)); // Act page1.removeFilters() .then(response => { // Assert - expect(spyHpm.put).toHaveBeenCalledWith(`/report/pages/${page1.name}/filters`, [], { uid: uniqueId }, iframe.contentWindow); + expect(spyHpm.post).toHaveBeenCalledWith(`/report/pages/${page1.name}/filters`, { filtersOperation: models.FiltersOperations.RemoveAll, filters: undefined }, { uid: uniqueId }, iframe.contentWindow); expect(response).toEqual(null); done(); }); @@ -4243,7 +4243,7 @@ describe('SDK-to-HPM', function () { visual1.removeFilters(); // Assert - expect(spyHpm.put).toHaveBeenCalledWith(`/report/pages/${page1.name}/visuals/${visual1.name}/filters`, [], { uid: uniqueId }, iframe.contentWindow); + expect(spyHpm.post).toHaveBeenCalledWith(`/report/pages/${page1.name}/visuals/${visual1.name}/filters`, { filtersOperation: models.FiltersOperations.RemoveAll, filters: undefined }, { uid: uniqueId }, iframe.contentWindow); }); it('visual.removeFilters() returns promise that resolves with null if request is accepted', function (done) { @@ -4254,7 +4254,7 @@ describe('SDK-to-HPM', function () { visual1.removeFilters() .then(response => { // Assert - expect(spyHpm.put).toHaveBeenCalledWith(`/report/pages/${page1.name}/visuals/${visual1.name}/filters`, [], { uid: uniqueId }, iframe.contentWindow); + expect(spyHpm.post).toHaveBeenCalledWith(`/report/pages/${page1.name}/visuals/${visual1.name}/filters`, { filtersOperation: models.FiltersOperations.RemoveAll, filters: undefined }, { uid: uniqueId }, iframe.contentWindow); expect(response).toEqual(null); done(); }); @@ -4843,12 +4843,12 @@ describe('SDK-to-MockApp', function () { // Arrange iframeLoaded .then(() => { - spyApp.setFilters.and.returnValue(Promise.resolve(null)); + spyApp.updateFilters.and.returnValue(Promise.resolve(null)); // Act report.removeFilters() .then(response => { // Assert - expect(spyApp.setFilters).toHaveBeenCalled(); + expect(spyApp.updateFilters).toHaveBeenCalledWith(models.FiltersOperations.RemoveAll, undefined); done(); }); }); @@ -5050,12 +5050,12 @@ describe('SDK-to-MockApp', function () { // Arrange iframeLoaded .then(() => { - spyApp.setFilters.and.returnValue(Promise.resolve(null)); + spyApp.updateFilters.and.returnValue(Promise.resolve(null)); // Act page1.removeFilters() .then(response => { // Assert - expect(spyApp.setFilters).toHaveBeenCalled(); + expect(spyApp.updateFilters).toHaveBeenCalledWith(models.FiltersOperations.RemoveAll, undefined); done(); }); }); diff --git a/test/utility/mockApp.ts b/test/utility/mockApp.ts index 0574ce01..0c97e836 100644 --- a/test/utility/mockApp.ts +++ b/test/utility/mockApp.ts @@ -18,6 +18,7 @@ export interface IApp { validateVisual(page: models.IPage, visual: models.IVisual): Promise; // Filters getFilters(): Promise; + updateFilters(operation: models.FiltersOperations, filters: models.IFilter[]): Promise; setFilters(filters: models.IFilter[]): Promise; validateFilter(filter: models.IFilter): Promise; // Other @@ -49,6 +50,7 @@ export const mockAppSpyObj = { validateVisual: jasmine.createSpy("validateVisual").and.returnValue(Promise.resolve(null)), // Filters getFilters: jasmine.createSpy("getFilters").and.returnValue(Promise.resolve(null)), + updateFilters: jasmine.createSpy("updateFilters").and.returnValue(Promise.resolve(null)), setFilters: jasmine.createSpy("setFilters").and.returnValue(Promise.resolve(null)), validateFilter: jasmine.createSpy("validateFilter").and.callFake(models.validateFilter), // Other @@ -65,6 +67,7 @@ export const mockAppSpyObj = { mockAppSpyObj.dashboardLoad.calls.reset(); mockAppSpyObj.validateDashboardLoad.calls.reset(); mockAppSpyObj.reportLoad.calls.reset(); + mockAppSpyObj.render.calls.reset(); mockAppSpyObj.validateReportLoad.calls.reset(); mockAppSpyObj.updateSettings.calls.reset(); mockAppSpyObj.validateSettings.calls.reset(); @@ -73,6 +76,7 @@ export const mockAppSpyObj = { mockAppSpyObj.validatePage.calls.reset(); mockAppSpyObj.validateVisual.calls.reset(); mockAppSpyObj.getFilters.calls.reset(); + mockAppSpyObj.updateFilters.calls.reset(); mockAppSpyObj.setFilters.calls.reset(); mockAppSpyObj.validateFilter.calls.reset(); mockAppSpyObj.print.calls.reset(); diff --git a/test/utility/mockEmbed.ts b/test/utility/mockEmbed.ts index 7c2dadf5..3a5d7c7c 100644 --- a/test/utility/mockEmbed.ts +++ b/test/utility/mockEmbed.ts @@ -40,7 +40,7 @@ export function setupEmbedMockApp(iframeContentWindow: Window, parentWindow: Win /** * Phase 1 */ - + /** * Dashboard Embed */ @@ -58,13 +58,13 @@ export function setupEmbedMockApp(iframeContentWindow: Window, parentWindow: Win }, error => { hpm.post(`/dashboards/${uniqueId}/events/error`, error); }); - + res.send(202); }, error => { res.send(400, error); }); }); - + /** * Create Report */ @@ -208,6 +208,30 @@ export function setupEmbedMockApp(iframeContentWindow: Window, parentWindow: Win }); }); + router.post('/report/filters', (req, res) => { + const uniqueId = req.headers['uid']; + const operation = req.body.filtersOperation + const filters = req.body.filters; + + return Promise.all(filters ? filters.map(filter => app.validateFilter(filter)) : [Promise.resolve(null)]) + .then(() => { + app.updateFilters(operation, filters) + .then(filter => { + const initiator = "sdk"; + hpm.post(`/reports/${uniqueId}/events/filtersApplied`, { + initiator, + filter + }); + }, error => { + hpm.post(`/reports/${uniqueId}/events/error`, error); + }); + + res.send(202); + }, error => { + res.send(400, error); + }); + }); + /** * Phase 3 */ @@ -230,6 +254,36 @@ export function setupEmbedMockApp(iframeContentWindow: Window, parentWindow: Win }); }); + router.post('/report/pages/:pageName/filters', (req, res) => { + const pageName = req.params.pageName; + const uniqueId = req.headers['uid']; + const operation = req.body.filtersOperation + const filters = req.body.filters; + const page: models.IPage = { + name: pageName, + displayName: null + }; + + return app.validatePage(page) + .then(() => Promise.all(filters ? filters.map(filter => app.validateFilter(filter)) : [Promise.resolve(null)])) + .then(() => { + app.updateFilters(operation, filters) + .then(filter => { + const initiator = "sdk"; + hpm.post(`/reports/${uniqueId}/pages/${pageName}/events/filtersApplied`, { + initiator, + filter + }); + }, error => { + hpm.post(`/reports/${uniqueId}/events/error`, error); + }); + + res.send(202); + }, errors => { + res.send(400, errors); + }); + }); + router.put('/report/pages/:pageName/filters', (req, res) => { const pageName = req.params.pageName; const uniqueId = req.headers['uid']; @@ -284,6 +338,42 @@ export function setupEmbedMockApp(iframeContentWindow: Window, parentWindow: Win }); }); + router.post('/report/pages/:pageName/visuals/:visualName/filters', (req, res) => { + const pageName = req.params.pageName; + const visualName = req.params.visualName; + const uniqueId = req.headers['uid']; + const operation = req.body.filtersOperation + const filters = req.body.filters; const page: models.IPage = { + name: pageName, + displayName: null + }; + const visual: models.IVisual = { + name: visualName, + title: 'title', + type: 'type', + layout: {}, + }; + + return app.validateVisual(page, visual) + .then(() => Promise.all(filters ? filters.map(filter => app.validateFilter(filter)) : [Promise.resolve(null)])) + .then(() => { + app.updateFilters(operation, filters) + .then(filter => { + const initiator = "sdk"; + hpm.post(`/reports/${uniqueId}/pages/${pageName}/visuals/${visualName}/events/filtersApplied`, { + initiator, + filter + }); + }, error => { + hpm.post(`/reports/${uniqueId}/events/error`, error); + }); + + res.send(202); + }, errors => { + res.send(400, errors); + }); + }); + router.put('/report/pages/:pageName/visuals/:visualName/filters', (req, res) => { const pageName = req.params.pageName; const visualName = req.params.visualName; @@ -363,7 +453,7 @@ export function setupEmbedMockApp(iframeContentWindow: Window, parentWindow: Win res.send(202); }); - router.post('report/switchMode/Edit', (req, res) => { + router.post('report/switchMode/Edit', (req, res) => { app.switchMode(); res.send(202); }); From ad2b4c2c3f41504259406023b2665817acce50e2 Mon Sep 17 00:00:00 2001 From: Nerya Cohen Date: Wed, 13 Jan 2021 10:04:59 +0200 Subject: [PATCH 050/125] fix merge issues --- package.json | 1 - test/test.spec.ts | 88 ++++++++--------------------------------------- 2 files changed, 14 insertions(+), 75 deletions(-) diff --git a/package.json b/package.json index 08ef3c18..fc04a75d 100644 --- a/package.json +++ b/package.json @@ -14,7 +14,6 @@ "build": "gulp build", "start": "http-server ./demo", "prestart": "cd demo && npm install", - "pretest": "typings install && gulp build", "test": "gulp test", "gulp": "gulp" }, diff --git a/test/test.spec.ts b/test/test.spec.ts index 259708ad..c1a14dd3 100644 --- a/test/test.spec.ts +++ b/test/test.spec.ts @@ -79,84 +79,24 @@ describe('service', function () { }); describe('init', function () { - describe('embeds all components found in the DOM', function () { - let powerbi: service.Service; // redefined for this scope - - beforeEach(function() { - powerbi = new service.Service(factories.hpmFactory, factories.wpmpFactory, factories.routerFactory); - powerbi.accessToken = 'ABC123'; - }); - - afterEach(function () { - powerbi.wpmp.stop(); - powerbi = null; - }); - - 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(); + it('embeds all components found in the DOM', function () { + // Arrange + const elements = [ + '
', + '
', + ]; - // 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); + elements.forEach(element => { + $(element).appendTo('#powerbi-fixture'); }); - it('should work with multiple elements with duplicated id', function () { - // Arrange - const elements = [ - '
', - '
', - ]; - - elements.forEach(element => { - $(element).appendTo('#powerbi-fixture'); - }); - - // Act - powerbi.init(); + // 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); - }); + // 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('embeds all components found in the DOM without id attribute', function () { From 5157b61f5028dad5bd1372c46d7e24be8c12ef29 Mon Sep 17 00:00:00 2001 From: Mayur Garhwal Date: Fri, 15 Jan 2021 06:34:10 +0000 Subject: [PATCH 051/125] Merged PR 139121: Fix powerbi.reset to remove all event handlers ## In this PR: - Fix powerbi.reset to remove all event handlers - Resolves [Bug 510340](https://dev.azure.com/powerbi/Embedded/_workitems/edit/510340): [Power BI JS SDK]: Reset command doesn't clear the registered events of the removed artifact from the container Related work items: #510340, #510902 --- dist/powerbi-client.d.ts | 2 +- dist/powerbi.js | 8 ++++++-- dist/powerbi.min.js | 4 ++-- package.json | 2 +- src/config.ts | 2 +- src/service.ts | 5 +++++ 6 files changed, 16 insertions(+), 7 deletions(-) diff --git a/dist/powerbi-client.d.ts b/dist/powerbi-client.d.ts index 6ba35a4b..cd10f2e6 100644 --- a/dist/powerbi-client.d.ts +++ b/dist/powerbi-client.d.ts @@ -1,4 +1,4 @@ -/*! powerbi-client v2.17.0 | (c) 2016 Microsoft Corporation MIT */ +/*! powerbi-client v2.17.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 8e137622..76f9d55a 100644 --- a/dist/powerbi.js +++ b/dist/powerbi.js @@ -1,4 +1,4 @@ -/*! powerbi-client v2.17.0 | (c) 2016 Microsoft Corporation MIT */ +/*! powerbi-client v2.17.1 | (c) 2016 Microsoft Corporation MIT */ (function webpackUniversalModuleDefinition(root, factory) { if(typeof exports === 'object' && typeof module === 'object') module.exports = factory(); @@ -5973,7 +5973,7 @@ exports.BookmarksManager = BookmarksManager; Object.defineProperty(exports, "__esModule", { value: true }); /** @ignore */ /** */ var config = { - version: '2.17.0', + version: '2.17.1', type: 'js' }; exports.default = config; @@ -8774,6 +8774,10 @@ var Service = /** @class */ (function () { if (embedElement.frontLoadHandler) { embedElement.element.removeEventListener('ready', embedElement.frontLoadHandler, false); } + /** Removes all event handlers. */ + embedElement.allowedEvents.forEach(function (eventName) { + embedElement.off(eventName); + }); /** Removes the component from an internal list of components. */ utils.remove(function (x) { return x === powerBiElement.powerBiEmbed; }, this.embeds); /** Deletes a property from the HTML element. */ diff --git a/dist/powerbi.min.js b/dist/powerbi.min.js index dfcdc53b..9d57b9c1 100644 --- a/dist/powerbi.min.js +++ b/dist/powerbi.min.js @@ -1,7 +1,7 @@ -/*! powerbi-client v2.17.0 | (c) 2016 Microsoft Corporation MIT */ +/*! powerbi-client v2.17.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){var e={};function r(a){if(e[a])return e[a].exports;var i=e[a]={i:a,l:!1,exports:{}};return t[a].call(i.exports,i,i.exports,r),i.l=!0,i.exports}return r.m=t,r.c=e,r.d=function(t,e,a){r.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:a})},r.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},r.t=function(t,e){if(1&e&&(t=r(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var a=Object.create(null);if(r.r(a),Object.defineProperty(a,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var i in t)r.d(a,i,function(e){return t[e]}.bind(null,i));return a},r.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return r.d(e,"a",e),e},r.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},r.p="",r(r.s=12)}([function(t,e,r){ /*! powerbi-models v1.8.0 | (c) 2016 Microsoft Corporation MIT */ -var a;a=function(){return function(t){var e={};function r(a){if(e[a])return e[a].exports;var i=e[a]={i:a,l:!1,exports:{}};return t[a].call(i.exports,i,i.exports,r),i.l=!0,i.exports}return r.m=t,r.c=e,r.d=function(t,e,a){r.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:a})},r.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},r.t=function(t,e){if(1&e&&(t=r(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var a=Object.create(null);if(r.r(a),Object.defineProperty(a,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var i in t)r.d(a,i,function(e){return t[e]}.bind(null,i));return a},r.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return r.d(e,"a",e),e},r.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},r.p="",r(r.s=0)}([function(t,e,r){var a,i=this&&this.__extends||(a=function(t,e){return(a=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])})(t,e)},function(t,e){function r(){this.constructor=t}a(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.validateCustomTheme=e.validateCommandsSettings=e.validateVisualSettings=e.validateVisualHeader=e.validateExportDataRequest=e.validateQnaInterpretInputData=e.validateLoadQnaConfiguration=e.validateSaveAsParameters=e.validateUpdateFiltersRequest=e.validateFilter=e.validatePage=e.validateTileLoad=e.validateDashboardLoad=e.validateCreateReport=e.validateReportLoad=e.validateMenuGroupExtension=e.validateExtension=e.validateCustomPageSize=e.validateVisualizationsPane=e.validateSyncSlicersPane=e.validateSelectionPane=e.validatePageNavigationPane=e.validateFieldsPane=e.validateFiltersPane=e.validateBookmarksPane=e.validatePanes=e.validateSettings=e.validateCaptureBookmarkRequest=e.validateApplyBookmarkStateRequest=e.validateApplyBookmarkByNameRequest=e.validateAddBookmarkRequest=e.validatePlayBookmarkRequest=e.validateSlicerState=e.validateSlicer=e.validateVisualSelector=e.isIExtensionArray=e.isIExtensions=e.isGroupedMenuExtension=e.isFlatMenuExtension=e.VisualDataRoleKindPreference=e.VisualDataRoleKind=e.CommandDisplayOption=e.SlicerTargetSelector=e.VisualTypeSelector=e.VisualSelector=e.PageSelector=e.Selector=e.SortDirection=e.LegendPosition=e.TextAlignment=e.CommonErrorCodes=e.BookmarksPlayMode=e.ExportDataType=e.QnaMode=e.PageNavigationPosition=e.isColumnAggr=e.isHierarchyLevelAggr=e.isHierarchyLevel=e.isColumn=e.isMeasure=e.getFilterType=e.isBasicFilterWithKeys=e.isFilterKeyColumnsTarget=e.AdvancedFilter=e.TupleFilter=e.BasicFilterWithKeys=e.BasicFilter=e.RelativeTimeFilter=e.RelativeDateFilter=e.TopNFilter=e.IncludeExcludeFilter=e.NotSupportedFilter=e.Filter=e.RelativeDateOperators=e.RelativeDateFilterTimeUnit=e.FilterType=e.FiltersLevel=e.FiltersOperations=e.MenuLocation=e.ContrastMode=e.TokenType=e.ViewMode=e.Permissions=e.SectionVisibility=e.HyperlinkClickBehavior=e.LayoutType=e.VisualContainerDisplayMode=e.BackgroundType=e.DisplayOption=e.PageSizeType=e.TraceType=void 0;var o,n=r(1);!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"}(e.TraceType||(e.TraceType={})),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"}(e.PageSizeType||(e.PageSizeType={})),function(t){t[t.FitToPage=0]="FitToPage",t[t.FitToWidth=1]="FitToWidth",t[t.ActualSize=2]="ActualSize"}(e.DisplayOption||(e.DisplayOption={})),function(t){t[t.Default=0]="Default",t[t.Transparent=1]="Transparent"}(e.BackgroundType||(e.BackgroundType={})),function(t){t[t.Visible=0]="Visible",t[t.Hidden=1]="Hidden"}(e.VisualContainerDisplayMode||(e.VisualContainerDisplayMode={})),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={})),function(t){t[t.Navigate=0]="Navigate",t[t.NavigateAndRaiseEvent=1]="NavigateAndRaiseEvent",t[t.RaiseEvent=2]="RaiseEvent"}(e.HyperlinkClickBehavior||(e.HyperlinkClickBehavior={})),function(t){t[t.AlwaysVisible=0]="AlwaysVisible",t[t.HiddenInViewMode=1]="HiddenInViewMode"}(e.SectionVisibility||(e.SectionVisibility={})),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"}(e.Permissions||(e.Permissions={})),function(t){t[t.View=0]="View",t[t.Edit=1]="Edit"}(e.ViewMode||(e.ViewMode={})),function(t){t[t.Aad=0]="Aad",t[t.Embed=1]="Embed"}(e.TokenType||(e.TokenType={})),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"}(e.ContrastMode||(e.ContrastMode={})),function(t){t[t.Bottom=0]="Bottom",t[t.Top=1]="Top"}(e.MenuLocation||(e.MenuLocation={})),function(t){t[t.RemoveAll=0]="RemoveAll",t[t.ReplaceAll=1]="ReplaceAll",t[t.Add=2]="Add",t[t.Replace=3]="Replace"}(e.FiltersOperations||(e.FiltersOperations={})),function(t){t[t.Report=0]="Report",t[t.Page=1]="Page",t[t.Visual=2]="Visual"}(e.FiltersLevel||(e.FiltersLevel={})),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"}(o=e.FilterType||(e.FilterType={})),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"}(e.RelativeDateFilterTimeUnit||(e.RelativeDateFilterTimeUnit={})),function(t){t[t.InLast=0]="InLast",t[t.InThis=1]="InThis",t[t.InNext=2]="InNext"}(e.RelativeDateOperators||(e.RelativeDateOperators={}));var l=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=l;var s=function(t){function e(r,a,i){var n=t.call(this,r,o.Unknown)||this;return n.message=a,n.notSupportedTypeName=i,n.schemaUrl=e.schemaUrl,n}return i(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}(l);e.NotSupportedFilter=s;var d=function(t){function e(r,a,i){var n=t.call(this,r,o.IncludeExclude)||this;return n.values=i,n.isExclude=a,n.schemaUrl=e.schemaUrl,n}return i(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}(l);e.IncludeExcludeFilter=d;var u=function(t){function e(r,a,i,n){var l=t.call(this,r,o.TopN)||this;return l.operator=a,l.itemCount=i,l.schemaUrl=e.schemaUrl,l.orderBy=n,l}return i(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}(l);e.TopNFilter=u;var c=function(t){function e(r,a,i,n,l){var s=t.call(this,r,o.RelativeDate)||this;return s.operator=a,s.timeUnitsCount=i,s.timeUnitType=n,s.includeToday=l,s.schemaUrl=e.schemaUrl,s}return i(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}(l);e.RelativeDateFilter=c;var p=function(t){function e(r,a,i,n){var l=t.call(this,r,o.RelativeTime)||this;return l.operator=a,l.timeUnitsCount=i,l.timeUnitType=n,l.schemaUrl=e.schemaUrl,l}return i(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}(l);e.RelativeTimeFilter=p;var f=function(t){function e(r,a){for(var i=[],n=2;n0&&!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,s=o.keyValues;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 s.conditions=l,s}return i(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}(l);function m(t){if(t.filterType)return t.filterType;var e=t,r=t;return"string"==typeof e.operator&&Array.isArray(e.values)?o.Basic:"string"==typeof r.logicalOperator&&Array.isArray(r.conditions)?o.Advanced:o.Unknown}function V(t){return!(!t.table||!t.column||t.aggregationFunction)}e.AdvancedFilter=y,e.isFilterKeyColumnsTarget=function(t){return V(t)&&!!t.keys},e.isBasicFilterWithKeys=function(t){return m(t)===o.Basic&&!!t.keyValues},e.getFilterType=m,e.isMeasure=function(t){return void 0!==t.table&&void 0!==t.measure},e.isColumn=V,e.isHierarchyLevel=function(t){return!(!(t.table&&t.hierarchy&&t.hierarchyLevel)||t.aggregationFunction)},e.isHierarchyLevelAggr=function(t){return!!(t.table&&t.hierarchy&&t.hierarchyLevel&&t.aggregationFunction)},e.isColumnAggr=function(t){return!!(t.table&&t.column&&t.aggregationFunction)},function(t){t[t.Bottom=0]="Bottom",t[t.Left=1]="Left"}(e.PageNavigationPosition||(e.PageNavigationPosition={})),function(t){t[t.Interactive=0]="Interactive",t[t.ResultOnly=1]="ResultOnly"}(e.QnaMode||(e.QnaMode={})),function(t){t[t.Summarized=0]="Summarized",t[t.Underlying=1]="Underlying"}(e.ExportDataType||(e.ExportDataType={})),function(t){t[t.Off=0]="Off",t[t.Presentation=1]="Presentation"}(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"},function(t){t[t.Ascending=1]="Ascending",t[t.Descending=2]="Descending"}(e.SortDirection||(e.SortDirection={}));var g=function(){function t(t){this.$schema=t}return t.prototype.toJSON=function(){return{$schema:this.$schema}},t}();e.Selector=g;var b=function(t){function e(r){var a=t.call(this,e.schemaUrl)||this;return a.pageName=r,a}return i(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}(g);e.PageSelector=b;var w=function(t){function e(r){var a=t.call(this,e.schemaUrl)||this;return a.visualName=r,a}return i(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}(g);e.VisualSelector=w;var P=function(t){function e(e){var r=t.call(this,w.schemaUrl)||this;return r.visualType=e,r}return i(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}(g);e.VisualTypeSelector=P;var _=function(t){function e(e){var r=t.call(this,w.schemaUrl)||this;return r.target=e,r}return i(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}(g);function S(t){return t&&!!t.groupName}function E(t){return Array.isArray(t)}function O(t){var e=t.message;return e||(e=t.path+" is invalid. Not meeting "+t.keyword+" constraint"),{message:e}}e.SlicerTargetSelector=_,function(t){t[t.Enabled=0]="Enabled",t[t.Disabled=1]="Disabled",t[t.Hidden=2]="Hidden"}(e.CommandDisplayOption||(e.CommandDisplayOption={})),function(t){t[t.Grouping=0]="Grouping",t[t.Measure=1]="Measure",t[t.GroupingOrMeasure=2]="GroupingOrMeasure"}(e.VisualDataRoleKind||(e.VisualDataRoleKind={})),function(t){t[t.Measure=0]="Measure",t[t.Grouping=1]="Grouping"}(e.VisualDataRoleKindPreference||(e.VisualDataRoleKindPreference={})),e.isFlatMenuExtension=function(t){return t&&!S(t)},e.isGroupedMenuExtension=S,e.isIExtensions=function(t){return t&&!E(t)},e.isIExtensionArray=E,e.validateVisualSelector=function(t){var e=n.Validators.visualSelectorValidator.validate(t);return e?e.map(O):void 0},e.validateSlicer=function(t){var e=n.Validators.slicerValidator.validate(t);return e?e.map(O):void 0},e.validateSlicerState=function(t){var e=n.Validators.slicerStateValidator.validate(t);return e?e.map(O):void 0},e.validatePlayBookmarkRequest=function(t){var e=n.Validators.playBookmarkRequestValidator.validate(t);return e?e.map(O):void 0},e.validateAddBookmarkRequest=function(t){var e=n.Validators.addBookmarkRequestValidator.validate(t);return e?e.map(O):void 0},e.validateApplyBookmarkByNameRequest=function(t){var e=n.Validators.applyBookmarkByNameRequestValidator.validate(t);return e?e.map(O):void 0},e.validateApplyBookmarkStateRequest=function(t){var e=n.Validators.applyBookmarkStateRequestValidator.validate(t);return e?e.map(O):void 0},e.validateCaptureBookmarkRequest=function(t){var e=n.Validators.captureBookmarkRequestValidator.validate(t);return e?e.map(O):void 0},e.validateSettings=function(t){var e=n.Validators.settingsValidator.validate(t);return e?e.map(O):void 0},e.validatePanes=function(t){var e=n.Validators.reportPanesValidator.validate(t);return e?e.map(O):void 0},e.validateBookmarksPane=function(t){var e=n.Validators.bookmarksPaneValidator.validate(t);return e?e.map(O):void 0},e.validateFiltersPane=function(t){var e=n.Validators.filtersPaneValidator.validate(t);return e?e.map(O):void 0},e.validateFieldsPane=function(t){var e=n.Validators.fieldsPaneValidator.validate(t);return e?e.map(O):void 0},e.validatePageNavigationPane=function(t){var e=n.Validators.pageNavigationPaneValidator.validate(t);return e?e.map(O):void 0},e.validateSelectionPane=function(t){var e=n.Validators.selectionPaneValidator.validate(t);return e?e.map(O):void 0},e.validateSyncSlicersPane=function(t){var e=n.Validators.syncSlicersPaneValidator.validate(t);return e?e.map(O):void 0},e.validateVisualizationsPane=function(t){var e=n.Validators.visualizationsPaneValidator.validate(t);return e?e.map(O):void 0},e.validateCustomPageSize=function(t){var e=n.Validators.customPageSizeValidator.validate(t);return e?e.map(O):void 0},e.validateExtension=function(t){var e=n.Validators.extensionValidator.validate(t);return e?e.map(O):void 0},e.validateMenuGroupExtension=function(t){var e=n.Validators.menuGroupExtensionValidator.validate(t);return e?e.map(O):void 0},e.validateReportLoad=function(t){var e=n.Validators.reportLoadValidator.validate(t);return e?e.map(O):void 0},e.validateCreateReport=function(t){var e=n.Validators.reportCreateValidator.validate(t);return e?e.map(O):void 0},e.validateDashboardLoad=function(t){var e=n.Validators.dashboardLoadValidator.validate(t);return e?e.map(O):void 0},e.validateTileLoad=function(t){var e=n.Validators.tileLoadValidator.validate(t);return e?e.map(O):void 0},e.validatePage=function(t){var e=n.Validators.pageValidator.validate(t);return e?e.map(O):void 0},e.validateFilter=function(t){var e=n.Validators.filterValidator.validate(t);return e?e.map(O):void 0},e.validateUpdateFiltersRequest=function(t){var e=n.Validators.updateFiltersRequestValidator.validate(t);return e?e.map(O):void 0},e.validateSaveAsParameters=function(t){var e=n.Validators.saveAsParametersValidator.validate(t);return e?e.map(O):void 0},e.validateLoadQnaConfiguration=function(t){var e=n.Validators.loadQnaValidator.validate(t);return e?e.map(O):void 0},e.validateQnaInterpretInputData=function(t){var e=n.Validators.qnaInterpretInputDataValidator.validate(t);return e?e.map(O):void 0},e.validateExportDataRequest=function(t){var e=n.Validators.exportDataRequestValidator.validate(t);return e?e.map(O):void 0},e.validateVisualHeader=function(t){var e=n.Validators.visualHeaderValidator.validate(t);return e?e.map(O):void 0},e.validateVisualSettings=function(t){var e=n.Validators.visualSettingsValidator.validate(t);return e?e.map(O):void 0},e.validateCommandsSettings=function(t){var e=n.Validators.commandsSettingsValidator.validate(t);return e?e.map(O):void 0},e.validateCustomTheme=function(t){var e=n.Validators.customThemeValidator.validate(t);return e?e.map(O):void 0}},function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.Validators=void 0;var a=r(2),i=r(5),o=r(6),n=r(7),l=r(8),s=r(9),d=r(10),u=r(11),c=r(12),p=r(13),f=r(14),h=r(15),v=r(16),y=r(17),m=r(18),V=r(19),g=r(20),b=r(21),w=r(22),P=r(23),_=r(24),S=r(25),E=r(26),O=r(27),T=r(28),F=r(4);e.Validators={addBookmarkRequestValidator:new i.AddBookmarkRequestValidator,advancedFilterTypeValidator:new F.EnumValidator([0]),advancedFilterValidator:new c.AdvancedFilterValidator,anyArrayValidator:new F.ArrayValidator([new S.AnyOfValidator([new F.StringValidator,new F.NumberValidator,new F.BooleanValidator])]),anyFilterValidator:new S.AnyOfValidator([new c.BasicFilterValidator,new c.AdvancedFilterValidator,new c.IncludeExcludeFilterValidator,new c.NotSupportedFilterValidator,new c.RelativeDateFilterValidator,new c.TopNFilterValidator,new c.RelativeTimeFilterValidator]),anyValueValidator:new S.AnyOfValidator([new F.StringValidator,new F.NumberValidator,new F.BooleanValidator]),actionBarValidator:new a.ActionBarValidator,applyBookmarkByNameRequestValidator:new i.ApplyBookmarkByNameRequestValidator,applyBookmarkStateRequestValidator:new i.ApplyBookmarkStateRequestValidator,applyBookmarkValidator:new S.AnyOfValidator([new i.ApplyBookmarkByNameRequestValidator,new i.ApplyBookmarkStateRequestValidator]),backgroundValidator:new F.EnumValidator([0,1]),basicFilterTypeValidator:new F.EnumValidator([1]),basicFilterValidator:new c.BasicFilterValidator,booleanArrayValidator:new F.BooleanArrayValidator,booleanValidator:new F.BooleanValidator,bookmarksPaneValidator:new h.BookmarksPaneValidator,captureBookmarkOptionsValidator:new i.CaptureBookmarkOptionsValidator,captureBookmarkRequestValidator:new i.CaptureBookmarkRequestValidator,commandDisplayOptionValidator:new F.EnumValidator([0,1,2]),commandExtensionSelectorValidator:new S.AnyOfValidator([new g.VisualSelectorValidator,new g.VisualTypeSelectorValidator]),commandExtensionArrayValidator:new F.ArrayValidator([new u.CommandExtensionValidator]),commandExtensionValidator:new u.CommandExtensionValidator,commandsSettingsArrayValidator:new F.ArrayValidator([new o.CommandsSettingsValidator]),commandsSettingsValidator:new o.CommandsSettingsValidator,conditionItemValidator:new c.ConditionItemValidator,contrastModeValidator:new F.EnumValidator([0,1,2,3,4]),customLayoutDisplayOptionValidator:new F.EnumValidator([0,1,2]),customLayoutValidator:new p.CustomLayoutValidator,customPageSizeValidator:new f.CustomPageSizeValidator,customThemeValidator:new n.CustomThemeValidator,dashboardLoadValidator:new l.DashboardLoadValidator,datasetBindingValidator:new s.DatasetBindingValidator,displayStateModeValidator:new F.EnumValidator([0,1]),displayStateValidator:new p.DisplayStateValidator,exportDataRequestValidator:new d.ExportDataRequestValidator,extensionArrayValidator:new F.ArrayValidator([new u.ExtensionValidator]),extensionsValidator:new S.AnyOfValidator([new F.ArrayValidator([new u.ExtensionValidator]),new u.ExtensionsValidator]),extensionPointsValidator:new u.ExtensionPointsValidator,extensionValidator:new u.ExtensionValidator,fieldForbiddenValidator:new E.FieldForbiddenValidator,fieldRequiredValidator:new O.FieldRequiredValidator,fieldsPaneValidator:new h.FieldsPaneValidator,filterColumnTargetValidator:new c.FilterColumnTargetValidator,filterDisplaySettingsValidator:new c.FilterDisplaySettingsValidator,filterConditionsValidator:new F.ArrayValidator([new c.ConditionItemValidator]),filterHierarchyTargetValidator:new c.FilterHierarchyTargetValidator,filterMeasureTargetValidator:new c.FilterMeasureTargetValidator,filterTargetValidator:new S.AnyOfValidator([new c.FilterColumnTargetValidator,new c.FilterHierarchyTargetValidator,new c.FilterMeasureTargetValidator]),filterValidator:new c.FilterValidator,filterTypeValidator:new F.EnumValidator([0,1,2,3,4,5,6,7]),filtersArrayValidator:new F.ArrayValidator([new c.FilterValidator]),filtersOperationsUpdateValidator:new F.EnumValidator([1,2,3]),filtersOperationsRemoveAllValidator:new F.EnumValidator([0]),filtersPaneValidator:new h.FiltersPaneValidator,hyperlinkClickBehaviorValidator:new F.EnumValidator([0,1,2]),includeExcludeFilterValidator:new c.IncludeExcludeFilterValidator,includeExludeFilterTypeValidator:new F.EnumValidator([3]),layoutTypeValidator:new F.EnumValidator([0,1,2,3]),loadQnaValidator:new v.LoadQnaValidator,menuExtensionValidator:new S.AnyOfValidator([new u.FlatMenuExtensionValidator,new u.GroupedMenuExtensionValidator]),menuGroupExtensionArrayValidator:new F.ArrayValidator([new u.MenuGroupExtensionValidator]),menuGroupExtensionValidator:new u.MenuGroupExtensionValidator,menuLocationValidator:new F.EnumValidator([0,1]),notSupportedFilterTypeValidator:new F.EnumValidator([2]),notSupportedFilterValidator:new c.NotSupportedFilterValidator,numberArrayValidator:new F.NumberArrayValidator,numberValidator:new F.NumberValidator,pageLayoutValidator:new T.MapValidator([new F.StringValidator],[new p.VisualLayoutValidator]),pageNavigationPaneValidator:new h.PageNavigationPaneValidator,pageNavigationPositionValidator:new F.EnumValidator([0,1]),pageSizeTypeValidator:new F.EnumValidator([0,1,2,3,4,5]),pageSizeValidator:new f.PageSizeValidator,pageValidator:new f.PageValidator,pageViewFieldValidator:new f.PageViewFieldValidator,pagesLayoutValidator:new T.MapValidator([new F.StringValidator],[new p.PageLayoutValidator]),reportBarsValidator:new a.ReportBarsValidator,reportPanesValidator:new h.ReportPanesValidator,permissionsValidator:new F.EnumValidator([0,1,2,4,7]),playBookmarkRequestValidator:new i.PlayBookmarkRequestValidator,qnaInterpretInputDataValidator:new v.QnaInterpretInputDataValidator,qnaSettingValidator:new v.QnaSettingsValidator,relativeDateFilterOperatorValidator:new F.EnumValidator([0,1,2]),relativeDateFilterTimeUnitTypeValidator:new F.EnumValidator([0,1,2,3,4,5,6]),relativeDateFilterTypeValidator:new F.EnumValidator([4]),relativeDateFilterValidator:new c.RelativeDateFilterValidator,relativeTimeFilterTimeUnitTypeValidator:new F.EnumValidator([7,8]),relativeTimeFilterTypeValidator:new F.EnumValidator([7]),relativeTimeFilterValidator:new c.RelativeTimeFilterValidator,reportCreateValidator:new y.ReportCreateValidator,reportLoadValidator:new m.ReportLoadValidator,saveAsParametersValidator:new V.SaveAsParametersValidator,selectionPaneValidator:new h.SelectionPaneValidator,settingsValidator:new b.SettingsValidator,singleCommandSettingsValidator:new o.SingleCommandSettingsValidator,slicerSelectorValidator:new S.AnyOfValidator([new g.VisualSelectorValidator,new g.SlicerTargetSelectorValidator]),slicerStateValidator:new w.SlicerStateValidator,slicerTargetValidator:new S.AnyOfValidator([new c.FilterColumnTargetValidator,new c.FilterHierarchyTargetValidator,new c.FilterMeasureTargetValidator,new c.FilterKeyColumnsTargetValidator,new c.FilterKeyHierarchyTargetValidator]),slicerValidator:new w.SlicerValidator,stringArrayValidator:new F.StringArrayValidator,stringValidator:new F.StringValidator,syncSlicersPaneValidator:new h.SyncSlicersPaneValidator,tileLoadValidator:new P.TileLoadValidator,tokenTypeValidator:new F.EnumValidator([0,1]),topNFilterTypeValidator:new F.EnumValidator([5]),topNFilterValidator:new c.TopNFilterValidator,updateFiltersRequestValidator:new S.AnyOfValidator([new c.UpdateFiltersRequestValidator,new c.RemoveFiltersRequestValidator]),viewModeValidator:new F.EnumValidator([0,1]),visualCommandSelectorValidator:new S.AnyOfValidator([new g.VisualSelectorValidator,new g.VisualTypeSelectorValidator]),visualHeaderSelectorValidator:new S.AnyOfValidator([new g.VisualSelectorValidator,new g.VisualTypeSelectorValidator]),visualHeaderSettingsValidator:new _.VisualHeaderSettingsValidator,visualHeaderValidator:new _.VisualHeaderValidator,visualHeadersValidator:new F.ArrayValidator([new _.VisualHeaderValidator]),visualizationsPaneValidator:new h.VisualizationsPaneValidator,visualLayoutValidator:new p.VisualLayoutValidator,visualSelectorValidator:new g.VisualSelectorValidator,visualSettingsValidator:new _.VisualSettingsValidator,visualTypeSelectorValidator:new g.VisualTypeSelectorValidator}},function(t,e,r){var a,i=this&&this.__extends||(a=function(t,e){return(a=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])})(t,e)},function(t,e){function r(){this.constructor=t}a(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.ActionBarValidator=e.ReportBarsValidator=void 0;var o=r(3),n=r(4),l=r(1),s=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i(e,t),e.prototype.validate=function(e,r,a){if(null==e)return null;var i=t.prototype.validate.call(this,e,r,a);if(i)return i;var n=[{field:"actionBar",validators:[l.Validators.actionBarValidator]}];return new o.MultipleFieldsValidator(n).validate(e,r,a)},e}(n.ObjectValidator);e.ReportBarsValidator=s;var d=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i(e,t),e.prototype.validate=function(e,r,a){if(null==e)return null;var i=t.prototype.validate.call(this,e,r,a);if(i)return i;var n=[{field:"visible",validators:[l.Validators.booleanValidator]}];return new o.MultipleFieldsValidator(n).validate(e,r,a)},e}(n.ObjectValidator);e.ActionBarValidator=d},function(t,e){Object.defineProperty(e,"__esModule",{value:!0}),e.MultipleFieldsValidator=void 0;var r=function(){function t(t){this.fieldValidatorsPairs=t}return t.prototype.validate=function(t,e,r){if(!this.fieldValidatorsPairs)return null;for(var a=e?e+"."+r:r,i=0,o=this.fieldValidatorsPairs;i0&&i[i.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0?"&":"?";return t+=a+e+"="+r},e.isSavedInternal=function(t,e,i){return r(this,void 0,void 0,(function(){return a(this,(function(r){switch(r.label){case 0:return r.trys.push([0,2,,3]),[4,t.get("/report/hasUnsavedChanges",{uid:e},i)];case 1:return[2,!r.sent().body];case 2:throw r.sent().body;case 3:return[2]}}))}))},e.isRDLEmbed=function(t){return t.toLowerCase().indexOf("/rdlembed?")>=0},e.autoAuthInEmbedUrl=function(t){return t&&decodeURIComponent(t).toLowerCase().indexOf("autoauth=true")>=0},e.getRandomValue=o,e.getTimeDiffInMilliseconds=function(t,e){return Math.abs(t.getTime()-e.getTime())}},function(t,e){Object.defineProperty(e,"__esModule",{value:!0}),e.EmbedUrlNotSupported=e.APINotSupportedForRDLError=void 0,e.APINotSupportedForRDLError="This API is currently not supported for RDL reports",e.EmbedUrlNotSupported="Embed URL is invalid for this scenario. Please use Power BI REST APIs to get the valid URL"},function(t,e,r){var a,i=this&&this.__extends||(a=function(t,e){return(a=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])})(t,e)},function(t,e){function r(){this.constructor=t}a(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}),o=this&&this.__awaiter||function(t,e,r,a){return new(r||(r=Promise))((function(i,o){function n(t){try{s(a.next(t))}catch(t){o(t)}}function l(t){try{s(a.throw(t))}catch(t){o(t)}}function s(t){var e;t.done?i(t.value):(e=t.value,e instanceof r?e:new r((function(t){t(e)}))).then(n,l)}s((a=a.apply(t,e||[])).next())}))},n=this&&this.__generator||function(t,e){var r,a,i,o,n={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:l(0),throw:l(1),return:l(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function l(o){return function(l){return function(o){if(r)throw new TypeError("Generator is already executing.");for(;n;)try{if(r=1,a&&(i=2&o[0]?a.return:o[0]?a.throw||((i=a.return)&&i.call(a),0):a.next)&&!(i=i.call(a,o[1])).done)return i;switch(a=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return n.label++,{value:o[1],done:!1};case 5:n.label++,a=o[1],o=[0];continue;case 7:o=n.ops.pop(),n.trys.pop();continue;default:if(!(i=n.trys,(i=i.length>0&&i[i.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&!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,s=o.keyValues;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 s.conditions=l,s}return i(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}(l);function m(t){if(t.filterType)return t.filterType;var e=t,r=t;return"string"==typeof e.operator&&Array.isArray(e.values)?o.Basic:"string"==typeof r.logicalOperator&&Array.isArray(r.conditions)?o.Advanced:o.Unknown}function V(t){return!(!t.table||!t.column||t.aggregationFunction)}e.AdvancedFilter=y,e.isFilterKeyColumnsTarget=function(t){return V(t)&&!!t.keys},e.isBasicFilterWithKeys=function(t){return m(t)===o.Basic&&!!t.keyValues},e.getFilterType=m,e.isMeasure=function(t){return void 0!==t.table&&void 0!==t.measure},e.isColumn=V,e.isHierarchyLevel=function(t){return!(!(t.table&&t.hierarchy&&t.hierarchyLevel)||t.aggregationFunction)},e.isHierarchyLevelAggr=function(t){return!!(t.table&&t.hierarchy&&t.hierarchyLevel&&t.aggregationFunction)},e.isColumnAggr=function(t){return!!(t.table&&t.column&&t.aggregationFunction)},function(t){t[t.Bottom=0]="Bottom",t[t.Left=1]="Left"}(e.PageNavigationPosition||(e.PageNavigationPosition={})),function(t){t[t.Interactive=0]="Interactive",t[t.ResultOnly=1]="ResultOnly"}(e.QnaMode||(e.QnaMode={})),function(t){t[t.Summarized=0]="Summarized",t[t.Underlying=1]="Underlying"}(e.ExportDataType||(e.ExportDataType={})),function(t){t[t.Off=0]="Off",t[t.Presentation=1]="Presentation"}(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"},function(t){t[t.Ascending=1]="Ascending",t[t.Descending=2]="Descending"}(e.SortDirection||(e.SortDirection={}));var g=function(){function t(t){this.$schema=t}return t.prototype.toJSON=function(){return{$schema:this.$schema}},t}();e.Selector=g;var b=function(t){function e(r){var a=t.call(this,e.schemaUrl)||this;return a.pageName=r,a}return i(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}(g);e.PageSelector=b;var w=function(t){function e(r){var a=t.call(this,e.schemaUrl)||this;return a.visualName=r,a}return i(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}(g);e.VisualSelector=w;var P=function(t){function e(e){var r=t.call(this,w.schemaUrl)||this;return r.visualType=e,r}return i(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}(g);e.VisualTypeSelector=P;var _=function(t){function e(e){var r=t.call(this,w.schemaUrl)||this;return r.target=e,r}return i(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}(g);function S(t){return t&&!!t.groupName}function E(t){return Array.isArray(t)}function O(t){var e=t.message;return e||(e=t.path+" is invalid. Not meeting "+t.keyword+" constraint"),{message:e}}e.SlicerTargetSelector=_,function(t){t[t.Enabled=0]="Enabled",t[t.Disabled=1]="Disabled",t[t.Hidden=2]="Hidden"}(e.CommandDisplayOption||(e.CommandDisplayOption={})),function(t){t[t.Grouping=0]="Grouping",t[t.Measure=1]="Measure",t[t.GroupingOrMeasure=2]="GroupingOrMeasure"}(e.VisualDataRoleKind||(e.VisualDataRoleKind={})),function(t){t[t.Measure=0]="Measure",t[t.Grouping=1]="Grouping"}(e.VisualDataRoleKindPreference||(e.VisualDataRoleKindPreference={})),e.isFlatMenuExtension=function(t){return t&&!S(t)},e.isGroupedMenuExtension=S,e.isIExtensions=function(t){return t&&!E(t)},e.isIExtensionArray=E,e.validateVisualSelector=function(t){var e=n.Validators.visualSelectorValidator.validate(t);return e?e.map(O):void 0},e.validateSlicer=function(t){var e=n.Validators.slicerValidator.validate(t);return e?e.map(O):void 0},e.validateSlicerState=function(t){var e=n.Validators.slicerStateValidator.validate(t);return e?e.map(O):void 0},e.validatePlayBookmarkRequest=function(t){var e=n.Validators.playBookmarkRequestValidator.validate(t);return e?e.map(O):void 0},e.validateAddBookmarkRequest=function(t){var e=n.Validators.addBookmarkRequestValidator.validate(t);return e?e.map(O):void 0},e.validateApplyBookmarkByNameRequest=function(t){var e=n.Validators.applyBookmarkByNameRequestValidator.validate(t);return e?e.map(O):void 0},e.validateApplyBookmarkStateRequest=function(t){var e=n.Validators.applyBookmarkStateRequestValidator.validate(t);return e?e.map(O):void 0},e.validateCaptureBookmarkRequest=function(t){var e=n.Validators.captureBookmarkRequestValidator.validate(t);return e?e.map(O):void 0},e.validateSettings=function(t){var e=n.Validators.settingsValidator.validate(t);return e?e.map(O):void 0},e.validatePanes=function(t){var e=n.Validators.reportPanesValidator.validate(t);return e?e.map(O):void 0},e.validateBookmarksPane=function(t){var e=n.Validators.bookmarksPaneValidator.validate(t);return e?e.map(O):void 0},e.validateFiltersPane=function(t){var e=n.Validators.filtersPaneValidator.validate(t);return e?e.map(O):void 0},e.validateFieldsPane=function(t){var e=n.Validators.fieldsPaneValidator.validate(t);return e?e.map(O):void 0},e.validatePageNavigationPane=function(t){var e=n.Validators.pageNavigationPaneValidator.validate(t);return e?e.map(O):void 0},e.validateSelectionPane=function(t){var e=n.Validators.selectionPaneValidator.validate(t);return e?e.map(O):void 0},e.validateSyncSlicersPane=function(t){var e=n.Validators.syncSlicersPaneValidator.validate(t);return e?e.map(O):void 0},e.validateVisualizationsPane=function(t){var e=n.Validators.visualizationsPaneValidator.validate(t);return e?e.map(O):void 0},e.validateCustomPageSize=function(t){var e=n.Validators.customPageSizeValidator.validate(t);return e?e.map(O):void 0},e.validateExtension=function(t){var e=n.Validators.extensionValidator.validate(t);return e?e.map(O):void 0},e.validateMenuGroupExtension=function(t){var e=n.Validators.menuGroupExtensionValidator.validate(t);return e?e.map(O):void 0},e.validateReportLoad=function(t){var e=n.Validators.reportLoadValidator.validate(t);return e?e.map(O):void 0},e.validateCreateReport=function(t){var e=n.Validators.reportCreateValidator.validate(t);return e?e.map(O):void 0},e.validateDashboardLoad=function(t){var e=n.Validators.dashboardLoadValidator.validate(t);return e?e.map(O):void 0},e.validateTileLoad=function(t){var e=n.Validators.tileLoadValidator.validate(t);return e?e.map(O):void 0},e.validatePage=function(t){var e=n.Validators.pageValidator.validate(t);return e?e.map(O):void 0},e.validateFilter=function(t){var e=n.Validators.filterValidator.validate(t);return e?e.map(O):void 0},e.validateUpdateFiltersRequest=function(t){var e=n.Validators.updateFiltersRequestValidator.validate(t);return e?e.map(O):void 0},e.validateSaveAsParameters=function(t){var e=n.Validators.saveAsParametersValidator.validate(t);return e?e.map(O):void 0},e.validateLoadQnaConfiguration=function(t){var e=n.Validators.loadQnaValidator.validate(t);return e?e.map(O):void 0},e.validateQnaInterpretInputData=function(t){var e=n.Validators.qnaInterpretInputDataValidator.validate(t);return e?e.map(O):void 0},e.validateExportDataRequest=function(t){var e=n.Validators.exportDataRequestValidator.validate(t);return e?e.map(O):void 0},e.validateVisualHeader=function(t){var e=n.Validators.visualHeaderValidator.validate(t);return e?e.map(O):void 0},e.validateVisualSettings=function(t){var e=n.Validators.visualSettingsValidator.validate(t);return e?e.map(O):void 0},e.validateCommandsSettings=function(t){var e=n.Validators.commandsSettingsValidator.validate(t);return e?e.map(O):void 0},e.validateCustomTheme=function(t){var e=n.Validators.customThemeValidator.validate(t);return e?e.map(O):void 0}},function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.Validators=void 0;var a=r(2),i=r(5),o=r(6),n=r(7),l=r(8),s=r(9),d=r(10),u=r(11),c=r(12),p=r(13),f=r(14),h=r(15),v=r(16),y=r(17),m=r(18),V=r(19),g=r(20),b=r(21),w=r(22),P=r(23),_=r(24),S=r(25),E=r(26),O=r(27),T=r(28),F=r(4);e.Validators={addBookmarkRequestValidator:new i.AddBookmarkRequestValidator,advancedFilterTypeValidator:new F.EnumValidator([0]),advancedFilterValidator:new c.AdvancedFilterValidator,anyArrayValidator:new F.ArrayValidator([new S.AnyOfValidator([new F.StringValidator,new F.NumberValidator,new F.BooleanValidator])]),anyFilterValidator:new S.AnyOfValidator([new c.BasicFilterValidator,new c.AdvancedFilterValidator,new c.IncludeExcludeFilterValidator,new c.NotSupportedFilterValidator,new c.RelativeDateFilterValidator,new c.TopNFilterValidator,new c.RelativeTimeFilterValidator]),anyValueValidator:new S.AnyOfValidator([new F.StringValidator,new F.NumberValidator,new F.BooleanValidator]),actionBarValidator:new a.ActionBarValidator,applyBookmarkByNameRequestValidator:new i.ApplyBookmarkByNameRequestValidator,applyBookmarkStateRequestValidator:new i.ApplyBookmarkStateRequestValidator,applyBookmarkValidator:new S.AnyOfValidator([new i.ApplyBookmarkByNameRequestValidator,new i.ApplyBookmarkStateRequestValidator]),backgroundValidator:new F.EnumValidator([0,1]),basicFilterTypeValidator:new F.EnumValidator([1]),basicFilterValidator:new c.BasicFilterValidator,booleanArrayValidator:new F.BooleanArrayValidator,booleanValidator:new F.BooleanValidator,bookmarksPaneValidator:new h.BookmarksPaneValidator,captureBookmarkOptionsValidator:new i.CaptureBookmarkOptionsValidator,captureBookmarkRequestValidator:new i.CaptureBookmarkRequestValidator,commandDisplayOptionValidator:new F.EnumValidator([0,1,2]),commandExtensionSelectorValidator:new S.AnyOfValidator([new g.VisualSelectorValidator,new g.VisualTypeSelectorValidator]),commandExtensionArrayValidator:new F.ArrayValidator([new u.CommandExtensionValidator]),commandExtensionValidator:new u.CommandExtensionValidator,commandsSettingsArrayValidator:new F.ArrayValidator([new o.CommandsSettingsValidator]),commandsSettingsValidator:new o.CommandsSettingsValidator,conditionItemValidator:new c.ConditionItemValidator,contrastModeValidator:new F.EnumValidator([0,1,2,3,4]),customLayoutDisplayOptionValidator:new F.EnumValidator([0,1,2]),customLayoutValidator:new p.CustomLayoutValidator,customPageSizeValidator:new f.CustomPageSizeValidator,customThemeValidator:new n.CustomThemeValidator,dashboardLoadValidator:new l.DashboardLoadValidator,datasetBindingValidator:new s.DatasetBindingValidator,displayStateModeValidator:new F.EnumValidator([0,1]),displayStateValidator:new p.DisplayStateValidator,exportDataRequestValidator:new d.ExportDataRequestValidator,extensionArrayValidator:new F.ArrayValidator([new u.ExtensionValidator]),extensionsValidator:new S.AnyOfValidator([new F.ArrayValidator([new u.ExtensionValidator]),new u.ExtensionsValidator]),extensionPointsValidator:new u.ExtensionPointsValidator,extensionValidator:new u.ExtensionValidator,fieldForbiddenValidator:new E.FieldForbiddenValidator,fieldRequiredValidator:new O.FieldRequiredValidator,fieldsPaneValidator:new h.FieldsPaneValidator,filterColumnTargetValidator:new c.FilterColumnTargetValidator,filterDisplaySettingsValidator:new c.FilterDisplaySettingsValidator,filterConditionsValidator:new F.ArrayValidator([new c.ConditionItemValidator]),filterHierarchyTargetValidator:new c.FilterHierarchyTargetValidator,filterMeasureTargetValidator:new c.FilterMeasureTargetValidator,filterTargetValidator:new S.AnyOfValidator([new c.FilterColumnTargetValidator,new c.FilterHierarchyTargetValidator,new c.FilterMeasureTargetValidator]),filterValidator:new c.FilterValidator,filterTypeValidator:new F.EnumValidator([0,1,2,3,4,5,6,7]),filtersArrayValidator:new F.ArrayValidator([new c.FilterValidator]),filtersOperationsUpdateValidator:new F.EnumValidator([1,2,3]),filtersOperationsRemoveAllValidator:new F.EnumValidator([0]),filtersPaneValidator:new h.FiltersPaneValidator,hyperlinkClickBehaviorValidator:new F.EnumValidator([0,1,2]),includeExcludeFilterValidator:new c.IncludeExcludeFilterValidator,includeExludeFilterTypeValidator:new F.EnumValidator([3]),layoutTypeValidator:new F.EnumValidator([0,1,2,3]),loadQnaValidator:new v.LoadQnaValidator,menuExtensionValidator:new S.AnyOfValidator([new u.FlatMenuExtensionValidator,new u.GroupedMenuExtensionValidator]),menuGroupExtensionArrayValidator:new F.ArrayValidator([new u.MenuGroupExtensionValidator]),menuGroupExtensionValidator:new u.MenuGroupExtensionValidator,menuLocationValidator:new F.EnumValidator([0,1]),notSupportedFilterTypeValidator:new F.EnumValidator([2]),notSupportedFilterValidator:new c.NotSupportedFilterValidator,numberArrayValidator:new F.NumberArrayValidator,numberValidator:new F.NumberValidator,pageLayoutValidator:new T.MapValidator([new F.StringValidator],[new p.VisualLayoutValidator]),pageNavigationPaneValidator:new h.PageNavigationPaneValidator,pageNavigationPositionValidator:new F.EnumValidator([0,1]),pageSizeTypeValidator:new F.EnumValidator([0,1,2,3,4,5]),pageSizeValidator:new f.PageSizeValidator,pageValidator:new f.PageValidator,pageViewFieldValidator:new f.PageViewFieldValidator,pagesLayoutValidator:new T.MapValidator([new F.StringValidator],[new p.PageLayoutValidator]),reportBarsValidator:new a.ReportBarsValidator,reportPanesValidator:new h.ReportPanesValidator,permissionsValidator:new F.EnumValidator([0,1,2,4,7]),playBookmarkRequestValidator:new i.PlayBookmarkRequestValidator,qnaInterpretInputDataValidator:new v.QnaInterpretInputDataValidator,qnaSettingValidator:new v.QnaSettingsValidator,relativeDateFilterOperatorValidator:new F.EnumValidator([0,1,2]),relativeDateFilterTimeUnitTypeValidator:new F.EnumValidator([0,1,2,3,4,5,6]),relativeDateFilterTypeValidator:new F.EnumValidator([4]),relativeDateFilterValidator:new c.RelativeDateFilterValidator,relativeTimeFilterTimeUnitTypeValidator:new F.EnumValidator([7,8]),relativeTimeFilterTypeValidator:new F.EnumValidator([7]),relativeTimeFilterValidator:new c.RelativeTimeFilterValidator,reportCreateValidator:new y.ReportCreateValidator,reportLoadValidator:new m.ReportLoadValidator,saveAsParametersValidator:new V.SaveAsParametersValidator,selectionPaneValidator:new h.SelectionPaneValidator,settingsValidator:new b.SettingsValidator,singleCommandSettingsValidator:new o.SingleCommandSettingsValidator,slicerSelectorValidator:new S.AnyOfValidator([new g.VisualSelectorValidator,new g.SlicerTargetSelectorValidator]),slicerStateValidator:new w.SlicerStateValidator,slicerTargetValidator:new S.AnyOfValidator([new c.FilterColumnTargetValidator,new c.FilterHierarchyTargetValidator,new c.FilterMeasureTargetValidator,new c.FilterKeyColumnsTargetValidator,new c.FilterKeyHierarchyTargetValidator]),slicerValidator:new w.SlicerValidator,stringArrayValidator:new F.StringArrayValidator,stringValidator:new F.StringValidator,syncSlicersPaneValidator:new h.SyncSlicersPaneValidator,tileLoadValidator:new P.TileLoadValidator,tokenTypeValidator:new F.EnumValidator([0,1]),topNFilterTypeValidator:new F.EnumValidator([5]),topNFilterValidator:new c.TopNFilterValidator,updateFiltersRequestValidator:new S.AnyOfValidator([new c.UpdateFiltersRequestValidator,new c.RemoveFiltersRequestValidator]),viewModeValidator:new F.EnumValidator([0,1]),visualCommandSelectorValidator:new S.AnyOfValidator([new g.VisualSelectorValidator,new g.VisualTypeSelectorValidator]),visualHeaderSelectorValidator:new S.AnyOfValidator([new g.VisualSelectorValidator,new g.VisualTypeSelectorValidator]),visualHeaderSettingsValidator:new _.VisualHeaderSettingsValidator,visualHeaderValidator:new _.VisualHeaderValidator,visualHeadersValidator:new F.ArrayValidator([new _.VisualHeaderValidator]),visualizationsPaneValidator:new h.VisualizationsPaneValidator,visualLayoutValidator:new p.VisualLayoutValidator,visualSelectorValidator:new g.VisualSelectorValidator,visualSettingsValidator:new _.VisualSettingsValidator,visualTypeSelectorValidator:new g.VisualTypeSelectorValidator}},function(t,e,r){var a,i=this&&this.__extends||(a=function(t,e){return(a=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])})(t,e)},function(t,e){function r(){this.constructor=t}a(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.ActionBarValidator=e.ReportBarsValidator=void 0;var o=r(3),n=r(4),l=r(1),s=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i(e,t),e.prototype.validate=function(e,r,a){if(null==e)return null;var i=t.prototype.validate.call(this,e,r,a);if(i)return i;var n=[{field:"actionBar",validators:[l.Validators.actionBarValidator]}];return new o.MultipleFieldsValidator(n).validate(e,r,a)},e}(n.ObjectValidator);e.ReportBarsValidator=s;var d=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i(e,t),e.prototype.validate=function(e,r,a){if(null==e)return null;var i=t.prototype.validate.call(this,e,r,a);if(i)return i;var n=[{field:"visible",validators:[l.Validators.booleanValidator]}];return new o.MultipleFieldsValidator(n).validate(e,r,a)},e}(n.ObjectValidator);e.ActionBarValidator=d},function(t,e){Object.defineProperty(e,"__esModule",{value:!0}),e.MultipleFieldsValidator=void 0;var r=function(){function t(t){this.fieldValidatorsPairs=t}return t.prototype.validate=function(t,e,r){if(!this.fieldValidatorsPairs)return null;for(var a=e?e+"."+r:r,i=0,o=this.fieldValidatorsPairs;i0&&i[i.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0?"&":"?";return t+=a+e+"="+r},e.isSavedInternal=function(t,e,i){return r(this,void 0,void 0,(function(){return a(this,(function(r){switch(r.label){case 0:return r.trys.push([0,2,,3]),[4,t.get("/report/hasUnsavedChanges",{uid:e},i)];case 1:return[2,!r.sent().body];case 2:throw r.sent().body;case 3:return[2]}}))}))},e.isRDLEmbed=function(t){return t.toLowerCase().indexOf("/rdlembed?")>=0},e.autoAuthInEmbedUrl=function(t){return t&&decodeURIComponent(t).toLowerCase().indexOf("autoauth=true")>=0},e.getRandomValue=o,e.getTimeDiffInMilliseconds=function(t,e){return Math.abs(t.getTime()-e.getTime())}},function(t,e){Object.defineProperty(e,"__esModule",{value:!0}),e.EmbedUrlNotSupported=e.APINotSupportedForRDLError=void 0,e.APINotSupportedForRDLError="This API is currently not supported for RDL reports",e.EmbedUrlNotSupported="Embed URL is invalid for this scenario. Please use Power BI REST APIs to get the valid URL"},function(t,e,r){var a,i=this&&this.__extends||(a=function(t,e){return(a=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])})(t,e)},function(t,e){function r(){this.constructor=t}a(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}),o=this&&this.__awaiter||function(t,e,r,a){return new(r||(r=Promise))((function(i,o){function n(t){try{s(a.next(t))}catch(t){o(t)}}function l(t){try{s(a.throw(t))}catch(t){o(t)}}function s(t){var e;t.done?i(t.value):(e=t.value,e instanceof r?e:new r((function(t){t(e)}))).then(n,l)}s((a=a.apply(t,e||[])).next())}))},n=this&&this.__generator||function(t,e){var r,a,i,o,n={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:l(0),throw:l(1),return:l(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function l(o){return function(l){return function(o){if(r)throw new TypeError("Generator is already executing.");for(;n;)try{if(r=1,a&&(i=2&o[0]?a.return:o[0]?a.throw||((i=a.return)&&i.call(a),0):a.next)&&!(i=i.call(a,o[1])).done)return i;switch(a=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return n.label++,{value:o[1],done:!1};case 5:n.label++,a=o[1],o=[0];continue;case 7:o=n.ops.pop(),n.trys.pop();continue;default:if(!(i=n.trys,(i=i.length>0&&i[i.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1] { + embedElement.off(eventName); + }); + /** Removes the component from an internal list of components. */ utils.remove(x => x === powerBiElement.powerBiEmbed, this.embeds); /** Deletes a property from the HTML element. */ From 7aafa6275ef1a655ccb881c0ec9fbef7fb13d930 Mon Sep 17 00:00:00 2001 From: Shahak Yosef Date: Mon, 18 Jan 2021 07:00:14 +0000 Subject: [PATCH 052/125] Merged PR 139686: Add kjhtml Add kjhtml to the Javascript SDK to make debugging tests easier. ## Know issues: 1) An old version (0.2.2) is used because newer versions are incompatible with our jasmine karma versions, trying to update them causes issues both in the tests themselves and in test coverage reporting. 2) Closing the test page doesn't close the running command in the terminal, need a couple of `cntrl + c`, this is the same in other repositories. For reference check [karma.baseconf.js](https://powerbi.visualstudio.com/PowerBIClients/_git/PowerBIClients?path=%2Fsrc%2FModern%2FIntegrationTesting%2FDesktopIntegrationTestHost%2Fkarma.baseconf.js&_a=contents&version=GBmaster) and [karma.conf.js](https://powerbi.visualstudio.com/PowerBIClients/_git/PowerBIClients?path=%2Fsrc%2FClients%2FPowerBIPlayground%2FAngular%2Fkarma.conf.js&_a=contents&version=GBmaster) ![khjtml.PNG](https://powerbi.visualstudio.com/4c7b5adb-c2d0-4f18-b23c-edc4ac30f4e1/_apis/git/repositories/1dd63332-e003-46a3-ac6f-70213a1bcc2e/pullRequests/139686/attachments/khjtml.PNG) --- gulpfile.js | 4 +++- karma.conf.js | 23 +++++++++++++++++++---- package.json | 4 +++- 3 files changed, 25 insertions(+), 6 deletions(-) diff --git a/gulpfile.js b/gulpfile.js index 113213eb..51cb9685 100644 --- a/gulpfile.js +++ b/gulpfile.js @@ -211,5 +211,7 @@ gulp.task('test:js', 'Run js tests', function (done) { configFile: __dirname + '/karma.conf.js', singleRun: argv.watch ? false : true, captureTimeout: argv.timeout || 60000 - }, done).start(); + }, function() { + done(); + }).start(); }); \ No newline at end of file diff --git a/karma.conf.js b/karma.conf.js index f495d005..ec175a8d 100644 --- a/karma.conf.js +++ b/karma.conf.js @@ -2,12 +2,18 @@ var argv = require('yargs').argv; var browserName = 'PhantomJS'; if (argv.chrome) { - browserName = 'Chrome' + browserName = 'Chrome_headless' } else if (argv.firefox) { browserName = 'Firefox' } - +const flags = [ + '--disable-gpu', + '--disable-extensions', + '--no-proxy-server', + '--js-flags="--max_old_space_size=6500"', + '--high-dpi-support=1', +]; module.exports = function (config) { config.set({ frameworks: ['jasmine'], @@ -18,7 +24,7 @@ module.exports = function (config) { { pattern: './test/**/*.html', served: true, included: false } ], exclude: [], - reporters: argv.debug ? ['spec'] : ['spec', 'coverage'], + reporters: argv.debug ? ['spec', 'kjhtml'] : ['spec', 'coverage', 'kjhtml'], autoWatch: true, browsers: [browserName], plugins: [ @@ -27,8 +33,15 @@ module.exports = function (config) { 'karma-jasmine', 'karma-spec-reporter', 'karma-phantomjs-launcher', - 'karma-coverage' + 'karma-coverage', + 'karma-jasmine-html-reporter', ], + customLaunchers: { + 'Chrome_headless': { + base: 'Chrome', + flags: flags.concat("--no-sandbox", "--window-size=800,800"), + }, + }, preprocessors: { './tmp/**/*.js': ['coverage'] }, coverageReporter: { reporters: [ @@ -37,7 +50,9 @@ module.exports = function (config) { ] }, logLevel: argv.debug ? config.LOG_DEBUG : config.LOG_INFO, + retryLimit: 0, client: { + clearContext: false, // leave Jasmine Spec Runner output visible in browser args: argv.logMessages ? ['logMessages'] : [] } }); diff --git a/package.json b/package.json index 3af84dc8..a905290a 100644 --- a/package.json +++ b/package.json @@ -15,7 +15,8 @@ "start": "http-server ./demo", "prestart": "cd demo && npm install", "test": "gulp test", - "gulp": "gulp" + "gulp": "gulp", + "testc": "npm test -- --chrome --watch" }, "keywords": [ "microsoft", @@ -65,6 +66,7 @@ "karma-coverage": "^2.0.3", "karma-firefox-launcher": "^1.2.0", "karma-jasmine": "^0.3.8", + "karma-jasmine-html-reporter": "^0.2.2", "karma-phantomjs-launcher": "^1.0.4", "karma-spec-reporter": "0.0.32", "moment": "^2.14.1", From b843ff5d6be7ea2a450f2c1f4e528f378c2c91ed Mon Sep 17 00:00:00 2001 From: Shahak Yosef Date: Mon, 18 Jan 2021 09:28:24 +0000 Subject: [PATCH 053/125] Merged PR 139689: Reduce number of eslint errors There are currently about 2000 eslint warnings when running gulp build which slows the build time. This PR reduces that number to about 60 by doing the following things; - Run the automatic eslint fix - Ignore the test folder - Ignore several noisy rules - Fix imports Please let me know of any non-trivial change in this PR so I can revert it and make this PR simpler and safer. I recommend reviewing this with `Show and diff white space` unchecked --- .eslintignore | 2 + .eslintrc.js | 11 +- dist/powerbi-client.d.ts | 227 +++++++++++++++++++++------------------ dist/powerbi.js | 207 ++++++++++++++++++----------------- dist/powerbi.min.js | 2 +- src/bookmarksManager.ts | 75 +++++++------ src/config.ts | 2 +- src/create.ts | 40 +++---- src/dashboard.ts | 197 ++++++++++++++++----------------- src/embed.ts | 100 +++++++++-------- src/errors.ts | 4 +- src/factories.ts | 26 ++--- src/page.ts | 4 +- src/powerbi-client.ts | 4 +- src/qna.ts | 124 ++++++++++----------- src/report.ts | 9 +- src/service.ts | 212 +++++++++++++++++++----------------- src/tile.ts | 146 ++++++++++++------------- src/util.ts | 37 +++---- src/visual.ts | 4 +- src/visualDescriptor.ts | 2 + test/test.spec.ts | 2 + 22 files changed, 755 insertions(+), 682 deletions(-) create mode 100644 .eslintignore diff --git a/.eslintignore b/.eslintignore new file mode 100644 index 00000000..9f74e282 --- /dev/null +++ b/.eslintignore @@ -0,0 +1,2 @@ +# Task 512388: Fix eslint warnings and errors in tests +test/* \ No newline at end of file diff --git a/.eslintrc.js b/.eslintrc.js index ebc8387a..2eaee33e 100644 --- a/.eslintrc.js +++ b/.eslintrc.js @@ -90,8 +90,8 @@ module.exports = { } } ], - "@typescript-eslint/member-ordering": "warn", - "@typescript-eslint/naming-convention": "warn", + "@typescript-eslint/member-ordering": "off", + "@typescript-eslint/naming-convention": "off", "@typescript-eslint/no-array-constructor": "warn", "@typescript-eslint/no-empty-function": "warn", "@typescript-eslint/no-empty-interface": "warn", @@ -112,7 +112,7 @@ module.exports = { "@typescript-eslint/no-unnecessary-type-assertion": "warn", "@typescript-eslint/no-unsafe-assignment": "warn", "@typescript-eslint/no-unsafe-call": "warn", - "@typescript-eslint/no-unsafe-member-access": "warn", + "@typescript-eslint/no-unsafe-member-access": "off", "@typescript-eslint/no-unsafe-return": "warn", "@typescript-eslint/no-unused-expressions": "warn", "@typescript-eslint/no-unused-vars": "warn", @@ -122,7 +122,7 @@ module.exports = { "@typescript-eslint/prefer-for-of": "warn", "@typescript-eslint/prefer-function-type": "warn", "@typescript-eslint/prefer-namespace-keyword": "warn", - "@typescript-eslint/prefer-regexp-exec": "warn", + "@typescript-eslint/prefer-regexp-exec": "off", "@typescript-eslint/quotes": [ "off", { @@ -176,7 +176,6 @@ module.exports = { "Boolean", "boolean", "Undefined", - "undefined" ], "id-match": "warn", "import/order": "warn", @@ -223,7 +222,7 @@ module.exports = { "warn", "never" ], - "prefer-arrow/prefer-arrow-functions": "warn", + "prefer-arrow/prefer-arrow-functions": "off", "prefer-const": "warn", "prefer-rest-params": "warn", "quote-props": [ diff --git a/dist/powerbi-client.d.ts b/dist/powerbi-client.d.ts index cd10f2e6..310ba05a 100644 --- a/dist/powerbi-client.d.ts +++ b/dist/powerbi-client.d.ts @@ -95,6 +95,7 @@ declare module "util" { export function getRandomValue(): number; /** * Returns the time interval between two dates in milliseconds + * * @export * @param {Date} start * @param {Date} end @@ -111,12 +112,12 @@ declare module "config" { export default config; } declare module "errors" { - export let APINotSupportedForRDLError: string; - export let EmbedUrlNotSupported: string; + export const APINotSupportedForRDLError = "This API is currently not supported for RDL reports"; + export const EmbedUrlNotSupported = "Embed URL is invalid for this scenario. Please use Power BI REST APIs to get the valid URL"; } declare module "embed" { - import * as service from "service"; import * as models from 'powerbi-models'; + import { Service, IEventHandler, IEvent, ICustomEvent } from "service"; global { interface Document { mozCancelFullScreen: any; @@ -144,8 +145,8 @@ declare module "embed" { export type IEmbedSettings = models.ISettings; /** @hidden */ export interface IInternalEventHandler { - test(event: service.IEvent): boolean; - handle(event: service.ICustomEvent): void; + test(event: IEvent): boolean; + handle(event: ICustomEvent): void; } /** * Base class for all Power BI embed components @@ -173,7 +174,7 @@ declare module "embed" { /** @hidden */ static maxFrontLoadTimes: number; /** @hidden */ - allowedEvents: any[]; + allowedEvents: string[]; /** * Gets or sets the event handler registered for this embed component. * @@ -187,7 +188,7 @@ declare module "embed" { * @type {service.Service} * @hidden */ - service: service.Service; + service: Service; /** * Gets or sets the HTML element that contains the Power BI embed component. * @@ -234,26 +235,31 @@ declare module "embed" { 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 */ embedtype: string; /** * Handler function for the 'ready' event + * * @hidden */ frontLoadHandler: () => any; /** * The time the last /load request was sent + * * @hidden */ lastLoadRequest: Date; @@ -268,7 +274,7 @@ declare module "embed" { * @param {IEmbedConfigurationBase} config * @hidden */ - constructor(service: service.Service, element: HTMLElement, config: IEmbedConfigurationBase, iframe?: HTMLIFrameElement, phasedRender?: boolean, isBootstrap?: boolean); + constructor(service: Service, element: HTMLElement, config: IEmbedConfigurationBase, iframe?: HTMLIFrameElement, phasedRender?: boolean, isBootstrap?: boolean); /** * Sends createReport configuration data. * @@ -277,6 +283,7 @@ declare module "embed" { * datasetId: '5dac7a4a-4452-46b3-99f6-a25915e0fe55', * accessToken: 'eyJ0eXA ... TaE2rTSbmg', * ``` + * * @hidden * @param {models.IReportCreateConfiguration} config * @returns {Promise} @@ -328,6 +335,7 @@ declare module "embed" { * }) * .catch(error => { ... }); * ``` + * * @hidden * @param {models.ILoadConfiguration} config * @param {boolean} phasedRender @@ -353,9 +361,9 @@ declare module "embed" { * * @template T * @param {string} eventName - * @param {service.IEventHandler} [handler] + * @param {IEventHandler} [handler] */ - off(eventName: string, handler?: service.IEventHandler): void; + off(eventName: string, handler?: IEventHandler): void; /** * Adds an event handler for a specific event. * @@ -369,7 +377,7 @@ declare module "embed" { * @param {string} eventName * @param {service.IEventHandler} handler */ - on(eventName: string, handler: service.IEventHandler): void; + on(eventName: string, handler: IEventHandler): void; /** * Reloads embed using existing configuration. * E.g. For reports this effectively clears all filters and makes the first page active which simulates resetting a report back to loaded state. @@ -488,6 +496,7 @@ declare module "embed" { abstract validate(config: IEmbedConfigurationBase): models.IError[]; /** * Sets Iframe for embed + * * @hidden */ private setIframe; @@ -502,7 +511,7 @@ declare module "embed" { /** * Removes element's tabindex attribute */ - removeComponentTabIndex(tabIndex?: number): void; + removeComponentTabIndex(_tabIndex?: number): void; /** * 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. @@ -515,6 +524,7 @@ 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; @@ -668,6 +678,7 @@ declare module "visualDescriptor" { /** * Exports Visual data. * Can export up to 30K rows. + * * @param rows: Optional. Default value is 30K, maximum value is 30K as well. * @param exportDataType: Optional. Default is ExportDataType.Summarized. * ```javascript @@ -681,6 +692,7 @@ declare module "visualDescriptor" { /** * Set slicer state. * Works only for visuals of type slicer. + * * @param state: A new state which contains the slicer filters. * ```javascript * visual.setSlicerState() @@ -721,7 +733,7 @@ declare module "visualDescriptor" { } declare module "page" { import { IHttpPostMessageResponse } from 'http-post-message'; - import { DisplayOption, FiltersOperations, ICustomPageSize, IFilter, SectionVisibility } from 'powerbi-models'; + import { DisplayOption, FiltersOperations, ICustomPageSize, IFilter, LayoutType, SectionVisibility } from 'powerbi-models'; import { IFilterable } from "ifilterable"; import { IReportNode } from "report"; import { VisualDescriptor } from "visualDescriptor"; @@ -896,7 +908,7 @@ declare module "page" { * * @returns {(Promise)} */ - hasLayout(layoutType: any): Promise; + hasLayout(layoutType: LayoutType): Promise; } } declare module "report" { @@ -1232,18 +1244,18 @@ declare module "report" { } } declare module "create" { - import * as service from "service"; - import * as models from 'powerbi-models'; - import * as embed from "embed"; + import { IReportCreateConfiguration, IError } from 'powerbi-models'; + import { Service } from "service"; + import { Embed, IEmbedConfigurationBase, IEmbedConfiguration } from "embed"; /** * A Power BI Report creator component * * @export * @class Create - * @extends {embed.Embed} + * @extends {Embed} */ - export class Create extends embed.Embed { - constructor(service: service.Service, element: HTMLElement, config: embed.IEmbedConfiguration | models.IReportCreateConfiguration, phasedRender?: boolean, isBootstrap?: boolean); + export class Create extends Embed { + constructor(service: Service, element: HTMLElement, config: IEmbedConfiguration | IReportCreateConfiguration, phasedRender?: boolean, isBootstrap?: boolean); /** * Gets the dataset ID from the first available location: createConfig or embed url. * @@ -1253,7 +1265,7 @@ declare module "create" { /** * Validate create report configuration. */ - validate(config: embed.IEmbedConfigurationBase): models.IError[]; + validate(config: IEmbedConfigurationBase): IError[]; /** * Handle config changes. * @@ -1291,9 +1303,9 @@ declare module "create" { } } declare module "dashboard" { - import * as service from "service"; - import * as embed from "embed"; - import * as models from 'powerbi-models'; + import { IError } from 'powerbi-models'; + import { Service, IService } from "service"; + import { Embed, IEmbedConfigurationBase } from "embed"; /** * A Dashboard node within a dashboard hierarchy * @@ -1302,18 +1314,18 @@ declare module "dashboard" { */ export interface IDashboardNode { iframe: HTMLIFrameElement; - service: service.IService; - config: embed.IEmbedConfigurationBase; + service: IService; + config: IEmbedConfigurationBase; } /** * A Power BI Dashboard embed component * * @export * @class Dashboard - * @extends {embed.Embed} + * @extends {Embed} * @implements {IDashboardNode} */ - export class Dashboard extends embed.Embed implements IDashboardNode { + export class Dashboard extends Embed implements IDashboardNode { /** @hidden */ static allowedEvents: string[]; /** @hidden */ @@ -1329,12 +1341,13 @@ declare module "dashboard" { * @hidden * @param {HTMLElement} element */ - constructor(service: service.Service, element: HTMLElement, config: embed.IEmbedConfigurationBase, phasedRender?: boolean, isBootstrap?: boolean); + constructor(service: Service, element: HTMLElement, config: IEmbedConfigurationBase, phasedRender?: boolean, isBootstrap?: boolean); /** * This adds backwards compatibility for older config which used the dashboardId query param to specify dashboard id. * E.g. https://powerbi-df.analysis-df.windows.net/dashboardEmbedHost?dashboardId=e9363c62-edb6-4eac-92d3-2199c5ca2a9e * * By extracting the id we can ensure id is always explicitly provided as part of the load configuration. + * * @hidden * @static * @param {string} url @@ -1352,9 +1365,10 @@ declare module "dashboard" { * * @hidden */ - validate(baseConfig: embed.IEmbedConfigurationBase): models.IError[]; + validate(baseConfig: IEmbedConfigurationBase): IError[]; /** * Handle config changes. + * * @hidden * @returns {void} */ @@ -1365,16 +1379,17 @@ declare module "dashboard" { */ 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 + * Validate that pageView has a legal value: if page view is defined it must have one of the values defined in PageView + * * @hidden */ - private ValidatePageView; + private validatePageView; } } declare module "tile" { - import * as service from "service"; - import * as models from 'powerbi-models'; - import * as embed from "embed"; + import { IError } from 'powerbi-models'; + import { Service } from "service"; + import { Embed, IEmbedConfigurationBase } from "embed"; /** * The Power BI tile embed component * @@ -1382,7 +1397,7 @@ declare module "tile" { * @class Tile * @extends {Embed} */ - export class Tile extends embed.Embed { + export class Tile extends Embed { /** @hidden */ static type: string; /** @hidden */ @@ -1390,7 +1405,7 @@ declare module "tile" { /** * @hidden */ - constructor(service: service.Service, element: HTMLElement, baseConfig: embed.IEmbedConfigurationBase, phasedRender?: boolean, isBootstrap?: boolean); + constructor(service: Service, element: HTMLElement, baseConfig: IEmbedConfigurationBase, phasedRender?: boolean, isBootstrap?: boolean); /** * The ID of the tile * @@ -1400,7 +1415,7 @@ declare module "tile" { /** * Validate load configuration. */ - validate(config: embed.IEmbedConfigurationBase): models.IError[]; + validate(config: IEmbedConfigurationBase): IError[]; /** * Handle config changes. * @@ -1425,10 +1440,10 @@ declare module "tile" { } } declare module "qna" { - import * as service from "service"; - import * as models from 'powerbi-models'; - import * as embed from "embed"; import { IHttpPostMessageResponse } from 'http-post-message'; + import { IError } from 'powerbi-models'; + import { Embed, IEmbedConfigurationBase } from "embed"; + import { Service } from "service"; /** * The Power BI Q&A embed component * @@ -1436,7 +1451,7 @@ declare module "qna" { * @class Qna * @extends {Embed} */ - export class Qna extends embed.Embed { + export class Qna extends Embed { /** @hidden */ static type: string; /** @hidden */ @@ -1444,7 +1459,7 @@ declare module "qna" { /** * @hidden */ - constructor(service: service.Service, element: HTMLElement, config: embed.IEmbedConfigurationBase, phasedRender?: boolean, isBootstrap?: boolean); + constructor(service: Service, element: HTMLElement, config: IEmbedConfigurationBase, phasedRender?: boolean, isBootstrap?: boolean); /** * The ID of the Q&A embed component * @@ -1463,7 +1478,7 @@ declare module "qna" { * * @returns {void} */ - configChanged(isBootstrap: boolean): void; + configChanged(_isBootstrap: boolean): void; /** * @hidden * @returns {string} @@ -1472,7 +1487,7 @@ declare module "qna" { /** * Validate load configuration. */ - validate(config: embed.IEmbedConfigurationBase): models.IError[]; + validate(config: IEmbedConfigurationBase): IError[]; } } declare module "visual" { @@ -1522,14 +1537,14 @@ declare module "visual" { * @param {string} pageName * @returns {Promise>} */ - setPage(pageName: string): Promise>; + setPage(_pageName: string): Promise>; /** * Render a preloaded report, using phased embedding API * * @hidden * @returns {Promise} */ - render(config?: IReportLoadConfiguration | IReportEmbedConfiguration): Promise; + render(_config?: IReportLoadConfiguration | IReportEmbedConfiguration): Promise; /** * Gets the embedded visual descriptor object that contains the visual name, type, etc. * @@ -1611,11 +1626,11 @@ declare module "visual" { } } declare module "service" { - import * as embed from "embed"; - import * as wpmp from 'window-post-message-proxy'; - import * as hpm from 'http-post-message'; - import * as router from 'powerbi-router'; - import * as models from 'powerbi-models'; + import { WindowPostMessageProxy } from 'window-post-message-proxy'; + import { HttpPostMessage } from 'http-post-message'; + import { Router } from 'powerbi-router'; + import { IReportCreateConfiguration } from 'powerbi-models'; + import { Embed, IBootstrapEmbedConfiguration, IDashboardEmbedConfiguration, IEmbedConfiguration, IEmbedConfigurationBase, IQnaEmbedConfiguration, IReportEmbedConfiguration, ITileEmbedConfiguration, IVisualEmbedConfiguration } from "embed"; export interface IEvent { type: string; id: string; @@ -1638,22 +1653,22 @@ declare module "service" { * @hidden */ export interface IHpmFactory { - (wpmp: wpmp.WindowPostMessageProxy, targetWindow?: Window, version?: string, type?: string, origin?: string): hpm.HttpPostMessage; + (wpmp: WindowPostMessageProxy, targetWindow?: Window, version?: string, type?: string, origin?: string): HttpPostMessage; } /** * @hidden */ export interface IWpmpFactory { - (name?: string, logMessages?: boolean, eventSourceOverrideWindow?: Window): wpmp.WindowPostMessageProxy; + (name?: string, logMessages?: boolean, eventSourceOverrideWindow?: Window): WindowPostMessageProxy; } /** * @hidden */ export interface IRouterFactory { - (wpmp: wpmp.WindowPostMessageProxy): router.Router; + (wpmp: WindowPostMessageProxy): Router; } export interface IPowerBiElement extends HTMLElement { - powerBiEmbed: embed.Embed; + powerBiEmbed: Embed; } export interface IDebugOptions { logMessages?: boolean; @@ -1666,9 +1681,9 @@ declare module "service" { type?: string; } export interface IService { - hpm: hpm.HttpPostMessage; + hpm: HttpPostMessage; } - export type IComponentEmbedConfiguration = embed.IReportEmbedConfiguration | embed.IDashboardEmbedConfiguration | embed.ITileEmbedConfiguration | embed.IVisualEmbedConfiguration | embed.IQnaEmbedConfiguration; + export type IComponentEmbedConfiguration = IReportEmbedConfiguration | IDashboardEmbedConfiguration | ITileEmbedConfiguration | IVisualEmbedConfiguration | IQnaEmbedConfiguration; /** * The Power BI Service embed component, which is the entry point to embed all other Power BI components into your application * @@ -1692,18 +1707,20 @@ declare module "service" { * @hidden */ accessToken: string; - /**The Configuration object for the service*/ + /** 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 sacrificing ease of maintenance. This should be private but in embed needs to call methods. + * * @hidden - */ - hpm: hpm.HttpPostMessage; + */ + hpm: HttpPostMessage; /** TODO: Look for way to make wpmp private. This is only public to allow stopping the wpmp in tests + * * @hidden - */ - wpmp: wpmp.WindowPostMessageProxy; + */ + wpmp: WindowPostMessageProxy; private router; private uniqueSessionId; /** @@ -1718,30 +1735,31 @@ declare module "service" { constructor(hpmFactory: IHpmFactory, wpmpFactory: IWpmpFactory, routerFactory: IRouterFactory, config?: IServiceConfiguration); /** * Creates new report + * * @param {HTMLElement} element - * @param {embed.IEmbedConfiguration} [config={}] - * @returns {embed.Embed} + * @param {IEmbedConfiguration} [config={}] + * @returns {Embed} */ - createReport(element: HTMLElement, config: embed.IEmbedConfiguration | models.IReportCreateConfiguration): embed.Embed; + createReport(element: HTMLElement, config: IEmbedConfiguration | IReportCreateConfiguration): Embed; /** * TODO: Add a description here * * @param {HTMLElement} [container] - * @param {embed.IEmbedConfiguration} [config=undefined] - * @returns {embed.Embed[]} + * @param {IEmbedConfiguration} [config=undefined] + * @returns {Embed[]} * @hidden */ - init(container?: HTMLElement, config?: embed.IEmbedConfiguration): embed.Embed[]; + init(container?: HTMLElement, config?: IEmbedConfiguration): Embed[]; /** * Given a configuration based on an HTML element, * if the component has already been created and attached to the element, reuses the component instance and existing iframe, * otherwise creates a new component instance. * * @param {HTMLElement} element - * @param {embed.IEmbedConfigurationBase} [config={}] - * @returns {embed.Embed} + * @param {IEmbedConfigurationBase} [config={}] + * @returns {Embed} */ - embed(element: HTMLElement, config?: IComponentEmbedConfiguration | embed.IEmbedConfigurationBase): embed.Embed; + embed(element: HTMLElement, config?: IComponentEmbedConfiguration | IEmbedConfigurationBase): Embed; /** * Given a configuration based on an HTML element, * if the component has already been created and attached to the element, reuses the component instance and existing iframe, @@ -1749,19 +1767,19 @@ declare module "service" { * This is used for the phased embedding API, once element is loaded successfully, one can call 'render' on it. * * @param {HTMLElement} element - * @param {embed.IEmbedConfigurationBase} [config={}] - * @returns {embed.Embed} + * @param {IEmbedConfigurationBase} [config={}] + * @returns {Embed} */ - load(element: HTMLElement, config?: IComponentEmbedConfiguration | embed.IEmbedConfigurationBase): embed.Embed; + load(element: HTMLElement, config?: IComponentEmbedConfiguration | IEmbedConfigurationBase): Embed; /** * Given an HTML element and entityType, creates a new component instance, and bootstrap the iframe for embedding. * * @param {HTMLElement} element - * @param {embed.IBootstrapEmbedConfiguration} config: a bootstrap config which is an embed config without access token. + * @param {IBootstrapEmbedConfiguration} config: a bootstrap config which is an embed config without access token. */ - bootstrap(element: HTMLElement, config: IComponentEmbedConfiguration | embed.IBootstrapEmbedConfiguration): embed.Embed; + bootstrap(element: HTMLElement, config: IComponentEmbedConfiguration | IBootstrapEmbedConfiguration): Embed; /** @hidden */ - embedInternal(element: HTMLElement, config?: IComponentEmbedConfiguration | embed.IEmbedConfigurationBase, phasedRender?: boolean, isBootstrap?: boolean): embed.Embed; + embedInternal(element: HTMLElement, config?: IComponentEmbedConfiguration | IEmbedConfigurationBase, phasedRender?: boolean, isBootstrap?: boolean): Embed; /** @hidden */ getNumberOfComponents(): number; /** @hidden */ @@ -1771,8 +1789,8 @@ declare module "service" { * * @private * @param {IPowerBiElement} element - * @param {embed.IEmbedConfigurationBase} config - * @returns {embed.Embed} + * @param {IEmbedConfigurationBase} config + * @returns {Embed} * @hidden */ private embedNew; @@ -1781,8 +1799,8 @@ declare module "service" { * * @private * @param {IPowerBiElement} element - * @param {embed.IEmbedConfigurationBase} config - * @returns {embed.Embed} + * @param {IEmbedConfigurationBase} config + * @returns {Embed} * @hidden */ private embedExisting; @@ -1802,7 +1820,7 @@ declare module "service" { * @param {HTMLElement} element * @returns {(Report | Tile)} */ - get(element: HTMLElement): embed.Embed; + get(element: HTMLElement): Embed; /** * Finds an embed instance by the name or unique ID that is provided. * @@ -1810,7 +1828,7 @@ declare module "service" { * @returns {(Report | Tile)} * @hidden */ - find(uniqueId: string): embed.Embed; + find(uniqueId: string): Embed; /** * Removes embed components whose container element is same as the given element * @@ -1819,7 +1837,7 @@ declare module "service" { * @returns {void} * @hidden */ - addOrOverwriteEmbed(component: embed.Embed, element: HTMLElement): void; + addOrOverwriteEmbed(component: Embed, element: HTMLElement): void; /** * Given an HTML element that has a component embedded within it, removes the component from the list of embedded components, removes the association between the element and the component, and removes the iframe. * @@ -1847,17 +1865,17 @@ declare module "service" { * Use this API to preload Power BI Embedded in the background. * * @public - * @param {embed.IEmbedConfigurationBase} [config={}] + * @param {IEmbedConfigurationBase} [config={}] * @param {HTMLElement} [element=undefined] */ - preload(config: IComponentEmbedConfiguration | embed.IEmbedConfigurationBase, element?: HTMLElement): HTMLIFrameElement; + preload(config: IComponentEmbedConfiguration | IEmbedConfigurationBase, element?: HTMLElement): HTMLIFrameElement; } } declare module "bookmarksManager" { - import * as service from "service"; - import * as embed from "embed"; - import * as models from 'powerbi-models'; + import { BookmarksPlayMode, ICaptureBookmarkOptions, IReportBookmark } from 'powerbi-models'; import { IHttpPostMessageResponse } from 'http-post-message'; + import { Service } from "service"; + import { IEmbedConfigurationBase } from "embed"; /** * APIs for managing the report bookmarks. * @@ -1865,10 +1883,10 @@ declare module "bookmarksManager" { * @interface IBookmarksManager */ export interface IBookmarksManager { - getBookmarks(): Promise; + getBookmarks(): Promise; apply(bookmarkName: string): Promise>; - play(playMode: models.BookmarksPlayMode): Promise>; - capture(options?: models.ICaptureBookmarkOptions): Promise; + play(playMode: BookmarksPlayMode): Promise>; + capture(options?: ICaptureBookmarkOptions): Promise; applyState(state: string): Promise>; } /** @@ -1885,7 +1903,7 @@ declare module "bookmarksManager" { /** * @hidden */ - constructor(service: service.Service, config: embed.IEmbedConfigurationBase, iframe?: HTMLIFrameElement); + constructor(service: Service, config: IEmbedConfigurationBase, iframe?: HTMLIFrameElement); /** * Gets bookmarks that are defined in the report. * @@ -1897,9 +1915,9 @@ declare module "bookmarksManager" { * }); * ``` * - * @returns {Promise} + * @returns {Promise} */ - getBookmarks(): Promise; + getBookmarks(): Promise; /** * Apply bookmark by name. * @@ -1916,13 +1934,13 @@ declare module "bookmarksManager" { * * ```javascript * // Enter presentation mode. - * bookmarksManager.play(models.BookmarksPlayMode.Presentation) + * bookmarksManager.play(BookmarksPlayMode.Presentation) * ``` * - * @param {models.BookmarksPlayMode} playMode Play mode can be either `Presentation` or `Off` + * @param {BookmarksPlayMode} playMode Play mode can be either `Presentation` or `Off` * @returns {Promise>} */ - play(playMode: models.BookmarksPlayMode): Promise>; + play(playMode: BookmarksPlayMode): Promise>; /** * Capture bookmark from current state. * @@ -1930,10 +1948,10 @@ declare module "bookmarksManager" { * bookmarksManager.capture(options) * ``` * - * @param {models.ICaptureBookmarkOptions} [options] Options for bookmark capturing - * @returns {Promise} + * @param {ICaptureBookmarkOptions} [options] Options for bookmark capturing + * @returns {Promise} */ - capture(options?: models.ICaptureBookmarkOptions): Promise; + capture(options?: ICaptureBookmarkOptions): Promise; /** * Apply bookmark state. * @@ -1948,9 +1966,6 @@ declare module "bookmarksManager" { } } declare module "factories" { - /** - * TODO: Need to find better place for these factory functions or refactor how we handle dependency injection - */ import { IHpmFactory, IWpmpFactory, IRouterFactory } from "service"; export { IHpmFactory, IWpmpFactory, IRouterFactory }; export const hpmFactory: IHpmFactory; @@ -1961,9 +1976,9 @@ declare module "powerbi-client" { /** * @hidden */ + import * as models from 'powerbi-models'; import * as service from "service"; import * as factories from "factories"; - import * as models from 'powerbi-models'; import { IFilterable } from "ifilterable"; export { IFilterable, service, factories, models }; export { Report } from "report"; diff --git a/dist/powerbi.js b/dist/powerbi.js index 76f9d55a..3a086cec 100644 --- a/dist/powerbi.js +++ b/dist/powerbi.js @@ -5758,8 +5758,8 @@ var __generator = (this && this.__generator) || function (thisArg, body) { }; Object.defineProperty(exports, "__esModule", { value: true }); exports.BookmarksManager = void 0; -var utils = __webpack_require__(/*! ./util */ "./src/util.ts"); -var errors = __webpack_require__(/*! ./errors */ "./src/errors.ts"); +var util_1 = __webpack_require__(/*! ./util */ "./src/util.ts"); +var errors_1 = __webpack_require__(/*! ./errors */ "./src/errors.ts"); /** * Manages report bookmarks. * @@ -5787,7 +5787,7 @@ var BookmarksManager = /** @class */ (function () { * }); * ``` * - * @returns {Promise} + * @returns {Promise} */ BookmarksManager.prototype.getBookmarks = function () { return __awaiter(this, void 0, void 0, function () { @@ -5795,8 +5795,8 @@ var BookmarksManager = /** @class */ (function () { return __generator(this, function (_a) { switch (_a.label) { case 0: - if (utils.isRDLEmbed(this.config.embedUrl)) { - return [2 /*return*/, Promise.reject(errors.APINotSupportedForRDLError)]; + if (util_1.isRDLEmbed(this.config.embedUrl)) { + return [2 /*return*/, Promise.reject(errors_1.APINotSupportedForRDLError)]; } _a.label = 1; case 1: @@ -5829,8 +5829,8 @@ var BookmarksManager = /** @class */ (function () { return __generator(this, function (_a) { switch (_a.label) { case 0: - if (utils.isRDLEmbed(this.config.embedUrl)) { - return [2 /*return*/, Promise.reject(errors.APINotSupportedForRDLError)]; + if (util_1.isRDLEmbed(this.config.embedUrl)) { + return [2 /*return*/, Promise.reject(errors_1.APINotSupportedForRDLError)]; } request = { name: bookmarkName @@ -5853,10 +5853,10 @@ var BookmarksManager = /** @class */ (function () { * * ```javascript * // Enter presentation mode. - * bookmarksManager.play(models.BookmarksPlayMode.Presentation) + * bookmarksManager.play(BookmarksPlayMode.Presentation) * ``` * - * @param {models.BookmarksPlayMode} playMode Play mode can be either `Presentation` or `Off` + * @param {BookmarksPlayMode} playMode Play mode can be either `Presentation` or `Off` * @returns {Promise>} */ BookmarksManager.prototype.play = function (playMode) { @@ -5865,8 +5865,8 @@ var BookmarksManager = /** @class */ (function () { return __generator(this, function (_a) { switch (_a.label) { case 0: - if (utils.isRDLEmbed(this.config.embedUrl)) { - return [2 /*return*/, Promise.reject(errors.APINotSupportedForRDLError)]; + if (util_1.isRDLEmbed(this.config.embedUrl)) { + return [2 /*return*/, Promise.reject(errors_1.APINotSupportedForRDLError)]; } playBookmarkRequest = { playMode: playMode @@ -5891,8 +5891,8 @@ var BookmarksManager = /** @class */ (function () { * bookmarksManager.capture(options) * ``` * - * @param {models.ICaptureBookmarkOptions} [options] Options for bookmark capturing - * @returns {Promise} + * @param {ICaptureBookmarkOptions} [options] Options for bookmark capturing + * @returns {Promise} */ BookmarksManager.prototype.capture = function (options) { return __awaiter(this, void 0, void 0, function () { @@ -5900,8 +5900,8 @@ var BookmarksManager = /** @class */ (function () { return __generator(this, function (_a) { switch (_a.label) { case 0: - if (utils.isRDLEmbed(this.config.embedUrl)) { - return [2 /*return*/, Promise.reject(errors.APINotSupportedForRDLError)]; + if (util_1.isRDLEmbed(this.config.embedUrl)) { + return [2 /*return*/, Promise.reject(errors_1.APINotSupportedForRDLError)]; } request = { options: options || {} @@ -5937,8 +5937,8 @@ var BookmarksManager = /** @class */ (function () { return __generator(this, function (_a) { switch (_a.label) { case 0: - if (utils.isRDLEmbed(this.config.embedUrl)) { - return [2 /*return*/, Promise.reject(errors.APINotSupportedForRDLError)]; + if (util_1.isRDLEmbed(this.config.embedUrl)) { + return [2 /*return*/, Promise.reject(errors_1.APINotSupportedForRDLError)]; } request = { state: state @@ -6039,15 +6039,15 @@ var __generator = (this && this.__generator) || function (thisArg, body) { }; Object.defineProperty(exports, "__esModule", { value: true }); exports.Create = void 0; -var models = __webpack_require__(/*! powerbi-models */ "./node_modules/powerbi-models/dist/models.js"); -var embed = __webpack_require__(/*! ./embed */ "./src/embed.ts"); +var powerbi_models_1 = __webpack_require__(/*! powerbi-models */ "./node_modules/powerbi-models/dist/models.js"); +var embed_1 = __webpack_require__(/*! ./embed */ "./src/embed.ts"); var utils = __webpack_require__(/*! ./util */ "./src/util.ts"); /** * A Power BI Report creator component * * @export * @class Create - * @extends {embed.Embed} + * @extends {Embed} */ var Create = /** @class */ (function (_super) { __extends(Create, _super); @@ -6073,7 +6073,7 @@ var Create = /** @class */ (function (_super) { * Validate create report configuration. */ Create.prototype.validate = function (config) { - return models.validateCreateReport(config); + return powerbi_models_1.validateCreateReport(config); }; /** * Handle config changes. @@ -6142,7 +6142,7 @@ var Create = /** @class */ (function (_super) { return datasetId; }; return Create; -}(embed.Embed)); +}(embed_1.Embed)); exports.Create = Create; @@ -6170,14 +6170,14 @@ var __extends = (this && this.__extends) || (function () { })(); Object.defineProperty(exports, "__esModule", { value: true }); exports.Dashboard = void 0; -var embed = __webpack_require__(/*! ./embed */ "./src/embed.ts"); -var models = __webpack_require__(/*! powerbi-models */ "./node_modules/powerbi-models/dist/models.js"); +var powerbi_models_1 = __webpack_require__(/*! powerbi-models */ "./node_modules/powerbi-models/dist/models.js"); +var embed_1 = __webpack_require__(/*! ./embed */ "./src/embed.ts"); /** * A Power BI Dashboard embed component * * @export * @class Dashboard - * @extends {embed.Embed} + * @extends {Embed} * @implements {IDashboardNode} */ var Dashboard = /** @class */ (function (_super) { @@ -6201,6 +6201,7 @@ var Dashboard = /** @class */ (function (_super) { * E.g. https://powerbi-df.analysis-df.windows.net/dashboardEmbedHost?dashboardId=e9363c62-edb6-4eac-92d3-2199c5ca2a9e * * By extracting the id we can ensure id is always explicitly provided as part of the load configuration. + * * @hidden * @static * @param {string} url @@ -6235,11 +6236,12 @@ var Dashboard = /** @class */ (function (_super) { */ Dashboard.prototype.validate = function (baseConfig) { var config = baseConfig; - var error = models.validateDashboardLoad(config); - return error ? error : this.ValidatePageView(config.pageView); + var error = powerbi_models_1.validateDashboardLoad(config); + return error ? error : this.validatePageView(config.pageView); }; /** * Handle config changes. + * * @hidden * @returns {void} */ @@ -6258,10 +6260,11 @@ var Dashboard = /** @class */ (function (_super) { 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 + * Validate that pageView has a legal value: if page view is defined it must have one of the values defined in PageView + * * @hidden */ - Dashboard.prototype.ValidatePageView = function (pageView) { + 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" }]; } @@ -6275,7 +6278,7 @@ var Dashboard = /** @class */ (function (_super) { /** @hidden */ Dashboard.type = "Dashboard"; return Dashboard; -}(embed.Embed)); +}(embed_1.Embed)); exports.Dashboard = Dashboard; @@ -6326,9 +6329,9 @@ var __generator = (this && this.__generator) || function (thisArg, body) { }; Object.defineProperty(exports, "__esModule", { value: true }); exports.Embed = void 0; -var utils = __webpack_require__(/*! ./util */ "./src/util.ts"); -var sdkConfig = __webpack_require__(/*! ./config */ "./src/config.ts"); var models = __webpack_require__(/*! powerbi-models */ "./node_modules/powerbi-models/dist/models.js"); +var util_1 = __webpack_require__(/*! ./util */ "./src/util.ts"); +var sdkConfig = __webpack_require__(/*! ./config */ "./src/config.ts"); var errors_1 = __webpack_require__(/*! ./errors */ "./src/errors.ts"); /** * Base class for all Power BI embed components @@ -6353,7 +6356,7 @@ var Embed = /** @class */ (function () { function Embed(service, element, config, iframe, phasedRender, isBootstrap) { /** @hidden */ this.allowedEvents = []; - if (utils.autoAuthInEmbedUrl(config.embedUrl)) { + if (util_1.autoAuthInEmbedUrl(config.embedUrl)) { throw new Error(errors_1.EmbedUrlNotSupported); } Array.prototype.push.apply(this.allowedEvents, Embed.allowedEvents); @@ -6365,10 +6368,10 @@ var Embed = /** @class */ (function () { this.embedtype = config.type.toLowerCase(); this.populateConfig(config, isBootstrap); if (this.embedtype === 'create') { - this.setIframe(false /*set EventListener to call create() on 'load' event*/, phasedRender, isBootstrap); + 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); + this.setIframe(true /* set EventListener to call load() on 'load' event*/, phasedRender, isBootstrap); } } /** @@ -6379,6 +6382,7 @@ var Embed = /** @class */ (function () { * datasetId: '5dac7a4a-4452-46b3-99f6-a25915e0fe55', * accessToken: 'eyJ0eXA ... TaE2rTSbmg', * ``` + * * @hidden * @param {models.IReportCreateConfiguration} config * @returns {Promise} @@ -6508,6 +6512,7 @@ var Embed = /** @class */ (function () { * }) * .catch(error => { ... }); * ``` + * * @hidden * @param {models.ILoadConfiguration} config * @param {boolean} phasedRender @@ -6535,7 +6540,7 @@ var Embed = /** @class */ (function () { sdkVersion: sdkConfig.default.version }; timeNow = new Date(); - if (this.lastLoadRequest && utils.getTimeDiffInMilliseconds(this.lastLoadRequest, timeNow) < 100) { + if (this.lastLoadRequest && util_1.getTimeDiffInMilliseconds(this.lastLoadRequest, timeNow) < 100) { console.debug("Power BI SDK sent more than two /report/load requests in the last 100ms interval."); return [2 /*return*/]; } @@ -6574,13 +6579,13 @@ var Embed = /** @class */ (function () { * * @template T * @param {string} eventName - * @param {service.IEventHandler} [handler] + * @param {IEventHandler} [handler] */ Embed.prototype.off = function (eventName, handler) { var _this = this; var fakeEvent = { name: eventName, type: null, id: null, value: null }; if (handler) { - utils.remove(function (eventHandler) { return eventHandler.test(fakeEvent) && (eventHandler.handle === handler); }, this.eventHandlers); + util_1.remove(function (eventHandler) { return eventHandler.test(fakeEvent) && (eventHandler.handle === handler); }, this.eventHandlers); this.element.removeEventListener(eventName, handler); } else { @@ -6588,7 +6593,7 @@ var Embed = /** @class */ (function () { .filter(function (eventHandler) { return eventHandler.test(fakeEvent); }); eventHandlersToRemove .forEach(function (eventHandlerToRemove) { - utils.remove(function (eventHandler) { return eventHandler === eventHandlerToRemove; }, _this.eventHandlers); + util_1.remove(function (eventHandler) { return eventHandler === eventHandlerToRemove; }, _this.eventHandlers); _this.element.removeEventListener(eventName, eventHandlerToRemove.handle); }); } @@ -6689,14 +6694,14 @@ var Embed = /** @class */ (function () { */ Embed.prototype.populateConfig = function (config, isBootstrap) { if (this.bootstrapConfig) { - this.config = utils.assign({}, this.bootstrapConfig, config); + this.config = util_1.assign({}, this.bootstrapConfig, config); // reset bootstrapConfig because we do not want to merge it in re-embed scenario. this.bootstrapConfig = null; } else { // Copy config - important for multiple iframe scenario. // Otherwise, if a user uses the same config twice, same unique Id which will be used in different iframes. - this.config = utils.assign({}, config); + this.config = util_1.assign({}, config); } this.config.embedUrl = this.getEmbedUrl(isBootstrap); this.config.groupId = this.getGroupId(); @@ -6725,10 +6730,10 @@ var Embed = /** @class */ (function () { } var localeSettings = config.settings.localeSettings; if (localeSettings && localeSettings.language) { - this.config.embedUrl = utils.addParamToUrl(this.config.embedUrl, 'language', localeSettings.language); + this.config.embedUrl = util_1.addParamToUrl(this.config.embedUrl, 'language', localeSettings.language); } if (localeSettings && localeSettings.formatLocale) { - this.config.embedUrl = utils.addParamToUrl(this.config.embedUrl, 'formatLocale', localeSettings.formatLocale); + this.config.embedUrl = util_1.addParamToUrl(this.config.embedUrl, 'formatLocale', localeSettings.formatLocale); } }; /** @@ -6776,7 +6781,7 @@ var Embed = /** @class */ (function () { * @hidden */ Embed.prototype.getUniqueId = function () { - return this.config.uniqueId || this.element.getAttribute(Embed.nameAttribute) || utils.createRandomString(); + return this.config.uniqueId || this.element.getAttribute(Embed.nameAttribute) || util_1.createRandomString(); }; /** * Gets the group ID from the first available location: options, embeddedUrl. @@ -6820,13 +6825,14 @@ var Embed = /** @class */ (function () { }; /** * Sets Iframe for embed + * * @hidden */ Embed.prototype.setIframe = function (isLoad, phasedRender, isBootstrap) { var _this = this; if (!this.iframe) { var iframeContent = document.createElement("iframe"); - var embedUrl = this.config.uniqueId ? utils.addParamToUrl(this.config.embedUrl, 'uid', this.config.uniqueId) : this.config.embedUrl; + var embedUrl = this.config.uniqueId ? util_1.addParamToUrl(this.config.embedUrl, 'uid', this.config.uniqueId) : this.config.embedUrl; iframeContent.style.width = '100%'; iframeContent.style.height = '100%'; iframeContent.setAttribute("src", embedUrl); @@ -6889,7 +6895,7 @@ var Embed = /** @class */ (function () { /** * Removes element's tabindex attribute */ - Embed.prototype.removeComponentTabIndex = function (tabIndex) { + Embed.prototype.removeComponentTabIndex = function (_tabIndex) { if (!this.element) { return; } @@ -6915,6 +6921,7 @@ var Embed = /** @class */ (function () { }; /** * Sends the config for front load calls, after 'ready' message is received from the iframe + * * @hidden */ Embed.prototype.frontLoadSendConfig = function (config) { @@ -6931,8 +6938,9 @@ var Embed = /** @class */ (function () { throw errors; } // contentWindow must be initialized - if (this.iframe.contentWindow == null) + if (this.iframe.contentWindow == null) { return [2 /*return*/]; + } _a.label = 1; case 1: _a.trys.push([1, 3, , 4]); @@ -6993,26 +7001,29 @@ exports.EmbedUrlNotSupported = "Embed URL is invalid for this scenario. Please u Object.defineProperty(exports, "__esModule", { value: true }); exports.routerFactory = exports.wpmpFactory = exports.hpmFactory = void 0; +/** + * TODO: Need to find better place for these factory functions or refactor how we handle dependency injection + */ +var window_post_message_proxy_1 = __webpack_require__(/*! window-post-message-proxy */ "./node_modules/window-post-message-proxy/dist/windowPostMessageProxy.js"); +var http_post_message_1 = __webpack_require__(/*! http-post-message */ "./node_modules/http-post-message/dist/httpPostMessage.js"); +var powerbi_router_1 = __webpack_require__(/*! powerbi-router */ "./node_modules/powerbi-router/dist/router.js"); var config_1 = __webpack_require__(/*! ./config */ "./src/config.ts"); -var wpmp = __webpack_require__(/*! window-post-message-proxy */ "./node_modules/window-post-message-proxy/dist/windowPostMessageProxy.js"); -var hpm = __webpack_require__(/*! http-post-message */ "./node_modules/http-post-message/dist/httpPostMessage.js"); -var router = __webpack_require__(/*! powerbi-router */ "./node_modules/powerbi-router/dist/router.js"); var hpmFactory = function (wpmp, defaultTargetWindow, sdkVersion, sdkType) { if (sdkVersion === void 0) { sdkVersion = config_1.default.version; } if (sdkType === void 0) { sdkType = config_1.default.type; } - return new hpm.HttpPostMessage(wpmp, { + return new http_post_message_1.HttpPostMessage(wpmp, { 'x-sdk-type': sdkType, 'x-sdk-version': sdkVersion }, defaultTargetWindow); }; exports.hpmFactory = hpmFactory; var wpmpFactory = function (name, logMessages, eventSourceOverrideWindow) { - return new wpmp.WindowPostMessageProxy({ + return new window_post_message_proxy_1.WindowPostMessageProxy({ processTrackingProperties: { - addTrackingProperties: hpm.HttpPostMessage.addTrackingProperties, - getTrackingProperties: hpm.HttpPostMessage.getTrackingProperties, + addTrackingProperties: http_post_message_1.HttpPostMessage.addTrackingProperties, + getTrackingProperties: http_post_message_1.HttpPostMessage.getTrackingProperties, }, - isErrorMessage: hpm.HttpPostMessage.isErrorMessage, + isErrorMessage: http_post_message_1.HttpPostMessage.isErrorMessage, suppressWarnings: true, name: name, logMessages: logMessages, @@ -7021,7 +7032,7 @@ var wpmpFactory = function (name, logMessages, eventSourceOverrideWindow) { }; exports.wpmpFactory = wpmpFactory; var routerFactory = function (wpmp) { - return new router.Router(wpmp); + return new powerbi_router_1.Router(wpmp); }; exports.routerFactory = routerFactory; @@ -7399,12 +7410,12 @@ exports.VisualDescriptor = exports.Visual = exports.Qna = exports.Page = exports /** * @hidden */ +var models = __webpack_require__(/*! powerbi-models */ "./node_modules/powerbi-models/dist/models.js"); +exports.models = models; var service = __webpack_require__(/*! ./service */ "./src/service.ts"); exports.service = service; var factories = __webpack_require__(/*! ./factories */ "./src/factories.ts"); exports.factories = factories; -var models = __webpack_require__(/*! powerbi-models */ "./node_modules/powerbi-models/dist/models.js"); -exports.models = models; var report_1 = __webpack_require__(/*! ./report */ "./src/report.ts"); Object.defineProperty(exports, "Report", { enumerable: true, get: function () { return report_1.Report; } }); var dashboard_1 = __webpack_require__(/*! ./dashboard */ "./src/dashboard.ts"); @@ -7490,8 +7501,8 @@ var __generator = (this && this.__generator) || function (thisArg, body) { }; Object.defineProperty(exports, "__esModule", { value: true }); exports.Qna = void 0; -var models = __webpack_require__(/*! powerbi-models */ "./node_modules/powerbi-models/dist/models.js"); -var embed = __webpack_require__(/*! ./embed */ "./src/embed.ts"); +var powerbi_models_1 = __webpack_require__(/*! powerbi-models */ "./node_modules/powerbi-models/dist/models.js"); +var embed_1 = __webpack_require__(/*! ./embed */ "./src/embed.ts"); /** * The Power BI Q&A embed component * @@ -7552,7 +7563,7 @@ var Qna = /** @class */ (function (_super) { * * @returns {void} */ - Qna.prototype.configChanged = function (isBootstrap) { + Qna.prototype.configChanged = function (_isBootstrap) { // Nothing to do in Q&A embed. }; /** @@ -7566,14 +7577,14 @@ var Qna = /** @class */ (function (_super) { * Validate load configuration. */ Qna.prototype.validate = function (config) { - return models.validateLoadQnaConfiguration(config); + return powerbi_models_1.validateLoadQnaConfiguration(config); }; /** @hidden */ Qna.type = "Qna"; /** @hidden */ Qna.allowedEvents = ["loaded", "visualRendered"]; return Qna; -}(embed.Embed)); +}(embed_1.Embed)); exports.Qna = Qna; @@ -8437,7 +8448,7 @@ exports.Report = Report; Object.defineProperty(exports, "__esModule", { value: true }); exports.Service = void 0; -var embed = __webpack_require__(/*! ./embed */ "./src/embed.ts"); +var embed_1 = __webpack_require__(/*! ./embed */ "./src/embed.ts"); var report_1 = __webpack_require__(/*! ./report */ "./src/report.ts"); var create_1 = __webpack_require__(/*! ./create */ "./src/create.ts"); var dashboard_1 = __webpack_require__(/*! ./dashboard */ "./src/dashboard.ts"); @@ -8473,7 +8484,7 @@ var Service = /** @class */ (function () { /** * Adds handler for report events. */ - this.router.post("/reports/:uniqueId/events/:eventName", function (req, res) { + this.router.post("/reports/:uniqueId/events/:eventName", function (req, _res) { var event = { type: 'report', id: req.params.uniqueId, @@ -8482,7 +8493,7 @@ var Service = /** @class */ (function () { }; _this.handleEvent(event); }); - this.router.post("/reports/:uniqueId/pages/:pageName/events/:eventName", function (req, res) { + this.router.post("/reports/:uniqueId/pages/:pageName/events/:eventName", function (req, _res) { var event = { type: 'report', id: req.params.uniqueId, @@ -8491,7 +8502,7 @@ var Service = /** @class */ (function () { }; _this.handleEvent(event); }); - this.router.post("/reports/:uniqueId/pages/:pageName/visuals/:visualName/events/:eventName", function (req, res) { + this.router.post("/reports/:uniqueId/pages/:pageName/visuals/:visualName/events/:eventName", function (req, _res) { var event = { type: 'report', id: req.params.uniqueId, @@ -8500,7 +8511,7 @@ var Service = /** @class */ (function () { }; _this.handleEvent(event); }); - this.router.post("/dashboards/:uniqueId/events/:eventName", function (req, res) { + this.router.post("/dashboards/:uniqueId/events/:eventName", function (req, _res) { var event = { type: 'dashboard', id: req.params.uniqueId, @@ -8509,7 +8520,7 @@ var Service = /** @class */ (function () { }; _this.handleEvent(event); }); - this.router.post("/tile/:uniqueId/events/:eventName", function (req, res) { + this.router.post("/tile/:uniqueId/events/:eventName", function (req, _res) { var event = { type: 'tile', id: req.params.uniqueId, @@ -8521,7 +8532,7 @@ var Service = /** @class */ (function () { /** * Adds handler for Q&A events. */ - this.router.post("/qna/:uniqueId/events/:eventName", function (req, res) { + this.router.post("/qna/:uniqueId/events/:eventName", function (req, _res) { var event = { type: 'qna', id: req.params.uniqueId, @@ -8533,7 +8544,7 @@ var Service = /** @class */ (function () { /** * Adds handler for front load 'ready' message. */ - this.router.post("/ready/:uniqueId", function (req, res) { + this.router.post("/ready/:uniqueId", function (req, _res) { var event = { type: 'report', id: req.params.uniqueId, @@ -8551,9 +8562,10 @@ var Service = /** @class */ (function () { } /** * Creates new report + * * @param {HTMLElement} element - * @param {embed.IEmbedConfiguration} [config={}] - * @returns {embed.Embed} + * @param {IEmbedConfiguration} [config={}] + * @returns {Embed} */ Service.prototype.createReport = function (element, config) { config.type = 'create'; @@ -8567,15 +8579,15 @@ var Service = /** @class */ (function () { * TODO: Add a description here * * @param {HTMLElement} [container] - * @param {embed.IEmbedConfiguration} [config=undefined] - * @returns {embed.Embed[]} + * @param {IEmbedConfiguration} [config=undefined] + * @returns {Embed[]} * @hidden */ Service.prototype.init = function (container, config) { var _this = this; if (config === void 0) { config = undefined; } container = (container && container instanceof HTMLElement) ? container : document.body; - var elements = Array.prototype.slice.call(container.querySelectorAll("[" + embed.Embed.embedUrlAttribute + "]")); + var elements = Array.prototype.slice.call(container.querySelectorAll("[" + embed_1.Embed.embedUrlAttribute + "]")); return elements.map(function (element) { return _this.embed(element, config); }); }; /** @@ -8584,8 +8596,8 @@ var Service = /** @class */ (function () { * otherwise creates a new component instance. * * @param {HTMLElement} element - * @param {embed.IEmbedConfigurationBase} [config={}] - * @returns {embed.Embed} + * @param {IEmbedConfigurationBase} [config={}] + * @returns {Embed} */ Service.prototype.embed = function (element, config) { if (config === void 0) { config = {}; } @@ -8598,8 +8610,8 @@ var Service = /** @class */ (function () { * This is used for the phased embedding API, once element is loaded successfully, one can call 'render' on it. * * @param {HTMLElement} element - * @param {embed.IEmbedConfigurationBase} [config={}] - * @returns {embed.Embed} + * @param {IEmbedConfigurationBase} [config={}] + * @returns {Embed} */ Service.prototype.load = function (element, config) { if (config === void 0) { config = {}; } @@ -8609,7 +8621,7 @@ var Service = /** @class */ (function () { * Given an HTML element and entityType, creates a new component instance, and bootstrap the iframe for embedding. * * @param {HTMLElement} element - * @param {embed.IBootstrapEmbedConfiguration} config: a bootstrap config which is an embed config without access token. + * @param {IBootstrapEmbedConfiguration} config: a bootstrap config which is an embed config without access token. */ Service.prototype.bootstrap = function (element, config) { return this.embedInternal(element, config, /* phasedRender */ false, /* isBootstrap */ true); @@ -8646,18 +8658,18 @@ var Service = /** @class */ (function () { * * @private * @param {IPowerBiElement} element - * @param {embed.IEmbedConfigurationBase} config - * @returns {embed.Embed} + * @param {IEmbedConfigurationBase} config + * @returns {Embed} * @hidden */ Service.prototype.embedNew = function (element, config, phasedRender, isBootstrap) { - var componentType = config.type || element.getAttribute(embed.Embed.typeAttribute); + var componentType = config.type || element.getAttribute(embed_1.Embed.typeAttribute); if (!componentType) { - throw new Error("Attempted to embed using config " + JSON.stringify(config) + " on element " + element.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 '" + embed.Embed.typeAttribute + "=\"" + report_1.Report.type.toLowerCase() + "\"'."); + throw new Error("Attempted to embed using config " + JSON.stringify(config) + " on element " + element.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 '" + embed_1.Embed.typeAttribute + "=\"" + report_1.Report.type.toLowerCase() + "\"'."); } // Saves the type as part of the configuration so that it can be referenced later at a known location. config.type = componentType; - var Component = utils.find(function (component) { return componentType === component.type.toLowerCase(); }, Service.components); + var Component = utils.find(function (embedComponent) { return componentType === embedComponent.type.toLowerCase(); }, Service.components); if (!Component) { throw new Error("Attempted to embed component of type: " + componentType + " but did not find any matching component. Please verify the type you specified is intended."); } @@ -8671,8 +8683,8 @@ var Service = /** @class */ (function () { * * @private * @param {IPowerBiElement} element - * @param {embed.IEmbedConfigurationBase} config - * @returns {embed.Embed} + * @param {IEmbedConfigurationBase} config + * @returns {Embed} * @hidden */ Service.prototype.embedExisting = function (element, config, phasedRender) { @@ -8718,7 +8730,7 @@ var Service = /** @class */ (function () { */ Service.prototype.enableAutoEmbed = function () { var _this = this; - window.addEventListener('DOMContentLoaded', function (event) { return _this.init(document.body); }, false); + window.addEventListener('DOMContentLoaded', function (_event) { return _this.init(document.body); }, false); }; /** * Returns an instance of the component associated with the element. @@ -8834,7 +8846,7 @@ var Service = /** @class */ (function () { * Use this API to preload Power BI Embedded in the background. * * @public - * @param {embed.IEmbedConfigurationBase} [config={}] + * @param {IEmbedConfigurationBase} [config={}] * @param {HTMLElement} [element=undefined] */ Service.prototype.preload = function (config, element) { @@ -8905,8 +8917,8 @@ var __extends = (this && this.__extends) || (function () { })(); Object.defineProperty(exports, "__esModule", { value: true }); exports.Tile = void 0; -var models = __webpack_require__(/*! powerbi-models */ "./node_modules/powerbi-models/dist/models.js"); -var embed = __webpack_require__(/*! ./embed */ "./src/embed.ts"); +var powerbi_models_1 = __webpack_require__(/*! powerbi-models */ "./node_modules/powerbi-models/dist/models.js"); +var embed_1 = __webpack_require__(/*! ./embed */ "./src/embed.ts"); /** * The Power BI tile embed component * @@ -8945,7 +8957,7 @@ var Tile = /** @class */ (function (_super) { */ Tile.prototype.validate = function (config) { var embedConfig = config; - return models.validateTileLoad(embedConfig); + return powerbi_models_1.validateTileLoad(embedConfig); }; /** * Handle config changes. @@ -8989,7 +9001,7 @@ var Tile = /** @class */ (function (_super) { /** @hidden */ Tile.allowedEvents = ["tileClicked", "tileLoaded"]; return Tile; -}(embed.Embed)); +}(embed_1.Embed)); exports.Tile = Tile; @@ -9248,6 +9260,7 @@ function getRandomValue() { exports.getRandomValue = getRandomValue; /** * Returns the time interval between two dates in milliseconds + * * @export * @param {Date} start * @param {Date} end @@ -9409,7 +9422,7 @@ var Visual = /** @class */ (function (_super) { * @param {string} pageName * @returns {Promise>} */ - Visual.prototype.setPage = function (pageName) { + Visual.prototype.setPage = function (_pageName) { throw Visual.SetPageNotSupportedError; }; /** @@ -9418,7 +9431,7 @@ var Visual = /** @class */ (function (_super) { * @hidden * @returns {Promise} */ - Visual.prototype.render = function (config) { + Visual.prototype.render = function (_config) { return __awaiter(this, void 0, void 0, function () { return __generator(this, function (_a) { throw Visual.RenderNotSupportedError; @@ -9808,6 +9821,7 @@ var VisualDescriptor = /** @class */ (function () { /** * Exports Visual data. * Can export up to 30K rows. + * * @param rows: Optional. Default value is 30K, maximum value is 30K as well. * @param exportDataType: Optional. Default is ExportDataType.Summarized. * ```javascript @@ -9845,6 +9859,7 @@ var VisualDescriptor = /** @class */ (function () { /** * Set slicer state. * Works only for visuals of type slicer. + * * @param state: A new state which contains the slicer filters. * ```javascript * visual.setSlicerState() diff --git a/dist/powerbi.min.js b/dist/powerbi.min.js index 9d57b9c1..59f74583 100644 --- a/dist/powerbi.min.js +++ b/dist/powerbi.min.js @@ -1,7 +1,7 @@ /*! powerbi-client v2.17.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){var e={};function r(a){if(e[a])return e[a].exports;var i=e[a]={i:a,l:!1,exports:{}};return t[a].call(i.exports,i,i.exports,r),i.l=!0,i.exports}return r.m=t,r.c=e,r.d=function(t,e,a){r.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:a})},r.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},r.t=function(t,e){if(1&e&&(t=r(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var a=Object.create(null);if(r.r(a),Object.defineProperty(a,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var i in t)r.d(a,i,function(e){return t[e]}.bind(null,i));return a},r.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return r.d(e,"a",e),e},r.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},r.p="",r(r.s=12)}([function(t,e,r){ /*! powerbi-models v1.8.0 | (c) 2016 Microsoft Corporation MIT */ -var a;a=function(){return function(t){var e={};function r(a){if(e[a])return e[a].exports;var i=e[a]={i:a,l:!1,exports:{}};return t[a].call(i.exports,i,i.exports,r),i.l=!0,i.exports}return r.m=t,r.c=e,r.d=function(t,e,a){r.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:a})},r.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},r.t=function(t,e){if(1&e&&(t=r(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var a=Object.create(null);if(r.r(a),Object.defineProperty(a,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var i in t)r.d(a,i,function(e){return t[e]}.bind(null,i));return a},r.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return r.d(e,"a",e),e},r.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},r.p="",r(r.s=0)}([function(t,e,r){var a,i=this&&this.__extends||(a=function(t,e){return(a=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])})(t,e)},function(t,e){function r(){this.constructor=t}a(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.validateCustomTheme=e.validateCommandsSettings=e.validateVisualSettings=e.validateVisualHeader=e.validateExportDataRequest=e.validateQnaInterpretInputData=e.validateLoadQnaConfiguration=e.validateSaveAsParameters=e.validateUpdateFiltersRequest=e.validateFilter=e.validatePage=e.validateTileLoad=e.validateDashboardLoad=e.validateCreateReport=e.validateReportLoad=e.validateMenuGroupExtension=e.validateExtension=e.validateCustomPageSize=e.validateVisualizationsPane=e.validateSyncSlicersPane=e.validateSelectionPane=e.validatePageNavigationPane=e.validateFieldsPane=e.validateFiltersPane=e.validateBookmarksPane=e.validatePanes=e.validateSettings=e.validateCaptureBookmarkRequest=e.validateApplyBookmarkStateRequest=e.validateApplyBookmarkByNameRequest=e.validateAddBookmarkRequest=e.validatePlayBookmarkRequest=e.validateSlicerState=e.validateSlicer=e.validateVisualSelector=e.isIExtensionArray=e.isIExtensions=e.isGroupedMenuExtension=e.isFlatMenuExtension=e.VisualDataRoleKindPreference=e.VisualDataRoleKind=e.CommandDisplayOption=e.SlicerTargetSelector=e.VisualTypeSelector=e.VisualSelector=e.PageSelector=e.Selector=e.SortDirection=e.LegendPosition=e.TextAlignment=e.CommonErrorCodes=e.BookmarksPlayMode=e.ExportDataType=e.QnaMode=e.PageNavigationPosition=e.isColumnAggr=e.isHierarchyLevelAggr=e.isHierarchyLevel=e.isColumn=e.isMeasure=e.getFilterType=e.isBasicFilterWithKeys=e.isFilterKeyColumnsTarget=e.AdvancedFilter=e.TupleFilter=e.BasicFilterWithKeys=e.BasicFilter=e.RelativeTimeFilter=e.RelativeDateFilter=e.TopNFilter=e.IncludeExcludeFilter=e.NotSupportedFilter=e.Filter=e.RelativeDateOperators=e.RelativeDateFilterTimeUnit=e.FilterType=e.FiltersLevel=e.FiltersOperations=e.MenuLocation=e.ContrastMode=e.TokenType=e.ViewMode=e.Permissions=e.SectionVisibility=e.HyperlinkClickBehavior=e.LayoutType=e.VisualContainerDisplayMode=e.BackgroundType=e.DisplayOption=e.PageSizeType=e.TraceType=void 0;var o,n=r(1);!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"}(e.TraceType||(e.TraceType={})),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"}(e.PageSizeType||(e.PageSizeType={})),function(t){t[t.FitToPage=0]="FitToPage",t[t.FitToWidth=1]="FitToWidth",t[t.ActualSize=2]="ActualSize"}(e.DisplayOption||(e.DisplayOption={})),function(t){t[t.Default=0]="Default",t[t.Transparent=1]="Transparent"}(e.BackgroundType||(e.BackgroundType={})),function(t){t[t.Visible=0]="Visible",t[t.Hidden=1]="Hidden"}(e.VisualContainerDisplayMode||(e.VisualContainerDisplayMode={})),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={})),function(t){t[t.Navigate=0]="Navigate",t[t.NavigateAndRaiseEvent=1]="NavigateAndRaiseEvent",t[t.RaiseEvent=2]="RaiseEvent"}(e.HyperlinkClickBehavior||(e.HyperlinkClickBehavior={})),function(t){t[t.AlwaysVisible=0]="AlwaysVisible",t[t.HiddenInViewMode=1]="HiddenInViewMode"}(e.SectionVisibility||(e.SectionVisibility={})),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"}(e.Permissions||(e.Permissions={})),function(t){t[t.View=0]="View",t[t.Edit=1]="Edit"}(e.ViewMode||(e.ViewMode={})),function(t){t[t.Aad=0]="Aad",t[t.Embed=1]="Embed"}(e.TokenType||(e.TokenType={})),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"}(e.ContrastMode||(e.ContrastMode={})),function(t){t[t.Bottom=0]="Bottom",t[t.Top=1]="Top"}(e.MenuLocation||(e.MenuLocation={})),function(t){t[t.RemoveAll=0]="RemoveAll",t[t.ReplaceAll=1]="ReplaceAll",t[t.Add=2]="Add",t[t.Replace=3]="Replace"}(e.FiltersOperations||(e.FiltersOperations={})),function(t){t[t.Report=0]="Report",t[t.Page=1]="Page",t[t.Visual=2]="Visual"}(e.FiltersLevel||(e.FiltersLevel={})),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"}(o=e.FilterType||(e.FilterType={})),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"}(e.RelativeDateFilterTimeUnit||(e.RelativeDateFilterTimeUnit={})),function(t){t[t.InLast=0]="InLast",t[t.InThis=1]="InThis",t[t.InNext=2]="InNext"}(e.RelativeDateOperators||(e.RelativeDateOperators={}));var l=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=l;var s=function(t){function e(r,a,i){var n=t.call(this,r,o.Unknown)||this;return n.message=a,n.notSupportedTypeName=i,n.schemaUrl=e.schemaUrl,n}return i(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}(l);e.NotSupportedFilter=s;var d=function(t){function e(r,a,i){var n=t.call(this,r,o.IncludeExclude)||this;return n.values=i,n.isExclude=a,n.schemaUrl=e.schemaUrl,n}return i(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}(l);e.IncludeExcludeFilter=d;var u=function(t){function e(r,a,i,n){var l=t.call(this,r,o.TopN)||this;return l.operator=a,l.itemCount=i,l.schemaUrl=e.schemaUrl,l.orderBy=n,l}return i(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}(l);e.TopNFilter=u;var c=function(t){function e(r,a,i,n,l){var s=t.call(this,r,o.RelativeDate)||this;return s.operator=a,s.timeUnitsCount=i,s.timeUnitType=n,s.includeToday=l,s.schemaUrl=e.schemaUrl,s}return i(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}(l);e.RelativeDateFilter=c;var p=function(t){function e(r,a,i,n){var l=t.call(this,r,o.RelativeTime)||this;return l.operator=a,l.timeUnitsCount=i,l.timeUnitType=n,l.schemaUrl=e.schemaUrl,l}return i(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}(l);e.RelativeTimeFilter=p;var f=function(t){function e(r,a){for(var i=[],n=2;n0&&!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,s=o.keyValues;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 s.conditions=l,s}return i(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}(l);function m(t){if(t.filterType)return t.filterType;var e=t,r=t;return"string"==typeof e.operator&&Array.isArray(e.values)?o.Basic:"string"==typeof r.logicalOperator&&Array.isArray(r.conditions)?o.Advanced:o.Unknown}function V(t){return!(!t.table||!t.column||t.aggregationFunction)}e.AdvancedFilter=y,e.isFilterKeyColumnsTarget=function(t){return V(t)&&!!t.keys},e.isBasicFilterWithKeys=function(t){return m(t)===o.Basic&&!!t.keyValues},e.getFilterType=m,e.isMeasure=function(t){return void 0!==t.table&&void 0!==t.measure},e.isColumn=V,e.isHierarchyLevel=function(t){return!(!(t.table&&t.hierarchy&&t.hierarchyLevel)||t.aggregationFunction)},e.isHierarchyLevelAggr=function(t){return!!(t.table&&t.hierarchy&&t.hierarchyLevel&&t.aggregationFunction)},e.isColumnAggr=function(t){return!!(t.table&&t.column&&t.aggregationFunction)},function(t){t[t.Bottom=0]="Bottom",t[t.Left=1]="Left"}(e.PageNavigationPosition||(e.PageNavigationPosition={})),function(t){t[t.Interactive=0]="Interactive",t[t.ResultOnly=1]="ResultOnly"}(e.QnaMode||(e.QnaMode={})),function(t){t[t.Summarized=0]="Summarized",t[t.Underlying=1]="Underlying"}(e.ExportDataType||(e.ExportDataType={})),function(t){t[t.Off=0]="Off",t[t.Presentation=1]="Presentation"}(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"},function(t){t[t.Ascending=1]="Ascending",t[t.Descending=2]="Descending"}(e.SortDirection||(e.SortDirection={}));var g=function(){function t(t){this.$schema=t}return t.prototype.toJSON=function(){return{$schema:this.$schema}},t}();e.Selector=g;var b=function(t){function e(r){var a=t.call(this,e.schemaUrl)||this;return a.pageName=r,a}return i(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}(g);e.PageSelector=b;var w=function(t){function e(r){var a=t.call(this,e.schemaUrl)||this;return a.visualName=r,a}return i(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}(g);e.VisualSelector=w;var P=function(t){function e(e){var r=t.call(this,w.schemaUrl)||this;return r.visualType=e,r}return i(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}(g);e.VisualTypeSelector=P;var _=function(t){function e(e){var r=t.call(this,w.schemaUrl)||this;return r.target=e,r}return i(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}(g);function S(t){return t&&!!t.groupName}function E(t){return Array.isArray(t)}function O(t){var e=t.message;return e||(e=t.path+" is invalid. Not meeting "+t.keyword+" constraint"),{message:e}}e.SlicerTargetSelector=_,function(t){t[t.Enabled=0]="Enabled",t[t.Disabled=1]="Disabled",t[t.Hidden=2]="Hidden"}(e.CommandDisplayOption||(e.CommandDisplayOption={})),function(t){t[t.Grouping=0]="Grouping",t[t.Measure=1]="Measure",t[t.GroupingOrMeasure=2]="GroupingOrMeasure"}(e.VisualDataRoleKind||(e.VisualDataRoleKind={})),function(t){t[t.Measure=0]="Measure",t[t.Grouping=1]="Grouping"}(e.VisualDataRoleKindPreference||(e.VisualDataRoleKindPreference={})),e.isFlatMenuExtension=function(t){return t&&!S(t)},e.isGroupedMenuExtension=S,e.isIExtensions=function(t){return t&&!E(t)},e.isIExtensionArray=E,e.validateVisualSelector=function(t){var e=n.Validators.visualSelectorValidator.validate(t);return e?e.map(O):void 0},e.validateSlicer=function(t){var e=n.Validators.slicerValidator.validate(t);return e?e.map(O):void 0},e.validateSlicerState=function(t){var e=n.Validators.slicerStateValidator.validate(t);return e?e.map(O):void 0},e.validatePlayBookmarkRequest=function(t){var e=n.Validators.playBookmarkRequestValidator.validate(t);return e?e.map(O):void 0},e.validateAddBookmarkRequest=function(t){var e=n.Validators.addBookmarkRequestValidator.validate(t);return e?e.map(O):void 0},e.validateApplyBookmarkByNameRequest=function(t){var e=n.Validators.applyBookmarkByNameRequestValidator.validate(t);return e?e.map(O):void 0},e.validateApplyBookmarkStateRequest=function(t){var e=n.Validators.applyBookmarkStateRequestValidator.validate(t);return e?e.map(O):void 0},e.validateCaptureBookmarkRequest=function(t){var e=n.Validators.captureBookmarkRequestValidator.validate(t);return e?e.map(O):void 0},e.validateSettings=function(t){var e=n.Validators.settingsValidator.validate(t);return e?e.map(O):void 0},e.validatePanes=function(t){var e=n.Validators.reportPanesValidator.validate(t);return e?e.map(O):void 0},e.validateBookmarksPane=function(t){var e=n.Validators.bookmarksPaneValidator.validate(t);return e?e.map(O):void 0},e.validateFiltersPane=function(t){var e=n.Validators.filtersPaneValidator.validate(t);return e?e.map(O):void 0},e.validateFieldsPane=function(t){var e=n.Validators.fieldsPaneValidator.validate(t);return e?e.map(O):void 0},e.validatePageNavigationPane=function(t){var e=n.Validators.pageNavigationPaneValidator.validate(t);return e?e.map(O):void 0},e.validateSelectionPane=function(t){var e=n.Validators.selectionPaneValidator.validate(t);return e?e.map(O):void 0},e.validateSyncSlicersPane=function(t){var e=n.Validators.syncSlicersPaneValidator.validate(t);return e?e.map(O):void 0},e.validateVisualizationsPane=function(t){var e=n.Validators.visualizationsPaneValidator.validate(t);return e?e.map(O):void 0},e.validateCustomPageSize=function(t){var e=n.Validators.customPageSizeValidator.validate(t);return e?e.map(O):void 0},e.validateExtension=function(t){var e=n.Validators.extensionValidator.validate(t);return e?e.map(O):void 0},e.validateMenuGroupExtension=function(t){var e=n.Validators.menuGroupExtensionValidator.validate(t);return e?e.map(O):void 0},e.validateReportLoad=function(t){var e=n.Validators.reportLoadValidator.validate(t);return e?e.map(O):void 0},e.validateCreateReport=function(t){var e=n.Validators.reportCreateValidator.validate(t);return e?e.map(O):void 0},e.validateDashboardLoad=function(t){var e=n.Validators.dashboardLoadValidator.validate(t);return e?e.map(O):void 0},e.validateTileLoad=function(t){var e=n.Validators.tileLoadValidator.validate(t);return e?e.map(O):void 0},e.validatePage=function(t){var e=n.Validators.pageValidator.validate(t);return e?e.map(O):void 0},e.validateFilter=function(t){var e=n.Validators.filterValidator.validate(t);return e?e.map(O):void 0},e.validateUpdateFiltersRequest=function(t){var e=n.Validators.updateFiltersRequestValidator.validate(t);return e?e.map(O):void 0},e.validateSaveAsParameters=function(t){var e=n.Validators.saveAsParametersValidator.validate(t);return e?e.map(O):void 0},e.validateLoadQnaConfiguration=function(t){var e=n.Validators.loadQnaValidator.validate(t);return e?e.map(O):void 0},e.validateQnaInterpretInputData=function(t){var e=n.Validators.qnaInterpretInputDataValidator.validate(t);return e?e.map(O):void 0},e.validateExportDataRequest=function(t){var e=n.Validators.exportDataRequestValidator.validate(t);return e?e.map(O):void 0},e.validateVisualHeader=function(t){var e=n.Validators.visualHeaderValidator.validate(t);return e?e.map(O):void 0},e.validateVisualSettings=function(t){var e=n.Validators.visualSettingsValidator.validate(t);return e?e.map(O):void 0},e.validateCommandsSettings=function(t){var e=n.Validators.commandsSettingsValidator.validate(t);return e?e.map(O):void 0},e.validateCustomTheme=function(t){var e=n.Validators.customThemeValidator.validate(t);return e?e.map(O):void 0}},function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.Validators=void 0;var a=r(2),i=r(5),o=r(6),n=r(7),l=r(8),s=r(9),d=r(10),u=r(11),c=r(12),p=r(13),f=r(14),h=r(15),v=r(16),y=r(17),m=r(18),V=r(19),g=r(20),b=r(21),w=r(22),P=r(23),_=r(24),S=r(25),E=r(26),O=r(27),T=r(28),F=r(4);e.Validators={addBookmarkRequestValidator:new i.AddBookmarkRequestValidator,advancedFilterTypeValidator:new F.EnumValidator([0]),advancedFilterValidator:new c.AdvancedFilterValidator,anyArrayValidator:new F.ArrayValidator([new S.AnyOfValidator([new F.StringValidator,new F.NumberValidator,new F.BooleanValidator])]),anyFilterValidator:new S.AnyOfValidator([new c.BasicFilterValidator,new c.AdvancedFilterValidator,new c.IncludeExcludeFilterValidator,new c.NotSupportedFilterValidator,new c.RelativeDateFilterValidator,new c.TopNFilterValidator,new c.RelativeTimeFilterValidator]),anyValueValidator:new S.AnyOfValidator([new F.StringValidator,new F.NumberValidator,new F.BooleanValidator]),actionBarValidator:new a.ActionBarValidator,applyBookmarkByNameRequestValidator:new i.ApplyBookmarkByNameRequestValidator,applyBookmarkStateRequestValidator:new i.ApplyBookmarkStateRequestValidator,applyBookmarkValidator:new S.AnyOfValidator([new i.ApplyBookmarkByNameRequestValidator,new i.ApplyBookmarkStateRequestValidator]),backgroundValidator:new F.EnumValidator([0,1]),basicFilterTypeValidator:new F.EnumValidator([1]),basicFilterValidator:new c.BasicFilterValidator,booleanArrayValidator:new F.BooleanArrayValidator,booleanValidator:new F.BooleanValidator,bookmarksPaneValidator:new h.BookmarksPaneValidator,captureBookmarkOptionsValidator:new i.CaptureBookmarkOptionsValidator,captureBookmarkRequestValidator:new i.CaptureBookmarkRequestValidator,commandDisplayOptionValidator:new F.EnumValidator([0,1,2]),commandExtensionSelectorValidator:new S.AnyOfValidator([new g.VisualSelectorValidator,new g.VisualTypeSelectorValidator]),commandExtensionArrayValidator:new F.ArrayValidator([new u.CommandExtensionValidator]),commandExtensionValidator:new u.CommandExtensionValidator,commandsSettingsArrayValidator:new F.ArrayValidator([new o.CommandsSettingsValidator]),commandsSettingsValidator:new o.CommandsSettingsValidator,conditionItemValidator:new c.ConditionItemValidator,contrastModeValidator:new F.EnumValidator([0,1,2,3,4]),customLayoutDisplayOptionValidator:new F.EnumValidator([0,1,2]),customLayoutValidator:new p.CustomLayoutValidator,customPageSizeValidator:new f.CustomPageSizeValidator,customThemeValidator:new n.CustomThemeValidator,dashboardLoadValidator:new l.DashboardLoadValidator,datasetBindingValidator:new s.DatasetBindingValidator,displayStateModeValidator:new F.EnumValidator([0,1]),displayStateValidator:new p.DisplayStateValidator,exportDataRequestValidator:new d.ExportDataRequestValidator,extensionArrayValidator:new F.ArrayValidator([new u.ExtensionValidator]),extensionsValidator:new S.AnyOfValidator([new F.ArrayValidator([new u.ExtensionValidator]),new u.ExtensionsValidator]),extensionPointsValidator:new u.ExtensionPointsValidator,extensionValidator:new u.ExtensionValidator,fieldForbiddenValidator:new E.FieldForbiddenValidator,fieldRequiredValidator:new O.FieldRequiredValidator,fieldsPaneValidator:new h.FieldsPaneValidator,filterColumnTargetValidator:new c.FilterColumnTargetValidator,filterDisplaySettingsValidator:new c.FilterDisplaySettingsValidator,filterConditionsValidator:new F.ArrayValidator([new c.ConditionItemValidator]),filterHierarchyTargetValidator:new c.FilterHierarchyTargetValidator,filterMeasureTargetValidator:new c.FilterMeasureTargetValidator,filterTargetValidator:new S.AnyOfValidator([new c.FilterColumnTargetValidator,new c.FilterHierarchyTargetValidator,new c.FilterMeasureTargetValidator]),filterValidator:new c.FilterValidator,filterTypeValidator:new F.EnumValidator([0,1,2,3,4,5,6,7]),filtersArrayValidator:new F.ArrayValidator([new c.FilterValidator]),filtersOperationsUpdateValidator:new F.EnumValidator([1,2,3]),filtersOperationsRemoveAllValidator:new F.EnumValidator([0]),filtersPaneValidator:new h.FiltersPaneValidator,hyperlinkClickBehaviorValidator:new F.EnumValidator([0,1,2]),includeExcludeFilterValidator:new c.IncludeExcludeFilterValidator,includeExludeFilterTypeValidator:new F.EnumValidator([3]),layoutTypeValidator:new F.EnumValidator([0,1,2,3]),loadQnaValidator:new v.LoadQnaValidator,menuExtensionValidator:new S.AnyOfValidator([new u.FlatMenuExtensionValidator,new u.GroupedMenuExtensionValidator]),menuGroupExtensionArrayValidator:new F.ArrayValidator([new u.MenuGroupExtensionValidator]),menuGroupExtensionValidator:new u.MenuGroupExtensionValidator,menuLocationValidator:new F.EnumValidator([0,1]),notSupportedFilterTypeValidator:new F.EnumValidator([2]),notSupportedFilterValidator:new c.NotSupportedFilterValidator,numberArrayValidator:new F.NumberArrayValidator,numberValidator:new F.NumberValidator,pageLayoutValidator:new T.MapValidator([new F.StringValidator],[new p.VisualLayoutValidator]),pageNavigationPaneValidator:new h.PageNavigationPaneValidator,pageNavigationPositionValidator:new F.EnumValidator([0,1]),pageSizeTypeValidator:new F.EnumValidator([0,1,2,3,4,5]),pageSizeValidator:new f.PageSizeValidator,pageValidator:new f.PageValidator,pageViewFieldValidator:new f.PageViewFieldValidator,pagesLayoutValidator:new T.MapValidator([new F.StringValidator],[new p.PageLayoutValidator]),reportBarsValidator:new a.ReportBarsValidator,reportPanesValidator:new h.ReportPanesValidator,permissionsValidator:new F.EnumValidator([0,1,2,4,7]),playBookmarkRequestValidator:new i.PlayBookmarkRequestValidator,qnaInterpretInputDataValidator:new v.QnaInterpretInputDataValidator,qnaSettingValidator:new v.QnaSettingsValidator,relativeDateFilterOperatorValidator:new F.EnumValidator([0,1,2]),relativeDateFilterTimeUnitTypeValidator:new F.EnumValidator([0,1,2,3,4,5,6]),relativeDateFilterTypeValidator:new F.EnumValidator([4]),relativeDateFilterValidator:new c.RelativeDateFilterValidator,relativeTimeFilterTimeUnitTypeValidator:new F.EnumValidator([7,8]),relativeTimeFilterTypeValidator:new F.EnumValidator([7]),relativeTimeFilterValidator:new c.RelativeTimeFilterValidator,reportCreateValidator:new y.ReportCreateValidator,reportLoadValidator:new m.ReportLoadValidator,saveAsParametersValidator:new V.SaveAsParametersValidator,selectionPaneValidator:new h.SelectionPaneValidator,settingsValidator:new b.SettingsValidator,singleCommandSettingsValidator:new o.SingleCommandSettingsValidator,slicerSelectorValidator:new S.AnyOfValidator([new g.VisualSelectorValidator,new g.SlicerTargetSelectorValidator]),slicerStateValidator:new w.SlicerStateValidator,slicerTargetValidator:new S.AnyOfValidator([new c.FilterColumnTargetValidator,new c.FilterHierarchyTargetValidator,new c.FilterMeasureTargetValidator,new c.FilterKeyColumnsTargetValidator,new c.FilterKeyHierarchyTargetValidator]),slicerValidator:new w.SlicerValidator,stringArrayValidator:new F.StringArrayValidator,stringValidator:new F.StringValidator,syncSlicersPaneValidator:new h.SyncSlicersPaneValidator,tileLoadValidator:new P.TileLoadValidator,tokenTypeValidator:new F.EnumValidator([0,1]),topNFilterTypeValidator:new F.EnumValidator([5]),topNFilterValidator:new c.TopNFilterValidator,updateFiltersRequestValidator:new S.AnyOfValidator([new c.UpdateFiltersRequestValidator,new c.RemoveFiltersRequestValidator]),viewModeValidator:new F.EnumValidator([0,1]),visualCommandSelectorValidator:new S.AnyOfValidator([new g.VisualSelectorValidator,new g.VisualTypeSelectorValidator]),visualHeaderSelectorValidator:new S.AnyOfValidator([new g.VisualSelectorValidator,new g.VisualTypeSelectorValidator]),visualHeaderSettingsValidator:new _.VisualHeaderSettingsValidator,visualHeaderValidator:new _.VisualHeaderValidator,visualHeadersValidator:new F.ArrayValidator([new _.VisualHeaderValidator]),visualizationsPaneValidator:new h.VisualizationsPaneValidator,visualLayoutValidator:new p.VisualLayoutValidator,visualSelectorValidator:new g.VisualSelectorValidator,visualSettingsValidator:new _.VisualSettingsValidator,visualTypeSelectorValidator:new g.VisualTypeSelectorValidator}},function(t,e,r){var a,i=this&&this.__extends||(a=function(t,e){return(a=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])})(t,e)},function(t,e){function r(){this.constructor=t}a(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.ActionBarValidator=e.ReportBarsValidator=void 0;var o=r(3),n=r(4),l=r(1),s=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i(e,t),e.prototype.validate=function(e,r,a){if(null==e)return null;var i=t.prototype.validate.call(this,e,r,a);if(i)return i;var n=[{field:"actionBar",validators:[l.Validators.actionBarValidator]}];return new o.MultipleFieldsValidator(n).validate(e,r,a)},e}(n.ObjectValidator);e.ReportBarsValidator=s;var d=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i(e,t),e.prototype.validate=function(e,r,a){if(null==e)return null;var i=t.prototype.validate.call(this,e,r,a);if(i)return i;var n=[{field:"visible",validators:[l.Validators.booleanValidator]}];return new o.MultipleFieldsValidator(n).validate(e,r,a)},e}(n.ObjectValidator);e.ActionBarValidator=d},function(t,e){Object.defineProperty(e,"__esModule",{value:!0}),e.MultipleFieldsValidator=void 0;var r=function(){function t(t){this.fieldValidatorsPairs=t}return t.prototype.validate=function(t,e,r){if(!this.fieldValidatorsPairs)return null;for(var a=e?e+"."+r:r,i=0,o=this.fieldValidatorsPairs;i0&&i[i.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0?"&":"?";return t+=a+e+"="+r},e.isSavedInternal=function(t,e,i){return r(this,void 0,void 0,(function(){return a(this,(function(r){switch(r.label){case 0:return r.trys.push([0,2,,3]),[4,t.get("/report/hasUnsavedChanges",{uid:e},i)];case 1:return[2,!r.sent().body];case 2:throw r.sent().body;case 3:return[2]}}))}))},e.isRDLEmbed=function(t){return t.toLowerCase().indexOf("/rdlembed?")>=0},e.autoAuthInEmbedUrl=function(t){return t&&decodeURIComponent(t).toLowerCase().indexOf("autoauth=true")>=0},e.getRandomValue=o,e.getTimeDiffInMilliseconds=function(t,e){return Math.abs(t.getTime()-e.getTime())}},function(t,e){Object.defineProperty(e,"__esModule",{value:!0}),e.EmbedUrlNotSupported=e.APINotSupportedForRDLError=void 0,e.APINotSupportedForRDLError="This API is currently not supported for RDL reports",e.EmbedUrlNotSupported="Embed URL is invalid for this scenario. Please use Power BI REST APIs to get the valid URL"},function(t,e,r){var a,i=this&&this.__extends||(a=function(t,e){return(a=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])})(t,e)},function(t,e){function r(){this.constructor=t}a(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}),o=this&&this.__awaiter||function(t,e,r,a){return new(r||(r=Promise))((function(i,o){function n(t){try{s(a.next(t))}catch(t){o(t)}}function l(t){try{s(a.throw(t))}catch(t){o(t)}}function s(t){var e;t.done?i(t.value):(e=t.value,e instanceof r?e:new r((function(t){t(e)}))).then(n,l)}s((a=a.apply(t,e||[])).next())}))},n=this&&this.__generator||function(t,e){var r,a,i,o,n={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:l(0),throw:l(1),return:l(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function l(o){return function(l){return function(o){if(r)throw new TypeError("Generator is already executing.");for(;n;)try{if(r=1,a&&(i=2&o[0]?a.return:o[0]?a.throw||((i=a.return)&&i.call(a),0):a.next)&&!(i=i.call(a,o[1])).done)return i;switch(a=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return n.label++,{value:o[1],done:!1};case 5:n.label++,a=o[1],o=[0];continue;case 7:o=n.ops.pop(),n.trys.pop();continue;default:if(!(i=n.trys,(i=i.length>0&&i[i.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&!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,s=o.keyValues;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 s.conditions=l,s}return i(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}(l);function m(t){if(t.filterType)return t.filterType;var e=t,r=t;return"string"==typeof e.operator&&Array.isArray(e.values)?o.Basic:"string"==typeof r.logicalOperator&&Array.isArray(r.conditions)?o.Advanced:o.Unknown}function V(t){return!(!t.table||!t.column||t.aggregationFunction)}e.AdvancedFilter=y,e.isFilterKeyColumnsTarget=function(t){return V(t)&&!!t.keys},e.isBasicFilterWithKeys=function(t){return m(t)===o.Basic&&!!t.keyValues},e.getFilterType=m,e.isMeasure=function(t){return void 0!==t.table&&void 0!==t.measure},e.isColumn=V,e.isHierarchyLevel=function(t){return!(!(t.table&&t.hierarchy&&t.hierarchyLevel)||t.aggregationFunction)},e.isHierarchyLevelAggr=function(t){return!!(t.table&&t.hierarchy&&t.hierarchyLevel&&t.aggregationFunction)},e.isColumnAggr=function(t){return!!(t.table&&t.column&&t.aggregationFunction)},function(t){t[t.Bottom=0]="Bottom",t[t.Left=1]="Left"}(e.PageNavigationPosition||(e.PageNavigationPosition={})),function(t){t[t.Interactive=0]="Interactive",t[t.ResultOnly=1]="ResultOnly"}(e.QnaMode||(e.QnaMode={})),function(t){t[t.Summarized=0]="Summarized",t[t.Underlying=1]="Underlying"}(e.ExportDataType||(e.ExportDataType={})),function(t){t[t.Off=0]="Off",t[t.Presentation=1]="Presentation"}(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"},function(t){t[t.Ascending=1]="Ascending",t[t.Descending=2]="Descending"}(e.SortDirection||(e.SortDirection={}));var g=function(){function t(t){this.$schema=t}return t.prototype.toJSON=function(){return{$schema:this.$schema}},t}();e.Selector=g;var b=function(t){function e(r){var a=t.call(this,e.schemaUrl)||this;return a.pageName=r,a}return i(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}(g);e.PageSelector=b;var w=function(t){function e(r){var a=t.call(this,e.schemaUrl)||this;return a.visualName=r,a}return i(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}(g);e.VisualSelector=w;var P=function(t){function e(e){var r=t.call(this,w.schemaUrl)||this;return r.visualType=e,r}return i(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}(g);e.VisualTypeSelector=P;var _=function(t){function e(e){var r=t.call(this,w.schemaUrl)||this;return r.target=e,r}return i(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}(g);function S(t){return t&&!!t.groupName}function E(t){return Array.isArray(t)}function O(t){var e=t.message;return e||(e=t.path+" is invalid. Not meeting "+t.keyword+" constraint"),{message:e}}e.SlicerTargetSelector=_,function(t){t[t.Enabled=0]="Enabled",t[t.Disabled=1]="Disabled",t[t.Hidden=2]="Hidden"}(e.CommandDisplayOption||(e.CommandDisplayOption={})),function(t){t[t.Grouping=0]="Grouping",t[t.Measure=1]="Measure",t[t.GroupingOrMeasure=2]="GroupingOrMeasure"}(e.VisualDataRoleKind||(e.VisualDataRoleKind={})),function(t){t[t.Measure=0]="Measure",t[t.Grouping=1]="Grouping"}(e.VisualDataRoleKindPreference||(e.VisualDataRoleKindPreference={})),e.isFlatMenuExtension=function(t){return t&&!S(t)},e.isGroupedMenuExtension=S,e.isIExtensions=function(t){return t&&!E(t)},e.isIExtensionArray=E,e.validateVisualSelector=function(t){var e=n.Validators.visualSelectorValidator.validate(t);return e?e.map(O):void 0},e.validateSlicer=function(t){var e=n.Validators.slicerValidator.validate(t);return e?e.map(O):void 0},e.validateSlicerState=function(t){var e=n.Validators.slicerStateValidator.validate(t);return e?e.map(O):void 0},e.validatePlayBookmarkRequest=function(t){var e=n.Validators.playBookmarkRequestValidator.validate(t);return e?e.map(O):void 0},e.validateAddBookmarkRequest=function(t){var e=n.Validators.addBookmarkRequestValidator.validate(t);return e?e.map(O):void 0},e.validateApplyBookmarkByNameRequest=function(t){var e=n.Validators.applyBookmarkByNameRequestValidator.validate(t);return e?e.map(O):void 0},e.validateApplyBookmarkStateRequest=function(t){var e=n.Validators.applyBookmarkStateRequestValidator.validate(t);return e?e.map(O):void 0},e.validateCaptureBookmarkRequest=function(t){var e=n.Validators.captureBookmarkRequestValidator.validate(t);return e?e.map(O):void 0},e.validateSettings=function(t){var e=n.Validators.settingsValidator.validate(t);return e?e.map(O):void 0},e.validatePanes=function(t){var e=n.Validators.reportPanesValidator.validate(t);return e?e.map(O):void 0},e.validateBookmarksPane=function(t){var e=n.Validators.bookmarksPaneValidator.validate(t);return e?e.map(O):void 0},e.validateFiltersPane=function(t){var e=n.Validators.filtersPaneValidator.validate(t);return e?e.map(O):void 0},e.validateFieldsPane=function(t){var e=n.Validators.fieldsPaneValidator.validate(t);return e?e.map(O):void 0},e.validatePageNavigationPane=function(t){var e=n.Validators.pageNavigationPaneValidator.validate(t);return e?e.map(O):void 0},e.validateSelectionPane=function(t){var e=n.Validators.selectionPaneValidator.validate(t);return e?e.map(O):void 0},e.validateSyncSlicersPane=function(t){var e=n.Validators.syncSlicersPaneValidator.validate(t);return e?e.map(O):void 0},e.validateVisualizationsPane=function(t){var e=n.Validators.visualizationsPaneValidator.validate(t);return e?e.map(O):void 0},e.validateCustomPageSize=function(t){var e=n.Validators.customPageSizeValidator.validate(t);return e?e.map(O):void 0},e.validateExtension=function(t){var e=n.Validators.extensionValidator.validate(t);return e?e.map(O):void 0},e.validateMenuGroupExtension=function(t){var e=n.Validators.menuGroupExtensionValidator.validate(t);return e?e.map(O):void 0},e.validateReportLoad=function(t){var e=n.Validators.reportLoadValidator.validate(t);return e?e.map(O):void 0},e.validateCreateReport=function(t){var e=n.Validators.reportCreateValidator.validate(t);return e?e.map(O):void 0},e.validateDashboardLoad=function(t){var e=n.Validators.dashboardLoadValidator.validate(t);return e?e.map(O):void 0},e.validateTileLoad=function(t){var e=n.Validators.tileLoadValidator.validate(t);return e?e.map(O):void 0},e.validatePage=function(t){var e=n.Validators.pageValidator.validate(t);return e?e.map(O):void 0},e.validateFilter=function(t){var e=n.Validators.filterValidator.validate(t);return e?e.map(O):void 0},e.validateUpdateFiltersRequest=function(t){var e=n.Validators.updateFiltersRequestValidator.validate(t);return e?e.map(O):void 0},e.validateSaveAsParameters=function(t){var e=n.Validators.saveAsParametersValidator.validate(t);return e?e.map(O):void 0},e.validateLoadQnaConfiguration=function(t){var e=n.Validators.loadQnaValidator.validate(t);return e?e.map(O):void 0},e.validateQnaInterpretInputData=function(t){var e=n.Validators.qnaInterpretInputDataValidator.validate(t);return e?e.map(O):void 0},e.validateExportDataRequest=function(t){var e=n.Validators.exportDataRequestValidator.validate(t);return e?e.map(O):void 0},e.validateVisualHeader=function(t){var e=n.Validators.visualHeaderValidator.validate(t);return e?e.map(O):void 0},e.validateVisualSettings=function(t){var e=n.Validators.visualSettingsValidator.validate(t);return e?e.map(O):void 0},e.validateCommandsSettings=function(t){var e=n.Validators.commandsSettingsValidator.validate(t);return e?e.map(O):void 0},e.validateCustomTheme=function(t){var e=n.Validators.customThemeValidator.validate(t);return e?e.map(O):void 0}},function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.Validators=void 0;var a=r(2),i=r(5),o=r(6),n=r(7),l=r(8),s=r(9),d=r(10),u=r(11),c=r(12),p=r(13),f=r(14),h=r(15),v=r(16),y=r(17),m=r(18),V=r(19),g=r(20),b=r(21),w=r(22),P=r(23),_=r(24),S=r(25),E=r(26),O=r(27),T=r(28),F=r(4);e.Validators={addBookmarkRequestValidator:new i.AddBookmarkRequestValidator,advancedFilterTypeValidator:new F.EnumValidator([0]),advancedFilterValidator:new c.AdvancedFilterValidator,anyArrayValidator:new F.ArrayValidator([new S.AnyOfValidator([new F.StringValidator,new F.NumberValidator,new F.BooleanValidator])]),anyFilterValidator:new S.AnyOfValidator([new c.BasicFilterValidator,new c.AdvancedFilterValidator,new c.IncludeExcludeFilterValidator,new c.NotSupportedFilterValidator,new c.RelativeDateFilterValidator,new c.TopNFilterValidator,new c.RelativeTimeFilterValidator]),anyValueValidator:new S.AnyOfValidator([new F.StringValidator,new F.NumberValidator,new F.BooleanValidator]),actionBarValidator:new a.ActionBarValidator,applyBookmarkByNameRequestValidator:new i.ApplyBookmarkByNameRequestValidator,applyBookmarkStateRequestValidator:new i.ApplyBookmarkStateRequestValidator,applyBookmarkValidator:new S.AnyOfValidator([new i.ApplyBookmarkByNameRequestValidator,new i.ApplyBookmarkStateRequestValidator]),backgroundValidator:new F.EnumValidator([0,1]),basicFilterTypeValidator:new F.EnumValidator([1]),basicFilterValidator:new c.BasicFilterValidator,booleanArrayValidator:new F.BooleanArrayValidator,booleanValidator:new F.BooleanValidator,bookmarksPaneValidator:new h.BookmarksPaneValidator,captureBookmarkOptionsValidator:new i.CaptureBookmarkOptionsValidator,captureBookmarkRequestValidator:new i.CaptureBookmarkRequestValidator,commandDisplayOptionValidator:new F.EnumValidator([0,1,2]),commandExtensionSelectorValidator:new S.AnyOfValidator([new g.VisualSelectorValidator,new g.VisualTypeSelectorValidator]),commandExtensionArrayValidator:new F.ArrayValidator([new u.CommandExtensionValidator]),commandExtensionValidator:new u.CommandExtensionValidator,commandsSettingsArrayValidator:new F.ArrayValidator([new o.CommandsSettingsValidator]),commandsSettingsValidator:new o.CommandsSettingsValidator,conditionItemValidator:new c.ConditionItemValidator,contrastModeValidator:new F.EnumValidator([0,1,2,3,4]),customLayoutDisplayOptionValidator:new F.EnumValidator([0,1,2]),customLayoutValidator:new p.CustomLayoutValidator,customPageSizeValidator:new f.CustomPageSizeValidator,customThemeValidator:new n.CustomThemeValidator,dashboardLoadValidator:new l.DashboardLoadValidator,datasetBindingValidator:new s.DatasetBindingValidator,displayStateModeValidator:new F.EnumValidator([0,1]),displayStateValidator:new p.DisplayStateValidator,exportDataRequestValidator:new d.ExportDataRequestValidator,extensionArrayValidator:new F.ArrayValidator([new u.ExtensionValidator]),extensionsValidator:new S.AnyOfValidator([new F.ArrayValidator([new u.ExtensionValidator]),new u.ExtensionsValidator]),extensionPointsValidator:new u.ExtensionPointsValidator,extensionValidator:new u.ExtensionValidator,fieldForbiddenValidator:new E.FieldForbiddenValidator,fieldRequiredValidator:new O.FieldRequiredValidator,fieldsPaneValidator:new h.FieldsPaneValidator,filterColumnTargetValidator:new c.FilterColumnTargetValidator,filterDisplaySettingsValidator:new c.FilterDisplaySettingsValidator,filterConditionsValidator:new F.ArrayValidator([new c.ConditionItemValidator]),filterHierarchyTargetValidator:new c.FilterHierarchyTargetValidator,filterMeasureTargetValidator:new c.FilterMeasureTargetValidator,filterTargetValidator:new S.AnyOfValidator([new c.FilterColumnTargetValidator,new c.FilterHierarchyTargetValidator,new c.FilterMeasureTargetValidator]),filterValidator:new c.FilterValidator,filterTypeValidator:new F.EnumValidator([0,1,2,3,4,5,6,7]),filtersArrayValidator:new F.ArrayValidator([new c.FilterValidator]),filtersOperationsUpdateValidator:new F.EnumValidator([1,2,3]),filtersOperationsRemoveAllValidator:new F.EnumValidator([0]),filtersPaneValidator:new h.FiltersPaneValidator,hyperlinkClickBehaviorValidator:new F.EnumValidator([0,1,2]),includeExcludeFilterValidator:new c.IncludeExcludeFilterValidator,includeExludeFilterTypeValidator:new F.EnumValidator([3]),layoutTypeValidator:new F.EnumValidator([0,1,2,3]),loadQnaValidator:new v.LoadQnaValidator,menuExtensionValidator:new S.AnyOfValidator([new u.FlatMenuExtensionValidator,new u.GroupedMenuExtensionValidator]),menuGroupExtensionArrayValidator:new F.ArrayValidator([new u.MenuGroupExtensionValidator]),menuGroupExtensionValidator:new u.MenuGroupExtensionValidator,menuLocationValidator:new F.EnumValidator([0,1]),notSupportedFilterTypeValidator:new F.EnumValidator([2]),notSupportedFilterValidator:new c.NotSupportedFilterValidator,numberArrayValidator:new F.NumberArrayValidator,numberValidator:new F.NumberValidator,pageLayoutValidator:new T.MapValidator([new F.StringValidator],[new p.VisualLayoutValidator]),pageNavigationPaneValidator:new h.PageNavigationPaneValidator,pageNavigationPositionValidator:new F.EnumValidator([0,1]),pageSizeTypeValidator:new F.EnumValidator([0,1,2,3,4,5]),pageSizeValidator:new f.PageSizeValidator,pageValidator:new f.PageValidator,pageViewFieldValidator:new f.PageViewFieldValidator,pagesLayoutValidator:new T.MapValidator([new F.StringValidator],[new p.PageLayoutValidator]),reportBarsValidator:new a.ReportBarsValidator,reportPanesValidator:new h.ReportPanesValidator,permissionsValidator:new F.EnumValidator([0,1,2,4,7]),playBookmarkRequestValidator:new i.PlayBookmarkRequestValidator,qnaInterpretInputDataValidator:new v.QnaInterpretInputDataValidator,qnaSettingValidator:new v.QnaSettingsValidator,relativeDateFilterOperatorValidator:new F.EnumValidator([0,1,2]),relativeDateFilterTimeUnitTypeValidator:new F.EnumValidator([0,1,2,3,4,5,6]),relativeDateFilterTypeValidator:new F.EnumValidator([4]),relativeDateFilterValidator:new c.RelativeDateFilterValidator,relativeTimeFilterTimeUnitTypeValidator:new F.EnumValidator([7,8]),relativeTimeFilterTypeValidator:new F.EnumValidator([7]),relativeTimeFilterValidator:new c.RelativeTimeFilterValidator,reportCreateValidator:new y.ReportCreateValidator,reportLoadValidator:new m.ReportLoadValidator,saveAsParametersValidator:new V.SaveAsParametersValidator,selectionPaneValidator:new h.SelectionPaneValidator,settingsValidator:new b.SettingsValidator,singleCommandSettingsValidator:new o.SingleCommandSettingsValidator,slicerSelectorValidator:new S.AnyOfValidator([new g.VisualSelectorValidator,new g.SlicerTargetSelectorValidator]),slicerStateValidator:new w.SlicerStateValidator,slicerTargetValidator:new S.AnyOfValidator([new c.FilterColumnTargetValidator,new c.FilterHierarchyTargetValidator,new c.FilterMeasureTargetValidator,new c.FilterKeyColumnsTargetValidator,new c.FilterKeyHierarchyTargetValidator]),slicerValidator:new w.SlicerValidator,stringArrayValidator:new F.StringArrayValidator,stringValidator:new F.StringValidator,syncSlicersPaneValidator:new h.SyncSlicersPaneValidator,tileLoadValidator:new P.TileLoadValidator,tokenTypeValidator:new F.EnumValidator([0,1]),topNFilterTypeValidator:new F.EnumValidator([5]),topNFilterValidator:new c.TopNFilterValidator,updateFiltersRequestValidator:new S.AnyOfValidator([new c.UpdateFiltersRequestValidator,new c.RemoveFiltersRequestValidator]),viewModeValidator:new F.EnumValidator([0,1]),visualCommandSelectorValidator:new S.AnyOfValidator([new g.VisualSelectorValidator,new g.VisualTypeSelectorValidator]),visualHeaderSelectorValidator:new S.AnyOfValidator([new g.VisualSelectorValidator,new g.VisualTypeSelectorValidator]),visualHeaderSettingsValidator:new _.VisualHeaderSettingsValidator,visualHeaderValidator:new _.VisualHeaderValidator,visualHeadersValidator:new F.ArrayValidator([new _.VisualHeaderValidator]),visualizationsPaneValidator:new h.VisualizationsPaneValidator,visualLayoutValidator:new p.VisualLayoutValidator,visualSelectorValidator:new g.VisualSelectorValidator,visualSettingsValidator:new _.VisualSettingsValidator,visualTypeSelectorValidator:new g.VisualTypeSelectorValidator}},function(t,e,r){var a,i=this&&this.__extends||(a=function(t,e){return(a=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])})(t,e)},function(t,e){function r(){this.constructor=t}a(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.ActionBarValidator=e.ReportBarsValidator=void 0;var o=r(3),n=r(4),l=r(1),s=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i(e,t),e.prototype.validate=function(e,r,a){if(null==e)return null;var i=t.prototype.validate.call(this,e,r,a);if(i)return i;var n=[{field:"actionBar",validators:[l.Validators.actionBarValidator]}];return new o.MultipleFieldsValidator(n).validate(e,r,a)},e}(n.ObjectValidator);e.ReportBarsValidator=s;var d=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i(e,t),e.prototype.validate=function(e,r,a){if(null==e)return null;var i=t.prototype.validate.call(this,e,r,a);if(i)return i;var n=[{field:"visible",validators:[l.Validators.booleanValidator]}];return new o.MultipleFieldsValidator(n).validate(e,r,a)},e}(n.ObjectValidator);e.ActionBarValidator=d},function(t,e){Object.defineProperty(e,"__esModule",{value:!0}),e.MultipleFieldsValidator=void 0;var r=function(){function t(t){this.fieldValidatorsPairs=t}return t.prototype.validate=function(t,e,r){if(!this.fieldValidatorsPairs)return null;for(var a=e?e+"."+r:r,i=0,o=this.fieldValidatorsPairs;i0&&i[i.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0?"&":"?";return t+=a+e+"="+r},e.isSavedInternal=function(t,e,i){return r(this,void 0,void 0,(function(){return a(this,(function(r){switch(r.label){case 0:return r.trys.push([0,2,,3]),[4,t.get("/report/hasUnsavedChanges",{uid:e},i)];case 1:return[2,!r.sent().body];case 2:throw r.sent().body;case 3:return[2]}}))}))},e.isRDLEmbed=function(t){return t.toLowerCase().indexOf("/rdlembed?")>=0},e.autoAuthInEmbedUrl=function(t){return t&&decodeURIComponent(t).toLowerCase().indexOf("autoauth=true")>=0},e.getRandomValue=o,e.getTimeDiffInMilliseconds=function(t,e){return Math.abs(t.getTime()-e.getTime())}},function(t,e){Object.defineProperty(e,"__esModule",{value:!0}),e.EmbedUrlNotSupported=e.APINotSupportedForRDLError=void 0,e.APINotSupportedForRDLError="This API is currently not supported for RDL reports",e.EmbedUrlNotSupported="Embed URL is invalid for this scenario. Please use Power BI REST APIs to get the valid URL"},function(t,e,r){var a,i=this&&this.__extends||(a=function(t,e){return(a=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])})(t,e)},function(t,e){function r(){this.constructor=t}a(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}),o=this&&this.__awaiter||function(t,e,r,a){return new(r||(r=Promise))((function(i,o){function n(t){try{s(a.next(t))}catch(t){o(t)}}function l(t){try{s(a.throw(t))}catch(t){o(t)}}function s(t){var e;t.done?i(t.value):(e=t.value,e instanceof r?e:new r((function(t){t(e)}))).then(n,l)}s((a=a.apply(t,e||[])).next())}))},n=this&&this.__generator||function(t,e){var r,a,i,o,n={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:l(0),throw:l(1),return:l(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function l(o){return function(l){return function(o){if(r)throw new TypeError("Generator is already executing.");for(;n;)try{if(r=1,a&&(i=2&o[0]?a.return:o[0]?a.throw||((i=a.return)&&i.call(a),0):a.next)&&!(i=i.call(a,o[1])).done)return i;switch(a=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return n.label++,{value:o[1],done:!1};case 5:n.label++,a=o[1],o=[0];continue;case 7:o=n.ops.pop(),n.trys.pop();continue;default:if(!(i=n.trys,(i=i.length>0&&i[i.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]; + getBookmarks(): Promise; apply(bookmarkName: string): Promise>; - play(playMode: models.BookmarksPlayMode): Promise>; - capture(options?: models.ICaptureBookmarkOptions): Promise; + play(playMode: BookmarksPlayMode): Promise>; + capture(options?: ICaptureBookmarkOptions): Promise; applyState(state: string): Promise>; } @@ -30,7 +39,7 @@ export class BookmarksManager implements IBookmarksManager { /** * @hidden */ - constructor(private service: service.Service, private config: embed.IEmbedConfigurationBase, private iframe?: HTMLIFrameElement) { + constructor(private service: Service, private config: IEmbedConfigurationBase, private iframe?: HTMLIFrameElement) { } /** @@ -44,15 +53,15 @@ export class BookmarksManager implements IBookmarksManager { * }); * ``` * - * @returns {Promise} + * @returns {Promise} */ - async getBookmarks(): Promise { - if (utils.isRDLEmbed(this.config.embedUrl)) { - return Promise.reject(errors.APINotSupportedForRDLError); + async getBookmarks(): Promise { + if (isRDLEmbed(this.config.embedUrl)) { + return Promise.reject(APINotSupportedForRDLError); } try { - const response = await this.service.hpm.get(`/report/bookmarks`, { uid: this.config.uniqueId }, this.iframe.contentWindow); + const response = await this.service.hpm.get(`/report/bookmarks`, { uid: this.config.uniqueId }, this.iframe.contentWindow); return response.body; } catch (response) { throw response.body; @@ -70,11 +79,11 @@ export class BookmarksManager implements IBookmarksManager { * @returns {Promise>} */ async apply(bookmarkName: string): Promise> { - if (utils.isRDLEmbed(this.config.embedUrl)) { - return Promise.reject(errors.APINotSupportedForRDLError); + if (isRDLEmbed(this.config.embedUrl)) { + return Promise.reject(APINotSupportedForRDLError); } - var request: models.IApplyBookmarkByNameRequest = { + const request: IApplyBookmarkByNameRequest = { name: bookmarkName }; @@ -90,18 +99,18 @@ export class BookmarksManager implements IBookmarksManager { * * ```javascript * // Enter presentation mode. - * bookmarksManager.play(models.BookmarksPlayMode.Presentation) + * bookmarksManager.play(BookmarksPlayMode.Presentation) * ``` * - * @param {models.BookmarksPlayMode} playMode Play mode can be either `Presentation` or `Off` + * @param {BookmarksPlayMode} playMode Play mode can be either `Presentation` or `Off` * @returns {Promise>} */ - async play(playMode: models.BookmarksPlayMode): Promise> { - if (utils.isRDLEmbed(this.config.embedUrl)) { - return Promise.reject(errors.APINotSupportedForRDLError); + async play(playMode: BookmarksPlayMode): Promise> { + if (isRDLEmbed(this.config.embedUrl)) { + return Promise.reject(APINotSupportedForRDLError); } - var playBookmarkRequest: models.IPlayBookmarkRequest = { + const playBookmarkRequest: IPlayBookmarkRequest = { playMode: playMode }; @@ -119,20 +128,20 @@ export class BookmarksManager implements IBookmarksManager { * bookmarksManager.capture(options) * ``` * - * @param {models.ICaptureBookmarkOptions} [options] Options for bookmark capturing - * @returns {Promise} + * @param {ICaptureBookmarkOptions} [options] Options for bookmark capturing + * @returns {Promise} */ - async capture(options?: models.ICaptureBookmarkOptions): Promise { - if (utils.isRDLEmbed(this.config.embedUrl)) { - return Promise.reject(errors.APINotSupportedForRDLError); + async capture(options?: ICaptureBookmarkOptions): Promise { + if (isRDLEmbed(this.config.embedUrl)) { + return Promise.reject(APINotSupportedForRDLError); } - var request: models.ICaptureBookmarkRequest = { + const request: ICaptureBookmarkRequest = { options: options || {} }; try { - const response = await this.service.hpm.post(`/report/bookmarks/capture`, request, { uid: this.config.uniqueId }, this.iframe.contentWindow); + const response = await this.service.hpm.post(`/report/bookmarks/capture`, request, { uid: this.config.uniqueId }, this.iframe.contentWindow); return response.body; } catch (response) { throw response.body; @@ -150,11 +159,11 @@ export class BookmarksManager implements IBookmarksManager { * @returns {Promise>} */ async applyState(state: string): Promise> { - if (utils.isRDLEmbed(this.config.embedUrl)) { - return Promise.reject(errors.APINotSupportedForRDLError); + if (isRDLEmbed(this.config.embedUrl)) { + return Promise.reject(APINotSupportedForRDLError); } - var request: models.IApplyBookmarkStateRequest = { + const request: IApplyBookmarkStateRequest = { state: state }; diff --git a/src/config.ts b/src/config.ts index 7a1605a9..c817d6d9 100644 --- a/src/config.ts +++ b/src/config.ts @@ -4,4 +4,4 @@ const config = { type: 'js' }; -export default config; \ No newline at end of file +export default config; diff --git a/src/create.ts b/src/create.ts index 60844b80..77947399 100644 --- a/src/create.ts +++ b/src/create.ts @@ -1,6 +1,6 @@ -import * as service from './service'; -import * as models from 'powerbi-models'; -import * as embed from './embed'; +import { IReportCreateConfiguration, IError, validateCreateReport } from 'powerbi-models'; +import { Service } from './service'; +import { Embed, IEmbedConfigurationBase, IEmbedConfiguration } from './embed'; import * as utils from './util'; /** @@ -8,13 +8,13 @@ import * as utils from './util'; * * @export * @class Create - * @extends {embed.Embed} + * @extends {Embed} */ -export class Create extends embed.Embed { +export class Create extends Embed { /* * @hidden */ - constructor(service: service.Service, element: HTMLElement, config: embed.IEmbedConfiguration | models.IReportCreateConfiguration, phasedRender?: boolean, isBootstrap?: boolean) { + constructor(service: Service, element: HTMLElement, config: IEmbedConfiguration | IReportCreateConfiguration, phasedRender?: boolean, isBootstrap?: boolean) { super(service, element, config, /* iframe */ undefined, phasedRender, isBootstrap); } @@ -36,13 +36,13 @@ export class Create extends embed.Embed { /** * Validate create report configuration. */ - validate(config: embed.IEmbedConfigurationBase): models.IError[] { - return models.validateCreateReport(config); + validate(config: IEmbedConfigurationBase): IError[] { + return validateCreateReport(config); } /** * Handle config changes. - * + * * @hidden * @returns {void} */ @@ -51,16 +51,16 @@ export class Create extends embed.Embed { return; } - const config = this.config; + const config = this.config as IEmbedConfiguration | IReportCreateConfiguration; this.createConfig = { - accessToken: config.accessToken, - datasetId: config.datasetId || this.getId(), - groupId: config.groupId, - settings: config.settings, - tokenType: config.tokenType, - theme: config.theme - } + accessToken: config.accessToken, + datasetId: config.datasetId || this.getId(), + groupId: config.groupId, + settings: config.settings, + tokenType: config.tokenType, + theme: config.theme + }; } /** @@ -96,14 +96,14 @@ export class Create extends embed.Embed { * @hidden */ static findIdFromEmbedUrl(url: string): string { - const datasetIdRegEx = /datasetId="?([^&]+)"?/ + const datasetIdRegEx = /datasetId="?([^&]+)"?/; const datasetIdMatch = url.match(datasetIdRegEx); - let datasetId; + let datasetId: string; if (datasetIdMatch) { datasetId = datasetIdMatch[1]; } return datasetId; } -} \ No newline at end of file +} diff --git a/src/dashboard.ts b/src/dashboard.ts index b32e54f7..0ad2b5bf 100644 --- a/src/dashboard.ts +++ b/src/dashboard.ts @@ -1,6 +1,6 @@ -import * as service from './service'; -import * as embed from './embed'; -import * as models from 'powerbi-models'; +import { IError, validateDashboardLoad, PageView } from 'powerbi-models'; +import { Service, IService } from './service'; +import { Embed, IDashboardEmbedConfiguration, IEmbedConfigurationBase } from './embed'; /** * A Dashboard node within a dashboard hierarchy @@ -9,9 +9,9 @@ import * as models from 'powerbi-models'; * @interface IDashboardNode */ export interface IDashboardNode { - iframe: HTMLIFrameElement; - service: service.IService; - config: embed.IEmbedConfigurationBase + iframe: HTMLIFrameElement; + service: IService; + config: IEmbedConfigurationBase; } /** @@ -19,112 +19,115 @@ export interface IDashboardNode { * * @export * @class Dashboard - * @extends {embed.Embed} + * @extends {Embed} * @implements {IDashboardNode} */ -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"; +export class Dashboard extends 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) { - super(service, element, config, /* iframe */ undefined, phasedRender, isBootstrap); - this.loadPath = "/dashboard/load"; - this.phasedLoadPath = "/dashboard/prepare"; + /** + * Creates an instance of a Power BI Dashboard. + * + * @param {service.Service} service + * @hidden + * @param {HTMLElement} element + */ + constructor(service: Service, element: HTMLElement, config: IEmbedConfigurationBase, phasedRender?: boolean, isBootstrap?: boolean) { + super(service, element, config, /* iframe */ undefined, phasedRender, isBootstrap); + this.loadPath = "/dashboard/load"; + this.phasedLoadPath = "/dashboard/prepare"; - Array.prototype.push.apply(this.allowedEvents, Dashboard.allowedEvents); - } - - /** - * This adds backwards compatibility for older config which used the dashboardId query param to specify dashboard id. - * E.g. https://powerbi-df.analysis-df.windows.net/dashboardEmbedHost?dashboardId=e9363c62-edb6-4eac-92d3-2199c5ca2a9e - * - * By extracting the id we can ensure id is always explicitly provided as part of the load configuration. - * @hidden - * @static - * @param {string} url - * @returns {string} - */ - static findIdFromEmbedUrl(url: string): string { - const dashboardIdRegEx = /dashboardId="?([^&]+)"?/ - const dashboardIdMatch = url.match(dashboardIdRegEx); + Array.prototype.push.apply(this.allowedEvents, Dashboard.allowedEvents); + } - let dashboardId; - if (dashboardIdMatch) { - dashboardId = dashboardIdMatch[1]; - } + /** + * This adds backwards compatibility for older config which used the dashboardId query param to specify dashboard id. + * E.g. https://powerbi-df.analysis-df.windows.net/dashboardEmbedHost?dashboardId=e9363c62-edb6-4eac-92d3-2199c5ca2a9e + * + * By extracting the id we can ensure id is always explicitly provided as part of the load configuration. + * + * @hidden + * @static + * @param {string} url + * @returns {string} + */ + static findIdFromEmbedUrl(url: string): string { + const dashboardIdRegEx = /dashboardId="?([^&]+)"?/; + const dashboardIdMatch = url.match(dashboardIdRegEx); - return dashboardId; + let dashboardId: string; + if (dashboardIdMatch) { + dashboardId = dashboardIdMatch[1]; } - /** - * Get dashboard id from first available location: options, attribute, embed url. - * - * @returns {string} - */ - getId(): string { - let config = this.config; - const dashboardId = config.id || this.element.getAttribute(Dashboard.dashboardIdAttribute) || Dashboard.findIdFromEmbedUrl(config.embedUrl); + return dashboardId; + } - if (typeof dashboardId !== 'string' || dashboardId.length === 0) { - throw new Error(`Dashboard id is required, but it was not found. You must provide an id either as part of embed configuration or as attribute '${Dashboard.dashboardIdAttribute}'.`); - } + /** + * Get dashboard id from first available location: options, attribute, embed url. + * + * @returns {string} + */ + getId(): string { + const config = this.config as IDashboardEmbedConfiguration; + const dashboardId = config.id || this.element.getAttribute(Dashboard.dashboardIdAttribute) || Dashboard.findIdFromEmbedUrl(config.embedUrl); - return dashboardId; + if (typeof dashboardId !== 'string' || dashboardId.length === 0) { + throw new Error(`Dashboard id is required, but it was not found. You must provide an id either as part of embed configuration or as attribute '${Dashboard.dashboardIdAttribute}'.`); } - /** - * Validate load configuration. - * - * @hidden - */ - validate(baseConfig: embed.IEmbedConfigurationBase): models.IError[] { - const config = baseConfig as embed.IDashboardEmbedConfiguration; - let error = models.validateDashboardLoad(config); - return error ? error : this.ValidatePageView(config.pageView); - } + return dashboardId; + } - /** - * Handle config changes. - * @hidden - * @returns {void} - */ - configChanged(isBootstrap: boolean): void { - if (isBootstrap) { - return; - } + /** + * Validate load configuration. + * + * @hidden + */ + validate(baseConfig: IEmbedConfigurationBase): IError[] { + const config = baseConfig as IDashboardEmbedConfiguration; + const error = validateDashboardLoad(config); + return error ? error : this.validatePageView(config.pageView); + } - // Populate dashboard id into config object. - (this.config).id = this.getId(); + /** + * Handle config changes. + * + * @hidden + * @returns {void} + */ + configChanged(isBootstrap: boolean): void { + if (isBootstrap) { + return; } - /** - * @hidden - * @returns {string} - */ - getDefaultEmbedUrlEndpoint(): string { - return "dashboardEmbed"; - } + // Populate dashboard id into config object. + (this.config as IDashboardEmbedConfiguration).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") { - return [{message: "pageView must be one of the followings: fitToWidth, oneColumn, actualSize"}]; - } + /** + * Validate that pageView has a legal value: if page view is defined it must have one of the values defined in PageView + * + * @hidden + */ + private validatePageView(pageView: PageView): IError[] { + if (pageView && pageView !== "fitToWidth" && pageView !== "oneColumn" && pageView !== "actualSize") { + return [{ message: "pageView must be one of the followings: fitToWidth, oneColumn, actualSize" }]; } -} \ No newline at end of file + } +} diff --git a/src/embed.ts b/src/embed.ts index 69fe406e..b2a47f0b 100644 --- a/src/embed.ts +++ b/src/embed.ts @@ -1,7 +1,7 @@ -import * as utils from './util'; -import * as service from './service'; -import * as sdkConfig from './config'; import * as models from 'powerbi-models'; +import { addParamToUrl, assign, autoAuthInEmbedUrl, createRandomString, getTimeDiffInMilliseconds, remove } from './util'; +import { Service, IEventHandler, IEvent, ICustomEvent } from './service'; +import * as sdkConfig from './config'; import { EmbedUrlNotSupported } from './errors'; declare global { @@ -24,7 +24,7 @@ declare global { msRequestFullscreen: Function; // Safari Fullscreen - webkitRequestFullscreen: {(): void}; + webkitRequestFullscreen: { (): void }; } } @@ -39,7 +39,7 @@ export type IVisualEmbedConfiguration = models.IVisualEmbedConfiguration; export type IReportEmbedConfiguration = models.IReportEmbedConfiguration; -export type IDashboardEmbedConfiguration = models.IDashboardEmbedConfiguration ; +export type IDashboardEmbedConfiguration = models.IDashboardEmbedConfiguration; export type ITileEmbedConfiguration = models.ITileEmbedConfiguration; @@ -53,8 +53,8 @@ export type IEmbedSettings = models.ISettings; /** @hidden */ export interface IInternalEventHandler { - test(event: service.IEvent): boolean; - handle(event: service.ICustomEvent): void; + test(event: IEvent): boolean; + handle(event: ICustomEvent): void; } /** @@ -83,10 +83,10 @@ export abstract class Embed { static type: string; /** @hidden */ - static maxFrontLoadTimes: number = 2; + static maxFrontLoadTimes = 2; /** @hidden */ - allowedEvents = []; + allowedEvents: string[] = []; /** * Gets or sets the event handler registered for this embed component. @@ -102,7 +102,7 @@ export abstract class Embed { * @type {service.Service} * @hidden */ - service: service.Service; + service: Service; /** * Gets or sets the HTML element that contains the Power BI embed component. @@ -122,7 +122,7 @@ export abstract class Embed { /** * Saves the iframe state. Each iframe should be loaded only once. - * After first load, .embed will go into embedExisting path which will send + * After first load, .embed will go into embedExisting path which will send * a postMessage of /report/load instead of creating a new iframe. * * @type {boolean} @@ -156,30 +156,35 @@ export abstract class Embed { /** * Url used in the load request. + * * @hidden */ loadPath: string; /** * Url used in the load request. + * * @hidden */ phasedLoadPath: string; /** * Type of embed + * * @hidden */ embedtype: string; /** * Handler function for the 'ready' event + * * @hidden */ frontLoadHandler: () => any; /** * The time the last /load request was sent + * * @hidden */ lastLoadRequest: Date; @@ -195,8 +200,8 @@ export abstract class Embed { * @param {IEmbedConfigurationBase} config * @hidden */ - constructor(service: service.Service, element: HTMLElement, config: IEmbedConfigurationBase, iframe?: HTMLIFrameElement, phasedRender?: boolean, isBootstrap?: boolean) { - if (utils.autoAuthInEmbedUrl(config.embedUrl)) { + constructor(service: Service, element: HTMLElement, config: IEmbedConfigurationBase, iframe?: HTMLIFrameElement, phasedRender?: boolean, isBootstrap?: boolean) { + if (autoAuthInEmbedUrl(config.embedUrl)) { throw new Error(EmbedUrlNotSupported); } @@ -211,9 +216,9 @@ export abstract class Embed { this.populateConfig(config, isBootstrap); if (this.embedtype === 'create') { - this.setIframe(false /*set EventListener to call create() on 'load' event*/, phasedRender, isBootstrap); + 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); + this.setIframe(true /* set EventListener to call load() on 'load' event*/, phasedRender, isBootstrap); } } @@ -225,6 +230,7 @@ export abstract class Embed { * datasetId: '5dac7a4a-4452-46b3-99f6-a25915e0fe55', * accessToken: 'eyJ0eXA ... TaE2rTSbmg', * ``` + * * @hidden * @param {models.IReportCreateConfiguration} config * @returns {Promise} @@ -313,6 +319,7 @@ export abstract class Embed { * }) * .catch(error => { ... }); * ``` + * * @hidden * @param {models.ILoadConfiguration} config * @param {boolean} phasedRender @@ -338,7 +345,7 @@ export abstract class Embed { }; const timeNow: Date = new Date(); - if (this.lastLoadRequest && utils.getTimeDiffInMilliseconds(this.lastLoadRequest, timeNow) < 100) { + if (this.lastLoadRequest && getTimeDiffInMilliseconds(this.lastLoadRequest, timeNow) < 100) { console.debug("Power BI SDK sent more than two /report/load requests in the last 100ms interval."); return; } @@ -372,21 +379,21 @@ export abstract class Embed { * * @template T * @param {string} eventName - * @param {service.IEventHandler} [handler] + * @param {IEventHandler} [handler] */ - off(eventName: string, handler?: service.IEventHandler): void { - const fakeEvent: service.IEvent = { name: eventName, type: null, id: null, value: null }; + off(eventName: string, handler?: IEventHandler): void { + const fakeEvent: IEvent = { name: eventName, type: null, id: null, value: null }; if (handler) { - utils.remove(eventHandler => eventHandler.test(fakeEvent) && (eventHandler.handle === handler), this.eventHandlers); + remove((eventHandler) => eventHandler.test(fakeEvent) && (eventHandler.handle === handler), this.eventHandlers); this.element.removeEventListener(eventName, handler); } else { const eventHandlersToRemove = this.eventHandlers - .filter(eventHandler => eventHandler.test(fakeEvent)); + .filter((eventHandler) => eventHandler.test(fakeEvent)); eventHandlersToRemove - .forEach(eventHandlerToRemove => { - utils.remove(eventHandler => eventHandler === eventHandlerToRemove, this.eventHandlers); + .forEach((eventHandlerToRemove) => { + remove((eventHandler) => eventHandler === eventHandlerToRemove, this.eventHandlers); this.element.removeEventListener(eventName, eventHandlerToRemove.handle); }); } @@ -405,17 +412,17 @@ export abstract class Embed { * @param {string} eventName * @param {service.IEventHandler} handler */ - on(eventName: string, handler: service.IEventHandler): void { + on(eventName: string, handler: IEventHandler): void { if (this.allowedEvents.indexOf(eventName) === -1) { throw new Error(`eventName must be one of ${this.allowedEvents}. You passed: ${eventName}`); } this.eventHandlers.push({ - test: (event: service.IEvent) => event.name === eventName, + test: (event: IEvent) => event.name === eventName, handle: handler }); - this.element.addEventListener(eventName, handler) + this.element.addEventListener(eventName, handler); } /** @@ -436,7 +443,7 @@ export abstract class Embed { * @returns {Promise} */ async setAccessToken(accessToken: string): Promise { - var embedType = this.config.type; + let embedType = this.config.type; embedType = (embedType === 'create' || embedType === 'visual' || embedType === 'qna') ? 'report' : embedType; try { const response = await this.service.hpm.post('/' + embedType + '/token', accessToken, { uid: this.config.uniqueId }, this.iframe.contentWindow); @@ -477,7 +484,7 @@ export abstract class Embed { */ populateConfig(config: IBootstrapEmbedConfiguration, isBootstrap: boolean): void { if (this.bootstrapConfig) { - this.config = utils.assign({}, this.bootstrapConfig, config); + this.config = assign({}, this.bootstrapConfig, config); // reset bootstrapConfig because we do not want to merge it in re-embed scenario. this.bootstrapConfig = null; @@ -485,7 +492,7 @@ export abstract class Embed { else { // Copy config - important for multiple iframe scenario. // Otherwise, if a user uses the same config twice, same unique Id which will be used in different iframes. - this.config = utils.assign({}, config); + this.config = assign({}, config); } this.config.embedUrl = this.getEmbedUrl(isBootstrap); @@ -516,12 +523,12 @@ export abstract class Embed { if (!config.settings) { return; } - let localeSettings = config.settings.localeSettings + const localeSettings = config.settings.localeSettings; if (localeSettings && localeSettings.language) { - this.config.embedUrl = utils.addParamToUrl(this.config.embedUrl, 'language', localeSettings.language); + this.config.embedUrl = addParamToUrl(this.config.embedUrl, 'language', localeSettings.language); } if (localeSettings && localeSettings.formatLocale) { - this.config.embedUrl = utils.addParamToUrl(this.config.embedUrl, 'formatLocale', localeSettings.formatLocale); + this.config.embedUrl = addParamToUrl(this.config.embedUrl, 'formatLocale', localeSettings.formatLocale); } } @@ -555,7 +562,7 @@ export abstract class Embed { hostname = Embed.defaultEmbedHostName; } - let endpoint = this.getDefaultEmbedUrlEndpoint(); + const endpoint = this.getDefaultEmbedUrlEndpoint(); // Trim spaces to fix user mistakes. hostname = hostname.toLowerCase().trim(); @@ -580,7 +587,7 @@ export abstract class Embed { * @hidden */ private getUniqueId(): string { - return this.config.uniqueId || this.element.getAttribute(Embed.nameAttribute) || utils.createRandomString(); + return this.config.uniqueId || this.element.getAttribute(Embed.nameAttribute) || createRandomString(); } /** @@ -652,36 +659,37 @@ export abstract class Embed { private isFullscreen(iframe: HTMLIFrameElement): boolean { const options = ['fullscreenElement', 'webkitFullscreenElement', 'mozFullscreenScreenElement', 'msFullscreenElement']; - return options.some(option => document[option] === iframe); + return options.some((option) => document[option] === iframe); } /** * Validate load and create configuration. - * + * * @hidden */ abstract validate(config: IEmbedConfigurationBase): models.IError[]; /** * Sets Iframe for embed + * * @hidden */ private setIframe(isLoad: boolean, phasedRender?: boolean, isBootstrap?: boolean): void { if (!this.iframe) { - var iframeContent = document.createElement("iframe"); - var embedUrl = this.config.uniqueId ? utils.addParamToUrl(this.config.embedUrl, 'uid', this.config.uniqueId) : this.config.embedUrl; + const iframeContent = document.createElement("iframe"); + const embedUrl = this.config.uniqueId ? addParamToUrl(this.config.embedUrl, 'uid', this.config.uniqueId) : this.config.embedUrl; iframeContent.style.width = '100%'; iframeContent.style.height = '100%'; iframeContent.setAttribute("src", embedUrl); iframeContent.setAttribute("scrolling", "no"); iframeContent.setAttribute("allowfullscreen", "true"); - var node = this.element; + const node = this.element; while (node.firstChild) { node.removeChild(node.firstChild); } node.appendChild(iframeContent); - this.iframe = node.firstChild; + this.iframe = node.firstChild as HTMLIFrameElement; } if (isLoad) { @@ -701,7 +709,7 @@ export abstract class Embed { if (this.service.getNumberOfComponents() <= Embed.maxFrontLoadTimes) { this.frontLoadHandler = () => { this.frontLoadSendConfig(this.config); - } + }; // 'ready' event is fired by the embedded element (not by the iframe) this.element.addEventListener('ready', this.frontLoadHandler, false); @@ -738,7 +746,7 @@ export abstract class Embed { /** * Removes element's tabindex attribute */ - removeComponentTabIndex(tabIndex?: number): void { + removeComponentTabIndex(_tabIndex?: number): void { if (!this.element) { return; } @@ -755,10 +763,10 @@ export abstract class Embed { * @returns {string} */ static findGroupIdFromEmbedUrl(url: string): string { - const groupIdRegEx = /groupId="?([^&]+)"?/ + const groupIdRegEx = /groupId="?([^&]+)"?/; const groupIdMatch = url.match(groupIdRegEx); - let groupId; + let groupId: string; if (groupIdMatch) { groupId = groupIdMatch[1]; } @@ -768,6 +776,7 @@ export abstract class Embed { /** * Sends the config for front load calls, after 'ready' message is received from the iframe + * * @hidden */ private async frontLoadSendConfig(config: IEmbedConfigurationBase): Promise { @@ -781,8 +790,9 @@ export abstract class Embed { } // contentWindow must be initialized - if (this.iframe.contentWindow == null) + if (this.iframe.contentWindow == null) { return; + } try { const response = await this.service.hpm.post("/frontload/config", config, { uid: this.config.uniqueId }, this.iframe.contentWindow); diff --git a/src/errors.ts b/src/errors.ts index 03c56cae..c7bf714c 100644 --- a/src/errors.ts +++ b/src/errors.ts @@ -1,4 +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"; +export const APINotSupportedForRDLError = "This API is currently not supported for RDL reports"; +export const EmbedUrlNotSupported = "Embed URL is invalid for this scenario. Please use Power BI REST APIs to get the valid URL"; diff --git a/src/factories.ts b/src/factories.ts index 65446b25..92b5a1b7 100644 --- a/src/factories.ts +++ b/src/factories.ts @@ -1,11 +1,11 @@ /** * TODO: Need to find better place for these factory functions or refactor how we handle dependency injection */ -import { IHpmFactory, IWpmpFactory, IRouterFactory } from './service'; +import { WindowPostMessageProxy } from 'window-post-message-proxy'; +import { HttpPostMessage } from 'http-post-message'; +import { Router } from 'powerbi-router'; import config from './config'; -import * as wpmp from 'window-post-message-proxy'; -import * as hpm from 'http-post-message'; -import * as router from 'powerbi-router'; +import { IHpmFactory, IWpmpFactory, IRouterFactory } from './service'; export { IHpmFactory, @@ -14,26 +14,26 @@ export { }; export const hpmFactory: IHpmFactory = (wpmp, defaultTargetWindow, sdkVersion = config.version, sdkType = config.type) => { - return new hpm.HttpPostMessage(wpmp, { + return new HttpPostMessage(wpmp, { 'x-sdk-type': sdkType, 'x-sdk-version': sdkVersion }, defaultTargetWindow); }; export const wpmpFactory: IWpmpFactory = (name?: string, logMessages?: boolean, eventSourceOverrideWindow?: Window) => { - return new wpmp.WindowPostMessageProxy({ + return new WindowPostMessageProxy({ processTrackingProperties: { - addTrackingProperties: hpm.HttpPostMessage.addTrackingProperties, - getTrackingProperties: hpm.HttpPostMessage.getTrackingProperties, + addTrackingProperties: HttpPostMessage.addTrackingProperties, + getTrackingProperties: HttpPostMessage.getTrackingProperties, }, - isErrorMessage: hpm.HttpPostMessage.isErrorMessage, + isErrorMessage: HttpPostMessage.isErrorMessage, suppressWarnings: true, - name, - logMessages, - eventSourceOverrideWindow + name: name, + logMessages: logMessages, + eventSourceOverrideWindow: eventSourceOverrideWindow }); }; export const routerFactory: IRouterFactory = (wpmp) => { - return new router.Router(wpmp); + return new Router(wpmp); }; diff --git a/src/page.ts b/src/page.ts index 00240aad..f126db6f 100644 --- a/src/page.ts +++ b/src/page.ts @@ -264,7 +264,7 @@ export class Page implements IPageNode, IFilterable { try { const response = await this.report.service.hpm.get(`/report/pages/${this.name}/visuals`, { uid: this.report.config.uniqueId }, this.report.iframe.contentWindow); return response.body - .map(visual => new VisualDescriptor(this, visual.name, visual.title, visual.type, visual.layout)); + .map((visual) => new VisualDescriptor(this, visual.name, visual.title, visual.type, visual.layout)); } catch (response) { throw response.body; } @@ -280,7 +280,7 @@ export class Page implements IPageNode, IFilterable { * * @returns {(Promise)} */ - async hasLayout(layoutType): Promise { + async hasLayout(layoutType: LayoutType): Promise { if (isRDLEmbed(this.report.config.embedUrl)) { return Promise.reject(APINotSupportedForRDLError); } diff --git a/src/powerbi-client.ts b/src/powerbi-client.ts index bff6fa8c..62eff7df 100644 --- a/src/powerbi-client.ts +++ b/src/powerbi-client.ts @@ -1,9 +1,9 @@ /** * @hidden */ +import * as models from 'powerbi-models'; import * as service from './service'; import * as factories from './factories'; -import * as models from 'powerbi-models'; import { IFilterable } from './ifilterable'; export { @@ -59,4 +59,4 @@ declare global { * Note: create an instance of the class with the default configuration for normal usage, or save the class so that you can create an instance of the service. */ var powerbi = new service.Service(factories.hpmFactory, factories.wpmpFactory, factories.routerFactory); -window.powerbi = powerbi; \ No newline at end of file +window.powerbi = powerbi; diff --git a/src/qna.ts b/src/qna.ts index 0fdd09c2..4d11f533 100644 --- a/src/qna.ts +++ b/src/qna.ts @@ -1,7 +1,7 @@ -import * as service from './service'; -import * as models from 'powerbi-models'; -import * as embed from './embed'; import { IHttpPostMessageResponse } from 'http-post-message'; +import { IError, IQnaInterpretInputData, validateLoadQnaConfiguration } from 'powerbi-models'; +import { Embed, IEmbedConfigurationBase } from './embed'; +import { Service } from './service'; /** * The Power BI Q&A embed component @@ -10,71 +10,71 @@ import { IHttpPostMessageResponse } from 'http-post-message'; * @class Qna * @extends {Embed} */ -export class Qna extends embed.Embed { - /** @hidden */ - static type = "Qna"; - /** @hidden */ - static allowedEvents = ["loaded", "visualRendered"]; +export class Qna extends 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); + /** + * @hidden + */ + constructor(service: Service, element: HTMLElement, config: IEmbedConfigurationBase, phasedRender?: boolean, isBootstrap?: boolean) { + super(service, element, config, /* iframe */ undefined, phasedRender, isBootstrap); - this.loadPath = "/qna/load"; - this.phasedLoadPath = "/qna/prepare"; - Array.prototype.push.apply(this.allowedEvents, Qna.allowedEvents); - } + this.loadPath = "/qna/load"; + this.phasedLoadPath = "/qna/prepare"; + Array.prototype.push.apply(this.allowedEvents, Qna.allowedEvents); + } - /** - * The ID of the Q&A embed component - * - * @returns {string} - */ - getId(): string { - return null; - } + /** + * The ID of the Q&A embed component + * + * @returns {string} + */ + getId(): string { + return null; + } - /** - * Change the question of the Q&A embed component - * - * @param {string} question - question which will render Q&A data - * @returns {Promise>} - */ - async setQuestion(question: string): Promise> { - const qnaData: models.IQnaInterpretInputData = { - question: question - }; + /** + * Change the question of the Q&A embed component + * + * @param {string} question - question which will render Q&A data + * @returns {Promise>} + */ + async setQuestion(question: string): Promise> { + const qnaData: IQnaInterpretInputData = { + question: question + }; - try { - return await this.service.hpm.post('/qna/interpret', qnaData, { uid: this.config.uniqueId }, this.iframe.contentWindow); - } catch (response) { - throw response.body; - } + try { + return await this.service.hpm.post('/qna/interpret', qnaData, { uid: this.config.uniqueId }, this.iframe.contentWindow); + } catch (response) { + throw response.body; } + } - /** - * Handle config changes. - * - * @returns {void} - */ - configChanged(isBootstrap: boolean): void { - // Nothing to do in Q&A embed. - } + /** + * Handle config changes. + * + * @returns {void} + */ + configChanged(_isBootstrap: boolean): void { + // Nothing to do in Q&A embed. + } - /** - * @hidden - * @returns {string} - */ - getDefaultEmbedUrlEndpoint(): string { - return "qnaEmbed"; - } + /** + * @hidden + * @returns {string} + */ + getDefaultEmbedUrlEndpoint(): string { + return "qnaEmbed"; + } - /** - * Validate load configuration. - */ - validate(config: embed.IEmbedConfigurationBase): models.IError[] { - return models.validateLoadQnaConfiguration(config); - } -} \ No newline at end of file + /** + * Validate load configuration. + */ + validate(config: IEmbedConfigurationBase): IError[] { + return validateLoadQnaConfiguration(config); + } +} diff --git a/src/report.ts b/src/report.ts index 63d1dc79..74715eb0 100644 --- a/src/report.ts +++ b/src/report.ts @@ -71,7 +71,7 @@ export class Report extends Embed implements IReportNode, IFilterable { * @hidden */ constructor(service: Service, element: HTMLElement, baseConfig: IEmbedConfigurationBase, phasedRender?: boolean, isBootstrap?: boolean, iframe?: HTMLIFrameElement) { - const config = baseConfig; + const config = baseConfig as IReportEmbedConfiguration; super(service, element, config, iframe, phasedRender, isBootstrap); this.loadPath = "/report/load"; this.phasedLoadPath = "/report/prepare"; @@ -297,7 +297,7 @@ export class Report extends Embed implements IReportNode, IFilterable { * @returns {string} */ getId(): string { - const config = this.config; + const config = this.config as IReportEmbedConfiguration; const reportId = config.id || this.element.getAttribute(Report.reportIdAttribute) || Report.findIdFromEmbedUrl(config.embedUrl); if (typeof reportId !== 'string' || reportId.length === 0) { @@ -327,7 +327,7 @@ export class Report extends Embed implements IReportNode, IFilterable { try { const response = await this.service.hpm.get('/report/pages', { uid: this.config.uniqueId }, this.iframe.contentWindow); return response.body - .map(page => new Page(this, page.name, page.displayName, page.isActive, page.visibility, page.defaultSize, page.defaultDisplayOption)); + .map((page) => new Page(this, page.name, page.displayName, page.isActive, page.visibility, page.defaultSize, page.defaultDisplayOption)); } catch (response) { throw response.body; } @@ -440,8 +440,7 @@ export class Report extends Embed implements IReportNode, IFilterable { * @returns {void} */ configChanged(isBootstrap: boolean): void { - const config = this.config; - + const config = this.config as IReportEmbedConfiguration; if (this.isMobileSettings(config.settings)) { config.embedUrl = addParamToUrl(config.embedUrl, "isMobile", "true"); } diff --git a/src/service.ts b/src/service.ts index f89ca504..dd218c85 100644 --- a/src/service.ts +++ b/src/service.ts @@ -1,4 +1,21 @@ -import * as embed from './embed'; +/* eslint-disable @typescript-eslint/prefer-function-type */ +/* eslint-disable @typescript-eslint/no-unused-vars */ +/* eslint-disable @typescript-eslint/no-unsafe-assignment */ +import { WindowPostMessageProxy } from 'window-post-message-proxy'; +import { HttpPostMessage } from 'http-post-message'; +import { Router } from 'powerbi-router'; +import { IPage, IReportCreateConfiguration } from 'powerbi-models'; +import { + Embed, + IBootstrapEmbedConfiguration, + IDashboardEmbedConfiguration, + IEmbedConfiguration, + IEmbedConfigurationBase, + IQnaEmbedConfiguration, + IReportEmbedConfiguration, + ITileEmbedConfiguration, + IVisualEmbedConfiguration, +} from './embed'; import { Report } from './report'; import { Create } from './create'; import { Dashboard } from './dashboard'; @@ -7,10 +24,6 @@ import { Page } from './page'; import { Qna } from './qna'; import { Visual } from './visual'; import * as utils from './util'; -import * as wpmp from 'window-post-message-proxy'; -import * as hpm from 'http-post-message'; -import * as router from 'powerbi-router'; -import * as models from 'powerbi-models'; export interface IEvent { type: string; @@ -37,25 +50,25 @@ export interface IEventHandler { * @hidden */ export interface IHpmFactory { - (wpmp: wpmp.WindowPostMessageProxy, targetWindow?: Window, version?: string, type?: string, origin?: string): hpm.HttpPostMessage; + (wpmp: WindowPostMessageProxy, targetWindow?: Window, version?: string, type?: string, origin?: string): HttpPostMessage; } /** * @hidden */ export interface IWpmpFactory { - (name?: string, logMessages?: boolean, eventSourceOverrideWindow?: Window): wpmp.WindowPostMessageProxy; + (name?: string, logMessages?: boolean, eventSourceOverrideWindow?: Window): WindowPostMessageProxy; } /** * @hidden */ export interface IRouterFactory { - (wpmp: wpmp.WindowPostMessageProxy): router.Router; + (wpmp: WindowPostMessageProxy): Router; } export interface IPowerBiElement extends HTMLElement { - powerBiEmbed: embed.Embed; + powerBiEmbed: Embed; } export interface IDebugOptions { @@ -71,10 +84,10 @@ export interface IServiceConfiguration extends IDebugOptions { } export interface IService { - hpm: hpm.HttpPostMessage; + hpm: HttpPostMessage; } -export type IComponentEmbedConfiguration = embed.IReportEmbedConfiguration | embed.IDashboardEmbedConfiguration | embed.ITileEmbedConfiguration| embed.IVisualEmbedConfiguration | embed.IQnaEmbedConfiguration; +export type IComponentEmbedConfiguration = IReportEmbedConfiguration | IDashboardEmbedConfiguration | ITileEmbedConfiguration | IVisualEmbedConfiguration | IQnaEmbedConfiguration; /** * The Power BI Service embed component, which is the entry point to embed all other Power BI components into your application @@ -112,21 +125,23 @@ export class Service implements IService { */ accessToken: string; - /**The Configuration object for the service*/ + /** The Configuration object for the service*/ private config: IServiceConfiguration; /** A list of Dashboard, Report and Tile components that have been embedded using this service instance. */ - private embeds: embed.Embed[]; + private embeds: Embed[]; - /** TODO: Look for way to make hpm private without sacrificing ease of maintenance. This should be private but in embed needs to call methods. + /** TODO: Look for way to make hpm private without sacrificing ease of maintenance. 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 + */ + hpm: HttpPostMessage; + /** 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; + */ + wpmp: WindowPostMessageProxy; + private router: Router; private uniqueSessionId: string; /** @@ -147,55 +162,55 @@ export class Service implements IService { /** * Adds handler for report events. */ - this.router.post(`/reports/:uniqueId/events/:eventName`, (req, res) => { + this.router.post(`/reports/:uniqueId/events/:eventName`, (req, _res) => { const event: IEvent = { type: 'report', - id: req.params.uniqueId, - name: req.params.eventName, + id: req.params.uniqueId as string, + name: req.params.eventName as string, value: req.body }; this.handleEvent(event); }); - this.router.post(`/reports/:uniqueId/pages/:pageName/events/:eventName`, (req, res) => { + this.router.post(`/reports/:uniqueId/pages/:pageName/events/:eventName`, (req, _res) => { const event: IEvent = { type: 'report', - id: req.params.uniqueId, - name: req.params.eventName, + id: req.params.uniqueId as string, + name: req.params.eventName as string, value: req.body }; this.handleEvent(event); }); - this.router.post(`/reports/:uniqueId/pages/:pageName/visuals/:visualName/events/:eventName`, (req, res) => { + this.router.post(`/reports/:uniqueId/pages/:pageName/visuals/:visualName/events/:eventName`, (req, _res) => { const event: IEvent = { type: 'report', - id: req.params.uniqueId, - name: req.params.eventName, + id: req.params.uniqueId as string, + name: req.params.eventName as string, value: req.body }; this.handleEvent(event); }); - this.router.post(`/dashboards/:uniqueId/events/:eventName`, (req, res) => { + this.router.post(`/dashboards/:uniqueId/events/:eventName`, (req, _res) => { const event: IEvent = { type: 'dashboard', - id: req.params.uniqueId, - name: req.params.eventName, + id: req.params.uniqueId as string, + name: req.params.eventName as string, value: req.body }; this.handleEvent(event); }); - this.router.post(`/tile/:uniqueId/events/:eventName`, (req, res) => { + this.router.post(`/tile/:uniqueId/events/:eventName`, (req, _res) => { const event: IEvent = { type: 'tile', - id: req.params.uniqueId, - name: req.params.eventName, + id: req.params.uniqueId as string, + name: req.params.eventName as string, value: req.body }; @@ -205,11 +220,11 @@ export class Service implements IService { /** * Adds handler for Q&A events. */ - this.router.post(`/qna/:uniqueId/events/:eventName`, (req, res) => { + this.router.post(`/qna/:uniqueId/events/:eventName`, (req, _res) => { const event: IEvent = { type: 'qna', - id: req.params.uniqueId, - name: req.params.eventName, + id: req.params.uniqueId as string, + name: req.params.eventName as string, value: req.body }; @@ -219,10 +234,10 @@ export class Service implements IService { /** * Adds handler for front load 'ready' message. */ - this.router.post(`/ready/:uniqueId`, (req, res) => { + this.router.post(`/ready/:uniqueId`, (req, _res) => { const event: IEvent = { type: 'report', - id: req.params.uniqueId, + id: req.params.uniqueId as string, name: 'ready', value: req.body }; @@ -242,13 +257,14 @@ export class Service implements IService { /** * Creates new report + * * @param {HTMLElement} element - * @param {embed.IEmbedConfiguration} [config={}] - * @returns {embed.Embed} + * @param {IEmbedConfiguration} [config={}] + * @returns {Embed} */ - createReport(element: HTMLElement, config: embed.IEmbedConfiguration | models.IReportCreateConfiguration): embed.Embed { + createReport(element: HTMLElement, config: IEmbedConfiguration | IReportCreateConfiguration): Embed { config.type = 'create'; - let powerBiElement = element; + const powerBiElement = element as IPowerBiElement; const component = new Create(this, powerBiElement, config); powerBiElement.powerBiEmbed = component; this.addOrOverwriteEmbed(component, element); @@ -260,15 +276,15 @@ export class Service implements IService { * TODO: Add a description here * * @param {HTMLElement} [container] - * @param {embed.IEmbedConfiguration} [config=undefined] - * @returns {embed.Embed[]} + * @param {IEmbedConfiguration} [config=undefined] + * @returns {Embed[]} * @hidden */ - init(container?: HTMLElement, config: embed.IEmbedConfiguration = undefined): embed.Embed[] { + init(container?: HTMLElement, config: IEmbedConfiguration = undefined): Embed[] { container = (container && container instanceof HTMLElement) ? container : document.body; - const elements = Array.prototype.slice.call(container.querySelectorAll(`[${embed.Embed.embedUrlAttribute}]`)); - return elements.map(element => this.embed(element, config)); + const elements = Array.prototype.slice.call(container.querySelectorAll(`[${Embed.embedUrlAttribute}]`)); + return elements.map((element) => this.embed(element, config)); } /** @@ -277,10 +293,10 @@ export class Service implements IService { * otherwise creates a new component instance. * * @param {HTMLElement} element - * @param {embed.IEmbedConfigurationBase} [config={}] - * @returns {embed.Embed} + * @param {IEmbedConfigurationBase} [config={}] + * @returns {Embed} */ - embed(element: HTMLElement, config: IComponentEmbedConfiguration | embed.IEmbedConfigurationBase = {}): embed.Embed { + embed(element: HTMLElement, config: IComponentEmbedConfiguration | IEmbedConfigurationBase = {}): Embed { return this.embedInternal(element, config); } @@ -291,10 +307,10 @@ export class Service implements IService { * This is used for the phased embedding API, once element is loaded successfully, one can call 'render' on it. * * @param {HTMLElement} element - * @param {embed.IEmbedConfigurationBase} [config={}] - * @returns {embed.Embed} + * @param {IEmbedConfigurationBase} [config={}] + * @returns {Embed} */ - load(element: HTMLElement, config: IComponentEmbedConfiguration | embed.IEmbedConfigurationBase = {}): embed.Embed { + load(element: HTMLElement, config: IComponentEmbedConfiguration | IEmbedConfigurationBase = {}): Embed { return this.embedInternal(element, config, /* phasedRender */ true, /* isBootstrap */ false); } @@ -302,16 +318,16 @@ export class Service implements IService { * Given an HTML element and entityType, creates a new component instance, and bootstrap the iframe for embedding. * * @param {HTMLElement} element - * @param {embed.IBootstrapEmbedConfiguration} config: a bootstrap config which is an embed config without access token. + * @param {IBootstrapEmbedConfiguration} config: a bootstrap config which is an embed config without access token. */ - bootstrap(element: HTMLElement, config: IComponentEmbedConfiguration | embed.IBootstrapEmbedConfiguration): embed.Embed { + bootstrap(element: HTMLElement, config: IComponentEmbedConfiguration | IBootstrapEmbedConfiguration): Embed { return this.embedInternal(element, config, /* phasedRender */ false, /* isBootstrap */ true); } /** @hidden */ - embedInternal(element: HTMLElement, config: IComponentEmbedConfiguration | embed.IEmbedConfigurationBase = {}, phasedRender?: boolean, isBootstrap?: boolean): embed.Embed { - let component: embed.Embed; - let powerBiElement = element; + embedInternal(element: HTMLElement, config: IComponentEmbedConfiguration | IEmbedConfigurationBase = {}, phasedRender?: boolean, isBootstrap?: boolean): Embed { + let component: Embed; + const powerBiElement = element as IPowerBiElement; if (powerBiElement.powerBiEmbed) { if (isBootstrap) { @@ -346,20 +362,20 @@ export class Service implements IService { * * @private * @param {IPowerBiElement} element - * @param {embed.IEmbedConfigurationBase} config - * @returns {embed.Embed} + * @param {IEmbedConfigurationBase} config + * @returns {Embed} * @hidden */ - private embedNew(element: IPowerBiElement, config: IComponentEmbedConfiguration | embed.IEmbedConfigurationBase, phasedRender?: boolean, isBootstrap?: boolean): embed.Embed { - const componentType = config.type || element.getAttribute(embed.Embed.typeAttribute); + private embedNew(element: IPowerBiElement, config: IComponentEmbedConfiguration | IEmbedConfigurationBase, phasedRender?: boolean, isBootstrap?: boolean): Embed { + const componentType = config.type || element.getAttribute(Embed.typeAttribute); if (!componentType) { - throw new Error(`Attempted to embed using config ${JSON.stringify(config)} on element ${element.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 '${embed.Embed.typeAttribute}="${Report.type.toLowerCase()}"'.`); + throw new Error(`Attempted to embed using config ${JSON.stringify(config)} on element ${element.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 '${Embed.typeAttribute}="${Report.type.toLowerCase()}"'.`); } // Saves the type as part of the configuration so that it can be referenced later at a known location. config.type = componentType; - const Component = utils.find(component => componentType === component.type.toLowerCase(), Service.components); + const Component = utils.find((embedComponent) => componentType === embedComponent.type.toLowerCase(), Service.components); if (!Component) { throw new Error(`Attempted to embed component of type: ${componentType} but did not find any matching component. Please verify the type you specified is intended.`); } @@ -376,12 +392,12 @@ export class Service implements IService { * * @private * @param {IPowerBiElement} element - * @param {embed.IEmbedConfigurationBase} config - * @returns {embed.Embed} + * @param {IEmbedConfigurationBase} config + * @returns {Embed} * @hidden */ - private embedExisting(element: IPowerBiElement, config: IComponentEmbedConfiguration | embed.IEmbedConfigurationBase, phasedRender?: boolean): embed.Embed { - const component = utils.find(x => x.element === element, this.embeds); + private embedExisting(element: IPowerBiElement, config: IComponentEmbedConfiguration | IEmbedConfigurationBase, phasedRender?: boolean): Embed { + const component = utils.find((x) => x.element === element, this.embeds); if (!component) { throw new Error(`Attempted to embed using config ${JSON.stringify(config)} on element ${element.outerHTML} which already has embedded component associated, but could not find the existing component 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.`); } @@ -401,7 +417,7 @@ export class Service implements IService { /** * When loading report after create we want to use existing Iframe to optimize load period */ - if(config.type === "report" && component.config.type === "create") { + if (config.type === "report" && component.config.type === "create") { const report = new Report(this, element, config, /* phasedRender */ false, /* isBootstrap */ false, element.powerBiEmbed.iframe); component.populateConfig(config, /* isBootstrap */ false); report.load(); @@ -427,11 +443,11 @@ export class Service implements IService { * * Note: Only runs if `config.autoEmbedOnContentLoaded` is true when the service is created. * This handler is typically useful only for applications that are rendered on the server so that all required data is available when the handler is called. - * + * * @hidden */ enableAutoEmbed(): void { - window.addEventListener('DOMContentLoaded', (event: Event) => this.init(document.body), false); + window.addEventListener('DOMContentLoaded', (_event: Event) => this.init(document.body), false); } /** @@ -440,8 +456,8 @@ export class Service implements IService { * @param {HTMLElement} element * @returns {(Report | Tile)} */ - get(element: HTMLElement): embed.Embed { - const powerBiElement = element; + get(element: HTMLElement): Embed { + const powerBiElement = element as IPowerBiElement; if (!powerBiElement.powerBiEmbed) { throw new Error(`You attempted to get an instance of powerbi component associated with element: ${element.outerHTML} but there was no associated instance.`); @@ -457,21 +473,21 @@ export class Service implements IService { * @returns {(Report | Tile)} * @hidden */ - find(uniqueId: string): embed.Embed { - return utils.find(x => x.config.uniqueId === uniqueId, this.embeds); + find(uniqueId: string): Embed { + return utils.find((x) => x.config.uniqueId === uniqueId, this.embeds); } /** * Removes embed components whose container element is same as the given element - * - * @param {Embed} component + * + * @param {Embed} component * @param {HTMLElement} element * @returns {void} * @hidden */ - addOrOverwriteEmbed(component: embed.Embed, element: HTMLElement): void { + addOrOverwriteEmbed(component: Embed, element: HTMLElement): void { // remove embeds over the same div element. - this.embeds = this.embeds.filter(function(embed) { + this.embeds = this.embeds.filter(function (embed) { return embed.element !== element; }); @@ -485,36 +501,36 @@ export class Service implements IService { * @returns {void} */ reset(element: HTMLElement): void { - const powerBiElement = element; + const powerBiElement = element as IPowerBiElement; if (!powerBiElement.powerBiEmbed) { return; } /** Removes the element frontLoad listener if exists. */ - let embedElement = powerBiElement.powerBiEmbed; + const embedElement = powerBiElement.powerBiEmbed; if (embedElement.frontLoadHandler) { embedElement.element.removeEventListener('ready', embedElement.frontLoadHandler, false); } /** Removes all event handlers. */ - embedElement.allowedEvents.forEach(eventName => { + embedElement.allowedEvents.forEach((eventName) => { embedElement.off(eventName); }); /** Removes the component from an internal list of components. */ - utils.remove(x => x === powerBiElement.powerBiEmbed, this.embeds); + utils.remove((x) => x === powerBiElement.powerBiEmbed, this.embeds); /** Deletes a property from the HTML element. */ delete powerBiElement.powerBiEmbed; /** Removes the iframe from the element. */ const iframe = element.querySelector('iframe'); if (iframe) { - if(iframe.remove !== undefined) { + if (iframe.remove !== undefined) { iframe.remove(); } else { - /** Workaround for IE: unhandled rejection TypeError: object doesn't support property or method 'remove' */ - iframe.parentElement.removeChild(iframe); + /** Workaround for IE: unhandled rejection TypeError: object doesn't support property or method 'remove' */ + iframe.parentElement.removeChild(iframe); } } } @@ -525,10 +541,10 @@ export class Service implements IService { * @param {IEvent} event * @hidden */ - handleTileEvents (event: IEvent): void { - if (event.type === 'tile'){ - this.handleEvent(event); - } + handleTileEvents(event: IEvent): void { + if (event.type === 'tile') { + this.handleEvent(event); + } } /** @@ -548,7 +564,7 @@ export class Service implements IService { if (event.name === 'pageChanged') { const pageKey = 'newPage'; - const page: models.IPage = value[pageKey]; + const page: IPage = value[pageKey]; if (!page) { throw new Error(`Page model not found at 'event.value.${pageKey}'.`); } @@ -564,17 +580,17 @@ export class Service implements IService { * Use this API to preload Power BI Embedded in the background. * * @public - * @param {embed.IEmbedConfigurationBase} [config={}] + * @param {IEmbedConfigurationBase} [config={}] * @param {HTMLElement} [element=undefined] */ - preload(config: IComponentEmbedConfiguration | embed.IEmbedConfigurationBase, element?: HTMLElement) { - var iframeContent = document.createElement("iframe"); + preload(config: IComponentEmbedConfiguration | IEmbedConfigurationBase, element?: HTMLElement): HTMLIFrameElement { + const iframeContent = document.createElement("iframe"); iframeContent.setAttribute("style", "display:none;"); iframeContent.setAttribute("src", config.embedUrl); iframeContent.setAttribute("scrolling", "no"); iframeContent.setAttribute("allowfullscreen", "false"); - var node = element; + let node = element; if (!node) { node = document.getElementsByTagName("body")[0]; } @@ -586,4 +602,4 @@ export class Service implements IService { return iframeContent; } -} \ No newline at end of file +} diff --git a/src/tile.ts b/src/tile.ts index 45781221..3bdc2802 100644 --- a/src/tile.ts +++ b/src/tile.ts @@ -1,6 +1,6 @@ -import * as service from './service'; -import * as models from 'powerbi-models'; -import * as embed from './embed'; +import { IError, validateTileLoad } from 'powerbi-models'; +import { Service } from './service'; +import { Embed, IEmbedConfigurationBase, ITileEmbedConfiguration } from './embed'; /** * The Power BI tile embed component @@ -9,86 +9,86 @@ import * as embed from './embed'; * @class Tile * @extends {Embed} */ -export class Tile extends embed.Embed { - /** @hidden */ - static type = "Tile"; - /** @hidden */ - static allowedEvents = ["tileClicked", "tileLoaded"]; +export class Tile extends 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); - this.loadPath = "/tile/load"; - Array.prototype.push.apply(this.allowedEvents, Tile.allowedEvents); - } - - /** - * The ID of the tile - * - * @returns {string} - */ - getId(): string { - let config = this.config; - const tileId = config.id || Tile.findIdFromEmbedUrl(this.config.embedUrl); + /** + * @hidden + */ + constructor(service: Service, element: HTMLElement, baseConfig: IEmbedConfigurationBase, phasedRender?: boolean, isBootstrap?: boolean) { + const config = baseConfig as ITileEmbedConfiguration; + super(service, element, config, /* iframe */ undefined, phasedRender, isBootstrap); + this.loadPath = "/tile/load"; + Array.prototype.push.apply(this.allowedEvents, Tile.allowedEvents); + } - if (typeof tileId !== 'string' || tileId.length === 0) { - throw new Error(`Tile id is required, but it was not found. You must provide an id either as part of embed configuration.`); - } + /** + * The ID of the tile + * + * @returns {string} + */ + getId(): string { + const config = this.config as ITileEmbedConfiguration; + const tileId = config.id || Tile.findIdFromEmbedUrl(this.config.embedUrl); - return tileId; + if (typeof tileId !== 'string' || tileId.length === 0) { + throw new Error(`Tile id is required, but it was not found. You must provide an id either as part of embed configuration.`); } - /** - * Validate load configuration. - */ - validate(config: embed.IEmbedConfigurationBase): models.IError[] { - let embedConfig = config; - return models.validateTileLoad(embedConfig); - } + return tileId; + } - /** - * Handle config changes. - * - * @returns {void} - */ - configChanged(isBootstrap: boolean): void { - if (isBootstrap) { - return; - } + /** + * Validate load configuration. + */ + validate(config: IEmbedConfigurationBase): IError[] { + const embedConfig = config as ITileEmbedConfiguration; + return validateTileLoad(embedConfig); + } - // Populate tile id into config object. - (this.config).id = this.getId(); + /** + * Handle config changes. + * + * @returns {void} + */ + configChanged(isBootstrap: boolean): void { + if (isBootstrap) { + return; } - /** - * @hidden - * @returns {string} - */ - getDefaultEmbedUrlEndpoint(): string { - return "tileEmbed"; - } + // Populate tile id into config object. + (this.config as ITileEmbedConfiguration).id = this.getId(); + } - /** - * Adds the ability to get tileId 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} - */ - static findIdFromEmbedUrl(url: string): string { - const tileIdRegEx = /tileId="?([^&]+)"?/ - const tileIdMatch = url.match(tileIdRegEx); + /** + * @hidden + * @returns {string} + */ + getDefaultEmbedUrlEndpoint(): string { + return "tileEmbed"; + } - let tileId; - if (tileIdMatch) { - tileId = tileIdMatch[1]; - } + /** + * Adds the ability to get tileId 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} + */ + static findIdFromEmbedUrl(url: string): string { + const tileIdRegEx = /tileId="?([^&]+)"?/; + const tileIdMatch = url.match(tileIdRegEx); - return tileId; + let tileId: string; + if (tileIdMatch) { + tileId = tileIdMatch[1]; } -} \ No newline at end of file + + return tileId; + } +} diff --git a/src/util.ts b/src/util.ts index bc84e731..a4361eef 100644 --- a/src/util.ts +++ b/src/util.ts @@ -2,14 +2,14 @@ import { HttpPostMessage } from 'http-post-message'; /** * Raises a custom event with event data on the specified HTML element. - * + * * @export * @param {HTMLElement} element * @param {string} eventName * @param {*} eventData */ export function raiseCustomEvent(element: HTMLElement, eventName: string, eventData: any): void { - let customEvent; + let customEvent: CustomEvent; if (typeof CustomEvent === 'function') { customEvent = new CustomEvent(eventName, { detail: eventData, @@ -26,7 +26,7 @@ export function raiseCustomEvent(element: HTMLElement, eventName: string, eventD /** * Finds the index of the first value in an array that matches the specified predicate. - * + * * @export * @template T * @param {(x: T) => boolean} predicate @@ -38,7 +38,7 @@ export function findIndex(predicate: (x: T) => boolean, xs: T[]): number { throw new Error(`You attempted to call find with second parameter that was not an array. You passed: ${xs}`); } - let index; + let index: number; xs.some((x, i) => { if (predicate(x)) { index = i; @@ -51,7 +51,7 @@ export function findIndex(predicate: (x: T) => boolean, xs: T[]): number { /** * Finds the first value in an array that matches the specified predicate. - * + * * @export * @template T * @param {(x: T) => boolean} predicate @@ -72,7 +72,7 @@ export function remove(predicate: (x: T) => boolean, xs: T[]): void { // TODO: replace in favor of using polyfill /** * Copies the values of all enumerable properties from one or more source objects to a target object, and returns the target object. - * + * * @export * @param {any} args * @returns @@ -101,7 +101,7 @@ export function assign(...args) { /** * Generates a random 5 to 6 character string. - * + * * @export * @returns {string} */ @@ -111,7 +111,7 @@ export function createRandomString(): string { /** * Generates a 20 character uuid. - * + * * @export * @returns {string} */ @@ -132,7 +132,7 @@ export function generateUUID(): string { /** * Adds a parameter to the given url - * + * * @export * @param {string} url * @param {string} paramName @@ -140,14 +140,14 @@ export function generateUUID(): string { * @returns {string} */ export function addParamToUrl(url: string, paramName: string, value: string): string { - let parameterPrefix = url.indexOf('?') > 0 ? '&' : '?'; + const parameterPrefix = url.indexOf('?') > 0 ? '&' : '?'; url += parameterPrefix + paramName + '=' + value; return url; } /** * Checks if the report is saved. - * + * * @export * @param {HttpPostMessage} hpm * @param {string} uid @@ -156,7 +156,7 @@ export function addParamToUrl(url: string, paramName: string, value: string): st */ export async function isSavedInternal(hpm: HttpPostMessage, uid: string, contentWindow: Window): Promise { try { - const response = await hpm.get('/report/hasUnsavedChanges', { uid }, contentWindow); + const response = await hpm.get('/report/hasUnsavedChanges', { uid: uid }, contentWindow); return !response.body; } catch (response) { throw response.body; @@ -165,7 +165,7 @@ export async function isSavedInternal(hpm: HttpPostMessage, uid: string, content /** * Checks if the embed url is for RDL report. - * + * * @export * @param {string} embedUrl * @returns {boolean} @@ -176,7 +176,7 @@ export function isRDLEmbed(embedUrl: string): boolean { /** * Checks if the embed url contains autoAuth=true. - * + * * @export * @param {string} embedUrl * @returns {boolean} @@ -188,11 +188,11 @@ export function autoAuthInEmbedUrl(embedUrl: string): boolean { /** * Returns random number */ -export function getRandomValue() { +export function getRandomValue(): number { // window.msCrypto for IE - var cryptoObj = window.crypto || window.msCrypto; - var randomValueArray = new Uint32Array(1); + const cryptoObj = window.crypto || window.msCrypto; + const randomValueArray = new Uint32Array(1); cryptoObj.getRandomValues(randomValueArray); return randomValueArray[0]; @@ -200,6 +200,7 @@ export function getRandomValue() { /** * Returns the time interval between two dates in milliseconds + * * @export * @param {Date} start * @param {Date} end @@ -207,4 +208,4 @@ export function getRandomValue() { */ export function getTimeDiffInMilliseconds(start: Date, end: Date): number { return Math.abs(start.getTime() - end.getTime()); -} \ No newline at end of file +} diff --git a/src/visual.ts b/src/visual.ts index 3a2e7b73..ef8ee9b7 100644 --- a/src/visual.ts +++ b/src/visual.ts @@ -133,7 +133,7 @@ export class Visual extends Report { * @param {string} pageName * @returns {Promise>} */ - setPage(pageName: string): Promise> { + setPage(_pageName: string): Promise> { throw Visual.SetPageNotSupportedError; } @@ -143,7 +143,7 @@ export class Visual extends Report { * @hidden * @returns {Promise} */ - async render(config?: IReportLoadConfiguration | IReportEmbedConfiguration): Promise { + async render(_config?: IReportLoadConfiguration | IReportEmbedConfiguration): Promise { throw Visual.RenderNotSupportedError; } diff --git a/src/visualDescriptor.ts b/src/visualDescriptor.ts index cd401cc3..1d846837 100644 --- a/src/visualDescriptor.ts +++ b/src/visualDescriptor.ts @@ -162,6 +162,7 @@ export class VisualDescriptor implements IVisualNode, IFilterable { /** * Exports Visual data. * Can export up to 30K rows. + * * @param rows: Optional. Default value is 30K, maximum value is 30K as well. * @param exportDataType: Optional. Default is ExportDataType.Summarized. * ```javascript @@ -188,6 +189,7 @@ export class VisualDescriptor implements IVisualNode, IFilterable { /** * Set slicer state. * Works only for visuals of type slicer. + * * @param state: A new state which contains the slicer filters. * ```javascript * visual.setSlicerState() diff --git a/test/test.spec.ts b/test/test.spec.ts index 1c7cfdcb..8c18544f 100644 --- a/test/test.spec.ts +++ b/test/test.spec.ts @@ -20,6 +20,8 @@ import { spyRouter } from './utility/mockRouter'; import * as util from '../src/util'; import { EmbedUrlNotSupported } from '../src/errors' +// Avoid adding new tests to this file, create another spec file instead. + declare global { interface Window { __karma__: any; From 95061a1eb9726f02ecb31367ca81bf24126f56b0 Mon Sep 17 00:00:00 2001 From: Nerya Cohen Date: Mon, 18 Jan 2021 11:41:12 +0000 Subject: [PATCH 054/125] Merged PR 139757: Import github changes MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit commit 53c1d1e6a96d36d57880ae036ad1dd1b189f1f40 Merge: b87e94da 039dd38a Author: ali-hamud Date: Wed Dec 23 11:00:42 2020 +0200 Merge pull request #369 from guyinacube/videoupdate 👊 Update old content video commit b87e94da72f531523423351ff320aa0e94b53a27 Merge: c87eb45b 6a67f3b0 Author: ali-hamud Date: Wed Dec 23 11:00:26 2020 +0200 Merge pull request #367 from snehaldalvi/bashwoman Spelling Corrected commit 039dd38a501b74b34e676e16bcd81d65ab0db8fc Author: Adam Saxton Date: Wed Dec 2 15:13:38 2020 -0600 Update old content video commit 6a67f3b0584ba8805c528f5e8ee7ee598c6a7350 Author: Snehal Date: Thu Oct 1 09:27:10 2020 +0530 Typo Changed Related work items: #351, #357, #366, #367, #369, #371, #372 --- CONTRIBUTING.md | 2 +- demo/v2-demo/docs.html | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index c79e2c37..e0b39a81 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -73,7 +73,7 @@ Open the address to view in the browser: http://127.0.0.1:8080/ ``` -## Updating the documenatation (For those with push permissions only) +## Updating the documentation (For those with push permissions only) First run the command to build the docs and open it to verify the changes are as expected. ``` diff --git a/demo/v2-demo/docs.html b/demo/v2-demo/docs.html index ec62f5df..1307a7cc 100644 --- a/demo/v2-demo/docs.html +++ b/demo/v2-demo/docs.html @@ -32,7 +32,7 @@

Videos

Get an embed token & embed your analytics
- +
Setting up and getting started
From 064b5157adda1b46c9829b0e717596a14e1ab958 Mon Sep 17 00:00:00 2001 From: Shahak Yosef Date: Sun, 24 Jan 2021 07:17:44 +0000 Subject: [PATCH 055/125] Merged PR 141396: Remove filterPaneEnabled from docs Remove filterPaneEnabled from docs --- src/report.ts | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/report.ts b/src/report.ts index 74715eb0..a390ec87 100644 --- a/src/report.ts +++ b/src/report.ts @@ -402,8 +402,11 @@ export class Report extends Embed implements IReportNode, IFilterable { * * ```javascript * const newSettings = { - * navContentPaneEnabled: true, - * filterPaneEnabled: false + * panes: { + * filters: { + * visible: false + * } + * } * }; * * report.updateSettings(newSettings) From f066ce82b97d3bc5b861be77bb9374a761d3dcdc Mon Sep 17 00:00:00 2001 From: Nerya Cohen Date: Tue, 26 Jan 2021 11:29:17 +0000 Subject: [PATCH 056/125] Merged PR 141832: Bug fix: use post request instead put in update filters for visual API --- dist/powerbi-client.d.ts | 9 ++++++--- dist/powerbi.js | 13 ++++++++----- dist/powerbi.min.js | 4 ++-- package.json | 2 +- src/config.ts | 2 +- src/visual.ts | 2 +- 6 files changed, 19 insertions(+), 13 deletions(-) diff --git a/dist/powerbi-client.d.ts b/dist/powerbi-client.d.ts index 310ba05a..fc20d994 100644 --- a/dist/powerbi-client.d.ts +++ b/dist/powerbi-client.d.ts @@ -1,4 +1,4 @@ -/*! powerbi-client v2.17.1 | (c) 2016 Microsoft Corporation MIT */ +/*! powerbi-client v2.17.2 | (c) 2016 Microsoft Corporation MIT */ declare module "util" { import { HttpPostMessage } from 'http-post-message'; /** @@ -1133,8 +1133,11 @@ declare module "report" { * * ```javascript * const newSettings = { - * navContentPaneEnabled: true, - * filterPaneEnabled: false + * panes: { + * filters: { + * visible: false + * } + * } * }; * * report.updateSettings(newSettings) diff --git a/dist/powerbi.js b/dist/powerbi.js index 3a086cec..5e367d45 100644 --- a/dist/powerbi.js +++ b/dist/powerbi.js @@ -1,4 +1,4 @@ -/*! powerbi-client v2.17.1 | (c) 2016 Microsoft Corporation MIT */ +/*! powerbi-client v2.17.2 | (c) 2016 Microsoft Corporation MIT */ (function webpackUniversalModuleDefinition(root, factory) { if(typeof exports === 'object' && typeof module === 'object') module.exports = factory(); @@ -5973,7 +5973,7 @@ exports.BookmarksManager = BookmarksManager; Object.defineProperty(exports, "__esModule", { value: true }); /** @ignore */ /** */ var config = { - version: '2.17.1', + version: '2.17.2', type: 'js' }; exports.default = config; @@ -8104,8 +8104,11 @@ var Report = /** @class */ (function (_super) { * * ```javascript * const newSettings = { - * navContentPaneEnabled: true, - * filterPaneEnabled: false + * panes: { + * filters: { + * visible: false + * } + * } * }; * * report.updateSettings(newSettings) @@ -9547,7 +9550,7 @@ var Visual = /** @class */ (function (_super) { _a.label = 1; case 1: _a.trys.push([1, 3, , 4]); - return [4 /*yield*/, this.service.hpm.put(url, updateFiltersRequest, { uid: this.config.uniqueId }, this.iframe.contentWindow)]; + return [4 /*yield*/, this.service.hpm.post(url, updateFiltersRequest, { uid: this.config.uniqueId }, this.iframe.contentWindow)]; case 2: return [2 /*return*/, _a.sent()]; case 3: response_3 = _a.sent(); diff --git a/dist/powerbi.min.js b/dist/powerbi.min.js index 59f74583..40c9c0c5 100644 --- a/dist/powerbi.min.js +++ b/dist/powerbi.min.js @@ -1,7 +1,7 @@ -/*! powerbi-client v2.17.1 | (c) 2016 Microsoft Corporation MIT */ +/*! powerbi-client v2.17.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){var e={};function r(a){if(e[a])return e[a].exports;var i=e[a]={i:a,l:!1,exports:{}};return t[a].call(i.exports,i,i.exports,r),i.l=!0,i.exports}return r.m=t,r.c=e,r.d=function(t,e,a){r.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:a})},r.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},r.t=function(t,e){if(1&e&&(t=r(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var a=Object.create(null);if(r.r(a),Object.defineProperty(a,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var i in t)r.d(a,i,function(e){return t[e]}.bind(null,i));return a},r.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return r.d(e,"a",e),e},r.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},r.p="",r(r.s=12)}([function(t,e,r){ /*! powerbi-models v1.8.0 | (c) 2016 Microsoft Corporation MIT */ -var a;a=function(){return function(t){var e={};function r(a){if(e[a])return e[a].exports;var i=e[a]={i:a,l:!1,exports:{}};return t[a].call(i.exports,i,i.exports,r),i.l=!0,i.exports}return r.m=t,r.c=e,r.d=function(t,e,a){r.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:a})},r.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},r.t=function(t,e){if(1&e&&(t=r(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var a=Object.create(null);if(r.r(a),Object.defineProperty(a,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var i in t)r.d(a,i,function(e){return t[e]}.bind(null,i));return a},r.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return r.d(e,"a",e),e},r.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},r.p="",r(r.s=0)}([function(t,e,r){var a,i=this&&this.__extends||(a=function(t,e){return(a=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])})(t,e)},function(t,e){function r(){this.constructor=t}a(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.validateCustomTheme=e.validateCommandsSettings=e.validateVisualSettings=e.validateVisualHeader=e.validateExportDataRequest=e.validateQnaInterpretInputData=e.validateLoadQnaConfiguration=e.validateSaveAsParameters=e.validateUpdateFiltersRequest=e.validateFilter=e.validatePage=e.validateTileLoad=e.validateDashboardLoad=e.validateCreateReport=e.validateReportLoad=e.validateMenuGroupExtension=e.validateExtension=e.validateCustomPageSize=e.validateVisualizationsPane=e.validateSyncSlicersPane=e.validateSelectionPane=e.validatePageNavigationPane=e.validateFieldsPane=e.validateFiltersPane=e.validateBookmarksPane=e.validatePanes=e.validateSettings=e.validateCaptureBookmarkRequest=e.validateApplyBookmarkStateRequest=e.validateApplyBookmarkByNameRequest=e.validateAddBookmarkRequest=e.validatePlayBookmarkRequest=e.validateSlicerState=e.validateSlicer=e.validateVisualSelector=e.isIExtensionArray=e.isIExtensions=e.isGroupedMenuExtension=e.isFlatMenuExtension=e.VisualDataRoleKindPreference=e.VisualDataRoleKind=e.CommandDisplayOption=e.SlicerTargetSelector=e.VisualTypeSelector=e.VisualSelector=e.PageSelector=e.Selector=e.SortDirection=e.LegendPosition=e.TextAlignment=e.CommonErrorCodes=e.BookmarksPlayMode=e.ExportDataType=e.QnaMode=e.PageNavigationPosition=e.isColumnAggr=e.isHierarchyLevelAggr=e.isHierarchyLevel=e.isColumn=e.isMeasure=e.getFilterType=e.isBasicFilterWithKeys=e.isFilterKeyColumnsTarget=e.AdvancedFilter=e.TupleFilter=e.BasicFilterWithKeys=e.BasicFilter=e.RelativeTimeFilter=e.RelativeDateFilter=e.TopNFilter=e.IncludeExcludeFilter=e.NotSupportedFilter=e.Filter=e.RelativeDateOperators=e.RelativeDateFilterTimeUnit=e.FilterType=e.FiltersLevel=e.FiltersOperations=e.MenuLocation=e.ContrastMode=e.TokenType=e.ViewMode=e.Permissions=e.SectionVisibility=e.HyperlinkClickBehavior=e.LayoutType=e.VisualContainerDisplayMode=e.BackgroundType=e.DisplayOption=e.PageSizeType=e.TraceType=void 0;var o,n=r(1);!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"}(e.TraceType||(e.TraceType={})),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"}(e.PageSizeType||(e.PageSizeType={})),function(t){t[t.FitToPage=0]="FitToPage",t[t.FitToWidth=1]="FitToWidth",t[t.ActualSize=2]="ActualSize"}(e.DisplayOption||(e.DisplayOption={})),function(t){t[t.Default=0]="Default",t[t.Transparent=1]="Transparent"}(e.BackgroundType||(e.BackgroundType={})),function(t){t[t.Visible=0]="Visible",t[t.Hidden=1]="Hidden"}(e.VisualContainerDisplayMode||(e.VisualContainerDisplayMode={})),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={})),function(t){t[t.Navigate=0]="Navigate",t[t.NavigateAndRaiseEvent=1]="NavigateAndRaiseEvent",t[t.RaiseEvent=2]="RaiseEvent"}(e.HyperlinkClickBehavior||(e.HyperlinkClickBehavior={})),function(t){t[t.AlwaysVisible=0]="AlwaysVisible",t[t.HiddenInViewMode=1]="HiddenInViewMode"}(e.SectionVisibility||(e.SectionVisibility={})),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"}(e.Permissions||(e.Permissions={})),function(t){t[t.View=0]="View",t[t.Edit=1]="Edit"}(e.ViewMode||(e.ViewMode={})),function(t){t[t.Aad=0]="Aad",t[t.Embed=1]="Embed"}(e.TokenType||(e.TokenType={})),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"}(e.ContrastMode||(e.ContrastMode={})),function(t){t[t.Bottom=0]="Bottom",t[t.Top=1]="Top"}(e.MenuLocation||(e.MenuLocation={})),function(t){t[t.RemoveAll=0]="RemoveAll",t[t.ReplaceAll=1]="ReplaceAll",t[t.Add=2]="Add",t[t.Replace=3]="Replace"}(e.FiltersOperations||(e.FiltersOperations={})),function(t){t[t.Report=0]="Report",t[t.Page=1]="Page",t[t.Visual=2]="Visual"}(e.FiltersLevel||(e.FiltersLevel={})),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"}(o=e.FilterType||(e.FilterType={})),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"}(e.RelativeDateFilterTimeUnit||(e.RelativeDateFilterTimeUnit={})),function(t){t[t.InLast=0]="InLast",t[t.InThis=1]="InThis",t[t.InNext=2]="InNext"}(e.RelativeDateOperators||(e.RelativeDateOperators={}));var l=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=l;var s=function(t){function e(r,a,i){var n=t.call(this,r,o.Unknown)||this;return n.message=a,n.notSupportedTypeName=i,n.schemaUrl=e.schemaUrl,n}return i(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}(l);e.NotSupportedFilter=s;var d=function(t){function e(r,a,i){var n=t.call(this,r,o.IncludeExclude)||this;return n.values=i,n.isExclude=a,n.schemaUrl=e.schemaUrl,n}return i(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}(l);e.IncludeExcludeFilter=d;var u=function(t){function e(r,a,i,n){var l=t.call(this,r,o.TopN)||this;return l.operator=a,l.itemCount=i,l.schemaUrl=e.schemaUrl,l.orderBy=n,l}return i(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}(l);e.TopNFilter=u;var c=function(t){function e(r,a,i,n,l){var s=t.call(this,r,o.RelativeDate)||this;return s.operator=a,s.timeUnitsCount=i,s.timeUnitType=n,s.includeToday=l,s.schemaUrl=e.schemaUrl,s}return i(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}(l);e.RelativeDateFilter=c;var p=function(t){function e(r,a,i,n){var l=t.call(this,r,o.RelativeTime)||this;return l.operator=a,l.timeUnitsCount=i,l.timeUnitType=n,l.schemaUrl=e.schemaUrl,l}return i(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}(l);e.RelativeTimeFilter=p;var f=function(t){function e(r,a){for(var i=[],n=2;n0&&!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,s=o.keyValues;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 s.conditions=l,s}return i(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}(l);function m(t){if(t.filterType)return t.filterType;var e=t,r=t;return"string"==typeof e.operator&&Array.isArray(e.values)?o.Basic:"string"==typeof r.logicalOperator&&Array.isArray(r.conditions)?o.Advanced:o.Unknown}function V(t){return!(!t.table||!t.column||t.aggregationFunction)}e.AdvancedFilter=y,e.isFilterKeyColumnsTarget=function(t){return V(t)&&!!t.keys},e.isBasicFilterWithKeys=function(t){return m(t)===o.Basic&&!!t.keyValues},e.getFilterType=m,e.isMeasure=function(t){return void 0!==t.table&&void 0!==t.measure},e.isColumn=V,e.isHierarchyLevel=function(t){return!(!(t.table&&t.hierarchy&&t.hierarchyLevel)||t.aggregationFunction)},e.isHierarchyLevelAggr=function(t){return!!(t.table&&t.hierarchy&&t.hierarchyLevel&&t.aggregationFunction)},e.isColumnAggr=function(t){return!!(t.table&&t.column&&t.aggregationFunction)},function(t){t[t.Bottom=0]="Bottom",t[t.Left=1]="Left"}(e.PageNavigationPosition||(e.PageNavigationPosition={})),function(t){t[t.Interactive=0]="Interactive",t[t.ResultOnly=1]="ResultOnly"}(e.QnaMode||(e.QnaMode={})),function(t){t[t.Summarized=0]="Summarized",t[t.Underlying=1]="Underlying"}(e.ExportDataType||(e.ExportDataType={})),function(t){t[t.Off=0]="Off",t[t.Presentation=1]="Presentation"}(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"},function(t){t[t.Ascending=1]="Ascending",t[t.Descending=2]="Descending"}(e.SortDirection||(e.SortDirection={}));var g=function(){function t(t){this.$schema=t}return t.prototype.toJSON=function(){return{$schema:this.$schema}},t}();e.Selector=g;var b=function(t){function e(r){var a=t.call(this,e.schemaUrl)||this;return a.pageName=r,a}return i(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}(g);e.PageSelector=b;var w=function(t){function e(r){var a=t.call(this,e.schemaUrl)||this;return a.visualName=r,a}return i(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}(g);e.VisualSelector=w;var P=function(t){function e(e){var r=t.call(this,w.schemaUrl)||this;return r.visualType=e,r}return i(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}(g);e.VisualTypeSelector=P;var _=function(t){function e(e){var r=t.call(this,w.schemaUrl)||this;return r.target=e,r}return i(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}(g);function S(t){return t&&!!t.groupName}function E(t){return Array.isArray(t)}function O(t){var e=t.message;return e||(e=t.path+" is invalid. Not meeting "+t.keyword+" constraint"),{message:e}}e.SlicerTargetSelector=_,function(t){t[t.Enabled=0]="Enabled",t[t.Disabled=1]="Disabled",t[t.Hidden=2]="Hidden"}(e.CommandDisplayOption||(e.CommandDisplayOption={})),function(t){t[t.Grouping=0]="Grouping",t[t.Measure=1]="Measure",t[t.GroupingOrMeasure=2]="GroupingOrMeasure"}(e.VisualDataRoleKind||(e.VisualDataRoleKind={})),function(t){t[t.Measure=0]="Measure",t[t.Grouping=1]="Grouping"}(e.VisualDataRoleKindPreference||(e.VisualDataRoleKindPreference={})),e.isFlatMenuExtension=function(t){return t&&!S(t)},e.isGroupedMenuExtension=S,e.isIExtensions=function(t){return t&&!E(t)},e.isIExtensionArray=E,e.validateVisualSelector=function(t){var e=n.Validators.visualSelectorValidator.validate(t);return e?e.map(O):void 0},e.validateSlicer=function(t){var e=n.Validators.slicerValidator.validate(t);return e?e.map(O):void 0},e.validateSlicerState=function(t){var e=n.Validators.slicerStateValidator.validate(t);return e?e.map(O):void 0},e.validatePlayBookmarkRequest=function(t){var e=n.Validators.playBookmarkRequestValidator.validate(t);return e?e.map(O):void 0},e.validateAddBookmarkRequest=function(t){var e=n.Validators.addBookmarkRequestValidator.validate(t);return e?e.map(O):void 0},e.validateApplyBookmarkByNameRequest=function(t){var e=n.Validators.applyBookmarkByNameRequestValidator.validate(t);return e?e.map(O):void 0},e.validateApplyBookmarkStateRequest=function(t){var e=n.Validators.applyBookmarkStateRequestValidator.validate(t);return e?e.map(O):void 0},e.validateCaptureBookmarkRequest=function(t){var e=n.Validators.captureBookmarkRequestValidator.validate(t);return e?e.map(O):void 0},e.validateSettings=function(t){var e=n.Validators.settingsValidator.validate(t);return e?e.map(O):void 0},e.validatePanes=function(t){var e=n.Validators.reportPanesValidator.validate(t);return e?e.map(O):void 0},e.validateBookmarksPane=function(t){var e=n.Validators.bookmarksPaneValidator.validate(t);return e?e.map(O):void 0},e.validateFiltersPane=function(t){var e=n.Validators.filtersPaneValidator.validate(t);return e?e.map(O):void 0},e.validateFieldsPane=function(t){var e=n.Validators.fieldsPaneValidator.validate(t);return e?e.map(O):void 0},e.validatePageNavigationPane=function(t){var e=n.Validators.pageNavigationPaneValidator.validate(t);return e?e.map(O):void 0},e.validateSelectionPane=function(t){var e=n.Validators.selectionPaneValidator.validate(t);return e?e.map(O):void 0},e.validateSyncSlicersPane=function(t){var e=n.Validators.syncSlicersPaneValidator.validate(t);return e?e.map(O):void 0},e.validateVisualizationsPane=function(t){var e=n.Validators.visualizationsPaneValidator.validate(t);return e?e.map(O):void 0},e.validateCustomPageSize=function(t){var e=n.Validators.customPageSizeValidator.validate(t);return e?e.map(O):void 0},e.validateExtension=function(t){var e=n.Validators.extensionValidator.validate(t);return e?e.map(O):void 0},e.validateMenuGroupExtension=function(t){var e=n.Validators.menuGroupExtensionValidator.validate(t);return e?e.map(O):void 0},e.validateReportLoad=function(t){var e=n.Validators.reportLoadValidator.validate(t);return e?e.map(O):void 0},e.validateCreateReport=function(t){var e=n.Validators.reportCreateValidator.validate(t);return e?e.map(O):void 0},e.validateDashboardLoad=function(t){var e=n.Validators.dashboardLoadValidator.validate(t);return e?e.map(O):void 0},e.validateTileLoad=function(t){var e=n.Validators.tileLoadValidator.validate(t);return e?e.map(O):void 0},e.validatePage=function(t){var e=n.Validators.pageValidator.validate(t);return e?e.map(O):void 0},e.validateFilter=function(t){var e=n.Validators.filterValidator.validate(t);return e?e.map(O):void 0},e.validateUpdateFiltersRequest=function(t){var e=n.Validators.updateFiltersRequestValidator.validate(t);return e?e.map(O):void 0},e.validateSaveAsParameters=function(t){var e=n.Validators.saveAsParametersValidator.validate(t);return e?e.map(O):void 0},e.validateLoadQnaConfiguration=function(t){var e=n.Validators.loadQnaValidator.validate(t);return e?e.map(O):void 0},e.validateQnaInterpretInputData=function(t){var e=n.Validators.qnaInterpretInputDataValidator.validate(t);return e?e.map(O):void 0},e.validateExportDataRequest=function(t){var e=n.Validators.exportDataRequestValidator.validate(t);return e?e.map(O):void 0},e.validateVisualHeader=function(t){var e=n.Validators.visualHeaderValidator.validate(t);return e?e.map(O):void 0},e.validateVisualSettings=function(t){var e=n.Validators.visualSettingsValidator.validate(t);return e?e.map(O):void 0},e.validateCommandsSettings=function(t){var e=n.Validators.commandsSettingsValidator.validate(t);return e?e.map(O):void 0},e.validateCustomTheme=function(t){var e=n.Validators.customThemeValidator.validate(t);return e?e.map(O):void 0}},function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.Validators=void 0;var a=r(2),i=r(5),o=r(6),n=r(7),l=r(8),s=r(9),d=r(10),u=r(11),c=r(12),p=r(13),f=r(14),h=r(15),v=r(16),y=r(17),m=r(18),V=r(19),g=r(20),b=r(21),w=r(22),P=r(23),_=r(24),S=r(25),E=r(26),O=r(27),T=r(28),F=r(4);e.Validators={addBookmarkRequestValidator:new i.AddBookmarkRequestValidator,advancedFilterTypeValidator:new F.EnumValidator([0]),advancedFilterValidator:new c.AdvancedFilterValidator,anyArrayValidator:new F.ArrayValidator([new S.AnyOfValidator([new F.StringValidator,new F.NumberValidator,new F.BooleanValidator])]),anyFilterValidator:new S.AnyOfValidator([new c.BasicFilterValidator,new c.AdvancedFilterValidator,new c.IncludeExcludeFilterValidator,new c.NotSupportedFilterValidator,new c.RelativeDateFilterValidator,new c.TopNFilterValidator,new c.RelativeTimeFilterValidator]),anyValueValidator:new S.AnyOfValidator([new F.StringValidator,new F.NumberValidator,new F.BooleanValidator]),actionBarValidator:new a.ActionBarValidator,applyBookmarkByNameRequestValidator:new i.ApplyBookmarkByNameRequestValidator,applyBookmarkStateRequestValidator:new i.ApplyBookmarkStateRequestValidator,applyBookmarkValidator:new S.AnyOfValidator([new i.ApplyBookmarkByNameRequestValidator,new i.ApplyBookmarkStateRequestValidator]),backgroundValidator:new F.EnumValidator([0,1]),basicFilterTypeValidator:new F.EnumValidator([1]),basicFilterValidator:new c.BasicFilterValidator,booleanArrayValidator:new F.BooleanArrayValidator,booleanValidator:new F.BooleanValidator,bookmarksPaneValidator:new h.BookmarksPaneValidator,captureBookmarkOptionsValidator:new i.CaptureBookmarkOptionsValidator,captureBookmarkRequestValidator:new i.CaptureBookmarkRequestValidator,commandDisplayOptionValidator:new F.EnumValidator([0,1,2]),commandExtensionSelectorValidator:new S.AnyOfValidator([new g.VisualSelectorValidator,new g.VisualTypeSelectorValidator]),commandExtensionArrayValidator:new F.ArrayValidator([new u.CommandExtensionValidator]),commandExtensionValidator:new u.CommandExtensionValidator,commandsSettingsArrayValidator:new F.ArrayValidator([new o.CommandsSettingsValidator]),commandsSettingsValidator:new o.CommandsSettingsValidator,conditionItemValidator:new c.ConditionItemValidator,contrastModeValidator:new F.EnumValidator([0,1,2,3,4]),customLayoutDisplayOptionValidator:new F.EnumValidator([0,1,2]),customLayoutValidator:new p.CustomLayoutValidator,customPageSizeValidator:new f.CustomPageSizeValidator,customThemeValidator:new n.CustomThemeValidator,dashboardLoadValidator:new l.DashboardLoadValidator,datasetBindingValidator:new s.DatasetBindingValidator,displayStateModeValidator:new F.EnumValidator([0,1]),displayStateValidator:new p.DisplayStateValidator,exportDataRequestValidator:new d.ExportDataRequestValidator,extensionArrayValidator:new F.ArrayValidator([new u.ExtensionValidator]),extensionsValidator:new S.AnyOfValidator([new F.ArrayValidator([new u.ExtensionValidator]),new u.ExtensionsValidator]),extensionPointsValidator:new u.ExtensionPointsValidator,extensionValidator:new u.ExtensionValidator,fieldForbiddenValidator:new E.FieldForbiddenValidator,fieldRequiredValidator:new O.FieldRequiredValidator,fieldsPaneValidator:new h.FieldsPaneValidator,filterColumnTargetValidator:new c.FilterColumnTargetValidator,filterDisplaySettingsValidator:new c.FilterDisplaySettingsValidator,filterConditionsValidator:new F.ArrayValidator([new c.ConditionItemValidator]),filterHierarchyTargetValidator:new c.FilterHierarchyTargetValidator,filterMeasureTargetValidator:new c.FilterMeasureTargetValidator,filterTargetValidator:new S.AnyOfValidator([new c.FilterColumnTargetValidator,new c.FilterHierarchyTargetValidator,new c.FilterMeasureTargetValidator]),filterValidator:new c.FilterValidator,filterTypeValidator:new F.EnumValidator([0,1,2,3,4,5,6,7]),filtersArrayValidator:new F.ArrayValidator([new c.FilterValidator]),filtersOperationsUpdateValidator:new F.EnumValidator([1,2,3]),filtersOperationsRemoveAllValidator:new F.EnumValidator([0]),filtersPaneValidator:new h.FiltersPaneValidator,hyperlinkClickBehaviorValidator:new F.EnumValidator([0,1,2]),includeExcludeFilterValidator:new c.IncludeExcludeFilterValidator,includeExludeFilterTypeValidator:new F.EnumValidator([3]),layoutTypeValidator:new F.EnumValidator([0,1,2,3]),loadQnaValidator:new v.LoadQnaValidator,menuExtensionValidator:new S.AnyOfValidator([new u.FlatMenuExtensionValidator,new u.GroupedMenuExtensionValidator]),menuGroupExtensionArrayValidator:new F.ArrayValidator([new u.MenuGroupExtensionValidator]),menuGroupExtensionValidator:new u.MenuGroupExtensionValidator,menuLocationValidator:new F.EnumValidator([0,1]),notSupportedFilterTypeValidator:new F.EnumValidator([2]),notSupportedFilterValidator:new c.NotSupportedFilterValidator,numberArrayValidator:new F.NumberArrayValidator,numberValidator:new F.NumberValidator,pageLayoutValidator:new T.MapValidator([new F.StringValidator],[new p.VisualLayoutValidator]),pageNavigationPaneValidator:new h.PageNavigationPaneValidator,pageNavigationPositionValidator:new F.EnumValidator([0,1]),pageSizeTypeValidator:new F.EnumValidator([0,1,2,3,4,5]),pageSizeValidator:new f.PageSizeValidator,pageValidator:new f.PageValidator,pageViewFieldValidator:new f.PageViewFieldValidator,pagesLayoutValidator:new T.MapValidator([new F.StringValidator],[new p.PageLayoutValidator]),reportBarsValidator:new a.ReportBarsValidator,reportPanesValidator:new h.ReportPanesValidator,permissionsValidator:new F.EnumValidator([0,1,2,4,7]),playBookmarkRequestValidator:new i.PlayBookmarkRequestValidator,qnaInterpretInputDataValidator:new v.QnaInterpretInputDataValidator,qnaSettingValidator:new v.QnaSettingsValidator,relativeDateFilterOperatorValidator:new F.EnumValidator([0,1,2]),relativeDateFilterTimeUnitTypeValidator:new F.EnumValidator([0,1,2,3,4,5,6]),relativeDateFilterTypeValidator:new F.EnumValidator([4]),relativeDateFilterValidator:new c.RelativeDateFilterValidator,relativeTimeFilterTimeUnitTypeValidator:new F.EnumValidator([7,8]),relativeTimeFilterTypeValidator:new F.EnumValidator([7]),relativeTimeFilterValidator:new c.RelativeTimeFilterValidator,reportCreateValidator:new y.ReportCreateValidator,reportLoadValidator:new m.ReportLoadValidator,saveAsParametersValidator:new V.SaveAsParametersValidator,selectionPaneValidator:new h.SelectionPaneValidator,settingsValidator:new b.SettingsValidator,singleCommandSettingsValidator:new o.SingleCommandSettingsValidator,slicerSelectorValidator:new S.AnyOfValidator([new g.VisualSelectorValidator,new g.SlicerTargetSelectorValidator]),slicerStateValidator:new w.SlicerStateValidator,slicerTargetValidator:new S.AnyOfValidator([new c.FilterColumnTargetValidator,new c.FilterHierarchyTargetValidator,new c.FilterMeasureTargetValidator,new c.FilterKeyColumnsTargetValidator,new c.FilterKeyHierarchyTargetValidator]),slicerValidator:new w.SlicerValidator,stringArrayValidator:new F.StringArrayValidator,stringValidator:new F.StringValidator,syncSlicersPaneValidator:new h.SyncSlicersPaneValidator,tileLoadValidator:new P.TileLoadValidator,tokenTypeValidator:new F.EnumValidator([0,1]),topNFilterTypeValidator:new F.EnumValidator([5]),topNFilterValidator:new c.TopNFilterValidator,updateFiltersRequestValidator:new S.AnyOfValidator([new c.UpdateFiltersRequestValidator,new c.RemoveFiltersRequestValidator]),viewModeValidator:new F.EnumValidator([0,1]),visualCommandSelectorValidator:new S.AnyOfValidator([new g.VisualSelectorValidator,new g.VisualTypeSelectorValidator]),visualHeaderSelectorValidator:new S.AnyOfValidator([new g.VisualSelectorValidator,new g.VisualTypeSelectorValidator]),visualHeaderSettingsValidator:new _.VisualHeaderSettingsValidator,visualHeaderValidator:new _.VisualHeaderValidator,visualHeadersValidator:new F.ArrayValidator([new _.VisualHeaderValidator]),visualizationsPaneValidator:new h.VisualizationsPaneValidator,visualLayoutValidator:new p.VisualLayoutValidator,visualSelectorValidator:new g.VisualSelectorValidator,visualSettingsValidator:new _.VisualSettingsValidator,visualTypeSelectorValidator:new g.VisualTypeSelectorValidator}},function(t,e,r){var a,i=this&&this.__extends||(a=function(t,e){return(a=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])})(t,e)},function(t,e){function r(){this.constructor=t}a(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.ActionBarValidator=e.ReportBarsValidator=void 0;var o=r(3),n=r(4),l=r(1),s=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i(e,t),e.prototype.validate=function(e,r,a){if(null==e)return null;var i=t.prototype.validate.call(this,e,r,a);if(i)return i;var n=[{field:"actionBar",validators:[l.Validators.actionBarValidator]}];return new o.MultipleFieldsValidator(n).validate(e,r,a)},e}(n.ObjectValidator);e.ReportBarsValidator=s;var d=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i(e,t),e.prototype.validate=function(e,r,a){if(null==e)return null;var i=t.prototype.validate.call(this,e,r,a);if(i)return i;var n=[{field:"visible",validators:[l.Validators.booleanValidator]}];return new o.MultipleFieldsValidator(n).validate(e,r,a)},e}(n.ObjectValidator);e.ActionBarValidator=d},function(t,e){Object.defineProperty(e,"__esModule",{value:!0}),e.MultipleFieldsValidator=void 0;var r=function(){function t(t){this.fieldValidatorsPairs=t}return t.prototype.validate=function(t,e,r){if(!this.fieldValidatorsPairs)return null;for(var a=e?e+"."+r:r,i=0,o=this.fieldValidatorsPairs;i0&&i[i.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0?"&":"?";return t+=a+e+"="+r},e.isSavedInternal=function(t,e,i){return r(this,void 0,void 0,(function(){return a(this,(function(r){switch(r.label){case 0:return r.trys.push([0,2,,3]),[4,t.get("/report/hasUnsavedChanges",{uid:e},i)];case 1:return[2,!r.sent().body];case 2:throw r.sent().body;case 3:return[2]}}))}))},e.isRDLEmbed=function(t){return t.toLowerCase().indexOf("/rdlembed?")>=0},e.autoAuthInEmbedUrl=function(t){return t&&decodeURIComponent(t).toLowerCase().indexOf("autoauth=true")>=0},e.getRandomValue=o,e.getTimeDiffInMilliseconds=function(t,e){return Math.abs(t.getTime()-e.getTime())}},function(t,e){Object.defineProperty(e,"__esModule",{value:!0}),e.EmbedUrlNotSupported=e.APINotSupportedForRDLError=void 0,e.APINotSupportedForRDLError="This API is currently not supported for RDL reports",e.EmbedUrlNotSupported="Embed URL is invalid for this scenario. Please use Power BI REST APIs to get the valid URL"},function(t,e,r){var a,i=this&&this.__extends||(a=function(t,e){return(a=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])})(t,e)},function(t,e){function r(){this.constructor=t}a(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}),o=this&&this.__awaiter||function(t,e,r,a){return new(r||(r=Promise))((function(i,o){function n(t){try{s(a.next(t))}catch(t){o(t)}}function l(t){try{s(a.throw(t))}catch(t){o(t)}}function s(t){var e;t.done?i(t.value):(e=t.value,e instanceof r?e:new r((function(t){t(e)}))).then(n,l)}s((a=a.apply(t,e||[])).next())}))},n=this&&this.__generator||function(t,e){var r,a,i,o,n={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:l(0),throw:l(1),return:l(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function l(o){return function(l){return function(o){if(r)throw new TypeError("Generator is already executing.");for(;n;)try{if(r=1,a&&(i=2&o[0]?a.return:o[0]?a.throw||((i=a.return)&&i.call(a),0):a.next)&&!(i=i.call(a,o[1])).done)return i;switch(a=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return n.label++,{value:o[1],done:!1};case 5:n.label++,a=o[1],o=[0];continue;case 7:o=n.ops.pop(),n.trys.pop();continue;default:if(!(i=n.trys,(i=i.length>0&&i[i.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&!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,s=o.keyValues;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 s.conditions=l,s}return i(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}(l);function m(t){if(t.filterType)return t.filterType;var e=t,r=t;return"string"==typeof e.operator&&Array.isArray(e.values)?o.Basic:"string"==typeof r.logicalOperator&&Array.isArray(r.conditions)?o.Advanced:o.Unknown}function V(t){return!(!t.table||!t.column||t.aggregationFunction)}e.AdvancedFilter=y,e.isFilterKeyColumnsTarget=function(t){return V(t)&&!!t.keys},e.isBasicFilterWithKeys=function(t){return m(t)===o.Basic&&!!t.keyValues},e.getFilterType=m,e.isMeasure=function(t){return void 0!==t.table&&void 0!==t.measure},e.isColumn=V,e.isHierarchyLevel=function(t){return!(!(t.table&&t.hierarchy&&t.hierarchyLevel)||t.aggregationFunction)},e.isHierarchyLevelAggr=function(t){return!!(t.table&&t.hierarchy&&t.hierarchyLevel&&t.aggregationFunction)},e.isColumnAggr=function(t){return!!(t.table&&t.column&&t.aggregationFunction)},function(t){t[t.Bottom=0]="Bottom",t[t.Left=1]="Left"}(e.PageNavigationPosition||(e.PageNavigationPosition={})),function(t){t[t.Interactive=0]="Interactive",t[t.ResultOnly=1]="ResultOnly"}(e.QnaMode||(e.QnaMode={})),function(t){t[t.Summarized=0]="Summarized",t[t.Underlying=1]="Underlying"}(e.ExportDataType||(e.ExportDataType={})),function(t){t[t.Off=0]="Off",t[t.Presentation=1]="Presentation"}(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"},function(t){t[t.Ascending=1]="Ascending",t[t.Descending=2]="Descending"}(e.SortDirection||(e.SortDirection={}));var g=function(){function t(t){this.$schema=t}return t.prototype.toJSON=function(){return{$schema:this.$schema}},t}();e.Selector=g;var b=function(t){function e(r){var a=t.call(this,e.schemaUrl)||this;return a.pageName=r,a}return i(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}(g);e.PageSelector=b;var w=function(t){function e(r){var a=t.call(this,e.schemaUrl)||this;return a.visualName=r,a}return i(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}(g);e.VisualSelector=w;var P=function(t){function e(e){var r=t.call(this,w.schemaUrl)||this;return r.visualType=e,r}return i(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}(g);e.VisualTypeSelector=P;var _=function(t){function e(e){var r=t.call(this,w.schemaUrl)||this;return r.target=e,r}return i(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}(g);function S(t){return t&&!!t.groupName}function E(t){return Array.isArray(t)}function O(t){var e=t.message;return e||(e=t.path+" is invalid. Not meeting "+t.keyword+" constraint"),{message:e}}e.SlicerTargetSelector=_,function(t){t[t.Enabled=0]="Enabled",t[t.Disabled=1]="Disabled",t[t.Hidden=2]="Hidden"}(e.CommandDisplayOption||(e.CommandDisplayOption={})),function(t){t[t.Grouping=0]="Grouping",t[t.Measure=1]="Measure",t[t.GroupingOrMeasure=2]="GroupingOrMeasure"}(e.VisualDataRoleKind||(e.VisualDataRoleKind={})),function(t){t[t.Measure=0]="Measure",t[t.Grouping=1]="Grouping"}(e.VisualDataRoleKindPreference||(e.VisualDataRoleKindPreference={})),e.isFlatMenuExtension=function(t){return t&&!S(t)},e.isGroupedMenuExtension=S,e.isIExtensions=function(t){return t&&!E(t)},e.isIExtensionArray=E,e.validateVisualSelector=function(t){var e=n.Validators.visualSelectorValidator.validate(t);return e?e.map(O):void 0},e.validateSlicer=function(t){var e=n.Validators.slicerValidator.validate(t);return e?e.map(O):void 0},e.validateSlicerState=function(t){var e=n.Validators.slicerStateValidator.validate(t);return e?e.map(O):void 0},e.validatePlayBookmarkRequest=function(t){var e=n.Validators.playBookmarkRequestValidator.validate(t);return e?e.map(O):void 0},e.validateAddBookmarkRequest=function(t){var e=n.Validators.addBookmarkRequestValidator.validate(t);return e?e.map(O):void 0},e.validateApplyBookmarkByNameRequest=function(t){var e=n.Validators.applyBookmarkByNameRequestValidator.validate(t);return e?e.map(O):void 0},e.validateApplyBookmarkStateRequest=function(t){var e=n.Validators.applyBookmarkStateRequestValidator.validate(t);return e?e.map(O):void 0},e.validateCaptureBookmarkRequest=function(t){var e=n.Validators.captureBookmarkRequestValidator.validate(t);return e?e.map(O):void 0},e.validateSettings=function(t){var e=n.Validators.settingsValidator.validate(t);return e?e.map(O):void 0},e.validatePanes=function(t){var e=n.Validators.reportPanesValidator.validate(t);return e?e.map(O):void 0},e.validateBookmarksPane=function(t){var e=n.Validators.bookmarksPaneValidator.validate(t);return e?e.map(O):void 0},e.validateFiltersPane=function(t){var e=n.Validators.filtersPaneValidator.validate(t);return e?e.map(O):void 0},e.validateFieldsPane=function(t){var e=n.Validators.fieldsPaneValidator.validate(t);return e?e.map(O):void 0},e.validatePageNavigationPane=function(t){var e=n.Validators.pageNavigationPaneValidator.validate(t);return e?e.map(O):void 0},e.validateSelectionPane=function(t){var e=n.Validators.selectionPaneValidator.validate(t);return e?e.map(O):void 0},e.validateSyncSlicersPane=function(t){var e=n.Validators.syncSlicersPaneValidator.validate(t);return e?e.map(O):void 0},e.validateVisualizationsPane=function(t){var e=n.Validators.visualizationsPaneValidator.validate(t);return e?e.map(O):void 0},e.validateCustomPageSize=function(t){var e=n.Validators.customPageSizeValidator.validate(t);return e?e.map(O):void 0},e.validateExtension=function(t){var e=n.Validators.extensionValidator.validate(t);return e?e.map(O):void 0},e.validateMenuGroupExtension=function(t){var e=n.Validators.menuGroupExtensionValidator.validate(t);return e?e.map(O):void 0},e.validateReportLoad=function(t){var e=n.Validators.reportLoadValidator.validate(t);return e?e.map(O):void 0},e.validateCreateReport=function(t){var e=n.Validators.reportCreateValidator.validate(t);return e?e.map(O):void 0},e.validateDashboardLoad=function(t){var e=n.Validators.dashboardLoadValidator.validate(t);return e?e.map(O):void 0},e.validateTileLoad=function(t){var e=n.Validators.tileLoadValidator.validate(t);return e?e.map(O):void 0},e.validatePage=function(t){var e=n.Validators.pageValidator.validate(t);return e?e.map(O):void 0},e.validateFilter=function(t){var e=n.Validators.filterValidator.validate(t);return e?e.map(O):void 0},e.validateUpdateFiltersRequest=function(t){var e=n.Validators.updateFiltersRequestValidator.validate(t);return e?e.map(O):void 0},e.validateSaveAsParameters=function(t){var e=n.Validators.saveAsParametersValidator.validate(t);return e?e.map(O):void 0},e.validateLoadQnaConfiguration=function(t){var e=n.Validators.loadQnaValidator.validate(t);return e?e.map(O):void 0},e.validateQnaInterpretInputData=function(t){var e=n.Validators.qnaInterpretInputDataValidator.validate(t);return e?e.map(O):void 0},e.validateExportDataRequest=function(t){var e=n.Validators.exportDataRequestValidator.validate(t);return e?e.map(O):void 0},e.validateVisualHeader=function(t){var e=n.Validators.visualHeaderValidator.validate(t);return e?e.map(O):void 0},e.validateVisualSettings=function(t){var e=n.Validators.visualSettingsValidator.validate(t);return e?e.map(O):void 0},e.validateCommandsSettings=function(t){var e=n.Validators.commandsSettingsValidator.validate(t);return e?e.map(O):void 0},e.validateCustomTheme=function(t){var e=n.Validators.customThemeValidator.validate(t);return e?e.map(O):void 0}},function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.Validators=void 0;var a=r(2),i=r(5),o=r(6),n=r(7),l=r(8),s=r(9),d=r(10),u=r(11),c=r(12),p=r(13),f=r(14),h=r(15),v=r(16),y=r(17),m=r(18),V=r(19),g=r(20),b=r(21),w=r(22),P=r(23),_=r(24),S=r(25),E=r(26),O=r(27),T=r(28),F=r(4);e.Validators={addBookmarkRequestValidator:new i.AddBookmarkRequestValidator,advancedFilterTypeValidator:new F.EnumValidator([0]),advancedFilterValidator:new c.AdvancedFilterValidator,anyArrayValidator:new F.ArrayValidator([new S.AnyOfValidator([new F.StringValidator,new F.NumberValidator,new F.BooleanValidator])]),anyFilterValidator:new S.AnyOfValidator([new c.BasicFilterValidator,new c.AdvancedFilterValidator,new c.IncludeExcludeFilterValidator,new c.NotSupportedFilterValidator,new c.RelativeDateFilterValidator,new c.TopNFilterValidator,new c.RelativeTimeFilterValidator]),anyValueValidator:new S.AnyOfValidator([new F.StringValidator,new F.NumberValidator,new F.BooleanValidator]),actionBarValidator:new a.ActionBarValidator,applyBookmarkByNameRequestValidator:new i.ApplyBookmarkByNameRequestValidator,applyBookmarkStateRequestValidator:new i.ApplyBookmarkStateRequestValidator,applyBookmarkValidator:new S.AnyOfValidator([new i.ApplyBookmarkByNameRequestValidator,new i.ApplyBookmarkStateRequestValidator]),backgroundValidator:new F.EnumValidator([0,1]),basicFilterTypeValidator:new F.EnumValidator([1]),basicFilterValidator:new c.BasicFilterValidator,booleanArrayValidator:new F.BooleanArrayValidator,booleanValidator:new F.BooleanValidator,bookmarksPaneValidator:new h.BookmarksPaneValidator,captureBookmarkOptionsValidator:new i.CaptureBookmarkOptionsValidator,captureBookmarkRequestValidator:new i.CaptureBookmarkRequestValidator,commandDisplayOptionValidator:new F.EnumValidator([0,1,2]),commandExtensionSelectorValidator:new S.AnyOfValidator([new g.VisualSelectorValidator,new g.VisualTypeSelectorValidator]),commandExtensionArrayValidator:new F.ArrayValidator([new u.CommandExtensionValidator]),commandExtensionValidator:new u.CommandExtensionValidator,commandsSettingsArrayValidator:new F.ArrayValidator([new o.CommandsSettingsValidator]),commandsSettingsValidator:new o.CommandsSettingsValidator,conditionItemValidator:new c.ConditionItemValidator,contrastModeValidator:new F.EnumValidator([0,1,2,3,4]),customLayoutDisplayOptionValidator:new F.EnumValidator([0,1,2]),customLayoutValidator:new p.CustomLayoutValidator,customPageSizeValidator:new f.CustomPageSizeValidator,customThemeValidator:new n.CustomThemeValidator,dashboardLoadValidator:new l.DashboardLoadValidator,datasetBindingValidator:new s.DatasetBindingValidator,displayStateModeValidator:new F.EnumValidator([0,1]),displayStateValidator:new p.DisplayStateValidator,exportDataRequestValidator:new d.ExportDataRequestValidator,extensionArrayValidator:new F.ArrayValidator([new u.ExtensionValidator]),extensionsValidator:new S.AnyOfValidator([new F.ArrayValidator([new u.ExtensionValidator]),new u.ExtensionsValidator]),extensionPointsValidator:new u.ExtensionPointsValidator,extensionValidator:new u.ExtensionValidator,fieldForbiddenValidator:new E.FieldForbiddenValidator,fieldRequiredValidator:new O.FieldRequiredValidator,fieldsPaneValidator:new h.FieldsPaneValidator,filterColumnTargetValidator:new c.FilterColumnTargetValidator,filterDisplaySettingsValidator:new c.FilterDisplaySettingsValidator,filterConditionsValidator:new F.ArrayValidator([new c.ConditionItemValidator]),filterHierarchyTargetValidator:new c.FilterHierarchyTargetValidator,filterMeasureTargetValidator:new c.FilterMeasureTargetValidator,filterTargetValidator:new S.AnyOfValidator([new c.FilterColumnTargetValidator,new c.FilterHierarchyTargetValidator,new c.FilterMeasureTargetValidator]),filterValidator:new c.FilterValidator,filterTypeValidator:new F.EnumValidator([0,1,2,3,4,5,6,7]),filtersArrayValidator:new F.ArrayValidator([new c.FilterValidator]),filtersOperationsUpdateValidator:new F.EnumValidator([1,2,3]),filtersOperationsRemoveAllValidator:new F.EnumValidator([0]),filtersPaneValidator:new h.FiltersPaneValidator,hyperlinkClickBehaviorValidator:new F.EnumValidator([0,1,2]),includeExcludeFilterValidator:new c.IncludeExcludeFilterValidator,includeExludeFilterTypeValidator:new F.EnumValidator([3]),layoutTypeValidator:new F.EnumValidator([0,1,2,3]),loadQnaValidator:new v.LoadQnaValidator,menuExtensionValidator:new S.AnyOfValidator([new u.FlatMenuExtensionValidator,new u.GroupedMenuExtensionValidator]),menuGroupExtensionArrayValidator:new F.ArrayValidator([new u.MenuGroupExtensionValidator]),menuGroupExtensionValidator:new u.MenuGroupExtensionValidator,menuLocationValidator:new F.EnumValidator([0,1]),notSupportedFilterTypeValidator:new F.EnumValidator([2]),notSupportedFilterValidator:new c.NotSupportedFilterValidator,numberArrayValidator:new F.NumberArrayValidator,numberValidator:new F.NumberValidator,pageLayoutValidator:new T.MapValidator([new F.StringValidator],[new p.VisualLayoutValidator]),pageNavigationPaneValidator:new h.PageNavigationPaneValidator,pageNavigationPositionValidator:new F.EnumValidator([0,1]),pageSizeTypeValidator:new F.EnumValidator([0,1,2,3,4,5]),pageSizeValidator:new f.PageSizeValidator,pageValidator:new f.PageValidator,pageViewFieldValidator:new f.PageViewFieldValidator,pagesLayoutValidator:new T.MapValidator([new F.StringValidator],[new p.PageLayoutValidator]),reportBarsValidator:new a.ReportBarsValidator,reportPanesValidator:new h.ReportPanesValidator,permissionsValidator:new F.EnumValidator([0,1,2,4,7]),playBookmarkRequestValidator:new i.PlayBookmarkRequestValidator,qnaInterpretInputDataValidator:new v.QnaInterpretInputDataValidator,qnaSettingValidator:new v.QnaSettingsValidator,relativeDateFilterOperatorValidator:new F.EnumValidator([0,1,2]),relativeDateFilterTimeUnitTypeValidator:new F.EnumValidator([0,1,2,3,4,5,6]),relativeDateFilterTypeValidator:new F.EnumValidator([4]),relativeDateFilterValidator:new c.RelativeDateFilterValidator,relativeTimeFilterTimeUnitTypeValidator:new F.EnumValidator([7,8]),relativeTimeFilterTypeValidator:new F.EnumValidator([7]),relativeTimeFilterValidator:new c.RelativeTimeFilterValidator,reportCreateValidator:new y.ReportCreateValidator,reportLoadValidator:new m.ReportLoadValidator,saveAsParametersValidator:new V.SaveAsParametersValidator,selectionPaneValidator:new h.SelectionPaneValidator,settingsValidator:new b.SettingsValidator,singleCommandSettingsValidator:new o.SingleCommandSettingsValidator,slicerSelectorValidator:new S.AnyOfValidator([new g.VisualSelectorValidator,new g.SlicerTargetSelectorValidator]),slicerStateValidator:new w.SlicerStateValidator,slicerTargetValidator:new S.AnyOfValidator([new c.FilterColumnTargetValidator,new c.FilterHierarchyTargetValidator,new c.FilterMeasureTargetValidator,new c.FilterKeyColumnsTargetValidator,new c.FilterKeyHierarchyTargetValidator]),slicerValidator:new w.SlicerValidator,stringArrayValidator:new F.StringArrayValidator,stringValidator:new F.StringValidator,syncSlicersPaneValidator:new h.SyncSlicersPaneValidator,tileLoadValidator:new P.TileLoadValidator,tokenTypeValidator:new F.EnumValidator([0,1]),topNFilterTypeValidator:new F.EnumValidator([5]),topNFilterValidator:new c.TopNFilterValidator,updateFiltersRequestValidator:new S.AnyOfValidator([new c.UpdateFiltersRequestValidator,new c.RemoveFiltersRequestValidator]),viewModeValidator:new F.EnumValidator([0,1]),visualCommandSelectorValidator:new S.AnyOfValidator([new g.VisualSelectorValidator,new g.VisualTypeSelectorValidator]),visualHeaderSelectorValidator:new S.AnyOfValidator([new g.VisualSelectorValidator,new g.VisualTypeSelectorValidator]),visualHeaderSettingsValidator:new _.VisualHeaderSettingsValidator,visualHeaderValidator:new _.VisualHeaderValidator,visualHeadersValidator:new F.ArrayValidator([new _.VisualHeaderValidator]),visualizationsPaneValidator:new h.VisualizationsPaneValidator,visualLayoutValidator:new p.VisualLayoutValidator,visualSelectorValidator:new g.VisualSelectorValidator,visualSettingsValidator:new _.VisualSettingsValidator,visualTypeSelectorValidator:new g.VisualTypeSelectorValidator}},function(t,e,r){var a,i=this&&this.__extends||(a=function(t,e){return(a=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])})(t,e)},function(t,e){function r(){this.constructor=t}a(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.ActionBarValidator=e.ReportBarsValidator=void 0;var o=r(3),n=r(4),l=r(1),s=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i(e,t),e.prototype.validate=function(e,r,a){if(null==e)return null;var i=t.prototype.validate.call(this,e,r,a);if(i)return i;var n=[{field:"actionBar",validators:[l.Validators.actionBarValidator]}];return new o.MultipleFieldsValidator(n).validate(e,r,a)},e}(n.ObjectValidator);e.ReportBarsValidator=s;var d=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i(e,t),e.prototype.validate=function(e,r,a){if(null==e)return null;var i=t.prototype.validate.call(this,e,r,a);if(i)return i;var n=[{field:"visible",validators:[l.Validators.booleanValidator]}];return new o.MultipleFieldsValidator(n).validate(e,r,a)},e}(n.ObjectValidator);e.ActionBarValidator=d},function(t,e){Object.defineProperty(e,"__esModule",{value:!0}),e.MultipleFieldsValidator=void 0;var r=function(){function t(t){this.fieldValidatorsPairs=t}return t.prototype.validate=function(t,e,r){if(!this.fieldValidatorsPairs)return null;for(var a=e?e+"."+r:r,i=0,o=this.fieldValidatorsPairs;i0&&i[i.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0?"&":"?";return t+=a+e+"="+r},e.isSavedInternal=function(t,e,i){return r(this,void 0,void 0,(function(){return a(this,(function(r){switch(r.label){case 0:return r.trys.push([0,2,,3]),[4,t.get("/report/hasUnsavedChanges",{uid:e},i)];case 1:return[2,!r.sent().body];case 2:throw r.sent().body;case 3:return[2]}}))}))},e.isRDLEmbed=function(t){return t.toLowerCase().indexOf("/rdlembed?")>=0},e.autoAuthInEmbedUrl=function(t){return t&&decodeURIComponent(t).toLowerCase().indexOf("autoauth=true")>=0},e.getRandomValue=o,e.getTimeDiffInMilliseconds=function(t,e){return Math.abs(t.getTime()-e.getTime())}},function(t,e){Object.defineProperty(e,"__esModule",{value:!0}),e.EmbedUrlNotSupported=e.APINotSupportedForRDLError=void 0,e.APINotSupportedForRDLError="This API is currently not supported for RDL reports",e.EmbedUrlNotSupported="Embed URL is invalid for this scenario. Please use Power BI REST APIs to get the valid URL"},function(t,e,r){var a,i=this&&this.__extends||(a=function(t,e){return(a=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])})(t,e)},function(t,e){function r(){this.constructor=t}a(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}),o=this&&this.__awaiter||function(t,e,r,a){return new(r||(r=Promise))((function(i,o){function n(t){try{s(a.next(t))}catch(t){o(t)}}function l(t){try{s(a.throw(t))}catch(t){o(t)}}function s(t){var e;t.done?i(t.value):(e=t.value,e instanceof r?e:new r((function(t){t(e)}))).then(n,l)}s((a=a.apply(t,e||[])).next())}))},n=this&&this.__generator||function(t,e){var r,a,i,o,n={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:l(0),throw:l(1),return:l(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function l(o){return function(l){return function(o){if(r)throw new TypeError("Generator is already executing.");for(;n;)try{if(r=1,a&&(i=2&o[0]?a.return:o[0]?a.throw||((i=a.return)&&i.call(a),0):a.next)&&!(i=i.call(a,o[1])).done)return i;switch(a=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return n.label++,{value:o[1],done:!1};case 5:n.label++,a=o[1],o=[0];continue;case 7:o=n.ops.pop(),n.trys.pop();continue;default:if(!(i=n.trys,(i=i.length>0&&i[i.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1](url, updateFiltersRequest, { uid: this.config.uniqueId }, this.iframe.contentWindow); + return await this.service.hpm.post(url, updateFiltersRequest, { uid: this.config.uniqueId }, this.iframe.contentWindow); } catch (response) { throw response.body; } From 408ada951671042c249e0e71e0fa990f6db1a54a Mon Sep 17 00:00:00 2001 From: Anant Singh Date: Wed, 3 Feb 2021 09:02:02 +0000 Subject: [PATCH 057/125] Merged PR 144018: Added SECURITY.md Added SECURITY.md --- SECURITY.md | 41 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100644 SECURITY.md diff --git a/SECURITY.md b/SECURITY.md new file mode 100644 index 00000000..12fbd833 --- /dev/null +++ b/SECURITY.md @@ -0,0 +1,41 @@ + + +## Security + +Microsoft takes the security of our software products and services seriously, which includes all source code repositories managed through our GitHub organizations, which include [Microsoft](https://github.com/Microsoft), [Azure](https://github.com/Azure), [DotNet](https://github.com/dotnet), [AspNet](https://github.com/aspnet), [Xamarin](https://github.com/xamarin), and [our GitHub organizations](https://opensource.microsoft.com/). + +If you believe you have found a security vulnerability in any Microsoft-owned repository that meets [Microsoft's definition of a security vulnerability](https://docs.microsoft.com/en-us/previous-versions/tn-archive/cc751383(v=technet.10)), please report it to us as described below. + +## Reporting Security Issues + +**Please do not report security vulnerabilities through public GitHub issues.** + +Instead, please report them to the Microsoft Security Response Center (MSRC) at [https://msrc.microsoft.com/create-report](https://msrc.microsoft.com/create-report). + +If you prefer to submit without logging in, send email to [secure@microsoft.com](mailto:secure@microsoft.com). If possible, encrypt your message with our PGP key; please download it from the [Microsoft Security Response Center PGP Key page](https://www.microsoft.com/en-us/msrc/pgp-key-msrc). + +You should receive a response within 24 hours. If for some reason you do not, please follow up via email to ensure we received your original message. Additional information can be found at [microsoft.com/msrc](https://www.microsoft.com/msrc). + +Please include the requested information listed below (as much as you can provide) to help us better understand the nature and scope of the possible issue: + + * Type of issue (e.g. buffer overflow, SQL injection, cross-site scripting, etc.) + * Full paths of source file(s) related to the manifestation of the issue + * The location of the affected source code (tag/branch/commit or direct URL) + * Any special configuration required to reproduce the issue + * Step-by-step instructions to reproduce the issue + * Proof-of-concept or exploit code (if possible) + * Impact of the issue, including how an attacker might exploit the issue + +This information will help us triage your report more quickly. + +If you are reporting for a bug bounty, more complete reports can contribute to a higher bounty award. Please visit our [Microsoft Bug Bounty Program](https://microsoft.com/msrc/bounty) page for more details about our active programs. + +## Preferred Languages + +We prefer all communications to be in English. + +## Policy + +Microsoft follows the principle of [Coordinated Vulnerability Disclosure](https://www.microsoft.com/en-us/msrc/cvd). + + \ No newline at end of file From 015419bf737eb45e17bcaf8537019e5634b681ac Mon Sep 17 00:00:00 2001 From: Shahak Yosef Date: Sun, 7 Feb 2021 08:48:37 +0000 Subject: [PATCH 058/125] Merged PR 145115: Improve kjhtml Fixes two problems: - Auto watch doesn't re-run tests on file changes - Closing tests window doesn't close the test process in the command line --- gulpfile.js | 19 ++++++++++++++++++- karma.conf.js | 5 ++--- package.json | 3 ++- 3 files changed, 22 insertions(+), 5 deletions(-) diff --git a/gulpfile.js b/gulpfile.js index 51cb9685..bb4f2ebd 100644 --- a/gulpfile.js +++ b/gulpfile.js @@ -12,6 +12,7 @@ var ghPages = require('gulp-gh-pages'), moment = require('moment'), karma = require('karma'), typedoc = require('gulp-typedoc'), + watch = require('gulp-watch'), webpack = require('webpack'), webpackStream = require('webpack-stream'), webpackConfig = require('./webpack.config'), @@ -213,5 +214,21 @@ gulp.task('test:js', 'Run js tests', function (done) { captureTimeout: argv.timeout || 60000 }, function() { done(); - }).start(); + }) + .on('browser_register', (browser) => { + if (argv.chrome) { + browser.socket.on('disconnect', function (reason) { + if (reason === "transport close" || reason === "transport error") { + done(0); + process.exit(0); + } + }); + } + }) + .start(); + if (argv.chrome) { + return watch(["src/**/*.ts", "test/**/*.ts"], function () { + runSequence('compile:spec'); + }); + } }); \ No newline at end of file diff --git a/karma.conf.js b/karma.conf.js index ec175a8d..9efa2bd9 100644 --- a/karma.conf.js +++ b/karma.conf.js @@ -8,7 +8,6 @@ else if (argv.firefox) { browserName = 'Firefox' } const flags = [ - '--disable-gpu', '--disable-extensions', '--no-proxy-server', '--js-flags="--max_old_space_size=6500"', @@ -34,7 +33,7 @@ module.exports = function (config) { 'karma-spec-reporter', 'karma-phantomjs-launcher', 'karma-coverage', - 'karma-jasmine-html-reporter', + 'karma-jasmine-html-reporter' ], customLaunchers: { 'Chrome_headless': { @@ -49,8 +48,8 @@ module.exports = function (config) { { type: 'text-summary' } ] }, - logLevel: argv.debug ? config.LOG_DEBUG : config.LOG_INFO, retryLimit: 0, + logLevel: argv.debug ? config.LOG_DEBUG : config.LOG_INFO, client: { clearContext: false, // leave Jasmine Spec Runner output visible in browser args: argv.logMessages ? ['logMessages'] : [] diff --git a/package.json b/package.json index 0487cdf2..fe7bfef4 100644 --- a/package.json +++ b/package.json @@ -16,7 +16,7 @@ "prestart": "cd demo && npm install", "test": "gulp test", "gulp": "gulp", - "testc": "npm test -- --chrome --watch" + "tests": "npm test -- --chrome --watch --debug" }, "keywords": [ "microsoft", @@ -55,6 +55,7 @@ "gulp-replace": "^0.5.4", "gulp-typedoc": "^2.0.0", "gulp-typescript": "^4.0.1", + "gulp-watch": "^5.0.1", "gulp4-run-sequence": "^1.0.0", "http-server": "^0.12.1", "ignore-loader": "^0.1.1", From 9828a8870c483eff159aaf965ef5dba3c2e0f766 Mon Sep 17 00:00:00 2001 From: Nerya Cohen Date: Tue, 16 Feb 2021 07:05:32 +0000 Subject: [PATCH 059/125] Merged PR 145642: Add 'Copyright' headers Adding copyright header in each ts file, and updating the license header. --- dist/powerbi-client.d.ts | 4 +- dist/powerbi.js | 36 +++++- dist/powerbi.min.js | 4 +- gulpfile.js | 250 +++++++++++++++++++------------------ src/bookmarksManager.ts | 3 + src/config.ts | 3 + src/create.ts | 3 + src/dashboard.ts | 3 + src/embed.ts | 3 + src/errors.ts | 2 + src/factories.ts | 3 + src/ifilterable.ts | 3 + src/page.ts | 3 + src/powerbi-client.ts | 3 + src/qna.ts | 3 + src/report.ts | 3 + src/service.ts | 3 + src/tile.ts | 3 + src/util.ts | 3 + src/visual.ts | 3 + src/visualDescriptor.ts | 3 + test/test.spec.ts | 3 + test/utility/mockApp.ts | 3 + test/utility/mockEmbed.ts | 3 + test/utility/mockHpm.ts | 3 + test/utility/mockRouter.ts | 3 + test/utility/mockWpmp.ts | 3 + 27 files changed, 238 insertions(+), 124 deletions(-) diff --git a/dist/powerbi-client.d.ts b/dist/powerbi-client.d.ts index fc20d994..761b964a 100644 --- a/dist/powerbi-client.d.ts +++ b/dist/powerbi-client.d.ts @@ -1,4 +1,6 @@ -/*! powerbi-client v2.17.2 | (c) 2016 Microsoft Corporation MIT */ +// powerbi-client v2.17.2 +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. declare module "util" { import { HttpPostMessage } from 'http-post-message'; /** diff --git a/dist/powerbi.js b/dist/powerbi.js index 5e367d45..0d1232c4 100644 --- a/dist/powerbi.js +++ b/dist/powerbi.js @@ -1,4 +1,6 @@ -/*! powerbi-client v2.17.2 | (c) 2016 Microsoft Corporation MIT */ +// powerbi-client v2.17.2 +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. (function webpackUniversalModuleDefinition(root, factory) { if(typeof exports === 'object' && typeof module === 'object') module.exports = factory(); @@ -5720,6 +5722,8 @@ return /******/ (function(modules) { // webpackBootstrap /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } return new (P || (P = Promise))(function (resolve, reject) { @@ -5970,6 +5974,8 @@ exports.BookmarksManager = BookmarksManager; /*! no static exports found */ /***/ (function(module, exports) { +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. Object.defineProperty(exports, "__esModule", { value: true }); /** @ignore */ /** */ var config = { @@ -5988,6 +5994,8 @@ exports.default = config; /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. var __extends = (this && this.__extends) || (function () { var extendStatics = function (d, b) { extendStatics = Object.setPrototypeOf || @@ -6155,6 +6163,8 @@ exports.Create = Create; /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. var __extends = (this && this.__extends) || (function () { var extendStatics = function (d, b) { extendStatics = Object.setPrototypeOf || @@ -6291,6 +6301,8 @@ exports.Dashboard = Dashboard; /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } return new (P || (P = Promise))(function (resolve, reject) { @@ -6984,6 +6996,8 @@ exports.Embed = Embed; /*! no static exports found */ /***/ (function(module, exports) { +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. Object.defineProperty(exports, "__esModule", { value: true }); exports.EmbedUrlNotSupported = exports.APINotSupportedForRDLError = void 0; exports.APINotSupportedForRDLError = "This API is currently not supported for RDL reports"; @@ -6999,6 +7013,8 @@ exports.EmbedUrlNotSupported = "Embed URL is invalid for this scenario. Please u /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. Object.defineProperty(exports, "__esModule", { value: true }); exports.routerFactory = exports.wpmpFactory = exports.hpmFactory = void 0; /** @@ -7046,6 +7062,8 @@ exports.routerFactory = routerFactory; /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } return new (P || (P = Promise))(function (resolve, reject) { @@ -7405,6 +7423,8 @@ exports.Page = Page; /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. Object.defineProperty(exports, "__esModule", { value: true }); exports.VisualDescriptor = exports.Visual = exports.Qna = exports.Page = exports.Embed = exports.Tile = exports.Dashboard = exports.Report = exports.models = exports.factories = exports.service = void 0; /** @@ -7450,6 +7470,8 @@ window.powerbi = powerbi; /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. var __extends = (this && this.__extends) || (function () { var extendStatics = function (d, b) { extendStatics = Object.setPrototypeOf || @@ -7597,6 +7619,8 @@ exports.Qna = Qna; /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. var __extends = (this && this.__extends) || (function () { var extendStatics = function (d, b) { extendStatics = Object.setPrototypeOf || @@ -8449,6 +8473,8 @@ exports.Report = Report; /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. Object.defineProperty(exports, "__esModule", { value: true }); exports.Service = void 0; var embed_1 = __webpack_require__(/*! ./embed */ "./src/embed.ts"); @@ -8905,6 +8931,8 @@ exports.Service = Service; /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. var __extends = (this && this.__extends) || (function () { var extendStatics = function (d, b) { extendStatics = Object.setPrototypeOf || @@ -9017,6 +9045,8 @@ exports.Tile = Tile; /*! no static exports found */ /***/ (function(module, exports) { +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } return new (P || (P = Promise))(function (resolve, reject) { @@ -9284,6 +9314,8 @@ exports.getTimeDiffInMilliseconds = getTimeDiffInMilliseconds; /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. var __extends = (this && this.__extends) || (function () { var extendStatics = function (d, b) { extendStatics = Object.setPrototypeOf || @@ -9654,6 +9686,8 @@ exports.Visual = Visual; /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } return new (P || (P = Promise))(function (resolve, reject) { diff --git a/dist/powerbi.min.js b/dist/powerbi.min.js index 40c9c0c5..5d98ba84 100644 --- a/dist/powerbi.min.js +++ b/dist/powerbi.min.js @@ -1,4 +1,6 @@ -/*! powerbi-client v2.17.2 | (c) 2016 Microsoft Corporation MIT */ +// powerbi-client v2.17.2 +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. !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){var e={};function r(a){if(e[a])return e[a].exports;var i=e[a]={i:a,l:!1,exports:{}};return t[a].call(i.exports,i,i.exports,r),i.l=!0,i.exports}return r.m=t,r.c=e,r.d=function(t,e,a){r.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:a})},r.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},r.t=function(t,e){if(1&e&&(t=r(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var a=Object.create(null);if(r.r(a),Object.defineProperty(a,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var i in t)r.d(a,i,function(e){return t[e]}.bind(null,i));return a},r.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return r.d(e,"a",e),e},r.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},r.p="",r(r.s=12)}([function(t,e,r){ /*! powerbi-models v1.8.0 | (c) 2016 Microsoft Corporation MIT */ var a;a=function(){return function(t){var e={};function r(a){if(e[a])return e[a].exports;var i=e[a]={i:a,l:!1,exports:{}};return t[a].call(i.exports,i,i.exports,r),i.l=!0,i.exports}return r.m=t,r.c=e,r.d=function(t,e,a){r.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:a})},r.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},r.t=function(t,e){if(1&e&&(t=r(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var a=Object.create(null);if(r.r(a),Object.defineProperty(a,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var i in t)r.d(a,i,function(e){return t[e]}.bind(null,i));return a},r.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return r.d(e,"a",e),e},r.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},r.p="",r(r.s=0)}([function(t,e,r){var a,i=this&&this.__extends||(a=function(t,e){return(a=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])})(t,e)},function(t,e){function r(){this.constructor=t}a(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.validateCustomTheme=e.validateCommandsSettings=e.validateVisualSettings=e.validateVisualHeader=e.validateExportDataRequest=e.validateQnaInterpretInputData=e.validateLoadQnaConfiguration=e.validateSaveAsParameters=e.validateUpdateFiltersRequest=e.validateFilter=e.validatePage=e.validateTileLoad=e.validateDashboardLoad=e.validateCreateReport=e.validateReportLoad=e.validateMenuGroupExtension=e.validateExtension=e.validateCustomPageSize=e.validateVisualizationsPane=e.validateSyncSlicersPane=e.validateSelectionPane=e.validatePageNavigationPane=e.validateFieldsPane=e.validateFiltersPane=e.validateBookmarksPane=e.validatePanes=e.validateSettings=e.validateCaptureBookmarkRequest=e.validateApplyBookmarkStateRequest=e.validateApplyBookmarkByNameRequest=e.validateAddBookmarkRequest=e.validatePlayBookmarkRequest=e.validateSlicerState=e.validateSlicer=e.validateVisualSelector=e.isIExtensionArray=e.isIExtensions=e.isGroupedMenuExtension=e.isFlatMenuExtension=e.VisualDataRoleKindPreference=e.VisualDataRoleKind=e.CommandDisplayOption=e.SlicerTargetSelector=e.VisualTypeSelector=e.VisualSelector=e.PageSelector=e.Selector=e.SortDirection=e.LegendPosition=e.TextAlignment=e.CommonErrorCodes=e.BookmarksPlayMode=e.ExportDataType=e.QnaMode=e.PageNavigationPosition=e.isColumnAggr=e.isHierarchyLevelAggr=e.isHierarchyLevel=e.isColumn=e.isMeasure=e.getFilterType=e.isBasicFilterWithKeys=e.isFilterKeyColumnsTarget=e.AdvancedFilter=e.TupleFilter=e.BasicFilterWithKeys=e.BasicFilter=e.RelativeTimeFilter=e.RelativeDateFilter=e.TopNFilter=e.IncludeExcludeFilter=e.NotSupportedFilter=e.Filter=e.RelativeDateOperators=e.RelativeDateFilterTimeUnit=e.FilterType=e.FiltersLevel=e.FiltersOperations=e.MenuLocation=e.ContrastMode=e.TokenType=e.ViewMode=e.Permissions=e.SectionVisibility=e.HyperlinkClickBehavior=e.LayoutType=e.VisualContainerDisplayMode=e.BackgroundType=e.DisplayOption=e.PageSizeType=e.TraceType=void 0;var o,n=r(1);!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"}(e.TraceType||(e.TraceType={})),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"}(e.PageSizeType||(e.PageSizeType={})),function(t){t[t.FitToPage=0]="FitToPage",t[t.FitToWidth=1]="FitToWidth",t[t.ActualSize=2]="ActualSize"}(e.DisplayOption||(e.DisplayOption={})),function(t){t[t.Default=0]="Default",t[t.Transparent=1]="Transparent"}(e.BackgroundType||(e.BackgroundType={})),function(t){t[t.Visible=0]="Visible",t[t.Hidden=1]="Hidden"}(e.VisualContainerDisplayMode||(e.VisualContainerDisplayMode={})),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={})),function(t){t[t.Navigate=0]="Navigate",t[t.NavigateAndRaiseEvent=1]="NavigateAndRaiseEvent",t[t.RaiseEvent=2]="RaiseEvent"}(e.HyperlinkClickBehavior||(e.HyperlinkClickBehavior={})),function(t){t[t.AlwaysVisible=0]="AlwaysVisible",t[t.HiddenInViewMode=1]="HiddenInViewMode"}(e.SectionVisibility||(e.SectionVisibility={})),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"}(e.Permissions||(e.Permissions={})),function(t){t[t.View=0]="View",t[t.Edit=1]="Edit"}(e.ViewMode||(e.ViewMode={})),function(t){t[t.Aad=0]="Aad",t[t.Embed=1]="Embed"}(e.TokenType||(e.TokenType={})),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"}(e.ContrastMode||(e.ContrastMode={})),function(t){t[t.Bottom=0]="Bottom",t[t.Top=1]="Top"}(e.MenuLocation||(e.MenuLocation={})),function(t){t[t.RemoveAll=0]="RemoveAll",t[t.ReplaceAll=1]="ReplaceAll",t[t.Add=2]="Add",t[t.Replace=3]="Replace"}(e.FiltersOperations||(e.FiltersOperations={})),function(t){t[t.Report=0]="Report",t[t.Page=1]="Page",t[t.Visual=2]="Visual"}(e.FiltersLevel||(e.FiltersLevel={})),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"}(o=e.FilterType||(e.FilterType={})),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"}(e.RelativeDateFilterTimeUnit||(e.RelativeDateFilterTimeUnit={})),function(t){t[t.InLast=0]="InLast",t[t.InThis=1]="InThis",t[t.InNext=2]="InNext"}(e.RelativeDateOperators||(e.RelativeDateOperators={}));var l=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=l;var s=function(t){function e(r,a,i){var n=t.call(this,r,o.Unknown)||this;return n.message=a,n.notSupportedTypeName=i,n.schemaUrl=e.schemaUrl,n}return i(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}(l);e.NotSupportedFilter=s;var d=function(t){function e(r,a,i){var n=t.call(this,r,o.IncludeExclude)||this;return n.values=i,n.isExclude=a,n.schemaUrl=e.schemaUrl,n}return i(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}(l);e.IncludeExcludeFilter=d;var u=function(t){function e(r,a,i,n){var l=t.call(this,r,o.TopN)||this;return l.operator=a,l.itemCount=i,l.schemaUrl=e.schemaUrl,l.orderBy=n,l}return i(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}(l);e.TopNFilter=u;var c=function(t){function e(r,a,i,n,l){var s=t.call(this,r,o.RelativeDate)||this;return s.operator=a,s.timeUnitsCount=i,s.timeUnitType=n,s.includeToday=l,s.schemaUrl=e.schemaUrl,s}return i(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}(l);e.RelativeDateFilter=c;var p=function(t){function e(r,a,i,n){var l=t.call(this,r,o.RelativeTime)||this;return l.operator=a,l.timeUnitsCount=i,l.timeUnitType=n,l.schemaUrl=e.schemaUrl,l}return i(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}(l);e.RelativeTimeFilter=p;var f=function(t){function e(r,a){for(var i=[],n=2;n0&&!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,s=o.keyValues;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 s.conditions=l,s}return i(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}(l);function m(t){if(t.filterType)return t.filterType;var e=t,r=t;return"string"==typeof e.operator&&Array.isArray(e.values)?o.Basic:"string"==typeof r.logicalOperator&&Array.isArray(r.conditions)?o.Advanced:o.Unknown}function V(t){return!(!t.table||!t.column||t.aggregationFunction)}e.AdvancedFilter=y,e.isFilterKeyColumnsTarget=function(t){return V(t)&&!!t.keys},e.isBasicFilterWithKeys=function(t){return m(t)===o.Basic&&!!t.keyValues},e.getFilterType=m,e.isMeasure=function(t){return void 0!==t.table&&void 0!==t.measure},e.isColumn=V,e.isHierarchyLevel=function(t){return!(!(t.table&&t.hierarchy&&t.hierarchyLevel)||t.aggregationFunction)},e.isHierarchyLevelAggr=function(t){return!!(t.table&&t.hierarchy&&t.hierarchyLevel&&t.aggregationFunction)},e.isColumnAggr=function(t){return!!(t.table&&t.column&&t.aggregationFunction)},function(t){t[t.Bottom=0]="Bottom",t[t.Left=1]="Left"}(e.PageNavigationPosition||(e.PageNavigationPosition={})),function(t){t[t.Interactive=0]="Interactive",t[t.ResultOnly=1]="ResultOnly"}(e.QnaMode||(e.QnaMode={})),function(t){t[t.Summarized=0]="Summarized",t[t.Underlying=1]="Underlying"}(e.ExportDataType||(e.ExportDataType={})),function(t){t[t.Off=0]="Off",t[t.Presentation=1]="Presentation"}(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"},function(t){t[t.Ascending=1]="Ascending",t[t.Descending=2]="Descending"}(e.SortDirection||(e.SortDirection={}));var g=function(){function t(t){this.$schema=t}return t.prototype.toJSON=function(){return{$schema:this.$schema}},t}();e.Selector=g;var b=function(t){function e(r){var a=t.call(this,e.schemaUrl)||this;return a.pageName=r,a}return i(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}(g);e.PageSelector=b;var w=function(t){function e(r){var a=t.call(this,e.schemaUrl)||this;return a.visualName=r,a}return i(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}(g);e.VisualSelector=w;var P=function(t){function e(e){var r=t.call(this,w.schemaUrl)||this;return r.visualType=e,r}return i(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}(g);e.VisualTypeSelector=P;var _=function(t){function e(e){var r=t.call(this,w.schemaUrl)||this;return r.target=e,r}return i(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}(g);function S(t){return t&&!!t.groupName}function E(t){return Array.isArray(t)}function O(t){var e=t.message;return e||(e=t.path+" is invalid. Not meeting "+t.keyword+" constraint"),{message:e}}e.SlicerTargetSelector=_,function(t){t[t.Enabled=0]="Enabled",t[t.Disabled=1]="Disabled",t[t.Hidden=2]="Hidden"}(e.CommandDisplayOption||(e.CommandDisplayOption={})),function(t){t[t.Grouping=0]="Grouping",t[t.Measure=1]="Measure",t[t.GroupingOrMeasure=2]="GroupingOrMeasure"}(e.VisualDataRoleKind||(e.VisualDataRoleKind={})),function(t){t[t.Measure=0]="Measure",t[t.Grouping=1]="Grouping"}(e.VisualDataRoleKindPreference||(e.VisualDataRoleKindPreference={})),e.isFlatMenuExtension=function(t){return t&&!S(t)},e.isGroupedMenuExtension=S,e.isIExtensions=function(t){return t&&!E(t)},e.isIExtensionArray=E,e.validateVisualSelector=function(t){var e=n.Validators.visualSelectorValidator.validate(t);return e?e.map(O):void 0},e.validateSlicer=function(t){var e=n.Validators.slicerValidator.validate(t);return e?e.map(O):void 0},e.validateSlicerState=function(t){var e=n.Validators.slicerStateValidator.validate(t);return e?e.map(O):void 0},e.validatePlayBookmarkRequest=function(t){var e=n.Validators.playBookmarkRequestValidator.validate(t);return e?e.map(O):void 0},e.validateAddBookmarkRequest=function(t){var e=n.Validators.addBookmarkRequestValidator.validate(t);return e?e.map(O):void 0},e.validateApplyBookmarkByNameRequest=function(t){var e=n.Validators.applyBookmarkByNameRequestValidator.validate(t);return e?e.map(O):void 0},e.validateApplyBookmarkStateRequest=function(t){var e=n.Validators.applyBookmarkStateRequestValidator.validate(t);return e?e.map(O):void 0},e.validateCaptureBookmarkRequest=function(t){var e=n.Validators.captureBookmarkRequestValidator.validate(t);return e?e.map(O):void 0},e.validateSettings=function(t){var e=n.Validators.settingsValidator.validate(t);return e?e.map(O):void 0},e.validatePanes=function(t){var e=n.Validators.reportPanesValidator.validate(t);return e?e.map(O):void 0},e.validateBookmarksPane=function(t){var e=n.Validators.bookmarksPaneValidator.validate(t);return e?e.map(O):void 0},e.validateFiltersPane=function(t){var e=n.Validators.filtersPaneValidator.validate(t);return e?e.map(O):void 0},e.validateFieldsPane=function(t){var e=n.Validators.fieldsPaneValidator.validate(t);return e?e.map(O):void 0},e.validatePageNavigationPane=function(t){var e=n.Validators.pageNavigationPaneValidator.validate(t);return e?e.map(O):void 0},e.validateSelectionPane=function(t){var e=n.Validators.selectionPaneValidator.validate(t);return e?e.map(O):void 0},e.validateSyncSlicersPane=function(t){var e=n.Validators.syncSlicersPaneValidator.validate(t);return e?e.map(O):void 0},e.validateVisualizationsPane=function(t){var e=n.Validators.visualizationsPaneValidator.validate(t);return e?e.map(O):void 0},e.validateCustomPageSize=function(t){var e=n.Validators.customPageSizeValidator.validate(t);return e?e.map(O):void 0},e.validateExtension=function(t){var e=n.Validators.extensionValidator.validate(t);return e?e.map(O):void 0},e.validateMenuGroupExtension=function(t){var e=n.Validators.menuGroupExtensionValidator.validate(t);return e?e.map(O):void 0},e.validateReportLoad=function(t){var e=n.Validators.reportLoadValidator.validate(t);return e?e.map(O):void 0},e.validateCreateReport=function(t){var e=n.Validators.reportCreateValidator.validate(t);return e?e.map(O):void 0},e.validateDashboardLoad=function(t){var e=n.Validators.dashboardLoadValidator.validate(t);return e?e.map(O):void 0},e.validateTileLoad=function(t){var e=n.Validators.tileLoadValidator.validate(t);return e?e.map(O):void 0},e.validatePage=function(t){var e=n.Validators.pageValidator.validate(t);return e?e.map(O):void 0},e.validateFilter=function(t){var e=n.Validators.filterValidator.validate(t);return e?e.map(O):void 0},e.validateUpdateFiltersRequest=function(t){var e=n.Validators.updateFiltersRequestValidator.validate(t);return e?e.map(O):void 0},e.validateSaveAsParameters=function(t){var e=n.Validators.saveAsParametersValidator.validate(t);return e?e.map(O):void 0},e.validateLoadQnaConfiguration=function(t){var e=n.Validators.loadQnaValidator.validate(t);return e?e.map(O):void 0},e.validateQnaInterpretInputData=function(t){var e=n.Validators.qnaInterpretInputDataValidator.validate(t);return e?e.map(O):void 0},e.validateExportDataRequest=function(t){var e=n.Validators.exportDataRequestValidator.validate(t);return e?e.map(O):void 0},e.validateVisualHeader=function(t){var e=n.Validators.visualHeaderValidator.validate(t);return e?e.map(O):void 0},e.validateVisualSettings=function(t){var e=n.Validators.visualSettingsValidator.validate(t);return e?e.map(O):void 0},e.validateCommandsSettings=function(t){var e=n.Validators.commandsSettingsValidator.validate(t);return e?e.map(O):void 0},e.validateCustomTheme=function(t){var e=n.Validators.customThemeValidator.validate(t);return e?e.map(O):void 0}},function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.Validators=void 0;var a=r(2),i=r(5),o=r(6),n=r(7),l=r(8),s=r(9),d=r(10),u=r(11),c=r(12),p=r(13),f=r(14),h=r(15),v=r(16),y=r(17),m=r(18),V=r(19),g=r(20),b=r(21),w=r(22),P=r(23),_=r(24),S=r(25),E=r(26),O=r(27),T=r(28),F=r(4);e.Validators={addBookmarkRequestValidator:new i.AddBookmarkRequestValidator,advancedFilterTypeValidator:new F.EnumValidator([0]),advancedFilterValidator:new c.AdvancedFilterValidator,anyArrayValidator:new F.ArrayValidator([new S.AnyOfValidator([new F.StringValidator,new F.NumberValidator,new F.BooleanValidator])]),anyFilterValidator:new S.AnyOfValidator([new c.BasicFilterValidator,new c.AdvancedFilterValidator,new c.IncludeExcludeFilterValidator,new c.NotSupportedFilterValidator,new c.RelativeDateFilterValidator,new c.TopNFilterValidator,new c.RelativeTimeFilterValidator]),anyValueValidator:new S.AnyOfValidator([new F.StringValidator,new F.NumberValidator,new F.BooleanValidator]),actionBarValidator:new a.ActionBarValidator,applyBookmarkByNameRequestValidator:new i.ApplyBookmarkByNameRequestValidator,applyBookmarkStateRequestValidator:new i.ApplyBookmarkStateRequestValidator,applyBookmarkValidator:new S.AnyOfValidator([new i.ApplyBookmarkByNameRequestValidator,new i.ApplyBookmarkStateRequestValidator]),backgroundValidator:new F.EnumValidator([0,1]),basicFilterTypeValidator:new F.EnumValidator([1]),basicFilterValidator:new c.BasicFilterValidator,booleanArrayValidator:new F.BooleanArrayValidator,booleanValidator:new F.BooleanValidator,bookmarksPaneValidator:new h.BookmarksPaneValidator,captureBookmarkOptionsValidator:new i.CaptureBookmarkOptionsValidator,captureBookmarkRequestValidator:new i.CaptureBookmarkRequestValidator,commandDisplayOptionValidator:new F.EnumValidator([0,1,2]),commandExtensionSelectorValidator:new S.AnyOfValidator([new g.VisualSelectorValidator,new g.VisualTypeSelectorValidator]),commandExtensionArrayValidator:new F.ArrayValidator([new u.CommandExtensionValidator]),commandExtensionValidator:new u.CommandExtensionValidator,commandsSettingsArrayValidator:new F.ArrayValidator([new o.CommandsSettingsValidator]),commandsSettingsValidator:new o.CommandsSettingsValidator,conditionItemValidator:new c.ConditionItemValidator,contrastModeValidator:new F.EnumValidator([0,1,2,3,4]),customLayoutDisplayOptionValidator:new F.EnumValidator([0,1,2]),customLayoutValidator:new p.CustomLayoutValidator,customPageSizeValidator:new f.CustomPageSizeValidator,customThemeValidator:new n.CustomThemeValidator,dashboardLoadValidator:new l.DashboardLoadValidator,datasetBindingValidator:new s.DatasetBindingValidator,displayStateModeValidator:new F.EnumValidator([0,1]),displayStateValidator:new p.DisplayStateValidator,exportDataRequestValidator:new d.ExportDataRequestValidator,extensionArrayValidator:new F.ArrayValidator([new u.ExtensionValidator]),extensionsValidator:new S.AnyOfValidator([new F.ArrayValidator([new u.ExtensionValidator]),new u.ExtensionsValidator]),extensionPointsValidator:new u.ExtensionPointsValidator,extensionValidator:new u.ExtensionValidator,fieldForbiddenValidator:new E.FieldForbiddenValidator,fieldRequiredValidator:new O.FieldRequiredValidator,fieldsPaneValidator:new h.FieldsPaneValidator,filterColumnTargetValidator:new c.FilterColumnTargetValidator,filterDisplaySettingsValidator:new c.FilterDisplaySettingsValidator,filterConditionsValidator:new F.ArrayValidator([new c.ConditionItemValidator]),filterHierarchyTargetValidator:new c.FilterHierarchyTargetValidator,filterMeasureTargetValidator:new c.FilterMeasureTargetValidator,filterTargetValidator:new S.AnyOfValidator([new c.FilterColumnTargetValidator,new c.FilterHierarchyTargetValidator,new c.FilterMeasureTargetValidator]),filterValidator:new c.FilterValidator,filterTypeValidator:new F.EnumValidator([0,1,2,3,4,5,6,7]),filtersArrayValidator:new F.ArrayValidator([new c.FilterValidator]),filtersOperationsUpdateValidator:new F.EnumValidator([1,2,3]),filtersOperationsRemoveAllValidator:new F.EnumValidator([0]),filtersPaneValidator:new h.FiltersPaneValidator,hyperlinkClickBehaviorValidator:new F.EnumValidator([0,1,2]),includeExcludeFilterValidator:new c.IncludeExcludeFilterValidator,includeExludeFilterTypeValidator:new F.EnumValidator([3]),layoutTypeValidator:new F.EnumValidator([0,1,2,3]),loadQnaValidator:new v.LoadQnaValidator,menuExtensionValidator:new S.AnyOfValidator([new u.FlatMenuExtensionValidator,new u.GroupedMenuExtensionValidator]),menuGroupExtensionArrayValidator:new F.ArrayValidator([new u.MenuGroupExtensionValidator]),menuGroupExtensionValidator:new u.MenuGroupExtensionValidator,menuLocationValidator:new F.EnumValidator([0,1]),notSupportedFilterTypeValidator:new F.EnumValidator([2]),notSupportedFilterValidator:new c.NotSupportedFilterValidator,numberArrayValidator:new F.NumberArrayValidator,numberValidator:new F.NumberValidator,pageLayoutValidator:new T.MapValidator([new F.StringValidator],[new p.VisualLayoutValidator]),pageNavigationPaneValidator:new h.PageNavigationPaneValidator,pageNavigationPositionValidator:new F.EnumValidator([0,1]),pageSizeTypeValidator:new F.EnumValidator([0,1,2,3,4,5]),pageSizeValidator:new f.PageSizeValidator,pageValidator:new f.PageValidator,pageViewFieldValidator:new f.PageViewFieldValidator,pagesLayoutValidator:new T.MapValidator([new F.StringValidator],[new p.PageLayoutValidator]),reportBarsValidator:new a.ReportBarsValidator,reportPanesValidator:new h.ReportPanesValidator,permissionsValidator:new F.EnumValidator([0,1,2,4,7]),playBookmarkRequestValidator:new i.PlayBookmarkRequestValidator,qnaInterpretInputDataValidator:new v.QnaInterpretInputDataValidator,qnaSettingValidator:new v.QnaSettingsValidator,relativeDateFilterOperatorValidator:new F.EnumValidator([0,1,2]),relativeDateFilterTimeUnitTypeValidator:new F.EnumValidator([0,1,2,3,4,5,6]),relativeDateFilterTypeValidator:new F.EnumValidator([4]),relativeDateFilterValidator:new c.RelativeDateFilterValidator,relativeTimeFilterTimeUnitTypeValidator:new F.EnumValidator([7,8]),relativeTimeFilterTypeValidator:new F.EnumValidator([7]),relativeTimeFilterValidator:new c.RelativeTimeFilterValidator,reportCreateValidator:new y.ReportCreateValidator,reportLoadValidator:new m.ReportLoadValidator,saveAsParametersValidator:new V.SaveAsParametersValidator,selectionPaneValidator:new h.SelectionPaneValidator,settingsValidator:new b.SettingsValidator,singleCommandSettingsValidator:new o.SingleCommandSettingsValidator,slicerSelectorValidator:new S.AnyOfValidator([new g.VisualSelectorValidator,new g.SlicerTargetSelectorValidator]),slicerStateValidator:new w.SlicerStateValidator,slicerTargetValidator:new S.AnyOfValidator([new c.FilterColumnTargetValidator,new c.FilterHierarchyTargetValidator,new c.FilterMeasureTargetValidator,new c.FilterKeyColumnsTargetValidator,new c.FilterKeyHierarchyTargetValidator]),slicerValidator:new w.SlicerValidator,stringArrayValidator:new F.StringArrayValidator,stringValidator:new F.StringValidator,syncSlicersPaneValidator:new h.SyncSlicersPaneValidator,tileLoadValidator:new P.TileLoadValidator,tokenTypeValidator:new F.EnumValidator([0,1]),topNFilterTypeValidator:new F.EnumValidator([5]),topNFilterValidator:new c.TopNFilterValidator,updateFiltersRequestValidator:new S.AnyOfValidator([new c.UpdateFiltersRequestValidator,new c.RemoveFiltersRequestValidator]),viewModeValidator:new F.EnumValidator([0,1]),visualCommandSelectorValidator:new S.AnyOfValidator([new g.VisualSelectorValidator,new g.VisualTypeSelectorValidator]),visualHeaderSelectorValidator:new S.AnyOfValidator([new g.VisualSelectorValidator,new g.VisualTypeSelectorValidator]),visualHeaderSettingsValidator:new _.VisualHeaderSettingsValidator,visualHeaderValidator:new _.VisualHeaderValidator,visualHeadersValidator:new F.ArrayValidator([new _.VisualHeaderValidator]),visualizationsPaneValidator:new h.VisualizationsPaneValidator,visualLayoutValidator:new p.VisualLayoutValidator,visualSelectorValidator:new g.VisualSelectorValidator,visualSettingsValidator:new _.VisualSettingsValidator,visualTypeSelectorValidator:new g.VisualTypeSelectorValidator}},function(t,e,r){var a,i=this&&this.__extends||(a=function(t,e){return(a=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])})(t,e)},function(t,e){function r(){this.constructor=t}a(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.ActionBarValidator=e.ReportBarsValidator=void 0;var o=r(3),n=r(4),l=r(1),s=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i(e,t),e.prototype.validate=function(e,r,a){if(null==e)return null;var i=t.prototype.validate.call(this,e,r,a);if(i)return i;var n=[{field:"actionBar",validators:[l.Validators.actionBarValidator]}];return new o.MultipleFieldsValidator(n).validate(e,r,a)},e}(n.ObjectValidator);e.ReportBarsValidator=s;var d=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i(e,t),e.prototype.validate=function(e,r,a){if(null==e)return null;var i=t.prototype.validate.call(this,e,r,a);if(i)return i;var n=[{field:"visible",validators:[l.Validators.booleanValidator]}];return new o.MultipleFieldsValidator(n).validate(e,r,a)},e}(n.ObjectValidator);e.ActionBarValidator=d},function(t,e){Object.defineProperty(e,"__esModule",{value:!0}),e.MultipleFieldsValidator=void 0;var r=function(){function t(t){this.fieldValidatorsPairs=t}return t.prototype.validate=function(t,e,r){if(!this.fieldValidatorsPairs)return null;for(var a=e?e+"."+r:r,i=0,o=this.fieldValidatorsPairs;i0&&i[i.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0?"&":"?";return t+=a+e+"="+r},e.isSavedInternal=function(t,e,i){return r(this,void 0,void 0,(function(){return a(this,(function(r){switch(r.label){case 0:return r.trys.push([0,2,,3]),[4,t.get("/report/hasUnsavedChanges",{uid:e},i)];case 1:return[2,!r.sent().body];case 2:throw r.sent().body;case 3:return[2]}}))}))},e.isRDLEmbed=function(t){return t.toLowerCase().indexOf("/rdlembed?")>=0},e.autoAuthInEmbedUrl=function(t){return t&&decodeURIComponent(t).toLowerCase().indexOf("autoauth=true")>=0},e.getRandomValue=o,e.getTimeDiffInMilliseconds=function(t,e){return Math.abs(t.getTime()-e.getTime())}},function(t,e){Object.defineProperty(e,"__esModule",{value:!0}),e.EmbedUrlNotSupported=e.APINotSupportedForRDLError=void 0,e.APINotSupportedForRDLError="This API is currently not supported for RDL reports",e.EmbedUrlNotSupported="Embed URL is invalid for this scenario. Please use Power BI REST APIs to get the valid URL"},function(t,e,r){var a,i=this&&this.__extends||(a=function(t,e){return(a=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])})(t,e)},function(t,e){function r(){this.constructor=t}a(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}),o=this&&this.__awaiter||function(t,e,r,a){return new(r||(r=Promise))((function(i,o){function n(t){try{s(a.next(t))}catch(t){o(t)}}function l(t){try{s(a.throw(t))}catch(t){o(t)}}function s(t){var e;t.done?i(t.value):(e=t.value,e instanceof r?e:new r((function(t){t(e)}))).then(n,l)}s((a=a.apply(t,e||[])).next())}))},n=this&&this.__generator||function(t,e){var r,a,i,o,n={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:l(0),throw:l(1),return:l(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function l(o){return function(l){return function(o){if(r)throw new TypeError("Generator is already executing.");for(;n;)try{if(r=1,a&&(i=2&o[0]?a.return:o[0]?a.throw||((i=a.return)&&i.call(a),0):a.next)&&!(i=i.call(a,o[1])).done)return i;switch(a=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return n.label++,{value:o[1],done:!1};case 5:n.label++,a=o[1],o=[0];continue;case 7:o=n.ops.pop(),n.trys.pop();continue;default:if(!(i=n.trys,(i=i.length>0&&i[i.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1] { - if (argv.chrome) { + .on('browser_register', (browser) => { + if (argv.chrome) { browser.socket.on('disconnect', function (reason) { if (reason === "transport close" || reason === "transport error") { - done(0); - process.exit(0); + done(0); + process.exit(0); } - }); - } - }) - .start(); + }); + } + }) + .start(); if (argv.chrome) { return watch(["src/**/*.ts", "test/**/*.ts"], function () { - runSequence('compile:spec'); + runSequence('compile:spec'); }); } -}); \ No newline at end of file +}); diff --git a/src/bookmarksManager.ts b/src/bookmarksManager.ts index 7d5a8a12..5d21c742 100644 --- a/src/bookmarksManager.ts +++ b/src/bookmarksManager.ts @@ -1,3 +1,6 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. + import { BookmarksPlayMode, IApplyBookmarkByNameRequest, diff --git a/src/config.ts b/src/config.ts index 1d6136dc..e4e74b96 100644 --- a/src/config.ts +++ b/src/config.ts @@ -1,3 +1,6 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. + /** @ignore *//** */ const config = { version: '2.17.2', diff --git a/src/create.ts b/src/create.ts index 77947399..3c86499b 100644 --- a/src/create.ts +++ b/src/create.ts @@ -1,3 +1,6 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. + import { IReportCreateConfiguration, IError, validateCreateReport } from 'powerbi-models'; import { Service } from './service'; import { Embed, IEmbedConfigurationBase, IEmbedConfiguration } from './embed'; diff --git a/src/dashboard.ts b/src/dashboard.ts index 0ad2b5bf..b0b5816a 100644 --- a/src/dashboard.ts +++ b/src/dashboard.ts @@ -1,3 +1,6 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. + import { IError, validateDashboardLoad, PageView } from 'powerbi-models'; import { Service, IService } from './service'; import { Embed, IDashboardEmbedConfiguration, IEmbedConfigurationBase } from './embed'; diff --git a/src/embed.ts b/src/embed.ts index b2a47f0b..ad8805b2 100644 --- a/src/embed.ts +++ b/src/embed.ts @@ -1,3 +1,6 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. + import * as models from 'powerbi-models'; import { addParamToUrl, assign, autoAuthInEmbedUrl, createRandomString, getTimeDiffInMilliseconds, remove } from './util'; import { Service, IEventHandler, IEvent, ICustomEvent } from './service'; diff --git a/src/errors.ts b/src/errors.ts index c7bf714c..f870e6ae 100644 --- a/src/errors.ts +++ b/src/errors.ts @@ -1,3 +1,5 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. export const APINotSupportedForRDLError = "This API is currently not supported for RDL reports"; export const EmbedUrlNotSupported = "Embed URL is invalid for this scenario. Please use Power BI REST APIs to get the valid URL"; diff --git a/src/factories.ts b/src/factories.ts index 92b5a1b7..cac26227 100644 --- a/src/factories.ts +++ b/src/factories.ts @@ -1,3 +1,6 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. + /** * TODO: Need to find better place for these factory functions or refactor how we handle dependency injection */ diff --git a/src/ifilterable.ts b/src/ifilterable.ts index 420b4d37..c58296e9 100644 --- a/src/ifilterable.ts +++ b/src/ifilterable.ts @@ -1,3 +1,6 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. + import { FiltersOperations, IFilter } from 'powerbi-models'; import { IHttpPostMessageResponse } from 'http-post-message'; diff --git a/src/page.ts b/src/page.ts index f126db6f..8eaf7ada 100644 --- a/src/page.ts +++ b/src/page.ts @@ -1,3 +1,6 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. + import { IHttpPostMessageResponse } from 'http-post-message'; import { DisplayOption, diff --git a/src/powerbi-client.ts b/src/powerbi-client.ts index 62eff7df..a2c1e662 100644 --- a/src/powerbi-client.ts +++ b/src/powerbi-client.ts @@ -1,3 +1,6 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. + /** * @hidden */ diff --git a/src/qna.ts b/src/qna.ts index 4d11f533..af53d9c8 100644 --- a/src/qna.ts +++ b/src/qna.ts @@ -1,3 +1,6 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. + import { IHttpPostMessageResponse } from 'http-post-message'; import { IError, IQnaInterpretInputData, validateLoadQnaConfiguration } from 'powerbi-models'; import { Embed, IEmbedConfigurationBase } from './embed'; diff --git a/src/report.ts b/src/report.ts index a390ec87..25b526ab 100644 --- a/src/report.ts +++ b/src/report.ts @@ -1,3 +1,6 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. + import { IReportLoadConfiguration, IReportEmbedConfiguration, diff --git a/src/service.ts b/src/service.ts index dd218c85..234c4fdf 100644 --- a/src/service.ts +++ b/src/service.ts @@ -1,3 +1,6 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. + /* eslint-disable @typescript-eslint/prefer-function-type */ /* eslint-disable @typescript-eslint/no-unused-vars */ /* eslint-disable @typescript-eslint/no-unsafe-assignment */ diff --git a/src/tile.ts b/src/tile.ts index 3bdc2802..96ef4f03 100644 --- a/src/tile.ts +++ b/src/tile.ts @@ -1,3 +1,6 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. + import { IError, validateTileLoad } from 'powerbi-models'; import { Service } from './service'; import { Embed, IEmbedConfigurationBase, ITileEmbedConfiguration } from './embed'; diff --git a/src/util.ts b/src/util.ts index a4361eef..e072490c 100644 --- a/src/util.ts +++ b/src/util.ts @@ -1,3 +1,6 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. + import { HttpPostMessage } from 'http-post-message'; /** diff --git a/src/visual.ts b/src/visual.ts index fee1b254..792a7823 100644 --- a/src/visual.ts +++ b/src/visual.ts @@ -1,3 +1,6 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. + import { DisplayOption, FiltersLevel, diff --git a/src/visualDescriptor.ts b/src/visualDescriptor.ts index 1d846837..ed1315e3 100644 --- a/src/visualDescriptor.ts +++ b/src/visualDescriptor.ts @@ -1,3 +1,6 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. + import { ExportDataType, FiltersOperations, diff --git a/test/test.spec.ts b/test/test.spec.ts index 8c18544f..cfe285d5 100644 --- a/test/test.spec.ts +++ b/test/test.spec.ts @@ -1,3 +1,6 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. + import * as utils from '../src/util'; import * as service from '../src/service'; import * as embed from '../src/embed'; diff --git a/test/utility/mockApp.ts b/test/utility/mockApp.ts index 0c97e836..823982ba 100644 --- a/test/utility/mockApp.ts +++ b/test/utility/mockApp.ts @@ -1,3 +1,6 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. + import * as models from 'powerbi-models'; export interface IApp { diff --git a/test/utility/mockEmbed.ts b/test/utility/mockEmbed.ts index 3a5d7c7c..0cbf3b46 100644 --- a/test/utility/mockEmbed.ts +++ b/test/utility/mockEmbed.ts @@ -1,3 +1,6 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. + import * as Wpmp from 'window-post-message-proxy'; import * as Hpm from 'http-post-message'; import * as Router from 'powerbi-router'; diff --git a/test/utility/mockHpm.ts b/test/utility/mockHpm.ts index 2a7b7688..3287af81 100644 --- a/test/utility/mockHpm.ts +++ b/test/utility/mockHpm.ts @@ -1,3 +1,6 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. + export const spyHpm = { get: jasmine.createSpy("get").and.returnValue(Promise.resolve(null)), post: jasmine.createSpy("post").and.returnValue(Promise.resolve(null)), diff --git a/test/utility/mockRouter.ts b/test/utility/mockRouter.ts index 216cd977..2223bf40 100644 --- a/test/utility/mockRouter.ts +++ b/test/utility/mockRouter.ts @@ -1,3 +1,6 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. + export const spyRouter = { get: jasmine.createSpy("get"), post: jasmine.createSpy("post"), diff --git a/test/utility/mockWpmp.ts b/test/utility/mockWpmp.ts index 3b2cf8f9..2603ac55 100644 --- a/test/utility/mockWpmp.ts +++ b/test/utility/mockWpmp.ts @@ -1,3 +1,6 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. + export const spyWpmp = { handlers: [], From 1d5811d012ccab81053fa222c009dfbef6027dd5 Mon Sep 17 00:00:00 2001 From: Amit Shuster <33126908+amit-shuster@users.noreply.github.com> Date: Wed, 10 Mar 2021 16:10:40 +0200 Subject: [PATCH 060/125] Update README.md --- README.md | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/README.md b/README.md index 54b20c16..4460a688 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,5 @@ # powerbi-client -JavaScript library for embedding Power BI into your apps. +A client side library for embedding Power BI using JavaScript or TypeScript 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) @@ -9,14 +9,14 @@ JavaScript library for embedding Power BI into your apps. [![GitHub tag](https://img.shields.io/github/tag/microsoft/powerbi-javascript.svg)](https://github.com/Microsoft/PowerBI-JavaScript/tags) [![Gitter](https://img.shields.io/gitter/room/Microsoft/PowerBI-JavaScript.svg)](https://gitter.im/Microsoft/PowerBI-JavaScript) -## Wiki -See the [wiki](https://github.com/Microsoft/PowerBI-JavaScript/wiki) for more details about embedding, service configuration, setting a default page, page navigation, dynamically applying filters, and more. +## Documentation +See the [Power BI embedded analytics Client APIs documentation](https://docs.microsoft.com/javascript/api/overview/powerbi/) to learn how to embed a Power BI report in your application and how to use the client APIs. -## Code Docs -See the [code docs](https://microsoft.github.io/PowerBI-JavaScript) for detailed information about classes, interfaces, types, etc. +## Reference +See the [library reference](https://docs.microsoft.com/en-us/javascript/api/powerbi/powerbi-client/) for detailed information about classes, interfaces, types, etc. -## Demo -New [live demo](https://microsoft.github.io/PowerBI-JavaScript/demo) for a sample application using the `powerbi-client` library in scenarios such as page navigation, applying filters, updating settings, and more. +## Playground +The [playground](https://aka.ms/pbieplayground) is the home for Power BI embedded analytics, where you can get hands-on coding experience, embed your own reports, and interact with our client APIs to see instant results. In addition, you’ll find there our interactive showcases to get inspiration regarding how you can apply these features in your applications. Lastly, we’ve created a new learning center to help you find all the relevant samples, tutorials, and documentation you’ll need for a successful integration. ## Installation @@ -55,4 +55,4 @@ This project welcomes contributions and suggestions. Most contributions require When you submit a pull request, a CLA bot will automatically determine whether you need to provide a CLA and decorate the PR appropriately (e.g., status check, comment). Simply follow the instructions provided by the bot. You will only need to do this once across all repos using our CLA. -This project has adopted the [Microsoft Open Source Code of Conduct](https://opensource.microsoft.com/codeofconduct/). For more information see the [Code of Conduct FAQ](https://opensource.microsoft.com/codeofconduct/faq/) or contact [opencode@microsoft.com](mailto:opencode@microsoft.com) with any additional questions or comments \ No newline at end of file +This project has adopted the [Microsoft Open Source Code of Conduct](https://opensource.microsoft.com/codeofconduct/). For more information see the [Code of Conduct FAQ](https://opensource.microsoft.com/codeofconduct/faq/) or contact [opencode@microsoft.com](mailto:opencode@microsoft.com) with any additional questions or comments From d51167b63e40f65eb38354590355fbf872a62749 Mon Sep 17 00:00:00 2001 From: Shahak Yosef Date: Wed, 10 Mar 2021 15:34:04 +0000 Subject: [PATCH 061/125] Merged PR 147040: [RDL Embed] Parameter panel settings Fix parameter panel settings. By default it is enabled and expanded. Dist and package.json will be updated after models release. Models PR: !147041 FE PR: !147039 ```typescript var config = { type: 'report', tokenType: tokenType == '0' ? models.TokenType.Aad : models.TokenType.Embed, accessToken: txtAccessToken, embedUrl: txtEmbedUrl, id: txtEmbedReportId, permissions: permissions, settings:{ commands:{ parameterPanel:{ enabled: true, expanded: false }}} }; ``` --- dist/powerbi-client.d.ts | 2 +- dist/powerbi.js | 516 +++++++++++++++++++++++++++++++++++---- dist/powerbi.min.js | 8 +- package.json | 4 +- src/config.ts | 2 +- src/report.ts | 4 + 6 files changed, 481 insertions(+), 55 deletions(-) diff --git a/dist/powerbi-client.d.ts b/dist/powerbi-client.d.ts index 761b964a..ddf016f9 100644 --- a/dist/powerbi-client.d.ts +++ b/dist/powerbi-client.d.ts @@ -1,4 +1,4 @@ -// powerbi-client v2.17.2 +// powerbi-client v2.18.0 // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. declare module "util" { diff --git a/dist/powerbi.js b/dist/powerbi.js index 0d1232c4..87fcc327 100644 --- a/dist/powerbi.js +++ b/dist/powerbi.js @@ -1,4 +1,4 @@ -// powerbi-client v2.17.2 +// powerbi-client v2.18.0 // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. (function webpackUniversalModuleDefinition(root, factory) { @@ -290,7 +290,9 @@ return /******/ (function(modules) { // webpackBootstrap /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { -/*! powerbi-models v1.8.0 | (c) 2016 Microsoft Corporation MIT */ +// powerbi-models v1.9.0 +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. (function webpackUniversalModuleDefinition(root, factory) { if(true) module.exports = factory(); @@ -386,6 +388,8 @@ return /******/ (function(modules) { // webpackBootstrap /* 0 */ /***/ (function(module, exports, __webpack_require__) { +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. var __extends = (this && this.__extends) || (function () { var extendStatics = function (d, b) { extendStatics = Object.setPrototypeOf || @@ -400,7 +404,7 @@ var __extends = (this && this.__extends) || (function () { }; })(); Object.defineProperty(exports, "__esModule", { value: true }); -exports.validateCustomTheme = exports.validateCommandsSettings = exports.validateVisualSettings = exports.validateVisualHeader = exports.validateExportDataRequest = exports.validateQnaInterpretInputData = exports.validateLoadQnaConfiguration = exports.validateSaveAsParameters = exports.validateUpdateFiltersRequest = exports.validateFilter = exports.validatePage = exports.validateTileLoad = exports.validateDashboardLoad = exports.validateCreateReport = exports.validateReportLoad = exports.validateMenuGroupExtension = exports.validateExtension = exports.validateCustomPageSize = exports.validateVisualizationsPane = exports.validateSyncSlicersPane = exports.validateSelectionPane = exports.validatePageNavigationPane = exports.validateFieldsPane = exports.validateFiltersPane = exports.validateBookmarksPane = exports.validatePanes = exports.validateSettings = exports.validateCaptureBookmarkRequest = exports.validateApplyBookmarkStateRequest = exports.validateApplyBookmarkByNameRequest = exports.validateAddBookmarkRequest = exports.validatePlayBookmarkRequest = exports.validateSlicerState = exports.validateSlicer = exports.validateVisualSelector = exports.isIExtensionArray = exports.isIExtensions = exports.isGroupedMenuExtension = exports.isFlatMenuExtension = exports.VisualDataRoleKindPreference = exports.VisualDataRoleKind = exports.CommandDisplayOption = exports.SlicerTargetSelector = exports.VisualTypeSelector = exports.VisualSelector = exports.PageSelector = exports.Selector = exports.SortDirection = exports.LegendPosition = exports.TextAlignment = exports.CommonErrorCodes = exports.BookmarksPlayMode = exports.ExportDataType = exports.QnaMode = exports.PageNavigationPosition = exports.isColumnAggr = exports.isHierarchyLevelAggr = exports.isHierarchyLevel = exports.isColumn = exports.isMeasure = exports.getFilterType = exports.isBasicFilterWithKeys = exports.isFilterKeyColumnsTarget = exports.AdvancedFilter = exports.TupleFilter = exports.BasicFilterWithKeys = exports.BasicFilter = exports.RelativeTimeFilter = exports.RelativeDateFilter = exports.TopNFilter = exports.IncludeExcludeFilter = exports.NotSupportedFilter = exports.Filter = exports.RelativeDateOperators = exports.RelativeDateFilterTimeUnit = exports.FilterType = exports.FiltersLevel = exports.FiltersOperations = exports.MenuLocation = exports.ContrastMode = exports.TokenType = exports.ViewMode = exports.Permissions = exports.SectionVisibility = exports.HyperlinkClickBehavior = exports.LayoutType = exports.VisualContainerDisplayMode = exports.BackgroundType = exports.DisplayOption = exports.PageSizeType = exports.TraceType = void 0; +exports.validateCustomTheme = exports.validateCommandsSettings = exports.validateVisualSettings = exports.validateVisualHeader = exports.validateExportDataRequest = exports.validateQnaInterpretInputData = exports.validateLoadQnaConfiguration = exports.validateSaveAsParameters = exports.validateUpdateFiltersRequest = exports.validateFilter = exports.validatePage = exports.validateTileLoad = exports.validateDashboardLoad = exports.validateCreateReport = exports.validatePaginatedReportLoad = exports.validateReportLoad = exports.validateMenuGroupExtension = exports.validateExtension = exports.validateCustomPageSize = exports.validateVisualizationsPane = exports.validateSyncSlicersPane = exports.validateSelectionPane = exports.validatePageNavigationPane = exports.validateFieldsPane = exports.validateFiltersPane = exports.validateBookmarksPane = exports.validatePanes = exports.validateSettings = exports.validateCaptureBookmarkRequest = exports.validateApplyBookmarkStateRequest = exports.validateApplyBookmarkByNameRequest = exports.validateAddBookmarkRequest = exports.validatePlayBookmarkRequest = exports.validateSlicerState = exports.validateSlicer = exports.validateVisualSelector = exports.isIExtensionArray = exports.isIExtensions = exports.isGroupedMenuExtension = exports.isFlatMenuExtension = exports.isReportFiltersArray = exports.isOnLoadFilters = exports.VisualDataRoleKindPreference = exports.VisualDataRoleKind = exports.CommandDisplayOption = exports.SlicerTargetSelector = exports.VisualTypeSelector = exports.VisualSelector = exports.PageSelector = exports.Selector = exports.SortDirection = exports.LegendPosition = exports.TextAlignment = exports.CommonErrorCodes = exports.BookmarksPlayMode = exports.ExportDataType = exports.QnaMode = exports.PageNavigationPosition = exports.isColumnAggr = exports.isHierarchyLevelAggr = exports.isHierarchyLevel = exports.isColumn = exports.isMeasure = exports.getFilterType = exports.isBasicFilterWithKeys = exports.isFilterKeyColumnsTarget = exports.AdvancedFilter = exports.TupleFilter = exports.BasicFilterWithKeys = exports.BasicFilter = exports.RelativeTimeFilter = exports.RelativeDateFilter = exports.TopNFilter = exports.IncludeExcludeFilter = exports.NotSupportedFilter = exports.Filter = exports.RelativeDateOperators = exports.RelativeDateFilterTimeUnit = exports.FilterType = exports.FiltersLevel = exports.FiltersOperations = exports.MenuLocation = exports.ContrastMode = exports.TokenType = exports.ViewMode = exports.Permissions = exports.SectionVisibility = exports.HyperlinkClickBehavior = exports.LayoutType = exports.VisualContainerDisplayMode = exports.BackgroundType = exports.DisplayOption = exports.PageSizeType = exports.TraceType = void 0; var validator_1 = __webpack_require__(1); var TraceType; (function (TraceType) { @@ -985,6 +989,14 @@ var VisualDataRoleKindPreference; VisualDataRoleKindPreference[VisualDataRoleKindPreference["Measure"] = 0] = "Measure"; VisualDataRoleKindPreference[VisualDataRoleKindPreference["Grouping"] = 1] = "Grouping"; })(VisualDataRoleKindPreference = exports.VisualDataRoleKindPreference || (exports.VisualDataRoleKindPreference = {})); +function isOnLoadFilters(filters) { + return filters && !isReportFiltersArray(filters); +} +exports.isOnLoadFilters = isOnLoadFilters; +function isReportFiltersArray(filters) { + return Array.isArray(filters); +} +exports.isReportFiltersArray = isReportFiltersArray; function isFlatMenuExtension(menuExtension) { return menuExtension && !isGroupedMenuExtension(menuExtension); } @@ -1115,6 +1127,11 @@ function validateReportLoad(input) { return errors ? errors.map(normalizeError) : undefined; } exports.validateReportLoad = validateReportLoad; +function validatePaginatedReportLoad(input) { + var errors = validator_1.Validators.paginatedReportLoadValidator.validate(input); + return errors ? errors.map(normalizeError) : undefined; +} +exports.validatePaginatedReportLoad = validatePaginatedReportLoad; function validateCreateReport(input) { var errors = validator_1.Validators.reportCreateValidator.validate(input); return errors ? errors.map(normalizeError) : undefined; @@ -1191,6 +1208,8 @@ exports.validateCustomTheme = validateCustomTheme; /* 1 */ /***/ (function(module, exports, __webpack_require__) { +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. Object.defineProperty(exports, "__esModule", { value: true }); exports.Validators = void 0; var barsValidator_1 = __webpack_require__(2); @@ -1208,17 +1227,19 @@ var panesValidator_1 = __webpack_require__(15); var qnaValidator_1 = __webpack_require__(16); var reportCreateValidator_1 = __webpack_require__(17); var reportLoadValidator_1 = __webpack_require__(18); -var saveAsParametersValidator_1 = __webpack_require__(19); -var selectorsValidator_1 = __webpack_require__(20); -var settingsValidator_1 = __webpack_require__(21); -var slicersValidator_1 = __webpack_require__(22); -var tileLoadValidator_1 = __webpack_require__(23); -var visualSettingsValidator_1 = __webpack_require__(24); -var anyOfValidator_1 = __webpack_require__(25); -var fieldForbiddenValidator_1 = __webpack_require__(26); -var fieldRequiredValidator_1 = __webpack_require__(27); -var mapValidator_1 = __webpack_require__(28); +var paginatedReportLoadValidator_1 = __webpack_require__(19); +var saveAsParametersValidator_1 = __webpack_require__(20); +var selectorsValidator_1 = __webpack_require__(21); +var settingsValidator_1 = __webpack_require__(22); +var slicersValidator_1 = __webpack_require__(23); +var tileLoadValidator_1 = __webpack_require__(24); +var visualSettingsValidator_1 = __webpack_require__(25); +var anyOfValidator_1 = __webpack_require__(26); +var fieldForbiddenValidator_1 = __webpack_require__(27); +var fieldRequiredValidator_1 = __webpack_require__(28); +var mapValidator_1 = __webpack_require__(29); var typeValidator_1 = __webpack_require__(4); +var parameterPanelValidator_1 = __webpack_require__(30); exports.Validators = { addBookmarkRequestValidator: new bookmarkValidator_1.AddBookmarkRequestValidator(), advancedFilterTypeValidator: new typeValidator_1.EnumValidator([0]), @@ -1287,6 +1308,7 @@ exports.Validators = { notSupportedFilterValidator: new filtersValidator_1.NotSupportedFilterValidator(), numberArrayValidator: new typeValidator_1.NumberArrayValidator(), numberValidator: new typeValidator_1.NumberValidator(), + onLoadFiltersBaseValidator: new anyOfValidator_1.AnyOfValidator([new filtersValidator_1.OnLoadFiltersBaseValidator(), new filtersValidator_1.OnLoadFiltersBaseRemoveOperationValidator()]), pageLayoutValidator: new mapValidator_1.MapValidator([new typeValidator_1.StringValidator()], [new layoutValidator_1.VisualLayoutValidator()]), pageNavigationPaneValidator: new panesValidator_1.PageNavigationPaneValidator(), pageNavigationPositionValidator: new typeValidator_1.EnumValidator([0, 1]), @@ -1295,21 +1317,29 @@ exports.Validators = { pageValidator: new pageValidator_1.PageValidator(), pageViewFieldValidator: new pageValidator_1.PageViewFieldValidator(), pagesLayoutValidator: new mapValidator_1.MapValidator([new typeValidator_1.StringValidator()], [new layoutValidator_1.PageLayoutValidator()]), - reportBarsValidator: new barsValidator_1.ReportBarsValidator(), - reportPanesValidator: new panesValidator_1.ReportPanesValidator(), + paginatedReportCommandsValidator: new commandsSettingsValidator_1.PaginatedReportCommandsValidator(), + paginatedReportLoadValidator: new paginatedReportLoadValidator_1.PaginatedReportLoadValidator(), + paginatedReportsettingsValidator: new settingsValidator_1.PaginatedReportSettingsValidator(), + parametersPanelValidator: new parameterPanelValidator_1.ParametersPanelValidator(), permissionsValidator: new typeValidator_1.EnumValidator([0, 1, 2, 4, 7]), playBookmarkRequestValidator: new bookmarkValidator_1.PlayBookmarkRequestValidator(), qnaInterpretInputDataValidator: new qnaValidator_1.QnaInterpretInputDataValidator(), + qnaPanesValidator: new panesValidator_1.QnaPanesValidator(), 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(), + relativeDateTimeFilterTypeValidator: new typeValidator_1.EnumValidator([4, 7]), + relativeDateTimeFilterUnitTypeValidator: new typeValidator_1.EnumValidator([0, 1, 2, 3, 4, 5, 6, 7, 8]), relativeTimeFilterTimeUnitTypeValidator: new typeValidator_1.EnumValidator([7, 8]), relativeTimeFilterTypeValidator: new typeValidator_1.EnumValidator([7]), relativeTimeFilterValidator: new filtersValidator_1.RelativeTimeFilterValidator(), + reportBarsValidator: new barsValidator_1.ReportBarsValidator(), reportCreateValidator: new reportCreateValidator_1.ReportCreateValidator(), + reportLoadFiltersValidator: new anyOfValidator_1.AnyOfValidator([new typeValidator_1.ArrayValidator([new filtersValidator_1.FilterValidator()]), new filtersValidator_1.OnLoadFiltersValidator()]), reportLoadValidator: new reportLoadValidator_1.ReportLoadValidator(), + reportPanesValidator: new panesValidator_1.ReportPanesValidator(), saveAsParametersValidator: new saveAsParametersValidator_1.SaveAsParametersValidator(), selectionPaneValidator: new panesValidator_1.SelectionPaneValidator(), settingsValidator: new settingsValidator_1.SettingsValidator(), @@ -1344,6 +1374,8 @@ exports.Validators = { /* 2 */ /***/ (function(module, exports, __webpack_require__) { +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. var __extends = (this && this.__extends) || (function () { var extendStatics = function (d, b) { extendStatics = Object.setPrototypeOf || @@ -1418,6 +1450,8 @@ exports.ActionBarValidator = ActionBarValidator; /* 3 */ /***/ (function(module, exports) { +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. Object.defineProperty(exports, "__esModule", { value: true }); exports.MultipleFieldsValidator = void 0; var MultipleFieldsValidator = /** @class */ (function () { @@ -1450,6 +1484,8 @@ exports.MultipleFieldsValidator = MultipleFieldsValidator; /* 4 */ /***/ (function(module, exports) { +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. var __extends = (this && this.__extends) || (function () { var extendStatics = function (d, b) { extendStatics = Object.setPrototypeOf || @@ -1679,6 +1715,8 @@ exports.NumberArrayValidator = NumberArrayValidator; /* 5 */ /***/ (function(module, exports, __webpack_require__) { +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. var __extends = (this && this.__extends) || (function () { var extendStatics = function (d, b) { extendStatics = Object.setPrototypeOf || @@ -1822,6 +1860,10 @@ var CaptureBookmarkOptionsValidator = /** @class */ (function (_super) { { field: "personalizeVisuals", validators: [validator_1.Validators.booleanValidator] + }, + { + field: "allPages", + validators: [validator_1.Validators.booleanValidator] } ]; var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields); @@ -1861,6 +1903,8 @@ exports.CaptureBookmarkRequestValidator = CaptureBookmarkRequestValidator; /* 6 */ /***/ (function(module, exports, __webpack_require__) { +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. var __extends = (this && this.__extends) || (function () { var extendStatics = function (d, b) { extendStatics = Object.setPrototypeOf || @@ -1875,7 +1919,7 @@ var __extends = (this && this.__extends) || (function () { }; })(); Object.defineProperty(exports, "__esModule", { value: true }); -exports.SingleCommandSettingsValidator = exports.CommandsSettingsValidator = void 0; +exports.PaginatedReportCommandsValidator = exports.SingleCommandSettingsValidator = exports.CommandsSettingsValidator = void 0; var multipleFieldsValidator_1 = __webpack_require__(3); var typeValidator_1 = __webpack_require__(4); var validator_1 = __webpack_require__(1); @@ -1973,12 +2017,39 @@ var SingleCommandSettingsValidator = /** @class */ (function (_super) { return SingleCommandSettingsValidator; }(typeValidator_1.ObjectValidator)); exports.SingleCommandSettingsValidator = SingleCommandSettingsValidator; +var PaginatedReportCommandsValidator = /** @class */ (function (_super) { + __extends(PaginatedReportCommandsValidator, _super); + function PaginatedReportCommandsValidator() { + return _super !== null && _super.apply(this, arguments) || this; + } + PaginatedReportCommandsValidator.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: "parameterPanel", + validators: [validator_1.Validators.parametersPanelValidator] + } + ]; + var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields); + return multipleFieldsValidator.validate(input, path, field); + }; + return PaginatedReportCommandsValidator; +}(typeValidator_1.ObjectValidator)); +exports.PaginatedReportCommandsValidator = PaginatedReportCommandsValidator; /***/ }), /* 7 */ /***/ (function(module, exports, __webpack_require__) { +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. var __extends = (this && this.__extends) || (function () { var extendStatics = function (d, b) { extendStatics = Object.setPrototypeOf || @@ -2027,6 +2098,8 @@ exports.CustomThemeValidator = CustomThemeValidator; /* 8 */ /***/ (function(module, exports, __webpack_require__) { +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. var __extends = (this && this.__extends) || (function () { var extendStatics = function (d, b) { extendStatics = Object.setPrototypeOf || @@ -2096,6 +2169,8 @@ exports.DashboardLoadValidator = DashboardLoadValidator; /* 9 */ /***/ (function(module, exports, __webpack_require__) { +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. var __extends = (this && this.__extends) || (function () { var extendStatics = function (d, b) { extendStatics = Object.setPrototypeOf || @@ -2145,6 +2220,8 @@ exports.DatasetBindingValidator = DatasetBindingValidator; /* 10 */ /***/ (function(module, exports, __webpack_require__) { +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. var __extends = (this && this.__extends) || (function () { var extendStatics = function (d, b) { extendStatics = Object.setPrototypeOf || @@ -2197,6 +2274,8 @@ exports.ExportDataRequestValidator = ExportDataRequestValidator; /* 11 */ /***/ (function(module, exports, __webpack_require__) { +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. var __extends = (this && this.__extends) || (function () { var extendStatics = function (d, b) { extendStatics = Object.setPrototypeOf || @@ -2486,6 +2565,8 @@ exports.ExtensionsValidator = ExtensionsValidator; /* 12 */ /***/ (function(module, exports, __webpack_require__) { +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. var __extends = (this && this.__extends) || (function () { var extendStatics = function (d, b) { extendStatics = Object.setPrototypeOf || @@ -2500,7 +2581,7 @@ var __extends = (this && this.__extends) || (function () { }; })(); Object.defineProperty(exports, "__esModule", { value: true }); -exports.ConditionItemValidator = exports.RemoveFiltersRequestValidator = exports.UpdateFiltersRequestValidator = exports.FilterValidator = exports.IncludeExcludeFilterValidator = exports.NotSupportedFilterValidator = exports.TopNFilterValidator = exports.RelativeTimeFilterValidator = exports.RelativeDateFilterValidator = exports.AdvancedFilterValidator = exports.BasicFilterValidator = exports.FilterValidatorBase = exports.FilterDisplaySettingsValidator = exports.FilterMeasureTargetValidator = exports.FilterKeyHierarchyTargetValidator = exports.FilterHierarchyTargetValidator = exports.FilterKeyColumnsTargetValidator = exports.FilterColumnTargetValidator = void 0; +exports.OnLoadFiltersValidator = exports.OnLoadFiltersBaseRemoveOperationValidator = exports.OnLoadFiltersBaseValidator = exports.ConditionItemValidator = exports.RemoveFiltersRequestValidator = exports.UpdateFiltersRequestValidator = exports.FilterValidator = exports.IncludeExcludeFilterValidator = exports.NotSupportedFilterValidator = exports.TopNFilterValidator = exports.RelativeTimeFilterValidator = exports.RelativeDateFilterValidator = exports.RelativeDateTimeFilterValidator = exports.AdvancedFilterValidator = exports.BasicFilterValidator = exports.FilterValidatorBase = exports.FilterDisplaySettingsValidator = exports.FilterMeasureTargetValidator = exports.FilterKeyHierarchyTargetValidator = exports.FilterHierarchyTargetValidator = exports.FilterKeyColumnsTargetValidator = exports.FilterColumnTargetValidator = void 0; var multipleFieldsValidator_1 = __webpack_require__(3); var typeValidator_1 = __webpack_require__(4); var validator_1 = __webpack_require__(1); @@ -2785,12 +2866,12 @@ var AdvancedFilterValidator = /** @class */ (function (_super) { return AdvancedFilterValidator; }(FilterValidatorBase)); exports.AdvancedFilterValidator = AdvancedFilterValidator; -var RelativeDateFilterValidator = /** @class */ (function (_super) { - __extends(RelativeDateFilterValidator, _super); - function RelativeDateFilterValidator() { +var RelativeDateTimeFilterValidator = /** @class */ (function (_super) { + __extends(RelativeDateTimeFilterValidator, _super); + function RelativeDateTimeFilterValidator() { return _super !== null && _super.apply(this, arguments) || this; } - RelativeDateFilterValidator.prototype.validate = function (input, path, field) { + RelativeDateTimeFilterValidator.prototype.validate = function (input, path, field) { if (input == null) { return null; } @@ -2805,16 +2886,45 @@ var RelativeDateFilterValidator = /** @class */ (function (_super) { }, { field: "timeUnitsCount", - validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.numberValidator] + validators: [validator_1.Validators.numberValidator] }, { field: "timeUnitType", - validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.relativeDateFilterTimeUnitTypeValidator] + validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.relativeDateTimeFilterUnitTypeValidator] }, + { + field: "filterType", + validators: [validator_1.Validators.relativeDateTimeFilterTypeValidator] + }, + ]; + var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields); + return multipleFieldsValidator.validate(input, path, field); + }; + return RelativeDateTimeFilterValidator; +}(FilterValidatorBase)); +exports.RelativeDateTimeFilterValidator = RelativeDateTimeFilterValidator; +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: "includeToday", validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.booleanValidator] }, + { + field: "timeUnitType", + validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.relativeDateFilterTimeUnitTypeValidator] + }, { field: "filterType", validators: [validator_1.Validators.relativeDateFilterTypeValidator] @@ -2824,7 +2934,7 @@ var RelativeDateFilterValidator = /** @class */ (function (_super) { return multipleFieldsValidator.validate(input, path, field); }; return RelativeDateFilterValidator; -}(FilterValidatorBase)); +}(RelativeDateTimeFilterValidator)); exports.RelativeDateFilterValidator = RelativeDateFilterValidator; var RelativeTimeFilterValidator = /** @class */ (function (_super) { __extends(RelativeTimeFilterValidator, _super); @@ -2840,14 +2950,6 @@ var RelativeTimeFilterValidator = /** @class */ (function (_super) { return errors; } var fields = [ - { - 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] @@ -2861,7 +2963,7 @@ var RelativeTimeFilterValidator = /** @class */ (function (_super) { return multipleFieldsValidator.validate(input, path, field); }; return RelativeTimeFilterValidator; -}(FilterValidatorBase)); +}(RelativeDateTimeFilterValidator)); exports.RelativeTimeFilterValidator = RelativeTimeFilterValidator; var TopNFilterValidator = /** @class */ (function (_super) { __extends(TopNFilterValidator, _super); @@ -2975,6 +3077,10 @@ var FilterValidator = /** @class */ (function (_super) { if (input == null) { return null; } + var errors = _super.prototype.validate.call(this, input, path, field); + if (errors) { + return errors; + } return validator_1.Validators.anyFilterValidator.validate(input, path, field); }; return FilterValidator; @@ -2989,6 +3095,10 @@ var UpdateFiltersRequestValidator = /** @class */ (function (_super) { if (input == null) { return null; } + var errors = _super.prototype.validate.call(this, input, path, field); + if (errors) { + return errors; + } var fields = [ { field: "filtersOperation", @@ -3014,6 +3124,10 @@ var RemoveFiltersRequestValidator = /** @class */ (function (_super) { if (input == null) { return null; } + var errors = _super.prototype.validate.call(this, input, path, field); + if (errors) { + return errors; + } var fields = [ { field: "filtersOperation", @@ -3059,12 +3173,101 @@ var ConditionItemValidator = /** @class */ (function (_super) { return ConditionItemValidator; }(typeValidator_1.ObjectValidator)); exports.ConditionItemValidator = ConditionItemValidator; +var OnLoadFiltersBaseValidator = /** @class */ (function (_super) { + __extends(OnLoadFiltersBaseValidator, _super); + function OnLoadFiltersBaseValidator() { + return _super !== null && _super.apply(this, arguments) || this; + } + OnLoadFiltersBaseValidator.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: "operation", + validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.filtersOperationsUpdateValidator] + }, + { + field: "filters", + validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.filtersArrayValidator] + } + ]; + var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields); + return multipleFieldsValidator.validate(input, path, field); + }; + return OnLoadFiltersBaseValidator; +}(typeValidator_1.ObjectValidator)); +exports.OnLoadFiltersBaseValidator = OnLoadFiltersBaseValidator; +var OnLoadFiltersBaseRemoveOperationValidator = /** @class */ (function (_super) { + __extends(OnLoadFiltersBaseRemoveOperationValidator, _super); + function OnLoadFiltersBaseRemoveOperationValidator() { + return _super !== null && _super.apply(this, arguments) || this; + } + OnLoadFiltersBaseRemoveOperationValidator.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: "operation", + validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.filtersOperationsRemoveAllValidator] + }, + { + field: "filters", + validators: [validator_1.Validators.fieldForbiddenValidator, validator_1.Validators.filtersArrayValidator] + } + ]; + var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields); + return multipleFieldsValidator.validate(input, path, field); + }; + return OnLoadFiltersBaseRemoveOperationValidator; +}(typeValidator_1.ObjectValidator)); +exports.OnLoadFiltersBaseRemoveOperationValidator = OnLoadFiltersBaseRemoveOperationValidator; +var OnLoadFiltersValidator = /** @class */ (function (_super) { + __extends(OnLoadFiltersValidator, _super); + function OnLoadFiltersValidator() { + return _super !== null && _super.apply(this, arguments) || this; + } + OnLoadFiltersValidator.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: "allPages", + validators: [validator_1.Validators.onLoadFiltersBaseValidator] + }, + { + field: "currentPage", + validators: [validator_1.Validators.onLoadFiltersBaseValidator] + } + ]; + var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields); + return multipleFieldsValidator.validate(input, path, field); + }; + return OnLoadFiltersValidator; +}(typeValidator_1.ObjectValidator)); +exports.OnLoadFiltersValidator = OnLoadFiltersValidator; /***/ }), /* 13 */ /***/ (function(module, exports, __webpack_require__) { +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. var __extends = (this && this.__extends) || (function () { var extendStatics = function (d, b) { extendStatics = Object.setPrototypeOf || @@ -3221,6 +3424,8 @@ exports.PageLayoutValidator = PageLayoutValidator; /* 14 */ /***/ (function(module, exports, __webpack_require__) { +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. var __extends = (this && this.__extends) || (function () { var extendStatics = function (d, b) { extendStatics = Object.setPrototypeOf || @@ -3348,6 +3553,8 @@ exports.PageViewFieldValidator = PageViewFieldValidator; /* 15 */ /***/ (function(module, exports, __webpack_require__) { +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. var __extends = (this && this.__extends) || (function () { var extendStatics = function (d, b) { extendStatics = Object.setPrototypeOf || @@ -3362,7 +3569,7 @@ var __extends = (this && this.__extends) || (function () { }; })(); Object.defineProperty(exports, "__esModule", { value: true }); -exports.VisualizationsPaneValidator = exports.SyncSlicersPaneValidator = exports.SelectionPaneValidator = exports.PageNavigationPaneValidator = exports.FiltersPaneValidator = exports.FieldsPaneValidator = exports.BookmarksPaneValidator = exports.ReportPanesValidator = void 0; +exports.VisualizationsPaneValidator = exports.SyncSlicersPaneValidator = exports.SelectionPaneValidator = exports.PageNavigationPaneValidator = exports.FiltersPaneValidator = exports.FieldsPaneValidator = exports.BookmarksPaneValidator = exports.QnaPanesValidator = exports.ReportPanesValidator = void 0; var multipleFieldsValidator_1 = __webpack_require__(3); var typeValidator_1 = __webpack_require__(4); var validator_1 = __webpack_require__(1); @@ -3415,6 +3622,31 @@ var ReportPanesValidator = /** @class */ (function (_super) { return ReportPanesValidator; }(typeValidator_1.ObjectValidator)); exports.ReportPanesValidator = ReportPanesValidator; +var QnaPanesValidator = /** @class */ (function (_super) { + __extends(QnaPanesValidator, _super); + function QnaPanesValidator() { + return _super !== null && _super.apply(this, arguments) || this; + } + QnaPanesValidator.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.filtersPaneValidator] + } + ]; + var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields); + return multipleFieldsValidator.validate(input, path, field); + }; + return QnaPanesValidator; +}(typeValidator_1.ObjectValidator)); +exports.QnaPanesValidator = QnaPanesValidator; var BookmarksPaneValidator = /** @class */ (function (_super) { __extends(BookmarksPaneValidator, _super); function BookmarksPaneValidator() { @@ -3604,6 +3836,8 @@ exports.VisualizationsPaneValidator = VisualizationsPaneValidator; /* 16 */ /***/ (function(module, exports, __webpack_require__) { +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. var __extends = (this && this.__extends) || (function () { var extendStatics = function (d, b) { extendStatics = Object.setPrototypeOf || @@ -3693,6 +3927,10 @@ var QnaSettingsValidator = /** @class */ (function (_super) { field: "hideErrors", validators: [validator_1.Validators.booleanValidator] }, + { + field: "panes", + validators: [validator_1.Validators.qnaPanesValidator] + } ]; var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields); return multipleFieldsValidator.validate(input, path, field); @@ -3735,6 +3973,8 @@ exports.QnaInterpretInputDataValidator = QnaInterpretInputDataValidator; /* 17 */ /***/ (function(module, exports, __webpack_require__) { +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. var __extends = (this && this.__extends) || (function () { var extendStatics = function (d, b) { extendStatics = Object.setPrototypeOf || @@ -3800,6 +4040,8 @@ exports.ReportCreateValidator = ReportCreateValidator; /* 18 */ /***/ (function(module, exports, __webpack_require__) { +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. var __extends = (this && this.__extends) || (function () { var extendStatics = function (d, b) { extendStatics = Object.setPrototypeOf || @@ -3854,7 +4096,7 @@ var ReportLoadValidator = /** @class */ (function (_super) { }, { field: "filters", - validators: [validator_1.Validators.filtersArrayValidator] + validators: [validator_1.Validators.reportLoadFiltersValidator] }, { field: "permissions", @@ -3901,6 +4143,75 @@ exports.ReportLoadValidator = ReportLoadValidator; /* 19 */ /***/ (function(module, exports, __webpack_require__) { +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. +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.PaginatedReportLoadValidator = void 0; +var multipleFieldsValidator_1 = __webpack_require__(3); +var typeValidator_1 = __webpack_require__(4); +var validator_1 = __webpack_require__(1); +var PaginatedReportLoadValidator = /** @class */ (function (_super) { + __extends(PaginatedReportLoadValidator, _super); + function PaginatedReportLoadValidator() { + return _super !== null && _super.apply(this, arguments) || this; + } + PaginatedReportLoadValidator.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.paginatedReportsettingsValidator] + }, + { + field: "tokenType", + validators: [validator_1.Validators.tokenTypeValidator] + } + ]; + var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields); + return multipleFieldsValidator.validate(input, path, field); + }; + return PaginatedReportLoadValidator; +}(typeValidator_1.ObjectValidator)); +exports.PaginatedReportLoadValidator = PaginatedReportLoadValidator; + + +/***/ }), +/* 20 */ +/***/ (function(module, exports, __webpack_require__) { + +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. var __extends = (this && this.__extends) || (function () { var extendStatics = function (d, b) { extendStatics = Object.setPrototypeOf || @@ -3947,9 +4258,11 @@ exports.SaveAsParametersValidator = SaveAsParametersValidator; /***/ }), -/* 20 */ +/* 21 */ /***/ (function(module, exports, __webpack_require__) { +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. var __extends = (this && this.__extends) || (function () { var extendStatics = function (d, b) { extendStatics = Object.setPrototypeOf || @@ -4060,9 +4373,11 @@ exports.SlicerTargetSelectorValidator = SlicerTargetSelectorValidator; /***/ }), -/* 21 */ +/* 22 */ /***/ (function(module, exports, __webpack_require__) { +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. var __extends = (this && this.__extends) || (function () { var extendStatics = function (d, b) { extendStatics = Object.setPrototypeOf || @@ -4077,7 +4392,7 @@ var __extends = (this && this.__extends) || (function () { }; })(); Object.defineProperty(exports, "__esModule", { value: true }); -exports.SettingsValidator = void 0; +exports.PaginatedReportSettingsValidator = exports.SettingsValidator = void 0; var multipleFieldsValidator_1 = __webpack_require__(3); var typeValidator_1 = __webpack_require__(4); var validator_1 = __webpack_require__(1); @@ -4174,12 +4489,39 @@ var SettingsValidator = /** @class */ (function (_super) { return SettingsValidator; }(typeValidator_1.ObjectValidator)); exports.SettingsValidator = SettingsValidator; +var PaginatedReportSettingsValidator = /** @class */ (function (_super) { + __extends(PaginatedReportSettingsValidator, _super); + function PaginatedReportSettingsValidator() { + return _super !== null && _super.apply(this, arguments) || this; + } + PaginatedReportSettingsValidator.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: "commands", + validators: [validator_1.Validators.paginatedReportCommandsValidator] + }, + ]; + var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields); + return multipleFieldsValidator.validate(input, path, field); + }; + return PaginatedReportSettingsValidator; +}(typeValidator_1.ObjectValidator)); +exports.PaginatedReportSettingsValidator = PaginatedReportSettingsValidator; /***/ }), -/* 22 */ +/* 23 */ /***/ (function(module, exports, __webpack_require__) { +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. var __extends = (this && this.__extends) || (function () { var extendStatics = function (d, b) { extendStatics = Object.setPrototypeOf || @@ -4255,9 +4597,11 @@ exports.SlicerStateValidator = SlicerStateValidator; /***/ }), -/* 23 */ +/* 24 */ /***/ (function(module, exports, __webpack_require__) { +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. var __extends = (this && this.__extends) || (function () { var extendStatics = function (d, b) { extendStatics = Object.setPrototypeOf || @@ -4332,9 +4676,11 @@ exports.TileLoadValidator = TileLoadValidator; /***/ }), -/* 24 */ +/* 25 */ /***/ (function(module, exports, __webpack_require__) { +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. var __extends = (this && this.__extends) || (function () { var extendStatics = function (d, b) { extendStatics = Object.setPrototypeOf || @@ -4435,9 +4781,11 @@ exports.VisualHeaderValidator = VisualHeaderValidator; /***/ }), -/* 25 */ +/* 26 */ /***/ (function(module, exports) { +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. Object.defineProperty(exports, "__esModule", { value: true }); exports.AnyOfValidator = void 0; var AnyOfValidator = /** @class */ (function () { @@ -4472,9 +4820,11 @@ exports.AnyOfValidator = AnyOfValidator; /***/ }), -/* 26 */ +/* 27 */ /***/ (function(module, exports) { +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. Object.defineProperty(exports, "__esModule", { value: true }); exports.FieldForbiddenValidator = void 0; var FieldForbiddenValidator = /** @class */ (function () { @@ -4496,9 +4846,11 @@ exports.FieldForbiddenValidator = FieldForbiddenValidator; /***/ }), -/* 27 */ +/* 28 */ /***/ (function(module, exports) { +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. Object.defineProperty(exports, "__esModule", { value: true }); exports.FieldRequiredValidator = void 0; var FieldRequiredValidator = /** @class */ (function () { @@ -4520,9 +4872,11 @@ exports.FieldRequiredValidator = FieldRequiredValidator; /***/ }), -/* 28 */ +/* 29 */ /***/ (function(module, exports, __webpack_require__) { +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. var __extends = (this && this.__extends) || (function () { var extendStatics = function (d, b) { extendStatics = Object.setPrototypeOf || @@ -4581,6 +4935,61 @@ var MapValidator = /** @class */ (function (_super) { exports.MapValidator = MapValidator; +/***/ }), +/* 30 */ +/***/ (function(module, exports, __webpack_require__) { + +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. +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.ParametersPanelValidator = void 0; +var multipleFieldsValidator_1 = __webpack_require__(3); +var typeValidator_1 = __webpack_require__(4); +var validator_1 = __webpack_require__(1); +var ParametersPanelValidator = /** @class */ (function (_super) { + __extends(ParametersPanelValidator, _super); + function ParametersPanelValidator() { + return _super !== null && _super.apply(this, arguments) || this; + } + ParametersPanelValidator.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] + }, + { + field: "enabled", + validators: [validator_1.Validators.booleanValidator] + } + ]; + var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields); + return multipleFieldsValidator.validate(input, path, field); + }; + return ParametersPanelValidator; +}(typeValidator_1.ObjectValidator)); +exports.ParametersPanelValidator = ParametersPanelValidator; + + /***/ }) /******/ ]); }); @@ -5979,7 +6388,7 @@ exports.BookmarksManager = BookmarksManager; Object.defineProperty(exports, "__esModule", { value: true }); /** @ignore */ /** */ var config = { - version: '2.17.2', + version: '2.18.0', type: 'js' }; exports.default = config; @@ -6004,6 +6413,8 @@ var __extends = (this && this.__extends) || (function () { return extendStatics(d, b); }; return function (d, b) { + if (typeof b !== "function" && b !== null) + throw new TypeError("Class extends value " + String(b) + " is not a constructor or null"); extendStatics(d, b); function __() { this.constructor = d; } d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); @@ -6173,6 +6584,8 @@ var __extends = (this && this.__extends) || (function () { return extendStatics(d, b); }; return function (d, b) { + if (typeof b !== "function" && b !== null) + throw new TypeError("Class extends value " + String(b) + " is not a constructor or null"); extendStatics(d, b); function __() { this.constructor = d; } d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); @@ -7480,6 +7893,8 @@ var __extends = (this && this.__extends) || (function () { return extendStatics(d, b); }; return function (d, b) { + if (typeof b !== "function" && b !== null) + throw new TypeError("Class extends value " + String(b) + " is not a constructor or null"); extendStatics(d, b); function __() { this.constructor = d; } d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); @@ -7629,6 +8044,8 @@ var __extends = (this && this.__extends) || (function () { return extendStatics(d, b); }; return function (d, b) { + if (typeof b !== "function" && b !== null) + throw new TypeError("Class extends value " + String(b) + " is not a constructor or null"); extendStatics(d, b); function __() { this.constructor = d; } d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); @@ -8170,6 +8587,9 @@ var Report = /** @class */ (function (_super) { * @hidden */ Report.prototype.validate = function (config) { + if (util_1.isRDLEmbed(this.config.embedUrl)) { + return powerbi_models_1.validatePaginatedReportLoad(config); + } return powerbi_models_1.validateReportLoad(config); }; /** @@ -8941,6 +9361,8 @@ var __extends = (this && this.__extends) || (function () { return extendStatics(d, b); }; return function (d, b) { + if (typeof b !== "function" && b !== null) + throw new TypeError("Class extends value " + String(b) + " is not a constructor or null"); extendStatics(d, b); function __() { this.constructor = d; } d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); @@ -9324,6 +9746,8 @@ var __extends = (this && this.__extends) || (function () { return extendStatics(d, b); }; return function (d, b) { + if (typeof b !== "function" && b !== null) + throw new TypeError("Class extends value " + String(b) + " is not a constructor or null"); extendStatics(d, b); function __() { this.constructor = d; } d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); diff --git a/dist/powerbi.min.js b/dist/powerbi.min.js index 5d98ba84..d038918b 100644 --- a/dist/powerbi.min.js +++ b/dist/powerbi.min.js @@ -1,12 +1,10 @@ -// powerbi-client v2.17.2 +// powerbi-client v2.18.0 // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. -!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){var e={};function r(a){if(e[a])return e[a].exports;var i=e[a]={i:a,l:!1,exports:{}};return t[a].call(i.exports,i,i.exports,r),i.l=!0,i.exports}return r.m=t,r.c=e,r.d=function(t,e,a){r.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:a})},r.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},r.t=function(t,e){if(1&e&&(t=r(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var a=Object.create(null);if(r.r(a),Object.defineProperty(a,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var i in t)r.d(a,i,function(e){return t[e]}.bind(null,i));return a},r.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return r.d(e,"a",e),e},r.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},r.p="",r(r.s=12)}([function(t,e,r){ -/*! powerbi-models v1.8.0 | (c) 2016 Microsoft Corporation MIT */ -var a;a=function(){return function(t){var e={};function r(a){if(e[a])return e[a].exports;var i=e[a]={i:a,l:!1,exports:{}};return t[a].call(i.exports,i,i.exports,r),i.l=!0,i.exports}return r.m=t,r.c=e,r.d=function(t,e,a){r.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:a})},r.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},r.t=function(t,e){if(1&e&&(t=r(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var a=Object.create(null);if(r.r(a),Object.defineProperty(a,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var i in t)r.d(a,i,function(e){return t[e]}.bind(null,i));return a},r.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return r.d(e,"a",e),e},r.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},r.p="",r(r.s=0)}([function(t,e,r){var a,i=this&&this.__extends||(a=function(t,e){return(a=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])})(t,e)},function(t,e){function r(){this.constructor=t}a(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.validateCustomTheme=e.validateCommandsSettings=e.validateVisualSettings=e.validateVisualHeader=e.validateExportDataRequest=e.validateQnaInterpretInputData=e.validateLoadQnaConfiguration=e.validateSaveAsParameters=e.validateUpdateFiltersRequest=e.validateFilter=e.validatePage=e.validateTileLoad=e.validateDashboardLoad=e.validateCreateReport=e.validateReportLoad=e.validateMenuGroupExtension=e.validateExtension=e.validateCustomPageSize=e.validateVisualizationsPane=e.validateSyncSlicersPane=e.validateSelectionPane=e.validatePageNavigationPane=e.validateFieldsPane=e.validateFiltersPane=e.validateBookmarksPane=e.validatePanes=e.validateSettings=e.validateCaptureBookmarkRequest=e.validateApplyBookmarkStateRequest=e.validateApplyBookmarkByNameRequest=e.validateAddBookmarkRequest=e.validatePlayBookmarkRequest=e.validateSlicerState=e.validateSlicer=e.validateVisualSelector=e.isIExtensionArray=e.isIExtensions=e.isGroupedMenuExtension=e.isFlatMenuExtension=e.VisualDataRoleKindPreference=e.VisualDataRoleKind=e.CommandDisplayOption=e.SlicerTargetSelector=e.VisualTypeSelector=e.VisualSelector=e.PageSelector=e.Selector=e.SortDirection=e.LegendPosition=e.TextAlignment=e.CommonErrorCodes=e.BookmarksPlayMode=e.ExportDataType=e.QnaMode=e.PageNavigationPosition=e.isColumnAggr=e.isHierarchyLevelAggr=e.isHierarchyLevel=e.isColumn=e.isMeasure=e.getFilterType=e.isBasicFilterWithKeys=e.isFilterKeyColumnsTarget=e.AdvancedFilter=e.TupleFilter=e.BasicFilterWithKeys=e.BasicFilter=e.RelativeTimeFilter=e.RelativeDateFilter=e.TopNFilter=e.IncludeExcludeFilter=e.NotSupportedFilter=e.Filter=e.RelativeDateOperators=e.RelativeDateFilterTimeUnit=e.FilterType=e.FiltersLevel=e.FiltersOperations=e.MenuLocation=e.ContrastMode=e.TokenType=e.ViewMode=e.Permissions=e.SectionVisibility=e.HyperlinkClickBehavior=e.LayoutType=e.VisualContainerDisplayMode=e.BackgroundType=e.DisplayOption=e.PageSizeType=e.TraceType=void 0;var o,n=r(1);!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"}(e.TraceType||(e.TraceType={})),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"}(e.PageSizeType||(e.PageSizeType={})),function(t){t[t.FitToPage=0]="FitToPage",t[t.FitToWidth=1]="FitToWidth",t[t.ActualSize=2]="ActualSize"}(e.DisplayOption||(e.DisplayOption={})),function(t){t[t.Default=0]="Default",t[t.Transparent=1]="Transparent"}(e.BackgroundType||(e.BackgroundType={})),function(t){t[t.Visible=0]="Visible",t[t.Hidden=1]="Hidden"}(e.VisualContainerDisplayMode||(e.VisualContainerDisplayMode={})),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={})),function(t){t[t.Navigate=0]="Navigate",t[t.NavigateAndRaiseEvent=1]="NavigateAndRaiseEvent",t[t.RaiseEvent=2]="RaiseEvent"}(e.HyperlinkClickBehavior||(e.HyperlinkClickBehavior={})),function(t){t[t.AlwaysVisible=0]="AlwaysVisible",t[t.HiddenInViewMode=1]="HiddenInViewMode"}(e.SectionVisibility||(e.SectionVisibility={})),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"}(e.Permissions||(e.Permissions={})),function(t){t[t.View=0]="View",t[t.Edit=1]="Edit"}(e.ViewMode||(e.ViewMode={})),function(t){t[t.Aad=0]="Aad",t[t.Embed=1]="Embed"}(e.TokenType||(e.TokenType={})),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"}(e.ContrastMode||(e.ContrastMode={})),function(t){t[t.Bottom=0]="Bottom",t[t.Top=1]="Top"}(e.MenuLocation||(e.MenuLocation={})),function(t){t[t.RemoveAll=0]="RemoveAll",t[t.ReplaceAll=1]="ReplaceAll",t[t.Add=2]="Add",t[t.Replace=3]="Replace"}(e.FiltersOperations||(e.FiltersOperations={})),function(t){t[t.Report=0]="Report",t[t.Page=1]="Page",t[t.Visual=2]="Visual"}(e.FiltersLevel||(e.FiltersLevel={})),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"}(o=e.FilterType||(e.FilterType={})),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"}(e.RelativeDateFilterTimeUnit||(e.RelativeDateFilterTimeUnit={})),function(t){t[t.InLast=0]="InLast",t[t.InThis=1]="InThis",t[t.InNext=2]="InNext"}(e.RelativeDateOperators||(e.RelativeDateOperators={}));var l=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=l;var s=function(t){function e(r,a,i){var n=t.call(this,r,o.Unknown)||this;return n.message=a,n.notSupportedTypeName=i,n.schemaUrl=e.schemaUrl,n}return i(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}(l);e.NotSupportedFilter=s;var d=function(t){function e(r,a,i){var n=t.call(this,r,o.IncludeExclude)||this;return n.values=i,n.isExclude=a,n.schemaUrl=e.schemaUrl,n}return i(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}(l);e.IncludeExcludeFilter=d;var u=function(t){function e(r,a,i,n){var l=t.call(this,r,o.TopN)||this;return l.operator=a,l.itemCount=i,l.schemaUrl=e.schemaUrl,l.orderBy=n,l}return i(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}(l);e.TopNFilter=u;var c=function(t){function e(r,a,i,n,l){var s=t.call(this,r,o.RelativeDate)||this;return s.operator=a,s.timeUnitsCount=i,s.timeUnitType=n,s.includeToday=l,s.schemaUrl=e.schemaUrl,s}return i(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}(l);e.RelativeDateFilter=c;var p=function(t){function e(r,a,i,n){var l=t.call(this,r,o.RelativeTime)||this;return l.operator=a,l.timeUnitsCount=i,l.timeUnitType=n,l.schemaUrl=e.schemaUrl,l}return i(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}(l);e.RelativeTimeFilter=p;var f=function(t){function e(r,a){for(var i=[],n=2;n0&&!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,s=o.keyValues;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 s.conditions=l,s}return i(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}(l);function m(t){if(t.filterType)return t.filterType;var e=t,r=t;return"string"==typeof e.operator&&Array.isArray(e.values)?o.Basic:"string"==typeof r.logicalOperator&&Array.isArray(r.conditions)?o.Advanced:o.Unknown}function V(t){return!(!t.table||!t.column||t.aggregationFunction)}e.AdvancedFilter=y,e.isFilterKeyColumnsTarget=function(t){return V(t)&&!!t.keys},e.isBasicFilterWithKeys=function(t){return m(t)===o.Basic&&!!t.keyValues},e.getFilterType=m,e.isMeasure=function(t){return void 0!==t.table&&void 0!==t.measure},e.isColumn=V,e.isHierarchyLevel=function(t){return!(!(t.table&&t.hierarchy&&t.hierarchyLevel)||t.aggregationFunction)},e.isHierarchyLevelAggr=function(t){return!!(t.table&&t.hierarchy&&t.hierarchyLevel&&t.aggregationFunction)},e.isColumnAggr=function(t){return!!(t.table&&t.column&&t.aggregationFunction)},function(t){t[t.Bottom=0]="Bottom",t[t.Left=1]="Left"}(e.PageNavigationPosition||(e.PageNavigationPosition={})),function(t){t[t.Interactive=0]="Interactive",t[t.ResultOnly=1]="ResultOnly"}(e.QnaMode||(e.QnaMode={})),function(t){t[t.Summarized=0]="Summarized",t[t.Underlying=1]="Underlying"}(e.ExportDataType||(e.ExportDataType={})),function(t){t[t.Off=0]="Off",t[t.Presentation=1]="Presentation"}(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"},function(t){t[t.Ascending=1]="Ascending",t[t.Descending=2]="Descending"}(e.SortDirection||(e.SortDirection={}));var g=function(){function t(t){this.$schema=t}return t.prototype.toJSON=function(){return{$schema:this.$schema}},t}();e.Selector=g;var b=function(t){function e(r){var a=t.call(this,e.schemaUrl)||this;return a.pageName=r,a}return i(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}(g);e.PageSelector=b;var w=function(t){function e(r){var a=t.call(this,e.schemaUrl)||this;return a.visualName=r,a}return i(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}(g);e.VisualSelector=w;var P=function(t){function e(e){var r=t.call(this,w.schemaUrl)||this;return r.visualType=e,r}return i(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}(g);e.VisualTypeSelector=P;var _=function(t){function e(e){var r=t.call(this,w.schemaUrl)||this;return r.target=e,r}return i(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}(g);function S(t){return t&&!!t.groupName}function E(t){return Array.isArray(t)}function O(t){var e=t.message;return e||(e=t.path+" is invalid. Not meeting "+t.keyword+" constraint"),{message:e}}e.SlicerTargetSelector=_,function(t){t[t.Enabled=0]="Enabled",t[t.Disabled=1]="Disabled",t[t.Hidden=2]="Hidden"}(e.CommandDisplayOption||(e.CommandDisplayOption={})),function(t){t[t.Grouping=0]="Grouping",t[t.Measure=1]="Measure",t[t.GroupingOrMeasure=2]="GroupingOrMeasure"}(e.VisualDataRoleKind||(e.VisualDataRoleKind={})),function(t){t[t.Measure=0]="Measure",t[t.Grouping=1]="Grouping"}(e.VisualDataRoleKindPreference||(e.VisualDataRoleKindPreference={})),e.isFlatMenuExtension=function(t){return t&&!S(t)},e.isGroupedMenuExtension=S,e.isIExtensions=function(t){return t&&!E(t)},e.isIExtensionArray=E,e.validateVisualSelector=function(t){var e=n.Validators.visualSelectorValidator.validate(t);return e?e.map(O):void 0},e.validateSlicer=function(t){var e=n.Validators.slicerValidator.validate(t);return e?e.map(O):void 0},e.validateSlicerState=function(t){var e=n.Validators.slicerStateValidator.validate(t);return e?e.map(O):void 0},e.validatePlayBookmarkRequest=function(t){var e=n.Validators.playBookmarkRequestValidator.validate(t);return e?e.map(O):void 0},e.validateAddBookmarkRequest=function(t){var e=n.Validators.addBookmarkRequestValidator.validate(t);return e?e.map(O):void 0},e.validateApplyBookmarkByNameRequest=function(t){var e=n.Validators.applyBookmarkByNameRequestValidator.validate(t);return e?e.map(O):void 0},e.validateApplyBookmarkStateRequest=function(t){var e=n.Validators.applyBookmarkStateRequestValidator.validate(t);return e?e.map(O):void 0},e.validateCaptureBookmarkRequest=function(t){var e=n.Validators.captureBookmarkRequestValidator.validate(t);return e?e.map(O):void 0},e.validateSettings=function(t){var e=n.Validators.settingsValidator.validate(t);return e?e.map(O):void 0},e.validatePanes=function(t){var e=n.Validators.reportPanesValidator.validate(t);return e?e.map(O):void 0},e.validateBookmarksPane=function(t){var e=n.Validators.bookmarksPaneValidator.validate(t);return e?e.map(O):void 0},e.validateFiltersPane=function(t){var e=n.Validators.filtersPaneValidator.validate(t);return e?e.map(O):void 0},e.validateFieldsPane=function(t){var e=n.Validators.fieldsPaneValidator.validate(t);return e?e.map(O):void 0},e.validatePageNavigationPane=function(t){var e=n.Validators.pageNavigationPaneValidator.validate(t);return e?e.map(O):void 0},e.validateSelectionPane=function(t){var e=n.Validators.selectionPaneValidator.validate(t);return e?e.map(O):void 0},e.validateSyncSlicersPane=function(t){var e=n.Validators.syncSlicersPaneValidator.validate(t);return e?e.map(O):void 0},e.validateVisualizationsPane=function(t){var e=n.Validators.visualizationsPaneValidator.validate(t);return e?e.map(O):void 0},e.validateCustomPageSize=function(t){var e=n.Validators.customPageSizeValidator.validate(t);return e?e.map(O):void 0},e.validateExtension=function(t){var e=n.Validators.extensionValidator.validate(t);return e?e.map(O):void 0},e.validateMenuGroupExtension=function(t){var e=n.Validators.menuGroupExtensionValidator.validate(t);return e?e.map(O):void 0},e.validateReportLoad=function(t){var e=n.Validators.reportLoadValidator.validate(t);return e?e.map(O):void 0},e.validateCreateReport=function(t){var e=n.Validators.reportCreateValidator.validate(t);return e?e.map(O):void 0},e.validateDashboardLoad=function(t){var e=n.Validators.dashboardLoadValidator.validate(t);return e?e.map(O):void 0},e.validateTileLoad=function(t){var e=n.Validators.tileLoadValidator.validate(t);return e?e.map(O):void 0},e.validatePage=function(t){var e=n.Validators.pageValidator.validate(t);return e?e.map(O):void 0},e.validateFilter=function(t){var e=n.Validators.filterValidator.validate(t);return e?e.map(O):void 0},e.validateUpdateFiltersRequest=function(t){var e=n.Validators.updateFiltersRequestValidator.validate(t);return e?e.map(O):void 0},e.validateSaveAsParameters=function(t){var e=n.Validators.saveAsParametersValidator.validate(t);return e?e.map(O):void 0},e.validateLoadQnaConfiguration=function(t){var e=n.Validators.loadQnaValidator.validate(t);return e?e.map(O):void 0},e.validateQnaInterpretInputData=function(t){var e=n.Validators.qnaInterpretInputDataValidator.validate(t);return e?e.map(O):void 0},e.validateExportDataRequest=function(t){var e=n.Validators.exportDataRequestValidator.validate(t);return e?e.map(O):void 0},e.validateVisualHeader=function(t){var e=n.Validators.visualHeaderValidator.validate(t);return e?e.map(O):void 0},e.validateVisualSettings=function(t){var e=n.Validators.visualSettingsValidator.validate(t);return e?e.map(O):void 0},e.validateCommandsSettings=function(t){var e=n.Validators.commandsSettingsValidator.validate(t);return e?e.map(O):void 0},e.validateCustomTheme=function(t){var e=n.Validators.customThemeValidator.validate(t);return e?e.map(O):void 0}},function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.Validators=void 0;var a=r(2),i=r(5),o=r(6),n=r(7),l=r(8),s=r(9),d=r(10),u=r(11),c=r(12),p=r(13),f=r(14),h=r(15),v=r(16),y=r(17),m=r(18),V=r(19),g=r(20),b=r(21),w=r(22),P=r(23),_=r(24),S=r(25),E=r(26),O=r(27),T=r(28),F=r(4);e.Validators={addBookmarkRequestValidator:new i.AddBookmarkRequestValidator,advancedFilterTypeValidator:new F.EnumValidator([0]),advancedFilterValidator:new c.AdvancedFilterValidator,anyArrayValidator:new F.ArrayValidator([new S.AnyOfValidator([new F.StringValidator,new F.NumberValidator,new F.BooleanValidator])]),anyFilterValidator:new S.AnyOfValidator([new c.BasicFilterValidator,new c.AdvancedFilterValidator,new c.IncludeExcludeFilterValidator,new c.NotSupportedFilterValidator,new c.RelativeDateFilterValidator,new c.TopNFilterValidator,new c.RelativeTimeFilterValidator]),anyValueValidator:new S.AnyOfValidator([new F.StringValidator,new F.NumberValidator,new F.BooleanValidator]),actionBarValidator:new a.ActionBarValidator,applyBookmarkByNameRequestValidator:new i.ApplyBookmarkByNameRequestValidator,applyBookmarkStateRequestValidator:new i.ApplyBookmarkStateRequestValidator,applyBookmarkValidator:new S.AnyOfValidator([new i.ApplyBookmarkByNameRequestValidator,new i.ApplyBookmarkStateRequestValidator]),backgroundValidator:new F.EnumValidator([0,1]),basicFilterTypeValidator:new F.EnumValidator([1]),basicFilterValidator:new c.BasicFilterValidator,booleanArrayValidator:new F.BooleanArrayValidator,booleanValidator:new F.BooleanValidator,bookmarksPaneValidator:new h.BookmarksPaneValidator,captureBookmarkOptionsValidator:new i.CaptureBookmarkOptionsValidator,captureBookmarkRequestValidator:new i.CaptureBookmarkRequestValidator,commandDisplayOptionValidator:new F.EnumValidator([0,1,2]),commandExtensionSelectorValidator:new S.AnyOfValidator([new g.VisualSelectorValidator,new g.VisualTypeSelectorValidator]),commandExtensionArrayValidator:new F.ArrayValidator([new u.CommandExtensionValidator]),commandExtensionValidator:new u.CommandExtensionValidator,commandsSettingsArrayValidator:new F.ArrayValidator([new o.CommandsSettingsValidator]),commandsSettingsValidator:new o.CommandsSettingsValidator,conditionItemValidator:new c.ConditionItemValidator,contrastModeValidator:new F.EnumValidator([0,1,2,3,4]),customLayoutDisplayOptionValidator:new F.EnumValidator([0,1,2]),customLayoutValidator:new p.CustomLayoutValidator,customPageSizeValidator:new f.CustomPageSizeValidator,customThemeValidator:new n.CustomThemeValidator,dashboardLoadValidator:new l.DashboardLoadValidator,datasetBindingValidator:new s.DatasetBindingValidator,displayStateModeValidator:new F.EnumValidator([0,1]),displayStateValidator:new p.DisplayStateValidator,exportDataRequestValidator:new d.ExportDataRequestValidator,extensionArrayValidator:new F.ArrayValidator([new u.ExtensionValidator]),extensionsValidator:new S.AnyOfValidator([new F.ArrayValidator([new u.ExtensionValidator]),new u.ExtensionsValidator]),extensionPointsValidator:new u.ExtensionPointsValidator,extensionValidator:new u.ExtensionValidator,fieldForbiddenValidator:new E.FieldForbiddenValidator,fieldRequiredValidator:new O.FieldRequiredValidator,fieldsPaneValidator:new h.FieldsPaneValidator,filterColumnTargetValidator:new c.FilterColumnTargetValidator,filterDisplaySettingsValidator:new c.FilterDisplaySettingsValidator,filterConditionsValidator:new F.ArrayValidator([new c.ConditionItemValidator]),filterHierarchyTargetValidator:new c.FilterHierarchyTargetValidator,filterMeasureTargetValidator:new c.FilterMeasureTargetValidator,filterTargetValidator:new S.AnyOfValidator([new c.FilterColumnTargetValidator,new c.FilterHierarchyTargetValidator,new c.FilterMeasureTargetValidator]),filterValidator:new c.FilterValidator,filterTypeValidator:new F.EnumValidator([0,1,2,3,4,5,6,7]),filtersArrayValidator:new F.ArrayValidator([new c.FilterValidator]),filtersOperationsUpdateValidator:new F.EnumValidator([1,2,3]),filtersOperationsRemoveAllValidator:new F.EnumValidator([0]),filtersPaneValidator:new h.FiltersPaneValidator,hyperlinkClickBehaviorValidator:new F.EnumValidator([0,1,2]),includeExcludeFilterValidator:new c.IncludeExcludeFilterValidator,includeExludeFilterTypeValidator:new F.EnumValidator([3]),layoutTypeValidator:new F.EnumValidator([0,1,2,3]),loadQnaValidator:new v.LoadQnaValidator,menuExtensionValidator:new S.AnyOfValidator([new u.FlatMenuExtensionValidator,new u.GroupedMenuExtensionValidator]),menuGroupExtensionArrayValidator:new F.ArrayValidator([new u.MenuGroupExtensionValidator]),menuGroupExtensionValidator:new u.MenuGroupExtensionValidator,menuLocationValidator:new F.EnumValidator([0,1]),notSupportedFilterTypeValidator:new F.EnumValidator([2]),notSupportedFilterValidator:new c.NotSupportedFilterValidator,numberArrayValidator:new F.NumberArrayValidator,numberValidator:new F.NumberValidator,pageLayoutValidator:new T.MapValidator([new F.StringValidator],[new p.VisualLayoutValidator]),pageNavigationPaneValidator:new h.PageNavigationPaneValidator,pageNavigationPositionValidator:new F.EnumValidator([0,1]),pageSizeTypeValidator:new F.EnumValidator([0,1,2,3,4,5]),pageSizeValidator:new f.PageSizeValidator,pageValidator:new f.PageValidator,pageViewFieldValidator:new f.PageViewFieldValidator,pagesLayoutValidator:new T.MapValidator([new F.StringValidator],[new p.PageLayoutValidator]),reportBarsValidator:new a.ReportBarsValidator,reportPanesValidator:new h.ReportPanesValidator,permissionsValidator:new F.EnumValidator([0,1,2,4,7]),playBookmarkRequestValidator:new i.PlayBookmarkRequestValidator,qnaInterpretInputDataValidator:new v.QnaInterpretInputDataValidator,qnaSettingValidator:new v.QnaSettingsValidator,relativeDateFilterOperatorValidator:new F.EnumValidator([0,1,2]),relativeDateFilterTimeUnitTypeValidator:new F.EnumValidator([0,1,2,3,4,5,6]),relativeDateFilterTypeValidator:new F.EnumValidator([4]),relativeDateFilterValidator:new c.RelativeDateFilterValidator,relativeTimeFilterTimeUnitTypeValidator:new F.EnumValidator([7,8]),relativeTimeFilterTypeValidator:new F.EnumValidator([7]),relativeTimeFilterValidator:new c.RelativeTimeFilterValidator,reportCreateValidator:new y.ReportCreateValidator,reportLoadValidator:new m.ReportLoadValidator,saveAsParametersValidator:new V.SaveAsParametersValidator,selectionPaneValidator:new h.SelectionPaneValidator,settingsValidator:new b.SettingsValidator,singleCommandSettingsValidator:new o.SingleCommandSettingsValidator,slicerSelectorValidator:new S.AnyOfValidator([new g.VisualSelectorValidator,new g.SlicerTargetSelectorValidator]),slicerStateValidator:new w.SlicerStateValidator,slicerTargetValidator:new S.AnyOfValidator([new c.FilterColumnTargetValidator,new c.FilterHierarchyTargetValidator,new c.FilterMeasureTargetValidator,new c.FilterKeyColumnsTargetValidator,new c.FilterKeyHierarchyTargetValidator]),slicerValidator:new w.SlicerValidator,stringArrayValidator:new F.StringArrayValidator,stringValidator:new F.StringValidator,syncSlicersPaneValidator:new h.SyncSlicersPaneValidator,tileLoadValidator:new P.TileLoadValidator,tokenTypeValidator:new F.EnumValidator([0,1]),topNFilterTypeValidator:new F.EnumValidator([5]),topNFilterValidator:new c.TopNFilterValidator,updateFiltersRequestValidator:new S.AnyOfValidator([new c.UpdateFiltersRequestValidator,new c.RemoveFiltersRequestValidator]),viewModeValidator:new F.EnumValidator([0,1]),visualCommandSelectorValidator:new S.AnyOfValidator([new g.VisualSelectorValidator,new g.VisualTypeSelectorValidator]),visualHeaderSelectorValidator:new S.AnyOfValidator([new g.VisualSelectorValidator,new g.VisualTypeSelectorValidator]),visualHeaderSettingsValidator:new _.VisualHeaderSettingsValidator,visualHeaderValidator:new _.VisualHeaderValidator,visualHeadersValidator:new F.ArrayValidator([new _.VisualHeaderValidator]),visualizationsPaneValidator:new h.VisualizationsPaneValidator,visualLayoutValidator:new p.VisualLayoutValidator,visualSelectorValidator:new g.VisualSelectorValidator,visualSettingsValidator:new _.VisualSettingsValidator,visualTypeSelectorValidator:new g.VisualTypeSelectorValidator}},function(t,e,r){var a,i=this&&this.__extends||(a=function(t,e){return(a=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])})(t,e)},function(t,e){function r(){this.constructor=t}a(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.ActionBarValidator=e.ReportBarsValidator=void 0;var o=r(3),n=r(4),l=r(1),s=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i(e,t),e.prototype.validate=function(e,r,a){if(null==e)return null;var i=t.prototype.validate.call(this,e,r,a);if(i)return i;var n=[{field:"actionBar",validators:[l.Validators.actionBarValidator]}];return new o.MultipleFieldsValidator(n).validate(e,r,a)},e}(n.ObjectValidator);e.ReportBarsValidator=s;var d=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i(e,t),e.prototype.validate=function(e,r,a){if(null==e)return null;var i=t.prototype.validate.call(this,e,r,a);if(i)return i;var n=[{field:"visible",validators:[l.Validators.booleanValidator]}];return new o.MultipleFieldsValidator(n).validate(e,r,a)},e}(n.ObjectValidator);e.ActionBarValidator=d},function(t,e){Object.defineProperty(e,"__esModule",{value:!0}),e.MultipleFieldsValidator=void 0;var r=function(){function t(t){this.fieldValidatorsPairs=t}return t.prototype.validate=function(t,e,r){if(!this.fieldValidatorsPairs)return null;for(var a=e?e+"."+r:r,i=0,o=this.fieldValidatorsPairs;i0&&i[i.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0?"&":"?";return t+=a+e+"="+r},e.isSavedInternal=function(t,e,i){return r(this,void 0,void 0,(function(){return a(this,(function(r){switch(r.label){case 0:return r.trys.push([0,2,,3]),[4,t.get("/report/hasUnsavedChanges",{uid:e},i)];case 1:return[2,!r.sent().body];case 2:throw r.sent().body;case 3:return[2]}}))}))},e.isRDLEmbed=function(t){return t.toLowerCase().indexOf("/rdlembed?")>=0},e.autoAuthInEmbedUrl=function(t){return t&&decodeURIComponent(t).toLowerCase().indexOf("autoauth=true")>=0},e.getRandomValue=o,e.getTimeDiffInMilliseconds=function(t,e){return Math.abs(t.getTime()-e.getTime())}},function(t,e){Object.defineProperty(e,"__esModule",{value:!0}),e.EmbedUrlNotSupported=e.APINotSupportedForRDLError=void 0,e.APINotSupportedForRDLError="This API is currently not supported for RDL reports",e.EmbedUrlNotSupported="Embed URL is invalid for this scenario. Please use Power BI REST APIs to get the valid URL"},function(t,e,r){var a,i=this&&this.__extends||(a=function(t,e){return(a=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])})(t,e)},function(t,e){function r(){this.constructor=t}a(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}),o=this&&this.__awaiter||function(t,e,r,a){return new(r||(r=Promise))((function(i,o){function n(t){try{s(a.next(t))}catch(t){o(t)}}function l(t){try{s(a.throw(t))}catch(t){o(t)}}function s(t){var e;t.done?i(t.value):(e=t.value,e instanceof r?e:new r((function(t){t(e)}))).then(n,l)}s((a=a.apply(t,e||[])).next())}))},n=this&&this.__generator||function(t,e){var r,a,i,o,n={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:l(0),throw:l(1),return:l(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function l(o){return function(l){return function(o){if(r)throw new TypeError("Generator is already executing.");for(;n;)try{if(r=1,a&&(i=2&o[0]?a.return:o[0]?a.throw||((i=a.return)&&i.call(a),0):a.next)&&!(i=i.call(a,o[1])).done)return i;switch(a=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return n.label++,{value:o[1],done:!1};case 5:n.label++,a=o[1],o=[0];continue;case 7:o=n.ops.pop(),n.trys.pop();continue;default:if(!(i=n.trys,(i=i.length>0&&i[i.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&!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,s=o.keyValues;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 s.conditions=l,s}return i(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}(l);function V(t){if(t.filterType)return t.filterType;var e=t,r=t;return"string"==typeof e.operator&&Array.isArray(e.values)?o.Basic:"string"==typeof r.logicalOperator&&Array.isArray(r.conditions)?o.Advanced:o.Unknown}function m(t){return!(!t.table||!t.column||t.aggregationFunction)}e.AdvancedFilter=y,e.isFilterKeyColumnsTarget=function(t){return m(t)&&!!t.keys},e.isBasicFilterWithKeys=function(t){return V(t)===o.Basic&&!!t.keyValues},e.getFilterType=V,e.isMeasure=function(t){return void 0!==t.table&&void 0!==t.measure},e.isColumn=m,e.isHierarchyLevel=function(t){return!(!(t.table&&t.hierarchy&&t.hierarchyLevel)||t.aggregationFunction)},e.isHierarchyLevelAggr=function(t){return!!(t.table&&t.hierarchy&&t.hierarchyLevel&&t.aggregationFunction)},e.isColumnAggr=function(t){return!!(t.table&&t.column&&t.aggregationFunction)},function(t){t[t.Bottom=0]="Bottom",t[t.Left=1]="Left"}(e.PageNavigationPosition||(e.PageNavigationPosition={})),function(t){t[t.Interactive=0]="Interactive",t[t.ResultOnly=1]="ResultOnly"}(e.QnaMode||(e.QnaMode={})),function(t){t[t.Summarized=0]="Summarized",t[t.Underlying=1]="Underlying"}(e.ExportDataType||(e.ExportDataType={})),function(t){t[t.Off=0]="Off",t[t.Presentation=1]="Presentation"}(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"},function(t){t[t.Ascending=1]="Ascending",t[t.Descending=2]="Descending"}(e.SortDirection||(e.SortDirection={}));var g=function(){function t(t){this.$schema=t}return t.prototype.toJSON=function(){return{$schema:this.$schema}},t}();e.Selector=g;var b=function(t){function e(r){var a=t.call(this,e.schemaUrl)||this;return a.pageName=r,a}return i(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}(g);e.PageSelector=b;var w=function(t){function e(r){var a=t.call(this,e.schemaUrl)||this;return a.visualName=r,a}return i(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}(g);e.VisualSelector=w;var P=function(t){function e(e){var r=t.call(this,w.schemaUrl)||this;return r.visualType=e,r}return i(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}(g);e.VisualTypeSelector=P;var _=function(t){function e(e){var r=t.call(this,w.schemaUrl)||this;return r.target=e,r}return i(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}(g);function O(t){return Array.isArray(t)}function S(t){return t&&!!t.groupName}function E(t){return Array.isArray(t)}function T(t){var e=t.message;return e||(e=t.path+" is invalid. Not meeting "+t.keyword+" constraint"),{message:e}}e.SlicerTargetSelector=_,function(t){t[t.Enabled=0]="Enabled",t[t.Disabled=1]="Disabled",t[t.Hidden=2]="Hidden"}(e.CommandDisplayOption||(e.CommandDisplayOption={})),function(t){t[t.Grouping=0]="Grouping",t[t.Measure=1]="Measure",t[t.GroupingOrMeasure=2]="GroupingOrMeasure"}(e.VisualDataRoleKind||(e.VisualDataRoleKind={})),function(t){t[t.Measure=0]="Measure",t[t.Grouping=1]="Grouping"}(e.VisualDataRoleKindPreference||(e.VisualDataRoleKindPreference={})),e.isOnLoadFilters=function(t){return t&&!O(t)},e.isReportFiltersArray=O,e.isFlatMenuExtension=function(t){return t&&!S(t)},e.isGroupedMenuExtension=S,e.isIExtensions=function(t){return t&&!E(t)},e.isIExtensionArray=E,e.validateVisualSelector=function(t){var e=n.Validators.visualSelectorValidator.validate(t);return e?e.map(T):void 0},e.validateSlicer=function(t){var e=n.Validators.slicerValidator.validate(t);return e?e.map(T):void 0},e.validateSlicerState=function(t){var e=n.Validators.slicerStateValidator.validate(t);return e?e.map(T):void 0},e.validatePlayBookmarkRequest=function(t){var e=n.Validators.playBookmarkRequestValidator.validate(t);return e?e.map(T):void 0},e.validateAddBookmarkRequest=function(t){var e=n.Validators.addBookmarkRequestValidator.validate(t);return e?e.map(T):void 0},e.validateApplyBookmarkByNameRequest=function(t){var e=n.Validators.applyBookmarkByNameRequestValidator.validate(t);return e?e.map(T):void 0},e.validateApplyBookmarkStateRequest=function(t){var e=n.Validators.applyBookmarkStateRequestValidator.validate(t);return e?e.map(T):void 0},e.validateCaptureBookmarkRequest=function(t){var e=n.Validators.captureBookmarkRequestValidator.validate(t);return e?e.map(T):void 0},e.validateSettings=function(t){var e=n.Validators.settingsValidator.validate(t);return e?e.map(T):void 0},e.validatePanes=function(t){var e=n.Validators.reportPanesValidator.validate(t);return e?e.map(T):void 0},e.validateBookmarksPane=function(t){var e=n.Validators.bookmarksPaneValidator.validate(t);return e?e.map(T):void 0},e.validateFiltersPane=function(t){var e=n.Validators.filtersPaneValidator.validate(t);return e?e.map(T):void 0},e.validateFieldsPane=function(t){var e=n.Validators.fieldsPaneValidator.validate(t);return e?e.map(T):void 0},e.validatePageNavigationPane=function(t){var e=n.Validators.pageNavigationPaneValidator.validate(t);return e?e.map(T):void 0},e.validateSelectionPane=function(t){var e=n.Validators.selectionPaneValidator.validate(t);return e?e.map(T):void 0},e.validateSyncSlicersPane=function(t){var e=n.Validators.syncSlicersPaneValidator.validate(t);return e?e.map(T):void 0},e.validateVisualizationsPane=function(t){var e=n.Validators.visualizationsPaneValidator.validate(t);return e?e.map(T):void 0},e.validateCustomPageSize=function(t){var e=n.Validators.customPageSizeValidator.validate(t);return e?e.map(T):void 0},e.validateExtension=function(t){var e=n.Validators.extensionValidator.validate(t);return e?e.map(T):void 0},e.validateMenuGroupExtension=function(t){var e=n.Validators.menuGroupExtensionValidator.validate(t);return e?e.map(T):void 0},e.validateReportLoad=function(t){var e=n.Validators.reportLoadValidator.validate(t);return e?e.map(T):void 0},e.validatePaginatedReportLoad=function(t){var e=n.Validators.paginatedReportLoadValidator.validate(t);return e?e.map(T):void 0},e.validateCreateReport=function(t){var e=n.Validators.reportCreateValidator.validate(t);return e?e.map(T):void 0},e.validateDashboardLoad=function(t){var e=n.Validators.dashboardLoadValidator.validate(t);return e?e.map(T):void 0},e.validateTileLoad=function(t){var e=n.Validators.tileLoadValidator.validate(t);return e?e.map(T):void 0},e.validatePage=function(t){var e=n.Validators.pageValidator.validate(t);return e?e.map(T):void 0},e.validateFilter=function(t){var e=n.Validators.filterValidator.validate(t);return e?e.map(T):void 0},e.validateUpdateFiltersRequest=function(t){var e=n.Validators.updateFiltersRequestValidator.validate(t);return e?e.map(T):void 0},e.validateSaveAsParameters=function(t){var e=n.Validators.saveAsParametersValidator.validate(t);return e?e.map(T):void 0},e.validateLoadQnaConfiguration=function(t){var e=n.Validators.loadQnaValidator.validate(t);return e?e.map(T):void 0},e.validateQnaInterpretInputData=function(t){var e=n.Validators.qnaInterpretInputDataValidator.validate(t);return e?e.map(T):void 0},e.validateExportDataRequest=function(t){var e=n.Validators.exportDataRequestValidator.validate(t);return e?e.map(T):void 0},e.validateVisualHeader=function(t){var e=n.Validators.visualHeaderValidator.validate(t);return e?e.map(T):void 0},e.validateVisualSettings=function(t){var e=n.Validators.visualSettingsValidator.validate(t);return e?e.map(T):void 0},e.validateCommandsSettings=function(t){var e=n.Validators.commandsSettingsValidator.validate(t);return e?e.map(T):void 0},e.validateCustomTheme=function(t){var e=n.Validators.customThemeValidator.validate(t);return e?e.map(T):void 0}},function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.Validators=void 0;var a=r(2),i=r(5),o=r(6),n=r(7),l=r(8),s=r(9),d=r(10),u=r(11),c=r(12),p=r(13),f=r(14),h=r(15),v=r(16),y=r(17),V=r(18),m=r(19),g=r(20),b=r(21),w=r(22),P=r(23),_=r(24),O=r(25),S=r(26),E=r(27),T=r(28),F=r(29),R=r(4),k=r(30);e.Validators={addBookmarkRequestValidator:new i.AddBookmarkRequestValidator,advancedFilterTypeValidator:new R.EnumValidator([0]),advancedFilterValidator:new c.AdvancedFilterValidator,anyArrayValidator:new R.ArrayValidator([new S.AnyOfValidator([new R.StringValidator,new R.NumberValidator,new R.BooleanValidator])]),anyFilterValidator:new S.AnyOfValidator([new c.BasicFilterValidator,new c.AdvancedFilterValidator,new c.IncludeExcludeFilterValidator,new c.NotSupportedFilterValidator,new c.RelativeDateFilterValidator,new c.TopNFilterValidator,new c.RelativeTimeFilterValidator]),anyValueValidator:new S.AnyOfValidator([new R.StringValidator,new R.NumberValidator,new R.BooleanValidator]),actionBarValidator:new a.ActionBarValidator,applyBookmarkByNameRequestValidator:new i.ApplyBookmarkByNameRequestValidator,applyBookmarkStateRequestValidator:new i.ApplyBookmarkStateRequestValidator,applyBookmarkValidator:new S.AnyOfValidator([new i.ApplyBookmarkByNameRequestValidator,new i.ApplyBookmarkStateRequestValidator]),backgroundValidator:new R.EnumValidator([0,1]),basicFilterTypeValidator:new R.EnumValidator([1]),basicFilterValidator:new c.BasicFilterValidator,booleanArrayValidator:new R.BooleanArrayValidator,booleanValidator:new R.BooleanValidator,bookmarksPaneValidator:new h.BookmarksPaneValidator,captureBookmarkOptionsValidator:new i.CaptureBookmarkOptionsValidator,captureBookmarkRequestValidator:new i.CaptureBookmarkRequestValidator,commandDisplayOptionValidator:new R.EnumValidator([0,1,2]),commandExtensionSelectorValidator:new S.AnyOfValidator([new b.VisualSelectorValidator,new b.VisualTypeSelectorValidator]),commandExtensionArrayValidator:new R.ArrayValidator([new u.CommandExtensionValidator]),commandExtensionValidator:new u.CommandExtensionValidator,commandsSettingsArrayValidator:new R.ArrayValidator([new o.CommandsSettingsValidator]),commandsSettingsValidator:new o.CommandsSettingsValidator,conditionItemValidator:new c.ConditionItemValidator,contrastModeValidator:new R.EnumValidator([0,1,2,3,4]),customLayoutDisplayOptionValidator:new R.EnumValidator([0,1,2]),customLayoutValidator:new p.CustomLayoutValidator,customPageSizeValidator:new f.CustomPageSizeValidator,customThemeValidator:new n.CustomThemeValidator,dashboardLoadValidator:new l.DashboardLoadValidator,datasetBindingValidator:new s.DatasetBindingValidator,displayStateModeValidator:new R.EnumValidator([0,1]),displayStateValidator:new p.DisplayStateValidator,exportDataRequestValidator:new d.ExportDataRequestValidator,extensionArrayValidator:new R.ArrayValidator([new u.ExtensionValidator]),extensionsValidator:new S.AnyOfValidator([new R.ArrayValidator([new u.ExtensionValidator]),new u.ExtensionsValidator]),extensionPointsValidator:new u.ExtensionPointsValidator,extensionValidator:new u.ExtensionValidator,fieldForbiddenValidator:new E.FieldForbiddenValidator,fieldRequiredValidator:new T.FieldRequiredValidator,fieldsPaneValidator:new h.FieldsPaneValidator,filterColumnTargetValidator:new c.FilterColumnTargetValidator,filterDisplaySettingsValidator:new c.FilterDisplaySettingsValidator,filterConditionsValidator:new R.ArrayValidator([new c.ConditionItemValidator]),filterHierarchyTargetValidator:new c.FilterHierarchyTargetValidator,filterMeasureTargetValidator:new c.FilterMeasureTargetValidator,filterTargetValidator:new S.AnyOfValidator([new c.FilterColumnTargetValidator,new c.FilterHierarchyTargetValidator,new c.FilterMeasureTargetValidator]),filterValidator:new c.FilterValidator,filterTypeValidator:new R.EnumValidator([0,1,2,3,4,5,6,7]),filtersArrayValidator:new R.ArrayValidator([new c.FilterValidator]),filtersOperationsUpdateValidator:new R.EnumValidator([1,2,3]),filtersOperationsRemoveAllValidator:new R.EnumValidator([0]),filtersPaneValidator:new h.FiltersPaneValidator,hyperlinkClickBehaviorValidator:new R.EnumValidator([0,1,2]),includeExcludeFilterValidator:new c.IncludeExcludeFilterValidator,includeExludeFilterTypeValidator:new R.EnumValidator([3]),layoutTypeValidator:new R.EnumValidator([0,1,2,3]),loadQnaValidator:new v.LoadQnaValidator,menuExtensionValidator:new S.AnyOfValidator([new u.FlatMenuExtensionValidator,new u.GroupedMenuExtensionValidator]),menuGroupExtensionArrayValidator:new R.ArrayValidator([new u.MenuGroupExtensionValidator]),menuGroupExtensionValidator:new u.MenuGroupExtensionValidator,menuLocationValidator:new R.EnumValidator([0,1]),notSupportedFilterTypeValidator:new R.EnumValidator([2]),notSupportedFilterValidator:new c.NotSupportedFilterValidator,numberArrayValidator:new R.NumberArrayValidator,numberValidator:new R.NumberValidator,onLoadFiltersBaseValidator:new S.AnyOfValidator([new c.OnLoadFiltersBaseValidator,new c.OnLoadFiltersBaseRemoveOperationValidator]),pageLayoutValidator:new F.MapValidator([new R.StringValidator],[new p.VisualLayoutValidator]),pageNavigationPaneValidator:new h.PageNavigationPaneValidator,pageNavigationPositionValidator:new R.EnumValidator([0,1]),pageSizeTypeValidator:new R.EnumValidator([0,1,2,3,4,5]),pageSizeValidator:new f.PageSizeValidator,pageValidator:new f.PageValidator,pageViewFieldValidator:new f.PageViewFieldValidator,pagesLayoutValidator:new F.MapValidator([new R.StringValidator],[new p.PageLayoutValidator]),paginatedReportCommandsValidator:new o.PaginatedReportCommandsValidator,paginatedReportLoadValidator:new m.PaginatedReportLoadValidator,paginatedReportsettingsValidator:new w.PaginatedReportSettingsValidator,parametersPanelValidator:new k.ParametersPanelValidator,permissionsValidator:new R.EnumValidator([0,1,2,4,7]),playBookmarkRequestValidator:new i.PlayBookmarkRequestValidator,qnaInterpretInputDataValidator:new v.QnaInterpretInputDataValidator,qnaPanesValidator:new h.QnaPanesValidator,qnaSettingValidator:new v.QnaSettingsValidator,relativeDateFilterOperatorValidator:new R.EnumValidator([0,1,2]),relativeDateFilterTimeUnitTypeValidator:new R.EnumValidator([0,1,2,3,4,5,6]),relativeDateFilterTypeValidator:new R.EnumValidator([4]),relativeDateFilterValidator:new c.RelativeDateFilterValidator,relativeDateTimeFilterTypeValidator:new R.EnumValidator([4,7]),relativeDateTimeFilterUnitTypeValidator:new R.EnumValidator([0,1,2,3,4,5,6,7,8]),relativeTimeFilterTimeUnitTypeValidator:new R.EnumValidator([7,8]),relativeTimeFilterTypeValidator:new R.EnumValidator([7]),relativeTimeFilterValidator:new c.RelativeTimeFilterValidator,reportBarsValidator:new a.ReportBarsValidator,reportCreateValidator:new y.ReportCreateValidator,reportLoadFiltersValidator:new S.AnyOfValidator([new R.ArrayValidator([new c.FilterValidator]),new c.OnLoadFiltersValidator]),reportLoadValidator:new V.ReportLoadValidator,reportPanesValidator:new h.ReportPanesValidator,saveAsParametersValidator:new g.SaveAsParametersValidator,selectionPaneValidator:new h.SelectionPaneValidator,settingsValidator:new w.SettingsValidator,singleCommandSettingsValidator:new o.SingleCommandSettingsValidator,slicerSelectorValidator:new S.AnyOfValidator([new b.VisualSelectorValidator,new b.SlicerTargetSelectorValidator]),slicerStateValidator:new P.SlicerStateValidator,slicerTargetValidator:new S.AnyOfValidator([new c.FilterColumnTargetValidator,new c.FilterHierarchyTargetValidator,new c.FilterMeasureTargetValidator,new c.FilterKeyColumnsTargetValidator,new c.FilterKeyHierarchyTargetValidator]),slicerValidator:new P.SlicerValidator,stringArrayValidator:new R.StringArrayValidator,stringValidator:new R.StringValidator,syncSlicersPaneValidator:new h.SyncSlicersPaneValidator,tileLoadValidator:new _.TileLoadValidator,tokenTypeValidator:new R.EnumValidator([0,1]),topNFilterTypeValidator:new R.EnumValidator([5]),topNFilterValidator:new c.TopNFilterValidator,updateFiltersRequestValidator:new S.AnyOfValidator([new c.UpdateFiltersRequestValidator,new c.RemoveFiltersRequestValidator]),viewModeValidator:new R.EnumValidator([0,1]),visualCommandSelectorValidator:new S.AnyOfValidator([new b.VisualSelectorValidator,new b.VisualTypeSelectorValidator]),visualHeaderSelectorValidator:new S.AnyOfValidator([new b.VisualSelectorValidator,new b.VisualTypeSelectorValidator]),visualHeaderSettingsValidator:new O.VisualHeaderSettingsValidator,visualHeaderValidator:new O.VisualHeaderValidator,visualHeadersValidator:new R.ArrayValidator([new O.VisualHeaderValidator]),visualizationsPaneValidator:new h.VisualizationsPaneValidator,visualLayoutValidator:new p.VisualLayoutValidator,visualSelectorValidator:new b.VisualSelectorValidator,visualSettingsValidator:new O.VisualSettingsValidator,visualTypeSelectorValidator:new b.VisualTypeSelectorValidator}},function(t,e,r){var a,i=this&&this.__extends||(a=function(t,e){return(a=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])})(t,e)},function(t,e){function r(){this.constructor=t}a(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.ActionBarValidator=e.ReportBarsValidator=void 0;var o=r(3),n=r(4),l=r(1),s=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i(e,t),e.prototype.validate=function(e,r,a){if(null==e)return null;var i=t.prototype.validate.call(this,e,r,a);if(i)return i;var n=[{field:"actionBar",validators:[l.Validators.actionBarValidator]}];return new o.MultipleFieldsValidator(n).validate(e,r,a)},e}(n.ObjectValidator);e.ReportBarsValidator=s;var d=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i(e,t),e.prototype.validate=function(e,r,a){if(null==e)return null;var i=t.prototype.validate.call(this,e,r,a);if(i)return i;var n=[{field:"visible",validators:[l.Validators.booleanValidator]}];return new o.MultipleFieldsValidator(n).validate(e,r,a)},e}(n.ObjectValidator);e.ActionBarValidator=d},function(t,e){Object.defineProperty(e,"__esModule",{value:!0}),e.MultipleFieldsValidator=void 0;var r=function(){function t(t){this.fieldValidatorsPairs=t}return t.prototype.validate=function(t,e,r){if(!this.fieldValidatorsPairs)return null;for(var a=e?e+"."+r:r,i=0,o=this.fieldValidatorsPairs;i0&&i[i.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0?"&":"?";return t+=a+e+"="+r},e.isSavedInternal=function(t,e,i){return r(this,void 0,void 0,(function(){return a(this,(function(r){switch(r.label){case 0:return r.trys.push([0,2,,3]),[4,t.get("/report/hasUnsavedChanges",{uid:e},i)];case 1:return[2,!r.sent().body];case 2:throw r.sent().body;case 3:return[2]}}))}))},e.isRDLEmbed=function(t){return t.toLowerCase().indexOf("/rdlembed?")>=0},e.autoAuthInEmbedUrl=function(t){return t&&decodeURIComponent(t).toLowerCase().indexOf("autoauth=true")>=0},e.getRandomValue=o,e.getTimeDiffInMilliseconds=function(t,e){return Math.abs(t.getTime()-e.getTime())}},function(t,e){Object.defineProperty(e,"__esModule",{value:!0}),e.EmbedUrlNotSupported=e.APINotSupportedForRDLError=void 0,e.APINotSupportedForRDLError="This API is currently not supported for RDL reports",e.EmbedUrlNotSupported="Embed URL is invalid for this scenario. Please use Power BI REST APIs to get the valid URL"},function(t,e,r){var a,i=this&&this.__extends||(a=function(t,e){return(a=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])})(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}a(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}),o=this&&this.__awaiter||function(t,e,r,a){return new(r||(r=Promise))((function(i,o){function n(t){try{s(a.next(t))}catch(t){o(t)}}function l(t){try{s(a.throw(t))}catch(t){o(t)}}function s(t){var e;t.done?i(t.value):(e=t.value,e instanceof r?e:new r((function(t){t(e)}))).then(n,l)}s((a=a.apply(t,e||[])).next())}))},n=this&&this.__generator||function(t,e){var r,a,i,o,n={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:l(0),throw:l(1),return:l(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function l(o){return function(l){return function(o){if(r)throw new TypeError("Generator is already executing.");for(;n;)try{if(r=1,a&&(i=2&o[0]?a.return:o[0]?a.throw||((i=a.return)&&i.call(a),0):a.next)&&!(i=i.call(a,o[1])).done)return i;switch(a=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return n.label++,{value:o[1],done:!1};case 5:n.label++,a=o[1],o=[0];continue;case 7:o=n.ops.pop(),n.trys.pop();continue;default:if(!(i=n.trys,(i=i.length>0&&i[i.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]2&&"[]"===n.slice(l-2)&&(s=!0,r[n=n.slice(0,l-2)]||(r[n]=[])),i=o[1]?V(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(-1!==(a=t.indexOf("?"))){var l=t.substr(a+1,t.length);t=t.substr(0,a),o=this.parseQueryString(l)}for("/"!==(t=decodeURI(t)).charAt(0)&&(t="/"+t),(e=t.length)>1&&"/"===t.charAt(e-1)&&(t=t.substr(0,e-1),n=!0),r=0;r2&&"[]"===n.slice(l-2)&&(s=!0,r[n=n.slice(0,l-2)]||(r[n]=[])),i=o[1]?m(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(-1!==(a=t.indexOf("?"))){var l=t.substr(a+1,t.length);t=t.substr(0,a),o=this.parseQueryString(l)}for("/"!==(t=decodeURI(t)).charAt(0)&&(t="/"+t),(e=t.length)>1&&"/"===t.charAt(e-1)&&(t=t.substr(0,e-1),n=!0),r=0;r Date: Mon, 22 Mar 2021 17:58:49 +0200 Subject: [PATCH 062/125] Delete CHANGELOG.md --- CHANGELOG.md | 61 ---------------------------------------------------- 1 file changed, 61 deletions(-) delete mode 100644 CHANGELOG.md diff --git a/CHANGELOG.md b/CHANGELOG.md deleted file mode 100644 index 9e5bfa50..00000000 --- a/CHANGELOG.md +++ /dev/null @@ -1,61 +0,0 @@ -# 2.0.0-beta.1 (GA candidate) - -## Breaking - -- DOMContentLoaded handler is now opt-in instead of the default behavior - - Reasons: - - The primary use case will be using the core library within another library which may not have the DOM ready even if DOMContentLoaded has fired. - - Most developers using SPA applications will fetch embed data asynchronously and not know report data by the time the DOMContentLoaded has fired. - - How to opt-in to DOMContentLoaded: - - Call `enableAutoEmbed()` on an instance of the PowerBi service to add the event listener. - - Example: - ``` - - - ``` - - Alternately if you are creating an instance of the service you can pass a configuration parameter `autoEmbedOnContentLoaded` - - Example: - ``` - var powerbiService = new Powerbi({ autoEmbedOnContentLoaded: true }); - ``` -- `powerbi.get(element: HTMLElement)` now only returns the instance of powerbi component associated with the element and does not implicitly emebed. Use `powerbi.embed(element: HTMLElement, config: IEmbedOptions = {})`. - - Reasons: - - powerbi.embed performed the same function and is more semantic. - - Now that overwrite: true is the default behavior for .embed having a separate method (get) for only retrieving compnents is good separation of intents. -- Embed urls must be provided by the server and will not be constructed by the components. This implies that the attributes `powerbi-report` will no longer be used. - - Reasons: - - The construction of these urls was unreliable since it dependeded on assumptions about server configuration (target environment, component type, etc). - Since url would be incorrect in some cases it could cause trouble for developers. Also, since the sever is already returning access tokens it's trival for the server to also provide embed urls and this reduces complexity. - - Previously you could supply the embed information in two ways: - - 1. Using report id: - - `
` - - This would implicitly construct the embed url to be something like: `https://embedded.powerbi.com/reports/5dac7a4a-4452-46b3-99f6-a25915e0fe55` - However - - 2. Using embed url: - - `
` - - Now only the latter options (#2) is supported. - -- Embed url attribute changed from `powerbi-embed` to `powerbi-embed-url` -- Component type is specified by attribute `powerbi-type`. Use `powerbi-type="report"` instead of applying the attribute `powerbi-report` -- Configuration settings attributes all start with prefix `powerbi-settings-`. - -## Changes - -- Fix bug to prevent memory leak of holding references to iframe elements which had been removed from the DOM. -- Detect overwriting container with new component and either throw error or properly cleanup and replace old component based on `config.overwrite` setting. -- Fix bug with prematurely attempting to parse post message data until it is known that it originated from embedded iframe. - -# 1.0.0 (Preview) \ No newline at end of file From b2fe31c25b6751c4d15f98fa2b7171f1e5f55cd4 Mon Sep 17 00:00:00 2001 From: Shahak Yosef Date: Mon, 22 Mar 2021 16:48:45 +0000 Subject: [PATCH 063/125] Merged PR 156321: Deleted CHANGELOG.md File was not updated since 2016 --- CHANGELOG.md | 61 ---------------------------------------------------- 1 file changed, 61 deletions(-) delete mode 100644 CHANGELOG.md diff --git a/CHANGELOG.md b/CHANGELOG.md deleted file mode 100644 index 9e5bfa50..00000000 --- a/CHANGELOG.md +++ /dev/null @@ -1,61 +0,0 @@ -# 2.0.0-beta.1 (GA candidate) - -## Breaking - -- DOMContentLoaded handler is now opt-in instead of the default behavior - - Reasons: - - The primary use case will be using the core library within another library which may not have the DOM ready even if DOMContentLoaded has fired. - - Most developers using SPA applications will fetch embed data asynchronously and not know report data by the time the DOMContentLoaded has fired. - - How to opt-in to DOMContentLoaded: - - Call `enableAutoEmbed()` on an instance of the PowerBi service to add the event listener. - - Example: - ``` - - - ``` - - Alternately if you are creating an instance of the service you can pass a configuration parameter `autoEmbedOnContentLoaded` - - Example: - ``` - var powerbiService = new Powerbi({ autoEmbedOnContentLoaded: true }); - ``` -- `powerbi.get(element: HTMLElement)` now only returns the instance of powerbi component associated with the element and does not implicitly emebed. Use `powerbi.embed(element: HTMLElement, config: IEmbedOptions = {})`. - - Reasons: - - powerbi.embed performed the same function and is more semantic. - - Now that overwrite: true is the default behavior for .embed having a separate method (get) for only retrieving compnents is good separation of intents. -- Embed urls must be provided by the server and will not be constructed by the components. This implies that the attributes `powerbi-report` will no longer be used. - - Reasons: - - The construction of these urls was unreliable since it dependeded on assumptions about server configuration (target environment, component type, etc). - Since url would be incorrect in some cases it could cause trouble for developers. Also, since the sever is already returning access tokens it's trival for the server to also provide embed urls and this reduces complexity. - - Previously you could supply the embed information in two ways: - - 1. Using report id: - - `
` - - This would implicitly construct the embed url to be something like: `https://embedded.powerbi.com/reports/5dac7a4a-4452-46b3-99f6-a25915e0fe55` - However - - 2. Using embed url: - - `
` - - Now only the latter options (#2) is supported. - -- Embed url attribute changed from `powerbi-embed` to `powerbi-embed-url` -- Component type is specified by attribute `powerbi-type`. Use `powerbi-type="report"` instead of applying the attribute `powerbi-report` -- Configuration settings attributes all start with prefix `powerbi-settings-`. - -## Changes - -- Fix bug to prevent memory leak of holding references to iframe elements which had been removed from the DOM. -- Detect overwriting container with new component and either throw error or properly cleanup and replace old component based on `config.overwrite` setting. -- Fix bug with prematurely attempting to parse post message data until it is known that it originated from embedded iframe. - -# 1.0.0 (Preview) \ No newline at end of file From d92a263ed0456b81ea00895f23f89aaf29ab78b2 Mon Sep 17 00:00:00 2001 From: Shahak Yosef Date: Wed, 5 May 2021 11:17:29 +0000 Subject: [PATCH 064/125] Merged PR 165777: Merlin config --- .config/merlinbot/nudge.yaml | 16 ++++++++++++++++ .config/merlinbot/reviewerrecommender.yaml | 13 +++++++++++++ 2 files changed, 29 insertions(+) create mode 100644 .config/merlinbot/nudge.yaml create mode 100644 .config/merlinbot/reviewerrecommender.yaml diff --git a/.config/merlinbot/nudge.yaml b/.config/merlinbot/nudge.yaml new file mode 100644 index 00000000..85d09de5 --- /dev/null +++ b/.config/merlinbot/nudge.yaml @@ -0,0 +1,16 @@ +# To enable or disable +enabled: true +# How many reviewers to Nudge in comment? +maxReviewersToNudge: 3 +# Do not nudge users that are included in the following list +excludeUsers: + - neryac@microsoft.com + - shyosef@microsoft.com +# - user2@microsoft.com +# Do not nudge PRs authored by users that are included in the following list +excludePrsFromAuthors: + - shyosef@microsoft.com +# To enable or disable early nudge on pull requests +enableEarlyNudge: false +# Number of days to wait after a pull request is created, to analyze it for an early nudge +earlyNudgeThresholdDays: 1 \ No newline at end of file diff --git a/.config/merlinbot/reviewerrecommender.yaml b/.config/merlinbot/reviewerrecommender.yaml new file mode 100644 index 00000000..d9799975 --- /dev/null +++ b/.config/merlinbot/reviewerrecommender.yaml @@ -0,0 +1,13 @@ +# Enable/Disable recommender +enabled: true +# How many reviewers to add? +maxReviewers: 2 +# Exclude files/paths in PR to be considered for recommendation +# Please note, these have to specified as a valid GIT based path regex +#excludedPaths: +# - ^/private/Product/PowerBI/IntegrationNuGetPackages/ +# - ^/private/Product/PowerBI/NuGetPackages/ +# Do not make recommendations for reviewers that are included in the following list +excludedReviewers: + - shyosef@microsoft.com + - neryac@microsoft.com \ No newline at end of file From 01f10a3c824df1d9ddff649f9efc57b33e5f0825 Mon Sep 17 00:00:00 2001 From: Shahak Yosef Date: Thu, 20 May 2021 10:19:50 +0000 Subject: [PATCH 065/125] Merged PR 172763: Throw error is access token is empty If setAccessToken is empty we need to throw an error. --- dist/powerbi-client.d.ts | 2 +- dist/powerbi.js | 7 +++++-- dist/powerbi.min.js | 4 ++-- package.json | 2 +- src/config.ts | 2 +- src/embed.ts | 3 +++ 6 files changed, 13 insertions(+), 7 deletions(-) diff --git a/dist/powerbi-client.d.ts b/dist/powerbi-client.d.ts index ddf016f9..4dff3966 100644 --- a/dist/powerbi-client.d.ts +++ b/dist/powerbi-client.d.ts @@ -1,4 +1,4 @@ -// powerbi-client v2.18.0 +// powerbi-client v2.18.1 // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. declare module "util" { diff --git a/dist/powerbi.js b/dist/powerbi.js index 87fcc327..612f8128 100644 --- a/dist/powerbi.js +++ b/dist/powerbi.js @@ -1,4 +1,4 @@ -// powerbi-client v2.18.0 +// powerbi-client v2.18.1 // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. (function webpackUniversalModuleDefinition(root, factory) { @@ -6388,7 +6388,7 @@ exports.BookmarksManager = BookmarksManager; Object.defineProperty(exports, "__esModule", { value: true }); /** @ignore */ /** */ var config = { - version: '2.18.0', + version: '2.18.1', type: 'js' }; exports.default = config; @@ -7075,6 +7075,9 @@ var Embed = /** @class */ (function () { return __generator(this, function (_a) { switch (_a.label) { case 0: + if (!accessToken) { + throw new Error("Access token cannot be empty"); + } embedType = this.config.type; embedType = (embedType === 'create' || embedType === 'visual' || embedType === 'qna') ? 'report' : embedType; _a.label = 1; diff --git a/dist/powerbi.min.js b/dist/powerbi.min.js index d038918b..edb0d67e 100644 --- a/dist/powerbi.min.js +++ b/dist/powerbi.min.js @@ -1,7 +1,7 @@ -// powerbi-client v2.18.0 +// powerbi-client v2.18.1 // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. -!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){var e={};function r(a){if(e[a])return e[a].exports;var i=e[a]={i:a,l:!1,exports:{}};return t[a].call(i.exports,i,i.exports,r),i.l=!0,i.exports}return r.m=t,r.c=e,r.d=function(t,e,a){r.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:a})},r.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},r.t=function(t,e){if(1&e&&(t=r(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var a=Object.create(null);if(r.r(a),Object.defineProperty(a,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var i in t)r.d(a,i,function(e){return t[e]}.bind(null,i));return a},r.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return r.d(e,"a",e),e},r.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},r.p="",r(r.s=12)}([function(t,e,r){var a;a=function(){return function(t){var e={};function r(a){if(e[a])return e[a].exports;var i=e[a]={i:a,l:!1,exports:{}};return t[a].call(i.exports,i,i.exports,r),i.l=!0,i.exports}return r.m=t,r.c=e,r.d=function(t,e,a){r.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:a})},r.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},r.t=function(t,e){if(1&e&&(t=r(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var a=Object.create(null);if(r.r(a),Object.defineProperty(a,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var i in t)r.d(a,i,function(e){return t[e]}.bind(null,i));return a},r.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return r.d(e,"a",e),e},r.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},r.p="",r(r.s=0)}([function(t,e,r){var a,i=this&&this.__extends||(a=function(t,e){return(a=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])})(t,e)},function(t,e){function r(){this.constructor=t}a(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.validateCustomTheme=e.validateCommandsSettings=e.validateVisualSettings=e.validateVisualHeader=e.validateExportDataRequest=e.validateQnaInterpretInputData=e.validateLoadQnaConfiguration=e.validateSaveAsParameters=e.validateUpdateFiltersRequest=e.validateFilter=e.validatePage=e.validateTileLoad=e.validateDashboardLoad=e.validateCreateReport=e.validatePaginatedReportLoad=e.validateReportLoad=e.validateMenuGroupExtension=e.validateExtension=e.validateCustomPageSize=e.validateVisualizationsPane=e.validateSyncSlicersPane=e.validateSelectionPane=e.validatePageNavigationPane=e.validateFieldsPane=e.validateFiltersPane=e.validateBookmarksPane=e.validatePanes=e.validateSettings=e.validateCaptureBookmarkRequest=e.validateApplyBookmarkStateRequest=e.validateApplyBookmarkByNameRequest=e.validateAddBookmarkRequest=e.validatePlayBookmarkRequest=e.validateSlicerState=e.validateSlicer=e.validateVisualSelector=e.isIExtensionArray=e.isIExtensions=e.isGroupedMenuExtension=e.isFlatMenuExtension=e.isReportFiltersArray=e.isOnLoadFilters=e.VisualDataRoleKindPreference=e.VisualDataRoleKind=e.CommandDisplayOption=e.SlicerTargetSelector=e.VisualTypeSelector=e.VisualSelector=e.PageSelector=e.Selector=e.SortDirection=e.LegendPosition=e.TextAlignment=e.CommonErrorCodes=e.BookmarksPlayMode=e.ExportDataType=e.QnaMode=e.PageNavigationPosition=e.isColumnAggr=e.isHierarchyLevelAggr=e.isHierarchyLevel=e.isColumn=e.isMeasure=e.getFilterType=e.isBasicFilterWithKeys=e.isFilterKeyColumnsTarget=e.AdvancedFilter=e.TupleFilter=e.BasicFilterWithKeys=e.BasicFilter=e.RelativeTimeFilter=e.RelativeDateFilter=e.TopNFilter=e.IncludeExcludeFilter=e.NotSupportedFilter=e.Filter=e.RelativeDateOperators=e.RelativeDateFilterTimeUnit=e.FilterType=e.FiltersLevel=e.FiltersOperations=e.MenuLocation=e.ContrastMode=e.TokenType=e.ViewMode=e.Permissions=e.SectionVisibility=e.HyperlinkClickBehavior=e.LayoutType=e.VisualContainerDisplayMode=e.BackgroundType=e.DisplayOption=e.PageSizeType=e.TraceType=void 0;var o,n=r(1);!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"}(e.TraceType||(e.TraceType={})),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"}(e.PageSizeType||(e.PageSizeType={})),function(t){t[t.FitToPage=0]="FitToPage",t[t.FitToWidth=1]="FitToWidth",t[t.ActualSize=2]="ActualSize"}(e.DisplayOption||(e.DisplayOption={})),function(t){t[t.Default=0]="Default",t[t.Transparent=1]="Transparent"}(e.BackgroundType||(e.BackgroundType={})),function(t){t[t.Visible=0]="Visible",t[t.Hidden=1]="Hidden"}(e.VisualContainerDisplayMode||(e.VisualContainerDisplayMode={})),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={})),function(t){t[t.Navigate=0]="Navigate",t[t.NavigateAndRaiseEvent=1]="NavigateAndRaiseEvent",t[t.RaiseEvent=2]="RaiseEvent"}(e.HyperlinkClickBehavior||(e.HyperlinkClickBehavior={})),function(t){t[t.AlwaysVisible=0]="AlwaysVisible",t[t.HiddenInViewMode=1]="HiddenInViewMode"}(e.SectionVisibility||(e.SectionVisibility={})),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"}(e.Permissions||(e.Permissions={})),function(t){t[t.View=0]="View",t[t.Edit=1]="Edit"}(e.ViewMode||(e.ViewMode={})),function(t){t[t.Aad=0]="Aad",t[t.Embed=1]="Embed"}(e.TokenType||(e.TokenType={})),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"}(e.ContrastMode||(e.ContrastMode={})),function(t){t[t.Bottom=0]="Bottom",t[t.Top=1]="Top"}(e.MenuLocation||(e.MenuLocation={})),function(t){t[t.RemoveAll=0]="RemoveAll",t[t.ReplaceAll=1]="ReplaceAll",t[t.Add=2]="Add",t[t.Replace=3]="Replace"}(e.FiltersOperations||(e.FiltersOperations={})),function(t){t[t.Report=0]="Report",t[t.Page=1]="Page",t[t.Visual=2]="Visual"}(e.FiltersLevel||(e.FiltersLevel={})),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"}(o=e.FilterType||(e.FilterType={})),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"}(e.RelativeDateFilterTimeUnit||(e.RelativeDateFilterTimeUnit={})),function(t){t[t.InLast=0]="InLast",t[t.InThis=1]="InThis",t[t.InNext=2]="InNext"}(e.RelativeDateOperators||(e.RelativeDateOperators={}));var l=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=l;var s=function(t){function e(r,a,i){var n=t.call(this,r,o.Unknown)||this;return n.message=a,n.notSupportedTypeName=i,n.schemaUrl=e.schemaUrl,n}return i(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}(l);e.NotSupportedFilter=s;var d=function(t){function e(r,a,i){var n=t.call(this,r,o.IncludeExclude)||this;return n.values=i,n.isExclude=a,n.schemaUrl=e.schemaUrl,n}return i(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}(l);e.IncludeExcludeFilter=d;var u=function(t){function e(r,a,i,n){var l=t.call(this,r,o.TopN)||this;return l.operator=a,l.itemCount=i,l.schemaUrl=e.schemaUrl,l.orderBy=n,l}return i(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}(l);e.TopNFilter=u;var c=function(t){function e(r,a,i,n,l){var s=t.call(this,r,o.RelativeDate)||this;return s.operator=a,s.timeUnitsCount=i,s.timeUnitType=n,s.includeToday=l,s.schemaUrl=e.schemaUrl,s}return i(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}(l);e.RelativeDateFilter=c;var p=function(t){function e(r,a,i,n){var l=t.call(this,r,o.RelativeTime)||this;return l.operator=a,l.timeUnitsCount=i,l.timeUnitType=n,l.schemaUrl=e.schemaUrl,l}return i(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}(l);e.RelativeTimeFilter=p;var f=function(t){function e(r,a){for(var i=[],n=2;n0&&!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,s=o.keyValues;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 s.conditions=l,s}return i(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}(l);function V(t){if(t.filterType)return t.filterType;var e=t,r=t;return"string"==typeof e.operator&&Array.isArray(e.values)?o.Basic:"string"==typeof r.logicalOperator&&Array.isArray(r.conditions)?o.Advanced:o.Unknown}function m(t){return!(!t.table||!t.column||t.aggregationFunction)}e.AdvancedFilter=y,e.isFilterKeyColumnsTarget=function(t){return m(t)&&!!t.keys},e.isBasicFilterWithKeys=function(t){return V(t)===o.Basic&&!!t.keyValues},e.getFilterType=V,e.isMeasure=function(t){return void 0!==t.table&&void 0!==t.measure},e.isColumn=m,e.isHierarchyLevel=function(t){return!(!(t.table&&t.hierarchy&&t.hierarchyLevel)||t.aggregationFunction)},e.isHierarchyLevelAggr=function(t){return!!(t.table&&t.hierarchy&&t.hierarchyLevel&&t.aggregationFunction)},e.isColumnAggr=function(t){return!!(t.table&&t.column&&t.aggregationFunction)},function(t){t[t.Bottom=0]="Bottom",t[t.Left=1]="Left"}(e.PageNavigationPosition||(e.PageNavigationPosition={})),function(t){t[t.Interactive=0]="Interactive",t[t.ResultOnly=1]="ResultOnly"}(e.QnaMode||(e.QnaMode={})),function(t){t[t.Summarized=0]="Summarized",t[t.Underlying=1]="Underlying"}(e.ExportDataType||(e.ExportDataType={})),function(t){t[t.Off=0]="Off",t[t.Presentation=1]="Presentation"}(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"},function(t){t[t.Ascending=1]="Ascending",t[t.Descending=2]="Descending"}(e.SortDirection||(e.SortDirection={}));var g=function(){function t(t){this.$schema=t}return t.prototype.toJSON=function(){return{$schema:this.$schema}},t}();e.Selector=g;var b=function(t){function e(r){var a=t.call(this,e.schemaUrl)||this;return a.pageName=r,a}return i(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}(g);e.PageSelector=b;var w=function(t){function e(r){var a=t.call(this,e.schemaUrl)||this;return a.visualName=r,a}return i(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}(g);e.VisualSelector=w;var P=function(t){function e(e){var r=t.call(this,w.schemaUrl)||this;return r.visualType=e,r}return i(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}(g);e.VisualTypeSelector=P;var _=function(t){function e(e){var r=t.call(this,w.schemaUrl)||this;return r.target=e,r}return i(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}(g);function O(t){return Array.isArray(t)}function S(t){return t&&!!t.groupName}function E(t){return Array.isArray(t)}function T(t){var e=t.message;return e||(e=t.path+" is invalid. Not meeting "+t.keyword+" constraint"),{message:e}}e.SlicerTargetSelector=_,function(t){t[t.Enabled=0]="Enabled",t[t.Disabled=1]="Disabled",t[t.Hidden=2]="Hidden"}(e.CommandDisplayOption||(e.CommandDisplayOption={})),function(t){t[t.Grouping=0]="Grouping",t[t.Measure=1]="Measure",t[t.GroupingOrMeasure=2]="GroupingOrMeasure"}(e.VisualDataRoleKind||(e.VisualDataRoleKind={})),function(t){t[t.Measure=0]="Measure",t[t.Grouping=1]="Grouping"}(e.VisualDataRoleKindPreference||(e.VisualDataRoleKindPreference={})),e.isOnLoadFilters=function(t){return t&&!O(t)},e.isReportFiltersArray=O,e.isFlatMenuExtension=function(t){return t&&!S(t)},e.isGroupedMenuExtension=S,e.isIExtensions=function(t){return t&&!E(t)},e.isIExtensionArray=E,e.validateVisualSelector=function(t){var e=n.Validators.visualSelectorValidator.validate(t);return e?e.map(T):void 0},e.validateSlicer=function(t){var e=n.Validators.slicerValidator.validate(t);return e?e.map(T):void 0},e.validateSlicerState=function(t){var e=n.Validators.slicerStateValidator.validate(t);return e?e.map(T):void 0},e.validatePlayBookmarkRequest=function(t){var e=n.Validators.playBookmarkRequestValidator.validate(t);return e?e.map(T):void 0},e.validateAddBookmarkRequest=function(t){var e=n.Validators.addBookmarkRequestValidator.validate(t);return e?e.map(T):void 0},e.validateApplyBookmarkByNameRequest=function(t){var e=n.Validators.applyBookmarkByNameRequestValidator.validate(t);return e?e.map(T):void 0},e.validateApplyBookmarkStateRequest=function(t){var e=n.Validators.applyBookmarkStateRequestValidator.validate(t);return e?e.map(T):void 0},e.validateCaptureBookmarkRequest=function(t){var e=n.Validators.captureBookmarkRequestValidator.validate(t);return e?e.map(T):void 0},e.validateSettings=function(t){var e=n.Validators.settingsValidator.validate(t);return e?e.map(T):void 0},e.validatePanes=function(t){var e=n.Validators.reportPanesValidator.validate(t);return e?e.map(T):void 0},e.validateBookmarksPane=function(t){var e=n.Validators.bookmarksPaneValidator.validate(t);return e?e.map(T):void 0},e.validateFiltersPane=function(t){var e=n.Validators.filtersPaneValidator.validate(t);return e?e.map(T):void 0},e.validateFieldsPane=function(t){var e=n.Validators.fieldsPaneValidator.validate(t);return e?e.map(T):void 0},e.validatePageNavigationPane=function(t){var e=n.Validators.pageNavigationPaneValidator.validate(t);return e?e.map(T):void 0},e.validateSelectionPane=function(t){var e=n.Validators.selectionPaneValidator.validate(t);return e?e.map(T):void 0},e.validateSyncSlicersPane=function(t){var e=n.Validators.syncSlicersPaneValidator.validate(t);return e?e.map(T):void 0},e.validateVisualizationsPane=function(t){var e=n.Validators.visualizationsPaneValidator.validate(t);return e?e.map(T):void 0},e.validateCustomPageSize=function(t){var e=n.Validators.customPageSizeValidator.validate(t);return e?e.map(T):void 0},e.validateExtension=function(t){var e=n.Validators.extensionValidator.validate(t);return e?e.map(T):void 0},e.validateMenuGroupExtension=function(t){var e=n.Validators.menuGroupExtensionValidator.validate(t);return e?e.map(T):void 0},e.validateReportLoad=function(t){var e=n.Validators.reportLoadValidator.validate(t);return e?e.map(T):void 0},e.validatePaginatedReportLoad=function(t){var e=n.Validators.paginatedReportLoadValidator.validate(t);return e?e.map(T):void 0},e.validateCreateReport=function(t){var e=n.Validators.reportCreateValidator.validate(t);return e?e.map(T):void 0},e.validateDashboardLoad=function(t){var e=n.Validators.dashboardLoadValidator.validate(t);return e?e.map(T):void 0},e.validateTileLoad=function(t){var e=n.Validators.tileLoadValidator.validate(t);return e?e.map(T):void 0},e.validatePage=function(t){var e=n.Validators.pageValidator.validate(t);return e?e.map(T):void 0},e.validateFilter=function(t){var e=n.Validators.filterValidator.validate(t);return e?e.map(T):void 0},e.validateUpdateFiltersRequest=function(t){var e=n.Validators.updateFiltersRequestValidator.validate(t);return e?e.map(T):void 0},e.validateSaveAsParameters=function(t){var e=n.Validators.saveAsParametersValidator.validate(t);return e?e.map(T):void 0},e.validateLoadQnaConfiguration=function(t){var e=n.Validators.loadQnaValidator.validate(t);return e?e.map(T):void 0},e.validateQnaInterpretInputData=function(t){var e=n.Validators.qnaInterpretInputDataValidator.validate(t);return e?e.map(T):void 0},e.validateExportDataRequest=function(t){var e=n.Validators.exportDataRequestValidator.validate(t);return e?e.map(T):void 0},e.validateVisualHeader=function(t){var e=n.Validators.visualHeaderValidator.validate(t);return e?e.map(T):void 0},e.validateVisualSettings=function(t){var e=n.Validators.visualSettingsValidator.validate(t);return e?e.map(T):void 0},e.validateCommandsSettings=function(t){var e=n.Validators.commandsSettingsValidator.validate(t);return e?e.map(T):void 0},e.validateCustomTheme=function(t){var e=n.Validators.customThemeValidator.validate(t);return e?e.map(T):void 0}},function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.Validators=void 0;var a=r(2),i=r(5),o=r(6),n=r(7),l=r(8),s=r(9),d=r(10),u=r(11),c=r(12),p=r(13),f=r(14),h=r(15),v=r(16),y=r(17),V=r(18),m=r(19),g=r(20),b=r(21),w=r(22),P=r(23),_=r(24),O=r(25),S=r(26),E=r(27),T=r(28),F=r(29),R=r(4),k=r(30);e.Validators={addBookmarkRequestValidator:new i.AddBookmarkRequestValidator,advancedFilterTypeValidator:new R.EnumValidator([0]),advancedFilterValidator:new c.AdvancedFilterValidator,anyArrayValidator:new R.ArrayValidator([new S.AnyOfValidator([new R.StringValidator,new R.NumberValidator,new R.BooleanValidator])]),anyFilterValidator:new S.AnyOfValidator([new c.BasicFilterValidator,new c.AdvancedFilterValidator,new c.IncludeExcludeFilterValidator,new c.NotSupportedFilterValidator,new c.RelativeDateFilterValidator,new c.TopNFilterValidator,new c.RelativeTimeFilterValidator]),anyValueValidator:new S.AnyOfValidator([new R.StringValidator,new R.NumberValidator,new R.BooleanValidator]),actionBarValidator:new a.ActionBarValidator,applyBookmarkByNameRequestValidator:new i.ApplyBookmarkByNameRequestValidator,applyBookmarkStateRequestValidator:new i.ApplyBookmarkStateRequestValidator,applyBookmarkValidator:new S.AnyOfValidator([new i.ApplyBookmarkByNameRequestValidator,new i.ApplyBookmarkStateRequestValidator]),backgroundValidator:new R.EnumValidator([0,1]),basicFilterTypeValidator:new R.EnumValidator([1]),basicFilterValidator:new c.BasicFilterValidator,booleanArrayValidator:new R.BooleanArrayValidator,booleanValidator:new R.BooleanValidator,bookmarksPaneValidator:new h.BookmarksPaneValidator,captureBookmarkOptionsValidator:new i.CaptureBookmarkOptionsValidator,captureBookmarkRequestValidator:new i.CaptureBookmarkRequestValidator,commandDisplayOptionValidator:new R.EnumValidator([0,1,2]),commandExtensionSelectorValidator:new S.AnyOfValidator([new b.VisualSelectorValidator,new b.VisualTypeSelectorValidator]),commandExtensionArrayValidator:new R.ArrayValidator([new u.CommandExtensionValidator]),commandExtensionValidator:new u.CommandExtensionValidator,commandsSettingsArrayValidator:new R.ArrayValidator([new o.CommandsSettingsValidator]),commandsSettingsValidator:new o.CommandsSettingsValidator,conditionItemValidator:new c.ConditionItemValidator,contrastModeValidator:new R.EnumValidator([0,1,2,3,4]),customLayoutDisplayOptionValidator:new R.EnumValidator([0,1,2]),customLayoutValidator:new p.CustomLayoutValidator,customPageSizeValidator:new f.CustomPageSizeValidator,customThemeValidator:new n.CustomThemeValidator,dashboardLoadValidator:new l.DashboardLoadValidator,datasetBindingValidator:new s.DatasetBindingValidator,displayStateModeValidator:new R.EnumValidator([0,1]),displayStateValidator:new p.DisplayStateValidator,exportDataRequestValidator:new d.ExportDataRequestValidator,extensionArrayValidator:new R.ArrayValidator([new u.ExtensionValidator]),extensionsValidator:new S.AnyOfValidator([new R.ArrayValidator([new u.ExtensionValidator]),new u.ExtensionsValidator]),extensionPointsValidator:new u.ExtensionPointsValidator,extensionValidator:new u.ExtensionValidator,fieldForbiddenValidator:new E.FieldForbiddenValidator,fieldRequiredValidator:new T.FieldRequiredValidator,fieldsPaneValidator:new h.FieldsPaneValidator,filterColumnTargetValidator:new c.FilterColumnTargetValidator,filterDisplaySettingsValidator:new c.FilterDisplaySettingsValidator,filterConditionsValidator:new R.ArrayValidator([new c.ConditionItemValidator]),filterHierarchyTargetValidator:new c.FilterHierarchyTargetValidator,filterMeasureTargetValidator:new c.FilterMeasureTargetValidator,filterTargetValidator:new S.AnyOfValidator([new c.FilterColumnTargetValidator,new c.FilterHierarchyTargetValidator,new c.FilterMeasureTargetValidator]),filterValidator:new c.FilterValidator,filterTypeValidator:new R.EnumValidator([0,1,2,3,4,5,6,7]),filtersArrayValidator:new R.ArrayValidator([new c.FilterValidator]),filtersOperationsUpdateValidator:new R.EnumValidator([1,2,3]),filtersOperationsRemoveAllValidator:new R.EnumValidator([0]),filtersPaneValidator:new h.FiltersPaneValidator,hyperlinkClickBehaviorValidator:new R.EnumValidator([0,1,2]),includeExcludeFilterValidator:new c.IncludeExcludeFilterValidator,includeExludeFilterTypeValidator:new R.EnumValidator([3]),layoutTypeValidator:new R.EnumValidator([0,1,2,3]),loadQnaValidator:new v.LoadQnaValidator,menuExtensionValidator:new S.AnyOfValidator([new u.FlatMenuExtensionValidator,new u.GroupedMenuExtensionValidator]),menuGroupExtensionArrayValidator:new R.ArrayValidator([new u.MenuGroupExtensionValidator]),menuGroupExtensionValidator:new u.MenuGroupExtensionValidator,menuLocationValidator:new R.EnumValidator([0,1]),notSupportedFilterTypeValidator:new R.EnumValidator([2]),notSupportedFilterValidator:new c.NotSupportedFilterValidator,numberArrayValidator:new R.NumberArrayValidator,numberValidator:new R.NumberValidator,onLoadFiltersBaseValidator:new S.AnyOfValidator([new c.OnLoadFiltersBaseValidator,new c.OnLoadFiltersBaseRemoveOperationValidator]),pageLayoutValidator:new F.MapValidator([new R.StringValidator],[new p.VisualLayoutValidator]),pageNavigationPaneValidator:new h.PageNavigationPaneValidator,pageNavigationPositionValidator:new R.EnumValidator([0,1]),pageSizeTypeValidator:new R.EnumValidator([0,1,2,3,4,5]),pageSizeValidator:new f.PageSizeValidator,pageValidator:new f.PageValidator,pageViewFieldValidator:new f.PageViewFieldValidator,pagesLayoutValidator:new F.MapValidator([new R.StringValidator],[new p.PageLayoutValidator]),paginatedReportCommandsValidator:new o.PaginatedReportCommandsValidator,paginatedReportLoadValidator:new m.PaginatedReportLoadValidator,paginatedReportsettingsValidator:new w.PaginatedReportSettingsValidator,parametersPanelValidator:new k.ParametersPanelValidator,permissionsValidator:new R.EnumValidator([0,1,2,4,7]),playBookmarkRequestValidator:new i.PlayBookmarkRequestValidator,qnaInterpretInputDataValidator:new v.QnaInterpretInputDataValidator,qnaPanesValidator:new h.QnaPanesValidator,qnaSettingValidator:new v.QnaSettingsValidator,relativeDateFilterOperatorValidator:new R.EnumValidator([0,1,2]),relativeDateFilterTimeUnitTypeValidator:new R.EnumValidator([0,1,2,3,4,5,6]),relativeDateFilterTypeValidator:new R.EnumValidator([4]),relativeDateFilterValidator:new c.RelativeDateFilterValidator,relativeDateTimeFilterTypeValidator:new R.EnumValidator([4,7]),relativeDateTimeFilterUnitTypeValidator:new R.EnumValidator([0,1,2,3,4,5,6,7,8]),relativeTimeFilterTimeUnitTypeValidator:new R.EnumValidator([7,8]),relativeTimeFilterTypeValidator:new R.EnumValidator([7]),relativeTimeFilterValidator:new c.RelativeTimeFilterValidator,reportBarsValidator:new a.ReportBarsValidator,reportCreateValidator:new y.ReportCreateValidator,reportLoadFiltersValidator:new S.AnyOfValidator([new R.ArrayValidator([new c.FilterValidator]),new c.OnLoadFiltersValidator]),reportLoadValidator:new V.ReportLoadValidator,reportPanesValidator:new h.ReportPanesValidator,saveAsParametersValidator:new g.SaveAsParametersValidator,selectionPaneValidator:new h.SelectionPaneValidator,settingsValidator:new w.SettingsValidator,singleCommandSettingsValidator:new o.SingleCommandSettingsValidator,slicerSelectorValidator:new S.AnyOfValidator([new b.VisualSelectorValidator,new b.SlicerTargetSelectorValidator]),slicerStateValidator:new P.SlicerStateValidator,slicerTargetValidator:new S.AnyOfValidator([new c.FilterColumnTargetValidator,new c.FilterHierarchyTargetValidator,new c.FilterMeasureTargetValidator,new c.FilterKeyColumnsTargetValidator,new c.FilterKeyHierarchyTargetValidator]),slicerValidator:new P.SlicerValidator,stringArrayValidator:new R.StringArrayValidator,stringValidator:new R.StringValidator,syncSlicersPaneValidator:new h.SyncSlicersPaneValidator,tileLoadValidator:new _.TileLoadValidator,tokenTypeValidator:new R.EnumValidator([0,1]),topNFilterTypeValidator:new R.EnumValidator([5]),topNFilterValidator:new c.TopNFilterValidator,updateFiltersRequestValidator:new S.AnyOfValidator([new c.UpdateFiltersRequestValidator,new c.RemoveFiltersRequestValidator]),viewModeValidator:new R.EnumValidator([0,1]),visualCommandSelectorValidator:new S.AnyOfValidator([new b.VisualSelectorValidator,new b.VisualTypeSelectorValidator]),visualHeaderSelectorValidator:new S.AnyOfValidator([new b.VisualSelectorValidator,new b.VisualTypeSelectorValidator]),visualHeaderSettingsValidator:new O.VisualHeaderSettingsValidator,visualHeaderValidator:new O.VisualHeaderValidator,visualHeadersValidator:new R.ArrayValidator([new O.VisualHeaderValidator]),visualizationsPaneValidator:new h.VisualizationsPaneValidator,visualLayoutValidator:new p.VisualLayoutValidator,visualSelectorValidator:new b.VisualSelectorValidator,visualSettingsValidator:new O.VisualSettingsValidator,visualTypeSelectorValidator:new b.VisualTypeSelectorValidator}},function(t,e,r){var a,i=this&&this.__extends||(a=function(t,e){return(a=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])})(t,e)},function(t,e){function r(){this.constructor=t}a(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.ActionBarValidator=e.ReportBarsValidator=void 0;var o=r(3),n=r(4),l=r(1),s=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i(e,t),e.prototype.validate=function(e,r,a){if(null==e)return null;var i=t.prototype.validate.call(this,e,r,a);if(i)return i;var n=[{field:"actionBar",validators:[l.Validators.actionBarValidator]}];return new o.MultipleFieldsValidator(n).validate(e,r,a)},e}(n.ObjectValidator);e.ReportBarsValidator=s;var d=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i(e,t),e.prototype.validate=function(e,r,a){if(null==e)return null;var i=t.prototype.validate.call(this,e,r,a);if(i)return i;var n=[{field:"visible",validators:[l.Validators.booleanValidator]}];return new o.MultipleFieldsValidator(n).validate(e,r,a)},e}(n.ObjectValidator);e.ActionBarValidator=d},function(t,e){Object.defineProperty(e,"__esModule",{value:!0}),e.MultipleFieldsValidator=void 0;var r=function(){function t(t){this.fieldValidatorsPairs=t}return t.prototype.validate=function(t,e,r){if(!this.fieldValidatorsPairs)return null;for(var a=e?e+"."+r:r,i=0,o=this.fieldValidatorsPairs;i0&&i[i.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0?"&":"?";return t+=a+e+"="+r},e.isSavedInternal=function(t,e,i){return r(this,void 0,void 0,(function(){return a(this,(function(r){switch(r.label){case 0:return r.trys.push([0,2,,3]),[4,t.get("/report/hasUnsavedChanges",{uid:e},i)];case 1:return[2,!r.sent().body];case 2:throw r.sent().body;case 3:return[2]}}))}))},e.isRDLEmbed=function(t){return t.toLowerCase().indexOf("/rdlembed?")>=0},e.autoAuthInEmbedUrl=function(t){return t&&decodeURIComponent(t).toLowerCase().indexOf("autoauth=true")>=0},e.getRandomValue=o,e.getTimeDiffInMilliseconds=function(t,e){return Math.abs(t.getTime()-e.getTime())}},function(t,e){Object.defineProperty(e,"__esModule",{value:!0}),e.EmbedUrlNotSupported=e.APINotSupportedForRDLError=void 0,e.APINotSupportedForRDLError="This API is currently not supported for RDL reports",e.EmbedUrlNotSupported="Embed URL is invalid for this scenario. Please use Power BI REST APIs to get the valid URL"},function(t,e,r){var a,i=this&&this.__extends||(a=function(t,e){return(a=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])})(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}a(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}),o=this&&this.__awaiter||function(t,e,r,a){return new(r||(r=Promise))((function(i,o){function n(t){try{s(a.next(t))}catch(t){o(t)}}function l(t){try{s(a.throw(t))}catch(t){o(t)}}function s(t){var e;t.done?i(t.value):(e=t.value,e instanceof r?e:new r((function(t){t(e)}))).then(n,l)}s((a=a.apply(t,e||[])).next())}))},n=this&&this.__generator||function(t,e){var r,a,i,o,n={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:l(0),throw:l(1),return:l(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function l(o){return function(l){return function(o){if(r)throw new TypeError("Generator is already executing.");for(;n;)try{if(r=1,a&&(i=2&o[0]?a.return:o[0]?a.throw||((i=a.return)&&i.call(a),0):a.next)&&!(i=i.call(a,o[1])).done)return i;switch(a=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return n.label++,{value:o[1],done:!1};case 5:n.label++,a=o[1],o=[0];continue;case 7:o=n.ops.pop(),n.trys.pop();continue;default:if(!(i=n.trys,(i=i.length>0&&i[i.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&!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,s=o.keyValues;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 s.conditions=l,s}return i(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}(l);function V(t){if(t.filterType)return t.filterType;var e=t,r=t;return"string"==typeof e.operator&&Array.isArray(e.values)?o.Basic:"string"==typeof r.logicalOperator&&Array.isArray(r.conditions)?o.Advanced:o.Unknown}function m(t){return!(!t.table||!t.column||t.aggregationFunction)}e.AdvancedFilter=y,e.isFilterKeyColumnsTarget=function(t){return m(t)&&!!t.keys},e.isBasicFilterWithKeys=function(t){return V(t)===o.Basic&&!!t.keyValues},e.getFilterType=V,e.isMeasure=function(t){return void 0!==t.table&&void 0!==t.measure},e.isColumn=m,e.isHierarchyLevel=function(t){return!(!(t.table&&t.hierarchy&&t.hierarchyLevel)||t.aggregationFunction)},e.isHierarchyLevelAggr=function(t){return!!(t.table&&t.hierarchy&&t.hierarchyLevel&&t.aggregationFunction)},e.isColumnAggr=function(t){return!!(t.table&&t.column&&t.aggregationFunction)},function(t){t[t.Bottom=0]="Bottom",t[t.Left=1]="Left"}(e.PageNavigationPosition||(e.PageNavigationPosition={})),function(t){t[t.Interactive=0]="Interactive",t[t.ResultOnly=1]="ResultOnly"}(e.QnaMode||(e.QnaMode={})),function(t){t[t.Summarized=0]="Summarized",t[t.Underlying=1]="Underlying"}(e.ExportDataType||(e.ExportDataType={})),function(t){t[t.Off=0]="Off",t[t.Presentation=1]="Presentation"}(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"},function(t){t[t.Ascending=1]="Ascending",t[t.Descending=2]="Descending"}(e.SortDirection||(e.SortDirection={}));var g=function(){function t(t){this.$schema=t}return t.prototype.toJSON=function(){return{$schema:this.$schema}},t}();e.Selector=g;var b=function(t){function e(r){var a=t.call(this,e.schemaUrl)||this;return a.pageName=r,a}return i(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}(g);e.PageSelector=b;var w=function(t){function e(r){var a=t.call(this,e.schemaUrl)||this;return a.visualName=r,a}return i(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}(g);e.VisualSelector=w;var P=function(t){function e(e){var r=t.call(this,w.schemaUrl)||this;return r.visualType=e,r}return i(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}(g);e.VisualTypeSelector=P;var _=function(t){function e(e){var r=t.call(this,w.schemaUrl)||this;return r.target=e,r}return i(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}(g);function O(t){return Array.isArray(t)}function S(t){return t&&!!t.groupName}function E(t){return Array.isArray(t)}function T(t){var e=t.message;return e||(e=t.path+" is invalid. Not meeting "+t.keyword+" constraint"),{message:e}}e.SlicerTargetSelector=_,function(t){t[t.Enabled=0]="Enabled",t[t.Disabled=1]="Disabled",t[t.Hidden=2]="Hidden"}(e.CommandDisplayOption||(e.CommandDisplayOption={})),function(t){t[t.Grouping=0]="Grouping",t[t.Measure=1]="Measure",t[t.GroupingOrMeasure=2]="GroupingOrMeasure"}(e.VisualDataRoleKind||(e.VisualDataRoleKind={})),function(t){t[t.Measure=0]="Measure",t[t.Grouping=1]="Grouping"}(e.VisualDataRoleKindPreference||(e.VisualDataRoleKindPreference={})),e.isOnLoadFilters=function(t){return t&&!O(t)},e.isReportFiltersArray=O,e.isFlatMenuExtension=function(t){return t&&!S(t)},e.isGroupedMenuExtension=S,e.isIExtensions=function(t){return t&&!E(t)},e.isIExtensionArray=E,e.validateVisualSelector=function(t){var e=n.Validators.visualSelectorValidator.validate(t);return e?e.map(T):void 0},e.validateSlicer=function(t){var e=n.Validators.slicerValidator.validate(t);return e?e.map(T):void 0},e.validateSlicerState=function(t){var e=n.Validators.slicerStateValidator.validate(t);return e?e.map(T):void 0},e.validatePlayBookmarkRequest=function(t){var e=n.Validators.playBookmarkRequestValidator.validate(t);return e?e.map(T):void 0},e.validateAddBookmarkRequest=function(t){var e=n.Validators.addBookmarkRequestValidator.validate(t);return e?e.map(T):void 0},e.validateApplyBookmarkByNameRequest=function(t){var e=n.Validators.applyBookmarkByNameRequestValidator.validate(t);return e?e.map(T):void 0},e.validateApplyBookmarkStateRequest=function(t){var e=n.Validators.applyBookmarkStateRequestValidator.validate(t);return e?e.map(T):void 0},e.validateCaptureBookmarkRequest=function(t){var e=n.Validators.captureBookmarkRequestValidator.validate(t);return e?e.map(T):void 0},e.validateSettings=function(t){var e=n.Validators.settingsValidator.validate(t);return e?e.map(T):void 0},e.validatePanes=function(t){var e=n.Validators.reportPanesValidator.validate(t);return e?e.map(T):void 0},e.validateBookmarksPane=function(t){var e=n.Validators.bookmarksPaneValidator.validate(t);return e?e.map(T):void 0},e.validateFiltersPane=function(t){var e=n.Validators.filtersPaneValidator.validate(t);return e?e.map(T):void 0},e.validateFieldsPane=function(t){var e=n.Validators.fieldsPaneValidator.validate(t);return e?e.map(T):void 0},e.validatePageNavigationPane=function(t){var e=n.Validators.pageNavigationPaneValidator.validate(t);return e?e.map(T):void 0},e.validateSelectionPane=function(t){var e=n.Validators.selectionPaneValidator.validate(t);return e?e.map(T):void 0},e.validateSyncSlicersPane=function(t){var e=n.Validators.syncSlicersPaneValidator.validate(t);return e?e.map(T):void 0},e.validateVisualizationsPane=function(t){var e=n.Validators.visualizationsPaneValidator.validate(t);return e?e.map(T):void 0},e.validateCustomPageSize=function(t){var e=n.Validators.customPageSizeValidator.validate(t);return e?e.map(T):void 0},e.validateExtension=function(t){var e=n.Validators.extensionValidator.validate(t);return e?e.map(T):void 0},e.validateMenuGroupExtension=function(t){var e=n.Validators.menuGroupExtensionValidator.validate(t);return e?e.map(T):void 0},e.validateReportLoad=function(t){var e=n.Validators.reportLoadValidator.validate(t);return e?e.map(T):void 0},e.validatePaginatedReportLoad=function(t){var e=n.Validators.paginatedReportLoadValidator.validate(t);return e?e.map(T):void 0},e.validateCreateReport=function(t){var e=n.Validators.reportCreateValidator.validate(t);return e?e.map(T):void 0},e.validateDashboardLoad=function(t){var e=n.Validators.dashboardLoadValidator.validate(t);return e?e.map(T):void 0},e.validateTileLoad=function(t){var e=n.Validators.tileLoadValidator.validate(t);return e?e.map(T):void 0},e.validatePage=function(t){var e=n.Validators.pageValidator.validate(t);return e?e.map(T):void 0},e.validateFilter=function(t){var e=n.Validators.filterValidator.validate(t);return e?e.map(T):void 0},e.validateUpdateFiltersRequest=function(t){var e=n.Validators.updateFiltersRequestValidator.validate(t);return e?e.map(T):void 0},e.validateSaveAsParameters=function(t){var e=n.Validators.saveAsParametersValidator.validate(t);return e?e.map(T):void 0},e.validateLoadQnaConfiguration=function(t){var e=n.Validators.loadQnaValidator.validate(t);return e?e.map(T):void 0},e.validateQnaInterpretInputData=function(t){var e=n.Validators.qnaInterpretInputDataValidator.validate(t);return e?e.map(T):void 0},e.validateExportDataRequest=function(t){var e=n.Validators.exportDataRequestValidator.validate(t);return e?e.map(T):void 0},e.validateVisualHeader=function(t){var e=n.Validators.visualHeaderValidator.validate(t);return e?e.map(T):void 0},e.validateVisualSettings=function(t){var e=n.Validators.visualSettingsValidator.validate(t);return e?e.map(T):void 0},e.validateCommandsSettings=function(t){var e=n.Validators.commandsSettingsValidator.validate(t);return e?e.map(T):void 0},e.validateCustomTheme=function(t){var e=n.Validators.customThemeValidator.validate(t);return e?e.map(T):void 0}},function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.Validators=void 0;var a=r(2),i=r(5),o=r(6),n=r(7),l=r(8),s=r(9),d=r(10),u=r(11),c=r(12),p=r(13),f=r(14),h=r(15),v=r(16),y=r(17),V=r(18),m=r(19),g=r(20),b=r(21),w=r(22),P=r(23),_=r(24),O=r(25),S=r(26),E=r(27),T=r(28),F=r(29),R=r(4),k=r(30);e.Validators={addBookmarkRequestValidator:new i.AddBookmarkRequestValidator,advancedFilterTypeValidator:new R.EnumValidator([0]),advancedFilterValidator:new c.AdvancedFilterValidator,anyArrayValidator:new R.ArrayValidator([new S.AnyOfValidator([new R.StringValidator,new R.NumberValidator,new R.BooleanValidator])]),anyFilterValidator:new S.AnyOfValidator([new c.BasicFilterValidator,new c.AdvancedFilterValidator,new c.IncludeExcludeFilterValidator,new c.NotSupportedFilterValidator,new c.RelativeDateFilterValidator,new c.TopNFilterValidator,new c.RelativeTimeFilterValidator]),anyValueValidator:new S.AnyOfValidator([new R.StringValidator,new R.NumberValidator,new R.BooleanValidator]),actionBarValidator:new a.ActionBarValidator,applyBookmarkByNameRequestValidator:new i.ApplyBookmarkByNameRequestValidator,applyBookmarkStateRequestValidator:new i.ApplyBookmarkStateRequestValidator,applyBookmarkValidator:new S.AnyOfValidator([new i.ApplyBookmarkByNameRequestValidator,new i.ApplyBookmarkStateRequestValidator]),backgroundValidator:new R.EnumValidator([0,1]),basicFilterTypeValidator:new R.EnumValidator([1]),basicFilterValidator:new c.BasicFilterValidator,booleanArrayValidator:new R.BooleanArrayValidator,booleanValidator:new R.BooleanValidator,bookmarksPaneValidator:new h.BookmarksPaneValidator,captureBookmarkOptionsValidator:new i.CaptureBookmarkOptionsValidator,captureBookmarkRequestValidator:new i.CaptureBookmarkRequestValidator,commandDisplayOptionValidator:new R.EnumValidator([0,1,2]),commandExtensionSelectorValidator:new S.AnyOfValidator([new b.VisualSelectorValidator,new b.VisualTypeSelectorValidator]),commandExtensionArrayValidator:new R.ArrayValidator([new u.CommandExtensionValidator]),commandExtensionValidator:new u.CommandExtensionValidator,commandsSettingsArrayValidator:new R.ArrayValidator([new o.CommandsSettingsValidator]),commandsSettingsValidator:new o.CommandsSettingsValidator,conditionItemValidator:new c.ConditionItemValidator,contrastModeValidator:new R.EnumValidator([0,1,2,3,4]),customLayoutDisplayOptionValidator:new R.EnumValidator([0,1,2]),customLayoutValidator:new p.CustomLayoutValidator,customPageSizeValidator:new f.CustomPageSizeValidator,customThemeValidator:new n.CustomThemeValidator,dashboardLoadValidator:new l.DashboardLoadValidator,datasetBindingValidator:new s.DatasetBindingValidator,displayStateModeValidator:new R.EnumValidator([0,1]),displayStateValidator:new p.DisplayStateValidator,exportDataRequestValidator:new d.ExportDataRequestValidator,extensionArrayValidator:new R.ArrayValidator([new u.ExtensionValidator]),extensionsValidator:new S.AnyOfValidator([new R.ArrayValidator([new u.ExtensionValidator]),new u.ExtensionsValidator]),extensionPointsValidator:new u.ExtensionPointsValidator,extensionValidator:new u.ExtensionValidator,fieldForbiddenValidator:new E.FieldForbiddenValidator,fieldRequiredValidator:new T.FieldRequiredValidator,fieldsPaneValidator:new h.FieldsPaneValidator,filterColumnTargetValidator:new c.FilterColumnTargetValidator,filterDisplaySettingsValidator:new c.FilterDisplaySettingsValidator,filterConditionsValidator:new R.ArrayValidator([new c.ConditionItemValidator]),filterHierarchyTargetValidator:new c.FilterHierarchyTargetValidator,filterMeasureTargetValidator:new c.FilterMeasureTargetValidator,filterTargetValidator:new S.AnyOfValidator([new c.FilterColumnTargetValidator,new c.FilterHierarchyTargetValidator,new c.FilterMeasureTargetValidator]),filterValidator:new c.FilterValidator,filterTypeValidator:new R.EnumValidator([0,1,2,3,4,5,6,7]),filtersArrayValidator:new R.ArrayValidator([new c.FilterValidator]),filtersOperationsUpdateValidator:new R.EnumValidator([1,2,3]),filtersOperationsRemoveAllValidator:new R.EnumValidator([0]),filtersPaneValidator:new h.FiltersPaneValidator,hyperlinkClickBehaviorValidator:new R.EnumValidator([0,1,2]),includeExcludeFilterValidator:new c.IncludeExcludeFilterValidator,includeExludeFilterTypeValidator:new R.EnumValidator([3]),layoutTypeValidator:new R.EnumValidator([0,1,2,3]),loadQnaValidator:new v.LoadQnaValidator,menuExtensionValidator:new S.AnyOfValidator([new u.FlatMenuExtensionValidator,new u.GroupedMenuExtensionValidator]),menuGroupExtensionArrayValidator:new R.ArrayValidator([new u.MenuGroupExtensionValidator]),menuGroupExtensionValidator:new u.MenuGroupExtensionValidator,menuLocationValidator:new R.EnumValidator([0,1]),notSupportedFilterTypeValidator:new R.EnumValidator([2]),notSupportedFilterValidator:new c.NotSupportedFilterValidator,numberArrayValidator:new R.NumberArrayValidator,numberValidator:new R.NumberValidator,onLoadFiltersBaseValidator:new S.AnyOfValidator([new c.OnLoadFiltersBaseValidator,new c.OnLoadFiltersBaseRemoveOperationValidator]),pageLayoutValidator:new F.MapValidator([new R.StringValidator],[new p.VisualLayoutValidator]),pageNavigationPaneValidator:new h.PageNavigationPaneValidator,pageNavigationPositionValidator:new R.EnumValidator([0,1]),pageSizeTypeValidator:new R.EnumValidator([0,1,2,3,4,5]),pageSizeValidator:new f.PageSizeValidator,pageValidator:new f.PageValidator,pageViewFieldValidator:new f.PageViewFieldValidator,pagesLayoutValidator:new F.MapValidator([new R.StringValidator],[new p.PageLayoutValidator]),paginatedReportCommandsValidator:new o.PaginatedReportCommandsValidator,paginatedReportLoadValidator:new m.PaginatedReportLoadValidator,paginatedReportsettingsValidator:new w.PaginatedReportSettingsValidator,parametersPanelValidator:new k.ParametersPanelValidator,permissionsValidator:new R.EnumValidator([0,1,2,4,7]),playBookmarkRequestValidator:new i.PlayBookmarkRequestValidator,qnaInterpretInputDataValidator:new v.QnaInterpretInputDataValidator,qnaPanesValidator:new h.QnaPanesValidator,qnaSettingValidator:new v.QnaSettingsValidator,relativeDateFilterOperatorValidator:new R.EnumValidator([0,1,2]),relativeDateFilterTimeUnitTypeValidator:new R.EnumValidator([0,1,2,3,4,5,6]),relativeDateFilterTypeValidator:new R.EnumValidator([4]),relativeDateFilterValidator:new c.RelativeDateFilterValidator,relativeDateTimeFilterTypeValidator:new R.EnumValidator([4,7]),relativeDateTimeFilterUnitTypeValidator:new R.EnumValidator([0,1,2,3,4,5,6,7,8]),relativeTimeFilterTimeUnitTypeValidator:new R.EnumValidator([7,8]),relativeTimeFilterTypeValidator:new R.EnumValidator([7]),relativeTimeFilterValidator:new c.RelativeTimeFilterValidator,reportBarsValidator:new a.ReportBarsValidator,reportCreateValidator:new y.ReportCreateValidator,reportLoadFiltersValidator:new S.AnyOfValidator([new R.ArrayValidator([new c.FilterValidator]),new c.OnLoadFiltersValidator]),reportLoadValidator:new V.ReportLoadValidator,reportPanesValidator:new h.ReportPanesValidator,saveAsParametersValidator:new g.SaveAsParametersValidator,selectionPaneValidator:new h.SelectionPaneValidator,settingsValidator:new w.SettingsValidator,singleCommandSettingsValidator:new o.SingleCommandSettingsValidator,slicerSelectorValidator:new S.AnyOfValidator([new b.VisualSelectorValidator,new b.SlicerTargetSelectorValidator]),slicerStateValidator:new P.SlicerStateValidator,slicerTargetValidator:new S.AnyOfValidator([new c.FilterColumnTargetValidator,new c.FilterHierarchyTargetValidator,new c.FilterMeasureTargetValidator,new c.FilterKeyColumnsTargetValidator,new c.FilterKeyHierarchyTargetValidator]),slicerValidator:new P.SlicerValidator,stringArrayValidator:new R.StringArrayValidator,stringValidator:new R.StringValidator,syncSlicersPaneValidator:new h.SyncSlicersPaneValidator,tileLoadValidator:new _.TileLoadValidator,tokenTypeValidator:new R.EnumValidator([0,1]),topNFilterTypeValidator:new R.EnumValidator([5]),topNFilterValidator:new c.TopNFilterValidator,updateFiltersRequestValidator:new S.AnyOfValidator([new c.UpdateFiltersRequestValidator,new c.RemoveFiltersRequestValidator]),viewModeValidator:new R.EnumValidator([0,1]),visualCommandSelectorValidator:new S.AnyOfValidator([new b.VisualSelectorValidator,new b.VisualTypeSelectorValidator]),visualHeaderSelectorValidator:new S.AnyOfValidator([new b.VisualSelectorValidator,new b.VisualTypeSelectorValidator]),visualHeaderSettingsValidator:new O.VisualHeaderSettingsValidator,visualHeaderValidator:new O.VisualHeaderValidator,visualHeadersValidator:new R.ArrayValidator([new O.VisualHeaderValidator]),visualizationsPaneValidator:new h.VisualizationsPaneValidator,visualLayoutValidator:new p.VisualLayoutValidator,visualSelectorValidator:new b.VisualSelectorValidator,visualSettingsValidator:new O.VisualSettingsValidator,visualTypeSelectorValidator:new b.VisualTypeSelectorValidator}},function(t,e,r){var a,i=this&&this.__extends||(a=function(t,e){return(a=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])})(t,e)},function(t,e){function r(){this.constructor=t}a(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.ActionBarValidator=e.ReportBarsValidator=void 0;var o=r(3),n=r(4),l=r(1),s=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i(e,t),e.prototype.validate=function(e,r,a){if(null==e)return null;var i=t.prototype.validate.call(this,e,r,a);if(i)return i;var n=[{field:"actionBar",validators:[l.Validators.actionBarValidator]}];return new o.MultipleFieldsValidator(n).validate(e,r,a)},e}(n.ObjectValidator);e.ReportBarsValidator=s;var d=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i(e,t),e.prototype.validate=function(e,r,a){if(null==e)return null;var i=t.prototype.validate.call(this,e,r,a);if(i)return i;var n=[{field:"visible",validators:[l.Validators.booleanValidator]}];return new o.MultipleFieldsValidator(n).validate(e,r,a)},e}(n.ObjectValidator);e.ActionBarValidator=d},function(t,e){Object.defineProperty(e,"__esModule",{value:!0}),e.MultipleFieldsValidator=void 0;var r=function(){function t(t){this.fieldValidatorsPairs=t}return t.prototype.validate=function(t,e,r){if(!this.fieldValidatorsPairs)return null;for(var a=e?e+"."+r:r,i=0,o=this.fieldValidatorsPairs;i0&&i[i.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0?"&":"?";return t+=a+e+"="+r},e.isSavedInternal=function(t,e,i){return r(this,void 0,void 0,(function(){return a(this,(function(r){switch(r.label){case 0:return r.trys.push([0,2,,3]),[4,t.get("/report/hasUnsavedChanges",{uid:e},i)];case 1:return[2,!r.sent().body];case 2:throw r.sent().body;case 3:return[2]}}))}))},e.isRDLEmbed=function(t){return t.toLowerCase().indexOf("/rdlembed?")>=0},e.autoAuthInEmbedUrl=function(t){return t&&decodeURIComponent(t).toLowerCase().indexOf("autoauth=true")>=0},e.getRandomValue=o,e.getTimeDiffInMilliseconds=function(t,e){return Math.abs(t.getTime()-e.getTime())}},function(t,e){Object.defineProperty(e,"__esModule",{value:!0}),e.EmbedUrlNotSupported=e.APINotSupportedForRDLError=void 0,e.APINotSupportedForRDLError="This API is currently not supported for RDL reports",e.EmbedUrlNotSupported="Embed URL is invalid for this scenario. Please use Power BI REST APIs to get the valid URL"},function(t,e,r){var a,i=this&&this.__extends||(a=function(t,e){return(a=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])})(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}a(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}),o=this&&this.__awaiter||function(t,e,r,a){return new(r||(r=Promise))((function(i,o){function n(t){try{s(a.next(t))}catch(t){o(t)}}function l(t){try{s(a.throw(t))}catch(t){o(t)}}function s(t){var e;t.done?i(t.value):(e=t.value,e instanceof r?e:new r((function(t){t(e)}))).then(n,l)}s((a=a.apply(t,e||[])).next())}))},n=this&&this.__generator||function(t,e){var r,a,i,o,n={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:l(0),throw:l(1),return:l(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function l(o){return function(l){return function(o){if(r)throw new TypeError("Generator is already executing.");for(;n;)try{if(r=1,a&&(i=2&o[0]?a.return:o[0]?a.throw||((i=a.return)&&i.call(a),0):a.next)&&!(i=i.call(a,o[1])).done)return i;switch(a=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return n.label++,{value:o[1],done:!1};case 5:n.label++,a=o[1],o=[0];continue;case 7:o=n.ops.pop(),n.trys.pop();continue;default:if(!(i=n.trys,(i=i.length>0&&i[i.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]} */ async setAccessToken(accessToken: string): Promise { + if (!accessToken) { + throw new Error("Access token cannot be empty"); + } let embedType = this.config.type; embedType = (embedType === 'create' || embedType === 'visual' || embedType === 'qna') ? 'report' : embedType; try { From e1ff0df92861718e9d600975bad50e54d2b6f72b Mon Sep 17 00:00:00 2001 From: shyosef Date: Sun, 23 May 2021 12:07:35 +0300 Subject: [PATCH 066/125] merge --- .pipelines/build.ps1 | 13 --- .pipelines/cdpx_run_ps.cmd | 6 -- .pipelines/nuget_pack.ps1 | 11 --- .pipelines/package.ps1 | 13 --- .pipelines/pipeline.user.windows.yml | 125 --------------------------- .pipelines/restore.ps1 | 25 ------ .pipelines/test.ps1 | 9 -- .pipelines/version.ps1 | 14 --- dist/powerbi-client.d.ts | 2 +- dist/powerbi.js | 7 +- dist/powerbi.min.js | 4 +- package.json | 2 +- src/config.ts | 2 +- src/embed.ts | 3 + 14 files changed, 13 insertions(+), 223 deletions(-) delete mode 100644 .pipelines/build.ps1 delete mode 100644 .pipelines/cdpx_run_ps.cmd delete mode 100644 .pipelines/nuget_pack.ps1 delete mode 100644 .pipelines/package.ps1 delete mode 100644 .pipelines/pipeline.user.windows.yml delete mode 100644 .pipelines/restore.ps1 delete mode 100644 .pipelines/test.ps1 delete mode 100644 .pipelines/version.ps1 diff --git a/.pipelines/build.ps1 b/.pipelines/build.ps1 deleted file mode 100644 index a32fe43d..00000000 --- a/.pipelines/build.ps1 +++ /dev/null @@ -1,13 +0,0 @@ -$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 deleted file mode 100644 index 64ddad9f..00000000 --- a/.pipelines/cdpx_run_ps.cmd +++ /dev/null @@ -1,6 +0,0 @@ -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 deleted file mode 100644 index a77d18f7..00000000 --- a/.pipelines/nuget_pack.ps1 +++ /dev/null @@ -1,11 +0,0 @@ -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 deleted file mode 100644 index 54401656..00000000 --- a/.pipelines/package.ps1 +++ /dev/null @@ -1,13 +0,0 @@ -$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 deleted file mode 100644 index 5ba3f0ae..00000000 --- a/.pipelines/pipeline.user.windows.yml +++ /dev/null @@ -1,125 +0,0 @@ -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 - -# Enable signing on all declared artifacts. -signing_options: - profile: 'external_distribution' - codesign_validation_glob_pattern: 'regex|.+(?:exe|dll)$;-|*.nd.dll;-|.gdn\\**' - -static_analysis_options: - moderncop_options: - files_to_scan: - - from: 'src\' - include: - - '**/*.*' - - policheck_options: - files_to_scan: - - exclude: - - 'demo\**\*' # Exclude path 'Localize'. - - 'test\**\*' - - 'node_modules\**\*' - - binskim_options: - files_to_scan: - - exclude: - - 'demo\**\*' # Exclude path 'Localize'. - - 'test\**\*' - - 'node_modules\**\*' - -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: - - to: 'build_artifacts' - include: - - 'dist/**/*' - - 'LICENSE.txt' - - 'package.json' - - 'README.md' - - - to: 'source' - include: - - '**/*' - exclude: - - '**/.pipelines/**/*.*' - - '**/.vscode/**/*.*' - - '**/test/**/*.*' - - '**/demo/**/*.*' - - '**/dist/**/*.*' - - '**/node_modules/**/*.*' - -# All build stage artifacts get signed right after the build stage -# because the global signing profile is defined. - -package: - commands: - - !!buildcommand - name: 'Package' - arguments: 'package.ps1' - command: '.pipelines\cdpx_run_ps.cmd' - artifacts: - - to: 'tgz-package' - include: - - "**/*.tgz" - - - !!buildcommand - name: 'Nuget Pack' - arguments: 'nuget_pack.ps1' - command: '.pipelines\cdpx_run_ps.cmd' - artifacts: - - to: 'Release' - include: - - "**/Microsoft.PowerBI.JavaScript.*.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 deleted file mode 100644 index 3aa88f61..00000000 --- a/.pipelines/restore.ps1 +++ /dev/null @@ -1,25 +0,0 @@ -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 deleted file mode 100644 index 625ca890..00000000 --- a/.pipelines/test.ps1 +++ /dev/null @@ -1,9 +0,0 @@ -$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 deleted file mode 100644 index 6bcbae19..00000000 --- a/.pipelines/version.ps1 +++ /dev/null @@ -1,14 +0,0 @@ -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" - $buildNumber = "$version" - - 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/dist/powerbi-client.d.ts b/dist/powerbi-client.d.ts index ddf016f9..4dff3966 100644 --- a/dist/powerbi-client.d.ts +++ b/dist/powerbi-client.d.ts @@ -1,4 +1,4 @@ -// powerbi-client v2.18.0 +// powerbi-client v2.18.1 // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. declare module "util" { diff --git a/dist/powerbi.js b/dist/powerbi.js index 87fcc327..612f8128 100644 --- a/dist/powerbi.js +++ b/dist/powerbi.js @@ -1,4 +1,4 @@ -// powerbi-client v2.18.0 +// powerbi-client v2.18.1 // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. (function webpackUniversalModuleDefinition(root, factory) { @@ -6388,7 +6388,7 @@ exports.BookmarksManager = BookmarksManager; Object.defineProperty(exports, "__esModule", { value: true }); /** @ignore */ /** */ var config = { - version: '2.18.0', + version: '2.18.1', type: 'js' }; exports.default = config; @@ -7075,6 +7075,9 @@ var Embed = /** @class */ (function () { return __generator(this, function (_a) { switch (_a.label) { case 0: + if (!accessToken) { + throw new Error("Access token cannot be empty"); + } embedType = this.config.type; embedType = (embedType === 'create' || embedType === 'visual' || embedType === 'qna') ? 'report' : embedType; _a.label = 1; diff --git a/dist/powerbi.min.js b/dist/powerbi.min.js index d038918b..edb0d67e 100644 --- a/dist/powerbi.min.js +++ b/dist/powerbi.min.js @@ -1,7 +1,7 @@ -// powerbi-client v2.18.0 +// powerbi-client v2.18.1 // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. -!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){var e={};function r(a){if(e[a])return e[a].exports;var i=e[a]={i:a,l:!1,exports:{}};return t[a].call(i.exports,i,i.exports,r),i.l=!0,i.exports}return r.m=t,r.c=e,r.d=function(t,e,a){r.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:a})},r.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},r.t=function(t,e){if(1&e&&(t=r(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var a=Object.create(null);if(r.r(a),Object.defineProperty(a,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var i in t)r.d(a,i,function(e){return t[e]}.bind(null,i));return a},r.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return r.d(e,"a",e),e},r.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},r.p="",r(r.s=12)}([function(t,e,r){var a;a=function(){return function(t){var e={};function r(a){if(e[a])return e[a].exports;var i=e[a]={i:a,l:!1,exports:{}};return t[a].call(i.exports,i,i.exports,r),i.l=!0,i.exports}return r.m=t,r.c=e,r.d=function(t,e,a){r.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:a})},r.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},r.t=function(t,e){if(1&e&&(t=r(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var a=Object.create(null);if(r.r(a),Object.defineProperty(a,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var i in t)r.d(a,i,function(e){return t[e]}.bind(null,i));return a},r.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return r.d(e,"a",e),e},r.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},r.p="",r(r.s=0)}([function(t,e,r){var a,i=this&&this.__extends||(a=function(t,e){return(a=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])})(t,e)},function(t,e){function r(){this.constructor=t}a(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.validateCustomTheme=e.validateCommandsSettings=e.validateVisualSettings=e.validateVisualHeader=e.validateExportDataRequest=e.validateQnaInterpretInputData=e.validateLoadQnaConfiguration=e.validateSaveAsParameters=e.validateUpdateFiltersRequest=e.validateFilter=e.validatePage=e.validateTileLoad=e.validateDashboardLoad=e.validateCreateReport=e.validatePaginatedReportLoad=e.validateReportLoad=e.validateMenuGroupExtension=e.validateExtension=e.validateCustomPageSize=e.validateVisualizationsPane=e.validateSyncSlicersPane=e.validateSelectionPane=e.validatePageNavigationPane=e.validateFieldsPane=e.validateFiltersPane=e.validateBookmarksPane=e.validatePanes=e.validateSettings=e.validateCaptureBookmarkRequest=e.validateApplyBookmarkStateRequest=e.validateApplyBookmarkByNameRequest=e.validateAddBookmarkRequest=e.validatePlayBookmarkRequest=e.validateSlicerState=e.validateSlicer=e.validateVisualSelector=e.isIExtensionArray=e.isIExtensions=e.isGroupedMenuExtension=e.isFlatMenuExtension=e.isReportFiltersArray=e.isOnLoadFilters=e.VisualDataRoleKindPreference=e.VisualDataRoleKind=e.CommandDisplayOption=e.SlicerTargetSelector=e.VisualTypeSelector=e.VisualSelector=e.PageSelector=e.Selector=e.SortDirection=e.LegendPosition=e.TextAlignment=e.CommonErrorCodes=e.BookmarksPlayMode=e.ExportDataType=e.QnaMode=e.PageNavigationPosition=e.isColumnAggr=e.isHierarchyLevelAggr=e.isHierarchyLevel=e.isColumn=e.isMeasure=e.getFilterType=e.isBasicFilterWithKeys=e.isFilterKeyColumnsTarget=e.AdvancedFilter=e.TupleFilter=e.BasicFilterWithKeys=e.BasicFilter=e.RelativeTimeFilter=e.RelativeDateFilter=e.TopNFilter=e.IncludeExcludeFilter=e.NotSupportedFilter=e.Filter=e.RelativeDateOperators=e.RelativeDateFilterTimeUnit=e.FilterType=e.FiltersLevel=e.FiltersOperations=e.MenuLocation=e.ContrastMode=e.TokenType=e.ViewMode=e.Permissions=e.SectionVisibility=e.HyperlinkClickBehavior=e.LayoutType=e.VisualContainerDisplayMode=e.BackgroundType=e.DisplayOption=e.PageSizeType=e.TraceType=void 0;var o,n=r(1);!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"}(e.TraceType||(e.TraceType={})),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"}(e.PageSizeType||(e.PageSizeType={})),function(t){t[t.FitToPage=0]="FitToPage",t[t.FitToWidth=1]="FitToWidth",t[t.ActualSize=2]="ActualSize"}(e.DisplayOption||(e.DisplayOption={})),function(t){t[t.Default=0]="Default",t[t.Transparent=1]="Transparent"}(e.BackgroundType||(e.BackgroundType={})),function(t){t[t.Visible=0]="Visible",t[t.Hidden=1]="Hidden"}(e.VisualContainerDisplayMode||(e.VisualContainerDisplayMode={})),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={})),function(t){t[t.Navigate=0]="Navigate",t[t.NavigateAndRaiseEvent=1]="NavigateAndRaiseEvent",t[t.RaiseEvent=2]="RaiseEvent"}(e.HyperlinkClickBehavior||(e.HyperlinkClickBehavior={})),function(t){t[t.AlwaysVisible=0]="AlwaysVisible",t[t.HiddenInViewMode=1]="HiddenInViewMode"}(e.SectionVisibility||(e.SectionVisibility={})),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"}(e.Permissions||(e.Permissions={})),function(t){t[t.View=0]="View",t[t.Edit=1]="Edit"}(e.ViewMode||(e.ViewMode={})),function(t){t[t.Aad=0]="Aad",t[t.Embed=1]="Embed"}(e.TokenType||(e.TokenType={})),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"}(e.ContrastMode||(e.ContrastMode={})),function(t){t[t.Bottom=0]="Bottom",t[t.Top=1]="Top"}(e.MenuLocation||(e.MenuLocation={})),function(t){t[t.RemoveAll=0]="RemoveAll",t[t.ReplaceAll=1]="ReplaceAll",t[t.Add=2]="Add",t[t.Replace=3]="Replace"}(e.FiltersOperations||(e.FiltersOperations={})),function(t){t[t.Report=0]="Report",t[t.Page=1]="Page",t[t.Visual=2]="Visual"}(e.FiltersLevel||(e.FiltersLevel={})),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"}(o=e.FilterType||(e.FilterType={})),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"}(e.RelativeDateFilterTimeUnit||(e.RelativeDateFilterTimeUnit={})),function(t){t[t.InLast=0]="InLast",t[t.InThis=1]="InThis",t[t.InNext=2]="InNext"}(e.RelativeDateOperators||(e.RelativeDateOperators={}));var l=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=l;var s=function(t){function e(r,a,i){var n=t.call(this,r,o.Unknown)||this;return n.message=a,n.notSupportedTypeName=i,n.schemaUrl=e.schemaUrl,n}return i(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}(l);e.NotSupportedFilter=s;var d=function(t){function e(r,a,i){var n=t.call(this,r,o.IncludeExclude)||this;return n.values=i,n.isExclude=a,n.schemaUrl=e.schemaUrl,n}return i(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}(l);e.IncludeExcludeFilter=d;var u=function(t){function e(r,a,i,n){var l=t.call(this,r,o.TopN)||this;return l.operator=a,l.itemCount=i,l.schemaUrl=e.schemaUrl,l.orderBy=n,l}return i(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}(l);e.TopNFilter=u;var c=function(t){function e(r,a,i,n,l){var s=t.call(this,r,o.RelativeDate)||this;return s.operator=a,s.timeUnitsCount=i,s.timeUnitType=n,s.includeToday=l,s.schemaUrl=e.schemaUrl,s}return i(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}(l);e.RelativeDateFilter=c;var p=function(t){function e(r,a,i,n){var l=t.call(this,r,o.RelativeTime)||this;return l.operator=a,l.timeUnitsCount=i,l.timeUnitType=n,l.schemaUrl=e.schemaUrl,l}return i(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}(l);e.RelativeTimeFilter=p;var f=function(t){function e(r,a){for(var i=[],n=2;n0&&!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,s=o.keyValues;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 s.conditions=l,s}return i(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}(l);function V(t){if(t.filterType)return t.filterType;var e=t,r=t;return"string"==typeof e.operator&&Array.isArray(e.values)?o.Basic:"string"==typeof r.logicalOperator&&Array.isArray(r.conditions)?o.Advanced:o.Unknown}function m(t){return!(!t.table||!t.column||t.aggregationFunction)}e.AdvancedFilter=y,e.isFilterKeyColumnsTarget=function(t){return m(t)&&!!t.keys},e.isBasicFilterWithKeys=function(t){return V(t)===o.Basic&&!!t.keyValues},e.getFilterType=V,e.isMeasure=function(t){return void 0!==t.table&&void 0!==t.measure},e.isColumn=m,e.isHierarchyLevel=function(t){return!(!(t.table&&t.hierarchy&&t.hierarchyLevel)||t.aggregationFunction)},e.isHierarchyLevelAggr=function(t){return!!(t.table&&t.hierarchy&&t.hierarchyLevel&&t.aggregationFunction)},e.isColumnAggr=function(t){return!!(t.table&&t.column&&t.aggregationFunction)},function(t){t[t.Bottom=0]="Bottom",t[t.Left=1]="Left"}(e.PageNavigationPosition||(e.PageNavigationPosition={})),function(t){t[t.Interactive=0]="Interactive",t[t.ResultOnly=1]="ResultOnly"}(e.QnaMode||(e.QnaMode={})),function(t){t[t.Summarized=0]="Summarized",t[t.Underlying=1]="Underlying"}(e.ExportDataType||(e.ExportDataType={})),function(t){t[t.Off=0]="Off",t[t.Presentation=1]="Presentation"}(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"},function(t){t[t.Ascending=1]="Ascending",t[t.Descending=2]="Descending"}(e.SortDirection||(e.SortDirection={}));var g=function(){function t(t){this.$schema=t}return t.prototype.toJSON=function(){return{$schema:this.$schema}},t}();e.Selector=g;var b=function(t){function e(r){var a=t.call(this,e.schemaUrl)||this;return a.pageName=r,a}return i(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}(g);e.PageSelector=b;var w=function(t){function e(r){var a=t.call(this,e.schemaUrl)||this;return a.visualName=r,a}return i(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}(g);e.VisualSelector=w;var P=function(t){function e(e){var r=t.call(this,w.schemaUrl)||this;return r.visualType=e,r}return i(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}(g);e.VisualTypeSelector=P;var _=function(t){function e(e){var r=t.call(this,w.schemaUrl)||this;return r.target=e,r}return i(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}(g);function O(t){return Array.isArray(t)}function S(t){return t&&!!t.groupName}function E(t){return Array.isArray(t)}function T(t){var e=t.message;return e||(e=t.path+" is invalid. Not meeting "+t.keyword+" constraint"),{message:e}}e.SlicerTargetSelector=_,function(t){t[t.Enabled=0]="Enabled",t[t.Disabled=1]="Disabled",t[t.Hidden=2]="Hidden"}(e.CommandDisplayOption||(e.CommandDisplayOption={})),function(t){t[t.Grouping=0]="Grouping",t[t.Measure=1]="Measure",t[t.GroupingOrMeasure=2]="GroupingOrMeasure"}(e.VisualDataRoleKind||(e.VisualDataRoleKind={})),function(t){t[t.Measure=0]="Measure",t[t.Grouping=1]="Grouping"}(e.VisualDataRoleKindPreference||(e.VisualDataRoleKindPreference={})),e.isOnLoadFilters=function(t){return t&&!O(t)},e.isReportFiltersArray=O,e.isFlatMenuExtension=function(t){return t&&!S(t)},e.isGroupedMenuExtension=S,e.isIExtensions=function(t){return t&&!E(t)},e.isIExtensionArray=E,e.validateVisualSelector=function(t){var e=n.Validators.visualSelectorValidator.validate(t);return e?e.map(T):void 0},e.validateSlicer=function(t){var e=n.Validators.slicerValidator.validate(t);return e?e.map(T):void 0},e.validateSlicerState=function(t){var e=n.Validators.slicerStateValidator.validate(t);return e?e.map(T):void 0},e.validatePlayBookmarkRequest=function(t){var e=n.Validators.playBookmarkRequestValidator.validate(t);return e?e.map(T):void 0},e.validateAddBookmarkRequest=function(t){var e=n.Validators.addBookmarkRequestValidator.validate(t);return e?e.map(T):void 0},e.validateApplyBookmarkByNameRequest=function(t){var e=n.Validators.applyBookmarkByNameRequestValidator.validate(t);return e?e.map(T):void 0},e.validateApplyBookmarkStateRequest=function(t){var e=n.Validators.applyBookmarkStateRequestValidator.validate(t);return e?e.map(T):void 0},e.validateCaptureBookmarkRequest=function(t){var e=n.Validators.captureBookmarkRequestValidator.validate(t);return e?e.map(T):void 0},e.validateSettings=function(t){var e=n.Validators.settingsValidator.validate(t);return e?e.map(T):void 0},e.validatePanes=function(t){var e=n.Validators.reportPanesValidator.validate(t);return e?e.map(T):void 0},e.validateBookmarksPane=function(t){var e=n.Validators.bookmarksPaneValidator.validate(t);return e?e.map(T):void 0},e.validateFiltersPane=function(t){var e=n.Validators.filtersPaneValidator.validate(t);return e?e.map(T):void 0},e.validateFieldsPane=function(t){var e=n.Validators.fieldsPaneValidator.validate(t);return e?e.map(T):void 0},e.validatePageNavigationPane=function(t){var e=n.Validators.pageNavigationPaneValidator.validate(t);return e?e.map(T):void 0},e.validateSelectionPane=function(t){var e=n.Validators.selectionPaneValidator.validate(t);return e?e.map(T):void 0},e.validateSyncSlicersPane=function(t){var e=n.Validators.syncSlicersPaneValidator.validate(t);return e?e.map(T):void 0},e.validateVisualizationsPane=function(t){var e=n.Validators.visualizationsPaneValidator.validate(t);return e?e.map(T):void 0},e.validateCustomPageSize=function(t){var e=n.Validators.customPageSizeValidator.validate(t);return e?e.map(T):void 0},e.validateExtension=function(t){var e=n.Validators.extensionValidator.validate(t);return e?e.map(T):void 0},e.validateMenuGroupExtension=function(t){var e=n.Validators.menuGroupExtensionValidator.validate(t);return e?e.map(T):void 0},e.validateReportLoad=function(t){var e=n.Validators.reportLoadValidator.validate(t);return e?e.map(T):void 0},e.validatePaginatedReportLoad=function(t){var e=n.Validators.paginatedReportLoadValidator.validate(t);return e?e.map(T):void 0},e.validateCreateReport=function(t){var e=n.Validators.reportCreateValidator.validate(t);return e?e.map(T):void 0},e.validateDashboardLoad=function(t){var e=n.Validators.dashboardLoadValidator.validate(t);return e?e.map(T):void 0},e.validateTileLoad=function(t){var e=n.Validators.tileLoadValidator.validate(t);return e?e.map(T):void 0},e.validatePage=function(t){var e=n.Validators.pageValidator.validate(t);return e?e.map(T):void 0},e.validateFilter=function(t){var e=n.Validators.filterValidator.validate(t);return e?e.map(T):void 0},e.validateUpdateFiltersRequest=function(t){var e=n.Validators.updateFiltersRequestValidator.validate(t);return e?e.map(T):void 0},e.validateSaveAsParameters=function(t){var e=n.Validators.saveAsParametersValidator.validate(t);return e?e.map(T):void 0},e.validateLoadQnaConfiguration=function(t){var e=n.Validators.loadQnaValidator.validate(t);return e?e.map(T):void 0},e.validateQnaInterpretInputData=function(t){var e=n.Validators.qnaInterpretInputDataValidator.validate(t);return e?e.map(T):void 0},e.validateExportDataRequest=function(t){var e=n.Validators.exportDataRequestValidator.validate(t);return e?e.map(T):void 0},e.validateVisualHeader=function(t){var e=n.Validators.visualHeaderValidator.validate(t);return e?e.map(T):void 0},e.validateVisualSettings=function(t){var e=n.Validators.visualSettingsValidator.validate(t);return e?e.map(T):void 0},e.validateCommandsSettings=function(t){var e=n.Validators.commandsSettingsValidator.validate(t);return e?e.map(T):void 0},e.validateCustomTheme=function(t){var e=n.Validators.customThemeValidator.validate(t);return e?e.map(T):void 0}},function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.Validators=void 0;var a=r(2),i=r(5),o=r(6),n=r(7),l=r(8),s=r(9),d=r(10),u=r(11),c=r(12),p=r(13),f=r(14),h=r(15),v=r(16),y=r(17),V=r(18),m=r(19),g=r(20),b=r(21),w=r(22),P=r(23),_=r(24),O=r(25),S=r(26),E=r(27),T=r(28),F=r(29),R=r(4),k=r(30);e.Validators={addBookmarkRequestValidator:new i.AddBookmarkRequestValidator,advancedFilterTypeValidator:new R.EnumValidator([0]),advancedFilterValidator:new c.AdvancedFilterValidator,anyArrayValidator:new R.ArrayValidator([new S.AnyOfValidator([new R.StringValidator,new R.NumberValidator,new R.BooleanValidator])]),anyFilterValidator:new S.AnyOfValidator([new c.BasicFilterValidator,new c.AdvancedFilterValidator,new c.IncludeExcludeFilterValidator,new c.NotSupportedFilterValidator,new c.RelativeDateFilterValidator,new c.TopNFilterValidator,new c.RelativeTimeFilterValidator]),anyValueValidator:new S.AnyOfValidator([new R.StringValidator,new R.NumberValidator,new R.BooleanValidator]),actionBarValidator:new a.ActionBarValidator,applyBookmarkByNameRequestValidator:new i.ApplyBookmarkByNameRequestValidator,applyBookmarkStateRequestValidator:new i.ApplyBookmarkStateRequestValidator,applyBookmarkValidator:new S.AnyOfValidator([new i.ApplyBookmarkByNameRequestValidator,new i.ApplyBookmarkStateRequestValidator]),backgroundValidator:new R.EnumValidator([0,1]),basicFilterTypeValidator:new R.EnumValidator([1]),basicFilterValidator:new c.BasicFilterValidator,booleanArrayValidator:new R.BooleanArrayValidator,booleanValidator:new R.BooleanValidator,bookmarksPaneValidator:new h.BookmarksPaneValidator,captureBookmarkOptionsValidator:new i.CaptureBookmarkOptionsValidator,captureBookmarkRequestValidator:new i.CaptureBookmarkRequestValidator,commandDisplayOptionValidator:new R.EnumValidator([0,1,2]),commandExtensionSelectorValidator:new S.AnyOfValidator([new b.VisualSelectorValidator,new b.VisualTypeSelectorValidator]),commandExtensionArrayValidator:new R.ArrayValidator([new u.CommandExtensionValidator]),commandExtensionValidator:new u.CommandExtensionValidator,commandsSettingsArrayValidator:new R.ArrayValidator([new o.CommandsSettingsValidator]),commandsSettingsValidator:new o.CommandsSettingsValidator,conditionItemValidator:new c.ConditionItemValidator,contrastModeValidator:new R.EnumValidator([0,1,2,3,4]),customLayoutDisplayOptionValidator:new R.EnumValidator([0,1,2]),customLayoutValidator:new p.CustomLayoutValidator,customPageSizeValidator:new f.CustomPageSizeValidator,customThemeValidator:new n.CustomThemeValidator,dashboardLoadValidator:new l.DashboardLoadValidator,datasetBindingValidator:new s.DatasetBindingValidator,displayStateModeValidator:new R.EnumValidator([0,1]),displayStateValidator:new p.DisplayStateValidator,exportDataRequestValidator:new d.ExportDataRequestValidator,extensionArrayValidator:new R.ArrayValidator([new u.ExtensionValidator]),extensionsValidator:new S.AnyOfValidator([new R.ArrayValidator([new u.ExtensionValidator]),new u.ExtensionsValidator]),extensionPointsValidator:new u.ExtensionPointsValidator,extensionValidator:new u.ExtensionValidator,fieldForbiddenValidator:new E.FieldForbiddenValidator,fieldRequiredValidator:new T.FieldRequiredValidator,fieldsPaneValidator:new h.FieldsPaneValidator,filterColumnTargetValidator:new c.FilterColumnTargetValidator,filterDisplaySettingsValidator:new c.FilterDisplaySettingsValidator,filterConditionsValidator:new R.ArrayValidator([new c.ConditionItemValidator]),filterHierarchyTargetValidator:new c.FilterHierarchyTargetValidator,filterMeasureTargetValidator:new c.FilterMeasureTargetValidator,filterTargetValidator:new S.AnyOfValidator([new c.FilterColumnTargetValidator,new c.FilterHierarchyTargetValidator,new c.FilterMeasureTargetValidator]),filterValidator:new c.FilterValidator,filterTypeValidator:new R.EnumValidator([0,1,2,3,4,5,6,7]),filtersArrayValidator:new R.ArrayValidator([new c.FilterValidator]),filtersOperationsUpdateValidator:new R.EnumValidator([1,2,3]),filtersOperationsRemoveAllValidator:new R.EnumValidator([0]),filtersPaneValidator:new h.FiltersPaneValidator,hyperlinkClickBehaviorValidator:new R.EnumValidator([0,1,2]),includeExcludeFilterValidator:new c.IncludeExcludeFilterValidator,includeExludeFilterTypeValidator:new R.EnumValidator([3]),layoutTypeValidator:new R.EnumValidator([0,1,2,3]),loadQnaValidator:new v.LoadQnaValidator,menuExtensionValidator:new S.AnyOfValidator([new u.FlatMenuExtensionValidator,new u.GroupedMenuExtensionValidator]),menuGroupExtensionArrayValidator:new R.ArrayValidator([new u.MenuGroupExtensionValidator]),menuGroupExtensionValidator:new u.MenuGroupExtensionValidator,menuLocationValidator:new R.EnumValidator([0,1]),notSupportedFilterTypeValidator:new R.EnumValidator([2]),notSupportedFilterValidator:new c.NotSupportedFilterValidator,numberArrayValidator:new R.NumberArrayValidator,numberValidator:new R.NumberValidator,onLoadFiltersBaseValidator:new S.AnyOfValidator([new c.OnLoadFiltersBaseValidator,new c.OnLoadFiltersBaseRemoveOperationValidator]),pageLayoutValidator:new F.MapValidator([new R.StringValidator],[new p.VisualLayoutValidator]),pageNavigationPaneValidator:new h.PageNavigationPaneValidator,pageNavigationPositionValidator:new R.EnumValidator([0,1]),pageSizeTypeValidator:new R.EnumValidator([0,1,2,3,4,5]),pageSizeValidator:new f.PageSizeValidator,pageValidator:new f.PageValidator,pageViewFieldValidator:new f.PageViewFieldValidator,pagesLayoutValidator:new F.MapValidator([new R.StringValidator],[new p.PageLayoutValidator]),paginatedReportCommandsValidator:new o.PaginatedReportCommandsValidator,paginatedReportLoadValidator:new m.PaginatedReportLoadValidator,paginatedReportsettingsValidator:new w.PaginatedReportSettingsValidator,parametersPanelValidator:new k.ParametersPanelValidator,permissionsValidator:new R.EnumValidator([0,1,2,4,7]),playBookmarkRequestValidator:new i.PlayBookmarkRequestValidator,qnaInterpretInputDataValidator:new v.QnaInterpretInputDataValidator,qnaPanesValidator:new h.QnaPanesValidator,qnaSettingValidator:new v.QnaSettingsValidator,relativeDateFilterOperatorValidator:new R.EnumValidator([0,1,2]),relativeDateFilterTimeUnitTypeValidator:new R.EnumValidator([0,1,2,3,4,5,6]),relativeDateFilterTypeValidator:new R.EnumValidator([4]),relativeDateFilterValidator:new c.RelativeDateFilterValidator,relativeDateTimeFilterTypeValidator:new R.EnumValidator([4,7]),relativeDateTimeFilterUnitTypeValidator:new R.EnumValidator([0,1,2,3,4,5,6,7,8]),relativeTimeFilterTimeUnitTypeValidator:new R.EnumValidator([7,8]),relativeTimeFilterTypeValidator:new R.EnumValidator([7]),relativeTimeFilterValidator:new c.RelativeTimeFilterValidator,reportBarsValidator:new a.ReportBarsValidator,reportCreateValidator:new y.ReportCreateValidator,reportLoadFiltersValidator:new S.AnyOfValidator([new R.ArrayValidator([new c.FilterValidator]),new c.OnLoadFiltersValidator]),reportLoadValidator:new V.ReportLoadValidator,reportPanesValidator:new h.ReportPanesValidator,saveAsParametersValidator:new g.SaveAsParametersValidator,selectionPaneValidator:new h.SelectionPaneValidator,settingsValidator:new w.SettingsValidator,singleCommandSettingsValidator:new o.SingleCommandSettingsValidator,slicerSelectorValidator:new S.AnyOfValidator([new b.VisualSelectorValidator,new b.SlicerTargetSelectorValidator]),slicerStateValidator:new P.SlicerStateValidator,slicerTargetValidator:new S.AnyOfValidator([new c.FilterColumnTargetValidator,new c.FilterHierarchyTargetValidator,new c.FilterMeasureTargetValidator,new c.FilterKeyColumnsTargetValidator,new c.FilterKeyHierarchyTargetValidator]),slicerValidator:new P.SlicerValidator,stringArrayValidator:new R.StringArrayValidator,stringValidator:new R.StringValidator,syncSlicersPaneValidator:new h.SyncSlicersPaneValidator,tileLoadValidator:new _.TileLoadValidator,tokenTypeValidator:new R.EnumValidator([0,1]),topNFilterTypeValidator:new R.EnumValidator([5]),topNFilterValidator:new c.TopNFilterValidator,updateFiltersRequestValidator:new S.AnyOfValidator([new c.UpdateFiltersRequestValidator,new c.RemoveFiltersRequestValidator]),viewModeValidator:new R.EnumValidator([0,1]),visualCommandSelectorValidator:new S.AnyOfValidator([new b.VisualSelectorValidator,new b.VisualTypeSelectorValidator]),visualHeaderSelectorValidator:new S.AnyOfValidator([new b.VisualSelectorValidator,new b.VisualTypeSelectorValidator]),visualHeaderSettingsValidator:new O.VisualHeaderSettingsValidator,visualHeaderValidator:new O.VisualHeaderValidator,visualHeadersValidator:new R.ArrayValidator([new O.VisualHeaderValidator]),visualizationsPaneValidator:new h.VisualizationsPaneValidator,visualLayoutValidator:new p.VisualLayoutValidator,visualSelectorValidator:new b.VisualSelectorValidator,visualSettingsValidator:new O.VisualSettingsValidator,visualTypeSelectorValidator:new b.VisualTypeSelectorValidator}},function(t,e,r){var a,i=this&&this.__extends||(a=function(t,e){return(a=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])})(t,e)},function(t,e){function r(){this.constructor=t}a(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.ActionBarValidator=e.ReportBarsValidator=void 0;var o=r(3),n=r(4),l=r(1),s=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i(e,t),e.prototype.validate=function(e,r,a){if(null==e)return null;var i=t.prototype.validate.call(this,e,r,a);if(i)return i;var n=[{field:"actionBar",validators:[l.Validators.actionBarValidator]}];return new o.MultipleFieldsValidator(n).validate(e,r,a)},e}(n.ObjectValidator);e.ReportBarsValidator=s;var d=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i(e,t),e.prototype.validate=function(e,r,a){if(null==e)return null;var i=t.prototype.validate.call(this,e,r,a);if(i)return i;var n=[{field:"visible",validators:[l.Validators.booleanValidator]}];return new o.MultipleFieldsValidator(n).validate(e,r,a)},e}(n.ObjectValidator);e.ActionBarValidator=d},function(t,e){Object.defineProperty(e,"__esModule",{value:!0}),e.MultipleFieldsValidator=void 0;var r=function(){function t(t){this.fieldValidatorsPairs=t}return t.prototype.validate=function(t,e,r){if(!this.fieldValidatorsPairs)return null;for(var a=e?e+"."+r:r,i=0,o=this.fieldValidatorsPairs;i0&&i[i.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0?"&":"?";return t+=a+e+"="+r},e.isSavedInternal=function(t,e,i){return r(this,void 0,void 0,(function(){return a(this,(function(r){switch(r.label){case 0:return r.trys.push([0,2,,3]),[4,t.get("/report/hasUnsavedChanges",{uid:e},i)];case 1:return[2,!r.sent().body];case 2:throw r.sent().body;case 3:return[2]}}))}))},e.isRDLEmbed=function(t){return t.toLowerCase().indexOf("/rdlembed?")>=0},e.autoAuthInEmbedUrl=function(t){return t&&decodeURIComponent(t).toLowerCase().indexOf("autoauth=true")>=0},e.getRandomValue=o,e.getTimeDiffInMilliseconds=function(t,e){return Math.abs(t.getTime()-e.getTime())}},function(t,e){Object.defineProperty(e,"__esModule",{value:!0}),e.EmbedUrlNotSupported=e.APINotSupportedForRDLError=void 0,e.APINotSupportedForRDLError="This API is currently not supported for RDL reports",e.EmbedUrlNotSupported="Embed URL is invalid for this scenario. Please use Power BI REST APIs to get the valid URL"},function(t,e,r){var a,i=this&&this.__extends||(a=function(t,e){return(a=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])})(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}a(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}),o=this&&this.__awaiter||function(t,e,r,a){return new(r||(r=Promise))((function(i,o){function n(t){try{s(a.next(t))}catch(t){o(t)}}function l(t){try{s(a.throw(t))}catch(t){o(t)}}function s(t){var e;t.done?i(t.value):(e=t.value,e instanceof r?e:new r((function(t){t(e)}))).then(n,l)}s((a=a.apply(t,e||[])).next())}))},n=this&&this.__generator||function(t,e){var r,a,i,o,n={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:l(0),throw:l(1),return:l(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function l(o){return function(l){return function(o){if(r)throw new TypeError("Generator is already executing.");for(;n;)try{if(r=1,a&&(i=2&o[0]?a.return:o[0]?a.throw||((i=a.return)&&i.call(a),0):a.next)&&!(i=i.call(a,o[1])).done)return i;switch(a=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return n.label++,{value:o[1],done:!1};case 5:n.label++,a=o[1],o=[0];continue;case 7:o=n.ops.pop(),n.trys.pop();continue;default:if(!(i=n.trys,(i=i.length>0&&i[i.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&!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,s=o.keyValues;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 s.conditions=l,s}return i(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}(l);function V(t){if(t.filterType)return t.filterType;var e=t,r=t;return"string"==typeof e.operator&&Array.isArray(e.values)?o.Basic:"string"==typeof r.logicalOperator&&Array.isArray(r.conditions)?o.Advanced:o.Unknown}function m(t){return!(!t.table||!t.column||t.aggregationFunction)}e.AdvancedFilter=y,e.isFilterKeyColumnsTarget=function(t){return m(t)&&!!t.keys},e.isBasicFilterWithKeys=function(t){return V(t)===o.Basic&&!!t.keyValues},e.getFilterType=V,e.isMeasure=function(t){return void 0!==t.table&&void 0!==t.measure},e.isColumn=m,e.isHierarchyLevel=function(t){return!(!(t.table&&t.hierarchy&&t.hierarchyLevel)||t.aggregationFunction)},e.isHierarchyLevelAggr=function(t){return!!(t.table&&t.hierarchy&&t.hierarchyLevel&&t.aggregationFunction)},e.isColumnAggr=function(t){return!!(t.table&&t.column&&t.aggregationFunction)},function(t){t[t.Bottom=0]="Bottom",t[t.Left=1]="Left"}(e.PageNavigationPosition||(e.PageNavigationPosition={})),function(t){t[t.Interactive=0]="Interactive",t[t.ResultOnly=1]="ResultOnly"}(e.QnaMode||(e.QnaMode={})),function(t){t[t.Summarized=0]="Summarized",t[t.Underlying=1]="Underlying"}(e.ExportDataType||(e.ExportDataType={})),function(t){t[t.Off=0]="Off",t[t.Presentation=1]="Presentation"}(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"},function(t){t[t.Ascending=1]="Ascending",t[t.Descending=2]="Descending"}(e.SortDirection||(e.SortDirection={}));var g=function(){function t(t){this.$schema=t}return t.prototype.toJSON=function(){return{$schema:this.$schema}},t}();e.Selector=g;var b=function(t){function e(r){var a=t.call(this,e.schemaUrl)||this;return a.pageName=r,a}return i(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}(g);e.PageSelector=b;var w=function(t){function e(r){var a=t.call(this,e.schemaUrl)||this;return a.visualName=r,a}return i(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}(g);e.VisualSelector=w;var P=function(t){function e(e){var r=t.call(this,w.schemaUrl)||this;return r.visualType=e,r}return i(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}(g);e.VisualTypeSelector=P;var _=function(t){function e(e){var r=t.call(this,w.schemaUrl)||this;return r.target=e,r}return i(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}(g);function O(t){return Array.isArray(t)}function S(t){return t&&!!t.groupName}function E(t){return Array.isArray(t)}function T(t){var e=t.message;return e||(e=t.path+" is invalid. Not meeting "+t.keyword+" constraint"),{message:e}}e.SlicerTargetSelector=_,function(t){t[t.Enabled=0]="Enabled",t[t.Disabled=1]="Disabled",t[t.Hidden=2]="Hidden"}(e.CommandDisplayOption||(e.CommandDisplayOption={})),function(t){t[t.Grouping=0]="Grouping",t[t.Measure=1]="Measure",t[t.GroupingOrMeasure=2]="GroupingOrMeasure"}(e.VisualDataRoleKind||(e.VisualDataRoleKind={})),function(t){t[t.Measure=0]="Measure",t[t.Grouping=1]="Grouping"}(e.VisualDataRoleKindPreference||(e.VisualDataRoleKindPreference={})),e.isOnLoadFilters=function(t){return t&&!O(t)},e.isReportFiltersArray=O,e.isFlatMenuExtension=function(t){return t&&!S(t)},e.isGroupedMenuExtension=S,e.isIExtensions=function(t){return t&&!E(t)},e.isIExtensionArray=E,e.validateVisualSelector=function(t){var e=n.Validators.visualSelectorValidator.validate(t);return e?e.map(T):void 0},e.validateSlicer=function(t){var e=n.Validators.slicerValidator.validate(t);return e?e.map(T):void 0},e.validateSlicerState=function(t){var e=n.Validators.slicerStateValidator.validate(t);return e?e.map(T):void 0},e.validatePlayBookmarkRequest=function(t){var e=n.Validators.playBookmarkRequestValidator.validate(t);return e?e.map(T):void 0},e.validateAddBookmarkRequest=function(t){var e=n.Validators.addBookmarkRequestValidator.validate(t);return e?e.map(T):void 0},e.validateApplyBookmarkByNameRequest=function(t){var e=n.Validators.applyBookmarkByNameRequestValidator.validate(t);return e?e.map(T):void 0},e.validateApplyBookmarkStateRequest=function(t){var e=n.Validators.applyBookmarkStateRequestValidator.validate(t);return e?e.map(T):void 0},e.validateCaptureBookmarkRequest=function(t){var e=n.Validators.captureBookmarkRequestValidator.validate(t);return e?e.map(T):void 0},e.validateSettings=function(t){var e=n.Validators.settingsValidator.validate(t);return e?e.map(T):void 0},e.validatePanes=function(t){var e=n.Validators.reportPanesValidator.validate(t);return e?e.map(T):void 0},e.validateBookmarksPane=function(t){var e=n.Validators.bookmarksPaneValidator.validate(t);return e?e.map(T):void 0},e.validateFiltersPane=function(t){var e=n.Validators.filtersPaneValidator.validate(t);return e?e.map(T):void 0},e.validateFieldsPane=function(t){var e=n.Validators.fieldsPaneValidator.validate(t);return e?e.map(T):void 0},e.validatePageNavigationPane=function(t){var e=n.Validators.pageNavigationPaneValidator.validate(t);return e?e.map(T):void 0},e.validateSelectionPane=function(t){var e=n.Validators.selectionPaneValidator.validate(t);return e?e.map(T):void 0},e.validateSyncSlicersPane=function(t){var e=n.Validators.syncSlicersPaneValidator.validate(t);return e?e.map(T):void 0},e.validateVisualizationsPane=function(t){var e=n.Validators.visualizationsPaneValidator.validate(t);return e?e.map(T):void 0},e.validateCustomPageSize=function(t){var e=n.Validators.customPageSizeValidator.validate(t);return e?e.map(T):void 0},e.validateExtension=function(t){var e=n.Validators.extensionValidator.validate(t);return e?e.map(T):void 0},e.validateMenuGroupExtension=function(t){var e=n.Validators.menuGroupExtensionValidator.validate(t);return e?e.map(T):void 0},e.validateReportLoad=function(t){var e=n.Validators.reportLoadValidator.validate(t);return e?e.map(T):void 0},e.validatePaginatedReportLoad=function(t){var e=n.Validators.paginatedReportLoadValidator.validate(t);return e?e.map(T):void 0},e.validateCreateReport=function(t){var e=n.Validators.reportCreateValidator.validate(t);return e?e.map(T):void 0},e.validateDashboardLoad=function(t){var e=n.Validators.dashboardLoadValidator.validate(t);return e?e.map(T):void 0},e.validateTileLoad=function(t){var e=n.Validators.tileLoadValidator.validate(t);return e?e.map(T):void 0},e.validatePage=function(t){var e=n.Validators.pageValidator.validate(t);return e?e.map(T):void 0},e.validateFilter=function(t){var e=n.Validators.filterValidator.validate(t);return e?e.map(T):void 0},e.validateUpdateFiltersRequest=function(t){var e=n.Validators.updateFiltersRequestValidator.validate(t);return e?e.map(T):void 0},e.validateSaveAsParameters=function(t){var e=n.Validators.saveAsParametersValidator.validate(t);return e?e.map(T):void 0},e.validateLoadQnaConfiguration=function(t){var e=n.Validators.loadQnaValidator.validate(t);return e?e.map(T):void 0},e.validateQnaInterpretInputData=function(t){var e=n.Validators.qnaInterpretInputDataValidator.validate(t);return e?e.map(T):void 0},e.validateExportDataRequest=function(t){var e=n.Validators.exportDataRequestValidator.validate(t);return e?e.map(T):void 0},e.validateVisualHeader=function(t){var e=n.Validators.visualHeaderValidator.validate(t);return e?e.map(T):void 0},e.validateVisualSettings=function(t){var e=n.Validators.visualSettingsValidator.validate(t);return e?e.map(T):void 0},e.validateCommandsSettings=function(t){var e=n.Validators.commandsSettingsValidator.validate(t);return e?e.map(T):void 0},e.validateCustomTheme=function(t){var e=n.Validators.customThemeValidator.validate(t);return e?e.map(T):void 0}},function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.Validators=void 0;var a=r(2),i=r(5),o=r(6),n=r(7),l=r(8),s=r(9),d=r(10),u=r(11),c=r(12),p=r(13),f=r(14),h=r(15),v=r(16),y=r(17),V=r(18),m=r(19),g=r(20),b=r(21),w=r(22),P=r(23),_=r(24),O=r(25),S=r(26),E=r(27),T=r(28),F=r(29),R=r(4),k=r(30);e.Validators={addBookmarkRequestValidator:new i.AddBookmarkRequestValidator,advancedFilterTypeValidator:new R.EnumValidator([0]),advancedFilterValidator:new c.AdvancedFilterValidator,anyArrayValidator:new R.ArrayValidator([new S.AnyOfValidator([new R.StringValidator,new R.NumberValidator,new R.BooleanValidator])]),anyFilterValidator:new S.AnyOfValidator([new c.BasicFilterValidator,new c.AdvancedFilterValidator,new c.IncludeExcludeFilterValidator,new c.NotSupportedFilterValidator,new c.RelativeDateFilterValidator,new c.TopNFilterValidator,new c.RelativeTimeFilterValidator]),anyValueValidator:new S.AnyOfValidator([new R.StringValidator,new R.NumberValidator,new R.BooleanValidator]),actionBarValidator:new a.ActionBarValidator,applyBookmarkByNameRequestValidator:new i.ApplyBookmarkByNameRequestValidator,applyBookmarkStateRequestValidator:new i.ApplyBookmarkStateRequestValidator,applyBookmarkValidator:new S.AnyOfValidator([new i.ApplyBookmarkByNameRequestValidator,new i.ApplyBookmarkStateRequestValidator]),backgroundValidator:new R.EnumValidator([0,1]),basicFilterTypeValidator:new R.EnumValidator([1]),basicFilterValidator:new c.BasicFilterValidator,booleanArrayValidator:new R.BooleanArrayValidator,booleanValidator:new R.BooleanValidator,bookmarksPaneValidator:new h.BookmarksPaneValidator,captureBookmarkOptionsValidator:new i.CaptureBookmarkOptionsValidator,captureBookmarkRequestValidator:new i.CaptureBookmarkRequestValidator,commandDisplayOptionValidator:new R.EnumValidator([0,1,2]),commandExtensionSelectorValidator:new S.AnyOfValidator([new b.VisualSelectorValidator,new b.VisualTypeSelectorValidator]),commandExtensionArrayValidator:new R.ArrayValidator([new u.CommandExtensionValidator]),commandExtensionValidator:new u.CommandExtensionValidator,commandsSettingsArrayValidator:new R.ArrayValidator([new o.CommandsSettingsValidator]),commandsSettingsValidator:new o.CommandsSettingsValidator,conditionItemValidator:new c.ConditionItemValidator,contrastModeValidator:new R.EnumValidator([0,1,2,3,4]),customLayoutDisplayOptionValidator:new R.EnumValidator([0,1,2]),customLayoutValidator:new p.CustomLayoutValidator,customPageSizeValidator:new f.CustomPageSizeValidator,customThemeValidator:new n.CustomThemeValidator,dashboardLoadValidator:new l.DashboardLoadValidator,datasetBindingValidator:new s.DatasetBindingValidator,displayStateModeValidator:new R.EnumValidator([0,1]),displayStateValidator:new p.DisplayStateValidator,exportDataRequestValidator:new d.ExportDataRequestValidator,extensionArrayValidator:new R.ArrayValidator([new u.ExtensionValidator]),extensionsValidator:new S.AnyOfValidator([new R.ArrayValidator([new u.ExtensionValidator]),new u.ExtensionsValidator]),extensionPointsValidator:new u.ExtensionPointsValidator,extensionValidator:new u.ExtensionValidator,fieldForbiddenValidator:new E.FieldForbiddenValidator,fieldRequiredValidator:new T.FieldRequiredValidator,fieldsPaneValidator:new h.FieldsPaneValidator,filterColumnTargetValidator:new c.FilterColumnTargetValidator,filterDisplaySettingsValidator:new c.FilterDisplaySettingsValidator,filterConditionsValidator:new R.ArrayValidator([new c.ConditionItemValidator]),filterHierarchyTargetValidator:new c.FilterHierarchyTargetValidator,filterMeasureTargetValidator:new c.FilterMeasureTargetValidator,filterTargetValidator:new S.AnyOfValidator([new c.FilterColumnTargetValidator,new c.FilterHierarchyTargetValidator,new c.FilterMeasureTargetValidator]),filterValidator:new c.FilterValidator,filterTypeValidator:new R.EnumValidator([0,1,2,3,4,5,6,7]),filtersArrayValidator:new R.ArrayValidator([new c.FilterValidator]),filtersOperationsUpdateValidator:new R.EnumValidator([1,2,3]),filtersOperationsRemoveAllValidator:new R.EnumValidator([0]),filtersPaneValidator:new h.FiltersPaneValidator,hyperlinkClickBehaviorValidator:new R.EnumValidator([0,1,2]),includeExcludeFilterValidator:new c.IncludeExcludeFilterValidator,includeExludeFilterTypeValidator:new R.EnumValidator([3]),layoutTypeValidator:new R.EnumValidator([0,1,2,3]),loadQnaValidator:new v.LoadQnaValidator,menuExtensionValidator:new S.AnyOfValidator([new u.FlatMenuExtensionValidator,new u.GroupedMenuExtensionValidator]),menuGroupExtensionArrayValidator:new R.ArrayValidator([new u.MenuGroupExtensionValidator]),menuGroupExtensionValidator:new u.MenuGroupExtensionValidator,menuLocationValidator:new R.EnumValidator([0,1]),notSupportedFilterTypeValidator:new R.EnumValidator([2]),notSupportedFilterValidator:new c.NotSupportedFilterValidator,numberArrayValidator:new R.NumberArrayValidator,numberValidator:new R.NumberValidator,onLoadFiltersBaseValidator:new S.AnyOfValidator([new c.OnLoadFiltersBaseValidator,new c.OnLoadFiltersBaseRemoveOperationValidator]),pageLayoutValidator:new F.MapValidator([new R.StringValidator],[new p.VisualLayoutValidator]),pageNavigationPaneValidator:new h.PageNavigationPaneValidator,pageNavigationPositionValidator:new R.EnumValidator([0,1]),pageSizeTypeValidator:new R.EnumValidator([0,1,2,3,4,5]),pageSizeValidator:new f.PageSizeValidator,pageValidator:new f.PageValidator,pageViewFieldValidator:new f.PageViewFieldValidator,pagesLayoutValidator:new F.MapValidator([new R.StringValidator],[new p.PageLayoutValidator]),paginatedReportCommandsValidator:new o.PaginatedReportCommandsValidator,paginatedReportLoadValidator:new m.PaginatedReportLoadValidator,paginatedReportsettingsValidator:new w.PaginatedReportSettingsValidator,parametersPanelValidator:new k.ParametersPanelValidator,permissionsValidator:new R.EnumValidator([0,1,2,4,7]),playBookmarkRequestValidator:new i.PlayBookmarkRequestValidator,qnaInterpretInputDataValidator:new v.QnaInterpretInputDataValidator,qnaPanesValidator:new h.QnaPanesValidator,qnaSettingValidator:new v.QnaSettingsValidator,relativeDateFilterOperatorValidator:new R.EnumValidator([0,1,2]),relativeDateFilterTimeUnitTypeValidator:new R.EnumValidator([0,1,2,3,4,5,6]),relativeDateFilterTypeValidator:new R.EnumValidator([4]),relativeDateFilterValidator:new c.RelativeDateFilterValidator,relativeDateTimeFilterTypeValidator:new R.EnumValidator([4,7]),relativeDateTimeFilterUnitTypeValidator:new R.EnumValidator([0,1,2,3,4,5,6,7,8]),relativeTimeFilterTimeUnitTypeValidator:new R.EnumValidator([7,8]),relativeTimeFilterTypeValidator:new R.EnumValidator([7]),relativeTimeFilterValidator:new c.RelativeTimeFilterValidator,reportBarsValidator:new a.ReportBarsValidator,reportCreateValidator:new y.ReportCreateValidator,reportLoadFiltersValidator:new S.AnyOfValidator([new R.ArrayValidator([new c.FilterValidator]),new c.OnLoadFiltersValidator]),reportLoadValidator:new V.ReportLoadValidator,reportPanesValidator:new h.ReportPanesValidator,saveAsParametersValidator:new g.SaveAsParametersValidator,selectionPaneValidator:new h.SelectionPaneValidator,settingsValidator:new w.SettingsValidator,singleCommandSettingsValidator:new o.SingleCommandSettingsValidator,slicerSelectorValidator:new S.AnyOfValidator([new b.VisualSelectorValidator,new b.SlicerTargetSelectorValidator]),slicerStateValidator:new P.SlicerStateValidator,slicerTargetValidator:new S.AnyOfValidator([new c.FilterColumnTargetValidator,new c.FilterHierarchyTargetValidator,new c.FilterMeasureTargetValidator,new c.FilterKeyColumnsTargetValidator,new c.FilterKeyHierarchyTargetValidator]),slicerValidator:new P.SlicerValidator,stringArrayValidator:new R.StringArrayValidator,stringValidator:new R.StringValidator,syncSlicersPaneValidator:new h.SyncSlicersPaneValidator,tileLoadValidator:new _.TileLoadValidator,tokenTypeValidator:new R.EnumValidator([0,1]),topNFilterTypeValidator:new R.EnumValidator([5]),topNFilterValidator:new c.TopNFilterValidator,updateFiltersRequestValidator:new S.AnyOfValidator([new c.UpdateFiltersRequestValidator,new c.RemoveFiltersRequestValidator]),viewModeValidator:new R.EnumValidator([0,1]),visualCommandSelectorValidator:new S.AnyOfValidator([new b.VisualSelectorValidator,new b.VisualTypeSelectorValidator]),visualHeaderSelectorValidator:new S.AnyOfValidator([new b.VisualSelectorValidator,new b.VisualTypeSelectorValidator]),visualHeaderSettingsValidator:new O.VisualHeaderSettingsValidator,visualHeaderValidator:new O.VisualHeaderValidator,visualHeadersValidator:new R.ArrayValidator([new O.VisualHeaderValidator]),visualizationsPaneValidator:new h.VisualizationsPaneValidator,visualLayoutValidator:new p.VisualLayoutValidator,visualSelectorValidator:new b.VisualSelectorValidator,visualSettingsValidator:new O.VisualSettingsValidator,visualTypeSelectorValidator:new b.VisualTypeSelectorValidator}},function(t,e,r){var a,i=this&&this.__extends||(a=function(t,e){return(a=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])})(t,e)},function(t,e){function r(){this.constructor=t}a(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.ActionBarValidator=e.ReportBarsValidator=void 0;var o=r(3),n=r(4),l=r(1),s=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i(e,t),e.prototype.validate=function(e,r,a){if(null==e)return null;var i=t.prototype.validate.call(this,e,r,a);if(i)return i;var n=[{field:"actionBar",validators:[l.Validators.actionBarValidator]}];return new o.MultipleFieldsValidator(n).validate(e,r,a)},e}(n.ObjectValidator);e.ReportBarsValidator=s;var d=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i(e,t),e.prototype.validate=function(e,r,a){if(null==e)return null;var i=t.prototype.validate.call(this,e,r,a);if(i)return i;var n=[{field:"visible",validators:[l.Validators.booleanValidator]}];return new o.MultipleFieldsValidator(n).validate(e,r,a)},e}(n.ObjectValidator);e.ActionBarValidator=d},function(t,e){Object.defineProperty(e,"__esModule",{value:!0}),e.MultipleFieldsValidator=void 0;var r=function(){function t(t){this.fieldValidatorsPairs=t}return t.prototype.validate=function(t,e,r){if(!this.fieldValidatorsPairs)return null;for(var a=e?e+"."+r:r,i=0,o=this.fieldValidatorsPairs;i0&&i[i.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0?"&":"?";return t+=a+e+"="+r},e.isSavedInternal=function(t,e,i){return r(this,void 0,void 0,(function(){return a(this,(function(r){switch(r.label){case 0:return r.trys.push([0,2,,3]),[4,t.get("/report/hasUnsavedChanges",{uid:e},i)];case 1:return[2,!r.sent().body];case 2:throw r.sent().body;case 3:return[2]}}))}))},e.isRDLEmbed=function(t){return t.toLowerCase().indexOf("/rdlembed?")>=0},e.autoAuthInEmbedUrl=function(t){return t&&decodeURIComponent(t).toLowerCase().indexOf("autoauth=true")>=0},e.getRandomValue=o,e.getTimeDiffInMilliseconds=function(t,e){return Math.abs(t.getTime()-e.getTime())}},function(t,e){Object.defineProperty(e,"__esModule",{value:!0}),e.EmbedUrlNotSupported=e.APINotSupportedForRDLError=void 0,e.APINotSupportedForRDLError="This API is currently not supported for RDL reports",e.EmbedUrlNotSupported="Embed URL is invalid for this scenario. Please use Power BI REST APIs to get the valid URL"},function(t,e,r){var a,i=this&&this.__extends||(a=function(t,e){return(a=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])})(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}a(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}),o=this&&this.__awaiter||function(t,e,r,a){return new(r||(r=Promise))((function(i,o){function n(t){try{s(a.next(t))}catch(t){o(t)}}function l(t){try{s(a.throw(t))}catch(t){o(t)}}function s(t){var e;t.done?i(t.value):(e=t.value,e instanceof r?e:new r((function(t){t(e)}))).then(n,l)}s((a=a.apply(t,e||[])).next())}))},n=this&&this.__generator||function(t,e){var r,a,i,o,n={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:l(0),throw:l(1),return:l(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function l(o){return function(l){return function(o){if(r)throw new TypeError("Generator is already executing.");for(;n;)try{if(r=1,a&&(i=2&o[0]?a.return:o[0]?a.throw||((i=a.return)&&i.call(a),0):a.next)&&!(i=i.call(a,o[1])).done)return i;switch(a=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return n.label++,{value:o[1],done:!1};case 5:n.label++,a=o[1],o=[0];continue;case 7:o=n.ops.pop(),n.trys.pop();continue;default:if(!(i=n.trys,(i=i.length>0&&i[i.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]} */ async setAccessToken(accessToken: string): Promise { + if (!accessToken) { + throw new Error("Access token cannot be empty"); + } let embedType = this.config.type; embedType = (embedType === 'create' || embedType === 'visual' || embedType === 'qna') ? 'report' : embedType; try { From b01918a5b2c86c7d5f5cf2d37eeab3ffc69a443f Mon Sep 17 00:00:00 2001 From: Rashi Krishna Date: Tue, 8 Jun 2021 10:33:21 +0000 Subject: [PATCH 067/125] Merged PR 174902: [JS SDK simplify functions]: Final updated features of JS SDK ## This PR adds the following features in JS SDK: 1. Method to move visual - (Report, Page, Visual) 2. Method to resize visual - (Report, Page, Visual) 3. Method to show/ hide visual - (Report, Page, Visual) 4. Method to resize Page - (Report, Page) 5. Method to get active page - (Report) 6. Method to get slicers - (Page) 7. Method to add/ remove context menu - (Report) 8. Method to add/ remove options menu - (Report) 9. Filter builder classes # Checklist - [X] Build and test scripts are passing, if available - [X] Open errors/warning details are shared with the reviewer - [X] There are no violations to the applicable coding guidelines - [X] Application has a consistent exception management setup - [X] Code does not contain commented code - [X] Is testing performed and results captured in ADO and list of test cases executed shared in PR? - [X] Generic exception type is not handled - [X] Stacktrace of error is not returned - [X] All external packages/libraries are installed from an online package manager Related work items: #556945, #556982, #557990, #558047, #558568, #558774, #559269, #559270, #559675, #560267, #560343, #562588, #562621, #562622, #562623, #562689, #562693, #562694, #563307, #563335, #564462, #564992, #565015, #566324, #566493, #566939, #567286, #570360, #570361, #570466, #570469, #571363, #571440, #572234, #572247, #573012, #573015, #573664, #574414, #574522, #574523, #575744 --- dist/powerbi-client.d.ts | 843 +++++++- dist/powerbi.js | 1727 +++++++++++++++-- dist/powerbi.min.js | 10 +- package.json | 2 +- src/FilterBuilders/advancedFilterBuilder.ts | 124 ++ src/FilterBuilders/basicFilterBuilder.ts | 137 ++ src/FilterBuilders/filterBuilder.ts | 14 + src/FilterBuilders/index.ts | 18 + .../relativeDateFilterBuilder.ts | 151 ++ .../relativeTimeFilterBuilder.ts | 134 ++ src/FilterBuilders/topNFilterBuilder.ts | 122 ++ src/config.ts | 2 +- src/embed.ts | 26 +- src/page.ts | 143 +- src/powerbi-client.ts | 7 + src/report.ts | 462 ++++- src/visualDescriptor.ts | 61 + test/filterBuilders.spec.ts | 245 +++ test/test.spec.ts | 1119 ++++++++++- test/utility/mockApp.ts | 36 + webpack.test.config.js | 3 +- 21 files changed, 5136 insertions(+), 250 deletions(-) create mode 100644 src/FilterBuilders/advancedFilterBuilder.ts create mode 100644 src/FilterBuilders/basicFilterBuilder.ts create mode 100644 src/FilterBuilders/filterBuilder.ts create mode 100644 src/FilterBuilders/index.ts create mode 100644 src/FilterBuilders/relativeDateFilterBuilder.ts create mode 100644 src/FilterBuilders/relativeTimeFilterBuilder.ts create mode 100644 src/FilterBuilders/topNFilterBuilder.ts create mode 100644 test/filterBuilders.spec.ts diff --git a/dist/powerbi-client.d.ts b/dist/powerbi-client.d.ts index 4dff3966..78b5b127 100644 --- a/dist/powerbi-client.d.ts +++ b/dist/powerbi-client.d.ts @@ -1,6 +1,18 @@ -// powerbi-client v2.18.1 +// powerbi-client v2.18.2 // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. +declare module "config" { + /** @ignore */ /** */ + const config: { + version: string; + type: string; + }; + export default config; +} +declare module "errors" { + export const APINotSupportedForRDLError = "This API is currently not supported for RDL reports"; + export const EmbedUrlNotSupported = "Embed URL is invalid for this scenario. Please use Power BI REST APIs to get the valid URL"; +} declare module "util" { import { HttpPostMessage } from 'http-post-message'; /** @@ -105,21 +117,9 @@ declare module "util" { */ export function getTimeDiffInMilliseconds(start: Date, end: Date): number; } -declare module "config" { - /** @ignore */ /** */ - const config: { - version: string; - type: string; - }; - export default config; -} -declare module "errors" { - export const APINotSupportedForRDLError = "This API is currently not supported for RDL reports"; - export const EmbedUrlNotSupported = "Embed URL is invalid for this scenario. Please use Power BI REST APIs to get the valid URL"; -} declare module "embed" { import * as models from 'powerbi-models'; - import { Service, IEventHandler, IEvent, ICustomEvent } from "service"; + import { ICustomEvent, IEvent, IEventHandler, Service } from "service"; global { interface Document { mozCancelFullScreen: any; @@ -177,6 +177,12 @@ declare module "embed" { static maxFrontLoadTimes: number; /** @hidden */ allowedEvents: string[]; + /** @hidden */ + protected commands: models.ICommandExtension[]; + /** @hidden */ + protected initialLayoutType: models.LayoutType; + /** @hidden */ + groups: models.IMenuGroupExtension[]; /** * Gets or sets the event handler registered for this embed component. * @@ -573,7 +579,7 @@ declare module "ifilterable" { } } declare module "visualDescriptor" { - import { ExportDataType, FiltersOperations, ICloneVisualRequest, ICloneVisualResponse, IExportDataResult, IFilter, ISlicerState, ISortByVisualRequest, IVisualLayout } from 'powerbi-models'; + import { ExportDataType, FiltersOperations, ICloneVisualRequest, ICloneVisualResponse, IExportDataResult, IFilter, ISlicerState, ISortByVisualRequest, IVisualLayout, VisualContainerDisplayMode } from 'powerbi-models'; import { IHttpPostMessageResponse } from 'http-post-message'; import { IFilterable } from "ifilterable"; import { IPageNode } from "page"; @@ -731,11 +737,50 @@ declare module "visualDescriptor" { * ``` */ sortBy(request: ISortByVisualRequest): Promise>; + /** + * Updates the position of a visual. + * + * ```javascript + * visual.moveVisual(x, y, z) + * .catch(error => { ... }); + * ``` + * + * @param {number} x + * @param {number} y + * @param {number} z + * @returns {Promise>} + */ + moveVisual(x: number, y: number, z?: number): Promise>; + /** + * Updates the display state of a visual. + * + * ```javascript + * visual.setVisualDisplayState(displayState) + * .catch(error => { ... }); + * ``` + * + * @param {VisualContainerDisplayMode} displayState + * @returns {Promise>} + */ + setVisualDisplayState(displayState: VisualContainerDisplayMode): Promise>; + /** + * Resize a visual. + * + * ```javascript + * visual.resizeVisual(width, height) + * .catch(error => { ... }); + * ``` + * + * @param {number} width + * @param {number} height + * @returns {Promise>} + */ + resizeVisual(width: number, height: number): Promise>; } } declare module "page" { import { IHttpPostMessageResponse } from 'http-post-message'; - import { DisplayOption, FiltersOperations, ICustomPageSize, IFilter, LayoutType, SectionVisibility } from 'powerbi-models'; + import { DisplayOption, FiltersOperations, ICustomPageSize, IFilter, IVisual, LayoutType, PageSizeType, SectionVisibility, VisualContainerDisplayMode } from 'powerbi-models'; import { IFilterable } from "ifilterable"; import { IReportNode } from "report"; import { VisualDescriptor } from "visualDescriptor"; @@ -900,6 +945,89 @@ declare module "page" { * @returns {Promise} */ getVisuals(): Promise; + /** + * Gets a visual by name on the page. + * + * ```javascript + * page.getVisualByName(visualName: string) + * .then(visual => { + * ... + * }); + * ``` + * + * @param {string} visualName + * @returns {Promise} + */ + getVisualByName(visualName: string): Promise; + /** + * Updates the display state of a visual in a page. + * + * ```javascript + * page.setVisualDisplayState(visualName, displayState) + * .catch(error => { ... }); + * ``` + * + * @param {string} visualName + * @param {VisualContainerDisplayMode} displayState + * @returns {Promise>} + */ + setVisualDisplayState(visualName: string, displayState: VisualContainerDisplayMode): Promise>; + /** + * Updates the position of a visual in a page. + * + * ```javascript + * page.moveVisual(visualName, x, y, z) + * .catch(error => { ... }); + * ``` + * + * @param {string} visualName + * @param {number} x + * @param {number} y + * @param {number} z + * @returns {Promise>} + */ + moveVisual(visualName: string, x: number, y: number, z?: number): Promise>; + /** + * Resize a visual in a page. + * + * ```javascript + * page.resizeVisual(visualName, width, height) + * .catch(error => { ... }); + * ``` + * + * @param {string} visualName + * @param {number} width + * @param {number} height + * @returns {Promise>} + */ + resizeVisual(visualName: string, width: number, height: number): Promise>; + /** + * Updates the size of active page. + * + * ```javascript + * page.resizePage(pageSizeType, width, height) + * .catch(error => { ... }); + * ``` + * + * @param {PageSizeType} pageSizeType + * @param {number} width + * @param {number} height + * @returns {Promise>} + */ + resizePage(pageSizeType: PageSizeType, width?: number, height?: number): Promise>; + /** + * Gets the list of slicer visuals on the page. + * + * ```javascript + * page.getSlicers() + * .then(slicers => { + * ... + * }); + * ``` + * + * @returns {Promise} + */ + getSlicers(): Promise; /** * Checks if page has layout. * @@ -914,7 +1042,7 @@ declare module "page" { } } declare module "report" { - import { IReportLoadConfiguration, IReportEmbedConfiguration, FiltersOperations, IError, IFilter, IReportTheme, ISettings, SectionVisibility, ViewMode, IEmbedConfiguration, IEmbedConfigurationBase } from 'powerbi-models'; + import { IReportLoadConfiguration, IReportEmbedConfiguration, FiltersOperations, IError, IFilter, IReportTheme, ISettings, LayoutType, SectionVisibility, ViewMode, IEmbedConfiguration, IEmbedConfigurationBase, MenuLocation, PageSizeType, VisualContainerDisplayMode } from 'powerbi-models'; import { IHttpPostMessageResponse } from 'http-post-message'; import { IService, Service } from "service"; import { Embed } from "embed"; @@ -1098,6 +1226,33 @@ declare module "report" { * @returns {Promise} */ getPages(): Promise; + /** + * Gets a report page by its name. + * + * ```javascript + * report.getPageByName(pageName) + * .then(page => { + * ... + * }); + * ``` + * + * @param {string} pageName + * @returns {Promise} + */ + getPageByName(pageName: string): Promise; + /** + * Gets the active report page. + * + * ```javascript + * report.getActivePage() + * .then(activePage => { + * ... + * }); + * ``` + * + * @returns {Promise} + */ + getActivePage(): Promise; /** * Creates an instance of a Page. * @@ -1234,6 +1389,163 @@ declare module "report" { * @returns {Promise} */ arePersistentFiltersApplied(): Promise; + /** + * Remove context menu extension command. + * + * ```javascript + * report.removeContextMenuCommand(commandName, contextMenuTitle) + * .catch(error => { + * ... + * }); + * ``` + * + * @param {string} commandName + * @param {string} contextMenuTitle + * @returns {Promise>} + */ + removeContextMenuCommand(commandName: string, contextMenuTitle: string): Promise>; + /** + * Add context menu extension command. + * + * ```javascript + * report.addContextMenuCommand(commandName, commandTitle, contextMenuTitle, menuLocation, visualName, visualType, groupName) + * .catch(error => { + * ... + * }); + * ``` + * + * @param {string} commandName + * @param {string} commandTitle + * @param {string} contextMenuTitle + * @param {MenuLocation} menuLocation + * @param {string} visualName + * @param {string} visualType + * @param {string} groupName + * @returns {Promise>} + */ + addContextMenuCommand(commandName: string, commandTitle: string, contextMenuTitle: string, menuLocation: MenuLocation, visualName: string, visualType: string, groupName?: string): Promise>; + /** + * Remove options menu extension command. + * + * ```javascript + * report.removeOptionsMenuCommand(commandName, optionsMenuTitle) + * .then({ + * ... + * }); + * ``` + * + * @param {string} commandName + * @param {string} optionsMenuTitle + * @returns {Promise>} + */ + removeOptionsMenuCommand(commandName: string, optionsMenuTitle: string): Promise>; + /** + * Add options menu extension command. + * + * ```javascript + * report.addOptionsMenuCommand(commandName, commandTitle, optionsMenuTitle, menuLocation, visualName, visualType, groupName, commandIcon) + * .catch(error => { + * ... + * }); + * ``` + * + * @param {string} commandName + * @param {string} commandTitle + * @param {string} optionMenuTitle + * @param {MenuLocation} menuLocation + * @param {string} visualName + * @param {string} visualType + * @param {string} groupName + * @param {string} commandIcon + * @returns {Promise>} + */ + addOptionsMenuCommand(commandName: string, commandTitle: string, optionsMenuTitle?: string, menuLocation?: MenuLocation, visualName?: string, visualType?: string, groupName?: string, commandIcon?: string): Promise>; + /** + * Updates the display state of a visual in a page. + * + * ```javascript + * report.setVisualDisplayState(pageName, visualName, displayState) + * .catch(error => { ... }); + * ``` + * + * @param {string} pageName + * @param {string} visualName + * @param {VisualContainerDisplayMode} displayState + * @returns {Promise>} + */ + setVisualDisplayState(pageName: string, visualName: string, displayState: VisualContainerDisplayMode): Promise>; + /** + * Resize a visual in a page. + * + * ```javascript + * report.resizeVisual(pageName, visualName, width, height) + * .catch(error => { ... }); + * ``` + * + * @param {string} pageName + * @param {string} visualName + * @param {number} width + * @param {number} height + * @returns {Promise>} + */ + resizeVisual(pageName: string, visualName: string, width: number, height: number): Promise>; + /** + * Updates the size of active page in report. + * + * ```javascript + * report.resizePage(pageSizeType, width, height) + * .catch(error => { ... }); + * ``` + * + * @param {PageSizeType} pageSizeType + * @param {number} width + * @param {number} height + * @returns {Promise>} + */ + resizePage(pageSizeType: PageSizeType, width?: number, height?: number): Promise>; + /** + * Updates the position of a visual in a page. + * + * ```javascript + * report.moveVisual(pageName, visualName, x, y, z) + * .catch(error => { ... }); + * ``` + * + * @param {string} pageName + * @param {string} visualName + * @param {number} x + * @param {number} y + * @param {number} z + * @returns {Promise>} + */ + moveVisual(pageName: string, visualName: string, x: number, y: number, z?: number): Promise>; + /** + * Updates the report layout + * + * ```javascript + * report.switchLayout(layoutType); + * ``` + * + * @param {LayoutType} layoutType + * @returns {Promise>} + */ + switchLayout(layoutType: LayoutType): Promise>; + /** + * @hidden + */ + private createMenuCommand; + /** + * @hidden + */ + private findCommandMenuIndex; + /** + * @hidden + */ + private buildLayoutSettingsObject; + /** + * @hidden + */ + private validateVisual; /** * @hidden */ @@ -1977,6 +2289,502 @@ declare module "factories" { export const wpmpFactory: IWpmpFactory; export const routerFactory: IRouterFactory; } +declare module "FilterBuilders/filterBuilder" { + import { Filter } from "powerbi-models"; + /** + * Generic filter builder for BasicFilter, AdvancedFilter, RelativeDate, RelativeTime and TopN + * + * @interface IFilterBuilder + */ + export interface IFilterBuilder { + withTarget(table: string, column: string): IFilterBuilder; + build(): Filter; + } +} +declare module "FilterBuilders/basicFilterBuilder" { + import { BasicFilter, IFilterTarget } from "powerbi-models"; + import { IFilterBuilder } from "FilterBuilders/filterBuilder"; + /** + * Power BI Basic filter builder component + * + * @export + * @class BasicFilterBuilder + * @implements {IFilterBuilder} + */ + export class BasicFilterBuilder implements IFilterBuilder { + private target; + private values; + private operator; + private isRequireSingleSelection; + /** + * Sets target property for Basic filter + * + * ```javascript + * + * const basicFilterBuilder = new BasicFilterBuilder().withTarget(tableName, columnName); + * ``` + * + * @returns {BasicFilterBuilder} + */ + withTarget(table: string, column: string): BasicFilterBuilder; + /** + * Sets target property for Basic filter with target object + * + * ```javascript + * const target = { + * table: 'table1', + * column: 'column1' + * }; + * + * const basicFilterBuilder = new BasicFilterBuilder().withTargetObject(target); + * ``` + * + * @returns {BasicFilterBuilder} + */ + withTargetObject(target: IFilterTarget): BasicFilterBuilder; + /** + * Sets In as operator for Basic filter + * + * ```javascript + * + * const basicFilterBuilder = new BasicFilterBuilder().in([values]); + * ``` + * + * @returns {BasicFilterBuilder} + */ + in(values: Array<(string | number | boolean)>): BasicFilterBuilder; + /** + * Sets NotIn as operator for Basic filter + * + * ```javascript + * + * const basicFilterBuilder = new BasicFilterBuilder().notIn([values]); + * ``` + * + * @returns {BasicFilterBuilder} + */ + notIn(values: Array<(string | number | boolean)>): BasicFilterBuilder; + /** + * Sets All as operator for Basic filter + * + * ```javascript + * + * const basicFilterBuilder = new BasicFilterBuilder().all(); + * ``` + * + * @returns {BasicFilterBuilder} + */ + all(): BasicFilterBuilder; + /** + * Sets required single selection property for Basic filter + * + * ```javascript + * + * const basicFilterBuilder = new BasicFilterBuilder().requireSingleSelection(isRequireSingleSelection); + * ``` + * + * @returns {BasicFilterBuilder} + */ + requireSingleSelection(isRequireSingleSelection?: boolean): BasicFilterBuilder; + /** + * Creates Basic filter + * + * ```javascript + * + * const basicFilterBuilder = new BasicFilterBuilder().build(); + * ``` + * + * @returns {BasicFilter} + */ + build(): BasicFilter; + } +} +declare module "FilterBuilders/advancedFilterBuilder" { + import { AdvancedFilter, IFilterTarget, AdvancedFilterConditionOperators } from "powerbi-models"; + import { IFilterBuilder } from "FilterBuilders/filterBuilder"; + /** + * Power BI Advanced filter builder component + * + * @export + * @class AdvancedFilterBuilder + * @implements {IFilterBuilder} + */ + export class AdvancedFilterBuilder implements IFilterBuilder { + private target; + private logicalOperator; + private conditions; + /** + * Sets target property for Advanced filter + * + * ```javascript + * + * const advancedFilterBuilder = new AdvancedFilterBuilder().withTarget(tableName, columnName); + * ``` + * + * @returns {AdvancedFilterBuilder} + */ + withTarget(table: string, column: string): AdvancedFilterBuilder; + /** + * Sets target property for Advanced filter with target object + * + * ```javascript + * const target = { + * table: 'table1', + * column: 'column1' + * }; + * + * const advancedFilterBuilder = new AdvancedFilterBuilder().withTargetObject(target); + * ``` + * + * @returns {AdvancedFilterBuilder} + */ + withTargetObject(target: IFilterTarget): AdvancedFilterBuilder; + /** + * Sets And as logical operator for Advanced filter + * + * ```javascript + * + * const advancedFilterBuilder = new AdvancedFilterBuilder().and(); + * ``` + * + * @returns {AdvancedFilterBuilder} + */ + and(): AdvancedFilterBuilder; + /** + * Sets Or as logical operator for Advanced filter + * + * ```javascript + * + * const advancedFilterBuilder = new AdvancedFilterBuilder().or(); + * ``` + * + * @returns {AdvancedFilterBuilder} + */ + or(): AdvancedFilterBuilder; + /** + * Adds a condition in Advanced filter + * + * ```javascript + * + * // Add two conditions + * const advancedFilterBuilder = new AdvancedFilterBuilder().addCondition("Contains", "Wash").addCondition("Contains", "Park"); + * ``` + * + * @returns {AdvancedFilterBuilder} + */ + addCondition(operator: AdvancedFilterConditionOperators, value?: (string | number | boolean | Date)): AdvancedFilterBuilder; + /** + * Creates Advanced filter + * + * ```javascript + * + * const advancedFilterBuilder = new AdvancedFilterBuilder().build(); + * ``` + * + * @returns {AdvancedFilter} + */ + build(): AdvancedFilter; + } +} +declare module "FilterBuilders/topNFilterBuilder" { + import { IFilterTarget, TopNFilter } from "powerbi-models"; + import { IFilterBuilder } from "FilterBuilders/filterBuilder"; + /** + * Power BI Top N filter builder component + * + * @export + * @class TopNFilterBuilder + * @implements {IFilterBuilder} + */ + export class TopNFilterBuilder implements IFilterBuilder { + private target; + private itemCount; + private operator; + private orderByTarget; + /** + * Sets target property for Top N filter + * + * ```javascript + * + * const topNFilterBuilder = new TopNFilterBuilder().withTarget(tableName, columnName); + * ``` + * + * @returns {TopNFilterBuilder} + */ + withTarget(table: string, column: string): TopNFilterBuilder; + /** + * Sets target property for Top N filter with target object + * + * ```javascript + * const target = { + * table: 'table1', + * column: 'column1' + * }; + * + * const topNFilterBuilder = new TopNFilterBuilder().withTargetObject(target); + * ``` + * + * @returns {TopNFilterBuilder} + */ + withTargetObject(target: IFilterTarget): TopNFilterBuilder; + /** + * Sets Top as operator for Top N filter + * + * ```javascript + * + * const topNFilterBuilder = new TopNFilterBuilder().top(itemCount); + * ``` + * + * @returns {TopNFilterBuilder} + */ + top(itemCount: number): TopNFilterBuilder; + /** + * Sets Bottom as operator for Top N filter + * + * ```javascript + * + * const topNFilterBuilder = new TopNFilterBuilder().bottom(itemCount); + * ``` + * + * @returns {TopNFilterBuilder} + */ + bottom(itemCount: number): TopNFilterBuilder; + /** + * Sets order by for Top N filter + * + * ```javascript + * + * const topNFilterBuilder = new TopNFilterBuilder().orderBy(table, measure); + * ``` + * + * @returns {TopNFilterBuilder} + */ + orderBy(table: string, measure: string): TopNFilterBuilder; + /** + * Creates Top N filter + * + * ```javascript + * + * const topNFilterBuilder = new TopNFilterBuilder().build(); + * ``` + * + * @returns {TopNFilter} + */ + build(): TopNFilter; + } +} +declare module "FilterBuilders/relativeDateFilterBuilder" { + import { IFilterTarget, RelativeDateFilter, RelativeDateFilterTimeUnit } from "powerbi-models"; + import { IFilterBuilder } from "FilterBuilders/filterBuilder"; + /** + * Power BI Relative Date filter builder component + * + * @export + * @class RelativeDateFilterBuilder + * @implements {IFilterBuilder} + */ + export class RelativeDateFilterBuilder implements IFilterBuilder { + private target; + private operator; + private timeUnitsCount; + private timeUnitType; + private isTodayIncluded; + /** + * Sets target property for Relative Date filter + * + * ```javascript + * + * const relativeDateFilterBuilder = new RelativeDateFilterBuilder().withTarget(tableName, columnName); + * ``` + * + * @param {string} table - Defines the table on which filter will be applied + * @param {string} column - Defines the column on which filter will be applied + * @returns {RelativeDateFilterBuilder} + */ + withTarget(table: string, column: string): RelativeDateFilterBuilder; + /** + * Sets target property for Relative Date filter with target object + * + * ```javascript + * const target = { + * table: 'table1', + * column: 'column1' + * }; + * + * const relativeDateFilterBuilder = new RelativeDateFilterBuilder().withTargetObject(target); + * ``` + * + * @param {IFilterTarget} target - Defines the target property + * @returns {RelativeDateFilterBuilder} + */ + withTargetObject(target: IFilterTarget): RelativeDateFilterBuilder; + /** + * Sets inLast as operator for Relative Date filter + * + * ```javascript + * + * const relativeDateFilterBuilder = new RelativeDateFilterBuilder().inLast(timeUnitsCount, timeUnitType); + * ``` + * + * @param {number} timeUnitsCount - The amount of time units + * @param {RelativeDateFilterTimeUnit} timeUnitType - Defines the unit of time the filter is using + * @returns {RelativeDateFilterBuilder} + */ + inLast(timeUnitsCount: number, timeUnitType: RelativeDateFilterTimeUnit): RelativeDateFilterBuilder; + /** + * Sets inThis as operator for Relative Date filter + * + * ```javascript + * + * const relativeDateFilterBuilder = new RelativeDateFilterBuilder().inThis(timeUnitsCount, timeUnitType); + * ``` + * + * @param {number} timeUnitsCount - The amount of time units + * @param {RelativeDateFilterTimeUnit} timeUnitType - Defines the unit of time the filter is using + * @returns {RelativeDateFilterBuilder} + */ + inThis(timeUnitsCount: number, timeUnitType: RelativeDateFilterTimeUnit): RelativeDateFilterBuilder; + /** + * Sets inNext as operator for Relative Date filter + * + * ```javascript + * + * const relativeDateFilterBuilder = new RelativeDateFilterBuilder().orderBy(timeUnitsCount, timeUnitType); + * ``` + * + * @param {number} timeUnitsCount - The amount of time units + * @param {RelativeDateFilterTimeUnit} timeUnitType - Defines the unit of time the filter is using + * @returns {RelativeDateFilterBuilder} + */ + inNext(timeUnitsCount: number, timeUnitType: RelativeDateFilterTimeUnit): RelativeDateFilterBuilder; + /** + * Sets includeToday for Relative Date filter + * + * ```javascript + * + * const relativeDateFilterBuilder = new RelativeDateFilterBuilder().includeToday(includeToday); + * ``` + * + * @param {boolean} includeToday - Denotes if today is included or not + * @returns {RelativeDateFilterBuilder} + */ + includeToday(includeToday: boolean): RelativeDateFilterBuilder; + /** + * Creates Relative Date filter + * + * ```javascript + * + * const relativeDateFilterBuilder = new RelativeDateFilterBuilder().build(); + * ``` + * + * @returns {RelativeDateFilter} + */ + build(): RelativeDateFilter; + } +} +declare module "FilterBuilders/relativeTimeFilterBuilder" { + import { IFilterTarget, RelativeTimeFilter, RelativeDateFilterTimeUnit } from "powerbi-models"; + import { IFilterBuilder } from "FilterBuilders/filterBuilder"; + /** + * Power BI Relative Time filter builder component + * + * @export + * @class RelativeTimeFilterBuilder + * @implements {IFilterBuilder} + */ + export class RelativeTimeFilterBuilder implements IFilterBuilder { + private target; + private operator; + private timeUnitsCount; + private timeUnitType; + /** + * Sets target property for Relative Time filter + * + * ```javascript + * + * const relativeTimeFilterBuilder = new RelativeTimeFilterBuilder().withTarget(tableName, columnName); + * ``` + * + * @param {string} table - Defines the table on which filter will be applied + * @param {string} column - Defines the column on which filter will be applied + * @returns {RelativeTimeFilterBuilder} + */ + withTarget(table: string, column: string): RelativeTimeFilterBuilder; + /** + * Sets target property for Relative Time filter with target object + * + * ```javascript + * const target = { + * table: 'table1', + * column: 'column1' + * }; + * + * const relativeTimeFilterBuilder = new RelativeTimeFilterBuilder().withTargetObject(target); + * ``` + * + * @param {IFilterTarget} target - Defines the target property + * @returns {RelativeTimeFilterBuilder} + */ + withTargetObject(target: IFilterTarget): RelativeTimeFilterBuilder; + /** + * Sets inLast as operator for Relative Time filter + * + * ```javascript + * + * const relativeTimeFilterBuilder = new RelativeTimeFilterBuilder().inLast(timeUnitsCount, timeUnitType); + * ``` + * + * @param {number} timeUnitsCount - The amount of time units + * @param {RelativeDateFilterTimeUnit} timeUnitType - Defines the unit of time the filter is using + * @returns {RelativeTimeFilterBuilder} + */ + inLast(timeUnitsCount: number, timeUnitType: RelativeDateFilterTimeUnit): RelativeTimeFilterBuilder; + /** + * Sets inThis as operator for Relative Time filter + * + * ```javascript + * + * const relativeTimeFilterBuilder = new RelativeTimeFilterBuilder().inThis(timeUnitsCount, timeUnitType); + * ``` + * + * @param {number} timeUnitsCount - The amount of time units + * @param {RelativeDateFilterTimeUnit} timeUnitType - Defines the unit of time the filter is using + * @returns {RelativeTimeFilterBuilder} + */ + inThis(timeUnitsCount: number, timeUnitType: RelativeDateFilterTimeUnit): RelativeTimeFilterBuilder; + /** + * Sets inNext as operator for Relative Time filter + * + * ```javascript + * + * const relativeTimeFilterBuilder = new RelativeTimeFilterBuilder().orderBy(timeUnitsCount, timeUnitType); + * ``` + * + * @param {number} timeUnitsCount - The amount of time units + * @param {RelativeDateFilterTimeUnit} timeUnitType - Defines the unit of time the filter is using + * @returns {RelativeTimeFilterBuilder} + */ + inNext(timeUnitsCount: number, timeUnitType: RelativeDateFilterTimeUnit): RelativeTimeFilterBuilder; + /** + * Creates Relative Time filter + * + * ```javascript + * + * const relativeTimeFilterBuilder = new RelativeTimeFilterBuilder().build(); + * ``` + * + * @returns {RelativeTimeFilter} + */ + build(): RelativeTimeFilter; + } +} +declare module "FilterBuilders/index" { + export { BasicFilterBuilder } from "FilterBuilders/basicFilterBuilder"; + export { AdvancedFilterBuilder } from "FilterBuilders/advancedFilterBuilder"; + export { TopNFilterBuilder } from "FilterBuilders/topNFilterBuilder"; + export { RelativeDateFilterBuilder } from "FilterBuilders/relativeDateFilterBuilder"; + export { RelativeTimeFilterBuilder } from "FilterBuilders/relativeTimeFilterBuilder"; +} declare module "powerbi-client" { /** * @hidden @@ -1994,6 +2802,7 @@ declare module "powerbi-client" { export { Qna } from "qna"; export { Visual } from "visual"; export { VisualDescriptor } from "visualDescriptor"; + export { BasicFilterBuilder, AdvancedFilterBuilder, TopNFilterBuilder, RelativeDateFilterBuilder, RelativeTimeFilterBuilder } from "FilterBuilders/index"; global { interface Window { powerbi: service.Service; diff --git a/dist/powerbi.js b/dist/powerbi.js index 612f8128..0b6d38bc 100644 --- a/dist/powerbi.js +++ b/dist/powerbi.js @@ -1,4 +1,4 @@ -// powerbi-client v2.18.1 +// powerbi-client v2.18.2 // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. (function webpackUniversalModuleDefinition(root, factory) { @@ -6122,6 +6122,690 @@ return /******/ (function(modules) { // webpackBootstrap ; //# sourceMappingURL=windowPostMessageProxy.js.map +/***/ }), + +/***/ "./src/FilterBuilders/advancedFilterBuilder.ts": +/*!*****************************************************!*\ + !*** ./src/FilterBuilders/advancedFilterBuilder.ts ***! + \*****************************************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. +Object.defineProperty(exports, "__esModule", { value: true }); +exports.AdvancedFilterBuilder = void 0; +var powerbi_models_1 = __webpack_require__(/*! powerbi-models */ "./node_modules/powerbi-models/dist/models.js"); +/** + * Power BI Advanced filter builder component + * + * @export + * @class AdvancedFilterBuilder + * @implements {IFilterBuilder} + */ +var AdvancedFilterBuilder = /** @class */ (function () { + function AdvancedFilterBuilder() { + this.conditions = []; + } + /** + * Sets target property for Advanced filter + * + * ```javascript + * + * const advancedFilterBuilder = new AdvancedFilterBuilder().withTarget(tableName, columnName); + * ``` + * + * @returns {AdvancedFilterBuilder} + */ + AdvancedFilterBuilder.prototype.withTarget = function (table, column) { + this.target = { table: table, column: column }; + return this; + }; + /** + * Sets target property for Advanced filter with target object + * + * ```javascript + * const target = { + * table: 'table1', + * column: 'column1' + * }; + * + * const advancedFilterBuilder = new AdvancedFilterBuilder().withTargetObject(target); + * ``` + * + * @returns {AdvancedFilterBuilder} + */ + AdvancedFilterBuilder.prototype.withTargetObject = function (target) { + this.target = target; + return this; + }; + /** + * Sets And as logical operator for Advanced filter + * + * ```javascript + * + * const advancedFilterBuilder = new AdvancedFilterBuilder().and(); + * ``` + * + * @returns {AdvancedFilterBuilder} + */ + AdvancedFilterBuilder.prototype.and = function () { + this.logicalOperator = "And"; + return this; + }; + /** + * Sets Or as logical operator for Advanced filter + * + * ```javascript + * + * const advancedFilterBuilder = new AdvancedFilterBuilder().or(); + * ``` + * + * @returns {AdvancedFilterBuilder} + */ + AdvancedFilterBuilder.prototype.or = function () { + this.logicalOperator = "Or"; + return this; + }; + /** + * Adds a condition in Advanced filter + * + * ```javascript + * + * // Add two conditions + * const advancedFilterBuilder = new AdvancedFilterBuilder().addCondition("Contains", "Wash").addCondition("Contains", "Park"); + * ``` + * + * @returns {AdvancedFilterBuilder} + */ + AdvancedFilterBuilder.prototype.addCondition = function (operator, value) { + var condition = { + operator: operator, + value: value + }; + this.conditions.push(condition); + return this; + }; + /** + * Creates Advanced filter + * + * ```javascript + * + * const advancedFilterBuilder = new AdvancedFilterBuilder().build(); + * ``` + * + * @returns {AdvancedFilter} + */ + AdvancedFilterBuilder.prototype.build = function () { + var advancedFilter = new powerbi_models_1.AdvancedFilter(this.target, this.logicalOperator, this.conditions); + return advancedFilter; + }; + return AdvancedFilterBuilder; +}()); +exports.AdvancedFilterBuilder = AdvancedFilterBuilder; + + +/***/ }), + +/***/ "./src/FilterBuilders/basicFilterBuilder.ts": +/*!**************************************************!*\ + !*** ./src/FilterBuilders/basicFilterBuilder.ts ***! + \**************************************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. +Object.defineProperty(exports, "__esModule", { value: true }); +exports.BasicFilterBuilder = void 0; +var powerbi_models_1 = __webpack_require__(/*! powerbi-models */ "./node_modules/powerbi-models/dist/models.js"); +/** + * Power BI Basic filter builder component + * + * @export + * @class BasicFilterBuilder + * @implements {IFilterBuilder} + */ +var BasicFilterBuilder = /** @class */ (function () { + function BasicFilterBuilder() { + this.isRequireSingleSelection = false; + } + /** + * Sets target property for Basic filter + * + * ```javascript + * + * const basicFilterBuilder = new BasicFilterBuilder().withTarget(tableName, columnName); + * ``` + * + * @returns {BasicFilterBuilder} + */ + BasicFilterBuilder.prototype.withTarget = function (table, column) { + this.target = { table: table, column: column }; + return this; + }; + /** + * Sets target property for Basic filter with target object + * + * ```javascript + * const target = { + * table: 'table1', + * column: 'column1' + * }; + * + * const basicFilterBuilder = new BasicFilterBuilder().withTargetObject(target); + * ``` + * + * @returns {BasicFilterBuilder} + */ + BasicFilterBuilder.prototype.withTargetObject = function (target) { + this.target = target; + return this; + }; + /** + * Sets In as operator for Basic filter + * + * ```javascript + * + * const basicFilterBuilder = new BasicFilterBuilder().in([values]); + * ``` + * + * @returns {BasicFilterBuilder} + */ + BasicFilterBuilder.prototype.in = function (values) { + this.operator = "In"; + this.values = values; + return this; + }; + /** + * Sets NotIn as operator for Basic filter + * + * ```javascript + * + * const basicFilterBuilder = new BasicFilterBuilder().notIn([values]); + * ``` + * + * @returns {BasicFilterBuilder} + */ + BasicFilterBuilder.prototype.notIn = function (values) { + this.operator = "NotIn"; + this.values = values; + return this; + }; + /** + * Sets All as operator for Basic filter + * + * ```javascript + * + * const basicFilterBuilder = new BasicFilterBuilder().all(); + * ``` + * + * @returns {BasicFilterBuilder} + */ + BasicFilterBuilder.prototype.all = function () { + this.operator = "All"; + this.values = []; + return this; + }; + /** + * Sets required single selection property for Basic filter + * + * ```javascript + * + * const basicFilterBuilder = new BasicFilterBuilder().requireSingleSelection(isRequireSingleSelection); + * ``` + * + * @returns {BasicFilterBuilder} + */ + BasicFilterBuilder.prototype.requireSingleSelection = function (isRequireSingleSelection) { + if (isRequireSingleSelection === void 0) { isRequireSingleSelection = false; } + this.isRequireSingleSelection = isRequireSingleSelection; + return this; + }; + /** + * Creates Basic filter + * + * ```javascript + * + * const basicFilterBuilder = new BasicFilterBuilder().build(); + * ``` + * + * @returns {BasicFilter} + */ + BasicFilterBuilder.prototype.build = function () { + var basicFilter = new powerbi_models_1.BasicFilter(this.target, this.operator, this.values); + basicFilter.requireSingleSelection = this.isRequireSingleSelection; + return basicFilter; + }; + return BasicFilterBuilder; +}()); +exports.BasicFilterBuilder = BasicFilterBuilder; + + +/***/ }), + +/***/ "./src/FilterBuilders/index.ts": +/*!*************************************!*\ + !*** ./src/FilterBuilders/index.ts ***! + \*************************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. +Object.defineProperty(exports, "__esModule", { value: true }); +exports.RelativeTimeFilterBuilder = exports.RelativeDateFilterBuilder = exports.TopNFilterBuilder = exports.AdvancedFilterBuilder = exports.BasicFilterBuilder = void 0; +var basicFilterBuilder_1 = __webpack_require__(/*! ./basicFilterBuilder */ "./src/FilterBuilders/basicFilterBuilder.ts"); +Object.defineProperty(exports, "BasicFilterBuilder", { enumerable: true, get: function () { return basicFilterBuilder_1.BasicFilterBuilder; } }); +var advancedFilterBuilder_1 = __webpack_require__(/*! ./advancedFilterBuilder */ "./src/FilterBuilders/advancedFilterBuilder.ts"); +Object.defineProperty(exports, "AdvancedFilterBuilder", { enumerable: true, get: function () { return advancedFilterBuilder_1.AdvancedFilterBuilder; } }); +var topNFilterBuilder_1 = __webpack_require__(/*! ./topNFilterBuilder */ "./src/FilterBuilders/topNFilterBuilder.ts"); +Object.defineProperty(exports, "TopNFilterBuilder", { enumerable: true, get: function () { return topNFilterBuilder_1.TopNFilterBuilder; } }); +var relativeDateFilterBuilder_1 = __webpack_require__(/*! ./relativeDateFilterBuilder */ "./src/FilterBuilders/relativeDateFilterBuilder.ts"); +Object.defineProperty(exports, "RelativeDateFilterBuilder", { enumerable: true, get: function () { return relativeDateFilterBuilder_1.RelativeDateFilterBuilder; } }); +var relativeTimeFilterBuilder_1 = __webpack_require__(/*! ./relativeTimeFilterBuilder */ "./src/FilterBuilders/relativeTimeFilterBuilder.ts"); +Object.defineProperty(exports, "RelativeTimeFilterBuilder", { enumerable: true, get: function () { return relativeTimeFilterBuilder_1.RelativeTimeFilterBuilder; } }); + + +/***/ }), + +/***/ "./src/FilterBuilders/relativeDateFilterBuilder.ts": +/*!*********************************************************!*\ + !*** ./src/FilterBuilders/relativeDateFilterBuilder.ts ***! + \*********************************************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. +Object.defineProperty(exports, "__esModule", { value: true }); +exports.RelativeDateFilterBuilder = void 0; +var powerbi_models_1 = __webpack_require__(/*! powerbi-models */ "./node_modules/powerbi-models/dist/models.js"); +/** + * Power BI Relative Date filter builder component + * + * @export + * @class RelativeDateFilterBuilder + * @implements {IFilterBuilder} + */ +var RelativeDateFilterBuilder = /** @class */ (function () { + function RelativeDateFilterBuilder() { + this.isTodayIncluded = true; + } + /** + * Sets target property for Relative Date filter + * + * ```javascript + * + * const relativeDateFilterBuilder = new RelativeDateFilterBuilder().withTarget(tableName, columnName); + * ``` + * + * @param {string} table - Defines the table on which filter will be applied + * @param {string} column - Defines the column on which filter will be applied + * @returns {RelativeDateFilterBuilder} + */ + RelativeDateFilterBuilder.prototype.withTarget = function (table, column) { + this.target = { table: table, column: column }; + return this; + }; + /** + * Sets target property for Relative Date filter with target object + * + * ```javascript + * const target = { + * table: 'table1', + * column: 'column1' + * }; + * + * const relativeDateFilterBuilder = new RelativeDateFilterBuilder().withTargetObject(target); + * ``` + * + * @param {IFilterTarget} target - Defines the target property + * @returns {RelativeDateFilterBuilder} + */ + RelativeDateFilterBuilder.prototype.withTargetObject = function (target) { + this.target = target; + return this; + }; + /** + * Sets inLast as operator for Relative Date filter + * + * ```javascript + * + * const relativeDateFilterBuilder = new RelativeDateFilterBuilder().inLast(timeUnitsCount, timeUnitType); + * ``` + * + * @param {number} timeUnitsCount - The amount of time units + * @param {RelativeDateFilterTimeUnit} timeUnitType - Defines the unit of time the filter is using + * @returns {RelativeDateFilterBuilder} + */ + RelativeDateFilterBuilder.prototype.inLast = function (timeUnitsCount, timeUnitType) { + this.operator = powerbi_models_1.RelativeDateOperators.InLast; + this.timeUnitsCount = timeUnitsCount; + this.timeUnitType = timeUnitType; + return this; + }; + /** + * Sets inThis as operator for Relative Date filter + * + * ```javascript + * + * const relativeDateFilterBuilder = new RelativeDateFilterBuilder().inThis(timeUnitsCount, timeUnitType); + * ``` + * + * @param {number} timeUnitsCount - The amount of time units + * @param {RelativeDateFilterTimeUnit} timeUnitType - Defines the unit of time the filter is using + * @returns {RelativeDateFilterBuilder} + */ + RelativeDateFilterBuilder.prototype.inThis = function (timeUnitsCount, timeUnitType) { + this.operator = powerbi_models_1.RelativeDateOperators.InThis; + this.timeUnitsCount = timeUnitsCount; + this.timeUnitType = timeUnitType; + return this; + }; + /** + * Sets inNext as operator for Relative Date filter + * + * ```javascript + * + * const relativeDateFilterBuilder = new RelativeDateFilterBuilder().orderBy(timeUnitsCount, timeUnitType); + * ``` + * + * @param {number} timeUnitsCount - The amount of time units + * @param {RelativeDateFilterTimeUnit} timeUnitType - Defines the unit of time the filter is using + * @returns {RelativeDateFilterBuilder} + */ + RelativeDateFilterBuilder.prototype.inNext = function (timeUnitsCount, timeUnitType) { + this.operator = powerbi_models_1.RelativeDateOperators.InNext; + this.timeUnitsCount = timeUnitsCount; + this.timeUnitType = timeUnitType; + return this; + }; + /** + * Sets includeToday for Relative Date filter + * + * ```javascript + * + * const relativeDateFilterBuilder = new RelativeDateFilterBuilder().includeToday(includeToday); + * ``` + * + * @param {boolean} includeToday - Denotes if today is included or not + * @returns {RelativeDateFilterBuilder} + */ + RelativeDateFilterBuilder.prototype.includeToday = function (includeToday) { + this.isTodayIncluded = includeToday; + return this; + }; + /** + * Creates Relative Date filter + * + * ```javascript + * + * const relativeDateFilterBuilder = new RelativeDateFilterBuilder().build(); + * ``` + * + * @returns {RelativeDateFilter} + */ + RelativeDateFilterBuilder.prototype.build = function () { + var relativeDateFilter = new powerbi_models_1.RelativeDateFilter(this.target, this.operator, this.timeUnitsCount, this.timeUnitType, this.isTodayIncluded); + return relativeDateFilter; + }; + return RelativeDateFilterBuilder; +}()); +exports.RelativeDateFilterBuilder = RelativeDateFilterBuilder; + + +/***/ }), + +/***/ "./src/FilterBuilders/relativeTimeFilterBuilder.ts": +/*!*********************************************************!*\ + !*** ./src/FilterBuilders/relativeTimeFilterBuilder.ts ***! + \*********************************************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. +Object.defineProperty(exports, "__esModule", { value: true }); +exports.RelativeTimeFilterBuilder = void 0; +var powerbi_models_1 = __webpack_require__(/*! powerbi-models */ "./node_modules/powerbi-models/dist/models.js"); +/** + * Power BI Relative Time filter builder component + * + * @export + * @class RelativeTimeFilterBuilder + * @implements {IFilterBuilder} + */ +var RelativeTimeFilterBuilder = /** @class */ (function () { + function RelativeTimeFilterBuilder() { + } + /** + * Sets target property for Relative Time filter + * + * ```javascript + * + * const relativeTimeFilterBuilder = new RelativeTimeFilterBuilder().withTarget(tableName, columnName); + * ``` + * + * @param {string} table - Defines the table on which filter will be applied + * @param {string} column - Defines the column on which filter will be applied + * @returns {RelativeTimeFilterBuilder} + */ + RelativeTimeFilterBuilder.prototype.withTarget = function (table, column) { + this.target = { table: table, column: column }; + return this; + }; + /** + * Sets target property for Relative Time filter with target object + * + * ```javascript + * const target = { + * table: 'table1', + * column: 'column1' + * }; + * + * const relativeTimeFilterBuilder = new RelativeTimeFilterBuilder().withTargetObject(target); + * ``` + * + * @param {IFilterTarget} target - Defines the target property + * @returns {RelativeTimeFilterBuilder} + */ + RelativeTimeFilterBuilder.prototype.withTargetObject = function (target) { + this.target = target; + return this; + }; + /** + * Sets inLast as operator for Relative Time filter + * + * ```javascript + * + * const relativeTimeFilterBuilder = new RelativeTimeFilterBuilder().inLast(timeUnitsCount, timeUnitType); + * ``` + * + * @param {number} timeUnitsCount - The amount of time units + * @param {RelativeDateFilterTimeUnit} timeUnitType - Defines the unit of time the filter is using + * @returns {RelativeTimeFilterBuilder} + */ + RelativeTimeFilterBuilder.prototype.inLast = function (timeUnitsCount, timeUnitType) { + this.operator = powerbi_models_1.RelativeDateOperators.InLast; + this.timeUnitsCount = timeUnitsCount; + this.timeUnitType = timeUnitType; + return this; + }; + /** + * Sets inThis as operator for Relative Time filter + * + * ```javascript + * + * const relativeTimeFilterBuilder = new RelativeTimeFilterBuilder().inThis(timeUnitsCount, timeUnitType); + * ``` + * + * @param {number} timeUnitsCount - The amount of time units + * @param {RelativeDateFilterTimeUnit} timeUnitType - Defines the unit of time the filter is using + * @returns {RelativeTimeFilterBuilder} + */ + RelativeTimeFilterBuilder.prototype.inThis = function (timeUnitsCount, timeUnitType) { + this.operator = powerbi_models_1.RelativeDateOperators.InThis; + this.timeUnitsCount = timeUnitsCount; + this.timeUnitType = timeUnitType; + return this; + }; + /** + * Sets inNext as operator for Relative Time filter + * + * ```javascript + * + * const relativeTimeFilterBuilder = new RelativeTimeFilterBuilder().orderBy(timeUnitsCount, timeUnitType); + * ``` + * + * @param {number} timeUnitsCount - The amount of time units + * @param {RelativeDateFilterTimeUnit} timeUnitType - Defines the unit of time the filter is using + * @returns {RelativeTimeFilterBuilder} + */ + RelativeTimeFilterBuilder.prototype.inNext = function (timeUnitsCount, timeUnitType) { + this.operator = powerbi_models_1.RelativeDateOperators.InNext; + this.timeUnitsCount = timeUnitsCount; + this.timeUnitType = timeUnitType; + return this; + }; + /** + * Creates Relative Time filter + * + * ```javascript + * + * const relativeTimeFilterBuilder = new RelativeTimeFilterBuilder().build(); + * ``` + * + * @returns {RelativeTimeFilter} + */ + RelativeTimeFilterBuilder.prototype.build = function () { + var relativeTimeFilter = new powerbi_models_1.RelativeTimeFilter(this.target, this.operator, this.timeUnitsCount, this.timeUnitType); + return relativeTimeFilter; + }; + return RelativeTimeFilterBuilder; +}()); +exports.RelativeTimeFilterBuilder = RelativeTimeFilterBuilder; + + +/***/ }), + +/***/ "./src/FilterBuilders/topNFilterBuilder.ts": +/*!*************************************************!*\ + !*** ./src/FilterBuilders/topNFilterBuilder.ts ***! + \*************************************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. +Object.defineProperty(exports, "__esModule", { value: true }); +exports.TopNFilterBuilder = void 0; +var powerbi_models_1 = __webpack_require__(/*! powerbi-models */ "./node_modules/powerbi-models/dist/models.js"); +/** + * Power BI Top N filter builder component + * + * @export + * @class TopNFilterBuilder + * @implements {IFilterBuilder} + */ +var TopNFilterBuilder = /** @class */ (function () { + function TopNFilterBuilder() { + } + /** + * Sets target property for Top N filter + * + * ```javascript + * + * const topNFilterBuilder = new TopNFilterBuilder().withTarget(tableName, columnName); + * ``` + * + * @returns {TopNFilterBuilder} + */ + TopNFilterBuilder.prototype.withTarget = function (table, column) { + this.target = { table: table, column: column }; + return this; + }; + /** + * Sets target property for Top N filter with target object + * + * ```javascript + * const target = { + * table: 'table1', + * column: 'column1' + * }; + * + * const topNFilterBuilder = new TopNFilterBuilder().withTargetObject(target); + * ``` + * + * @returns {TopNFilterBuilder} + */ + TopNFilterBuilder.prototype.withTargetObject = function (target) { + this.target = target; + return this; + }; + /** + * Sets Top as operator for Top N filter + * + * ```javascript + * + * const topNFilterBuilder = new TopNFilterBuilder().top(itemCount); + * ``` + * + * @returns {TopNFilterBuilder} + */ + TopNFilterBuilder.prototype.top = function (itemCount) { + this.operator = "Top"; + this.itemCount = itemCount; + return this; + }; + /** + * Sets Bottom as operator for Top N filter + * + * ```javascript + * + * const topNFilterBuilder = new TopNFilterBuilder().bottom(itemCount); + * ``` + * + * @returns {TopNFilterBuilder} + */ + TopNFilterBuilder.prototype.bottom = function (itemCount) { + this.operator = "Bottom"; + this.itemCount = itemCount; + return this; + }; + /** + * Sets order by for Top N filter + * + * ```javascript + * + * const topNFilterBuilder = new TopNFilterBuilder().orderBy(table, measure); + * ``` + * + * @returns {TopNFilterBuilder} + */ + TopNFilterBuilder.prototype.orderBy = function (table, measure) { + this.orderByTarget = { table: table, measure: measure }; + return this; + }; + /** + * Creates Top N filter + * + * ```javascript + * + * const topNFilterBuilder = new TopNFilterBuilder().build(); + * ``` + * + * @returns {TopNFilter} + */ + TopNFilterBuilder.prototype.build = function () { + var topNFilter = new powerbi_models_1.TopNFilter(this.target, this.operator, this.itemCount, this.orderByTarget); + return topNFilter; + }; + return TopNFilterBuilder; +}()); +exports.TopNFilterBuilder = TopNFilterBuilder; + + /***/ }), /***/ "./src/bookmarksManager.ts": @@ -6388,7 +7072,7 @@ exports.BookmarksManager = BookmarksManager; Object.defineProperty(exports, "__esModule", { value: true }); /** @ignore */ /** */ var config = { - version: '2.18.1', + version: '2.18.2', type: 'js' }; exports.default = config; @@ -6755,9 +7439,9 @@ var __generator = (this && this.__generator) || function (thisArg, body) { Object.defineProperty(exports, "__esModule", { value: true }); exports.Embed = void 0; var models = __webpack_require__(/*! powerbi-models */ "./node_modules/powerbi-models/dist/models.js"); -var util_1 = __webpack_require__(/*! ./util */ "./src/util.ts"); var sdkConfig = __webpack_require__(/*! ./config */ "./src/config.ts"); var errors_1 = __webpack_require__(/*! ./errors */ "./src/errors.ts"); +var util_1 = __webpack_require__(/*! ./util */ "./src/util.ts"); /** * Base class for all Power BI embed components * @@ -6791,6 +7475,8 @@ var Embed = /** @class */ (function () { this.iframe = iframe; this.iframeLoaded = false; this.embedtype = config.type.toLowerCase(); + this.commands = []; + this.groups = []; this.populateConfig(config, isBootstrap); if (this.embedtype === 'create') { this.setIframe(false /* set EventListener to call create() on 'load' event*/, phasedRender, isBootstrap); @@ -7121,6 +7807,8 @@ var Embed = /** @class */ (function () { * @returns {void} */ Embed.prototype.populateConfig = function (config, isBootstrap) { + var _this = this; + var _a, _b, _c, _d, _e, _f, _g, _h, _j; if (this.bootstrapConfig) { this.config = util_1.assign({}, this.bootstrapConfig, config); // reset bootstrapConfig because we do not want to merge it in re-embed scenario. @@ -7135,6 +7823,18 @@ var Embed = /** @class */ (function () { this.config.groupId = this.getGroupId(); this.addLocaleToEmbedUrl(config); this.config.uniqueId = this.getUniqueId(); + var extensions = (_b = (_a = this.config) === null || _a === void 0 ? void 0 : _a.settings) === null || _b === void 0 ? void 0 : _b.extensions; + this.commands = (_c = extensions === null || extensions === void 0 ? void 0 : extensions.commands) !== null && _c !== void 0 ? _c : []; + this.groups = (_d = extensions === null || extensions === void 0 ? void 0 : extensions.groups) !== null && _d !== void 0 ? _d : []; + this.initialLayoutType = (_g = (_f = (_e = this.config) === null || _e === void 0 ? void 0 : _e.settings) === null || _f === void 0 ? void 0 : _f.layoutType) !== null && _g !== void 0 ? _g : models.LayoutType.Master; + // Adding commands in extensions array to this.commands + var extensionsArray = (_j = (_h = this.config) === null || _h === void 0 ? void 0 : _h.settings) === null || _j === void 0 ? void 0 : _j.extensions; + if (Array.isArray(extensionsArray)) { + this.commands = []; + extensionsArray.map(function (extension) { if (extension === null || extension === void 0 ? void 0 : extension.command) { + _this.commands.push(extension.command); + } }); + } if (isBootstrap) { // save current config in bootstrapConfig to be able to merge it on next call to powerbi.embed this.bootstrapConfig = this.config; @@ -7731,42 +8431,215 @@ var Page = /** @class */ (function () { * * @returns {Promise>} */ - Page.prototype.setDisplayName = function (displayName) { + Page.prototype.setDisplayName = function (displayName) { + return __awaiter(this, void 0, void 0, function () { + var page, response_6; + return __generator(this, function (_a) { + switch (_a.label) { + case 0: + page = { + name: this.name, + displayName: displayName, + }; + _a.label = 1; + case 1: + _a.trys.push([1, 3, , 4]); + return [4 /*yield*/, this.report.service.hpm.put("/report/pages/" + this.name + "/name", page, { uid: this.report.config.uniqueId }, this.report.iframe.contentWindow)]; + case 2: return [2 /*return*/, _a.sent()]; + case 3: + response_6 = _a.sent(); + throw response_6.body; + case 4: return [2 /*return*/]; + } + }); + }); + }; + /** + * Gets all the visuals on the page. + * + * ```javascript + * page.getVisuals() + * .then(visuals => { ... }); + * ``` + * + * @returns {Promise} + */ + Page.prototype.getVisuals = function () { + return __awaiter(this, void 0, void 0, function () { + var response, response_7; + var _this = this; + return __generator(this, function (_a) { + switch (_a.label) { + case 0: + if (util_1.isRDLEmbed(this.report.config.embedUrl)) { + return [2 /*return*/, Promise.reject(errors_1.APINotSupportedForRDLError)]; + } + _a.label = 1; + case 1: + _a.trys.push([1, 3, , 4]); + return [4 /*yield*/, this.report.service.hpm.get("/report/pages/" + this.name + "/visuals", { uid: this.report.config.uniqueId }, this.report.iframe.contentWindow)]; + case 2: + response = _a.sent(); + return [2 /*return*/, response.body + .map(function (visual) { return new visualDescriptor_1.VisualDescriptor(_this, visual.name, visual.title, visual.type, visual.layout); })]; + case 3: + response_7 = _a.sent(); + throw response_7.body; + case 4: return [2 /*return*/]; + } + }); + }); + }; + /** + * Gets a visual by name on the page. + * + * ```javascript + * page.getVisualByName(visualName: string) + * .then(visual => { + * ... + * }); + * ``` + * + * @param {string} visualName + * @returns {Promise} + */ + Page.prototype.getVisualByName = function (visualName) { + return __awaiter(this, void 0, void 0, function () { + var response, visual, response_8; + return __generator(this, function (_a) { + switch (_a.label) { + case 0: + if (util_1.isRDLEmbed(this.report.config.embedUrl)) { + return [2 /*return*/, Promise.reject(errors_1.APINotSupportedForRDLError)]; + } + _a.label = 1; + case 1: + _a.trys.push([1, 3, , 4]); + return [4 /*yield*/, this.report.service.hpm.get("/report/pages/" + this.name + "/visuals", { uid: this.report.config.uniqueId }, this.report.iframe.contentWindow)]; + case 2: + response = _a.sent(); + visual = response.body.find(function (v) { return v.name === visualName; }); + if (!visual) { + return [2 /*return*/, Promise.reject(powerbi_models_1.CommonErrorCodes.NotFound)]; + } + return [2 /*return*/, new visualDescriptor_1.VisualDescriptor(this, visual.name, visual.title, visual.type, visual.layout)]; + case 3: + response_8 = _a.sent(); + throw response_8.body; + case 4: return [2 /*return*/]; + } + }); + }); + }; + /** + * Updates the display state of a visual in a page. + * + * ```javascript + * page.setVisualDisplayState(visualName, displayState) + * .catch(error => { ... }); + * ``` + * + * @param {string} visualName + * @param {VisualContainerDisplayMode} displayState + * @returns {Promise>} + */ + Page.prototype.setVisualDisplayState = function (visualName, displayState) { + return __awaiter(this, void 0, void 0, function () { + var pageName, report; + return __generator(this, function (_a) { + pageName = this.name; + report = this.report; + return [2 /*return*/, report.setVisualDisplayState(pageName, visualName, displayState)]; + }); + }); + }; + /** + * Updates the position of a visual in a page. + * + * ```javascript + * page.moveVisual(visualName, x, y, z) + * .catch(error => { ... }); + * ``` + * + * @param {string} visualName + * @param {number} x + * @param {number} y + * @param {number} z + * @returns {Promise>} + */ + Page.prototype.moveVisual = function (visualName, x, y, z) { + return __awaiter(this, void 0, void 0, function () { + var pageName, report; + return __generator(this, function (_a) { + pageName = this.name; + report = this.report; + return [2 /*return*/, report.moveVisual(pageName, visualName, x, y, z)]; + }); + }); + }; + /** + * Resize a visual in a page. + * + * ```javascript + * page.resizeVisual(visualName, width, height) + * .catch(error => { ... }); + * ``` + * + * @param {string} visualName + * @param {number} width + * @param {number} height + * @returns {Promise>} + */ + Page.prototype.resizeVisual = function (visualName, width, height) { + return __awaiter(this, void 0, void 0, function () { + var pageName, report; + return __generator(this, function (_a) { + pageName = this.name; + report = this.report; + return [2 /*return*/, report.resizeVisual(pageName, visualName, width, height)]; + }); + }); + }; + /** + * Updates the size of active page. + * + * ```javascript + * page.resizePage(pageSizeType, width, height) + * .catch(error => { ... }); + * ``` + * + * @param {PageSizeType} pageSizeType + * @param {number} width + * @param {number} height + * @returns {Promise>} + */ + Page.prototype.resizePage = function (pageSizeType, width, height) { return __awaiter(this, void 0, void 0, function () { - var page, response_6; + var report; return __generator(this, function (_a) { - switch (_a.label) { - case 0: - page = { - name: this.name, - displayName: displayName, - }; - _a.label = 1; - case 1: - _a.trys.push([1, 3, , 4]); - return [4 /*yield*/, this.report.service.hpm.put("/report/pages/" + this.name + "/name", page, { uid: this.report.config.uniqueId }, this.report.iframe.contentWindow)]; - case 2: return [2 /*return*/, _a.sent()]; - case 3: - response_6 = _a.sent(); - throw response_6.body; - case 4: return [2 /*return*/]; + if (!this.isActive) { + return [2 /*return*/, Promise.reject('Cannot resize the page. Only the active page can be resized')]; } + report = this.report; + return [2 /*return*/, report.resizePage(pageSizeType, width, height)]; }); }); }; /** - * Gets all the visuals on the page. + * Gets the list of slicer visuals on the page. * * ```javascript - * page.getVisuals() - * .then(visuals => { ... }); + * page.getSlicers() + * .then(slicers => { + * ... + * }); * ``` * - * @returns {Promise} + * @returns {Promise} */ - Page.prototype.getVisuals = function () { + Page.prototype.getSlicers = function () { return __awaiter(this, void 0, void 0, function () { - var response, response_7; + var response, response_9; var _this = this; return __generator(this, function (_a) { switch (_a.label) { @@ -7781,10 +8654,11 @@ var Page = /** @class */ (function () { case 2: response = _a.sent(); return [2 /*return*/, response.body + .filter(function (visual) { return visual.type === 'slicer'; }) .map(function (visual) { return new visualDescriptor_1.VisualDescriptor(_this, visual.name, visual.title, visual.type, visual.layout); })]; case 3: - response_7 = _a.sent(); - throw response_7.body; + response_9 = _a.sent(); + throw response_9.body; case 4: return [2 /*return*/]; } }); @@ -7802,7 +8676,7 @@ var Page = /** @class */ (function () { */ Page.prototype.hasLayout = function (layoutType) { return __awaiter(this, void 0, void 0, function () { - var layoutTypeEnum, response, response_8; + var layoutTypeEnum, response, response_10; return __generator(this, function (_a) { switch (_a.label) { case 0: @@ -7818,8 +8692,8 @@ var Page = /** @class */ (function () { response = _a.sent(); return [2 /*return*/, response.body]; case 3: - response_8 = _a.sent(); - throw response_8.body; + response_10 = _a.sent(); + throw response_10.body; case 4: return [2 /*return*/]; } }); @@ -7842,7 +8716,7 @@ exports.Page = Page; // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. Object.defineProperty(exports, "__esModule", { value: true }); -exports.VisualDescriptor = exports.Visual = exports.Qna = exports.Page = exports.Embed = exports.Tile = exports.Dashboard = exports.Report = exports.models = exports.factories = exports.service = void 0; +exports.RelativeTimeFilterBuilder = exports.RelativeDateFilterBuilder = exports.TopNFilterBuilder = exports.AdvancedFilterBuilder = exports.BasicFilterBuilder = exports.VisualDescriptor = exports.Visual = exports.Qna = exports.Page = exports.Embed = exports.Tile = exports.Dashboard = exports.Report = exports.models = exports.factories = exports.service = void 0; /** * @hidden */ @@ -7868,6 +8742,12 @@ var visual_1 = __webpack_require__(/*! ./visual */ "./src/visual.ts"); Object.defineProperty(exports, "Visual", { enumerable: true, get: function () { return visual_1.Visual; } }); var visualDescriptor_1 = __webpack_require__(/*! ./visualDescriptor */ "./src/visualDescriptor.ts"); Object.defineProperty(exports, "VisualDescriptor", { enumerable: true, get: function () { return visualDescriptor_1.VisualDescriptor; } }); +var FilterBuilders_1 = __webpack_require__(/*! ./FilterBuilders */ "./src/FilterBuilders/index.ts"); +Object.defineProperty(exports, "BasicFilterBuilder", { enumerable: true, get: function () { return FilterBuilders_1.BasicFilterBuilder; } }); +Object.defineProperty(exports, "AdvancedFilterBuilder", { enumerable: true, get: function () { return FilterBuilders_1.AdvancedFilterBuilder; } }); +Object.defineProperty(exports, "TopNFilterBuilder", { enumerable: true, get: function () { return FilterBuilders_1.TopNFilterBuilder; } }); +Object.defineProperty(exports, "RelativeDateFilterBuilder", { enumerable: true, get: function () { return FilterBuilders_1.RelativeDateFilterBuilder; } }); +Object.defineProperty(exports, "RelativeTimeFilterBuilder", { enumerable: true, get: function () { return FilterBuilders_1.RelativeTimeFilterBuilder; } }); /** * Makes Power BI available to the global object for use in applications that don't have module loading support. * @@ -8090,6 +8970,11 @@ var __generator = (this && this.__generator) || function (thisArg, body) { if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true }; } }; +var __spreadArray = (this && this.__spreadArray) || function (to, from) { + for (var i = 0, il = from.length, j = to.length; i < il; i++, j++) + to[j] = from[i]; + return to; +}; Object.defineProperty(exports, "__esModule", { value: true }); exports.Report = void 0; var powerbi_models_1 = __webpack_require__(/*! powerbi-models */ "./node_modules/powerbi-models/dist/models.js"); @@ -8460,6 +9345,84 @@ var Report = /** @class */ (function (_super) { }); }); }; + /** + * Gets a report page by its name. + * + * ```javascript + * report.getPageByName(pageName) + * .then(page => { + * ... + * }); + * ``` + * + * @param {string} pageName + * @returns {Promise} + */ + Report.prototype.getPageByName = function (pageName) { + return __awaiter(this, void 0, void 0, function () { + var response, page, response_9; + return __generator(this, function (_a) { + switch (_a.label) { + case 0: + if (util_1.isRDLEmbed(this.config.embedUrl)) { + return [2 /*return*/, Promise.reject(errors_1.APINotSupportedForRDLError)]; + } + _a.label = 1; + case 1: + _a.trys.push([1, 3, , 4]); + return [4 /*yield*/, this.service.hpm.get("/report/pages", { uid: this.config.uniqueId }, this.iframe.contentWindow)]; + case 2: + response = _a.sent(); + page = response.body.find(function (p) { return p.name === pageName; }); + if (!page) { + return [2 /*return*/, Promise.reject(powerbi_models_1.CommonErrorCodes.NotFound)]; + } + return [2 /*return*/, new page_1.Page(this, page.name, page.displayName, page.isActive, page.visibility, page.defaultSize, page.defaultDisplayOption)]; + case 3: + response_9 = _a.sent(); + throw response_9.body; + case 4: return [2 /*return*/]; + } + }); + }); + }; + /** + * Gets the active report page. + * + * ```javascript + * report.getActivePage() + * .then(activePage => { + * ... + * }); + * ``` + * + * @returns {Promise} + */ + Report.prototype.getActivePage = function () { + return __awaiter(this, void 0, void 0, function () { + var response, activePage, response_10; + return __generator(this, function (_a) { + switch (_a.label) { + case 0: + if (util_1.isRDLEmbed(this.config.embedUrl)) { + return [2 /*return*/, Promise.reject(errors_1.APINotSupportedForRDLError)]; + } + _a.label = 1; + case 1: + _a.trys.push([1, 3, , 4]); + return [4 /*yield*/, this.service.hpm.get('/report/pages', { uid: this.config.uniqueId }, this.iframe.contentWindow)]; + case 2: + response = _a.sent(); + activePage = response.body.find(function (page) { return page.isActive; }); + return [2 /*return*/, new page_1.Page(this, activePage.name, activePage.displayName, activePage.isActive, activePage.visibility, activePage.defaultSize, activePage.defaultDisplayOption)]; + case 3: + response_10 = _a.sent(); + throw response_10.body; + case 4: return [2 /*return*/]; + } + }); + }); + }; /** * Creates an instance of a Page. * @@ -8483,7 +9446,7 @@ var Report = /** @class */ (function (_super) { */ Report.prototype.print = function () { return __awaiter(this, void 0, void 0, function () { - var response, response_9; + var response, response_11; return __generator(this, function (_a) { switch (_a.label) { case 0: @@ -8498,8 +9461,8 @@ var Report = /** @class */ (function (_super) { response = _a.sent(); return [2 /*return*/, response.body]; case 3: - response_9 = _a.sent(); - throw response_9.body; + response_11 = _a.sent(); + throw response_11.body; case 4: return [2 /*return*/]; } }); @@ -8518,7 +9481,7 @@ var Report = /** @class */ (function (_super) { */ Report.prototype.setPage = function (pageName) { return __awaiter(this, void 0, void 0, function () { - var page, response_10; + var page, response_12; return __generator(this, function (_a) { switch (_a.label) { case 0: @@ -8536,8 +9499,8 @@ var Report = /** @class */ (function (_super) { return [4 /*yield*/, this.service.hpm.put('/report/pages/active', page, { uid: this.config.uniqueId }, this.iframe.contentWindow)]; case 2: return [2 /*return*/, _a.sent()]; case 3: - response_10 = _a.sent(); - throw response_10.body; + response_12 = _a.sent(); + throw response_12.body; case 4: return [2 /*return*/]; } }); @@ -8563,22 +9526,36 @@ var Report = /** @class */ (function (_super) { * @returns {Promise>} */ Report.prototype.updateSettings = function (settings) { + var _a, _b; return __awaiter(this, void 0, void 0, function () { - var response_11; - return __generator(this, function (_a) { - switch (_a.label) { + var response, extension, extensionsArray, response_13; + var _this = this; + return __generator(this, function (_c) { + switch (_c.label) { case 0: if (util_1.isRDLEmbed(this.config.embedUrl) && settings.customLayout != null) { return [2 /*return*/, Promise.reject(errors_1.APINotSupportedForRDLError)]; } - _a.label = 1; + _c.label = 1; case 1: - _a.trys.push([1, 3, , 4]); + _c.trys.push([1, 3, , 4]); return [4 /*yield*/, this.service.hpm.patch('/report/settings', settings, { uid: this.config.uniqueId }, this.iframe.contentWindow)]; - case 2: return [2 /*return*/, _a.sent()]; + case 2: + response = _c.sent(); + extension = settings === null || settings === void 0 ? void 0 : settings.extensions; + this.commands = (_a = extension === null || extension === void 0 ? void 0 : extension.commands) !== null && _a !== void 0 ? _a : this.commands; + this.groups = (_b = extension === null || extension === void 0 ? void 0 : extension.groups) !== null && _b !== void 0 ? _b : this.groups; + extensionsArray = settings === null || settings === void 0 ? void 0 : settings.extensions; + if (Array.isArray(extensionsArray)) { + this.commands = []; + extensionsArray.map(function (extensionElement) { if (extensionElement === null || extensionElement === void 0 ? void 0 : extensionElement.command) { + _this.commands.push(extensionElement.command); + } }); + } + return [2 /*return*/, response]; case 3: - response_11 = _a.sent(); - throw response_11.body; + response_13 = _c.sent(); + throw response_13.body; case 4: return [2 /*return*/]; } }); @@ -8627,202 +9604,633 @@ var Report = /** @class */ (function (_super) { return "reportEmbed"; }; /** - * Switch Report view mode. + * Switch Report view mode. + * + * @returns {Promise} + */ + Report.prototype.switchMode = function (viewMode) { + return __awaiter(this, void 0, void 0, function () { + var newMode, url, response, response_14; + return __generator(this, function (_a) { + switch (_a.label) { + case 0: + if (typeof viewMode === "string") { + newMode = viewMode; + } + else { + newMode = this.viewModeToString(viewMode); + } + url = '/report/switchMode/' + newMode; + _a.label = 1; + case 1: + _a.trys.push([1, 3, , 4]); + return [4 /*yield*/, this.service.hpm.post(url, null, { uid: this.config.uniqueId }, this.iframe.contentWindow)]; + case 2: + response = _a.sent(); + return [2 /*return*/, response.body]; + case 3: + response_14 = _a.sent(); + throw response_14.body; + case 4: return [2 /*return*/]; + } + }); + }); + }; + /** + * Refreshes data sources for the report. + * + * ```javascript + * report.refresh(); + * ``` + */ + Report.prototype.refresh = function () { + return __awaiter(this, void 0, void 0, function () { + var response, response_15; + return __generator(this, function (_a) { + switch (_a.label) { + case 0: + _a.trys.push([0, 2, , 3]); + return [4 /*yield*/, this.service.hpm.post('/report/refresh', null, { uid: this.config.uniqueId }, this.iframe.contentWindow)]; + case 1: + response = _a.sent(); + return [2 /*return*/, response.body]; + case 2: + response_15 = _a.sent(); + throw response_15.body; + case 3: return [2 /*return*/]; + } + }); + }); + }; + /** + * checks if the report is saved. + * + * ```javascript + * report.isSaved() + * ``` + * + * @returns {Promise} + */ + Report.prototype.isSaved = function () { + return __awaiter(this, void 0, void 0, function () { + return __generator(this, function (_a) { + switch (_a.label) { + case 0: + if (util_1.isRDLEmbed(this.config.embedUrl)) { + return [2 /*return*/, Promise.reject(errors_1.APINotSupportedForRDLError)]; + } + return [4 /*yield*/, util_1.isSavedInternal(this.service.hpm, this.config.uniqueId, this.iframe.contentWindow)]; + case 1: return [2 /*return*/, _a.sent()]; + } + }); + }); + }; + /** + * Apply a theme to the report + * + * ```javascript + * report.applyTheme(theme); + * ``` + */ + Report.prototype.applyTheme = function (theme) { + return __awaiter(this, void 0, void 0, function () { + return __generator(this, function (_a) { + switch (_a.label) { + case 0: + if (util_1.isRDLEmbed(this.config.embedUrl)) { + return [2 /*return*/, Promise.reject(errors_1.APINotSupportedForRDLError)]; + } + return [4 /*yield*/, this.applyThemeInternal(theme)]; + case 1: return [2 /*return*/, _a.sent()]; + } + }); + }); + }; + /** + * Reset and apply the default theme of the report + * + * ```javascript + * report.resetTheme(); + * ``` + */ + Report.prototype.resetTheme = function () { + return __awaiter(this, void 0, void 0, function () { + return __generator(this, function (_a) { + switch (_a.label) { + case 0: + if (util_1.isRDLEmbed(this.config.embedUrl)) { + return [2 /*return*/, Promise.reject(errors_1.APINotSupportedForRDLError)]; + } + return [4 /*yield*/, this.applyThemeInternal({})]; + case 1: return [2 /*return*/, _a.sent()]; + } + }); + }); + }; + /** + * Reset user's filters, slicers, and other data view changes to the default state of the report + * + * ```javascript + * report.resetPersistentFilters(); + * ``` + */ + Report.prototype.resetPersistentFilters = function () { + return __awaiter(this, void 0, void 0, function () { + var response_16; + return __generator(this, function (_a) { + switch (_a.label) { + case 0: + _a.trys.push([0, 2, , 3]); + return [4 /*yield*/, this.service.hpm.delete("/report/userState", null, { uid: this.config.uniqueId }, this.iframe.contentWindow)]; + case 1: return [2 /*return*/, _a.sent()]; + case 2: + response_16 = _a.sent(); + throw response_16.body; + case 3: return [2 /*return*/]; + } + }); + }); + }; + /** + * Save user's filters, slicers, and other data view changes of the report * - * @returns {Promise} + * ```javascript + * report.savePersistentFilters(); + * ``` */ - Report.prototype.switchMode = function (viewMode) { + Report.prototype.savePersistentFilters = function () { return __awaiter(this, void 0, void 0, function () { - var newMode, url, response, response_12; + var response_17; return __generator(this, function (_a) { switch (_a.label) { case 0: - if (typeof viewMode === "string") { - newMode = viewMode; - } - else { - newMode = this.viewModeToString(viewMode); - } - url = '/report/switchMode/' + newMode; - _a.label = 1; - case 1: - _a.trys.push([1, 3, , 4]); - return [4 /*yield*/, this.service.hpm.post(url, null, { uid: this.config.uniqueId }, this.iframe.contentWindow)]; + _a.trys.push([0, 2, , 3]); + return [4 /*yield*/, this.service.hpm.post("/report/userState", null, { uid: this.config.uniqueId }, this.iframe.contentWindow)]; + case 1: return [2 /*return*/, _a.sent()]; case 2: - response = _a.sent(); - return [2 /*return*/, response.body]; - case 3: - response_12 = _a.sent(); - throw response_12.body; - case 4: return [2 /*return*/]; + response_17 = _a.sent(); + throw response_17.body; + case 3: return [2 /*return*/]; } }); }); }; /** - * Refreshes data sources for the report. + * Returns if there are user's filters, slicers, or other data view changes applied on the report. + * If persistent filters is disable, returns false. * * ```javascript - * report.refresh(); + * report.arePersistentFiltersApplied(); * ``` + * + * @returns {Promise} */ - Report.prototype.refresh = function () { + Report.prototype.arePersistentFiltersApplied = function () { return __awaiter(this, void 0, void 0, function () { - var response, response_13; + var response, response_18; return __generator(this, function (_a) { switch (_a.label) { case 0: _a.trys.push([0, 2, , 3]); - return [4 /*yield*/, this.service.hpm.post('/report/refresh', null, { uid: this.config.uniqueId }, this.iframe.contentWindow)]; + return [4 /*yield*/, this.service.hpm.get("/report/isUserStateApplied", { uid: this.config.uniqueId }, this.iframe.contentWindow)]; case 1: response = _a.sent(); return [2 /*return*/, response.body]; case 2: - response_13 = _a.sent(); - throw response_13.body; + response_18 = _a.sent(); + throw response_18.body; case 3: return [2 /*return*/]; } }); }); }; /** - * checks if the report is saved. + * Remove context menu extension command. * * ```javascript - * report.isSaved() + * report.removeContextMenuCommand(commandName, contextMenuTitle) + * .catch(error => { + * ... + * }); * ``` * - * @returns {Promise} + * @param {string} commandName + * @param {string} contextMenuTitle + * @returns {Promise>} */ - Report.prototype.isSaved = function () { + Report.prototype.removeContextMenuCommand = function (commandName, contextMenuTitle) { return __awaiter(this, void 0, void 0, function () { + var commandCopy, indexOfCommand, newSetting; return __generator(this, function (_a) { switch (_a.label) { case 0: if (util_1.isRDLEmbed(this.config.embedUrl)) { return [2 /*return*/, Promise.reject(errors_1.APINotSupportedForRDLError)]; } - return [4 /*yield*/, util_1.isSavedInternal(this.service.hpm, this.config.uniqueId, this.iframe.contentWindow)]; + commandCopy = JSON.parse(JSON.stringify(this.commands)); + indexOfCommand = this.findCommandMenuIndex("visualContextMenu", commandCopy, commandName, contextMenuTitle); + if (indexOfCommand === -1) { + throw powerbi_models_1.CommonErrorCodes.NotFound; + } + // Delete the context menu and not the entire command, since command can have option menu as well. + delete commandCopy[indexOfCommand].extend.visualContextMenu; + newSetting = { + extensions: { + commands: commandCopy, + groups: this.groups + } + }; + return [4 /*yield*/, this.updateSettings(newSetting)]; case 1: return [2 /*return*/, _a.sent()]; } }); }); }; /** - * Apply a theme to the report + * Add context menu extension command. * * ```javascript - * report.applyTheme(theme); + * report.addContextMenuCommand(commandName, commandTitle, contextMenuTitle, menuLocation, visualName, visualType, groupName) + * .catch(error => { + * ... + * }); * ``` + * + * @param {string} commandName + * @param {string} commandTitle + * @param {string} contextMenuTitle + * @param {MenuLocation} menuLocation + * @param {string} visualName + * @param {string} visualType + * @param {string} groupName + * @returns {Promise>} */ - Report.prototype.applyTheme = function (theme) { + Report.prototype.addContextMenuCommand = function (commandName, commandTitle, contextMenuTitle, menuLocation, visualName, visualType, groupName) { + if (contextMenuTitle === void 0) { contextMenuTitle = commandTitle; } + if (menuLocation === void 0) { menuLocation = powerbi_models_1.MenuLocation.Bottom; } + if (visualName === void 0) { visualName = undefined; } + if (groupName === void 0) { groupName = undefined; } return __awaiter(this, void 0, void 0, function () { + var newCommands, newSetting; return __generator(this, function (_a) { switch (_a.label) { case 0: if (util_1.isRDLEmbed(this.config.embedUrl)) { return [2 /*return*/, Promise.reject(errors_1.APINotSupportedForRDLError)]; } - return [4 /*yield*/, this.applyThemeInternal(theme)]; + newCommands = this.createMenuCommand("visualContextMenu", commandName, commandTitle, contextMenuTitle, menuLocation, visualName, visualType, groupName); + newSetting = { + extensions: { + commands: newCommands, + groups: this.groups + } + }; + return [4 /*yield*/, this.updateSettings(newSetting)]; case 1: return [2 /*return*/, _a.sent()]; } }); }); }; /** - * Reset and apply the default theme of the report + * Remove options menu extension command. * * ```javascript - * report.resetTheme(); + * report.removeOptionsMenuCommand(commandName, optionsMenuTitle) + * .then({ + * ... + * }); * ``` + * + * @param {string} commandName + * @param {string} optionsMenuTitle + * @returns {Promise>} */ - Report.prototype.resetTheme = function () { + Report.prototype.removeOptionsMenuCommand = function (commandName, optionsMenuTitle) { return __awaiter(this, void 0, void 0, function () { + var commandCopy, indexOfCommand, newSetting; return __generator(this, function (_a) { switch (_a.label) { case 0: if (util_1.isRDLEmbed(this.config.embedUrl)) { return [2 /*return*/, Promise.reject(errors_1.APINotSupportedForRDLError)]; } - return [4 /*yield*/, this.applyThemeInternal({})]; + commandCopy = JSON.parse(JSON.stringify(this.commands)); + indexOfCommand = this.findCommandMenuIndex("visualOptionsMenu", commandCopy, commandName, optionsMenuTitle); + if (indexOfCommand === -1) { + throw powerbi_models_1.CommonErrorCodes.NotFound; + } + // Delete the context options and not the entire command, since command can have context menu as well. + delete commandCopy[indexOfCommand].extend.visualOptionsMenu; + delete commandCopy[indexOfCommand].icon; + newSetting = { + extensions: { + commands: commandCopy, + groups: this.groups + } + }; + return [4 /*yield*/, this.updateSettings(newSetting)]; case 1: return [2 /*return*/, _a.sent()]; } }); }); }; /** - * Reset user's filters, slicers, and other data view changes to the default state of the report + * Add options menu extension command. * * ```javascript - * report.resetPersistentFilters(); + * report.addOptionsMenuCommand(commandName, commandTitle, optionsMenuTitle, menuLocation, visualName, visualType, groupName, commandIcon) + * .catch(error => { + * ... + * }); * ``` + * + * @param {string} commandName + * @param {string} commandTitle + * @param {string} optionMenuTitle + * @param {MenuLocation} menuLocation + * @param {string} visualName + * @param {string} visualType + * @param {string} groupName + * @param {string} commandIcon + * @returns {Promise>} */ - Report.prototype.resetPersistentFilters = function () { + Report.prototype.addOptionsMenuCommand = function (commandName, commandTitle, optionsMenuTitle, menuLocation, visualName, visualType, groupName, commandIcon) { + if (optionsMenuTitle === void 0) { optionsMenuTitle = commandTitle; } + if (menuLocation === void 0) { menuLocation = powerbi_models_1.MenuLocation.Bottom; } + if (visualName === void 0) { visualName = undefined; } + if (visualType === void 0) { visualType = undefined; } + if (groupName === void 0) { groupName = undefined; } + if (commandIcon === void 0) { commandIcon = undefined; } return __awaiter(this, void 0, void 0, function () { - var response_14; + var newCommands, newSetting; return __generator(this, function (_a) { switch (_a.label) { case 0: - _a.trys.push([0, 2, , 3]); - return [4 /*yield*/, this.service.hpm.delete("/report/userState", null, { uid: this.config.uniqueId }, this.iframe.contentWindow)]; + if (util_1.isRDLEmbed(this.config.embedUrl)) { + return [2 /*return*/, Promise.reject(errors_1.APINotSupportedForRDLError)]; + } + newCommands = this.createMenuCommand("visualOptionsMenu", commandName, commandTitle, optionsMenuTitle, menuLocation, visualName, visualType, groupName, commandIcon); + newSetting = { + extensions: { + commands: newCommands, + groups: this.groups + } + }; + return [4 /*yield*/, this.updateSettings(newSetting)]; case 1: return [2 /*return*/, _a.sent()]; - case 2: - response_14 = _a.sent(); - throw response_14.body; - case 3: return [2 /*return*/]; } }); }); }; /** - * Save user's filters, slicers, and other data view changes of the report + * Updates the display state of a visual in a page. * * ```javascript - * report.savePersistentFilters(); + * report.setVisualDisplayState(pageName, visualName, displayState) + * .catch(error => { ... }); * ``` + * + * @param {string} pageName + * @param {string} visualName + * @param {VisualContainerDisplayMode} displayState + * @returns {Promise>} */ - Report.prototype.savePersistentFilters = function () { + Report.prototype.setVisualDisplayState = function (pageName, visualName, displayState) { return __awaiter(this, void 0, void 0, function () { - var response_15; + var visualLayout, newSettings; return __generator(this, function (_a) { switch (_a.label) { - case 0: - _a.trys.push([0, 2, , 3]); - return [4 /*yield*/, this.service.hpm.post("/report/userState", null, { uid: this.config.uniqueId }, this.iframe.contentWindow)]; - case 1: return [2 /*return*/, _a.sent()]; - case 2: - response_15 = _a.sent(); - throw response_15.body; - case 3: return [2 /*return*/]; + case 0: + // Check if page name and visual name are valid + return [4 /*yield*/, this.validateVisual(pageName, visualName)]; + case 1: + // Check if page name and visual name are valid + _a.sent(); + visualLayout = { + displayState: { + mode: displayState + } + }; + newSettings = this.buildLayoutSettingsObject(pageName, visualName, visualLayout); + return [2 /*return*/, this.updateSettings(newSettings)]; } }); }); }; /** - * Returns if there are user's filters, slicers, or other data view changes applied on the report. - * If persistent filters is disable, returns false. + * Resize a visual in a page. * * ```javascript - * report.arePersistentFiltersApplied(); + * report.resizeVisual(pageName, visualName, width, height) + * .catch(error => { ... }); * ``` * - * @returns {Promise} + * @param {string} pageName + * @param {string} visualName + * @param {number} width + * @param {number} height + * @returns {Promise>} */ - Report.prototype.arePersistentFiltersApplied = function () { + Report.prototype.resizeVisual = function (pageName, visualName, width, height) { + return __awaiter(this, void 0, void 0, function () { + var visualLayout, newSettings; + return __generator(this, function (_a) { + switch (_a.label) { + case 0: + // Check if page name and visual name are valid + return [4 /*yield*/, this.validateVisual(pageName, visualName)]; + case 1: + // Check if page name and visual name are valid + _a.sent(); + visualLayout = { + width: width, + height: height, + }; + newSettings = this.buildLayoutSettingsObject(pageName, visualName, visualLayout); + return [2 /*return*/, this.updateSettings(newSettings)]; + } + }); + }); + }; + /** + * Updates the size of active page in report. + * + * ```javascript + * report.resizePage(pageSizeType, width, height) + * .catch(error => { ... }); + * ``` + * + * @param {PageSizeType} pageSizeType + * @param {number} width + * @param {number} height + * @returns {Promise>} + */ + Report.prototype.resizePage = function (pageSizeType, width, height) { + return __awaiter(this, void 0, void 0, function () { + var pageSize, newSettings; + return __generator(this, function (_a) { + pageSize = { + type: pageSizeType, + width: width, + height: height + }; + newSettings = { + layoutType: powerbi_models_1.LayoutType.Custom, + customLayout: { + pageSize: pageSize + } + }; + return [2 /*return*/, this.updateSettings(newSettings)]; + }); + }); + }; + /** + * Updates the position of a visual in a page. + * + * ```javascript + * report.moveVisual(pageName, visualName, x, y, z) + * .catch(error => { ... }); + * ``` + * + * @param {string} pageName + * @param {string} visualName + * @param {number} x + * @param {number} y + * @param {number} z + * @returns {Promise>} + */ + Report.prototype.moveVisual = function (pageName, visualName, x, y, z) { + return __awaiter(this, void 0, void 0, function () { + var visualLayout, newSettings; + return __generator(this, function (_a) { + switch (_a.label) { + case 0: + // Check if page name and visual name are valid + return [4 /*yield*/, this.validateVisual(pageName, visualName)]; + case 1: + // Check if page name and visual name are valid + _a.sent(); + visualLayout = { + x: x, + y: y, + z: z + }; + newSettings = this.buildLayoutSettingsObject(pageName, visualName, visualLayout); + return [2 /*return*/, this.updateSettings(newSettings)]; + } + }); + }); + }; + /** + * Updates the report layout + * + * ```javascript + * report.switchLayout(layoutType); + * ``` + * + * @param {LayoutType} layoutType + * @returns {Promise>} + */ + Report.prototype.switchLayout = function (layoutType) { return __awaiter(this, void 0, void 0, function () { - var response, response_16; + var isInitialMobileSettings, isPassedMobileSettings, newSetting, response; return __generator(this, function (_a) { switch (_a.label) { case 0: - _a.trys.push([0, 2, , 3]); - return [4 /*yield*/, this.service.hpm.get("/report/isUserStateApplied", { uid: this.config.uniqueId }, this.iframe.contentWindow)]; + isInitialMobileSettings = this.isMobileSettings({ layoutType: this.initialLayoutType }); + isPassedMobileSettings = this.isMobileSettings({ layoutType: layoutType }); + // Check if both passed layout and initial layout are of same type. + if (isInitialMobileSettings !== isPassedMobileSettings) { + throw "Switching between mobile and desktop layouts is not supported. Please reset the embed container and re-embed with required layout."; + } + newSetting = { + layoutType: layoutType + }; + return [4 /*yield*/, this.updateSettings(newSetting)]; case 1: response = _a.sent(); - return [2 /*return*/, response.body]; - case 2: - response_16 = _a.sent(); - throw response_16.body; - case 3: return [2 /*return*/]; + this.initialLayoutType = layoutType; + return [2 /*return*/, response]; + } + }); + }); + }; + /** + * @hidden + */ + Report.prototype.createMenuCommand = function (type, commandName, commandTitle, menuTitle, menuLocation, visualName, visualType, groupName, icon) { + var newCommandObj = { + name: commandName, + title: commandTitle, + extend: {} + }; + newCommandObj.extend[type] = { + title: menuTitle, + menuLocation: menuLocation, + }; + if (type === "visualOptionsMenu") { + newCommandObj.icon = icon; + } + if (groupName) { + var extend = newCommandObj.extend[type]; + delete extend.menuLocation; + var groupExtend = newCommandObj.extend[type]; + groupExtend.groupName = groupName; + } + if (visualName) { + newCommandObj.selector = { + $schema: "http://powerbi.com/product/schema#visualSelector", + visualName: visualName + }; + } + if (visualType) { + newCommandObj.selector = { + $schema: "http://powerbi.com/product/schema#visualTypeSelector", + visualType: visualType + }; + } + return __spreadArray(__spreadArray([], this.commands), [newCommandObj]); + }; + /** + * @hidden + */ + Report.prototype.findCommandMenuIndex = function (type, commands, commandName, menuTitle) { + var indexOfCommand = -1; + commands.some(function (activeMenuCommand, index) { + return (activeMenuCommand.name === commandName && activeMenuCommand.extend[type] && activeMenuCommand.extend[type].title === menuTitle) ? (indexOfCommand = index, true) : false; + }); + return indexOfCommand; + }; + /** + * @hidden + */ + Report.prototype.buildLayoutSettingsObject = function (pageName, visualName, visualLayout) { + // Create new settings object with custom layout type + var newSettings = { + layoutType: powerbi_models_1.LayoutType.Custom, + customLayout: { + pagesLayout: {} + } + }; + newSettings.customLayout.pagesLayout[pageName] = { + visualsLayout: {} + }; + newSettings.customLayout.pagesLayout[pageName].visualsLayout[visualName] = visualLayout; + return newSettings; + }; + /** + * @hidden + */ + Report.prototype.validateVisual = function (pageName, visualName) { + return __awaiter(this, void 0, void 0, function () { + var page; + return __generator(this, function (_a) { + switch (_a.label) { + case 0: return [4 /*yield*/, this.getPageByName(pageName)]; + case 1: + page = _a.sent(); + return [4 /*yield*/, page.getVisualByName(visualName)]; + case 2: return [2 /*return*/, _a.sent()]; } }); }); @@ -8832,7 +10240,7 @@ var Report = /** @class */ (function (_super) { */ Report.prototype.applyThemeInternal = function (theme) { return __awaiter(this, void 0, void 0, function () { - var response, response_17; + var response, response_19; return __generator(this, function (_a) { switch (_a.label) { case 0: @@ -8842,8 +10250,8 @@ var Report = /** @class */ (function (_super) { response = _a.sent(); return [2 /*return*/, response.body]; case 2: - response_17 = _a.sent(); - throw response_17.body; + response_19 = _a.sent(); + throw response_19.body; case 3: return [2 /*return*/]; } }); @@ -10429,6 +11837,75 @@ var VisualDescriptor = /** @class */ (function () { }); }); }; + /** + * Updates the position of a visual. + * + * ```javascript + * visual.moveVisual(x, y, z) + * .catch(error => { ... }); + * ``` + * + * @param {number} x + * @param {number} y + * @param {number} z + * @returns {Promise>} + */ + VisualDescriptor.prototype.moveVisual = function (x, y, z) { + return __awaiter(this, void 0, void 0, function () { + var pageName, visualName, report; + return __generator(this, function (_a) { + pageName = this.page.name; + visualName = this.name; + report = this.page.report; + return [2 /*return*/, report.moveVisual(pageName, visualName, x, y, z)]; + }); + }); + }; + /** + * Updates the display state of a visual. + * + * ```javascript + * visual.setVisualDisplayState(displayState) + * .catch(error => { ... }); + * ``` + * + * @param {VisualContainerDisplayMode} displayState + * @returns {Promise>} + */ + VisualDescriptor.prototype.setVisualDisplayState = function (displayState) { + return __awaiter(this, void 0, void 0, function () { + var pageName, visualName, report; + return __generator(this, function (_a) { + pageName = this.page.name; + visualName = this.name; + report = this.page.report; + return [2 /*return*/, report.setVisualDisplayState(pageName, visualName, displayState)]; + }); + }); + }; + /** + * Resize a visual. + * + * ```javascript + * visual.resizeVisual(width, height) + * .catch(error => { ... }); + * ``` + * + * @param {number} width + * @param {number} height + * @returns {Promise>} + */ + VisualDescriptor.prototype.resizeVisual = function (width, height) { + return __awaiter(this, void 0, void 0, function () { + var pageName, visualName, report; + return __generator(this, function (_a) { + pageName = this.page.name; + visualName = this.name; + report = this.page.report; + return [2 /*return*/, report.resizeVisual(pageName, visualName, width, height)]; + }); + }); + }; return VisualDescriptor; }()); exports.VisualDescriptor = VisualDescriptor; diff --git a/dist/powerbi.min.js b/dist/powerbi.min.js index edb0d67e..c5b75321 100644 --- a/dist/powerbi.min.js +++ b/dist/powerbi.min.js @@ -1,10 +1,10 @@ -// powerbi-client v2.18.1 +// powerbi-client v2.18.2 // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. -!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){var e={};function r(a){if(e[a])return e[a].exports;var i=e[a]={i:a,l:!1,exports:{}};return t[a].call(i.exports,i,i.exports,r),i.l=!0,i.exports}return r.m=t,r.c=e,r.d=function(t,e,a){r.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:a})},r.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},r.t=function(t,e){if(1&e&&(t=r(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var a=Object.create(null);if(r.r(a),Object.defineProperty(a,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var i in t)r.d(a,i,function(e){return t[e]}.bind(null,i));return a},r.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return r.d(e,"a",e),e},r.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},r.p="",r(r.s=12)}([function(t,e,r){var a;a=function(){return function(t){var e={};function r(a){if(e[a])return e[a].exports;var i=e[a]={i:a,l:!1,exports:{}};return t[a].call(i.exports,i,i.exports,r),i.l=!0,i.exports}return r.m=t,r.c=e,r.d=function(t,e,a){r.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:a})},r.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},r.t=function(t,e){if(1&e&&(t=r(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var a=Object.create(null);if(r.r(a),Object.defineProperty(a,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var i in t)r.d(a,i,function(e){return t[e]}.bind(null,i));return a},r.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return r.d(e,"a",e),e},r.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},r.p="",r(r.s=0)}([function(t,e,r){var a,i=this&&this.__extends||(a=function(t,e){return(a=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])})(t,e)},function(t,e){function r(){this.constructor=t}a(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.validateCustomTheme=e.validateCommandsSettings=e.validateVisualSettings=e.validateVisualHeader=e.validateExportDataRequest=e.validateQnaInterpretInputData=e.validateLoadQnaConfiguration=e.validateSaveAsParameters=e.validateUpdateFiltersRequest=e.validateFilter=e.validatePage=e.validateTileLoad=e.validateDashboardLoad=e.validateCreateReport=e.validatePaginatedReportLoad=e.validateReportLoad=e.validateMenuGroupExtension=e.validateExtension=e.validateCustomPageSize=e.validateVisualizationsPane=e.validateSyncSlicersPane=e.validateSelectionPane=e.validatePageNavigationPane=e.validateFieldsPane=e.validateFiltersPane=e.validateBookmarksPane=e.validatePanes=e.validateSettings=e.validateCaptureBookmarkRequest=e.validateApplyBookmarkStateRequest=e.validateApplyBookmarkByNameRequest=e.validateAddBookmarkRequest=e.validatePlayBookmarkRequest=e.validateSlicerState=e.validateSlicer=e.validateVisualSelector=e.isIExtensionArray=e.isIExtensions=e.isGroupedMenuExtension=e.isFlatMenuExtension=e.isReportFiltersArray=e.isOnLoadFilters=e.VisualDataRoleKindPreference=e.VisualDataRoleKind=e.CommandDisplayOption=e.SlicerTargetSelector=e.VisualTypeSelector=e.VisualSelector=e.PageSelector=e.Selector=e.SortDirection=e.LegendPosition=e.TextAlignment=e.CommonErrorCodes=e.BookmarksPlayMode=e.ExportDataType=e.QnaMode=e.PageNavigationPosition=e.isColumnAggr=e.isHierarchyLevelAggr=e.isHierarchyLevel=e.isColumn=e.isMeasure=e.getFilterType=e.isBasicFilterWithKeys=e.isFilterKeyColumnsTarget=e.AdvancedFilter=e.TupleFilter=e.BasicFilterWithKeys=e.BasicFilter=e.RelativeTimeFilter=e.RelativeDateFilter=e.TopNFilter=e.IncludeExcludeFilter=e.NotSupportedFilter=e.Filter=e.RelativeDateOperators=e.RelativeDateFilterTimeUnit=e.FilterType=e.FiltersLevel=e.FiltersOperations=e.MenuLocation=e.ContrastMode=e.TokenType=e.ViewMode=e.Permissions=e.SectionVisibility=e.HyperlinkClickBehavior=e.LayoutType=e.VisualContainerDisplayMode=e.BackgroundType=e.DisplayOption=e.PageSizeType=e.TraceType=void 0;var o,n=r(1);!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"}(e.TraceType||(e.TraceType={})),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"}(e.PageSizeType||(e.PageSizeType={})),function(t){t[t.FitToPage=0]="FitToPage",t[t.FitToWidth=1]="FitToWidth",t[t.ActualSize=2]="ActualSize"}(e.DisplayOption||(e.DisplayOption={})),function(t){t[t.Default=0]="Default",t[t.Transparent=1]="Transparent"}(e.BackgroundType||(e.BackgroundType={})),function(t){t[t.Visible=0]="Visible",t[t.Hidden=1]="Hidden"}(e.VisualContainerDisplayMode||(e.VisualContainerDisplayMode={})),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={})),function(t){t[t.Navigate=0]="Navigate",t[t.NavigateAndRaiseEvent=1]="NavigateAndRaiseEvent",t[t.RaiseEvent=2]="RaiseEvent"}(e.HyperlinkClickBehavior||(e.HyperlinkClickBehavior={})),function(t){t[t.AlwaysVisible=0]="AlwaysVisible",t[t.HiddenInViewMode=1]="HiddenInViewMode"}(e.SectionVisibility||(e.SectionVisibility={})),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"}(e.Permissions||(e.Permissions={})),function(t){t[t.View=0]="View",t[t.Edit=1]="Edit"}(e.ViewMode||(e.ViewMode={})),function(t){t[t.Aad=0]="Aad",t[t.Embed=1]="Embed"}(e.TokenType||(e.TokenType={})),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"}(e.ContrastMode||(e.ContrastMode={})),function(t){t[t.Bottom=0]="Bottom",t[t.Top=1]="Top"}(e.MenuLocation||(e.MenuLocation={})),function(t){t[t.RemoveAll=0]="RemoveAll",t[t.ReplaceAll=1]="ReplaceAll",t[t.Add=2]="Add",t[t.Replace=3]="Replace"}(e.FiltersOperations||(e.FiltersOperations={})),function(t){t[t.Report=0]="Report",t[t.Page=1]="Page",t[t.Visual=2]="Visual"}(e.FiltersLevel||(e.FiltersLevel={})),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"}(o=e.FilterType||(e.FilterType={})),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"}(e.RelativeDateFilterTimeUnit||(e.RelativeDateFilterTimeUnit={})),function(t){t[t.InLast=0]="InLast",t[t.InThis=1]="InThis",t[t.InNext=2]="InNext"}(e.RelativeDateOperators||(e.RelativeDateOperators={}));var l=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=l;var s=function(t){function e(r,a,i){var n=t.call(this,r,o.Unknown)||this;return n.message=a,n.notSupportedTypeName=i,n.schemaUrl=e.schemaUrl,n}return i(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}(l);e.NotSupportedFilter=s;var d=function(t){function e(r,a,i){var n=t.call(this,r,o.IncludeExclude)||this;return n.values=i,n.isExclude=a,n.schemaUrl=e.schemaUrl,n}return i(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}(l);e.IncludeExcludeFilter=d;var u=function(t){function e(r,a,i,n){var l=t.call(this,r,o.TopN)||this;return l.operator=a,l.itemCount=i,l.schemaUrl=e.schemaUrl,l.orderBy=n,l}return i(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}(l);e.TopNFilter=u;var c=function(t){function e(r,a,i,n,l){var s=t.call(this,r,o.RelativeDate)||this;return s.operator=a,s.timeUnitsCount=i,s.timeUnitType=n,s.includeToday=l,s.schemaUrl=e.schemaUrl,s}return i(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}(l);e.RelativeDateFilter=c;var p=function(t){function e(r,a,i,n){var l=t.call(this,r,o.RelativeTime)||this;return l.operator=a,l.timeUnitsCount=i,l.timeUnitType=n,l.schemaUrl=e.schemaUrl,l}return i(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}(l);e.RelativeTimeFilter=p;var f=function(t){function e(r,a){for(var i=[],n=2;n0&&!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,s=o.keyValues;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 s.conditions=l,s}return i(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}(l);function V(t){if(t.filterType)return t.filterType;var e=t,r=t;return"string"==typeof e.operator&&Array.isArray(e.values)?o.Basic:"string"==typeof r.logicalOperator&&Array.isArray(r.conditions)?o.Advanced:o.Unknown}function m(t){return!(!t.table||!t.column||t.aggregationFunction)}e.AdvancedFilter=y,e.isFilterKeyColumnsTarget=function(t){return m(t)&&!!t.keys},e.isBasicFilterWithKeys=function(t){return V(t)===o.Basic&&!!t.keyValues},e.getFilterType=V,e.isMeasure=function(t){return void 0!==t.table&&void 0!==t.measure},e.isColumn=m,e.isHierarchyLevel=function(t){return!(!(t.table&&t.hierarchy&&t.hierarchyLevel)||t.aggregationFunction)},e.isHierarchyLevelAggr=function(t){return!!(t.table&&t.hierarchy&&t.hierarchyLevel&&t.aggregationFunction)},e.isColumnAggr=function(t){return!!(t.table&&t.column&&t.aggregationFunction)},function(t){t[t.Bottom=0]="Bottom",t[t.Left=1]="Left"}(e.PageNavigationPosition||(e.PageNavigationPosition={})),function(t){t[t.Interactive=0]="Interactive",t[t.ResultOnly=1]="ResultOnly"}(e.QnaMode||(e.QnaMode={})),function(t){t[t.Summarized=0]="Summarized",t[t.Underlying=1]="Underlying"}(e.ExportDataType||(e.ExportDataType={})),function(t){t[t.Off=0]="Off",t[t.Presentation=1]="Presentation"}(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"},function(t){t[t.Ascending=1]="Ascending",t[t.Descending=2]="Descending"}(e.SortDirection||(e.SortDirection={}));var g=function(){function t(t){this.$schema=t}return t.prototype.toJSON=function(){return{$schema:this.$schema}},t}();e.Selector=g;var b=function(t){function e(r){var a=t.call(this,e.schemaUrl)||this;return a.pageName=r,a}return i(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}(g);e.PageSelector=b;var w=function(t){function e(r){var a=t.call(this,e.schemaUrl)||this;return a.visualName=r,a}return i(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}(g);e.VisualSelector=w;var P=function(t){function e(e){var r=t.call(this,w.schemaUrl)||this;return r.visualType=e,r}return i(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}(g);e.VisualTypeSelector=P;var _=function(t){function e(e){var r=t.call(this,w.schemaUrl)||this;return r.target=e,r}return i(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}(g);function O(t){return Array.isArray(t)}function S(t){return t&&!!t.groupName}function E(t){return Array.isArray(t)}function T(t){var e=t.message;return e||(e=t.path+" is invalid. Not meeting "+t.keyword+" constraint"),{message:e}}e.SlicerTargetSelector=_,function(t){t[t.Enabled=0]="Enabled",t[t.Disabled=1]="Disabled",t[t.Hidden=2]="Hidden"}(e.CommandDisplayOption||(e.CommandDisplayOption={})),function(t){t[t.Grouping=0]="Grouping",t[t.Measure=1]="Measure",t[t.GroupingOrMeasure=2]="GroupingOrMeasure"}(e.VisualDataRoleKind||(e.VisualDataRoleKind={})),function(t){t[t.Measure=0]="Measure",t[t.Grouping=1]="Grouping"}(e.VisualDataRoleKindPreference||(e.VisualDataRoleKindPreference={})),e.isOnLoadFilters=function(t){return t&&!O(t)},e.isReportFiltersArray=O,e.isFlatMenuExtension=function(t){return t&&!S(t)},e.isGroupedMenuExtension=S,e.isIExtensions=function(t){return t&&!E(t)},e.isIExtensionArray=E,e.validateVisualSelector=function(t){var e=n.Validators.visualSelectorValidator.validate(t);return e?e.map(T):void 0},e.validateSlicer=function(t){var e=n.Validators.slicerValidator.validate(t);return e?e.map(T):void 0},e.validateSlicerState=function(t){var e=n.Validators.slicerStateValidator.validate(t);return e?e.map(T):void 0},e.validatePlayBookmarkRequest=function(t){var e=n.Validators.playBookmarkRequestValidator.validate(t);return e?e.map(T):void 0},e.validateAddBookmarkRequest=function(t){var e=n.Validators.addBookmarkRequestValidator.validate(t);return e?e.map(T):void 0},e.validateApplyBookmarkByNameRequest=function(t){var e=n.Validators.applyBookmarkByNameRequestValidator.validate(t);return e?e.map(T):void 0},e.validateApplyBookmarkStateRequest=function(t){var e=n.Validators.applyBookmarkStateRequestValidator.validate(t);return e?e.map(T):void 0},e.validateCaptureBookmarkRequest=function(t){var e=n.Validators.captureBookmarkRequestValidator.validate(t);return e?e.map(T):void 0},e.validateSettings=function(t){var e=n.Validators.settingsValidator.validate(t);return e?e.map(T):void 0},e.validatePanes=function(t){var e=n.Validators.reportPanesValidator.validate(t);return e?e.map(T):void 0},e.validateBookmarksPane=function(t){var e=n.Validators.bookmarksPaneValidator.validate(t);return e?e.map(T):void 0},e.validateFiltersPane=function(t){var e=n.Validators.filtersPaneValidator.validate(t);return e?e.map(T):void 0},e.validateFieldsPane=function(t){var e=n.Validators.fieldsPaneValidator.validate(t);return e?e.map(T):void 0},e.validatePageNavigationPane=function(t){var e=n.Validators.pageNavigationPaneValidator.validate(t);return e?e.map(T):void 0},e.validateSelectionPane=function(t){var e=n.Validators.selectionPaneValidator.validate(t);return e?e.map(T):void 0},e.validateSyncSlicersPane=function(t){var e=n.Validators.syncSlicersPaneValidator.validate(t);return e?e.map(T):void 0},e.validateVisualizationsPane=function(t){var e=n.Validators.visualizationsPaneValidator.validate(t);return e?e.map(T):void 0},e.validateCustomPageSize=function(t){var e=n.Validators.customPageSizeValidator.validate(t);return e?e.map(T):void 0},e.validateExtension=function(t){var e=n.Validators.extensionValidator.validate(t);return e?e.map(T):void 0},e.validateMenuGroupExtension=function(t){var e=n.Validators.menuGroupExtensionValidator.validate(t);return e?e.map(T):void 0},e.validateReportLoad=function(t){var e=n.Validators.reportLoadValidator.validate(t);return e?e.map(T):void 0},e.validatePaginatedReportLoad=function(t){var e=n.Validators.paginatedReportLoadValidator.validate(t);return e?e.map(T):void 0},e.validateCreateReport=function(t){var e=n.Validators.reportCreateValidator.validate(t);return e?e.map(T):void 0},e.validateDashboardLoad=function(t){var e=n.Validators.dashboardLoadValidator.validate(t);return e?e.map(T):void 0},e.validateTileLoad=function(t){var e=n.Validators.tileLoadValidator.validate(t);return e?e.map(T):void 0},e.validatePage=function(t){var e=n.Validators.pageValidator.validate(t);return e?e.map(T):void 0},e.validateFilter=function(t){var e=n.Validators.filterValidator.validate(t);return e?e.map(T):void 0},e.validateUpdateFiltersRequest=function(t){var e=n.Validators.updateFiltersRequestValidator.validate(t);return e?e.map(T):void 0},e.validateSaveAsParameters=function(t){var e=n.Validators.saveAsParametersValidator.validate(t);return e?e.map(T):void 0},e.validateLoadQnaConfiguration=function(t){var e=n.Validators.loadQnaValidator.validate(t);return e?e.map(T):void 0},e.validateQnaInterpretInputData=function(t){var e=n.Validators.qnaInterpretInputDataValidator.validate(t);return e?e.map(T):void 0},e.validateExportDataRequest=function(t){var e=n.Validators.exportDataRequestValidator.validate(t);return e?e.map(T):void 0},e.validateVisualHeader=function(t){var e=n.Validators.visualHeaderValidator.validate(t);return e?e.map(T):void 0},e.validateVisualSettings=function(t){var e=n.Validators.visualSettingsValidator.validate(t);return e?e.map(T):void 0},e.validateCommandsSettings=function(t){var e=n.Validators.commandsSettingsValidator.validate(t);return e?e.map(T):void 0},e.validateCustomTheme=function(t){var e=n.Validators.customThemeValidator.validate(t);return e?e.map(T):void 0}},function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.Validators=void 0;var a=r(2),i=r(5),o=r(6),n=r(7),l=r(8),s=r(9),d=r(10),u=r(11),c=r(12),p=r(13),f=r(14),h=r(15),v=r(16),y=r(17),V=r(18),m=r(19),g=r(20),b=r(21),w=r(22),P=r(23),_=r(24),O=r(25),S=r(26),E=r(27),T=r(28),F=r(29),R=r(4),k=r(30);e.Validators={addBookmarkRequestValidator:new i.AddBookmarkRequestValidator,advancedFilterTypeValidator:new R.EnumValidator([0]),advancedFilterValidator:new c.AdvancedFilterValidator,anyArrayValidator:new R.ArrayValidator([new S.AnyOfValidator([new R.StringValidator,new R.NumberValidator,new R.BooleanValidator])]),anyFilterValidator:new S.AnyOfValidator([new c.BasicFilterValidator,new c.AdvancedFilterValidator,new c.IncludeExcludeFilterValidator,new c.NotSupportedFilterValidator,new c.RelativeDateFilterValidator,new c.TopNFilterValidator,new c.RelativeTimeFilterValidator]),anyValueValidator:new S.AnyOfValidator([new R.StringValidator,new R.NumberValidator,new R.BooleanValidator]),actionBarValidator:new a.ActionBarValidator,applyBookmarkByNameRequestValidator:new i.ApplyBookmarkByNameRequestValidator,applyBookmarkStateRequestValidator:new i.ApplyBookmarkStateRequestValidator,applyBookmarkValidator:new S.AnyOfValidator([new i.ApplyBookmarkByNameRequestValidator,new i.ApplyBookmarkStateRequestValidator]),backgroundValidator:new R.EnumValidator([0,1]),basicFilterTypeValidator:new R.EnumValidator([1]),basicFilterValidator:new c.BasicFilterValidator,booleanArrayValidator:new R.BooleanArrayValidator,booleanValidator:new R.BooleanValidator,bookmarksPaneValidator:new h.BookmarksPaneValidator,captureBookmarkOptionsValidator:new i.CaptureBookmarkOptionsValidator,captureBookmarkRequestValidator:new i.CaptureBookmarkRequestValidator,commandDisplayOptionValidator:new R.EnumValidator([0,1,2]),commandExtensionSelectorValidator:new S.AnyOfValidator([new b.VisualSelectorValidator,new b.VisualTypeSelectorValidator]),commandExtensionArrayValidator:new R.ArrayValidator([new u.CommandExtensionValidator]),commandExtensionValidator:new u.CommandExtensionValidator,commandsSettingsArrayValidator:new R.ArrayValidator([new o.CommandsSettingsValidator]),commandsSettingsValidator:new o.CommandsSettingsValidator,conditionItemValidator:new c.ConditionItemValidator,contrastModeValidator:new R.EnumValidator([0,1,2,3,4]),customLayoutDisplayOptionValidator:new R.EnumValidator([0,1,2]),customLayoutValidator:new p.CustomLayoutValidator,customPageSizeValidator:new f.CustomPageSizeValidator,customThemeValidator:new n.CustomThemeValidator,dashboardLoadValidator:new l.DashboardLoadValidator,datasetBindingValidator:new s.DatasetBindingValidator,displayStateModeValidator:new R.EnumValidator([0,1]),displayStateValidator:new p.DisplayStateValidator,exportDataRequestValidator:new d.ExportDataRequestValidator,extensionArrayValidator:new R.ArrayValidator([new u.ExtensionValidator]),extensionsValidator:new S.AnyOfValidator([new R.ArrayValidator([new u.ExtensionValidator]),new u.ExtensionsValidator]),extensionPointsValidator:new u.ExtensionPointsValidator,extensionValidator:new u.ExtensionValidator,fieldForbiddenValidator:new E.FieldForbiddenValidator,fieldRequiredValidator:new T.FieldRequiredValidator,fieldsPaneValidator:new h.FieldsPaneValidator,filterColumnTargetValidator:new c.FilterColumnTargetValidator,filterDisplaySettingsValidator:new c.FilterDisplaySettingsValidator,filterConditionsValidator:new R.ArrayValidator([new c.ConditionItemValidator]),filterHierarchyTargetValidator:new c.FilterHierarchyTargetValidator,filterMeasureTargetValidator:new c.FilterMeasureTargetValidator,filterTargetValidator:new S.AnyOfValidator([new c.FilterColumnTargetValidator,new c.FilterHierarchyTargetValidator,new c.FilterMeasureTargetValidator]),filterValidator:new c.FilterValidator,filterTypeValidator:new R.EnumValidator([0,1,2,3,4,5,6,7]),filtersArrayValidator:new R.ArrayValidator([new c.FilterValidator]),filtersOperationsUpdateValidator:new R.EnumValidator([1,2,3]),filtersOperationsRemoveAllValidator:new R.EnumValidator([0]),filtersPaneValidator:new h.FiltersPaneValidator,hyperlinkClickBehaviorValidator:new R.EnumValidator([0,1,2]),includeExcludeFilterValidator:new c.IncludeExcludeFilterValidator,includeExludeFilterTypeValidator:new R.EnumValidator([3]),layoutTypeValidator:new R.EnumValidator([0,1,2,3]),loadQnaValidator:new v.LoadQnaValidator,menuExtensionValidator:new S.AnyOfValidator([new u.FlatMenuExtensionValidator,new u.GroupedMenuExtensionValidator]),menuGroupExtensionArrayValidator:new R.ArrayValidator([new u.MenuGroupExtensionValidator]),menuGroupExtensionValidator:new u.MenuGroupExtensionValidator,menuLocationValidator:new R.EnumValidator([0,1]),notSupportedFilterTypeValidator:new R.EnumValidator([2]),notSupportedFilterValidator:new c.NotSupportedFilterValidator,numberArrayValidator:new R.NumberArrayValidator,numberValidator:new R.NumberValidator,onLoadFiltersBaseValidator:new S.AnyOfValidator([new c.OnLoadFiltersBaseValidator,new c.OnLoadFiltersBaseRemoveOperationValidator]),pageLayoutValidator:new F.MapValidator([new R.StringValidator],[new p.VisualLayoutValidator]),pageNavigationPaneValidator:new h.PageNavigationPaneValidator,pageNavigationPositionValidator:new R.EnumValidator([0,1]),pageSizeTypeValidator:new R.EnumValidator([0,1,2,3,4,5]),pageSizeValidator:new f.PageSizeValidator,pageValidator:new f.PageValidator,pageViewFieldValidator:new f.PageViewFieldValidator,pagesLayoutValidator:new F.MapValidator([new R.StringValidator],[new p.PageLayoutValidator]),paginatedReportCommandsValidator:new o.PaginatedReportCommandsValidator,paginatedReportLoadValidator:new m.PaginatedReportLoadValidator,paginatedReportsettingsValidator:new w.PaginatedReportSettingsValidator,parametersPanelValidator:new k.ParametersPanelValidator,permissionsValidator:new R.EnumValidator([0,1,2,4,7]),playBookmarkRequestValidator:new i.PlayBookmarkRequestValidator,qnaInterpretInputDataValidator:new v.QnaInterpretInputDataValidator,qnaPanesValidator:new h.QnaPanesValidator,qnaSettingValidator:new v.QnaSettingsValidator,relativeDateFilterOperatorValidator:new R.EnumValidator([0,1,2]),relativeDateFilterTimeUnitTypeValidator:new R.EnumValidator([0,1,2,3,4,5,6]),relativeDateFilterTypeValidator:new R.EnumValidator([4]),relativeDateFilterValidator:new c.RelativeDateFilterValidator,relativeDateTimeFilterTypeValidator:new R.EnumValidator([4,7]),relativeDateTimeFilterUnitTypeValidator:new R.EnumValidator([0,1,2,3,4,5,6,7,8]),relativeTimeFilterTimeUnitTypeValidator:new R.EnumValidator([7,8]),relativeTimeFilterTypeValidator:new R.EnumValidator([7]),relativeTimeFilterValidator:new c.RelativeTimeFilterValidator,reportBarsValidator:new a.ReportBarsValidator,reportCreateValidator:new y.ReportCreateValidator,reportLoadFiltersValidator:new S.AnyOfValidator([new R.ArrayValidator([new c.FilterValidator]),new c.OnLoadFiltersValidator]),reportLoadValidator:new V.ReportLoadValidator,reportPanesValidator:new h.ReportPanesValidator,saveAsParametersValidator:new g.SaveAsParametersValidator,selectionPaneValidator:new h.SelectionPaneValidator,settingsValidator:new w.SettingsValidator,singleCommandSettingsValidator:new o.SingleCommandSettingsValidator,slicerSelectorValidator:new S.AnyOfValidator([new b.VisualSelectorValidator,new b.SlicerTargetSelectorValidator]),slicerStateValidator:new P.SlicerStateValidator,slicerTargetValidator:new S.AnyOfValidator([new c.FilterColumnTargetValidator,new c.FilterHierarchyTargetValidator,new c.FilterMeasureTargetValidator,new c.FilterKeyColumnsTargetValidator,new c.FilterKeyHierarchyTargetValidator]),slicerValidator:new P.SlicerValidator,stringArrayValidator:new R.StringArrayValidator,stringValidator:new R.StringValidator,syncSlicersPaneValidator:new h.SyncSlicersPaneValidator,tileLoadValidator:new _.TileLoadValidator,tokenTypeValidator:new R.EnumValidator([0,1]),topNFilterTypeValidator:new R.EnumValidator([5]),topNFilterValidator:new c.TopNFilterValidator,updateFiltersRequestValidator:new S.AnyOfValidator([new c.UpdateFiltersRequestValidator,new c.RemoveFiltersRequestValidator]),viewModeValidator:new R.EnumValidator([0,1]),visualCommandSelectorValidator:new S.AnyOfValidator([new b.VisualSelectorValidator,new b.VisualTypeSelectorValidator]),visualHeaderSelectorValidator:new S.AnyOfValidator([new b.VisualSelectorValidator,new b.VisualTypeSelectorValidator]),visualHeaderSettingsValidator:new O.VisualHeaderSettingsValidator,visualHeaderValidator:new O.VisualHeaderValidator,visualHeadersValidator:new R.ArrayValidator([new O.VisualHeaderValidator]),visualizationsPaneValidator:new h.VisualizationsPaneValidator,visualLayoutValidator:new p.VisualLayoutValidator,visualSelectorValidator:new b.VisualSelectorValidator,visualSettingsValidator:new O.VisualSettingsValidator,visualTypeSelectorValidator:new b.VisualTypeSelectorValidator}},function(t,e,r){var a,i=this&&this.__extends||(a=function(t,e){return(a=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])})(t,e)},function(t,e){function r(){this.constructor=t}a(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.ActionBarValidator=e.ReportBarsValidator=void 0;var o=r(3),n=r(4),l=r(1),s=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i(e,t),e.prototype.validate=function(e,r,a){if(null==e)return null;var i=t.prototype.validate.call(this,e,r,a);if(i)return i;var n=[{field:"actionBar",validators:[l.Validators.actionBarValidator]}];return new o.MultipleFieldsValidator(n).validate(e,r,a)},e}(n.ObjectValidator);e.ReportBarsValidator=s;var d=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i(e,t),e.prototype.validate=function(e,r,a){if(null==e)return null;var i=t.prototype.validate.call(this,e,r,a);if(i)return i;var n=[{field:"visible",validators:[l.Validators.booleanValidator]}];return new o.MultipleFieldsValidator(n).validate(e,r,a)},e}(n.ObjectValidator);e.ActionBarValidator=d},function(t,e){Object.defineProperty(e,"__esModule",{value:!0}),e.MultipleFieldsValidator=void 0;var r=function(){function t(t){this.fieldValidatorsPairs=t}return t.prototype.validate=function(t,e,r){if(!this.fieldValidatorsPairs)return null;for(var a=e?e+"."+r:r,i=0,o=this.fieldValidatorsPairs;i0&&i[i.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0?"&":"?";return t+=a+e+"="+r},e.isSavedInternal=function(t,e,i){return r(this,void 0,void 0,(function(){return a(this,(function(r){switch(r.label){case 0:return r.trys.push([0,2,,3]),[4,t.get("/report/hasUnsavedChanges",{uid:e},i)];case 1:return[2,!r.sent().body];case 2:throw r.sent().body;case 3:return[2]}}))}))},e.isRDLEmbed=function(t){return t.toLowerCase().indexOf("/rdlembed?")>=0},e.autoAuthInEmbedUrl=function(t){return t&&decodeURIComponent(t).toLowerCase().indexOf("autoauth=true")>=0},e.getRandomValue=o,e.getTimeDiffInMilliseconds=function(t,e){return Math.abs(t.getTime()-e.getTime())}},function(t,e){Object.defineProperty(e,"__esModule",{value:!0}),e.EmbedUrlNotSupported=e.APINotSupportedForRDLError=void 0,e.APINotSupportedForRDLError="This API is currently not supported for RDL reports",e.EmbedUrlNotSupported="Embed URL is invalid for this scenario. Please use Power BI REST APIs to get the valid URL"},function(t,e,r){var a,i=this&&this.__extends||(a=function(t,e){return(a=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])})(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}a(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}),o=this&&this.__awaiter||function(t,e,r,a){return new(r||(r=Promise))((function(i,o){function n(t){try{s(a.next(t))}catch(t){o(t)}}function l(t){try{s(a.throw(t))}catch(t){o(t)}}function s(t){var e;t.done?i(t.value):(e=t.value,e instanceof r?e:new r((function(t){t(e)}))).then(n,l)}s((a=a.apply(t,e||[])).next())}))},n=this&&this.__generator||function(t,e){var r,a,i,o,n={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:l(0),throw:l(1),return:l(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function l(o){return function(l){return function(o){if(r)throw new TypeError("Generator is already executing.");for(;n;)try{if(r=1,a&&(i=2&o[0]?a.return:o[0]?a.throw||((i=a.return)&&i.call(a),0):a.next)&&!(i=i.call(a,o[1])).done)return i;switch(a=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return n.label++,{value:o[1],done:!1};case 5:n.label++,a=o[1],o=[0];continue;case 7:o=n.ops.pop(),n.trys.pop();continue;default:if(!(i=n.trys,(i=i.length>0&&i[i.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&!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,s=o.keyValues;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 s.conditions=l,s}return a(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}(l);function m(t){if(t.filterType)return t.filterType;var e=t,r=t;return"string"==typeof e.operator&&Array.isArray(e.values)?o.Basic:"string"==typeof r.logicalOperator&&Array.isArray(r.conditions)?o.Advanced:o.Unknown}function V(t){return!(!t.table||!t.column||t.aggregationFunction)}e.AdvancedFilter=y,e.isFilterKeyColumnsTarget=function(t){return V(t)&&!!t.keys},e.isBasicFilterWithKeys=function(t){return m(t)===o.Basic&&!!t.keyValues},e.getFilterType=m,e.isMeasure=function(t){return void 0!==t.table&&void 0!==t.measure},e.isColumn=V,e.isHierarchyLevel=function(t){return!(!(t.table&&t.hierarchy&&t.hierarchyLevel)||t.aggregationFunction)},e.isHierarchyLevelAggr=function(t){return!!(t.table&&t.hierarchy&&t.hierarchyLevel&&t.aggregationFunction)},e.isColumnAggr=function(t){return!!(t.table&&t.column&&t.aggregationFunction)},function(t){t[t.Bottom=0]="Bottom",t[t.Left=1]="Left"}(e.PageNavigationPosition||(e.PageNavigationPosition={})),function(t){t[t.Interactive=0]="Interactive",t[t.ResultOnly=1]="ResultOnly"}(e.QnaMode||(e.QnaMode={})),function(t){t[t.Summarized=0]="Summarized",t[t.Underlying=1]="Underlying"}(e.ExportDataType||(e.ExportDataType={})),function(t){t[t.Off=0]="Off",t[t.Presentation=1]="Presentation"}(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"},function(t){t[t.Ascending=1]="Ascending",t[t.Descending=2]="Descending"}(e.SortDirection||(e.SortDirection={}));var g=function(){function t(t){this.$schema=t}return t.prototype.toJSON=function(){return{$schema:this.$schema}},t}();e.Selector=g;var b=function(t){function e(r){var i=t.call(this,e.schemaUrl)||this;return i.pageName=r,i}return a(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}(g);e.PageSelector=b;var w=function(t){function e(r){var i=t.call(this,e.schemaUrl)||this;return i.visualName=r,i}return a(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}(g);e.VisualSelector=w;var P=function(t){function e(e){var r=t.call(this,w.schemaUrl)||this;return r.visualType=e,r}return a(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}(g);e.VisualTypeSelector=P;var O=function(t){function e(e){var r=t.call(this,w.schemaUrl)||this;return r.target=e,r}return a(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}(g);function S(t){return Array.isArray(t)}function _(t){return t&&!!t.groupName}function T(t){return Array.isArray(t)}function E(t){var e=t.message;return e||(e=t.path+" is invalid. Not meeting "+t.keyword+" constraint"),{message:e}}e.SlicerTargetSelector=O,function(t){t[t.Enabled=0]="Enabled",t[t.Disabled=1]="Disabled",t[t.Hidden=2]="Hidden"}(e.CommandDisplayOption||(e.CommandDisplayOption={})),function(t){t[t.Grouping=0]="Grouping",t[t.Measure=1]="Measure",t[t.GroupingOrMeasure=2]="GroupingOrMeasure"}(e.VisualDataRoleKind||(e.VisualDataRoleKind={})),function(t){t[t.Measure=0]="Measure",t[t.Grouping=1]="Grouping"}(e.VisualDataRoleKindPreference||(e.VisualDataRoleKindPreference={})),e.isOnLoadFilters=function(t){return t&&!S(t)},e.isReportFiltersArray=S,e.isFlatMenuExtension=function(t){return t&&!_(t)},e.isGroupedMenuExtension=_,e.isIExtensions=function(t){return t&&!T(t)},e.isIExtensionArray=T,e.validateVisualSelector=function(t){var e=n.Validators.visualSelectorValidator.validate(t);return e?e.map(E):void 0},e.validateSlicer=function(t){var e=n.Validators.slicerValidator.validate(t);return e?e.map(E):void 0},e.validateSlicerState=function(t){var e=n.Validators.slicerStateValidator.validate(t);return e?e.map(E):void 0},e.validatePlayBookmarkRequest=function(t){var e=n.Validators.playBookmarkRequestValidator.validate(t);return e?e.map(E):void 0},e.validateAddBookmarkRequest=function(t){var e=n.Validators.addBookmarkRequestValidator.validate(t);return e?e.map(E):void 0},e.validateApplyBookmarkByNameRequest=function(t){var e=n.Validators.applyBookmarkByNameRequestValidator.validate(t);return e?e.map(E):void 0},e.validateApplyBookmarkStateRequest=function(t){var e=n.Validators.applyBookmarkStateRequestValidator.validate(t);return e?e.map(E):void 0},e.validateCaptureBookmarkRequest=function(t){var e=n.Validators.captureBookmarkRequestValidator.validate(t);return e?e.map(E):void 0},e.validateSettings=function(t){var e=n.Validators.settingsValidator.validate(t);return e?e.map(E):void 0},e.validatePanes=function(t){var e=n.Validators.reportPanesValidator.validate(t);return e?e.map(E):void 0},e.validateBookmarksPane=function(t){var e=n.Validators.bookmarksPaneValidator.validate(t);return e?e.map(E):void 0},e.validateFiltersPane=function(t){var e=n.Validators.filtersPaneValidator.validate(t);return e?e.map(E):void 0},e.validateFieldsPane=function(t){var e=n.Validators.fieldsPaneValidator.validate(t);return e?e.map(E):void 0},e.validatePageNavigationPane=function(t){var e=n.Validators.pageNavigationPaneValidator.validate(t);return e?e.map(E):void 0},e.validateSelectionPane=function(t){var e=n.Validators.selectionPaneValidator.validate(t);return e?e.map(E):void 0},e.validateSyncSlicersPane=function(t){var e=n.Validators.syncSlicersPaneValidator.validate(t);return e?e.map(E):void 0},e.validateVisualizationsPane=function(t){var e=n.Validators.visualizationsPaneValidator.validate(t);return e?e.map(E):void 0},e.validateCustomPageSize=function(t){var e=n.Validators.customPageSizeValidator.validate(t);return e?e.map(E):void 0},e.validateExtension=function(t){var e=n.Validators.extensionValidator.validate(t);return e?e.map(E):void 0},e.validateMenuGroupExtension=function(t){var e=n.Validators.menuGroupExtensionValidator.validate(t);return e?e.map(E):void 0},e.validateReportLoad=function(t){var e=n.Validators.reportLoadValidator.validate(t);return e?e.map(E):void 0},e.validatePaginatedReportLoad=function(t){var e=n.Validators.paginatedReportLoadValidator.validate(t);return e?e.map(E):void 0},e.validateCreateReport=function(t){var e=n.Validators.reportCreateValidator.validate(t);return e?e.map(E):void 0},e.validateDashboardLoad=function(t){var e=n.Validators.dashboardLoadValidator.validate(t);return e?e.map(E):void 0},e.validateTileLoad=function(t){var e=n.Validators.tileLoadValidator.validate(t);return e?e.map(E):void 0},e.validatePage=function(t){var e=n.Validators.pageValidator.validate(t);return e?e.map(E):void 0},e.validateFilter=function(t){var e=n.Validators.filterValidator.validate(t);return e?e.map(E):void 0},e.validateUpdateFiltersRequest=function(t){var e=n.Validators.updateFiltersRequestValidator.validate(t);return e?e.map(E):void 0},e.validateSaveAsParameters=function(t){var e=n.Validators.saveAsParametersValidator.validate(t);return e?e.map(E):void 0},e.validateLoadQnaConfiguration=function(t){var e=n.Validators.loadQnaValidator.validate(t);return e?e.map(E):void 0},e.validateQnaInterpretInputData=function(t){var e=n.Validators.qnaInterpretInputDataValidator.validate(t);return e?e.map(E):void 0},e.validateExportDataRequest=function(t){var e=n.Validators.exportDataRequestValidator.validate(t);return e?e.map(E):void 0},e.validateVisualHeader=function(t){var e=n.Validators.visualHeaderValidator.validate(t);return e?e.map(E):void 0},e.validateVisualSettings=function(t){var e=n.Validators.visualSettingsValidator.validate(t);return e?e.map(E):void 0},e.validateCommandsSettings=function(t){var e=n.Validators.commandsSettingsValidator.validate(t);return e?e.map(E):void 0},e.validateCustomTheme=function(t){var e=n.Validators.customThemeValidator.validate(t);return e?e.map(E):void 0}},function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.Validators=void 0;var i=r(2),a=r(5),o=r(6),n=r(7),l=r(8),s=r(9),d=r(10),u=r(11),c=r(12),p=r(13),f=r(14),h=r(15),v=r(16),y=r(17),m=r(18),V=r(19),g=r(20),b=r(21),w=r(22),P=r(23),O=r(24),S=r(25),_=r(26),T=r(27),E=r(28),F=r(29),R=r(4),x=r(30);e.Validators={addBookmarkRequestValidator:new a.AddBookmarkRequestValidator,advancedFilterTypeValidator:new R.EnumValidator([0]),advancedFilterValidator:new c.AdvancedFilterValidator,anyArrayValidator:new R.ArrayValidator([new _.AnyOfValidator([new R.StringValidator,new R.NumberValidator,new R.BooleanValidator])]),anyFilterValidator:new _.AnyOfValidator([new c.BasicFilterValidator,new c.AdvancedFilterValidator,new c.IncludeExcludeFilterValidator,new c.NotSupportedFilterValidator,new c.RelativeDateFilterValidator,new c.TopNFilterValidator,new c.RelativeTimeFilterValidator]),anyValueValidator:new _.AnyOfValidator([new R.StringValidator,new R.NumberValidator,new R.BooleanValidator]),actionBarValidator:new i.ActionBarValidator,applyBookmarkByNameRequestValidator:new a.ApplyBookmarkByNameRequestValidator,applyBookmarkStateRequestValidator:new a.ApplyBookmarkStateRequestValidator,applyBookmarkValidator:new _.AnyOfValidator([new a.ApplyBookmarkByNameRequestValidator,new a.ApplyBookmarkStateRequestValidator]),backgroundValidator:new R.EnumValidator([0,1]),basicFilterTypeValidator:new R.EnumValidator([1]),basicFilterValidator:new c.BasicFilterValidator,booleanArrayValidator:new R.BooleanArrayValidator,booleanValidator:new R.BooleanValidator,bookmarksPaneValidator:new h.BookmarksPaneValidator,captureBookmarkOptionsValidator:new a.CaptureBookmarkOptionsValidator,captureBookmarkRequestValidator:new a.CaptureBookmarkRequestValidator,commandDisplayOptionValidator:new R.EnumValidator([0,1,2]),commandExtensionSelectorValidator:new _.AnyOfValidator([new b.VisualSelectorValidator,new b.VisualTypeSelectorValidator]),commandExtensionArrayValidator:new R.ArrayValidator([new u.CommandExtensionValidator]),commandExtensionValidator:new u.CommandExtensionValidator,commandsSettingsArrayValidator:new R.ArrayValidator([new o.CommandsSettingsValidator]),commandsSettingsValidator:new o.CommandsSettingsValidator,conditionItemValidator:new c.ConditionItemValidator,contrastModeValidator:new R.EnumValidator([0,1,2,3,4]),customLayoutDisplayOptionValidator:new R.EnumValidator([0,1,2]),customLayoutValidator:new p.CustomLayoutValidator,customPageSizeValidator:new f.CustomPageSizeValidator,customThemeValidator:new n.CustomThemeValidator,dashboardLoadValidator:new l.DashboardLoadValidator,datasetBindingValidator:new s.DatasetBindingValidator,displayStateModeValidator:new R.EnumValidator([0,1]),displayStateValidator:new p.DisplayStateValidator,exportDataRequestValidator:new d.ExportDataRequestValidator,extensionArrayValidator:new R.ArrayValidator([new u.ExtensionValidator]),extensionsValidator:new _.AnyOfValidator([new R.ArrayValidator([new u.ExtensionValidator]),new u.ExtensionsValidator]),extensionPointsValidator:new u.ExtensionPointsValidator,extensionValidator:new u.ExtensionValidator,fieldForbiddenValidator:new T.FieldForbiddenValidator,fieldRequiredValidator:new E.FieldRequiredValidator,fieldsPaneValidator:new h.FieldsPaneValidator,filterColumnTargetValidator:new c.FilterColumnTargetValidator,filterDisplaySettingsValidator:new c.FilterDisplaySettingsValidator,filterConditionsValidator:new R.ArrayValidator([new c.ConditionItemValidator]),filterHierarchyTargetValidator:new c.FilterHierarchyTargetValidator,filterMeasureTargetValidator:new c.FilterMeasureTargetValidator,filterTargetValidator:new _.AnyOfValidator([new c.FilterColumnTargetValidator,new c.FilterHierarchyTargetValidator,new c.FilterMeasureTargetValidator]),filterValidator:new c.FilterValidator,filterTypeValidator:new R.EnumValidator([0,1,2,3,4,5,6,7]),filtersArrayValidator:new R.ArrayValidator([new c.FilterValidator]),filtersOperationsUpdateValidator:new R.EnumValidator([1,2,3]),filtersOperationsRemoveAllValidator:new R.EnumValidator([0]),filtersPaneValidator:new h.FiltersPaneValidator,hyperlinkClickBehaviorValidator:new R.EnumValidator([0,1,2]),includeExcludeFilterValidator:new c.IncludeExcludeFilterValidator,includeExludeFilterTypeValidator:new R.EnumValidator([3]),layoutTypeValidator:new R.EnumValidator([0,1,2,3]),loadQnaValidator:new v.LoadQnaValidator,menuExtensionValidator:new _.AnyOfValidator([new u.FlatMenuExtensionValidator,new u.GroupedMenuExtensionValidator]),menuGroupExtensionArrayValidator:new R.ArrayValidator([new u.MenuGroupExtensionValidator]),menuGroupExtensionValidator:new u.MenuGroupExtensionValidator,menuLocationValidator:new R.EnumValidator([0,1]),notSupportedFilterTypeValidator:new R.EnumValidator([2]),notSupportedFilterValidator:new c.NotSupportedFilterValidator,numberArrayValidator:new R.NumberArrayValidator,numberValidator:new R.NumberValidator,onLoadFiltersBaseValidator:new _.AnyOfValidator([new c.OnLoadFiltersBaseValidator,new c.OnLoadFiltersBaseRemoveOperationValidator]),pageLayoutValidator:new F.MapValidator([new R.StringValidator],[new p.VisualLayoutValidator]),pageNavigationPaneValidator:new h.PageNavigationPaneValidator,pageNavigationPositionValidator:new R.EnumValidator([0,1]),pageSizeTypeValidator:new R.EnumValidator([0,1,2,3,4,5]),pageSizeValidator:new f.PageSizeValidator,pageValidator:new f.PageValidator,pageViewFieldValidator:new f.PageViewFieldValidator,pagesLayoutValidator:new F.MapValidator([new R.StringValidator],[new p.PageLayoutValidator]),paginatedReportCommandsValidator:new o.PaginatedReportCommandsValidator,paginatedReportLoadValidator:new V.PaginatedReportLoadValidator,paginatedReportsettingsValidator:new w.PaginatedReportSettingsValidator,parametersPanelValidator:new x.ParametersPanelValidator,permissionsValidator:new R.EnumValidator([0,1,2,4,7]),playBookmarkRequestValidator:new a.PlayBookmarkRequestValidator,qnaInterpretInputDataValidator:new v.QnaInterpretInputDataValidator,qnaPanesValidator:new h.QnaPanesValidator,qnaSettingValidator:new v.QnaSettingsValidator,relativeDateFilterOperatorValidator:new R.EnumValidator([0,1,2]),relativeDateFilterTimeUnitTypeValidator:new R.EnumValidator([0,1,2,3,4,5,6]),relativeDateFilterTypeValidator:new R.EnumValidator([4]),relativeDateFilterValidator:new c.RelativeDateFilterValidator,relativeDateTimeFilterTypeValidator:new R.EnumValidator([4,7]),relativeDateTimeFilterUnitTypeValidator:new R.EnumValidator([0,1,2,3,4,5,6,7,8]),relativeTimeFilterTimeUnitTypeValidator:new R.EnumValidator([7,8]),relativeTimeFilterTypeValidator:new R.EnumValidator([7]),relativeTimeFilterValidator:new c.RelativeTimeFilterValidator,reportBarsValidator:new i.ReportBarsValidator,reportCreateValidator:new y.ReportCreateValidator,reportLoadFiltersValidator:new _.AnyOfValidator([new R.ArrayValidator([new c.FilterValidator]),new c.OnLoadFiltersValidator]),reportLoadValidator:new m.ReportLoadValidator,reportPanesValidator:new h.ReportPanesValidator,saveAsParametersValidator:new g.SaveAsParametersValidator,selectionPaneValidator:new h.SelectionPaneValidator,settingsValidator:new w.SettingsValidator,singleCommandSettingsValidator:new o.SingleCommandSettingsValidator,slicerSelectorValidator:new _.AnyOfValidator([new b.VisualSelectorValidator,new b.SlicerTargetSelectorValidator]),slicerStateValidator:new P.SlicerStateValidator,slicerTargetValidator:new _.AnyOfValidator([new c.FilterColumnTargetValidator,new c.FilterHierarchyTargetValidator,new c.FilterMeasureTargetValidator,new c.FilterKeyColumnsTargetValidator,new c.FilterKeyHierarchyTargetValidator]),slicerValidator:new P.SlicerValidator,stringArrayValidator:new R.StringArrayValidator,stringValidator:new R.StringValidator,syncSlicersPaneValidator:new h.SyncSlicersPaneValidator,tileLoadValidator:new O.TileLoadValidator,tokenTypeValidator:new R.EnumValidator([0,1]),topNFilterTypeValidator:new R.EnumValidator([5]),topNFilterValidator:new c.TopNFilterValidator,updateFiltersRequestValidator:new _.AnyOfValidator([new c.UpdateFiltersRequestValidator,new c.RemoveFiltersRequestValidator]),viewModeValidator:new R.EnumValidator([0,1]),visualCommandSelectorValidator:new _.AnyOfValidator([new b.VisualSelectorValidator,new b.VisualTypeSelectorValidator]),visualHeaderSelectorValidator:new _.AnyOfValidator([new b.VisualSelectorValidator,new b.VisualTypeSelectorValidator]),visualHeaderSettingsValidator:new S.VisualHeaderSettingsValidator,visualHeaderValidator:new S.VisualHeaderValidator,visualHeadersValidator:new R.ArrayValidator([new S.VisualHeaderValidator]),visualizationsPaneValidator:new h.VisualizationsPaneValidator,visualLayoutValidator:new p.VisualLayoutValidator,visualSelectorValidator:new b.VisualSelectorValidator,visualSettingsValidator:new S.VisualSettingsValidator,visualTypeSelectorValidator:new b.VisualTypeSelectorValidator}},function(t,e,r){var i,a=this&&this.__extends||(i=function(t,e){return(i=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])})(t,e)},function(t,e){function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.ActionBarValidator=e.ReportBarsValidator=void 0;var o=r(3),n=r(4),l=r(1),s=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return a(e,t),e.prototype.validate=function(e,r,i){if(null==e)return null;var a=t.prototype.validate.call(this,e,r,i);if(a)return a;var n=[{field:"actionBar",validators:[l.Validators.actionBarValidator]}];return new o.MultipleFieldsValidator(n).validate(e,r,i)},e}(n.ObjectValidator);e.ReportBarsValidator=s;var d=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return a(e,t),e.prototype.validate=function(e,r,i){if(null==e)return null;var a=t.prototype.validate.call(this,e,r,i);if(a)return a;var n=[{field:"visible",validators:[l.Validators.booleanValidator]}];return new o.MultipleFieldsValidator(n).validate(e,r,i)},e}(n.ObjectValidator);e.ActionBarValidator=d},function(t,e){Object.defineProperty(e,"__esModule",{value:!0}),e.MultipleFieldsValidator=void 0;var r=function(){function t(t){this.fieldValidatorsPairs=t}return t.prototype.validate=function(t,e,r){if(!this.fieldValidatorsPairs)return null;for(var i=e?e+"."+r:r,a=0,o=this.fieldValidatorsPairs;a0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0?"&":"?";return t+=i+e+"="+r},e.isSavedInternal=function(t,e,a){return r(this,void 0,void 0,(function(){return i(this,(function(r){switch(r.label){case 0:return r.trys.push([0,2,,3]),[4,t.get("/report/hasUnsavedChanges",{uid:e},a)];case 1:return[2,!r.sent().body];case 2:throw r.sent().body;case 3:return[2]}}))}))},e.isRDLEmbed=function(t){return t.toLowerCase().indexOf("/rdlembed?")>=0},e.autoAuthInEmbedUrl=function(t){return t&&decodeURIComponent(t).toLowerCase().indexOf("autoauth=true")>=0},e.getRandomValue=o,e.getTimeDiffInMilliseconds=function(t,e){return Math.abs(t.getTime()-e.getTime())}},function(t,e){Object.defineProperty(e,"__esModule",{value:!0}),e.EmbedUrlNotSupported=e.APINotSupportedForRDLError=void 0,e.APINotSupportedForRDLError="This API is currently not supported for RDL reports",e.EmbedUrlNotSupported="Embed URL is invalid for this scenario. Please use Power BI REST APIs to get the valid URL"},function(t,e,r){var i,a=this&&this.__extends||(i=function(t,e){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])})(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}),o=this&&this.__awaiter||function(t,e,r,i){return new(r||(r=Promise))((function(a,o){function n(t){try{s(i.next(t))}catch(t){o(t)}}function l(t){try{s(i.throw(t))}catch(t){o(t)}}function s(t){var e;t.done?a(t.value):(e=t.value,e instanceof r?e:new r((function(t){t(e)}))).then(n,l)}s((i=i.apply(t,e||[])).next())}))},n=this&&this.__generator||function(t,e){var r,i,a,o,n={label:0,sent:function(){if(1&a[0])throw a[1];return a[1]},trys:[],ops:[]};return o={next:l(0),throw:l(1),return:l(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function l(o){return function(l){return function(o){if(r)throw new TypeError("Generator is already executing.");for(;n;)try{if(r=1,i&&(a=2&o[0]?i.return:o[0]?i.throw||((a=i.return)&&a.call(i),0):i.next)&&!(a=a.call(i,o[1])).done)return a;switch(i=0,a&&(o=[2&o[0],a.value]),o[0]){case 0:case 1:a=o;break;case 4:return n.label++,{value:o[1],done:!1};case 5:n.label++,i=o[1],o=[0];continue;case 7:o=n.ops.pop(),n.trys.pop();continue;default:if(!(a=n.trys,(a=a.length>0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]2&&"[]"===n.slice(l-2)&&(s=!0,r[n=n.slice(0,l-2)]||(r[n]=[])),i=o[1]?m(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(-1!==(a=t.indexOf("?"))){var l=t.substr(a+1,t.length);t=t.substr(0,a),o=this.parseQueryString(l)}for("/"!==(t=decodeURI(t)).charAt(0)&&(t="/"+t),(e=t.length)>1&&"/"===t.charAt(e-1)&&(t=t.substr(0,e-1),n=!0),r=0;r2&&"[]"===n.slice(l-2)&&(s=!0,r[n=n.slice(0,l-2)]||(r[n]=[])),a=o[1]?V(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(-1!==(i=t.indexOf("?"))){var l=t.substr(i+1,t.length);t=t.substr(0,i),o=this.parseQueryString(l)}for("/"!==(t=decodeURI(t)).charAt(0)&&(t="/"+t),(e=t.length)>1&&"/"===t.charAt(e-1)&&(t=t.substr(0,e-1),n=!0),r=0;r; + private operator: BasicFilterOperators; + private isRequireSingleSelection = false; + + /** + * Sets target property for Basic filter + * + * ```javascript + * + * const basicFilterBuilder = new BasicFilterBuilder().withTarget(tableName, columnName); + * ``` + * + * @returns {BasicFilterBuilder} + */ + withTarget(table: string, column: string): BasicFilterBuilder { + this.target = { table: table, column: column }; + return this; + } + + /** + * Sets target property for Basic filter with target object + * + * ```javascript + * const target = { + * table: 'table1', + * column: 'column1' + * }; + * + * const basicFilterBuilder = new BasicFilterBuilder().withTargetObject(target); + * ``` + * + * @returns {BasicFilterBuilder} + */ + withTargetObject(target: IFilterTarget): BasicFilterBuilder { + this.target = target; + return this; + } + + /** + * Sets In as operator for Basic filter + * + * ```javascript + * + * const basicFilterBuilder = new BasicFilterBuilder().in([values]); + * ``` + * + * @returns {BasicFilterBuilder} + */ + in(values: Array<(string | number | boolean)>): BasicFilterBuilder { + this.operator = "In"; + this.values = values; + return this; + } + + /** + * Sets NotIn as operator for Basic filter + * + * ```javascript + * + * const basicFilterBuilder = new BasicFilterBuilder().notIn([values]); + * ``` + * + * @returns {BasicFilterBuilder} + */ + notIn(values: Array<(string | number | boolean)>): BasicFilterBuilder { + this.operator = "NotIn"; + this.values = values; + return this; + } + + /** + * Sets All as operator for Basic filter + * + * ```javascript + * + * const basicFilterBuilder = new BasicFilterBuilder().all(); + * ``` + * + * @returns {BasicFilterBuilder} + */ + all(): BasicFilterBuilder { + this.operator = "All"; + this.values = []; + return this; + } + + /** + * Sets required single selection property for Basic filter + * + * ```javascript + * + * const basicFilterBuilder = new BasicFilterBuilder().requireSingleSelection(isRequireSingleSelection); + * ``` + * + * @returns {BasicFilterBuilder} + */ + requireSingleSelection(isRequireSingleSelection = false): BasicFilterBuilder { + this.isRequireSingleSelection = isRequireSingleSelection; + return this; + } + + /** + * Creates Basic filter + * + * ```javascript + * + * const basicFilterBuilder = new BasicFilterBuilder().build(); + * ``` + * + * @returns {BasicFilter} + */ + build(): BasicFilter { + const basicFilter = new BasicFilter(this.target, this.operator, this.values); + basicFilter.requireSingleSelection = this.isRequireSingleSelection; + return basicFilter; + } +} diff --git a/src/FilterBuilders/filterBuilder.ts b/src/FilterBuilders/filterBuilder.ts new file mode 100644 index 00000000..48e1e957 --- /dev/null +++ b/src/FilterBuilders/filterBuilder.ts @@ -0,0 +1,14 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. + +import { Filter } from "powerbi-models"; + +/** + * Generic filter builder for BasicFilter, AdvancedFilter, RelativeDate, RelativeTime and TopN + * + * @interface IFilterBuilder + */ +export interface IFilterBuilder { + withTarget(table: string, column: string): IFilterBuilder; + build(): Filter; +} diff --git a/src/FilterBuilders/index.ts b/src/FilterBuilders/index.ts new file mode 100644 index 00000000..d57029c4 --- /dev/null +++ b/src/FilterBuilders/index.ts @@ -0,0 +1,18 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. + +export { + BasicFilterBuilder +} from "./basicFilterBuilder"; +export { + AdvancedFilterBuilder +} from "./advancedFilterBuilder"; +export { + TopNFilterBuilder +} from "./topNFilterBuilder"; +export { + RelativeDateFilterBuilder +} from "./relativeDateFilterBuilder"; +export { + RelativeTimeFilterBuilder +} from "./relativeTimeFilterBuilder"; diff --git a/src/FilterBuilders/relativeDateFilterBuilder.ts b/src/FilterBuilders/relativeDateFilterBuilder.ts new file mode 100644 index 00000000..8b99f0c8 --- /dev/null +++ b/src/FilterBuilders/relativeDateFilterBuilder.ts @@ -0,0 +1,151 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. + +import { + IFilterTarget, + RelativeDateFilter, + RelativeDateOperators, + RelativeDateFilterTimeUnit +} from "powerbi-models"; + +import { IFilterBuilder } from './filterBuilder'; + +/** + * Power BI Relative Date filter builder component + * + * @export + * @class RelativeDateFilterBuilder + * @implements {IFilterBuilder} + */ +export class RelativeDateFilterBuilder implements IFilterBuilder { + private target: IFilterTarget; + private operator: RelativeDateOperators; + private timeUnitsCount: number; + private timeUnitType: RelativeDateFilterTimeUnit; + private isTodayIncluded = true; + + /** + * Sets target property for Relative Date filter + * + * ```javascript + * + * const relativeDateFilterBuilder = new RelativeDateFilterBuilder().withTarget(tableName, columnName); + * ``` + * + * @param {string} table - Defines the table on which filter will be applied + * @param {string} column - Defines the column on which filter will be applied + * @returns {RelativeDateFilterBuilder} + */ + withTarget(table: string, column: string): RelativeDateFilterBuilder { + this.target = { table: table, column: column }; + return this; + } + + /** + * Sets target property for Relative Date filter with target object + * + * ```javascript + * const target = { + * table: 'table1', + * column: 'column1' + * }; + * + * const relativeDateFilterBuilder = new RelativeDateFilterBuilder().withTargetObject(target); + * ``` + * + * @param {IFilterTarget} target - Defines the target property + * @returns {RelativeDateFilterBuilder} + */ + withTargetObject(target: IFilterTarget): RelativeDateFilterBuilder { + this.target = target; + return this; + } + + /** + * Sets inLast as operator for Relative Date filter + * + * ```javascript + * + * const relativeDateFilterBuilder = new RelativeDateFilterBuilder().inLast(timeUnitsCount, timeUnitType); + * ``` + * + * @param {number} timeUnitsCount - The amount of time units + * @param {RelativeDateFilterTimeUnit} timeUnitType - Defines the unit of time the filter is using + * @returns {RelativeDateFilterBuilder} + */ + inLast(timeUnitsCount: number, timeUnitType: RelativeDateFilterTimeUnit): RelativeDateFilterBuilder { + this.operator = RelativeDateOperators.InLast; + this.timeUnitsCount = timeUnitsCount; + this.timeUnitType = timeUnitType; + return this; + } + + /** + * Sets inThis as operator for Relative Date filter + * + * ```javascript + * + * const relativeDateFilterBuilder = new RelativeDateFilterBuilder().inThis(timeUnitsCount, timeUnitType); + * ``` + * + * @param {number} timeUnitsCount - The amount of time units + * @param {RelativeDateFilterTimeUnit} timeUnitType - Defines the unit of time the filter is using + * @returns {RelativeDateFilterBuilder} + */ + inThis(timeUnitsCount: number, timeUnitType: RelativeDateFilterTimeUnit): RelativeDateFilterBuilder { + this.operator = RelativeDateOperators.InThis; + this.timeUnitsCount = timeUnitsCount; + this.timeUnitType = timeUnitType; + return this; + } + + /** + * Sets inNext as operator for Relative Date filter + * + * ```javascript + * + * const relativeDateFilterBuilder = new RelativeDateFilterBuilder().orderBy(timeUnitsCount, timeUnitType); + * ``` + * + * @param {number} timeUnitsCount - The amount of time units + * @param {RelativeDateFilterTimeUnit} timeUnitType - Defines the unit of time the filter is using + * @returns {RelativeDateFilterBuilder} + */ + inNext(timeUnitsCount: number, timeUnitType: RelativeDateFilterTimeUnit): RelativeDateFilterBuilder { + this.operator = RelativeDateOperators.InNext; + this.timeUnitsCount = timeUnitsCount; + this.timeUnitType = timeUnitType; + return this; + } + + /** + * Sets includeToday for Relative Date filter + * + * ```javascript + * + * const relativeDateFilterBuilder = new RelativeDateFilterBuilder().includeToday(includeToday); + * ``` + * + * @param {boolean} includeToday - Denotes if today is included or not + * @returns {RelativeDateFilterBuilder} + */ + includeToday(includeToday: boolean): RelativeDateFilterBuilder { + this.isTodayIncluded = includeToday; + return this; + } + + /** + * Creates Relative Date filter + * + * ```javascript + * + * const relativeDateFilterBuilder = new RelativeDateFilterBuilder().build(); + * ``` + * + * @returns {RelativeDateFilter} + */ + build(): RelativeDateFilter { + const relativeDateFilter = new RelativeDateFilter(this.target, this.operator, this.timeUnitsCount, this.timeUnitType, this.isTodayIncluded); + return relativeDateFilter; + } +} diff --git a/src/FilterBuilders/relativeTimeFilterBuilder.ts b/src/FilterBuilders/relativeTimeFilterBuilder.ts new file mode 100644 index 00000000..92cddfa0 --- /dev/null +++ b/src/FilterBuilders/relativeTimeFilterBuilder.ts @@ -0,0 +1,134 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. + +import { + IFilterTarget, + RelativeTimeFilter, + RelativeDateOperators, + RelativeDateFilterTimeUnit +} from "powerbi-models"; + +import { IFilterBuilder } from './filterBuilder'; + +/** + * Power BI Relative Time filter builder component + * + * @export + * @class RelativeTimeFilterBuilder + * @implements {IFilterBuilder} + */ +export class RelativeTimeFilterBuilder implements IFilterBuilder { + private target: IFilterTarget; + private operator: RelativeDateOperators; + private timeUnitsCount: number; + private timeUnitType: RelativeDateFilterTimeUnit; + + /** + * Sets target property for Relative Time filter + * + * ```javascript + * + * const relativeTimeFilterBuilder = new RelativeTimeFilterBuilder().withTarget(tableName, columnName); + * ``` + * + * @param {string} table - Defines the table on which filter will be applied + * @param {string} column - Defines the column on which filter will be applied + * @returns {RelativeTimeFilterBuilder} + */ + withTarget(table: string, column: string): RelativeTimeFilterBuilder { + this.target = { table: table, column: column }; + return this; + } + + /** + * Sets target property for Relative Time filter with target object + * + * ```javascript + * const target = { + * table: 'table1', + * column: 'column1' + * }; + * + * const relativeTimeFilterBuilder = new RelativeTimeFilterBuilder().withTargetObject(target); + * ``` + * + * @param {IFilterTarget} target - Defines the target property + * @returns {RelativeTimeFilterBuilder} + */ + withTargetObject(target: IFilterTarget): RelativeTimeFilterBuilder { + this.target = target; + return this; + } + + /** + * Sets inLast as operator for Relative Time filter + * + * ```javascript + * + * const relativeTimeFilterBuilder = new RelativeTimeFilterBuilder().inLast(timeUnitsCount, timeUnitType); + * ``` + * + * @param {number} timeUnitsCount - The amount of time units + * @param {RelativeDateFilterTimeUnit} timeUnitType - Defines the unit of time the filter is using + * @returns {RelativeTimeFilterBuilder} + */ + inLast(timeUnitsCount: number, timeUnitType: RelativeDateFilterTimeUnit): RelativeTimeFilterBuilder { + this.operator = RelativeDateOperators.InLast; + this.timeUnitsCount = timeUnitsCount; + this.timeUnitType = timeUnitType; + return this; + } + + /** + * Sets inThis as operator for Relative Time filter + * + * ```javascript + * + * const relativeTimeFilterBuilder = new RelativeTimeFilterBuilder().inThis(timeUnitsCount, timeUnitType); + * ``` + * + * @param {number} timeUnitsCount - The amount of time units + * @param {RelativeDateFilterTimeUnit} timeUnitType - Defines the unit of time the filter is using + * @returns {RelativeTimeFilterBuilder} + */ + inThis(timeUnitsCount: number, timeUnitType: RelativeDateFilterTimeUnit): RelativeTimeFilterBuilder { + this.operator = RelativeDateOperators.InThis; + this.timeUnitsCount = timeUnitsCount; + this.timeUnitType = timeUnitType; + return this; + } + + /** + * Sets inNext as operator for Relative Time filter + * + * ```javascript + * + * const relativeTimeFilterBuilder = new RelativeTimeFilterBuilder().orderBy(timeUnitsCount, timeUnitType); + * ``` + * + * @param {number} timeUnitsCount - The amount of time units + * @param {RelativeDateFilterTimeUnit} timeUnitType - Defines the unit of time the filter is using + * @returns {RelativeTimeFilterBuilder} + */ + inNext(timeUnitsCount: number, timeUnitType: RelativeDateFilterTimeUnit): RelativeTimeFilterBuilder { + this.operator = RelativeDateOperators.InNext; + this.timeUnitsCount = timeUnitsCount; + this.timeUnitType = timeUnitType; + return this; + } + + /** + * Creates Relative Time filter + * + * ```javascript + * + * const relativeTimeFilterBuilder = new RelativeTimeFilterBuilder().build(); + * ``` + * + * @returns {RelativeTimeFilter} + */ + build(): RelativeTimeFilter { + const relativeTimeFilter = new RelativeTimeFilter(this.target, this.operator, this.timeUnitsCount, this.timeUnitType); + return relativeTimeFilter; + } +} diff --git a/src/FilterBuilders/topNFilterBuilder.ts b/src/FilterBuilders/topNFilterBuilder.ts new file mode 100644 index 00000000..e8a3b253 --- /dev/null +++ b/src/FilterBuilders/topNFilterBuilder.ts @@ -0,0 +1,122 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. + +import { + IFilterTarget, + ITarget, + TopNFilter, + TopNFilterOperators +} from "powerbi-models"; + +import { IFilterBuilder } from './filterBuilder'; + +/** + * Power BI Top N filter builder component + * + * @export + * @class TopNFilterBuilder + * @implements {IFilterBuilder} + */ +export class TopNFilterBuilder implements IFilterBuilder { + private target: IFilterTarget; + private itemCount: number; + private operator: TopNFilterOperators; + private orderByTarget: ITarget; + + /** + * Sets target property for Top N filter + * + * ```javascript + * + * const topNFilterBuilder = new TopNFilterBuilder().withTarget(tableName, columnName); + * ``` + * + * @returns {TopNFilterBuilder} + */ + withTarget(table: string, column: string): TopNFilterBuilder { + this.target = { table: table, column: column }; + return this; + } + + /** + * Sets target property for Top N filter with target object + * + * ```javascript + * const target = { + * table: 'table1', + * column: 'column1' + * }; + * + * const topNFilterBuilder = new TopNFilterBuilder().withTargetObject(target); + * ``` + * + * @returns {TopNFilterBuilder} + */ + withTargetObject(target: IFilterTarget): TopNFilterBuilder { + this.target = target; + return this; + } + + /** + * Sets Top as operator for Top N filter + * + * ```javascript + * + * const topNFilterBuilder = new TopNFilterBuilder().top(itemCount); + * ``` + * + * @returns {TopNFilterBuilder} + */ + top(itemCount: number): TopNFilterBuilder { + this.operator = "Top"; + this.itemCount = itemCount; + return this; + } + + /** + * Sets Bottom as operator for Top N filter + * + * ```javascript + * + * const topNFilterBuilder = new TopNFilterBuilder().bottom(itemCount); + * ``` + * + * @returns {TopNFilterBuilder} + */ + bottom(itemCount: number): TopNFilterBuilder { + this.operator = "Bottom"; + this.itemCount = itemCount; + return this; + } + + /** + * Sets order by for Top N filter + * + * ```javascript + * + * const topNFilterBuilder = new TopNFilterBuilder().orderBy(table, measure); + * ``` + * + * @returns {TopNFilterBuilder} + */ + orderBy(table: string, measure: string): TopNFilterBuilder { + this.orderByTarget = { table: table, measure: measure }; + return this; + } + + + /** + * Creates Top N filter + * + * ```javascript + * + * const topNFilterBuilder = new TopNFilterBuilder().build(); + * ``` + * + * @returns {TopNFilter} + */ + build(): TopNFilter { + const topNFilter = new TopNFilter(this.target, this.operator, this.itemCount, this.orderByTarget); + return topNFilter; + } +} diff --git a/src/config.ts b/src/config.ts index 587dbe38..b36b8415 100644 --- a/src/config.ts +++ b/src/config.ts @@ -3,7 +3,7 @@ /** @ignore *//** */ const config = { - version: '2.18.1', + version: '2.18.2', type: 'js' }; diff --git a/src/embed.ts b/src/embed.ts index 465c2596..95d46754 100644 --- a/src/embed.ts +++ b/src/embed.ts @@ -2,10 +2,10 @@ // Licensed under the MIT License. import * as models from 'powerbi-models'; -import { addParamToUrl, assign, autoAuthInEmbedUrl, createRandomString, getTimeDiffInMilliseconds, remove } from './util'; -import { Service, IEventHandler, IEvent, ICustomEvent } from './service'; import * as sdkConfig from './config'; import { EmbedUrlNotSupported } from './errors'; +import { ICustomEvent, IEvent, IEventHandler, Service } from './service'; +import { addParamToUrl, assign, autoAuthInEmbedUrl, createRandomString, getTimeDiffInMilliseconds, remove } from './util'; declare global { interface Document { @@ -91,6 +91,15 @@ export abstract class Embed { /** @hidden */ allowedEvents: string[] = []; + /** @hidden */ + protected commands: models.ICommandExtension[]; + + /** @hidden */ + protected initialLayoutType: models.LayoutType; + + /** @hidden */ + groups: models.IMenuGroupExtension[]; + /** * Gets or sets the event handler registered for this embed component. * @@ -215,6 +224,8 @@ export abstract class Embed { this.iframe = iframe; this.iframeLoaded = false; this.embedtype = config.type.toLowerCase(); + this.commands = []; + this.groups = []; this.populateConfig(config, isBootstrap); @@ -505,6 +516,17 @@ export abstract class Embed { this.config.groupId = this.getGroupId(); this.addLocaleToEmbedUrl(config); this.config.uniqueId = this.getUniqueId(); + const extensions = this.config?.settings?.extensions as models.IExtensions; + this.commands = extensions?.commands ?? []; + this.groups = extensions?.groups ?? []; + this.initialLayoutType = this.config?.settings?.layoutType ?? models.LayoutType.Master; + + // Adding commands in extensions array to this.commands + const extensionsArray = this.config?.settings?.extensions as models.IExtension[]; + if (Array.isArray(extensionsArray)) { + this.commands = []; + extensionsArray.map((extension: models.IExtension) => { if (extension?.command) { this.commands.push(extension.command) } }); + } if (isBootstrap) { // save current config in bootstrapConfig to be able to merge it on next call to powerbi.embed diff --git a/src/page.ts b/src/page.ts index 8eaf7ada..ee872cd0 100644 --- a/src/page.ts +++ b/src/page.ts @@ -3,6 +3,7 @@ import { IHttpPostMessageResponse } from 'http-post-message'; import { + CommonErrorCodes, DisplayOption, FiltersOperations, ICustomPageSize, @@ -12,10 +13,12 @@ import { IVisual, LayoutType, PageLevelFilters, - SectionVisibility + PageSizeType, + SectionVisibility, + VisualContainerDisplayMode } from 'powerbi-models'; import { IFilterable } from './ifilterable'; -import { IReportNode } from './report'; +import { IReportNode, Report } from './report'; import { VisualDescriptor } from './visualDescriptor'; import { isRDLEmbed } from './util'; import { APINotSupportedForRDLError } from './errors'; @@ -273,6 +276,142 @@ export class Page implements IPageNode, IFilterable { } } + /** + * Gets a visual by name on the page. + * + * ```javascript + * page.getVisualByName(visualName: string) + * .then(visual => { + * ... + * }); + * ``` + * + * @param {string} visualName + * @returns {Promise} + */ + async getVisualByName(visualName: string): Promise { + if (isRDLEmbed(this.report.config.embedUrl)) { + return Promise.reject(APINotSupportedForRDLError); + } + + try { + const response = await this.report.service.hpm.get(`/report/pages/${this.name}/visuals`, { uid: this.report.config.uniqueId }, this.report.iframe.contentWindow); + const visual = response.body.find((v: IVisual) => v.name === visualName); + if (!visual) { + return Promise.reject(CommonErrorCodes.NotFound); + } + + return new VisualDescriptor(this, visual.name, visual.title, visual.type, visual.layout); + } catch (response) { + throw response.body; + } + } + + /** + * Updates the display state of a visual in a page. + * + * ```javascript + * page.setVisualDisplayState(visualName, displayState) + * .catch(error => { ... }); + * ``` + * + * @param {string} visualName + * @param {VisualContainerDisplayMode} displayState + * @returns {Promise>} + */ + async setVisualDisplayState(visualName: string, displayState: VisualContainerDisplayMode): Promise> { + const pageName = this.name; + const report = this.report as Report; + return report.setVisualDisplayState(pageName, visualName, displayState); + } + + /** + * Updates the position of a visual in a page. + * + * ```javascript + * page.moveVisual(visualName, x, y, z) + * .catch(error => { ... }); + * ``` + * + * @param {string} visualName + * @param {number} x + * @param {number} y + * @param {number} z + * @returns {Promise>} + */ + async moveVisual(visualName: string, x: number, y: number, z?: number): Promise> { + const pageName = this.name; + const report = this.report as Report; + return report.moveVisual(pageName, visualName, x, y, z); + } + + /** + * Resize a visual in a page. + * + * ```javascript + * page.resizeVisual(visualName, width, height) + * .catch(error => { ... }); + * ``` + * + * @param {string} visualName + * @param {number} width + * @param {number} height + * @returns {Promise>} + */ + async resizeVisual(visualName: string, width: number, height: number): Promise> { + const pageName = this.name; + const report = this.report as Report; + return report.resizeVisual(pageName, visualName, width, height); + } + + /** + * Updates the size of active page. + * + * ```javascript + * page.resizePage(pageSizeType, width, height) + * .catch(error => { ... }); + * ``` + * + * @param {PageSizeType} pageSizeType + * @param {number} width + * @param {number} height + * @returns {Promise>} + */ + async resizePage(pageSizeType: PageSizeType, width?: number, height?: number): Promise> { + if (!this.isActive) { + return Promise.reject('Cannot resize the page. Only the active page can be resized'); + } + const report = this.report as Report; + return report.resizePage(pageSizeType, width, height); + } + + /** + * Gets the list of slicer visuals on the page. + * + * ```javascript + * page.getSlicers() + * .then(slicers => { + * ... + * }); + * ``` + * + * @returns {Promise} + */ + async getSlicers(): Promise { + if (isRDLEmbed(this.report.config.embedUrl)) { + return Promise.reject(APINotSupportedForRDLError); + } + + try { + const response = await this.report.service.hpm.get(`/report/pages/${this.name}/visuals`, { uid: this.report.config.uniqueId }, this.report.iframe.contentWindow); + return response.body + .filter((visual: IVisual) => visual.type === 'slicer') + .map((visual: IVisual) => new VisualDescriptor(this, visual.name, visual.title, visual.type, visual.layout)); + } catch (response) { + throw response.body; + } + } + /** * Checks if page has layout. * diff --git a/src/powerbi-client.ts b/src/powerbi-client.ts index a2c1e662..bcaf2f21 100644 --- a/src/powerbi-client.ts +++ b/src/powerbi-client.ts @@ -48,6 +48,13 @@ export { export { VisualDescriptor } from './visualDescriptor'; +export { + BasicFilterBuilder, + AdvancedFilterBuilder, + TopNFilterBuilder, + RelativeDateFilterBuilder, + RelativeTimeFilterBuilder +} from './FilterBuilders'; declare var powerbi: service.Service; declare global { diff --git a/src/report.ts b/src/report.ts index 076d4ebc..3fafe196 100644 --- a/src/report.ts +++ b/src/report.ts @@ -18,7 +18,18 @@ import { ViewMode, IEmbedConfiguration, IEmbedConfigurationBase, - ReportLevelFilters + CommonErrorCodes, + ReportLevelFilters, + MenuLocation, + ICommandExtension, + IExtensions, + IFlatMenuExtension, + IGroupedMenuExtension, + IExtension, + IVisualLayout, + ICustomPageSize, + PageSizeType, + VisualContainerDisplayMode } from 'powerbi-models'; import { IHttpPostMessageResponse } from 'http-post-message'; import { IService, Service } from './service'; @@ -28,6 +39,7 @@ import { APINotSupportedForRDLError } from './errors'; import { IFilterable } from './ifilterable'; import { Page } from './page'; import { BookmarksManager } from './bookmarksManager'; +import { VisualDescriptor } from './visualDescriptor'; /** * A Report node within a report hierarchy @@ -337,6 +349,80 @@ export class Report extends Embed implements IReportNode, IFilterable { } } + /** + * Gets a report page by its name. + * + * ```javascript + * report.getPageByName(pageName) + * .then(page => { + * ... + * }); + * ``` + * + * @param {string} pageName + * @returns {Promise} + */ + async getPageByName(pageName: string): Promise { + if (isRDLEmbed(this.config.embedUrl)) { + return Promise.reject(APINotSupportedForRDLError); + } + + try { + const response = await this.service.hpm.get(`/report/pages`, { uid: this.config.uniqueId }, this.iframe.contentWindow); + const page = response.body.find((p: IPage) => p.name === pageName); + + if (!page) { + return Promise.reject(CommonErrorCodes.NotFound); + } + + return new Page( + this, + page.name, + page.displayName, + page.isActive, + page.visibility, + page.defaultSize, + page.defaultDisplayOption + ); + } catch (response) { + throw response.body; + } + } + + /** + * Gets the active report page. + * + * ```javascript + * report.getActivePage() + * .then(activePage => { + * ... + * }); + * ``` + * + * @returns {Promise} + */ + async getActivePage(): Promise { + if (isRDLEmbed(this.config.embedUrl)) { + return Promise.reject(APINotSupportedForRDLError); + } + try { + const response = await this.service.hpm.get('/report/pages', { uid: this.config.uniqueId }, this.iframe.contentWindow); + const activePage = response.body.find((page: IPage) => page.isActive); + + return new Page( + this, + activePage.name, + activePage.displayName, + activePage.isActive, + activePage.visibility, + activePage.defaultSize, + activePage.defaultDisplayOption + ); + } catch (response) { + throw response.body; + } + } + /** * Creates an instance of a Page. * @@ -426,7 +512,21 @@ export class Report extends Embed implements IReportNode, IFilterable { } try { - return await this.service.hpm.patch('/report/settings', settings, { uid: this.config.uniqueId }, this.iframe.contentWindow); + const response = await this.service.hpm.patch('/report/settings', settings, { uid: this.config.uniqueId }, this.iframe.contentWindow); + + // Update commands if provided + const extension = settings?.extensions as IExtensions; + this.commands = extension?.commands ?? this.commands; + this.groups = extension?.groups ?? this.groups; + + // Adding commands in extensions array to this.commands + const extensionsArray = settings?.extensions as IExtension[]; + if (Array.isArray(extensionsArray)) { + this.commands = []; + extensionsArray.map((extensionElement: IExtension) => { if (extensionElement?.command) { this.commands.push(extensionElement.command); } }); + } + + return response; } catch (response) { throw response.body; } @@ -617,6 +717,364 @@ export class Report extends Embed implements IReportNode, IFilterable { } } + /** + * Remove context menu extension command. + * + * ```javascript + * report.removeContextMenuCommand(commandName, contextMenuTitle) + * .catch(error => { + * ... + * }); + * ``` + * + * @param {string} commandName + * @param {string} contextMenuTitle + * @returns {Promise>} + */ + async removeContextMenuCommand(commandName: string, contextMenuTitle: string): Promise> { + if (isRDLEmbed(this.config.embedUrl)) { + return Promise.reject(APINotSupportedForRDLError); + } + + const commandCopy: ICommandExtension[] = JSON.parse(JSON.stringify(this.commands)); + const indexOfCommand: number = this.findCommandMenuIndex("visualContextMenu", commandCopy, commandName, contextMenuTitle); + if (indexOfCommand === -1) { + throw CommonErrorCodes.NotFound; + } + + // Delete the context menu and not the entire command, since command can have option menu as well. + delete commandCopy[indexOfCommand].extend.visualContextMenu; + const newSetting: ISettings = { + extensions: { + commands: commandCopy, + groups: this.groups + } + }; + return await this.updateSettings(newSetting); + } + + /** + * Add context menu extension command. + * + * ```javascript + * report.addContextMenuCommand(commandName, commandTitle, contextMenuTitle, menuLocation, visualName, visualType, groupName) + * .catch(error => { + * ... + * }); + * ``` + * + * @param {string} commandName + * @param {string} commandTitle + * @param {string} contextMenuTitle + * @param {MenuLocation} menuLocation + * @param {string} visualName + * @param {string} visualType + * @param {string} groupName + * @returns {Promise>} + */ + async addContextMenuCommand(commandName: string, commandTitle: string, contextMenuTitle: string = commandTitle, menuLocation: MenuLocation = MenuLocation.Bottom, visualName: string = undefined, visualType: string, groupName: string = undefined): Promise> { + if (isRDLEmbed(this.config.embedUrl)) { + return Promise.reject(APINotSupportedForRDLError); + } + + const newCommands: ICommandExtension[] = this.createMenuCommand("visualContextMenu", commandName, commandTitle, contextMenuTitle, menuLocation, visualName, visualType, groupName); + const newSetting: ISettings = { + extensions: { + commands: newCommands, + groups: this.groups + } + }; + return await this.updateSettings(newSetting); + } + + /** + * Remove options menu extension command. + * + * ```javascript + * report.removeOptionsMenuCommand(commandName, optionsMenuTitle) + * .then({ + * ... + * }); + * ``` + * + * @param {string} commandName + * @param {string} optionsMenuTitle + * @returns {Promise>} + */ + async removeOptionsMenuCommand(commandName: string, optionsMenuTitle: string): Promise> { + if (isRDLEmbed(this.config.embedUrl)) { + return Promise.reject(APINotSupportedForRDLError); + } + + const commandCopy: ICommandExtension[] = JSON.parse(JSON.stringify(this.commands)); + const indexOfCommand: number = this.findCommandMenuIndex("visualOptionsMenu", commandCopy, commandName, optionsMenuTitle); + + if (indexOfCommand === -1) { + throw CommonErrorCodes.NotFound; + } + + // Delete the context options and not the entire command, since command can have context menu as well. + delete commandCopy[indexOfCommand].extend.visualOptionsMenu; + delete commandCopy[indexOfCommand].icon; + const newSetting: ISettings = { + extensions: { + commands: commandCopy, + groups: this.groups + } + }; + return await this.updateSettings(newSetting); + } + + /** + * Add options menu extension command. + * + * ```javascript + * report.addOptionsMenuCommand(commandName, commandTitle, optionsMenuTitle, menuLocation, visualName, visualType, groupName, commandIcon) + * .catch(error => { + * ... + * }); + * ``` + * + * @param {string} commandName + * @param {string} commandTitle + * @param {string} optionMenuTitle + * @param {MenuLocation} menuLocation + * @param {string} visualName + * @param {string} visualType + * @param {string} groupName + * @param {string} commandIcon + * @returns {Promise>} + */ + async addOptionsMenuCommand(commandName: string, commandTitle: string, optionsMenuTitle: string = commandTitle, menuLocation: MenuLocation = MenuLocation.Bottom, visualName: string = undefined, visualType: string = undefined, groupName: string = undefined, commandIcon: string = undefined): Promise> { + if (isRDLEmbed(this.config.embedUrl)) { + return Promise.reject(APINotSupportedForRDLError); + } + + const newCommands: ICommandExtension[] = this.createMenuCommand("visualOptionsMenu", commandName, commandTitle, optionsMenuTitle, menuLocation, visualName, visualType, groupName, commandIcon); + const newSetting: ISettings = { + extensions: { + commands: newCommands, + groups: this.groups + } + }; + return await this.updateSettings(newSetting); + } + + /** + * Updates the display state of a visual in a page. + * + * ```javascript + * report.setVisualDisplayState(pageName, visualName, displayState) + * .catch(error => { ... }); + * ``` + * + * @param {string} pageName + * @param {string} visualName + * @param {VisualContainerDisplayMode} displayState + * @returns {Promise>} + */ + async setVisualDisplayState(pageName: string, visualName: string, displayState: VisualContainerDisplayMode): Promise> { + // Check if page name and visual name are valid + await this.validateVisual(pageName, visualName); + const visualLayout: IVisualLayout = { + displayState: { + mode: displayState + } + }; + + // Get new Settings object with updated visual layout + const newSettings = this.buildLayoutSettingsObject(pageName, visualName, visualLayout); + return this.updateSettings(newSettings); + } + + /** + * Resize a visual in a page. + * + * ```javascript + * report.resizeVisual(pageName, visualName, width, height) + * .catch(error => { ... }); + * ``` + * + * @param {string} pageName + * @param {string} visualName + * @param {number} width + * @param {number} height + * @returns {Promise>} + */ + async resizeVisual(pageName: string, visualName: string, width: number, height: number): Promise> { + // Check if page name and visual name are valid + await this.validateVisual(pageName, visualName); + const visualLayout: IVisualLayout = { + width: width, + height: height, + }; + + // Get new Settings object with updated visual layout + const newSettings = this.buildLayoutSettingsObject(pageName, visualName, visualLayout); + return this.updateSettings(newSettings); + } + + /** + * Updates the size of active page in report. + * + * ```javascript + * report.resizePage(pageSizeType, width, height) + * .catch(error => { ... }); + * ``` + * + * @param {PageSizeType} pageSizeType + * @param {number} width + * @param {number} height + * @returns {Promise>} + */ + async resizePage(pageSizeType: PageSizeType, width?: number, height?: number): Promise> { + const pageSize: ICustomPageSize = { + type: pageSizeType, + width: width, + height: height + }; + + // Create new settings object with custom layout type + const newSettings: ISettings = { + layoutType: LayoutType.Custom, + customLayout: { + pageSize: pageSize + } + }; + return this.updateSettings(newSettings); + } + + /** + * Updates the position of a visual in a page. + * + * ```javascript + * report.moveVisual(pageName, visualName, x, y, z) + * .catch(error => { ... }); + * ``` + * + * @param {string} pageName + * @param {string} visualName + * @param {number} x + * @param {number} y + * @param {number} z + * @returns {Promise>} + */ + async moveVisual(pageName: string, visualName: string, x: number, y: number, z?: number): Promise> { + // Check if page name and visual name are valid + await this.validateVisual(pageName, visualName); + const visualLayout: IVisualLayout = { + x: x, + y: y, + z: z + }; + + // Get new Settings object with updated visual layout + const newSettings = this.buildLayoutSettingsObject(pageName, visualName, visualLayout); + return this.updateSettings(newSettings); + } + + /** + * Updates the report layout + * + * ```javascript + * report.switchLayout(layoutType); + * ``` + * + * @param {LayoutType} layoutType + * @returns {Promise>} + */ + async switchLayout(layoutType: LayoutType): Promise> { + const isInitialMobileSettings = this.isMobileSettings({ layoutType: this.initialLayoutType }); + const isPassedMobileSettings = this.isMobileSettings({ layoutType: layoutType }); + + // Check if both passed layout and initial layout are of same type. + if (isInitialMobileSettings !== isPassedMobileSettings) { + throw "Switching between mobile and desktop layouts is not supported. Please reset the embed container and re-embed with required layout."; + } + + const newSetting: ISettings = { + layoutType: layoutType + }; + const response = await this.updateSettings(newSetting); + this.initialLayoutType = layoutType; + return response; + } + + /** + * @hidden + */ + private createMenuCommand(type: string, commandName: string, commandTitle: string, menuTitle: string, menuLocation: MenuLocation, visualName: string, visualType: string, groupName: string, icon?: string): ICommandExtension[] { + const newCommandObj: ICommandExtension = { + name: commandName, + title: commandTitle, + extend: { + } + }; + + newCommandObj.extend[type] = { + title: menuTitle, + menuLocation: menuLocation, + }; + if (type === "visualOptionsMenu") { + newCommandObj.icon = icon; + } + if (groupName) { + const extend = newCommandObj.extend[type] as IFlatMenuExtension; + delete extend.menuLocation; + const groupExtend = newCommandObj.extend[type] as IGroupedMenuExtension; + groupExtend.groupName = groupName; + } + if (visualName) { + newCommandObj.selector = { + $schema: "http://powerbi.com/product/schema#visualSelector", + visualName: visualName + }; + } + if (visualType) { + newCommandObj.selector = { + $schema: "http://powerbi.com/product/schema#visualTypeSelector", + visualType: visualType + }; + } + return [...this.commands, newCommandObj]; + } + + /** + * @hidden + */ + private findCommandMenuIndex(type: string, commands: ICommandExtension[], commandName: string, menuTitle: string): number { + let indexOfCommand = -1; + commands.some((activeMenuCommand, index) => + (activeMenuCommand.name === commandName && activeMenuCommand.extend[type] && activeMenuCommand.extend[type].title === menuTitle) ? (indexOfCommand = index, true) : false); + return indexOfCommand; + } + + /** + * @hidden + */ + private buildLayoutSettingsObject(pageName: string, visualName: string, visualLayout: IVisualLayout): ISettings { + // Create new settings object with custom layout type + const newSettings: ISettings = { + layoutType: LayoutType.Custom, + customLayout: { + pagesLayout: {} + } + }; + newSettings.customLayout.pagesLayout[pageName] = { + visualsLayout: {} + }; + newSettings.customLayout.pagesLayout[pageName].visualsLayout[visualName] = visualLayout; + return newSettings; + } + + /** + * @hidden + */ + private async validateVisual(pageName: string, visualName: string): Promise { + const page = await this.getPageByName(pageName); + return await page.getVisualByName(visualName); + } + /** * @hidden */ diff --git a/src/visualDescriptor.ts b/src/visualDescriptor.ts index ed1315e3..27f3c1e3 100644 --- a/src/visualDescriptor.ts +++ b/src/visualDescriptor.ts @@ -13,11 +13,13 @@ import { ISortByVisualRequest, IUpdateFiltersRequest, IVisualLayout, + VisualContainerDisplayMode, VisualLevelFilters } from 'powerbi-models'; import { IHttpPostMessageResponse } from 'http-post-message'; import { IFilterable } from './ifilterable'; import { IPageNode } from './page'; +import { Report } from './report'; /** * A Visual node within a report hierarchy @@ -258,4 +260,63 @@ export class VisualDescriptor implements IVisualNode, IFilterable { throw response.body; } } + + /** + * Updates the position of a visual. + * + * ```javascript + * visual.moveVisual(x, y, z) + * .catch(error => { ... }); + * ``` + * + * @param {number} x + * @param {number} y + * @param {number} z + * @returns {Promise>} + */ + async moveVisual(x: number, y: number, z?: number): Promise> { + const pageName = this.page.name; + const visualName = this.name; + const report = this.page.report as Report; + return report.moveVisual(pageName, visualName, x, y, z); + } + + /** + * Updates the display state of a visual. + * + * ```javascript + * visual.setVisualDisplayState(displayState) + * .catch(error => { ... }); + * ``` + * + * @param {VisualContainerDisplayMode} displayState + * @returns {Promise>} + */ + async setVisualDisplayState(displayState: VisualContainerDisplayMode): Promise> { + const pageName = this.page.name; + const visualName = this.name; + const report = this.page.report as Report; + + return report.setVisualDisplayState(pageName, visualName, displayState); + } + + /** + * Resize a visual. + * + * ```javascript + * visual.resizeVisual(width, height) + * .catch(error => { ... }); + * ``` + * + * @param {number} width + * @param {number} height + * @returns {Promise>} + */ + async resizeVisual(width: number, height: number): Promise> { + const pageName = this.page.name; + const visualName = this.name; + const report = this.page.report as Report; + + return report.resizeVisual(pageName, visualName, width, height); + } } diff --git a/test/filterBuilders.spec.ts b/test/filterBuilders.spec.ts new file mode 100644 index 00000000..7ad03c20 --- /dev/null +++ b/test/filterBuilders.spec.ts @@ -0,0 +1,245 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. + +import { BasicFilterBuilder, AdvancedFilterBuilder, TopNFilterBuilder, RelativeDateFilterBuilder, RelativeTimeFilterBuilder } from '../src/FilterBuilders'; +import * as models from 'powerbi-models'; + +describe('filter builders', function () { + const target: models.IFilterTarget = { + table: 'table1', + column: 'column1' + }; + describe('Basic filter builder', function () { + it('validates Basic filter', function () { + // Arrange + const values = [1, 2, 3]; + const operator: models.BasicFilterOperators = 'In'; + const basicFilter: models.BasicFilter = new models.BasicFilter(target, operator, values); + basicFilter.requireSingleSelection = false; + + // Act + const basicFilterWithBuilder: models.BasicFilter = new BasicFilterBuilder() + .withTarget(target.table, target.column) + .in(values) + .build(); + + // Assert + expect(basicFilterWithBuilder).toBeDefined(); + expect(basicFilterWithBuilder).toEqual(basicFilter); + }); + + it('validates Basic filter with target object', function () { + // Arrange + const values = [1, 2, 3]; + const operator: models.BasicFilterOperators = 'In'; + const basicFilter: models.BasicFilter = new models.BasicFilter(target, operator, values); + basicFilter.requireSingleSelection = false; + + // Act + const basicFilterWithBuilder: models.BasicFilter = new BasicFilterBuilder() + .withTargetObject(target) + .in(values) + .build(); + + // Assert + expect(basicFilterWithBuilder).toBeDefined(); + expect(basicFilterWithBuilder).toEqual(basicFilter); + }); + }); + + describe('Advanced filter builder', function () { + it('validates Advanced filter', function () { + // Arrange + const logicalOperator: models.AdvancedFilterLogicalOperators = 'And'; + const conditions: models.IAdvancedFilterCondition[] = [ + { + operator: 'Contains', + value: 'value1' + }, + { + operator: 'Contains', + value: 'value2' + } + ]; + const advancedFilter: models.AdvancedFilter = new models.AdvancedFilter(target, logicalOperator, conditions); + + // Act + const advancedFilterWithBuilder: models.AdvancedFilter = new AdvancedFilterBuilder() + .withTarget(target.table, target.column) + .addCondition(conditions[0].operator, conditions[0].value) + .and() + .addCondition(conditions[1].operator, conditions[1].value) + .build(); + + // Assert + expect(advancedFilterWithBuilder).toBeDefined(); + expect(advancedFilterWithBuilder).toEqual(advancedFilter); + }); + + it('validates Advanced filter with target object', function () { + // Arrange + const logicalOperator: models.AdvancedFilterLogicalOperators = 'And'; + const conditions: models.IAdvancedFilterCondition[] = [ + { + operator: 'Contains', + value: 'value1' + }, + { + operator: 'Contains', + value: 'value2' + } + ]; + const advancedFilter: models.AdvancedFilter = new models.AdvancedFilter(target, logicalOperator, conditions); + + // Act + const advancedFilterWithBuilder: models.AdvancedFilter = new AdvancedFilterBuilder() + .withTargetObject(target) + .addCondition(conditions[0].operator, conditions[0].value) + .and() + .addCondition(conditions[1].operator, conditions[1].value) + .build(); + + // Assert + expect(advancedFilterWithBuilder).toBeDefined(); + expect(advancedFilterWithBuilder).toEqual(advancedFilter); + }); + + it('build method of Advanced filter builder throws error if conditions are not provided', function () { + // Arrange + const advancedFilterBuilder: AdvancedFilterBuilder = new AdvancedFilterBuilder() + .withTarget(target.table, target.column) + .and(); + + // Act + const attemptBuild = () => { + advancedFilterBuilder.build(); + }; + + // Assert + expect(attemptBuild).toThrowError(Error); + }); + }); + + describe('TopN filter builder', function () { + const orderByTarget: models.ITarget = { + table: 'table1', + measure: 'measure1' + }; + it('validates TopN filter', function () { + // Arrange + const operator: models.TopNFilterOperators = 'Top'; + const itemCount = 10; + const topNFilter: models.TopNFilter = new models.TopNFilter(target, operator, itemCount, orderByTarget); + + // Act + const topNFilterWithBuilder: models.TopNFilter = new TopNFilterBuilder() + .withTarget(target.table, target.column) + .top(itemCount) + .orderBy(orderByTarget.table, orderByTarget.measure) + .build(); + + // Assert + expect(topNFilterWithBuilder).toBeDefined(); + expect(topNFilterWithBuilder).toEqual(topNFilter); + }); + + it('validates TopN filter with target object', function () { + // Arrange + const operator: models.TopNFilterOperators = 'Top'; + const itemCount = 10; + const topNFilter: models.TopNFilter = new models.TopNFilter(target, operator, itemCount, orderByTarget); + + // Act + const topNFilterWithBuilder: models.TopNFilter = new TopNFilterBuilder() + .withTargetObject(target) + .top(itemCount) + .orderBy(orderByTarget.table, orderByTarget.measure) + .build(); + + // Assert + expect(topNFilterWithBuilder).toBeDefined(); + expect(topNFilterWithBuilder).toEqual(topNFilter); + }); + }); + + describe("Realtive date filter builder", function () { + it("validates relative date filter", function () { + // Arrange + const operator: models.RelativeDateOperators = models.RelativeDateOperators.InLast; + const timeUnitsCount = 10; + const timeUnitType = models.RelativeDateFilterTimeUnit.Days; + const includeToday = true; + const relativeDateFilter: models.RelativeDateFilter = new models.RelativeDateFilter(target, operator, timeUnitsCount, timeUnitType, includeToday); + + // Act + const relativeDateFilterWithBuilder: models.RelativeDateFilter = new RelativeDateFilterBuilder() + .withTarget(target.table, target.column) + .inLast(timeUnitsCount, timeUnitType) + .build(); + + // Assert + expect(relativeDateFilterWithBuilder).toBeDefined(); + expect(relativeDateFilterWithBuilder).toEqual(relativeDateFilter); + }); + + it('validates relative date with target object', function () { + // Arrange + const operator: models.RelativeDateOperators = models.RelativeDateOperators.InLast; + const timeUnitsCount = 10; + const timeUnitType = models.RelativeDateFilterTimeUnit.Days; + const includeToday = true; + const relativeDateFilter: models.RelativeDateFilter = new models.RelativeDateFilter(target, operator, timeUnitsCount, timeUnitType, includeToday); + + + // Act + const relativeDateFilterWithBuilder: models.RelativeDateFilter = new RelativeDateFilterBuilder() + .withTargetObject(target) + .inLast(timeUnitsCount, timeUnitType) + .includeToday(true) + .build(); + + // Assert + expect(relativeDateFilterWithBuilder).toBeDefined(); + expect(relativeDateFilterWithBuilder).toEqual(relativeDateFilter); + }); + }); + + describe("Realtive time filter builder", function () { + it("validates time filter", function () { + // Arrange + const operator: models.RelativeDateOperators = models.RelativeDateOperators.InLast; + const timeUnitsCount = 10; + const timeUnitType = models.RelativeDateFilterTimeUnit.Hours; + const relativeTimeFilter: models.RelativeTimeFilter = new models.RelativeTimeFilter(target, operator, timeUnitsCount, timeUnitType); + + // Act + const relativeTimeFilterWithBuilder: models.RelativeTimeFilter = new RelativeTimeFilterBuilder() + .withTarget(target.table, target.column) + .inLast(timeUnitsCount, timeUnitType) + .build(); + + // Assert + expect(relativeTimeFilterWithBuilder).toBeDefined(); + expect(relativeTimeFilterWithBuilder).toEqual(relativeTimeFilter); + }); + + it('validates time with target object', function () { + // Arrange + const operator: models.RelativeDateOperators = models.RelativeDateOperators.InLast; + const timeUnitsCount = 10; + const timeUnitType = models.RelativeDateFilterTimeUnit.Hours; + const relativeTimeFilter: models.RelativeTimeFilter = new models.RelativeTimeFilter(target, operator, timeUnitsCount, timeUnitType); + + + // Act + const relativeTimeFilterWithBuilder: models.RelativeTimeFilter = new RelativeTimeFilterBuilder() + .withTargetObject(target) + .inLast(timeUnitsCount, timeUnitType) + .build(); + + // Assert + expect(relativeTimeFilterWithBuilder).toBeDefined(); + expect(relativeTimeFilterWithBuilder).toEqual(relativeTimeFilter); + }); + }); +}); \ No newline at end of file diff --git a/test/test.spec.ts b/test/test.spec.ts index cfe285d5..4d1b9925 100644 --- a/test/test.spec.ts +++ b/test/test.spec.ts @@ -21,7 +21,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' +import { APINotSupportedForRDLError, EmbedUrlNotSupported } from '../src/errors' // Avoid adding new tests to this file, create another spec file instead. @@ -3270,6 +3270,145 @@ describe('SDK-to-HPM', function () { }); }); + it('report.getPageByName() returns promise that rejects if report page with given page name not found', function (done) { + // Arrange + const pageName = 'page1'; + const testData = { + expectedError: { + body: { + message: 'page not found' + } + } + }; + + spyHpm.get.and.returnValue(Promise.reject(testData.expectedError)); + + // Act + report.getPageByName(pageName) + .catch(error => { + // Assert + expect(spyHpm.get).toHaveBeenCalledWith('/report/pages', { uid: uniqueId }, iframe.contentWindow); + expect(error).toEqual(testData.expectedError.body); + done(); + }); + }); + + it('report.getPageByName(pageName) returns promise that resolves with page if request is successful', function (done) { + // Arrange + const pageName = "page1"; + const testData = { + expectedResponse: + { + report: report, + name: "page1", + displayName: "Page 1", + isActive: true + } + }; + + spyApp.getPageByName.and.returnValue(Promise.resolve(testData.expectedResponse)); + + // Act + spyApp.getPageByName(pageName) + .then(page => { + // Assert + expect(spyApp.getPageByName).toHaveBeenCalled(); + expect(page.name).toEqual(testData.expectedResponse.name); + expect(page.isActive).toEqual(testData.expectedResponse.isActive); + done(); + }); + }); + + it('report.getActivePage() sends GET /report/pages', function () { + // Arrange + const testData = { + response: { + body: [ + { + name: 'page1' + } + ] + } + }; + + spyHpm.get.and.returnValue(Promise.resolve(testData.response)); + + // Act + report.getActivePage(); + + // Assert + expect(spyHpm.get).toHaveBeenCalledWith('/report/pages', { uid: uniqueId }, iframe.contentWindow); + }); + + it('report.getActivePage() return promise that rejects with server error if there was error getting active page', function (done) { + // Arrange + const testData = { + expectedError: { + body: { + message: 'internal server error' + } + } + }; + + spyHpm.get.and.returnValue(Promise.reject(testData.expectedError)); + + // Act + report.getActivePage() + .catch(error => { + // Assert + expect(spyHpm.get).toHaveBeenCalledWith('/report/pages', { uid: uniqueId }, iframe.contentWindow); + expect(error).toEqual(testData.expectedError.body); + done(); + }); + }); + + it('report.getActivePage() return promise that rejects if embedded report is an RDL report', function (done) { + // Arrange + const testData = { + expectedError: { + body: { + message: APINotSupportedForRDLError + } + } + }; + + spyHpm.get.and.returnValue(Promise.reject(testData.expectedError)); + + // Act + report.getActivePage() + .catch(error => { + // Assert + expect(spyHpm.get).toHaveBeenCalledWith('/report/pages', { uid: uniqueId }, iframe.contentWindow); + expect(error).toEqual(testData.expectedError.body); + done(); + }); + }); + + it('report.getActivePage() returns promise that resolves with a page if request is successful', function (done) { + // Arrange + const testData = { + expectedResponse: + { + report: report, + name: "page1", + displayName: "Page 1", + isActive: true + } + }; + + spyApp.getActivePage.and.returnValue(Promise.resolve(testData.expectedResponse)); + + // Act + spyApp.getActivePage() + .then(page => { + // Assert + expect(spyApp.getActivePage).toHaveBeenCalled(); + expect(page.name).toEqual(testData.expectedResponse.name); + expect(page.isActive).toEqual(testData.expectedResponse.isActive); + done(); + }); + }); + it('report.addPage() sends POST /report/addPage with displayName', function () { // Arrange const displayName = "testName"; @@ -3539,6 +3678,54 @@ describe('SDK-to-HPM', function () { }); }); + describe('switchLayout', function () { + it('report.switchLayout(layout) returns promise that rejects with errors if there was error if initial layout and current layout type do not match', function (done) { + // Arrange + // Set initial layout to desktop layout + report.config.settings.layoutType = models.LayoutType.Master; + + const layoutType = models.LayoutType.MobileLandscape; + const testData = { + expectedError: { + message: 'Switching between mobile and desktop layouts is not supported. Please reset the embed container and re-embed with required layout.' + }, + settings: { + layoutType: layoutType + } + }; + + spyHpm.patch.and.returnValues(Promise.reject(testData.expectedError)); + + // Act + report.switchLayout(layoutType) + .catch(error => { + // Assert + expect(spyHpm.patch).not.toHaveBeenCalledWith('/report/settings', testData.settings, { uid: uniqueId }, iframe.contentWindow); + expect(error).toEqual(testData.expectedError.message); + done(); + }); + }); + + it('report.switchLayout(layout) returns promise that resolves with null if requst is valid and accepted', function (done) { + // Arrange + // Set initial layout to mobile layout + report.config.settings.layoutType = models.LayoutType.MobilePortrait; + + const layoutType = models.LayoutType.MobileLandscape; + + spyApp.switchLayout.and.returnValue(Promise.resolve(null)); + + // Act + spyApp.switchLayout(layoutType) + .then(response => { + // Assert + expect(spyApp.switchLayout).toHaveBeenCalled(); + expect(response).toEqual(null); + done(); + }); + }); + }); + describe('saveAs', function () { let saveAsParameters: models.ISaveAsParameters = { name: "reportName" }; @@ -3753,156 +3940,558 @@ describe('SDK-to-HPM', function () { done() }); }); - }); - }); - - describe('create', function () { - describe('createReport', function () { - it('create.createReport() sends POST /report/create with configuration in body', function () { - // Arrange - const testData = { - createConfiguration: { - datasetId: 'fakeId', - accessToken: 'fakeToken' - }, - response: { - body: null - } - }; - - spyHpm.post.and.returnValue(Promise.resolve(testData.response)); - - // Act - create.createReport(testData.createConfiguration); - - // Assert - expect(spyHpm.post).toHaveBeenCalledWith('/report/create', testData.createConfiguration, { uid: createUniqueId, sdkSessionId: sdkSessionId }, createIframe.contentWindow); - }); - it('create.createReport() returns promise that rejects with validation error if the create configuration is invalid', function (done) { + it('report.addContextMenuCommand(commandName, commandTitle, contextMenuTitle) returns promise that rejects with validation errors if extensions property is invalid', function (done) { // Arrange + const commandName = "name1"; + const commandTitle = "title1"; + const contextMenuTitle = "menu1"; const testData = { - createConfiguration: { - datasetId: 'fakeId', - accessToken: 'fakeToken' + expectedError: { + body: [ + { + message: 'extensions property is invalid' + } + ] }, - errorResponse: { - body: { - message: "invalid configuration object" + settings: { + extensions: { + commands: [{ + name: "name1", + title: "title1", + extend: { + visualContextMenu: { + title: contextMenuTitle, + menuLocation: 0 + } + } + }], + groups: [] } } }; - spyHpm.post.and.returnValue(Promise.reject(testData.errorResponse)); + spyHpm.patch.and.returnValues(Promise.reject(testData.expectedError)); // Act - create.createReport(testData.createConfiguration) + report.addContextMenuCommand(commandName, commandTitle, contextMenuTitle, 0, "", "", "") .catch(error => { - expect(spyHpm.post).toHaveBeenCalledWith('/report/create', testData.createConfiguration, { uid: createUniqueId, sdkSessionId: sdkSessionId }, createIframe.contentWindow); - expect(error).toEqual(testData.errorResponse.body); // Assert + expect(spyHpm.patch).toHaveBeenCalledWith('/report/settings', testData.settings, { uid: uniqueId }, iframe.contentWindow); + expect(error).toEqual(jasmine.objectContaining(testData.expectedError.body)); done(); }); }); - it('create.createReport() returns promise that resolves with null if create report was successful', function (done) { + it('report.addContextMenuCommand(commandName, commandTitle, contextMenuTitle) returns promise that resolves with null if requst is valid and accepted', function (done) { // Arrange - const testData = { - createConfiguration: { - datasetId: 'fakeId', - accessToken: 'fakeToken' - }, - response: { - body: null - } - }; + const commandName = "name2"; + const commandTitle = "title2"; + const contextMenuTitle = "menu2"; - spyHpm.post.and.returnValue(Promise.resolve(testData.response)); + spyApp.addContextMenuCommand.and.returnValue(Promise.resolve(null)); // Act - create.createReport(testData.createConfiguration) + spyApp.addContextMenuCommand(commandName, commandTitle, contextMenuTitle) .then(response => { - expect(spyHpm.post).toHaveBeenCalledWith('/report/create', testData.createConfiguration, { uid: createUniqueId, sdkSessionId: sdkSessionId }, createIframe.contentWindow); - expect(response).toEqual(null); // Assert + expect(spyApp.addContextMenuCommand).toHaveBeenCalled(); + expect(response).toEqual(null); done(); }); }); - }); - }); - describe('dashboard', function () { - describe('load', function () { - it('dashboard.load() sends POST /dashboard/load with configuration in body', function () { + it('report.addOptionsMenuCommand(commandName, commandTitle, optionsMenuTitle) returns promise that rejects with validation errors if extensions property is invalid', function (done) { // Arrange + const commandName = "name1"; + const commandTitle = "title1"; + const optionsMenuTitle = "menu1"; const testData = { - loadConfiguration: { - id: 'fakeId', - accessToken: 'fakeToken', - type: 'dashboard' + expectedError: { + body: [ + { + message: 'extensions property is invalid' + } + ] }, - response: { - body: null + settings: { + extensions: { + commands: [{ + name: "name1", + title: "title1", + extend: { + visualOptionsMenu: { + title: "menu1", + menuLocation: 0, + } + }, + icon: undefined + }], + groups: [] + } } }; - spyHpm.post.and.returnValue(Promise.resolve(testData.response)); + spyHpm.patch.and.returnValues(Promise.reject(testData.expectedError)); // Act - let expectedConfiguration = utils.assign({}, dashboard.config, testData.loadConfiguration); - dashboard.config = expectedConfiguration; - dashboard.load(); - - const expectedHeaders = { - bootstrapped: undefined, - sdkVersion: sdkConfig.default.version, - uid: dashboardUniqueId, - sdkSessionId: sdkSessionId - }; - - // Assert - expect(spyHpm.post).toHaveBeenCalledWith('/dashboard/load', expectedConfiguration, expectedHeaders, dashboardIframe.contentWindow); + report.addOptionsMenuCommand(commandName, commandTitle, optionsMenuTitle) + .catch(error => { + // Assert + expect(spyHpm.patch).toHaveBeenCalledWith('/report/settings', testData.settings, { uid: uniqueId }, iframe.contentWindow); + expect(error).toEqual(jasmine.objectContaining(testData.expectedError.body)); + done(); + }); }); - }); - }); - describe('page', function () { - describe('filters', function () { - it('page.getFilters() sends GET /report/pages/xyz/filters', function () { + it('report.addOptionsMenuCommand(commandName, commandTitle, optionsMenuTitle) returns promise that resolves with null if requst is valid and accepted', function (done) { // Arrange + const commandName = "name2"; + const commandTitle = "title2"; + const optionsMenuTitle = "menu2"; - // Act - page1.getFilters(); + spyApp.addOptionsMenuCommand.and.returnValue(Promise.resolve(null)); - // Assert - expect(spyHpm.get).toHaveBeenCalledWith(`/report/pages/${page1.name}/filters`, { uid: uniqueId }, iframe.contentWindow); + // Act + spyApp.addOptionsMenuCommand(commandName, commandTitle, optionsMenuTitle) + .then(response => { + // Assert + expect(spyApp.addOptionsMenuCommand).toHaveBeenCalled(); + expect(response).toEqual(null); + done(); + }); }); - it('page.getFilters() return promise that rejects with server error if there was error getting filters', function (done) { + it('report.removeContextMenuCommand(commandName) returns promise that rejects with validation errors if command name is invalid', function (done) { // Arrange + const commandName = "name1"; const testData = { expectedError: { - body: { - message: 'internal server error' + message: 'PowerBIEntityNotFound' + }, + settings: { + extensions: { + commands: [{ + name: "name1", + title: "title1", + extend: { + } + }] } } }; - spyHpm.get.and.returnValue(Promise.reject(testData.expectedError)); + spyApp.removeContextMenuCommand.and.returnValues(Promise.reject(testData.expectedError)); // Act - page1.getFilters() + spyApp.removeContextMenuCommand(commandName) .catch(error => { // Assert - expect(spyHpm.get).toHaveBeenCalledWith(`/report/pages/${page1.name}/filters`, { uid: uniqueId }, iframe.contentWindow); - expect(error).toEqual(testData.expectedError.body); + expect(spyHpm.patch).not.toHaveBeenCalledWith('/report/settings', testData.settings, { uid: uniqueId }, iframe.contentWindow); + expect(error).toEqual(jasmine.objectContaining(testData.expectedError)); done(); }); }); - it('page.getFilters() returns promise that resolves with list of filters', function (done) { + it('report.removeContextMenuCommand(commandName) returns promise that resolves with null if requst is valid and accepted', function (done) { // Arrange - const testData = { + const commandName = "name2"; + + spyApp.removeContextMenuCommand.and.returnValue(Promise.resolve(null)); + + // Act + spyApp.removeContextMenuCommand(commandName) + .then(response => { + // Assert + expect(spyApp.removeContextMenuCommand).toHaveBeenCalled(); + expect(response).toEqual(null); + done(); + }); + }); + + it('report.removeOptionsMenuCommand(commandName) returns promise that rejects with validation errors if command name is invalid', function (done) { + // Arrange + const commandName = "name1"; + const testData = { + expectedError: { + message: 'PowerBIEntityNotFound' + }, + settings: { + extensions: { + commands: [{ + name: "name1", + title: "title1", + icon: "", + extend: { + } + }] + } + } + }; + + spyApp.removeOptionsMenuCommand.and.returnValues(Promise.reject(testData.expectedError)); + + // Act + spyApp.removeOptionsMenuCommand(commandName) + .catch(error => { + // Assert + expect(spyHpm.patch).not.toHaveBeenCalledWith('/report/settings', testData.settings, { uid: uniqueId }, iframe.contentWindow); + expect(error).toEqual(jasmine.objectContaining(testData.expectedError)); + done(); + }); + }); + + it('report.removeOptionsMenuCommand(commandName) returns promise that resolves with null if requst is valid and accepted', function (done) { + // Arrange + const commandName = "name2"; + + spyApp.removeOptionsMenuCommand.and.returnValue(Promise.resolve(null)); + + // Act + spyApp.removeOptionsMenuCommand(commandName) + .then(response => { + // Assert + expect(spyApp.removeOptionsMenuCommand).toHaveBeenCalled(); + expect(response).toEqual(null); + done(); + }); + }); + + it('report.setVisualDisplayState(pageName, visualName, displayState) returns promise that rejects with validation error if display state is invalid', function (done) { + // Arrange + const pageName = 'page1'; + const visualName = 'visual'; + const displayState = 2; + const testData = { + expectedError: { + body: { + message: 'display state is invalid' + } + } + }; + + spyHpm.get.and.returnValue(Promise.reject(testData.expectedError)); + + // Act + report.setVisualDisplayState(pageName, visualName, displayState) + .catch(error => { + // Assert + expect(spyHpm.get).toHaveBeenCalledWith('/report/pages', { uid: uniqueId }, iframe.contentWindow); + expect(error).toEqual(testData.expectedError.body); + done(); + }); + }); + + it('report.setVisualDisplayState(pageName, visualName, displayState) returns promise that resolves with null if requst is valid and accepted', function (done) { + // Arrange + const pageName = 'page1'; + const visualName = 'visual'; + const displayState = models.VisualContainerDisplayMode.Visible; + + spyApp.setVisualDisplayState.and.returnValue(Promise.resolve(null)); + + // Act + spyApp.setVisualDisplayState(pageName, visualName, displayState) + .then(response => { + // Assert + expect(spyApp.setVisualDisplayState).toHaveBeenCalled(); + expect(response).toEqual(null); + done(); + }); + }); + + it('report.resizeVisual returns promise that rejects with validation error if page name is invalid', function (done) { + // Arrange + const pageName = 'invalid page'; + const visualName = 'visual'; + const width = 200; + const height = 100; + const testData = { + expectedError: { + body: { + message: 'page name is invalid' + } + } + }; + + spyHpm.get.and.returnValue(Promise.reject(testData.expectedError)); + + // Act + report.resizeVisual(pageName, visualName, width, height) + .catch(error => { + // Assert + expect(spyHpm.get).toHaveBeenCalledWith('/report/pages', { uid: uniqueId }, iframe.contentWindow); + expect(error).toEqual(testData.expectedError.body); + done(); + }); + }); + + it('report.resizeVisual returns promise that resolves with null if request is valid and accepted', function (done) { + // Arrange + const pageName = 'page1'; + const visualName = 'visual'; + const width = 200; + const height = 100; + + spyApp.resizeVisual.and.returnValue(Promise.resolve(null)); + + // Act + spyApp.resizeVisual(pageName, visualName, width, height) + .then(response => { + // Assert + expect(spyApp.resizeVisual).toHaveBeenCalled(); + expect(response).toEqual(null); + done(); + }); + }); + + it('report.resizePage returns promise that rejects with validation error if page size type is invalid', function (done) { + // Arrange + const pageSizeType = 5; + const width = 200; + const height = 100; + const testData = { + expectedError: { + body: { + message: 'page size type is invalid' + } + }, + settings: { + layoutType: models.LayoutType.Custom, + customLayout: { + pageSize: { + type: pageSizeType, + width: width, + height: height + } + } + } + }; + + spyHpm.patch.and.returnValue(Promise.reject(testData.expectedError)); + + // Act + report.resizePage(pageSizeType, width, height) + .catch(error => { + // Assert + expect(spyHpm.patch).toHaveBeenCalledWith('/report/settings', testData.settings, { uid: uniqueId }, iframe.contentWindow); + expect(error).toEqual(testData.expectedError.body); + done(); + }); + }); + + it('report.resizePage returns promise that resolves with null if request is valid and accepted', function (done) { + // Arrange + const pageSizeType = models.PageSizeType.Custom; + const width = 200; + const height = 100; + + spyApp.resizePage.and.returnValue(Promise.resolve(null)); + + // Act + spyApp.resizePage(pageSizeType, width, height) + .then(response => { + // Assert + expect(spyApp.resizePage).toHaveBeenCalled(); + expect(response).toEqual(null); + done(); + }); + }); + + it('moveVisual returns promise that rejects with validation error if visual name is invalid', function (done) { + // Arrange + const pageName = 'page1'; + const visualName = 'invalid visual'; + const x = 0; + const y = 0; + const testData = { + expectedError: { + body: { + message: 'visual name is invalid' + } + } + }; + + spyHpm.get.and.returnValue(Promise.reject(testData.expectedError)); + + // Act + report.moveVisual(pageName, visualName, x, y) + .catch(error => { + // Assert + expect(spyHpm.get).toHaveBeenCalledWith('/report/pages', { uid: uniqueId }, iframe.contentWindow); + expect(error).toEqual(testData.expectedError.body); + done(); + }); + }); + + it('moveVisual returns promise that resolves with null if requst is valid and accepted', function (done) { + // Arrange + const pageName = 'page1'; + const visualName = 'visual'; + const x = 0; + const y = 0; + + spyApp.moveVisual.and.returnValue(Promise.resolve(null)); + + // Act + spyApp.moveVisual(pageName, visualName, x, y) + .then(response => { + // Assert + expect(spyApp.moveVisual).toHaveBeenCalled(); + expect(response).toEqual(null); + done(); + }); + }); + }); + }); + + describe('create', function () { + describe('createReport', function () { + it('create.createReport() sends POST /report/create with configuration in body', function () { + // Arrange + const testData = { + createConfiguration: { + datasetId: 'fakeId', + accessToken: 'fakeToken' + }, + response: { + body: null + } + }; + + spyHpm.post.and.returnValue(Promise.resolve(testData.response)); + + // Act + create.createReport(testData.createConfiguration); + + // Assert + expect(spyHpm.post).toHaveBeenCalledWith('/report/create', testData.createConfiguration, { uid: createUniqueId, sdkSessionId: sdkSessionId }, createIframe.contentWindow); + }); + + it('create.createReport() returns promise that rejects with validation error if the create configuration is invalid', function (done) { + // Arrange + const testData = { + createConfiguration: { + datasetId: 'fakeId', + accessToken: 'fakeToken' + }, + errorResponse: { + body: { + message: "invalid configuration object" + } + } + }; + + spyHpm.post.and.returnValue(Promise.reject(testData.errorResponse)); + + // Act + create.createReport(testData.createConfiguration) + .catch(error => { + expect(spyHpm.post).toHaveBeenCalledWith('/report/create', testData.createConfiguration, { uid: createUniqueId, sdkSessionId: sdkSessionId }, createIframe.contentWindow); + expect(error).toEqual(testData.errorResponse.body); + // Assert + done(); + }); + }); + + it('create.createReport() returns promise that resolves with null if create report was successful', function (done) { + // Arrange + const testData = { + createConfiguration: { + datasetId: 'fakeId', + accessToken: 'fakeToken' + }, + response: { + body: null + } + }; + + spyHpm.post.and.returnValue(Promise.resolve(testData.response)); + + // Act + create.createReport(testData.createConfiguration) + .then(response => { + expect(spyHpm.post).toHaveBeenCalledWith('/report/create', testData.createConfiguration, { uid: createUniqueId, sdkSessionId: sdkSessionId }, createIframe.contentWindow); + expect(response).toEqual(null); + // Assert + done(); + }); + }); + }); + }); + + describe('dashboard', function () { + describe('load', function () { + it('dashboard.load() sends POST /dashboard/load with configuration in body', function () { + // Arrange + const testData = { + loadConfiguration: { + id: 'fakeId', + accessToken: 'fakeToken', + type: 'dashboard' + }, + response: { + body: null + } + }; + + spyHpm.post.and.returnValue(Promise.resolve(testData.response)); + + // Act + let expectedConfiguration = utils.assign({}, dashboard.config, testData.loadConfiguration); + dashboard.config = expectedConfiguration; + dashboard.load(); + + const expectedHeaders = { + bootstrapped: undefined, + sdkVersion: sdkConfig.default.version, + uid: dashboardUniqueId, + sdkSessionId: sdkSessionId + }; + + // Assert + expect(spyHpm.post).toHaveBeenCalledWith('/dashboard/load', expectedConfiguration, expectedHeaders, dashboardIframe.contentWindow); + }); + }); + }); + + describe('page', function () { + describe('filters', function () { + it('page.getFilters() sends GET /report/pages/xyz/filters', function () { + // Arrange + + // Act + page1.getFilters(); + + // Assert + expect(spyHpm.get).toHaveBeenCalledWith(`/report/pages/${page1.name}/filters`, { uid: uniqueId }, iframe.contentWindow); + }); + + it('page.getFilters() return promise that rejects with server error if there was error getting filters', function (done) { + // Arrange + const testData = { + expectedError: { + body: { + message: 'internal server error' + } + } + }; + + spyHpm.get.and.returnValue(Promise.reject(testData.expectedError)); + + // Act + page1.getFilters() + .catch(error => { + // Assert + expect(spyHpm.get).toHaveBeenCalledWith(`/report/pages/${page1.name}/filters`, { uid: uniqueId }, iframe.contentWindow); + expect(error).toEqual(testData.expectedError.body); + done(); + }); + }); + + it('page.getFilters() returns promise that resolves with list of filters', function (done) { + // Arrange + const testData = { expectedResponse: { body: [ { x: 'fakeFilter1' }, @@ -4090,6 +4679,173 @@ describe('SDK-to-HPM', function () { }); }); }); + describe('custom layout', function () { + it('page.setVisualDisplayState returns promise that rejects with validation error if display state is invalid', function (done) { + // Arrange + const visualName = 'visual'; + const displayState = 2; + const testData = { + expectedError: { + body: { + message: 'display state is invalid' + } + } + }; + + spyHpm.get.and.returnValue(Promise.reject(testData.expectedError)); + + // Act + page1.setVisualDisplayState(visualName, displayState) + .catch(error => { + // Assert + expect(spyHpm.get).toHaveBeenCalledWith('/report/pages', { uid: uniqueId }, iframe.contentWindow); + expect(error).toEqual(testData.expectedError.body); + done(); + }); + }); + + it('page.setVisualDisplayState returns promise that resolves with null if requst is valid and accepted', function (done) { + // Arrange + const visualName = 'visual'; + const displayState = models.VisualContainerDisplayMode.Visible; + + spyApp.setVisualDisplayState.and.returnValue(Promise.resolve(null)); + + // Act + spyApp.setVisualDisplayState(visualName, displayState) + .then(response => { + // Assert + expect(spyApp.setVisualDisplayState).toHaveBeenCalled(); + expect(response).toEqual(null); + done(); + }); + }); + + it('page.moveVisual returns promise that rejects with validation error if visual name is invalid', function (done) { + // Arrange + const visualName = 'invalid visual'; + const x = 0; + const y = 0; + const testData = { + expectedError: { + body: { + message: 'visual name is invalid' + } + } + }; + + spyHpm.get.and.returnValue(Promise.reject(testData.expectedError)); + + // Act + page1.moveVisual(visualName, x, y) + .catch(error => { + // Assert + expect(spyHpm.get).toHaveBeenCalledWith('/report/pages', { uid: uniqueId }, iframe.contentWindow); + expect(error).toEqual(testData.expectedError.body); + done(); + }); + }); + + it('page.moveVisual returns promise that resolves with null if requst is valid and accepted', function (done) { + // Arrange + const visualName = 'visual'; + const x = 0; + const y = 0; + + spyApp.moveVisual.and.returnValue(Promise.resolve(null)); + + // Act + spyApp.moveVisual(visualName, x, y) + .then(response => { + // Assert + expect(spyApp.moveVisual).toHaveBeenCalled(); + expect(response).toEqual(null); + done(); + }); + }); + + it('page.resizePage returns promise that rejects with validation error if page is not active page', function (done) { + // Arrange + const pageSizeType = 1; + const width = 200; + const height = 100; + const testData = { + expectedError: { + message: 'Cannot resize the page. Only the active page can be resized' + }, + settings: { + layoutType: models.LayoutType.Custom, + customLayout: { + pageSize: { + type: pageSizeType, + width: width, + height: height + } + } + } + }; + + spyHpm.patch.and.returnValue(Promise.reject(testData.expectedError.message)); + + // Act + page1.resizePage(pageSizeType, width, height) + .catch(error => { + // Assert + expect(spyHpm.patch).not.toHaveBeenCalledWith('/report/settings', testData.settings, { uid: uniqueId }, iframe.contentWindow); + expect(error).toEqual(testData.expectedError.message); + done(); + }); + }); + + it('page.resizePage returns promise that resolves with null if page is active page', function (done) { + // Arrange + const pageSizeType = 1; + const width = 200; + const height = 100; + const testData = { + settings: { + layoutType: models.LayoutType.Custom, + customLayout: { + pageSize: { + type: pageSizeType, + width: width, + height: height + } + } + } + }; + + page1.isActive = true; + spyHpm.patch.and.returnValue(Promise.resolve(null)); + + // Act + page1.resizePage(pageSizeType, width, height) + .then(response => { + // Assert + expect(spyHpm.patch).toHaveBeenCalledWith('/report/settings', testData.settings, { uid: uniqueId }, iframe.contentWindow); + expect(response).toEqual(null); + done(); + }); + }); + + it('page.resizePage returns promise that resolves with null if request is valid and accepted', function (done) { + // Arrange + const pageSizeType = models.PageSizeType.Custom; + const width = 200; + const height = 100; + + spyApp.resizePage.and.returnValue(Promise.resolve(null)); + + // Act + spyApp.resizePage(pageSizeType, width, height) + .then(response => { + // Assert + expect(spyApp.resizePage).toHaveBeenCalled(); + expect(response).toEqual(null); + done(); + }); + }); + }); }); describe('setDisplayName', function () { @@ -4113,6 +4869,59 @@ describe('SDK-to-HPM', function () { }); }); + describe('getVisualByName', function () { + it('page.getVisualByName(visualName) returns promise that rejects if visual with given name not found', function (done) { + // Arrange + const pageName = page1.name; + const visualName = "visual1"; + const testData = { + expectedError: { + body: { + message: 'visual not found' + } + } + }; + + spyHpm.get.and.returnValue(Promise.reject(testData.expectedError)); + // Act + page1.getVisualByName(visualName) + .catch(error => { + // Assert + expect(spyHpm.get).toHaveBeenCalledWith(`/report/pages/${pageName}/visuals`, { uid: uniqueId }, iframe.contentWindow); + expect(error).toEqual(testData.expectedError.body); + done(); + }); + }); + + it('page.getVisualByName(visualName) returns promise that resolves with visual if request is successful', function (done) { + // Arrange + const pageName = page1.name; + const visualName = "visual1"; + const testData = { + expectedResponse: + { + name: "visual1", + title: "Visual 1", + type: "type1", + layout: {}, + page: {} + } + }; + + spyApp.getVisualByName.and.returnValue(Promise.resolve(testData.expectedResponse)); + + // Act + spyApp.getVisualByName(visualName) + .then(visual => { + // Assert + expect(spyApp.getVisualByName).toHaveBeenCalled(); + expect(visual.name).toEqual(testData.expectedResponse.name); + expect(visual.title).toEqual(testData.expectedResponse.title); + done(); + }); + }); + }); + describe('visual', function () { describe('filters', function () { it('visual.getFilters() sends GET /report/pages/xyz/visuals/uvw/filters', function () { @@ -4266,6 +5075,128 @@ describe('SDK-to-HPM', function () { }); }); + describe('custom layout', function () { + it('visual.moveVisual() returns promise that rejects with server error if error in updating setting', function (done) { + // Arrange + const x = 0; + const y = 0; + const testData = { + expectedError: { + body: { + message: 'internal server error' + } + } + }; + + spyHpm.get.and.returnValue(Promise.reject(testData.expectedError)); + + // Act + visual1.moveVisual(x, y) + .catch(error => { + // Assert + expect(spyHpm.get).toHaveBeenCalledWith('/report/pages', { uid: uniqueId }, iframe.contentWindow); + expect(error).toEqual(testData.expectedError.body); + done(); + }); + }); + + it('visual.moveVisual() returns promise that resolves with null if request is valid and accepted', function (done) { + // Arrange + const x = 0; + const y = 0; + + spyApp.moveVisual.and.returnValue(Promise.resolve(null)); + + // Act + spyApp.moveVisual(x, y) + .then(response => { + // Assert + expect(spyApp.moveVisual).toHaveBeenCalled(); + expect(response).toEqual(null); + done(); + }); + }); + + it('visual.setVisualDisplayState(displayState) returns promise that rejects with validation error if display state is invalid', function (done) { + // Arrange + const displayState = 2; + const testData = { + expectedError: { + body: { + message: 'mode property is invalid' + } + }, + }; + + spyApp.setVisualDisplayState.and.returnValue(Promise.reject(testData.expectedError)); + + // Act + spyApp.setVisualDisplayState(displayState) + .catch(error => { + // Assert + expect(error).toEqual(testData.expectedError); + done(); + }); + }); + + it('visual.setVisualDisplayState(displayState) returns promise that resolves with null if requst is valid and accepted', function (done) { + // Arrange + const displayState = models.VisualContainerDisplayMode.Visible; + + spyApp.setVisualDisplayState.and.returnValue(Promise.resolve(null)); + + // Act + spyApp.setVisualDisplayState(displayState) + .then(response => { + // Assert + expect(spyApp.setVisualDisplayState).toHaveBeenCalled(); + expect(response).toEqual(null); + done(); + }); + }); + + it('visual.resizeVisual returns promise that rejects with server error if error in updating setting', function (done) { + // Arrange + const width = 200; + const height = 100; + const testData = { + expectedError: { + body: { + message: 'internal server error' + } + } + }; + + spyHpm.get.and.returnValue(Promise.reject(testData.expectedError)); + + // Act + visual1.resizeVisual(width, height) + .catch(error => { + // Assert + expect(spyHpm.get).toHaveBeenCalledWith('/report/pages', { uid: uniqueId }, iframe.contentWindow); + expect(error).toEqual(testData.expectedError.body); + done(); + }); + }); + + it('visual.resizeVisual returns promise that resolves with null if request is valid and accepted', function (done) { + // Arrange + const width = 200; + const height = 100; + + spyApp.resizeVisual.and.returnValue(Promise.resolve(null)); + + // Act + spyApp.resizeVisual(width, height) + .then(response => { + // Assert + expect(spyApp.resizeVisual).toHaveBeenCalled(); + expect(response).toEqual(null); + done(); + }); + }); + }); + describe('theme', function () { it('report.applyTheme(theme) sends PUT /report/theme with theme in body', function () { // Arrange diff --git a/test/utility/mockApp.ts b/test/utility/mockApp.ts index 823982ba..ba8d424a 100644 --- a/test/utility/mockApp.ts +++ b/test/utility/mockApp.ts @@ -13,12 +13,23 @@ export interface IApp { // Settings updateSettings(settings: models.ISettings): Promise; validateSettings(settigns: models.ISettings): Promise; + addContextMenuCommand(commandName: string, commandTitle: string, contextMenuTitle: string, menuLocation?: string, visualName?: string, visualType?: string, groupName?: string): Promise; + addOptionsMenuCommand(commandName: string, commandTitle: string, optionsMenuTitle: string, menuLocation?: string, visualName?: string, visualType?: string, groupName?: string, commandIcon?: string): Promise; + removeContextMenuCommand(commandName: string): Promise; + removeOptionsMenuCommand(commandName: string): Promise; + setVisualDisplayState(pageName: string, visualName: string, displayState: models.VisualContainerDisplayMode): Promise; + resizeVisual(pageName: string, visualName: string, width: number, height: number): Promise; + resizePage(pageSizeType: models.PageSizeType, width: number, height: number): Promise; + moveVisual(pageName: string, visualName: string, x: number, y: number, z?: number): Promise; // Pages getPages(): Promise; + getPageByName(pageName: string): Promise; + getActivePage(): Promise; setPage(pageName: string): Promise; validatePage(page: models.IPage): Promise; // Visuals validateVisual(page: models.IPage, visual: models.IVisual): Promise; + getVisualByName(visualName: string): Promise; // Filters getFilters(): Promise; updateFilters(operation: models.FiltersOperations, filters: models.IFilter[]): Promise; @@ -33,6 +44,7 @@ export interface IApp { save(): Promise; saveAs(saveAsParameters: models.ISaveAsParameters): Promise; setAccessToken(accessToken: string): Promise; + switchLayout(layoutType: models.LayoutType): Promise; } export const mockAppSpyObj = { @@ -45,12 +57,23 @@ export const mockAppSpyObj = { // Settings updateSettings: jasmine.createSpy("updateSettings").and.returnValue(Promise.resolve(null)), validateSettings: jasmine.createSpy("validateSettings").and.callFake(models.validateSettings), + addContextMenuCommand: jasmine.createSpy("addContextMenuCommand").and.returnValue(Promise.resolve(null)), + addOptionsMenuCommand: jasmine.createSpy("addOptionsMenuCommand").and.returnValue(Promise.resolve(null)), + removeContextMenuCommand: jasmine.createSpy("removeContextMenuCommand").and.returnValue(Promise.resolve(null)), + removeOptionsMenuCommand: jasmine.createSpy("removeOptionsMenuCommand").and.returnValue(Promise.resolve(null)), + setVisualDisplayState: jasmine.createSpy("setVisualDisplayState").and.returnValue(Promise.resolve(null)), + resizeVisual: jasmine.createSpy("resizeVisual").and.returnValue(Promise.resolve(null)), + resizePage: jasmine.createSpy("resizePage").and.returnValue(Promise.resolve(null)), + moveVisual: jasmine.createSpy("moveVisual").and.returnValue(Promise.resolve(null)), // Pages getPages: jasmine.createSpy("getPages").and.returnValue(Promise.resolve(null)), + getPageByName: jasmine.createSpy("getPageByName").and.returnValue(Promise.resolve(null)), + getActivePage: jasmine.createSpy("getActivePage").and.returnValue(Promise.resolve(null)), setPage: jasmine.createSpy("setPage").and.returnValue(Promise.resolve(null)), validatePage: jasmine.createSpy("validatePage").and.returnValue(Promise.resolve(null)), // Visuals validateVisual: jasmine.createSpy("validateVisual").and.returnValue(Promise.resolve(null)), + getVisualByName: jasmine.createSpy("getVisualByName").and.returnValue(Promise.resolve(null)), // Filters getFilters: jasmine.createSpy("getFilters").and.returnValue(Promise.resolve(null)), updateFilters: jasmine.createSpy("updateFilters").and.returnValue(Promise.resolve(null)), @@ -65,6 +88,7 @@ export const mockAppSpyObj = { save: jasmine.createSpy("save").and.returnValue(Promise.resolve(null)), saveAs: jasmine.createSpy("saveAs").and.returnValue(Promise.resolve(null)), setAccessToken: jasmine.createSpy("setAccessToken").and.returnValue(Promise.resolve(null)), + switchLayout: jasmine.createSpy("switchLayout").and.returnValue(Promise.resolve(null)), reset() { mockAppSpyObj.dashboardLoad.calls.reset(); @@ -74,14 +98,25 @@ export const mockAppSpyObj = { mockAppSpyObj.validateReportLoad.calls.reset(); mockAppSpyObj.updateSettings.calls.reset(); mockAppSpyObj.validateSettings.calls.reset(); + mockAppSpyObj.setVisualDisplayState.calls.reset(); + mockAppSpyObj.resizeVisual.calls.reset(); + mockAppSpyObj.resizePage.calls.reset(); + mockAppSpyObj.moveVisual.calls.reset(); mockAppSpyObj.getPages.calls.reset(); + mockAppSpyObj.getPageByName.calls.reset(); + mockAppSpyObj.getActivePage.calls.reset(); mockAppSpyObj.setPage.calls.reset(); mockAppSpyObj.validatePage.calls.reset(); mockAppSpyObj.validateVisual.calls.reset(); + mockAppSpyObj.getVisualByName.calls.reset(); mockAppSpyObj.getFilters.calls.reset(); mockAppSpyObj.updateFilters.calls.reset(); mockAppSpyObj.setFilters.calls.reset(); mockAppSpyObj.validateFilter.calls.reset(); + mockAppSpyObj.addContextMenuCommand.calls.reset(); + mockAppSpyObj.addOptionsMenuCommand.calls.reset(); + mockAppSpyObj.removeContextMenuCommand.calls.reset(); + mockAppSpyObj.removeOptionsMenuCommand.calls.reset(); mockAppSpyObj.print.calls.reset(); mockAppSpyObj.refreshData.calls.reset(); mockAppSpyObj.exportData.calls.reset(); @@ -90,6 +125,7 @@ export const mockAppSpyObj = { mockAppSpyObj.save.calls.reset(); mockAppSpyObj.saveAs.calls.reset(); mockAppSpyObj.setAccessToken.calls.reset(); + mockAppSpyObj.switchLayout.calls.reset(); } }; diff --git a/webpack.test.config.js b/webpack.test.config.js index e0ebe539..04c1f1ff 100644 --- a/webpack.test.config.js +++ b/webpack.test.config.js @@ -1,8 +1,9 @@ const webpack = require('webpack'); // To access built-in plugins +const glob = require("glob"); module.exports = { mode: 'development', - entry: './test/test.spec.ts', + entry: glob.sync('./test/*.spec.ts'), output: { path: __dirname + "/tmp", filename: 'test.spec.js' From 3c876566690b4715de72f7a366e073183caa68b1 Mon Sep 17 00:00:00 2001 From: Anchal Gupta Date: Thu, 10 Jun 2021 10:20:29 +0000 Subject: [PATCH 068/125] Merged PR 177491: [JS SDK simplify functions]: Add orderByTarget for TopNFilterBuilder and rename resizePage to resizeActivePage **This PR adds the following features in JS SDK:** 1. Rename resizePage to resizeActivePage at report level 2. Add orderByTarget method that receives a target so the user can provide a target object, and add the capability to support aggregation targets 3. Removed withTarget method **Checklist** - [X] Build and test scripts are passing, if available - [X] Open errors/warning details are shared with the reviewer - [X] There are no violations to the applicable coding guidelines - [X] Application has a consistent exception management setup - [X] Code does not contain commented code - [X] Is testing performed and results captured in ADO and list of test cases executed shared in PR? - [X] Generic exception type is not handled - [X] Stacktrace of error is not returned - [X] All external packages/libraries are installed from an online package manager Related work items: #600574 --- dist/powerbi-client.d.ts | 79 +------ dist/powerbi.js | 92 +------- dist/powerbi.min.js | 4 +- src/FilterBuilders/advancedFilterBuilder.ts | 15 -- src/FilterBuilders/basicFilterBuilder.ts | 15 -- src/FilterBuilders/filterBuilder.ts | 4 +- .../relativeDateFilterBuilder.ts | 19 +- .../relativeTimeFilterBuilder.ts | 19 +- src/FilterBuilders/topNFilterBuilder.ts | 25 +-- src/page.ts | 2 +- src/report.ts | 4 +- test/filterBuilders.spec.ts | 203 ++++-------------- test/test.spec.ts | 18 +- test/utility/mockApp.ts | 6 +- 14 files changed, 87 insertions(+), 418 deletions(-) diff --git a/dist/powerbi-client.d.ts b/dist/powerbi-client.d.ts index 78b5b127..f6e5747b 100644 --- a/dist/powerbi-client.d.ts +++ b/dist/powerbi-client.d.ts @@ -1493,7 +1493,7 @@ declare module "report" { * Updates the size of active page in report. * * ```javascript - * report.resizePage(pageSizeType, width, height) + * report.resizeActivePage(pageSizeType, width, height) * .catch(error => { ... }); * ``` * @@ -1502,7 +1502,7 @@ declare module "report" { * @param {number} height * @returns {Promise>} */ - resizePage(pageSizeType: PageSizeType, width?: number, height?: number): Promise>; + resizeActivePage(pageSizeType: PageSizeType, width?: number, height?: number): Promise>; /** * Updates the position of a visual in a page. * @@ -2290,14 +2290,14 @@ declare module "factories" { export const routerFactory: IRouterFactory; } declare module "FilterBuilders/filterBuilder" { - import { Filter } from "powerbi-models"; + import { Filter, IFilterTarget } from "powerbi-models"; /** * Generic filter builder for BasicFilter, AdvancedFilter, RelativeDate, RelativeTime and TopN * * @interface IFilterBuilder */ export interface IFilterBuilder { - withTarget(table: string, column: string): IFilterBuilder; + withTargetObject(target: IFilterTarget): IFilterBuilder; build(): Filter; } } @@ -2316,17 +2316,6 @@ declare module "FilterBuilders/basicFilterBuilder" { private values; private operator; private isRequireSingleSelection; - /** - * Sets target property for Basic filter - * - * ```javascript - * - * const basicFilterBuilder = new BasicFilterBuilder().withTarget(tableName, columnName); - * ``` - * - * @returns {BasicFilterBuilder} - */ - withTarget(table: string, column: string): BasicFilterBuilder; /** * Sets target property for Basic filter with target object * @@ -2413,17 +2402,6 @@ declare module "FilterBuilders/advancedFilterBuilder" { private target; private logicalOperator; private conditions; - /** - * Sets target property for Advanced filter - * - * ```javascript - * - * const advancedFilterBuilder = new AdvancedFilterBuilder().withTarget(tableName, columnName); - * ``` - * - * @returns {AdvancedFilterBuilder} - */ - withTarget(table: string, column: string): AdvancedFilterBuilder; /** * Sets target property for Advanced filter with target object * @@ -2487,7 +2465,7 @@ declare module "FilterBuilders/advancedFilterBuilder" { } } declare module "FilterBuilders/topNFilterBuilder" { - import { IFilterTarget, TopNFilter } from "powerbi-models"; + import { IFilterTarget, ITarget, TopNFilter } from "powerbi-models"; import { IFilterBuilder } from "FilterBuilders/filterBuilder"; /** * Power BI Top N filter builder component @@ -2500,18 +2478,7 @@ declare module "FilterBuilders/topNFilterBuilder" { private target; private itemCount; private operator; - private orderByTarget; - /** - * Sets target property for Top N filter - * - * ```javascript - * - * const topNFilterBuilder = new TopNFilterBuilder().withTarget(tableName, columnName); - * ``` - * - * @returns {TopNFilterBuilder} - */ - withTarget(table: string, column: string): TopNFilterBuilder; + private orderByTargetValue; /** * Sets target property for Top N filter with target object * @@ -2554,12 +2521,12 @@ declare module "FilterBuilders/topNFilterBuilder" { * * ```javascript * - * const topNFilterBuilder = new TopNFilterBuilder().orderBy(table, measure); + * const topNFilterBuilder = new TopNFilterBuilder().orderByTarget(target); * ``` * * @returns {TopNFilterBuilder} */ - orderBy(table: string, measure: string): TopNFilterBuilder; + orderByTarget(target: ITarget): TopNFilterBuilder; /** * Creates Top N filter * @@ -2589,19 +2556,6 @@ declare module "FilterBuilders/relativeDateFilterBuilder" { private timeUnitsCount; private timeUnitType; private isTodayIncluded; - /** - * Sets target property for Relative Date filter - * - * ```javascript - * - * const relativeDateFilterBuilder = new RelativeDateFilterBuilder().withTarget(tableName, columnName); - * ``` - * - * @param {string} table - Defines the table on which filter will be applied - * @param {string} column - Defines the column on which filter will be applied - * @returns {RelativeDateFilterBuilder} - */ - withTarget(table: string, column: string): RelativeDateFilterBuilder; /** * Sets target property for Relative Date filter with target object * @@ -2649,7 +2603,7 @@ declare module "FilterBuilders/relativeDateFilterBuilder" { * * ```javascript * - * const relativeDateFilterBuilder = new RelativeDateFilterBuilder().orderBy(timeUnitsCount, timeUnitType); + * const relativeDateFilterBuilder = new RelativeDateFilterBuilder().inNext(timeUnitsCount, timeUnitType); * ``` * * @param {number} timeUnitsCount - The amount of time units @@ -2697,19 +2651,6 @@ declare module "FilterBuilders/relativeTimeFilterBuilder" { private operator; private timeUnitsCount; private timeUnitType; - /** - * Sets target property for Relative Time filter - * - * ```javascript - * - * const relativeTimeFilterBuilder = new RelativeTimeFilterBuilder().withTarget(tableName, columnName); - * ``` - * - * @param {string} table - Defines the table on which filter will be applied - * @param {string} column - Defines the column on which filter will be applied - * @returns {RelativeTimeFilterBuilder} - */ - withTarget(table: string, column: string): RelativeTimeFilterBuilder; /** * Sets target property for Relative Time filter with target object * @@ -2757,7 +2698,7 @@ declare module "FilterBuilders/relativeTimeFilterBuilder" { * * ```javascript * - * const relativeTimeFilterBuilder = new RelativeTimeFilterBuilder().orderBy(timeUnitsCount, timeUnitType); + * const relativeTimeFilterBuilder = new RelativeTimeFilterBuilder().inNext(timeUnitsCount, timeUnitType); * ``` * * @param {number} timeUnitsCount - The amount of time units diff --git a/dist/powerbi.js b/dist/powerbi.js index 0b6d38bc..c49e9e77 100644 --- a/dist/powerbi.js +++ b/dist/powerbi.js @@ -6147,20 +6147,6 @@ var AdvancedFilterBuilder = /** @class */ (function () { function AdvancedFilterBuilder() { this.conditions = []; } - /** - * Sets target property for Advanced filter - * - * ```javascript - * - * const advancedFilterBuilder = new AdvancedFilterBuilder().withTarget(tableName, columnName); - * ``` - * - * @returns {AdvancedFilterBuilder} - */ - AdvancedFilterBuilder.prototype.withTarget = function (table, column) { - this.target = { table: table, column: column }; - return this; - }; /** * Sets target property for Advanced filter with target object * @@ -6270,20 +6256,6 @@ var BasicFilterBuilder = /** @class */ (function () { function BasicFilterBuilder() { this.isRequireSingleSelection = false; } - /** - * Sets target property for Basic filter - * - * ```javascript - * - * const basicFilterBuilder = new BasicFilterBuilder().withTarget(tableName, columnName); - * ``` - * - * @returns {BasicFilterBuilder} - */ - BasicFilterBuilder.prototype.withTarget = function (table, column) { - this.target = { table: table, column: column }; - return this; - }; /** * Sets target property for Basic filter with target object * @@ -6432,22 +6404,6 @@ var RelativeDateFilterBuilder = /** @class */ (function () { function RelativeDateFilterBuilder() { this.isTodayIncluded = true; } - /** - * Sets target property for Relative Date filter - * - * ```javascript - * - * const relativeDateFilterBuilder = new RelativeDateFilterBuilder().withTarget(tableName, columnName); - * ``` - * - * @param {string} table - Defines the table on which filter will be applied - * @param {string} column - Defines the column on which filter will be applied - * @returns {RelativeDateFilterBuilder} - */ - RelativeDateFilterBuilder.prototype.withTarget = function (table, column) { - this.target = { table: table, column: column }; - return this; - }; /** * Sets target property for Relative Date filter with target object * @@ -6508,7 +6464,7 @@ var RelativeDateFilterBuilder = /** @class */ (function () { * * ```javascript * - * const relativeDateFilterBuilder = new RelativeDateFilterBuilder().orderBy(timeUnitsCount, timeUnitType); + * const relativeDateFilterBuilder = new RelativeDateFilterBuilder().inNext(timeUnitsCount, timeUnitType); * ``` * * @param {number} timeUnitsCount - The amount of time units @@ -6579,22 +6535,6 @@ var powerbi_models_1 = __webpack_require__(/*! powerbi-models */ "./node_modules var RelativeTimeFilterBuilder = /** @class */ (function () { function RelativeTimeFilterBuilder() { } - /** - * Sets target property for Relative Time filter - * - * ```javascript - * - * const relativeTimeFilterBuilder = new RelativeTimeFilterBuilder().withTarget(tableName, columnName); - * ``` - * - * @param {string} table - Defines the table on which filter will be applied - * @param {string} column - Defines the column on which filter will be applied - * @returns {RelativeTimeFilterBuilder} - */ - RelativeTimeFilterBuilder.prototype.withTarget = function (table, column) { - this.target = { table: table, column: column }; - return this; - }; /** * Sets target property for Relative Time filter with target object * @@ -6655,7 +6595,7 @@ var RelativeTimeFilterBuilder = /** @class */ (function () { * * ```javascript * - * const relativeTimeFilterBuilder = new RelativeTimeFilterBuilder().orderBy(timeUnitsCount, timeUnitType); + * const relativeTimeFilterBuilder = new RelativeTimeFilterBuilder().inNext(timeUnitsCount, timeUnitType); * ``` * * @param {number} timeUnitsCount - The amount of time units @@ -6711,20 +6651,6 @@ var powerbi_models_1 = __webpack_require__(/*! powerbi-models */ "./node_modules var TopNFilterBuilder = /** @class */ (function () { function TopNFilterBuilder() { } - /** - * Sets target property for Top N filter - * - * ```javascript - * - * const topNFilterBuilder = new TopNFilterBuilder().withTarget(tableName, columnName); - * ``` - * - * @returns {TopNFilterBuilder} - */ - TopNFilterBuilder.prototype.withTarget = function (table, column) { - this.target = { table: table, column: column }; - return this; - }; /** * Sets target property for Top N filter with target object * @@ -6778,13 +6704,13 @@ var TopNFilterBuilder = /** @class */ (function () { * * ```javascript * - * const topNFilterBuilder = new TopNFilterBuilder().orderBy(table, measure); + * const topNFilterBuilder = new TopNFilterBuilder().orderByTarget(target); * ``` * * @returns {TopNFilterBuilder} */ - TopNFilterBuilder.prototype.orderBy = function (table, measure) { - this.orderByTarget = { table: table, measure: measure }; + TopNFilterBuilder.prototype.orderByTarget = function (target) { + this.orderByTargetValue = target; return this; }; /** @@ -6798,7 +6724,7 @@ var TopNFilterBuilder = /** @class */ (function () { * @returns {TopNFilter} */ TopNFilterBuilder.prototype.build = function () { - var topNFilter = new powerbi_models_1.TopNFilter(this.target, this.operator, this.itemCount, this.orderByTarget); + var topNFilter = new powerbi_models_1.TopNFilter(this.target, this.operator, this.itemCount, this.orderByTargetValue); return topNFilter; }; return TopNFilterBuilder; @@ -8621,7 +8547,7 @@ var Page = /** @class */ (function () { return [2 /*return*/, Promise.reject('Cannot resize the page. Only the active page can be resized')]; } report = this.report; - return [2 /*return*/, report.resizePage(pageSizeType, width, height)]; + return [2 /*return*/, report.resizeActivePage(pageSizeType, width, height)]; }); }); }; @@ -10056,7 +9982,7 @@ var Report = /** @class */ (function (_super) { * Updates the size of active page in report. * * ```javascript - * report.resizePage(pageSizeType, width, height) + * report.resizeActivePage(pageSizeType, width, height) * .catch(error => { ... }); * ``` * @@ -10065,7 +9991,7 @@ var Report = /** @class */ (function (_super) { * @param {number} height * @returns {Promise>} */ - Report.prototype.resizePage = function (pageSizeType, width, height) { + Report.prototype.resizeActivePage = function (pageSizeType, width, height) { return __awaiter(this, void 0, void 0, function () { var pageSize, newSettings; return __generator(this, function (_a) { diff --git a/dist/powerbi.min.js b/dist/powerbi.min.js index c5b75321..7fcb4539 100644 --- a/dist/powerbi.min.js +++ b/dist/powerbi.min.js @@ -1,10 +1,10 @@ // powerbi-client v2.18.2 // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. -!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){var e={};function r(i){if(e[i])return e[i].exports;var a=e[i]={i:i,l:!1,exports:{}};return t[i].call(a.exports,a,a.exports,r),a.l=!0,a.exports}return r.m=t,r.c=e,r.d=function(t,e,i){r.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:i})},r.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},r.t=function(t,e){if(1&e&&(t=r(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var i=Object.create(null);if(r.r(i),Object.defineProperty(i,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var a in t)r.d(i,a,function(e){return t[e]}.bind(null,a));return i},r.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return r.d(e,"a",e),e},r.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},r.p="",r(r.s=12)}([function(t,e,r){var i;i=function(){return function(t){var e={};function r(i){if(e[i])return e[i].exports;var a=e[i]={i:i,l:!1,exports:{}};return t[i].call(a.exports,a,a.exports,r),a.l=!0,a.exports}return r.m=t,r.c=e,r.d=function(t,e,i){r.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:i})},r.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},r.t=function(t,e){if(1&e&&(t=r(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var i=Object.create(null);if(r.r(i),Object.defineProperty(i,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var a in t)r.d(i,a,function(e){return t[e]}.bind(null,a));return i},r.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return r.d(e,"a",e),e},r.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},r.p="",r(r.s=0)}([function(t,e,r){var i,a=this&&this.__extends||(i=function(t,e){return(i=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])})(t,e)},function(t,e){function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.validateCustomTheme=e.validateCommandsSettings=e.validateVisualSettings=e.validateVisualHeader=e.validateExportDataRequest=e.validateQnaInterpretInputData=e.validateLoadQnaConfiguration=e.validateSaveAsParameters=e.validateUpdateFiltersRequest=e.validateFilter=e.validatePage=e.validateTileLoad=e.validateDashboardLoad=e.validateCreateReport=e.validatePaginatedReportLoad=e.validateReportLoad=e.validateMenuGroupExtension=e.validateExtension=e.validateCustomPageSize=e.validateVisualizationsPane=e.validateSyncSlicersPane=e.validateSelectionPane=e.validatePageNavigationPane=e.validateFieldsPane=e.validateFiltersPane=e.validateBookmarksPane=e.validatePanes=e.validateSettings=e.validateCaptureBookmarkRequest=e.validateApplyBookmarkStateRequest=e.validateApplyBookmarkByNameRequest=e.validateAddBookmarkRequest=e.validatePlayBookmarkRequest=e.validateSlicerState=e.validateSlicer=e.validateVisualSelector=e.isIExtensionArray=e.isIExtensions=e.isGroupedMenuExtension=e.isFlatMenuExtension=e.isReportFiltersArray=e.isOnLoadFilters=e.VisualDataRoleKindPreference=e.VisualDataRoleKind=e.CommandDisplayOption=e.SlicerTargetSelector=e.VisualTypeSelector=e.VisualSelector=e.PageSelector=e.Selector=e.SortDirection=e.LegendPosition=e.TextAlignment=e.CommonErrorCodes=e.BookmarksPlayMode=e.ExportDataType=e.QnaMode=e.PageNavigationPosition=e.isColumnAggr=e.isHierarchyLevelAggr=e.isHierarchyLevel=e.isColumn=e.isMeasure=e.getFilterType=e.isBasicFilterWithKeys=e.isFilterKeyColumnsTarget=e.AdvancedFilter=e.TupleFilter=e.BasicFilterWithKeys=e.BasicFilter=e.RelativeTimeFilter=e.RelativeDateFilter=e.TopNFilter=e.IncludeExcludeFilter=e.NotSupportedFilter=e.Filter=e.RelativeDateOperators=e.RelativeDateFilterTimeUnit=e.FilterType=e.FiltersLevel=e.FiltersOperations=e.MenuLocation=e.ContrastMode=e.TokenType=e.ViewMode=e.Permissions=e.SectionVisibility=e.HyperlinkClickBehavior=e.LayoutType=e.VisualContainerDisplayMode=e.BackgroundType=e.DisplayOption=e.PageSizeType=e.TraceType=void 0;var o,n=r(1);!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"}(e.TraceType||(e.TraceType={})),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"}(e.PageSizeType||(e.PageSizeType={})),function(t){t[t.FitToPage=0]="FitToPage",t[t.FitToWidth=1]="FitToWidth",t[t.ActualSize=2]="ActualSize"}(e.DisplayOption||(e.DisplayOption={})),function(t){t[t.Default=0]="Default",t[t.Transparent=1]="Transparent"}(e.BackgroundType||(e.BackgroundType={})),function(t){t[t.Visible=0]="Visible",t[t.Hidden=1]="Hidden"}(e.VisualContainerDisplayMode||(e.VisualContainerDisplayMode={})),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={})),function(t){t[t.Navigate=0]="Navigate",t[t.NavigateAndRaiseEvent=1]="NavigateAndRaiseEvent",t[t.RaiseEvent=2]="RaiseEvent"}(e.HyperlinkClickBehavior||(e.HyperlinkClickBehavior={})),function(t){t[t.AlwaysVisible=0]="AlwaysVisible",t[t.HiddenInViewMode=1]="HiddenInViewMode"}(e.SectionVisibility||(e.SectionVisibility={})),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"}(e.Permissions||(e.Permissions={})),function(t){t[t.View=0]="View",t[t.Edit=1]="Edit"}(e.ViewMode||(e.ViewMode={})),function(t){t[t.Aad=0]="Aad",t[t.Embed=1]="Embed"}(e.TokenType||(e.TokenType={})),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"}(e.ContrastMode||(e.ContrastMode={})),function(t){t[t.Bottom=0]="Bottom",t[t.Top=1]="Top"}(e.MenuLocation||(e.MenuLocation={})),function(t){t[t.RemoveAll=0]="RemoveAll",t[t.ReplaceAll=1]="ReplaceAll",t[t.Add=2]="Add",t[t.Replace=3]="Replace"}(e.FiltersOperations||(e.FiltersOperations={})),function(t){t[t.Report=0]="Report",t[t.Page=1]="Page",t[t.Visual=2]="Visual"}(e.FiltersLevel||(e.FiltersLevel={})),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"}(o=e.FilterType||(e.FilterType={})),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"}(e.RelativeDateFilterTimeUnit||(e.RelativeDateFilterTimeUnit={})),function(t){t[t.InLast=0]="InLast",t[t.InThis=1]="InThis",t[t.InNext=2]="InNext"}(e.RelativeDateOperators||(e.RelativeDateOperators={}));var l=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=l;var s=function(t){function e(r,i,a){var n=t.call(this,r,o.Unknown)||this;return n.message=i,n.notSupportedTypeName=a,n.schemaUrl=e.schemaUrl,n}return a(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}(l);e.NotSupportedFilter=s;var d=function(t){function e(r,i,a){var n=t.call(this,r,o.IncludeExclude)||this;return n.values=a,n.isExclude=i,n.schemaUrl=e.schemaUrl,n}return a(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}(l);e.IncludeExcludeFilter=d;var u=function(t){function e(r,i,a,n){var l=t.call(this,r,o.TopN)||this;return l.operator=i,l.itemCount=a,l.schemaUrl=e.schemaUrl,l.orderBy=n,l}return a(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}(l);e.TopNFilter=u;var c=function(t){function e(r,i,a,n,l){var s=t.call(this,r,o.RelativeDate)||this;return s.operator=i,s.timeUnitsCount=a,s.timeUnitType=n,s.includeToday=l,s.schemaUrl=e.schemaUrl,s}return a(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}(l);e.RelativeDateFilter=c;var p=function(t){function e(r,i,a,n){var l=t.call(this,r,o.RelativeTime)||this;return l.operator=i,l.timeUnitsCount=a,l.timeUnitType=n,l.schemaUrl=e.schemaUrl,l}return a(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}(l);e.RelativeTimeFilter=p;var f=function(t){function e(r,i){for(var a=[],n=2;n0&&!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,s=o.keyValues;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 s.conditions=l,s}return a(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}(l);function m(t){if(t.filterType)return t.filterType;var e=t,r=t;return"string"==typeof e.operator&&Array.isArray(e.values)?o.Basic:"string"==typeof r.logicalOperator&&Array.isArray(r.conditions)?o.Advanced:o.Unknown}function V(t){return!(!t.table||!t.column||t.aggregationFunction)}e.AdvancedFilter=y,e.isFilterKeyColumnsTarget=function(t){return V(t)&&!!t.keys},e.isBasicFilterWithKeys=function(t){return m(t)===o.Basic&&!!t.keyValues},e.getFilterType=m,e.isMeasure=function(t){return void 0!==t.table&&void 0!==t.measure},e.isColumn=V,e.isHierarchyLevel=function(t){return!(!(t.table&&t.hierarchy&&t.hierarchyLevel)||t.aggregationFunction)},e.isHierarchyLevelAggr=function(t){return!!(t.table&&t.hierarchy&&t.hierarchyLevel&&t.aggregationFunction)},e.isColumnAggr=function(t){return!!(t.table&&t.column&&t.aggregationFunction)},function(t){t[t.Bottom=0]="Bottom",t[t.Left=1]="Left"}(e.PageNavigationPosition||(e.PageNavigationPosition={})),function(t){t[t.Interactive=0]="Interactive",t[t.ResultOnly=1]="ResultOnly"}(e.QnaMode||(e.QnaMode={})),function(t){t[t.Summarized=0]="Summarized",t[t.Underlying=1]="Underlying"}(e.ExportDataType||(e.ExportDataType={})),function(t){t[t.Off=0]="Off",t[t.Presentation=1]="Presentation"}(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"},function(t){t[t.Ascending=1]="Ascending",t[t.Descending=2]="Descending"}(e.SortDirection||(e.SortDirection={}));var g=function(){function t(t){this.$schema=t}return t.prototype.toJSON=function(){return{$schema:this.$schema}},t}();e.Selector=g;var b=function(t){function e(r){var i=t.call(this,e.schemaUrl)||this;return i.pageName=r,i}return a(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}(g);e.PageSelector=b;var w=function(t){function e(r){var i=t.call(this,e.schemaUrl)||this;return i.visualName=r,i}return a(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}(g);e.VisualSelector=w;var P=function(t){function e(e){var r=t.call(this,w.schemaUrl)||this;return r.visualType=e,r}return a(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}(g);e.VisualTypeSelector=P;var O=function(t){function e(e){var r=t.call(this,w.schemaUrl)||this;return r.target=e,r}return a(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}(g);function S(t){return Array.isArray(t)}function _(t){return t&&!!t.groupName}function T(t){return Array.isArray(t)}function E(t){var e=t.message;return e||(e=t.path+" is invalid. Not meeting "+t.keyword+" constraint"),{message:e}}e.SlicerTargetSelector=O,function(t){t[t.Enabled=0]="Enabled",t[t.Disabled=1]="Disabled",t[t.Hidden=2]="Hidden"}(e.CommandDisplayOption||(e.CommandDisplayOption={})),function(t){t[t.Grouping=0]="Grouping",t[t.Measure=1]="Measure",t[t.GroupingOrMeasure=2]="GroupingOrMeasure"}(e.VisualDataRoleKind||(e.VisualDataRoleKind={})),function(t){t[t.Measure=0]="Measure",t[t.Grouping=1]="Grouping"}(e.VisualDataRoleKindPreference||(e.VisualDataRoleKindPreference={})),e.isOnLoadFilters=function(t){return t&&!S(t)},e.isReportFiltersArray=S,e.isFlatMenuExtension=function(t){return t&&!_(t)},e.isGroupedMenuExtension=_,e.isIExtensions=function(t){return t&&!T(t)},e.isIExtensionArray=T,e.validateVisualSelector=function(t){var e=n.Validators.visualSelectorValidator.validate(t);return e?e.map(E):void 0},e.validateSlicer=function(t){var e=n.Validators.slicerValidator.validate(t);return e?e.map(E):void 0},e.validateSlicerState=function(t){var e=n.Validators.slicerStateValidator.validate(t);return e?e.map(E):void 0},e.validatePlayBookmarkRequest=function(t){var e=n.Validators.playBookmarkRequestValidator.validate(t);return e?e.map(E):void 0},e.validateAddBookmarkRequest=function(t){var e=n.Validators.addBookmarkRequestValidator.validate(t);return e?e.map(E):void 0},e.validateApplyBookmarkByNameRequest=function(t){var e=n.Validators.applyBookmarkByNameRequestValidator.validate(t);return e?e.map(E):void 0},e.validateApplyBookmarkStateRequest=function(t){var e=n.Validators.applyBookmarkStateRequestValidator.validate(t);return e?e.map(E):void 0},e.validateCaptureBookmarkRequest=function(t){var e=n.Validators.captureBookmarkRequestValidator.validate(t);return e?e.map(E):void 0},e.validateSettings=function(t){var e=n.Validators.settingsValidator.validate(t);return e?e.map(E):void 0},e.validatePanes=function(t){var e=n.Validators.reportPanesValidator.validate(t);return e?e.map(E):void 0},e.validateBookmarksPane=function(t){var e=n.Validators.bookmarksPaneValidator.validate(t);return e?e.map(E):void 0},e.validateFiltersPane=function(t){var e=n.Validators.filtersPaneValidator.validate(t);return e?e.map(E):void 0},e.validateFieldsPane=function(t){var e=n.Validators.fieldsPaneValidator.validate(t);return e?e.map(E):void 0},e.validatePageNavigationPane=function(t){var e=n.Validators.pageNavigationPaneValidator.validate(t);return e?e.map(E):void 0},e.validateSelectionPane=function(t){var e=n.Validators.selectionPaneValidator.validate(t);return e?e.map(E):void 0},e.validateSyncSlicersPane=function(t){var e=n.Validators.syncSlicersPaneValidator.validate(t);return e?e.map(E):void 0},e.validateVisualizationsPane=function(t){var e=n.Validators.visualizationsPaneValidator.validate(t);return e?e.map(E):void 0},e.validateCustomPageSize=function(t){var e=n.Validators.customPageSizeValidator.validate(t);return e?e.map(E):void 0},e.validateExtension=function(t){var e=n.Validators.extensionValidator.validate(t);return e?e.map(E):void 0},e.validateMenuGroupExtension=function(t){var e=n.Validators.menuGroupExtensionValidator.validate(t);return e?e.map(E):void 0},e.validateReportLoad=function(t){var e=n.Validators.reportLoadValidator.validate(t);return e?e.map(E):void 0},e.validatePaginatedReportLoad=function(t){var e=n.Validators.paginatedReportLoadValidator.validate(t);return e?e.map(E):void 0},e.validateCreateReport=function(t){var e=n.Validators.reportCreateValidator.validate(t);return e?e.map(E):void 0},e.validateDashboardLoad=function(t){var e=n.Validators.dashboardLoadValidator.validate(t);return e?e.map(E):void 0},e.validateTileLoad=function(t){var e=n.Validators.tileLoadValidator.validate(t);return e?e.map(E):void 0},e.validatePage=function(t){var e=n.Validators.pageValidator.validate(t);return e?e.map(E):void 0},e.validateFilter=function(t){var e=n.Validators.filterValidator.validate(t);return e?e.map(E):void 0},e.validateUpdateFiltersRequest=function(t){var e=n.Validators.updateFiltersRequestValidator.validate(t);return e?e.map(E):void 0},e.validateSaveAsParameters=function(t){var e=n.Validators.saveAsParametersValidator.validate(t);return e?e.map(E):void 0},e.validateLoadQnaConfiguration=function(t){var e=n.Validators.loadQnaValidator.validate(t);return e?e.map(E):void 0},e.validateQnaInterpretInputData=function(t){var e=n.Validators.qnaInterpretInputDataValidator.validate(t);return e?e.map(E):void 0},e.validateExportDataRequest=function(t){var e=n.Validators.exportDataRequestValidator.validate(t);return e?e.map(E):void 0},e.validateVisualHeader=function(t){var e=n.Validators.visualHeaderValidator.validate(t);return e?e.map(E):void 0},e.validateVisualSettings=function(t){var e=n.Validators.visualSettingsValidator.validate(t);return e?e.map(E):void 0},e.validateCommandsSettings=function(t){var e=n.Validators.commandsSettingsValidator.validate(t);return e?e.map(E):void 0},e.validateCustomTheme=function(t){var e=n.Validators.customThemeValidator.validate(t);return e?e.map(E):void 0}},function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.Validators=void 0;var i=r(2),a=r(5),o=r(6),n=r(7),l=r(8),s=r(9),d=r(10),u=r(11),c=r(12),p=r(13),f=r(14),h=r(15),v=r(16),y=r(17),m=r(18),V=r(19),g=r(20),b=r(21),w=r(22),P=r(23),O=r(24),S=r(25),_=r(26),T=r(27),E=r(28),F=r(29),R=r(4),x=r(30);e.Validators={addBookmarkRequestValidator:new a.AddBookmarkRequestValidator,advancedFilterTypeValidator:new R.EnumValidator([0]),advancedFilterValidator:new c.AdvancedFilterValidator,anyArrayValidator:new R.ArrayValidator([new _.AnyOfValidator([new R.StringValidator,new R.NumberValidator,new R.BooleanValidator])]),anyFilterValidator:new _.AnyOfValidator([new c.BasicFilterValidator,new c.AdvancedFilterValidator,new c.IncludeExcludeFilterValidator,new c.NotSupportedFilterValidator,new c.RelativeDateFilterValidator,new c.TopNFilterValidator,new c.RelativeTimeFilterValidator]),anyValueValidator:new _.AnyOfValidator([new R.StringValidator,new R.NumberValidator,new R.BooleanValidator]),actionBarValidator:new i.ActionBarValidator,applyBookmarkByNameRequestValidator:new a.ApplyBookmarkByNameRequestValidator,applyBookmarkStateRequestValidator:new a.ApplyBookmarkStateRequestValidator,applyBookmarkValidator:new _.AnyOfValidator([new a.ApplyBookmarkByNameRequestValidator,new a.ApplyBookmarkStateRequestValidator]),backgroundValidator:new R.EnumValidator([0,1]),basicFilterTypeValidator:new R.EnumValidator([1]),basicFilterValidator:new c.BasicFilterValidator,booleanArrayValidator:new R.BooleanArrayValidator,booleanValidator:new R.BooleanValidator,bookmarksPaneValidator:new h.BookmarksPaneValidator,captureBookmarkOptionsValidator:new a.CaptureBookmarkOptionsValidator,captureBookmarkRequestValidator:new a.CaptureBookmarkRequestValidator,commandDisplayOptionValidator:new R.EnumValidator([0,1,2]),commandExtensionSelectorValidator:new _.AnyOfValidator([new b.VisualSelectorValidator,new b.VisualTypeSelectorValidator]),commandExtensionArrayValidator:new R.ArrayValidator([new u.CommandExtensionValidator]),commandExtensionValidator:new u.CommandExtensionValidator,commandsSettingsArrayValidator:new R.ArrayValidator([new o.CommandsSettingsValidator]),commandsSettingsValidator:new o.CommandsSettingsValidator,conditionItemValidator:new c.ConditionItemValidator,contrastModeValidator:new R.EnumValidator([0,1,2,3,4]),customLayoutDisplayOptionValidator:new R.EnumValidator([0,1,2]),customLayoutValidator:new p.CustomLayoutValidator,customPageSizeValidator:new f.CustomPageSizeValidator,customThemeValidator:new n.CustomThemeValidator,dashboardLoadValidator:new l.DashboardLoadValidator,datasetBindingValidator:new s.DatasetBindingValidator,displayStateModeValidator:new R.EnumValidator([0,1]),displayStateValidator:new p.DisplayStateValidator,exportDataRequestValidator:new d.ExportDataRequestValidator,extensionArrayValidator:new R.ArrayValidator([new u.ExtensionValidator]),extensionsValidator:new _.AnyOfValidator([new R.ArrayValidator([new u.ExtensionValidator]),new u.ExtensionsValidator]),extensionPointsValidator:new u.ExtensionPointsValidator,extensionValidator:new u.ExtensionValidator,fieldForbiddenValidator:new T.FieldForbiddenValidator,fieldRequiredValidator:new E.FieldRequiredValidator,fieldsPaneValidator:new h.FieldsPaneValidator,filterColumnTargetValidator:new c.FilterColumnTargetValidator,filterDisplaySettingsValidator:new c.FilterDisplaySettingsValidator,filterConditionsValidator:new R.ArrayValidator([new c.ConditionItemValidator]),filterHierarchyTargetValidator:new c.FilterHierarchyTargetValidator,filterMeasureTargetValidator:new c.FilterMeasureTargetValidator,filterTargetValidator:new _.AnyOfValidator([new c.FilterColumnTargetValidator,new c.FilterHierarchyTargetValidator,new c.FilterMeasureTargetValidator]),filterValidator:new c.FilterValidator,filterTypeValidator:new R.EnumValidator([0,1,2,3,4,5,6,7]),filtersArrayValidator:new R.ArrayValidator([new c.FilterValidator]),filtersOperationsUpdateValidator:new R.EnumValidator([1,2,3]),filtersOperationsRemoveAllValidator:new R.EnumValidator([0]),filtersPaneValidator:new h.FiltersPaneValidator,hyperlinkClickBehaviorValidator:new R.EnumValidator([0,1,2]),includeExcludeFilterValidator:new c.IncludeExcludeFilterValidator,includeExludeFilterTypeValidator:new R.EnumValidator([3]),layoutTypeValidator:new R.EnumValidator([0,1,2,3]),loadQnaValidator:new v.LoadQnaValidator,menuExtensionValidator:new _.AnyOfValidator([new u.FlatMenuExtensionValidator,new u.GroupedMenuExtensionValidator]),menuGroupExtensionArrayValidator:new R.ArrayValidator([new u.MenuGroupExtensionValidator]),menuGroupExtensionValidator:new u.MenuGroupExtensionValidator,menuLocationValidator:new R.EnumValidator([0,1]),notSupportedFilterTypeValidator:new R.EnumValidator([2]),notSupportedFilterValidator:new c.NotSupportedFilterValidator,numberArrayValidator:new R.NumberArrayValidator,numberValidator:new R.NumberValidator,onLoadFiltersBaseValidator:new _.AnyOfValidator([new c.OnLoadFiltersBaseValidator,new c.OnLoadFiltersBaseRemoveOperationValidator]),pageLayoutValidator:new F.MapValidator([new R.StringValidator],[new p.VisualLayoutValidator]),pageNavigationPaneValidator:new h.PageNavigationPaneValidator,pageNavigationPositionValidator:new R.EnumValidator([0,1]),pageSizeTypeValidator:new R.EnumValidator([0,1,2,3,4,5]),pageSizeValidator:new f.PageSizeValidator,pageValidator:new f.PageValidator,pageViewFieldValidator:new f.PageViewFieldValidator,pagesLayoutValidator:new F.MapValidator([new R.StringValidator],[new p.PageLayoutValidator]),paginatedReportCommandsValidator:new o.PaginatedReportCommandsValidator,paginatedReportLoadValidator:new V.PaginatedReportLoadValidator,paginatedReportsettingsValidator:new w.PaginatedReportSettingsValidator,parametersPanelValidator:new x.ParametersPanelValidator,permissionsValidator:new R.EnumValidator([0,1,2,4,7]),playBookmarkRequestValidator:new a.PlayBookmarkRequestValidator,qnaInterpretInputDataValidator:new v.QnaInterpretInputDataValidator,qnaPanesValidator:new h.QnaPanesValidator,qnaSettingValidator:new v.QnaSettingsValidator,relativeDateFilterOperatorValidator:new R.EnumValidator([0,1,2]),relativeDateFilterTimeUnitTypeValidator:new R.EnumValidator([0,1,2,3,4,5,6]),relativeDateFilterTypeValidator:new R.EnumValidator([4]),relativeDateFilterValidator:new c.RelativeDateFilterValidator,relativeDateTimeFilterTypeValidator:new R.EnumValidator([4,7]),relativeDateTimeFilterUnitTypeValidator:new R.EnumValidator([0,1,2,3,4,5,6,7,8]),relativeTimeFilterTimeUnitTypeValidator:new R.EnumValidator([7,8]),relativeTimeFilterTypeValidator:new R.EnumValidator([7]),relativeTimeFilterValidator:new c.RelativeTimeFilterValidator,reportBarsValidator:new i.ReportBarsValidator,reportCreateValidator:new y.ReportCreateValidator,reportLoadFiltersValidator:new _.AnyOfValidator([new R.ArrayValidator([new c.FilterValidator]),new c.OnLoadFiltersValidator]),reportLoadValidator:new m.ReportLoadValidator,reportPanesValidator:new h.ReportPanesValidator,saveAsParametersValidator:new g.SaveAsParametersValidator,selectionPaneValidator:new h.SelectionPaneValidator,settingsValidator:new w.SettingsValidator,singleCommandSettingsValidator:new o.SingleCommandSettingsValidator,slicerSelectorValidator:new _.AnyOfValidator([new b.VisualSelectorValidator,new b.SlicerTargetSelectorValidator]),slicerStateValidator:new P.SlicerStateValidator,slicerTargetValidator:new _.AnyOfValidator([new c.FilterColumnTargetValidator,new c.FilterHierarchyTargetValidator,new c.FilterMeasureTargetValidator,new c.FilterKeyColumnsTargetValidator,new c.FilterKeyHierarchyTargetValidator]),slicerValidator:new P.SlicerValidator,stringArrayValidator:new R.StringArrayValidator,stringValidator:new R.StringValidator,syncSlicersPaneValidator:new h.SyncSlicersPaneValidator,tileLoadValidator:new O.TileLoadValidator,tokenTypeValidator:new R.EnumValidator([0,1]),topNFilterTypeValidator:new R.EnumValidator([5]),topNFilterValidator:new c.TopNFilterValidator,updateFiltersRequestValidator:new _.AnyOfValidator([new c.UpdateFiltersRequestValidator,new c.RemoveFiltersRequestValidator]),viewModeValidator:new R.EnumValidator([0,1]),visualCommandSelectorValidator:new _.AnyOfValidator([new b.VisualSelectorValidator,new b.VisualTypeSelectorValidator]),visualHeaderSelectorValidator:new _.AnyOfValidator([new b.VisualSelectorValidator,new b.VisualTypeSelectorValidator]),visualHeaderSettingsValidator:new S.VisualHeaderSettingsValidator,visualHeaderValidator:new S.VisualHeaderValidator,visualHeadersValidator:new R.ArrayValidator([new S.VisualHeaderValidator]),visualizationsPaneValidator:new h.VisualizationsPaneValidator,visualLayoutValidator:new p.VisualLayoutValidator,visualSelectorValidator:new b.VisualSelectorValidator,visualSettingsValidator:new S.VisualSettingsValidator,visualTypeSelectorValidator:new b.VisualTypeSelectorValidator}},function(t,e,r){var i,a=this&&this.__extends||(i=function(t,e){return(i=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])})(t,e)},function(t,e){function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.ActionBarValidator=e.ReportBarsValidator=void 0;var o=r(3),n=r(4),l=r(1),s=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return a(e,t),e.prototype.validate=function(e,r,i){if(null==e)return null;var a=t.prototype.validate.call(this,e,r,i);if(a)return a;var n=[{field:"actionBar",validators:[l.Validators.actionBarValidator]}];return new o.MultipleFieldsValidator(n).validate(e,r,i)},e}(n.ObjectValidator);e.ReportBarsValidator=s;var d=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return a(e,t),e.prototype.validate=function(e,r,i){if(null==e)return null;var a=t.prototype.validate.call(this,e,r,i);if(a)return a;var n=[{field:"visible",validators:[l.Validators.booleanValidator]}];return new o.MultipleFieldsValidator(n).validate(e,r,i)},e}(n.ObjectValidator);e.ActionBarValidator=d},function(t,e){Object.defineProperty(e,"__esModule",{value:!0}),e.MultipleFieldsValidator=void 0;var r=function(){function t(t){this.fieldValidatorsPairs=t}return t.prototype.validate=function(t,e,r){if(!this.fieldValidatorsPairs)return null;for(var i=e?e+"."+r:r,a=0,o=this.fieldValidatorsPairs;a0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0?"&":"?";return t+=i+e+"="+r},e.isSavedInternal=function(t,e,a){return r(this,void 0,void 0,(function(){return i(this,(function(r){switch(r.label){case 0:return r.trys.push([0,2,,3]),[4,t.get("/report/hasUnsavedChanges",{uid:e},a)];case 1:return[2,!r.sent().body];case 2:throw r.sent().body;case 3:return[2]}}))}))},e.isRDLEmbed=function(t){return t.toLowerCase().indexOf("/rdlembed?")>=0},e.autoAuthInEmbedUrl=function(t){return t&&decodeURIComponent(t).toLowerCase().indexOf("autoauth=true")>=0},e.getRandomValue=o,e.getTimeDiffInMilliseconds=function(t,e){return Math.abs(t.getTime()-e.getTime())}},function(t,e){Object.defineProperty(e,"__esModule",{value:!0}),e.EmbedUrlNotSupported=e.APINotSupportedForRDLError=void 0,e.APINotSupportedForRDLError="This API is currently not supported for RDL reports",e.EmbedUrlNotSupported="Embed URL is invalid for this scenario. Please use Power BI REST APIs to get the valid URL"},function(t,e,r){var i,a=this&&this.__extends||(i=function(t,e){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])})(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}),o=this&&this.__awaiter||function(t,e,r,i){return new(r||(r=Promise))((function(a,o){function n(t){try{s(i.next(t))}catch(t){o(t)}}function l(t){try{s(i.throw(t))}catch(t){o(t)}}function s(t){var e;t.done?a(t.value):(e=t.value,e instanceof r?e:new r((function(t){t(e)}))).then(n,l)}s((i=i.apply(t,e||[])).next())}))},n=this&&this.__generator||function(t,e){var r,i,a,o,n={label:0,sent:function(){if(1&a[0])throw a[1];return a[1]},trys:[],ops:[]};return o={next:l(0),throw:l(1),return:l(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function l(o){return function(l){return function(o){if(r)throw new TypeError("Generator is already executing.");for(;n;)try{if(r=1,i&&(a=2&o[0]?i.return:o[0]?i.throw||((a=i.return)&&a.call(i),0):i.next)&&!(a=a.call(i,o[1])).done)return a;switch(i=0,a&&(o=[2&o[0],a.value]),o[0]){case 0:case 1:a=o;break;case 4:return n.label++,{value:o[1],done:!1};case 5:n.label++,i=o[1],o=[0];continue;case 7:o=n.ops.pop(),n.trys.pop();continue;default:if(!(a=n.trys,(a=a.length>0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&!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,s=o.keyValues;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 s.conditions=l,s}return a(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}(l);function m(t){if(t.filterType)return t.filterType;var e=t,r=t;return"string"==typeof e.operator&&Array.isArray(e.values)?o.Basic:"string"==typeof r.logicalOperator&&Array.isArray(r.conditions)?o.Advanced:o.Unknown}function V(t){return!(!t.table||!t.column||t.aggregationFunction)}e.AdvancedFilter=y,e.isFilterKeyColumnsTarget=function(t){return V(t)&&!!t.keys},e.isBasicFilterWithKeys=function(t){return m(t)===o.Basic&&!!t.keyValues},e.getFilterType=m,e.isMeasure=function(t){return void 0!==t.table&&void 0!==t.measure},e.isColumn=V,e.isHierarchyLevel=function(t){return!(!(t.table&&t.hierarchy&&t.hierarchyLevel)||t.aggregationFunction)},e.isHierarchyLevelAggr=function(t){return!!(t.table&&t.hierarchy&&t.hierarchyLevel&&t.aggregationFunction)},e.isColumnAggr=function(t){return!!(t.table&&t.column&&t.aggregationFunction)},function(t){t[t.Bottom=0]="Bottom",t[t.Left=1]="Left"}(e.PageNavigationPosition||(e.PageNavigationPosition={})),function(t){t[t.Interactive=0]="Interactive",t[t.ResultOnly=1]="ResultOnly"}(e.QnaMode||(e.QnaMode={})),function(t){t[t.Summarized=0]="Summarized",t[t.Underlying=1]="Underlying"}(e.ExportDataType||(e.ExportDataType={})),function(t){t[t.Off=0]="Off",t[t.Presentation=1]="Presentation"}(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"},function(t){t[t.Ascending=1]="Ascending",t[t.Descending=2]="Descending"}(e.SortDirection||(e.SortDirection={}));var g=function(){function t(t){this.$schema=t}return t.prototype.toJSON=function(){return{$schema:this.$schema}},t}();e.Selector=g;var b=function(t){function e(r){var i=t.call(this,e.schemaUrl)||this;return i.pageName=r,i}return a(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}(g);e.PageSelector=b;var w=function(t){function e(r){var i=t.call(this,e.schemaUrl)||this;return i.visualName=r,i}return a(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}(g);e.VisualSelector=w;var P=function(t){function e(e){var r=t.call(this,w.schemaUrl)||this;return r.visualType=e,r}return a(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}(g);e.VisualTypeSelector=P;var O=function(t){function e(e){var r=t.call(this,w.schemaUrl)||this;return r.target=e,r}return a(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}(g);function S(t){return Array.isArray(t)}function _(t){return t&&!!t.groupName}function T(t){return Array.isArray(t)}function E(t){var e=t.message;return e||(e=t.path+" is invalid. Not meeting "+t.keyword+" constraint"),{message:e}}e.SlicerTargetSelector=O,function(t){t[t.Enabled=0]="Enabled",t[t.Disabled=1]="Disabled",t[t.Hidden=2]="Hidden"}(e.CommandDisplayOption||(e.CommandDisplayOption={})),function(t){t[t.Grouping=0]="Grouping",t[t.Measure=1]="Measure",t[t.GroupingOrMeasure=2]="GroupingOrMeasure"}(e.VisualDataRoleKind||(e.VisualDataRoleKind={})),function(t){t[t.Measure=0]="Measure",t[t.Grouping=1]="Grouping"}(e.VisualDataRoleKindPreference||(e.VisualDataRoleKindPreference={})),e.isOnLoadFilters=function(t){return t&&!S(t)},e.isReportFiltersArray=S,e.isFlatMenuExtension=function(t){return t&&!_(t)},e.isGroupedMenuExtension=_,e.isIExtensions=function(t){return t&&!T(t)},e.isIExtensionArray=T,e.validateVisualSelector=function(t){var e=n.Validators.visualSelectorValidator.validate(t);return e?e.map(E):void 0},e.validateSlicer=function(t){var e=n.Validators.slicerValidator.validate(t);return e?e.map(E):void 0},e.validateSlicerState=function(t){var e=n.Validators.slicerStateValidator.validate(t);return e?e.map(E):void 0},e.validatePlayBookmarkRequest=function(t){var e=n.Validators.playBookmarkRequestValidator.validate(t);return e?e.map(E):void 0},e.validateAddBookmarkRequest=function(t){var e=n.Validators.addBookmarkRequestValidator.validate(t);return e?e.map(E):void 0},e.validateApplyBookmarkByNameRequest=function(t){var e=n.Validators.applyBookmarkByNameRequestValidator.validate(t);return e?e.map(E):void 0},e.validateApplyBookmarkStateRequest=function(t){var e=n.Validators.applyBookmarkStateRequestValidator.validate(t);return e?e.map(E):void 0},e.validateCaptureBookmarkRequest=function(t){var e=n.Validators.captureBookmarkRequestValidator.validate(t);return e?e.map(E):void 0},e.validateSettings=function(t){var e=n.Validators.settingsValidator.validate(t);return e?e.map(E):void 0},e.validatePanes=function(t){var e=n.Validators.reportPanesValidator.validate(t);return e?e.map(E):void 0},e.validateBookmarksPane=function(t){var e=n.Validators.bookmarksPaneValidator.validate(t);return e?e.map(E):void 0},e.validateFiltersPane=function(t){var e=n.Validators.filtersPaneValidator.validate(t);return e?e.map(E):void 0},e.validateFieldsPane=function(t){var e=n.Validators.fieldsPaneValidator.validate(t);return e?e.map(E):void 0},e.validatePageNavigationPane=function(t){var e=n.Validators.pageNavigationPaneValidator.validate(t);return e?e.map(E):void 0},e.validateSelectionPane=function(t){var e=n.Validators.selectionPaneValidator.validate(t);return e?e.map(E):void 0},e.validateSyncSlicersPane=function(t){var e=n.Validators.syncSlicersPaneValidator.validate(t);return e?e.map(E):void 0},e.validateVisualizationsPane=function(t){var e=n.Validators.visualizationsPaneValidator.validate(t);return e?e.map(E):void 0},e.validateCustomPageSize=function(t){var e=n.Validators.customPageSizeValidator.validate(t);return e?e.map(E):void 0},e.validateExtension=function(t){var e=n.Validators.extensionValidator.validate(t);return e?e.map(E):void 0},e.validateMenuGroupExtension=function(t){var e=n.Validators.menuGroupExtensionValidator.validate(t);return e?e.map(E):void 0},e.validateReportLoad=function(t){var e=n.Validators.reportLoadValidator.validate(t);return e?e.map(E):void 0},e.validatePaginatedReportLoad=function(t){var e=n.Validators.paginatedReportLoadValidator.validate(t);return e?e.map(E):void 0},e.validateCreateReport=function(t){var e=n.Validators.reportCreateValidator.validate(t);return e?e.map(E):void 0},e.validateDashboardLoad=function(t){var e=n.Validators.dashboardLoadValidator.validate(t);return e?e.map(E):void 0},e.validateTileLoad=function(t){var e=n.Validators.tileLoadValidator.validate(t);return e?e.map(E):void 0},e.validatePage=function(t){var e=n.Validators.pageValidator.validate(t);return e?e.map(E):void 0},e.validateFilter=function(t){var e=n.Validators.filterValidator.validate(t);return e?e.map(E):void 0},e.validateUpdateFiltersRequest=function(t){var e=n.Validators.updateFiltersRequestValidator.validate(t);return e?e.map(E):void 0},e.validateSaveAsParameters=function(t){var e=n.Validators.saveAsParametersValidator.validate(t);return e?e.map(E):void 0},e.validateLoadQnaConfiguration=function(t){var e=n.Validators.loadQnaValidator.validate(t);return e?e.map(E):void 0},e.validateQnaInterpretInputData=function(t){var e=n.Validators.qnaInterpretInputDataValidator.validate(t);return e?e.map(E):void 0},e.validateExportDataRequest=function(t){var e=n.Validators.exportDataRequestValidator.validate(t);return e?e.map(E):void 0},e.validateVisualHeader=function(t){var e=n.Validators.visualHeaderValidator.validate(t);return e?e.map(E):void 0},e.validateVisualSettings=function(t){var e=n.Validators.visualSettingsValidator.validate(t);return e?e.map(E):void 0},e.validateCommandsSettings=function(t){var e=n.Validators.commandsSettingsValidator.validate(t);return e?e.map(E):void 0},e.validateCustomTheme=function(t){var e=n.Validators.customThemeValidator.validate(t);return e?e.map(E):void 0}},function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.Validators=void 0;var i=r(2),a=r(5),o=r(6),n=r(7),l=r(8),s=r(9),d=r(10),u=r(11),c=r(12),p=r(13),f=r(14),h=r(15),v=r(16),y=r(17),m=r(18),V=r(19),g=r(20),b=r(21),w=r(22),P=r(23),O=r(24),S=r(25),_=r(26),T=r(27),E=r(28),F=r(29),R=r(4),x=r(30);e.Validators={addBookmarkRequestValidator:new a.AddBookmarkRequestValidator,advancedFilterTypeValidator:new R.EnumValidator([0]),advancedFilterValidator:new c.AdvancedFilterValidator,anyArrayValidator:new R.ArrayValidator([new _.AnyOfValidator([new R.StringValidator,new R.NumberValidator,new R.BooleanValidator])]),anyFilterValidator:new _.AnyOfValidator([new c.BasicFilterValidator,new c.AdvancedFilterValidator,new c.IncludeExcludeFilterValidator,new c.NotSupportedFilterValidator,new c.RelativeDateFilterValidator,new c.TopNFilterValidator,new c.RelativeTimeFilterValidator]),anyValueValidator:new _.AnyOfValidator([new R.StringValidator,new R.NumberValidator,new R.BooleanValidator]),actionBarValidator:new i.ActionBarValidator,applyBookmarkByNameRequestValidator:new a.ApplyBookmarkByNameRequestValidator,applyBookmarkStateRequestValidator:new a.ApplyBookmarkStateRequestValidator,applyBookmarkValidator:new _.AnyOfValidator([new a.ApplyBookmarkByNameRequestValidator,new a.ApplyBookmarkStateRequestValidator]),backgroundValidator:new R.EnumValidator([0,1]),basicFilterTypeValidator:new R.EnumValidator([1]),basicFilterValidator:new c.BasicFilterValidator,booleanArrayValidator:new R.BooleanArrayValidator,booleanValidator:new R.BooleanValidator,bookmarksPaneValidator:new h.BookmarksPaneValidator,captureBookmarkOptionsValidator:new a.CaptureBookmarkOptionsValidator,captureBookmarkRequestValidator:new a.CaptureBookmarkRequestValidator,commandDisplayOptionValidator:new R.EnumValidator([0,1,2]),commandExtensionSelectorValidator:new _.AnyOfValidator([new b.VisualSelectorValidator,new b.VisualTypeSelectorValidator]),commandExtensionArrayValidator:new R.ArrayValidator([new u.CommandExtensionValidator]),commandExtensionValidator:new u.CommandExtensionValidator,commandsSettingsArrayValidator:new R.ArrayValidator([new o.CommandsSettingsValidator]),commandsSettingsValidator:new o.CommandsSettingsValidator,conditionItemValidator:new c.ConditionItemValidator,contrastModeValidator:new R.EnumValidator([0,1,2,3,4]),customLayoutDisplayOptionValidator:new R.EnumValidator([0,1,2]),customLayoutValidator:new p.CustomLayoutValidator,customPageSizeValidator:new f.CustomPageSizeValidator,customThemeValidator:new n.CustomThemeValidator,dashboardLoadValidator:new l.DashboardLoadValidator,datasetBindingValidator:new s.DatasetBindingValidator,displayStateModeValidator:new R.EnumValidator([0,1]),displayStateValidator:new p.DisplayStateValidator,exportDataRequestValidator:new d.ExportDataRequestValidator,extensionArrayValidator:new R.ArrayValidator([new u.ExtensionValidator]),extensionsValidator:new _.AnyOfValidator([new R.ArrayValidator([new u.ExtensionValidator]),new u.ExtensionsValidator]),extensionPointsValidator:new u.ExtensionPointsValidator,extensionValidator:new u.ExtensionValidator,fieldForbiddenValidator:new T.FieldForbiddenValidator,fieldRequiredValidator:new E.FieldRequiredValidator,fieldsPaneValidator:new h.FieldsPaneValidator,filterColumnTargetValidator:new c.FilterColumnTargetValidator,filterDisplaySettingsValidator:new c.FilterDisplaySettingsValidator,filterConditionsValidator:new R.ArrayValidator([new c.ConditionItemValidator]),filterHierarchyTargetValidator:new c.FilterHierarchyTargetValidator,filterMeasureTargetValidator:new c.FilterMeasureTargetValidator,filterTargetValidator:new _.AnyOfValidator([new c.FilterColumnTargetValidator,new c.FilterHierarchyTargetValidator,new c.FilterMeasureTargetValidator]),filterValidator:new c.FilterValidator,filterTypeValidator:new R.EnumValidator([0,1,2,3,4,5,6,7]),filtersArrayValidator:new R.ArrayValidator([new c.FilterValidator]),filtersOperationsUpdateValidator:new R.EnumValidator([1,2,3]),filtersOperationsRemoveAllValidator:new R.EnumValidator([0]),filtersPaneValidator:new h.FiltersPaneValidator,hyperlinkClickBehaviorValidator:new R.EnumValidator([0,1,2]),includeExcludeFilterValidator:new c.IncludeExcludeFilterValidator,includeExludeFilterTypeValidator:new R.EnumValidator([3]),layoutTypeValidator:new R.EnumValidator([0,1,2,3]),loadQnaValidator:new v.LoadQnaValidator,menuExtensionValidator:new _.AnyOfValidator([new u.FlatMenuExtensionValidator,new u.GroupedMenuExtensionValidator]),menuGroupExtensionArrayValidator:new R.ArrayValidator([new u.MenuGroupExtensionValidator]),menuGroupExtensionValidator:new u.MenuGroupExtensionValidator,menuLocationValidator:new R.EnumValidator([0,1]),notSupportedFilterTypeValidator:new R.EnumValidator([2]),notSupportedFilterValidator:new c.NotSupportedFilterValidator,numberArrayValidator:new R.NumberArrayValidator,numberValidator:new R.NumberValidator,onLoadFiltersBaseValidator:new _.AnyOfValidator([new c.OnLoadFiltersBaseValidator,new c.OnLoadFiltersBaseRemoveOperationValidator]),pageLayoutValidator:new F.MapValidator([new R.StringValidator],[new p.VisualLayoutValidator]),pageNavigationPaneValidator:new h.PageNavigationPaneValidator,pageNavigationPositionValidator:new R.EnumValidator([0,1]),pageSizeTypeValidator:new R.EnumValidator([0,1,2,3,4,5]),pageSizeValidator:new f.PageSizeValidator,pageValidator:new f.PageValidator,pageViewFieldValidator:new f.PageViewFieldValidator,pagesLayoutValidator:new F.MapValidator([new R.StringValidator],[new p.PageLayoutValidator]),paginatedReportCommandsValidator:new o.PaginatedReportCommandsValidator,paginatedReportLoadValidator:new V.PaginatedReportLoadValidator,paginatedReportsettingsValidator:new w.PaginatedReportSettingsValidator,parametersPanelValidator:new x.ParametersPanelValidator,permissionsValidator:new R.EnumValidator([0,1,2,4,7]),playBookmarkRequestValidator:new a.PlayBookmarkRequestValidator,qnaInterpretInputDataValidator:new v.QnaInterpretInputDataValidator,qnaPanesValidator:new h.QnaPanesValidator,qnaSettingValidator:new v.QnaSettingsValidator,relativeDateFilterOperatorValidator:new R.EnumValidator([0,1,2]),relativeDateFilterTimeUnitTypeValidator:new R.EnumValidator([0,1,2,3,4,5,6]),relativeDateFilterTypeValidator:new R.EnumValidator([4]),relativeDateFilterValidator:new c.RelativeDateFilterValidator,relativeDateTimeFilterTypeValidator:new R.EnumValidator([4,7]),relativeDateTimeFilterUnitTypeValidator:new R.EnumValidator([0,1,2,3,4,5,6,7,8]),relativeTimeFilterTimeUnitTypeValidator:new R.EnumValidator([7,8]),relativeTimeFilterTypeValidator:new R.EnumValidator([7]),relativeTimeFilterValidator:new c.RelativeTimeFilterValidator,reportBarsValidator:new i.ReportBarsValidator,reportCreateValidator:new y.ReportCreateValidator,reportLoadFiltersValidator:new _.AnyOfValidator([new R.ArrayValidator([new c.FilterValidator]),new c.OnLoadFiltersValidator]),reportLoadValidator:new m.ReportLoadValidator,reportPanesValidator:new h.ReportPanesValidator,saveAsParametersValidator:new g.SaveAsParametersValidator,selectionPaneValidator:new h.SelectionPaneValidator,settingsValidator:new w.SettingsValidator,singleCommandSettingsValidator:new o.SingleCommandSettingsValidator,slicerSelectorValidator:new _.AnyOfValidator([new b.VisualSelectorValidator,new b.SlicerTargetSelectorValidator]),slicerStateValidator:new P.SlicerStateValidator,slicerTargetValidator:new _.AnyOfValidator([new c.FilterColumnTargetValidator,new c.FilterHierarchyTargetValidator,new c.FilterMeasureTargetValidator,new c.FilterKeyColumnsTargetValidator,new c.FilterKeyHierarchyTargetValidator]),slicerValidator:new P.SlicerValidator,stringArrayValidator:new R.StringArrayValidator,stringValidator:new R.StringValidator,syncSlicersPaneValidator:new h.SyncSlicersPaneValidator,tileLoadValidator:new O.TileLoadValidator,tokenTypeValidator:new R.EnumValidator([0,1]),topNFilterTypeValidator:new R.EnumValidator([5]),topNFilterValidator:new c.TopNFilterValidator,updateFiltersRequestValidator:new _.AnyOfValidator([new c.UpdateFiltersRequestValidator,new c.RemoveFiltersRequestValidator]),viewModeValidator:new R.EnumValidator([0,1]),visualCommandSelectorValidator:new _.AnyOfValidator([new b.VisualSelectorValidator,new b.VisualTypeSelectorValidator]),visualHeaderSelectorValidator:new _.AnyOfValidator([new b.VisualSelectorValidator,new b.VisualTypeSelectorValidator]),visualHeaderSettingsValidator:new S.VisualHeaderSettingsValidator,visualHeaderValidator:new S.VisualHeaderValidator,visualHeadersValidator:new R.ArrayValidator([new S.VisualHeaderValidator]),visualizationsPaneValidator:new h.VisualizationsPaneValidator,visualLayoutValidator:new p.VisualLayoutValidator,visualSelectorValidator:new b.VisualSelectorValidator,visualSettingsValidator:new S.VisualSettingsValidator,visualTypeSelectorValidator:new b.VisualTypeSelectorValidator}},function(t,e,r){var i,a=this&&this.__extends||(i=function(t,e){return(i=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])})(t,e)},function(t,e){function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.ActionBarValidator=e.ReportBarsValidator=void 0;var o=r(3),n=r(4),l=r(1),s=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return a(e,t),e.prototype.validate=function(e,r,i){if(null==e)return null;var a=t.prototype.validate.call(this,e,r,i);if(a)return a;var n=[{field:"actionBar",validators:[l.Validators.actionBarValidator]}];return new o.MultipleFieldsValidator(n).validate(e,r,i)},e}(n.ObjectValidator);e.ReportBarsValidator=s;var d=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return a(e,t),e.prototype.validate=function(e,r,i){if(null==e)return null;var a=t.prototype.validate.call(this,e,r,i);if(a)return a;var n=[{field:"visible",validators:[l.Validators.booleanValidator]}];return new o.MultipleFieldsValidator(n).validate(e,r,i)},e}(n.ObjectValidator);e.ActionBarValidator=d},function(t,e){Object.defineProperty(e,"__esModule",{value:!0}),e.MultipleFieldsValidator=void 0;var r=function(){function t(t){this.fieldValidatorsPairs=t}return t.prototype.validate=function(t,e,r){if(!this.fieldValidatorsPairs)return null;for(var i=e?e+"."+r:r,a=0,o=this.fieldValidatorsPairs;a0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0?"&":"?";return t+=i+e+"="+r},e.isSavedInternal=function(t,e,a){return r(this,void 0,void 0,(function(){return i(this,(function(r){switch(r.label){case 0:return r.trys.push([0,2,,3]),[4,t.get("/report/hasUnsavedChanges",{uid:e},a)];case 1:return[2,!r.sent().body];case 2:throw r.sent().body;case 3:return[2]}}))}))},e.isRDLEmbed=function(t){return t.toLowerCase().indexOf("/rdlembed?")>=0},e.autoAuthInEmbedUrl=function(t){return t&&decodeURIComponent(t).toLowerCase().indexOf("autoauth=true")>=0},e.getRandomValue=o,e.getTimeDiffInMilliseconds=function(t,e){return Math.abs(t.getTime()-e.getTime())}},function(t,e){Object.defineProperty(e,"__esModule",{value:!0}),e.EmbedUrlNotSupported=e.APINotSupportedForRDLError=void 0,e.APINotSupportedForRDLError="This API is currently not supported for RDL reports",e.EmbedUrlNotSupported="Embed URL is invalid for this scenario. Please use Power BI REST APIs to get the valid URL"},function(t,e,r){var i,a=this&&this.__extends||(i=function(t,e){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])})(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}),o=this&&this.__awaiter||function(t,e,r,i){return new(r||(r=Promise))((function(a,o){function n(t){try{s(i.next(t))}catch(t){o(t)}}function l(t){try{s(i.throw(t))}catch(t){o(t)}}function s(t){var e;t.done?a(t.value):(e=t.value,e instanceof r?e:new r((function(t){t(e)}))).then(n,l)}s((i=i.apply(t,e||[])).next())}))},n=this&&this.__generator||function(t,e){var r,i,a,o,n={label:0,sent:function(){if(1&a[0])throw a[1];return a[1]},trys:[],ops:[]};return o={next:l(0),throw:l(1),return:l(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function l(o){return function(l){return function(o){if(r)throw new TypeError("Generator is already executing.");for(;n;)try{if(r=1,i&&(a=2&o[0]?i.return:o[0]?i.throw||((a=i.return)&&a.call(i),0):i.next)&&!(a=a.call(i,o[1])).done)return a;switch(i=0,a&&(o=[2&o[0],a.value]),o[0]){case 0:case 1:a=o;break;case 4:return n.label++,{value:o[1],done:!1};case 5:n.label++,i=o[1],o=[0];continue;case 7:o=n.ops.pop(),n.trys.pop();continue;default:if(!(a=n.trys,(a=a.length>0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]2&&"[]"===n.slice(l-2)&&(s=!0,r[n=n.slice(0,l-2)]||(r[n]=[])),a=o[1]?V(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(-1!==(i=t.indexOf("?"))){var l=t.substr(i+1,t.length);t=t.substr(0,i),o=this.parseQueryString(l)}for("/"!==(t=decodeURI(t)).charAt(0)&&(t="/"+t),(e=t.length)>1&&"/"===t.charAt(e-1)&&(t=t.substr(0,e-1),n=!0),r=0;r2&&"[]"===n.slice(l-2)&&(s=!0,r[n=n.slice(0,l-2)]||(r[n]=[])),a=o[1]?V(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(-1!==(i=t.indexOf("?"))){var l=t.substr(i+1,t.length);t=t.substr(0,i),o=this.parseQueryString(l)}for("/"!==(t=decodeURI(t)).charAt(0)&&(t="/"+t),(e=t.length)>1&&"/"===t.charAt(e-1)&&(t=t.substr(0,e-1),n=!0),r=0;r { ... }); * ``` * @@ -927,7 +927,7 @@ export class Report extends Embed implements IReportNode, IFilterable { * @param {number} height * @returns {Promise>} */ - async resizePage(pageSizeType: PageSizeType, width?: number, height?: number): Promise> { + async resizeActivePage(pageSizeType: PageSizeType, width?: number, height?: number): Promise> { const pageSize: ICustomPageSize = { type: pageSizeType, width: width, diff --git a/test/filterBuilders.spec.ts b/test/filterBuilders.spec.ts index 7ad03c20..f571334e 100644 --- a/test/filterBuilders.spec.ts +++ b/test/filterBuilders.spec.ts @@ -10,24 +10,6 @@ describe('filter builders', function () { column: 'column1' }; describe('Basic filter builder', function () { - it('validates Basic filter', function () { - // Arrange - const values = [1, 2, 3]; - const operator: models.BasicFilterOperators = 'In'; - const basicFilter: models.BasicFilter = new models.BasicFilter(target, operator, values); - basicFilter.requireSingleSelection = false; - - // Act - const basicFilterWithBuilder: models.BasicFilter = new BasicFilterBuilder() - .withTarget(target.table, target.column) - .in(values) - .build(); - - // Assert - expect(basicFilterWithBuilder).toBeDefined(); - expect(basicFilterWithBuilder).toEqual(basicFilter); - }); - it('validates Basic filter with target object', function () { // Arrange const values = [1, 2, 3]; @@ -48,34 +30,6 @@ describe('filter builders', function () { }); describe('Advanced filter builder', function () { - it('validates Advanced filter', function () { - // Arrange - const logicalOperator: models.AdvancedFilterLogicalOperators = 'And'; - const conditions: models.IAdvancedFilterCondition[] = [ - { - operator: 'Contains', - value: 'value1' - }, - { - operator: 'Contains', - value: 'value2' - } - ]; - const advancedFilter: models.AdvancedFilter = new models.AdvancedFilter(target, logicalOperator, conditions); - - // Act - const advancedFilterWithBuilder: models.AdvancedFilter = new AdvancedFilterBuilder() - .withTarget(target.table, target.column) - .addCondition(conditions[0].operator, conditions[0].value) - .and() - .addCondition(conditions[1].operator, conditions[1].value) - .build(); - - // Assert - expect(advancedFilterWithBuilder).toBeDefined(); - expect(advancedFilterWithBuilder).toEqual(advancedFilter); - }); - it('validates Advanced filter with target object', function () { // Arrange const logicalOperator: models.AdvancedFilterLogicalOperators = 'And'; @@ -104,125 +58,52 @@ describe('filter builders', function () { expect(advancedFilterWithBuilder).toEqual(advancedFilter); }); - it('build method of Advanced filter builder throws error if conditions are not provided', function () { - // Arrange - const advancedFilterBuilder: AdvancedFilterBuilder = new AdvancedFilterBuilder() - .withTarget(target.table, target.column) - .and(); - - // Act - const attemptBuild = () => { - advancedFilterBuilder.build(); + describe('TopN filter builder', function () { + const orderByTarget: models.ITarget = { + table: 'table1', + measure: 'measure1' }; - - // Assert - expect(attemptBuild).toThrowError(Error); - }); - }); - - describe('TopN filter builder', function () { - const orderByTarget: models.ITarget = { - table: 'table1', - measure: 'measure1' - }; - it('validates TopN filter', function () { - // Arrange - const operator: models.TopNFilterOperators = 'Top'; - const itemCount = 10; - const topNFilter: models.TopNFilter = new models.TopNFilter(target, operator, itemCount, orderByTarget); - - // Act - const topNFilterWithBuilder: models.TopNFilter = new TopNFilterBuilder() - .withTarget(target.table, target.column) - .top(itemCount) - .orderBy(orderByTarget.table, orderByTarget.measure) - .build(); - - // Assert - expect(topNFilterWithBuilder).toBeDefined(); - expect(topNFilterWithBuilder).toEqual(topNFilter); + it('validates TopN filter with target object', function () { + // Arrange + const operator: models.TopNFilterOperators = 'Top'; + const itemCount = 10; + const topNFilter: models.TopNFilter = new models.TopNFilter(target, operator, itemCount, orderByTarget); + + // Act + const topNFilterWithBuilder: models.TopNFilter = new TopNFilterBuilder() + .withTargetObject(target) + .top(itemCount) + .orderByTarget({ table: orderByTarget.table, measure: orderByTarget.measure }) + .build(); + + // Assert + expect(topNFilterWithBuilder).toBeDefined(); + expect(topNFilterWithBuilder).toEqual(topNFilter); + }); }); - it('validates TopN filter with target object', function () { - // Arrange - const operator: models.TopNFilterOperators = 'Top'; - const itemCount = 10; - const topNFilter: models.TopNFilter = new models.TopNFilter(target, operator, itemCount, orderByTarget); - - // Act - const topNFilterWithBuilder: models.TopNFilter = new TopNFilterBuilder() - .withTargetObject(target) - .top(itemCount) - .orderBy(orderByTarget.table, orderByTarget.measure) - .build(); - - // Assert - expect(topNFilterWithBuilder).toBeDefined(); - expect(topNFilterWithBuilder).toEqual(topNFilter); + describe("Realtive date filter builder", function () { + it('validates relative date with target object', function () { + // Arrange + const operator: models.RelativeDateOperators = models.RelativeDateOperators.InLast; + const timeUnitsCount = 10; + const timeUnitType = models.RelativeDateFilterTimeUnit.Days; + const includeToday = true; + const relativeDateFilter: models.RelativeDateFilter = new models.RelativeDateFilter(target, operator, timeUnitsCount, timeUnitType, includeToday); + + + // Act + const relativeDateFilterWithBuilder: models.RelativeDateFilter = new RelativeDateFilterBuilder() + .withTargetObject(target) + .inLast(timeUnitsCount, timeUnitType) + .includeToday(true) + .build(); + + // Assert + expect(relativeDateFilterWithBuilder).toBeDefined(); + expect(relativeDateFilterWithBuilder).toEqual(relativeDateFilter); + }); }); - }); - - describe("Realtive date filter builder", function () { - it("validates relative date filter", function () { - // Arrange - const operator: models.RelativeDateOperators = models.RelativeDateOperators.InLast; - const timeUnitsCount = 10; - const timeUnitType = models.RelativeDateFilterTimeUnit.Days; - const includeToday = true; - const relativeDateFilter: models.RelativeDateFilter = new models.RelativeDateFilter(target, operator, timeUnitsCount, timeUnitType, includeToday); - - // Act - const relativeDateFilterWithBuilder: models.RelativeDateFilter = new RelativeDateFilterBuilder() - .withTarget(target.table, target.column) - .inLast(timeUnitsCount, timeUnitType) - .build(); - - // Assert - expect(relativeDateFilterWithBuilder).toBeDefined(); - expect(relativeDateFilterWithBuilder).toEqual(relativeDateFilter); - }); - - it('validates relative date with target object', function () { - // Arrange - const operator: models.RelativeDateOperators = models.RelativeDateOperators.InLast; - const timeUnitsCount = 10; - const timeUnitType = models.RelativeDateFilterTimeUnit.Days; - const includeToday = true; - const relativeDateFilter: models.RelativeDateFilter = new models.RelativeDateFilter(target, operator, timeUnitsCount, timeUnitType, includeToday); - - - // Act - const relativeDateFilterWithBuilder: models.RelativeDateFilter = new RelativeDateFilterBuilder() - .withTargetObject(target) - .inLast(timeUnitsCount, timeUnitType) - .includeToday(true) - .build(); - - // Assert - expect(relativeDateFilterWithBuilder).toBeDefined(); - expect(relativeDateFilterWithBuilder).toEqual(relativeDateFilter); - }); - }); - - describe("Realtive time filter builder", function () { - it("validates time filter", function () { - // Arrange - const operator: models.RelativeDateOperators = models.RelativeDateOperators.InLast; - const timeUnitsCount = 10; - const timeUnitType = models.RelativeDateFilterTimeUnit.Hours; - const relativeTimeFilter: models.RelativeTimeFilter = new models.RelativeTimeFilter(target, operator, timeUnitsCount, timeUnitType); - - // Act - const relativeTimeFilterWithBuilder: models.RelativeTimeFilter = new RelativeTimeFilterBuilder() - .withTarget(target.table, target.column) - .inLast(timeUnitsCount, timeUnitType) - .build(); - - // Assert - expect(relativeTimeFilterWithBuilder).toBeDefined(); - expect(relativeTimeFilterWithBuilder).toEqual(relativeTimeFilter); - }); - it('validates time with target object', function () { // Arrange const operator: models.RelativeDateOperators = models.RelativeDateOperators.InLast; diff --git a/test/test.spec.ts b/test/test.spec.ts index 4d1b9925..30efaa66 100644 --- a/test/test.spec.ts +++ b/test/test.spec.ts @@ -4245,7 +4245,7 @@ describe('SDK-to-HPM', function () { }); }); - it('report.resizePage returns promise that rejects with validation error if page size type is invalid', function (done) { + it('report.resizeActivePage returns promise that rejects with validation error if page size type is invalid', function (done) { // Arrange const pageSizeType = 5; const width = 200; @@ -4271,7 +4271,7 @@ describe('SDK-to-HPM', function () { spyHpm.patch.and.returnValue(Promise.reject(testData.expectedError)); // Act - report.resizePage(pageSizeType, width, height) + report.resizeActivePage(pageSizeType, width, height) .catch(error => { // Assert expect(spyHpm.patch).toHaveBeenCalledWith('/report/settings', testData.settings, { uid: uniqueId }, iframe.contentWindow); @@ -4280,19 +4280,19 @@ describe('SDK-to-HPM', function () { }); }); - it('report.resizePage returns promise that resolves with null if request is valid and accepted', function (done) { + it('report.resizeActivePage returns promise that resolves with null if request is valid and accepted', function (done) { // Arrange const pageSizeType = models.PageSizeType.Custom; const width = 200; const height = 100; - spyApp.resizePage.and.returnValue(Promise.resolve(null)); + spyApp.resizeActivePage.and.returnValue(Promise.resolve(null)); // Act - spyApp.resizePage(pageSizeType, width, height) + spyApp.resizeActivePage(pageSizeType, width, height) .then(response => { // Assert - expect(spyApp.resizePage).toHaveBeenCalled(); + expect(spyApp.resizeActivePage).toHaveBeenCalled(); expect(response).toEqual(null); done(); }); @@ -4834,13 +4834,13 @@ describe('SDK-to-HPM', function () { const width = 200; const height = 100; - spyApp.resizePage.and.returnValue(Promise.resolve(null)); + spyApp.resizeActivePage.and.returnValue(Promise.resolve(null)); // Act - spyApp.resizePage(pageSizeType, width, height) + spyApp.resizeActivePage(pageSizeType, width, height) .then(response => { // Assert - expect(spyApp.resizePage).toHaveBeenCalled(); + expect(spyApp.resizeActivePage).toHaveBeenCalled(); expect(response).toEqual(null); done(); }); diff --git a/test/utility/mockApp.ts b/test/utility/mockApp.ts index ba8d424a..e91a634a 100644 --- a/test/utility/mockApp.ts +++ b/test/utility/mockApp.ts @@ -19,7 +19,7 @@ export interface IApp { removeOptionsMenuCommand(commandName: string): Promise; setVisualDisplayState(pageName: string, visualName: string, displayState: models.VisualContainerDisplayMode): Promise; resizeVisual(pageName: string, visualName: string, width: number, height: number): Promise; - resizePage(pageSizeType: models.PageSizeType, width: number, height: number): Promise; + resizeActivePage(pageSizeType: models.PageSizeType, width: number, height: number): Promise; moveVisual(pageName: string, visualName: string, x: number, y: number, z?: number): Promise; // Pages getPages(): Promise; @@ -63,7 +63,7 @@ export const mockAppSpyObj = { removeOptionsMenuCommand: jasmine.createSpy("removeOptionsMenuCommand").and.returnValue(Promise.resolve(null)), setVisualDisplayState: jasmine.createSpy("setVisualDisplayState").and.returnValue(Promise.resolve(null)), resizeVisual: jasmine.createSpy("resizeVisual").and.returnValue(Promise.resolve(null)), - resizePage: jasmine.createSpy("resizePage").and.returnValue(Promise.resolve(null)), + resizeActivePage: jasmine.createSpy("resizeActivePage").and.returnValue(Promise.resolve(null)), moveVisual: jasmine.createSpy("moveVisual").and.returnValue(Promise.resolve(null)), // Pages getPages: jasmine.createSpy("getPages").and.returnValue(Promise.resolve(null)), @@ -100,7 +100,7 @@ export const mockAppSpyObj = { mockAppSpyObj.validateSettings.calls.reset(); mockAppSpyObj.setVisualDisplayState.calls.reset(); mockAppSpyObj.resizeVisual.calls.reset(); - mockAppSpyObj.resizePage.calls.reset(); + mockAppSpyObj.resizeActivePage.calls.reset(); mockAppSpyObj.moveVisual.calls.reset(); mockAppSpyObj.getPages.calls.reset(); mockAppSpyObj.getPageByName.calls.reset(); From 1264c1f9a44a6b2602d8d6e61446ec74598cb543 Mon Sep 17 00:00:00 2001 From: Anchal Gupta Date: Thu, 17 Jun 2021 08:39:52 +0000 Subject: [PATCH 069/125] Merged PR 178954: Add target object different methods and test cases **This PR adds the following features in JS SDK:** 1. Added below methods: withColumnTarget withMeasureTarget withHierarchyLevelTarget WithColumnAggregation withHierarchyLevelAggregationTarget 2. Added test cases **Checklist** - [X] Build and test scripts are passing, if available - [X] Open errors/warning details are shared with the reviewer - [X] There are no violations to the applicable coding guidelines - [X] Application has a consistent exception management setup - [X] Code does not contain commented code - [X] Is testing performed and results captured in ADO and list of test cases executed shared in PR? - [X] Generic exception type is not handled - [X] Stacktrace of error is not returned - [X] All external packages/libraries are installed from an online package manager Related work items: #605702 --- dist/powerbi-client.d.ts | 196 +++--- dist/powerbi.js | 330 ++++++--- dist/powerbi.min.js | 4 +- src/FilterBuilders/advancedFilterBuilder.ts | 28 +- src/FilterBuilders/basicFilterBuilder.ts | 30 +- src/FilterBuilders/filterBuilder.ts | 101 ++- .../relativeDateFilterBuilder.ts | 29 +- .../relativeTimeFilterBuilder.ts | 29 +- src/FilterBuilders/topNFilterBuilder.ts | 29 +- test/filterBuilders.spec.ts | 641 ++++++++++++++++-- 10 files changed, 1023 insertions(+), 394 deletions(-) diff --git a/dist/powerbi-client.d.ts b/dist/powerbi-client.d.ts index f6e5747b..f826e013 100644 --- a/dist/powerbi-client.d.ts +++ b/dist/powerbi-client.d.ts @@ -2290,47 +2290,95 @@ declare module "factories" { export const routerFactory: IRouterFactory; } declare module "FilterBuilders/filterBuilder" { - import { Filter, IFilterTarget } from "powerbi-models"; + import { IFilterTarget } from "powerbi-models"; /** * Generic filter builder for BasicFilter, AdvancedFilter, RelativeDate, RelativeTime and TopN * - * @interface IFilterBuilder + * @class */ - export interface IFilterBuilder { - withTargetObject(target: IFilterTarget): IFilterBuilder; - build(): Filter; + export class FilterBuilder { + target: IFilterTarget; + /** + * Sets target property for filter with target object + * + * ```javascript + * const target = { + * table: 'table1', + * column: 'column1' + * }; + * + * const filterBuilder = new FilterBuilder().withTargetObject(target); + * ``` + * + * @returns {FilterBuilder} + */ + withTargetObject(target: IFilterTarget): this; + /** + * Sets target property for filter with column target object + * + * ``` + * const filterBuilder = new FilterBuilder().withColumnTarget(tableName, columnName); + * ``` + * + * @returns {FilterBuilder} + */ + withColumnTarget(tableName: string, columnName: string): this; + /** + * Sets target property for filter with measure target object + * + * ``` + * const filterBuilder = new FilterBuilder().withMeasureTarget(tableName, measure); + * ``` + * + * @returns {FilterBuilder} + */ + withMeasureTarget(tableName: string, measure: string): this; + /** + * Sets target property for filter with hierarchy level target object + * + * ``` + * const filterBuilder = new FilterBuilder().withHierarchyLevelTarget(tableName, hierarchy, hierarchyLevel); + * ``` + * + * @returns {FilterBuilder} + */ + withHierarchyLevelTarget(tableName: string, hierarchy: string, hierarchyLevel: string): this; + /** + * Sets target property for filter with column aggregation target object + * + * ``` + * const filterBuilder = new FilterBuilder().withColumnAggregation(tableName, columnName, aggregationFunction); + * ``` + * + * @returns {FilterBuilder} + */ + withColumnAggregation(tableName: string, columnName: string, aggregationFunction: string): this; + /** + * Sets target property for filter with hierarchy level aggregation target object + * + * ``` + * const filterBuilder = new FilterBuilder().withHierarchyLevelAggregationTarget(tableName, hierarchy, hierarchyLevel, aggregationFunction); + * ``` + * + * @returns {FilterBuilder} + */ + withHierarchyLevelAggregationTarget(tableName: string, hierarchy: string, hierarchyLevel: string, aggregationFunction: string): this; } } declare module "FilterBuilders/basicFilterBuilder" { - import { BasicFilter, IFilterTarget } from "powerbi-models"; - import { IFilterBuilder } from "FilterBuilders/filterBuilder"; + import { BasicFilter } from "powerbi-models"; + import { FilterBuilder } from "FilterBuilders/filterBuilder"; /** * Power BI Basic filter builder component * * @export * @class BasicFilterBuilder - * @implements {IFilterBuilder} + * @extends {FilterBuilder} */ - export class BasicFilterBuilder implements IFilterBuilder { - private target; + export class BasicFilterBuilder extends FilterBuilder { private values; private operator; private isRequireSingleSelection; - /** - * Sets target property for Basic filter with target object - * - * ```javascript - * const target = { - * table: 'table1', - * column: 'column1' - * }; - * - * const basicFilterBuilder = new BasicFilterBuilder().withTargetObject(target); - * ``` - * - * @returns {BasicFilterBuilder} - */ - withTargetObject(target: IFilterTarget): BasicFilterBuilder; /** * Sets In as operator for Basic filter * @@ -2389,34 +2437,18 @@ declare module "FilterBuilders/basicFilterBuilder" { } } declare module "FilterBuilders/advancedFilterBuilder" { - import { AdvancedFilter, IFilterTarget, AdvancedFilterConditionOperators } from "powerbi-models"; - import { IFilterBuilder } from "FilterBuilders/filterBuilder"; + import { AdvancedFilter, AdvancedFilterConditionOperators } from "powerbi-models"; + import { FilterBuilder } from "FilterBuilders/filterBuilder"; /** * Power BI Advanced filter builder component * * @export * @class AdvancedFilterBuilder - * @implements {IFilterBuilder} + * @extends {FilterBuilder} */ - export class AdvancedFilterBuilder implements IFilterBuilder { - private target; + export class AdvancedFilterBuilder extends FilterBuilder { private logicalOperator; private conditions; - /** - * Sets target property for Advanced filter with target object - * - * ```javascript - * const target = { - * table: 'table1', - * column: 'column1' - * }; - * - * const advancedFilterBuilder = new AdvancedFilterBuilder().withTargetObject(target); - * ``` - * - * @returns {AdvancedFilterBuilder} - */ - withTargetObject(target: IFilterTarget): AdvancedFilterBuilder; /** * Sets And as logical operator for Advanced filter * @@ -2465,35 +2497,19 @@ declare module "FilterBuilders/advancedFilterBuilder" { } } declare module "FilterBuilders/topNFilterBuilder" { - import { IFilterTarget, ITarget, TopNFilter } from "powerbi-models"; - import { IFilterBuilder } from "FilterBuilders/filterBuilder"; + import { ITarget, TopNFilter } from "powerbi-models"; + import { FilterBuilder } from "FilterBuilders/filterBuilder"; /** * Power BI Top N filter builder component * * @export * @class TopNFilterBuilder - * @implements {IFilterBuilder} + * @extends {FilterBuilder} */ - export class TopNFilterBuilder implements IFilterBuilder { - private target; + export class TopNFilterBuilder extends FilterBuilder { private itemCount; private operator; private orderByTargetValue; - /** - * Sets target property for Top N filter with target object - * - * ```javascript - * const target = { - * table: 'table1', - * column: 'column1' - * }; - * - * const topNFilterBuilder = new TopNFilterBuilder().withTargetObject(target); - * ``` - * - * @returns {TopNFilterBuilder} - */ - withTargetObject(target: IFilterTarget): TopNFilterBuilder; /** * Sets Top as operator for Top N filter * @@ -2541,37 +2557,20 @@ declare module "FilterBuilders/topNFilterBuilder" { } } declare module "FilterBuilders/relativeDateFilterBuilder" { - import { IFilterTarget, RelativeDateFilter, RelativeDateFilterTimeUnit } from "powerbi-models"; - import { IFilterBuilder } from "FilterBuilders/filterBuilder"; + import { RelativeDateFilter, RelativeDateFilterTimeUnit } from "powerbi-models"; + import { FilterBuilder } from "FilterBuilders/filterBuilder"; /** * Power BI Relative Date filter builder component * * @export * @class RelativeDateFilterBuilder - * @implements {IFilterBuilder} + * @extends {FilterBuilder} */ - export class RelativeDateFilterBuilder implements IFilterBuilder { - private target; + export class RelativeDateFilterBuilder extends FilterBuilder { private operator; private timeUnitsCount; private timeUnitType; private isTodayIncluded; - /** - * Sets target property for Relative Date filter with target object - * - * ```javascript - * const target = { - * table: 'table1', - * column: 'column1' - * }; - * - * const relativeDateFilterBuilder = new RelativeDateFilterBuilder().withTargetObject(target); - * ``` - * - * @param {IFilterTarget} target - Defines the target property - * @returns {RelativeDateFilterBuilder} - */ - withTargetObject(target: IFilterTarget): RelativeDateFilterBuilder; /** * Sets inLast as operator for Relative Date filter * @@ -2637,36 +2636,19 @@ declare module "FilterBuilders/relativeDateFilterBuilder" { } } declare module "FilterBuilders/relativeTimeFilterBuilder" { - import { IFilterTarget, RelativeTimeFilter, RelativeDateFilterTimeUnit } from "powerbi-models"; - import { IFilterBuilder } from "FilterBuilders/filterBuilder"; + import { RelativeTimeFilter, RelativeDateFilterTimeUnit } from "powerbi-models"; + import { FilterBuilder } from "FilterBuilders/filterBuilder"; /** * Power BI Relative Time filter builder component * * @export * @class RelativeTimeFilterBuilder - * @implements {IFilterBuilder} + * @extends {FilterBuilder} */ - export class RelativeTimeFilterBuilder implements IFilterBuilder { - private target; + export class RelativeTimeFilterBuilder extends FilterBuilder { private operator; private timeUnitsCount; private timeUnitType; - /** - * Sets target property for Relative Time filter with target object - * - * ```javascript - * const target = { - * table: 'table1', - * column: 'column1' - * }; - * - * const relativeTimeFilterBuilder = new RelativeTimeFilterBuilder().withTargetObject(target); - * ``` - * - * @param {IFilterTarget} target - Defines the target property - * @returns {RelativeTimeFilterBuilder} - */ - withTargetObject(target: IFilterTarget): RelativeTimeFilterBuilder; /** * Sets inLast as operator for Relative Time filter * diff --git a/dist/powerbi.js b/dist/powerbi.js index c49e9e77..b8bf2a7b 100644 --- a/dist/powerbi.js +++ b/dist/powerbi.js @@ -6133,38 +6133,39 @@ return /******/ (function(modules) { // webpackBootstrap // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. +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 (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; }; + return extendStatics(d, b); + }; + return function (d, b) { + if (typeof b !== "function" && b !== null) + throw new TypeError("Class extends value " + String(b) + " is not a constructor or null"); + 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.AdvancedFilterBuilder = void 0; var powerbi_models_1 = __webpack_require__(/*! powerbi-models */ "./node_modules/powerbi-models/dist/models.js"); +var filterBuilder_1 = __webpack_require__(/*! ./filterBuilder */ "./src/FilterBuilders/filterBuilder.ts"); /** * Power BI Advanced filter builder component * * @export * @class AdvancedFilterBuilder - * @implements {IFilterBuilder} + * @extends {FilterBuilder} */ -var AdvancedFilterBuilder = /** @class */ (function () { +var AdvancedFilterBuilder = /** @class */ (function (_super) { + __extends(AdvancedFilterBuilder, _super); function AdvancedFilterBuilder() { - this.conditions = []; + var _this = _super !== null && _super.apply(this, arguments) || this; + _this.conditions = []; + return _this; } - /** - * Sets target property for Advanced filter with target object - * - * ```javascript - * const target = { - * table: 'table1', - * column: 'column1' - * }; - * - * const advancedFilterBuilder = new AdvancedFilterBuilder().withTargetObject(target); - * ``` - * - * @returns {AdvancedFilterBuilder} - */ - AdvancedFilterBuilder.prototype.withTargetObject = function (target) { - this.target = target; - return this; - }; /** * Sets And as logical operator for Advanced filter * @@ -6227,7 +6228,7 @@ var AdvancedFilterBuilder = /** @class */ (function () { return advancedFilter; }; return AdvancedFilterBuilder; -}()); +}(filterBuilder_1.FilterBuilder)); exports.AdvancedFilterBuilder = AdvancedFilterBuilder; @@ -6242,38 +6243,39 @@ exports.AdvancedFilterBuilder = AdvancedFilterBuilder; // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. +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 (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; }; + return extendStatics(d, b); + }; + return function (d, b) { + if (typeof b !== "function" && b !== null) + throw new TypeError("Class extends value " + String(b) + " is not a constructor or null"); + 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.BasicFilterBuilder = void 0; var powerbi_models_1 = __webpack_require__(/*! powerbi-models */ "./node_modules/powerbi-models/dist/models.js"); +var filterBuilder_1 = __webpack_require__(/*! ./filterBuilder */ "./src/FilterBuilders/filterBuilder.ts"); /** * Power BI Basic filter builder component * * @export * @class BasicFilterBuilder - * @implements {IFilterBuilder} + * @extends {FilterBuilder} */ -var BasicFilterBuilder = /** @class */ (function () { +var BasicFilterBuilder = /** @class */ (function (_super) { + __extends(BasicFilterBuilder, _super); function BasicFilterBuilder() { - this.isRequireSingleSelection = false; + var _this = _super !== null && _super.apply(this, arguments) || this; + _this.isRequireSingleSelection = false; + return _this; } - /** - * Sets target property for Basic filter with target object - * - * ```javascript - * const target = { - * table: 'table1', - * column: 'column1' - * }; - * - * const basicFilterBuilder = new BasicFilterBuilder().withTargetObject(target); - * ``` - * - * @returns {BasicFilterBuilder} - */ - BasicFilterBuilder.prototype.withTargetObject = function (target) { - this.target = target; - return this; - }; /** * Sets In as operator for Basic filter * @@ -6350,10 +6352,119 @@ var BasicFilterBuilder = /** @class */ (function () { return basicFilter; }; return BasicFilterBuilder; -}()); +}(filterBuilder_1.FilterBuilder)); exports.BasicFilterBuilder = BasicFilterBuilder; +/***/ }), + +/***/ "./src/FilterBuilders/filterBuilder.ts": +/*!*********************************************!*\ + !*** ./src/FilterBuilders/filterBuilder.ts ***! + \*********************************************/ +/*! no static exports found */ +/***/ (function(module, exports) { + +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. +Object.defineProperty(exports, "__esModule", { value: true }); +exports.FilterBuilder = void 0; +/** + * Generic filter builder for BasicFilter, AdvancedFilter, RelativeDate, RelativeTime and TopN + * + * @class + */ +var FilterBuilder = /** @class */ (function () { + function FilterBuilder() { + } + /** + * Sets target property for filter with target object + * + * ```javascript + * const target = { + * table: 'table1', + * column: 'column1' + * }; + * + * const filterBuilder = new FilterBuilder().withTargetObject(target); + * ``` + * + * @returns {FilterBuilder} + */ + FilterBuilder.prototype.withTargetObject = function (target) { + this.target = target; + return this; + }; + /** + * Sets target property for filter with column target object + * + * ``` + * const filterBuilder = new FilterBuilder().withColumnTarget(tableName, columnName); + * ``` + * + * @returns {FilterBuilder} + */ + FilterBuilder.prototype.withColumnTarget = function (tableName, columnName) { + this.target = { table: tableName, column: columnName }; + return this; + }; + /** + * Sets target property for filter with measure target object + * + * ``` + * const filterBuilder = new FilterBuilder().withMeasureTarget(tableName, measure); + * ``` + * + * @returns {FilterBuilder} + */ + FilterBuilder.prototype.withMeasureTarget = function (tableName, measure) { + this.target = { table: tableName, measure: measure }; + return this; + }; + /** + * Sets target property for filter with hierarchy level target object + * + * ``` + * const filterBuilder = new FilterBuilder().withHierarchyLevelTarget(tableName, hierarchy, hierarchyLevel); + * ``` + * + * @returns {FilterBuilder} + */ + FilterBuilder.prototype.withHierarchyLevelTarget = function (tableName, hierarchy, hierarchyLevel) { + this.target = { table: tableName, hierarchy: hierarchy, hierarchyLevel: hierarchyLevel }; + return this; + }; + /** + * Sets target property for filter with column aggregation target object + * + * ``` + * const filterBuilder = new FilterBuilder().withColumnAggregation(tableName, columnName, aggregationFunction); + * ``` + * + * @returns {FilterBuilder} + */ + FilterBuilder.prototype.withColumnAggregation = function (tableName, columnName, aggregationFunction) { + this.target = { table: tableName, column: columnName, aggregationFunction: aggregationFunction }; + return this; + }; + /** + * Sets target property for filter with hierarchy level aggregation target object + * + * ``` + * const filterBuilder = new FilterBuilder().withHierarchyLevelAggregationTarget(tableName, hierarchy, hierarchyLevel, aggregationFunction); + * ``` + * + * @returns {FilterBuilder} + */ + FilterBuilder.prototype.withHierarchyLevelAggregationTarget = function (tableName, hierarchy, hierarchyLevel, aggregationFunction) { + this.target = { table: tableName, hierarchy: hierarchy, hierarchyLevel: hierarchyLevel, aggregationFunction: aggregationFunction }; + return this; + }; + return FilterBuilder; +}()); +exports.FilterBuilder = FilterBuilder; + + /***/ }), /***/ "./src/FilterBuilders/index.ts": @@ -6390,39 +6501,39 @@ Object.defineProperty(exports, "RelativeTimeFilterBuilder", { enumerable: true, // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. +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 (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; }; + return extendStatics(d, b); + }; + return function (d, b) { + if (typeof b !== "function" && b !== null) + throw new TypeError("Class extends value " + String(b) + " is not a constructor or null"); + 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.RelativeDateFilterBuilder = void 0; var powerbi_models_1 = __webpack_require__(/*! powerbi-models */ "./node_modules/powerbi-models/dist/models.js"); +var filterBuilder_1 = __webpack_require__(/*! ./filterBuilder */ "./src/FilterBuilders/filterBuilder.ts"); /** * Power BI Relative Date filter builder component * * @export * @class RelativeDateFilterBuilder - * @implements {IFilterBuilder} + * @extends {FilterBuilder} */ -var RelativeDateFilterBuilder = /** @class */ (function () { +var RelativeDateFilterBuilder = /** @class */ (function (_super) { + __extends(RelativeDateFilterBuilder, _super); function RelativeDateFilterBuilder() { - this.isTodayIncluded = true; + var _this = _super !== null && _super.apply(this, arguments) || this; + _this.isTodayIncluded = true; + return _this; } - /** - * Sets target property for Relative Date filter with target object - * - * ```javascript - * const target = { - * table: 'table1', - * column: 'column1' - * }; - * - * const relativeDateFilterBuilder = new RelativeDateFilterBuilder().withTargetObject(target); - * ``` - * - * @param {IFilterTarget} target - Defines the target property - * @returns {RelativeDateFilterBuilder} - */ - RelativeDateFilterBuilder.prototype.withTargetObject = function (target) { - this.target = target; - return this; - }; /** * Sets inLast as operator for Relative Date filter * @@ -6507,7 +6618,7 @@ var RelativeDateFilterBuilder = /** @class */ (function () { return relativeDateFilter; }; return RelativeDateFilterBuilder; -}()); +}(filterBuilder_1.FilterBuilder)); exports.RelativeDateFilterBuilder = RelativeDateFilterBuilder; @@ -6522,38 +6633,37 @@ exports.RelativeDateFilterBuilder = RelativeDateFilterBuilder; // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. +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 (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; }; + return extendStatics(d, b); + }; + return function (d, b) { + if (typeof b !== "function" && b !== null) + throw new TypeError("Class extends value " + String(b) + " is not a constructor or null"); + 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.RelativeTimeFilterBuilder = void 0; var powerbi_models_1 = __webpack_require__(/*! powerbi-models */ "./node_modules/powerbi-models/dist/models.js"); +var filterBuilder_1 = __webpack_require__(/*! ./filterBuilder */ "./src/FilterBuilders/filterBuilder.ts"); /** * Power BI Relative Time filter builder component * * @export * @class RelativeTimeFilterBuilder - * @implements {IFilterBuilder} + * @extends {FilterBuilder} */ -var RelativeTimeFilterBuilder = /** @class */ (function () { +var RelativeTimeFilterBuilder = /** @class */ (function (_super) { + __extends(RelativeTimeFilterBuilder, _super); function RelativeTimeFilterBuilder() { + return _super !== null && _super.apply(this, arguments) || this; } - /** - * Sets target property for Relative Time filter with target object - * - * ```javascript - * const target = { - * table: 'table1', - * column: 'column1' - * }; - * - * const relativeTimeFilterBuilder = new RelativeTimeFilterBuilder().withTargetObject(target); - * ``` - * - * @param {IFilterTarget} target - Defines the target property - * @returns {RelativeTimeFilterBuilder} - */ - RelativeTimeFilterBuilder.prototype.withTargetObject = function (target) { - this.target = target; - return this; - }; /** * Sets inLast as operator for Relative Time filter * @@ -6623,7 +6733,7 @@ var RelativeTimeFilterBuilder = /** @class */ (function () { return relativeTimeFilter; }; return RelativeTimeFilterBuilder; -}()); +}(filterBuilder_1.FilterBuilder)); exports.RelativeTimeFilterBuilder = RelativeTimeFilterBuilder; @@ -6638,37 +6748,37 @@ exports.RelativeTimeFilterBuilder = RelativeTimeFilterBuilder; // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. +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 (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; }; + return extendStatics(d, b); + }; + return function (d, b) { + if (typeof b !== "function" && b !== null) + throw new TypeError("Class extends value " + String(b) + " is not a constructor or null"); + 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.TopNFilterBuilder = void 0; var powerbi_models_1 = __webpack_require__(/*! powerbi-models */ "./node_modules/powerbi-models/dist/models.js"); +var filterBuilder_1 = __webpack_require__(/*! ./filterBuilder */ "./src/FilterBuilders/filterBuilder.ts"); /** * Power BI Top N filter builder component * * @export * @class TopNFilterBuilder - * @implements {IFilterBuilder} + * @extends {FilterBuilder} */ -var TopNFilterBuilder = /** @class */ (function () { +var TopNFilterBuilder = /** @class */ (function (_super) { + __extends(TopNFilterBuilder, _super); function TopNFilterBuilder() { + return _super !== null && _super.apply(this, arguments) || this; } - /** - * Sets target property for Top N filter with target object - * - * ```javascript - * const target = { - * table: 'table1', - * column: 'column1' - * }; - * - * const topNFilterBuilder = new TopNFilterBuilder().withTargetObject(target); - * ``` - * - * @returns {TopNFilterBuilder} - */ - TopNFilterBuilder.prototype.withTargetObject = function (target) { - this.target = target; - return this; - }; /** * Sets Top as operator for Top N filter * @@ -6728,7 +6838,7 @@ var TopNFilterBuilder = /** @class */ (function () { return topNFilter; }; return TopNFilterBuilder; -}()); +}(filterBuilder_1.FilterBuilder)); exports.TopNFilterBuilder = TopNFilterBuilder; diff --git a/dist/powerbi.min.js b/dist/powerbi.min.js index 7fcb4539..913a5f41 100644 --- a/dist/powerbi.min.js +++ b/dist/powerbi.min.js @@ -1,10 +1,10 @@ // powerbi-client v2.18.2 // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. -!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){var e={};function r(i){if(e[i])return e[i].exports;var a=e[i]={i:i,l:!1,exports:{}};return t[i].call(a.exports,a,a.exports,r),a.l=!0,a.exports}return r.m=t,r.c=e,r.d=function(t,e,i){r.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:i})},r.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},r.t=function(t,e){if(1&e&&(t=r(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var i=Object.create(null);if(r.r(i),Object.defineProperty(i,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var a in t)r.d(i,a,function(e){return t[e]}.bind(null,a));return i},r.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return r.d(e,"a",e),e},r.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},r.p="",r(r.s=12)}([function(t,e,r){var i;i=function(){return function(t){var e={};function r(i){if(e[i])return e[i].exports;var a=e[i]={i:i,l:!1,exports:{}};return t[i].call(a.exports,a,a.exports,r),a.l=!0,a.exports}return r.m=t,r.c=e,r.d=function(t,e,i){r.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:i})},r.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},r.t=function(t,e){if(1&e&&(t=r(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var i=Object.create(null);if(r.r(i),Object.defineProperty(i,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var a in t)r.d(i,a,function(e){return t[e]}.bind(null,a));return i},r.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return r.d(e,"a",e),e},r.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},r.p="",r(r.s=0)}([function(t,e,r){var i,a=this&&this.__extends||(i=function(t,e){return(i=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])})(t,e)},function(t,e){function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.validateCustomTheme=e.validateCommandsSettings=e.validateVisualSettings=e.validateVisualHeader=e.validateExportDataRequest=e.validateQnaInterpretInputData=e.validateLoadQnaConfiguration=e.validateSaveAsParameters=e.validateUpdateFiltersRequest=e.validateFilter=e.validatePage=e.validateTileLoad=e.validateDashboardLoad=e.validateCreateReport=e.validatePaginatedReportLoad=e.validateReportLoad=e.validateMenuGroupExtension=e.validateExtension=e.validateCustomPageSize=e.validateVisualizationsPane=e.validateSyncSlicersPane=e.validateSelectionPane=e.validatePageNavigationPane=e.validateFieldsPane=e.validateFiltersPane=e.validateBookmarksPane=e.validatePanes=e.validateSettings=e.validateCaptureBookmarkRequest=e.validateApplyBookmarkStateRequest=e.validateApplyBookmarkByNameRequest=e.validateAddBookmarkRequest=e.validatePlayBookmarkRequest=e.validateSlicerState=e.validateSlicer=e.validateVisualSelector=e.isIExtensionArray=e.isIExtensions=e.isGroupedMenuExtension=e.isFlatMenuExtension=e.isReportFiltersArray=e.isOnLoadFilters=e.VisualDataRoleKindPreference=e.VisualDataRoleKind=e.CommandDisplayOption=e.SlicerTargetSelector=e.VisualTypeSelector=e.VisualSelector=e.PageSelector=e.Selector=e.SortDirection=e.LegendPosition=e.TextAlignment=e.CommonErrorCodes=e.BookmarksPlayMode=e.ExportDataType=e.QnaMode=e.PageNavigationPosition=e.isColumnAggr=e.isHierarchyLevelAggr=e.isHierarchyLevel=e.isColumn=e.isMeasure=e.getFilterType=e.isBasicFilterWithKeys=e.isFilterKeyColumnsTarget=e.AdvancedFilter=e.TupleFilter=e.BasicFilterWithKeys=e.BasicFilter=e.RelativeTimeFilter=e.RelativeDateFilter=e.TopNFilter=e.IncludeExcludeFilter=e.NotSupportedFilter=e.Filter=e.RelativeDateOperators=e.RelativeDateFilterTimeUnit=e.FilterType=e.FiltersLevel=e.FiltersOperations=e.MenuLocation=e.ContrastMode=e.TokenType=e.ViewMode=e.Permissions=e.SectionVisibility=e.HyperlinkClickBehavior=e.LayoutType=e.VisualContainerDisplayMode=e.BackgroundType=e.DisplayOption=e.PageSizeType=e.TraceType=void 0;var o,n=r(1);!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"}(e.TraceType||(e.TraceType={})),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"}(e.PageSizeType||(e.PageSizeType={})),function(t){t[t.FitToPage=0]="FitToPage",t[t.FitToWidth=1]="FitToWidth",t[t.ActualSize=2]="ActualSize"}(e.DisplayOption||(e.DisplayOption={})),function(t){t[t.Default=0]="Default",t[t.Transparent=1]="Transparent"}(e.BackgroundType||(e.BackgroundType={})),function(t){t[t.Visible=0]="Visible",t[t.Hidden=1]="Hidden"}(e.VisualContainerDisplayMode||(e.VisualContainerDisplayMode={})),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={})),function(t){t[t.Navigate=0]="Navigate",t[t.NavigateAndRaiseEvent=1]="NavigateAndRaiseEvent",t[t.RaiseEvent=2]="RaiseEvent"}(e.HyperlinkClickBehavior||(e.HyperlinkClickBehavior={})),function(t){t[t.AlwaysVisible=0]="AlwaysVisible",t[t.HiddenInViewMode=1]="HiddenInViewMode"}(e.SectionVisibility||(e.SectionVisibility={})),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"}(e.Permissions||(e.Permissions={})),function(t){t[t.View=0]="View",t[t.Edit=1]="Edit"}(e.ViewMode||(e.ViewMode={})),function(t){t[t.Aad=0]="Aad",t[t.Embed=1]="Embed"}(e.TokenType||(e.TokenType={})),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"}(e.ContrastMode||(e.ContrastMode={})),function(t){t[t.Bottom=0]="Bottom",t[t.Top=1]="Top"}(e.MenuLocation||(e.MenuLocation={})),function(t){t[t.RemoveAll=0]="RemoveAll",t[t.ReplaceAll=1]="ReplaceAll",t[t.Add=2]="Add",t[t.Replace=3]="Replace"}(e.FiltersOperations||(e.FiltersOperations={})),function(t){t[t.Report=0]="Report",t[t.Page=1]="Page",t[t.Visual=2]="Visual"}(e.FiltersLevel||(e.FiltersLevel={})),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"}(o=e.FilterType||(e.FilterType={})),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"}(e.RelativeDateFilterTimeUnit||(e.RelativeDateFilterTimeUnit={})),function(t){t[t.InLast=0]="InLast",t[t.InThis=1]="InThis",t[t.InNext=2]="InNext"}(e.RelativeDateOperators||(e.RelativeDateOperators={}));var l=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=l;var s=function(t){function e(r,i,a){var n=t.call(this,r,o.Unknown)||this;return n.message=i,n.notSupportedTypeName=a,n.schemaUrl=e.schemaUrl,n}return a(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}(l);e.NotSupportedFilter=s;var d=function(t){function e(r,i,a){var n=t.call(this,r,o.IncludeExclude)||this;return n.values=a,n.isExclude=i,n.schemaUrl=e.schemaUrl,n}return a(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}(l);e.IncludeExcludeFilter=d;var u=function(t){function e(r,i,a,n){var l=t.call(this,r,o.TopN)||this;return l.operator=i,l.itemCount=a,l.schemaUrl=e.schemaUrl,l.orderBy=n,l}return a(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}(l);e.TopNFilter=u;var c=function(t){function e(r,i,a,n,l){var s=t.call(this,r,o.RelativeDate)||this;return s.operator=i,s.timeUnitsCount=a,s.timeUnitType=n,s.includeToday=l,s.schemaUrl=e.schemaUrl,s}return a(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}(l);e.RelativeDateFilter=c;var p=function(t){function e(r,i,a,n){var l=t.call(this,r,o.RelativeTime)||this;return l.operator=i,l.timeUnitsCount=a,l.timeUnitType=n,l.schemaUrl=e.schemaUrl,l}return a(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}(l);e.RelativeTimeFilter=p;var f=function(t){function e(r,i){for(var a=[],n=2;n0&&!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,s=o.keyValues;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 s.conditions=l,s}return a(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}(l);function m(t){if(t.filterType)return t.filterType;var e=t,r=t;return"string"==typeof e.operator&&Array.isArray(e.values)?o.Basic:"string"==typeof r.logicalOperator&&Array.isArray(r.conditions)?o.Advanced:o.Unknown}function V(t){return!(!t.table||!t.column||t.aggregationFunction)}e.AdvancedFilter=y,e.isFilterKeyColumnsTarget=function(t){return V(t)&&!!t.keys},e.isBasicFilterWithKeys=function(t){return m(t)===o.Basic&&!!t.keyValues},e.getFilterType=m,e.isMeasure=function(t){return void 0!==t.table&&void 0!==t.measure},e.isColumn=V,e.isHierarchyLevel=function(t){return!(!(t.table&&t.hierarchy&&t.hierarchyLevel)||t.aggregationFunction)},e.isHierarchyLevelAggr=function(t){return!!(t.table&&t.hierarchy&&t.hierarchyLevel&&t.aggregationFunction)},e.isColumnAggr=function(t){return!!(t.table&&t.column&&t.aggregationFunction)},function(t){t[t.Bottom=0]="Bottom",t[t.Left=1]="Left"}(e.PageNavigationPosition||(e.PageNavigationPosition={})),function(t){t[t.Interactive=0]="Interactive",t[t.ResultOnly=1]="ResultOnly"}(e.QnaMode||(e.QnaMode={})),function(t){t[t.Summarized=0]="Summarized",t[t.Underlying=1]="Underlying"}(e.ExportDataType||(e.ExportDataType={})),function(t){t[t.Off=0]="Off",t[t.Presentation=1]="Presentation"}(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"},function(t){t[t.Ascending=1]="Ascending",t[t.Descending=2]="Descending"}(e.SortDirection||(e.SortDirection={}));var g=function(){function t(t){this.$schema=t}return t.prototype.toJSON=function(){return{$schema:this.$schema}},t}();e.Selector=g;var b=function(t){function e(r){var i=t.call(this,e.schemaUrl)||this;return i.pageName=r,i}return a(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}(g);e.PageSelector=b;var w=function(t){function e(r){var i=t.call(this,e.schemaUrl)||this;return i.visualName=r,i}return a(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}(g);e.VisualSelector=w;var P=function(t){function e(e){var r=t.call(this,w.schemaUrl)||this;return r.visualType=e,r}return a(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}(g);e.VisualTypeSelector=P;var O=function(t){function e(e){var r=t.call(this,w.schemaUrl)||this;return r.target=e,r}return a(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}(g);function S(t){return Array.isArray(t)}function _(t){return t&&!!t.groupName}function T(t){return Array.isArray(t)}function E(t){var e=t.message;return e||(e=t.path+" is invalid. Not meeting "+t.keyword+" constraint"),{message:e}}e.SlicerTargetSelector=O,function(t){t[t.Enabled=0]="Enabled",t[t.Disabled=1]="Disabled",t[t.Hidden=2]="Hidden"}(e.CommandDisplayOption||(e.CommandDisplayOption={})),function(t){t[t.Grouping=0]="Grouping",t[t.Measure=1]="Measure",t[t.GroupingOrMeasure=2]="GroupingOrMeasure"}(e.VisualDataRoleKind||(e.VisualDataRoleKind={})),function(t){t[t.Measure=0]="Measure",t[t.Grouping=1]="Grouping"}(e.VisualDataRoleKindPreference||(e.VisualDataRoleKindPreference={})),e.isOnLoadFilters=function(t){return t&&!S(t)},e.isReportFiltersArray=S,e.isFlatMenuExtension=function(t){return t&&!_(t)},e.isGroupedMenuExtension=_,e.isIExtensions=function(t){return t&&!T(t)},e.isIExtensionArray=T,e.validateVisualSelector=function(t){var e=n.Validators.visualSelectorValidator.validate(t);return e?e.map(E):void 0},e.validateSlicer=function(t){var e=n.Validators.slicerValidator.validate(t);return e?e.map(E):void 0},e.validateSlicerState=function(t){var e=n.Validators.slicerStateValidator.validate(t);return e?e.map(E):void 0},e.validatePlayBookmarkRequest=function(t){var e=n.Validators.playBookmarkRequestValidator.validate(t);return e?e.map(E):void 0},e.validateAddBookmarkRequest=function(t){var e=n.Validators.addBookmarkRequestValidator.validate(t);return e?e.map(E):void 0},e.validateApplyBookmarkByNameRequest=function(t){var e=n.Validators.applyBookmarkByNameRequestValidator.validate(t);return e?e.map(E):void 0},e.validateApplyBookmarkStateRequest=function(t){var e=n.Validators.applyBookmarkStateRequestValidator.validate(t);return e?e.map(E):void 0},e.validateCaptureBookmarkRequest=function(t){var e=n.Validators.captureBookmarkRequestValidator.validate(t);return e?e.map(E):void 0},e.validateSettings=function(t){var e=n.Validators.settingsValidator.validate(t);return e?e.map(E):void 0},e.validatePanes=function(t){var e=n.Validators.reportPanesValidator.validate(t);return e?e.map(E):void 0},e.validateBookmarksPane=function(t){var e=n.Validators.bookmarksPaneValidator.validate(t);return e?e.map(E):void 0},e.validateFiltersPane=function(t){var e=n.Validators.filtersPaneValidator.validate(t);return e?e.map(E):void 0},e.validateFieldsPane=function(t){var e=n.Validators.fieldsPaneValidator.validate(t);return e?e.map(E):void 0},e.validatePageNavigationPane=function(t){var e=n.Validators.pageNavigationPaneValidator.validate(t);return e?e.map(E):void 0},e.validateSelectionPane=function(t){var e=n.Validators.selectionPaneValidator.validate(t);return e?e.map(E):void 0},e.validateSyncSlicersPane=function(t){var e=n.Validators.syncSlicersPaneValidator.validate(t);return e?e.map(E):void 0},e.validateVisualizationsPane=function(t){var e=n.Validators.visualizationsPaneValidator.validate(t);return e?e.map(E):void 0},e.validateCustomPageSize=function(t){var e=n.Validators.customPageSizeValidator.validate(t);return e?e.map(E):void 0},e.validateExtension=function(t){var e=n.Validators.extensionValidator.validate(t);return e?e.map(E):void 0},e.validateMenuGroupExtension=function(t){var e=n.Validators.menuGroupExtensionValidator.validate(t);return e?e.map(E):void 0},e.validateReportLoad=function(t){var e=n.Validators.reportLoadValidator.validate(t);return e?e.map(E):void 0},e.validatePaginatedReportLoad=function(t){var e=n.Validators.paginatedReportLoadValidator.validate(t);return e?e.map(E):void 0},e.validateCreateReport=function(t){var e=n.Validators.reportCreateValidator.validate(t);return e?e.map(E):void 0},e.validateDashboardLoad=function(t){var e=n.Validators.dashboardLoadValidator.validate(t);return e?e.map(E):void 0},e.validateTileLoad=function(t){var e=n.Validators.tileLoadValidator.validate(t);return e?e.map(E):void 0},e.validatePage=function(t){var e=n.Validators.pageValidator.validate(t);return e?e.map(E):void 0},e.validateFilter=function(t){var e=n.Validators.filterValidator.validate(t);return e?e.map(E):void 0},e.validateUpdateFiltersRequest=function(t){var e=n.Validators.updateFiltersRequestValidator.validate(t);return e?e.map(E):void 0},e.validateSaveAsParameters=function(t){var e=n.Validators.saveAsParametersValidator.validate(t);return e?e.map(E):void 0},e.validateLoadQnaConfiguration=function(t){var e=n.Validators.loadQnaValidator.validate(t);return e?e.map(E):void 0},e.validateQnaInterpretInputData=function(t){var e=n.Validators.qnaInterpretInputDataValidator.validate(t);return e?e.map(E):void 0},e.validateExportDataRequest=function(t){var e=n.Validators.exportDataRequestValidator.validate(t);return e?e.map(E):void 0},e.validateVisualHeader=function(t){var e=n.Validators.visualHeaderValidator.validate(t);return e?e.map(E):void 0},e.validateVisualSettings=function(t){var e=n.Validators.visualSettingsValidator.validate(t);return e?e.map(E):void 0},e.validateCommandsSettings=function(t){var e=n.Validators.commandsSettingsValidator.validate(t);return e?e.map(E):void 0},e.validateCustomTheme=function(t){var e=n.Validators.customThemeValidator.validate(t);return e?e.map(E):void 0}},function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.Validators=void 0;var i=r(2),a=r(5),o=r(6),n=r(7),l=r(8),s=r(9),d=r(10),u=r(11),c=r(12),p=r(13),f=r(14),h=r(15),v=r(16),y=r(17),m=r(18),V=r(19),g=r(20),b=r(21),w=r(22),P=r(23),O=r(24),S=r(25),_=r(26),T=r(27),E=r(28),F=r(29),R=r(4),x=r(30);e.Validators={addBookmarkRequestValidator:new a.AddBookmarkRequestValidator,advancedFilterTypeValidator:new R.EnumValidator([0]),advancedFilterValidator:new c.AdvancedFilterValidator,anyArrayValidator:new R.ArrayValidator([new _.AnyOfValidator([new R.StringValidator,new R.NumberValidator,new R.BooleanValidator])]),anyFilterValidator:new _.AnyOfValidator([new c.BasicFilterValidator,new c.AdvancedFilterValidator,new c.IncludeExcludeFilterValidator,new c.NotSupportedFilterValidator,new c.RelativeDateFilterValidator,new c.TopNFilterValidator,new c.RelativeTimeFilterValidator]),anyValueValidator:new _.AnyOfValidator([new R.StringValidator,new R.NumberValidator,new R.BooleanValidator]),actionBarValidator:new i.ActionBarValidator,applyBookmarkByNameRequestValidator:new a.ApplyBookmarkByNameRequestValidator,applyBookmarkStateRequestValidator:new a.ApplyBookmarkStateRequestValidator,applyBookmarkValidator:new _.AnyOfValidator([new a.ApplyBookmarkByNameRequestValidator,new a.ApplyBookmarkStateRequestValidator]),backgroundValidator:new R.EnumValidator([0,1]),basicFilterTypeValidator:new R.EnumValidator([1]),basicFilterValidator:new c.BasicFilterValidator,booleanArrayValidator:new R.BooleanArrayValidator,booleanValidator:new R.BooleanValidator,bookmarksPaneValidator:new h.BookmarksPaneValidator,captureBookmarkOptionsValidator:new a.CaptureBookmarkOptionsValidator,captureBookmarkRequestValidator:new a.CaptureBookmarkRequestValidator,commandDisplayOptionValidator:new R.EnumValidator([0,1,2]),commandExtensionSelectorValidator:new _.AnyOfValidator([new b.VisualSelectorValidator,new b.VisualTypeSelectorValidator]),commandExtensionArrayValidator:new R.ArrayValidator([new u.CommandExtensionValidator]),commandExtensionValidator:new u.CommandExtensionValidator,commandsSettingsArrayValidator:new R.ArrayValidator([new o.CommandsSettingsValidator]),commandsSettingsValidator:new o.CommandsSettingsValidator,conditionItemValidator:new c.ConditionItemValidator,contrastModeValidator:new R.EnumValidator([0,1,2,3,4]),customLayoutDisplayOptionValidator:new R.EnumValidator([0,1,2]),customLayoutValidator:new p.CustomLayoutValidator,customPageSizeValidator:new f.CustomPageSizeValidator,customThemeValidator:new n.CustomThemeValidator,dashboardLoadValidator:new l.DashboardLoadValidator,datasetBindingValidator:new s.DatasetBindingValidator,displayStateModeValidator:new R.EnumValidator([0,1]),displayStateValidator:new p.DisplayStateValidator,exportDataRequestValidator:new d.ExportDataRequestValidator,extensionArrayValidator:new R.ArrayValidator([new u.ExtensionValidator]),extensionsValidator:new _.AnyOfValidator([new R.ArrayValidator([new u.ExtensionValidator]),new u.ExtensionsValidator]),extensionPointsValidator:new u.ExtensionPointsValidator,extensionValidator:new u.ExtensionValidator,fieldForbiddenValidator:new T.FieldForbiddenValidator,fieldRequiredValidator:new E.FieldRequiredValidator,fieldsPaneValidator:new h.FieldsPaneValidator,filterColumnTargetValidator:new c.FilterColumnTargetValidator,filterDisplaySettingsValidator:new c.FilterDisplaySettingsValidator,filterConditionsValidator:new R.ArrayValidator([new c.ConditionItemValidator]),filterHierarchyTargetValidator:new c.FilterHierarchyTargetValidator,filterMeasureTargetValidator:new c.FilterMeasureTargetValidator,filterTargetValidator:new _.AnyOfValidator([new c.FilterColumnTargetValidator,new c.FilterHierarchyTargetValidator,new c.FilterMeasureTargetValidator]),filterValidator:new c.FilterValidator,filterTypeValidator:new R.EnumValidator([0,1,2,3,4,5,6,7]),filtersArrayValidator:new R.ArrayValidator([new c.FilterValidator]),filtersOperationsUpdateValidator:new R.EnumValidator([1,2,3]),filtersOperationsRemoveAllValidator:new R.EnumValidator([0]),filtersPaneValidator:new h.FiltersPaneValidator,hyperlinkClickBehaviorValidator:new R.EnumValidator([0,1,2]),includeExcludeFilterValidator:new c.IncludeExcludeFilterValidator,includeExludeFilterTypeValidator:new R.EnumValidator([3]),layoutTypeValidator:new R.EnumValidator([0,1,2,3]),loadQnaValidator:new v.LoadQnaValidator,menuExtensionValidator:new _.AnyOfValidator([new u.FlatMenuExtensionValidator,new u.GroupedMenuExtensionValidator]),menuGroupExtensionArrayValidator:new R.ArrayValidator([new u.MenuGroupExtensionValidator]),menuGroupExtensionValidator:new u.MenuGroupExtensionValidator,menuLocationValidator:new R.EnumValidator([0,1]),notSupportedFilterTypeValidator:new R.EnumValidator([2]),notSupportedFilterValidator:new c.NotSupportedFilterValidator,numberArrayValidator:new R.NumberArrayValidator,numberValidator:new R.NumberValidator,onLoadFiltersBaseValidator:new _.AnyOfValidator([new c.OnLoadFiltersBaseValidator,new c.OnLoadFiltersBaseRemoveOperationValidator]),pageLayoutValidator:new F.MapValidator([new R.StringValidator],[new p.VisualLayoutValidator]),pageNavigationPaneValidator:new h.PageNavigationPaneValidator,pageNavigationPositionValidator:new R.EnumValidator([0,1]),pageSizeTypeValidator:new R.EnumValidator([0,1,2,3,4,5]),pageSizeValidator:new f.PageSizeValidator,pageValidator:new f.PageValidator,pageViewFieldValidator:new f.PageViewFieldValidator,pagesLayoutValidator:new F.MapValidator([new R.StringValidator],[new p.PageLayoutValidator]),paginatedReportCommandsValidator:new o.PaginatedReportCommandsValidator,paginatedReportLoadValidator:new V.PaginatedReportLoadValidator,paginatedReportsettingsValidator:new w.PaginatedReportSettingsValidator,parametersPanelValidator:new x.ParametersPanelValidator,permissionsValidator:new R.EnumValidator([0,1,2,4,7]),playBookmarkRequestValidator:new a.PlayBookmarkRequestValidator,qnaInterpretInputDataValidator:new v.QnaInterpretInputDataValidator,qnaPanesValidator:new h.QnaPanesValidator,qnaSettingValidator:new v.QnaSettingsValidator,relativeDateFilterOperatorValidator:new R.EnumValidator([0,1,2]),relativeDateFilterTimeUnitTypeValidator:new R.EnumValidator([0,1,2,3,4,5,6]),relativeDateFilterTypeValidator:new R.EnumValidator([4]),relativeDateFilterValidator:new c.RelativeDateFilterValidator,relativeDateTimeFilterTypeValidator:new R.EnumValidator([4,7]),relativeDateTimeFilterUnitTypeValidator:new R.EnumValidator([0,1,2,3,4,5,6,7,8]),relativeTimeFilterTimeUnitTypeValidator:new R.EnumValidator([7,8]),relativeTimeFilterTypeValidator:new R.EnumValidator([7]),relativeTimeFilterValidator:new c.RelativeTimeFilterValidator,reportBarsValidator:new i.ReportBarsValidator,reportCreateValidator:new y.ReportCreateValidator,reportLoadFiltersValidator:new _.AnyOfValidator([new R.ArrayValidator([new c.FilterValidator]),new c.OnLoadFiltersValidator]),reportLoadValidator:new m.ReportLoadValidator,reportPanesValidator:new h.ReportPanesValidator,saveAsParametersValidator:new g.SaveAsParametersValidator,selectionPaneValidator:new h.SelectionPaneValidator,settingsValidator:new w.SettingsValidator,singleCommandSettingsValidator:new o.SingleCommandSettingsValidator,slicerSelectorValidator:new _.AnyOfValidator([new b.VisualSelectorValidator,new b.SlicerTargetSelectorValidator]),slicerStateValidator:new P.SlicerStateValidator,slicerTargetValidator:new _.AnyOfValidator([new c.FilterColumnTargetValidator,new c.FilterHierarchyTargetValidator,new c.FilterMeasureTargetValidator,new c.FilterKeyColumnsTargetValidator,new c.FilterKeyHierarchyTargetValidator]),slicerValidator:new P.SlicerValidator,stringArrayValidator:new R.StringArrayValidator,stringValidator:new R.StringValidator,syncSlicersPaneValidator:new h.SyncSlicersPaneValidator,tileLoadValidator:new O.TileLoadValidator,tokenTypeValidator:new R.EnumValidator([0,1]),topNFilterTypeValidator:new R.EnumValidator([5]),topNFilterValidator:new c.TopNFilterValidator,updateFiltersRequestValidator:new _.AnyOfValidator([new c.UpdateFiltersRequestValidator,new c.RemoveFiltersRequestValidator]),viewModeValidator:new R.EnumValidator([0,1]),visualCommandSelectorValidator:new _.AnyOfValidator([new b.VisualSelectorValidator,new b.VisualTypeSelectorValidator]),visualHeaderSelectorValidator:new _.AnyOfValidator([new b.VisualSelectorValidator,new b.VisualTypeSelectorValidator]),visualHeaderSettingsValidator:new S.VisualHeaderSettingsValidator,visualHeaderValidator:new S.VisualHeaderValidator,visualHeadersValidator:new R.ArrayValidator([new S.VisualHeaderValidator]),visualizationsPaneValidator:new h.VisualizationsPaneValidator,visualLayoutValidator:new p.VisualLayoutValidator,visualSelectorValidator:new b.VisualSelectorValidator,visualSettingsValidator:new S.VisualSettingsValidator,visualTypeSelectorValidator:new b.VisualTypeSelectorValidator}},function(t,e,r){var i,a=this&&this.__extends||(i=function(t,e){return(i=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])})(t,e)},function(t,e){function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.ActionBarValidator=e.ReportBarsValidator=void 0;var o=r(3),n=r(4),l=r(1),s=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return a(e,t),e.prototype.validate=function(e,r,i){if(null==e)return null;var a=t.prototype.validate.call(this,e,r,i);if(a)return a;var n=[{field:"actionBar",validators:[l.Validators.actionBarValidator]}];return new o.MultipleFieldsValidator(n).validate(e,r,i)},e}(n.ObjectValidator);e.ReportBarsValidator=s;var d=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return a(e,t),e.prototype.validate=function(e,r,i){if(null==e)return null;var a=t.prototype.validate.call(this,e,r,i);if(a)return a;var n=[{field:"visible",validators:[l.Validators.booleanValidator]}];return new o.MultipleFieldsValidator(n).validate(e,r,i)},e}(n.ObjectValidator);e.ActionBarValidator=d},function(t,e){Object.defineProperty(e,"__esModule",{value:!0}),e.MultipleFieldsValidator=void 0;var r=function(){function t(t){this.fieldValidatorsPairs=t}return t.prototype.validate=function(t,e,r){if(!this.fieldValidatorsPairs)return null;for(var i=e?e+"."+r:r,a=0,o=this.fieldValidatorsPairs;a0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0?"&":"?";return t+=i+e+"="+r},e.isSavedInternal=function(t,e,a){return r(this,void 0,void 0,(function(){return i(this,(function(r){switch(r.label){case 0:return r.trys.push([0,2,,3]),[4,t.get("/report/hasUnsavedChanges",{uid:e},a)];case 1:return[2,!r.sent().body];case 2:throw r.sent().body;case 3:return[2]}}))}))},e.isRDLEmbed=function(t){return t.toLowerCase().indexOf("/rdlembed?")>=0},e.autoAuthInEmbedUrl=function(t){return t&&decodeURIComponent(t).toLowerCase().indexOf("autoauth=true")>=0},e.getRandomValue=o,e.getTimeDiffInMilliseconds=function(t,e){return Math.abs(t.getTime()-e.getTime())}},function(t,e){Object.defineProperty(e,"__esModule",{value:!0}),e.EmbedUrlNotSupported=e.APINotSupportedForRDLError=void 0,e.APINotSupportedForRDLError="This API is currently not supported for RDL reports",e.EmbedUrlNotSupported="Embed URL is invalid for this scenario. Please use Power BI REST APIs to get the valid URL"},function(t,e,r){var i,a=this&&this.__extends||(i=function(t,e){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])})(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}),o=this&&this.__awaiter||function(t,e,r,i){return new(r||(r=Promise))((function(a,o){function n(t){try{s(i.next(t))}catch(t){o(t)}}function l(t){try{s(i.throw(t))}catch(t){o(t)}}function s(t){var e;t.done?a(t.value):(e=t.value,e instanceof r?e:new r((function(t){t(e)}))).then(n,l)}s((i=i.apply(t,e||[])).next())}))},n=this&&this.__generator||function(t,e){var r,i,a,o,n={label:0,sent:function(){if(1&a[0])throw a[1];return a[1]},trys:[],ops:[]};return o={next:l(0),throw:l(1),return:l(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function l(o){return function(l){return function(o){if(r)throw new TypeError("Generator is already executing.");for(;n;)try{if(r=1,i&&(a=2&o[0]?i.return:o[0]?i.throw||((a=i.return)&&a.call(i),0):i.next)&&!(a=a.call(i,o[1])).done)return a;switch(i=0,a&&(o=[2&o[0],a.value]),o[0]){case 0:case 1:a=o;break;case 4:return n.label++,{value:o[1],done:!1};case 5:n.label++,i=o[1],o=[0];continue;case 7:o=n.ops.pop(),n.trys.pop();continue;default:if(!(a=n.trys,(a=a.length>0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&!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,s=o.keyValues;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 s.conditions=l,s}return a(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}(l);function m(t){if(t.filterType)return t.filterType;var e=t,r=t;return"string"==typeof e.operator&&Array.isArray(e.values)?o.Basic:"string"==typeof r.logicalOperator&&Array.isArray(r.conditions)?o.Advanced:o.Unknown}function V(t){return!(!t.table||!t.column||t.aggregationFunction)}e.AdvancedFilter=y,e.isFilterKeyColumnsTarget=function(t){return V(t)&&!!t.keys},e.isBasicFilterWithKeys=function(t){return m(t)===o.Basic&&!!t.keyValues},e.getFilterType=m,e.isMeasure=function(t){return void 0!==t.table&&void 0!==t.measure},e.isColumn=V,e.isHierarchyLevel=function(t){return!(!(t.table&&t.hierarchy&&t.hierarchyLevel)||t.aggregationFunction)},e.isHierarchyLevelAggr=function(t){return!!(t.table&&t.hierarchy&&t.hierarchyLevel&&t.aggregationFunction)},e.isColumnAggr=function(t){return!!(t.table&&t.column&&t.aggregationFunction)},function(t){t[t.Bottom=0]="Bottom",t[t.Left=1]="Left"}(e.PageNavigationPosition||(e.PageNavigationPosition={})),function(t){t[t.Interactive=0]="Interactive",t[t.ResultOnly=1]="ResultOnly"}(e.QnaMode||(e.QnaMode={})),function(t){t[t.Summarized=0]="Summarized",t[t.Underlying=1]="Underlying"}(e.ExportDataType||(e.ExportDataType={})),function(t){t[t.Off=0]="Off",t[t.Presentation=1]="Presentation"}(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"},function(t){t[t.Ascending=1]="Ascending",t[t.Descending=2]="Descending"}(e.SortDirection||(e.SortDirection={}));var g=function(){function t(t){this.$schema=t}return t.prototype.toJSON=function(){return{$schema:this.$schema}},t}();e.Selector=g;var b=function(t){function e(r){var i=t.call(this,e.schemaUrl)||this;return i.pageName=r,i}return a(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}(g);e.PageSelector=b;var w=function(t){function e(r){var i=t.call(this,e.schemaUrl)||this;return i.visualName=r,i}return a(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}(g);e.VisualSelector=w;var P=function(t){function e(e){var r=t.call(this,w.schemaUrl)||this;return r.visualType=e,r}return a(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}(g);e.VisualTypeSelector=P;var _=function(t){function e(e){var r=t.call(this,w.schemaUrl)||this;return r.target=e,r}return a(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}(g);function O(t){return Array.isArray(t)}function S(t){return t&&!!t.groupName}function T(t){return Array.isArray(t)}function E(t){var e=t.message;return e||(e=t.path+" is invalid. Not meeting "+t.keyword+" constraint"),{message:e}}e.SlicerTargetSelector=_,function(t){t[t.Enabled=0]="Enabled",t[t.Disabled=1]="Disabled",t[t.Hidden=2]="Hidden"}(e.CommandDisplayOption||(e.CommandDisplayOption={})),function(t){t[t.Grouping=0]="Grouping",t[t.Measure=1]="Measure",t[t.GroupingOrMeasure=2]="GroupingOrMeasure"}(e.VisualDataRoleKind||(e.VisualDataRoleKind={})),function(t){t[t.Measure=0]="Measure",t[t.Grouping=1]="Grouping"}(e.VisualDataRoleKindPreference||(e.VisualDataRoleKindPreference={})),e.isOnLoadFilters=function(t){return t&&!O(t)},e.isReportFiltersArray=O,e.isFlatMenuExtension=function(t){return t&&!S(t)},e.isGroupedMenuExtension=S,e.isIExtensions=function(t){return t&&!T(t)},e.isIExtensionArray=T,e.validateVisualSelector=function(t){var e=n.Validators.visualSelectorValidator.validate(t);return e?e.map(E):void 0},e.validateSlicer=function(t){var e=n.Validators.slicerValidator.validate(t);return e?e.map(E):void 0},e.validateSlicerState=function(t){var e=n.Validators.slicerStateValidator.validate(t);return e?e.map(E):void 0},e.validatePlayBookmarkRequest=function(t){var e=n.Validators.playBookmarkRequestValidator.validate(t);return e?e.map(E):void 0},e.validateAddBookmarkRequest=function(t){var e=n.Validators.addBookmarkRequestValidator.validate(t);return e?e.map(E):void 0},e.validateApplyBookmarkByNameRequest=function(t){var e=n.Validators.applyBookmarkByNameRequestValidator.validate(t);return e?e.map(E):void 0},e.validateApplyBookmarkStateRequest=function(t){var e=n.Validators.applyBookmarkStateRequestValidator.validate(t);return e?e.map(E):void 0},e.validateCaptureBookmarkRequest=function(t){var e=n.Validators.captureBookmarkRequestValidator.validate(t);return e?e.map(E):void 0},e.validateSettings=function(t){var e=n.Validators.settingsValidator.validate(t);return e?e.map(E):void 0},e.validatePanes=function(t){var e=n.Validators.reportPanesValidator.validate(t);return e?e.map(E):void 0},e.validateBookmarksPane=function(t){var e=n.Validators.bookmarksPaneValidator.validate(t);return e?e.map(E):void 0},e.validateFiltersPane=function(t){var e=n.Validators.filtersPaneValidator.validate(t);return e?e.map(E):void 0},e.validateFieldsPane=function(t){var e=n.Validators.fieldsPaneValidator.validate(t);return e?e.map(E):void 0},e.validatePageNavigationPane=function(t){var e=n.Validators.pageNavigationPaneValidator.validate(t);return e?e.map(E):void 0},e.validateSelectionPane=function(t){var e=n.Validators.selectionPaneValidator.validate(t);return e?e.map(E):void 0},e.validateSyncSlicersPane=function(t){var e=n.Validators.syncSlicersPaneValidator.validate(t);return e?e.map(E):void 0},e.validateVisualizationsPane=function(t){var e=n.Validators.visualizationsPaneValidator.validate(t);return e?e.map(E):void 0},e.validateCustomPageSize=function(t){var e=n.Validators.customPageSizeValidator.validate(t);return e?e.map(E):void 0},e.validateExtension=function(t){var e=n.Validators.extensionValidator.validate(t);return e?e.map(E):void 0},e.validateMenuGroupExtension=function(t){var e=n.Validators.menuGroupExtensionValidator.validate(t);return e?e.map(E):void 0},e.validateReportLoad=function(t){var e=n.Validators.reportLoadValidator.validate(t);return e?e.map(E):void 0},e.validatePaginatedReportLoad=function(t){var e=n.Validators.paginatedReportLoadValidator.validate(t);return e?e.map(E):void 0},e.validateCreateReport=function(t){var e=n.Validators.reportCreateValidator.validate(t);return e?e.map(E):void 0},e.validateDashboardLoad=function(t){var e=n.Validators.dashboardLoadValidator.validate(t);return e?e.map(E):void 0},e.validateTileLoad=function(t){var e=n.Validators.tileLoadValidator.validate(t);return e?e.map(E):void 0},e.validatePage=function(t){var e=n.Validators.pageValidator.validate(t);return e?e.map(E):void 0},e.validateFilter=function(t){var e=n.Validators.filterValidator.validate(t);return e?e.map(E):void 0},e.validateUpdateFiltersRequest=function(t){var e=n.Validators.updateFiltersRequestValidator.validate(t);return e?e.map(E):void 0},e.validateSaveAsParameters=function(t){var e=n.Validators.saveAsParametersValidator.validate(t);return e?e.map(E):void 0},e.validateLoadQnaConfiguration=function(t){var e=n.Validators.loadQnaValidator.validate(t);return e?e.map(E):void 0},e.validateQnaInterpretInputData=function(t){var e=n.Validators.qnaInterpretInputDataValidator.validate(t);return e?e.map(E):void 0},e.validateExportDataRequest=function(t){var e=n.Validators.exportDataRequestValidator.validate(t);return e?e.map(E):void 0},e.validateVisualHeader=function(t){var e=n.Validators.visualHeaderValidator.validate(t);return e?e.map(E):void 0},e.validateVisualSettings=function(t){var e=n.Validators.visualSettingsValidator.validate(t);return e?e.map(E):void 0},e.validateCommandsSettings=function(t){var e=n.Validators.commandsSettingsValidator.validate(t);return e?e.map(E):void 0},e.validateCustomTheme=function(t){var e=n.Validators.customThemeValidator.validate(t);return e?e.map(E):void 0}},function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.Validators=void 0;var i=r(2),a=r(5),o=r(6),n=r(7),l=r(8),s=r(9),u=r(10),d=r(11),c=r(12),p=r(13),f=r(14),h=r(15),v=r(16),y=r(17),m=r(18),V=r(19),g=r(20),b=r(21),w=r(22),P=r(23),_=r(24),O=r(25),S=r(26),T=r(27),E=r(28),F=r(29),R=r(4),x=r(30);e.Validators={addBookmarkRequestValidator:new a.AddBookmarkRequestValidator,advancedFilterTypeValidator:new R.EnumValidator([0]),advancedFilterValidator:new c.AdvancedFilterValidator,anyArrayValidator:new R.ArrayValidator([new S.AnyOfValidator([new R.StringValidator,new R.NumberValidator,new R.BooleanValidator])]),anyFilterValidator:new S.AnyOfValidator([new c.BasicFilterValidator,new c.AdvancedFilterValidator,new c.IncludeExcludeFilterValidator,new c.NotSupportedFilterValidator,new c.RelativeDateFilterValidator,new c.TopNFilterValidator,new c.RelativeTimeFilterValidator]),anyValueValidator:new S.AnyOfValidator([new R.StringValidator,new R.NumberValidator,new R.BooleanValidator]),actionBarValidator:new i.ActionBarValidator,applyBookmarkByNameRequestValidator:new a.ApplyBookmarkByNameRequestValidator,applyBookmarkStateRequestValidator:new a.ApplyBookmarkStateRequestValidator,applyBookmarkValidator:new S.AnyOfValidator([new a.ApplyBookmarkByNameRequestValidator,new a.ApplyBookmarkStateRequestValidator]),backgroundValidator:new R.EnumValidator([0,1]),basicFilterTypeValidator:new R.EnumValidator([1]),basicFilterValidator:new c.BasicFilterValidator,booleanArrayValidator:new R.BooleanArrayValidator,booleanValidator:new R.BooleanValidator,bookmarksPaneValidator:new h.BookmarksPaneValidator,captureBookmarkOptionsValidator:new a.CaptureBookmarkOptionsValidator,captureBookmarkRequestValidator:new a.CaptureBookmarkRequestValidator,commandDisplayOptionValidator:new R.EnumValidator([0,1,2]),commandExtensionSelectorValidator:new S.AnyOfValidator([new b.VisualSelectorValidator,new b.VisualTypeSelectorValidator]),commandExtensionArrayValidator:new R.ArrayValidator([new d.CommandExtensionValidator]),commandExtensionValidator:new d.CommandExtensionValidator,commandsSettingsArrayValidator:new R.ArrayValidator([new o.CommandsSettingsValidator]),commandsSettingsValidator:new o.CommandsSettingsValidator,conditionItemValidator:new c.ConditionItemValidator,contrastModeValidator:new R.EnumValidator([0,1,2,3,4]),customLayoutDisplayOptionValidator:new R.EnumValidator([0,1,2]),customLayoutValidator:new p.CustomLayoutValidator,customPageSizeValidator:new f.CustomPageSizeValidator,customThemeValidator:new n.CustomThemeValidator,dashboardLoadValidator:new l.DashboardLoadValidator,datasetBindingValidator:new s.DatasetBindingValidator,displayStateModeValidator:new R.EnumValidator([0,1]),displayStateValidator:new p.DisplayStateValidator,exportDataRequestValidator:new u.ExportDataRequestValidator,extensionArrayValidator:new R.ArrayValidator([new d.ExtensionValidator]),extensionsValidator:new S.AnyOfValidator([new R.ArrayValidator([new d.ExtensionValidator]),new d.ExtensionsValidator]),extensionPointsValidator:new d.ExtensionPointsValidator,extensionValidator:new d.ExtensionValidator,fieldForbiddenValidator:new T.FieldForbiddenValidator,fieldRequiredValidator:new E.FieldRequiredValidator,fieldsPaneValidator:new h.FieldsPaneValidator,filterColumnTargetValidator:new c.FilterColumnTargetValidator,filterDisplaySettingsValidator:new c.FilterDisplaySettingsValidator,filterConditionsValidator:new R.ArrayValidator([new c.ConditionItemValidator]),filterHierarchyTargetValidator:new c.FilterHierarchyTargetValidator,filterMeasureTargetValidator:new c.FilterMeasureTargetValidator,filterTargetValidator:new S.AnyOfValidator([new c.FilterColumnTargetValidator,new c.FilterHierarchyTargetValidator,new c.FilterMeasureTargetValidator]),filterValidator:new c.FilterValidator,filterTypeValidator:new R.EnumValidator([0,1,2,3,4,5,6,7]),filtersArrayValidator:new R.ArrayValidator([new c.FilterValidator]),filtersOperationsUpdateValidator:new R.EnumValidator([1,2,3]),filtersOperationsRemoveAllValidator:new R.EnumValidator([0]),filtersPaneValidator:new h.FiltersPaneValidator,hyperlinkClickBehaviorValidator:new R.EnumValidator([0,1,2]),includeExcludeFilterValidator:new c.IncludeExcludeFilterValidator,includeExludeFilterTypeValidator:new R.EnumValidator([3]),layoutTypeValidator:new R.EnumValidator([0,1,2,3]),loadQnaValidator:new v.LoadQnaValidator,menuExtensionValidator:new S.AnyOfValidator([new d.FlatMenuExtensionValidator,new d.GroupedMenuExtensionValidator]),menuGroupExtensionArrayValidator:new R.ArrayValidator([new d.MenuGroupExtensionValidator]),menuGroupExtensionValidator:new d.MenuGroupExtensionValidator,menuLocationValidator:new R.EnumValidator([0,1]),notSupportedFilterTypeValidator:new R.EnumValidator([2]),notSupportedFilterValidator:new c.NotSupportedFilterValidator,numberArrayValidator:new R.NumberArrayValidator,numberValidator:new R.NumberValidator,onLoadFiltersBaseValidator:new S.AnyOfValidator([new c.OnLoadFiltersBaseValidator,new c.OnLoadFiltersBaseRemoveOperationValidator]),pageLayoutValidator:new F.MapValidator([new R.StringValidator],[new p.VisualLayoutValidator]),pageNavigationPaneValidator:new h.PageNavigationPaneValidator,pageNavigationPositionValidator:new R.EnumValidator([0,1]),pageSizeTypeValidator:new R.EnumValidator([0,1,2,3,4,5]),pageSizeValidator:new f.PageSizeValidator,pageValidator:new f.PageValidator,pageViewFieldValidator:new f.PageViewFieldValidator,pagesLayoutValidator:new F.MapValidator([new R.StringValidator],[new p.PageLayoutValidator]),paginatedReportCommandsValidator:new o.PaginatedReportCommandsValidator,paginatedReportLoadValidator:new V.PaginatedReportLoadValidator,paginatedReportsettingsValidator:new w.PaginatedReportSettingsValidator,parametersPanelValidator:new x.ParametersPanelValidator,permissionsValidator:new R.EnumValidator([0,1,2,4,7]),playBookmarkRequestValidator:new a.PlayBookmarkRequestValidator,qnaInterpretInputDataValidator:new v.QnaInterpretInputDataValidator,qnaPanesValidator:new h.QnaPanesValidator,qnaSettingValidator:new v.QnaSettingsValidator,relativeDateFilterOperatorValidator:new R.EnumValidator([0,1,2]),relativeDateFilterTimeUnitTypeValidator:new R.EnumValidator([0,1,2,3,4,5,6]),relativeDateFilterTypeValidator:new R.EnumValidator([4]),relativeDateFilterValidator:new c.RelativeDateFilterValidator,relativeDateTimeFilterTypeValidator:new R.EnumValidator([4,7]),relativeDateTimeFilterUnitTypeValidator:new R.EnumValidator([0,1,2,3,4,5,6,7,8]),relativeTimeFilterTimeUnitTypeValidator:new R.EnumValidator([7,8]),relativeTimeFilterTypeValidator:new R.EnumValidator([7]),relativeTimeFilterValidator:new c.RelativeTimeFilterValidator,reportBarsValidator:new i.ReportBarsValidator,reportCreateValidator:new y.ReportCreateValidator,reportLoadFiltersValidator:new S.AnyOfValidator([new R.ArrayValidator([new c.FilterValidator]),new c.OnLoadFiltersValidator]),reportLoadValidator:new m.ReportLoadValidator,reportPanesValidator:new h.ReportPanesValidator,saveAsParametersValidator:new g.SaveAsParametersValidator,selectionPaneValidator:new h.SelectionPaneValidator,settingsValidator:new w.SettingsValidator,singleCommandSettingsValidator:new o.SingleCommandSettingsValidator,slicerSelectorValidator:new S.AnyOfValidator([new b.VisualSelectorValidator,new b.SlicerTargetSelectorValidator]),slicerStateValidator:new P.SlicerStateValidator,slicerTargetValidator:new S.AnyOfValidator([new c.FilterColumnTargetValidator,new c.FilterHierarchyTargetValidator,new c.FilterMeasureTargetValidator,new c.FilterKeyColumnsTargetValidator,new c.FilterKeyHierarchyTargetValidator]),slicerValidator:new P.SlicerValidator,stringArrayValidator:new R.StringArrayValidator,stringValidator:new R.StringValidator,syncSlicersPaneValidator:new h.SyncSlicersPaneValidator,tileLoadValidator:new _.TileLoadValidator,tokenTypeValidator:new R.EnumValidator([0,1]),topNFilterTypeValidator:new R.EnumValidator([5]),topNFilterValidator:new c.TopNFilterValidator,updateFiltersRequestValidator:new S.AnyOfValidator([new c.UpdateFiltersRequestValidator,new c.RemoveFiltersRequestValidator]),viewModeValidator:new R.EnumValidator([0,1]),visualCommandSelectorValidator:new S.AnyOfValidator([new b.VisualSelectorValidator,new b.VisualTypeSelectorValidator]),visualHeaderSelectorValidator:new S.AnyOfValidator([new b.VisualSelectorValidator,new b.VisualTypeSelectorValidator]),visualHeaderSettingsValidator:new O.VisualHeaderSettingsValidator,visualHeaderValidator:new O.VisualHeaderValidator,visualHeadersValidator:new R.ArrayValidator([new O.VisualHeaderValidator]),visualizationsPaneValidator:new h.VisualizationsPaneValidator,visualLayoutValidator:new p.VisualLayoutValidator,visualSelectorValidator:new b.VisualSelectorValidator,visualSettingsValidator:new O.VisualSettingsValidator,visualTypeSelectorValidator:new b.VisualTypeSelectorValidator}},function(t,e,r){var i,a=this&&this.__extends||(i=function(t,e){return(i=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])})(t,e)},function(t,e){function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.ActionBarValidator=e.ReportBarsValidator=void 0;var o=r(3),n=r(4),l=r(1),s=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return a(e,t),e.prototype.validate=function(e,r,i){if(null==e)return null;var a=t.prototype.validate.call(this,e,r,i);if(a)return a;var n=[{field:"actionBar",validators:[l.Validators.actionBarValidator]}];return new o.MultipleFieldsValidator(n).validate(e,r,i)},e}(n.ObjectValidator);e.ReportBarsValidator=s;var u=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return a(e,t),e.prototype.validate=function(e,r,i){if(null==e)return null;var a=t.prototype.validate.call(this,e,r,i);if(a)return a;var n=[{field:"visible",validators:[l.Validators.booleanValidator]}];return new o.MultipleFieldsValidator(n).validate(e,r,i)},e}(n.ObjectValidator);e.ActionBarValidator=u},function(t,e){Object.defineProperty(e,"__esModule",{value:!0}),e.MultipleFieldsValidator=void 0;var r=function(){function t(t){this.fieldValidatorsPairs=t}return t.prototype.validate=function(t,e,r){if(!this.fieldValidatorsPairs)return null;for(var i=e?e+"."+r:r,a=0,o=this.fieldValidatorsPairs;a0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0?"&":"?";return t+=i+e+"="+r},e.isSavedInternal=function(t,e,a){return r(this,void 0,void 0,(function(){return i(this,(function(r){switch(r.label){case 0:return r.trys.push([0,2,,3]),[4,t.get("/report/hasUnsavedChanges",{uid:e},a)];case 1:return[2,!r.sent().body];case 2:throw r.sent().body;case 3:return[2]}}))}))},e.isRDLEmbed=function(t){return t.toLowerCase().indexOf("/rdlembed?")>=0},e.autoAuthInEmbedUrl=function(t){return t&&decodeURIComponent(t).toLowerCase().indexOf("autoauth=true")>=0},e.getRandomValue=o,e.getTimeDiffInMilliseconds=function(t,e){return Math.abs(t.getTime()-e.getTime())}},function(t,e){Object.defineProperty(e,"__esModule",{value:!0}),e.FilterBuilder=void 0;var r=function(){function t(){}return t.prototype.withTargetObject=function(t){return this.target=t,this},t.prototype.withColumnTarget=function(t,e){return this.target={table:t,column:e},this},t.prototype.withMeasureTarget=function(t,e){return this.target={table:t,measure:e},this},t.prototype.withHierarchyLevelTarget=function(t,e,r){return this.target={table:t,hierarchy:e,hierarchyLevel:r},this},t.prototype.withColumnAggregation=function(t,e,r){return this.target={table:t,column:e,aggregationFunction:r},this},t.prototype.withHierarchyLevelAggregationTarget=function(t,e,r,i){return this.target={table:t,hierarchy:e,hierarchyLevel:r,aggregationFunction:i},this},t}();e.FilterBuilder=r},function(t,e){Object.defineProperty(e,"__esModule",{value:!0}),e.EmbedUrlNotSupported=e.APINotSupportedForRDLError=void 0,e.APINotSupportedForRDLError="This API is currently not supported for RDL reports",e.EmbedUrlNotSupported="Embed URL is invalid for this scenario. Please use Power BI REST APIs to get the valid URL"},function(t,e,r){var i,a=this&&this.__extends||(i=function(t,e){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])})(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}),o=this&&this.__awaiter||function(t,e,r,i){return new(r||(r=Promise))((function(a,o){function n(t){try{s(i.next(t))}catch(t){o(t)}}function l(t){try{s(i.throw(t))}catch(t){o(t)}}function s(t){var e;t.done?a(t.value):(e=t.value,e instanceof r?e:new r((function(t){t(e)}))).then(n,l)}s((i=i.apply(t,e||[])).next())}))},n=this&&this.__generator||function(t,e){var r,i,a,o,n={label:0,sent:function(){if(1&a[0])throw a[1];return a[1]},trys:[],ops:[]};return o={next:l(0),throw:l(1),return:l(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function l(o){return function(l){return function(o){if(r)throw new TypeError("Generator is already executing.");for(;n;)try{if(r=1,i&&(a=2&o[0]?i.return:o[0]?i.throw||((a=i.return)&&a.call(i),0):i.next)&&!(a=a.call(i,o[1])).done)return a;switch(i=0,a&&(o=[2&o[0],a.value]),o[0]){case 0:case 1:a=o;break;case 4:return n.label++,{value:o[1],done:!1};case 5:n.label++,i=o[1],o=[0];continue;case 7:o=n.ops.pop(),n.trys.pop();continue;default:if(!(a=n.trys,(a=a.length>0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]2&&"[]"===n.slice(l-2)&&(s=!0,r[n=n.slice(0,l-2)]||(r[n]=[])),a=o[1]?V(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(-1!==(i=t.indexOf("?"))){var l=t.substr(i+1,t.length);t=t.substr(0,i),o=this.parseQueryString(l)}for("/"!==(t=decodeURI(t)).charAt(0)&&(t="/"+t),(e=t.length)>1&&"/"===t.charAt(e-1)&&(t=t.substr(0,e-1),n=!0),r=0;r2&&"[]"===n.slice(l-2)&&(s=!0,r[n=n.slice(0,l-2)]||(r[n]=[])),a=o[1]?V(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(-1!==(i=t.indexOf("?"))){var l=t.substr(i+1,t.length);t=t.substr(0,i),o=this.parseQueryString(l)}for("/"!==(t=decodeURI(t)).charAt(0)&&(t="/"+t),(e=t.length)>1&&"/"===t.charAt(e-1)&&(t=t.substr(0,e-1),n=!0),r=0;r; private operator: BasicFilterOperators; private isRequireSingleSelection = false; - /** - * Sets target property for Basic filter with target object - * - * ```javascript - * const target = { - * table: 'table1', - * column: 'column1' - * }; - * - * const basicFilterBuilder = new BasicFilterBuilder().withTargetObject(target); - * ``` - * - * @returns {BasicFilterBuilder} - */ - withTargetObject(target: IFilterTarget): BasicFilterBuilder { - this.target = target; - return this; - } - /** * Sets In as operator for Basic filter * diff --git a/src/FilterBuilders/filterBuilder.ts b/src/FilterBuilders/filterBuilder.ts index bbe5e042..660b7821 100644 --- a/src/FilterBuilders/filterBuilder.ts +++ b/src/FilterBuilders/filterBuilder.ts @@ -1,14 +1,103 @@ // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. -import { Filter, IFilterTarget } from "powerbi-models"; +import { IFilterTarget } from "powerbi-models"; /** * Generic filter builder for BasicFilter, AdvancedFilter, RelativeDate, RelativeTime and TopN - * - * @interface IFilterBuilder + * + * @class */ -export interface IFilterBuilder { - withTargetObject(target: IFilterTarget): IFilterBuilder; - build(): Filter; +export class FilterBuilder { + + public target: IFilterTarget; + + /** + * Sets target property for filter with target object + * + * ```javascript + * const target = { + * table: 'table1', + * column: 'column1' + * }; + * + * const filterBuilder = new FilterBuilder().withTargetObject(target); + * ``` + * + * @returns {FilterBuilder} + */ + withTargetObject(target: IFilterTarget) { + this.target = target; + return this; + } + + /** + * Sets target property for filter with column target object + * + * ``` + * const filterBuilder = new FilterBuilder().withColumnTarget(tableName, columnName); + * ``` + * + * @returns {FilterBuilder} + */ + withColumnTarget(tableName: string, columnName: string) { + this.target = { table: tableName, column: columnName }; + return this; + } + + /** + * Sets target property for filter with measure target object + * + * ``` + * const filterBuilder = new FilterBuilder().withMeasureTarget(tableName, measure); + * ``` + * + * @returns {FilterBuilder} + */ + withMeasureTarget(tableName: string, measure: string) { + this.target = { table: tableName, measure: measure }; + return this; + } + + /** + * Sets target property for filter with hierarchy level target object + * + * ``` + * const filterBuilder = new FilterBuilder().withHierarchyLevelTarget(tableName, hierarchy, hierarchyLevel); + * ``` + * + * @returns {FilterBuilder} + */ + withHierarchyLevelTarget(tableName: string, hierarchy: string, hierarchyLevel: string) { + this.target = { table: tableName, hierarchy: hierarchy, hierarchyLevel: hierarchyLevel }; + return this; + } + + /** + * Sets target property for filter with column aggregation target object + * + * ``` + * const filterBuilder = new FilterBuilder().withColumnAggregation(tableName, columnName, aggregationFunction); + * ``` + * + * @returns {FilterBuilder} + */ + withColumnAggregation(tableName: string, columnName: string, aggregationFunction: string) { + this.target = { table: tableName, column: columnName, aggregationFunction: aggregationFunction }; + return this; + } + + /** + * Sets target property for filter with hierarchy level aggregation target object + * + * ``` + * const filterBuilder = new FilterBuilder().withHierarchyLevelAggregationTarget(tableName, hierarchy, hierarchyLevel, aggregationFunction); + * ``` + * + * @returns {FilterBuilder} + */ + withHierarchyLevelAggregationTarget(tableName: string, hierarchy: string, hierarchyLevel: string, aggregationFunction: string) { + this.target = { table: tableName, hierarchy: hierarchy, hierarchyLevel: hierarchyLevel, aggregationFunction: aggregationFunction }; + return this; + } } diff --git a/src/FilterBuilders/relativeDateFilterBuilder.ts b/src/FilterBuilders/relativeDateFilterBuilder.ts index c02f8df0..5f522e60 100644 --- a/src/FilterBuilders/relativeDateFilterBuilder.ts +++ b/src/FilterBuilders/relativeDateFilterBuilder.ts @@ -2,48 +2,27 @@ // Licensed under the MIT License. import { - IFilterTarget, RelativeDateFilter, RelativeDateOperators, RelativeDateFilterTimeUnit } from "powerbi-models"; -import { IFilterBuilder } from './filterBuilder'; +import { FilterBuilder } from './filterBuilder'; /** * Power BI Relative Date filter builder component * * @export * @class RelativeDateFilterBuilder - * @implements {IFilterBuilder} + * @extends {FilterBuilder} */ -export class RelativeDateFilterBuilder implements IFilterBuilder { - private target: IFilterTarget; +export class RelativeDateFilterBuilder extends FilterBuilder { + private operator: RelativeDateOperators; private timeUnitsCount: number; private timeUnitType: RelativeDateFilterTimeUnit; private isTodayIncluded = true; - /** - * Sets target property for Relative Date filter with target object - * - * ```javascript - * const target = { - * table: 'table1', - * column: 'column1' - * }; - * - * const relativeDateFilterBuilder = new RelativeDateFilterBuilder().withTargetObject(target); - * ``` - * - * @param {IFilterTarget} target - Defines the target property - * @returns {RelativeDateFilterBuilder} - */ - withTargetObject(target: IFilterTarget): RelativeDateFilterBuilder { - this.target = target; - return this; - } - /** * Sets inLast as operator for Relative Date filter * diff --git a/src/FilterBuilders/relativeTimeFilterBuilder.ts b/src/FilterBuilders/relativeTimeFilterBuilder.ts index 9811f1db..ac3b6084 100644 --- a/src/FilterBuilders/relativeTimeFilterBuilder.ts +++ b/src/FilterBuilders/relativeTimeFilterBuilder.ts @@ -2,47 +2,26 @@ // Licensed under the MIT License. import { - IFilterTarget, RelativeTimeFilter, RelativeDateOperators, RelativeDateFilterTimeUnit } from "powerbi-models"; -import { IFilterBuilder } from './filterBuilder'; +import { FilterBuilder } from './filterBuilder'; /** * Power BI Relative Time filter builder component * * @export * @class RelativeTimeFilterBuilder - * @implements {IFilterBuilder} + * @extends {FilterBuilder} */ -export class RelativeTimeFilterBuilder implements IFilterBuilder { - private target: IFilterTarget; +export class RelativeTimeFilterBuilder extends FilterBuilder { + private operator: RelativeDateOperators; private timeUnitsCount: number; private timeUnitType: RelativeDateFilterTimeUnit; - /** - * Sets target property for Relative Time filter with target object - * - * ```javascript - * const target = { - * table: 'table1', - * column: 'column1' - * }; - * - * const relativeTimeFilterBuilder = new RelativeTimeFilterBuilder().withTargetObject(target); - * ``` - * - * @param {IFilterTarget} target - Defines the target property - * @returns {RelativeTimeFilterBuilder} - */ - withTargetObject(target: IFilterTarget): RelativeTimeFilterBuilder { - this.target = target; - return this; - } - /** * Sets inLast as operator for Relative Time filter * diff --git a/src/FilterBuilders/topNFilterBuilder.ts b/src/FilterBuilders/topNFilterBuilder.ts index dd768182..7dae49be 100644 --- a/src/FilterBuilders/topNFilterBuilder.ts +++ b/src/FilterBuilders/topNFilterBuilder.ts @@ -2,46 +2,26 @@ // Licensed under the MIT License. import { - IFilterTarget, ITarget, TopNFilter, TopNFilterOperators } from "powerbi-models"; -import { IFilterBuilder } from './filterBuilder'; +import { FilterBuilder } from './filterBuilder'; /** * Power BI Top N filter builder component * * @export * @class TopNFilterBuilder - * @implements {IFilterBuilder} + * @extends {FilterBuilder} */ -export class TopNFilterBuilder implements IFilterBuilder { - private target: IFilterTarget; +export class TopNFilterBuilder extends FilterBuilder { + private itemCount: number; private operator: TopNFilterOperators; private orderByTargetValue: ITarget; - /** - * Sets target property for Top N filter with target object - * - * ```javascript - * const target = { - * table: 'table1', - * column: 'column1' - * }; - * - * const topNFilterBuilder = new TopNFilterBuilder().withTargetObject(target); - * ``` - * - * @returns {TopNFilterBuilder} - */ - withTargetObject(target: IFilterTarget): TopNFilterBuilder { - this.target = target; - return this; - } - /** * Sets Top as operator for Top N filter * @@ -89,7 +69,6 @@ export class TopNFilterBuilder implements IFilterBuilder { return this; } - /** * Creates Top N filter * diff --git a/test/filterBuilders.spec.ts b/test/filterBuilders.spec.ts index f571334e..fbc88798 100644 --- a/test/filterBuilders.spec.ts +++ b/test/filterBuilders.spec.ts @@ -9,6 +9,31 @@ describe('filter builders', function () { table: 'table1', column: 'column1' }; + const measureTarget: models.IMeasureTarget = { + table: 'table', + measure: 'measure' + }; + const columnTarget: models.IColumnTarget = { + table: 'table', + column: 'column' + }; + const hierarchyLevelTarget: models.IHierarchyLevelTarget = { + table: 'table', + hierarchy: 'hierarchy', + hierarchyLevel: 'hierarchy level name', + }; + const columnAggregationTarget: models.IColumnAggrTarget = { + table: 'table', + column: 'column', + aggregationFunction: 'Avg' + }; + const hierarchyLevelAggregationTarget: models.IHierarchyLevelAggrTarget = { + table: 'table', + hierarchy: 'hierarchy', + hierarchyLevel: 'hierarchy level name', + aggregationFunction: 'Avg' + }; + describe('Basic filter builder', function () { it('validates Basic filter with target object', function () { // Arrange @@ -27,6 +52,96 @@ describe('filter builders', function () { expect(basicFilterWithBuilder).toBeDefined(); expect(basicFilterWithBuilder).toEqual(basicFilter); }); + + it('validates Basic filter with column target object', function () { + // Arrange + const values = [1, 2, 3]; + const operator: models.BasicFilterOperators = 'In'; + const basicFilter: models.BasicFilter = new models.BasicFilter(columnTarget, operator, values); + basicFilter.requireSingleSelection = false; + + // Act + const basicFilterWithBuilder: models.BasicFilter = new BasicFilterBuilder() + .withColumnTarget('table', 'column') + .in(values) + .build(); + + // Assert + expect(basicFilterWithBuilder).toBeDefined(); + expect(basicFilterWithBuilder).toEqual(basicFilter); + }); + + it('validates Basic filter with measure target object', function () { + // Arrange + const values = [1, 2, 3]; + const operator: models.BasicFilterOperators = 'In'; + const basicFilter: models.BasicFilter = new models.BasicFilter(measureTarget, operator, values); + basicFilter.requireSingleSelection = false; + + // Act + const basicFilterWithBuilder: models.BasicFilter = new BasicFilterBuilder() + .withMeasureTarget('table', 'measure') + .in(values) + .build(); + + // Assert + expect(basicFilterWithBuilder).toBeDefined(); + expect(basicFilterWithBuilder).toEqual(basicFilter); + }); + + it('validates Basic filter with hierarchy level target object', function () { + // Arrange + const values = [1, 2, 3]; + const operator: models.BasicFilterOperators = 'In'; + const basicFilter: models.BasicFilter = new models.BasicFilter(hierarchyLevelTarget, operator, values); + basicFilter.requireSingleSelection = false; + + // Act + const basicFilterWithBuilder: models.BasicFilter = new BasicFilterBuilder() + .withHierarchyLevelTarget('table', 'hierarchy', 'hierarchy level name') + .in(values) + .build(); + + // Assert + expect(basicFilterWithBuilder).toBeDefined(); + expect(basicFilterWithBuilder).toEqual(basicFilter); + }); + + it('validates Basic filter with column aggregation target object', function () { + // Arrange + const values = [1, 2, 3]; + const operator: models.BasicFilterOperators = 'In'; + const basicFilter: models.BasicFilter = new models.BasicFilter(columnAggregationTarget, operator, values); + basicFilter.requireSingleSelection = false; + + // Act + const basicFilterWithBuilder: models.BasicFilter = new BasicFilterBuilder() + .withColumnAggregation('table', 'column', 'Avg') + .in(values) + .build(); + + // Assert + expect(basicFilterWithBuilder).toBeDefined(); + expect(basicFilterWithBuilder).toEqual(basicFilter); + }); + + it('validates Basic filter with hierarchy level aggregation target object', function () { + // Arrange + const values = [1, 2, 3]; + const operator: models.BasicFilterOperators = 'In'; + const basicFilter: models.BasicFilter = new models.BasicFilter(hierarchyLevelAggregationTarget, operator, values); + basicFilter.requireSingleSelection = false; + + // Act + const basicFilterWithBuilder: models.BasicFilter = new BasicFilterBuilder() + .withHierarchyLevelAggregationTarget('table', 'hierarchy', 'hierarchy level name', 'Avg') + .in(values) + .build(); + + // Assert + expect(basicFilterWithBuilder).toBeDefined(); + expect(basicFilterWithBuilder).toEqual(basicFilter); + }); }); describe('Advanced filter builder', function () { @@ -58,52 +173,393 @@ describe('filter builders', function () { expect(advancedFilterWithBuilder).toEqual(advancedFilter); }); - describe('TopN filter builder', function () { - const orderByTarget: models.ITarget = { - table: 'table1', - measure: 'measure1' - }; - it('validates TopN filter with target object', function () { - // Arrange - const operator: models.TopNFilterOperators = 'Top'; - const itemCount = 10; - const topNFilter: models.TopNFilter = new models.TopNFilter(target, operator, itemCount, orderByTarget); - - // Act - const topNFilterWithBuilder: models.TopNFilter = new TopNFilterBuilder() - .withTargetObject(target) - .top(itemCount) - .orderByTarget({ table: orderByTarget.table, measure: orderByTarget.measure }) - .build(); - - // Assert - expect(topNFilterWithBuilder).toBeDefined(); - expect(topNFilterWithBuilder).toEqual(topNFilter); - }); - }); - - describe("Realtive date filter builder", function () { - it('validates relative date with target object', function () { - // Arrange - const operator: models.RelativeDateOperators = models.RelativeDateOperators.InLast; - const timeUnitsCount = 10; - const timeUnitType = models.RelativeDateFilterTimeUnit.Days; - const includeToday = true; - const relativeDateFilter: models.RelativeDateFilter = new models.RelativeDateFilter(target, operator, timeUnitsCount, timeUnitType, includeToday); - - - // Act - const relativeDateFilterWithBuilder: models.RelativeDateFilter = new RelativeDateFilterBuilder() - .withTargetObject(target) - .inLast(timeUnitsCount, timeUnitType) - .includeToday(true) - .build(); - - // Assert - expect(relativeDateFilterWithBuilder).toBeDefined(); - expect(relativeDateFilterWithBuilder).toEqual(relativeDateFilter); - }); + it('validates Advanced filter with column target object', function () { + // Arrange + const logicalOperator: models.AdvancedFilterLogicalOperators = 'And'; + const conditions: models.IAdvancedFilterCondition[] = [ + { + operator: 'Contains', + value: 'value1' + }, + { + operator: 'Contains', + value: 'value2' + } + ]; + const advancedFilter: models.AdvancedFilter = new models.AdvancedFilter(columnTarget, logicalOperator, conditions); + + // Act + const advancedFilterWithBuilder: models.AdvancedFilter = new AdvancedFilterBuilder() + .withColumnTarget('table', 'column') + .addCondition(conditions[0].operator, conditions[0].value) + .and() + .addCondition(conditions[1].operator, conditions[1].value) + .build(); + + // Assert + expect(advancedFilterWithBuilder).toBeDefined(); + expect(advancedFilterWithBuilder).toEqual(advancedFilter); }); + + it('validates Advanced filter with measure target object', function () { + // Arrange + const logicalOperator: models.AdvancedFilterLogicalOperators = 'And'; + const conditions: models.IAdvancedFilterCondition[] = [ + { + operator: 'Contains', + value: 'value1' + }, + { + operator: 'Contains', + value: 'value2' + } + ]; + const advancedFilter: models.AdvancedFilter = new models.AdvancedFilter(measureTarget, logicalOperator, conditions); + + // Act + const advancedFilterWithBuilder: models.AdvancedFilter = new AdvancedFilterBuilder() + .withMeasureTarget('table', 'measure') + .addCondition(conditions[0].operator, conditions[0].value) + .and() + .addCondition(conditions[1].operator, conditions[1].value) + .build(); + + // Assert + expect(advancedFilterWithBuilder).toBeDefined(); + expect(advancedFilterWithBuilder).toEqual(advancedFilter); + }); + + it('validates Advanced filter with hierarchy level target object', function () { + // Arrange + const logicalOperator: models.AdvancedFilterLogicalOperators = 'And'; + const conditions: models.IAdvancedFilterCondition[] = [ + { + operator: 'Contains', + value: 'value1' + }, + { + operator: 'Contains', + value: 'value2' + } + ]; + const advancedFilter: models.AdvancedFilter = new models.AdvancedFilter(hierarchyLevelTarget, logicalOperator, conditions); + + // Act + const advancedFilterWithBuilder: models.AdvancedFilter = new AdvancedFilterBuilder() + .withHierarchyLevelTarget('table', 'hierarchy', 'hierarchy level name') + .addCondition(conditions[0].operator, conditions[0].value) + .and() + .addCondition(conditions[1].operator, conditions[1].value) + .build(); + + // Assert + expect(advancedFilterWithBuilder).toBeDefined(); + expect(advancedFilterWithBuilder).toEqual(advancedFilter); + }); + + it('validates Advanced filter with column aggregation target object', function () { + // Arrange + const logicalOperator: models.AdvancedFilterLogicalOperators = 'And'; + const conditions: models.IAdvancedFilterCondition[] = [ + { + operator: 'Contains', + value: 'value1' + }, + { + operator: 'Contains', + value: 'value2' + } + ]; + const advancedFilter: models.AdvancedFilter = new models.AdvancedFilter(columnAggregationTarget, logicalOperator, conditions); + + // Act + const advancedFilterWithBuilder: models.AdvancedFilter = new AdvancedFilterBuilder() + .withColumnAggregation('table', 'column', 'Avg') + .addCondition(conditions[0].operator, conditions[0].value) + .and() + .addCondition(conditions[1].operator, conditions[1].value) + .build(); + + // Assert + expect(advancedFilterWithBuilder).toBeDefined(); + expect(advancedFilterWithBuilder).toEqual(advancedFilter); + }); + + it('validates Advanced filter with hierarchy level aggregation target object', function () { + // Arrange + const logicalOperator: models.AdvancedFilterLogicalOperators = 'And'; + const conditions: models.IAdvancedFilterCondition[] = [ + { + operator: 'Contains', + value: 'value1' + }, + { + operator: 'Contains', + value: 'value2' + } + ]; + const advancedFilter: models.AdvancedFilter = new models.AdvancedFilter(hierarchyLevelAggregationTarget, logicalOperator, conditions); + + // Act + const advancedFilterWithBuilder: models.AdvancedFilter = new AdvancedFilterBuilder() + .withHierarchyLevelAggregationTarget('table', 'hierarchy', 'hierarchy level name', 'Avg') + .addCondition(conditions[0].operator, conditions[0].value) + .and() + .addCondition(conditions[1].operator, conditions[1].value) + .build(); + + // Assert + expect(advancedFilterWithBuilder).toBeDefined(); + expect(advancedFilterWithBuilder).toEqual(advancedFilter); + }); + }); + + describe('TopN filter builder', function () { + const orderByTarget: models.ITarget = { + table: 'table1', + measure: 'measure1' + }; + + it('validates TopN filter with target object', function () { + // Arrange + const operator: models.TopNFilterOperators = 'Top'; + const itemCount = 10; + const topNFilter: models.TopNFilter = new models.TopNFilter(target, operator, itemCount, orderByTarget); + + // Act + const topNFilterWithBuilder: models.TopNFilter = new TopNFilterBuilder() + .withTargetObject(target) + .top(itemCount) + .orderByTarget({ table: orderByTarget.table, measure: orderByTarget.measure }) + .build(); + + // Assert + expect(topNFilterWithBuilder).toBeDefined(); + expect(topNFilterWithBuilder).toEqual(topNFilter); + }); + + it('validates TopN filter with column target object', function () { + // Arrange + const operator: models.TopNFilterOperators = 'Top'; + const itemCount = 10; + const topNFilter: models.TopNFilter = new models.TopNFilter(columnTarget, operator, itemCount, orderByTarget); + + // Act + const topNFilterWithBuilder: models.TopNFilter = new TopNFilterBuilder() + .withColumnTarget('table', 'column') + .top(itemCount) + .orderByTarget({ table: orderByTarget.table, measure: orderByTarget.measure }) + .build(); + + // Assert + expect(topNFilterWithBuilder).toBeDefined(); + expect(topNFilterWithBuilder).toEqual(topNFilter); + }); + + it('validates TopN filter with measure target object', function () { + // Arrange + const operator: models.TopNFilterOperators = 'Top'; + const itemCount = 10; + const topNFilter: models.TopNFilter = new models.TopNFilter(measureTarget, operator, itemCount, orderByTarget); + + // Act + const topNFilterWithBuilder: models.TopNFilter = new TopNFilterBuilder() + .withMeasureTarget('table', 'measure') + .top(itemCount) + .orderByTarget({ table: orderByTarget.table, measure: orderByTarget.measure }) + .build(); + + // Assert + expect(topNFilterWithBuilder).toBeDefined(); + expect(topNFilterWithBuilder).toEqual(topNFilter); + }); + + it('validates TopN filter with hierarchy level target object', function () { + // Arrange + const operator: models.TopNFilterOperators = 'Top'; + const itemCount = 10; + const topNFilter: models.TopNFilter = new models.TopNFilter(hierarchyLevelTarget, operator, itemCount, orderByTarget); + + // Act + const topNFilterWithBuilder: models.TopNFilter = new TopNFilterBuilder() + .withHierarchyLevelTarget('table', 'hierarchy', 'hierarchy level name') + .top(itemCount) + .orderByTarget({ table: orderByTarget.table, measure: orderByTarget.measure }) + .build(); + + // Assert + expect(topNFilterWithBuilder).toBeDefined(); + expect(topNFilterWithBuilder).toEqual(topNFilter); + }); + + it('validates TopN filter with column aggregation target object', function () { + // Arrange + const operator: models.TopNFilterOperators = 'Top'; + const itemCount = 10; + const topNFilter: models.TopNFilter = new models.TopNFilter(columnAggregationTarget, operator, itemCount, orderByTarget); + + // Act + const topNFilterWithBuilder: models.TopNFilter = new TopNFilterBuilder() + .withColumnAggregation('table', 'column', 'Avg') + .top(itemCount) + .orderByTarget({ table: orderByTarget.table, measure: orderByTarget.measure }) + .build(); + + // Assert + expect(topNFilterWithBuilder).toBeDefined(); + expect(topNFilterWithBuilder).toEqual(topNFilter); + }); + + it('validates TopN filter with hierarchy level aggregation target object', function () { + // Arrange + const operator: models.TopNFilterOperators = 'Top'; + const itemCount = 10; + const topNFilter: models.TopNFilter = new models.TopNFilter(hierarchyLevelAggregationTarget, operator, itemCount, orderByTarget); + + // Act + const topNFilterWithBuilder: models.TopNFilter = new TopNFilterBuilder() + .withHierarchyLevelAggregationTarget('table', 'hierarchy', 'hierarchy level name', 'Avg') + .top(itemCount) + .orderByTarget({ table: orderByTarget.table, measure: orderByTarget.measure }) + .build(); + + // Assert + expect(topNFilterWithBuilder).toBeDefined(); + expect(topNFilterWithBuilder).toEqual(topNFilter); + }); + }); + + describe("Realtive date filter builder", function () { + + it('validates relative date with target object', function () { + // Arrange + const operator: models.RelativeDateOperators = models.RelativeDateOperators.InLast; + const timeUnitsCount = 10; + const timeUnitType = models.RelativeDateFilterTimeUnit.Days; + const includeToday = true; + const relativeDateFilter: models.RelativeDateFilter = new models.RelativeDateFilter(target, operator, timeUnitsCount, timeUnitType, includeToday); + + + // Act + const relativeDateFilterWithBuilder: models.RelativeDateFilter = new RelativeDateFilterBuilder() + .withTargetObject(target) + .inLast(timeUnitsCount, timeUnitType) + .includeToday(true) + .build(); + + // Assert + expect(relativeDateFilterWithBuilder).toBeDefined(); + expect(relativeDateFilterWithBuilder).toEqual(relativeDateFilter); + }); + + it('validates relative date with column target object', function () { + // Arrange + const operator: models.RelativeDateOperators = models.RelativeDateOperators.InLast; + const timeUnitsCount = 10; + const timeUnitType = models.RelativeDateFilterTimeUnit.Days; + const includeToday = true; + const relativeDateFilter: models.RelativeDateFilter = new models.RelativeDateFilter(columnTarget, operator, timeUnitsCount, timeUnitType, includeToday); + + + // Act + const relativeDateFilterWithBuilder: models.RelativeDateFilter = new RelativeDateFilterBuilder() + .withColumnTarget('table', 'column') + .inLast(timeUnitsCount, timeUnitType) + .includeToday(true) + .build(); + + // Assert + expect(relativeDateFilterWithBuilder).toBeDefined(); + expect(relativeDateFilterWithBuilder).toEqual(relativeDateFilter); + }); + + it('validates relative date with measure target object', function () { + // Arrange + const operator: models.RelativeDateOperators = models.RelativeDateOperators.InLast; + const timeUnitsCount = 10; + const timeUnitType = models.RelativeDateFilterTimeUnit.Days; + const includeToday = true; + const relativeDateFilter: models.RelativeDateFilter = new models.RelativeDateFilter(measureTarget, operator, timeUnitsCount, timeUnitType, includeToday); + + + // Act + const relativeDateFilterWithBuilder: models.RelativeDateFilter = new RelativeDateFilterBuilder() + .withMeasureTarget('table', 'measure') + .inLast(timeUnitsCount, timeUnitType) + .includeToday(true) + .build(); + + // Assert + expect(relativeDateFilterWithBuilder).toBeDefined(); + expect(relativeDateFilterWithBuilder).toEqual(relativeDateFilter); + }); + + it('validates relative date with hierarchy level target object', function () { + // Arrange + const operator: models.RelativeDateOperators = models.RelativeDateOperators.InLast; + const timeUnitsCount = 10; + const timeUnitType = models.RelativeDateFilterTimeUnit.Days; + const includeToday = true; + const relativeDateFilter: models.RelativeDateFilter = new models.RelativeDateFilter(hierarchyLevelTarget, operator, timeUnitsCount, timeUnitType, includeToday); + + + // Act + const relativeDateFilterWithBuilder: models.RelativeDateFilter = new RelativeDateFilterBuilder() + .withHierarchyLevelTarget('table', 'hierarchy', 'hierarchy level name') + .inLast(timeUnitsCount, timeUnitType) + .includeToday(true) + .build(); + + // Assert + expect(relativeDateFilterWithBuilder).toBeDefined(); + expect(relativeDateFilterWithBuilder).toEqual(relativeDateFilter); + }); + + it('validates relative date with column aggregation target object', function () { + // Arrange + const operator: models.RelativeDateOperators = models.RelativeDateOperators.InLast; + const timeUnitsCount = 10; + const timeUnitType = models.RelativeDateFilterTimeUnit.Days; + const includeToday = true; + const relativeDateFilter: models.RelativeDateFilter = new models.RelativeDateFilter(columnAggregationTarget, operator, timeUnitsCount, timeUnitType, includeToday); + + + // Act + const relativeDateFilterWithBuilder: models.RelativeDateFilter = new RelativeDateFilterBuilder() + .withColumnAggregation('table', 'column', 'Avg') + .inLast(timeUnitsCount, timeUnitType) + .includeToday(true) + .build(); + + // Assert + expect(relativeDateFilterWithBuilder).toBeDefined(); + expect(relativeDateFilterWithBuilder).toEqual(relativeDateFilter); + }); + + it('validates relative date with hierarchy level aggregation target object', function () { + // Arrange + const operator: models.RelativeDateOperators = models.RelativeDateOperators.InLast; + const timeUnitsCount = 10; + const timeUnitType = models.RelativeDateFilterTimeUnit.Days; + const includeToday = true; + const relativeDateFilter: models.RelativeDateFilter = new models.RelativeDateFilter(hierarchyLevelAggregationTarget, operator, timeUnitsCount, timeUnitType, includeToday); + + + // Act + const relativeDateFilterWithBuilder: models.RelativeDateFilter = new RelativeDateFilterBuilder() + .withHierarchyLevelAggregationTarget('table', 'hierarchy', 'hierarchy level name', 'Avg') + .inLast(timeUnitsCount, timeUnitType) + .includeToday(true) + .build(); + + // Assert + expect(relativeDateFilterWithBuilder).toBeDefined(); + expect(relativeDateFilterWithBuilder).toEqual(relativeDateFilter); + }); + }); + + describe("Realtive time filter builder", function () { + it('validates time with target object', function () { // Arrange const operator: models.RelativeDateOperators = models.RelativeDateOperators.InLast; @@ -122,5 +578,100 @@ describe('filter builders', function () { expect(relativeTimeFilterWithBuilder).toBeDefined(); expect(relativeTimeFilterWithBuilder).toEqual(relativeTimeFilter); }); + + it('validates time with column target object', function () { + // Arrange + const operator: models.RelativeDateOperators = models.RelativeDateOperators.InLast; + const timeUnitsCount = 10; + const timeUnitType = models.RelativeDateFilterTimeUnit.Hours; + const relativeTimeFilter: models.RelativeTimeFilter = new models.RelativeTimeFilter(columnTarget, operator, timeUnitsCount, timeUnitType); + + + // Act + const relativeTimeFilterWithBuilder: models.RelativeTimeFilter = new RelativeTimeFilterBuilder() + .withColumnTarget('table', 'column') + .inLast(timeUnitsCount, timeUnitType) + .build(); + + // Assert + expect(relativeTimeFilterWithBuilder).toBeDefined(); + expect(relativeTimeFilterWithBuilder).toEqual(relativeTimeFilter); + }); + + it('validates time with measure target object', function () { + // Arrange + const operator: models.RelativeDateOperators = models.RelativeDateOperators.InLast; + const timeUnitsCount = 10; + const timeUnitType = models.RelativeDateFilterTimeUnit.Hours; + const relativeTimeFilter: models.RelativeTimeFilter = new models.RelativeTimeFilter(measureTarget, operator, timeUnitsCount, timeUnitType); + + + // Act + const relativeTimeFilterWithBuilder: models.RelativeTimeFilter = new RelativeTimeFilterBuilder() + .withMeasureTarget('table', 'measure') + .inLast(timeUnitsCount, timeUnitType) + .build(); + + // Assert + expect(relativeTimeFilterWithBuilder).toBeDefined(); + expect(relativeTimeFilterWithBuilder).toEqual(relativeTimeFilter); + }); + + it('validates time with hierarchy level target object', function () { + // Arrange + const operator: models.RelativeDateOperators = models.RelativeDateOperators.InLast; + const timeUnitsCount = 10; + const timeUnitType = models.RelativeDateFilterTimeUnit.Hours; + const relativeTimeFilter: models.RelativeTimeFilter = new models.RelativeTimeFilter(hierarchyLevelTarget, operator, timeUnitsCount, timeUnitType); + + + // Act + const relativeTimeFilterWithBuilder: models.RelativeTimeFilter = new RelativeTimeFilterBuilder() + .withHierarchyLevelTarget('table', 'hierarchy', 'hierarchy level name') + .inLast(timeUnitsCount, timeUnitType) + .build(); + + // Assert + expect(relativeTimeFilterWithBuilder).toBeDefined(); + expect(relativeTimeFilterWithBuilder).toEqual(relativeTimeFilter); + }); + + it('validates time with column aggregation target object', function () { + // Arrange + const operator: models.RelativeDateOperators = models.RelativeDateOperators.InLast; + const timeUnitsCount = 10; + const timeUnitType = models.RelativeDateFilterTimeUnit.Hours; + const relativeTimeFilter: models.RelativeTimeFilter = new models.RelativeTimeFilter(columnAggregationTarget, operator, timeUnitsCount, timeUnitType); + + + // Act + const relativeTimeFilterWithBuilder: models.RelativeTimeFilter = new RelativeTimeFilterBuilder() + .withColumnAggregation('table', 'column', 'Avg') + .inLast(timeUnitsCount, timeUnitType) + .build(); + + // Assert + expect(relativeTimeFilterWithBuilder).toBeDefined(); + expect(relativeTimeFilterWithBuilder).toEqual(relativeTimeFilter); + }); + + it('validates time with hierarchy level aggregation target object', function () { + // Arrange + const operator: models.RelativeDateOperators = models.RelativeDateOperators.InLast; + const timeUnitsCount = 10; + const timeUnitType = models.RelativeDateFilterTimeUnit.Hours; + const relativeTimeFilter: models.RelativeTimeFilter = new models.RelativeTimeFilter(hierarchyLevelAggregationTarget, operator, timeUnitsCount, timeUnitType); + + + // Act + const relativeTimeFilterWithBuilder: models.RelativeTimeFilter = new RelativeTimeFilterBuilder() + .withHierarchyLevelAggregationTarget('table', 'hierarchy', 'hierarchy level name', 'Avg') + .inLast(timeUnitsCount, timeUnitType) + .build(); + + // Assert + expect(relativeTimeFilterWithBuilder).toBeDefined(); + expect(relativeTimeFilterWithBuilder).toEqual(relativeTimeFilter); + }); }); }); \ No newline at end of file From 62a5e7f8bc90fb57a48052487e1783e1bdccca3e Mon Sep 17 00:00:00 2001 From: Shahak Yosef Date: Tue, 20 Jul 2021 12:20:50 +0000 Subject: [PATCH 070/125] Merged PR 183663: Add renderingStarted event Add loadingScreenHidden event Mirror one [external PR](https://github.com/microsoft/PowerBI-JavaScript/pull/365#issuecomment-869786547). Update powerbi-models version. --- dist/powerbi.js | 27 +++++++++++++++++++++++---- dist/powerbi.min.js | 2 +- src/report.ts | 2 +- src/util.ts | 2 +- 4 files changed, 26 insertions(+), 7 deletions(-) diff --git a/dist/powerbi.js b/dist/powerbi.js index b8bf2a7b..478ab3cc 100644 --- a/dist/powerbi.js +++ b/dist/powerbi.js @@ -290,7 +290,7 @@ return /******/ (function(modules) { // webpackBootstrap /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { -// powerbi-models v1.9.0 +// powerbi-models v1.9.1 // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. (function webpackUniversalModuleDefinition(root, factory) { @@ -404,7 +404,7 @@ var __extends = (this && this.__extends) || (function () { }; })(); Object.defineProperty(exports, "__esModule", { value: true }); -exports.validateCustomTheme = exports.validateCommandsSettings = exports.validateVisualSettings = exports.validateVisualHeader = exports.validateExportDataRequest = exports.validateQnaInterpretInputData = exports.validateLoadQnaConfiguration = exports.validateSaveAsParameters = exports.validateUpdateFiltersRequest = exports.validateFilter = exports.validatePage = exports.validateTileLoad = exports.validateDashboardLoad = exports.validateCreateReport = exports.validatePaginatedReportLoad = exports.validateReportLoad = exports.validateMenuGroupExtension = exports.validateExtension = exports.validateCustomPageSize = exports.validateVisualizationsPane = exports.validateSyncSlicersPane = exports.validateSelectionPane = exports.validatePageNavigationPane = exports.validateFieldsPane = exports.validateFiltersPane = exports.validateBookmarksPane = exports.validatePanes = exports.validateSettings = exports.validateCaptureBookmarkRequest = exports.validateApplyBookmarkStateRequest = exports.validateApplyBookmarkByNameRequest = exports.validateAddBookmarkRequest = exports.validatePlayBookmarkRequest = exports.validateSlicerState = exports.validateSlicer = exports.validateVisualSelector = exports.isIExtensionArray = exports.isIExtensions = exports.isGroupedMenuExtension = exports.isFlatMenuExtension = exports.isReportFiltersArray = exports.isOnLoadFilters = exports.VisualDataRoleKindPreference = exports.VisualDataRoleKind = exports.CommandDisplayOption = exports.SlicerTargetSelector = exports.VisualTypeSelector = exports.VisualSelector = exports.PageSelector = exports.Selector = exports.SortDirection = exports.LegendPosition = exports.TextAlignment = exports.CommonErrorCodes = exports.BookmarksPlayMode = exports.ExportDataType = exports.QnaMode = exports.PageNavigationPosition = exports.isColumnAggr = exports.isHierarchyLevelAggr = exports.isHierarchyLevel = exports.isColumn = exports.isMeasure = exports.getFilterType = exports.isBasicFilterWithKeys = exports.isFilterKeyColumnsTarget = exports.AdvancedFilter = exports.TupleFilter = exports.BasicFilterWithKeys = exports.BasicFilter = exports.RelativeTimeFilter = exports.RelativeDateFilter = exports.TopNFilter = exports.IncludeExcludeFilter = exports.NotSupportedFilter = exports.Filter = exports.RelativeDateOperators = exports.RelativeDateFilterTimeUnit = exports.FilterType = exports.FiltersLevel = exports.FiltersOperations = exports.MenuLocation = exports.ContrastMode = exports.TokenType = exports.ViewMode = exports.Permissions = exports.SectionVisibility = exports.HyperlinkClickBehavior = exports.LayoutType = exports.VisualContainerDisplayMode = exports.BackgroundType = exports.DisplayOption = exports.PageSizeType = exports.TraceType = void 0; +exports.validateCustomTheme = exports.validateCommandsSettings = exports.validateVisualSettings = exports.validateVisualHeader = exports.validateExportDataRequest = exports.validateQnaInterpretInputData = exports.validateLoadQnaConfiguration = exports.validateSaveAsParameters = exports.validateUpdateFiltersRequest = exports.validateFilter = exports.validatePage = exports.validateTileLoad = exports.validateDashboardLoad = exports.validateCreateReport = exports.validatePaginatedReportLoad = exports.validateReportLoad = exports.validateMenuGroupExtension = exports.validateExtension = exports.validateCustomPageSize = exports.validateVisualizationsPane = exports.validateSyncSlicersPane = exports.validateSelectionPane = exports.validatePageNavigationPane = exports.validateFieldsPane = exports.validateFiltersPane = exports.validateBookmarksPane = exports.validatePanes = exports.validateSettings = exports.validateCaptureBookmarkRequest = exports.validateApplyBookmarkStateRequest = exports.validateApplyBookmarkByNameRequest = exports.validateAddBookmarkRequest = exports.validatePlayBookmarkRequest = exports.validateSlicerState = exports.validateSlicer = exports.validateVisualSelector = exports.isIExtensionArray = exports.isIExtensions = exports.isGroupedMenuExtension = exports.isFlatMenuExtension = exports.isReportFiltersArray = exports.isOnLoadFilters = exports.VisualDataRoleKindPreference = exports.VisualDataRoleKind = exports.CommandDisplayOption = exports.SlicerTargetSelector = exports.VisualTypeSelector = exports.VisualSelector = exports.PageSelector = exports.Selector = exports.SortDirection = exports.LegendPosition = exports.TextAlignment = exports.CommonErrorCodes = exports.BookmarksPlayMode = exports.ExportDataType = exports.QnaMode = exports.PageNavigationPosition = exports.isColumnAggr = exports.isHierarchyLevelAggr = exports.isHierarchyLevel = exports.isColumn = exports.isMeasure = exports.getFilterType = exports.isBasicFilterWithKeys = exports.isFilterKeyColumnsTarget = exports.AdvancedFilter = exports.TupleFilter = exports.IdentityFilter = exports.BasicFilterWithKeys = exports.BasicFilter = exports.RelativeTimeFilter = exports.RelativeDateFilter = exports.TopNFilter = exports.IncludeExcludeFilter = exports.NotSupportedFilter = exports.Filter = exports.RelativeDateOperators = exports.RelativeDateFilterTimeUnit = exports.FilterType = exports.FiltersLevel = exports.FiltersOperations = exports.MenuLocation = exports.ContrastMode = exports.TokenType = exports.ViewMode = exports.Permissions = exports.SectionVisibility = exports.HyperlinkClickBehavior = exports.LayoutType = exports.VisualContainerDisplayMode = exports.BackgroundType = exports.DisplayOption = exports.PageSizeType = exports.TraceType = void 0; var validator_1 = __webpack_require__(1); var TraceType; (function (TraceType) { @@ -512,6 +512,7 @@ var FilterType; FilterType[FilterType["TopN"] = 5] = "TopN"; FilterType[FilterType["Tuple"] = 6] = "Tuple"; FilterType[FilterType["RelativeTime"] = 7] = "RelativeTime"; + FilterType[FilterType["Identity"] = 8] = "Identity"; })(FilterType = exports.FilterType || (exports.FilterType = {})); var RelativeDateFilterTimeUnit; (function (RelativeDateFilterTimeUnit) { @@ -723,6 +724,24 @@ var BasicFilterWithKeys = /** @class */ (function (_super) { return BasicFilterWithKeys; }(BasicFilter)); exports.BasicFilterWithKeys = BasicFilterWithKeys; +var IdentityFilter = /** @class */ (function (_super) { + __extends(IdentityFilter, _super); + function IdentityFilter(target, operator) { + var _this = _super.call(this, target, FilterType.Identity) || this; + _this.operator = operator; + _this.schemaUrl = IdentityFilter.schemaUrl; + return _this; + } + IdentityFilter.prototype.toJSON = function () { + var filter = _super.prototype.toJSON.call(this); + filter.operator = this.operator; + filter.target = this.target; + return filter; + }; + IdentityFilter.schemaUrl = "http://powerbi.com/product/schema#identity"; + return IdentityFilter; +}(Filter)); +exports.IdentityFilter = IdentityFilter; var TupleFilter = /** @class */ (function (_super) { __extends(TupleFilter, _super); function TupleFilter(target, operator, values) { @@ -10315,7 +10334,7 @@ var Report = /** @class */ (function (_super) { return settings && (settings.layoutType === powerbi_models_1.LayoutType.MobileLandscape || settings.layoutType === powerbi_models_1.LayoutType.MobilePortrait); }; /** @hidden */ - Report.allowedEvents = ["filtersApplied", "pageChanged", "commandTriggered", "swipeStart", "swipeEnd", "bookmarkApplied", "dataHyperlinkClicked", "visualRendered", "visualClicked", "selectionChanged"]; + Report.allowedEvents = ["filtersApplied", "pageChanged", "commandTriggered", "swipeStart", "swipeEnd", "bookmarkApplied", "dataHyperlinkClicked", "visualRendered", "visualClicked", "selectionChanged", "renderingStarted"]; /** @hidden */ Report.reportIdAttribute = 'powerbi-report-id'; /** @hidden */ @@ -11135,7 +11154,7 @@ exports.isSavedInternal = isSavedInternal; * @returns {boolean} */ function isRDLEmbed(embedUrl) { - return embedUrl.toLowerCase().indexOf("/rdlembed?") >= 0; + return embedUrl && embedUrl.toLowerCase().indexOf("/rdlembed?") >= 0; } exports.isRDLEmbed = isRDLEmbed; /** diff --git a/dist/powerbi.min.js b/dist/powerbi.min.js index 913a5f41..88182bf1 100644 --- a/dist/powerbi.min.js +++ b/dist/powerbi.min.js @@ -1,7 +1,7 @@ // powerbi-client v2.18.2 // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. -!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){var e={};function r(i){if(e[i])return e[i].exports;var a=e[i]={i:i,l:!1,exports:{}};return t[i].call(a.exports,a,a.exports,r),a.l=!0,a.exports}return r.m=t,r.c=e,r.d=function(t,e,i){r.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:i})},r.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},r.t=function(t,e){if(1&e&&(t=r(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var i=Object.create(null);if(r.r(i),Object.defineProperty(i,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var a in t)r.d(i,a,function(e){return t[e]}.bind(null,a));return i},r.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return r.d(e,"a",e),e},r.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},r.p="",r(r.s=13)}([function(t,e,r){var i;i=function(){return function(t){var e={};function r(i){if(e[i])return e[i].exports;var a=e[i]={i:i,l:!1,exports:{}};return t[i].call(a.exports,a,a.exports,r),a.l=!0,a.exports}return r.m=t,r.c=e,r.d=function(t,e,i){r.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:i})},r.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},r.t=function(t,e){if(1&e&&(t=r(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var i=Object.create(null);if(r.r(i),Object.defineProperty(i,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var a in t)r.d(i,a,function(e){return t[e]}.bind(null,a));return i},r.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return r.d(e,"a",e),e},r.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},r.p="",r(r.s=0)}([function(t,e,r){var i,a=this&&this.__extends||(i=function(t,e){return(i=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])})(t,e)},function(t,e){function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.validateCustomTheme=e.validateCommandsSettings=e.validateVisualSettings=e.validateVisualHeader=e.validateExportDataRequest=e.validateQnaInterpretInputData=e.validateLoadQnaConfiguration=e.validateSaveAsParameters=e.validateUpdateFiltersRequest=e.validateFilter=e.validatePage=e.validateTileLoad=e.validateDashboardLoad=e.validateCreateReport=e.validatePaginatedReportLoad=e.validateReportLoad=e.validateMenuGroupExtension=e.validateExtension=e.validateCustomPageSize=e.validateVisualizationsPane=e.validateSyncSlicersPane=e.validateSelectionPane=e.validatePageNavigationPane=e.validateFieldsPane=e.validateFiltersPane=e.validateBookmarksPane=e.validatePanes=e.validateSettings=e.validateCaptureBookmarkRequest=e.validateApplyBookmarkStateRequest=e.validateApplyBookmarkByNameRequest=e.validateAddBookmarkRequest=e.validatePlayBookmarkRequest=e.validateSlicerState=e.validateSlicer=e.validateVisualSelector=e.isIExtensionArray=e.isIExtensions=e.isGroupedMenuExtension=e.isFlatMenuExtension=e.isReportFiltersArray=e.isOnLoadFilters=e.VisualDataRoleKindPreference=e.VisualDataRoleKind=e.CommandDisplayOption=e.SlicerTargetSelector=e.VisualTypeSelector=e.VisualSelector=e.PageSelector=e.Selector=e.SortDirection=e.LegendPosition=e.TextAlignment=e.CommonErrorCodes=e.BookmarksPlayMode=e.ExportDataType=e.QnaMode=e.PageNavigationPosition=e.isColumnAggr=e.isHierarchyLevelAggr=e.isHierarchyLevel=e.isColumn=e.isMeasure=e.getFilterType=e.isBasicFilterWithKeys=e.isFilterKeyColumnsTarget=e.AdvancedFilter=e.TupleFilter=e.BasicFilterWithKeys=e.BasicFilter=e.RelativeTimeFilter=e.RelativeDateFilter=e.TopNFilter=e.IncludeExcludeFilter=e.NotSupportedFilter=e.Filter=e.RelativeDateOperators=e.RelativeDateFilterTimeUnit=e.FilterType=e.FiltersLevel=e.FiltersOperations=e.MenuLocation=e.ContrastMode=e.TokenType=e.ViewMode=e.Permissions=e.SectionVisibility=e.HyperlinkClickBehavior=e.LayoutType=e.VisualContainerDisplayMode=e.BackgroundType=e.DisplayOption=e.PageSizeType=e.TraceType=void 0;var o,n=r(1);!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"}(e.TraceType||(e.TraceType={})),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"}(e.PageSizeType||(e.PageSizeType={})),function(t){t[t.FitToPage=0]="FitToPage",t[t.FitToWidth=1]="FitToWidth",t[t.ActualSize=2]="ActualSize"}(e.DisplayOption||(e.DisplayOption={})),function(t){t[t.Default=0]="Default",t[t.Transparent=1]="Transparent"}(e.BackgroundType||(e.BackgroundType={})),function(t){t[t.Visible=0]="Visible",t[t.Hidden=1]="Hidden"}(e.VisualContainerDisplayMode||(e.VisualContainerDisplayMode={})),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={})),function(t){t[t.Navigate=0]="Navigate",t[t.NavigateAndRaiseEvent=1]="NavigateAndRaiseEvent",t[t.RaiseEvent=2]="RaiseEvent"}(e.HyperlinkClickBehavior||(e.HyperlinkClickBehavior={})),function(t){t[t.AlwaysVisible=0]="AlwaysVisible",t[t.HiddenInViewMode=1]="HiddenInViewMode"}(e.SectionVisibility||(e.SectionVisibility={})),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"}(e.Permissions||(e.Permissions={})),function(t){t[t.View=0]="View",t[t.Edit=1]="Edit"}(e.ViewMode||(e.ViewMode={})),function(t){t[t.Aad=0]="Aad",t[t.Embed=1]="Embed"}(e.TokenType||(e.TokenType={})),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"}(e.ContrastMode||(e.ContrastMode={})),function(t){t[t.Bottom=0]="Bottom",t[t.Top=1]="Top"}(e.MenuLocation||(e.MenuLocation={})),function(t){t[t.RemoveAll=0]="RemoveAll",t[t.ReplaceAll=1]="ReplaceAll",t[t.Add=2]="Add",t[t.Replace=3]="Replace"}(e.FiltersOperations||(e.FiltersOperations={})),function(t){t[t.Report=0]="Report",t[t.Page=1]="Page",t[t.Visual=2]="Visual"}(e.FiltersLevel||(e.FiltersLevel={})),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"}(o=e.FilterType||(e.FilterType={})),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"}(e.RelativeDateFilterTimeUnit||(e.RelativeDateFilterTimeUnit={})),function(t){t[t.InLast=0]="InLast",t[t.InThis=1]="InThis",t[t.InNext=2]="InNext"}(e.RelativeDateOperators||(e.RelativeDateOperators={}));var l=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=l;var s=function(t){function e(r,i,a){var n=t.call(this,r,o.Unknown)||this;return n.message=i,n.notSupportedTypeName=a,n.schemaUrl=e.schemaUrl,n}return a(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}(l);e.NotSupportedFilter=s;var u=function(t){function e(r,i,a){var n=t.call(this,r,o.IncludeExclude)||this;return n.values=a,n.isExclude=i,n.schemaUrl=e.schemaUrl,n}return a(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}(l);e.IncludeExcludeFilter=u;var d=function(t){function e(r,i,a,n){var l=t.call(this,r,o.TopN)||this;return l.operator=i,l.itemCount=a,l.schemaUrl=e.schemaUrl,l.orderBy=n,l}return a(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}(l);e.TopNFilter=d;var c=function(t){function e(r,i,a,n,l){var s=t.call(this,r,o.RelativeDate)||this;return s.operator=i,s.timeUnitsCount=a,s.timeUnitType=n,s.includeToday=l,s.schemaUrl=e.schemaUrl,s}return a(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}(l);e.RelativeDateFilter=c;var p=function(t){function e(r,i,a,n){var l=t.call(this,r,o.RelativeTime)||this;return l.operator=i,l.timeUnitsCount=a,l.timeUnitType=n,l.schemaUrl=e.schemaUrl,l}return a(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}(l);e.RelativeTimeFilter=p;var f=function(t){function e(r,i){for(var a=[],n=2;n0&&!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,s=o.keyValues;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 s.conditions=l,s}return a(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}(l);function m(t){if(t.filterType)return t.filterType;var e=t,r=t;return"string"==typeof e.operator&&Array.isArray(e.values)?o.Basic:"string"==typeof r.logicalOperator&&Array.isArray(r.conditions)?o.Advanced:o.Unknown}function V(t){return!(!t.table||!t.column||t.aggregationFunction)}e.AdvancedFilter=y,e.isFilterKeyColumnsTarget=function(t){return V(t)&&!!t.keys},e.isBasicFilterWithKeys=function(t){return m(t)===o.Basic&&!!t.keyValues},e.getFilterType=m,e.isMeasure=function(t){return void 0!==t.table&&void 0!==t.measure},e.isColumn=V,e.isHierarchyLevel=function(t){return!(!(t.table&&t.hierarchy&&t.hierarchyLevel)||t.aggregationFunction)},e.isHierarchyLevelAggr=function(t){return!!(t.table&&t.hierarchy&&t.hierarchyLevel&&t.aggregationFunction)},e.isColumnAggr=function(t){return!!(t.table&&t.column&&t.aggregationFunction)},function(t){t[t.Bottom=0]="Bottom",t[t.Left=1]="Left"}(e.PageNavigationPosition||(e.PageNavigationPosition={})),function(t){t[t.Interactive=0]="Interactive",t[t.ResultOnly=1]="ResultOnly"}(e.QnaMode||(e.QnaMode={})),function(t){t[t.Summarized=0]="Summarized",t[t.Underlying=1]="Underlying"}(e.ExportDataType||(e.ExportDataType={})),function(t){t[t.Off=0]="Off",t[t.Presentation=1]="Presentation"}(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"},function(t){t[t.Ascending=1]="Ascending",t[t.Descending=2]="Descending"}(e.SortDirection||(e.SortDirection={}));var g=function(){function t(t){this.$schema=t}return t.prototype.toJSON=function(){return{$schema:this.$schema}},t}();e.Selector=g;var b=function(t){function e(r){var i=t.call(this,e.schemaUrl)||this;return i.pageName=r,i}return a(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}(g);e.PageSelector=b;var w=function(t){function e(r){var i=t.call(this,e.schemaUrl)||this;return i.visualName=r,i}return a(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}(g);e.VisualSelector=w;var P=function(t){function e(e){var r=t.call(this,w.schemaUrl)||this;return r.visualType=e,r}return a(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}(g);e.VisualTypeSelector=P;var _=function(t){function e(e){var r=t.call(this,w.schemaUrl)||this;return r.target=e,r}return a(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}(g);function O(t){return Array.isArray(t)}function S(t){return t&&!!t.groupName}function T(t){return Array.isArray(t)}function E(t){var e=t.message;return e||(e=t.path+" is invalid. Not meeting "+t.keyword+" constraint"),{message:e}}e.SlicerTargetSelector=_,function(t){t[t.Enabled=0]="Enabled",t[t.Disabled=1]="Disabled",t[t.Hidden=2]="Hidden"}(e.CommandDisplayOption||(e.CommandDisplayOption={})),function(t){t[t.Grouping=0]="Grouping",t[t.Measure=1]="Measure",t[t.GroupingOrMeasure=2]="GroupingOrMeasure"}(e.VisualDataRoleKind||(e.VisualDataRoleKind={})),function(t){t[t.Measure=0]="Measure",t[t.Grouping=1]="Grouping"}(e.VisualDataRoleKindPreference||(e.VisualDataRoleKindPreference={})),e.isOnLoadFilters=function(t){return t&&!O(t)},e.isReportFiltersArray=O,e.isFlatMenuExtension=function(t){return t&&!S(t)},e.isGroupedMenuExtension=S,e.isIExtensions=function(t){return t&&!T(t)},e.isIExtensionArray=T,e.validateVisualSelector=function(t){var e=n.Validators.visualSelectorValidator.validate(t);return e?e.map(E):void 0},e.validateSlicer=function(t){var e=n.Validators.slicerValidator.validate(t);return e?e.map(E):void 0},e.validateSlicerState=function(t){var e=n.Validators.slicerStateValidator.validate(t);return e?e.map(E):void 0},e.validatePlayBookmarkRequest=function(t){var e=n.Validators.playBookmarkRequestValidator.validate(t);return e?e.map(E):void 0},e.validateAddBookmarkRequest=function(t){var e=n.Validators.addBookmarkRequestValidator.validate(t);return e?e.map(E):void 0},e.validateApplyBookmarkByNameRequest=function(t){var e=n.Validators.applyBookmarkByNameRequestValidator.validate(t);return e?e.map(E):void 0},e.validateApplyBookmarkStateRequest=function(t){var e=n.Validators.applyBookmarkStateRequestValidator.validate(t);return e?e.map(E):void 0},e.validateCaptureBookmarkRequest=function(t){var e=n.Validators.captureBookmarkRequestValidator.validate(t);return e?e.map(E):void 0},e.validateSettings=function(t){var e=n.Validators.settingsValidator.validate(t);return e?e.map(E):void 0},e.validatePanes=function(t){var e=n.Validators.reportPanesValidator.validate(t);return e?e.map(E):void 0},e.validateBookmarksPane=function(t){var e=n.Validators.bookmarksPaneValidator.validate(t);return e?e.map(E):void 0},e.validateFiltersPane=function(t){var e=n.Validators.filtersPaneValidator.validate(t);return e?e.map(E):void 0},e.validateFieldsPane=function(t){var e=n.Validators.fieldsPaneValidator.validate(t);return e?e.map(E):void 0},e.validatePageNavigationPane=function(t){var e=n.Validators.pageNavigationPaneValidator.validate(t);return e?e.map(E):void 0},e.validateSelectionPane=function(t){var e=n.Validators.selectionPaneValidator.validate(t);return e?e.map(E):void 0},e.validateSyncSlicersPane=function(t){var e=n.Validators.syncSlicersPaneValidator.validate(t);return e?e.map(E):void 0},e.validateVisualizationsPane=function(t){var e=n.Validators.visualizationsPaneValidator.validate(t);return e?e.map(E):void 0},e.validateCustomPageSize=function(t){var e=n.Validators.customPageSizeValidator.validate(t);return e?e.map(E):void 0},e.validateExtension=function(t){var e=n.Validators.extensionValidator.validate(t);return e?e.map(E):void 0},e.validateMenuGroupExtension=function(t){var e=n.Validators.menuGroupExtensionValidator.validate(t);return e?e.map(E):void 0},e.validateReportLoad=function(t){var e=n.Validators.reportLoadValidator.validate(t);return e?e.map(E):void 0},e.validatePaginatedReportLoad=function(t){var e=n.Validators.paginatedReportLoadValidator.validate(t);return e?e.map(E):void 0},e.validateCreateReport=function(t){var e=n.Validators.reportCreateValidator.validate(t);return e?e.map(E):void 0},e.validateDashboardLoad=function(t){var e=n.Validators.dashboardLoadValidator.validate(t);return e?e.map(E):void 0},e.validateTileLoad=function(t){var e=n.Validators.tileLoadValidator.validate(t);return e?e.map(E):void 0},e.validatePage=function(t){var e=n.Validators.pageValidator.validate(t);return e?e.map(E):void 0},e.validateFilter=function(t){var e=n.Validators.filterValidator.validate(t);return e?e.map(E):void 0},e.validateUpdateFiltersRequest=function(t){var e=n.Validators.updateFiltersRequestValidator.validate(t);return e?e.map(E):void 0},e.validateSaveAsParameters=function(t){var e=n.Validators.saveAsParametersValidator.validate(t);return e?e.map(E):void 0},e.validateLoadQnaConfiguration=function(t){var e=n.Validators.loadQnaValidator.validate(t);return e?e.map(E):void 0},e.validateQnaInterpretInputData=function(t){var e=n.Validators.qnaInterpretInputDataValidator.validate(t);return e?e.map(E):void 0},e.validateExportDataRequest=function(t){var e=n.Validators.exportDataRequestValidator.validate(t);return e?e.map(E):void 0},e.validateVisualHeader=function(t){var e=n.Validators.visualHeaderValidator.validate(t);return e?e.map(E):void 0},e.validateVisualSettings=function(t){var e=n.Validators.visualSettingsValidator.validate(t);return e?e.map(E):void 0},e.validateCommandsSettings=function(t){var e=n.Validators.commandsSettingsValidator.validate(t);return e?e.map(E):void 0},e.validateCustomTheme=function(t){var e=n.Validators.customThemeValidator.validate(t);return e?e.map(E):void 0}},function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.Validators=void 0;var i=r(2),a=r(5),o=r(6),n=r(7),l=r(8),s=r(9),u=r(10),d=r(11),c=r(12),p=r(13),f=r(14),h=r(15),v=r(16),y=r(17),m=r(18),V=r(19),g=r(20),b=r(21),w=r(22),P=r(23),_=r(24),O=r(25),S=r(26),T=r(27),E=r(28),F=r(29),R=r(4),x=r(30);e.Validators={addBookmarkRequestValidator:new a.AddBookmarkRequestValidator,advancedFilterTypeValidator:new R.EnumValidator([0]),advancedFilterValidator:new c.AdvancedFilterValidator,anyArrayValidator:new R.ArrayValidator([new S.AnyOfValidator([new R.StringValidator,new R.NumberValidator,new R.BooleanValidator])]),anyFilterValidator:new S.AnyOfValidator([new c.BasicFilterValidator,new c.AdvancedFilterValidator,new c.IncludeExcludeFilterValidator,new c.NotSupportedFilterValidator,new c.RelativeDateFilterValidator,new c.TopNFilterValidator,new c.RelativeTimeFilterValidator]),anyValueValidator:new S.AnyOfValidator([new R.StringValidator,new R.NumberValidator,new R.BooleanValidator]),actionBarValidator:new i.ActionBarValidator,applyBookmarkByNameRequestValidator:new a.ApplyBookmarkByNameRequestValidator,applyBookmarkStateRequestValidator:new a.ApplyBookmarkStateRequestValidator,applyBookmarkValidator:new S.AnyOfValidator([new a.ApplyBookmarkByNameRequestValidator,new a.ApplyBookmarkStateRequestValidator]),backgroundValidator:new R.EnumValidator([0,1]),basicFilterTypeValidator:new R.EnumValidator([1]),basicFilterValidator:new c.BasicFilterValidator,booleanArrayValidator:new R.BooleanArrayValidator,booleanValidator:new R.BooleanValidator,bookmarksPaneValidator:new h.BookmarksPaneValidator,captureBookmarkOptionsValidator:new a.CaptureBookmarkOptionsValidator,captureBookmarkRequestValidator:new a.CaptureBookmarkRequestValidator,commandDisplayOptionValidator:new R.EnumValidator([0,1,2]),commandExtensionSelectorValidator:new S.AnyOfValidator([new b.VisualSelectorValidator,new b.VisualTypeSelectorValidator]),commandExtensionArrayValidator:new R.ArrayValidator([new d.CommandExtensionValidator]),commandExtensionValidator:new d.CommandExtensionValidator,commandsSettingsArrayValidator:new R.ArrayValidator([new o.CommandsSettingsValidator]),commandsSettingsValidator:new o.CommandsSettingsValidator,conditionItemValidator:new c.ConditionItemValidator,contrastModeValidator:new R.EnumValidator([0,1,2,3,4]),customLayoutDisplayOptionValidator:new R.EnumValidator([0,1,2]),customLayoutValidator:new p.CustomLayoutValidator,customPageSizeValidator:new f.CustomPageSizeValidator,customThemeValidator:new n.CustomThemeValidator,dashboardLoadValidator:new l.DashboardLoadValidator,datasetBindingValidator:new s.DatasetBindingValidator,displayStateModeValidator:new R.EnumValidator([0,1]),displayStateValidator:new p.DisplayStateValidator,exportDataRequestValidator:new u.ExportDataRequestValidator,extensionArrayValidator:new R.ArrayValidator([new d.ExtensionValidator]),extensionsValidator:new S.AnyOfValidator([new R.ArrayValidator([new d.ExtensionValidator]),new d.ExtensionsValidator]),extensionPointsValidator:new d.ExtensionPointsValidator,extensionValidator:new d.ExtensionValidator,fieldForbiddenValidator:new T.FieldForbiddenValidator,fieldRequiredValidator:new E.FieldRequiredValidator,fieldsPaneValidator:new h.FieldsPaneValidator,filterColumnTargetValidator:new c.FilterColumnTargetValidator,filterDisplaySettingsValidator:new c.FilterDisplaySettingsValidator,filterConditionsValidator:new R.ArrayValidator([new c.ConditionItemValidator]),filterHierarchyTargetValidator:new c.FilterHierarchyTargetValidator,filterMeasureTargetValidator:new c.FilterMeasureTargetValidator,filterTargetValidator:new S.AnyOfValidator([new c.FilterColumnTargetValidator,new c.FilterHierarchyTargetValidator,new c.FilterMeasureTargetValidator]),filterValidator:new c.FilterValidator,filterTypeValidator:new R.EnumValidator([0,1,2,3,4,5,6,7]),filtersArrayValidator:new R.ArrayValidator([new c.FilterValidator]),filtersOperationsUpdateValidator:new R.EnumValidator([1,2,3]),filtersOperationsRemoveAllValidator:new R.EnumValidator([0]),filtersPaneValidator:new h.FiltersPaneValidator,hyperlinkClickBehaviorValidator:new R.EnumValidator([0,1,2]),includeExcludeFilterValidator:new c.IncludeExcludeFilterValidator,includeExludeFilterTypeValidator:new R.EnumValidator([3]),layoutTypeValidator:new R.EnumValidator([0,1,2,3]),loadQnaValidator:new v.LoadQnaValidator,menuExtensionValidator:new S.AnyOfValidator([new d.FlatMenuExtensionValidator,new d.GroupedMenuExtensionValidator]),menuGroupExtensionArrayValidator:new R.ArrayValidator([new d.MenuGroupExtensionValidator]),menuGroupExtensionValidator:new d.MenuGroupExtensionValidator,menuLocationValidator:new R.EnumValidator([0,1]),notSupportedFilterTypeValidator:new R.EnumValidator([2]),notSupportedFilterValidator:new c.NotSupportedFilterValidator,numberArrayValidator:new R.NumberArrayValidator,numberValidator:new R.NumberValidator,onLoadFiltersBaseValidator:new S.AnyOfValidator([new c.OnLoadFiltersBaseValidator,new c.OnLoadFiltersBaseRemoveOperationValidator]),pageLayoutValidator:new F.MapValidator([new R.StringValidator],[new p.VisualLayoutValidator]),pageNavigationPaneValidator:new h.PageNavigationPaneValidator,pageNavigationPositionValidator:new R.EnumValidator([0,1]),pageSizeTypeValidator:new R.EnumValidator([0,1,2,3,4,5]),pageSizeValidator:new f.PageSizeValidator,pageValidator:new f.PageValidator,pageViewFieldValidator:new f.PageViewFieldValidator,pagesLayoutValidator:new F.MapValidator([new R.StringValidator],[new p.PageLayoutValidator]),paginatedReportCommandsValidator:new o.PaginatedReportCommandsValidator,paginatedReportLoadValidator:new V.PaginatedReportLoadValidator,paginatedReportsettingsValidator:new w.PaginatedReportSettingsValidator,parametersPanelValidator:new x.ParametersPanelValidator,permissionsValidator:new R.EnumValidator([0,1,2,4,7]),playBookmarkRequestValidator:new a.PlayBookmarkRequestValidator,qnaInterpretInputDataValidator:new v.QnaInterpretInputDataValidator,qnaPanesValidator:new h.QnaPanesValidator,qnaSettingValidator:new v.QnaSettingsValidator,relativeDateFilterOperatorValidator:new R.EnumValidator([0,1,2]),relativeDateFilterTimeUnitTypeValidator:new R.EnumValidator([0,1,2,3,4,5,6]),relativeDateFilterTypeValidator:new R.EnumValidator([4]),relativeDateFilterValidator:new c.RelativeDateFilterValidator,relativeDateTimeFilterTypeValidator:new R.EnumValidator([4,7]),relativeDateTimeFilterUnitTypeValidator:new R.EnumValidator([0,1,2,3,4,5,6,7,8]),relativeTimeFilterTimeUnitTypeValidator:new R.EnumValidator([7,8]),relativeTimeFilterTypeValidator:new R.EnumValidator([7]),relativeTimeFilterValidator:new c.RelativeTimeFilterValidator,reportBarsValidator:new i.ReportBarsValidator,reportCreateValidator:new y.ReportCreateValidator,reportLoadFiltersValidator:new S.AnyOfValidator([new R.ArrayValidator([new c.FilterValidator]),new c.OnLoadFiltersValidator]),reportLoadValidator:new m.ReportLoadValidator,reportPanesValidator:new h.ReportPanesValidator,saveAsParametersValidator:new g.SaveAsParametersValidator,selectionPaneValidator:new h.SelectionPaneValidator,settingsValidator:new w.SettingsValidator,singleCommandSettingsValidator:new o.SingleCommandSettingsValidator,slicerSelectorValidator:new S.AnyOfValidator([new b.VisualSelectorValidator,new b.SlicerTargetSelectorValidator]),slicerStateValidator:new P.SlicerStateValidator,slicerTargetValidator:new S.AnyOfValidator([new c.FilterColumnTargetValidator,new c.FilterHierarchyTargetValidator,new c.FilterMeasureTargetValidator,new c.FilterKeyColumnsTargetValidator,new c.FilterKeyHierarchyTargetValidator]),slicerValidator:new P.SlicerValidator,stringArrayValidator:new R.StringArrayValidator,stringValidator:new R.StringValidator,syncSlicersPaneValidator:new h.SyncSlicersPaneValidator,tileLoadValidator:new _.TileLoadValidator,tokenTypeValidator:new R.EnumValidator([0,1]),topNFilterTypeValidator:new R.EnumValidator([5]),topNFilterValidator:new c.TopNFilterValidator,updateFiltersRequestValidator:new S.AnyOfValidator([new c.UpdateFiltersRequestValidator,new c.RemoveFiltersRequestValidator]),viewModeValidator:new R.EnumValidator([0,1]),visualCommandSelectorValidator:new S.AnyOfValidator([new b.VisualSelectorValidator,new b.VisualTypeSelectorValidator]),visualHeaderSelectorValidator:new S.AnyOfValidator([new b.VisualSelectorValidator,new b.VisualTypeSelectorValidator]),visualHeaderSettingsValidator:new O.VisualHeaderSettingsValidator,visualHeaderValidator:new O.VisualHeaderValidator,visualHeadersValidator:new R.ArrayValidator([new O.VisualHeaderValidator]),visualizationsPaneValidator:new h.VisualizationsPaneValidator,visualLayoutValidator:new p.VisualLayoutValidator,visualSelectorValidator:new b.VisualSelectorValidator,visualSettingsValidator:new O.VisualSettingsValidator,visualTypeSelectorValidator:new b.VisualTypeSelectorValidator}},function(t,e,r){var i,a=this&&this.__extends||(i=function(t,e){return(i=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])})(t,e)},function(t,e){function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.ActionBarValidator=e.ReportBarsValidator=void 0;var o=r(3),n=r(4),l=r(1),s=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return a(e,t),e.prototype.validate=function(e,r,i){if(null==e)return null;var a=t.prototype.validate.call(this,e,r,i);if(a)return a;var n=[{field:"actionBar",validators:[l.Validators.actionBarValidator]}];return new o.MultipleFieldsValidator(n).validate(e,r,i)},e}(n.ObjectValidator);e.ReportBarsValidator=s;var u=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return a(e,t),e.prototype.validate=function(e,r,i){if(null==e)return null;var a=t.prototype.validate.call(this,e,r,i);if(a)return a;var n=[{field:"visible",validators:[l.Validators.booleanValidator]}];return new o.MultipleFieldsValidator(n).validate(e,r,i)},e}(n.ObjectValidator);e.ActionBarValidator=u},function(t,e){Object.defineProperty(e,"__esModule",{value:!0}),e.MultipleFieldsValidator=void 0;var r=function(){function t(t){this.fieldValidatorsPairs=t}return t.prototype.validate=function(t,e,r){if(!this.fieldValidatorsPairs)return null;for(var i=e?e+"."+r:r,a=0,o=this.fieldValidatorsPairs;a0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0?"&":"?";return t+=i+e+"="+r},e.isSavedInternal=function(t,e,a){return r(this,void 0,void 0,(function(){return i(this,(function(r){switch(r.label){case 0:return r.trys.push([0,2,,3]),[4,t.get("/report/hasUnsavedChanges",{uid:e},a)];case 1:return[2,!r.sent().body];case 2:throw r.sent().body;case 3:return[2]}}))}))},e.isRDLEmbed=function(t){return t.toLowerCase().indexOf("/rdlembed?")>=0},e.autoAuthInEmbedUrl=function(t){return t&&decodeURIComponent(t).toLowerCase().indexOf("autoauth=true")>=0},e.getRandomValue=o,e.getTimeDiffInMilliseconds=function(t,e){return Math.abs(t.getTime()-e.getTime())}},function(t,e){Object.defineProperty(e,"__esModule",{value:!0}),e.FilterBuilder=void 0;var r=function(){function t(){}return t.prototype.withTargetObject=function(t){return this.target=t,this},t.prototype.withColumnTarget=function(t,e){return this.target={table:t,column:e},this},t.prototype.withMeasureTarget=function(t,e){return this.target={table:t,measure:e},this},t.prototype.withHierarchyLevelTarget=function(t,e,r){return this.target={table:t,hierarchy:e,hierarchyLevel:r},this},t.prototype.withColumnAggregation=function(t,e,r){return this.target={table:t,column:e,aggregationFunction:r},this},t.prototype.withHierarchyLevelAggregationTarget=function(t,e,r,i){return this.target={table:t,hierarchy:e,hierarchyLevel:r,aggregationFunction:i},this},t}();e.FilterBuilder=r},function(t,e){Object.defineProperty(e,"__esModule",{value:!0}),e.EmbedUrlNotSupported=e.APINotSupportedForRDLError=void 0,e.APINotSupportedForRDLError="This API is currently not supported for RDL reports",e.EmbedUrlNotSupported="Embed URL is invalid for this scenario. Please use Power BI REST APIs to get the valid URL"},function(t,e,r){var i,a=this&&this.__extends||(i=function(t,e){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])})(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}),o=this&&this.__awaiter||function(t,e,r,i){return new(r||(r=Promise))((function(a,o){function n(t){try{s(i.next(t))}catch(t){o(t)}}function l(t){try{s(i.throw(t))}catch(t){o(t)}}function s(t){var e;t.done?a(t.value):(e=t.value,e instanceof r?e:new r((function(t){t(e)}))).then(n,l)}s((i=i.apply(t,e||[])).next())}))},n=this&&this.__generator||function(t,e){var r,i,a,o,n={label:0,sent:function(){if(1&a[0])throw a[1];return a[1]},trys:[],ops:[]};return o={next:l(0),throw:l(1),return:l(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function l(o){return function(l){return function(o){if(r)throw new TypeError("Generator is already executing.");for(;n;)try{if(r=1,i&&(a=2&o[0]?i.return:o[0]?i.throw||((a=i.return)&&a.call(i),0):i.next)&&!(a=a.call(i,o[1])).done)return a;switch(i=0,a&&(o=[2&o[0],a.value]),o[0]){case 0:case 1:a=o;break;case 4:return n.label++,{value:o[1],done:!1};case 5:n.label++,i=o[1],o=[0];continue;case 7:o=n.ops.pop(),n.trys.pop();continue;default:if(!(a=n.trys,(a=a.length>0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&!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,s=o.keyValues;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 s.conditions=l,s}return a(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}(l);function V(t){if(t.filterType)return t.filterType;var e=t,r=t;return"string"==typeof e.operator&&Array.isArray(e.values)?o.Basic:"string"==typeof r.logicalOperator&&Array.isArray(r.conditions)?o.Advanced:o.Unknown}function g(t){return!(!t.table||!t.column||t.aggregationFunction)}e.AdvancedFilter=m,e.isFilterKeyColumnsTarget=function(t){return g(t)&&!!t.keys},e.isBasicFilterWithKeys=function(t){return V(t)===o.Basic&&!!t.keyValues},e.getFilterType=V,e.isMeasure=function(t){return void 0!==t.table&&void 0!==t.measure},e.isColumn=g,e.isHierarchyLevel=function(t){return!(!(t.table&&t.hierarchy&&t.hierarchyLevel)||t.aggregationFunction)},e.isHierarchyLevelAggr=function(t){return!!(t.table&&t.hierarchy&&t.hierarchyLevel&&t.aggregationFunction)},e.isColumnAggr=function(t){return!!(t.table&&t.column&&t.aggregationFunction)},function(t){t[t.Bottom=0]="Bottom",t[t.Left=1]="Left"}(e.PageNavigationPosition||(e.PageNavigationPosition={})),function(t){t[t.Interactive=0]="Interactive",t[t.ResultOnly=1]="ResultOnly"}(e.QnaMode||(e.QnaMode={})),function(t){t[t.Summarized=0]="Summarized",t[t.Underlying=1]="Underlying"}(e.ExportDataType||(e.ExportDataType={})),function(t){t[t.Off=0]="Off",t[t.Presentation=1]="Presentation"}(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"},function(t){t[t.Ascending=1]="Ascending",t[t.Descending=2]="Descending"}(e.SortDirection||(e.SortDirection={}));var b=function(){function t(t){this.$schema=t}return t.prototype.toJSON=function(){return{$schema:this.$schema}},t}();e.Selector=b;var w=function(t){function e(r){var i=t.call(this,e.schemaUrl)||this;return i.pageName=r,i}return a(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}(b);e.PageSelector=w;var P=function(t){function e(r){var i=t.call(this,e.schemaUrl)||this;return i.visualName=r,i}return a(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}(b);e.VisualSelector=P;var _=function(t){function e(e){var r=t.call(this,P.schemaUrl)||this;return r.visualType=e,r}return a(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}(b);e.VisualTypeSelector=_;var O=function(t){function e(e){var r=t.call(this,P.schemaUrl)||this;return r.target=e,r}return a(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}(b);function S(t){return Array.isArray(t)}function T(t){return t&&!!t.groupName}function F(t){return Array.isArray(t)}function E(t){var e=t.message;return e||(e=t.path+" is invalid. Not meeting "+t.keyword+" constraint"),{message:e}}e.SlicerTargetSelector=O,function(t){t[t.Enabled=0]="Enabled",t[t.Disabled=1]="Disabled",t[t.Hidden=2]="Hidden"}(e.CommandDisplayOption||(e.CommandDisplayOption={})),function(t){t[t.Grouping=0]="Grouping",t[t.Measure=1]="Measure",t[t.GroupingOrMeasure=2]="GroupingOrMeasure"}(e.VisualDataRoleKind||(e.VisualDataRoleKind={})),function(t){t[t.Measure=0]="Measure",t[t.Grouping=1]="Grouping"}(e.VisualDataRoleKindPreference||(e.VisualDataRoleKindPreference={})),e.isOnLoadFilters=function(t){return t&&!S(t)},e.isReportFiltersArray=S,e.isFlatMenuExtension=function(t){return t&&!T(t)},e.isGroupedMenuExtension=T,e.isIExtensions=function(t){return t&&!F(t)},e.isIExtensionArray=F,e.validateVisualSelector=function(t){var e=n.Validators.visualSelectorValidator.validate(t);return e?e.map(E):void 0},e.validateSlicer=function(t){var e=n.Validators.slicerValidator.validate(t);return e?e.map(E):void 0},e.validateSlicerState=function(t){var e=n.Validators.slicerStateValidator.validate(t);return e?e.map(E):void 0},e.validatePlayBookmarkRequest=function(t){var e=n.Validators.playBookmarkRequestValidator.validate(t);return e?e.map(E):void 0},e.validateAddBookmarkRequest=function(t){var e=n.Validators.addBookmarkRequestValidator.validate(t);return e?e.map(E):void 0},e.validateApplyBookmarkByNameRequest=function(t){var e=n.Validators.applyBookmarkByNameRequestValidator.validate(t);return e?e.map(E):void 0},e.validateApplyBookmarkStateRequest=function(t){var e=n.Validators.applyBookmarkStateRequestValidator.validate(t);return e?e.map(E):void 0},e.validateCaptureBookmarkRequest=function(t){var e=n.Validators.captureBookmarkRequestValidator.validate(t);return e?e.map(E):void 0},e.validateSettings=function(t){var e=n.Validators.settingsValidator.validate(t);return e?e.map(E):void 0},e.validatePanes=function(t){var e=n.Validators.reportPanesValidator.validate(t);return e?e.map(E):void 0},e.validateBookmarksPane=function(t){var e=n.Validators.bookmarksPaneValidator.validate(t);return e?e.map(E):void 0},e.validateFiltersPane=function(t){var e=n.Validators.filtersPaneValidator.validate(t);return e?e.map(E):void 0},e.validateFieldsPane=function(t){var e=n.Validators.fieldsPaneValidator.validate(t);return e?e.map(E):void 0},e.validatePageNavigationPane=function(t){var e=n.Validators.pageNavigationPaneValidator.validate(t);return e?e.map(E):void 0},e.validateSelectionPane=function(t){var e=n.Validators.selectionPaneValidator.validate(t);return e?e.map(E):void 0},e.validateSyncSlicersPane=function(t){var e=n.Validators.syncSlicersPaneValidator.validate(t);return e?e.map(E):void 0},e.validateVisualizationsPane=function(t){var e=n.Validators.visualizationsPaneValidator.validate(t);return e?e.map(E):void 0},e.validateCustomPageSize=function(t){var e=n.Validators.customPageSizeValidator.validate(t);return e?e.map(E):void 0},e.validateExtension=function(t){var e=n.Validators.extensionValidator.validate(t);return e?e.map(E):void 0},e.validateMenuGroupExtension=function(t){var e=n.Validators.menuGroupExtensionValidator.validate(t);return e?e.map(E):void 0},e.validateReportLoad=function(t){var e=n.Validators.reportLoadValidator.validate(t);return e?e.map(E):void 0},e.validatePaginatedReportLoad=function(t){var e=n.Validators.paginatedReportLoadValidator.validate(t);return e?e.map(E):void 0},e.validateCreateReport=function(t){var e=n.Validators.reportCreateValidator.validate(t);return e?e.map(E):void 0},e.validateDashboardLoad=function(t){var e=n.Validators.dashboardLoadValidator.validate(t);return e?e.map(E):void 0},e.validateTileLoad=function(t){var e=n.Validators.tileLoadValidator.validate(t);return e?e.map(E):void 0},e.validatePage=function(t){var e=n.Validators.pageValidator.validate(t);return e?e.map(E):void 0},e.validateFilter=function(t){var e=n.Validators.filterValidator.validate(t);return e?e.map(E):void 0},e.validateUpdateFiltersRequest=function(t){var e=n.Validators.updateFiltersRequestValidator.validate(t);return e?e.map(E):void 0},e.validateSaveAsParameters=function(t){var e=n.Validators.saveAsParametersValidator.validate(t);return e?e.map(E):void 0},e.validateLoadQnaConfiguration=function(t){var e=n.Validators.loadQnaValidator.validate(t);return e?e.map(E):void 0},e.validateQnaInterpretInputData=function(t){var e=n.Validators.qnaInterpretInputDataValidator.validate(t);return e?e.map(E):void 0},e.validateExportDataRequest=function(t){var e=n.Validators.exportDataRequestValidator.validate(t);return e?e.map(E):void 0},e.validateVisualHeader=function(t){var e=n.Validators.visualHeaderValidator.validate(t);return e?e.map(E):void 0},e.validateVisualSettings=function(t){var e=n.Validators.visualSettingsValidator.validate(t);return e?e.map(E):void 0},e.validateCommandsSettings=function(t){var e=n.Validators.commandsSettingsValidator.validate(t);return e?e.map(E):void 0},e.validateCustomTheme=function(t){var e=n.Validators.customThemeValidator.validate(t);return e?e.map(E):void 0}},function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.Validators=void 0;var i=r(2),a=r(5),o=r(6),n=r(7),l=r(8),s=r(9),u=r(10),d=r(11),c=r(12),p=r(13),f=r(14),h=r(15),v=r(16),y=r(17),m=r(18),V=r(19),g=r(20),b=r(21),w=r(22),P=r(23),_=r(24),O=r(25),S=r(26),T=r(27),F=r(28),E=r(29),R=r(4),x=r(30);e.Validators={addBookmarkRequestValidator:new a.AddBookmarkRequestValidator,advancedFilterTypeValidator:new R.EnumValidator([0]),advancedFilterValidator:new c.AdvancedFilterValidator,anyArrayValidator:new R.ArrayValidator([new S.AnyOfValidator([new R.StringValidator,new R.NumberValidator,new R.BooleanValidator])]),anyFilterValidator:new S.AnyOfValidator([new c.BasicFilterValidator,new c.AdvancedFilterValidator,new c.IncludeExcludeFilterValidator,new c.NotSupportedFilterValidator,new c.RelativeDateFilterValidator,new c.TopNFilterValidator,new c.RelativeTimeFilterValidator]),anyValueValidator:new S.AnyOfValidator([new R.StringValidator,new R.NumberValidator,new R.BooleanValidator]),actionBarValidator:new i.ActionBarValidator,applyBookmarkByNameRequestValidator:new a.ApplyBookmarkByNameRequestValidator,applyBookmarkStateRequestValidator:new a.ApplyBookmarkStateRequestValidator,applyBookmarkValidator:new S.AnyOfValidator([new a.ApplyBookmarkByNameRequestValidator,new a.ApplyBookmarkStateRequestValidator]),backgroundValidator:new R.EnumValidator([0,1]),basicFilterTypeValidator:new R.EnumValidator([1]),basicFilterValidator:new c.BasicFilterValidator,booleanArrayValidator:new R.BooleanArrayValidator,booleanValidator:new R.BooleanValidator,bookmarksPaneValidator:new h.BookmarksPaneValidator,captureBookmarkOptionsValidator:new a.CaptureBookmarkOptionsValidator,captureBookmarkRequestValidator:new a.CaptureBookmarkRequestValidator,commandDisplayOptionValidator:new R.EnumValidator([0,1,2]),commandExtensionSelectorValidator:new S.AnyOfValidator([new b.VisualSelectorValidator,new b.VisualTypeSelectorValidator]),commandExtensionArrayValidator:new R.ArrayValidator([new d.CommandExtensionValidator]),commandExtensionValidator:new d.CommandExtensionValidator,commandsSettingsArrayValidator:new R.ArrayValidator([new o.CommandsSettingsValidator]),commandsSettingsValidator:new o.CommandsSettingsValidator,conditionItemValidator:new c.ConditionItemValidator,contrastModeValidator:new R.EnumValidator([0,1,2,3,4]),customLayoutDisplayOptionValidator:new R.EnumValidator([0,1,2]),customLayoutValidator:new p.CustomLayoutValidator,customPageSizeValidator:new f.CustomPageSizeValidator,customThemeValidator:new n.CustomThemeValidator,dashboardLoadValidator:new l.DashboardLoadValidator,datasetBindingValidator:new s.DatasetBindingValidator,displayStateModeValidator:new R.EnumValidator([0,1]),displayStateValidator:new p.DisplayStateValidator,exportDataRequestValidator:new u.ExportDataRequestValidator,extensionArrayValidator:new R.ArrayValidator([new d.ExtensionValidator]),extensionsValidator:new S.AnyOfValidator([new R.ArrayValidator([new d.ExtensionValidator]),new d.ExtensionsValidator]),extensionPointsValidator:new d.ExtensionPointsValidator,extensionValidator:new d.ExtensionValidator,fieldForbiddenValidator:new T.FieldForbiddenValidator,fieldRequiredValidator:new F.FieldRequiredValidator,fieldsPaneValidator:new h.FieldsPaneValidator,filterColumnTargetValidator:new c.FilterColumnTargetValidator,filterDisplaySettingsValidator:new c.FilterDisplaySettingsValidator,filterConditionsValidator:new R.ArrayValidator([new c.ConditionItemValidator]),filterHierarchyTargetValidator:new c.FilterHierarchyTargetValidator,filterMeasureTargetValidator:new c.FilterMeasureTargetValidator,filterTargetValidator:new S.AnyOfValidator([new c.FilterColumnTargetValidator,new c.FilterHierarchyTargetValidator,new c.FilterMeasureTargetValidator]),filterValidator:new c.FilterValidator,filterTypeValidator:new R.EnumValidator([0,1,2,3,4,5,6,7]),filtersArrayValidator:new R.ArrayValidator([new c.FilterValidator]),filtersOperationsUpdateValidator:new R.EnumValidator([1,2,3]),filtersOperationsRemoveAllValidator:new R.EnumValidator([0]),filtersPaneValidator:new h.FiltersPaneValidator,hyperlinkClickBehaviorValidator:new R.EnumValidator([0,1,2]),includeExcludeFilterValidator:new c.IncludeExcludeFilterValidator,includeExludeFilterTypeValidator:new R.EnumValidator([3]),layoutTypeValidator:new R.EnumValidator([0,1,2,3]),loadQnaValidator:new v.LoadQnaValidator,menuExtensionValidator:new S.AnyOfValidator([new d.FlatMenuExtensionValidator,new d.GroupedMenuExtensionValidator]),menuGroupExtensionArrayValidator:new R.ArrayValidator([new d.MenuGroupExtensionValidator]),menuGroupExtensionValidator:new d.MenuGroupExtensionValidator,menuLocationValidator:new R.EnumValidator([0,1]),notSupportedFilterTypeValidator:new R.EnumValidator([2]),notSupportedFilterValidator:new c.NotSupportedFilterValidator,numberArrayValidator:new R.NumberArrayValidator,numberValidator:new R.NumberValidator,onLoadFiltersBaseValidator:new S.AnyOfValidator([new c.OnLoadFiltersBaseValidator,new c.OnLoadFiltersBaseRemoveOperationValidator]),pageLayoutValidator:new E.MapValidator([new R.StringValidator],[new p.VisualLayoutValidator]),pageNavigationPaneValidator:new h.PageNavigationPaneValidator,pageNavigationPositionValidator:new R.EnumValidator([0,1]),pageSizeTypeValidator:new R.EnumValidator([0,1,2,3,4,5]),pageSizeValidator:new f.PageSizeValidator,pageValidator:new f.PageValidator,pageViewFieldValidator:new f.PageViewFieldValidator,pagesLayoutValidator:new E.MapValidator([new R.StringValidator],[new p.PageLayoutValidator]),paginatedReportCommandsValidator:new o.PaginatedReportCommandsValidator,paginatedReportLoadValidator:new V.PaginatedReportLoadValidator,paginatedReportsettingsValidator:new w.PaginatedReportSettingsValidator,parametersPanelValidator:new x.ParametersPanelValidator,permissionsValidator:new R.EnumValidator([0,1,2,4,7]),playBookmarkRequestValidator:new a.PlayBookmarkRequestValidator,qnaInterpretInputDataValidator:new v.QnaInterpretInputDataValidator,qnaPanesValidator:new h.QnaPanesValidator,qnaSettingValidator:new v.QnaSettingsValidator,relativeDateFilterOperatorValidator:new R.EnumValidator([0,1,2]),relativeDateFilterTimeUnitTypeValidator:new R.EnumValidator([0,1,2,3,4,5,6]),relativeDateFilterTypeValidator:new R.EnumValidator([4]),relativeDateFilterValidator:new c.RelativeDateFilterValidator,relativeDateTimeFilterTypeValidator:new R.EnumValidator([4,7]),relativeDateTimeFilterUnitTypeValidator:new R.EnumValidator([0,1,2,3,4,5,6,7,8]),relativeTimeFilterTimeUnitTypeValidator:new R.EnumValidator([7,8]),relativeTimeFilterTypeValidator:new R.EnumValidator([7]),relativeTimeFilterValidator:new c.RelativeTimeFilterValidator,reportBarsValidator:new i.ReportBarsValidator,reportCreateValidator:new y.ReportCreateValidator,reportLoadFiltersValidator:new S.AnyOfValidator([new R.ArrayValidator([new c.FilterValidator]),new c.OnLoadFiltersValidator]),reportLoadValidator:new m.ReportLoadValidator,reportPanesValidator:new h.ReportPanesValidator,saveAsParametersValidator:new g.SaveAsParametersValidator,selectionPaneValidator:new h.SelectionPaneValidator,settingsValidator:new w.SettingsValidator,singleCommandSettingsValidator:new o.SingleCommandSettingsValidator,slicerSelectorValidator:new S.AnyOfValidator([new b.VisualSelectorValidator,new b.SlicerTargetSelectorValidator]),slicerStateValidator:new P.SlicerStateValidator,slicerTargetValidator:new S.AnyOfValidator([new c.FilterColumnTargetValidator,new c.FilterHierarchyTargetValidator,new c.FilterMeasureTargetValidator,new c.FilterKeyColumnsTargetValidator,new c.FilterKeyHierarchyTargetValidator]),slicerValidator:new P.SlicerValidator,stringArrayValidator:new R.StringArrayValidator,stringValidator:new R.StringValidator,syncSlicersPaneValidator:new h.SyncSlicersPaneValidator,tileLoadValidator:new _.TileLoadValidator,tokenTypeValidator:new R.EnumValidator([0,1]),topNFilterTypeValidator:new R.EnumValidator([5]),topNFilterValidator:new c.TopNFilterValidator,updateFiltersRequestValidator:new S.AnyOfValidator([new c.UpdateFiltersRequestValidator,new c.RemoveFiltersRequestValidator]),viewModeValidator:new R.EnumValidator([0,1]),visualCommandSelectorValidator:new S.AnyOfValidator([new b.VisualSelectorValidator,new b.VisualTypeSelectorValidator]),visualHeaderSelectorValidator:new S.AnyOfValidator([new b.VisualSelectorValidator,new b.VisualTypeSelectorValidator]),visualHeaderSettingsValidator:new O.VisualHeaderSettingsValidator,visualHeaderValidator:new O.VisualHeaderValidator,visualHeadersValidator:new R.ArrayValidator([new O.VisualHeaderValidator]),visualizationsPaneValidator:new h.VisualizationsPaneValidator,visualLayoutValidator:new p.VisualLayoutValidator,visualSelectorValidator:new b.VisualSelectorValidator,visualSettingsValidator:new O.VisualSettingsValidator,visualTypeSelectorValidator:new b.VisualTypeSelectorValidator}},function(t,e,r){var i,a=this&&this.__extends||(i=function(t,e){return(i=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])})(t,e)},function(t,e){function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.ActionBarValidator=e.ReportBarsValidator=void 0;var o=r(3),n=r(4),l=r(1),s=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return a(e,t),e.prototype.validate=function(e,r,i){if(null==e)return null;var a=t.prototype.validate.call(this,e,r,i);if(a)return a;var n=[{field:"actionBar",validators:[l.Validators.actionBarValidator]}];return new o.MultipleFieldsValidator(n).validate(e,r,i)},e}(n.ObjectValidator);e.ReportBarsValidator=s;var u=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return a(e,t),e.prototype.validate=function(e,r,i){if(null==e)return null;var a=t.prototype.validate.call(this,e,r,i);if(a)return a;var n=[{field:"visible",validators:[l.Validators.booleanValidator]}];return new o.MultipleFieldsValidator(n).validate(e,r,i)},e}(n.ObjectValidator);e.ActionBarValidator=u},function(t,e){Object.defineProperty(e,"__esModule",{value:!0}),e.MultipleFieldsValidator=void 0;var r=function(){function t(t){this.fieldValidatorsPairs=t}return t.prototype.validate=function(t,e,r){if(!this.fieldValidatorsPairs)return null;for(var i=e?e+"."+r:r,a=0,o=this.fieldValidatorsPairs;a0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0?"&":"?";return t+=i+e+"="+r},e.isSavedInternal=function(t,e,a){return r(this,void 0,void 0,(function(){return i(this,(function(r){switch(r.label){case 0:return r.trys.push([0,2,,3]),[4,t.get("/report/hasUnsavedChanges",{uid:e},a)];case 1:return[2,!r.sent().body];case 2:throw r.sent().body;case 3:return[2]}}))}))},e.isRDLEmbed=function(t){return t&&t.toLowerCase().indexOf("/rdlembed?")>=0},e.autoAuthInEmbedUrl=function(t){return t&&decodeURIComponent(t).toLowerCase().indexOf("autoauth=true")>=0},e.getRandomValue=o,e.getTimeDiffInMilliseconds=function(t,e){return Math.abs(t.getTime()-e.getTime())}},function(t,e){Object.defineProperty(e,"__esModule",{value:!0}),e.FilterBuilder=void 0;var r=function(){function t(){}return t.prototype.withTargetObject=function(t){return this.target=t,this},t.prototype.withColumnTarget=function(t,e){return this.target={table:t,column:e},this},t.prototype.withMeasureTarget=function(t,e){return this.target={table:t,measure:e},this},t.prototype.withHierarchyLevelTarget=function(t,e,r){return this.target={table:t,hierarchy:e,hierarchyLevel:r},this},t.prototype.withColumnAggregation=function(t,e,r){return this.target={table:t,column:e,aggregationFunction:r},this},t.prototype.withHierarchyLevelAggregationTarget=function(t,e,r,i){return this.target={table:t,hierarchy:e,hierarchyLevel:r,aggregationFunction:i},this},t}();e.FilterBuilder=r},function(t,e){Object.defineProperty(e,"__esModule",{value:!0}),e.EmbedUrlNotSupported=e.APINotSupportedForRDLError=void 0,e.APINotSupportedForRDLError="This API is currently not supported for RDL reports",e.EmbedUrlNotSupported="Embed URL is invalid for this scenario. Please use Power BI REST APIs to get the valid URL"},function(t,e,r){var i,a=this&&this.__extends||(i=function(t,e){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])})(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}),o=this&&this.__awaiter||function(t,e,r,i){return new(r||(r=Promise))((function(a,o){function n(t){try{s(i.next(t))}catch(t){o(t)}}function l(t){try{s(i.throw(t))}catch(t){o(t)}}function s(t){var e;t.done?a(t.value):(e=t.value,e instanceof r?e:new r((function(t){t(e)}))).then(n,l)}s((i=i.apply(t,e||[])).next())}))},n=this&&this.__generator||function(t,e){var r,i,a,o,n={label:0,sent:function(){if(1&a[0])throw a[1];return a[1]},trys:[],ops:[]};return o={next:l(0),throw:l(1),return:l(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function l(o){return function(l){return function(o){if(r)throw new TypeError("Generator is already executing.");for(;n;)try{if(r=1,i&&(a=2&o[0]?i.return:o[0]?i.throw||((a=i.return)&&a.call(i),0):i.next)&&!(a=a.call(i,o[1])).done)return a;switch(i=0,a&&(o=[2&o[0],a.value]),o[0]){case 0:case 1:a=o;break;case 4:return n.label++,{value:o[1],done:!1};case 5:n.label++,i=o[1],o=[0];continue;case 7:o=n.ops.pop(),n.trys.pop();continue;default:if(!(a=n.trys,(a=a.length>0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]= 0; + return embedUrl && embedUrl.toLowerCase().indexOf("/rdlembed?") >= 0; } /** From 51fbf9f6527e50b536005bb30f9f67da6ebf1c58 Mon Sep 17 00:00:00 2001 From: Guy Moses Date: Mon, 26 Jul 2021 05:26:37 +0000 Subject: [PATCH 071/125] Merged PR 186066: Expose mobile size (when available) Expose mobile view page size (when available) --- dist/powerbi-client.d.ts | 10 ++++++++-- dist/powerbi.js | 16 +++++++++------- dist/powerbi.min.js | 4 ++-- package.json | 4 ++-- src/config.ts | 2 +- src/page.ts | 10 +++++++++- src/report.ts | 8 +++++--- 7 files changed, 36 insertions(+), 18 deletions(-) diff --git a/dist/powerbi-client.d.ts b/dist/powerbi-client.d.ts index f826e013..c3390095 100644 --- a/dist/powerbi-client.d.ts +++ b/dist/powerbi-client.d.ts @@ -1,4 +1,4 @@ -// powerbi-client v2.18.2 +// powerbi-client v2.18.3 // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. declare module "config" { @@ -841,6 +841,12 @@ declare module "page" { * @type {ICustomPageSize} */ defaultSize: ICustomPageSize; + /** + * Mobile view page size (if defined) as saved in the report. + * + * @type {ICustomPageSize} + */ + mobileSize: ICustomPageSize; /** * Page display options as saved in the report. * @@ -857,7 +863,7 @@ declare module "page" { * @param {SectionVisibility} [visibility] * @hidden */ - constructor(report: IReportNode, name: string, displayName?: string, isActivePage?: boolean, visibility?: SectionVisibility, defaultSize?: ICustomPageSize, defaultDisplayOption?: DisplayOption); + constructor(report: IReportNode, name: string, displayName?: string, isActivePage?: boolean, visibility?: SectionVisibility, defaultSize?: ICustomPageSize, defaultDisplayOption?: DisplayOption, mobileSize?: ICustomPageSize); /** * Gets all page level filters within the report. * diff --git a/dist/powerbi.js b/dist/powerbi.js index 478ab3cc..17ffbf11 100644 --- a/dist/powerbi.js +++ b/dist/powerbi.js @@ -1,4 +1,4 @@ -// powerbi-client v2.18.2 +// powerbi-client v2.18.3 // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. (function webpackUniversalModuleDefinition(root, factory) { @@ -290,7 +290,7 @@ return /******/ (function(modules) { // webpackBootstrap /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { -// powerbi-models v1.9.1 +// powerbi-models v1.9.2 // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. (function webpackUniversalModuleDefinition(root, factory) { @@ -423,6 +423,7 @@ var PageSizeType; PageSizeType[PageSizeType["Cortana"] = 2] = "Cortana"; PageSizeType[PageSizeType["Letter"] = 3] = "Letter"; PageSizeType[PageSizeType["Custom"] = 4] = "Custom"; + PageSizeType[PageSizeType["Mobile"] = 5] = "Mobile"; })(PageSizeType = exports.PageSizeType || (exports.PageSizeType = {})); var DisplayOption; (function (DisplayOption) { @@ -7127,7 +7128,7 @@ exports.BookmarksManager = BookmarksManager; Object.defineProperty(exports, "__esModule", { value: true }); /** @ignore */ /** */ var config = { - version: '2.18.2', + version: '2.18.3', type: 'js' }; exports.default = config; @@ -8296,13 +8297,14 @@ var Page = /** @class */ (function () { * @param {SectionVisibility} [visibility] * @hidden */ - function Page(report, name, displayName, isActivePage, visibility, defaultSize, defaultDisplayOption) { + function Page(report, name, displayName, isActivePage, visibility, defaultSize, defaultDisplayOption, mobileSize) { this.report = report; this.name = name; this.displayName = displayName; this.isActive = isActivePage; this.visibility = visibility; this.defaultSize = defaultSize; + this.mobileSize = mobileSize; this.defaultDisplayOption = defaultDisplayOption; } /** @@ -9391,7 +9393,7 @@ var Report = /** @class */ (function (_super) { case 2: response = _a.sent(); return [2 /*return*/, response.body - .map(function (page) { return new page_1.Page(_this, page.name, page.displayName, page.isActive, page.visibility, page.defaultSize, page.defaultDisplayOption); })]; + .map(function (page) { return new page_1.Page(_this, page.name, page.displayName, page.isActive, page.visibility, page.defaultSize, page.defaultDisplayOption, page.mobileSize); })]; case 3: response_8 = _a.sent(); throw response_8.body; @@ -9432,7 +9434,7 @@ var Report = /** @class */ (function (_super) { if (!page) { return [2 /*return*/, Promise.reject(powerbi_models_1.CommonErrorCodes.NotFound)]; } - return [2 /*return*/, new page_1.Page(this, page.name, page.displayName, page.isActive, page.visibility, page.defaultSize, page.defaultDisplayOption)]; + return [2 /*return*/, new page_1.Page(this, page.name, page.displayName, page.isActive, page.visibility, page.defaultSize, page.defaultDisplayOption, page.mobileSize)]; case 3: response_9 = _a.sent(); throw response_9.body; @@ -9469,7 +9471,7 @@ var Report = /** @class */ (function (_super) { case 2: response = _a.sent(); activePage = response.body.find(function (page) { return page.isActive; }); - return [2 /*return*/, new page_1.Page(this, activePage.name, activePage.displayName, activePage.isActive, activePage.visibility, activePage.defaultSize, activePage.defaultDisplayOption)]; + return [2 /*return*/, new page_1.Page(this, activePage.name, activePage.displayName, activePage.isActive, activePage.visibility, activePage.defaultSize, activePage.defaultDisplayOption, activePage.mobileSize)]; case 3: response_10 = _a.sent(); throw response_10.body; diff --git a/dist/powerbi.min.js b/dist/powerbi.min.js index 88182bf1..d65e9d60 100644 --- a/dist/powerbi.min.js +++ b/dist/powerbi.min.js @@ -1,7 +1,7 @@ -// powerbi-client v2.18.2 +// powerbi-client v2.18.3 // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. -!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){var e={};function r(i){if(e[i])return e[i].exports;var a=e[i]={i:i,l:!1,exports:{}};return t[i].call(a.exports,a,a.exports,r),a.l=!0,a.exports}return r.m=t,r.c=e,r.d=function(t,e,i){r.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:i})},r.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},r.t=function(t,e){if(1&e&&(t=r(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var i=Object.create(null);if(r.r(i),Object.defineProperty(i,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var a in t)r.d(i,a,function(e){return t[e]}.bind(null,a));return i},r.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return r.d(e,"a",e),e},r.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},r.p="",r(r.s=13)}([function(t,e,r){var i;i=function(){return function(t){var e={};function r(i){if(e[i])return e[i].exports;var a=e[i]={i:i,l:!1,exports:{}};return t[i].call(a.exports,a,a.exports,r),a.l=!0,a.exports}return r.m=t,r.c=e,r.d=function(t,e,i){r.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:i})},r.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},r.t=function(t,e){if(1&e&&(t=r(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var i=Object.create(null);if(r.r(i),Object.defineProperty(i,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var a in t)r.d(i,a,function(e){return t[e]}.bind(null,a));return i},r.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return r.d(e,"a",e),e},r.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},r.p="",r(r.s=0)}([function(t,e,r){var i,a=this&&this.__extends||(i=function(t,e){return(i=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])})(t,e)},function(t,e){function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.validateCustomTheme=e.validateCommandsSettings=e.validateVisualSettings=e.validateVisualHeader=e.validateExportDataRequest=e.validateQnaInterpretInputData=e.validateLoadQnaConfiguration=e.validateSaveAsParameters=e.validateUpdateFiltersRequest=e.validateFilter=e.validatePage=e.validateTileLoad=e.validateDashboardLoad=e.validateCreateReport=e.validatePaginatedReportLoad=e.validateReportLoad=e.validateMenuGroupExtension=e.validateExtension=e.validateCustomPageSize=e.validateVisualizationsPane=e.validateSyncSlicersPane=e.validateSelectionPane=e.validatePageNavigationPane=e.validateFieldsPane=e.validateFiltersPane=e.validateBookmarksPane=e.validatePanes=e.validateSettings=e.validateCaptureBookmarkRequest=e.validateApplyBookmarkStateRequest=e.validateApplyBookmarkByNameRequest=e.validateAddBookmarkRequest=e.validatePlayBookmarkRequest=e.validateSlicerState=e.validateSlicer=e.validateVisualSelector=e.isIExtensionArray=e.isIExtensions=e.isGroupedMenuExtension=e.isFlatMenuExtension=e.isReportFiltersArray=e.isOnLoadFilters=e.VisualDataRoleKindPreference=e.VisualDataRoleKind=e.CommandDisplayOption=e.SlicerTargetSelector=e.VisualTypeSelector=e.VisualSelector=e.PageSelector=e.Selector=e.SortDirection=e.LegendPosition=e.TextAlignment=e.CommonErrorCodes=e.BookmarksPlayMode=e.ExportDataType=e.QnaMode=e.PageNavigationPosition=e.isColumnAggr=e.isHierarchyLevelAggr=e.isHierarchyLevel=e.isColumn=e.isMeasure=e.getFilterType=e.isBasicFilterWithKeys=e.isFilterKeyColumnsTarget=e.AdvancedFilter=e.TupleFilter=e.IdentityFilter=e.BasicFilterWithKeys=e.BasicFilter=e.RelativeTimeFilter=e.RelativeDateFilter=e.TopNFilter=e.IncludeExcludeFilter=e.NotSupportedFilter=e.Filter=e.RelativeDateOperators=e.RelativeDateFilterTimeUnit=e.FilterType=e.FiltersLevel=e.FiltersOperations=e.MenuLocation=e.ContrastMode=e.TokenType=e.ViewMode=e.Permissions=e.SectionVisibility=e.HyperlinkClickBehavior=e.LayoutType=e.VisualContainerDisplayMode=e.BackgroundType=e.DisplayOption=e.PageSizeType=e.TraceType=void 0;var o,n=r(1);!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"}(e.TraceType||(e.TraceType={})),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"}(e.PageSizeType||(e.PageSizeType={})),function(t){t[t.FitToPage=0]="FitToPage",t[t.FitToWidth=1]="FitToWidth",t[t.ActualSize=2]="ActualSize"}(e.DisplayOption||(e.DisplayOption={})),function(t){t[t.Default=0]="Default",t[t.Transparent=1]="Transparent"}(e.BackgroundType||(e.BackgroundType={})),function(t){t[t.Visible=0]="Visible",t[t.Hidden=1]="Hidden"}(e.VisualContainerDisplayMode||(e.VisualContainerDisplayMode={})),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={})),function(t){t[t.Navigate=0]="Navigate",t[t.NavigateAndRaiseEvent=1]="NavigateAndRaiseEvent",t[t.RaiseEvent=2]="RaiseEvent"}(e.HyperlinkClickBehavior||(e.HyperlinkClickBehavior={})),function(t){t[t.AlwaysVisible=0]="AlwaysVisible",t[t.HiddenInViewMode=1]="HiddenInViewMode"}(e.SectionVisibility||(e.SectionVisibility={})),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"}(e.Permissions||(e.Permissions={})),function(t){t[t.View=0]="View",t[t.Edit=1]="Edit"}(e.ViewMode||(e.ViewMode={})),function(t){t[t.Aad=0]="Aad",t[t.Embed=1]="Embed"}(e.TokenType||(e.TokenType={})),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"}(e.ContrastMode||(e.ContrastMode={})),function(t){t[t.Bottom=0]="Bottom",t[t.Top=1]="Top"}(e.MenuLocation||(e.MenuLocation={})),function(t){t[t.RemoveAll=0]="RemoveAll",t[t.ReplaceAll=1]="ReplaceAll",t[t.Add=2]="Add",t[t.Replace=3]="Replace"}(e.FiltersOperations||(e.FiltersOperations={})),function(t){t[t.Report=0]="Report",t[t.Page=1]="Page",t[t.Visual=2]="Visual"}(e.FiltersLevel||(e.FiltersLevel={})),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",t[t.Identity=8]="Identity"}(o=e.FilterType||(e.FilterType={})),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"}(e.RelativeDateFilterTimeUnit||(e.RelativeDateFilterTimeUnit={})),function(t){t[t.InLast=0]="InLast",t[t.InThis=1]="InThis",t[t.InNext=2]="InNext"}(e.RelativeDateOperators||(e.RelativeDateOperators={}));var l=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=l;var s=function(t){function e(r,i,a){var n=t.call(this,r,o.Unknown)||this;return n.message=i,n.notSupportedTypeName=a,n.schemaUrl=e.schemaUrl,n}return a(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}(l);e.NotSupportedFilter=s;var u=function(t){function e(r,i,a){var n=t.call(this,r,o.IncludeExclude)||this;return n.values=a,n.isExclude=i,n.schemaUrl=e.schemaUrl,n}return a(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}(l);e.IncludeExcludeFilter=u;var d=function(t){function e(r,i,a,n){var l=t.call(this,r,o.TopN)||this;return l.operator=i,l.itemCount=a,l.schemaUrl=e.schemaUrl,l.orderBy=n,l}return a(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}(l);e.TopNFilter=d;var c=function(t){function e(r,i,a,n,l){var s=t.call(this,r,o.RelativeDate)||this;return s.operator=i,s.timeUnitsCount=a,s.timeUnitType=n,s.includeToday=l,s.schemaUrl=e.schemaUrl,s}return a(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}(l);e.RelativeDateFilter=c;var p=function(t){function e(r,i,a,n){var l=t.call(this,r,o.RelativeTime)||this;return l.operator=i,l.timeUnitsCount=a,l.timeUnitType=n,l.schemaUrl=e.schemaUrl,l}return a(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}(l);e.RelativeTimeFilter=p;var f=function(t){function e(r,i){for(var a=[],n=2;n0&&!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,s=o.keyValues;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 s.conditions=l,s}return a(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}(l);function V(t){if(t.filterType)return t.filterType;var e=t,r=t;return"string"==typeof e.operator&&Array.isArray(e.values)?o.Basic:"string"==typeof r.logicalOperator&&Array.isArray(r.conditions)?o.Advanced:o.Unknown}function g(t){return!(!t.table||!t.column||t.aggregationFunction)}e.AdvancedFilter=m,e.isFilterKeyColumnsTarget=function(t){return g(t)&&!!t.keys},e.isBasicFilterWithKeys=function(t){return V(t)===o.Basic&&!!t.keyValues},e.getFilterType=V,e.isMeasure=function(t){return void 0!==t.table&&void 0!==t.measure},e.isColumn=g,e.isHierarchyLevel=function(t){return!(!(t.table&&t.hierarchy&&t.hierarchyLevel)||t.aggregationFunction)},e.isHierarchyLevelAggr=function(t){return!!(t.table&&t.hierarchy&&t.hierarchyLevel&&t.aggregationFunction)},e.isColumnAggr=function(t){return!!(t.table&&t.column&&t.aggregationFunction)},function(t){t[t.Bottom=0]="Bottom",t[t.Left=1]="Left"}(e.PageNavigationPosition||(e.PageNavigationPosition={})),function(t){t[t.Interactive=0]="Interactive",t[t.ResultOnly=1]="ResultOnly"}(e.QnaMode||(e.QnaMode={})),function(t){t[t.Summarized=0]="Summarized",t[t.Underlying=1]="Underlying"}(e.ExportDataType||(e.ExportDataType={})),function(t){t[t.Off=0]="Off",t[t.Presentation=1]="Presentation"}(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"},function(t){t[t.Ascending=1]="Ascending",t[t.Descending=2]="Descending"}(e.SortDirection||(e.SortDirection={}));var b=function(){function t(t){this.$schema=t}return t.prototype.toJSON=function(){return{$schema:this.$schema}},t}();e.Selector=b;var w=function(t){function e(r){var i=t.call(this,e.schemaUrl)||this;return i.pageName=r,i}return a(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}(b);e.PageSelector=w;var P=function(t){function e(r){var i=t.call(this,e.schemaUrl)||this;return i.visualName=r,i}return a(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}(b);e.VisualSelector=P;var _=function(t){function e(e){var r=t.call(this,P.schemaUrl)||this;return r.visualType=e,r}return a(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}(b);e.VisualTypeSelector=_;var O=function(t){function e(e){var r=t.call(this,P.schemaUrl)||this;return r.target=e,r}return a(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}(b);function S(t){return Array.isArray(t)}function T(t){return t&&!!t.groupName}function F(t){return Array.isArray(t)}function E(t){var e=t.message;return e||(e=t.path+" is invalid. Not meeting "+t.keyword+" constraint"),{message:e}}e.SlicerTargetSelector=O,function(t){t[t.Enabled=0]="Enabled",t[t.Disabled=1]="Disabled",t[t.Hidden=2]="Hidden"}(e.CommandDisplayOption||(e.CommandDisplayOption={})),function(t){t[t.Grouping=0]="Grouping",t[t.Measure=1]="Measure",t[t.GroupingOrMeasure=2]="GroupingOrMeasure"}(e.VisualDataRoleKind||(e.VisualDataRoleKind={})),function(t){t[t.Measure=0]="Measure",t[t.Grouping=1]="Grouping"}(e.VisualDataRoleKindPreference||(e.VisualDataRoleKindPreference={})),e.isOnLoadFilters=function(t){return t&&!S(t)},e.isReportFiltersArray=S,e.isFlatMenuExtension=function(t){return t&&!T(t)},e.isGroupedMenuExtension=T,e.isIExtensions=function(t){return t&&!F(t)},e.isIExtensionArray=F,e.validateVisualSelector=function(t){var e=n.Validators.visualSelectorValidator.validate(t);return e?e.map(E):void 0},e.validateSlicer=function(t){var e=n.Validators.slicerValidator.validate(t);return e?e.map(E):void 0},e.validateSlicerState=function(t){var e=n.Validators.slicerStateValidator.validate(t);return e?e.map(E):void 0},e.validatePlayBookmarkRequest=function(t){var e=n.Validators.playBookmarkRequestValidator.validate(t);return e?e.map(E):void 0},e.validateAddBookmarkRequest=function(t){var e=n.Validators.addBookmarkRequestValidator.validate(t);return e?e.map(E):void 0},e.validateApplyBookmarkByNameRequest=function(t){var e=n.Validators.applyBookmarkByNameRequestValidator.validate(t);return e?e.map(E):void 0},e.validateApplyBookmarkStateRequest=function(t){var e=n.Validators.applyBookmarkStateRequestValidator.validate(t);return e?e.map(E):void 0},e.validateCaptureBookmarkRequest=function(t){var e=n.Validators.captureBookmarkRequestValidator.validate(t);return e?e.map(E):void 0},e.validateSettings=function(t){var e=n.Validators.settingsValidator.validate(t);return e?e.map(E):void 0},e.validatePanes=function(t){var e=n.Validators.reportPanesValidator.validate(t);return e?e.map(E):void 0},e.validateBookmarksPane=function(t){var e=n.Validators.bookmarksPaneValidator.validate(t);return e?e.map(E):void 0},e.validateFiltersPane=function(t){var e=n.Validators.filtersPaneValidator.validate(t);return e?e.map(E):void 0},e.validateFieldsPane=function(t){var e=n.Validators.fieldsPaneValidator.validate(t);return e?e.map(E):void 0},e.validatePageNavigationPane=function(t){var e=n.Validators.pageNavigationPaneValidator.validate(t);return e?e.map(E):void 0},e.validateSelectionPane=function(t){var e=n.Validators.selectionPaneValidator.validate(t);return e?e.map(E):void 0},e.validateSyncSlicersPane=function(t){var e=n.Validators.syncSlicersPaneValidator.validate(t);return e?e.map(E):void 0},e.validateVisualizationsPane=function(t){var e=n.Validators.visualizationsPaneValidator.validate(t);return e?e.map(E):void 0},e.validateCustomPageSize=function(t){var e=n.Validators.customPageSizeValidator.validate(t);return e?e.map(E):void 0},e.validateExtension=function(t){var e=n.Validators.extensionValidator.validate(t);return e?e.map(E):void 0},e.validateMenuGroupExtension=function(t){var e=n.Validators.menuGroupExtensionValidator.validate(t);return e?e.map(E):void 0},e.validateReportLoad=function(t){var e=n.Validators.reportLoadValidator.validate(t);return e?e.map(E):void 0},e.validatePaginatedReportLoad=function(t){var e=n.Validators.paginatedReportLoadValidator.validate(t);return e?e.map(E):void 0},e.validateCreateReport=function(t){var e=n.Validators.reportCreateValidator.validate(t);return e?e.map(E):void 0},e.validateDashboardLoad=function(t){var e=n.Validators.dashboardLoadValidator.validate(t);return e?e.map(E):void 0},e.validateTileLoad=function(t){var e=n.Validators.tileLoadValidator.validate(t);return e?e.map(E):void 0},e.validatePage=function(t){var e=n.Validators.pageValidator.validate(t);return e?e.map(E):void 0},e.validateFilter=function(t){var e=n.Validators.filterValidator.validate(t);return e?e.map(E):void 0},e.validateUpdateFiltersRequest=function(t){var e=n.Validators.updateFiltersRequestValidator.validate(t);return e?e.map(E):void 0},e.validateSaveAsParameters=function(t){var e=n.Validators.saveAsParametersValidator.validate(t);return e?e.map(E):void 0},e.validateLoadQnaConfiguration=function(t){var e=n.Validators.loadQnaValidator.validate(t);return e?e.map(E):void 0},e.validateQnaInterpretInputData=function(t){var e=n.Validators.qnaInterpretInputDataValidator.validate(t);return e?e.map(E):void 0},e.validateExportDataRequest=function(t){var e=n.Validators.exportDataRequestValidator.validate(t);return e?e.map(E):void 0},e.validateVisualHeader=function(t){var e=n.Validators.visualHeaderValidator.validate(t);return e?e.map(E):void 0},e.validateVisualSettings=function(t){var e=n.Validators.visualSettingsValidator.validate(t);return e?e.map(E):void 0},e.validateCommandsSettings=function(t){var e=n.Validators.commandsSettingsValidator.validate(t);return e?e.map(E):void 0},e.validateCustomTheme=function(t){var e=n.Validators.customThemeValidator.validate(t);return e?e.map(E):void 0}},function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.Validators=void 0;var i=r(2),a=r(5),o=r(6),n=r(7),l=r(8),s=r(9),u=r(10),d=r(11),c=r(12),p=r(13),f=r(14),h=r(15),v=r(16),y=r(17),m=r(18),V=r(19),g=r(20),b=r(21),w=r(22),P=r(23),_=r(24),O=r(25),S=r(26),T=r(27),F=r(28),E=r(29),R=r(4),x=r(30);e.Validators={addBookmarkRequestValidator:new a.AddBookmarkRequestValidator,advancedFilterTypeValidator:new R.EnumValidator([0]),advancedFilterValidator:new c.AdvancedFilterValidator,anyArrayValidator:new R.ArrayValidator([new S.AnyOfValidator([new R.StringValidator,new R.NumberValidator,new R.BooleanValidator])]),anyFilterValidator:new S.AnyOfValidator([new c.BasicFilterValidator,new c.AdvancedFilterValidator,new c.IncludeExcludeFilterValidator,new c.NotSupportedFilterValidator,new c.RelativeDateFilterValidator,new c.TopNFilterValidator,new c.RelativeTimeFilterValidator]),anyValueValidator:new S.AnyOfValidator([new R.StringValidator,new R.NumberValidator,new R.BooleanValidator]),actionBarValidator:new i.ActionBarValidator,applyBookmarkByNameRequestValidator:new a.ApplyBookmarkByNameRequestValidator,applyBookmarkStateRequestValidator:new a.ApplyBookmarkStateRequestValidator,applyBookmarkValidator:new S.AnyOfValidator([new a.ApplyBookmarkByNameRequestValidator,new a.ApplyBookmarkStateRequestValidator]),backgroundValidator:new R.EnumValidator([0,1]),basicFilterTypeValidator:new R.EnumValidator([1]),basicFilterValidator:new c.BasicFilterValidator,booleanArrayValidator:new R.BooleanArrayValidator,booleanValidator:new R.BooleanValidator,bookmarksPaneValidator:new h.BookmarksPaneValidator,captureBookmarkOptionsValidator:new a.CaptureBookmarkOptionsValidator,captureBookmarkRequestValidator:new a.CaptureBookmarkRequestValidator,commandDisplayOptionValidator:new R.EnumValidator([0,1,2]),commandExtensionSelectorValidator:new S.AnyOfValidator([new b.VisualSelectorValidator,new b.VisualTypeSelectorValidator]),commandExtensionArrayValidator:new R.ArrayValidator([new d.CommandExtensionValidator]),commandExtensionValidator:new d.CommandExtensionValidator,commandsSettingsArrayValidator:new R.ArrayValidator([new o.CommandsSettingsValidator]),commandsSettingsValidator:new o.CommandsSettingsValidator,conditionItemValidator:new c.ConditionItemValidator,contrastModeValidator:new R.EnumValidator([0,1,2,3,4]),customLayoutDisplayOptionValidator:new R.EnumValidator([0,1,2]),customLayoutValidator:new p.CustomLayoutValidator,customPageSizeValidator:new f.CustomPageSizeValidator,customThemeValidator:new n.CustomThemeValidator,dashboardLoadValidator:new l.DashboardLoadValidator,datasetBindingValidator:new s.DatasetBindingValidator,displayStateModeValidator:new R.EnumValidator([0,1]),displayStateValidator:new p.DisplayStateValidator,exportDataRequestValidator:new u.ExportDataRequestValidator,extensionArrayValidator:new R.ArrayValidator([new d.ExtensionValidator]),extensionsValidator:new S.AnyOfValidator([new R.ArrayValidator([new d.ExtensionValidator]),new d.ExtensionsValidator]),extensionPointsValidator:new d.ExtensionPointsValidator,extensionValidator:new d.ExtensionValidator,fieldForbiddenValidator:new T.FieldForbiddenValidator,fieldRequiredValidator:new F.FieldRequiredValidator,fieldsPaneValidator:new h.FieldsPaneValidator,filterColumnTargetValidator:new c.FilterColumnTargetValidator,filterDisplaySettingsValidator:new c.FilterDisplaySettingsValidator,filterConditionsValidator:new R.ArrayValidator([new c.ConditionItemValidator]),filterHierarchyTargetValidator:new c.FilterHierarchyTargetValidator,filterMeasureTargetValidator:new c.FilterMeasureTargetValidator,filterTargetValidator:new S.AnyOfValidator([new c.FilterColumnTargetValidator,new c.FilterHierarchyTargetValidator,new c.FilterMeasureTargetValidator]),filterValidator:new c.FilterValidator,filterTypeValidator:new R.EnumValidator([0,1,2,3,4,5,6,7]),filtersArrayValidator:new R.ArrayValidator([new c.FilterValidator]),filtersOperationsUpdateValidator:new R.EnumValidator([1,2,3]),filtersOperationsRemoveAllValidator:new R.EnumValidator([0]),filtersPaneValidator:new h.FiltersPaneValidator,hyperlinkClickBehaviorValidator:new R.EnumValidator([0,1,2]),includeExcludeFilterValidator:new c.IncludeExcludeFilterValidator,includeExludeFilterTypeValidator:new R.EnumValidator([3]),layoutTypeValidator:new R.EnumValidator([0,1,2,3]),loadQnaValidator:new v.LoadQnaValidator,menuExtensionValidator:new S.AnyOfValidator([new d.FlatMenuExtensionValidator,new d.GroupedMenuExtensionValidator]),menuGroupExtensionArrayValidator:new R.ArrayValidator([new d.MenuGroupExtensionValidator]),menuGroupExtensionValidator:new d.MenuGroupExtensionValidator,menuLocationValidator:new R.EnumValidator([0,1]),notSupportedFilterTypeValidator:new R.EnumValidator([2]),notSupportedFilterValidator:new c.NotSupportedFilterValidator,numberArrayValidator:new R.NumberArrayValidator,numberValidator:new R.NumberValidator,onLoadFiltersBaseValidator:new S.AnyOfValidator([new c.OnLoadFiltersBaseValidator,new c.OnLoadFiltersBaseRemoveOperationValidator]),pageLayoutValidator:new E.MapValidator([new R.StringValidator],[new p.VisualLayoutValidator]),pageNavigationPaneValidator:new h.PageNavigationPaneValidator,pageNavigationPositionValidator:new R.EnumValidator([0,1]),pageSizeTypeValidator:new R.EnumValidator([0,1,2,3,4,5]),pageSizeValidator:new f.PageSizeValidator,pageValidator:new f.PageValidator,pageViewFieldValidator:new f.PageViewFieldValidator,pagesLayoutValidator:new E.MapValidator([new R.StringValidator],[new p.PageLayoutValidator]),paginatedReportCommandsValidator:new o.PaginatedReportCommandsValidator,paginatedReportLoadValidator:new V.PaginatedReportLoadValidator,paginatedReportsettingsValidator:new w.PaginatedReportSettingsValidator,parametersPanelValidator:new x.ParametersPanelValidator,permissionsValidator:new R.EnumValidator([0,1,2,4,7]),playBookmarkRequestValidator:new a.PlayBookmarkRequestValidator,qnaInterpretInputDataValidator:new v.QnaInterpretInputDataValidator,qnaPanesValidator:new h.QnaPanesValidator,qnaSettingValidator:new v.QnaSettingsValidator,relativeDateFilterOperatorValidator:new R.EnumValidator([0,1,2]),relativeDateFilterTimeUnitTypeValidator:new R.EnumValidator([0,1,2,3,4,5,6]),relativeDateFilterTypeValidator:new R.EnumValidator([4]),relativeDateFilterValidator:new c.RelativeDateFilterValidator,relativeDateTimeFilterTypeValidator:new R.EnumValidator([4,7]),relativeDateTimeFilterUnitTypeValidator:new R.EnumValidator([0,1,2,3,4,5,6,7,8]),relativeTimeFilterTimeUnitTypeValidator:new R.EnumValidator([7,8]),relativeTimeFilterTypeValidator:new R.EnumValidator([7]),relativeTimeFilterValidator:new c.RelativeTimeFilterValidator,reportBarsValidator:new i.ReportBarsValidator,reportCreateValidator:new y.ReportCreateValidator,reportLoadFiltersValidator:new S.AnyOfValidator([new R.ArrayValidator([new c.FilterValidator]),new c.OnLoadFiltersValidator]),reportLoadValidator:new m.ReportLoadValidator,reportPanesValidator:new h.ReportPanesValidator,saveAsParametersValidator:new g.SaveAsParametersValidator,selectionPaneValidator:new h.SelectionPaneValidator,settingsValidator:new w.SettingsValidator,singleCommandSettingsValidator:new o.SingleCommandSettingsValidator,slicerSelectorValidator:new S.AnyOfValidator([new b.VisualSelectorValidator,new b.SlicerTargetSelectorValidator]),slicerStateValidator:new P.SlicerStateValidator,slicerTargetValidator:new S.AnyOfValidator([new c.FilterColumnTargetValidator,new c.FilterHierarchyTargetValidator,new c.FilterMeasureTargetValidator,new c.FilterKeyColumnsTargetValidator,new c.FilterKeyHierarchyTargetValidator]),slicerValidator:new P.SlicerValidator,stringArrayValidator:new R.StringArrayValidator,stringValidator:new R.StringValidator,syncSlicersPaneValidator:new h.SyncSlicersPaneValidator,tileLoadValidator:new _.TileLoadValidator,tokenTypeValidator:new R.EnumValidator([0,1]),topNFilterTypeValidator:new R.EnumValidator([5]),topNFilterValidator:new c.TopNFilterValidator,updateFiltersRequestValidator:new S.AnyOfValidator([new c.UpdateFiltersRequestValidator,new c.RemoveFiltersRequestValidator]),viewModeValidator:new R.EnumValidator([0,1]),visualCommandSelectorValidator:new S.AnyOfValidator([new b.VisualSelectorValidator,new b.VisualTypeSelectorValidator]),visualHeaderSelectorValidator:new S.AnyOfValidator([new b.VisualSelectorValidator,new b.VisualTypeSelectorValidator]),visualHeaderSettingsValidator:new O.VisualHeaderSettingsValidator,visualHeaderValidator:new O.VisualHeaderValidator,visualHeadersValidator:new R.ArrayValidator([new O.VisualHeaderValidator]),visualizationsPaneValidator:new h.VisualizationsPaneValidator,visualLayoutValidator:new p.VisualLayoutValidator,visualSelectorValidator:new b.VisualSelectorValidator,visualSettingsValidator:new O.VisualSettingsValidator,visualTypeSelectorValidator:new b.VisualTypeSelectorValidator}},function(t,e,r){var i,a=this&&this.__extends||(i=function(t,e){return(i=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])})(t,e)},function(t,e){function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.ActionBarValidator=e.ReportBarsValidator=void 0;var o=r(3),n=r(4),l=r(1),s=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return a(e,t),e.prototype.validate=function(e,r,i){if(null==e)return null;var a=t.prototype.validate.call(this,e,r,i);if(a)return a;var n=[{field:"actionBar",validators:[l.Validators.actionBarValidator]}];return new o.MultipleFieldsValidator(n).validate(e,r,i)},e}(n.ObjectValidator);e.ReportBarsValidator=s;var u=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return a(e,t),e.prototype.validate=function(e,r,i){if(null==e)return null;var a=t.prototype.validate.call(this,e,r,i);if(a)return a;var n=[{field:"visible",validators:[l.Validators.booleanValidator]}];return new o.MultipleFieldsValidator(n).validate(e,r,i)},e}(n.ObjectValidator);e.ActionBarValidator=u},function(t,e){Object.defineProperty(e,"__esModule",{value:!0}),e.MultipleFieldsValidator=void 0;var r=function(){function t(t){this.fieldValidatorsPairs=t}return t.prototype.validate=function(t,e,r){if(!this.fieldValidatorsPairs)return null;for(var i=e?e+"."+r:r,a=0,o=this.fieldValidatorsPairs;a0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0?"&":"?";return t+=i+e+"="+r},e.isSavedInternal=function(t,e,a){return r(this,void 0,void 0,(function(){return i(this,(function(r){switch(r.label){case 0:return r.trys.push([0,2,,3]),[4,t.get("/report/hasUnsavedChanges",{uid:e},a)];case 1:return[2,!r.sent().body];case 2:throw r.sent().body;case 3:return[2]}}))}))},e.isRDLEmbed=function(t){return t&&t.toLowerCase().indexOf("/rdlembed?")>=0},e.autoAuthInEmbedUrl=function(t){return t&&decodeURIComponent(t).toLowerCase().indexOf("autoauth=true")>=0},e.getRandomValue=o,e.getTimeDiffInMilliseconds=function(t,e){return Math.abs(t.getTime()-e.getTime())}},function(t,e){Object.defineProperty(e,"__esModule",{value:!0}),e.FilterBuilder=void 0;var r=function(){function t(){}return t.prototype.withTargetObject=function(t){return this.target=t,this},t.prototype.withColumnTarget=function(t,e){return this.target={table:t,column:e},this},t.prototype.withMeasureTarget=function(t,e){return this.target={table:t,measure:e},this},t.prototype.withHierarchyLevelTarget=function(t,e,r){return this.target={table:t,hierarchy:e,hierarchyLevel:r},this},t.prototype.withColumnAggregation=function(t,e,r){return this.target={table:t,column:e,aggregationFunction:r},this},t.prototype.withHierarchyLevelAggregationTarget=function(t,e,r,i){return this.target={table:t,hierarchy:e,hierarchyLevel:r,aggregationFunction:i},this},t}();e.FilterBuilder=r},function(t,e){Object.defineProperty(e,"__esModule",{value:!0}),e.EmbedUrlNotSupported=e.APINotSupportedForRDLError=void 0,e.APINotSupportedForRDLError="This API is currently not supported for RDL reports",e.EmbedUrlNotSupported="Embed URL is invalid for this scenario. Please use Power BI REST APIs to get the valid URL"},function(t,e,r){var i,a=this&&this.__extends||(i=function(t,e){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])})(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}),o=this&&this.__awaiter||function(t,e,r,i){return new(r||(r=Promise))((function(a,o){function n(t){try{s(i.next(t))}catch(t){o(t)}}function l(t){try{s(i.throw(t))}catch(t){o(t)}}function s(t){var e;t.done?a(t.value):(e=t.value,e instanceof r?e:new r((function(t){t(e)}))).then(n,l)}s((i=i.apply(t,e||[])).next())}))},n=this&&this.__generator||function(t,e){var r,i,a,o,n={label:0,sent:function(){if(1&a[0])throw a[1];return a[1]},trys:[],ops:[]};return o={next:l(0),throw:l(1),return:l(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function l(o){return function(l){return function(o){if(r)throw new TypeError("Generator is already executing.");for(;n;)try{if(r=1,i&&(a=2&o[0]?i.return:o[0]?i.throw||((a=i.return)&&a.call(i),0):i.next)&&!(a=a.call(i,o[1])).done)return a;switch(i=0,a&&(o=[2&o[0],a.value]),o[0]){case 0:case 1:a=o;break;case 4:return n.label++,{value:o[1],done:!1};case 5:n.label++,i=o[1],o=[0];continue;case 7:o=n.ops.pop(),n.trys.pop();continue;default:if(!(a=n.trys,(a=a.length>0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&!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,s=o.keyValues;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 s.conditions=l,s}return a(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}(l);function V(t){if(t.filterType)return t.filterType;var e=t,r=t;return"string"==typeof e.operator&&Array.isArray(e.values)?o.Basic:"string"==typeof r.logicalOperator&&Array.isArray(r.conditions)?o.Advanced:o.Unknown}function g(t){return!(!t.table||!t.column||t.aggregationFunction)}e.AdvancedFilter=m,e.isFilterKeyColumnsTarget=function(t){return g(t)&&!!t.keys},e.isBasicFilterWithKeys=function(t){return V(t)===o.Basic&&!!t.keyValues},e.getFilterType=V,e.isMeasure=function(t){return void 0!==t.table&&void 0!==t.measure},e.isColumn=g,e.isHierarchyLevel=function(t){return!(!(t.table&&t.hierarchy&&t.hierarchyLevel)||t.aggregationFunction)},e.isHierarchyLevelAggr=function(t){return!!(t.table&&t.hierarchy&&t.hierarchyLevel&&t.aggregationFunction)},e.isColumnAggr=function(t){return!!(t.table&&t.column&&t.aggregationFunction)},function(t){t[t.Bottom=0]="Bottom",t[t.Left=1]="Left"}(e.PageNavigationPosition||(e.PageNavigationPosition={})),function(t){t[t.Interactive=0]="Interactive",t[t.ResultOnly=1]="ResultOnly"}(e.QnaMode||(e.QnaMode={})),function(t){t[t.Summarized=0]="Summarized",t[t.Underlying=1]="Underlying"}(e.ExportDataType||(e.ExportDataType={})),function(t){t[t.Off=0]="Off",t[t.Presentation=1]="Presentation"}(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"},function(t){t[t.Ascending=1]="Ascending",t[t.Descending=2]="Descending"}(e.SortDirection||(e.SortDirection={}));var b=function(){function t(t){this.$schema=t}return t.prototype.toJSON=function(){return{$schema:this.$schema}},t}();e.Selector=b;var w=function(t){function e(r){var i=t.call(this,e.schemaUrl)||this;return i.pageName=r,i}return a(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}(b);e.PageSelector=w;var P=function(t){function e(r){var i=t.call(this,e.schemaUrl)||this;return i.visualName=r,i}return a(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}(b);e.VisualSelector=P;var _=function(t){function e(e){var r=t.call(this,P.schemaUrl)||this;return r.visualType=e,r}return a(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}(b);e.VisualTypeSelector=_;var O=function(t){function e(e){var r=t.call(this,P.schemaUrl)||this;return r.target=e,r}return a(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}(b);function S(t){return Array.isArray(t)}function T(t){return t&&!!t.groupName}function F(t){return Array.isArray(t)}function E(t){var e=t.message;return e||(e=t.path+" is invalid. Not meeting "+t.keyword+" constraint"),{message:e}}e.SlicerTargetSelector=O,function(t){t[t.Enabled=0]="Enabled",t[t.Disabled=1]="Disabled",t[t.Hidden=2]="Hidden"}(e.CommandDisplayOption||(e.CommandDisplayOption={})),function(t){t[t.Grouping=0]="Grouping",t[t.Measure=1]="Measure",t[t.GroupingOrMeasure=2]="GroupingOrMeasure"}(e.VisualDataRoleKind||(e.VisualDataRoleKind={})),function(t){t[t.Measure=0]="Measure",t[t.Grouping=1]="Grouping"}(e.VisualDataRoleKindPreference||(e.VisualDataRoleKindPreference={})),e.isOnLoadFilters=function(t){return t&&!S(t)},e.isReportFiltersArray=S,e.isFlatMenuExtension=function(t){return t&&!T(t)},e.isGroupedMenuExtension=T,e.isIExtensions=function(t){return t&&!F(t)},e.isIExtensionArray=F,e.validateVisualSelector=function(t){var e=n.Validators.visualSelectorValidator.validate(t);return e?e.map(E):void 0},e.validateSlicer=function(t){var e=n.Validators.slicerValidator.validate(t);return e?e.map(E):void 0},e.validateSlicerState=function(t){var e=n.Validators.slicerStateValidator.validate(t);return e?e.map(E):void 0},e.validatePlayBookmarkRequest=function(t){var e=n.Validators.playBookmarkRequestValidator.validate(t);return e?e.map(E):void 0},e.validateAddBookmarkRequest=function(t){var e=n.Validators.addBookmarkRequestValidator.validate(t);return e?e.map(E):void 0},e.validateApplyBookmarkByNameRequest=function(t){var e=n.Validators.applyBookmarkByNameRequestValidator.validate(t);return e?e.map(E):void 0},e.validateApplyBookmarkStateRequest=function(t){var e=n.Validators.applyBookmarkStateRequestValidator.validate(t);return e?e.map(E):void 0},e.validateCaptureBookmarkRequest=function(t){var e=n.Validators.captureBookmarkRequestValidator.validate(t);return e?e.map(E):void 0},e.validateSettings=function(t){var e=n.Validators.settingsValidator.validate(t);return e?e.map(E):void 0},e.validatePanes=function(t){var e=n.Validators.reportPanesValidator.validate(t);return e?e.map(E):void 0},e.validateBookmarksPane=function(t){var e=n.Validators.bookmarksPaneValidator.validate(t);return e?e.map(E):void 0},e.validateFiltersPane=function(t){var e=n.Validators.filtersPaneValidator.validate(t);return e?e.map(E):void 0},e.validateFieldsPane=function(t){var e=n.Validators.fieldsPaneValidator.validate(t);return e?e.map(E):void 0},e.validatePageNavigationPane=function(t){var e=n.Validators.pageNavigationPaneValidator.validate(t);return e?e.map(E):void 0},e.validateSelectionPane=function(t){var e=n.Validators.selectionPaneValidator.validate(t);return e?e.map(E):void 0},e.validateSyncSlicersPane=function(t){var e=n.Validators.syncSlicersPaneValidator.validate(t);return e?e.map(E):void 0},e.validateVisualizationsPane=function(t){var e=n.Validators.visualizationsPaneValidator.validate(t);return e?e.map(E):void 0},e.validateCustomPageSize=function(t){var e=n.Validators.customPageSizeValidator.validate(t);return e?e.map(E):void 0},e.validateExtension=function(t){var e=n.Validators.extensionValidator.validate(t);return e?e.map(E):void 0},e.validateMenuGroupExtension=function(t){var e=n.Validators.menuGroupExtensionValidator.validate(t);return e?e.map(E):void 0},e.validateReportLoad=function(t){var e=n.Validators.reportLoadValidator.validate(t);return e?e.map(E):void 0},e.validatePaginatedReportLoad=function(t){var e=n.Validators.paginatedReportLoadValidator.validate(t);return e?e.map(E):void 0},e.validateCreateReport=function(t){var e=n.Validators.reportCreateValidator.validate(t);return e?e.map(E):void 0},e.validateDashboardLoad=function(t){var e=n.Validators.dashboardLoadValidator.validate(t);return e?e.map(E):void 0},e.validateTileLoad=function(t){var e=n.Validators.tileLoadValidator.validate(t);return e?e.map(E):void 0},e.validatePage=function(t){var e=n.Validators.pageValidator.validate(t);return e?e.map(E):void 0},e.validateFilter=function(t){var e=n.Validators.filterValidator.validate(t);return e?e.map(E):void 0},e.validateUpdateFiltersRequest=function(t){var e=n.Validators.updateFiltersRequestValidator.validate(t);return e?e.map(E):void 0},e.validateSaveAsParameters=function(t){var e=n.Validators.saveAsParametersValidator.validate(t);return e?e.map(E):void 0},e.validateLoadQnaConfiguration=function(t){var e=n.Validators.loadQnaValidator.validate(t);return e?e.map(E):void 0},e.validateQnaInterpretInputData=function(t){var e=n.Validators.qnaInterpretInputDataValidator.validate(t);return e?e.map(E):void 0},e.validateExportDataRequest=function(t){var e=n.Validators.exportDataRequestValidator.validate(t);return e?e.map(E):void 0},e.validateVisualHeader=function(t){var e=n.Validators.visualHeaderValidator.validate(t);return e?e.map(E):void 0},e.validateVisualSettings=function(t){var e=n.Validators.visualSettingsValidator.validate(t);return e?e.map(E):void 0},e.validateCommandsSettings=function(t){var e=n.Validators.commandsSettingsValidator.validate(t);return e?e.map(E):void 0},e.validateCustomTheme=function(t){var e=n.Validators.customThemeValidator.validate(t);return e?e.map(E):void 0}},function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.Validators=void 0;var i=r(2),a=r(5),o=r(6),n=r(7),l=r(8),s=r(9),u=r(10),d=r(11),c=r(12),p=r(13),f=r(14),h=r(15),v=r(16),y=r(17),m=r(18),V=r(19),g=r(20),b=r(21),w=r(22),P=r(23),_=r(24),O=r(25),S=r(26),T=r(27),F=r(28),E=r(29),R=r(4),x=r(30);e.Validators={addBookmarkRequestValidator:new a.AddBookmarkRequestValidator,advancedFilterTypeValidator:new R.EnumValidator([0]),advancedFilterValidator:new c.AdvancedFilterValidator,anyArrayValidator:new R.ArrayValidator([new S.AnyOfValidator([new R.StringValidator,new R.NumberValidator,new R.BooleanValidator])]),anyFilterValidator:new S.AnyOfValidator([new c.BasicFilterValidator,new c.AdvancedFilterValidator,new c.IncludeExcludeFilterValidator,new c.NotSupportedFilterValidator,new c.RelativeDateFilterValidator,new c.TopNFilterValidator,new c.RelativeTimeFilterValidator]),anyValueValidator:new S.AnyOfValidator([new R.StringValidator,new R.NumberValidator,new R.BooleanValidator]),actionBarValidator:new i.ActionBarValidator,applyBookmarkByNameRequestValidator:new a.ApplyBookmarkByNameRequestValidator,applyBookmarkStateRequestValidator:new a.ApplyBookmarkStateRequestValidator,applyBookmarkValidator:new S.AnyOfValidator([new a.ApplyBookmarkByNameRequestValidator,new a.ApplyBookmarkStateRequestValidator]),backgroundValidator:new R.EnumValidator([0,1]),basicFilterTypeValidator:new R.EnumValidator([1]),basicFilterValidator:new c.BasicFilterValidator,booleanArrayValidator:new R.BooleanArrayValidator,booleanValidator:new R.BooleanValidator,bookmarksPaneValidator:new h.BookmarksPaneValidator,captureBookmarkOptionsValidator:new a.CaptureBookmarkOptionsValidator,captureBookmarkRequestValidator:new a.CaptureBookmarkRequestValidator,commandDisplayOptionValidator:new R.EnumValidator([0,1,2]),commandExtensionSelectorValidator:new S.AnyOfValidator([new b.VisualSelectorValidator,new b.VisualTypeSelectorValidator]),commandExtensionArrayValidator:new R.ArrayValidator([new d.CommandExtensionValidator]),commandExtensionValidator:new d.CommandExtensionValidator,commandsSettingsArrayValidator:new R.ArrayValidator([new o.CommandsSettingsValidator]),commandsSettingsValidator:new o.CommandsSettingsValidator,conditionItemValidator:new c.ConditionItemValidator,contrastModeValidator:new R.EnumValidator([0,1,2,3,4]),customLayoutDisplayOptionValidator:new R.EnumValidator([0,1,2]),customLayoutValidator:new p.CustomLayoutValidator,customPageSizeValidator:new f.CustomPageSizeValidator,customThemeValidator:new n.CustomThemeValidator,dashboardLoadValidator:new l.DashboardLoadValidator,datasetBindingValidator:new s.DatasetBindingValidator,displayStateModeValidator:new R.EnumValidator([0,1]),displayStateValidator:new p.DisplayStateValidator,exportDataRequestValidator:new u.ExportDataRequestValidator,extensionArrayValidator:new R.ArrayValidator([new d.ExtensionValidator]),extensionsValidator:new S.AnyOfValidator([new R.ArrayValidator([new d.ExtensionValidator]),new d.ExtensionsValidator]),extensionPointsValidator:new d.ExtensionPointsValidator,extensionValidator:new d.ExtensionValidator,fieldForbiddenValidator:new T.FieldForbiddenValidator,fieldRequiredValidator:new F.FieldRequiredValidator,fieldsPaneValidator:new h.FieldsPaneValidator,filterColumnTargetValidator:new c.FilterColumnTargetValidator,filterDisplaySettingsValidator:new c.FilterDisplaySettingsValidator,filterConditionsValidator:new R.ArrayValidator([new c.ConditionItemValidator]),filterHierarchyTargetValidator:new c.FilterHierarchyTargetValidator,filterMeasureTargetValidator:new c.FilterMeasureTargetValidator,filterTargetValidator:new S.AnyOfValidator([new c.FilterColumnTargetValidator,new c.FilterHierarchyTargetValidator,new c.FilterMeasureTargetValidator]),filterValidator:new c.FilterValidator,filterTypeValidator:new R.EnumValidator([0,1,2,3,4,5,6,7]),filtersArrayValidator:new R.ArrayValidator([new c.FilterValidator]),filtersOperationsUpdateValidator:new R.EnumValidator([1,2,3]),filtersOperationsRemoveAllValidator:new R.EnumValidator([0]),filtersPaneValidator:new h.FiltersPaneValidator,hyperlinkClickBehaviorValidator:new R.EnumValidator([0,1,2]),includeExcludeFilterValidator:new c.IncludeExcludeFilterValidator,includeExludeFilterTypeValidator:new R.EnumValidator([3]),layoutTypeValidator:new R.EnumValidator([0,1,2,3]),loadQnaValidator:new v.LoadQnaValidator,menuExtensionValidator:new S.AnyOfValidator([new d.FlatMenuExtensionValidator,new d.GroupedMenuExtensionValidator]),menuGroupExtensionArrayValidator:new R.ArrayValidator([new d.MenuGroupExtensionValidator]),menuGroupExtensionValidator:new d.MenuGroupExtensionValidator,menuLocationValidator:new R.EnumValidator([0,1]),notSupportedFilterTypeValidator:new R.EnumValidator([2]),notSupportedFilterValidator:new c.NotSupportedFilterValidator,numberArrayValidator:new R.NumberArrayValidator,numberValidator:new R.NumberValidator,onLoadFiltersBaseValidator:new S.AnyOfValidator([new c.OnLoadFiltersBaseValidator,new c.OnLoadFiltersBaseRemoveOperationValidator]),pageLayoutValidator:new E.MapValidator([new R.StringValidator],[new p.VisualLayoutValidator]),pageNavigationPaneValidator:new h.PageNavigationPaneValidator,pageNavigationPositionValidator:new R.EnumValidator([0,1]),pageSizeTypeValidator:new R.EnumValidator([0,1,2,3,4,5]),pageSizeValidator:new f.PageSizeValidator,pageValidator:new f.PageValidator,pageViewFieldValidator:new f.PageViewFieldValidator,pagesLayoutValidator:new E.MapValidator([new R.StringValidator],[new p.PageLayoutValidator]),paginatedReportCommandsValidator:new o.PaginatedReportCommandsValidator,paginatedReportLoadValidator:new V.PaginatedReportLoadValidator,paginatedReportsettingsValidator:new w.PaginatedReportSettingsValidator,parametersPanelValidator:new x.ParametersPanelValidator,permissionsValidator:new R.EnumValidator([0,1,2,4,7]),playBookmarkRequestValidator:new a.PlayBookmarkRequestValidator,qnaInterpretInputDataValidator:new v.QnaInterpretInputDataValidator,qnaPanesValidator:new h.QnaPanesValidator,qnaSettingValidator:new v.QnaSettingsValidator,relativeDateFilterOperatorValidator:new R.EnumValidator([0,1,2]),relativeDateFilterTimeUnitTypeValidator:new R.EnumValidator([0,1,2,3,4,5,6]),relativeDateFilterTypeValidator:new R.EnumValidator([4]),relativeDateFilterValidator:new c.RelativeDateFilterValidator,relativeDateTimeFilterTypeValidator:new R.EnumValidator([4,7]),relativeDateTimeFilterUnitTypeValidator:new R.EnumValidator([0,1,2,3,4,5,6,7,8]),relativeTimeFilterTimeUnitTypeValidator:new R.EnumValidator([7,8]),relativeTimeFilterTypeValidator:new R.EnumValidator([7]),relativeTimeFilterValidator:new c.RelativeTimeFilterValidator,reportBarsValidator:new i.ReportBarsValidator,reportCreateValidator:new y.ReportCreateValidator,reportLoadFiltersValidator:new S.AnyOfValidator([new R.ArrayValidator([new c.FilterValidator]),new c.OnLoadFiltersValidator]),reportLoadValidator:new m.ReportLoadValidator,reportPanesValidator:new h.ReportPanesValidator,saveAsParametersValidator:new g.SaveAsParametersValidator,selectionPaneValidator:new h.SelectionPaneValidator,settingsValidator:new w.SettingsValidator,singleCommandSettingsValidator:new o.SingleCommandSettingsValidator,slicerSelectorValidator:new S.AnyOfValidator([new b.VisualSelectorValidator,new b.SlicerTargetSelectorValidator]),slicerStateValidator:new P.SlicerStateValidator,slicerTargetValidator:new S.AnyOfValidator([new c.FilterColumnTargetValidator,new c.FilterHierarchyTargetValidator,new c.FilterMeasureTargetValidator,new c.FilterKeyColumnsTargetValidator,new c.FilterKeyHierarchyTargetValidator]),slicerValidator:new P.SlicerValidator,stringArrayValidator:new R.StringArrayValidator,stringValidator:new R.StringValidator,syncSlicersPaneValidator:new h.SyncSlicersPaneValidator,tileLoadValidator:new _.TileLoadValidator,tokenTypeValidator:new R.EnumValidator([0,1]),topNFilterTypeValidator:new R.EnumValidator([5]),topNFilterValidator:new c.TopNFilterValidator,updateFiltersRequestValidator:new S.AnyOfValidator([new c.UpdateFiltersRequestValidator,new c.RemoveFiltersRequestValidator]),viewModeValidator:new R.EnumValidator([0,1]),visualCommandSelectorValidator:new S.AnyOfValidator([new b.VisualSelectorValidator,new b.VisualTypeSelectorValidator]),visualHeaderSelectorValidator:new S.AnyOfValidator([new b.VisualSelectorValidator,new b.VisualTypeSelectorValidator]),visualHeaderSettingsValidator:new O.VisualHeaderSettingsValidator,visualHeaderValidator:new O.VisualHeaderValidator,visualHeadersValidator:new R.ArrayValidator([new O.VisualHeaderValidator]),visualizationsPaneValidator:new h.VisualizationsPaneValidator,visualLayoutValidator:new p.VisualLayoutValidator,visualSelectorValidator:new b.VisualSelectorValidator,visualSettingsValidator:new O.VisualSettingsValidator,visualTypeSelectorValidator:new b.VisualTypeSelectorValidator}},function(t,e,r){var i,a=this&&this.__extends||(i=function(t,e){return(i=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])})(t,e)},function(t,e){function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.ActionBarValidator=e.ReportBarsValidator=void 0;var o=r(3),n=r(4),l=r(1),s=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return a(e,t),e.prototype.validate=function(e,r,i){if(null==e)return null;var a=t.prototype.validate.call(this,e,r,i);if(a)return a;var n=[{field:"actionBar",validators:[l.Validators.actionBarValidator]}];return new o.MultipleFieldsValidator(n).validate(e,r,i)},e}(n.ObjectValidator);e.ReportBarsValidator=s;var u=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return a(e,t),e.prototype.validate=function(e,r,i){if(null==e)return null;var a=t.prototype.validate.call(this,e,r,i);if(a)return a;var n=[{field:"visible",validators:[l.Validators.booleanValidator]}];return new o.MultipleFieldsValidator(n).validate(e,r,i)},e}(n.ObjectValidator);e.ActionBarValidator=u},function(t,e){Object.defineProperty(e,"__esModule",{value:!0}),e.MultipleFieldsValidator=void 0;var r=function(){function t(t){this.fieldValidatorsPairs=t}return t.prototype.validate=function(t,e,r){if(!this.fieldValidatorsPairs)return null;for(var i=e?e+"."+r:r,a=0,o=this.fieldValidatorsPairs;a0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0?"&":"?";return t+=i+e+"="+r},e.isSavedInternal=function(t,e,a){return r(this,void 0,void 0,(function(){return i(this,(function(r){switch(r.label){case 0:return r.trys.push([0,2,,3]),[4,t.get("/report/hasUnsavedChanges",{uid:e},a)];case 1:return[2,!r.sent().body];case 2:throw r.sent().body;case 3:return[2]}}))}))},e.isRDLEmbed=function(t){return t&&t.toLowerCase().indexOf("/rdlembed?")>=0},e.autoAuthInEmbedUrl=function(t){return t&&decodeURIComponent(t).toLowerCase().indexOf("autoauth=true")>=0},e.getRandomValue=o,e.getTimeDiffInMilliseconds=function(t,e){return Math.abs(t.getTime()-e.getTime())}},function(t,e){Object.defineProperty(e,"__esModule",{value:!0}),e.FilterBuilder=void 0;var r=function(){function t(){}return t.prototype.withTargetObject=function(t){return this.target=t,this},t.prototype.withColumnTarget=function(t,e){return this.target={table:t,column:e},this},t.prototype.withMeasureTarget=function(t,e){return this.target={table:t,measure:e},this},t.prototype.withHierarchyLevelTarget=function(t,e,r){return this.target={table:t,hierarchy:e,hierarchyLevel:r},this},t.prototype.withColumnAggregation=function(t,e,r){return this.target={table:t,column:e,aggregationFunction:r},this},t.prototype.withHierarchyLevelAggregationTarget=function(t,e,r,i){return this.target={table:t,hierarchy:e,hierarchyLevel:r,aggregationFunction:i},this},t}();e.FilterBuilder=r},function(t,e){Object.defineProperty(e,"__esModule",{value:!0}),e.EmbedUrlNotSupported=e.APINotSupportedForRDLError=void 0,e.APINotSupportedForRDLError="This API is currently not supported for RDL reports",e.EmbedUrlNotSupported="Embed URL is invalid for this scenario. Please use Power BI REST APIs to get the valid URL"},function(t,e,r){var i,a=this&&this.__extends||(i=function(t,e){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])})(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}),o=this&&this.__awaiter||function(t,e,r,i){return new(r||(r=Promise))((function(a,o){function n(t){try{s(i.next(t))}catch(t){o(t)}}function l(t){try{s(i.throw(t))}catch(t){o(t)}}function s(t){var e;t.done?a(t.value):(e=t.value,e instanceof r?e:new r((function(t){t(e)}))).then(n,l)}s((i=i.apply(t,e||[])).next())}))},n=this&&this.__generator||function(t,e){var r,i,a,o,n={label:0,sent:function(){if(1&a[0])throw a[1];return a[1]},trys:[],ops:[]};return o={next:l(0),throw:l(1),return:l(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function l(o){return function(l){return function(o){if(r)throw new TypeError("Generator is already executing.");for(;n;)try{if(r=1,i&&(a=2&o[0]?i.return:o[0]?i.throw||((a=i.return)&&a.call(i),0):i.next)&&!(a=a.call(i,o[1])).done)return a;switch(i=0,a&&(o=[2&o[0],a.value]),o[0]){case 0:case 1:a=o;break;case 4:return n.label++,{value:o[1],done:!1};case 5:n.label++,i=o[1],o=[0];continue;case 7:o=n.ops.pop(),n.trys.pop();continue;default:if(!(a=n.trys,(a=a.length>0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]('/report/pages', { uid: this.config.uniqueId }, this.iframe.contentWindow); return response.body - .map((page) => new Page(this, page.name, page.displayName, page.isActive, page.visibility, page.defaultSize, page.defaultDisplayOption)); + .map((page) => new Page(this, page.name, page.displayName, page.isActive, page.visibility, page.defaultSize, page.defaultDisplayOption, page.mobileSize)); } catch (response) { throw response.body; } @@ -382,7 +382,8 @@ export class Report extends Embed implements IReportNode, IFilterable { page.isActive, page.visibility, page.defaultSize, - page.defaultDisplayOption + page.defaultDisplayOption, + page.mobileSize ); } catch (response) { throw response.body; @@ -416,7 +417,8 @@ export class Report extends Embed implements IReportNode, IFilterable { activePage.isActive, activePage.visibility, activePage.defaultSize, - activePage.defaultDisplayOption + activePage.defaultDisplayOption, + activePage.mobileSize ); } catch (response) { throw response.body; From 2a689943d471ad6a07afd6008796f48720fe1dff Mon Sep 17 00:00:00 2001 From: Shahak Yosef Date: Thu, 29 Jul 2021 11:19:36 +0000 Subject: [PATCH 072/125] Merged PR 178588: Side channel JS SDK From the end user's perspective, they will need to provide a third parameter to `powerbi.embed()` request. The new input may be extended in the future to support other event hooks. ```javascript powerbi.embed(..., config, { preQueryCallback: provideContext }) ``` The code in `service.ts` is similar to the event listeners we set in the [constructor](https://powerbi.visualstudio.com/Embedded/_git/powerbi-javascript?path=%2Fsrc%2Fservice.ts&version=GBmaster&line=168&lineEnd=168&lineStartColumn=5&lineEndColumn=21&lineStyle=plain&_a=contents) --- .gitignore | 1 + .vscode/settings.json | 6 --- .vscode/tasks.json | 29 ------------- dist/powerbi-client.d.ts | 6 ++- dist/powerbi.js | 89 +++++++++++++++++++++++++++++++++++++--- dist/powerbi.min.js | 4 +- package.json | 4 +- src/config.ts | 2 +- src/embed.ts | 15 +++++-- src/service.ts | 26 ++++++++++++ 10 files changed, 131 insertions(+), 51 deletions(-) delete mode 100644 .vscode/settings.json delete mode 100644 .vscode/tasks.json diff --git a/.gitignore b/.gitignore index 640fe628..75dcda63 100644 --- a/.gitignore +++ b/.gitignore @@ -9,3 +9,4 @@ dist/powerbi.js.map *.js.map package-lock.json demo/package-lock.json +.vscode diff --git a/.vscode/settings.json b/.vscode/settings.json deleted file mode 100644 index 4479811e..00000000 --- a/.vscode/settings.json +++ /dev/null @@ -1,6 +0,0 @@ -// Place your settings in this file to overwrite default and user settings. -{ - "editor.tabSize": 2, - "editor.insertSpaces": true, - "editor.detectIndentation": false -} \ No newline at end of file diff --git a/.vscode/tasks.json b/.vscode/tasks.json deleted file mode 100644 index a7b839de..00000000 --- a/.vscode/tasks.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - // See https://go.microsoft.com/fwlink/?LinkId=733558 - // for the documentation about the tasks.json format - "version": "0.1.0", - "command": "npm", - "isShellCommand": true, - "showOutput": "always", - "suppressTaskName": true, - "tasks": [ - { - "taskName": "build", - "args": [ - "run", - "build" - ], - "isBuildCommand": true - }, - { - "taskName": "test", - "args": [ - "run", - "test", - "--", - "--chrome" - ], - "isTestCommand": true - } - ] -} \ No newline at end of file diff --git a/dist/powerbi-client.d.ts b/dist/powerbi-client.d.ts index c3390095..1926be6a 100644 --- a/dist/powerbi-client.d.ts +++ b/dist/powerbi-client.d.ts @@ -1,4 +1,4 @@ -// powerbi-client v2.18.3 +// powerbi-client v2.18.4 // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. declare module "config" { @@ -2127,6 +2127,10 @@ declare module "service" { * @hidden */ private embedExisting; + /** + * @hidden + */ + private registerApplicationContextHook; /** * Adds an event handler for DOMContentLoaded, which searches the DOM for elements that have the 'powerbi-embed-url' attribute, * and automatically attempts to embed a powerbi component based on information from other powerbi-* attributes. diff --git a/dist/powerbi.js b/dist/powerbi.js index 17ffbf11..2b6e0d56 100644 --- a/dist/powerbi.js +++ b/dist/powerbi.js @@ -1,4 +1,4 @@ -// powerbi-client v2.18.3 +// powerbi-client v2.18.4 // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. (function webpackUniversalModuleDefinition(root, factory) { @@ -290,7 +290,7 @@ return /******/ (function(modules) { // webpackBootstrap /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { -// powerbi-models v1.9.2 +// powerbi-models v1.9.3 // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. (function webpackUniversalModuleDefinition(root, factory) { @@ -7128,7 +7128,7 @@ exports.BookmarksManager = BookmarksManager; Object.defineProperty(exports, "__esModule", { value: true }); /** @ignore */ /** */ var config = { - version: '2.18.3', + version: '2.18.4', type: 'js' }; exports.default = config; @@ -7519,6 +7519,7 @@ var Embed = /** @class */ (function () { * @hidden */ function Embed(service, element, config, iframe, phasedRender, isBootstrap) { + var _a; /** @hidden */ this.allowedEvents = []; if (util_1.autoAuthInEmbedUrl(config.embedUrl)) { @@ -7533,12 +7534,14 @@ var Embed = /** @class */ (function () { this.embedtype = config.type.toLowerCase(); this.commands = []; this.groups = []; + var registerQueryCallback = !!((_a = config.eventHooks) === null || _a === void 0 ? void 0 : _a.applicationContextProvider); + delete config.eventHooks; this.populateConfig(config, isBootstrap); if (this.embedtype === 'create') { - this.setIframe(false /* set EventListener to call create() on 'load' event*/, phasedRender, isBootstrap); + this.setIframe(false /* set EventListener to call create() on 'load' event*/, phasedRender, isBootstrap, registerQueryCallback); } else { - this.setIframe(true /* set EventListener to call load() on 'load' event*/, phasedRender, isBootstrap); + this.setIframe(true /* set EventListener to call load() on 'load' event*/, phasedRender, isBootstrap, registerQueryCallback); } } /** @@ -8012,11 +8015,13 @@ var Embed = /** @class */ (function () { * * @hidden */ - Embed.prototype.setIframe = function (isLoad, phasedRender, isBootstrap) { + Embed.prototype.setIframe = function (isLoad, phasedRender, isBootstrap, registerQueryCallback) { var _this = this; if (!this.iframe) { var iframeContent = document.createElement("iframe"); var embedUrl = this.config.uniqueId ? util_1.addParamToUrl(this.config.embedUrl, 'uid', this.config.uniqueId) : this.config.embedUrl; + if (!isBootstrap && registerQueryCallback) + embedUrl = util_1.addParamToUrl(embedUrl, "registerQueryCallback", "true"); iframeContent.style.width = '100%'; iframeContent.style.height = '100%'; iframeContent.setAttribute("src", embedUrl); @@ -10363,6 +10368,42 @@ exports.Report = Report; // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. +var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { + function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } + return new (P || (P = Promise))(function (resolve, reject) { + function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } + function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } + function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } + step((generator = generator.apply(thisArg, _arguments || [])).next()); + }); +}; +var __generator = (this && this.__generator) || function (thisArg, body) { + var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g; + return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g; + function verb(n) { return function (v) { return step([n, v]); }; } + function step(op) { + if (f) throw new TypeError("Generator is already executing."); + while (_) try { + if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t; + if (y = 0, t) op = [op[0] & 2, t.value]; + switch (op[0]) { + case 0: case 1: t = op; break; + case 4: _.label++; return { value: op[1], done: false }; + case 5: _.label++; y = op[1]; op = [0]; continue; + case 7: op = _.ops.pop(); _.trys.pop(); continue; + default: + if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; } + if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; } + if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; } + if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; } + if (t[2]) _.ops.pop(); + _.trys.pop(); continue; + } + op = body.call(thisArg, _); + } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; } + if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true }; + } +}; Object.defineProperty(exports, "__esModule", { value: true }); exports.Service = void 0; var embed_1 = __webpack_require__(/*! ./embed */ "./src/embed.ts"); @@ -10518,6 +10559,7 @@ var Service = /** @class */ (function () { */ Service.prototype.embed = function (element, config) { if (config === void 0) { config = {}; } + this.registerApplicationContextHook(config); return this.embedInternal(element, config); }; /** @@ -10532,6 +10574,7 @@ var Service = /** @class */ (function () { */ Service.prototype.load = function (element, config) { if (config === void 0) { config = {}; } + this.registerApplicationContextHook(config); return this.embedInternal(element, config, /* phasedRender */ true, /* isBootstrap */ false); }; /** @@ -10636,6 +10679,40 @@ var Service = /** @class */ (function () { component.load(phasedRender); return component; }; + /** + * @hidden + */ + Service.prototype.registerApplicationContextHook = function (config) { + var _this = this; + var _a; + var applicationContextProvider = (_a = config === null || config === void 0 ? void 0 : config.eventHooks) === null || _a === void 0 ? void 0 : _a.applicationContextProvider; + if (!applicationContextProvider) { + return; + } + if (typeof applicationContextProvider !== 'function') { + throw new Error("applicationContextProvider must be a function"); + } + this.router.post("preQuery", function (req, _res) { return __awaiter(_this, void 0, void 0, function () { + var result, error_1; + return __generator(this, function (_a) { + switch (_a.label) { + case 0: + _a.trys.push([0, 2, , 3]); + return [4 /*yield*/, applicationContextProvider(req.body)]; + case 1: + result = _a.sent(); + _res.send(200, result); + return [3 /*break*/, 3]; + case 2: + error_1 = _a.sent(); + _res.send(400, null); + console.error(error_1); + return [3 /*break*/, 3]; + case 3: return [2 /*return*/]; + } + }); + }); }); + }; /** * Adds an event handler for DOMContentLoaded, which searches the DOM for elements that have the 'powerbi-embed-url' attribute, * and automatically attempts to embed a powerbi component based on information from other powerbi-* attributes. diff --git a/dist/powerbi.min.js b/dist/powerbi.min.js index d65e9d60..34c6fbb2 100644 --- a/dist/powerbi.min.js +++ b/dist/powerbi.min.js @@ -1,7 +1,7 @@ -// powerbi-client v2.18.3 +// powerbi-client v2.18.4 // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. -!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){var e={};function r(i){if(e[i])return e[i].exports;var a=e[i]={i:i,l:!1,exports:{}};return t[i].call(a.exports,a,a.exports,r),a.l=!0,a.exports}return r.m=t,r.c=e,r.d=function(t,e,i){r.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:i})},r.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},r.t=function(t,e){if(1&e&&(t=r(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var i=Object.create(null);if(r.r(i),Object.defineProperty(i,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var a in t)r.d(i,a,function(e){return t[e]}.bind(null,a));return i},r.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return r.d(e,"a",e),e},r.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},r.p="",r(r.s=13)}([function(t,e,r){var i;i=function(){return function(t){var e={};function r(i){if(e[i])return e[i].exports;var a=e[i]={i:i,l:!1,exports:{}};return t[i].call(a.exports,a,a.exports,r),a.l=!0,a.exports}return r.m=t,r.c=e,r.d=function(t,e,i){r.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:i})},r.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},r.t=function(t,e){if(1&e&&(t=r(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var i=Object.create(null);if(r.r(i),Object.defineProperty(i,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var a in t)r.d(i,a,function(e){return t[e]}.bind(null,a));return i},r.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return r.d(e,"a",e),e},r.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},r.p="",r(r.s=0)}([function(t,e,r){var i,a=this&&this.__extends||(i=function(t,e){return(i=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])})(t,e)},function(t,e){function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.validateCustomTheme=e.validateCommandsSettings=e.validateVisualSettings=e.validateVisualHeader=e.validateExportDataRequest=e.validateQnaInterpretInputData=e.validateLoadQnaConfiguration=e.validateSaveAsParameters=e.validateUpdateFiltersRequest=e.validateFilter=e.validatePage=e.validateTileLoad=e.validateDashboardLoad=e.validateCreateReport=e.validatePaginatedReportLoad=e.validateReportLoad=e.validateMenuGroupExtension=e.validateExtension=e.validateCustomPageSize=e.validateVisualizationsPane=e.validateSyncSlicersPane=e.validateSelectionPane=e.validatePageNavigationPane=e.validateFieldsPane=e.validateFiltersPane=e.validateBookmarksPane=e.validatePanes=e.validateSettings=e.validateCaptureBookmarkRequest=e.validateApplyBookmarkStateRequest=e.validateApplyBookmarkByNameRequest=e.validateAddBookmarkRequest=e.validatePlayBookmarkRequest=e.validateSlicerState=e.validateSlicer=e.validateVisualSelector=e.isIExtensionArray=e.isIExtensions=e.isGroupedMenuExtension=e.isFlatMenuExtension=e.isReportFiltersArray=e.isOnLoadFilters=e.VisualDataRoleKindPreference=e.VisualDataRoleKind=e.CommandDisplayOption=e.SlicerTargetSelector=e.VisualTypeSelector=e.VisualSelector=e.PageSelector=e.Selector=e.SortDirection=e.LegendPosition=e.TextAlignment=e.CommonErrorCodes=e.BookmarksPlayMode=e.ExportDataType=e.QnaMode=e.PageNavigationPosition=e.isColumnAggr=e.isHierarchyLevelAggr=e.isHierarchyLevel=e.isColumn=e.isMeasure=e.getFilterType=e.isBasicFilterWithKeys=e.isFilterKeyColumnsTarget=e.AdvancedFilter=e.TupleFilter=e.IdentityFilter=e.BasicFilterWithKeys=e.BasicFilter=e.RelativeTimeFilter=e.RelativeDateFilter=e.TopNFilter=e.IncludeExcludeFilter=e.NotSupportedFilter=e.Filter=e.RelativeDateOperators=e.RelativeDateFilterTimeUnit=e.FilterType=e.FiltersLevel=e.FiltersOperations=e.MenuLocation=e.ContrastMode=e.TokenType=e.ViewMode=e.Permissions=e.SectionVisibility=e.HyperlinkClickBehavior=e.LayoutType=e.VisualContainerDisplayMode=e.BackgroundType=e.DisplayOption=e.PageSizeType=e.TraceType=void 0;var o,n=r(1);!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"}(e.TraceType||(e.TraceType={})),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",t[t.Mobile=5]="Mobile"}(e.PageSizeType||(e.PageSizeType={})),function(t){t[t.FitToPage=0]="FitToPage",t[t.FitToWidth=1]="FitToWidth",t[t.ActualSize=2]="ActualSize"}(e.DisplayOption||(e.DisplayOption={})),function(t){t[t.Default=0]="Default",t[t.Transparent=1]="Transparent"}(e.BackgroundType||(e.BackgroundType={})),function(t){t[t.Visible=0]="Visible",t[t.Hidden=1]="Hidden"}(e.VisualContainerDisplayMode||(e.VisualContainerDisplayMode={})),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={})),function(t){t[t.Navigate=0]="Navigate",t[t.NavigateAndRaiseEvent=1]="NavigateAndRaiseEvent",t[t.RaiseEvent=2]="RaiseEvent"}(e.HyperlinkClickBehavior||(e.HyperlinkClickBehavior={})),function(t){t[t.AlwaysVisible=0]="AlwaysVisible",t[t.HiddenInViewMode=1]="HiddenInViewMode"}(e.SectionVisibility||(e.SectionVisibility={})),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"}(e.Permissions||(e.Permissions={})),function(t){t[t.View=0]="View",t[t.Edit=1]="Edit"}(e.ViewMode||(e.ViewMode={})),function(t){t[t.Aad=0]="Aad",t[t.Embed=1]="Embed"}(e.TokenType||(e.TokenType={})),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"}(e.ContrastMode||(e.ContrastMode={})),function(t){t[t.Bottom=0]="Bottom",t[t.Top=1]="Top"}(e.MenuLocation||(e.MenuLocation={})),function(t){t[t.RemoveAll=0]="RemoveAll",t[t.ReplaceAll=1]="ReplaceAll",t[t.Add=2]="Add",t[t.Replace=3]="Replace"}(e.FiltersOperations||(e.FiltersOperations={})),function(t){t[t.Report=0]="Report",t[t.Page=1]="Page",t[t.Visual=2]="Visual"}(e.FiltersLevel||(e.FiltersLevel={})),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",t[t.Identity=8]="Identity"}(o=e.FilterType||(e.FilterType={})),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"}(e.RelativeDateFilterTimeUnit||(e.RelativeDateFilterTimeUnit={})),function(t){t[t.InLast=0]="InLast",t[t.InThis=1]="InThis",t[t.InNext=2]="InNext"}(e.RelativeDateOperators||(e.RelativeDateOperators={}));var l=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=l;var s=function(t){function e(r,i,a){var n=t.call(this,r,o.Unknown)||this;return n.message=i,n.notSupportedTypeName=a,n.schemaUrl=e.schemaUrl,n}return a(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}(l);e.NotSupportedFilter=s;var u=function(t){function e(r,i,a){var n=t.call(this,r,o.IncludeExclude)||this;return n.values=a,n.isExclude=i,n.schemaUrl=e.schemaUrl,n}return a(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}(l);e.IncludeExcludeFilter=u;var d=function(t){function e(r,i,a,n){var l=t.call(this,r,o.TopN)||this;return l.operator=i,l.itemCount=a,l.schemaUrl=e.schemaUrl,l.orderBy=n,l}return a(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}(l);e.TopNFilter=d;var c=function(t){function e(r,i,a,n,l){var s=t.call(this,r,o.RelativeDate)||this;return s.operator=i,s.timeUnitsCount=a,s.timeUnitType=n,s.includeToday=l,s.schemaUrl=e.schemaUrl,s}return a(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}(l);e.RelativeDateFilter=c;var p=function(t){function e(r,i,a,n){var l=t.call(this,r,o.RelativeTime)||this;return l.operator=i,l.timeUnitsCount=a,l.timeUnitType=n,l.schemaUrl=e.schemaUrl,l}return a(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}(l);e.RelativeTimeFilter=p;var f=function(t){function e(r,i){for(var a=[],n=2;n0&&!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,s=o.keyValues;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 s.conditions=l,s}return a(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}(l);function V(t){if(t.filterType)return t.filterType;var e=t,r=t;return"string"==typeof e.operator&&Array.isArray(e.values)?o.Basic:"string"==typeof r.logicalOperator&&Array.isArray(r.conditions)?o.Advanced:o.Unknown}function g(t){return!(!t.table||!t.column||t.aggregationFunction)}e.AdvancedFilter=m,e.isFilterKeyColumnsTarget=function(t){return g(t)&&!!t.keys},e.isBasicFilterWithKeys=function(t){return V(t)===o.Basic&&!!t.keyValues},e.getFilterType=V,e.isMeasure=function(t){return void 0!==t.table&&void 0!==t.measure},e.isColumn=g,e.isHierarchyLevel=function(t){return!(!(t.table&&t.hierarchy&&t.hierarchyLevel)||t.aggregationFunction)},e.isHierarchyLevelAggr=function(t){return!!(t.table&&t.hierarchy&&t.hierarchyLevel&&t.aggregationFunction)},e.isColumnAggr=function(t){return!!(t.table&&t.column&&t.aggregationFunction)},function(t){t[t.Bottom=0]="Bottom",t[t.Left=1]="Left"}(e.PageNavigationPosition||(e.PageNavigationPosition={})),function(t){t[t.Interactive=0]="Interactive",t[t.ResultOnly=1]="ResultOnly"}(e.QnaMode||(e.QnaMode={})),function(t){t[t.Summarized=0]="Summarized",t[t.Underlying=1]="Underlying"}(e.ExportDataType||(e.ExportDataType={})),function(t){t[t.Off=0]="Off",t[t.Presentation=1]="Presentation"}(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"},function(t){t[t.Ascending=1]="Ascending",t[t.Descending=2]="Descending"}(e.SortDirection||(e.SortDirection={}));var b=function(){function t(t){this.$schema=t}return t.prototype.toJSON=function(){return{$schema:this.$schema}},t}();e.Selector=b;var w=function(t){function e(r){var i=t.call(this,e.schemaUrl)||this;return i.pageName=r,i}return a(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}(b);e.PageSelector=w;var P=function(t){function e(r){var i=t.call(this,e.schemaUrl)||this;return i.visualName=r,i}return a(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}(b);e.VisualSelector=P;var _=function(t){function e(e){var r=t.call(this,P.schemaUrl)||this;return r.visualType=e,r}return a(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}(b);e.VisualTypeSelector=_;var O=function(t){function e(e){var r=t.call(this,P.schemaUrl)||this;return r.target=e,r}return a(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}(b);function S(t){return Array.isArray(t)}function T(t){return t&&!!t.groupName}function F(t){return Array.isArray(t)}function E(t){var e=t.message;return e||(e=t.path+" is invalid. Not meeting "+t.keyword+" constraint"),{message:e}}e.SlicerTargetSelector=O,function(t){t[t.Enabled=0]="Enabled",t[t.Disabled=1]="Disabled",t[t.Hidden=2]="Hidden"}(e.CommandDisplayOption||(e.CommandDisplayOption={})),function(t){t[t.Grouping=0]="Grouping",t[t.Measure=1]="Measure",t[t.GroupingOrMeasure=2]="GroupingOrMeasure"}(e.VisualDataRoleKind||(e.VisualDataRoleKind={})),function(t){t[t.Measure=0]="Measure",t[t.Grouping=1]="Grouping"}(e.VisualDataRoleKindPreference||(e.VisualDataRoleKindPreference={})),e.isOnLoadFilters=function(t){return t&&!S(t)},e.isReportFiltersArray=S,e.isFlatMenuExtension=function(t){return t&&!T(t)},e.isGroupedMenuExtension=T,e.isIExtensions=function(t){return t&&!F(t)},e.isIExtensionArray=F,e.validateVisualSelector=function(t){var e=n.Validators.visualSelectorValidator.validate(t);return e?e.map(E):void 0},e.validateSlicer=function(t){var e=n.Validators.slicerValidator.validate(t);return e?e.map(E):void 0},e.validateSlicerState=function(t){var e=n.Validators.slicerStateValidator.validate(t);return e?e.map(E):void 0},e.validatePlayBookmarkRequest=function(t){var e=n.Validators.playBookmarkRequestValidator.validate(t);return e?e.map(E):void 0},e.validateAddBookmarkRequest=function(t){var e=n.Validators.addBookmarkRequestValidator.validate(t);return e?e.map(E):void 0},e.validateApplyBookmarkByNameRequest=function(t){var e=n.Validators.applyBookmarkByNameRequestValidator.validate(t);return e?e.map(E):void 0},e.validateApplyBookmarkStateRequest=function(t){var e=n.Validators.applyBookmarkStateRequestValidator.validate(t);return e?e.map(E):void 0},e.validateCaptureBookmarkRequest=function(t){var e=n.Validators.captureBookmarkRequestValidator.validate(t);return e?e.map(E):void 0},e.validateSettings=function(t){var e=n.Validators.settingsValidator.validate(t);return e?e.map(E):void 0},e.validatePanes=function(t){var e=n.Validators.reportPanesValidator.validate(t);return e?e.map(E):void 0},e.validateBookmarksPane=function(t){var e=n.Validators.bookmarksPaneValidator.validate(t);return e?e.map(E):void 0},e.validateFiltersPane=function(t){var e=n.Validators.filtersPaneValidator.validate(t);return e?e.map(E):void 0},e.validateFieldsPane=function(t){var e=n.Validators.fieldsPaneValidator.validate(t);return e?e.map(E):void 0},e.validatePageNavigationPane=function(t){var e=n.Validators.pageNavigationPaneValidator.validate(t);return e?e.map(E):void 0},e.validateSelectionPane=function(t){var e=n.Validators.selectionPaneValidator.validate(t);return e?e.map(E):void 0},e.validateSyncSlicersPane=function(t){var e=n.Validators.syncSlicersPaneValidator.validate(t);return e?e.map(E):void 0},e.validateVisualizationsPane=function(t){var e=n.Validators.visualizationsPaneValidator.validate(t);return e?e.map(E):void 0},e.validateCustomPageSize=function(t){var e=n.Validators.customPageSizeValidator.validate(t);return e?e.map(E):void 0},e.validateExtension=function(t){var e=n.Validators.extensionValidator.validate(t);return e?e.map(E):void 0},e.validateMenuGroupExtension=function(t){var e=n.Validators.menuGroupExtensionValidator.validate(t);return e?e.map(E):void 0},e.validateReportLoad=function(t){var e=n.Validators.reportLoadValidator.validate(t);return e?e.map(E):void 0},e.validatePaginatedReportLoad=function(t){var e=n.Validators.paginatedReportLoadValidator.validate(t);return e?e.map(E):void 0},e.validateCreateReport=function(t){var e=n.Validators.reportCreateValidator.validate(t);return e?e.map(E):void 0},e.validateDashboardLoad=function(t){var e=n.Validators.dashboardLoadValidator.validate(t);return e?e.map(E):void 0},e.validateTileLoad=function(t){var e=n.Validators.tileLoadValidator.validate(t);return e?e.map(E):void 0},e.validatePage=function(t){var e=n.Validators.pageValidator.validate(t);return e?e.map(E):void 0},e.validateFilter=function(t){var e=n.Validators.filterValidator.validate(t);return e?e.map(E):void 0},e.validateUpdateFiltersRequest=function(t){var e=n.Validators.updateFiltersRequestValidator.validate(t);return e?e.map(E):void 0},e.validateSaveAsParameters=function(t){var e=n.Validators.saveAsParametersValidator.validate(t);return e?e.map(E):void 0},e.validateLoadQnaConfiguration=function(t){var e=n.Validators.loadQnaValidator.validate(t);return e?e.map(E):void 0},e.validateQnaInterpretInputData=function(t){var e=n.Validators.qnaInterpretInputDataValidator.validate(t);return e?e.map(E):void 0},e.validateExportDataRequest=function(t){var e=n.Validators.exportDataRequestValidator.validate(t);return e?e.map(E):void 0},e.validateVisualHeader=function(t){var e=n.Validators.visualHeaderValidator.validate(t);return e?e.map(E):void 0},e.validateVisualSettings=function(t){var e=n.Validators.visualSettingsValidator.validate(t);return e?e.map(E):void 0},e.validateCommandsSettings=function(t){var e=n.Validators.commandsSettingsValidator.validate(t);return e?e.map(E):void 0},e.validateCustomTheme=function(t){var e=n.Validators.customThemeValidator.validate(t);return e?e.map(E):void 0}},function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.Validators=void 0;var i=r(2),a=r(5),o=r(6),n=r(7),l=r(8),s=r(9),u=r(10),d=r(11),c=r(12),p=r(13),f=r(14),h=r(15),v=r(16),y=r(17),m=r(18),V=r(19),g=r(20),b=r(21),w=r(22),P=r(23),_=r(24),O=r(25),S=r(26),T=r(27),F=r(28),E=r(29),R=r(4),x=r(30);e.Validators={addBookmarkRequestValidator:new a.AddBookmarkRequestValidator,advancedFilterTypeValidator:new R.EnumValidator([0]),advancedFilterValidator:new c.AdvancedFilterValidator,anyArrayValidator:new R.ArrayValidator([new S.AnyOfValidator([new R.StringValidator,new R.NumberValidator,new R.BooleanValidator])]),anyFilterValidator:new S.AnyOfValidator([new c.BasicFilterValidator,new c.AdvancedFilterValidator,new c.IncludeExcludeFilterValidator,new c.NotSupportedFilterValidator,new c.RelativeDateFilterValidator,new c.TopNFilterValidator,new c.RelativeTimeFilterValidator]),anyValueValidator:new S.AnyOfValidator([new R.StringValidator,new R.NumberValidator,new R.BooleanValidator]),actionBarValidator:new i.ActionBarValidator,applyBookmarkByNameRequestValidator:new a.ApplyBookmarkByNameRequestValidator,applyBookmarkStateRequestValidator:new a.ApplyBookmarkStateRequestValidator,applyBookmarkValidator:new S.AnyOfValidator([new a.ApplyBookmarkByNameRequestValidator,new a.ApplyBookmarkStateRequestValidator]),backgroundValidator:new R.EnumValidator([0,1]),basicFilterTypeValidator:new R.EnumValidator([1]),basicFilterValidator:new c.BasicFilterValidator,booleanArrayValidator:new R.BooleanArrayValidator,booleanValidator:new R.BooleanValidator,bookmarksPaneValidator:new h.BookmarksPaneValidator,captureBookmarkOptionsValidator:new a.CaptureBookmarkOptionsValidator,captureBookmarkRequestValidator:new a.CaptureBookmarkRequestValidator,commandDisplayOptionValidator:new R.EnumValidator([0,1,2]),commandExtensionSelectorValidator:new S.AnyOfValidator([new b.VisualSelectorValidator,new b.VisualTypeSelectorValidator]),commandExtensionArrayValidator:new R.ArrayValidator([new d.CommandExtensionValidator]),commandExtensionValidator:new d.CommandExtensionValidator,commandsSettingsArrayValidator:new R.ArrayValidator([new o.CommandsSettingsValidator]),commandsSettingsValidator:new o.CommandsSettingsValidator,conditionItemValidator:new c.ConditionItemValidator,contrastModeValidator:new R.EnumValidator([0,1,2,3,4]),customLayoutDisplayOptionValidator:new R.EnumValidator([0,1,2]),customLayoutValidator:new p.CustomLayoutValidator,customPageSizeValidator:new f.CustomPageSizeValidator,customThemeValidator:new n.CustomThemeValidator,dashboardLoadValidator:new l.DashboardLoadValidator,datasetBindingValidator:new s.DatasetBindingValidator,displayStateModeValidator:new R.EnumValidator([0,1]),displayStateValidator:new p.DisplayStateValidator,exportDataRequestValidator:new u.ExportDataRequestValidator,extensionArrayValidator:new R.ArrayValidator([new d.ExtensionValidator]),extensionsValidator:new S.AnyOfValidator([new R.ArrayValidator([new d.ExtensionValidator]),new d.ExtensionsValidator]),extensionPointsValidator:new d.ExtensionPointsValidator,extensionValidator:new d.ExtensionValidator,fieldForbiddenValidator:new T.FieldForbiddenValidator,fieldRequiredValidator:new F.FieldRequiredValidator,fieldsPaneValidator:new h.FieldsPaneValidator,filterColumnTargetValidator:new c.FilterColumnTargetValidator,filterDisplaySettingsValidator:new c.FilterDisplaySettingsValidator,filterConditionsValidator:new R.ArrayValidator([new c.ConditionItemValidator]),filterHierarchyTargetValidator:new c.FilterHierarchyTargetValidator,filterMeasureTargetValidator:new c.FilterMeasureTargetValidator,filterTargetValidator:new S.AnyOfValidator([new c.FilterColumnTargetValidator,new c.FilterHierarchyTargetValidator,new c.FilterMeasureTargetValidator]),filterValidator:new c.FilterValidator,filterTypeValidator:new R.EnumValidator([0,1,2,3,4,5,6,7]),filtersArrayValidator:new R.ArrayValidator([new c.FilterValidator]),filtersOperationsUpdateValidator:new R.EnumValidator([1,2,3]),filtersOperationsRemoveAllValidator:new R.EnumValidator([0]),filtersPaneValidator:new h.FiltersPaneValidator,hyperlinkClickBehaviorValidator:new R.EnumValidator([0,1,2]),includeExcludeFilterValidator:new c.IncludeExcludeFilterValidator,includeExludeFilterTypeValidator:new R.EnumValidator([3]),layoutTypeValidator:new R.EnumValidator([0,1,2,3]),loadQnaValidator:new v.LoadQnaValidator,menuExtensionValidator:new S.AnyOfValidator([new d.FlatMenuExtensionValidator,new d.GroupedMenuExtensionValidator]),menuGroupExtensionArrayValidator:new R.ArrayValidator([new d.MenuGroupExtensionValidator]),menuGroupExtensionValidator:new d.MenuGroupExtensionValidator,menuLocationValidator:new R.EnumValidator([0,1]),notSupportedFilterTypeValidator:new R.EnumValidator([2]),notSupportedFilterValidator:new c.NotSupportedFilterValidator,numberArrayValidator:new R.NumberArrayValidator,numberValidator:new R.NumberValidator,onLoadFiltersBaseValidator:new S.AnyOfValidator([new c.OnLoadFiltersBaseValidator,new c.OnLoadFiltersBaseRemoveOperationValidator]),pageLayoutValidator:new E.MapValidator([new R.StringValidator],[new p.VisualLayoutValidator]),pageNavigationPaneValidator:new h.PageNavigationPaneValidator,pageNavigationPositionValidator:new R.EnumValidator([0,1]),pageSizeTypeValidator:new R.EnumValidator([0,1,2,3,4,5]),pageSizeValidator:new f.PageSizeValidator,pageValidator:new f.PageValidator,pageViewFieldValidator:new f.PageViewFieldValidator,pagesLayoutValidator:new E.MapValidator([new R.StringValidator],[new p.PageLayoutValidator]),paginatedReportCommandsValidator:new o.PaginatedReportCommandsValidator,paginatedReportLoadValidator:new V.PaginatedReportLoadValidator,paginatedReportsettingsValidator:new w.PaginatedReportSettingsValidator,parametersPanelValidator:new x.ParametersPanelValidator,permissionsValidator:new R.EnumValidator([0,1,2,4,7]),playBookmarkRequestValidator:new a.PlayBookmarkRequestValidator,qnaInterpretInputDataValidator:new v.QnaInterpretInputDataValidator,qnaPanesValidator:new h.QnaPanesValidator,qnaSettingValidator:new v.QnaSettingsValidator,relativeDateFilterOperatorValidator:new R.EnumValidator([0,1,2]),relativeDateFilterTimeUnitTypeValidator:new R.EnumValidator([0,1,2,3,4,5,6]),relativeDateFilterTypeValidator:new R.EnumValidator([4]),relativeDateFilterValidator:new c.RelativeDateFilterValidator,relativeDateTimeFilterTypeValidator:new R.EnumValidator([4,7]),relativeDateTimeFilterUnitTypeValidator:new R.EnumValidator([0,1,2,3,4,5,6,7,8]),relativeTimeFilterTimeUnitTypeValidator:new R.EnumValidator([7,8]),relativeTimeFilterTypeValidator:new R.EnumValidator([7]),relativeTimeFilterValidator:new c.RelativeTimeFilterValidator,reportBarsValidator:new i.ReportBarsValidator,reportCreateValidator:new y.ReportCreateValidator,reportLoadFiltersValidator:new S.AnyOfValidator([new R.ArrayValidator([new c.FilterValidator]),new c.OnLoadFiltersValidator]),reportLoadValidator:new m.ReportLoadValidator,reportPanesValidator:new h.ReportPanesValidator,saveAsParametersValidator:new g.SaveAsParametersValidator,selectionPaneValidator:new h.SelectionPaneValidator,settingsValidator:new w.SettingsValidator,singleCommandSettingsValidator:new o.SingleCommandSettingsValidator,slicerSelectorValidator:new S.AnyOfValidator([new b.VisualSelectorValidator,new b.SlicerTargetSelectorValidator]),slicerStateValidator:new P.SlicerStateValidator,slicerTargetValidator:new S.AnyOfValidator([new c.FilterColumnTargetValidator,new c.FilterHierarchyTargetValidator,new c.FilterMeasureTargetValidator,new c.FilterKeyColumnsTargetValidator,new c.FilterKeyHierarchyTargetValidator]),slicerValidator:new P.SlicerValidator,stringArrayValidator:new R.StringArrayValidator,stringValidator:new R.StringValidator,syncSlicersPaneValidator:new h.SyncSlicersPaneValidator,tileLoadValidator:new _.TileLoadValidator,tokenTypeValidator:new R.EnumValidator([0,1]),topNFilterTypeValidator:new R.EnumValidator([5]),topNFilterValidator:new c.TopNFilterValidator,updateFiltersRequestValidator:new S.AnyOfValidator([new c.UpdateFiltersRequestValidator,new c.RemoveFiltersRequestValidator]),viewModeValidator:new R.EnumValidator([0,1]),visualCommandSelectorValidator:new S.AnyOfValidator([new b.VisualSelectorValidator,new b.VisualTypeSelectorValidator]),visualHeaderSelectorValidator:new S.AnyOfValidator([new b.VisualSelectorValidator,new b.VisualTypeSelectorValidator]),visualHeaderSettingsValidator:new O.VisualHeaderSettingsValidator,visualHeaderValidator:new O.VisualHeaderValidator,visualHeadersValidator:new R.ArrayValidator([new O.VisualHeaderValidator]),visualizationsPaneValidator:new h.VisualizationsPaneValidator,visualLayoutValidator:new p.VisualLayoutValidator,visualSelectorValidator:new b.VisualSelectorValidator,visualSettingsValidator:new O.VisualSettingsValidator,visualTypeSelectorValidator:new b.VisualTypeSelectorValidator}},function(t,e,r){var i,a=this&&this.__extends||(i=function(t,e){return(i=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])})(t,e)},function(t,e){function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.ActionBarValidator=e.ReportBarsValidator=void 0;var o=r(3),n=r(4),l=r(1),s=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return a(e,t),e.prototype.validate=function(e,r,i){if(null==e)return null;var a=t.prototype.validate.call(this,e,r,i);if(a)return a;var n=[{field:"actionBar",validators:[l.Validators.actionBarValidator]}];return new o.MultipleFieldsValidator(n).validate(e,r,i)},e}(n.ObjectValidator);e.ReportBarsValidator=s;var u=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return a(e,t),e.prototype.validate=function(e,r,i){if(null==e)return null;var a=t.prototype.validate.call(this,e,r,i);if(a)return a;var n=[{field:"visible",validators:[l.Validators.booleanValidator]}];return new o.MultipleFieldsValidator(n).validate(e,r,i)},e}(n.ObjectValidator);e.ActionBarValidator=u},function(t,e){Object.defineProperty(e,"__esModule",{value:!0}),e.MultipleFieldsValidator=void 0;var r=function(){function t(t){this.fieldValidatorsPairs=t}return t.prototype.validate=function(t,e,r){if(!this.fieldValidatorsPairs)return null;for(var i=e?e+"."+r:r,a=0,o=this.fieldValidatorsPairs;a0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0?"&":"?";return t+=i+e+"="+r},e.isSavedInternal=function(t,e,a){return r(this,void 0,void 0,(function(){return i(this,(function(r){switch(r.label){case 0:return r.trys.push([0,2,,3]),[4,t.get("/report/hasUnsavedChanges",{uid:e},a)];case 1:return[2,!r.sent().body];case 2:throw r.sent().body;case 3:return[2]}}))}))},e.isRDLEmbed=function(t){return t&&t.toLowerCase().indexOf("/rdlembed?")>=0},e.autoAuthInEmbedUrl=function(t){return t&&decodeURIComponent(t).toLowerCase().indexOf("autoauth=true")>=0},e.getRandomValue=o,e.getTimeDiffInMilliseconds=function(t,e){return Math.abs(t.getTime()-e.getTime())}},function(t,e){Object.defineProperty(e,"__esModule",{value:!0}),e.FilterBuilder=void 0;var r=function(){function t(){}return t.prototype.withTargetObject=function(t){return this.target=t,this},t.prototype.withColumnTarget=function(t,e){return this.target={table:t,column:e},this},t.prototype.withMeasureTarget=function(t,e){return this.target={table:t,measure:e},this},t.prototype.withHierarchyLevelTarget=function(t,e,r){return this.target={table:t,hierarchy:e,hierarchyLevel:r},this},t.prototype.withColumnAggregation=function(t,e,r){return this.target={table:t,column:e,aggregationFunction:r},this},t.prototype.withHierarchyLevelAggregationTarget=function(t,e,r,i){return this.target={table:t,hierarchy:e,hierarchyLevel:r,aggregationFunction:i},this},t}();e.FilterBuilder=r},function(t,e){Object.defineProperty(e,"__esModule",{value:!0}),e.EmbedUrlNotSupported=e.APINotSupportedForRDLError=void 0,e.APINotSupportedForRDLError="This API is currently not supported for RDL reports",e.EmbedUrlNotSupported="Embed URL is invalid for this scenario. Please use Power BI REST APIs to get the valid URL"},function(t,e,r){var i,a=this&&this.__extends||(i=function(t,e){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])})(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}),o=this&&this.__awaiter||function(t,e,r,i){return new(r||(r=Promise))((function(a,o){function n(t){try{s(i.next(t))}catch(t){o(t)}}function l(t){try{s(i.throw(t))}catch(t){o(t)}}function s(t){var e;t.done?a(t.value):(e=t.value,e instanceof r?e:new r((function(t){t(e)}))).then(n,l)}s((i=i.apply(t,e||[])).next())}))},n=this&&this.__generator||function(t,e){var r,i,a,o,n={label:0,sent:function(){if(1&a[0])throw a[1];return a[1]},trys:[],ops:[]};return o={next:l(0),throw:l(1),return:l(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function l(o){return function(l){return function(o){if(r)throw new TypeError("Generator is already executing.");for(;n;)try{if(r=1,i&&(a=2&o[0]?i.return:o[0]?i.throw||((a=i.return)&&a.call(i),0):i.next)&&!(a=a.call(i,o[1])).done)return a;switch(i=0,a&&(o=[2&o[0],a.value]),o[0]){case 0:case 1:a=o;break;case 4:return n.label++,{value:o[1],done:!1};case 5:n.label++,i=o[1],o=[0];continue;case 7:o=n.ops.pop(),n.trys.pop();continue;default:if(!(a=n.trys,(a=a.length>0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&!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,s=o.keyValues;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 s.conditions=l,s}return a(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}(l);function V(t){if(t.filterType)return t.filterType;var e=t,r=t;return"string"==typeof e.operator&&Array.isArray(e.values)?o.Basic:"string"==typeof r.logicalOperator&&Array.isArray(r.conditions)?o.Advanced:o.Unknown}function g(t){return!(!t.table||!t.column||t.aggregationFunction)}e.AdvancedFilter=m,e.isFilterKeyColumnsTarget=function(t){return g(t)&&!!t.keys},e.isBasicFilterWithKeys=function(t){return V(t)===o.Basic&&!!t.keyValues},e.getFilterType=V,e.isMeasure=function(t){return void 0!==t.table&&void 0!==t.measure},e.isColumn=g,e.isHierarchyLevel=function(t){return!(!(t.table&&t.hierarchy&&t.hierarchyLevel)||t.aggregationFunction)},e.isHierarchyLevelAggr=function(t){return!!(t.table&&t.hierarchy&&t.hierarchyLevel&&t.aggregationFunction)},e.isColumnAggr=function(t){return!!(t.table&&t.column&&t.aggregationFunction)},function(t){t[t.Bottom=0]="Bottom",t[t.Left=1]="Left"}(e.PageNavigationPosition||(e.PageNavigationPosition={})),function(t){t[t.Interactive=0]="Interactive",t[t.ResultOnly=1]="ResultOnly"}(e.QnaMode||(e.QnaMode={})),function(t){t[t.Summarized=0]="Summarized",t[t.Underlying=1]="Underlying"}(e.ExportDataType||(e.ExportDataType={})),function(t){t[t.Off=0]="Off",t[t.Presentation=1]="Presentation"}(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"},function(t){t[t.Ascending=1]="Ascending",t[t.Descending=2]="Descending"}(e.SortDirection||(e.SortDirection={}));var b=function(){function t(t){this.$schema=t}return t.prototype.toJSON=function(){return{$schema:this.$schema}},t}();e.Selector=b;var w=function(t){function e(r){var i=t.call(this,e.schemaUrl)||this;return i.pageName=r,i}return a(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}(b);e.PageSelector=w;var P=function(t){function e(r){var i=t.call(this,e.schemaUrl)||this;return i.visualName=r,i}return a(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}(b);e.VisualSelector=P;var _=function(t){function e(e){var r=t.call(this,P.schemaUrl)||this;return r.visualType=e,r}return a(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}(b);e.VisualTypeSelector=_;var O=function(t){function e(e){var r=t.call(this,P.schemaUrl)||this;return r.target=e,r}return a(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}(b);function S(t){return Array.isArray(t)}function T(t){return t&&!!t.groupName}function E(t){return Array.isArray(t)}function F(t){var e=t.message;return e||(e=t.path+" is invalid. Not meeting "+t.keyword+" constraint"),{message:e}}e.SlicerTargetSelector=O,function(t){t[t.Enabled=0]="Enabled",t[t.Disabled=1]="Disabled",t[t.Hidden=2]="Hidden"}(e.CommandDisplayOption||(e.CommandDisplayOption={})),function(t){t[t.Grouping=0]="Grouping",t[t.Measure=1]="Measure",t[t.GroupingOrMeasure=2]="GroupingOrMeasure"}(e.VisualDataRoleKind||(e.VisualDataRoleKind={})),function(t){t[t.Measure=0]="Measure",t[t.Grouping=1]="Grouping"}(e.VisualDataRoleKindPreference||(e.VisualDataRoleKindPreference={})),e.isOnLoadFilters=function(t){return t&&!S(t)},e.isReportFiltersArray=S,e.isFlatMenuExtension=function(t){return t&&!T(t)},e.isGroupedMenuExtension=T,e.isIExtensions=function(t){return t&&!E(t)},e.isIExtensionArray=E,e.validateVisualSelector=function(t){var e=n.Validators.visualSelectorValidator.validate(t);return e?e.map(F):void 0},e.validateSlicer=function(t){var e=n.Validators.slicerValidator.validate(t);return e?e.map(F):void 0},e.validateSlicerState=function(t){var e=n.Validators.slicerStateValidator.validate(t);return e?e.map(F):void 0},e.validatePlayBookmarkRequest=function(t){var e=n.Validators.playBookmarkRequestValidator.validate(t);return e?e.map(F):void 0},e.validateAddBookmarkRequest=function(t){var e=n.Validators.addBookmarkRequestValidator.validate(t);return e?e.map(F):void 0},e.validateApplyBookmarkByNameRequest=function(t){var e=n.Validators.applyBookmarkByNameRequestValidator.validate(t);return e?e.map(F):void 0},e.validateApplyBookmarkStateRequest=function(t){var e=n.Validators.applyBookmarkStateRequestValidator.validate(t);return e?e.map(F):void 0},e.validateCaptureBookmarkRequest=function(t){var e=n.Validators.captureBookmarkRequestValidator.validate(t);return e?e.map(F):void 0},e.validateSettings=function(t){var e=n.Validators.settingsValidator.validate(t);return e?e.map(F):void 0},e.validatePanes=function(t){var e=n.Validators.reportPanesValidator.validate(t);return e?e.map(F):void 0},e.validateBookmarksPane=function(t){var e=n.Validators.bookmarksPaneValidator.validate(t);return e?e.map(F):void 0},e.validateFiltersPane=function(t){var e=n.Validators.filtersPaneValidator.validate(t);return e?e.map(F):void 0},e.validateFieldsPane=function(t){var e=n.Validators.fieldsPaneValidator.validate(t);return e?e.map(F):void 0},e.validatePageNavigationPane=function(t){var e=n.Validators.pageNavigationPaneValidator.validate(t);return e?e.map(F):void 0},e.validateSelectionPane=function(t){var e=n.Validators.selectionPaneValidator.validate(t);return e?e.map(F):void 0},e.validateSyncSlicersPane=function(t){var e=n.Validators.syncSlicersPaneValidator.validate(t);return e?e.map(F):void 0},e.validateVisualizationsPane=function(t){var e=n.Validators.visualizationsPaneValidator.validate(t);return e?e.map(F):void 0},e.validateCustomPageSize=function(t){var e=n.Validators.customPageSizeValidator.validate(t);return e?e.map(F):void 0},e.validateExtension=function(t){var e=n.Validators.extensionValidator.validate(t);return e?e.map(F):void 0},e.validateMenuGroupExtension=function(t){var e=n.Validators.menuGroupExtensionValidator.validate(t);return e?e.map(F):void 0},e.validateReportLoad=function(t){var e=n.Validators.reportLoadValidator.validate(t);return e?e.map(F):void 0},e.validatePaginatedReportLoad=function(t){var e=n.Validators.paginatedReportLoadValidator.validate(t);return e?e.map(F):void 0},e.validateCreateReport=function(t){var e=n.Validators.reportCreateValidator.validate(t);return e?e.map(F):void 0},e.validateDashboardLoad=function(t){var e=n.Validators.dashboardLoadValidator.validate(t);return e?e.map(F):void 0},e.validateTileLoad=function(t){var e=n.Validators.tileLoadValidator.validate(t);return e?e.map(F):void 0},e.validatePage=function(t){var e=n.Validators.pageValidator.validate(t);return e?e.map(F):void 0},e.validateFilter=function(t){var e=n.Validators.filterValidator.validate(t);return e?e.map(F):void 0},e.validateUpdateFiltersRequest=function(t){var e=n.Validators.updateFiltersRequestValidator.validate(t);return e?e.map(F):void 0},e.validateSaveAsParameters=function(t){var e=n.Validators.saveAsParametersValidator.validate(t);return e?e.map(F):void 0},e.validateLoadQnaConfiguration=function(t){var e=n.Validators.loadQnaValidator.validate(t);return e?e.map(F):void 0},e.validateQnaInterpretInputData=function(t){var e=n.Validators.qnaInterpretInputDataValidator.validate(t);return e?e.map(F):void 0},e.validateExportDataRequest=function(t){var e=n.Validators.exportDataRequestValidator.validate(t);return e?e.map(F):void 0},e.validateVisualHeader=function(t){var e=n.Validators.visualHeaderValidator.validate(t);return e?e.map(F):void 0},e.validateVisualSettings=function(t){var e=n.Validators.visualSettingsValidator.validate(t);return e?e.map(F):void 0},e.validateCommandsSettings=function(t){var e=n.Validators.commandsSettingsValidator.validate(t);return e?e.map(F):void 0},e.validateCustomTheme=function(t){var e=n.Validators.customThemeValidator.validate(t);return e?e.map(F):void 0}},function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.Validators=void 0;var i=r(2),a=r(5),o=r(6),n=r(7),l=r(8),s=r(9),u=r(10),d=r(11),c=r(12),p=r(13),f=r(14),h=r(15),v=r(16),y=r(17),m=r(18),V=r(19),g=r(20),b=r(21),w=r(22),P=r(23),_=r(24),O=r(25),S=r(26),T=r(27),E=r(28),F=r(29),R=r(4),x=r(30);e.Validators={addBookmarkRequestValidator:new a.AddBookmarkRequestValidator,advancedFilterTypeValidator:new R.EnumValidator([0]),advancedFilterValidator:new c.AdvancedFilterValidator,anyArrayValidator:new R.ArrayValidator([new S.AnyOfValidator([new R.StringValidator,new R.NumberValidator,new R.BooleanValidator])]),anyFilterValidator:new S.AnyOfValidator([new c.BasicFilterValidator,new c.AdvancedFilterValidator,new c.IncludeExcludeFilterValidator,new c.NotSupportedFilterValidator,new c.RelativeDateFilterValidator,new c.TopNFilterValidator,new c.RelativeTimeFilterValidator]),anyValueValidator:new S.AnyOfValidator([new R.StringValidator,new R.NumberValidator,new R.BooleanValidator]),actionBarValidator:new i.ActionBarValidator,applyBookmarkByNameRequestValidator:new a.ApplyBookmarkByNameRequestValidator,applyBookmarkStateRequestValidator:new a.ApplyBookmarkStateRequestValidator,applyBookmarkValidator:new S.AnyOfValidator([new a.ApplyBookmarkByNameRequestValidator,new a.ApplyBookmarkStateRequestValidator]),backgroundValidator:new R.EnumValidator([0,1]),basicFilterTypeValidator:new R.EnumValidator([1]),basicFilterValidator:new c.BasicFilterValidator,booleanArrayValidator:new R.BooleanArrayValidator,booleanValidator:new R.BooleanValidator,bookmarksPaneValidator:new h.BookmarksPaneValidator,captureBookmarkOptionsValidator:new a.CaptureBookmarkOptionsValidator,captureBookmarkRequestValidator:new a.CaptureBookmarkRequestValidator,commandDisplayOptionValidator:new R.EnumValidator([0,1,2]),commandExtensionSelectorValidator:new S.AnyOfValidator([new b.VisualSelectorValidator,new b.VisualTypeSelectorValidator]),commandExtensionArrayValidator:new R.ArrayValidator([new d.CommandExtensionValidator]),commandExtensionValidator:new d.CommandExtensionValidator,commandsSettingsArrayValidator:new R.ArrayValidator([new o.CommandsSettingsValidator]),commandsSettingsValidator:new o.CommandsSettingsValidator,conditionItemValidator:new c.ConditionItemValidator,contrastModeValidator:new R.EnumValidator([0,1,2,3,4]),customLayoutDisplayOptionValidator:new R.EnumValidator([0,1,2]),customLayoutValidator:new p.CustomLayoutValidator,customPageSizeValidator:new f.CustomPageSizeValidator,customThemeValidator:new n.CustomThemeValidator,dashboardLoadValidator:new l.DashboardLoadValidator,datasetBindingValidator:new s.DatasetBindingValidator,displayStateModeValidator:new R.EnumValidator([0,1]),displayStateValidator:new p.DisplayStateValidator,exportDataRequestValidator:new u.ExportDataRequestValidator,extensionArrayValidator:new R.ArrayValidator([new d.ExtensionValidator]),extensionsValidator:new S.AnyOfValidator([new R.ArrayValidator([new d.ExtensionValidator]),new d.ExtensionsValidator]),extensionPointsValidator:new d.ExtensionPointsValidator,extensionValidator:new d.ExtensionValidator,fieldForbiddenValidator:new T.FieldForbiddenValidator,fieldRequiredValidator:new E.FieldRequiredValidator,fieldsPaneValidator:new h.FieldsPaneValidator,filterColumnTargetValidator:new c.FilterColumnTargetValidator,filterDisplaySettingsValidator:new c.FilterDisplaySettingsValidator,filterConditionsValidator:new R.ArrayValidator([new c.ConditionItemValidator]),filterHierarchyTargetValidator:new c.FilterHierarchyTargetValidator,filterMeasureTargetValidator:new c.FilterMeasureTargetValidator,filterTargetValidator:new S.AnyOfValidator([new c.FilterColumnTargetValidator,new c.FilterHierarchyTargetValidator,new c.FilterMeasureTargetValidator]),filterValidator:new c.FilterValidator,filterTypeValidator:new R.EnumValidator([0,1,2,3,4,5,6,7]),filtersArrayValidator:new R.ArrayValidator([new c.FilterValidator]),filtersOperationsUpdateValidator:new R.EnumValidator([1,2,3]),filtersOperationsRemoveAllValidator:new R.EnumValidator([0]),filtersPaneValidator:new h.FiltersPaneValidator,hyperlinkClickBehaviorValidator:new R.EnumValidator([0,1,2]),includeExcludeFilterValidator:new c.IncludeExcludeFilterValidator,includeExludeFilterTypeValidator:new R.EnumValidator([3]),layoutTypeValidator:new R.EnumValidator([0,1,2,3]),loadQnaValidator:new v.LoadQnaValidator,menuExtensionValidator:new S.AnyOfValidator([new d.FlatMenuExtensionValidator,new d.GroupedMenuExtensionValidator]),menuGroupExtensionArrayValidator:new R.ArrayValidator([new d.MenuGroupExtensionValidator]),menuGroupExtensionValidator:new d.MenuGroupExtensionValidator,menuLocationValidator:new R.EnumValidator([0,1]),notSupportedFilterTypeValidator:new R.EnumValidator([2]),notSupportedFilterValidator:new c.NotSupportedFilterValidator,numberArrayValidator:new R.NumberArrayValidator,numberValidator:new R.NumberValidator,onLoadFiltersBaseValidator:new S.AnyOfValidator([new c.OnLoadFiltersBaseValidator,new c.OnLoadFiltersBaseRemoveOperationValidator]),pageLayoutValidator:new F.MapValidator([new R.StringValidator],[new p.VisualLayoutValidator]),pageNavigationPaneValidator:new h.PageNavigationPaneValidator,pageNavigationPositionValidator:new R.EnumValidator([0,1]),pageSizeTypeValidator:new R.EnumValidator([0,1,2,3,4,5]),pageSizeValidator:new f.PageSizeValidator,pageValidator:new f.PageValidator,pageViewFieldValidator:new f.PageViewFieldValidator,pagesLayoutValidator:new F.MapValidator([new R.StringValidator],[new p.PageLayoutValidator]),paginatedReportCommandsValidator:new o.PaginatedReportCommandsValidator,paginatedReportLoadValidator:new V.PaginatedReportLoadValidator,paginatedReportsettingsValidator:new w.PaginatedReportSettingsValidator,parametersPanelValidator:new x.ParametersPanelValidator,permissionsValidator:new R.EnumValidator([0,1,2,4,7]),playBookmarkRequestValidator:new a.PlayBookmarkRequestValidator,qnaInterpretInputDataValidator:new v.QnaInterpretInputDataValidator,qnaPanesValidator:new h.QnaPanesValidator,qnaSettingValidator:new v.QnaSettingsValidator,relativeDateFilterOperatorValidator:new R.EnumValidator([0,1,2]),relativeDateFilterTimeUnitTypeValidator:new R.EnumValidator([0,1,2,3,4,5,6]),relativeDateFilterTypeValidator:new R.EnumValidator([4]),relativeDateFilterValidator:new c.RelativeDateFilterValidator,relativeDateTimeFilterTypeValidator:new R.EnumValidator([4,7]),relativeDateTimeFilterUnitTypeValidator:new R.EnumValidator([0,1,2,3,4,5,6,7,8]),relativeTimeFilterTimeUnitTypeValidator:new R.EnumValidator([7,8]),relativeTimeFilterTypeValidator:new R.EnumValidator([7]),relativeTimeFilterValidator:new c.RelativeTimeFilterValidator,reportBarsValidator:new i.ReportBarsValidator,reportCreateValidator:new y.ReportCreateValidator,reportLoadFiltersValidator:new S.AnyOfValidator([new R.ArrayValidator([new c.FilterValidator]),new c.OnLoadFiltersValidator]),reportLoadValidator:new m.ReportLoadValidator,reportPanesValidator:new h.ReportPanesValidator,saveAsParametersValidator:new g.SaveAsParametersValidator,selectionPaneValidator:new h.SelectionPaneValidator,settingsValidator:new w.SettingsValidator,singleCommandSettingsValidator:new o.SingleCommandSettingsValidator,slicerSelectorValidator:new S.AnyOfValidator([new b.VisualSelectorValidator,new b.SlicerTargetSelectorValidator]),slicerStateValidator:new P.SlicerStateValidator,slicerTargetValidator:new S.AnyOfValidator([new c.FilterColumnTargetValidator,new c.FilterHierarchyTargetValidator,new c.FilterMeasureTargetValidator,new c.FilterKeyColumnsTargetValidator,new c.FilterKeyHierarchyTargetValidator]),slicerValidator:new P.SlicerValidator,stringArrayValidator:new R.StringArrayValidator,stringValidator:new R.StringValidator,syncSlicersPaneValidator:new h.SyncSlicersPaneValidator,tileLoadValidator:new _.TileLoadValidator,tokenTypeValidator:new R.EnumValidator([0,1]),topNFilterTypeValidator:new R.EnumValidator([5]),topNFilterValidator:new c.TopNFilterValidator,updateFiltersRequestValidator:new S.AnyOfValidator([new c.UpdateFiltersRequestValidator,new c.RemoveFiltersRequestValidator]),viewModeValidator:new R.EnumValidator([0,1]),visualCommandSelectorValidator:new S.AnyOfValidator([new b.VisualSelectorValidator,new b.VisualTypeSelectorValidator]),visualHeaderSelectorValidator:new S.AnyOfValidator([new b.VisualSelectorValidator,new b.VisualTypeSelectorValidator]),visualHeaderSettingsValidator:new O.VisualHeaderSettingsValidator,visualHeaderValidator:new O.VisualHeaderValidator,visualHeadersValidator:new R.ArrayValidator([new O.VisualHeaderValidator]),visualizationsPaneValidator:new h.VisualizationsPaneValidator,visualLayoutValidator:new p.VisualLayoutValidator,visualSelectorValidator:new b.VisualSelectorValidator,visualSettingsValidator:new O.VisualSettingsValidator,visualTypeSelectorValidator:new b.VisualTypeSelectorValidator}},function(t,e,r){var i,a=this&&this.__extends||(i=function(t,e){return(i=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])})(t,e)},function(t,e){function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.ActionBarValidator=e.ReportBarsValidator=void 0;var o=r(3),n=r(4),l=r(1),s=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return a(e,t),e.prototype.validate=function(e,r,i){if(null==e)return null;var a=t.prototype.validate.call(this,e,r,i);if(a)return a;var n=[{field:"actionBar",validators:[l.Validators.actionBarValidator]}];return new o.MultipleFieldsValidator(n).validate(e,r,i)},e}(n.ObjectValidator);e.ReportBarsValidator=s;var u=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return a(e,t),e.prototype.validate=function(e,r,i){if(null==e)return null;var a=t.prototype.validate.call(this,e,r,i);if(a)return a;var n=[{field:"visible",validators:[l.Validators.booleanValidator]}];return new o.MultipleFieldsValidator(n).validate(e,r,i)},e}(n.ObjectValidator);e.ActionBarValidator=u},function(t,e){Object.defineProperty(e,"__esModule",{value:!0}),e.MultipleFieldsValidator=void 0;var r=function(){function t(t){this.fieldValidatorsPairs=t}return t.prototype.validate=function(t,e,r){if(!this.fieldValidatorsPairs)return null;for(var i=e?e+"."+r:r,a=0,o=this.fieldValidatorsPairs;a0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0?"&":"?";return t+=i+e+"="+r},e.isSavedInternal=function(t,e,a){return r(this,void 0,void 0,(function(){return i(this,(function(r){switch(r.label){case 0:return r.trys.push([0,2,,3]),[4,t.get("/report/hasUnsavedChanges",{uid:e},a)];case 1:return[2,!r.sent().body];case 2:throw r.sent().body;case 3:return[2]}}))}))},e.isRDLEmbed=function(t){return t&&t.toLowerCase().indexOf("/rdlembed?")>=0},e.autoAuthInEmbedUrl=function(t){return t&&decodeURIComponent(t).toLowerCase().indexOf("autoauth=true")>=0},e.getRandomValue=o,e.getTimeDiffInMilliseconds=function(t,e){return Math.abs(t.getTime()-e.getTime())}},function(t,e){Object.defineProperty(e,"__esModule",{value:!0}),e.FilterBuilder=void 0;var r=function(){function t(){}return t.prototype.withTargetObject=function(t){return this.target=t,this},t.prototype.withColumnTarget=function(t,e){return this.target={table:t,column:e},this},t.prototype.withMeasureTarget=function(t,e){return this.target={table:t,measure:e},this},t.prototype.withHierarchyLevelTarget=function(t,e,r){return this.target={table:t,hierarchy:e,hierarchyLevel:r},this},t.prototype.withColumnAggregation=function(t,e,r){return this.target={table:t,column:e,aggregationFunction:r},this},t.prototype.withHierarchyLevelAggregationTarget=function(t,e,r,i){return this.target={table:t,hierarchy:e,hierarchyLevel:r,aggregationFunction:i},this},t}();e.FilterBuilder=r},function(t,e){Object.defineProperty(e,"__esModule",{value:!0}),e.EmbedUrlNotSupported=e.APINotSupportedForRDLError=void 0,e.APINotSupportedForRDLError="This API is currently not supported for RDL reports",e.EmbedUrlNotSupported="Embed URL is invalid for this scenario. Please use Power BI REST APIs to get the valid URL"},function(t,e,r){var i,a=this&&this.__extends||(i=function(t,e){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])})(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}),o=this&&this.__awaiter||function(t,e,r,i){return new(r||(r=Promise))((function(a,o){function n(t){try{s(i.next(t))}catch(t){o(t)}}function l(t){try{s(i.throw(t))}catch(t){o(t)}}function s(t){var e;t.done?a(t.value):(e=t.value,e instanceof r?e:new r((function(t){t(e)}))).then(n,l)}s((i=i.apply(t,e||[])).next())}))},n=this&&this.__generator||function(t,e){var r,i,a,o,n={label:0,sent:function(){if(1&a[0])throw a[1];return a[1]},trys:[],ops:[]};return o={next:l(0),throw:l(1),return:l(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function l(o){return function(l){return function(o){if(r)throw new TypeError("Generator is already executing.");for(;n;)try{if(r=1,i&&(a=2&o[0]?i.return:o[0]?i.throw||((a=i.return)&&a.call(i),0):i.next)&&!(a=a.call(i,o[1])).done)return a;switch(i=0,a&&(o=[2&o[0],a.value]),o[0]){case 0:case 1:a=o;break;case 4:return n.label++,{value:o[1],done:!1};case 5:n.label++,i=o[1],o=[0];continue;case 7:o=n.ops.pop(),n.trys.pop();continue;default:if(!(a=n.trys,(a=a.length>0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]config).eventHooks?.applicationContextProvider; + delete (config).eventHooks; + this.populateConfig(config, isBootstrap); if (this.embedtype === 'create') { - this.setIframe(false /* set EventListener to call create() on 'load' event*/, phasedRender, isBootstrap); + this.setIframe(false /* set EventListener to call create() on 'load' event*/, phasedRender, isBootstrap, registerQueryCallback); } else { - this.setIframe(true /* set EventListener to call load() on 'load' event*/, phasedRender, isBootstrap); + this.setIframe(true /* set EventListener to call load() on 'load' event*/, phasedRender, isBootstrap, registerQueryCallback); } } @@ -702,10 +705,14 @@ export abstract class Embed { * * @hidden */ - private setIframe(isLoad: boolean, phasedRender?: boolean, isBootstrap?: boolean): void { + private setIframe(isLoad: boolean, phasedRender?: boolean, isBootstrap?: boolean, registerQueryCallback?: boolean): void { if (!this.iframe) { const iframeContent = document.createElement("iframe"); - const embedUrl = this.config.uniqueId ? addParamToUrl(this.config.embedUrl, 'uid', this.config.uniqueId) : this.config.embedUrl; + let embedUrl = this.config.uniqueId ? addParamToUrl(this.config.embedUrl, 'uid', this.config.uniqueId) : this.config.embedUrl; + + if (!isBootstrap && registerQueryCallback) + embedUrl = addParamToUrl(embedUrl, "registerQueryCallback", "true"); + iframeContent.style.width = '100%'; iframeContent.style.height = '100%'; iframeContent.setAttribute("src", embedUrl); diff --git a/src/service.ts b/src/service.ts index 234c4fdf..563cc17d 100644 --- a/src/service.ts +++ b/src/service.ts @@ -300,6 +300,7 @@ export class Service implements IService { * @returns {Embed} */ embed(element: HTMLElement, config: IComponentEmbedConfiguration | IEmbedConfigurationBase = {}): Embed { + this.registerApplicationContextHook(config as IEmbedConfiguration); return this.embedInternal(element, config); } @@ -314,6 +315,7 @@ export class Service implements IService { * @returns {Embed} */ load(element: HTMLElement, config: IComponentEmbedConfiguration | IEmbedConfigurationBase = {}): Embed { + this.registerApplicationContextHook(config as IEmbedConfiguration); return this.embedInternal(element, config, /* phasedRender */ true, /* isBootstrap */ false); } @@ -440,6 +442,30 @@ export class Service implements IService { return component; } + /** + * @hidden + */ + private registerApplicationContextHook(config: IEmbedConfiguration): void { + const applicationContextProvider = config?.eventHooks?.applicationContextProvider; + if (!applicationContextProvider) { + return; + } + + if (typeof applicationContextProvider !== 'function') { + throw new Error("applicationContextProvider must be a function"); + } + + this.router.post(`preQuery`, async (req, _res) => { + try { + let result = await applicationContextProvider(req.body); + _res.send(200, result); + } catch (error) { + _res.send(400, null); + console.error(error); + } + }); + } + /** * Adds an event handler for DOMContentLoaded, which searches the DOM for elements that have the 'powerbi-embed-url' attribute, * and automatically attempts to embed a powerbi component based on information from other powerbi-* attributes. From 35ffb7867fec9bfb56b5804b3a6f32378d0edc2a Mon Sep 17 00:00:00 2001 From: shyosef Date: Sun, 1 Aug 2021 11:13:02 +0300 Subject: [PATCH 073/125] Remove unnecessary files --- .config/merlinbot/nudge.yaml | 16 ---------------- .config/merlinbot/reviewerrecommender.yaml | 13 ------------- 2 files changed, 29 deletions(-) delete mode 100644 .config/merlinbot/nudge.yaml delete mode 100644 .config/merlinbot/reviewerrecommender.yaml diff --git a/.config/merlinbot/nudge.yaml b/.config/merlinbot/nudge.yaml deleted file mode 100644 index 85d09de5..00000000 --- a/.config/merlinbot/nudge.yaml +++ /dev/null @@ -1,16 +0,0 @@ -# To enable or disable -enabled: true -# How many reviewers to Nudge in comment? -maxReviewersToNudge: 3 -# Do not nudge users that are included in the following list -excludeUsers: - - neryac@microsoft.com - - shyosef@microsoft.com -# - user2@microsoft.com -# Do not nudge PRs authored by users that are included in the following list -excludePrsFromAuthors: - - shyosef@microsoft.com -# To enable or disable early nudge on pull requests -enableEarlyNudge: false -# Number of days to wait after a pull request is created, to analyze it for an early nudge -earlyNudgeThresholdDays: 1 \ No newline at end of file diff --git a/.config/merlinbot/reviewerrecommender.yaml b/.config/merlinbot/reviewerrecommender.yaml deleted file mode 100644 index d9799975..00000000 --- a/.config/merlinbot/reviewerrecommender.yaml +++ /dev/null @@ -1,13 +0,0 @@ -# Enable/Disable recommender -enabled: true -# How many reviewers to add? -maxReviewers: 2 -# Exclude files/paths in PR to be considered for recommendation -# Please note, these have to specified as a valid GIT based path regex -#excludedPaths: -# - ^/private/Product/PowerBI/IntegrationNuGetPackages/ -# - ^/private/Product/PowerBI/NuGetPackages/ -# Do not make recommendations for reviewers that are included in the following list -excludedReviewers: - - shyosef@microsoft.com - - neryac@microsoft.com \ No newline at end of file From 0d6bb1a0ad172c498ad4f20369456810d4ed129e Mon Sep 17 00:00:00 2001 From: Shahak Yosef Date: Tue, 3 Aug 2021 10:48:13 +0000 Subject: [PATCH 074/125] Merged PR 191366: Fix application context in bootstrap case Fix application context in bootstrap case --- dist/powerbi-client.d.ts | 2 +- dist/powerbi.js | 23 +++++++++++++---------- dist/powerbi.min.js | 4 ++-- package.json | 2 +- src/config.ts | 2 +- src/embed.ts | 15 +++++++-------- src/service.ts | 5 +++++ 7 files changed, 30 insertions(+), 23 deletions(-) diff --git a/dist/powerbi-client.d.ts b/dist/powerbi-client.d.ts index 1926be6a..3d50ac45 100644 --- a/dist/powerbi-client.d.ts +++ b/dist/powerbi-client.d.ts @@ -1,4 +1,4 @@ -// powerbi-client v2.18.4 +// powerbi-client v2.18.5 // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. declare module "config" { diff --git a/dist/powerbi.js b/dist/powerbi.js index 2b6e0d56..4e92c0ea 100644 --- a/dist/powerbi.js +++ b/dist/powerbi.js @@ -1,4 +1,4 @@ -// powerbi-client v2.18.4 +// powerbi-client v2.18.5 // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. (function webpackUniversalModuleDefinition(root, factory) { @@ -7128,7 +7128,7 @@ exports.BookmarksManager = BookmarksManager; Object.defineProperty(exports, "__esModule", { value: true }); /** @ignore */ /** */ var config = { - version: '2.18.4', + version: '2.18.5', type: 'js' }; exports.default = config; @@ -7519,7 +7519,6 @@ var Embed = /** @class */ (function () { * @hidden */ function Embed(service, element, config, iframe, phasedRender, isBootstrap) { - var _a; /** @hidden */ this.allowedEvents = []; if (util_1.autoAuthInEmbedUrl(config.embedUrl)) { @@ -7534,14 +7533,12 @@ var Embed = /** @class */ (function () { this.embedtype = config.type.toLowerCase(); this.commands = []; this.groups = []; - var registerQueryCallback = !!((_a = config.eventHooks) === null || _a === void 0 ? void 0 : _a.applicationContextProvider); - delete config.eventHooks; this.populateConfig(config, isBootstrap); if (this.embedtype === 'create') { - this.setIframe(false /* set EventListener to call create() on 'load' event*/, phasedRender, isBootstrap, registerQueryCallback); + 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, registerQueryCallback); + this.setIframe(true /* set EventListener to call load() on 'load' event*/, phasedRender, isBootstrap); } } /** @@ -7867,7 +7864,7 @@ var Embed = /** @class */ (function () { */ Embed.prototype.populateConfig = function (config, isBootstrap) { var _this = this; - var _a, _b, _c, _d, _e, _f, _g, _h, _j; + var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k; if (this.bootstrapConfig) { this.config = util_1.assign({}, this.bootstrapConfig, config); // reset bootstrapConfig because we do not want to merge it in re-embed scenario. @@ -7902,6 +7899,10 @@ var Embed = /** @class */ (function () { else { this.config.accessToken = this.getAccessToken(this.service.accessToken); } + var registerQueryCallback = !!((_k = this.config.eventHooks) === null || _k === void 0 ? void 0 : _k.applicationContextProvider); + delete this.config.eventHooks; + if (registerQueryCallback && this.embedtype === "report") + this.config.embedUrl = util_1.addParamToUrl(this.config.embedUrl, "registerQueryCallback", "true"); this.configChanged(isBootstrap); }; /** @@ -8020,8 +8021,6 @@ var Embed = /** @class */ (function () { if (!this.iframe) { var iframeContent = document.createElement("iframe"); var embedUrl = this.config.uniqueId ? util_1.addParamToUrl(this.config.embedUrl, 'uid', this.config.uniqueId) : this.config.embedUrl; - if (!isBootstrap && registerQueryCallback) - embedUrl = util_1.addParamToUrl(embedUrl, "registerQueryCallback", "true"); iframeContent.style.width = '100%'; iframeContent.style.height = '100%'; iframeContent.setAttribute("src", embedUrl); @@ -10584,6 +10583,7 @@ var Service = /** @class */ (function () { * @param {IBootstrapEmbedConfiguration} config: a bootstrap config which is an embed config without access token. */ Service.prototype.bootstrap = function (element, config) { + this.registerApplicationContextHook(config); return this.embedInternal(element, config, /* phasedRender */ false, /* isBootstrap */ true); }; /** @hidden */ @@ -10689,6 +10689,9 @@ var Service = /** @class */ (function () { if (!applicationContextProvider) { return; } + if ((config === null || config === void 0 ? void 0 : config.type.toLowerCase()) !== "report") { + throw new Error("applicationContextProvider is only supported in report embed"); + } if (typeof applicationContextProvider !== 'function') { throw new Error("applicationContextProvider must be a function"); } diff --git a/dist/powerbi.min.js b/dist/powerbi.min.js index 34c6fbb2..c87b8561 100644 --- a/dist/powerbi.min.js +++ b/dist/powerbi.min.js @@ -1,7 +1,7 @@ -// powerbi-client v2.18.4 +// powerbi-client v2.18.5 // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. -!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){var e={};function r(i){if(e[i])return e[i].exports;var a=e[i]={i:i,l:!1,exports:{}};return t[i].call(a.exports,a,a.exports,r),a.l=!0,a.exports}return r.m=t,r.c=e,r.d=function(t,e,i){r.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:i})},r.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},r.t=function(t,e){if(1&e&&(t=r(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var i=Object.create(null);if(r.r(i),Object.defineProperty(i,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var a in t)r.d(i,a,function(e){return t[e]}.bind(null,a));return i},r.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return r.d(e,"a",e),e},r.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},r.p="",r(r.s=13)}([function(t,e,r){var i;i=function(){return function(t){var e={};function r(i){if(e[i])return e[i].exports;var a=e[i]={i:i,l:!1,exports:{}};return t[i].call(a.exports,a,a.exports,r),a.l=!0,a.exports}return r.m=t,r.c=e,r.d=function(t,e,i){r.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:i})},r.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},r.t=function(t,e){if(1&e&&(t=r(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var i=Object.create(null);if(r.r(i),Object.defineProperty(i,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var a in t)r.d(i,a,function(e){return t[e]}.bind(null,a));return i},r.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return r.d(e,"a",e),e},r.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},r.p="",r(r.s=0)}([function(t,e,r){var i,a=this&&this.__extends||(i=function(t,e){return(i=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])})(t,e)},function(t,e){function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.validateCustomTheme=e.validateCommandsSettings=e.validateVisualSettings=e.validateVisualHeader=e.validateExportDataRequest=e.validateQnaInterpretInputData=e.validateLoadQnaConfiguration=e.validateSaveAsParameters=e.validateUpdateFiltersRequest=e.validateFilter=e.validatePage=e.validateTileLoad=e.validateDashboardLoad=e.validateCreateReport=e.validatePaginatedReportLoad=e.validateReportLoad=e.validateMenuGroupExtension=e.validateExtension=e.validateCustomPageSize=e.validateVisualizationsPane=e.validateSyncSlicersPane=e.validateSelectionPane=e.validatePageNavigationPane=e.validateFieldsPane=e.validateFiltersPane=e.validateBookmarksPane=e.validatePanes=e.validateSettings=e.validateCaptureBookmarkRequest=e.validateApplyBookmarkStateRequest=e.validateApplyBookmarkByNameRequest=e.validateAddBookmarkRequest=e.validatePlayBookmarkRequest=e.validateSlicerState=e.validateSlicer=e.validateVisualSelector=e.isIExtensionArray=e.isIExtensions=e.isGroupedMenuExtension=e.isFlatMenuExtension=e.isReportFiltersArray=e.isOnLoadFilters=e.VisualDataRoleKindPreference=e.VisualDataRoleKind=e.CommandDisplayOption=e.SlicerTargetSelector=e.VisualTypeSelector=e.VisualSelector=e.PageSelector=e.Selector=e.SortDirection=e.LegendPosition=e.TextAlignment=e.CommonErrorCodes=e.BookmarksPlayMode=e.ExportDataType=e.QnaMode=e.PageNavigationPosition=e.isColumnAggr=e.isHierarchyLevelAggr=e.isHierarchyLevel=e.isColumn=e.isMeasure=e.getFilterType=e.isBasicFilterWithKeys=e.isFilterKeyColumnsTarget=e.AdvancedFilter=e.TupleFilter=e.IdentityFilter=e.BasicFilterWithKeys=e.BasicFilter=e.RelativeTimeFilter=e.RelativeDateFilter=e.TopNFilter=e.IncludeExcludeFilter=e.NotSupportedFilter=e.Filter=e.RelativeDateOperators=e.RelativeDateFilterTimeUnit=e.FilterType=e.FiltersLevel=e.FiltersOperations=e.MenuLocation=e.ContrastMode=e.TokenType=e.ViewMode=e.Permissions=e.SectionVisibility=e.HyperlinkClickBehavior=e.LayoutType=e.VisualContainerDisplayMode=e.BackgroundType=e.DisplayOption=e.PageSizeType=e.TraceType=void 0;var o,n=r(1);!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"}(e.TraceType||(e.TraceType={})),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",t[t.Mobile=5]="Mobile"}(e.PageSizeType||(e.PageSizeType={})),function(t){t[t.FitToPage=0]="FitToPage",t[t.FitToWidth=1]="FitToWidth",t[t.ActualSize=2]="ActualSize"}(e.DisplayOption||(e.DisplayOption={})),function(t){t[t.Default=0]="Default",t[t.Transparent=1]="Transparent"}(e.BackgroundType||(e.BackgroundType={})),function(t){t[t.Visible=0]="Visible",t[t.Hidden=1]="Hidden"}(e.VisualContainerDisplayMode||(e.VisualContainerDisplayMode={})),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={})),function(t){t[t.Navigate=0]="Navigate",t[t.NavigateAndRaiseEvent=1]="NavigateAndRaiseEvent",t[t.RaiseEvent=2]="RaiseEvent"}(e.HyperlinkClickBehavior||(e.HyperlinkClickBehavior={})),function(t){t[t.AlwaysVisible=0]="AlwaysVisible",t[t.HiddenInViewMode=1]="HiddenInViewMode"}(e.SectionVisibility||(e.SectionVisibility={})),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"}(e.Permissions||(e.Permissions={})),function(t){t[t.View=0]="View",t[t.Edit=1]="Edit"}(e.ViewMode||(e.ViewMode={})),function(t){t[t.Aad=0]="Aad",t[t.Embed=1]="Embed"}(e.TokenType||(e.TokenType={})),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"}(e.ContrastMode||(e.ContrastMode={})),function(t){t[t.Bottom=0]="Bottom",t[t.Top=1]="Top"}(e.MenuLocation||(e.MenuLocation={})),function(t){t[t.RemoveAll=0]="RemoveAll",t[t.ReplaceAll=1]="ReplaceAll",t[t.Add=2]="Add",t[t.Replace=3]="Replace"}(e.FiltersOperations||(e.FiltersOperations={})),function(t){t[t.Report=0]="Report",t[t.Page=1]="Page",t[t.Visual=2]="Visual"}(e.FiltersLevel||(e.FiltersLevel={})),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",t[t.Identity=8]="Identity"}(o=e.FilterType||(e.FilterType={})),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"}(e.RelativeDateFilterTimeUnit||(e.RelativeDateFilterTimeUnit={})),function(t){t[t.InLast=0]="InLast",t[t.InThis=1]="InThis",t[t.InNext=2]="InNext"}(e.RelativeDateOperators||(e.RelativeDateOperators={}));var l=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=l;var s=function(t){function e(r,i,a){var n=t.call(this,r,o.Unknown)||this;return n.message=i,n.notSupportedTypeName=a,n.schemaUrl=e.schemaUrl,n}return a(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}(l);e.NotSupportedFilter=s;var u=function(t){function e(r,i,a){var n=t.call(this,r,o.IncludeExclude)||this;return n.values=a,n.isExclude=i,n.schemaUrl=e.schemaUrl,n}return a(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}(l);e.IncludeExcludeFilter=u;var d=function(t){function e(r,i,a,n){var l=t.call(this,r,o.TopN)||this;return l.operator=i,l.itemCount=a,l.schemaUrl=e.schemaUrl,l.orderBy=n,l}return a(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}(l);e.TopNFilter=d;var c=function(t){function e(r,i,a,n,l){var s=t.call(this,r,o.RelativeDate)||this;return s.operator=i,s.timeUnitsCount=a,s.timeUnitType=n,s.includeToday=l,s.schemaUrl=e.schemaUrl,s}return a(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}(l);e.RelativeDateFilter=c;var p=function(t){function e(r,i,a,n){var l=t.call(this,r,o.RelativeTime)||this;return l.operator=i,l.timeUnitsCount=a,l.timeUnitType=n,l.schemaUrl=e.schemaUrl,l}return a(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}(l);e.RelativeTimeFilter=p;var f=function(t){function e(r,i){for(var a=[],n=2;n0&&!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,s=o.keyValues;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 s.conditions=l,s}return a(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}(l);function V(t){if(t.filterType)return t.filterType;var e=t,r=t;return"string"==typeof e.operator&&Array.isArray(e.values)?o.Basic:"string"==typeof r.logicalOperator&&Array.isArray(r.conditions)?o.Advanced:o.Unknown}function g(t){return!(!t.table||!t.column||t.aggregationFunction)}e.AdvancedFilter=m,e.isFilterKeyColumnsTarget=function(t){return g(t)&&!!t.keys},e.isBasicFilterWithKeys=function(t){return V(t)===o.Basic&&!!t.keyValues},e.getFilterType=V,e.isMeasure=function(t){return void 0!==t.table&&void 0!==t.measure},e.isColumn=g,e.isHierarchyLevel=function(t){return!(!(t.table&&t.hierarchy&&t.hierarchyLevel)||t.aggregationFunction)},e.isHierarchyLevelAggr=function(t){return!!(t.table&&t.hierarchy&&t.hierarchyLevel&&t.aggregationFunction)},e.isColumnAggr=function(t){return!!(t.table&&t.column&&t.aggregationFunction)},function(t){t[t.Bottom=0]="Bottom",t[t.Left=1]="Left"}(e.PageNavigationPosition||(e.PageNavigationPosition={})),function(t){t[t.Interactive=0]="Interactive",t[t.ResultOnly=1]="ResultOnly"}(e.QnaMode||(e.QnaMode={})),function(t){t[t.Summarized=0]="Summarized",t[t.Underlying=1]="Underlying"}(e.ExportDataType||(e.ExportDataType={})),function(t){t[t.Off=0]="Off",t[t.Presentation=1]="Presentation"}(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"},function(t){t[t.Ascending=1]="Ascending",t[t.Descending=2]="Descending"}(e.SortDirection||(e.SortDirection={}));var b=function(){function t(t){this.$schema=t}return t.prototype.toJSON=function(){return{$schema:this.$schema}},t}();e.Selector=b;var w=function(t){function e(r){var i=t.call(this,e.schemaUrl)||this;return i.pageName=r,i}return a(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}(b);e.PageSelector=w;var P=function(t){function e(r){var i=t.call(this,e.schemaUrl)||this;return i.visualName=r,i}return a(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}(b);e.VisualSelector=P;var _=function(t){function e(e){var r=t.call(this,P.schemaUrl)||this;return r.visualType=e,r}return a(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}(b);e.VisualTypeSelector=_;var O=function(t){function e(e){var r=t.call(this,P.schemaUrl)||this;return r.target=e,r}return a(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}(b);function S(t){return Array.isArray(t)}function T(t){return t&&!!t.groupName}function E(t){return Array.isArray(t)}function F(t){var e=t.message;return e||(e=t.path+" is invalid. Not meeting "+t.keyword+" constraint"),{message:e}}e.SlicerTargetSelector=O,function(t){t[t.Enabled=0]="Enabled",t[t.Disabled=1]="Disabled",t[t.Hidden=2]="Hidden"}(e.CommandDisplayOption||(e.CommandDisplayOption={})),function(t){t[t.Grouping=0]="Grouping",t[t.Measure=1]="Measure",t[t.GroupingOrMeasure=2]="GroupingOrMeasure"}(e.VisualDataRoleKind||(e.VisualDataRoleKind={})),function(t){t[t.Measure=0]="Measure",t[t.Grouping=1]="Grouping"}(e.VisualDataRoleKindPreference||(e.VisualDataRoleKindPreference={})),e.isOnLoadFilters=function(t){return t&&!S(t)},e.isReportFiltersArray=S,e.isFlatMenuExtension=function(t){return t&&!T(t)},e.isGroupedMenuExtension=T,e.isIExtensions=function(t){return t&&!E(t)},e.isIExtensionArray=E,e.validateVisualSelector=function(t){var e=n.Validators.visualSelectorValidator.validate(t);return e?e.map(F):void 0},e.validateSlicer=function(t){var e=n.Validators.slicerValidator.validate(t);return e?e.map(F):void 0},e.validateSlicerState=function(t){var e=n.Validators.slicerStateValidator.validate(t);return e?e.map(F):void 0},e.validatePlayBookmarkRequest=function(t){var e=n.Validators.playBookmarkRequestValidator.validate(t);return e?e.map(F):void 0},e.validateAddBookmarkRequest=function(t){var e=n.Validators.addBookmarkRequestValidator.validate(t);return e?e.map(F):void 0},e.validateApplyBookmarkByNameRequest=function(t){var e=n.Validators.applyBookmarkByNameRequestValidator.validate(t);return e?e.map(F):void 0},e.validateApplyBookmarkStateRequest=function(t){var e=n.Validators.applyBookmarkStateRequestValidator.validate(t);return e?e.map(F):void 0},e.validateCaptureBookmarkRequest=function(t){var e=n.Validators.captureBookmarkRequestValidator.validate(t);return e?e.map(F):void 0},e.validateSettings=function(t){var e=n.Validators.settingsValidator.validate(t);return e?e.map(F):void 0},e.validatePanes=function(t){var e=n.Validators.reportPanesValidator.validate(t);return e?e.map(F):void 0},e.validateBookmarksPane=function(t){var e=n.Validators.bookmarksPaneValidator.validate(t);return e?e.map(F):void 0},e.validateFiltersPane=function(t){var e=n.Validators.filtersPaneValidator.validate(t);return e?e.map(F):void 0},e.validateFieldsPane=function(t){var e=n.Validators.fieldsPaneValidator.validate(t);return e?e.map(F):void 0},e.validatePageNavigationPane=function(t){var e=n.Validators.pageNavigationPaneValidator.validate(t);return e?e.map(F):void 0},e.validateSelectionPane=function(t){var e=n.Validators.selectionPaneValidator.validate(t);return e?e.map(F):void 0},e.validateSyncSlicersPane=function(t){var e=n.Validators.syncSlicersPaneValidator.validate(t);return e?e.map(F):void 0},e.validateVisualizationsPane=function(t){var e=n.Validators.visualizationsPaneValidator.validate(t);return e?e.map(F):void 0},e.validateCustomPageSize=function(t){var e=n.Validators.customPageSizeValidator.validate(t);return e?e.map(F):void 0},e.validateExtension=function(t){var e=n.Validators.extensionValidator.validate(t);return e?e.map(F):void 0},e.validateMenuGroupExtension=function(t){var e=n.Validators.menuGroupExtensionValidator.validate(t);return e?e.map(F):void 0},e.validateReportLoad=function(t){var e=n.Validators.reportLoadValidator.validate(t);return e?e.map(F):void 0},e.validatePaginatedReportLoad=function(t){var e=n.Validators.paginatedReportLoadValidator.validate(t);return e?e.map(F):void 0},e.validateCreateReport=function(t){var e=n.Validators.reportCreateValidator.validate(t);return e?e.map(F):void 0},e.validateDashboardLoad=function(t){var e=n.Validators.dashboardLoadValidator.validate(t);return e?e.map(F):void 0},e.validateTileLoad=function(t){var e=n.Validators.tileLoadValidator.validate(t);return e?e.map(F):void 0},e.validatePage=function(t){var e=n.Validators.pageValidator.validate(t);return e?e.map(F):void 0},e.validateFilter=function(t){var e=n.Validators.filterValidator.validate(t);return e?e.map(F):void 0},e.validateUpdateFiltersRequest=function(t){var e=n.Validators.updateFiltersRequestValidator.validate(t);return e?e.map(F):void 0},e.validateSaveAsParameters=function(t){var e=n.Validators.saveAsParametersValidator.validate(t);return e?e.map(F):void 0},e.validateLoadQnaConfiguration=function(t){var e=n.Validators.loadQnaValidator.validate(t);return e?e.map(F):void 0},e.validateQnaInterpretInputData=function(t){var e=n.Validators.qnaInterpretInputDataValidator.validate(t);return e?e.map(F):void 0},e.validateExportDataRequest=function(t){var e=n.Validators.exportDataRequestValidator.validate(t);return e?e.map(F):void 0},e.validateVisualHeader=function(t){var e=n.Validators.visualHeaderValidator.validate(t);return e?e.map(F):void 0},e.validateVisualSettings=function(t){var e=n.Validators.visualSettingsValidator.validate(t);return e?e.map(F):void 0},e.validateCommandsSettings=function(t){var e=n.Validators.commandsSettingsValidator.validate(t);return e?e.map(F):void 0},e.validateCustomTheme=function(t){var e=n.Validators.customThemeValidator.validate(t);return e?e.map(F):void 0}},function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.Validators=void 0;var i=r(2),a=r(5),o=r(6),n=r(7),l=r(8),s=r(9),u=r(10),d=r(11),c=r(12),p=r(13),f=r(14),h=r(15),v=r(16),y=r(17),m=r(18),V=r(19),g=r(20),b=r(21),w=r(22),P=r(23),_=r(24),O=r(25),S=r(26),T=r(27),E=r(28),F=r(29),R=r(4),x=r(30);e.Validators={addBookmarkRequestValidator:new a.AddBookmarkRequestValidator,advancedFilterTypeValidator:new R.EnumValidator([0]),advancedFilterValidator:new c.AdvancedFilterValidator,anyArrayValidator:new R.ArrayValidator([new S.AnyOfValidator([new R.StringValidator,new R.NumberValidator,new R.BooleanValidator])]),anyFilterValidator:new S.AnyOfValidator([new c.BasicFilterValidator,new c.AdvancedFilterValidator,new c.IncludeExcludeFilterValidator,new c.NotSupportedFilterValidator,new c.RelativeDateFilterValidator,new c.TopNFilterValidator,new c.RelativeTimeFilterValidator]),anyValueValidator:new S.AnyOfValidator([new R.StringValidator,new R.NumberValidator,new R.BooleanValidator]),actionBarValidator:new i.ActionBarValidator,applyBookmarkByNameRequestValidator:new a.ApplyBookmarkByNameRequestValidator,applyBookmarkStateRequestValidator:new a.ApplyBookmarkStateRequestValidator,applyBookmarkValidator:new S.AnyOfValidator([new a.ApplyBookmarkByNameRequestValidator,new a.ApplyBookmarkStateRequestValidator]),backgroundValidator:new R.EnumValidator([0,1]),basicFilterTypeValidator:new R.EnumValidator([1]),basicFilterValidator:new c.BasicFilterValidator,booleanArrayValidator:new R.BooleanArrayValidator,booleanValidator:new R.BooleanValidator,bookmarksPaneValidator:new h.BookmarksPaneValidator,captureBookmarkOptionsValidator:new a.CaptureBookmarkOptionsValidator,captureBookmarkRequestValidator:new a.CaptureBookmarkRequestValidator,commandDisplayOptionValidator:new R.EnumValidator([0,1,2]),commandExtensionSelectorValidator:new S.AnyOfValidator([new b.VisualSelectorValidator,new b.VisualTypeSelectorValidator]),commandExtensionArrayValidator:new R.ArrayValidator([new d.CommandExtensionValidator]),commandExtensionValidator:new d.CommandExtensionValidator,commandsSettingsArrayValidator:new R.ArrayValidator([new o.CommandsSettingsValidator]),commandsSettingsValidator:new o.CommandsSettingsValidator,conditionItemValidator:new c.ConditionItemValidator,contrastModeValidator:new R.EnumValidator([0,1,2,3,4]),customLayoutDisplayOptionValidator:new R.EnumValidator([0,1,2]),customLayoutValidator:new p.CustomLayoutValidator,customPageSizeValidator:new f.CustomPageSizeValidator,customThemeValidator:new n.CustomThemeValidator,dashboardLoadValidator:new l.DashboardLoadValidator,datasetBindingValidator:new s.DatasetBindingValidator,displayStateModeValidator:new R.EnumValidator([0,1]),displayStateValidator:new p.DisplayStateValidator,exportDataRequestValidator:new u.ExportDataRequestValidator,extensionArrayValidator:new R.ArrayValidator([new d.ExtensionValidator]),extensionsValidator:new S.AnyOfValidator([new R.ArrayValidator([new d.ExtensionValidator]),new d.ExtensionsValidator]),extensionPointsValidator:new d.ExtensionPointsValidator,extensionValidator:new d.ExtensionValidator,fieldForbiddenValidator:new T.FieldForbiddenValidator,fieldRequiredValidator:new E.FieldRequiredValidator,fieldsPaneValidator:new h.FieldsPaneValidator,filterColumnTargetValidator:new c.FilterColumnTargetValidator,filterDisplaySettingsValidator:new c.FilterDisplaySettingsValidator,filterConditionsValidator:new R.ArrayValidator([new c.ConditionItemValidator]),filterHierarchyTargetValidator:new c.FilterHierarchyTargetValidator,filterMeasureTargetValidator:new c.FilterMeasureTargetValidator,filterTargetValidator:new S.AnyOfValidator([new c.FilterColumnTargetValidator,new c.FilterHierarchyTargetValidator,new c.FilterMeasureTargetValidator]),filterValidator:new c.FilterValidator,filterTypeValidator:new R.EnumValidator([0,1,2,3,4,5,6,7]),filtersArrayValidator:new R.ArrayValidator([new c.FilterValidator]),filtersOperationsUpdateValidator:new R.EnumValidator([1,2,3]),filtersOperationsRemoveAllValidator:new R.EnumValidator([0]),filtersPaneValidator:new h.FiltersPaneValidator,hyperlinkClickBehaviorValidator:new R.EnumValidator([0,1,2]),includeExcludeFilterValidator:new c.IncludeExcludeFilterValidator,includeExludeFilterTypeValidator:new R.EnumValidator([3]),layoutTypeValidator:new R.EnumValidator([0,1,2,3]),loadQnaValidator:new v.LoadQnaValidator,menuExtensionValidator:new S.AnyOfValidator([new d.FlatMenuExtensionValidator,new d.GroupedMenuExtensionValidator]),menuGroupExtensionArrayValidator:new R.ArrayValidator([new d.MenuGroupExtensionValidator]),menuGroupExtensionValidator:new d.MenuGroupExtensionValidator,menuLocationValidator:new R.EnumValidator([0,1]),notSupportedFilterTypeValidator:new R.EnumValidator([2]),notSupportedFilterValidator:new c.NotSupportedFilterValidator,numberArrayValidator:new R.NumberArrayValidator,numberValidator:new R.NumberValidator,onLoadFiltersBaseValidator:new S.AnyOfValidator([new c.OnLoadFiltersBaseValidator,new c.OnLoadFiltersBaseRemoveOperationValidator]),pageLayoutValidator:new F.MapValidator([new R.StringValidator],[new p.VisualLayoutValidator]),pageNavigationPaneValidator:new h.PageNavigationPaneValidator,pageNavigationPositionValidator:new R.EnumValidator([0,1]),pageSizeTypeValidator:new R.EnumValidator([0,1,2,3,4,5]),pageSizeValidator:new f.PageSizeValidator,pageValidator:new f.PageValidator,pageViewFieldValidator:new f.PageViewFieldValidator,pagesLayoutValidator:new F.MapValidator([new R.StringValidator],[new p.PageLayoutValidator]),paginatedReportCommandsValidator:new o.PaginatedReportCommandsValidator,paginatedReportLoadValidator:new V.PaginatedReportLoadValidator,paginatedReportsettingsValidator:new w.PaginatedReportSettingsValidator,parametersPanelValidator:new x.ParametersPanelValidator,permissionsValidator:new R.EnumValidator([0,1,2,4,7]),playBookmarkRequestValidator:new a.PlayBookmarkRequestValidator,qnaInterpretInputDataValidator:new v.QnaInterpretInputDataValidator,qnaPanesValidator:new h.QnaPanesValidator,qnaSettingValidator:new v.QnaSettingsValidator,relativeDateFilterOperatorValidator:new R.EnumValidator([0,1,2]),relativeDateFilterTimeUnitTypeValidator:new R.EnumValidator([0,1,2,3,4,5,6]),relativeDateFilterTypeValidator:new R.EnumValidator([4]),relativeDateFilterValidator:new c.RelativeDateFilterValidator,relativeDateTimeFilterTypeValidator:new R.EnumValidator([4,7]),relativeDateTimeFilterUnitTypeValidator:new R.EnumValidator([0,1,2,3,4,5,6,7,8]),relativeTimeFilterTimeUnitTypeValidator:new R.EnumValidator([7,8]),relativeTimeFilterTypeValidator:new R.EnumValidator([7]),relativeTimeFilterValidator:new c.RelativeTimeFilterValidator,reportBarsValidator:new i.ReportBarsValidator,reportCreateValidator:new y.ReportCreateValidator,reportLoadFiltersValidator:new S.AnyOfValidator([new R.ArrayValidator([new c.FilterValidator]),new c.OnLoadFiltersValidator]),reportLoadValidator:new m.ReportLoadValidator,reportPanesValidator:new h.ReportPanesValidator,saveAsParametersValidator:new g.SaveAsParametersValidator,selectionPaneValidator:new h.SelectionPaneValidator,settingsValidator:new w.SettingsValidator,singleCommandSettingsValidator:new o.SingleCommandSettingsValidator,slicerSelectorValidator:new S.AnyOfValidator([new b.VisualSelectorValidator,new b.SlicerTargetSelectorValidator]),slicerStateValidator:new P.SlicerStateValidator,slicerTargetValidator:new S.AnyOfValidator([new c.FilterColumnTargetValidator,new c.FilterHierarchyTargetValidator,new c.FilterMeasureTargetValidator,new c.FilterKeyColumnsTargetValidator,new c.FilterKeyHierarchyTargetValidator]),slicerValidator:new P.SlicerValidator,stringArrayValidator:new R.StringArrayValidator,stringValidator:new R.StringValidator,syncSlicersPaneValidator:new h.SyncSlicersPaneValidator,tileLoadValidator:new _.TileLoadValidator,tokenTypeValidator:new R.EnumValidator([0,1]),topNFilterTypeValidator:new R.EnumValidator([5]),topNFilterValidator:new c.TopNFilterValidator,updateFiltersRequestValidator:new S.AnyOfValidator([new c.UpdateFiltersRequestValidator,new c.RemoveFiltersRequestValidator]),viewModeValidator:new R.EnumValidator([0,1]),visualCommandSelectorValidator:new S.AnyOfValidator([new b.VisualSelectorValidator,new b.VisualTypeSelectorValidator]),visualHeaderSelectorValidator:new S.AnyOfValidator([new b.VisualSelectorValidator,new b.VisualTypeSelectorValidator]),visualHeaderSettingsValidator:new O.VisualHeaderSettingsValidator,visualHeaderValidator:new O.VisualHeaderValidator,visualHeadersValidator:new R.ArrayValidator([new O.VisualHeaderValidator]),visualizationsPaneValidator:new h.VisualizationsPaneValidator,visualLayoutValidator:new p.VisualLayoutValidator,visualSelectorValidator:new b.VisualSelectorValidator,visualSettingsValidator:new O.VisualSettingsValidator,visualTypeSelectorValidator:new b.VisualTypeSelectorValidator}},function(t,e,r){var i,a=this&&this.__extends||(i=function(t,e){return(i=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])})(t,e)},function(t,e){function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.ActionBarValidator=e.ReportBarsValidator=void 0;var o=r(3),n=r(4),l=r(1),s=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return a(e,t),e.prototype.validate=function(e,r,i){if(null==e)return null;var a=t.prototype.validate.call(this,e,r,i);if(a)return a;var n=[{field:"actionBar",validators:[l.Validators.actionBarValidator]}];return new o.MultipleFieldsValidator(n).validate(e,r,i)},e}(n.ObjectValidator);e.ReportBarsValidator=s;var u=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return a(e,t),e.prototype.validate=function(e,r,i){if(null==e)return null;var a=t.prototype.validate.call(this,e,r,i);if(a)return a;var n=[{field:"visible",validators:[l.Validators.booleanValidator]}];return new o.MultipleFieldsValidator(n).validate(e,r,i)},e}(n.ObjectValidator);e.ActionBarValidator=u},function(t,e){Object.defineProperty(e,"__esModule",{value:!0}),e.MultipleFieldsValidator=void 0;var r=function(){function t(t){this.fieldValidatorsPairs=t}return t.prototype.validate=function(t,e,r){if(!this.fieldValidatorsPairs)return null;for(var i=e?e+"."+r:r,a=0,o=this.fieldValidatorsPairs;a0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0?"&":"?";return t+=i+e+"="+r},e.isSavedInternal=function(t,e,a){return r(this,void 0,void 0,(function(){return i(this,(function(r){switch(r.label){case 0:return r.trys.push([0,2,,3]),[4,t.get("/report/hasUnsavedChanges",{uid:e},a)];case 1:return[2,!r.sent().body];case 2:throw r.sent().body;case 3:return[2]}}))}))},e.isRDLEmbed=function(t){return t&&t.toLowerCase().indexOf("/rdlembed?")>=0},e.autoAuthInEmbedUrl=function(t){return t&&decodeURIComponent(t).toLowerCase().indexOf("autoauth=true")>=0},e.getRandomValue=o,e.getTimeDiffInMilliseconds=function(t,e){return Math.abs(t.getTime()-e.getTime())}},function(t,e){Object.defineProperty(e,"__esModule",{value:!0}),e.FilterBuilder=void 0;var r=function(){function t(){}return t.prototype.withTargetObject=function(t){return this.target=t,this},t.prototype.withColumnTarget=function(t,e){return this.target={table:t,column:e},this},t.prototype.withMeasureTarget=function(t,e){return this.target={table:t,measure:e},this},t.prototype.withHierarchyLevelTarget=function(t,e,r){return this.target={table:t,hierarchy:e,hierarchyLevel:r},this},t.prototype.withColumnAggregation=function(t,e,r){return this.target={table:t,column:e,aggregationFunction:r},this},t.prototype.withHierarchyLevelAggregationTarget=function(t,e,r,i){return this.target={table:t,hierarchy:e,hierarchyLevel:r,aggregationFunction:i},this},t}();e.FilterBuilder=r},function(t,e){Object.defineProperty(e,"__esModule",{value:!0}),e.EmbedUrlNotSupported=e.APINotSupportedForRDLError=void 0,e.APINotSupportedForRDLError="This API is currently not supported for RDL reports",e.EmbedUrlNotSupported="Embed URL is invalid for this scenario. Please use Power BI REST APIs to get the valid URL"},function(t,e,r){var i,a=this&&this.__extends||(i=function(t,e){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])})(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}),o=this&&this.__awaiter||function(t,e,r,i){return new(r||(r=Promise))((function(a,o){function n(t){try{s(i.next(t))}catch(t){o(t)}}function l(t){try{s(i.throw(t))}catch(t){o(t)}}function s(t){var e;t.done?a(t.value):(e=t.value,e instanceof r?e:new r((function(t){t(e)}))).then(n,l)}s((i=i.apply(t,e||[])).next())}))},n=this&&this.__generator||function(t,e){var r,i,a,o,n={label:0,sent:function(){if(1&a[0])throw a[1];return a[1]},trys:[],ops:[]};return o={next:l(0),throw:l(1),return:l(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function l(o){return function(l){return function(o){if(r)throw new TypeError("Generator is already executing.");for(;n;)try{if(r=1,i&&(a=2&o[0]?i.return:o[0]?i.throw||((a=i.return)&&a.call(i),0):i.next)&&!(a=a.call(i,o[1])).done)return a;switch(i=0,a&&(o=[2&o[0],a.value]),o[0]){case 0:case 1:a=o;break;case 4:return n.label++,{value:o[1],done:!1};case 5:n.label++,i=o[1],o=[0];continue;case 7:o=n.ops.pop(),n.trys.pop();continue;default:if(!(a=n.trys,(a=a.length>0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&!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,s=o.keyValues;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 s.conditions=l,s}return a(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}(l);function V(t){if(t.filterType)return t.filterType;var e=t,r=t;return"string"==typeof e.operator&&Array.isArray(e.values)?o.Basic:"string"==typeof r.logicalOperator&&Array.isArray(r.conditions)?o.Advanced:o.Unknown}function g(t){return!(!t.table||!t.column||t.aggregationFunction)}e.AdvancedFilter=m,e.isFilterKeyColumnsTarget=function(t){return g(t)&&!!t.keys},e.isBasicFilterWithKeys=function(t){return V(t)===o.Basic&&!!t.keyValues},e.getFilterType=V,e.isMeasure=function(t){return void 0!==t.table&&void 0!==t.measure},e.isColumn=g,e.isHierarchyLevel=function(t){return!(!(t.table&&t.hierarchy&&t.hierarchyLevel)||t.aggregationFunction)},e.isHierarchyLevelAggr=function(t){return!!(t.table&&t.hierarchy&&t.hierarchyLevel&&t.aggregationFunction)},e.isColumnAggr=function(t){return!!(t.table&&t.column&&t.aggregationFunction)},function(t){t[t.Bottom=0]="Bottom",t[t.Left=1]="Left"}(e.PageNavigationPosition||(e.PageNavigationPosition={})),function(t){t[t.Interactive=0]="Interactive",t[t.ResultOnly=1]="ResultOnly"}(e.QnaMode||(e.QnaMode={})),function(t){t[t.Summarized=0]="Summarized",t[t.Underlying=1]="Underlying"}(e.ExportDataType||(e.ExportDataType={})),function(t){t[t.Off=0]="Off",t[t.Presentation=1]="Presentation"}(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"},function(t){t[t.Ascending=1]="Ascending",t[t.Descending=2]="Descending"}(e.SortDirection||(e.SortDirection={}));var b=function(){function t(t){this.$schema=t}return t.prototype.toJSON=function(){return{$schema:this.$schema}},t}();e.Selector=b;var w=function(t){function e(r){var i=t.call(this,e.schemaUrl)||this;return i.pageName=r,i}return a(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}(b);e.PageSelector=w;var P=function(t){function e(r){var i=t.call(this,e.schemaUrl)||this;return i.visualName=r,i}return a(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}(b);e.VisualSelector=P;var _=function(t){function e(e){var r=t.call(this,P.schemaUrl)||this;return r.visualType=e,r}return a(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}(b);e.VisualTypeSelector=_;var O=function(t){function e(e){var r=t.call(this,P.schemaUrl)||this;return r.target=e,r}return a(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}(b);function S(t){return Array.isArray(t)}function T(t){return t&&!!t.groupName}function E(t){return Array.isArray(t)}function F(t){var e=t.message;return e||(e=t.path+" is invalid. Not meeting "+t.keyword+" constraint"),{message:e}}e.SlicerTargetSelector=O,function(t){t[t.Enabled=0]="Enabled",t[t.Disabled=1]="Disabled",t[t.Hidden=2]="Hidden"}(e.CommandDisplayOption||(e.CommandDisplayOption={})),function(t){t[t.Grouping=0]="Grouping",t[t.Measure=1]="Measure",t[t.GroupingOrMeasure=2]="GroupingOrMeasure"}(e.VisualDataRoleKind||(e.VisualDataRoleKind={})),function(t){t[t.Measure=0]="Measure",t[t.Grouping=1]="Grouping"}(e.VisualDataRoleKindPreference||(e.VisualDataRoleKindPreference={})),e.isOnLoadFilters=function(t){return t&&!S(t)},e.isReportFiltersArray=S,e.isFlatMenuExtension=function(t){return t&&!T(t)},e.isGroupedMenuExtension=T,e.isIExtensions=function(t){return t&&!E(t)},e.isIExtensionArray=E,e.validateVisualSelector=function(t){var e=n.Validators.visualSelectorValidator.validate(t);return e?e.map(F):void 0},e.validateSlicer=function(t){var e=n.Validators.slicerValidator.validate(t);return e?e.map(F):void 0},e.validateSlicerState=function(t){var e=n.Validators.slicerStateValidator.validate(t);return e?e.map(F):void 0},e.validatePlayBookmarkRequest=function(t){var e=n.Validators.playBookmarkRequestValidator.validate(t);return e?e.map(F):void 0},e.validateAddBookmarkRequest=function(t){var e=n.Validators.addBookmarkRequestValidator.validate(t);return e?e.map(F):void 0},e.validateApplyBookmarkByNameRequest=function(t){var e=n.Validators.applyBookmarkByNameRequestValidator.validate(t);return e?e.map(F):void 0},e.validateApplyBookmarkStateRequest=function(t){var e=n.Validators.applyBookmarkStateRequestValidator.validate(t);return e?e.map(F):void 0},e.validateCaptureBookmarkRequest=function(t){var e=n.Validators.captureBookmarkRequestValidator.validate(t);return e?e.map(F):void 0},e.validateSettings=function(t){var e=n.Validators.settingsValidator.validate(t);return e?e.map(F):void 0},e.validatePanes=function(t){var e=n.Validators.reportPanesValidator.validate(t);return e?e.map(F):void 0},e.validateBookmarksPane=function(t){var e=n.Validators.bookmarksPaneValidator.validate(t);return e?e.map(F):void 0},e.validateFiltersPane=function(t){var e=n.Validators.filtersPaneValidator.validate(t);return e?e.map(F):void 0},e.validateFieldsPane=function(t){var e=n.Validators.fieldsPaneValidator.validate(t);return e?e.map(F):void 0},e.validatePageNavigationPane=function(t){var e=n.Validators.pageNavigationPaneValidator.validate(t);return e?e.map(F):void 0},e.validateSelectionPane=function(t){var e=n.Validators.selectionPaneValidator.validate(t);return e?e.map(F):void 0},e.validateSyncSlicersPane=function(t){var e=n.Validators.syncSlicersPaneValidator.validate(t);return e?e.map(F):void 0},e.validateVisualizationsPane=function(t){var e=n.Validators.visualizationsPaneValidator.validate(t);return e?e.map(F):void 0},e.validateCustomPageSize=function(t){var e=n.Validators.customPageSizeValidator.validate(t);return e?e.map(F):void 0},e.validateExtension=function(t){var e=n.Validators.extensionValidator.validate(t);return e?e.map(F):void 0},e.validateMenuGroupExtension=function(t){var e=n.Validators.menuGroupExtensionValidator.validate(t);return e?e.map(F):void 0},e.validateReportLoad=function(t){var e=n.Validators.reportLoadValidator.validate(t);return e?e.map(F):void 0},e.validatePaginatedReportLoad=function(t){var e=n.Validators.paginatedReportLoadValidator.validate(t);return e?e.map(F):void 0},e.validateCreateReport=function(t){var e=n.Validators.reportCreateValidator.validate(t);return e?e.map(F):void 0},e.validateDashboardLoad=function(t){var e=n.Validators.dashboardLoadValidator.validate(t);return e?e.map(F):void 0},e.validateTileLoad=function(t){var e=n.Validators.tileLoadValidator.validate(t);return e?e.map(F):void 0},e.validatePage=function(t){var e=n.Validators.pageValidator.validate(t);return e?e.map(F):void 0},e.validateFilter=function(t){var e=n.Validators.filterValidator.validate(t);return e?e.map(F):void 0},e.validateUpdateFiltersRequest=function(t){var e=n.Validators.updateFiltersRequestValidator.validate(t);return e?e.map(F):void 0},e.validateSaveAsParameters=function(t){var e=n.Validators.saveAsParametersValidator.validate(t);return e?e.map(F):void 0},e.validateLoadQnaConfiguration=function(t){var e=n.Validators.loadQnaValidator.validate(t);return e?e.map(F):void 0},e.validateQnaInterpretInputData=function(t){var e=n.Validators.qnaInterpretInputDataValidator.validate(t);return e?e.map(F):void 0},e.validateExportDataRequest=function(t){var e=n.Validators.exportDataRequestValidator.validate(t);return e?e.map(F):void 0},e.validateVisualHeader=function(t){var e=n.Validators.visualHeaderValidator.validate(t);return e?e.map(F):void 0},e.validateVisualSettings=function(t){var e=n.Validators.visualSettingsValidator.validate(t);return e?e.map(F):void 0},e.validateCommandsSettings=function(t){var e=n.Validators.commandsSettingsValidator.validate(t);return e?e.map(F):void 0},e.validateCustomTheme=function(t){var e=n.Validators.customThemeValidator.validate(t);return e?e.map(F):void 0}},function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.Validators=void 0;var i=r(2),a=r(5),o=r(6),n=r(7),l=r(8),s=r(9),u=r(10),d=r(11),c=r(12),p=r(13),f=r(14),h=r(15),v=r(16),y=r(17),m=r(18),V=r(19),g=r(20),b=r(21),w=r(22),P=r(23),_=r(24),O=r(25),S=r(26),T=r(27),E=r(28),F=r(29),R=r(4),x=r(30);e.Validators={addBookmarkRequestValidator:new a.AddBookmarkRequestValidator,advancedFilterTypeValidator:new R.EnumValidator([0]),advancedFilterValidator:new c.AdvancedFilterValidator,anyArrayValidator:new R.ArrayValidator([new S.AnyOfValidator([new R.StringValidator,new R.NumberValidator,new R.BooleanValidator])]),anyFilterValidator:new S.AnyOfValidator([new c.BasicFilterValidator,new c.AdvancedFilterValidator,new c.IncludeExcludeFilterValidator,new c.NotSupportedFilterValidator,new c.RelativeDateFilterValidator,new c.TopNFilterValidator,new c.RelativeTimeFilterValidator]),anyValueValidator:new S.AnyOfValidator([new R.StringValidator,new R.NumberValidator,new R.BooleanValidator]),actionBarValidator:new i.ActionBarValidator,applyBookmarkByNameRequestValidator:new a.ApplyBookmarkByNameRequestValidator,applyBookmarkStateRequestValidator:new a.ApplyBookmarkStateRequestValidator,applyBookmarkValidator:new S.AnyOfValidator([new a.ApplyBookmarkByNameRequestValidator,new a.ApplyBookmarkStateRequestValidator]),backgroundValidator:new R.EnumValidator([0,1]),basicFilterTypeValidator:new R.EnumValidator([1]),basicFilterValidator:new c.BasicFilterValidator,booleanArrayValidator:new R.BooleanArrayValidator,booleanValidator:new R.BooleanValidator,bookmarksPaneValidator:new h.BookmarksPaneValidator,captureBookmarkOptionsValidator:new a.CaptureBookmarkOptionsValidator,captureBookmarkRequestValidator:new a.CaptureBookmarkRequestValidator,commandDisplayOptionValidator:new R.EnumValidator([0,1,2]),commandExtensionSelectorValidator:new S.AnyOfValidator([new b.VisualSelectorValidator,new b.VisualTypeSelectorValidator]),commandExtensionArrayValidator:new R.ArrayValidator([new d.CommandExtensionValidator]),commandExtensionValidator:new d.CommandExtensionValidator,commandsSettingsArrayValidator:new R.ArrayValidator([new o.CommandsSettingsValidator]),commandsSettingsValidator:new o.CommandsSettingsValidator,conditionItemValidator:new c.ConditionItemValidator,contrastModeValidator:new R.EnumValidator([0,1,2,3,4]),customLayoutDisplayOptionValidator:new R.EnumValidator([0,1,2]),customLayoutValidator:new p.CustomLayoutValidator,customPageSizeValidator:new f.CustomPageSizeValidator,customThemeValidator:new n.CustomThemeValidator,dashboardLoadValidator:new l.DashboardLoadValidator,datasetBindingValidator:new s.DatasetBindingValidator,displayStateModeValidator:new R.EnumValidator([0,1]),displayStateValidator:new p.DisplayStateValidator,exportDataRequestValidator:new u.ExportDataRequestValidator,extensionArrayValidator:new R.ArrayValidator([new d.ExtensionValidator]),extensionsValidator:new S.AnyOfValidator([new R.ArrayValidator([new d.ExtensionValidator]),new d.ExtensionsValidator]),extensionPointsValidator:new d.ExtensionPointsValidator,extensionValidator:new d.ExtensionValidator,fieldForbiddenValidator:new T.FieldForbiddenValidator,fieldRequiredValidator:new E.FieldRequiredValidator,fieldsPaneValidator:new h.FieldsPaneValidator,filterColumnTargetValidator:new c.FilterColumnTargetValidator,filterDisplaySettingsValidator:new c.FilterDisplaySettingsValidator,filterConditionsValidator:new R.ArrayValidator([new c.ConditionItemValidator]),filterHierarchyTargetValidator:new c.FilterHierarchyTargetValidator,filterMeasureTargetValidator:new c.FilterMeasureTargetValidator,filterTargetValidator:new S.AnyOfValidator([new c.FilterColumnTargetValidator,new c.FilterHierarchyTargetValidator,new c.FilterMeasureTargetValidator]),filterValidator:new c.FilterValidator,filterTypeValidator:new R.EnumValidator([0,1,2,3,4,5,6,7]),filtersArrayValidator:new R.ArrayValidator([new c.FilterValidator]),filtersOperationsUpdateValidator:new R.EnumValidator([1,2,3]),filtersOperationsRemoveAllValidator:new R.EnumValidator([0]),filtersPaneValidator:new h.FiltersPaneValidator,hyperlinkClickBehaviorValidator:new R.EnumValidator([0,1,2]),includeExcludeFilterValidator:new c.IncludeExcludeFilterValidator,includeExludeFilterTypeValidator:new R.EnumValidator([3]),layoutTypeValidator:new R.EnumValidator([0,1,2,3]),loadQnaValidator:new v.LoadQnaValidator,menuExtensionValidator:new S.AnyOfValidator([new d.FlatMenuExtensionValidator,new d.GroupedMenuExtensionValidator]),menuGroupExtensionArrayValidator:new R.ArrayValidator([new d.MenuGroupExtensionValidator]),menuGroupExtensionValidator:new d.MenuGroupExtensionValidator,menuLocationValidator:new R.EnumValidator([0,1]),notSupportedFilterTypeValidator:new R.EnumValidator([2]),notSupportedFilterValidator:new c.NotSupportedFilterValidator,numberArrayValidator:new R.NumberArrayValidator,numberValidator:new R.NumberValidator,onLoadFiltersBaseValidator:new S.AnyOfValidator([new c.OnLoadFiltersBaseValidator,new c.OnLoadFiltersBaseRemoveOperationValidator]),pageLayoutValidator:new F.MapValidator([new R.StringValidator],[new p.VisualLayoutValidator]),pageNavigationPaneValidator:new h.PageNavigationPaneValidator,pageNavigationPositionValidator:new R.EnumValidator([0,1]),pageSizeTypeValidator:new R.EnumValidator([0,1,2,3,4,5]),pageSizeValidator:new f.PageSizeValidator,pageValidator:new f.PageValidator,pageViewFieldValidator:new f.PageViewFieldValidator,pagesLayoutValidator:new F.MapValidator([new R.StringValidator],[new p.PageLayoutValidator]),paginatedReportCommandsValidator:new o.PaginatedReportCommandsValidator,paginatedReportLoadValidator:new V.PaginatedReportLoadValidator,paginatedReportsettingsValidator:new w.PaginatedReportSettingsValidator,parametersPanelValidator:new x.ParametersPanelValidator,permissionsValidator:new R.EnumValidator([0,1,2,4,7]),playBookmarkRequestValidator:new a.PlayBookmarkRequestValidator,qnaInterpretInputDataValidator:new v.QnaInterpretInputDataValidator,qnaPanesValidator:new h.QnaPanesValidator,qnaSettingValidator:new v.QnaSettingsValidator,relativeDateFilterOperatorValidator:new R.EnumValidator([0,1,2]),relativeDateFilterTimeUnitTypeValidator:new R.EnumValidator([0,1,2,3,4,5,6]),relativeDateFilterTypeValidator:new R.EnumValidator([4]),relativeDateFilterValidator:new c.RelativeDateFilterValidator,relativeDateTimeFilterTypeValidator:new R.EnumValidator([4,7]),relativeDateTimeFilterUnitTypeValidator:new R.EnumValidator([0,1,2,3,4,5,6,7,8]),relativeTimeFilterTimeUnitTypeValidator:new R.EnumValidator([7,8]),relativeTimeFilterTypeValidator:new R.EnumValidator([7]),relativeTimeFilterValidator:new c.RelativeTimeFilterValidator,reportBarsValidator:new i.ReportBarsValidator,reportCreateValidator:new y.ReportCreateValidator,reportLoadFiltersValidator:new S.AnyOfValidator([new R.ArrayValidator([new c.FilterValidator]),new c.OnLoadFiltersValidator]),reportLoadValidator:new m.ReportLoadValidator,reportPanesValidator:new h.ReportPanesValidator,saveAsParametersValidator:new g.SaveAsParametersValidator,selectionPaneValidator:new h.SelectionPaneValidator,settingsValidator:new w.SettingsValidator,singleCommandSettingsValidator:new o.SingleCommandSettingsValidator,slicerSelectorValidator:new S.AnyOfValidator([new b.VisualSelectorValidator,new b.SlicerTargetSelectorValidator]),slicerStateValidator:new P.SlicerStateValidator,slicerTargetValidator:new S.AnyOfValidator([new c.FilterColumnTargetValidator,new c.FilterHierarchyTargetValidator,new c.FilterMeasureTargetValidator,new c.FilterKeyColumnsTargetValidator,new c.FilterKeyHierarchyTargetValidator]),slicerValidator:new P.SlicerValidator,stringArrayValidator:new R.StringArrayValidator,stringValidator:new R.StringValidator,syncSlicersPaneValidator:new h.SyncSlicersPaneValidator,tileLoadValidator:new _.TileLoadValidator,tokenTypeValidator:new R.EnumValidator([0,1]),topNFilterTypeValidator:new R.EnumValidator([5]),topNFilterValidator:new c.TopNFilterValidator,updateFiltersRequestValidator:new S.AnyOfValidator([new c.UpdateFiltersRequestValidator,new c.RemoveFiltersRequestValidator]),viewModeValidator:new R.EnumValidator([0,1]),visualCommandSelectorValidator:new S.AnyOfValidator([new b.VisualSelectorValidator,new b.VisualTypeSelectorValidator]),visualHeaderSelectorValidator:new S.AnyOfValidator([new b.VisualSelectorValidator,new b.VisualTypeSelectorValidator]),visualHeaderSettingsValidator:new O.VisualHeaderSettingsValidator,visualHeaderValidator:new O.VisualHeaderValidator,visualHeadersValidator:new R.ArrayValidator([new O.VisualHeaderValidator]),visualizationsPaneValidator:new h.VisualizationsPaneValidator,visualLayoutValidator:new p.VisualLayoutValidator,visualSelectorValidator:new b.VisualSelectorValidator,visualSettingsValidator:new O.VisualSettingsValidator,visualTypeSelectorValidator:new b.VisualTypeSelectorValidator}},function(t,e,r){var i,a=this&&this.__extends||(i=function(t,e){return(i=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])})(t,e)},function(t,e){function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.ActionBarValidator=e.ReportBarsValidator=void 0;var o=r(3),n=r(4),l=r(1),s=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return a(e,t),e.prototype.validate=function(e,r,i){if(null==e)return null;var a=t.prototype.validate.call(this,e,r,i);if(a)return a;var n=[{field:"actionBar",validators:[l.Validators.actionBarValidator]}];return new o.MultipleFieldsValidator(n).validate(e,r,i)},e}(n.ObjectValidator);e.ReportBarsValidator=s;var u=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return a(e,t),e.prototype.validate=function(e,r,i){if(null==e)return null;var a=t.prototype.validate.call(this,e,r,i);if(a)return a;var n=[{field:"visible",validators:[l.Validators.booleanValidator]}];return new o.MultipleFieldsValidator(n).validate(e,r,i)},e}(n.ObjectValidator);e.ActionBarValidator=u},function(t,e){Object.defineProperty(e,"__esModule",{value:!0}),e.MultipleFieldsValidator=void 0;var r=function(){function t(t){this.fieldValidatorsPairs=t}return t.prototype.validate=function(t,e,r){if(!this.fieldValidatorsPairs)return null;for(var i=e?e+"."+r:r,a=0,o=this.fieldValidatorsPairs;a0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0?"&":"?";return t+=i+e+"="+r},e.isSavedInternal=function(t,e,a){return r(this,void 0,void 0,(function(){return i(this,(function(r){switch(r.label){case 0:return r.trys.push([0,2,,3]),[4,t.get("/report/hasUnsavedChanges",{uid:e},a)];case 1:return[2,!r.sent().body];case 2:throw r.sent().body;case 3:return[2]}}))}))},e.isRDLEmbed=function(t){return t&&t.toLowerCase().indexOf("/rdlembed?")>=0},e.autoAuthInEmbedUrl=function(t){return t&&decodeURIComponent(t).toLowerCase().indexOf("autoauth=true")>=0},e.getRandomValue=o,e.getTimeDiffInMilliseconds=function(t,e){return Math.abs(t.getTime()-e.getTime())}},function(t,e){Object.defineProperty(e,"__esModule",{value:!0}),e.FilterBuilder=void 0;var r=function(){function t(){}return t.prototype.withTargetObject=function(t){return this.target=t,this},t.prototype.withColumnTarget=function(t,e){return this.target={table:t,column:e},this},t.prototype.withMeasureTarget=function(t,e){return this.target={table:t,measure:e},this},t.prototype.withHierarchyLevelTarget=function(t,e,r){return this.target={table:t,hierarchy:e,hierarchyLevel:r},this},t.prototype.withColumnAggregation=function(t,e,r){return this.target={table:t,column:e,aggregationFunction:r},this},t.prototype.withHierarchyLevelAggregationTarget=function(t,e,r,i){return this.target={table:t,hierarchy:e,hierarchyLevel:r,aggregationFunction:i},this},t}();e.FilterBuilder=r},function(t,e){Object.defineProperty(e,"__esModule",{value:!0}),e.EmbedUrlNotSupported=e.APINotSupportedForRDLError=void 0,e.APINotSupportedForRDLError="This API is currently not supported for RDL reports",e.EmbedUrlNotSupported="Embed URL is invalid for this scenario. Please use Power BI REST APIs to get the valid URL"},function(t,e,r){var i,a=this&&this.__extends||(i=function(t,e){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])})(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}),o=this&&this.__awaiter||function(t,e,r,i){return new(r||(r=Promise))((function(a,o){function n(t){try{s(i.next(t))}catch(t){o(t)}}function l(t){try{s(i.throw(t))}catch(t){o(t)}}function s(t){var e;t.done?a(t.value):(e=t.value,e instanceof r?e:new r((function(t){t(e)}))).then(n,l)}s((i=i.apply(t,e||[])).next())}))},n=this&&this.__generator||function(t,e){var r,i,a,o,n={label:0,sent:function(){if(1&a[0])throw a[1];return a[1]},trys:[],ops:[]};return o={next:l(0),throw:l(1),return:l(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function l(o){return function(l){return function(o){if(r)throw new TypeError("Generator is already executing.");for(;n;)try{if(r=1,i&&(a=2&o[0]?i.return:o[0]?i.throw||((a=i.return)&&a.call(i),0):i.next)&&!(a=a.call(i,o[1])).done)return a;switch(i=0,a&&(o=[2&o[0],a.value]),o[0]){case 0:case 1:a=o;break;case 4:return n.label++,{value:o[1],done:!1};case 5:n.label++,i=o[1],o=[0];continue;case 7:o=n.ops.pop(),n.trys.pop();continue;default:if(!(a=n.trys,(a=a.length>0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]config).eventHooks?.applicationContextProvider; - delete (config).eventHooks; - this.populateConfig(config, isBootstrap); if (this.embedtype === 'create') { - this.setIframe(false /* set EventListener to call create() on 'load' event*/, phasedRender, isBootstrap, registerQueryCallback); + 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, registerQueryCallback); + this.setIframe(true /* set EventListener to call load() on 'load' event*/, phasedRender, isBootstrap); } } @@ -540,6 +537,11 @@ export abstract class Embed { this.config.accessToken = this.getAccessToken(this.service.accessToken); } + const registerQueryCallback = !!(this.config).eventHooks?.applicationContextProvider; + delete (this.config).eventHooks; + if (registerQueryCallback && this.embedtype === "report") + this.config.embedUrl = addParamToUrl(this.config.embedUrl, "registerQueryCallback", "true"); + this.configChanged(isBootstrap); } @@ -710,9 +712,6 @@ export abstract class Embed { const iframeContent = document.createElement("iframe"); let embedUrl = this.config.uniqueId ? addParamToUrl(this.config.embedUrl, 'uid', this.config.uniqueId) : this.config.embedUrl; - if (!isBootstrap && registerQueryCallback) - embedUrl = addParamToUrl(embedUrl, "registerQueryCallback", "true"); - iframeContent.style.width = '100%'; iframeContent.style.height = '100%'; iframeContent.setAttribute("src", embedUrl); diff --git a/src/service.ts b/src/service.ts index 563cc17d..375f8c31 100644 --- a/src/service.ts +++ b/src/service.ts @@ -326,6 +326,7 @@ export class Service implements IService { * @param {IBootstrapEmbedConfiguration} config: a bootstrap config which is an embed config without access token. */ bootstrap(element: HTMLElement, config: IComponentEmbedConfiguration | IBootstrapEmbedConfiguration): Embed { + this.registerApplicationContextHook(config as IEmbedConfiguration); return this.embedInternal(element, config, /* phasedRender */ false, /* isBootstrap */ true); } @@ -451,6 +452,10 @@ export class Service implements IService { return; } + if (config?.type.toLowerCase() !== "report") { + throw new Error("applicationContextProvider is only supported in report embed"); + } + if (typeof applicationContextProvider !== 'function') { throw new Error("applicationContextProvider must be a function"); } From 7801d1ede0e42bb517594a2edce73ffac5075201 Mon Sep 17 00:00:00 2001 From: Saleh Mahameed Date: Mon, 6 Sep 2021 05:16:42 +0000 Subject: [PATCH 075/125] Merged PR 154397: [Embedded] Support Zoom Programmatically Added getter and setter for zoom methods in Report class. Related Work Item: #527743 Related PRs: - Models : https://powerbi.visualstudio.com/DefaultCollection/Embedded/_git/powerbi-models/pullrequest/154398 - PBIClients : https://powerbi.visualstudio.com/PowerBIClients/_git/PowerBIClients/pullrequest/154396 Related work items: #527743 --- dist/powerbi-client.d.ts | 12 ++- dist/powerbi.js | 197 ++++++++++++++++++++++++++++----------- dist/powerbi.min.js | 4 +- package.json | 4 +- src/config.ts | 2 +- src/report.ts | 21 +++++ 6 files changed, 178 insertions(+), 62 deletions(-) diff --git a/dist/powerbi-client.d.ts b/dist/powerbi-client.d.ts index 3d50ac45..2e9082b2 100644 --- a/dist/powerbi-client.d.ts +++ b/dist/powerbi-client.d.ts @@ -1,4 +1,4 @@ -// powerbi-client v2.18.5 +// powerbi-client v2.18.6 // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. declare module "config" { @@ -1564,6 +1564,16 @@ declare module "report" { * @hidden */ private isMobileSettings; + /** + * Return the current zoom level of the report. + * @returns {Promise} + */ + getZoom(): Promise; + /** + * Sets the report's zoom level. + * @param zoomLevel zoom level to set + */ + setZoom(zoomLevel: number): Promise; } } declare module "create" { diff --git a/dist/powerbi.js b/dist/powerbi.js index 4e92c0ea..94daed7b 100644 --- a/dist/powerbi.js +++ b/dist/powerbi.js @@ -1,4 +1,4 @@ -// powerbi-client v2.18.5 +// powerbi-client v2.18.6 // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. (function webpackUniversalModuleDefinition(root, factory) { @@ -290,7 +290,7 @@ return /******/ (function(modules) { // webpackBootstrap /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { -// powerbi-models v1.9.3 +// powerbi-models v1.9.5 // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. (function webpackUniversalModuleDefinition(root, factory) { @@ -404,7 +404,7 @@ var __extends = (this && this.__extends) || (function () { }; })(); Object.defineProperty(exports, "__esModule", { value: true }); -exports.validateCustomTheme = exports.validateCommandsSettings = exports.validateVisualSettings = exports.validateVisualHeader = exports.validateExportDataRequest = exports.validateQnaInterpretInputData = exports.validateLoadQnaConfiguration = exports.validateSaveAsParameters = exports.validateUpdateFiltersRequest = exports.validateFilter = exports.validatePage = exports.validateTileLoad = exports.validateDashboardLoad = exports.validateCreateReport = exports.validatePaginatedReportLoad = exports.validateReportLoad = exports.validateMenuGroupExtension = exports.validateExtension = exports.validateCustomPageSize = exports.validateVisualizationsPane = exports.validateSyncSlicersPane = exports.validateSelectionPane = exports.validatePageNavigationPane = exports.validateFieldsPane = exports.validateFiltersPane = exports.validateBookmarksPane = exports.validatePanes = exports.validateSettings = exports.validateCaptureBookmarkRequest = exports.validateApplyBookmarkStateRequest = exports.validateApplyBookmarkByNameRequest = exports.validateAddBookmarkRequest = exports.validatePlayBookmarkRequest = exports.validateSlicerState = exports.validateSlicer = exports.validateVisualSelector = exports.isIExtensionArray = exports.isIExtensions = exports.isGroupedMenuExtension = exports.isFlatMenuExtension = exports.isReportFiltersArray = exports.isOnLoadFilters = exports.VisualDataRoleKindPreference = exports.VisualDataRoleKind = exports.CommandDisplayOption = exports.SlicerTargetSelector = exports.VisualTypeSelector = exports.VisualSelector = exports.PageSelector = exports.Selector = exports.SortDirection = exports.LegendPosition = exports.TextAlignment = exports.CommonErrorCodes = exports.BookmarksPlayMode = exports.ExportDataType = exports.QnaMode = exports.PageNavigationPosition = exports.isColumnAggr = exports.isHierarchyLevelAggr = exports.isHierarchyLevel = exports.isColumn = exports.isMeasure = exports.getFilterType = exports.isBasicFilterWithKeys = exports.isFilterKeyColumnsTarget = exports.AdvancedFilter = exports.TupleFilter = exports.IdentityFilter = exports.BasicFilterWithKeys = exports.BasicFilter = exports.RelativeTimeFilter = exports.RelativeDateFilter = exports.TopNFilter = exports.IncludeExcludeFilter = exports.NotSupportedFilter = exports.Filter = exports.RelativeDateOperators = exports.RelativeDateFilterTimeUnit = exports.FilterType = exports.FiltersLevel = exports.FiltersOperations = exports.MenuLocation = exports.ContrastMode = exports.TokenType = exports.ViewMode = exports.Permissions = exports.SectionVisibility = exports.HyperlinkClickBehavior = exports.LayoutType = exports.VisualContainerDisplayMode = exports.BackgroundType = exports.DisplayOption = exports.PageSizeType = exports.TraceType = void 0; +exports.validateZoomLevel = exports.validateCustomTheme = exports.validateCommandsSettings = exports.validateVisualSettings = exports.validateVisualHeader = exports.validateExportDataRequest = exports.validateQnaInterpretInputData = exports.validateLoadQnaConfiguration = exports.validateSaveAsParameters = exports.validateUpdateFiltersRequest = exports.validateFilter = exports.validatePage = exports.validateTileLoad = exports.validateDashboardLoad = exports.validateCreateReport = exports.validatePaginatedReportLoad = exports.validateReportLoad = exports.validateMenuGroupExtension = exports.validateExtension = exports.validateCustomPageSize = exports.validateVisualizationsPane = exports.validateSyncSlicersPane = exports.validateSelectionPane = exports.validatePageNavigationPane = exports.validateFieldsPane = exports.validateFiltersPane = exports.validateBookmarksPane = exports.validatePanes = exports.validateSettings = exports.validateCaptureBookmarkRequest = exports.validateApplyBookmarkStateRequest = exports.validateApplyBookmarkByNameRequest = exports.validateAddBookmarkRequest = exports.validatePlayBookmarkRequest = exports.validateSlicerState = exports.validateSlicer = exports.validateVisualSelector = exports.isIExtensionArray = exports.isIExtensions = exports.isGroupedMenuExtension = exports.isFlatMenuExtension = exports.isReportFiltersArray = exports.isOnLoadFilters = exports.VisualDataRoleKindPreference = exports.VisualDataRoleKind = exports.CommandDisplayOption = exports.SlicerTargetSelector = exports.VisualTypeSelector = exports.VisualSelector = exports.PageSelector = exports.Selector = exports.SortDirection = exports.LegendPosition = exports.TextAlignment = exports.CommonErrorCodes = exports.BookmarksPlayMode = exports.ExportDataType = exports.QnaMode = exports.PageNavigationPosition = exports.isColumnAggr = exports.isHierarchyLevelAggr = exports.isHierarchyLevel = exports.isColumn = exports.isMeasure = exports.getFilterType = exports.isBasicFilterWithKeys = exports.isFilterKeyColumnsTarget = exports.AdvancedFilter = exports.TupleFilter = exports.IdentityFilter = exports.BasicFilterWithKeys = exports.BasicFilter = exports.RelativeTimeFilter = exports.RelativeDateFilter = exports.TopNFilter = exports.IncludeExcludeFilter = exports.NotSupportedFilter = exports.Filter = exports.RelativeDateOperators = exports.RelativeDateFilterTimeUnit = exports.FilterType = exports.FiltersLevel = exports.FiltersOperations = exports.MenuLocation = exports.ContrastMode = exports.TokenType = exports.ViewMode = exports.Permissions = exports.SectionVisibility = exports.ReportAlignment = exports.HyperlinkClickBehavior = exports.LayoutType = exports.VisualContainerDisplayMode = exports.BackgroundType = exports.DisplayOption = exports.PageSizeType = exports.TraceType = void 0; var validator_1 = __webpack_require__(1); var TraceType; (function (TraceType) { @@ -454,6 +454,13 @@ var HyperlinkClickBehavior; HyperlinkClickBehavior[HyperlinkClickBehavior["NavigateAndRaiseEvent"] = 1] = "NavigateAndRaiseEvent"; HyperlinkClickBehavior[HyperlinkClickBehavior["RaiseEvent"] = 2] = "RaiseEvent"; })(HyperlinkClickBehavior = exports.HyperlinkClickBehavior || (exports.HyperlinkClickBehavior = {})); +var ReportAlignment; +(function (ReportAlignment) { + ReportAlignment[ReportAlignment["Left"] = 0] = "Left"; + ReportAlignment[ReportAlignment["Center"] = 1] = "Center"; + ReportAlignment[ReportAlignment["Right"] = 2] = "Right"; + ReportAlignment[ReportAlignment["None"] = 3] = "None"; +})(ReportAlignment = exports.ReportAlignment || (exports.ReportAlignment = {})); var SectionVisibility; (function (SectionVisibility) { SectionVisibility[SectionVisibility["AlwaysVisible"] = 0] = "AlwaysVisible"; @@ -1222,6 +1229,11 @@ function validateCustomTheme(input) { return errors ? errors.map(normalizeError) : undefined; } exports.validateCustomTheme = validateCustomTheme; +function validateZoomLevel(input) { + var errors = validator_1.Validators.zoomLevelValidator.validate(input); + return errors ? errors.map(normalizeError) : undefined; +} +exports.validateZoomLevel = validateZoomLevel; /***/ }), @@ -1387,6 +1399,7 @@ exports.Validators = { visualSelectorValidator: new selectorsValidator_1.VisualSelectorValidator(), visualSettingsValidator: new visualSettingsValidator_1.VisualSettingsValidator(), visualTypeSelectorValidator: new selectorsValidator_1.VisualTypeSelectorValidator(), + zoomLevelValidator: new typeValidator_1.RangeValidator(0.25, 4), }; @@ -1520,7 +1533,7 @@ var __extends = (this && this.__extends) || (function () { }; })(); Object.defineProperty(exports, "__esModule", { value: true }); -exports.NumberArrayValidator = exports.BooleanArrayValidator = exports.StringArrayValidator = exports.EnumValidator = exports.SchemaValidator = exports.ValueValidator = exports.NumberValidator = exports.BooleanValidator = exports.StringValidator = exports.TypeValidator = exports.ArrayValidator = exports.ObjectValidator = void 0; +exports.RangeValidator = exports.NumberArrayValidator = exports.BooleanArrayValidator = exports.StringArrayValidator = exports.EnumValidator = exports.SchemaValidator = exports.ValueValidator = exports.NumberValidator = exports.BooleanValidator = exports.StringValidator = exports.TypeValidator = exports.ArrayValidator = exports.ObjectValidator = void 0; var ObjectValidator = /** @class */ (function () { function ObjectValidator() { } @@ -1729,6 +1742,35 @@ var NumberArrayValidator = /** @class */ (function (_super) { return NumberArrayValidator; }(ArrayValidator)); exports.NumberArrayValidator = NumberArrayValidator; +var RangeValidator = /** @class */ (function (_super) { + __extends(RangeValidator, _super); + function RangeValidator(minValue, maxValue) { + var _this = _super.call(this) || this; + _this.minValue = minValue; + _this.maxValue = maxValue; + return _this; + } + RangeValidator.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; + } + // input is a number, now check if it's in the given range + if (input > this.maxValue || input < this.minValue) { + return [{ + message: field + " must be a number between " + this.minValue + " and " + this.maxValue, + path: (path ? path + "." : "") + field, + keyword: "range" + }]; + } + return null; + }; + return RangeValidator; +}(NumberValidator)); +exports.RangeValidator = RangeValidator; /***/ }), @@ -6948,7 +6990,7 @@ var BookmarksManager = /** @class */ (function () { return __generator(this, function (_a) { switch (_a.label) { case 0: - if (util_1.isRDLEmbed(this.config.embedUrl)) { + if ((0, util_1.isRDLEmbed)(this.config.embedUrl)) { return [2 /*return*/, Promise.reject(errors_1.APINotSupportedForRDLError)]; } _a.label = 1; @@ -6982,7 +7024,7 @@ var BookmarksManager = /** @class */ (function () { return __generator(this, function (_a) { switch (_a.label) { case 0: - if (util_1.isRDLEmbed(this.config.embedUrl)) { + if ((0, util_1.isRDLEmbed)(this.config.embedUrl)) { return [2 /*return*/, Promise.reject(errors_1.APINotSupportedForRDLError)]; } request = { @@ -7018,7 +7060,7 @@ var BookmarksManager = /** @class */ (function () { return __generator(this, function (_a) { switch (_a.label) { case 0: - if (util_1.isRDLEmbed(this.config.embedUrl)) { + if ((0, util_1.isRDLEmbed)(this.config.embedUrl)) { return [2 /*return*/, Promise.reject(errors_1.APINotSupportedForRDLError)]; } playBookmarkRequest = { @@ -7053,7 +7095,7 @@ var BookmarksManager = /** @class */ (function () { return __generator(this, function (_a) { switch (_a.label) { case 0: - if (util_1.isRDLEmbed(this.config.embedUrl)) { + if ((0, util_1.isRDLEmbed)(this.config.embedUrl)) { return [2 /*return*/, Promise.reject(errors_1.APINotSupportedForRDLError)]; } request = { @@ -7090,7 +7132,7 @@ var BookmarksManager = /** @class */ (function () { return __generator(this, function (_a) { switch (_a.label) { case 0: - if (util_1.isRDLEmbed(this.config.embedUrl)) { + if ((0, util_1.isRDLEmbed)(this.config.embedUrl)) { return [2 /*return*/, Promise.reject(errors_1.APINotSupportedForRDLError)]; } request = { @@ -7128,7 +7170,7 @@ exports.BookmarksManager = BookmarksManager; Object.defineProperty(exports, "__esModule", { value: true }); /** @ignore */ /** */ var config = { - version: '2.18.5', + version: '2.18.6', type: 'js' }; exports.default = config; @@ -7232,7 +7274,7 @@ var Create = /** @class */ (function (_super) { * Validate create report configuration. */ Create.prototype.validate = function (config) { - return powerbi_models_1.validateCreateReport(config); + return (0, powerbi_models_1.validateCreateReport)(config); }; /** * Handle config changes. @@ -7399,7 +7441,7 @@ var Dashboard = /** @class */ (function (_super) { */ Dashboard.prototype.validate = function (baseConfig) { var config = baseConfig; - var error = powerbi_models_1.validateDashboardLoad(config); + var error = (0, powerbi_models_1.validateDashboardLoad)(config); return error ? error : this.validatePageView(config.pageView); }; /** @@ -7521,7 +7563,7 @@ var Embed = /** @class */ (function () { function Embed(service, element, config, iframe, phasedRender, isBootstrap) { /** @hidden */ this.allowedEvents = []; - if (util_1.autoAuthInEmbedUrl(config.embedUrl)) { + if ((0, util_1.autoAuthInEmbedUrl)(config.embedUrl)) { throw new Error(errors_1.EmbedUrlNotSupported); } Array.prototype.push.apply(this.allowedEvents, Embed.allowedEvents); @@ -7707,7 +7749,7 @@ var Embed = /** @class */ (function () { sdkVersion: sdkConfig.default.version }; timeNow = new Date(); - if (this.lastLoadRequest && util_1.getTimeDiffInMilliseconds(this.lastLoadRequest, timeNow) < 100) { + if (this.lastLoadRequest && (0, util_1.getTimeDiffInMilliseconds)(this.lastLoadRequest, timeNow) < 100) { console.debug("Power BI SDK sent more than two /report/load requests in the last 100ms interval."); return [2 /*return*/]; } @@ -7752,7 +7794,7 @@ var Embed = /** @class */ (function () { var _this = this; var fakeEvent = { name: eventName, type: null, id: null, value: null }; if (handler) { - util_1.remove(function (eventHandler) { return eventHandler.test(fakeEvent) && (eventHandler.handle === handler); }, this.eventHandlers); + (0, util_1.remove)(function (eventHandler) { return eventHandler.test(fakeEvent) && (eventHandler.handle === handler); }, this.eventHandlers); this.element.removeEventListener(eventName, handler); } else { @@ -7760,7 +7802,7 @@ var Embed = /** @class */ (function () { .filter(function (eventHandler) { return eventHandler.test(fakeEvent); }); eventHandlersToRemove .forEach(function (eventHandlerToRemove) { - util_1.remove(function (eventHandler) { return eventHandler === eventHandlerToRemove; }, _this.eventHandlers); + (0, util_1.remove)(function (eventHandler) { return eventHandler === eventHandlerToRemove; }, _this.eventHandlers); _this.element.removeEventListener(eventName, eventHandlerToRemove.handle); }); } @@ -7866,14 +7908,14 @@ var Embed = /** @class */ (function () { var _this = this; var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k; if (this.bootstrapConfig) { - this.config = util_1.assign({}, this.bootstrapConfig, config); + this.config = (0, util_1.assign)({}, this.bootstrapConfig, config); // reset bootstrapConfig because we do not want to merge it in re-embed scenario. this.bootstrapConfig = null; } else { // Copy config - important for multiple iframe scenario. // Otherwise, if a user uses the same config twice, same unique Id which will be used in different iframes. - this.config = util_1.assign({}, config); + this.config = (0, util_1.assign)({}, config); } this.config.embedUrl = this.getEmbedUrl(isBootstrap); this.config.groupId = this.getGroupId(); @@ -7902,7 +7944,7 @@ var Embed = /** @class */ (function () { var registerQueryCallback = !!((_k = this.config.eventHooks) === null || _k === void 0 ? void 0 : _k.applicationContextProvider); delete this.config.eventHooks; if (registerQueryCallback && this.embedtype === "report") - this.config.embedUrl = util_1.addParamToUrl(this.config.embedUrl, "registerQueryCallback", "true"); + this.config.embedUrl = (0, util_1.addParamToUrl)(this.config.embedUrl, "registerQueryCallback", "true"); this.configChanged(isBootstrap); }; /** @@ -7918,10 +7960,10 @@ var Embed = /** @class */ (function () { } var localeSettings = config.settings.localeSettings; if (localeSettings && localeSettings.language) { - this.config.embedUrl = util_1.addParamToUrl(this.config.embedUrl, 'language', localeSettings.language); + this.config.embedUrl = (0, util_1.addParamToUrl)(this.config.embedUrl, 'language', localeSettings.language); } if (localeSettings && localeSettings.formatLocale) { - this.config.embedUrl = util_1.addParamToUrl(this.config.embedUrl, 'formatLocale', localeSettings.formatLocale); + this.config.embedUrl = (0, util_1.addParamToUrl)(this.config.embedUrl, 'formatLocale', localeSettings.formatLocale); } }; /** @@ -7969,7 +8011,7 @@ var Embed = /** @class */ (function () { * @hidden */ Embed.prototype.getUniqueId = function () { - return this.config.uniqueId || this.element.getAttribute(Embed.nameAttribute) || util_1.createRandomString(); + return this.config.uniqueId || this.element.getAttribute(Embed.nameAttribute) || (0, util_1.createRandomString)(); }; /** * Gets the group ID from the first available location: options, embeddedUrl. @@ -8020,7 +8062,7 @@ var Embed = /** @class */ (function () { var _this = this; if (!this.iframe) { var iframeContent = document.createElement("iframe"); - var embedUrl = this.config.uniqueId ? util_1.addParamToUrl(this.config.embedUrl, 'uid', this.config.uniqueId) : this.config.embedUrl; + var embedUrl = this.config.uniqueId ? (0, util_1.addParamToUrl)(this.config.embedUrl, 'uid', this.config.uniqueId) : this.config.embedUrl; iframeContent.style.width = '100%'; iframeContent.style.height = '100%'; iframeContent.setAttribute("src", embedUrl); @@ -8532,7 +8574,7 @@ var Page = /** @class */ (function () { return __generator(this, function (_a) { switch (_a.label) { case 0: - if (util_1.isRDLEmbed(this.report.config.embedUrl)) { + if ((0, util_1.isRDLEmbed)(this.report.config.embedUrl)) { return [2 /*return*/, Promise.reject(errors_1.APINotSupportedForRDLError)]; } _a.label = 1; @@ -8570,7 +8612,7 @@ var Page = /** @class */ (function () { return __generator(this, function (_a) { switch (_a.label) { case 0: - if (util_1.isRDLEmbed(this.report.config.embedUrl)) { + if ((0, util_1.isRDLEmbed)(this.report.config.embedUrl)) { return [2 /*return*/, Promise.reject(errors_1.APINotSupportedForRDLError)]; } _a.label = 1; @@ -8705,7 +8747,7 @@ var Page = /** @class */ (function () { return __generator(this, function (_a) { switch (_a.label) { case 0: - if (util_1.isRDLEmbed(this.report.config.embedUrl)) { + if ((0, util_1.isRDLEmbed)(this.report.config.embedUrl)) { return [2 /*return*/, Promise.reject(errors_1.APINotSupportedForRDLError)]; } _a.label = 1; @@ -8741,7 +8783,7 @@ var Page = /** @class */ (function () { return __generator(this, function (_a) { switch (_a.label) { case 0: - if (util_1.isRDLEmbed(this.report.config.embedUrl)) { + if ((0, util_1.isRDLEmbed)(this.report.config.embedUrl)) { return [2 /*return*/, Promise.reject(errors_1.APINotSupportedForRDLError)]; } layoutTypeEnum = powerbi_models_1.LayoutType[layoutType]; @@ -8958,7 +9000,7 @@ var Qna = /** @class */ (function (_super) { * Validate load configuration. */ Qna.prototype.validate = function (config) { - return powerbi_models_1.validateLoadQnaConfiguration(config); + return (0, powerbi_models_1.validateLoadQnaConfiguration)(config); }; /** @hidden */ Qna.type = "Qna"; @@ -9031,10 +9073,14 @@ var __generator = (this && this.__generator) || function (thisArg, body) { if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true }; } }; -var __spreadArray = (this && this.__spreadArray) || function (to, from) { - for (var i = 0, il = from.length, j = to.length; i < il; i++, j++) - to[j] = from[i]; - return to; +var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) { + if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) { + if (ar || !(i in from)) { + if (!ar) ar = Array.prototype.slice.call(from, 0, i); + ar[i] = from[i]; + } + } + return to.concat(ar || Array.prototype.slice.call(from)); }; Object.defineProperty(exports, "__esModule", { value: true }); exports.Report = void 0; @@ -9245,7 +9291,7 @@ var Report = /** @class */ (function (_super) { return __generator(this, function (_a) { switch (_a.label) { case 0: - if (util_1.isRDLEmbed(this.config.embedUrl)) { + if ((0, util_1.isRDLEmbed)(this.config.embedUrl)) { return [2 /*return*/, Promise.reject(errors_1.APINotSupportedForRDLError)]; } _a.label = 1; @@ -9309,7 +9355,7 @@ var Report = /** @class */ (function (_super) { Report.prototype.removeFilters = function () { return __awaiter(this, void 0, void 0, function () { return __generator(this, function (_a) { - if (util_1.isRDLEmbed(this.config.embedUrl)) { + if ((0, util_1.isRDLEmbed)(this.config.embedUrl)) { return [2 /*return*/, Promise.reject(errors_1.APINotSupportedForRDLError)]; } return [2 /*return*/, this.updateFilters(powerbi_models_1.FiltersOperations.RemoveAll)]; @@ -9339,7 +9385,7 @@ var Report = /** @class */ (function (_super) { return __generator(this, function (_a) { switch (_a.label) { case 0: - if (util_1.isRDLEmbed(this.config.embedUrl)) { + if ((0, util_1.isRDLEmbed)(this.config.embedUrl)) { return [2 /*return*/, Promise.reject(errors_1.APINotSupportedForRDLError)]; } _a.label = 1; @@ -9387,7 +9433,7 @@ var Report = /** @class */ (function (_super) { return __generator(this, function (_a) { switch (_a.label) { case 0: - if (util_1.isRDLEmbed(this.config.embedUrl)) { + if ((0, util_1.isRDLEmbed)(this.config.embedUrl)) { return [2 /*return*/, Promise.reject(errors_1.APINotSupportedForRDLError)]; } _a.label = 1; @@ -9425,7 +9471,7 @@ var Report = /** @class */ (function (_super) { return __generator(this, function (_a) { switch (_a.label) { case 0: - if (util_1.isRDLEmbed(this.config.embedUrl)) { + if ((0, util_1.isRDLEmbed)(this.config.embedUrl)) { return [2 /*return*/, Promise.reject(errors_1.APINotSupportedForRDLError)]; } _a.label = 1; @@ -9465,7 +9511,7 @@ var Report = /** @class */ (function (_super) { return __generator(this, function (_a) { switch (_a.label) { case 0: - if (util_1.isRDLEmbed(this.config.embedUrl)) { + if ((0, util_1.isRDLEmbed)(this.config.embedUrl)) { return [2 /*return*/, Promise.reject(errors_1.APINotSupportedForRDLError)]; } _a.label = 1; @@ -9511,7 +9557,7 @@ var Report = /** @class */ (function (_super) { return __generator(this, function (_a) { switch (_a.label) { case 0: - if (util_1.isRDLEmbed(this.config.embedUrl)) { + if ((0, util_1.isRDLEmbed)(this.config.embedUrl)) { return [2 /*return*/, Promise.reject(errors_1.APINotSupportedForRDLError)]; } _a.label = 1; @@ -9546,7 +9592,7 @@ var Report = /** @class */ (function (_super) { return __generator(this, function (_a) { switch (_a.label) { case 0: - if (util_1.isRDLEmbed(this.config.embedUrl)) { + if ((0, util_1.isRDLEmbed)(this.config.embedUrl)) { return [2 /*return*/, Promise.reject(errors_1.APINotSupportedForRDLError)]; } page = { @@ -9594,7 +9640,7 @@ var Report = /** @class */ (function (_super) { return __generator(this, function (_c) { switch (_c.label) { case 0: - if (util_1.isRDLEmbed(this.config.embedUrl) && settings.customLayout != null) { + if ((0, util_1.isRDLEmbed)(this.config.embedUrl) && settings.customLayout != null) { return [2 /*return*/, Promise.reject(errors_1.APINotSupportedForRDLError)]; } _c.label = 1; @@ -9628,10 +9674,10 @@ var Report = /** @class */ (function (_super) { * @hidden */ Report.prototype.validate = function (config) { - if (util_1.isRDLEmbed(this.config.embedUrl)) { - return powerbi_models_1.validatePaginatedReportLoad(config); + if ((0, util_1.isRDLEmbed)(this.config.embedUrl)) { + return (0, powerbi_models_1.validatePaginatedReportLoad)(config); } - return powerbi_models_1.validateReportLoad(config); + return (0, powerbi_models_1.validateReportLoad)(config); }; /** * Handle config changes. @@ -9641,7 +9687,7 @@ var Report = /** @class */ (function (_super) { Report.prototype.configChanged = function (isBootstrap) { var config = this.config; if (this.isMobileSettings(config.settings)) { - config.embedUrl = util_1.addParamToUrl(config.embedUrl, "isMobile", "true"); + config.embedUrl = (0, util_1.addParamToUrl)(config.embedUrl, "isMobile", "true"); } // Calculate settings from HTML element attributes if available. var filterPaneEnabledAttribute = this.element.getAttribute(Report.filterPaneEnabledAttribute); @@ -9651,7 +9697,7 @@ var Report = /** @class */ (function (_super) { navContentPaneEnabled: (navContentPaneEnabledAttribute == null) ? undefined : (navContentPaneEnabledAttribute !== "false") }; // Set the settings back into the config. - this.config.settings = util_1.assign({}, elementAttrSettings, config.settings); + this.config.settings = (0, util_1.assign)({}, elementAttrSettings, config.settings); if (isBootstrap) { return; } @@ -9737,10 +9783,10 @@ var Report = /** @class */ (function (_super) { return __generator(this, function (_a) { switch (_a.label) { case 0: - if (util_1.isRDLEmbed(this.config.embedUrl)) { + if ((0, util_1.isRDLEmbed)(this.config.embedUrl)) { return [2 /*return*/, Promise.reject(errors_1.APINotSupportedForRDLError)]; } - return [4 /*yield*/, util_1.isSavedInternal(this.service.hpm, this.config.uniqueId, this.iframe.contentWindow)]; + return [4 /*yield*/, (0, util_1.isSavedInternal)(this.service.hpm, this.config.uniqueId, this.iframe.contentWindow)]; case 1: return [2 /*return*/, _a.sent()]; } }); @@ -9758,7 +9804,7 @@ var Report = /** @class */ (function (_super) { return __generator(this, function (_a) { switch (_a.label) { case 0: - if (util_1.isRDLEmbed(this.config.embedUrl)) { + if ((0, util_1.isRDLEmbed)(this.config.embedUrl)) { return [2 /*return*/, Promise.reject(errors_1.APINotSupportedForRDLError)]; } return [4 /*yield*/, this.applyThemeInternal(theme)]; @@ -9779,7 +9825,7 @@ var Report = /** @class */ (function (_super) { return __generator(this, function (_a) { switch (_a.label) { case 0: - if (util_1.isRDLEmbed(this.config.embedUrl)) { + if ((0, util_1.isRDLEmbed)(this.config.embedUrl)) { return [2 /*return*/, Promise.reject(errors_1.APINotSupportedForRDLError)]; } return [4 /*yield*/, this.applyThemeInternal({})]; @@ -9885,7 +9931,7 @@ var Report = /** @class */ (function (_super) { return __generator(this, function (_a) { switch (_a.label) { case 0: - if (util_1.isRDLEmbed(this.config.embedUrl)) { + if ((0, util_1.isRDLEmbed)(this.config.embedUrl)) { return [2 /*return*/, Promise.reject(errors_1.APINotSupportedForRDLError)]; } commandCopy = JSON.parse(JSON.stringify(this.commands)); @@ -9936,7 +9982,7 @@ var Report = /** @class */ (function (_super) { return __generator(this, function (_a) { switch (_a.label) { case 0: - if (util_1.isRDLEmbed(this.config.embedUrl)) { + if ((0, util_1.isRDLEmbed)(this.config.embedUrl)) { return [2 /*return*/, Promise.reject(errors_1.APINotSupportedForRDLError)]; } newCommands = this.createMenuCommand("visualContextMenu", commandName, commandTitle, contextMenuTitle, menuLocation, visualName, visualType, groupName); @@ -9972,7 +10018,7 @@ var Report = /** @class */ (function (_super) { return __generator(this, function (_a) { switch (_a.label) { case 0: - if (util_1.isRDLEmbed(this.config.embedUrl)) { + if ((0, util_1.isRDLEmbed)(this.config.embedUrl)) { return [2 /*return*/, Promise.reject(errors_1.APINotSupportedForRDLError)]; } commandCopy = JSON.parse(JSON.stringify(this.commands)); @@ -10027,7 +10073,7 @@ var Report = /** @class */ (function (_super) { return __generator(this, function (_a) { switch (_a.label) { case 0: - if (util_1.isRDLEmbed(this.config.embedUrl)) { + if ((0, util_1.isRDLEmbed)(this.config.embedUrl)) { return [2 /*return*/, Promise.reject(errors_1.APINotSupportedForRDLError)]; } newCommands = this.createMenuCommand("visualOptionsMenu", commandName, commandTitle, optionsMenuTitle, menuLocation, visualName, visualType, groupName, commandIcon); @@ -10250,7 +10296,7 @@ var Report = /** @class */ (function (_super) { visualType: visualType }; } - return __spreadArray(__spreadArray([], this.commands), [newCommandObj]); + return __spreadArray(__spreadArray([], this.commands, true), [newCommandObj], false); }; /** * @hidden @@ -10339,6 +10385,45 @@ var Report = /** @class */ (function (_super) { Report.prototype.isMobileSettings = function (settings) { return settings && (settings.layoutType === powerbi_models_1.LayoutType.MobileLandscape || settings.layoutType === powerbi_models_1.LayoutType.MobilePortrait); }; + /** + * Return the current zoom level of the report. + * @returns {Promise} + */ + Report.prototype.getZoom = function () { + return __awaiter(this, void 0, void 0, function () { + var response, response_20; + return __generator(this, function (_a) { + switch (_a.label) { + case 0: + _a.trys.push([0, 2, , 3]); + return [4 /*yield*/, this.service.hpm.get("/report/zoom", { uid: this.config.uniqueId }, this.iframe.contentWindow)]; + case 1: + response = _a.sent(); + return [2 /*return*/, response.body]; + case 2: + response_20 = _a.sent(); + throw response_20.body; + case 3: return [2 /*return*/]; + } + }); + }); + }; + /** + * Sets the report's zoom level. + * @param zoomLevel zoom level to set + */ + Report.prototype.setZoom = function (zoomLevel) { + return __awaiter(this, void 0, void 0, function () { + return __generator(this, function (_a) { + switch (_a.label) { + case 0: return [4 /*yield*/, this.updateSettings({ zoomLevel: zoomLevel })]; + case 1: + _a.sent(); + return [2 /*return*/]; + } + }); + }); + }; /** @hidden */ Report.allowedEvents = ["filtersApplied", "pageChanged", "commandTriggered", "swipeStart", "swipeEnd", "bookmarkApplied", "dataHyperlinkClicked", "visualRendered", "visualClicked", "selectionChanged", "renderingStarted"]; /** @hidden */ @@ -10958,7 +11043,7 @@ var Tile = /** @class */ (function (_super) { */ Tile.prototype.validate = function (config) { var embedConfig = config; - return powerbi_models_1.validateTileLoad(embedConfig); + return (0, powerbi_models_1.validateTileLoad)(embedConfig); }; /** * Handle config changes. diff --git a/dist/powerbi.min.js b/dist/powerbi.min.js index c87b8561..c64fcd9d 100644 --- a/dist/powerbi.min.js +++ b/dist/powerbi.min.js @@ -1,7 +1,7 @@ -// powerbi-client v2.18.5 +// powerbi-client v2.18.6 // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. -!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){var e={};function r(i){if(e[i])return e[i].exports;var a=e[i]={i:i,l:!1,exports:{}};return t[i].call(a.exports,a,a.exports,r),a.l=!0,a.exports}return r.m=t,r.c=e,r.d=function(t,e,i){r.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:i})},r.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},r.t=function(t,e){if(1&e&&(t=r(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var i=Object.create(null);if(r.r(i),Object.defineProperty(i,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var a in t)r.d(i,a,function(e){return t[e]}.bind(null,a));return i},r.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return r.d(e,"a",e),e},r.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},r.p="",r(r.s=13)}([function(t,e,r){var i;i=function(){return function(t){var e={};function r(i){if(e[i])return e[i].exports;var a=e[i]={i:i,l:!1,exports:{}};return t[i].call(a.exports,a,a.exports,r),a.l=!0,a.exports}return r.m=t,r.c=e,r.d=function(t,e,i){r.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:i})},r.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},r.t=function(t,e){if(1&e&&(t=r(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var i=Object.create(null);if(r.r(i),Object.defineProperty(i,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var a in t)r.d(i,a,function(e){return t[e]}.bind(null,a));return i},r.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return r.d(e,"a",e),e},r.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},r.p="",r(r.s=0)}([function(t,e,r){var i,a=this&&this.__extends||(i=function(t,e){return(i=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])})(t,e)},function(t,e){function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.validateCustomTheme=e.validateCommandsSettings=e.validateVisualSettings=e.validateVisualHeader=e.validateExportDataRequest=e.validateQnaInterpretInputData=e.validateLoadQnaConfiguration=e.validateSaveAsParameters=e.validateUpdateFiltersRequest=e.validateFilter=e.validatePage=e.validateTileLoad=e.validateDashboardLoad=e.validateCreateReport=e.validatePaginatedReportLoad=e.validateReportLoad=e.validateMenuGroupExtension=e.validateExtension=e.validateCustomPageSize=e.validateVisualizationsPane=e.validateSyncSlicersPane=e.validateSelectionPane=e.validatePageNavigationPane=e.validateFieldsPane=e.validateFiltersPane=e.validateBookmarksPane=e.validatePanes=e.validateSettings=e.validateCaptureBookmarkRequest=e.validateApplyBookmarkStateRequest=e.validateApplyBookmarkByNameRequest=e.validateAddBookmarkRequest=e.validatePlayBookmarkRequest=e.validateSlicerState=e.validateSlicer=e.validateVisualSelector=e.isIExtensionArray=e.isIExtensions=e.isGroupedMenuExtension=e.isFlatMenuExtension=e.isReportFiltersArray=e.isOnLoadFilters=e.VisualDataRoleKindPreference=e.VisualDataRoleKind=e.CommandDisplayOption=e.SlicerTargetSelector=e.VisualTypeSelector=e.VisualSelector=e.PageSelector=e.Selector=e.SortDirection=e.LegendPosition=e.TextAlignment=e.CommonErrorCodes=e.BookmarksPlayMode=e.ExportDataType=e.QnaMode=e.PageNavigationPosition=e.isColumnAggr=e.isHierarchyLevelAggr=e.isHierarchyLevel=e.isColumn=e.isMeasure=e.getFilterType=e.isBasicFilterWithKeys=e.isFilterKeyColumnsTarget=e.AdvancedFilter=e.TupleFilter=e.IdentityFilter=e.BasicFilterWithKeys=e.BasicFilter=e.RelativeTimeFilter=e.RelativeDateFilter=e.TopNFilter=e.IncludeExcludeFilter=e.NotSupportedFilter=e.Filter=e.RelativeDateOperators=e.RelativeDateFilterTimeUnit=e.FilterType=e.FiltersLevel=e.FiltersOperations=e.MenuLocation=e.ContrastMode=e.TokenType=e.ViewMode=e.Permissions=e.SectionVisibility=e.HyperlinkClickBehavior=e.LayoutType=e.VisualContainerDisplayMode=e.BackgroundType=e.DisplayOption=e.PageSizeType=e.TraceType=void 0;var o,n=r(1);!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"}(e.TraceType||(e.TraceType={})),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",t[t.Mobile=5]="Mobile"}(e.PageSizeType||(e.PageSizeType={})),function(t){t[t.FitToPage=0]="FitToPage",t[t.FitToWidth=1]="FitToWidth",t[t.ActualSize=2]="ActualSize"}(e.DisplayOption||(e.DisplayOption={})),function(t){t[t.Default=0]="Default",t[t.Transparent=1]="Transparent"}(e.BackgroundType||(e.BackgroundType={})),function(t){t[t.Visible=0]="Visible",t[t.Hidden=1]="Hidden"}(e.VisualContainerDisplayMode||(e.VisualContainerDisplayMode={})),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={})),function(t){t[t.Navigate=0]="Navigate",t[t.NavigateAndRaiseEvent=1]="NavigateAndRaiseEvent",t[t.RaiseEvent=2]="RaiseEvent"}(e.HyperlinkClickBehavior||(e.HyperlinkClickBehavior={})),function(t){t[t.AlwaysVisible=0]="AlwaysVisible",t[t.HiddenInViewMode=1]="HiddenInViewMode"}(e.SectionVisibility||(e.SectionVisibility={})),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"}(e.Permissions||(e.Permissions={})),function(t){t[t.View=0]="View",t[t.Edit=1]="Edit"}(e.ViewMode||(e.ViewMode={})),function(t){t[t.Aad=0]="Aad",t[t.Embed=1]="Embed"}(e.TokenType||(e.TokenType={})),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"}(e.ContrastMode||(e.ContrastMode={})),function(t){t[t.Bottom=0]="Bottom",t[t.Top=1]="Top"}(e.MenuLocation||(e.MenuLocation={})),function(t){t[t.RemoveAll=0]="RemoveAll",t[t.ReplaceAll=1]="ReplaceAll",t[t.Add=2]="Add",t[t.Replace=3]="Replace"}(e.FiltersOperations||(e.FiltersOperations={})),function(t){t[t.Report=0]="Report",t[t.Page=1]="Page",t[t.Visual=2]="Visual"}(e.FiltersLevel||(e.FiltersLevel={})),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",t[t.Identity=8]="Identity"}(o=e.FilterType||(e.FilterType={})),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"}(e.RelativeDateFilterTimeUnit||(e.RelativeDateFilterTimeUnit={})),function(t){t[t.InLast=0]="InLast",t[t.InThis=1]="InThis",t[t.InNext=2]="InNext"}(e.RelativeDateOperators||(e.RelativeDateOperators={}));var l=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=l;var s=function(t){function e(r,i,a){var n=t.call(this,r,o.Unknown)||this;return n.message=i,n.notSupportedTypeName=a,n.schemaUrl=e.schemaUrl,n}return a(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}(l);e.NotSupportedFilter=s;var u=function(t){function e(r,i,a){var n=t.call(this,r,o.IncludeExclude)||this;return n.values=a,n.isExclude=i,n.schemaUrl=e.schemaUrl,n}return a(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}(l);e.IncludeExcludeFilter=u;var d=function(t){function e(r,i,a,n){var l=t.call(this,r,o.TopN)||this;return l.operator=i,l.itemCount=a,l.schemaUrl=e.schemaUrl,l.orderBy=n,l}return a(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}(l);e.TopNFilter=d;var c=function(t){function e(r,i,a,n,l){var s=t.call(this,r,o.RelativeDate)||this;return s.operator=i,s.timeUnitsCount=a,s.timeUnitType=n,s.includeToday=l,s.schemaUrl=e.schemaUrl,s}return a(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}(l);e.RelativeDateFilter=c;var p=function(t){function e(r,i,a,n){var l=t.call(this,r,o.RelativeTime)||this;return l.operator=i,l.timeUnitsCount=a,l.timeUnitType=n,l.schemaUrl=e.schemaUrl,l}return a(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}(l);e.RelativeTimeFilter=p;var f=function(t){function e(r,i){for(var a=[],n=2;n0&&!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,s=o.keyValues;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 s.conditions=l,s}return a(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}(l);function V(t){if(t.filterType)return t.filterType;var e=t,r=t;return"string"==typeof e.operator&&Array.isArray(e.values)?o.Basic:"string"==typeof r.logicalOperator&&Array.isArray(r.conditions)?o.Advanced:o.Unknown}function g(t){return!(!t.table||!t.column||t.aggregationFunction)}e.AdvancedFilter=m,e.isFilterKeyColumnsTarget=function(t){return g(t)&&!!t.keys},e.isBasicFilterWithKeys=function(t){return V(t)===o.Basic&&!!t.keyValues},e.getFilterType=V,e.isMeasure=function(t){return void 0!==t.table&&void 0!==t.measure},e.isColumn=g,e.isHierarchyLevel=function(t){return!(!(t.table&&t.hierarchy&&t.hierarchyLevel)||t.aggregationFunction)},e.isHierarchyLevelAggr=function(t){return!!(t.table&&t.hierarchy&&t.hierarchyLevel&&t.aggregationFunction)},e.isColumnAggr=function(t){return!!(t.table&&t.column&&t.aggregationFunction)},function(t){t[t.Bottom=0]="Bottom",t[t.Left=1]="Left"}(e.PageNavigationPosition||(e.PageNavigationPosition={})),function(t){t[t.Interactive=0]="Interactive",t[t.ResultOnly=1]="ResultOnly"}(e.QnaMode||(e.QnaMode={})),function(t){t[t.Summarized=0]="Summarized",t[t.Underlying=1]="Underlying"}(e.ExportDataType||(e.ExportDataType={})),function(t){t[t.Off=0]="Off",t[t.Presentation=1]="Presentation"}(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"},function(t){t[t.Ascending=1]="Ascending",t[t.Descending=2]="Descending"}(e.SortDirection||(e.SortDirection={}));var b=function(){function t(t){this.$schema=t}return t.prototype.toJSON=function(){return{$schema:this.$schema}},t}();e.Selector=b;var w=function(t){function e(r){var i=t.call(this,e.schemaUrl)||this;return i.pageName=r,i}return a(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}(b);e.PageSelector=w;var P=function(t){function e(r){var i=t.call(this,e.schemaUrl)||this;return i.visualName=r,i}return a(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}(b);e.VisualSelector=P;var _=function(t){function e(e){var r=t.call(this,P.schemaUrl)||this;return r.visualType=e,r}return a(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}(b);e.VisualTypeSelector=_;var O=function(t){function e(e){var r=t.call(this,P.schemaUrl)||this;return r.target=e,r}return a(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}(b);function S(t){return Array.isArray(t)}function T(t){return t&&!!t.groupName}function E(t){return Array.isArray(t)}function F(t){var e=t.message;return e||(e=t.path+" is invalid. Not meeting "+t.keyword+" constraint"),{message:e}}e.SlicerTargetSelector=O,function(t){t[t.Enabled=0]="Enabled",t[t.Disabled=1]="Disabled",t[t.Hidden=2]="Hidden"}(e.CommandDisplayOption||(e.CommandDisplayOption={})),function(t){t[t.Grouping=0]="Grouping",t[t.Measure=1]="Measure",t[t.GroupingOrMeasure=2]="GroupingOrMeasure"}(e.VisualDataRoleKind||(e.VisualDataRoleKind={})),function(t){t[t.Measure=0]="Measure",t[t.Grouping=1]="Grouping"}(e.VisualDataRoleKindPreference||(e.VisualDataRoleKindPreference={})),e.isOnLoadFilters=function(t){return t&&!S(t)},e.isReportFiltersArray=S,e.isFlatMenuExtension=function(t){return t&&!T(t)},e.isGroupedMenuExtension=T,e.isIExtensions=function(t){return t&&!E(t)},e.isIExtensionArray=E,e.validateVisualSelector=function(t){var e=n.Validators.visualSelectorValidator.validate(t);return e?e.map(F):void 0},e.validateSlicer=function(t){var e=n.Validators.slicerValidator.validate(t);return e?e.map(F):void 0},e.validateSlicerState=function(t){var e=n.Validators.slicerStateValidator.validate(t);return e?e.map(F):void 0},e.validatePlayBookmarkRequest=function(t){var e=n.Validators.playBookmarkRequestValidator.validate(t);return e?e.map(F):void 0},e.validateAddBookmarkRequest=function(t){var e=n.Validators.addBookmarkRequestValidator.validate(t);return e?e.map(F):void 0},e.validateApplyBookmarkByNameRequest=function(t){var e=n.Validators.applyBookmarkByNameRequestValidator.validate(t);return e?e.map(F):void 0},e.validateApplyBookmarkStateRequest=function(t){var e=n.Validators.applyBookmarkStateRequestValidator.validate(t);return e?e.map(F):void 0},e.validateCaptureBookmarkRequest=function(t){var e=n.Validators.captureBookmarkRequestValidator.validate(t);return e?e.map(F):void 0},e.validateSettings=function(t){var e=n.Validators.settingsValidator.validate(t);return e?e.map(F):void 0},e.validatePanes=function(t){var e=n.Validators.reportPanesValidator.validate(t);return e?e.map(F):void 0},e.validateBookmarksPane=function(t){var e=n.Validators.bookmarksPaneValidator.validate(t);return e?e.map(F):void 0},e.validateFiltersPane=function(t){var e=n.Validators.filtersPaneValidator.validate(t);return e?e.map(F):void 0},e.validateFieldsPane=function(t){var e=n.Validators.fieldsPaneValidator.validate(t);return e?e.map(F):void 0},e.validatePageNavigationPane=function(t){var e=n.Validators.pageNavigationPaneValidator.validate(t);return e?e.map(F):void 0},e.validateSelectionPane=function(t){var e=n.Validators.selectionPaneValidator.validate(t);return e?e.map(F):void 0},e.validateSyncSlicersPane=function(t){var e=n.Validators.syncSlicersPaneValidator.validate(t);return e?e.map(F):void 0},e.validateVisualizationsPane=function(t){var e=n.Validators.visualizationsPaneValidator.validate(t);return e?e.map(F):void 0},e.validateCustomPageSize=function(t){var e=n.Validators.customPageSizeValidator.validate(t);return e?e.map(F):void 0},e.validateExtension=function(t){var e=n.Validators.extensionValidator.validate(t);return e?e.map(F):void 0},e.validateMenuGroupExtension=function(t){var e=n.Validators.menuGroupExtensionValidator.validate(t);return e?e.map(F):void 0},e.validateReportLoad=function(t){var e=n.Validators.reportLoadValidator.validate(t);return e?e.map(F):void 0},e.validatePaginatedReportLoad=function(t){var e=n.Validators.paginatedReportLoadValidator.validate(t);return e?e.map(F):void 0},e.validateCreateReport=function(t){var e=n.Validators.reportCreateValidator.validate(t);return e?e.map(F):void 0},e.validateDashboardLoad=function(t){var e=n.Validators.dashboardLoadValidator.validate(t);return e?e.map(F):void 0},e.validateTileLoad=function(t){var e=n.Validators.tileLoadValidator.validate(t);return e?e.map(F):void 0},e.validatePage=function(t){var e=n.Validators.pageValidator.validate(t);return e?e.map(F):void 0},e.validateFilter=function(t){var e=n.Validators.filterValidator.validate(t);return e?e.map(F):void 0},e.validateUpdateFiltersRequest=function(t){var e=n.Validators.updateFiltersRequestValidator.validate(t);return e?e.map(F):void 0},e.validateSaveAsParameters=function(t){var e=n.Validators.saveAsParametersValidator.validate(t);return e?e.map(F):void 0},e.validateLoadQnaConfiguration=function(t){var e=n.Validators.loadQnaValidator.validate(t);return e?e.map(F):void 0},e.validateQnaInterpretInputData=function(t){var e=n.Validators.qnaInterpretInputDataValidator.validate(t);return e?e.map(F):void 0},e.validateExportDataRequest=function(t){var e=n.Validators.exportDataRequestValidator.validate(t);return e?e.map(F):void 0},e.validateVisualHeader=function(t){var e=n.Validators.visualHeaderValidator.validate(t);return e?e.map(F):void 0},e.validateVisualSettings=function(t){var e=n.Validators.visualSettingsValidator.validate(t);return e?e.map(F):void 0},e.validateCommandsSettings=function(t){var e=n.Validators.commandsSettingsValidator.validate(t);return e?e.map(F):void 0},e.validateCustomTheme=function(t){var e=n.Validators.customThemeValidator.validate(t);return e?e.map(F):void 0}},function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.Validators=void 0;var i=r(2),a=r(5),o=r(6),n=r(7),l=r(8),s=r(9),u=r(10),d=r(11),c=r(12),p=r(13),f=r(14),h=r(15),v=r(16),y=r(17),m=r(18),V=r(19),g=r(20),b=r(21),w=r(22),P=r(23),_=r(24),O=r(25),S=r(26),T=r(27),E=r(28),F=r(29),R=r(4),x=r(30);e.Validators={addBookmarkRequestValidator:new a.AddBookmarkRequestValidator,advancedFilterTypeValidator:new R.EnumValidator([0]),advancedFilterValidator:new c.AdvancedFilterValidator,anyArrayValidator:new R.ArrayValidator([new S.AnyOfValidator([new R.StringValidator,new R.NumberValidator,new R.BooleanValidator])]),anyFilterValidator:new S.AnyOfValidator([new c.BasicFilterValidator,new c.AdvancedFilterValidator,new c.IncludeExcludeFilterValidator,new c.NotSupportedFilterValidator,new c.RelativeDateFilterValidator,new c.TopNFilterValidator,new c.RelativeTimeFilterValidator]),anyValueValidator:new S.AnyOfValidator([new R.StringValidator,new R.NumberValidator,new R.BooleanValidator]),actionBarValidator:new i.ActionBarValidator,applyBookmarkByNameRequestValidator:new a.ApplyBookmarkByNameRequestValidator,applyBookmarkStateRequestValidator:new a.ApplyBookmarkStateRequestValidator,applyBookmarkValidator:new S.AnyOfValidator([new a.ApplyBookmarkByNameRequestValidator,new a.ApplyBookmarkStateRequestValidator]),backgroundValidator:new R.EnumValidator([0,1]),basicFilterTypeValidator:new R.EnumValidator([1]),basicFilterValidator:new c.BasicFilterValidator,booleanArrayValidator:new R.BooleanArrayValidator,booleanValidator:new R.BooleanValidator,bookmarksPaneValidator:new h.BookmarksPaneValidator,captureBookmarkOptionsValidator:new a.CaptureBookmarkOptionsValidator,captureBookmarkRequestValidator:new a.CaptureBookmarkRequestValidator,commandDisplayOptionValidator:new R.EnumValidator([0,1,2]),commandExtensionSelectorValidator:new S.AnyOfValidator([new b.VisualSelectorValidator,new b.VisualTypeSelectorValidator]),commandExtensionArrayValidator:new R.ArrayValidator([new d.CommandExtensionValidator]),commandExtensionValidator:new d.CommandExtensionValidator,commandsSettingsArrayValidator:new R.ArrayValidator([new o.CommandsSettingsValidator]),commandsSettingsValidator:new o.CommandsSettingsValidator,conditionItemValidator:new c.ConditionItemValidator,contrastModeValidator:new R.EnumValidator([0,1,2,3,4]),customLayoutDisplayOptionValidator:new R.EnumValidator([0,1,2]),customLayoutValidator:new p.CustomLayoutValidator,customPageSizeValidator:new f.CustomPageSizeValidator,customThemeValidator:new n.CustomThemeValidator,dashboardLoadValidator:new l.DashboardLoadValidator,datasetBindingValidator:new s.DatasetBindingValidator,displayStateModeValidator:new R.EnumValidator([0,1]),displayStateValidator:new p.DisplayStateValidator,exportDataRequestValidator:new u.ExportDataRequestValidator,extensionArrayValidator:new R.ArrayValidator([new d.ExtensionValidator]),extensionsValidator:new S.AnyOfValidator([new R.ArrayValidator([new d.ExtensionValidator]),new d.ExtensionsValidator]),extensionPointsValidator:new d.ExtensionPointsValidator,extensionValidator:new d.ExtensionValidator,fieldForbiddenValidator:new T.FieldForbiddenValidator,fieldRequiredValidator:new E.FieldRequiredValidator,fieldsPaneValidator:new h.FieldsPaneValidator,filterColumnTargetValidator:new c.FilterColumnTargetValidator,filterDisplaySettingsValidator:new c.FilterDisplaySettingsValidator,filterConditionsValidator:new R.ArrayValidator([new c.ConditionItemValidator]),filterHierarchyTargetValidator:new c.FilterHierarchyTargetValidator,filterMeasureTargetValidator:new c.FilterMeasureTargetValidator,filterTargetValidator:new S.AnyOfValidator([new c.FilterColumnTargetValidator,new c.FilterHierarchyTargetValidator,new c.FilterMeasureTargetValidator]),filterValidator:new c.FilterValidator,filterTypeValidator:new R.EnumValidator([0,1,2,3,4,5,6,7]),filtersArrayValidator:new R.ArrayValidator([new c.FilterValidator]),filtersOperationsUpdateValidator:new R.EnumValidator([1,2,3]),filtersOperationsRemoveAllValidator:new R.EnumValidator([0]),filtersPaneValidator:new h.FiltersPaneValidator,hyperlinkClickBehaviorValidator:new R.EnumValidator([0,1,2]),includeExcludeFilterValidator:new c.IncludeExcludeFilterValidator,includeExludeFilterTypeValidator:new R.EnumValidator([3]),layoutTypeValidator:new R.EnumValidator([0,1,2,3]),loadQnaValidator:new v.LoadQnaValidator,menuExtensionValidator:new S.AnyOfValidator([new d.FlatMenuExtensionValidator,new d.GroupedMenuExtensionValidator]),menuGroupExtensionArrayValidator:new R.ArrayValidator([new d.MenuGroupExtensionValidator]),menuGroupExtensionValidator:new d.MenuGroupExtensionValidator,menuLocationValidator:new R.EnumValidator([0,1]),notSupportedFilterTypeValidator:new R.EnumValidator([2]),notSupportedFilterValidator:new c.NotSupportedFilterValidator,numberArrayValidator:new R.NumberArrayValidator,numberValidator:new R.NumberValidator,onLoadFiltersBaseValidator:new S.AnyOfValidator([new c.OnLoadFiltersBaseValidator,new c.OnLoadFiltersBaseRemoveOperationValidator]),pageLayoutValidator:new F.MapValidator([new R.StringValidator],[new p.VisualLayoutValidator]),pageNavigationPaneValidator:new h.PageNavigationPaneValidator,pageNavigationPositionValidator:new R.EnumValidator([0,1]),pageSizeTypeValidator:new R.EnumValidator([0,1,2,3,4,5]),pageSizeValidator:new f.PageSizeValidator,pageValidator:new f.PageValidator,pageViewFieldValidator:new f.PageViewFieldValidator,pagesLayoutValidator:new F.MapValidator([new R.StringValidator],[new p.PageLayoutValidator]),paginatedReportCommandsValidator:new o.PaginatedReportCommandsValidator,paginatedReportLoadValidator:new V.PaginatedReportLoadValidator,paginatedReportsettingsValidator:new w.PaginatedReportSettingsValidator,parametersPanelValidator:new x.ParametersPanelValidator,permissionsValidator:new R.EnumValidator([0,1,2,4,7]),playBookmarkRequestValidator:new a.PlayBookmarkRequestValidator,qnaInterpretInputDataValidator:new v.QnaInterpretInputDataValidator,qnaPanesValidator:new h.QnaPanesValidator,qnaSettingValidator:new v.QnaSettingsValidator,relativeDateFilterOperatorValidator:new R.EnumValidator([0,1,2]),relativeDateFilterTimeUnitTypeValidator:new R.EnumValidator([0,1,2,3,4,5,6]),relativeDateFilterTypeValidator:new R.EnumValidator([4]),relativeDateFilterValidator:new c.RelativeDateFilterValidator,relativeDateTimeFilterTypeValidator:new R.EnumValidator([4,7]),relativeDateTimeFilterUnitTypeValidator:new R.EnumValidator([0,1,2,3,4,5,6,7,8]),relativeTimeFilterTimeUnitTypeValidator:new R.EnumValidator([7,8]),relativeTimeFilterTypeValidator:new R.EnumValidator([7]),relativeTimeFilterValidator:new c.RelativeTimeFilterValidator,reportBarsValidator:new i.ReportBarsValidator,reportCreateValidator:new y.ReportCreateValidator,reportLoadFiltersValidator:new S.AnyOfValidator([new R.ArrayValidator([new c.FilterValidator]),new c.OnLoadFiltersValidator]),reportLoadValidator:new m.ReportLoadValidator,reportPanesValidator:new h.ReportPanesValidator,saveAsParametersValidator:new g.SaveAsParametersValidator,selectionPaneValidator:new h.SelectionPaneValidator,settingsValidator:new w.SettingsValidator,singleCommandSettingsValidator:new o.SingleCommandSettingsValidator,slicerSelectorValidator:new S.AnyOfValidator([new b.VisualSelectorValidator,new b.SlicerTargetSelectorValidator]),slicerStateValidator:new P.SlicerStateValidator,slicerTargetValidator:new S.AnyOfValidator([new c.FilterColumnTargetValidator,new c.FilterHierarchyTargetValidator,new c.FilterMeasureTargetValidator,new c.FilterKeyColumnsTargetValidator,new c.FilterKeyHierarchyTargetValidator]),slicerValidator:new P.SlicerValidator,stringArrayValidator:new R.StringArrayValidator,stringValidator:new R.StringValidator,syncSlicersPaneValidator:new h.SyncSlicersPaneValidator,tileLoadValidator:new _.TileLoadValidator,tokenTypeValidator:new R.EnumValidator([0,1]),topNFilterTypeValidator:new R.EnumValidator([5]),topNFilterValidator:new c.TopNFilterValidator,updateFiltersRequestValidator:new S.AnyOfValidator([new c.UpdateFiltersRequestValidator,new c.RemoveFiltersRequestValidator]),viewModeValidator:new R.EnumValidator([0,1]),visualCommandSelectorValidator:new S.AnyOfValidator([new b.VisualSelectorValidator,new b.VisualTypeSelectorValidator]),visualHeaderSelectorValidator:new S.AnyOfValidator([new b.VisualSelectorValidator,new b.VisualTypeSelectorValidator]),visualHeaderSettingsValidator:new O.VisualHeaderSettingsValidator,visualHeaderValidator:new O.VisualHeaderValidator,visualHeadersValidator:new R.ArrayValidator([new O.VisualHeaderValidator]),visualizationsPaneValidator:new h.VisualizationsPaneValidator,visualLayoutValidator:new p.VisualLayoutValidator,visualSelectorValidator:new b.VisualSelectorValidator,visualSettingsValidator:new O.VisualSettingsValidator,visualTypeSelectorValidator:new b.VisualTypeSelectorValidator}},function(t,e,r){var i,a=this&&this.__extends||(i=function(t,e){return(i=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])})(t,e)},function(t,e){function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.ActionBarValidator=e.ReportBarsValidator=void 0;var o=r(3),n=r(4),l=r(1),s=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return a(e,t),e.prototype.validate=function(e,r,i){if(null==e)return null;var a=t.prototype.validate.call(this,e,r,i);if(a)return a;var n=[{field:"actionBar",validators:[l.Validators.actionBarValidator]}];return new o.MultipleFieldsValidator(n).validate(e,r,i)},e}(n.ObjectValidator);e.ReportBarsValidator=s;var u=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return a(e,t),e.prototype.validate=function(e,r,i){if(null==e)return null;var a=t.prototype.validate.call(this,e,r,i);if(a)return a;var n=[{field:"visible",validators:[l.Validators.booleanValidator]}];return new o.MultipleFieldsValidator(n).validate(e,r,i)},e}(n.ObjectValidator);e.ActionBarValidator=u},function(t,e){Object.defineProperty(e,"__esModule",{value:!0}),e.MultipleFieldsValidator=void 0;var r=function(){function t(t){this.fieldValidatorsPairs=t}return t.prototype.validate=function(t,e,r){if(!this.fieldValidatorsPairs)return null;for(var i=e?e+"."+r:r,a=0,o=this.fieldValidatorsPairs;a0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0?"&":"?";return t+=i+e+"="+r},e.isSavedInternal=function(t,e,a){return r(this,void 0,void 0,(function(){return i(this,(function(r){switch(r.label){case 0:return r.trys.push([0,2,,3]),[4,t.get("/report/hasUnsavedChanges",{uid:e},a)];case 1:return[2,!r.sent().body];case 2:throw r.sent().body;case 3:return[2]}}))}))},e.isRDLEmbed=function(t){return t&&t.toLowerCase().indexOf("/rdlembed?")>=0},e.autoAuthInEmbedUrl=function(t){return t&&decodeURIComponent(t).toLowerCase().indexOf("autoauth=true")>=0},e.getRandomValue=o,e.getTimeDiffInMilliseconds=function(t,e){return Math.abs(t.getTime()-e.getTime())}},function(t,e){Object.defineProperty(e,"__esModule",{value:!0}),e.FilterBuilder=void 0;var r=function(){function t(){}return t.prototype.withTargetObject=function(t){return this.target=t,this},t.prototype.withColumnTarget=function(t,e){return this.target={table:t,column:e},this},t.prototype.withMeasureTarget=function(t,e){return this.target={table:t,measure:e},this},t.prototype.withHierarchyLevelTarget=function(t,e,r){return this.target={table:t,hierarchy:e,hierarchyLevel:r},this},t.prototype.withColumnAggregation=function(t,e,r){return this.target={table:t,column:e,aggregationFunction:r},this},t.prototype.withHierarchyLevelAggregationTarget=function(t,e,r,i){return this.target={table:t,hierarchy:e,hierarchyLevel:r,aggregationFunction:i},this},t}();e.FilterBuilder=r},function(t,e){Object.defineProperty(e,"__esModule",{value:!0}),e.EmbedUrlNotSupported=e.APINotSupportedForRDLError=void 0,e.APINotSupportedForRDLError="This API is currently not supported for RDL reports",e.EmbedUrlNotSupported="Embed URL is invalid for this scenario. Please use Power BI REST APIs to get the valid URL"},function(t,e,r){var i,a=this&&this.__extends||(i=function(t,e){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])})(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}),o=this&&this.__awaiter||function(t,e,r,i){return new(r||(r=Promise))((function(a,o){function n(t){try{s(i.next(t))}catch(t){o(t)}}function l(t){try{s(i.throw(t))}catch(t){o(t)}}function s(t){var e;t.done?a(t.value):(e=t.value,e instanceof r?e:new r((function(t){t(e)}))).then(n,l)}s((i=i.apply(t,e||[])).next())}))},n=this&&this.__generator||function(t,e){var r,i,a,o,n={label:0,sent:function(){if(1&a[0])throw a[1];return a[1]},trys:[],ops:[]};return o={next:l(0),throw:l(1),return:l(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function l(o){return function(l){return function(o){if(r)throw new TypeError("Generator is already executing.");for(;n;)try{if(r=1,i&&(a=2&o[0]?i.return:o[0]?i.throw||((a=i.return)&&a.call(i),0):i.next)&&!(a=a.call(i,o[1])).done)return a;switch(i=0,a&&(o=[2&o[0],a.value]),o[0]){case 0:case 1:a=o;break;case 4:return n.label++,{value:o[1],done:!1};case 5:n.label++,i=o[1],o=[0];continue;case 7:o=n.ops.pop(),n.trys.pop();continue;default:if(!(a=n.trys,(a=a.length>0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&!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,s=o.keyValues;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 s.conditions=l,s}return a(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}(l);function V(t){if(t.filterType)return t.filterType;var e=t,r=t;return"string"==typeof e.operator&&Array.isArray(e.values)?o.Basic:"string"==typeof r.logicalOperator&&Array.isArray(r.conditions)?o.Advanced:o.Unknown}function g(t){return!(!t.table||!t.column||t.aggregationFunction)}e.AdvancedFilter=m,e.isFilterKeyColumnsTarget=function(t){return g(t)&&!!t.keys},e.isBasicFilterWithKeys=function(t){return V(t)===o.Basic&&!!t.keyValues},e.getFilterType=V,e.isMeasure=function(t){return void 0!==t.table&&void 0!==t.measure},e.isColumn=g,e.isHierarchyLevel=function(t){return!(!(t.table&&t.hierarchy&&t.hierarchyLevel)||t.aggregationFunction)},e.isHierarchyLevelAggr=function(t){return!!(t.table&&t.hierarchy&&t.hierarchyLevel&&t.aggregationFunction)},e.isColumnAggr=function(t){return!!(t.table&&t.column&&t.aggregationFunction)},function(t){t[t.Bottom=0]="Bottom",t[t.Left=1]="Left"}(e.PageNavigationPosition||(e.PageNavigationPosition={})),function(t){t[t.Interactive=0]="Interactive",t[t.ResultOnly=1]="ResultOnly"}(e.QnaMode||(e.QnaMode={})),function(t){t[t.Summarized=0]="Summarized",t[t.Underlying=1]="Underlying"}(e.ExportDataType||(e.ExportDataType={})),function(t){t[t.Off=0]="Off",t[t.Presentation=1]="Presentation"}(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"},function(t){t[t.Ascending=1]="Ascending",t[t.Descending=2]="Descending"}(e.SortDirection||(e.SortDirection={}));var b=function(){function t(t){this.$schema=t}return t.prototype.toJSON=function(){return{$schema:this.$schema}},t}();e.Selector=b;var w=function(t){function e(r){var i=t.call(this,e.schemaUrl)||this;return i.pageName=r,i}return a(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}(b);e.PageSelector=w;var P=function(t){function e(r){var i=t.call(this,e.schemaUrl)||this;return i.visualName=r,i}return a(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}(b);e.VisualSelector=P;var _=function(t){function e(e){var r=t.call(this,P.schemaUrl)||this;return r.visualType=e,r}return a(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}(b);e.VisualTypeSelector=_;var O=function(t){function e(e){var r=t.call(this,P.schemaUrl)||this;return r.target=e,r}return a(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}(b);function S(t){return Array.isArray(t)}function T(t){return t&&!!t.groupName}function E(t){return Array.isArray(t)}function F(t){var e=t.message;return e||(e=t.path+" is invalid. Not meeting "+t.keyword+" constraint"),{message:e}}e.SlicerTargetSelector=O,function(t){t[t.Enabled=0]="Enabled",t[t.Disabled=1]="Disabled",t[t.Hidden=2]="Hidden"}(e.CommandDisplayOption||(e.CommandDisplayOption={})),function(t){t[t.Grouping=0]="Grouping",t[t.Measure=1]="Measure",t[t.GroupingOrMeasure=2]="GroupingOrMeasure"}(e.VisualDataRoleKind||(e.VisualDataRoleKind={})),function(t){t[t.Measure=0]="Measure",t[t.Grouping=1]="Grouping"}(e.VisualDataRoleKindPreference||(e.VisualDataRoleKindPreference={})),e.isOnLoadFilters=function(t){return t&&!S(t)},e.isReportFiltersArray=S,e.isFlatMenuExtension=function(t){return t&&!T(t)},e.isGroupedMenuExtension=T,e.isIExtensions=function(t){return t&&!E(t)},e.isIExtensionArray=E,e.validateVisualSelector=function(t){var e=n.Validators.visualSelectorValidator.validate(t);return e?e.map(F):void 0},e.validateSlicer=function(t){var e=n.Validators.slicerValidator.validate(t);return e?e.map(F):void 0},e.validateSlicerState=function(t){var e=n.Validators.slicerStateValidator.validate(t);return e?e.map(F):void 0},e.validatePlayBookmarkRequest=function(t){var e=n.Validators.playBookmarkRequestValidator.validate(t);return e?e.map(F):void 0},e.validateAddBookmarkRequest=function(t){var e=n.Validators.addBookmarkRequestValidator.validate(t);return e?e.map(F):void 0},e.validateApplyBookmarkByNameRequest=function(t){var e=n.Validators.applyBookmarkByNameRequestValidator.validate(t);return e?e.map(F):void 0},e.validateApplyBookmarkStateRequest=function(t){var e=n.Validators.applyBookmarkStateRequestValidator.validate(t);return e?e.map(F):void 0},e.validateCaptureBookmarkRequest=function(t){var e=n.Validators.captureBookmarkRequestValidator.validate(t);return e?e.map(F):void 0},e.validateSettings=function(t){var e=n.Validators.settingsValidator.validate(t);return e?e.map(F):void 0},e.validatePanes=function(t){var e=n.Validators.reportPanesValidator.validate(t);return e?e.map(F):void 0},e.validateBookmarksPane=function(t){var e=n.Validators.bookmarksPaneValidator.validate(t);return e?e.map(F):void 0},e.validateFiltersPane=function(t){var e=n.Validators.filtersPaneValidator.validate(t);return e?e.map(F):void 0},e.validateFieldsPane=function(t){var e=n.Validators.fieldsPaneValidator.validate(t);return e?e.map(F):void 0},e.validatePageNavigationPane=function(t){var e=n.Validators.pageNavigationPaneValidator.validate(t);return e?e.map(F):void 0},e.validateSelectionPane=function(t){var e=n.Validators.selectionPaneValidator.validate(t);return e?e.map(F):void 0},e.validateSyncSlicersPane=function(t){var e=n.Validators.syncSlicersPaneValidator.validate(t);return e?e.map(F):void 0},e.validateVisualizationsPane=function(t){var e=n.Validators.visualizationsPaneValidator.validate(t);return e?e.map(F):void 0},e.validateCustomPageSize=function(t){var e=n.Validators.customPageSizeValidator.validate(t);return e?e.map(F):void 0},e.validateExtension=function(t){var e=n.Validators.extensionValidator.validate(t);return e?e.map(F):void 0},e.validateMenuGroupExtension=function(t){var e=n.Validators.menuGroupExtensionValidator.validate(t);return e?e.map(F):void 0},e.validateReportLoad=function(t){var e=n.Validators.reportLoadValidator.validate(t);return e?e.map(F):void 0},e.validatePaginatedReportLoad=function(t){var e=n.Validators.paginatedReportLoadValidator.validate(t);return e?e.map(F):void 0},e.validateCreateReport=function(t){var e=n.Validators.reportCreateValidator.validate(t);return e?e.map(F):void 0},e.validateDashboardLoad=function(t){var e=n.Validators.dashboardLoadValidator.validate(t);return e?e.map(F):void 0},e.validateTileLoad=function(t){var e=n.Validators.tileLoadValidator.validate(t);return e?e.map(F):void 0},e.validatePage=function(t){var e=n.Validators.pageValidator.validate(t);return e?e.map(F):void 0},e.validateFilter=function(t){var e=n.Validators.filterValidator.validate(t);return e?e.map(F):void 0},e.validateUpdateFiltersRequest=function(t){var e=n.Validators.updateFiltersRequestValidator.validate(t);return e?e.map(F):void 0},e.validateSaveAsParameters=function(t){var e=n.Validators.saveAsParametersValidator.validate(t);return e?e.map(F):void 0},e.validateLoadQnaConfiguration=function(t){var e=n.Validators.loadQnaValidator.validate(t);return e?e.map(F):void 0},e.validateQnaInterpretInputData=function(t){var e=n.Validators.qnaInterpretInputDataValidator.validate(t);return e?e.map(F):void 0},e.validateExportDataRequest=function(t){var e=n.Validators.exportDataRequestValidator.validate(t);return e?e.map(F):void 0},e.validateVisualHeader=function(t){var e=n.Validators.visualHeaderValidator.validate(t);return e?e.map(F):void 0},e.validateVisualSettings=function(t){var e=n.Validators.visualSettingsValidator.validate(t);return e?e.map(F):void 0},e.validateCommandsSettings=function(t){var e=n.Validators.commandsSettingsValidator.validate(t);return e?e.map(F):void 0},e.validateCustomTheme=function(t){var e=n.Validators.customThemeValidator.validate(t);return e?e.map(F):void 0},e.validateZoomLevel=function(t){var e=n.Validators.zoomLevelValidator.validate(t);return e?e.map(F):void 0}},function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.Validators=void 0;var i=r(2),a=r(5),o=r(6),n=r(7),l=r(8),s=r(9),u=r(10),d=r(11),c=r(12),p=r(13),f=r(14),h=r(15),v=r(16),y=r(17),m=r(18),V=r(19),g=r(20),b=r(21),w=r(22),P=r(23),_=r(24),O=r(25),S=r(26),T=r(27),E=r(28),F=r(29),R=r(4),x=r(30);e.Validators={addBookmarkRequestValidator:new a.AddBookmarkRequestValidator,advancedFilterTypeValidator:new R.EnumValidator([0]),advancedFilterValidator:new c.AdvancedFilterValidator,anyArrayValidator:new R.ArrayValidator([new S.AnyOfValidator([new R.StringValidator,new R.NumberValidator,new R.BooleanValidator])]),anyFilterValidator:new S.AnyOfValidator([new c.BasicFilterValidator,new c.AdvancedFilterValidator,new c.IncludeExcludeFilterValidator,new c.NotSupportedFilterValidator,new c.RelativeDateFilterValidator,new c.TopNFilterValidator,new c.RelativeTimeFilterValidator]),anyValueValidator:new S.AnyOfValidator([new R.StringValidator,new R.NumberValidator,new R.BooleanValidator]),actionBarValidator:new i.ActionBarValidator,applyBookmarkByNameRequestValidator:new a.ApplyBookmarkByNameRequestValidator,applyBookmarkStateRequestValidator:new a.ApplyBookmarkStateRequestValidator,applyBookmarkValidator:new S.AnyOfValidator([new a.ApplyBookmarkByNameRequestValidator,new a.ApplyBookmarkStateRequestValidator]),backgroundValidator:new R.EnumValidator([0,1]),basicFilterTypeValidator:new R.EnumValidator([1]),basicFilterValidator:new c.BasicFilterValidator,booleanArrayValidator:new R.BooleanArrayValidator,booleanValidator:new R.BooleanValidator,bookmarksPaneValidator:new h.BookmarksPaneValidator,captureBookmarkOptionsValidator:new a.CaptureBookmarkOptionsValidator,captureBookmarkRequestValidator:new a.CaptureBookmarkRequestValidator,commandDisplayOptionValidator:new R.EnumValidator([0,1,2]),commandExtensionSelectorValidator:new S.AnyOfValidator([new b.VisualSelectorValidator,new b.VisualTypeSelectorValidator]),commandExtensionArrayValidator:new R.ArrayValidator([new d.CommandExtensionValidator]),commandExtensionValidator:new d.CommandExtensionValidator,commandsSettingsArrayValidator:new R.ArrayValidator([new o.CommandsSettingsValidator]),commandsSettingsValidator:new o.CommandsSettingsValidator,conditionItemValidator:new c.ConditionItemValidator,contrastModeValidator:new R.EnumValidator([0,1,2,3,4]),customLayoutDisplayOptionValidator:new R.EnumValidator([0,1,2]),customLayoutValidator:new p.CustomLayoutValidator,customPageSizeValidator:new f.CustomPageSizeValidator,customThemeValidator:new n.CustomThemeValidator,dashboardLoadValidator:new l.DashboardLoadValidator,datasetBindingValidator:new s.DatasetBindingValidator,displayStateModeValidator:new R.EnumValidator([0,1]),displayStateValidator:new p.DisplayStateValidator,exportDataRequestValidator:new u.ExportDataRequestValidator,extensionArrayValidator:new R.ArrayValidator([new d.ExtensionValidator]),extensionsValidator:new S.AnyOfValidator([new R.ArrayValidator([new d.ExtensionValidator]),new d.ExtensionsValidator]),extensionPointsValidator:new d.ExtensionPointsValidator,extensionValidator:new d.ExtensionValidator,fieldForbiddenValidator:new T.FieldForbiddenValidator,fieldRequiredValidator:new E.FieldRequiredValidator,fieldsPaneValidator:new h.FieldsPaneValidator,filterColumnTargetValidator:new c.FilterColumnTargetValidator,filterDisplaySettingsValidator:new c.FilterDisplaySettingsValidator,filterConditionsValidator:new R.ArrayValidator([new c.ConditionItemValidator]),filterHierarchyTargetValidator:new c.FilterHierarchyTargetValidator,filterMeasureTargetValidator:new c.FilterMeasureTargetValidator,filterTargetValidator:new S.AnyOfValidator([new c.FilterColumnTargetValidator,new c.FilterHierarchyTargetValidator,new c.FilterMeasureTargetValidator]),filterValidator:new c.FilterValidator,filterTypeValidator:new R.EnumValidator([0,1,2,3,4,5,6,7]),filtersArrayValidator:new R.ArrayValidator([new c.FilterValidator]),filtersOperationsUpdateValidator:new R.EnumValidator([1,2,3]),filtersOperationsRemoveAllValidator:new R.EnumValidator([0]),filtersPaneValidator:new h.FiltersPaneValidator,hyperlinkClickBehaviorValidator:new R.EnumValidator([0,1,2]),includeExcludeFilterValidator:new c.IncludeExcludeFilterValidator,includeExludeFilterTypeValidator:new R.EnumValidator([3]),layoutTypeValidator:new R.EnumValidator([0,1,2,3]),loadQnaValidator:new v.LoadQnaValidator,menuExtensionValidator:new S.AnyOfValidator([new d.FlatMenuExtensionValidator,new d.GroupedMenuExtensionValidator]),menuGroupExtensionArrayValidator:new R.ArrayValidator([new d.MenuGroupExtensionValidator]),menuGroupExtensionValidator:new d.MenuGroupExtensionValidator,menuLocationValidator:new R.EnumValidator([0,1]),notSupportedFilterTypeValidator:new R.EnumValidator([2]),notSupportedFilterValidator:new c.NotSupportedFilterValidator,numberArrayValidator:new R.NumberArrayValidator,numberValidator:new R.NumberValidator,onLoadFiltersBaseValidator:new S.AnyOfValidator([new c.OnLoadFiltersBaseValidator,new c.OnLoadFiltersBaseRemoveOperationValidator]),pageLayoutValidator:new F.MapValidator([new R.StringValidator],[new p.VisualLayoutValidator]),pageNavigationPaneValidator:new h.PageNavigationPaneValidator,pageNavigationPositionValidator:new R.EnumValidator([0,1]),pageSizeTypeValidator:new R.EnumValidator([0,1,2,3,4,5]),pageSizeValidator:new f.PageSizeValidator,pageValidator:new f.PageValidator,pageViewFieldValidator:new f.PageViewFieldValidator,pagesLayoutValidator:new F.MapValidator([new R.StringValidator],[new p.PageLayoutValidator]),paginatedReportCommandsValidator:new o.PaginatedReportCommandsValidator,paginatedReportLoadValidator:new V.PaginatedReportLoadValidator,paginatedReportsettingsValidator:new w.PaginatedReportSettingsValidator,parametersPanelValidator:new x.ParametersPanelValidator,permissionsValidator:new R.EnumValidator([0,1,2,4,7]),playBookmarkRequestValidator:new a.PlayBookmarkRequestValidator,qnaInterpretInputDataValidator:new v.QnaInterpretInputDataValidator,qnaPanesValidator:new h.QnaPanesValidator,qnaSettingValidator:new v.QnaSettingsValidator,relativeDateFilterOperatorValidator:new R.EnumValidator([0,1,2]),relativeDateFilterTimeUnitTypeValidator:new R.EnumValidator([0,1,2,3,4,5,6]),relativeDateFilterTypeValidator:new R.EnumValidator([4]),relativeDateFilterValidator:new c.RelativeDateFilterValidator,relativeDateTimeFilterTypeValidator:new R.EnumValidator([4,7]),relativeDateTimeFilterUnitTypeValidator:new R.EnumValidator([0,1,2,3,4,5,6,7,8]),relativeTimeFilterTimeUnitTypeValidator:new R.EnumValidator([7,8]),relativeTimeFilterTypeValidator:new R.EnumValidator([7]),relativeTimeFilterValidator:new c.RelativeTimeFilterValidator,reportBarsValidator:new i.ReportBarsValidator,reportCreateValidator:new y.ReportCreateValidator,reportLoadFiltersValidator:new S.AnyOfValidator([new R.ArrayValidator([new c.FilterValidator]),new c.OnLoadFiltersValidator]),reportLoadValidator:new m.ReportLoadValidator,reportPanesValidator:new h.ReportPanesValidator,saveAsParametersValidator:new g.SaveAsParametersValidator,selectionPaneValidator:new h.SelectionPaneValidator,settingsValidator:new w.SettingsValidator,singleCommandSettingsValidator:new o.SingleCommandSettingsValidator,slicerSelectorValidator:new S.AnyOfValidator([new b.VisualSelectorValidator,new b.SlicerTargetSelectorValidator]),slicerStateValidator:new P.SlicerStateValidator,slicerTargetValidator:new S.AnyOfValidator([new c.FilterColumnTargetValidator,new c.FilterHierarchyTargetValidator,new c.FilterMeasureTargetValidator,new c.FilterKeyColumnsTargetValidator,new c.FilterKeyHierarchyTargetValidator]),slicerValidator:new P.SlicerValidator,stringArrayValidator:new R.StringArrayValidator,stringValidator:new R.StringValidator,syncSlicersPaneValidator:new h.SyncSlicersPaneValidator,tileLoadValidator:new _.TileLoadValidator,tokenTypeValidator:new R.EnumValidator([0,1]),topNFilterTypeValidator:new R.EnumValidator([5]),topNFilterValidator:new c.TopNFilterValidator,updateFiltersRequestValidator:new S.AnyOfValidator([new c.UpdateFiltersRequestValidator,new c.RemoveFiltersRequestValidator]),viewModeValidator:new R.EnumValidator([0,1]),visualCommandSelectorValidator:new S.AnyOfValidator([new b.VisualSelectorValidator,new b.VisualTypeSelectorValidator]),visualHeaderSelectorValidator:new S.AnyOfValidator([new b.VisualSelectorValidator,new b.VisualTypeSelectorValidator]),visualHeaderSettingsValidator:new O.VisualHeaderSettingsValidator,visualHeaderValidator:new O.VisualHeaderValidator,visualHeadersValidator:new R.ArrayValidator([new O.VisualHeaderValidator]),visualizationsPaneValidator:new h.VisualizationsPaneValidator,visualLayoutValidator:new p.VisualLayoutValidator,visualSelectorValidator:new b.VisualSelectorValidator,visualSettingsValidator:new O.VisualSettingsValidator,visualTypeSelectorValidator:new b.VisualTypeSelectorValidator,zoomLevelValidator:new R.RangeValidator(.25,4)}},function(t,e,r){var i,a=this&&this.__extends||(i=function(t,e){return(i=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])})(t,e)},function(t,e){function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.ActionBarValidator=e.ReportBarsValidator=void 0;var o=r(3),n=r(4),l=r(1),s=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return a(e,t),e.prototype.validate=function(e,r,i){if(null==e)return null;var a=t.prototype.validate.call(this,e,r,i);if(a)return a;var n=[{field:"actionBar",validators:[l.Validators.actionBarValidator]}];return new o.MultipleFieldsValidator(n).validate(e,r,i)},e}(n.ObjectValidator);e.ReportBarsValidator=s;var u=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return a(e,t),e.prototype.validate=function(e,r,i){if(null==e)return null;var a=t.prototype.validate.call(this,e,r,i);if(a)return a;var n=[{field:"visible",validators:[l.Validators.booleanValidator]}];return new o.MultipleFieldsValidator(n).validate(e,r,i)},e}(n.ObjectValidator);e.ActionBarValidator=u},function(t,e){Object.defineProperty(e,"__esModule",{value:!0}),e.MultipleFieldsValidator=void 0;var r=function(){function t(t){this.fieldValidatorsPairs=t}return t.prototype.validate=function(t,e,r){if(!this.fieldValidatorsPairs)return null;for(var i=e?e+"."+r:r,a=0,o=this.fieldValidatorsPairs;athis.maxValue||e0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0?"&":"?";return t+=i+e+"="+r},e.isSavedInternal=function(t,e,a){return r(this,void 0,void 0,(function(){return i(this,(function(r){switch(r.label){case 0:return r.trys.push([0,2,,3]),[4,t.get("/report/hasUnsavedChanges",{uid:e},a)];case 1:return[2,!r.sent().body];case 2:throw r.sent().body;case 3:return[2]}}))}))},e.isRDLEmbed=function(t){return t&&t.toLowerCase().indexOf("/rdlembed?")>=0},e.autoAuthInEmbedUrl=function(t){return t&&decodeURIComponent(t).toLowerCase().indexOf("autoauth=true")>=0},e.getRandomValue=o,e.getTimeDiffInMilliseconds=function(t,e){return Math.abs(t.getTime()-e.getTime())}},function(t,e){Object.defineProperty(e,"__esModule",{value:!0}),e.FilterBuilder=void 0;var r=function(){function t(){}return t.prototype.withTargetObject=function(t){return this.target=t,this},t.prototype.withColumnTarget=function(t,e){return this.target={table:t,column:e},this},t.prototype.withMeasureTarget=function(t,e){return this.target={table:t,measure:e},this},t.prototype.withHierarchyLevelTarget=function(t,e,r){return this.target={table:t,hierarchy:e,hierarchyLevel:r},this},t.prototype.withColumnAggregation=function(t,e,r){return this.target={table:t,column:e,aggregationFunction:r},this},t.prototype.withHierarchyLevelAggregationTarget=function(t,e,r,i){return this.target={table:t,hierarchy:e,hierarchyLevel:r,aggregationFunction:i},this},t}();e.FilterBuilder=r},function(t,e){Object.defineProperty(e,"__esModule",{value:!0}),e.EmbedUrlNotSupported=e.APINotSupportedForRDLError=void 0,e.APINotSupportedForRDLError="This API is currently not supported for RDL reports",e.EmbedUrlNotSupported="Embed URL is invalid for this scenario. Please use Power BI REST APIs to get the valid URL"},function(t,e,r){var i,a=this&&this.__extends||(i=function(t,e){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])})(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}),o=this&&this.__awaiter||function(t,e,r,i){return new(r||(r=Promise))((function(a,o){function n(t){try{s(i.next(t))}catch(t){o(t)}}function l(t){try{s(i.throw(t))}catch(t){o(t)}}function s(t){var e;t.done?a(t.value):(e=t.value,e instanceof r?e:new r((function(t){t(e)}))).then(n,l)}s((i=i.apply(t,e||[])).next())}))},n=this&&this.__generator||function(t,e){var r,i,a,o,n={label:0,sent:function(){if(1&a[0])throw a[1];return a[1]},trys:[],ops:[]};return o={next:l(0),throw:l(1),return:l(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function l(o){return function(l){return function(o){if(r)throw new TypeError("Generator is already executing.");for(;n;)try{if(r=1,i&&(a=2&o[0]?i.return:o[0]?i.throw||((a=i.return)&&a.call(i),0):i.next)&&!(a=a.call(i,o[1])).done)return a;switch(i=0,a&&(o=[2&o[0],a.value]),o[0]){case 0:case 1:a=o;break;case 4:return n.label++,{value:o[1],done:!1};case 5:n.label++,i=o[1],o=[0];continue;case 7:o=n.ops.pop(),n.trys.pop();continue;default:if(!(a=n.trys,(a=a.length>0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]} + */ + async getZoom(): Promise { + try { + const response = await this.service.hpm.get(`/report/zoom`, { uid: this.config.uniqueId }, this.iframe.contentWindow); + return response.body; + } catch (response) { + throw response.body; + } + } + + /** + * Sets the report's zoom level. + * @param zoomLevel zoom level to set + */ + async setZoom(zoomLevel: number): Promise { + await this.updateSettings({ zoomLevel: zoomLevel }); + } } From 978e0d8923137107c841df34aa81c9e50e4bac8d Mon Sep 17 00:00:00 2001 From: Shahak Yosef Date: Wed, 3 Nov 2021 07:59:42 +0000 Subject: [PATCH 076/125] Merged PR 215560: A few ESLint fixes A few ESLint fixes --- .eslintignore | 6 +- .eslintrc.js | 98 ++++++++++++----------------- dist/powerbi-client.d.ts | 2 + dist/powerbi.js | 6 +- dist/powerbi.min.js | 2 +- src/FilterBuilders/filterBuilder.ts | 16 ++--- src/embed.ts | 6 +- src/page.ts | 2 +- src/report.ts | 9 +-- src/service.ts | 4 +- src/util.ts | 4 +- 11 files changed, 73 insertions(+), 82 deletions(-) diff --git a/.eslintignore b/.eslintignore index 9f74e282..a23ddd64 100644 --- a/.eslintignore +++ b/.eslintignore @@ -1,2 +1,6 @@ # Task 512388: Fix eslint warnings and errors in tests -test/* \ No newline at end of file +test/* +/node_modules/* +demo/* +/**/*.js +dist/* \ No newline at end of file diff --git a/.eslintrc.js b/.eslintrc.js index 2eaee33e..4240ccee 100644 --- a/.eslintrc.js +++ b/.eslintrc.js @@ -21,14 +21,9 @@ module.exports = { ], "rules": { "@typescript-eslint/adjacent-overload-signatures": "warn", - "@typescript-eslint/array-type": [ - "warn", - { - "default": "array-simple" - } - ], + "@typescript-eslint/array-type": "off", "@typescript-eslint/await-thenable": "warn", - "@typescript-eslint/ban-ts-comment": "warn", + "@typescript-eslint/ban-ts-comment": "off", "@typescript-eslint/ban-types": [ "warn", { @@ -36,9 +31,8 @@ module.exports = { "Object": { "message": "Avoid using the `Object` type. Did you mean `object`?" }, - "Function": { - "message": "Avoid using the `Function` type. Prefer a specific function type, like `() => void`." - }, + "Function": false, + "object": false, "Boolean": { "message": "Avoid using the `Boolean` type. Did you mean `boolean`?" }, @@ -54,16 +48,18 @@ module.exports = { } } ], - "@typescript-eslint/consistent-type-assertions": "warn", "@typescript-eslint/consistent-type-definitions": "warn", - "@typescript-eslint/dot-notation": "warn", + "@typescript-eslint/dot-notation": "off", "@typescript-eslint/explicit-member-accessibility": [ "off", { "accessibility": "explicit" } ], - "@typescript-eslint/explicit-module-boundary-types": "warn", + "@typescript-eslint/explicit-module-boundary-types": [ + "warn", + { "allowArgumentsExplicitlyTypedAsAny": true } + ], "@typescript-eslint/indent": [ "warn", 2, @@ -90,6 +86,13 @@ module.exports = { } } ], + "@typescript-eslint/explicit-function-return-type": [ + "error", + { + "allowExpressions": true, + "allowDirectConstAssertionInArrowFunctions": true + } + ], "@typescript-eslint/member-ordering": "off", "@typescript-eslint/naming-convention": "off", "@typescript-eslint/no-array-constructor": "warn", @@ -98,29 +101,33 @@ module.exports = { "@typescript-eslint/no-explicit-any": "off", "@typescript-eslint/no-extra-non-null-assertion": "warn", "@typescript-eslint/no-extra-semi": "warn", - "@typescript-eslint/no-floating-promises": "warn", + "@typescript-eslint/no-floating-promises": "off", "@typescript-eslint/no-for-in-array": "warn", "@typescript-eslint/no-implied-eval": "warn", - "@typescript-eslint/no-inferrable-types": "warn", + "@typescript-eslint/no-inferrable-types": "off", "@typescript-eslint/no-misused-new": "warn", - "@typescript-eslint/no-misused-promises": "warn", + "@typescript-eslint/no-misused-promises": "off", "@typescript-eslint/no-namespace": "warn", "@typescript-eslint/no-non-null-asserted-optional-chain": "warn", "@typescript-eslint/no-non-null-assertion": "warn", "@typescript-eslint/no-parameter-properties": "off", "@typescript-eslint/no-this-alias": "warn", "@typescript-eslint/no-unnecessary-type-assertion": "warn", - "@typescript-eslint/no-unsafe-assignment": "warn", - "@typescript-eslint/no-unsafe-call": "warn", + "@typescript-eslint/no-unsafe-assignment": "off", + "@typescript-eslint/no-unsafe-call": "off", "@typescript-eslint/no-unsafe-member-access": "off", - "@typescript-eslint/no-unsafe-return": "warn", + "@typescript-eslint/no-unsafe-return": "off", "@typescript-eslint/no-unused-expressions": "warn", - "@typescript-eslint/no-unused-vars": "warn", + "@typescript-eslint/no-unused-vars": [ + "warn", + { + "args": "after-used", "argsIgnorePattern": "^_" + } + ], "@typescript-eslint/no-use-before-define": "off", "@typescript-eslint/no-var-requires": "warn", "@typescript-eslint/prefer-as-const": "warn", "@typescript-eslint/prefer-for-of": "warn", - "@typescript-eslint/prefer-function-type": "warn", "@typescript-eslint/prefer-namespace-keyword": "warn", "@typescript-eslint/prefer-regexp-exec": "off", "@typescript-eslint/quotes": [ @@ -131,10 +138,9 @@ module.exports = { ], "@typescript-eslint/require-await": "warn", "@typescript-eslint/restrict-plus-operands": "warn", - "@typescript-eslint/restrict-template-expressions": "warn", + "@typescript-eslint/restrict-template-expressions": "off", "@typescript-eslint/semi": [ - "warn", - "always" + "error", ], "@typescript-eslint/triple-slash-reference": [ "warn", @@ -145,13 +151,9 @@ module.exports = { } ], "@typescript-eslint/type-annotation-spacing": "warn", - "@typescript-eslint/unbound-method": "warn", + "@typescript-eslint/unbound-method": "off", "@typescript-eslint/unified-signatures": "warn", - "arrow-body-style": "warn", - "arrow-parens": [ - "warn", - "always" - ], + "arrow-parens": "off", "brace-style": [ "off", "1tbs" @@ -159,7 +161,6 @@ module.exports = { "comma-dangle": "off", "complexity": "off", "constructor-super": "warn", - "curly": "warn", "eol-last": "warn", "eqeqeq": [ "warn", @@ -178,7 +179,7 @@ module.exports = { "Undefined", ], "id-match": "warn", - "import/order": "warn", + "import/order": "off", "jsdoc/check-alignment": "warn", "jsdoc/check-indentation": "warn", "jsdoc/newline-after-description": "warn", @@ -189,7 +190,6 @@ module.exports = { "max-len": "off", "new-parens": "warn", "no-array-constructor": "off", - "no-bitwise": "warn", "no-caller": "warn", "no-cond-assign": "warn", "no-console": "off", @@ -201,29 +201,18 @@ module.exports = { "no-fallthrough": "off", "no-implied-eval": "off", "no-invalid-this": "off", - "no-multiple-empty-lines": "warn", + "no-multiple-empty-lines": ["error", { "max": 1 }], "no-new-wrappers": "warn", - "no-shadow": [ - "warn", - { - "hoist": "all" - } - ], - "no-throw-literal": "warn", + "no-shadow": "off", "no-trailing-spaces": "warn", "no-undef-init": "warn", - "no-underscore-dangle": "warn", + "no-underscore-dangle": "off", "no-unsafe-finally": "warn", "no-unused-labels": "warn", - "no-unused-vars": "off", "no-var": "warn", - "object-shorthand": ["warn", "never"], - "one-var": [ - "warn", - "never" - ], - "prefer-arrow/prefer-arrow-functions": "off", - "prefer-const": "warn", + "object-shorthand": "off", + "one-var": "off", + "prefer-const": "off", "prefer-rest-params": "warn", "quote-props": [ "warn", @@ -231,14 +220,7 @@ module.exports = { ], "radix": "warn", "require-await": "off", - "space-before-function-paren": [ - "warn", - { - "anonymous": "never", - "asyncArrow": "always", - "named": "never" - } - ], + "space-before-function-paren": "off", "spaced-comment": [ "warn", "always", diff --git a/dist/powerbi-client.d.ts b/dist/powerbi-client.d.ts index 2e9082b2..539fd0a8 100644 --- a/dist/powerbi-client.d.ts +++ b/dist/powerbi-client.d.ts @@ -1566,11 +1566,13 @@ declare module "report" { private isMobileSettings; /** * Return the current zoom level of the report. + * * @returns {Promise} */ getZoom(): Promise; /** * Sets the report's zoom level. + * * @param zoomLevel zoom level to set */ setZoom(zoomLevel: number): Promise; diff --git a/dist/powerbi.js b/dist/powerbi.js index 94daed7b..c9477e44 100644 --- a/dist/powerbi.js +++ b/dist/powerbi.js @@ -8058,7 +8058,7 @@ var Embed = /** @class */ (function () { * * @hidden */ - Embed.prototype.setIframe = function (isLoad, phasedRender, isBootstrap, registerQueryCallback) { + Embed.prototype.setIframe = function (isLoad, phasedRender, isBootstrap) { var _this = this; if (!this.iframe) { var iframeContent = document.createElement("iframe"); @@ -10387,6 +10387,7 @@ var Report = /** @class */ (function (_super) { }; /** * Return the current zoom level of the report. + * * @returns {Promise} */ Report.prototype.getZoom = function () { @@ -10410,6 +10411,7 @@ var Report = /** @class */ (function (_super) { }; /** * Sets the report's zoom level. + * * @param zoomLevel zoom level to set */ Report.prototype.setZoom = function (zoomLevel) { @@ -11260,7 +11262,7 @@ function generateUUID() { if (typeof performance !== 'undefined' && typeof performance.now === 'function') { d += performance.now(); } - return 'xxxxxxxxxxxxxxxxxxxx'.replace(/[xy]/g, function (c) { + return 'xxxxxxxxxxxxxxxxxxxx'.replace(/[xy]/g, function (_c) { // Generate a random number, scaled from 0 to 15. var r = (getRandomValue() % 16); // Shift 4 times to divide by 16 diff --git a/dist/powerbi.min.js b/dist/powerbi.min.js index c64fcd9d..234ffd37 100644 --- a/dist/powerbi.min.js +++ b/dist/powerbi.min.js @@ -1,7 +1,7 @@ // powerbi-client v2.18.6 // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. -!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){var e={};function r(i){if(e[i])return e[i].exports;var a=e[i]={i:i,l:!1,exports:{}};return t[i].call(a.exports,a,a.exports,r),a.l=!0,a.exports}return r.m=t,r.c=e,r.d=function(t,e,i){r.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:i})},r.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},r.t=function(t,e){if(1&e&&(t=r(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var i=Object.create(null);if(r.r(i),Object.defineProperty(i,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var a in t)r.d(i,a,function(e){return t[e]}.bind(null,a));return i},r.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return r.d(e,"a",e),e},r.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},r.p="",r(r.s=13)}([function(t,e,r){var i;i=function(){return function(t){var e={};function r(i){if(e[i])return e[i].exports;var a=e[i]={i:i,l:!1,exports:{}};return t[i].call(a.exports,a,a.exports,r),a.l=!0,a.exports}return r.m=t,r.c=e,r.d=function(t,e,i){r.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:i})},r.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},r.t=function(t,e){if(1&e&&(t=r(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var i=Object.create(null);if(r.r(i),Object.defineProperty(i,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var a in t)r.d(i,a,function(e){return t[e]}.bind(null,a));return i},r.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return r.d(e,"a",e),e},r.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},r.p="",r(r.s=0)}([function(t,e,r){var i,a=this&&this.__extends||(i=function(t,e){return(i=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])})(t,e)},function(t,e){function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.validateZoomLevel=e.validateCustomTheme=e.validateCommandsSettings=e.validateVisualSettings=e.validateVisualHeader=e.validateExportDataRequest=e.validateQnaInterpretInputData=e.validateLoadQnaConfiguration=e.validateSaveAsParameters=e.validateUpdateFiltersRequest=e.validateFilter=e.validatePage=e.validateTileLoad=e.validateDashboardLoad=e.validateCreateReport=e.validatePaginatedReportLoad=e.validateReportLoad=e.validateMenuGroupExtension=e.validateExtension=e.validateCustomPageSize=e.validateVisualizationsPane=e.validateSyncSlicersPane=e.validateSelectionPane=e.validatePageNavigationPane=e.validateFieldsPane=e.validateFiltersPane=e.validateBookmarksPane=e.validatePanes=e.validateSettings=e.validateCaptureBookmarkRequest=e.validateApplyBookmarkStateRequest=e.validateApplyBookmarkByNameRequest=e.validateAddBookmarkRequest=e.validatePlayBookmarkRequest=e.validateSlicerState=e.validateSlicer=e.validateVisualSelector=e.isIExtensionArray=e.isIExtensions=e.isGroupedMenuExtension=e.isFlatMenuExtension=e.isReportFiltersArray=e.isOnLoadFilters=e.VisualDataRoleKindPreference=e.VisualDataRoleKind=e.CommandDisplayOption=e.SlicerTargetSelector=e.VisualTypeSelector=e.VisualSelector=e.PageSelector=e.Selector=e.SortDirection=e.LegendPosition=e.TextAlignment=e.CommonErrorCodes=e.BookmarksPlayMode=e.ExportDataType=e.QnaMode=e.PageNavigationPosition=e.isColumnAggr=e.isHierarchyLevelAggr=e.isHierarchyLevel=e.isColumn=e.isMeasure=e.getFilterType=e.isBasicFilterWithKeys=e.isFilterKeyColumnsTarget=e.AdvancedFilter=e.TupleFilter=e.IdentityFilter=e.BasicFilterWithKeys=e.BasicFilter=e.RelativeTimeFilter=e.RelativeDateFilter=e.TopNFilter=e.IncludeExcludeFilter=e.NotSupportedFilter=e.Filter=e.RelativeDateOperators=e.RelativeDateFilterTimeUnit=e.FilterType=e.FiltersLevel=e.FiltersOperations=e.MenuLocation=e.ContrastMode=e.TokenType=e.ViewMode=e.Permissions=e.SectionVisibility=e.ReportAlignment=e.HyperlinkClickBehavior=e.LayoutType=e.VisualContainerDisplayMode=e.BackgroundType=e.DisplayOption=e.PageSizeType=e.TraceType=void 0;var o,n=r(1);!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"}(e.TraceType||(e.TraceType={})),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",t[t.Mobile=5]="Mobile"}(e.PageSizeType||(e.PageSizeType={})),function(t){t[t.FitToPage=0]="FitToPage",t[t.FitToWidth=1]="FitToWidth",t[t.ActualSize=2]="ActualSize"}(e.DisplayOption||(e.DisplayOption={})),function(t){t[t.Default=0]="Default",t[t.Transparent=1]="Transparent"}(e.BackgroundType||(e.BackgroundType={})),function(t){t[t.Visible=0]="Visible",t[t.Hidden=1]="Hidden"}(e.VisualContainerDisplayMode||(e.VisualContainerDisplayMode={})),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={})),function(t){t[t.Navigate=0]="Navigate",t[t.NavigateAndRaiseEvent=1]="NavigateAndRaiseEvent",t[t.RaiseEvent=2]="RaiseEvent"}(e.HyperlinkClickBehavior||(e.HyperlinkClickBehavior={})),function(t){t[t.Left=0]="Left",t[t.Center=1]="Center",t[t.Right=2]="Right",t[t.None=3]="None"}(e.ReportAlignment||(e.ReportAlignment={})),function(t){t[t.AlwaysVisible=0]="AlwaysVisible",t[t.HiddenInViewMode=1]="HiddenInViewMode"}(e.SectionVisibility||(e.SectionVisibility={})),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"}(e.Permissions||(e.Permissions={})),function(t){t[t.View=0]="View",t[t.Edit=1]="Edit"}(e.ViewMode||(e.ViewMode={})),function(t){t[t.Aad=0]="Aad",t[t.Embed=1]="Embed"}(e.TokenType||(e.TokenType={})),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"}(e.ContrastMode||(e.ContrastMode={})),function(t){t[t.Bottom=0]="Bottom",t[t.Top=1]="Top"}(e.MenuLocation||(e.MenuLocation={})),function(t){t[t.RemoveAll=0]="RemoveAll",t[t.ReplaceAll=1]="ReplaceAll",t[t.Add=2]="Add",t[t.Replace=3]="Replace"}(e.FiltersOperations||(e.FiltersOperations={})),function(t){t[t.Report=0]="Report",t[t.Page=1]="Page",t[t.Visual=2]="Visual"}(e.FiltersLevel||(e.FiltersLevel={})),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",t[t.Identity=8]="Identity"}(o=e.FilterType||(e.FilterType={})),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"}(e.RelativeDateFilterTimeUnit||(e.RelativeDateFilterTimeUnit={})),function(t){t[t.InLast=0]="InLast",t[t.InThis=1]="InThis",t[t.InNext=2]="InNext"}(e.RelativeDateOperators||(e.RelativeDateOperators={}));var l=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=l;var s=function(t){function e(r,i,a){var n=t.call(this,r,o.Unknown)||this;return n.message=i,n.notSupportedTypeName=a,n.schemaUrl=e.schemaUrl,n}return a(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}(l);e.NotSupportedFilter=s;var u=function(t){function e(r,i,a){var n=t.call(this,r,o.IncludeExclude)||this;return n.values=a,n.isExclude=i,n.schemaUrl=e.schemaUrl,n}return a(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}(l);e.IncludeExcludeFilter=u;var d=function(t){function e(r,i,a,n){var l=t.call(this,r,o.TopN)||this;return l.operator=i,l.itemCount=a,l.schemaUrl=e.schemaUrl,l.orderBy=n,l}return a(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}(l);e.TopNFilter=d;var c=function(t){function e(r,i,a,n,l){var s=t.call(this,r,o.RelativeDate)||this;return s.operator=i,s.timeUnitsCount=a,s.timeUnitType=n,s.includeToday=l,s.schemaUrl=e.schemaUrl,s}return a(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}(l);e.RelativeDateFilter=c;var p=function(t){function e(r,i,a,n){var l=t.call(this,r,o.RelativeTime)||this;return l.operator=i,l.timeUnitsCount=a,l.timeUnitType=n,l.schemaUrl=e.schemaUrl,l}return a(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}(l);e.RelativeTimeFilter=p;var f=function(t){function e(r,i){for(var a=[],n=2;n0&&!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,s=o.keyValues;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 s.conditions=l,s}return a(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}(l);function V(t){if(t.filterType)return t.filterType;var e=t,r=t;return"string"==typeof e.operator&&Array.isArray(e.values)?o.Basic:"string"==typeof r.logicalOperator&&Array.isArray(r.conditions)?o.Advanced:o.Unknown}function g(t){return!(!t.table||!t.column||t.aggregationFunction)}e.AdvancedFilter=m,e.isFilterKeyColumnsTarget=function(t){return g(t)&&!!t.keys},e.isBasicFilterWithKeys=function(t){return V(t)===o.Basic&&!!t.keyValues},e.getFilterType=V,e.isMeasure=function(t){return void 0!==t.table&&void 0!==t.measure},e.isColumn=g,e.isHierarchyLevel=function(t){return!(!(t.table&&t.hierarchy&&t.hierarchyLevel)||t.aggregationFunction)},e.isHierarchyLevelAggr=function(t){return!!(t.table&&t.hierarchy&&t.hierarchyLevel&&t.aggregationFunction)},e.isColumnAggr=function(t){return!!(t.table&&t.column&&t.aggregationFunction)},function(t){t[t.Bottom=0]="Bottom",t[t.Left=1]="Left"}(e.PageNavigationPosition||(e.PageNavigationPosition={})),function(t){t[t.Interactive=0]="Interactive",t[t.ResultOnly=1]="ResultOnly"}(e.QnaMode||(e.QnaMode={})),function(t){t[t.Summarized=0]="Summarized",t[t.Underlying=1]="Underlying"}(e.ExportDataType||(e.ExportDataType={})),function(t){t[t.Off=0]="Off",t[t.Presentation=1]="Presentation"}(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"},function(t){t[t.Ascending=1]="Ascending",t[t.Descending=2]="Descending"}(e.SortDirection||(e.SortDirection={}));var b=function(){function t(t){this.$schema=t}return t.prototype.toJSON=function(){return{$schema:this.$schema}},t}();e.Selector=b;var w=function(t){function e(r){var i=t.call(this,e.schemaUrl)||this;return i.pageName=r,i}return a(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}(b);e.PageSelector=w;var P=function(t){function e(r){var i=t.call(this,e.schemaUrl)||this;return i.visualName=r,i}return a(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}(b);e.VisualSelector=P;var _=function(t){function e(e){var r=t.call(this,P.schemaUrl)||this;return r.visualType=e,r}return a(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}(b);e.VisualTypeSelector=_;var O=function(t){function e(e){var r=t.call(this,P.schemaUrl)||this;return r.target=e,r}return a(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}(b);function S(t){return Array.isArray(t)}function T(t){return t&&!!t.groupName}function E(t){return Array.isArray(t)}function F(t){var e=t.message;return e||(e=t.path+" is invalid. Not meeting "+t.keyword+" constraint"),{message:e}}e.SlicerTargetSelector=O,function(t){t[t.Enabled=0]="Enabled",t[t.Disabled=1]="Disabled",t[t.Hidden=2]="Hidden"}(e.CommandDisplayOption||(e.CommandDisplayOption={})),function(t){t[t.Grouping=0]="Grouping",t[t.Measure=1]="Measure",t[t.GroupingOrMeasure=2]="GroupingOrMeasure"}(e.VisualDataRoleKind||(e.VisualDataRoleKind={})),function(t){t[t.Measure=0]="Measure",t[t.Grouping=1]="Grouping"}(e.VisualDataRoleKindPreference||(e.VisualDataRoleKindPreference={})),e.isOnLoadFilters=function(t){return t&&!S(t)},e.isReportFiltersArray=S,e.isFlatMenuExtension=function(t){return t&&!T(t)},e.isGroupedMenuExtension=T,e.isIExtensions=function(t){return t&&!E(t)},e.isIExtensionArray=E,e.validateVisualSelector=function(t){var e=n.Validators.visualSelectorValidator.validate(t);return e?e.map(F):void 0},e.validateSlicer=function(t){var e=n.Validators.slicerValidator.validate(t);return e?e.map(F):void 0},e.validateSlicerState=function(t){var e=n.Validators.slicerStateValidator.validate(t);return e?e.map(F):void 0},e.validatePlayBookmarkRequest=function(t){var e=n.Validators.playBookmarkRequestValidator.validate(t);return e?e.map(F):void 0},e.validateAddBookmarkRequest=function(t){var e=n.Validators.addBookmarkRequestValidator.validate(t);return e?e.map(F):void 0},e.validateApplyBookmarkByNameRequest=function(t){var e=n.Validators.applyBookmarkByNameRequestValidator.validate(t);return e?e.map(F):void 0},e.validateApplyBookmarkStateRequest=function(t){var e=n.Validators.applyBookmarkStateRequestValidator.validate(t);return e?e.map(F):void 0},e.validateCaptureBookmarkRequest=function(t){var e=n.Validators.captureBookmarkRequestValidator.validate(t);return e?e.map(F):void 0},e.validateSettings=function(t){var e=n.Validators.settingsValidator.validate(t);return e?e.map(F):void 0},e.validatePanes=function(t){var e=n.Validators.reportPanesValidator.validate(t);return e?e.map(F):void 0},e.validateBookmarksPane=function(t){var e=n.Validators.bookmarksPaneValidator.validate(t);return e?e.map(F):void 0},e.validateFiltersPane=function(t){var e=n.Validators.filtersPaneValidator.validate(t);return e?e.map(F):void 0},e.validateFieldsPane=function(t){var e=n.Validators.fieldsPaneValidator.validate(t);return e?e.map(F):void 0},e.validatePageNavigationPane=function(t){var e=n.Validators.pageNavigationPaneValidator.validate(t);return e?e.map(F):void 0},e.validateSelectionPane=function(t){var e=n.Validators.selectionPaneValidator.validate(t);return e?e.map(F):void 0},e.validateSyncSlicersPane=function(t){var e=n.Validators.syncSlicersPaneValidator.validate(t);return e?e.map(F):void 0},e.validateVisualizationsPane=function(t){var e=n.Validators.visualizationsPaneValidator.validate(t);return e?e.map(F):void 0},e.validateCustomPageSize=function(t){var e=n.Validators.customPageSizeValidator.validate(t);return e?e.map(F):void 0},e.validateExtension=function(t){var e=n.Validators.extensionValidator.validate(t);return e?e.map(F):void 0},e.validateMenuGroupExtension=function(t){var e=n.Validators.menuGroupExtensionValidator.validate(t);return e?e.map(F):void 0},e.validateReportLoad=function(t){var e=n.Validators.reportLoadValidator.validate(t);return e?e.map(F):void 0},e.validatePaginatedReportLoad=function(t){var e=n.Validators.paginatedReportLoadValidator.validate(t);return e?e.map(F):void 0},e.validateCreateReport=function(t){var e=n.Validators.reportCreateValidator.validate(t);return e?e.map(F):void 0},e.validateDashboardLoad=function(t){var e=n.Validators.dashboardLoadValidator.validate(t);return e?e.map(F):void 0},e.validateTileLoad=function(t){var e=n.Validators.tileLoadValidator.validate(t);return e?e.map(F):void 0},e.validatePage=function(t){var e=n.Validators.pageValidator.validate(t);return e?e.map(F):void 0},e.validateFilter=function(t){var e=n.Validators.filterValidator.validate(t);return e?e.map(F):void 0},e.validateUpdateFiltersRequest=function(t){var e=n.Validators.updateFiltersRequestValidator.validate(t);return e?e.map(F):void 0},e.validateSaveAsParameters=function(t){var e=n.Validators.saveAsParametersValidator.validate(t);return e?e.map(F):void 0},e.validateLoadQnaConfiguration=function(t){var e=n.Validators.loadQnaValidator.validate(t);return e?e.map(F):void 0},e.validateQnaInterpretInputData=function(t){var e=n.Validators.qnaInterpretInputDataValidator.validate(t);return e?e.map(F):void 0},e.validateExportDataRequest=function(t){var e=n.Validators.exportDataRequestValidator.validate(t);return e?e.map(F):void 0},e.validateVisualHeader=function(t){var e=n.Validators.visualHeaderValidator.validate(t);return e?e.map(F):void 0},e.validateVisualSettings=function(t){var e=n.Validators.visualSettingsValidator.validate(t);return e?e.map(F):void 0},e.validateCommandsSettings=function(t){var e=n.Validators.commandsSettingsValidator.validate(t);return e?e.map(F):void 0},e.validateCustomTheme=function(t){var e=n.Validators.customThemeValidator.validate(t);return e?e.map(F):void 0},e.validateZoomLevel=function(t){var e=n.Validators.zoomLevelValidator.validate(t);return e?e.map(F):void 0}},function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.Validators=void 0;var i=r(2),a=r(5),o=r(6),n=r(7),l=r(8),s=r(9),u=r(10),d=r(11),c=r(12),p=r(13),f=r(14),h=r(15),v=r(16),y=r(17),m=r(18),V=r(19),g=r(20),b=r(21),w=r(22),P=r(23),_=r(24),O=r(25),S=r(26),T=r(27),E=r(28),F=r(29),R=r(4),x=r(30);e.Validators={addBookmarkRequestValidator:new a.AddBookmarkRequestValidator,advancedFilterTypeValidator:new R.EnumValidator([0]),advancedFilterValidator:new c.AdvancedFilterValidator,anyArrayValidator:new R.ArrayValidator([new S.AnyOfValidator([new R.StringValidator,new R.NumberValidator,new R.BooleanValidator])]),anyFilterValidator:new S.AnyOfValidator([new c.BasicFilterValidator,new c.AdvancedFilterValidator,new c.IncludeExcludeFilterValidator,new c.NotSupportedFilterValidator,new c.RelativeDateFilterValidator,new c.TopNFilterValidator,new c.RelativeTimeFilterValidator]),anyValueValidator:new S.AnyOfValidator([new R.StringValidator,new R.NumberValidator,new R.BooleanValidator]),actionBarValidator:new i.ActionBarValidator,applyBookmarkByNameRequestValidator:new a.ApplyBookmarkByNameRequestValidator,applyBookmarkStateRequestValidator:new a.ApplyBookmarkStateRequestValidator,applyBookmarkValidator:new S.AnyOfValidator([new a.ApplyBookmarkByNameRequestValidator,new a.ApplyBookmarkStateRequestValidator]),backgroundValidator:new R.EnumValidator([0,1]),basicFilterTypeValidator:new R.EnumValidator([1]),basicFilterValidator:new c.BasicFilterValidator,booleanArrayValidator:new R.BooleanArrayValidator,booleanValidator:new R.BooleanValidator,bookmarksPaneValidator:new h.BookmarksPaneValidator,captureBookmarkOptionsValidator:new a.CaptureBookmarkOptionsValidator,captureBookmarkRequestValidator:new a.CaptureBookmarkRequestValidator,commandDisplayOptionValidator:new R.EnumValidator([0,1,2]),commandExtensionSelectorValidator:new S.AnyOfValidator([new b.VisualSelectorValidator,new b.VisualTypeSelectorValidator]),commandExtensionArrayValidator:new R.ArrayValidator([new d.CommandExtensionValidator]),commandExtensionValidator:new d.CommandExtensionValidator,commandsSettingsArrayValidator:new R.ArrayValidator([new o.CommandsSettingsValidator]),commandsSettingsValidator:new o.CommandsSettingsValidator,conditionItemValidator:new c.ConditionItemValidator,contrastModeValidator:new R.EnumValidator([0,1,2,3,4]),customLayoutDisplayOptionValidator:new R.EnumValidator([0,1,2]),customLayoutValidator:new p.CustomLayoutValidator,customPageSizeValidator:new f.CustomPageSizeValidator,customThemeValidator:new n.CustomThemeValidator,dashboardLoadValidator:new l.DashboardLoadValidator,datasetBindingValidator:new s.DatasetBindingValidator,displayStateModeValidator:new R.EnumValidator([0,1]),displayStateValidator:new p.DisplayStateValidator,exportDataRequestValidator:new u.ExportDataRequestValidator,extensionArrayValidator:new R.ArrayValidator([new d.ExtensionValidator]),extensionsValidator:new S.AnyOfValidator([new R.ArrayValidator([new d.ExtensionValidator]),new d.ExtensionsValidator]),extensionPointsValidator:new d.ExtensionPointsValidator,extensionValidator:new d.ExtensionValidator,fieldForbiddenValidator:new T.FieldForbiddenValidator,fieldRequiredValidator:new E.FieldRequiredValidator,fieldsPaneValidator:new h.FieldsPaneValidator,filterColumnTargetValidator:new c.FilterColumnTargetValidator,filterDisplaySettingsValidator:new c.FilterDisplaySettingsValidator,filterConditionsValidator:new R.ArrayValidator([new c.ConditionItemValidator]),filterHierarchyTargetValidator:new c.FilterHierarchyTargetValidator,filterMeasureTargetValidator:new c.FilterMeasureTargetValidator,filterTargetValidator:new S.AnyOfValidator([new c.FilterColumnTargetValidator,new c.FilterHierarchyTargetValidator,new c.FilterMeasureTargetValidator]),filterValidator:new c.FilterValidator,filterTypeValidator:new R.EnumValidator([0,1,2,3,4,5,6,7]),filtersArrayValidator:new R.ArrayValidator([new c.FilterValidator]),filtersOperationsUpdateValidator:new R.EnumValidator([1,2,3]),filtersOperationsRemoveAllValidator:new R.EnumValidator([0]),filtersPaneValidator:new h.FiltersPaneValidator,hyperlinkClickBehaviorValidator:new R.EnumValidator([0,1,2]),includeExcludeFilterValidator:new c.IncludeExcludeFilterValidator,includeExludeFilterTypeValidator:new R.EnumValidator([3]),layoutTypeValidator:new R.EnumValidator([0,1,2,3]),loadQnaValidator:new v.LoadQnaValidator,menuExtensionValidator:new S.AnyOfValidator([new d.FlatMenuExtensionValidator,new d.GroupedMenuExtensionValidator]),menuGroupExtensionArrayValidator:new R.ArrayValidator([new d.MenuGroupExtensionValidator]),menuGroupExtensionValidator:new d.MenuGroupExtensionValidator,menuLocationValidator:new R.EnumValidator([0,1]),notSupportedFilterTypeValidator:new R.EnumValidator([2]),notSupportedFilterValidator:new c.NotSupportedFilterValidator,numberArrayValidator:new R.NumberArrayValidator,numberValidator:new R.NumberValidator,onLoadFiltersBaseValidator:new S.AnyOfValidator([new c.OnLoadFiltersBaseValidator,new c.OnLoadFiltersBaseRemoveOperationValidator]),pageLayoutValidator:new F.MapValidator([new R.StringValidator],[new p.VisualLayoutValidator]),pageNavigationPaneValidator:new h.PageNavigationPaneValidator,pageNavigationPositionValidator:new R.EnumValidator([0,1]),pageSizeTypeValidator:new R.EnumValidator([0,1,2,3,4,5]),pageSizeValidator:new f.PageSizeValidator,pageValidator:new f.PageValidator,pageViewFieldValidator:new f.PageViewFieldValidator,pagesLayoutValidator:new F.MapValidator([new R.StringValidator],[new p.PageLayoutValidator]),paginatedReportCommandsValidator:new o.PaginatedReportCommandsValidator,paginatedReportLoadValidator:new V.PaginatedReportLoadValidator,paginatedReportsettingsValidator:new w.PaginatedReportSettingsValidator,parametersPanelValidator:new x.ParametersPanelValidator,permissionsValidator:new R.EnumValidator([0,1,2,4,7]),playBookmarkRequestValidator:new a.PlayBookmarkRequestValidator,qnaInterpretInputDataValidator:new v.QnaInterpretInputDataValidator,qnaPanesValidator:new h.QnaPanesValidator,qnaSettingValidator:new v.QnaSettingsValidator,relativeDateFilterOperatorValidator:new R.EnumValidator([0,1,2]),relativeDateFilterTimeUnitTypeValidator:new R.EnumValidator([0,1,2,3,4,5,6]),relativeDateFilterTypeValidator:new R.EnumValidator([4]),relativeDateFilterValidator:new c.RelativeDateFilterValidator,relativeDateTimeFilterTypeValidator:new R.EnumValidator([4,7]),relativeDateTimeFilterUnitTypeValidator:new R.EnumValidator([0,1,2,3,4,5,6,7,8]),relativeTimeFilterTimeUnitTypeValidator:new R.EnumValidator([7,8]),relativeTimeFilterTypeValidator:new R.EnumValidator([7]),relativeTimeFilterValidator:new c.RelativeTimeFilterValidator,reportBarsValidator:new i.ReportBarsValidator,reportCreateValidator:new y.ReportCreateValidator,reportLoadFiltersValidator:new S.AnyOfValidator([new R.ArrayValidator([new c.FilterValidator]),new c.OnLoadFiltersValidator]),reportLoadValidator:new m.ReportLoadValidator,reportPanesValidator:new h.ReportPanesValidator,saveAsParametersValidator:new g.SaveAsParametersValidator,selectionPaneValidator:new h.SelectionPaneValidator,settingsValidator:new w.SettingsValidator,singleCommandSettingsValidator:new o.SingleCommandSettingsValidator,slicerSelectorValidator:new S.AnyOfValidator([new b.VisualSelectorValidator,new b.SlicerTargetSelectorValidator]),slicerStateValidator:new P.SlicerStateValidator,slicerTargetValidator:new S.AnyOfValidator([new c.FilterColumnTargetValidator,new c.FilterHierarchyTargetValidator,new c.FilterMeasureTargetValidator,new c.FilterKeyColumnsTargetValidator,new c.FilterKeyHierarchyTargetValidator]),slicerValidator:new P.SlicerValidator,stringArrayValidator:new R.StringArrayValidator,stringValidator:new R.StringValidator,syncSlicersPaneValidator:new h.SyncSlicersPaneValidator,tileLoadValidator:new _.TileLoadValidator,tokenTypeValidator:new R.EnumValidator([0,1]),topNFilterTypeValidator:new R.EnumValidator([5]),topNFilterValidator:new c.TopNFilterValidator,updateFiltersRequestValidator:new S.AnyOfValidator([new c.UpdateFiltersRequestValidator,new c.RemoveFiltersRequestValidator]),viewModeValidator:new R.EnumValidator([0,1]),visualCommandSelectorValidator:new S.AnyOfValidator([new b.VisualSelectorValidator,new b.VisualTypeSelectorValidator]),visualHeaderSelectorValidator:new S.AnyOfValidator([new b.VisualSelectorValidator,new b.VisualTypeSelectorValidator]),visualHeaderSettingsValidator:new O.VisualHeaderSettingsValidator,visualHeaderValidator:new O.VisualHeaderValidator,visualHeadersValidator:new R.ArrayValidator([new O.VisualHeaderValidator]),visualizationsPaneValidator:new h.VisualizationsPaneValidator,visualLayoutValidator:new p.VisualLayoutValidator,visualSelectorValidator:new b.VisualSelectorValidator,visualSettingsValidator:new O.VisualSettingsValidator,visualTypeSelectorValidator:new b.VisualTypeSelectorValidator,zoomLevelValidator:new R.RangeValidator(.25,4)}},function(t,e,r){var i,a=this&&this.__extends||(i=function(t,e){return(i=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])})(t,e)},function(t,e){function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.ActionBarValidator=e.ReportBarsValidator=void 0;var o=r(3),n=r(4),l=r(1),s=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return a(e,t),e.prototype.validate=function(e,r,i){if(null==e)return null;var a=t.prototype.validate.call(this,e,r,i);if(a)return a;var n=[{field:"actionBar",validators:[l.Validators.actionBarValidator]}];return new o.MultipleFieldsValidator(n).validate(e,r,i)},e}(n.ObjectValidator);e.ReportBarsValidator=s;var u=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return a(e,t),e.prototype.validate=function(e,r,i){if(null==e)return null;var a=t.prototype.validate.call(this,e,r,i);if(a)return a;var n=[{field:"visible",validators:[l.Validators.booleanValidator]}];return new o.MultipleFieldsValidator(n).validate(e,r,i)},e}(n.ObjectValidator);e.ActionBarValidator=u},function(t,e){Object.defineProperty(e,"__esModule",{value:!0}),e.MultipleFieldsValidator=void 0;var r=function(){function t(t){this.fieldValidatorsPairs=t}return t.prototype.validate=function(t,e,r){if(!this.fieldValidatorsPairs)return null;for(var i=e?e+"."+r:r,a=0,o=this.fieldValidatorsPairs;athis.maxValue||e0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0?"&":"?";return t+=i+e+"="+r},e.isSavedInternal=function(t,e,a){return r(this,void 0,void 0,(function(){return i(this,(function(r){switch(r.label){case 0:return r.trys.push([0,2,,3]),[4,t.get("/report/hasUnsavedChanges",{uid:e},a)];case 1:return[2,!r.sent().body];case 2:throw r.sent().body;case 3:return[2]}}))}))},e.isRDLEmbed=function(t){return t&&t.toLowerCase().indexOf("/rdlembed?")>=0},e.autoAuthInEmbedUrl=function(t){return t&&decodeURIComponent(t).toLowerCase().indexOf("autoauth=true")>=0},e.getRandomValue=o,e.getTimeDiffInMilliseconds=function(t,e){return Math.abs(t.getTime()-e.getTime())}},function(t,e){Object.defineProperty(e,"__esModule",{value:!0}),e.FilterBuilder=void 0;var r=function(){function t(){}return t.prototype.withTargetObject=function(t){return this.target=t,this},t.prototype.withColumnTarget=function(t,e){return this.target={table:t,column:e},this},t.prototype.withMeasureTarget=function(t,e){return this.target={table:t,measure:e},this},t.prototype.withHierarchyLevelTarget=function(t,e,r){return this.target={table:t,hierarchy:e,hierarchyLevel:r},this},t.prototype.withColumnAggregation=function(t,e,r){return this.target={table:t,column:e,aggregationFunction:r},this},t.prototype.withHierarchyLevelAggregationTarget=function(t,e,r,i){return this.target={table:t,hierarchy:e,hierarchyLevel:r,aggregationFunction:i},this},t}();e.FilterBuilder=r},function(t,e){Object.defineProperty(e,"__esModule",{value:!0}),e.EmbedUrlNotSupported=e.APINotSupportedForRDLError=void 0,e.APINotSupportedForRDLError="This API is currently not supported for RDL reports",e.EmbedUrlNotSupported="Embed URL is invalid for this scenario. Please use Power BI REST APIs to get the valid URL"},function(t,e,r){var i,a=this&&this.__extends||(i=function(t,e){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])})(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}),o=this&&this.__awaiter||function(t,e,r,i){return new(r||(r=Promise))((function(a,o){function n(t){try{s(i.next(t))}catch(t){o(t)}}function l(t){try{s(i.throw(t))}catch(t){o(t)}}function s(t){var e;t.done?a(t.value):(e=t.value,e instanceof r?e:new r((function(t){t(e)}))).then(n,l)}s((i=i.apply(t,e||[])).next())}))},n=this&&this.__generator||function(t,e){var r,i,a,o,n={label:0,sent:function(){if(1&a[0])throw a[1];return a[1]},trys:[],ops:[]};return o={next:l(0),throw:l(1),return:l(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function l(o){return function(l){return function(o){if(r)throw new TypeError("Generator is already executing.");for(;n;)try{if(r=1,i&&(a=2&o[0]?i.return:o[0]?i.throw||((a=i.return)&&a.call(i),0):i.next)&&!(a=a.call(i,o[1])).done)return a;switch(i=0,a&&(o=[2&o[0],a.value]),o[0]){case 0:case 1:a=o;break;case 4:return n.label++,{value:o[1],done:!1};case 5:n.label++,i=o[1],o=[0];continue;case 7:o=n.ops.pop(),n.trys.pop();continue;default:if(!(a=n.trys,(a=a.length>0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&!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,s=o.keyValues;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 s.conditions=l,s}return a(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}(l);function V(t){if(t.filterType)return t.filterType;var e=t,r=t;return"string"==typeof e.operator&&Array.isArray(e.values)?o.Basic:"string"==typeof r.logicalOperator&&Array.isArray(r.conditions)?o.Advanced:o.Unknown}function g(t){return!(!t.table||!t.column||t.aggregationFunction)}e.AdvancedFilter=m,e.isFilterKeyColumnsTarget=function(t){return g(t)&&!!t.keys},e.isBasicFilterWithKeys=function(t){return V(t)===o.Basic&&!!t.keyValues},e.getFilterType=V,e.isMeasure=function(t){return void 0!==t.table&&void 0!==t.measure},e.isColumn=g,e.isHierarchyLevel=function(t){return!(!(t.table&&t.hierarchy&&t.hierarchyLevel)||t.aggregationFunction)},e.isHierarchyLevelAggr=function(t){return!!(t.table&&t.hierarchy&&t.hierarchyLevel&&t.aggregationFunction)},e.isColumnAggr=function(t){return!!(t.table&&t.column&&t.aggregationFunction)},function(t){t[t.Bottom=0]="Bottom",t[t.Left=1]="Left"}(e.PageNavigationPosition||(e.PageNavigationPosition={})),function(t){t[t.Interactive=0]="Interactive",t[t.ResultOnly=1]="ResultOnly"}(e.QnaMode||(e.QnaMode={})),function(t){t[t.Summarized=0]="Summarized",t[t.Underlying=1]="Underlying"}(e.ExportDataType||(e.ExportDataType={})),function(t){t[t.Off=0]="Off",t[t.Presentation=1]="Presentation"}(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"},function(t){t[t.Ascending=1]="Ascending",t[t.Descending=2]="Descending"}(e.SortDirection||(e.SortDirection={}));var b=function(){function t(t){this.$schema=t}return t.prototype.toJSON=function(){return{$schema:this.$schema}},t}();e.Selector=b;var w=function(t){function e(r){var i=t.call(this,e.schemaUrl)||this;return i.pageName=r,i}return a(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}(b);e.PageSelector=w;var P=function(t){function e(r){var i=t.call(this,e.schemaUrl)||this;return i.visualName=r,i}return a(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}(b);e.VisualSelector=P;var _=function(t){function e(e){var r=t.call(this,P.schemaUrl)||this;return r.visualType=e,r}return a(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}(b);e.VisualTypeSelector=_;var O=function(t){function e(e){var r=t.call(this,P.schemaUrl)||this;return r.target=e,r}return a(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}(b);function S(t){return Array.isArray(t)}function T(t){return t&&!!t.groupName}function E(t){return Array.isArray(t)}function F(t){var e=t.message;return e||(e=t.path+" is invalid. Not meeting "+t.keyword+" constraint"),{message:e}}e.SlicerTargetSelector=O,function(t){t[t.Enabled=0]="Enabled",t[t.Disabled=1]="Disabled",t[t.Hidden=2]="Hidden"}(e.CommandDisplayOption||(e.CommandDisplayOption={})),function(t){t[t.Grouping=0]="Grouping",t[t.Measure=1]="Measure",t[t.GroupingOrMeasure=2]="GroupingOrMeasure"}(e.VisualDataRoleKind||(e.VisualDataRoleKind={})),function(t){t[t.Measure=0]="Measure",t[t.Grouping=1]="Grouping"}(e.VisualDataRoleKindPreference||(e.VisualDataRoleKindPreference={})),e.isOnLoadFilters=function(t){return t&&!S(t)},e.isReportFiltersArray=S,e.isFlatMenuExtension=function(t){return t&&!T(t)},e.isGroupedMenuExtension=T,e.isIExtensions=function(t){return t&&!E(t)},e.isIExtensionArray=E,e.validateVisualSelector=function(t){var e=n.Validators.visualSelectorValidator.validate(t);return e?e.map(F):void 0},e.validateSlicer=function(t){var e=n.Validators.slicerValidator.validate(t);return e?e.map(F):void 0},e.validateSlicerState=function(t){var e=n.Validators.slicerStateValidator.validate(t);return e?e.map(F):void 0},e.validatePlayBookmarkRequest=function(t){var e=n.Validators.playBookmarkRequestValidator.validate(t);return e?e.map(F):void 0},e.validateAddBookmarkRequest=function(t){var e=n.Validators.addBookmarkRequestValidator.validate(t);return e?e.map(F):void 0},e.validateApplyBookmarkByNameRequest=function(t){var e=n.Validators.applyBookmarkByNameRequestValidator.validate(t);return e?e.map(F):void 0},e.validateApplyBookmarkStateRequest=function(t){var e=n.Validators.applyBookmarkStateRequestValidator.validate(t);return e?e.map(F):void 0},e.validateCaptureBookmarkRequest=function(t){var e=n.Validators.captureBookmarkRequestValidator.validate(t);return e?e.map(F):void 0},e.validateSettings=function(t){var e=n.Validators.settingsValidator.validate(t);return e?e.map(F):void 0},e.validatePanes=function(t){var e=n.Validators.reportPanesValidator.validate(t);return e?e.map(F):void 0},e.validateBookmarksPane=function(t){var e=n.Validators.bookmarksPaneValidator.validate(t);return e?e.map(F):void 0},e.validateFiltersPane=function(t){var e=n.Validators.filtersPaneValidator.validate(t);return e?e.map(F):void 0},e.validateFieldsPane=function(t){var e=n.Validators.fieldsPaneValidator.validate(t);return e?e.map(F):void 0},e.validatePageNavigationPane=function(t){var e=n.Validators.pageNavigationPaneValidator.validate(t);return e?e.map(F):void 0},e.validateSelectionPane=function(t){var e=n.Validators.selectionPaneValidator.validate(t);return e?e.map(F):void 0},e.validateSyncSlicersPane=function(t){var e=n.Validators.syncSlicersPaneValidator.validate(t);return e?e.map(F):void 0},e.validateVisualizationsPane=function(t){var e=n.Validators.visualizationsPaneValidator.validate(t);return e?e.map(F):void 0},e.validateCustomPageSize=function(t){var e=n.Validators.customPageSizeValidator.validate(t);return e?e.map(F):void 0},e.validateExtension=function(t){var e=n.Validators.extensionValidator.validate(t);return e?e.map(F):void 0},e.validateMenuGroupExtension=function(t){var e=n.Validators.menuGroupExtensionValidator.validate(t);return e?e.map(F):void 0},e.validateReportLoad=function(t){var e=n.Validators.reportLoadValidator.validate(t);return e?e.map(F):void 0},e.validatePaginatedReportLoad=function(t){var e=n.Validators.paginatedReportLoadValidator.validate(t);return e?e.map(F):void 0},e.validateCreateReport=function(t){var e=n.Validators.reportCreateValidator.validate(t);return e?e.map(F):void 0},e.validateDashboardLoad=function(t){var e=n.Validators.dashboardLoadValidator.validate(t);return e?e.map(F):void 0},e.validateTileLoad=function(t){var e=n.Validators.tileLoadValidator.validate(t);return e?e.map(F):void 0},e.validatePage=function(t){var e=n.Validators.pageValidator.validate(t);return e?e.map(F):void 0},e.validateFilter=function(t){var e=n.Validators.filterValidator.validate(t);return e?e.map(F):void 0},e.validateUpdateFiltersRequest=function(t){var e=n.Validators.updateFiltersRequestValidator.validate(t);return e?e.map(F):void 0},e.validateSaveAsParameters=function(t){var e=n.Validators.saveAsParametersValidator.validate(t);return e?e.map(F):void 0},e.validateLoadQnaConfiguration=function(t){var e=n.Validators.loadQnaValidator.validate(t);return e?e.map(F):void 0},e.validateQnaInterpretInputData=function(t){var e=n.Validators.qnaInterpretInputDataValidator.validate(t);return e?e.map(F):void 0},e.validateExportDataRequest=function(t){var e=n.Validators.exportDataRequestValidator.validate(t);return e?e.map(F):void 0},e.validateVisualHeader=function(t){var e=n.Validators.visualHeaderValidator.validate(t);return e?e.map(F):void 0},e.validateVisualSettings=function(t){var e=n.Validators.visualSettingsValidator.validate(t);return e?e.map(F):void 0},e.validateCommandsSettings=function(t){var e=n.Validators.commandsSettingsValidator.validate(t);return e?e.map(F):void 0},e.validateCustomTheme=function(t){var e=n.Validators.customThemeValidator.validate(t);return e?e.map(F):void 0},e.validateZoomLevel=function(t){var e=n.Validators.zoomLevelValidator.validate(t);return e?e.map(F):void 0}},function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.Validators=void 0;var i=r(2),a=r(5),o=r(6),n=r(7),l=r(8),s=r(9),u=r(10),d=r(11),c=r(12),p=r(13),f=r(14),h=r(15),v=r(16),y=r(17),m=r(18),V=r(19),g=r(20),b=r(21),w=r(22),P=r(23),_=r(24),O=r(25),S=r(26),T=r(27),E=r(28),F=r(29),R=r(4),x=r(30);e.Validators={addBookmarkRequestValidator:new a.AddBookmarkRequestValidator,advancedFilterTypeValidator:new R.EnumValidator([0]),advancedFilterValidator:new c.AdvancedFilterValidator,anyArrayValidator:new R.ArrayValidator([new S.AnyOfValidator([new R.StringValidator,new R.NumberValidator,new R.BooleanValidator])]),anyFilterValidator:new S.AnyOfValidator([new c.BasicFilterValidator,new c.AdvancedFilterValidator,new c.IncludeExcludeFilterValidator,new c.NotSupportedFilterValidator,new c.RelativeDateFilterValidator,new c.TopNFilterValidator,new c.RelativeTimeFilterValidator]),anyValueValidator:new S.AnyOfValidator([new R.StringValidator,new R.NumberValidator,new R.BooleanValidator]),actionBarValidator:new i.ActionBarValidator,applyBookmarkByNameRequestValidator:new a.ApplyBookmarkByNameRequestValidator,applyBookmarkStateRequestValidator:new a.ApplyBookmarkStateRequestValidator,applyBookmarkValidator:new S.AnyOfValidator([new a.ApplyBookmarkByNameRequestValidator,new a.ApplyBookmarkStateRequestValidator]),backgroundValidator:new R.EnumValidator([0,1]),basicFilterTypeValidator:new R.EnumValidator([1]),basicFilterValidator:new c.BasicFilterValidator,booleanArrayValidator:new R.BooleanArrayValidator,booleanValidator:new R.BooleanValidator,bookmarksPaneValidator:new h.BookmarksPaneValidator,captureBookmarkOptionsValidator:new a.CaptureBookmarkOptionsValidator,captureBookmarkRequestValidator:new a.CaptureBookmarkRequestValidator,commandDisplayOptionValidator:new R.EnumValidator([0,1,2]),commandExtensionSelectorValidator:new S.AnyOfValidator([new b.VisualSelectorValidator,new b.VisualTypeSelectorValidator]),commandExtensionArrayValidator:new R.ArrayValidator([new d.CommandExtensionValidator]),commandExtensionValidator:new d.CommandExtensionValidator,commandsSettingsArrayValidator:new R.ArrayValidator([new o.CommandsSettingsValidator]),commandsSettingsValidator:new o.CommandsSettingsValidator,conditionItemValidator:new c.ConditionItemValidator,contrastModeValidator:new R.EnumValidator([0,1,2,3,4]),customLayoutDisplayOptionValidator:new R.EnumValidator([0,1,2]),customLayoutValidator:new p.CustomLayoutValidator,customPageSizeValidator:new f.CustomPageSizeValidator,customThemeValidator:new n.CustomThemeValidator,dashboardLoadValidator:new l.DashboardLoadValidator,datasetBindingValidator:new s.DatasetBindingValidator,displayStateModeValidator:new R.EnumValidator([0,1]),displayStateValidator:new p.DisplayStateValidator,exportDataRequestValidator:new u.ExportDataRequestValidator,extensionArrayValidator:new R.ArrayValidator([new d.ExtensionValidator]),extensionsValidator:new S.AnyOfValidator([new R.ArrayValidator([new d.ExtensionValidator]),new d.ExtensionsValidator]),extensionPointsValidator:new d.ExtensionPointsValidator,extensionValidator:new d.ExtensionValidator,fieldForbiddenValidator:new T.FieldForbiddenValidator,fieldRequiredValidator:new E.FieldRequiredValidator,fieldsPaneValidator:new h.FieldsPaneValidator,filterColumnTargetValidator:new c.FilterColumnTargetValidator,filterDisplaySettingsValidator:new c.FilterDisplaySettingsValidator,filterConditionsValidator:new R.ArrayValidator([new c.ConditionItemValidator]),filterHierarchyTargetValidator:new c.FilterHierarchyTargetValidator,filterMeasureTargetValidator:new c.FilterMeasureTargetValidator,filterTargetValidator:new S.AnyOfValidator([new c.FilterColumnTargetValidator,new c.FilterHierarchyTargetValidator,new c.FilterMeasureTargetValidator]),filterValidator:new c.FilterValidator,filterTypeValidator:new R.EnumValidator([0,1,2,3,4,5,6,7]),filtersArrayValidator:new R.ArrayValidator([new c.FilterValidator]),filtersOperationsUpdateValidator:new R.EnumValidator([1,2,3]),filtersOperationsRemoveAllValidator:new R.EnumValidator([0]),filtersPaneValidator:new h.FiltersPaneValidator,hyperlinkClickBehaviorValidator:new R.EnumValidator([0,1,2]),includeExcludeFilterValidator:new c.IncludeExcludeFilterValidator,includeExludeFilterTypeValidator:new R.EnumValidator([3]),layoutTypeValidator:new R.EnumValidator([0,1,2,3]),loadQnaValidator:new v.LoadQnaValidator,menuExtensionValidator:new S.AnyOfValidator([new d.FlatMenuExtensionValidator,new d.GroupedMenuExtensionValidator]),menuGroupExtensionArrayValidator:new R.ArrayValidator([new d.MenuGroupExtensionValidator]),menuGroupExtensionValidator:new d.MenuGroupExtensionValidator,menuLocationValidator:new R.EnumValidator([0,1]),notSupportedFilterTypeValidator:new R.EnumValidator([2]),notSupportedFilterValidator:new c.NotSupportedFilterValidator,numberArrayValidator:new R.NumberArrayValidator,numberValidator:new R.NumberValidator,onLoadFiltersBaseValidator:new S.AnyOfValidator([new c.OnLoadFiltersBaseValidator,new c.OnLoadFiltersBaseRemoveOperationValidator]),pageLayoutValidator:new F.MapValidator([new R.StringValidator],[new p.VisualLayoutValidator]),pageNavigationPaneValidator:new h.PageNavigationPaneValidator,pageNavigationPositionValidator:new R.EnumValidator([0,1]),pageSizeTypeValidator:new R.EnumValidator([0,1,2,3,4,5]),pageSizeValidator:new f.PageSizeValidator,pageValidator:new f.PageValidator,pageViewFieldValidator:new f.PageViewFieldValidator,pagesLayoutValidator:new F.MapValidator([new R.StringValidator],[new p.PageLayoutValidator]),paginatedReportCommandsValidator:new o.PaginatedReportCommandsValidator,paginatedReportLoadValidator:new V.PaginatedReportLoadValidator,paginatedReportsettingsValidator:new w.PaginatedReportSettingsValidator,parametersPanelValidator:new x.ParametersPanelValidator,permissionsValidator:new R.EnumValidator([0,1,2,4,7]),playBookmarkRequestValidator:new a.PlayBookmarkRequestValidator,qnaInterpretInputDataValidator:new v.QnaInterpretInputDataValidator,qnaPanesValidator:new h.QnaPanesValidator,qnaSettingValidator:new v.QnaSettingsValidator,relativeDateFilterOperatorValidator:new R.EnumValidator([0,1,2]),relativeDateFilterTimeUnitTypeValidator:new R.EnumValidator([0,1,2,3,4,5,6]),relativeDateFilterTypeValidator:new R.EnumValidator([4]),relativeDateFilterValidator:new c.RelativeDateFilterValidator,relativeDateTimeFilterTypeValidator:new R.EnumValidator([4,7]),relativeDateTimeFilterUnitTypeValidator:new R.EnumValidator([0,1,2,3,4,5,6,7,8]),relativeTimeFilterTimeUnitTypeValidator:new R.EnumValidator([7,8]),relativeTimeFilterTypeValidator:new R.EnumValidator([7]),relativeTimeFilterValidator:new c.RelativeTimeFilterValidator,reportBarsValidator:new i.ReportBarsValidator,reportCreateValidator:new y.ReportCreateValidator,reportLoadFiltersValidator:new S.AnyOfValidator([new R.ArrayValidator([new c.FilterValidator]),new c.OnLoadFiltersValidator]),reportLoadValidator:new m.ReportLoadValidator,reportPanesValidator:new h.ReportPanesValidator,saveAsParametersValidator:new g.SaveAsParametersValidator,selectionPaneValidator:new h.SelectionPaneValidator,settingsValidator:new w.SettingsValidator,singleCommandSettingsValidator:new o.SingleCommandSettingsValidator,slicerSelectorValidator:new S.AnyOfValidator([new b.VisualSelectorValidator,new b.SlicerTargetSelectorValidator]),slicerStateValidator:new P.SlicerStateValidator,slicerTargetValidator:new S.AnyOfValidator([new c.FilterColumnTargetValidator,new c.FilterHierarchyTargetValidator,new c.FilterMeasureTargetValidator,new c.FilterKeyColumnsTargetValidator,new c.FilterKeyHierarchyTargetValidator]),slicerValidator:new P.SlicerValidator,stringArrayValidator:new R.StringArrayValidator,stringValidator:new R.StringValidator,syncSlicersPaneValidator:new h.SyncSlicersPaneValidator,tileLoadValidator:new _.TileLoadValidator,tokenTypeValidator:new R.EnumValidator([0,1]),topNFilterTypeValidator:new R.EnumValidator([5]),topNFilterValidator:new c.TopNFilterValidator,updateFiltersRequestValidator:new S.AnyOfValidator([new c.UpdateFiltersRequestValidator,new c.RemoveFiltersRequestValidator]),viewModeValidator:new R.EnumValidator([0,1]),visualCommandSelectorValidator:new S.AnyOfValidator([new b.VisualSelectorValidator,new b.VisualTypeSelectorValidator]),visualHeaderSelectorValidator:new S.AnyOfValidator([new b.VisualSelectorValidator,new b.VisualTypeSelectorValidator]),visualHeaderSettingsValidator:new O.VisualHeaderSettingsValidator,visualHeaderValidator:new O.VisualHeaderValidator,visualHeadersValidator:new R.ArrayValidator([new O.VisualHeaderValidator]),visualizationsPaneValidator:new h.VisualizationsPaneValidator,visualLayoutValidator:new p.VisualLayoutValidator,visualSelectorValidator:new b.VisualSelectorValidator,visualSettingsValidator:new O.VisualSettingsValidator,visualTypeSelectorValidator:new b.VisualTypeSelectorValidator,zoomLevelValidator:new R.RangeValidator(.25,4)}},function(t,e,r){var i,a=this&&this.__extends||(i=function(t,e){return(i=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])})(t,e)},function(t,e){function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.ActionBarValidator=e.ReportBarsValidator=void 0;var o=r(3),n=r(4),l=r(1),s=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return a(e,t),e.prototype.validate=function(e,r,i){if(null==e)return null;var a=t.prototype.validate.call(this,e,r,i);if(a)return a;var n=[{field:"actionBar",validators:[l.Validators.actionBarValidator]}];return new o.MultipleFieldsValidator(n).validate(e,r,i)},e}(n.ObjectValidator);e.ReportBarsValidator=s;var u=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return a(e,t),e.prototype.validate=function(e,r,i){if(null==e)return null;var a=t.prototype.validate.call(this,e,r,i);if(a)return a;var n=[{field:"visible",validators:[l.Validators.booleanValidator]}];return new o.MultipleFieldsValidator(n).validate(e,r,i)},e}(n.ObjectValidator);e.ActionBarValidator=u},function(t,e){Object.defineProperty(e,"__esModule",{value:!0}),e.MultipleFieldsValidator=void 0;var r=function(){function t(t){this.fieldValidatorsPairs=t}return t.prototype.validate=function(t,e,r){if(!this.fieldValidatorsPairs)return null;for(var i=e?e+"."+r:r,a=0,o=this.fieldValidatorsPairs;athis.maxValue||e0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0?"&":"?";return t+=i+e+"="+r},e.isSavedInternal=function(t,e,a){return r(this,void 0,void 0,(function(){return i(this,(function(r){switch(r.label){case 0:return r.trys.push([0,2,,3]),[4,t.get("/report/hasUnsavedChanges",{uid:e},a)];case 1:return[2,!r.sent().body];case 2:throw r.sent().body;case 3:return[2]}}))}))},e.isRDLEmbed=function(t){return t&&t.toLowerCase().indexOf("/rdlembed?")>=0},e.autoAuthInEmbedUrl=function(t){return t&&decodeURIComponent(t).toLowerCase().indexOf("autoauth=true")>=0},e.getRandomValue=o,e.getTimeDiffInMilliseconds=function(t,e){return Math.abs(t.getTime()-e.getTime())}},function(t,e){Object.defineProperty(e,"__esModule",{value:!0}),e.FilterBuilder=void 0;var r=function(){function t(){}return t.prototype.withTargetObject=function(t){return this.target=t,this},t.prototype.withColumnTarget=function(t,e){return this.target={table:t,column:e},this},t.prototype.withMeasureTarget=function(t,e){return this.target={table:t,measure:e},this},t.prototype.withHierarchyLevelTarget=function(t,e,r){return this.target={table:t,hierarchy:e,hierarchyLevel:r},this},t.prototype.withColumnAggregation=function(t,e,r){return this.target={table:t,column:e,aggregationFunction:r},this},t.prototype.withHierarchyLevelAggregationTarget=function(t,e,r,i){return this.target={table:t,hierarchy:e,hierarchyLevel:r,aggregationFunction:i},this},t}();e.FilterBuilder=r},function(t,e){Object.defineProperty(e,"__esModule",{value:!0}),e.EmbedUrlNotSupported=e.APINotSupportedForRDLError=void 0,e.APINotSupportedForRDLError="This API is currently not supported for RDL reports",e.EmbedUrlNotSupported="Embed URL is invalid for this scenario. Please use Power BI REST APIs to get the valid URL"},function(t,e,r){var i,a=this&&this.__extends||(i=function(t,e){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])})(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}),o=this&&this.__awaiter||function(t,e,r,i){return new(r||(r=Promise))((function(a,o){function n(t){try{s(i.next(t))}catch(t){o(t)}}function l(t){try{s(i.throw(t))}catch(t){o(t)}}function s(t){var e;t.done?a(t.value):(e=t.value,e instanceof r?e:new r((function(t){t(e)}))).then(n,l)}s((i=i.apply(t,e||[])).next())}))},n=this&&this.__generator||function(t,e){var r,i,a,o,n={label:0,sent:function(){if(1&a[0])throw a[1];return a[1]},trys:[],ops:[]};return o={next:l(0),throw:l(1),return:l(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function l(o){return function(l){return function(o){if(r)throw new TypeError("Generator is already executing.");for(;n;)try{if(r=1,i&&(a=2&o[0]?i.return:o[0]?i.throw||((a=i.return)&&a.call(i),0):i.next)&&!(a=a.call(i,o[1])).done)return a;switch(i=0,a&&(o=[2&o[0],a.value]),o[0]){case 0:case 1:a=o;break;case 4:return n.label++,{value:o[1],done:!1};case 5:n.label++,i=o[1],o=[0];continue;case 7:o=n.ops.pop(),n.trys.pop();continue;default:if(!(a=n.trys,(a=a.length>0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1] { if (extension?.command) { this.commands.push(extension.command) } }); + extensionsArray.map((extension: models.IExtension) => { if (extension?.command) { this.commands.push(extension.command); } }); } if (isBootstrap) { @@ -707,10 +707,10 @@ export abstract class Embed { * * @hidden */ - private setIframe(isLoad: boolean, phasedRender?: boolean, isBootstrap?: boolean, registerQueryCallback?: boolean): void { + private setIframe(isLoad: boolean, phasedRender?: boolean, isBootstrap?: boolean): void { if (!this.iframe) { const iframeContent = document.createElement("iframe"); - let embedUrl = this.config.uniqueId ? addParamToUrl(this.config.embedUrl, 'uid', this.config.uniqueId) : this.config.embedUrl; + const embedUrl = this.config.uniqueId ? addParamToUrl(this.config.embedUrl, 'uid', this.config.uniqueId) : this.config.embedUrl; iframeContent.style.width = '100%'; iframeContent.style.height = '100%'; diff --git a/src/page.ts b/src/page.ts index b4f48a10..9f9e8851 100644 --- a/src/page.ts +++ b/src/page.ts @@ -91,7 +91,7 @@ export class Page implements IPageNode, IFilterable { * * @type {ICustomPageSize} */ - mobileSize: ICustomPageSize; + mobileSize: ICustomPageSize; /** * Page display options as saved in the report. diff --git a/src/report.ts b/src/report.ts index 5c130607..3ce975fd 100644 --- a/src/report.ts +++ b/src/report.ts @@ -119,7 +119,6 @@ export class Report extends Embed implements IReportNode, IFilterable { return reportId; } - /** * Render a preloaded report, using phased embedding API * @@ -567,7 +566,7 @@ export class Report extends Embed implements IReportNode, IFilterable { }; // Set the settings back into the config. - this.config.settings = assign({}, elementAttrSettings, config.settings); + this.config.settings = assign({}, elementAttrSettings, config.settings) as ISettings; if (isBootstrap) { return; @@ -738,7 +737,7 @@ export class Report extends Embed implements IReportNode, IFilterable { return Promise.reject(APINotSupportedForRDLError); } - const commandCopy: ICommandExtension[] = JSON.parse(JSON.stringify(this.commands)); + const commandCopy = JSON.parse(JSON.stringify(this.commands)) as ICommandExtension[]; const indexOfCommand: number = this.findCommandMenuIndex("visualContextMenu", commandCopy, commandName, contextMenuTitle); if (indexOfCommand === -1) { throw CommonErrorCodes.NotFound; @@ -808,7 +807,7 @@ export class Report extends Embed implements IReportNode, IFilterable { return Promise.reject(APINotSupportedForRDLError); } - const commandCopy: ICommandExtension[] = JSON.parse(JSON.stringify(this.commands)); + const commandCopy = JSON.parse(JSON.stringify(this.commands)) as ICommandExtension[]; const indexOfCommand: number = this.findCommandMenuIndex("visualOptionsMenu", commandCopy, commandName, optionsMenuTitle); if (indexOfCommand === -1) { @@ -1115,6 +1114,7 @@ export class Report extends Embed implements IReportNode, IFilterable { /** * Return the current zoom level of the report. + * * @returns {Promise} */ async getZoom(): Promise { @@ -1128,6 +1128,7 @@ export class Report extends Embed implements IReportNode, IFilterable { /** * Sets the report's zoom level. + * * @param zoomLevel zoom level to set */ async setZoom(zoomLevel: number): Promise { diff --git a/src/service.ts b/src/service.ts index 375f8c31..eb2e7c4b 100644 --- a/src/service.ts +++ b/src/service.ts @@ -462,7 +462,7 @@ export class Service implements IService { this.router.post(`preQuery`, async (req, _res) => { try { - let result = await applicationContextProvider(req.body); + const result = await applicationContextProvider(req.body); _res.send(200, result); } catch (error) { _res.send(400, null); @@ -589,7 +589,7 @@ export class Service implements IService { * @hidden */ private handleEvent(event: IEvent): void { - let embed = utils.find(embed => { + const embed = utils.find(embed => { return (embed.config.uniqueId === event.id); }, this.embeds); diff --git a/src/util.ts b/src/util.ts index 635899b2..8dc63653 100644 --- a/src/util.ts +++ b/src/util.ts @@ -80,7 +80,7 @@ export function remove(predicate: (x: T) => boolean, xs: T[]): void { * @param {any} args * @returns */ -export function assign(...args) { +export function assign(...args): any { var target = args[0]; 'use strict'; @@ -123,7 +123,7 @@ export function generateUUID(): string { if (typeof performance !== 'undefined' && typeof performance.now === 'function') { d += performance.now(); } - return 'xxxxxxxxxxxxxxxxxxxx'.replace(/[xy]/g, function (c) { + return 'xxxxxxxxxxxxxxxxxxxx'.replace(/[xy]/g, function (_c) { // Generate a random number, scaled from 0 to 15. const r = (getRandomValue() % 16); From b57d332ad05a5f122e61b78885e845b3c55dca3a Mon Sep 17 00:00:00 2001 From: Shahak Yosef Date: Thu, 18 Nov 2021 07:41:44 +0000 Subject: [PATCH 077/125] Merged PR 217002: Refactor tests Refactor tests --- .eslintignore | 1 - gulpfile.js | 2 +- karma.conf.js | 3 +- package.json | 8 +- test/SDK-to-HPM.spec.ts | 2533 ++++++++++++++ test/SDK-to-MockApp.spec.ts | 598 ++++ test/SDK-to-WPMP.spec.ts | 196 ++ test/constsants.ts | 14 + test/filterBuilders.spec.ts | 14 +- test/protocol.spec.ts | 1194 +++++++ test/service.spec.ts | 1044 ++++++ test/test.spec.ts | 6170 +---------------------------------- test/utility/mockApp.ts | 37 +- test/utility/mockEmbed.ts | 552 ++-- test/utility/mockHpm.ts | 12 +- test/utility/mockRouter.ts | 2 +- test/utility/mockWpmp.ts | 12 +- webpack.test.config.js | 2 +- 18 files changed, 5930 insertions(+), 6464 deletions(-) create mode 100644 test/SDK-to-HPM.spec.ts create mode 100644 test/SDK-to-MockApp.spec.ts create mode 100644 test/SDK-to-WPMP.spec.ts create mode 100644 test/constsants.ts create mode 100644 test/protocol.spec.ts create mode 100644 test/service.spec.ts diff --git a/.eslintignore b/.eslintignore index a23ddd64..a6796e04 100644 --- a/.eslintignore +++ b/.eslintignore @@ -1,5 +1,4 @@ # Task 512388: Fix eslint warnings and errors in tests -test/* /node_modules/* demo/* /**/*.js diff --git a/gulpfile.js b/gulpfile.js index 6d9af630..1c6d1468 100644 --- a/gulpfile.js +++ b/gulpfile.js @@ -210,7 +210,7 @@ gulp.task('compile:dts', 'Generate one dts file from modules', function () { }); gulp.task('compile:spec', 'Compile spec tests', function () { - return gulp.src(['./test/test.spec.ts']) + return gulp.src(['./test/**/*.ts']) .pipe(webpackStream(webpackTestConfig)) .pipe(gulp.dest('./tmp')); }); diff --git a/karma.conf.js b/karma.conf.js index 9efa2bd9..d78bd733 100644 --- a/karma.conf.js +++ b/karma.conf.js @@ -26,6 +26,7 @@ module.exports = function (config) { reporters: argv.debug ? ['spec', 'kjhtml'] : ['spec', 'coverage', 'kjhtml'], autoWatch: true, browsers: [browserName], + browserNoActivityTimeout: 300000, plugins: [ 'karma-firefox-launcher', 'karma-chrome-launcher', @@ -37,7 +38,7 @@ module.exports = function (config) { ], customLaunchers: { 'Chrome_headless': { - base: 'Chrome', + base: argv.debug ? 'Chrome' : 'ChromeHeadless', flags: flags.concat("--no-sandbox", "--window-size=800,800"), }, }, diff --git a/package.json b/package.json index a5edd98f..28f7fdea 100644 --- a/package.json +++ b/package.json @@ -59,15 +59,15 @@ "gulp4-run-sequence": "^1.0.0", "http-server": "^0.12.1", "ignore-loader": "^0.1.1", - "jasmine-core": "^2.99.1", + "jasmine-core": "3.10.1", "jquery": "^3.3.1", "json-loader": "^0.5.4", - "karma": "^5.2.3", + "karma": "6.3.5", "karma-chrome-launcher": "^3.1.0", "karma-coverage": "^2.0.3", "karma-firefox-launcher": "^1.2.0", - "karma-jasmine": "^0.3.8", - "karma-jasmine-html-reporter": "^0.2.2", + "karma-jasmine": "4.0.1", + "karma-jasmine-html-reporter": "1.7.0", "karma-phantomjs-launcher": "^1.0.4", "karma-spec-reporter": "0.0.32", "moment": "^2.14.1", diff --git a/test/SDK-to-HPM.spec.ts b/test/SDK-to-HPM.spec.ts new file mode 100644 index 00000000..3a04e201 --- /dev/null +++ b/test/SDK-to-HPM.spec.ts @@ -0,0 +1,2533 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. + +import * as utils from '../src/util'; +import * as service from '../src/service'; +import * as embed from '../src/embed'; +import * as report from '../src/report'; +import * as visual from '../src/visual'; +import * as create from '../src/create'; +import * as dashboard from '../src/dashboard'; +import * as page from '../src/page'; +import * as sdkConfig from '../src/config'; +import * as visualDescriptor from '../src/visualDescriptor'; +import * as Wpmp from 'window-post-message-proxy'; +import * as Hpm from 'http-post-message'; +import * as Router from 'powerbi-router'; +import * as models from 'powerbi-models'; +import { spyApp } from './utility/mockEmbed'; +import * as factories from '../src/factories'; +import { spyHpm } from './utility/mockHpm'; +import { spyRouter } from './utility/mockRouter'; +import { APINotSupportedForRDLError } from '../src/errors'; +import { iframeSrc } from './constsants'; + +describe('SDK-to-HPM', function () { + let powerbi: service.Service; + let page1: page.Page; + let visual1: visualDescriptor.VisualDescriptor; + let uniqueId = 'uniqueId'; + let sdkSessionId = 'sdkSessionId'; + let createUniqueId = 'uniqueId'; + let dashboardUniqueId = 'uniqueId'; + let visualUniqueId = 'uniqueId'; + let embedConfiguration: embed.IEmbedConfiguration; + let visualEmbedConfiguration: embed.IVisualEmbedConfiguration; + + beforeEach(function () { + const spyHpmFactory: factories.IHpmFactory = () => { + return spyHpm; + }; + const noop: factories.IWpmpFactory = () => { + return null; + }; + + const spyRouterFactory: factories.IRouterFactory = () => { + return spyRouter; + }; + + spyOn(utils, "getTimeDiffInMilliseconds").and.callFake(() => 700); // Prevent requests from being throttled. + + powerbi = new service.Service(spyHpmFactory, noop, spyRouterFactory, { wpmpName: 'SDK-to-HPM report wpmp' }); + + sdkSessionId = powerbi.getSdkSessionId(); + }); + + afterEach(function () { + spyHpm.get.calls.reset(); + spyHpm.post.calls.reset(); + spyHpm.patch.calls.reset(); + spyHpm.put.calls.reset(); + spyHpm.delete.calls.reset(); + + spyRouter.get.calls.reset(); + spyRouter.post.calls.reset(); + spyRouter.patch.calls.reset(); + spyRouter.put.calls.reset(); + spyRouter.delete.calls.reset(); + + spyApp.reset(); + }); + + describe('report', function () { + let reportElement: HTMLDivElement; + let report: report.Report; + + beforeEach(async () => { + reportElement = document.createElement('div'); + reportElement.className = 'powerbi-report-container'; + document.body.appendChild(reportElement); + + embedConfiguration = { + type: "report", + id: "fakeReportId", + accessToken: 'fakeToken', + embedUrl: iframeSrc + }; + + spyHpm.post.and.callFake(() => Promise.resolve({})); + report = powerbi.embed(reportElement, embedConfiguration); + + page1 = new page.Page(report, 'xyz'); + visual1 = new visualDescriptor.VisualDescriptor(page1, 'uvw', 'title', 'type', {}); + uniqueId = report.config.uniqueId; + + const iframe = reportElement.getElementsByTagName('iframe')[0]; + await new Promise((resolve, _reject) => { + iframe.addEventListener('load', () => resolve(null)); + }); + spyHpm.post.and.callThrough(); + }); + + afterEach(() => { + powerbi.reset(reportElement); + reportElement.remove(); + }); + + describe('load', function () { + it('report.load() sends POST /report/load with configuration in body', async function () { + // Arrange + const testData = { + loadConfiguration: { + id: 'fakeId', + accessToken: 'fakeToken' + }, + response: { + body: null + } + }; + + spyHpm.post.and.returnValue(Promise.resolve(testData.response)); + + // Act + let expectedConfiguration = utils.assign({}, report.config, testData.loadConfiguration); + report.config = expectedConfiguration; + await report.load(); + + // Assert + const expectedHeaders = { + bootstrapped: undefined, + sdkVersion: sdkConfig.default.version, + uid: uniqueId, + sdkSessionId: sdkSessionId + }; + + expect(spyHpm.post).toHaveBeenCalledWith('/report/load', expectedConfiguration, expectedHeaders, jasmine.any(Object)); + }); + + it('report.load() returns promise that rejects with validation error if the load configuration is invalid', async function () { + // Arrange + const testData = { + errorResponse: { + body: { + message: "invalid configuration object" + } + } + }; + + spyHpm.post.and.callFake(() => Promise.reject(testData.errorResponse)); + + try { + // Act + + await report.load(); + fail("load shouldn't succeed"); + } catch (error) { + const expectedHeaders = { + bootstrapped: undefined, + sdkVersion: sdkConfig.default.version, + uid: uniqueId, + sdkSessionId: sdkSessionId + }; + expect(spyHpm.post).toHaveBeenCalledWith('/report/load', report.config, expectedHeaders, jasmine.any(Object)); + expect(error).toEqual(testData.errorResponse.body); + } + }); + + it('report.load() returns promise that resolves with null if the report load successful', async function () { + // Arrange + const testData = { + response: { + body: null + } + }; + + spyHpm.post.and.callFake(() => Promise.resolve(testData.response)); + // Act + try { + const response = await report.load(); + const expectedHeaders = { + bootstrapped: undefined, + sdkVersion: sdkConfig.default.version, + uid: uniqueId, + sdkSessionId: sdkSessionId + }; + + expect(spyHpm.post).toHaveBeenCalledWith('/report/load', report.config, expectedHeaders, jasmine.any(Object)); + expect(response).toEqual(null); + } catch (error) { + console.log("report.load failed with", error); + fail("report.load failed"); + } + }); + + it('report.load() updates the internal configuration if the load request was successful', async function () { + // Arrange + const testData = { + loadConfiguration: { + id: 'newFakeId', + accessToken: 'newFakeToken' + }, + response: { + body: null + } + }; + + spyHpm.post.and.returnValue(Promise.resolve(testData.response)); + + // Act + let expectedConfiguration = { ...report.config, ...testData.loadConfiguration }; + report.config = expectedConfiguration; + try { + const response = await report.load(); + expect(report.config).toEqual(jasmine.objectContaining(expectedConfiguration)); + expect(response).toEqual(null); + } catch (error) { + console.log("report.load failed with", error); + fail("report.load failed"); + } + }); + }); + + describe('pages', function () { + it('report.getPages() sends GET /report/pages', async function () { + // Arrange + const testData = { + response: { + body: [ + { + name: 'page1' + } + ] + } + }; + + spyHpm.get.and.returnValue(Promise.resolve(testData.response)); + + // Act + await report.getPages(); + + // Assert + expect(spyHpm.get).toHaveBeenCalledWith('/report/pages', { uid: uniqueId }, jasmine.any(Object)); + }); + + it('report.getPages() return promise that rejects with server error if there was error getting pages', async function () { + // Arrange + const testData = { + expectedError: { + body: { + message: 'internal server error' + } + } + }; + + spyHpm.get.and.callFake(() => Promise.reject(testData.expectedError)); + try { + // Act + await report.getPages(); + fail("getPages should have failed"); + } catch (error) { + // Assert + expect(spyHpm.get).toHaveBeenCalledWith('/report/pages', { uid: uniqueId }, jasmine.any(Object)); + expect(error).toEqual(testData.expectedError.body); + } + }); + + it('report.getPages() returns promise that resolves with list of Page objects', async function () { + // Arrange + const testData = { + pages: [ + 'page1', + 'page2' + ], + expectedResponse: { + body: [ + report.page('page1'), + report.page('page2') + ] + } + }; + + spyHpm.get.and.returnValue(Promise.resolve(testData.expectedResponse)); + try { + // Act + const pages = await report.getPages(); + // Assert + expect(spyHpm.get).toHaveBeenCalledWith('/report/pages', { uid: uniqueId }, jasmine.any(Object)); + expect(pages[0].name).toEqual(testData.expectedResponse.body[0].name); + expect(pages[1].name).toEqual(testData.expectedResponse.body[1].name); + + } catch (error) { + console.log("report.getPages failed with", error); + fail("report.getPages failed"); + } + }); + + it('report.getPageByName() returns promise that rejects if report page with given page name not found', async function () { + // Arrange + const pageName = 'page1'; + const testData = { + expectedError: { + body: { + message: 'page not found' + } + } + }; + + spyHpm.get.and.callFake(() => Promise.reject(testData.expectedError)); + try { + // Act + await report.getPageByName(pageName); + fail("report.getPages should have failed"); + } catch (error) { + // Assert + expect(spyHpm.get).toHaveBeenCalledWith('/report/pages', { uid: uniqueId }, jasmine.any(Object)); + expect(error).toEqual(testData.expectedError.body); + } + }); + + it('report.getPageByName(pageName) returns promise that resolves with page if request is successful', async function () { + // Arrange + const pageName = "page1"; + const testData = { + expectedResponse: + { + report: report, + name: "page1", + displayName: "Page 1", + isActive: true + } + }; + + spyApp.getPageByName.and.returnValue(Promise.resolve(testData.expectedResponse)); + try { + // Act + const page = await spyApp.getPageByName(pageName); + // Assert + expect(spyApp.getPageByName).toHaveBeenCalled(); + expect(page.name).toEqual(testData.expectedResponse.name); + expect(page.isActive).toEqual(testData.expectedResponse.isActive); + } catch (error) { + console.log("getPageByName failed with", error); + fail("getPageByName failed"); + } + }); + + it('report.getActivePage() sends GET /report/pages', async function () { + // Arrange + const testData = { + response: { + body: [ + { + name: 'page1', + isActive: true + } + ] + } + }; + + spyHpm.get.and.returnValue(Promise.resolve(testData.response)); + + // Act + try { + await report.getActivePage(); + } catch (error) { + // The test only checks hpm request + } + + // Assert + expect(spyHpm.get).toHaveBeenCalledWith('/report/pages', { uid: uniqueId }, jasmine.any(Object)); + }); + + it('report.getActivePage() return promise that rejects with server error if there was error getting active page', async function () { + // Arrange + const testData = { + expectedError: { + body: { + message: 'internal server error' + } + } + }; + + spyHpm.get.and.callFake(() => Promise.reject(testData.expectedError)); + try { + // Act + await report.getActivePage(); + } catch (error) { + // Assert + expect(spyHpm.get).toHaveBeenCalledWith('/report/pages', { uid: uniqueId }, jasmine.any(Object)); + expect(error).toEqual(testData.expectedError.body); + } + }); + + it('report.getActivePage() return promise that rejects if embedded report is an RDL report', async function () { + // Arrange + const testData = { + expectedError: { + body: { + message: APINotSupportedForRDLError + } + } + }; + + spyHpm.get.and.callFake(() => Promise.reject(testData.expectedError)); + try { + // Act + await report.getActivePage(); + } catch (error) { + // Assert + expect(spyHpm.get).toHaveBeenCalledWith('/report/pages', { uid: uniqueId }, jasmine.any(Object)); + expect(error).toEqual(testData.expectedError.body); + } + }); + + it('report.getActivePage() returns promise that resolves with a page if request is successful', async function () { + // Arrange + const testData = { + expectedResponse: + { + report: report, + name: "page1", + displayName: "Page 1", + isActive: true + } + }; + + spyApp.getActivePage.and.returnValue(Promise.resolve(testData.expectedResponse)); + try { + // Act + const page = await spyApp.getActivePage(); + // Assert + expect(spyApp.getActivePage).toHaveBeenCalled(); + expect(page.name).toEqual(testData.expectedResponse.name); + expect(page.isActive).toEqual(testData.expectedResponse.isActive); + } catch (error) { + console.log("getActivePage failed with", error); + fail("getActivePage failed"); + } + }); + + it('report.addPage() sends POST /report/addPage with displayName', async function () { + // Arrange + const displayName = "testName"; + const expectedRequest = { + displayName: displayName + }; + const expectedHeaders = { uid: uniqueId }; + + spyHpm.post.and.returnValue(Promise.resolve({ body: page1 })); + + // Act + await report.addPage(displayName); + + // Assert + expect(spyHpm.post).toHaveBeenCalledWith('/report/addPage', expectedRequest, expectedHeaders, jasmine.any(Object)); + }); + + it('report.renamePage() sends PUT /report/pages/{name} with displayName', async function () { + // Arrange + const name = "testName"; + const displayName = "newName"; + const expectedHeaders = { uid: uniqueId }; + const expectedRequest = { + name, + displayName + }; + + spyHpm.put.and.returnValue(Promise.resolve({})); + + // Act + await report.renamePage(name, displayName); + + expect(spyHpm.put).toHaveBeenCalledWith(`/report/pages/${name}/name`, expectedRequest, expectedHeaders, jasmine.any(Object)); + }); + + it('report.deletePage() sends DELETE /report/pages/{name}', async function () { + // Arrange + const name = "testName"; + const expectedHeaders = { uid: uniqueId }; + + spyHpm.delete.and.returnValue(Promise.resolve({})); + + // Act + await report.deletePage(name); + + expect(spyHpm.delete).toHaveBeenCalledWith(`/report/pages/${name}`, {}, expectedHeaders, jasmine.any(Object)); + }); + }); + + describe('filters', function () { + it('report.getFilters() sends GET /report/filters', async function () { + // Arrange + const testData = { + response: { + body: [ + (new models.BasicFilter({ table: "Cars", measure: "Make" }, "In", ["subaru", "honda"])).toJSON(), + (new models.AdvancedFilter({ table: "Cars", measure: "Make" }, "And", [{ value: "subaru", operator: "None" }, { value: "honda", operator: "Contains" }])).toJSON() + ] + } + }; + + spyHpm.get.and.returnValue(Promise.resolve(testData.response)); + + // Act + await report.getFilters(); + + // Assert + expect(spyHpm.get).toHaveBeenCalledWith('/report/filters', { uid: uniqueId }, jasmine.any(Object)); + }); + + it('report.getFilters() returns promise that rejects with server error if there was error getting filters', async function () { + // Arrange + const testData = { + expectedErrors: { + body: [ + { + message: 'target is invalid, missing property x' + } + ] + } + }; + + spyHpm.get.and.callFake(() => Promise.reject(testData.expectedErrors)); + try { + // Act + await report.getFilters(); + } catch (errors) { + // Assert + expect(spyHpm.get).toHaveBeenCalledWith('/report/filters', { uid: uniqueId }, jasmine.any(Object)); + expect(errors).toEqual(jasmine.objectContaining(testData.expectedErrors.body)); + } + }); + + it('report.getFilters() returns promise that resolves with the filters if the request is accepted', async function () { + // Arrange + const testData = { + response: { + body: [ + (new models.BasicFilter({ table: "Cars", measure: "Make" }, "In", ["subaru", "honda"])).toJSON(), + (new models.AdvancedFilter({ table: "Cars", measure: "Make" }, "And", [{ value: "subaru", operator: "None" }, { value: "honda", operator: "Contains" }])).toJSON() + ] + } + }; + + spyHpm.get.and.returnValue(Promise.resolve(testData.response)); + + try { + // Act + const filters = await report.getFilters(); + // Assert + expect(spyHpm.get).toHaveBeenCalledWith('/report/filters', { uid: uniqueId }, jasmine.any(Object)); + expect(filters).toEqual(testData.response.body); + } catch (error) { + console.log("getFilters failed with", error); + fail("getFilters failed"); + } + }); + + it('report.setFilters(filters) sends PUT /report/filters', async function () { + // Arrange + const testData = { + filters: [ + (new models.BasicFilter({ table: "Cars", measure: "Make" }, "In", ["subaru", "honda"])).toJSON(), + (new models.AdvancedFilter({ table: "Cars", measure: "Make" }, "And", [{ value: "subaru", operator: "None" }, { value: "honda", operator: "Contains" }])).toJSON() + ] + }; + spyHpm.put.and.returnValue(Promise.resolve({})); + + // Act + await report.setFilters(testData.filters); + + // Assert + expect(spyHpm.put).toHaveBeenCalledWith('/report/filters', testData.filters, { uid: uniqueId }, jasmine.any(Object)); + }); + + it('report.setFilters(filters) returns promise that rejects with validation errors if filter is invalid', async function () { + // Arrange + const testData = { + filters: [ + (new models.BasicFilter({ table: "Cars", measure: "Make" }, "In", ["subaru", "honda"])).toJSON(), + (new models.AdvancedFilter({ table: "Cars", measure: "Make" }, "And", [{ value: "subaru", operator: "None" }, { value: "honda", operator: "Contains" }])).toJSON() + ], + expectedErrors: { + body: [ + { + message: 'target is invalid, missing property x' + } + ] + } + }; + + spyHpm.put.and.callFake(() => Promise.reject(testData.expectedErrors)); + try { + // Act + await report.setFilters(testData.filters); + } catch (errors) { + // Assert + expect(spyHpm.put).toHaveBeenCalledWith('/report/filters', testData.filters, { uid: uniqueId }, jasmine.any(Object)); + expect(errors).toEqual(jasmine.objectContaining(testData.expectedErrors.body)); + } + }); + + it('report.setFilters(filters) returns promise that resolves with null if filter was valid and request is accepted', async function () { + // Arrange + const testData = { + filters: [ + (new models.BasicFilter({ table: "Cars", measure: "Make" }, "In", ["subaru", "honda"])).toJSON(), + (new models.AdvancedFilter({ table: "Cars", measure: "Make" }, "And", [{ value: "subaru", operator: "None" }, { value: "honda", operator: "Contains" }])).toJSON() + ] + }; + + spyHpm.put.and.returnValue(Promise.resolve(null)); + try { + // Act + const response = await report.setFilters(testData.filters); + expect(spyHpm.put).toHaveBeenCalledWith('/report/filters', testData.filters, { uid: uniqueId }, jasmine.any(Object)); + expect(response).toEqual(null); + } catch (error) { + console.log("setFilters failed with", error); + fail("setFilters failed"); + } + }); + + it('report.removeFilters() sends PUT /report/filters', async function () { + // Arrange + spyHpm.post.and.callFake(() => Promise.resolve({})); + + // Act + await report.removeFilters(); + + // Assert + expect(spyHpm.post).toHaveBeenCalledWith('/report/filters', { filtersOperation: models.FiltersOperations.RemoveAll, filters: undefined }, { uid: uniqueId }, jasmine.any(Object)); + }); + + it('report.removeFilters() returns promise that resolves with null if request is accepted', async function () { + // Arrange + spyHpm.post.and.returnValue(Promise.resolve(null)); + + // Act + const response = await report.removeFilters(); + // Assert + expect(spyHpm.post).toHaveBeenCalledWith('/report/filters', { filtersOperation: models.FiltersOperations.RemoveAll, filters: undefined }, { uid: uniqueId }, jasmine.any(Object)); + expect(response).toEqual(null); + }); + }); + + describe('switchMode', function () { + it('report.switchMode() sends POST /report/switchMode', async function () { + // Arrange + spyHpm.post.and.returnValue(Promise.resolve({ + body: {} + })); + + // Act + await report.switchMode(models.ViewMode.Edit); + + // Assert + const url = '/report/switchMode/edit'; + expect(spyHpm.post).toHaveBeenCalledWith(url, null, { uid: uniqueId }, jasmine.any(Object)); + }); + + it('report.switchMode() returns promise that resolves if the request is accepted', async function () { + // Arrange + spyHpm.post.and.returnValue(Promise.resolve({ + body: {} + })); + + // Act + await report.switchMode(models.ViewMode.Edit); + // Assert + let url = '/report/switchMode/edit'; + expect(spyHpm.post).toHaveBeenCalledWith(url, null, { uid: uniqueId }, jasmine.any(Object)); + }); + }); + + describe('save', function () { + it('report.save() sends POST /report/save', async function () { + // Arrange + spyHpm.post.and.returnValue(Promise.resolve({ + body: {} + })); + + // Act + await report.save(); + + // Assert + expect(spyHpm.post).toHaveBeenCalledWith('/report/save', null, { uid: uniqueId }, jasmine.any(Object)); + }); + + it('report.save() returns promise that resolves if the request is accepted', async function () { + // Arrange + spyHpm.post.and.returnValue(Promise.resolve({ + body: {} + })); + + // Act + await report.save(); + // Assert + expect(spyHpm.post).toHaveBeenCalledWith('/report/save', null, { uid: uniqueId }, jasmine.any(Object)); + }); + }); + + describe('switchLayout', function () { + it('report.switchLayout(layout) returns promise that rejects with errors if there was error if initial layout and current layout type do not match', async function () { + // Arrange + // Set initial layout to desktop layout + report.config.settings.layoutType = models.LayoutType.Master; + + const layoutType = models.LayoutType.MobileLandscape; + const testData = { + expectedError: { + message: 'Switching between mobile and desktop layouts is not supported. Please reset the embed container and re-embed with required layout.' + }, + settings: { + layoutType: layoutType + } + }; + + spyHpm.patch.and.callFake(() => Promise.reject(testData.expectedError)); + try { + // Act + await report.switchLayout(layoutType); + } catch (error) { + // Assert + expect(spyHpm.patch).not.toHaveBeenCalledWith('/report/settings', testData.settings, { uid: uniqueId }, jasmine.any(Object)); + expect(error).toEqual(testData.expectedError.message); + } + }); + + it('report.switchLayout(layout) returns promise that resolves with null if requst is valid and accepted', async function () { + // Arrange + // Set initial layout to mobile layout + report.config.settings.layoutType = models.LayoutType.MobilePortrait; + + const layoutType = models.LayoutType.MobileLandscape; + + spyApp.switchLayout.and.returnValue(Promise.resolve(null)); + + // Act + const response = await spyApp.switchLayout(layoutType); + // Assert + expect(spyApp.switchLayout).toHaveBeenCalled(); + expect(response).toEqual(null); + }); + }); + + describe('custom layout', function () { + it('visual.moveVisual() returns promise that rejects with server error if error in updating setting', async function () { + // Arrange + const x = 0; + const y = 0; + const testData = { + expectedError: { + body: { + message: 'internal server error' + } + } + }; + + spyHpm.get.and.callFake(() => Promise.reject(testData.expectedError)); + try { + // Act + await visual1.moveVisual(x, y); + } catch (error) { + // Assert + expect(spyHpm.get).toHaveBeenCalledWith('/report/pages', { uid: uniqueId }, jasmine.any(Object)); + expect(error).toEqual(testData.expectedError.body); + } + }); + + it('visual.moveVisual() returns promise that resolves with null if request is valid and accepted', async function () { + // Arrange + const x = 0; + const y = 0; + + spyApp.moveVisual.and.returnValue(Promise.resolve(null)); + + // Act + const response = await spyApp.moveVisual(x, y); + // Assert + expect(spyApp.moveVisual).toHaveBeenCalled(); + expect(response).toEqual(null); + }); + + it('visual.setVisualDisplayState(displayState) returns promise that rejects with validation error if display state is invalid', async function () { + // Arrange + const displayState = 2; + const testData = { + expectedError: { + body: { + message: 'mode property is invalid' + } + }, + }; + + spyApp.setVisualDisplayState.and.callFake(() => Promise.reject(testData.expectedError)); + try { + // Act + await spyApp.setVisualDisplayState(displayState); + fail("setVisualDisplayState should have failed"); + } catch (error) { + // Assert + expect(error).toEqual(testData.expectedError); + } + }); + + it('visual.setVisualDisplayState(displayState) returns promise that resolves with null if requst is valid and accepted', async function () { + // Arrange + const displayState = models.VisualContainerDisplayMode.Visible; + + spyApp.setVisualDisplayState.and.returnValue(Promise.resolve(null)); + + // Act + const response = await spyApp.setVisualDisplayState(displayState); + // Assert + expect(spyApp.setVisualDisplayState).toHaveBeenCalled(); + expect(response).toEqual(null); + }); + + it('visual.resizeVisual returns promise that rejects with server error if error in updating setting', async function () { + // Arrange + const width = 200; + const height = 100; + const testData = { + expectedError: { + body: { + message: 'internal server error' + } + } + }; + + spyHpm.get.and.callFake(() => Promise.reject(testData.expectedError)); + try { + // Act + await visual1.resizeVisual(width, height); + fail("resizeVisual should have failed"); + } catch (error) { + // Assert + expect(spyHpm.get).toHaveBeenCalledWith('/report/pages', { uid: uniqueId }, jasmine.any(Object)); + expect(error).toEqual(testData.expectedError.body); + } + }); + + it('visual.resizeVisual returns promise that resolves with null if request is valid and accepted', async function () { + // Arrange + const width = 200; + const height = 100; + + spyApp.resizeVisual.and.returnValue(Promise.resolve(null)); + + // Act + const response = await spyApp.resizeVisual(width, height); + // Assert + expect(spyApp.resizeVisual).toHaveBeenCalled(); + expect(response).toEqual(null); + }); + }); + + describe('saveAs', function () { + let saveAsParameters: models.ISaveAsParameters = { name: "reportName" }; + + it('report.saveAs() sends POST /report/saveAs', async function () { + // Arrange + spyHpm.post.and.returnValue(Promise.resolve({ + body: {} + })); + + // Act + await report.saveAs(saveAsParameters); + + // Assert + expect(spyHpm.post).toHaveBeenCalledWith('/report/saveAs', saveAsParameters, { uid: uniqueId }, jasmine.any(Object)); + }); + + it('report.saveAs() returns promise that resolves if the request is accepted', async function () { + // Arrange + spyHpm.post.and.returnValue(Promise.resolve({ + body: {} + })); + + // Act + await report.saveAs(saveAsParameters); + // Assert + expect(spyHpm.post).toHaveBeenCalledWith('/report/saveAs', saveAsParameters, { uid: uniqueId }, jasmine.any(Object)); + + }); + }); + + describe('setAccessToken', function () { + let accessToken: string = "fakeToken"; + + it('report.setAccessToken() sends POST /report/token', async function () { + // Arrange + spyHpm.post.and.returnValue(Promise.resolve({ + body: {} + })); + + // Act + await report.setAccessToken(accessToken); + + // Assert + expect(spyHpm.post).toHaveBeenCalledWith('/report/token', accessToken, { uid: uniqueId }, jasmine.any(Object)); + }); + + it('report.setAccessToken() returns promise that resolves if the request is accepted', async function () { + // Arrange + spyHpm.post.and.returnValue(Promise.resolve({ + body: {} + })); + + let newToken = "newToken"; + // Act + await report.setAccessToken(newToken); + // Assert + expect(spyHpm.post).toHaveBeenCalledWith('/report/token', newToken, { uid: uniqueId }, jasmine.any(Object)); + expect(report.service.accessToken).toEqual(newToken); + expect(report.config.accessToken).toEqual(newToken); + expect(report.element.getAttribute(embed.Embed.accessTokenAttribute)).toEqual(newToken); + }); + }); + + describe('print', function () { + it('report.print() sends POST /report/print', async function () { + // Arrange + spyHpm.post.and.returnValue(Promise.resolve({ + body: {} + })); + + // Act + await report.print(); + + // Assert + expect(spyHpm.post).toHaveBeenCalledWith('/report/print', null, { uid: uniqueId }, jasmine.any(Object)); + }); + + it('report.print() returns promise that resolves if the request is accepted', async function () { + // Arrange + spyHpm.post.and.returnValue(Promise.resolve({ + body: {} + })); + + // Act + await report.print(); + // Assert + expect(spyHpm.post).toHaveBeenCalledWith('/report/print', null, { uid: uniqueId }, jasmine.any(Object)); + + }); + }); + + describe('reload', function () { + it('report.reload() sends POST /report/load with configuration in body', async function () { + // Arrange + const testData = { + response: { + body: null + } + }; + + spyHpm.post.and.returnValue(Promise.resolve(testData.response)); + + try { + await report.load(); + spyHpm.post.calls.reset(); + + // Act + try { + await report.reload(); + } catch (error) { + console.log("reloaed failed wtih", error); + fail("reload failed"); + } + + const expectedHeaders = { + bootstrapped: undefined, + sdkVersion: sdkConfig.default.version, + uid: uniqueId, + sdkSessionId: sdkSessionId + }; + + // Assert + expect(spyHpm.post).toHaveBeenCalledWith('/report/load', report.config, expectedHeaders, jasmine.any(Object)); + } catch (error) { + console.log("load failed with", error); + fail("load failed"); + } + }); + }); + + describe('refresh', function () { + it('report.refresh() sends POST /report/refresh', async function () { + // Arrange + spyHpm.post.and.returnValue(Promise.resolve({ + body: {} + })); + + // Act + await report.refresh(); + + // Assert + expect(spyHpm.post).toHaveBeenCalledWith('/report/refresh', null, { uid: uniqueId }, jasmine.any(Object)); + }); + }); + + describe('settings', function () { + it('report.updateSettings(settings) sends PATCH /report/settings with settings object', async function () { + // Arrange + const testData = { + settings: { + filterPaneEnabled: false + } + }; + + spyHpm.patch.and.returnValue(Promise.resolve({})); + // Act + try { + await report.updateSettings(testData.settings); + // Assert + expect(spyHpm.patch).toHaveBeenCalledWith('/report/settings', testData.settings, { uid: uniqueId }, jasmine.any(Object)); + } catch (error) { + console.log("updateSettings failed with", error); + fail("updateSettings failed"); + } + }); + + it('report.updateSettings(setting) returns promise that rejects with validation error if object is invalid', async function () { + // Arrange + const testData = { + settings: { + filterPaneEnabled: false + }, + expectedError: { + body: [ + { + message: 'settings object is invalid' + } + ] + } + }; + + spyHpm.patch.and.callFake(() => Promise.reject(testData.expectedError)); + + try { + await report.updateSettings(testData.settings); + fail("updateSettings should have failed"); + } catch (errors) { + // Assert + expect(spyHpm.patch).toHaveBeenCalledWith('/report/settings', testData.settings, { uid: uniqueId }, jasmine.any(Object)); + expect(errors).toEqual(testData.expectedError.body); + } + }); + + it('report.updateSettings(settings) returns promise that resolves with null if requst is valid and accepted', async function () { + // Arrange + const testData = { + settings: { + filterPaneEnabled: false + } + }; + + spyHpm.patch.and.returnValue(Promise.resolve(null)); + + // Act + const response = await report.updateSettings(testData.settings); + // Assert + expect(spyHpm.patch).toHaveBeenCalledWith('/report/settings', testData.settings, { uid: uniqueId }, jasmine.any(Object)); + expect(response).toEqual(null); + }); + + it('report.addContextMenuCommand(commandName, commandTitle, contextMenuTitle) returns promise that rejects with validation errors if extensions property is invalid', async function () { + // Arrange + const commandName = "name1"; + const commandTitle = "title1"; + const contextMenuTitle = "menu1"; + const testData = { + expectedError: { + body: [ + { + message: 'extensions property is invalid' + } + ] + }, + settings: { + extensions: { + commands: [{ + name: "name1", + title: "title1", + extend: { + visualContextMenu: { + title: contextMenuTitle, + menuLocation: 0 + } + } + }], + groups: [] + } + } + }; + + spyHpm.patch.and.callFake(() => Promise.reject(testData.expectedError)); + try { + // Act + await report.addContextMenuCommand(commandName, commandTitle, contextMenuTitle, 0, "", "", ""); + fail("addContextMenuCommand should have failed"); + } catch (error) { + // Assert + expect(spyHpm.patch).toHaveBeenCalledWith('/report/settings', testData.settings, { uid: uniqueId }, jasmine.any(Object)); + expect(error).toEqual(jasmine.objectContaining(testData.expectedError.body)); + } + }); + + it('report.addContextMenuCommand(commandName, commandTitle, contextMenuTitle) returns promise that resolves with null if requst is valid and accepted', async function () { + // Arrange + const commandName = "name2"; + const commandTitle = "title2"; + const contextMenuTitle = "menu2"; + + spyApp.addContextMenuCommand.and.returnValue(Promise.resolve(null)); + + // Act + const response = await spyApp.addContextMenuCommand(commandName, commandTitle, contextMenuTitle); + // Assert + expect(spyApp.addContextMenuCommand).toHaveBeenCalled(); + expect(response).toEqual(null); + }); + + it('report.addOptionsMenuCommand(commandName, commandTitle, optionsMenuTitle) returns promise that rejects with validation errors if extensions property is invalid', async function () { + // Arrange + const commandName = "name1"; + const commandTitle = "title1"; + const optionsMenuTitle = "menu1"; + const testData = { + expectedError: { + body: [ + { + message: 'extensions property is invalid' + } + ] + }, + settings: { + extensions: { + commands: [{ + name: "name1", + title: "title1", + extend: { + visualOptionsMenu: { + title: "menu1", + menuLocation: 0, + } + }, + icon: undefined + }], + groups: [] + } + } + }; + + spyHpm.patch.and.callFake(() => Promise.reject(testData.expectedError)); + try { + + // Act + await report.addOptionsMenuCommand(commandName, commandTitle, optionsMenuTitle); + fail("addOptionsMenuCommand should have failed"); + } catch (error) { + // Assert + expect(spyHpm.patch).toHaveBeenCalledWith('/report/settings', testData.settings, { uid: uniqueId }, jasmine.any(Object)); + expect(error).toEqual(jasmine.objectContaining(testData.expectedError.body)); + } + }); + + it('report.addOptionsMenuCommand(commandName, commandTitle, optionsMenuTitle) returns promise that resolves with null if requst is valid and accepted', async function () { + // Arrange + const commandName = "name2"; + const commandTitle = "title2"; + const optionsMenuTitle = "menu2"; + + spyApp.addOptionsMenuCommand.and.returnValue(Promise.resolve(null)); + + // Act + const response = await spyApp.addOptionsMenuCommand(commandName, commandTitle, optionsMenuTitle); + // Assert + expect(spyApp.addOptionsMenuCommand).toHaveBeenCalled(); + expect(response).toEqual(null); + }); + + it('report.removeContextMenuCommand(commandName) returns promise that rejects with validation errors if command name is invalid', async function () { + // Arrange + const commandName = "name1"; + const testData = { + expectedError: { + message: 'PowerBIEntityNotFound' + }, + settings: { + extensions: { + commands: [{ + name: "name1", + title: "title1", + extend: { + } + }] + } + } + }; + + spyApp.removeContextMenuCommand.and.callFake(() => Promise.reject(testData.expectedError)); + try { + // Act + await spyApp.removeContextMenuCommand(commandName); + fail("removeContextMenuCommand should have failed"); + } catch (error) { + // Assert + expect(spyHpm.patch).not.toHaveBeenCalledWith('/report/settings', testData.settings, { uid: uniqueId }, jasmine.any(Object)); + expect(error).toEqual(jasmine.objectContaining(testData.expectedError)); + } + }); + + it('report.removeContextMenuCommand(commandName) returns promise that resolves with null if requst is valid and accepted', async function () { + // Arrange + const commandName = "name2"; + + spyApp.removeContextMenuCommand.and.returnValue(Promise.resolve(null)); + + // Act + const response = await spyApp.removeContextMenuCommand(commandName); + // Assert + expect(spyApp.removeContextMenuCommand).toHaveBeenCalled(); + expect(response).toEqual(null); + }); + + it('report.removeOptionsMenuCommand(commandName) returns promise that rejects with validation errors if command name is invalid', async function () { + // Arrange + const commandName = "name1"; + const testData = { + expectedError: { + message: 'PowerBIEntityNotFound' + }, + settings: { + extensions: { + commands: [{ + name: "name1", + title: "title1", + icon: "", + extend: { + } + }] + } + } + }; + + spyApp.removeOptionsMenuCommand.and.callFake(() => Promise.reject(testData.expectedError)); + try { + // Act + await spyApp.removeOptionsMenuCommand(commandName); + + } catch (error) { + // Assert + expect(spyHpm.patch).not.toHaveBeenCalledWith('/report/settings', testData.settings, { uid: uniqueId }, jasmine.any(Object)); + expect(error).toEqual(jasmine.objectContaining(testData.expectedError)); + } + }); + + it('report.removeOptionsMenuCommand(commandName) returns promise that resolves with null if requst is valid and accepted', async function () { + // Arrange + const commandName = "name2"; + + spyApp.removeOptionsMenuCommand.and.returnValue(Promise.resolve(null)); + + // Act + const response = await spyApp.removeOptionsMenuCommand(commandName); + // Assert + expect(spyApp.removeOptionsMenuCommand).toHaveBeenCalled(); + expect(response).toEqual(null); + }); + + it('report.setVisualDisplayState(pageName, visualName, displayState) returns promise that rejects with validation error if display state is invalid', async function () { + // Arrange + const pageName = 'page1'; + const visualName = 'visual'; + const displayState = 2; + const testData = { + expectedError: { + body: { + message: 'display state is invalid' + } + } + }; + + spyHpm.get.and.callFake(() => Promise.reject(testData.expectedError)); + try { + // Act + await report.setVisualDisplayState(pageName, visualName, displayState); + } catch (error) { + // Assert + expect(spyHpm.get).toHaveBeenCalledWith('/report/pages', { uid: uniqueId }, jasmine.any(Object)); + expect(error).toEqual(testData.expectedError.body); + } + }); + + it('report.setVisualDisplayState(pageName, visualName, displayState) returns promise that resolves with null if requst is valid and accepted', async function () { + // Arrange + const pageName = 'page1'; + const visualName = 'visual'; + const displayState = models.VisualContainerDisplayMode.Visible; + + spyApp.setVisualDisplayState.and.returnValue(Promise.resolve(null)); + + // Act + const response = await spyApp.setVisualDisplayState(pageName, visualName, displayState); + // Assert + expect(spyApp.setVisualDisplayState).toHaveBeenCalled(); + expect(response).toEqual(null); + }); + + it('report.resizeVisual returns promise that rejects with validation error if page name is invalid', async function () { + // Arrange + const pageName = 'invalid page'; + const visualName = 'visual'; + const width = 200; + const height = 100; + const testData = { + expectedError: { + body: { + message: 'page name is invalid' + } + } + }; + + spyHpm.get.and.callFake(() => Promise.reject(testData.expectedError)); + try { + // Act + await report.resizeVisual(pageName, visualName, width, height); + } catch (error) { + // Assert + expect(spyHpm.get).toHaveBeenCalledWith('/report/pages', { uid: uniqueId }, jasmine.any(Object)); + expect(error).toEqual(testData.expectedError.body); + } + }); + + it('report.resizeVisual returns promise that resolves with null if request is valid and accepted', async function () { + // Arrange + const pageName = 'page1'; + const visualName = 'visual'; + const width = 200; + const height = 100; + + spyApp.resizeVisual.and.returnValue(Promise.resolve(null)); + + // Act + const response = await spyApp.resizeVisual(pageName, visualName, width, height); + // Assert + expect(spyApp.resizeVisual).toHaveBeenCalled(); + expect(response).toEqual(null); + }); + + it('report.resizeActivePage returns promise that rejects with validation error if page size type is invalid', async function () { + // Arrange + const pageSizeType = 5; + const width = 200; + const height = 100; + const testData = { + expectedError: { + body: { + message: 'page size type is invalid' + } + }, + settings: { + layoutType: models.LayoutType.Custom, + customLayout: { + pageSize: { + type: pageSizeType, + width: width, + height: height + } + } + } + }; + + spyHpm.patch.and.callFake(() => Promise.reject(testData.expectedError)); + try { + // Act + await report.resizeActivePage(pageSizeType, width, height); + } catch (error) { + // Assert + expect(spyHpm.patch).toHaveBeenCalledWith('/report/settings', testData.settings, { uid: uniqueId }, jasmine.any(Object)); + expect(error).toEqual(testData.expectedError.body); + } + }); + + it('report.resizeActivePage returns promise that resolves with null if request is valid and accepted', async function () { + // Arrange + const pageSizeType = models.PageSizeType.Custom; + const width = 200; + const height = 100; + + spyApp.resizeActivePage.and.returnValue(Promise.resolve(null)); + + // Act + const response = await spyApp.resizeActivePage(pageSizeType, width, height); + // Assert + expect(spyApp.resizeActivePage).toHaveBeenCalled(); + expect(response).toEqual(null); + }); + + it('moveVisual returns promise that rejects with validation error if visual name is invalid', async function () { + // Arrange + const pageName = 'page1'; + const visualName = 'invalid visual'; + const x = 0; + const y = 0; + const testData = { + expectedError: { + body: { + message: 'visual name is invalid' + } + } + }; + + spyHpm.get.and.callFake(() => Promise.reject(testData.expectedError)); + try { + // Act + await report.moveVisual(pageName, visualName, x, y); + } catch (error) { + // Assert + expect(spyHpm.get).toHaveBeenCalledWith('/report/pages', { uid: uniqueId }, jasmine.any(Object)); + expect(error).toEqual(testData.expectedError.body); + } + }); + + it('moveVisual returns promise that resolves with null if requst is valid and accepted', async function () { + // Arrange + const pageName = 'page1'; + const visualName = 'visual'; + const x = 0; + const y = 0; + + spyApp.moveVisual.and.returnValue(Promise.resolve(null)); + + // Act + const response = await spyApp.moveVisual(pageName, visualName, x, y); + // Assert + expect(spyApp.moveVisual).toHaveBeenCalled(); + expect(response).toEqual(null); + }); + }); + + describe('visual level filters', function () { + it('visual.getFilters() sends GET /report/pages/xyz/visuals/uvw/filters', async function () { + // Arrange + spyHpm.get.and.callFake(() => Promise.resolve({})); + + // Act + await visual1.getFilters(); + + // Assert + expect(spyHpm.get).toHaveBeenCalledWith(`/report/pages/${page1.name}/visuals/${visual1.name}/filters`, { uid: uniqueId }, jasmine.any(Object)); + }); + + it('visual.getFilters() return promise that rejects with server error if there was error getting filters', async function () { + // Arrange + const testData = { + expectedError: { + body: { + message: 'internal server error' + } + } + }; + + spyHpm.get.and.callFake(() => Promise.reject(testData.expectedError)); + + try { + // Act + await visual1.getFilters(); + } catch (error) { + // Assert + expect(spyHpm.get).toHaveBeenCalledWith(`/report/pages/${page1.name}/visuals/${visual1.name}/filters`, { uid: uniqueId }, jasmine.any(Object)); + expect(error).toEqual(testData.expectedError.body); + } + }); + + it('visual.getFilters() returns promise that resolves with list of filters', async function () { + // Arrange + const testData = { + expectedResponse: { + body: [ + { x: 'fakeFilter1' }, + { x: 'fakeFilter2' } + ] + } + }; + + spyHpm.get.and.returnValue(Promise.resolve(testData.expectedResponse)); + + // Act + const filters = await visual1.getFilters(); + + // Assert + expect(spyHpm.get).toHaveBeenCalledWith(`/report/pages/${page1.name}/visuals/${visual1.name}/filters`, { uid: uniqueId }, jasmine.any(Object)); + // @ts-ignore as testData is not of type IFilter + expect(filters).toEqual(testData.expectedResponse.body); + }); + + it('visual.setFilters(filters) sends PUT /report/pages/xyz/visuals/uvw/filters', async function () { + // Arrange + const testData = { + filters: [ + (new models.BasicFilter({ table: "Cars", measure: "Make" }, "In", ["subaru", "honda"])).toJSON(), + (new models.AdvancedFilter({ table: "Cars", measure: "Make" }, "And", [{ value: "subaru", operator: "None" }, { value: "honda", operator: "Contains" }])).toJSON() + ], + response: { + body: [] + } + }; + + spyHpm.put.and.returnValue(Promise.resolve(testData.response)); + + // Act + await visual1.setFilters(testData.filters); + + // Assert + expect(spyHpm.put).toHaveBeenCalledWith(`/report/pages/${page1.name}/visuals/${visual1.name}/filters`, testData.filters, { uid: uniqueId }, jasmine.any(Object)); + }); + + it('visual.setFilters(filters) returns promise that rejects with validation errors if filter is invalid', async function () { + // Arrange + const testData = { + filters: [ + (new models.BasicFilter({ table: "Cars", measure: "Make" }, "In", ["subaru", "honda"])).toJSON(), + (new models.AdvancedFilter({ table: "Cars", measure: "Make" }, "And", [{ value: "subaru", operator: "None" }, { value: "honda", operator: "Contains" }])).toJSON() + ], + expectedErrors: { + body: [ + { + message: 'target is invalid, missing property x' + } + ] + } + }; + + spyHpm.put.and.callFake(() => Promise.reject(testData.expectedErrors)); + try { + // Act + await visual1.setFilters(testData.filters); + fail("setFilters shouldn't succeed"); + } catch (errors) { + // Assert + expect(spyHpm.put).toHaveBeenCalledWith(`/report/pages/${page1.name}/visuals/${visual1.name}/filters`, testData.filters, { uid: uniqueId }, jasmine.any(Object)); + expect(errors).toEqual(jasmine.objectContaining(testData.expectedErrors.body)); + } + }); + + it('visual.setFilters(filters) returns promise that resolves with null if filter was valid and request is accepted', async function () { + // Arrange + const testData = { + filters: [ + (new models.BasicFilter({ table: "Cars", measure: "Make" }, "In", ["subaru", "honda"])).toJSON(), + (new models.AdvancedFilter({ table: "Cars", measure: "Make" }, "And", [{ value: "subaru", operator: "None" }, { value: "honda", operator: "Contains" }])).toJSON() + ] + }; + + spyHpm.put.and.returnValue(Promise.resolve(null)); + try { + // Act + const response = await visual1.setFilters(testData.filters); + // Assert + expect(spyHpm.put).toHaveBeenCalledWith(`/report/pages/${page1.name}/visuals/${visual1.name}/filters`, testData.filters, { uid: uniqueId }, jasmine.any(Object)); + expect(response).toEqual(null); + } catch (error) { + console.log("setFilters failed with", error); + fail("setFilters failed"); + } + }); + + it('visual.removeFilters() sends PUT /report/pages/xyz/visuals/uvw/filters', async function () { + // Arrange + + // Act + await visual1.removeFilters(); + + // Assert + expect(spyHpm.post).toHaveBeenCalledWith(`/report/pages/${page1.name}/visuals/${visual1.name}/filters`, { filtersOperation: models.FiltersOperations.RemoveAll, filters: undefined }, { uid: uniqueId }, jasmine.any(Object)); + }); + + it('visual.removeFilters() returns promise that resolves with null if request is accepted', async function () { + // Arrange + spyHpm.post.and.returnValue(Promise.resolve(null)); + + // Act + const response = await visual1.removeFilters(); + // Assert + expect(spyHpm.post).toHaveBeenCalledWith(`/report/pages/${page1.name}/visuals/${visual1.name}/filters`, { filtersOperation: models.FiltersOperations.RemoveAll, filters: undefined }, { uid: uniqueId }, jasmine.any(Object)); + expect(response).toEqual(null); + }); + }); + + describe('page', function () { + describe('filters', function () { + it('page.getFilters() sends GET /report/pages/xyz/filters', async function () { + // Arrange + spyHpm.get.and.callFake(() => Promise.resolve({})); + + // Act + await page1.getFilters(); + + // Assert + expect(spyHpm.get).toHaveBeenCalledWith(`/report/pages/${page1.name}/filters`, { uid: uniqueId }, jasmine.any(Object)); + }); + + it('page.getFilters() return promise that rejects with server error if there was error getting filters', async function () { + // Arrange + const testData = { + expectedError: { + body: { + message: 'internal server error' + } + } + }; + + spyHpm.get.and.callFake(() => Promise.reject(testData.expectedError)); + try { + // Act + await page1.getFilters(); + } catch (error) { + // Assert + expect(spyHpm.get).toHaveBeenCalledWith(`/report/pages/${page1.name}/filters`, { uid: uniqueId }, jasmine.any(Object)); + expect(error).toEqual(testData.expectedError.body); + } + }); + + it('page.getFilters() returns promise that resolves with list of filters', async function () { + // Arrange + const testData = { + expectedResponse: { + body: [ + { x: 'fakeFilter1' }, + { x: 'fakeFilter2' } + ] + } + }; + + spyHpm.get.and.returnValue(Promise.resolve(testData.expectedResponse)); + + // Act + const filters = await page1.getFilters(); + // Assert + expect(spyHpm.get).toHaveBeenCalledWith(`/report/pages/${page1.name}/filters`, { uid: uniqueId }, jasmine.any(Object)); + // @ts-ignore as testData is not of type IFilter + expect(filters).toEqual(testData.expectedResponse.body); + }); + + it('page.setFilters(filters) sends PUT /report/pages/xyz/filters', async function () { + // Arrange + const testData = { + filters: [ + (new models.BasicFilter({ table: "Cars", measure: "Make" }, "In", ["subaru", "honda"])).toJSON(), + (new models.AdvancedFilter({ table: "Cars", measure: "Make" }, "And", [{ value: "subaru", operator: "None" }, { value: "honda", operator: "Contains" }])).toJSON() + ], + response: { + body: [] + } + }; + + spyHpm.put.and.returnValue(Promise.resolve(testData.response)); + + // Act + await page1.setFilters(testData.filters); + + // Assert + expect(spyHpm.put).toHaveBeenCalledWith(`/report/pages/${page1.name}/filters`, testData.filters, { uid: uniqueId }, jasmine.any(Object)); + }); + + it('page.setFilters(filters) returns promise that rejects with validation errors if filter is invalid', async function () { + // Arrange + const testData = { + filters: [ + (new models.BasicFilter({ table: "Cars", measure: "Make" }, "In", ["subaru", "honda"])).toJSON(), + (new models.AdvancedFilter({ table: "Cars", measure: "Make" }, "And", [{ value: "subaru", operator: "None" }, { value: "honda", operator: "Contains" }])).toJSON() + ], + expectedErrors: { + body: [ + { + message: 'target is invalid, missing property x' + } + ] + } + }; + + spyHpm.put.and.callFake(() => Promise.reject(testData.expectedErrors)); + try { + // Act + await page1.setFilters(testData.filters); + } catch (errors) { + // Assert + expect(spyHpm.put).toHaveBeenCalledWith(`/report/pages/${page1.name}/filters`, testData.filters, { uid: uniqueId }, jasmine.any(Object)); + expect(errors).toEqual(jasmine.objectContaining(testData.expectedErrors.body)); + } + }); + + it('page.setFilters(filters) returns promise that resolves with null if filter was valid and request is accepted', async function () { + // Arrange + const testData = { + filters: [ + (new models.BasicFilter({ table: "Cars", measure: "Make" }, "In", ["subaru", "honda"])).toJSON(), + (new models.AdvancedFilter({ table: "Cars", measure: "Make" }, "And", [{ value: "subaru", operator: "None" }, { value: "honda", operator: "Contains" }])).toJSON() + ] + }; + + spyHpm.put.and.returnValue(Promise.resolve(null)); + + // Act + const response = await page1.setFilters(testData.filters); + // Assert + expect(spyHpm.put).toHaveBeenCalledWith(`/report/pages/${page1.name}/filters`, testData.filters, { uid: uniqueId }, jasmine.any(Object)); + expect(response).toEqual(null); + }); + + it('page.removeFilters() sends PUT /report/pages/xyz/filters', async function () { + // Arrange + + // Act + await page1.removeFilters(); + + // Assert + expect(spyHpm.post).toHaveBeenCalledWith(`/report/pages/${page1.name}/filters`, { filtersOperation: models.FiltersOperations.RemoveAll, filters: undefined }, { uid: uniqueId }, jasmine.any(Object)); + }); + + it('page.removeFilters() returns promise that resolves with null if request is accepted', async function () { + // Arrange + spyHpm.post.and.returnValue(Promise.resolve(null)); + + // Act + const response = await page1.removeFilters(); + // Assert + expect(spyHpm.post).toHaveBeenCalledWith(`/report/pages/${page1.name}/filters`, { filtersOperation: models.FiltersOperations.RemoveAll, filters: undefined }, { uid: uniqueId }, jasmine.any(Object)); + expect(response).toEqual(null); + }); + }); + + describe('setActive', function () { + it('page.setActive() sends PUT /report/pages/active', async function () { + // Arrange + const testData = { + page: { + name: page1.name, + displayName: null, + isActive: true, + } + }; + + spyHpm.put.and.returnValue(Promise.resolve(null)); + + // Act + await page1.setActive(); + + // Assert + expect(spyHpm.put).toHaveBeenCalledWith(`/report/pages/active`, testData.page, { uid: uniqueId }, jasmine.any(Object)); + }); + + it('page.setActive() returns a promise rejected with errors if the page was invalid', async function () { + // Arrange + const testData = { + page: { + name: page1.name, + displayName: null, + isActive: true, + }, + response: { + body: [ + { + message: 'page abc123 does not exist on report xyz' + } + ] + } + }; + + spyHpm.put.and.callFake(() => Promise.reject(testData.response)); + try { + // Act + await page1.setActive(); + fail("setActive should have failed"); + } catch (errors) { + // Assert + expect(spyHpm.put).toHaveBeenCalledWith(`/report/pages/active`, testData.page, { uid: uniqueId }, jasmine.any(Object)); + expect(errors).toEqual(jasmine.objectContaining(testData.response.body)); + } + }); + + it('page.setActive() returns a promise resolved with null if the page is valid', async function () { + // Arrange + const testData = { + page: { + name: page1.name, + displayName: null, + isActive: true, + } + }; + + spyHpm.put.and.returnValue(Promise.resolve(null)); + + // Act + const response = await page1.setActive(); + + // Assert + expect(spyHpm.put).toHaveBeenCalledWith(`/report/pages/active`, testData.page, { uid: uniqueId }, jasmine.any(Object)); + expect(response).toEqual(null); + }); + }); + describe('custom layout', function () { + it('page.setVisualDisplayState returns promise that rejects with validation error if display state is invalid', async function () { + // Arrange + const visualName = 'visual'; + const displayState = 2; + const testData = { + expectedError: { + body: { + message: 'display state is invalid' + } + } + }; + + spyHpm.get.and.callFake(() => Promise.reject(testData.expectedError)); + try { + // Act + await page1.setVisualDisplayState(visualName, displayState); + fail("setVisualDisplayState should have failed"); + } catch (error) { + // Assert + expect(spyHpm.get).toHaveBeenCalledWith('/report/pages', { uid: uniqueId }, jasmine.any(Object)); + expect(error).toEqual(testData.expectedError.body); + } + }); + + it('page.setVisualDisplayState returns promise that resolves with null if requst is valid and accepted', async function () { + // Arrange + const visualName = 'visual'; + const displayState = models.VisualContainerDisplayMode.Visible; + + spyApp.setVisualDisplayState.and.returnValue(Promise.resolve(null)); + + // Act + const response = await spyApp.setVisualDisplayState(visualName, displayState); + // Assert + expect(spyApp.setVisualDisplayState).toHaveBeenCalled(); + expect(response).toEqual(null); + }); + + it('page.moveVisual returns promise that rejects with validation error if visual name is invalid', async function () { + // Arrange + const visualName = 'invalid visual'; + const x = 0; + const y = 0; + const testData = { + expectedError: { + body: { + message: 'visual name is invalid' + } + } + }; + + spyHpm.get.and.callFake(() => Promise.reject(testData.expectedError)); + try { + // Act + await page1.moveVisual(visualName, x, y); + } catch (error) { + // Assert + expect(spyHpm.get).toHaveBeenCalledWith('/report/pages', { uid: uniqueId }, jasmine.any(Object)); + expect(error).toEqual(testData.expectedError.body); + } + }); + + it('page.moveVisual returns promise that resolves with null if requst is valid and accepted', async function () { + // Arrange + const visualName = 'visual'; + const x = 0; + const y = 0; + + spyApp.moveVisual.and.returnValue(Promise.resolve(null)); + + // Act + const response = await spyApp.moveVisual(visualName, x, y); + // Assert + expect(spyApp.moveVisual).toHaveBeenCalled(); + expect(response).toEqual(null); + + }); + + it('page.resizePage returns promise that rejects with validation error if page is not active page', async function () { + // Arrange=- + const pageSizeType = 1; + const width = 200; + const height = 100; + const testData = { + expectedError: { + message: 'Cannot resize the page. Only the active page can be resized' + }, + settings: { + layoutType: models.LayoutType.Custom, + customLayout: { + pageSize: { + type: pageSizeType, + width: width, + height: height + } + } + } + }; + + spyHpm.patch.and.callFake(() => Promise.reject(testData.expectedError.message)); + try { + // Act + await page1.resizePage(pageSizeType, width, height); + } catch (error) { + // Assert + expect(spyHpm.patch).not.toHaveBeenCalledWith('/report/settings', testData.settings, { uid: uniqueId }, jasmine.any(Object)); + expect(error).toEqual(testData.expectedError.message); + } + }); + + it('page.resizePage returns promise that resolves with null if page is active page', async function () { + // Arrange + const pageSizeType = 1; + const width = 200; + const height = 100; + const testData = { + settings: { + layoutType: models.LayoutType.Custom, + customLayout: { + pageSize: { + type: pageSizeType, + width: width, + height: height + } + } + } + }; + + page1.isActive = true; + spyHpm.patch.and.returnValue(Promise.resolve(null)); + + // Act + const response = await page1.resizePage(pageSizeType, width, height); + // Assert + expect(spyHpm.patch).toHaveBeenCalledWith('/report/settings', testData.settings, { uid: uniqueId }, jasmine.any(Object)); + expect(response).toEqual(null); + }); + + it('page.resizePage returns promise that resolves with null if request is valid and accepted', async function () { + // Arrange + const pageSizeType = models.PageSizeType.Custom; + const width = 200; + const height = 100; + + spyApp.resizeActivePage.and.returnValue(Promise.resolve(null)); + + // Act + const response = await spyApp.resizeActivePage(pageSizeType, width, height); + // Assert + expect(spyApp.resizeActivePage).toHaveBeenCalled(); + expect(response).toEqual(null); + }); + }); + }); + + describe('setDisplayName', function () { + it('page.setDisplayName(displayName) sends PUT /report/pages/{pageName}/name', async function () { + // Arrange + const displayName = "newName"; + const testData = { + page: { + name: page1.name, + displayName, + } + }; + + spyHpm.put.and.returnValue(Promise.resolve(null)); + + // Act + await page1.setDisplayName(displayName); + + // Assert + expect(spyHpm.put).toHaveBeenCalledWith(`/report/pages/${page1.name}/name`, testData.page, { uid: uniqueId }, jasmine.any(Object)); + }); + }); + + describe('getVisualByName', function () { + it('page.getVisualByName(visualName) returns promise that rejects if visual with given name not found', async function () { + // Arrange + const pageName = page1.name; + const visualName = "visual1"; + const testData = { + expectedError: { + body: { + message: 'visual not found' + } + } + }; + + spyHpm.get.and.callFake(() => Promise.reject(testData.expectedError)); + try { + // Act + await page1.getVisualByName(visualName); + } catch (error) { + // Assert + expect(spyHpm.get).toHaveBeenCalledWith(`/report/pages/${pageName}/visuals`, { uid: uniqueId }, jasmine.any(Object)); + expect(error).toEqual(testData.expectedError.body); + } + }); + + it('page.getVisualByName(visualName) returns promise that resolves with visual if request is successful', async function () { + // Arrange + const visualName = "visual1"; + const testData = { + expectedResponse: + { + name: "visual1", + title: "Visual 1", + type: "type1", + layout: {}, + page: {} + } + }; + + spyApp.getVisualByName.and.returnValue(Promise.resolve(testData.expectedResponse)); + + // Act + const visual = await spyApp.getVisualByName(visualName); + + // Assert + expect(spyApp.getVisualByName).toHaveBeenCalled(); + expect(visual.name).toEqual(testData.expectedResponse.name); + expect(visual.title).toEqual(testData.expectedResponse.title); + }); + }); + + describe('SDK-to-Router (Event subscription)', function () { + /** + * This test should likely be moved to mock app section or removed since it is already covered. + * The validation of supported events should likely happen by powerbi instead of by the SDK + * since this is maitanence problem + */ + it(`report.on(eventName, handler) should throw error if eventName is not supported`, function () { + // Arrange + const testData = { + eventName: 'xyz', + handler: jasmine.createSpy('handler') + }; + + // Act + const attemptToSubscribeToEvent = (): void => { + report.on(testData.eventName, testData.handler); + }; + + // Assert + expect(attemptToSubscribeToEvent).toThrowError(); + }); + }); + + describe('theme', function () { + it('report.applyTheme(theme) sends PUT /report/theme with theme in body', async function () { + // Arrange + const testData = { + theme: { + themeJson: { + name: "Theme ABC 123" + } + }, + response: { + body: null + } + }; + + const expectedHeaders = { + uid: uniqueId, + }; + + spyHpm.put.and.returnValue(Promise.resolve(testData.response)); + try { + await report.applyTheme(testData.theme); + expect(spyHpm.put).toHaveBeenCalledWith('/report/theme', jasmine.objectContaining(testData.theme), expectedHeaders, jasmine.any(Object)); + } catch (error) { + console.log("applyTheme failed with", error); + fail("applyTheme failed"); + } + }); + + it('report.resetTheme() sends PUT /report/theme with empty object as theme in body', async function () { + // Arrange + const response = { + body: null + }; + + const expectedHeaders = { + uid: uniqueId, + }; + + spyHpm.put.and.returnValue(Promise.resolve(response)); + + try { + await report.resetTheme(); + expect(spyHpm.put).toHaveBeenCalledWith('/report/theme', {}, expectedHeaders, jasmine.any(Object)); + } catch (error) { + console.log("resetTheme failed with", error); + fail("resetTheme failed"); + } + }); + }); + }); + + describe('createReport', function () { + let createElement: HTMLDivElement; + let create: create.Create; + + beforeEach(async () => { + createElement = document.createElement('div'); + createElement.className = 'powerbi-create-container'; + document.body.appendChild(createElement); + + const embedCreateConfiguration = { + datasetId: "fakeReportId", + accessToken: 'fakeToken', + embedUrl: iframeSrc + }; + spyHpm.post.and.returnValue(Promise.resolve({})); + create = powerbi.createReport(createElement, embedCreateConfiguration); + createUniqueId = create.config.uniqueId; + const createIframe = createElement.getElementsByTagName('iframe')[0]; + await new Promise((resolve, _reject) => createIframe.addEventListener('load', () => resolve(null))); + spyHpm.post.and.callThrough(); + }); + + afterEach(() => { + powerbi.reset(createElement); + createElement.remove(); + }); + + it('create.createReport() sends POST /report/create with configuration in body', async function () { + // Arrange + const testData = { + createConfiguration: { + datasetId: 'fakeId', + accessToken: 'fakeToken' + }, + response: { + body: null + } + }; + + spyHpm.post.and.returnValue(Promise.resolve(testData.response)); + + // Act + await create.createReport(testData.createConfiguration); + + // Assert + expect(spyHpm.post).toHaveBeenCalledWith('/report/create', testData.createConfiguration, { uid: createUniqueId, sdkSessionId: sdkSessionId }, jasmine.any(Object)); + }); + + it('create.createReport() returns promise that rejects with validation error if the create configuration is invalid', async function () { + // Arrange + const testData = { + createConfiguration: { + datasetId: 'fakeId', + accessToken: 'fakeToken' + }, + errorResponse: { + body: { + message: "invalid configuration object" + } + } + }; + + spyHpm.post.and.callFake(() => Promise.reject(testData.errorResponse)); + try { + // Act + await create.createReport(testData.createConfiguration); + + } catch (error) { + // Assert + expect(spyHpm.post).toHaveBeenCalledWith('/report/create', testData.createConfiguration, { uid: createUniqueId, sdkSessionId: sdkSessionId }, jasmine.any(Object)); + expect(error).toEqual(testData.errorResponse.body); + } + }); + + it('create.createReport() returns promise that resolves with null if create report was successful', async function () { + // Arrange + const testData = { + createConfiguration: { + datasetId: 'fakeId', + accessToken: 'fakeToken' + }, + response: { + body: null + } + }; + + spyHpm.post.and.returnValue(Promise.resolve(testData.response)); + + // Act + const response = await create.createReport(testData.createConfiguration); + // Assert + expect(spyHpm.post).toHaveBeenCalledWith('/report/create', testData.createConfiguration, { uid: createUniqueId, sdkSessionId: sdkSessionId }, jasmine.any(Object)); + expect(response).toEqual(null); + }); + }); + + describe('dashboard', function () { + let dashboardElement: HTMLDivElement; + let dashboard: dashboard.Dashboard; + + beforeEach(async () => { + dashboardElement = document.createElement('div'); + dashboardElement.className = 'powerbi-dashboard-container'; + document.body.appendChild(dashboardElement); + + const dashboardEmbedConfiguration = { + type: "dashboard", + id: "fakeDashboardId", + accessToken: 'fakeToken', + embedUrl: iframeSrc + }; + spyHpm.post.and.returnValue(Promise.resolve({})); + dashboard = powerbi.embed(dashboardElement, dashboardEmbedConfiguration); + dashboardUniqueId = dashboard.config.uniqueId; + const dashboardIframe = dashboardElement.getElementsByTagName('iframe')[0]; + await new Promise((resolve, _reject) => { + dashboardIframe.addEventListener('load', () => resolve(null)); + }); + spyHpm.post.and.callThrough(); + }); + + afterEach(() => { + powerbi.reset(dashboardElement); + dashboardElement.remove(); + }); + + it('dashboard.load() sends POST /dashboard/load with configuration in body', async function () { + spyHpm.post.and.returnValue(Promise.resolve({})); + try { + // Act + dashboard.iframeLoaded = true; + await dashboard.load(); + const expectedHeaders = { + bootstrapped: undefined, + sdkVersion: sdkConfig.default.version, + uid: dashboardUniqueId, + sdkSessionId: sdkSessionId + }; + expect(spyHpm.post).toHaveBeenCalled(); + // Assert + expect(spyHpm.post).toHaveBeenCalledWith('/dashboard/load', dashboard.config, expectedHeaders, jasmine.any(Object)); + + } catch (error) { + console.log("dashboard load failed with", error); + fail("dashboard load failed"); + } + }); + }); + + describe('visual', function () { + let visualElement: HTMLDivElement; + let embeddedVisual: visual.Visual; + + beforeEach(async () => { + visualElement = document.createElement('div'); + visualElement.className = 'powerbi-report-container'; + document.body.appendChild(visualElement); + + visualEmbedConfiguration = { + id: "visual1", + accessToken: 'fakeToken', + embedUrl: iframeSrc, + type: "visual", + pageName: "ReportSection1", + visualName: "VisualContainer1", + width: 1200, + height: 1000 + }; + spyHpm.post.and.callFake(() => Promise.resolve({})); + embeddedVisual = powerbi.embed(visualElement, visualEmbedConfiguration) as any as visual.Visual; + visualUniqueId = embeddedVisual.config.uniqueId; + const visualFrame = visualElement.getElementsByTagName('iframe')[0]; + await new Promise((resolve, _reject) => { + visualFrame.addEventListener('load', () => resolve(null)); + }); + spyHpm.post.and.callThrough(); + }); + + afterEach(() => { + powerbi.reset(visualElement); + visualElement.remove(); + }); + + it('powerbi.embed with visual name sends POST /report/load with custom layout configuration in body', async function () { + + let testData = { + loadConfiguration: visualEmbedConfiguration, + response: { + body: null + } + }; + + let expectedConfiguration = { + id: visualEmbedConfiguration.id, + accessToken: visualEmbedConfiguration.accessToken, + embedUrl: visualEmbedConfiguration.embedUrl, + type: visualEmbedConfiguration.type, + pageName: visualEmbedConfiguration.pageName, + visualName: visualEmbedConfiguration.visualName, + width: visualEmbedConfiguration.width, + height: visualEmbedConfiguration.height, + groupId: undefined, + uniqueId: embeddedVisual.config.uniqueId, + settings: { + filterPaneEnabled: false, + navContentPaneEnabled: false, + layoutType: models.LayoutType.Custom, + customLayout: { + displayOption: models.DisplayOption.FitToPage, + pageSize: { + type: models.PageSizeType.Custom, + width: testData.loadConfiguration.width, + height: testData.loadConfiguration.height, + }, + pagesLayout: { + ReportSection1: { + defaultLayout: { + displayState: { + mode: models.VisualContainerDisplayMode.Hidden + } + }, + visualsLayout: { + VisualContainer1: { + displayState: { + mode: models.VisualContainerDisplayMode.Visible + }, + x: 1, + y: 1, + z: 1, + width: testData.loadConfiguration.width, + height: testData.loadConfiguration.height + } + } + } + } + } + } + }; + + spyHpm.post.and.returnValue(Promise.resolve(testData.response)); + + // Act + let inputConfig = utils.assign({}, embeddedVisual.config, visualEmbedConfiguration); + embeddedVisual.config = inputConfig; + + await embeddedVisual.load(); + // Assert + expect(spyHpm.post).toHaveBeenCalled(); + + let spyArgs = spyHpm.post.calls.mostRecent().args; + expect(spyArgs[0]).toEqual('/report/load'); + expect(spyArgs[1]).toEqual(expectedConfiguration); + expect(spyArgs[2]).toEqual({ + bootstrapped: undefined, + sdkVersion: sdkConfig.default.version, + uid: visualUniqueId, + sdkSessionId: sdkSessionId + }); + }); + + it('embeddedVisual.getFilters(models.FiltersLevel.Report) sends GET /report/filters', async function () { + spyHpm.get.and.callFake(() => Promise.resolve({})); + + // Act + await embeddedVisual.getFilters(models.FiltersLevel.Report); + + // Assert + expect(spyHpm.get).toHaveBeenCalledWith('/report/filters', { uid: visualUniqueId }, jasmine.any(Object)); + }); + + it('embeddedVisual.setFilters(filters, models.FiltersLevel.Report) sends PUT /report/filters', async function () { + // Arrange + const testData = { + filters: [ + (new models.BasicFilter({ table: "Cars", measure: "Make" }, "In", ["subaru", "honda"])).toJSON(), + (new models.AdvancedFilter({ table: "Cars", measure: "Make" }, "And", [{ value: "subaru", operator: "None" }, { value: "honda", operator: "Contains" }])).toJSON() + ] + }; + + // Act + await embeddedVisual.setFilters(testData.filters, models.FiltersLevel.Report); + + // Assert + expect(spyHpm.put).toHaveBeenCalledWith('/report/filters', testData.filters, { uid: visualUniqueId }, jasmine.any(Object)); + }); + + it('embeddedVisual.getFilters(models.FiltersLevel.Page) sends GET /report/pages/ReportSection1/filters', async function () { + spyHpm.get.and.callFake(() => Promise.resolve({})); + + // Act + await embeddedVisual.getFilters(models.FiltersLevel.Page); + + // Assert + expect(spyHpm.get).toHaveBeenCalledWith(`/report/pages/ReportSection1/filters`, { uid: visualUniqueId }, jasmine.any(Object)); + }); + + it('embeddedVisual.setFilters(filters, models.FiltersLevel.Page) sends PUT /report/pages/ReportSection1/filters', async function () { + // Arrange + const testData = { + filters: [ + (new models.BasicFilter({ table: "Cars", measure: "Make" }, "In", ["subaru", "honda"])).toJSON(), + (new models.AdvancedFilter({ table: "Cars", measure: "Make" }, "And", [{ value: "subaru", operator: "None" }, { value: "honda", operator: "Contains" }])).toJSON() + ], + response: { + body: [] + } + }; + + spyHpm.put.and.returnValue(Promise.resolve(testData.response)); + + // Act + await embeddedVisual.setFilters(testData.filters, models.FiltersLevel.Page); + + // Assert + expect(spyHpm.put).toHaveBeenCalledWith(`/report/pages/ReportSection1/filters`, testData.filters, { uid: visualUniqueId }, jasmine.any(Object)); + }); + + it('embeddedVisual.getFilters() sends GET /report/pages/ReportSection1/visuals/VisualContainer1/filters', async function () { + spyHpm.get.and.callFake(() => Promise.resolve({})); + + // Act + await embeddedVisual.getFilters(); + + // Assert + expect(spyHpm.get).toHaveBeenCalledWith(`/report/pages/ReportSection1/visuals/VisualContainer1/filters`, { uid: visualUniqueId }, jasmine.any(Object)); + }); + + it('embeddedVisual.setFilters(filters) sends PUT /report/pages/ReportSection1/visuals/VisualContainer1/filters', async function () { + // Arrange + const testData = { + filters: [ + (new models.BasicFilter({ table: "Cars", measure: "Make" }, "In", ["subaru", "honda"])).toJSON(), + (new models.AdvancedFilter({ table: "Cars", measure: "Make" }, "And", [{ value: "subaru", operator: "None" }, { value: "honda", operator: "Contains" }])).toJSON() + ], + response: { + body: [] + } + }; + + spyHpm.put.and.returnValue(Promise.resolve(testData.response)); + + // Act + await embeddedVisual.setFilters(testData.filters); + + // Assert + expect(spyHpm.put).toHaveBeenCalledWith(`/report/pages/ReportSection1/visuals/VisualContainer1/filters`, testData.filters, { uid: visualUniqueId }, jasmine.any(Object)); + }); + + it('Not supported visual method: getPages', function () { + // Act + const attempt = (): void => { + embeddedVisual.getPages(); + }; + + // Assert + expect(attempt).toThrow(visual.Visual.GetPagesNotSupportedError); + }); + + it('Not supported visual method: setPage', function () { + // Act + const attempt = (): void => { + embeddedVisual.setPage(null); + }; + + // Assert + expect(attempt).toThrow(visual.Visual.SetPageNotSupportedError); + }); + + describe('getVisualDescriptor', function () { + it('embeddedVisual.getVisualDescriptor() sends GET /report/pages/xyz/visuals', async function () { + // Act + try { + await embeddedVisual.getVisualDescriptor(); + } catch (error) { + // The test only needs to check hpm request + } + + // Assert + expect(spyHpm.get).toHaveBeenCalledWith(`/report/pages/ReportSection1/visuals`, { uid: visualUniqueId }, jasmine.any(Object)); + }); + + it('embeddedVisual.getVisualDescriptor() returns promise that rejects with server error if there was error getting visual details', async function () { + // Arrange + const testData = { + expectedError: { + body: { + message: 'internal server error' + } + } + }; + + spyHpm.get.and.callFake(() => Promise.reject(testData.expectedError)); + try { + // Act + await embeddedVisual.getVisualDescriptor(); + fail("getVisualDescriptor should succeed"); + } catch (error) { + // Assert + expect(spyHpm.get).toHaveBeenCalledWith(`/report/pages/ReportSection1/visuals`, { uid: visualUniqueId }, jasmine.any(Object)); + expect(error).toEqual(testData.expectedError.body); + } + }); + + it('embeddedVisual.getVisualDescriptor() returns promise that resolves with visual details', async function () { + // Arrange + const fakeVisualDescriptor = new visualDescriptor.VisualDescriptor(page1, visualEmbedConfiguration.visualName, 'title', 'type', {}); + const testData = { + expectedResponse: { + body: [fakeVisualDescriptor] + } + }; + + spyHpm.get.and.returnValue(Promise.resolve(testData.expectedResponse)); + + try { + // Act + const visualDescriptor = await embeddedVisual.getVisualDescriptor(); + // Assert + expect(spyHpm.get).toHaveBeenCalledWith(`/report/pages/ReportSection1/visuals`, { uid: visualUniqueId }, jasmine.any(Object)); + expect(visualDescriptor.name).toEqual(fakeVisualDescriptor.name); + } catch (error) { + console.log("getVisualDescriptor failed with", error); + fail("getVisualDescriptor failed"); + } + }); + }); + }); +}); diff --git a/test/SDK-to-MockApp.spec.ts b/test/SDK-to-MockApp.spec.ts new file mode 100644 index 00000000..604896ed --- /dev/null +++ b/test/SDK-to-MockApp.spec.ts @@ -0,0 +1,598 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. + +import * as utils from '../src/util'; +import * as service from '../src/service'; +import * as embed from '../src/embed'; +import * as report from '../src/report'; +import * as page from '../src/page'; +import * as Hpm from 'http-post-message'; +import * as models from 'powerbi-models'; +import * as factories from '../src/factories'; +import * as util from '../src/util'; +import { spyApp, setupEmbedMockApp } from './utility/mockEmbed'; +import { logMessages, iframeSrc } from './constsants'; + +describe('SDK-to-MockApp', function () { + let element: HTMLDivElement; + let iframe: HTMLIFrameElement; + let iframeHpm: Hpm.HttpPostMessage; + let powerbi: service.Service; + let report: report.Report; + let page1: page.Page; + const embedConfiguration: embed.IEmbedConfiguration = { + type: "report", + id: "fakeReportIdInitialEmbed", + accessToken: 'fakeTokenInitialEmbed', + embedUrl: iframeSrc + }; + + beforeEach(async function () { + powerbi = new service.Service(factories.hpmFactory, factories.wpmpFactory, factories.routerFactory, { + wpmpName: 'SDK-to-MockApp HostWpmp', + logMessages + }); + element = document.createElement('div'); + element.id = "reportContainer1"; + element.className = 'powerbi-report-container2'; + document.body.appendChild(element); + report = powerbi.embed(element, embedConfiguration); + page1 = report.page('ReportSection1'); + iframe = element.getElementsByTagName('iframe')[0]; + + /** + * Note: For testing we need to configure the eventSourceOverrideWindow to allow the host to respond to + * the iframe window; however, the iframe window doesn't exist until the first embed is created. + * + * To work around this we create a service for the initial embed, embed a report, then set the private variable + */ + (powerbi.wpmp).eventSourceOverrideWindow = iframe.contentWindow; + // Register Iframe side + let hpmPostSpy = spyOn(powerbi.hpm, "post").and.returnValue(Promise.resolve({})); + iframeHpm = setupEmbedMockApp(iframe.contentWindow, window, logMessages, 'SDK-to-MockApp IframeWpmp'); + + await new Promise((resolve, _reject) => { + iframe.addEventListener('load', () => { + resolve(null); + }); + }); + + hpmPostSpy.and.callThrough(); + }); + + afterEach(function () { + powerbi.reset(element); + element.remove(); + powerbi.wpmp?.stop(); + spyApp.reset(); + }); + + describe('report', function () { + beforeEach(function () { + spyOn(utils, "getTimeDiffInMilliseconds").and.callFake(() => 700); // Prevent requests from being throttled. + }); + + describe('load', function () { + it('report.load() returns promise that resolves with null if the report load successful', async function () { + try { + const response = await report.load(undefined); + // Assert + expect(response).toEqual({} as any); + } catch (error) { + fail("lod shouldn't fail"); + } + }); + }); + + describe('pages', function () { + it('report.getPages() return promise that rejects with server error if there was error getting pages', async function () { + // Arrange + const testData = { + expectedError: { + message: 'internal server error' + } + }; + + try { + spyApp.getPages.and.callFake(() => Promise.reject(testData.expectedError)); + // Act + await report.getPages(); + fail("getPagesshouldn't succeed"); + } catch (error) { + // Assert + expect(spyApp.getPages).toHaveBeenCalled(); + expect(error).toEqual(jasmine.objectContaining(testData.expectedError)); + } + }); + + it('report.getPages() returns promise that resolves with list of page names', async function () { + // Arrange + const testData = { + pages: [ + { + name: "page1", + displayName: "Page 1", + isActive: true + } + ] + }; + + try { + spyApp.getPages.and.returnValue(Promise.resolve(testData.pages)); + const pages = await report.getPages(); + // Assert + expect(spyApp.getPages).toHaveBeenCalled(); + // Workaround to compare pages + pages.forEach(page => { + const testPage = util.find(p => p.name === page.name, testData.pages); + if (testPage) { + expect(page.name).toEqual(testPage.name); + expect(page.isActive).toEqual(testPage.isActive); + } + else { + expect(true).toBe(false); + } + }); + } catch (error) { + console.log("getPages failed with", error); + fail("getPages failed"); + } + }); + }); + + describe('filters', function () { + it('report.getFilters() returns promise that rejects with server error if there was problem getting filters', async function () { + // Arrange + const testData = { + expectedError: { + message: 'could not serialize filters' + } + }; + + try { + spyApp.getFilters.and.callFake(() => Promise.reject(testData.expectedError)); + await report.getFilters(); + fail("getFilters shouldn't succeed"); + } catch (error) { + // Assert + expect(spyApp.getFilters).toHaveBeenCalled(); + expect(error).toEqual(jasmine.objectContaining(testData.expectedError)); + } + }); + + it('report.getFilters() returns promise that resolves with filters is request is successful', async function () { + // Arrange + const testData = { + filters: [ + { x: 'fakeFilter' } + ] + }; + + spyApp.getFilters.and.returnValue(Promise.resolve(testData.filters)); + try { + + // Act + const filters = await report.getFilters(); + // Assert + expect(spyApp.getFilters).toHaveBeenCalled(); + // @ts-ignore as testData is not of type IFilter + expect(filters).toEqual(testData.filters); + } catch (error) { + fail("get filtershousln't fails"); + } + }); + + it('report.setFilters(filters) returns promise that rejects with validation errors if filter is invalid', async function () { + // Arrange + const testData = { + filters: [ + (new models.BasicFilter({ table: "cars", column: "make" }, "In", ["subaru", "honda"])).toJSON() + ], + expectedErrors: [ + { + message: 'invalid filter' + } + ] + }; + + spyApp.validateFilter.and.callFake(() => Promise.reject(testData.expectedErrors)); + try { + + // Act + await report.setFilters(testData.filters); + fail("et filter should fail"); + } catch (error) { + // Assert + expect(spyApp.validateFilter).toHaveBeenCalledWith(testData.filters[0]); + expect(spyApp.setFilters).not.toHaveBeenCalled(); + expect(error).toEqual(jasmine.objectContaining(testData.expectedErrors)); + } + }); + + it('report.setFilters(filters) returns promise that resolves with null if filter was valid and request is accepted', async function () { + // Arrange + const testData = { + filters: [(new models.BasicFilter({ table: "cars", column: "make" }, "In", ["subaru", "honda"])).toJSON()] + }; + + spyApp.validateFilter.and.returnValue(Promise.resolve(null)); + spyApp.setFilters.and.returnValue(Promise.resolve(null)); + try { + // Act + await report.setFilters(testData.filters); + expect(spyApp.validateFilter).toHaveBeenCalledWith(testData.filters[0]); + expect(spyApp.setFilters).toHaveBeenCalledWith(testData.filters); + } catch (error) { + fail("why fail"); + } + }); + + it('report.removeFilters() returns promise that resolves with null if the request was accepted', async function () { + // Arrange + let spy = spyOn(report, 'updateFilters').and.callFake(() => Promise.resolve(null)); + try { + // Act + await report.removeFilters(); + // Assert + expect(spy).toHaveBeenCalledWith(models.FiltersOperations.RemoveAll); + } catch (error) { + fail("remove fialter shouldn't fail"); + } + }); + }); + + describe('print', function () { + it('report.print() returns promise that resolves with null if the report print command was accepted', async function () { + // Arrange + spyApp.print.and.returnValue(Promise.resolve({})); + // Act + const response = await report.print(); + // Assert + expect(spyApp.print).toHaveBeenCalled(); + expect(response).toEqual(); + }); + }); + + describe('refresh', function () { + it('report.refresh() returns promise that resolves with null if the report refresh command was accepted', async function () { + // Arrange + spyApp.refreshData.and.returnValue(Promise.resolve(null)); + // Act + const response = await report.refresh(); + // Assert + expect(spyApp.refreshData).toHaveBeenCalled(); + expect(response).toEqual(undefined); + }); + }); + + describe('settings', function () { + it('report.updateSettings(setting) returns promise that rejects with validation error if object is invalid', async function () { + // Arrange + const testData = { + settings: { + filterPaneEnabled: false + }, + expectedErrors: [ + { + message: 'invalid target' + } + ] + }; + spyApp.validateSettings.and.callFake(() => Promise.reject(testData.expectedErrors)); + + try { + // Act + await report.updateSettings(testData.settings); + fail("shouldfail"); + } catch (errors) { + // Assert + expect(spyApp.validateSettings).toHaveBeenCalledWith(testData.settings); + expect(spyApp.updateSettings).not.toHaveBeenCalled(); + expect(errors).toEqual(jasmine.objectContaining(testData.expectedErrors)); + } + }); + + it('report.updateSettings(settings) returns promise that resolves with null if requst is valid and accepted', async function () { + // Arrange + const testData = { + settings: { + filterPaneEnabled: false + }, + expectedErrors: [ + { + message: 'invalid target' + } + ] + }; + + try { + spyApp.validateSettings.and.returnValue(Promise.resolve(null)); + spyApp.updateSettings.and.returnValue(Promise.resolve(null)); + // Act + await report.updateSettings(testData.settings); + // Assert + expect(spyApp.validateSettings).toHaveBeenCalledWith(testData.settings); + expect(spyApp.updateSettings).toHaveBeenCalledWith(testData.settings); + } catch (error) { + console.log("updateSettings failed with", error); + fail("updateSettings failed"); + } + }); + }); + + describe('page', function () { + describe('filters', function () { + + beforeEach(() => { + spyApp.validatePage.and.returnValue(Promise.resolve(null)); + }); + + it('page.getFilters() returns promise that rejects with server error if there was problem getting filters', async function () { + // Arrange + const testData = { + expectedError: { + message: 'could not serialize filters' + } + }; + + try { + spyApp.getFilters.and.callFake(() => Promise.reject(testData.expectedError)); + + await page1.getFilters(); + } catch (error) { + // Assert + expect(spyApp.getFilters).toHaveBeenCalled(); + expect(error).toEqual(jasmine.objectContaining(testData.expectedError)); + + } + }); + + it('page.getFilters() returns promise that resolves with filters is request is successful', async function () { + // Arrange + const testData = { + filters: [ + { x: 'fakeFilter' } + ] + }; + + try { + + spyApp.getFilters.and.returnValue(Promise.resolve(testData.filters)); + const filters = await page1.getFilters(); + // Assert + expect(spyApp.getFilters).toHaveBeenCalled(); + // @ts-ignore as testData is not of type IFilter as testData is not of type IFilter + expect(filters).toEqual(testData.filters); + } catch (error) { + fail("getFilters shouldn't fail"); + } + }); + + it('page.setFilters(filters) returns promise that rejects with validation errors if filter is invalid', async function () { + // Arrange + const testData = { + filters: [ + (new models.BasicFilter({ table: "cars", column: "make" }, "In", ["subaru", "honda"])).toJSON() + ], + expectedErrors: [ + { + message: 'invalid filter' + } + ] + }; + + // await iframeLoaded; + try { + spyApp.validateFilter.and.callFake(() => Promise.reject(testData.expectedErrors)); + await page1.setFilters(testData.filters); + fail("setilters shouldn't fail"); + } catch (error) { + expect(spyApp.validateFilter).toHaveBeenCalledWith(testData.filters[0]); + expect(spyApp.setFilters).not.toHaveBeenCalled(); + expect(error).toEqual(jasmine.objectContaining(testData.expectedErrors)); + } + }); + + it('page.setFilters(filters) returns promise that resolves with null if filter was valid and request is accepted', async function () { + // Arrange + const testData = { + filters: [(new models.BasicFilter({ table: "cars", column: "make" }, "In", ["subaru", "honda"])).toJSON()] + }; + + spyApp.validateFilter.and.returnValue(Promise.resolve(null)); + spyApp.setFilters.and.returnValue(Promise.resolve(null)); + try { + await page1.setFilters(testData.filters); + expect(spyApp.validateFilter).toHaveBeenCalledWith(testData.filters[0]); + expect(spyApp.setFilters).toHaveBeenCalledWith(testData.filters); + } catch (error) { + console.log("setFilters failed with", error); + fail("setilters failed"); + } + }); + + it('page.removeFilters() returns promise that resolves with null if the request was accepted', async function () { + // Arrange + try { + spyApp.updateFilters.and.returnValue(Promise.resolve(null)); + // Act + await page1.removeFilters(); + } catch (error) { + console.log("removeFilters failed with", error); + fail("removeFilters failed"); + } + // Assert + expect(spyApp.updateFilters).toHaveBeenCalledWith(models.FiltersOperations.RemoveAll, undefined); + }); + + describe('setActive', function () { + it('page.setActive() returns promise that rejects if page is invalid', async function () { + // Arrange + const testData = { + errors: [ + { + message: 'page xyz was not found in report' + } + ] + }; + + spyApp.validatePage.and.callFake(() => Promise.reject(testData.errors)); + try { + // Act + await page1.setActive(); + fail("setActive shouldn't succeed"); + + } catch (errors) { + expect(spyApp.validatePage).toHaveBeenCalled(); + expect(spyApp.setPage).not.toHaveBeenCalled(); + expect(errors).toEqual(jasmine.objectContaining(testData.errors)); + } + spyApp.validatePage.and.callThrough(); + }); + + it('page.setActive() returns promise that resolves with null if request is successful', async function () { + // Act + spyApp.validatePage.and.returnValue(Promise.resolve(null)); + spyApp.setPage.and.returnValue(Promise.resolve(null)); + try { + await page1.setActive(); + expect(spyApp.validatePage).toHaveBeenCalled(); + expect(spyApp.setPage).toHaveBeenCalled(); + } catch (error) { + console.log("setActive failed with ", error); + fail("setActive failed"); + } + }); + }); + }); + }); + + describe('SDK-to-Router (Event subscription)', function () { + it(`report.on(eventName, handler) should throw error if eventName is not supported`, function () { + // Arrange + const testData = { + eventName: 'xyz', + handler: jasmine.createSpy('handler') + }; + + try { + report.on(testData.eventName, testData.handler); + fail("should throw exception"); + } catch (error) { + expect(1).toEqual(1); + } + }); + + it(`report.on(eventName, handler) should register handler and be called when POST /report/:uniqueId/events/:eventName is received`, async function () { + // Arrange + const testData = { + reportId: 'fakeReportId', + eventName: 'pageChanged', + handler: jasmine.createSpy('handler'), + simulatedPageChangeBody: { + initiator: 'sdk', + newPage: { + name: 'page1', + displayName: 'Page 1' + } + }, + expectedEvent: { + detail: { + initiator: 'sdk', + newPage: report.page('page1') + } + } + }; + + report.on(testData.eventName, testData.handler); + try { + // Act + await iframeHpm.post(`/reports/${report.config.uniqueId}/events/${testData.eventName}`, testData.simulatedPageChangeBody); + + } catch (error) { + fail("testshouldn't fail"); + } + // Assert + expect(testData.handler).toHaveBeenCalledWith(jasmine.any(CustomEvent)); + // Workaround to compare pages which prevents recursive loop in jasmine equals + // expect(testData.handler2).toHaveBeenCalledWith(jasmine.objectContaining({ detail: testData.simulatedPageChangeBody })); + expect(testData.handler.calls.mostRecent().args[0].detail.newPage.name).toEqual(testData.expectedEvent.detail.newPage.name); + }); + + it(`if multiple reports with the same id are loaded into the host, and event occurs on one of them, only one report handler should be called`, async function () { + // Arrange + const testData = { + reportId: 'fakeReportId', + eventName: 'pageChanged', + handler: jasmine.createSpy('handler'), + handler2: jasmine.createSpy('handler2'), + simulatedPageChangeBody: { + initiator: 'sdk', + newPage: { + name: 'page1', + displayName: 'Page 1' + } + } + }; + + // Create a second iframe and report + const element2 = document.createElement('div'); + element2.id = "reportContainer2"; + element2.className = 'powerbi-report-container3'; + document.body.appendChild(element2); + const report2 = powerbi.embed(element2, embedConfiguration); + const iframe2 = element2.getElementsByTagName('iframe')[0]; + setupEmbedMockApp(iframe2.contentWindow, window, logMessages, 'SDK-to-MockApp IframeWpmp2'); + await new Promise((resolve, _reject) => { + iframe2.addEventListener('load', () => { + resolve(null); + }); + }); + + report.on(testData.eventName, testData.handler); + report2.on(testData.eventName, testData.handler2); + + try { + await iframeHpm.post(`/reports/${report2.config.uniqueId}/events/${testData.eventName}`, testData.simulatedPageChangeBody); + } catch (error) { + powerbi.reset(element2); + element2.remove(); + fail("hpm post shouldn't fail"); + } + // Act + expect(testData.handler).not.toHaveBeenCalled(); + expect(testData.handler2).toHaveBeenCalledWith(jasmine.any(CustomEvent)); + // Workaround to compare pages which prevents recursive loop in jasmine equals + // expect(testData.handler).toHaveBeenCalledWith(jasmine.objectContaining(testData.expectedEvent)); + expect(testData.handler2.calls.mostRecent().args[0].detail.newPage.name).toEqual(testData.simulatedPageChangeBody.newPage.name); + powerbi.reset(element2); + element2.remove(); + }); + + it(`ensure load event is allowed`, async function () { + // Arrange + const testData = { + reportId: 'fakeReportId', + eventName: 'loaded', + handler: jasmine.createSpy('handler3'), + simulatedBody: { + initiator: 'sdk' + } + }; + + report.on(testData.eventName, testData.handler); + + // Act + try { + await iframeHpm.post(`/reports/${report.config.uniqueId}/events/${testData.eventName}`, testData.simulatedBody); + } catch (error) { + fail("ensure load event is allowed failed"); + } + + // Assert + expect(testData.handler).toHaveBeenCalledWith(jasmine.any(CustomEvent)); + expect(testData.handler).toHaveBeenCalledWith(jasmine.objectContaining({ detail: testData.simulatedBody })); + }); + }); + }); +}); diff --git a/test/SDK-to-WPMP.spec.ts b/test/SDK-to-WPMP.spec.ts new file mode 100644 index 00000000..4bf43146 --- /dev/null +++ b/test/SDK-to-WPMP.spec.ts @@ -0,0 +1,196 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. + +import * as service from '../src/service'; +import * as report from '../src/report'; +import * as Wpmp from 'window-post-message-proxy'; +import * as factories from '../src/factories'; +import { spyWpmp } from './utility/mockWpmp'; +import { spyHpm } from './utility/mockHpm'; +import { spyRouter } from './utility/mockRouter'; +import { iframeSrc } from './constsants'; + +describe('SDK-to-WPMP', function () { + let element: HTMLDivElement; + let powerbi: service.Service; + let report: report.Report; + let uniqueId: string; + + beforeEach(function () { + const spyWpmpFactory: factories.IWpmpFactory = (_name?: string, _logMessages?: boolean) => { + return spyWpmp; + }; + + powerbi = new service.Service(factories.hpmFactory, spyWpmpFactory, factories.routerFactory); + + element = document.createElement('div'); + element.className = 'powerbi-report-container'; + + const embedConfiguration = { + type: "report", + id: "fakeReportId", + accessToken: 'fakeToken', + embedUrl: iframeSrc, + wpmpName: 'SDK-to-WPMP report wpmp' + }; + const hpmPostpy = spyOn(powerbi.hpm, "post").and.callFake(() => Promise.resolve({})); + report = powerbi.embed(element, embedConfiguration); + hpmPostpy.and.callThrough(); + uniqueId = report.config.uniqueId; + spyHpm.post.calls.reset(); + }); + + afterEach(function () { + powerbi.reset(element); + element.remove(); + + spyWpmp.stop(); + spyWpmp.addHandler.calls.reset(); + spyWpmp.clearHandlers(); + + spyHpm.get.calls.reset(); + spyHpm.post.calls.reset(); + spyHpm.patch.calls.reset(); + spyHpm.put.calls.reset(); + spyHpm.delete.calls.reset(); + + spyRouter.get.calls.reset(); + spyRouter.post.calls.reset(); + spyRouter.patch.calls.reset(); + spyRouter.put.calls.reset(); + spyRouter.delete.calls.reset(); + }); + + describe('Event handlers', function () { + it(`handler passed to report.on(eventName, handler) is called when POST /report/:uniqueId/events/:eventName is received`, function () { + // Arrange + const testData = { + eventName: 'filtersApplied', + handler: jasmine.createSpy('handler'), + filtersAppliedEvent: { + data: { + method: 'POST', + url: `/reports/${uniqueId}/events/filtersApplied`, + body: { + initiator: 'sdk', + filters: [ + { + x: 'fakeFilter' + } + ] + } + } + } + }; + + report.on(testData.eventName, testData.handler); + + // Act + spyWpmp.onMessageReceived(testData.filtersAppliedEvent); + + // Assert + expect(testData.handler).toHaveBeenCalledWith(jasmine.objectContaining({ detail: testData.filtersAppliedEvent.data.body })); + }); + + it(`off('eventName', handler) will remove single handler which matches function reference for that event`, function () { + // Arrange + const testData = { + eventName: 'filtersApplied', + handler: jasmine.createSpy('handler1'), + simulatedEvent: { + data: { + method: 'POST', + url: `/reports/${uniqueId}/events/filtersApplied`, + body: { + initiator: 'sdk', + filter: { + x: '1', + y: '2' + } + } + } + } + }; + + report.on(testData.eventName, testData.handler); + report.off(testData.eventName, testData.handler); + + // Act + spyWpmp.onMessageReceived(testData.simulatedEvent); + + // Assert + expect(testData.handler).not.toHaveBeenCalled(); + }); + + it('if multiple handlers for the same event are registered they will all be called', function () { + // Arrange + const testData = { + eventName: 'filtersApplied', + handler: jasmine.createSpy('handler1'), + handler2: jasmine.createSpy('handler2'), + handler3: jasmine.createSpy('handler3'), + simulatedEvent: { + data: { + method: 'POST', + url: `/reports/${uniqueId}/events/filtersApplied`, + body: { + initiator: 'sdk', + filter: { + x: '1', + y: '2' + } + } + } + } + }; + + report.on(testData.eventName, testData.handler); + report.on(testData.eventName, testData.handler2); + report.on(testData.eventName, testData.handler3); + + // Act + spyWpmp.onMessageReceived(testData.simulatedEvent); + + // Assert + expect(testData.handler).toHaveBeenCalledWith(jasmine.objectContaining({ detail: testData.simulatedEvent.data.body })); + expect(testData.handler2).toHaveBeenCalledWith(jasmine.objectContaining({ detail: testData.simulatedEvent.data.body })); + expect(testData.handler3).toHaveBeenCalledWith(jasmine.objectContaining({ detail: testData.simulatedEvent.data.body })); + }); + + it(`off('eventName') will remove all handlers which matches event name`, function () { + // Arrange + const testData = { + eventName: 'filtersApplied', + handler: jasmine.createSpy('handler1'), + handler2: jasmine.createSpy('handler2'), + handler3: jasmine.createSpy('handler3'), + simulatedEvent: { + data: { + method: 'POST', + url: '/reports/fakeReportId/events/filtersApplied', + body: { + initiator: 'sdk', + filter: { + x: '1', + y: '2' + } + } + } + } + }; + + report.on(testData.eventName, testData.handler); + report.on(testData.eventName, testData.handler2); + report.on(testData.eventName, testData.handler3); + report.off(testData.eventName); + + // Act + spyWpmp.onMessageReceived(testData.simulatedEvent); + + // Assert + expect(testData.handler).not.toHaveBeenCalled(); + expect(testData.handler2).not.toHaveBeenCalled(); + expect(testData.handler3).not.toHaveBeenCalled(); + }); + }); +}); diff --git a/test/constsants.ts b/test/constsants.ts new file mode 100644 index 00000000..f944a5ea --- /dev/null +++ b/test/constsants.ts @@ -0,0 +1,14 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. + +declare global { + interface Window { + __karma__: any; + } +} + +export const logMessages = (window.__karma__.config.args[0] === 'logMessages'); + +export const iframeSrc = "base/test/utility/noop.html"; +window.onbeforeunload = null; + diff --git a/test/filterBuilders.spec.ts b/test/filterBuilders.spec.ts index fbc88798..e7f2b432 100644 --- a/test/filterBuilders.spec.ts +++ b/test/filterBuilders.spec.ts @@ -439,7 +439,6 @@ describe('filter builders', function () { const includeToday = true; const relativeDateFilter: models.RelativeDateFilter = new models.RelativeDateFilter(target, operator, timeUnitsCount, timeUnitType, includeToday); - // Act const relativeDateFilterWithBuilder: models.RelativeDateFilter = new RelativeDateFilterBuilder() .withTargetObject(target) @@ -460,7 +459,6 @@ describe('filter builders', function () { const includeToday = true; const relativeDateFilter: models.RelativeDateFilter = new models.RelativeDateFilter(columnTarget, operator, timeUnitsCount, timeUnitType, includeToday); - // Act const relativeDateFilterWithBuilder: models.RelativeDateFilter = new RelativeDateFilterBuilder() .withColumnTarget('table', 'column') @@ -481,7 +479,6 @@ describe('filter builders', function () { const includeToday = true; const relativeDateFilter: models.RelativeDateFilter = new models.RelativeDateFilter(measureTarget, operator, timeUnitsCount, timeUnitType, includeToday); - // Act const relativeDateFilterWithBuilder: models.RelativeDateFilter = new RelativeDateFilterBuilder() .withMeasureTarget('table', 'measure') @@ -502,7 +499,6 @@ describe('filter builders', function () { const includeToday = true; const relativeDateFilter: models.RelativeDateFilter = new models.RelativeDateFilter(hierarchyLevelTarget, operator, timeUnitsCount, timeUnitType, includeToday); - // Act const relativeDateFilterWithBuilder: models.RelativeDateFilter = new RelativeDateFilterBuilder() .withHierarchyLevelTarget('table', 'hierarchy', 'hierarchy level name') @@ -523,7 +519,6 @@ describe('filter builders', function () { const includeToday = true; const relativeDateFilter: models.RelativeDateFilter = new models.RelativeDateFilter(columnAggregationTarget, operator, timeUnitsCount, timeUnitType, includeToday); - // Act const relativeDateFilterWithBuilder: models.RelativeDateFilter = new RelativeDateFilterBuilder() .withColumnAggregation('table', 'column', 'Avg') @@ -544,7 +539,6 @@ describe('filter builders', function () { const includeToday = true; const relativeDateFilter: models.RelativeDateFilter = new models.RelativeDateFilter(hierarchyLevelAggregationTarget, operator, timeUnitsCount, timeUnitType, includeToday); - // Act const relativeDateFilterWithBuilder: models.RelativeDateFilter = new RelativeDateFilterBuilder() .withHierarchyLevelAggregationTarget('table', 'hierarchy', 'hierarchy level name', 'Avg') @@ -567,7 +561,6 @@ describe('filter builders', function () { const timeUnitType = models.RelativeDateFilterTimeUnit.Hours; const relativeTimeFilter: models.RelativeTimeFilter = new models.RelativeTimeFilter(target, operator, timeUnitsCount, timeUnitType); - // Act const relativeTimeFilterWithBuilder: models.RelativeTimeFilter = new RelativeTimeFilterBuilder() .withTargetObject(target) @@ -586,7 +579,6 @@ describe('filter builders', function () { const timeUnitType = models.RelativeDateFilterTimeUnit.Hours; const relativeTimeFilter: models.RelativeTimeFilter = new models.RelativeTimeFilter(columnTarget, operator, timeUnitsCount, timeUnitType); - // Act const relativeTimeFilterWithBuilder: models.RelativeTimeFilter = new RelativeTimeFilterBuilder() .withColumnTarget('table', 'column') @@ -605,7 +597,6 @@ describe('filter builders', function () { const timeUnitType = models.RelativeDateFilterTimeUnit.Hours; const relativeTimeFilter: models.RelativeTimeFilter = new models.RelativeTimeFilter(measureTarget, operator, timeUnitsCount, timeUnitType); - // Act const relativeTimeFilterWithBuilder: models.RelativeTimeFilter = new RelativeTimeFilterBuilder() .withMeasureTarget('table', 'measure') @@ -624,7 +615,6 @@ describe('filter builders', function () { const timeUnitType = models.RelativeDateFilterTimeUnit.Hours; const relativeTimeFilter: models.RelativeTimeFilter = new models.RelativeTimeFilter(hierarchyLevelTarget, operator, timeUnitsCount, timeUnitType); - // Act const relativeTimeFilterWithBuilder: models.RelativeTimeFilter = new RelativeTimeFilterBuilder() .withHierarchyLevelTarget('table', 'hierarchy', 'hierarchy level name') @@ -643,7 +633,6 @@ describe('filter builders', function () { const timeUnitType = models.RelativeDateFilterTimeUnit.Hours; const relativeTimeFilter: models.RelativeTimeFilter = new models.RelativeTimeFilter(columnAggregationTarget, operator, timeUnitsCount, timeUnitType); - // Act const relativeTimeFilterWithBuilder: models.RelativeTimeFilter = new RelativeTimeFilterBuilder() .withColumnAggregation('table', 'column', 'Avg') @@ -662,7 +651,6 @@ describe('filter builders', function () { const timeUnitType = models.RelativeDateFilterTimeUnit.Hours; const relativeTimeFilter: models.RelativeTimeFilter = new models.RelativeTimeFilter(hierarchyLevelAggregationTarget, operator, timeUnitsCount, timeUnitType); - // Act const relativeTimeFilterWithBuilder: models.RelativeTimeFilter = new RelativeTimeFilterBuilder() .withHierarchyLevelAggregationTarget('table', 'hierarchy', 'hierarchy level name', 'Avg') @@ -674,4 +662,4 @@ describe('filter builders', function () { expect(relativeTimeFilterWithBuilder).toEqual(relativeTimeFilter); }); }); -}); \ No newline at end of file +}); diff --git a/test/protocol.spec.ts b/test/protocol.spec.ts new file mode 100644 index 00000000..9bf8e476 --- /dev/null +++ b/test/protocol.spec.ts @@ -0,0 +1,1194 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. +import { WindowPostMessageProxy } from 'window-post-message-proxy'; +import { HttpPostMessage } from 'http-post-message'; +import { spyApp, setupEmbedMockApp } from './utility/mockEmbed'; +import { hpmFactory, routerFactory, wpmpFactory } from '../src/factories'; +import { iframeSrc, logMessages } from './constsants'; +import * as models from 'powerbi-models'; + +describe('Protocol', function () { + let hpm: HttpPostMessage; + let wpmp: WindowPostMessageProxy; + let iframe: HTMLIFrameElement; + let iframeHpm: HttpPostMessage; + + let spyHandler: { + test: jasmine.Spy; + handle: jasmine.Spy; + }; + + beforeEach(async function () { + iframe = document.createElement('iframe'); + iframe.id = 'protocol'; + iframe.src = iframeSrc; + document.body.appendChild(iframe); + + await new Promise(resolve => iframe.addEventListener('load', () => resolve(null))); + + // Register Iframe side + iframeHpm = setupEmbedMockApp(iframe.contentWindow, window, logMessages, 'ProtocolMockAppWpmp'); + + // Register SDK side WPMP + wpmp = wpmpFactory('HostProxyDefaultNoHandlers', logMessages, iframe.contentWindow); + hpm = hpmFactory(wpmp, iframe.contentWindow, 'testVersion'); + + const router = routerFactory(wpmp); + + spyHandler = { + test: jasmine.createSpy("testSpy").and.returnValue(true), + handle: jasmine.createSpy("handleSpy").and.callFake(function (message: any) { + message.handled = true; + return message; + }) + }; + + router.post('/reports/:uniqueId/events/:eventName', (req, res) => { + spyHandler.handle(req); + res.send(202); + }); + + router.post('/reports/:uniqueId/pages/:pageName/events/:eventName', (req, res) => { + spyHandler.handle(req); + res.send(202); + }); + + router.post('/reports/:uniqueId/pages/:pageName/visuals/:visualName/events/:eventName', (req, res) => { + spyHandler.handle(req); + res.send(202); + }); + }); + + afterEach(function () { + iframe.remove(); + wpmp.stop(); + spyHandler.test.calls.reset(); + spyHandler.handle.calls.reset(); + spyApp.reset(); + }); + + describe('HPM-to-MockApp', function () { + describe('notfound', function () { + it('GET request to uknown url returns 404 Not Found', async function () { + try { + await hpm.get('route/that/does/not/exist'); + } catch (response) { + expect(response.statusCode).toEqual(404); + } + }); + + it('POST request to uknown url returns 404 Not Found', async function () { + + try { + await hpm.post('route/that/does/not/exist', null); + } catch (response) { + expect(response.statusCode).toEqual(404); + } + }); + + it('PUT request to uknown url returns 404 Not Found', async function () { + try { + await hpm.put('route/that/does/not/exist', null); + } catch (response) { + expect(response.statusCode).toEqual(404); + } + }); + + it('PATCH request to uknown url returns 404 Not Found', async function () { + try { + await hpm.patch('route/that/does/not/exist', null); + } catch (response) { + expect(response.statusCode).toEqual(404); + } + }); + + it('DELETE request to uknown url returns 404 Not Found', async function () { + try { + await hpm.delete('route/that/does/not/exist'); + } catch (response) { + expect(response.statusCode).toEqual(404); + } + }); + }); + + describe('create', function () { + describe('report', function () { + it('POST /report/create returns 400 if the request is invalid', async function () { + // Arrange + const testData = { + uniqueId: 'uniqueId', + create: { + datasetId: "fakeId", + accessToken: "fakeToken", + } + }; + + spyApp.validateCreateReport.and.callFake(() => Promise.reject(null)); + + // Act + try { + await hpm.post('/report/create', testData.create, { uid: testData.uniqueId }); + fail("POST to /report/create should fail"); + } catch (response) { + // Assert + expect(spyApp.validateCreateReport).toHaveBeenCalledWith(testData.create); + expect(response.statusCode).toEqual(400); + } + }); + }); + + it('POST /report/create returns 202 if the request is valid', async function () { + // Arrange + const testData = { + create: { + datasetId: "fakeId", + accessToken: "fakeToken", + } + }; + + spyApp.validateCreateReport.and.returnValue(Promise.resolve(null)); + // Act + try { + const response = await hpm.post('/report/create', testData.create); + // Assert + expect(spyApp.validateCreateReport).toHaveBeenCalledWith(testData.create); + expect(response.statusCode).toEqual(202); + } catch (error) { + console.log("hpm.post failed with", error); + fail("hpm.post"); + } + }); + }); + }); + + describe('load & prepare', function () { + describe('report', function () { + for (let action of ['load', 'prepare']) { + it(`POST /report/${action} returns 400 if the request is invalid`, async function () { + // Arrange + const testData = { + uniqueId: 'uniqueId', + load: { + reportId: "fakeId", + accessToken: "fakeToken", + options: { + } + } + }; + + spyApp.validateReportLoad.and.callFake(() => Promise.reject(null)); + + // Act + try { + await hpm.post(`/report/${action}`, testData.load, { uid: testData.uniqueId }); + fail(`Post to /report/${action} should fail`); + } catch (response) { + // Assert + expect(spyApp.validateReportLoad).toHaveBeenCalledWith(testData.load); + expect(spyApp.reportLoad).not.toHaveBeenCalledWith(testData.load); + expect(response.statusCode).toEqual(400); + } + }); + + it(`POST /report/${action} returns 202 if the request is valid`, async function () { + // Arrange + const testData = { + load: { + reportId: "fakeId", + accessToken: "fakeToken", + options: { + } + } + }; + + spyApp.validateReportLoad.and.callFake(() => Promise.resolve({})); + try { + const response = await hpm.post(`/report/${action}`, testData.load); + // Assert + expect(spyApp.validateReportLoad).toHaveBeenCalledWith(testData.load); + expect(spyApp.reportLoad).toHaveBeenCalledWith(testData.load); + expect(response.statusCode).toEqual(202); + } catch (error) { + console.error(error); + fail(error); + } + }); + + it(`POST /report/${action} causes POST /reports/:uniqueId/events/loaded`, async function () { + // 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' + } + }; + + try { + // Act + await hpm.post(`/report/${action}`, testData.load, { uid: testData.uniqueId }); + // Assert + expect(spyApp.validateReportLoad).toHaveBeenCalledWith(testData.load); + expect(spyApp.reportLoad).toHaveBeenCalledWith(testData.load); + expect(spyHandler.handle).toHaveBeenCalledWith(jasmine.objectContaining(testExpectedEvent)); + } catch (error) { + console.log("hpm.post failed with", error); + fail("hpm.post failed"); + } + }); + + it(`POST /report/${action} causes POST /reports/:uniqueId/events/error`, async function () { + // 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 + }; + + spyApp.reportLoad.and.callFake(() => Promise.reject(testData.error)); + try { + // Act + await hpm.post(`/report/${action}`, testData.load, { uid: testData.uniqueId }); + expect(spyApp.validateReportLoad).toHaveBeenCalledWith(testData.load); + expect(spyApp.reportLoad).toHaveBeenCalledWith(testData.load); + expect(spyHandler.handle).toHaveBeenCalledWith(jasmine.objectContaining(testExpectedEvent)); + } catch (error) { + console.log("hpm pody failed with", error); + fail("hpm pody failed"); + } + }); + } + }); + + describe('dashboard', function () { + it('POST /dashboard/load returns 202 if the request is valid', async function () { + + // Arrange + const testData = { + load: { + dashboardId: "fakeId", + accessToken: "fakeToken", + options: { + } + } + }; + + spyApp.validateDashboardLoad.and.returnValue(Promise.resolve(null)); + try { + // Act + const response = await hpm.post('/dashboard/load', testData.load); + // Assert + expect(spyApp.validateDashboardLoad).toHaveBeenCalledWith(testData.load); + expect(spyApp.dashboardLoad).toHaveBeenCalledWith(testData.load); + expect(response.statusCode).toEqual(202); + } catch (error) { + + console.error(error); + fail(error); + } + }); + + it('POST /dashboard/load returns 400 if the request is invalid', async function () { + + // Arrange + const testData = { + uniqueId: 'uniqueId', + load: { + dashboardId: "fakeId", + accessToken: "fakeToken", + options: { + } + } + }; + + spyApp.validateDashboardLoad.and.callFake(() => Promise.reject(null)); + + try { + // Act + await hpm.post('/dashboard/load', testData.load, { uid: testData.uniqueId }); + fail("POST to /dashboard/load should fail"); + } catch (response) { + // Assert + expect(spyApp.validateDashboardLoad).toHaveBeenCalledWith(testData.load); + expect(spyApp.dashboardLoad).not.toHaveBeenCalledWith(testData.load); + expect(response.statusCode).toEqual(400); + } + }); + }); + }); + + describe('render', function () { + it('POST /report/render returns 202 if the request is valid', async function () { + // Arrange + spyApp.render.and.returnValue(Promise.resolve(null)); + // Act + const response = await hpm.post('/report/render', null); + // Assert + expect(spyApp.render).toHaveBeenCalled(); + expect(response.statusCode).toEqual(202); + }); + }); + + describe('pages', function () { + it('GET /report/pages returns 200 with body as array of pages', async function () { + // Arrange + const testData = { + expectedPages: [ + { + name: "a" + }, + { + name: "b" + } + ] + }; + + spyApp.getPages.and.returnValue(Promise.resolve(testData.expectedPages)); + // Act + const response = await hpm.get('/report/pages'); + // Assert + expect(spyApp.getPages).toHaveBeenCalled(); + const pages = response.body; + // @ts-ignore as testData is not of type IFilter + expect(pages).toEqual(testData.expectedPages); + }); + + it('GET /report/pages returns 500 with body as error', async function () { + // Arrange + const testData = { + expectedError: { + message: "could not query pages" + } + }; + + spyApp.getPages.and.callFake(() => Promise.reject(testData.expectedError)); + try { + // Act + await hpm.get('/report/pages'); + fail("Get /report/pages should fail"); + } catch (response) { + // Assert + expect(spyApp.getPages).toHaveBeenCalled(); + const error = response.body; + expect(error).toEqual(testData.expectedError); + } + }); + + it('PUT /report/pages/active returns 400 if request is invalid', async function () { + // Arrange + const testData = { + page: { + name: "fakeName" + } + }; + + spyApp.validatePage.and.callFake(() => Promise.reject(null)); + try { + + // Act + await hpm.put('/report/pages/active', testData.page); + fail("put to /report/pages/active should fail"); + } catch (response) { + // Assert + expect(spyApp.validatePage).toHaveBeenCalledWith(testData.page); + expect(spyApp.setPage).not.toHaveBeenCalled(); + expect(response.statusCode).toEqual(400); + } + }); + + it('PUT /report/pages/active returns 202 if request is valid', async function () { + // Arrange + const testData = { + page: { + name: "fakeName" + } + }; + + spyApp.validatePage.and.returnValue(Promise.resolve(null)); + + // Act + const response = await hpm.put('/report/pages/active', testData.page); + // Assert + expect(spyApp.validatePage).toHaveBeenCalledWith(testData.page); + expect(spyApp.setPage).toHaveBeenCalledWith(testData.page); + expect(response.statusCode).toEqual(202); + }); + + it('PUT /report/pages/active causes POST /reports/:uniqueId/events/pageChanged', async function () { + // Arrange + const testData = { + uniqueId: 'uniqueId', + reportId: 'fakeReportId', + page: { + name: "fakeName" + } + }; + const expectedEvent = { + method: 'POST', + url: `/reports/${testData.uniqueId}/events/pageChanged`, + body: jasmine.objectContaining({ + initiator: 'sdk' + }) + }; + + spyApp.validatePage.and.returnValue(Promise.resolve(null)); + spyHandler.handle.calls.reset(); + // Act + const response = await hpm.put('/report/pages/active', testData.page, { uid: testData.uniqueId }); + // Assert + expect(spyApp.validatePage).toHaveBeenCalledWith(testData.page); + expect(spyApp.setPage).toHaveBeenCalledWith(testData.page); + expect(response.statusCode).toEqual(202); + expect(spyHandler.handle).toHaveBeenCalledWith(jasmine.objectContaining(expectedEvent)); + }); + + it('PUT /report/pages/active causes POST /reports/:uniqueId/events/error', async function () { + // Arrange + const testData = { + uniqueId: 'uniqueId', + reportId: 'fakeReportId', + page: { + name: "fakeName" + }, + error: { + message: "error" + } + }; + const expectedEvent = { + method: 'POST', + url: `/reports/${testData.uniqueId}/events/error`, + body: testData.error + }; + + spyApp.validatePage.and.returnValue(Promise.resolve(null)); + spyApp.setPage.and.callFake(() => Promise.reject(testData.error)); + + // Act + const response = await hpm.put('/report/pages/active', testData.page, { uid: testData.uniqueId }); + // Assert + expect(spyApp.validatePage).toHaveBeenCalledWith(testData.page); + expect(spyApp.setPage).toHaveBeenCalledWith(testData.page); + expect(response.statusCode).toEqual(202); + expect(spyHandler.handle).toHaveBeenCalledWith(jasmine.objectContaining(expectedEvent)); + }); + + describe('refresh', function () { + it('POST /report/refresh returns 202 if the request is valid', async function () { + // Arrange + spyApp.refreshData.and.returnValue(Promise.resolve(null)); + // Act + const response = await hpm.post('/report/refresh', null); + // Assert + expect(spyApp.refreshData).toHaveBeenCalled(); + expect(response.statusCode).toEqual(202); + + }); + }); + + describe('print', function () { + it('POST /report/print returns 202 if the request is valid', async function () { + // Arrange + spyApp.print.and.returnValue(Promise.resolve(null)); + // Act + const response = await hpm.post('/report/print', null); + // Assert + expect(spyApp.print).toHaveBeenCalled(); + expect(response.statusCode).toEqual(202); + + }); + }); + + describe('switchMode', function () { + it('POST /report/switchMode returns 202 if the request is valid', async function () { + // Arrange + spyApp.switchMode.and.returnValue(Promise.resolve(null)); + // Act + const response = await hpm.post('/report/switchMode/Edit', null); + // Assert + expect(spyApp.switchMode).toHaveBeenCalled(); + expect(response.statusCode).toEqual(202); + }); + }); + + describe('save', function () { + it('POST /report/save returns 202 if the request is valid', async function () { + // Arrange + spyApp.save.and.returnValue(Promise.resolve(null)); + // Act + const response = await hpm.post('/report/save', null); + // Assert + expect(spyApp.save).toHaveBeenCalled(); + expect(response.statusCode).toEqual(202); + }); + }); + }); + + describe('saveAs', function () { + it('POST /report/saveAs returns 202 if the request is valid', async function () { + // Arrange + let saveAsParameters: models.ISaveAsParameters = { name: "reportName" }; + + spyApp.saveAs.and.returnValue(Promise.resolve(null)); + // Act + const response = await hpm.post('/report/saveAs', saveAsParameters); + // Assert + expect(spyApp.saveAs).toHaveBeenCalled(); + expect(spyApp.saveAs).toHaveBeenCalledWith(saveAsParameters); + expect(response.statusCode).toEqual(202); + }); + }); + + describe('setAccessToken', function () { + it('POST /report/token returns 202 if the request is valid', async function () { + // Arrange + let accessToken: string = "fakeToken"; + + spyApp.setAccessToken.and.returnValue(Promise.resolve(null)); + // Act + const response = await hpm.post('/report/token', accessToken); + // Assert + expect(spyApp.setAccessToken).toHaveBeenCalled(); + expect(spyApp.setAccessToken).toHaveBeenCalledWith(accessToken); + expect(response.statusCode).toEqual(202); + }); + }); + + describe('filters (report level)', function () { + it('GET /report/filters returns 200 with body as array of filters', async function () { + // Arrange + const testData = { + filters: [ + { + name: "fakeFilter1" + }, + { + name: "fakeFilter2" + } + ] + }; + + spyApp.getFilters.and.returnValue(Promise.resolve(testData.filters)); + + // Act + const response = await hpm.get('/report/filters'); + // Assert + expect(spyApp.getFilters).toHaveBeenCalled(); + expect(response.statusCode).toEqual(200); + // @ts-ignore as testData is not of type IFilter + expect(response.body).toEqual(testData.filters); + }); + + it('GET /report/filters returns 500 with body as error', async function () { + // Arrange + const testData = { + error: { + message: "internal error" + } + }; + + spyApp.getFilters.and.callFake(() => Promise.reject(testData.error)); + + // Act + try { + await hpm.get('/report/filters'); + + } catch (response) { + // Assert + expect(spyApp.getFilters).toHaveBeenCalled(); + expect(response.statusCode).toEqual(500); + expect(response.body).toEqual(testData.error); + } + }); + + it('PUT /report/filters returns 400 if request is invalid', async function () { + // Arrange + const testData = { + filters: [ + { + name: "fakeFilter" + } + ] + }; + + spyApp.validateFilter.and.callFake(() => Promise.reject(null)); + + // Act + try { + await hpm.put('/report/filters', testData.filters); + + } catch (response) { + // Assert + expect(spyApp.validateFilter).toHaveBeenCalledWith(testData.filters[0]); + expect(spyApp.setFilters).not.toHaveBeenCalled(); + expect(response.statusCode).toEqual(400); + } + }); + + it('PUT /report/filters returns 202 if request is valid', async function () { + // Arrange + const testData = { + filters: [ + { + name: "fakeFilter" + } + ] + }; + + spyApp.validateFilter.and.returnValue(Promise.resolve(null)); + + // Act + const response = await hpm.put('/report/filters', testData.filters); + // Assert + expect(spyApp.validateFilter).toHaveBeenCalledWith(testData.filters[0]); + expect(spyApp.setFilters).toHaveBeenCalledWith(testData.filters); + expect(response.statusCode).toEqual(202); + }); + + it('PUT /report/filters will cause POST /reports/:uniqueId/events/filtersApplied', async function () { + // Arrange + const testData = { + uniqueId: 'uniqueId', + reportId: 'fakeReportId', + filters: [ + { + name: "fakeFilter" + } + ] + }; + const testExpectedEvent = { + method: 'POST', + url: `/reports/${testData.uniqueId}/events/filtersApplied` + }; + + spyApp.validateFilter.and.returnValue(Promise.resolve(null)); + + // Act + const response = await hpm.put('/report/filters', testData.filters, { uid: testData.uniqueId }); + // Assert + expect(spyApp.validateFilter).toHaveBeenCalledWith(testData.filters[0]); + expect(spyApp.setFilters).toHaveBeenCalledWith(testData.filters); + expect(response.statusCode).toEqual(202); + expect(spyHandler.handle).toHaveBeenCalledWith(jasmine.objectContaining(testExpectedEvent)); + }); + }); + + describe('filters (page level)', function () { + beforeEach(() => { + spyApp.validatePage.and.returnValue(Promise.resolve(null)); + spyApp.validateFilter.and.returnValue(Promise.resolve(null)); + }); + it('GET /report/pages/xyz/filters returns 200 with body as array of filters', async function () { + // Arrange + const testData = { + filters: [ + { + name: "fakeFilter1" + }, + { + name: "fakeFilter2" + } + ] + }; + + spyApp.getFilters.and.returnValue(Promise.resolve(testData.filters)); + + // Act + const response = await hpm.get('/report/pages/xyz/filters'); + // Assert + expect(spyApp.getFilters).toHaveBeenCalled(); + expect(response.statusCode).toEqual(200); + // @ts-ignore as testData is not of type IFilter + expect(response.body).toEqual(testData.filters); + }); + + it('GET /report/pages/xyz/filters returns 500 with body as error', async function () { + // Arrange + const testData = { + error: { + message: "internal error" + } + }; + + spyApp.getFilters.and.callFake(() => Promise.reject(testData.error)); + + // Act + try { + await hpm.get('/report/pages/xyz/filters'); + + } catch (response) { + // Assert + expect(spyApp.getFilters).toHaveBeenCalled(); + expect(response.statusCode).toEqual(500); + expect(response.body).toEqual(testData.error); + + } + }); + + it('PUT /report/pages/xyz/filters returns 400 if request is invalid', async function () { + // Arrange + const testData = { + filters: [ + { + name: "fakeFilter" + } + ] + }; + + spyApp.validateFilter.and.callFake(() => Promise.reject(null)); + + // Act + try { + await hpm.put('/report/pages/xyz/filters', testData.filters); + + } catch (response) { + // Assert + expect(spyApp.validateFilter).toHaveBeenCalledWith(testData.filters[0]); + expect(spyApp.setFilters).not.toHaveBeenCalled(); + expect(response.statusCode).toEqual(400); + } + }); + + it('PUT /report/pages/xyz/filters returns 202 if request is valid', async function () { + // Arrange + const testData = { + filters: [ + { + name: "fakeFilter" + } + ], + }; + + spyApp.validateFilter.and.returnValue(Promise.resolve(null)); + + // Act + const response = await hpm.put('/report/pages/xyz/filters', testData.filters); + // Assert + expect(spyApp.validateFilter).toHaveBeenCalledWith(testData.filters[0]); + expect(spyApp.setFilters).toHaveBeenCalledWith(testData.filters); + expect(response.statusCode).toEqual(202); + }); + + it('PUT /report/pages/xyz/filters will cause POST /reports/:uniqueId/pages/xyz/events/filtersApplied', async function () { + // Arrange + const testData = { + uniqueId: 'uniqueId', + reportId: 'fakeReportId', + filters: [ + { + name: "fakeFilter" + } + ] + }; + const testExpectedEvent = { + method: 'POST', + url: `/reports/${testData.uniqueId}/pages/xyz/events/filtersApplied` + }; + + spyApp.validateFilter.and.returnValue(Promise.resolve(null)); + + // Act + const response = await hpm.put('/report/pages/xyz/filters', testData.filters, { uid: testData.uniqueId }); + // Assert + expect(spyApp.validateFilter).toHaveBeenCalledWith(testData.filters[0]); + expect(spyApp.setFilters).toHaveBeenCalledWith(testData.filters); + expect(response.statusCode).toEqual(202); + expect(spyHandler.handle).toHaveBeenCalledWith(jasmine.objectContaining(testExpectedEvent)); + }); + }); + + describe('filters (visual level)', function () { + it('GET /report/pages/xyz/visuals/uvw/filters returns 200 with body as array of filters', async function () { + // Arrange + const testData = { + filters: [ + { + name: "fakeFilter1" + }, + { + name: "fakeFilter2" + } + ] + }; + + spyApp.getFilters.and.returnValue(Promise.resolve(testData.filters)); + + // Act + try { + + const response = await hpm.get('/report/pages/xyz/visuals/uvw/filters'); + // Assert + expect(spyApp.getFilters).toHaveBeenCalled(); + expect(response.statusCode).toEqual(200); + // @ts-ignore as testData is not of type IFilter + expect(response.body).toEqual(testData.filters); + } catch (error) { + console.log("get filter shouldn't fail"); + } + }); + + it('GET /report/pages/xyz/visuals/uvw/filters returns 500 with body as error', async function () { + // Arrange + const testData = { + error: { + message: "internal error" + } + }; + + spyApp.getFilters.and.callFake(() => Promise.reject(testData.error)); + + // Act + try { + await hpm.get('/report/pages/xyz/visuals/uvw/filters'); + + } catch (response) { + + // Assert + expect(spyApp.getFilters).toHaveBeenCalled(); + expect(response.statusCode).toEqual(500); + expect(response.body).toEqual(testData.error); + + } + }); + + it('PUT /report/pages/xyz/visuals/uvw/filters returns 400 if request is invalid', async function () { + // Arrange + const testData = { + uniqueId: 'uniqueId', + filters: [ + { + name: "fakeFilter" + } + ] + }; + + spyApp.validateFilter.and.callFake(() => Promise.reject(null)); + + // Act + try { + await hpm.put('/report/pages/xyz/visuals/uvw/filters', testData.filters, { uid: testData.uniqueId }); + + } catch (response) { + // Assert + expect(spyApp.validateFilter).toHaveBeenCalledWith(testData.filters[0]); + expect(spyApp.setFilters).not.toHaveBeenCalled(); + expect(response.statusCode).toEqual(400); + + } + }); + + it('PUT /report/pages/xyz/visuals/uvw/filters returns 202 if request is valid', async function () { + // Arrange + const testData = { + uniqueId: 'uniqueId', + filters: [ + { + name: "fakeFilter" + } + ], + }; + + spyApp.validateFilter.and.returnValue(Promise.resolve(null)); + + // Act + const response = await hpm.put('/report/pages/xyz/visuals/uvw/filters', testData.filters, { uid: testData.uniqueId }); + // Assert + expect(spyApp.validateFilter).toHaveBeenCalledWith(testData.filters[0]); + expect(spyApp.setFilters).toHaveBeenCalledWith(testData.filters); + expect(response.statusCode).toEqual(202); + }); + + it('PUT /report/:uniqueId/pages/xyz/visuals/uvw/filters will cause POST /reports/:uniqueId/pages/xyz/visuals/uvw/events/filtersApplied', async function () { + // Arrange + const testData = { + uniqueId: 'uniqueId', + filters: [ + { + name: "fakeFilter" + } + ] + }; + const testExpectedEvent = { + method: 'POST', + url: `/reports/${testData.uniqueId}/pages/xyz/visuals/uvw/events/filtersApplied` + }; + // Act + try { + const response = await hpm.put('/report/pages/xyz/visuals/uvw/filters', testData.filters, { uid: testData.uniqueId }); + // Assert + expect(spyApp.validateFilter).toHaveBeenCalledWith(testData.filters[0]); + expect(spyApp.setFilters).toHaveBeenCalledWith(testData.filters); + expect(response.statusCode).toEqual(202); + expect(spyHandler.handle).toHaveBeenCalledWith(jasmine.objectContaining(testExpectedEvent)); + } catch (error) { + console.log("hpm.put failed with", error); + fail("hpm.put failed"); + } + }); + }); + + describe('settings', function () { + it('PATCH /report/settings returns 400 if request is invalid', async function () { + // Arrange + const testData = { + settings: { + filterPaneEnabled: false, + navContentPaneEnabled: false + } + }; + + spyApp.validateSettings.and.callFake(() => Promise.reject(null)); + + // Act + try { + await hpm.patch('/report/settings', testData.settings); + + } catch (response) { + // Assert + expect(spyApp.validateSettings).toHaveBeenCalledWith(testData.settings); + expect(spyApp.updateSettings).not.toHaveBeenCalled(); + expect(response.statusCode).toEqual(400); + } + }); + + it('PATCH /report/settings returns 202 if request is valid', async function () { + // Arrange + const testData = { + settings: { + filterPaneEnabled: false, + navContentPaneEnabled: false + } + }; + + spyApp.validateSettings.and.returnValue(Promise.resolve(null)); + + // Act + const response = await hpm.patch('/report/settings', testData.settings); + // Assert + expect(spyApp.validateSettings).toHaveBeenCalledWith(testData.settings); + expect(spyApp.updateSettings).toHaveBeenCalledWith(testData.settings); + expect(response.statusCode).toEqual(202); + }); + + it('PATCH /report/settings causes POST /reports/:uniqueId/events/settingsUpdated', async function () { + // Arrange + const testData = { + uniqueId: 'uniqueId', + reportId: 'fakeReportId', + settings: { + filterPaneEnabled: false + } + }; + const testExpectedEvent = { + method: 'POST', + url: `/reports/${testData.uniqueId}/events/settingsUpdated`, + body: { + initiator: 'sdk', + settings: { + filterPaneEnabled: false, + navContentPaneEnabled: false + } + } + }; + + spyApp.validateSettings.and.returnValue(Promise.resolve(null)); + spyApp.updateSettings.and.returnValue(Promise.resolve(testExpectedEvent.body.settings)); + + // Act + const response = await hpm.patch('/report/settings', testData.settings, { uid: testData.uniqueId }); + // Assert + expect(spyApp.validateSettings).toHaveBeenCalledWith(testData.settings); + expect(spyApp.updateSettings).toHaveBeenCalledWith(testData.settings); + expect(response.statusCode).toEqual(202); + expect(spyHandler.handle).toHaveBeenCalledWith(jasmine.objectContaining(testExpectedEvent)); + }); + }); + + describe('MockApp-to-HPM', function () { + describe('pages', function () { + it('POST /reports/:uniqueId/events/pageChanged when user changes page', async function () { + // Arrange + const testData = { + uniqueId: 'uniqueId', + reportId: 'fakeReportId', + event: { + initiator: 'user', + newPage: { + name: "fakePageName" + } + } + }; + const testExpectedRequest = { + method: 'POST', + url: `/reports/${testData.uniqueId}/events/pageChanged`, + body: testData.event + }; + // Act + const response = await iframeHpm.post(testExpectedRequest.url, testData.event); + // Assert + expect(response.statusCode).toBe(202); + expect(spyHandler.handle).toHaveBeenCalledWith(jasmine.objectContaining(testExpectedRequest)); + + }); + }); + + describe('filters (report level)', function () { + it('POST /reports/:uniqueId/events/filtersApplied when user changes filter', async function () { + // Arrange + const testData = { + uniqueId: 'uniqueId', + reportId: 'fakeReportId', + event: { + initiator: 'user', + filters: [ + { + name: "fakeFilter" + } + ] + } + }; + const testExpectedRequest = { + method: 'POST', + url: `/reports/${testData.uniqueId}/events/filtersApplied`, + body: testData.event + }; + // Act + const response = await iframeHpm.post(testExpectedRequest.url, testData.event); + // Assert + expect(response.statusCode).toBe(202); + expect(spyHandler.handle).toHaveBeenCalledWith(jasmine.objectContaining(testExpectedRequest)); + }); + + describe('filters (page level)', function () { + it('POST /reports/:uniqueId/pages/xyz/events/filtersApplied when user changes filter', async function () { + // Arrange + const testData = { + uniqueId: 'uniqueId', + reportId: 'fakeReportId', + event: { + initiator: 'user', + filters: [ + { + name: "fakeFilter" + } + ] + } + }; + const testExpectedRequest = { + method: 'POST', + url: `/reports/${testData.uniqueId}/pages/xyz/events/filtersApplied`, + body: testData.event + }; + // Act + const response = await iframeHpm.post(testExpectedRequest.url, testData.event); + // Assert + expect(response.statusCode).toBe(202); + expect(spyHandler.handle).toHaveBeenCalledWith(jasmine.objectContaining(testExpectedRequest)); + }); + }); + + describe('filters (visual level)', function () { + it('POST /reports/:uniqueId/pages/xyz/visuals/uvw/events/filtersApplied when user changes filter', async function () { + // Arrange + const testData = { + uniqueId: 'uniqueId', + reportId: 'fakeReportId', + event: { + initiator: 'user', + filters: [ + { + name: "fakeFilter" + } + ] + } + }; + const testExpectedRequest = { + method: 'POST', + url: `/reports/${testData.uniqueId}/pages/xyz/visuals/uvw/events/filtersApplied`, + body: testData.event + }; + + // Act + const response = await iframeHpm.post(testExpectedRequest.url, testData.event); + // Assert + expect(response.statusCode).toBe(202); + expect(spyHandler.handle).toHaveBeenCalledWith(jasmine.objectContaining(testExpectedRequest)); + }); + }); + + describe('settings', function () { + it('POST /reports/:uniqueId/events/settingsUpdated when user changes settings', async function () { + // Arrange + const testData = { + uniqueId: 'uniqueId', + reportId: 'fakeReportId', + event: { + initiator: 'user', + settings: { + navContentPaneEnabled: true + } + } + }; + const testExpectedRequest = { + method: 'POST', + url: `/reports/${testData.uniqueId}/events/settingsUpdated`, + body: testData.event + }; + // Act + const response = await iframeHpm.post(testExpectedRequest.url, testData.event); + // Assert + expect(response.statusCode).toBe(202); + expect(spyHandler.handle).toHaveBeenCalledWith(jasmine.objectContaining(testExpectedRequest)); + }); + }); + + describe('data selection', function () { + it('POST /reports/:uniqueId/events/dataSelected when user selects data', async function () { + // Arrange + const testData = { + uniqueId: 'uniqueId', + reportId: 'fakeReportId', + event: { + initiator: 'user', + selection: { + data: true + } + } + }; + const testExpectedRequest = { + method: 'POST', + url: `/reports/${testData.uniqueId}/events/dataSelected`, + body: testData.event + }; + // Act + const response = await iframeHpm.post(testExpectedRequest.url, testData.event); + // Assert + expect(response.statusCode).toBe(202); + expect(spyHandler.handle).toHaveBeenCalledWith(jasmine.objectContaining(testExpectedRequest)); + }); + }); + }); + }); +}); diff --git a/test/service.spec.ts b/test/service.spec.ts new file mode 100644 index 00000000..afb81dc7 --- /dev/null +++ b/test/service.spec.ts @@ -0,0 +1,1044 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. + +import * as service from '../src/service'; +import * as embed from '../src/embed'; +import * as report from '../src/report'; +import * as create from '../src/create'; +import * as factories from '../src/factories'; +import { EmbedUrlNotSupported } from '../src/errors'; + +// Todo: remove JQuery usage from this tests file. + +function ValidateDashboardConfigurationWorksAsExpected(pageView: string, exceptionExpected: boolean, powerbi: service.Service): void { + const embedUrl = `https://app.powerbi.com/dashboardEmbed`; + const component = $(`
`) + .appendTo('#powerbi-fixture'); + + const dashboardEmbedConfig = { + type: "dashboard", + id: "fakeReportId", + groupId: "fakeGroupId", + accessToken: "fakeAccessToken", + embedUrl: "fakeEmbedUrl", + pageView: pageView + }; + + let exceptionThrown = false; + // Act + try { + powerbi.embed(component[0], dashboardEmbedConfig); + } + catch (e) { + exceptionThrown = true; + } + + // Assert + expect(exceptionThrown).toBe(exceptionExpected); +} + +describe('service', function () { + let powerbi: service.Service; + let element: HTMLDivElement; + + beforeEach(function () { + powerbi = new service.Service(factories.hpmFactory, factories.wpmpFactory, factories.routerFactory); + powerbi.accessToken = 'ABC123'; + element = document.createElement('div'); + element.id = 'powerbi-fixture'; + document.body.appendChild(element); + }); + + afterEach(function () { + element.remove(); + powerbi.wpmp.stop(); + }); + + it('is defined', function () { + expect(powerbi).toBeDefined(); + }); + + describe('init', function () { + it('embeds all components found in the DOM', 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); + }); + + it('embeds all components found in the DOM without id attribute', 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); + }); + + it('embeds all components found in the DOM with duplicate id attribute', 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); + }); + }); + + describe('get', function () { + it('if attempting to get a powerbi component on an element which was not embedded, throw an error', function () { + // Arrange + const $component = $('
'); + + // Act + const attemptGet = (): void => { + powerbi.get($component[0]); + }; + + // Assert + expect(attemptGet).toThrowError(Error); + }); + + it('calling get on element with embeded report component returns the instance', function () { + // Arrange + const $element = $('
') + .appendTo('#powerbi-fixture'); + + const componentInstance = powerbi.embed($element[0]); + + // Act + const componentInstance2 = powerbi.get($element[0]); + + // Assert + expect(componentInstance).toEqual(componentInstance2); + }); + + it('calling get on element with embeded dashboard component returns the instance', function () { + // Arrange + const $element = $('
') + .appendTo('#powerbi-fixture'); + + const componentInstance = powerbi.embed($element[0]); + + // Act + const componentInstance2 = powerbi.get($element[0]); + + // Assert + expect(componentInstance).toEqual(componentInstance2); + }); + }); + + describe('embed', function () { + it('if attempting to embed without specifying a type, throw error', function () { + // Arrange + const component = $('
') + .appendTo('#powerbi-fixture'); + + // Act + const attemptEmbed = (): void => { + powerbi.embed(component[0]); + }; + + // Assert + expect(attemptEmbed).toThrowError(Error); + }); + + it('if attempting to embed with an unknown type, throw error', function () { + // Arrange + const component = $('
') + .appendTo('#powerbi-fixture'); + + // Act + const attemptEmbed = (): void => { + powerbi.embed(component[0]); + }; + + // Assert + expect(attemptEmbed).toThrowError(Error); + }); + + it('if attempting to embed on existing element with different type than previous embed, throw error', function () { + // Arrange + const component = $('
') + .appendTo('#powerbi-fixture'); + + const reportEmbedConfig: embed.IEmbedConfiguration = { + type: "report", + id: "fakeReportId", + accessToken: "fakeAccessToken", + embedUrl: "fakeEmbedUrl", + groupId: "fakeGroupId", + }; + + const dashboardEmbedConfig: embed.IEmbedConfiguration = { + type: "dashboard", + id: "fakeDashboardId", + accessToken: "fakeAccessToken", + embedUrl: "fakeEmbedUrl", + groupId: "fakeGroupId" + }; + + powerbi.embed(component[0], reportEmbedConfig); + + // Act + const attemptEmbed = (): void => { + powerbi.embed(component[0], dashboardEmbedConfig); + }; + + // Assert + expect(attemptEmbed).toThrowError(Error); + }); + + it('if Create is already embedded in element re-use the existing component by calling load with the new information', function () { + // Arrange + const $element = $('
') + .appendTo('#powerbi-fixture'); + + const testConfiguration = { + accessToken: "fakeAccessToken", + embedUrl: 'fakeUrl', + id: 'report2', + type: 'report', + groupId: "fakeGroupId" + }; + + const createConfig: embed.IEmbedConfiguration = { + datasetId: "fakeDashboardId", + accessToken: "fakeAccessToken", + embedUrl: "fakeEmbedUrl", + groupId: "fakeGroupId" + }; + + // Act + const component = powerbi.createReport($element[0], createConfig); + const component2 = powerbi.embed($element[0], testConfiguration); + const component3 = powerbi.get($element[0]); + + // Assert + expect(component).toBeDefined(); + expect(component2).toBeDefined(); + expect(component2).toBe(component3); + }); + + it('Create embed url with correct locale parameters', function () { + // Arrange + const $reportContainer = $('
') + .appendTo('#powerbi-fixture'); + + const testConfiguration: embed.IEmbedConfiguration = { + accessToken: "fakeAccessToken", + embedUrl: 'fakeUrl?reportId=1', + id: 'report2', + type: 'report', + settings: { + localeSettings: { + language: 'languageName', + formatLocale: 'formatName' + } + }, + groupId: "fakeGroupId", + uniqueId: "fakeUid", + }; + + powerbi.embed($reportContainer[0], testConfiguration); + let iframe = $reportContainer.find('iframe'); + expect(iframe.attr('src')).toEqual('fakeUrl?reportId=1&language=languageName&formatLocale=formatName&uid=fakeUid'); + }); + + it('if attempting to embed without specifying an embed url, throw error', function () { + // Arrange + const component = $('
') + .appendTo('#powerbi-fixture'); + + // Act + const attemptEmbed = (): void => { + const configuration: embed.IEmbedConfiguration = { type: "report", embedUrl: null, accessToken: null, id: null }; + powerbi.embed(component[0], configuration); + }; + + // Assert + expect(attemptEmbed).toThrowError(Error); + }); + + it('if attempting to embed without specifying an access token, throw error', function () { + // Arrange + const component = $('
') + .appendTo('#powerbi-fixture'); + + const originalToken = powerbi.accessToken; + powerbi.accessToken = undefined; + + // Act + const attemptEmbed = (): void => { + const configuration: embed.IEmbedConfiguration = { type: "report", embedUrl: null, accessToken: null, id: null }; + powerbi.embed(component[0], configuration); + }; + + // Assert + expect(attemptEmbed).toThrowError(Error); + + // Cleanup + powerbi.accessToken = originalToken; + }); + + it('if attempting to embed without specifying an id, throw error', function () { + // Arrange + const embedUrl = `https://embedded.powerbi.com/appTokenReportEmbed`; + const $reportContainer = $(`
`) + .appendTo('#powerbi-fixture'); + + // Act + const attemptToEmbed = (): void => { + powerbi.embed($reportContainer[0]); + }; + + // Assert + expect(attemptToEmbed).toThrowError(); + }); + + it('if attempting to embed a dashboard with an invalid pageView, throw error', function () { + ValidateDashboardConfigurationWorksAsExpected("notValid", true, powerbi); + }); + + it('if attempting to embed a dashboard with a pageView equals fitToWidth, don\'t throw error', function () { + 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); + }); + + it('if attempting to embed a dashboard with a pageView equals actualSize, don\'t throw error', function () { + ValidateDashboardConfigurationWorksAsExpected("actualSize", false, powerbi); + }); + + it('if attempting to embed a dashboard with an undefined pageView, don\'t throw error', function () { + ValidateDashboardConfigurationWorksAsExpected(undefined, false, powerbi); + }); + + it('should get uqiqueId from config first', function () { + // Arrange + const testUniqueId = 'fakeUniqueId'; + const embedUrl = `https://embedded.powerbi.com/appTokenReportEmbed`; + const $reportContainer = $(`
`) + .appendTo('#powerbi-fixture'); + + // Act + const report = powerbi.embed($reportContainer[0], { uniqueId: testUniqueId }); + + // Assert + expect(report.config.uniqueId).toEqual(testUniqueId); + }); + + it('should get uqiqueId from name attribute if uniqueId is not specified in config', function () { + // Arrange + const testUniqueId = 'fakeUniqueId'; + const embedUrl = `https://embedded.powerbi.com/appTokenReportEmbed`; + const $reportContainer = $(`
`) + .appendTo('#powerbi-fixture'); + + // Act + const report = powerbi.embed($reportContainer[0]); + + // Assert + expect(report.config.uniqueId).toEqual(testUniqueId); + }); + + it('should generate uqiqueId if uniqueId is not specified in config or attribute', function () { + // Arrange + const embedUrl = `https://embedded.powerbi.com/appTokenReportEmbed`; + const $reportContainer = $(`
`) + .appendTo('#powerbi-fixture'); + + // Act + const report = powerbi.embed($reportContainer[0]); + + // Assert + expect(report.config.uniqueId).toEqual(jasmine.any(String)); + }); + + it('should get group id from configuration first', function () { + // Arrange + const testGroupId = "ABC123"; + const embedUrl = `https://embedded.powerbi.com/appTokenReportEmbed?groupId=DIFFERENTID`; + const $reportContainer = $(`
`) + .appendTo('#powerbi-fixture'); + + const configuration: embed.IEmbedConfiguration = { id: 'fakeId', groupId: testGroupId }; + + // Act + const report = powerbi.embed($reportContainer[0], configuration); + + // Assert + expect((report.config).groupId).toEqual(testGroupId); + }); + + it('should get groupId from embeddUrl is not specified in config', function () { + // Arrange + const embedUrl = `https://embedded.powerbi.com/appTokenReportEmbed?groupId=DIFFERENTID`; + const $reportContainer = $(`
`) + .appendTo('#powerbi-fixture'); + + const configuration: embed.IEmbedConfiguration = { id: 'fakeId' }; + + // Act + const report = powerbi.embed($reportContainer[0], configuration); + + // Assert + expect((report.config).groupId).toEqual('DIFFERENTID'); + }); + + it('should get groupId undefined if not specified in embeddUrl or config', function () { + // Arrange + const embedUrl = `https://embedded.powerbi.com/appTokenReportEmbed?reportId=fakeId`; + const $reportContainer = $(`
`) + .appendTo('#powerbi-fixture'); + + const configuration: embed.IEmbedConfiguration = { id: 'fakeId' }; + + // Act + const report = powerbi.embed($reportContainer[0], configuration); + + // Assert + expect((report.config).groupId).toBeUndefined(); + }); + + it('should get filterPaneEnabled setting from attribute from config and then attribute', function () { + // Arrange + const embedUrl = `https://embedded.powerbi.com/appTokenReportEmbed`; + const $reportContainer = $(`
`) + .appendTo('#powerbi-fixture'); + + // Act + const report = powerbi.embed($reportContainer[0]); + + // Assert + expect(report.config.settings.filterPaneEnabled).toEqual(false); + }); + + it('should get navContentPaneEnabled setting from attribute from config and then attribute', function () { + // Arrange + const embedUrl = `https://embedded.powerbi.com/appTokenReportEmbed`; + const $reportContainer = $(`
`) + .appendTo('#powerbi-fixture'); + + // Act + const report = powerbi.embed($reportContainer[0]); + + // Assert + expect(report.config.settings.navContentPaneEnabled).toEqual(false); + }); + + it('if component is already embedded in element re-use the existing component by calling load with the new information', function () { + // Arrange + const $element = $('
') + .appendTo('#powerbi-fixture'); + + const component = powerbi.embed($element[0]); + spyOn(component, "load"); + + const testConfiguration: embed.IEmbedConfiguration = { + accessToken: "fakeToken", + embedUrl: 'fakeUrl', + id: 'report2', + }; + + // Act + const component2 = powerbi.embed($element[0], testConfiguration); + + const actualConfig = component2.config; + + // Assert + expect(component.load).toHaveBeenCalled(); + expect(actualConfig.accessToken).toEqual(testConfiguration.accessToken); + expect(actualConfig.embedUrl).toEqual(testConfiguration.embedUrl); + expect(actualConfig.id).toEqual(testConfiguration.id); + + expect(component2).toBe(component); + }); + + it('if report embed component was not previously created, creates an instance and return it', function () { + // Arrange + let component = $('
') + .appendTo('#powerbi-fixture'); + + // Act + let report = powerbi.embed(component[0]); + + // Assert + expect(report).toBeDefined(); + }); + + it('if dashboard embed component was not previously created, creates an instance and return it', function () { + // Arrange + let component = $('
') + .appendTo('#powerbi-fixture'); + + // Act + let dashboard = powerbi.embed(component[0]); + + // Assert + expect(dashboard).toBeDefined(); + }); + + it("looks for a token first from attribute 'powerbi-access-token'", function () { + // Arrange + let embedUrl = 'https://embedded.powerbi.com/appTokenReportEmbed?reportId=ABC123'; + let testToken = "fakeToken1"; + let $reportContainer = $(`
`) + .appendTo('#powerbi-fixture'); + + // Act + powerbi.embed($reportContainer[0]); + + // Assert + let report = powerbi.get($reportContainer[0]); + let accessToken = report.config.accessToken; + + expect(accessToken).toEqual(testToken); + }); + + it("if token is not found by attribute 'powerbi-access-token', fallback to using global", function () { + // Arrange + let embedUrl = 'https://embedded.powerbi.com/appTokenReportEmbed?reportId=ABC123'; + let testToken = "fakeToken1"; + let $reportContainer = $(`
`) + .appendTo('#powerbi-fixture'); + + let originalToken = powerbi.accessToken; + powerbi.accessToken = testToken; + + // Act + powerbi.embed($reportContainer[0]); + + // Assert + let report = powerbi.get($reportContainer[0]); + let accessToken = report.config.accessToken; + + expect(accessToken).toEqual(testToken); + + // Cleanup + powerbi.accessToken = originalToken; + }); + + describe('createReport', function () { + const embedUrl = `https://embedded.powerbi.com/appTokenReportEmbed`; + const accessToken = 'ABC123'; + + it('if attempting to createReport without specifying an embed url, throw error', function () { + // Arrange + const component = $('
') + .appendTo('#powerbi-fixture'); + + // Act + const attemptCreate = (): void => { + powerbi.createReport(component[0], { embedUrl: null, accessToken: accessToken, datasetId: '123' }); + }; + + // Assert + expect(attemptCreate).toThrowError(Error); + }); + + it('if attempting to createReport without specifying an access token, throw error', function () { + // Arrange + const component = $('
') + .appendTo('#powerbi-fixture'); + + const originalToken = powerbi.accessToken; + powerbi.accessToken = undefined; + + // Act + const attemptCreate = (): void => { + powerbi.createReport(component[0], { embedUrl: embedUrl, accessToken: null, datasetId: '123' }); + }; + + // Assert + expect(attemptCreate).toThrowError(Error); + + // Cleanup + powerbi.accessToken = originalToken; + }); + + it('if attempting to createReport without specifying an datasetId, throw error', function () { + // Arrange + const $reportContainer = $(`
`) + .appendTo('#powerbi-fixture'); + + // Act + const attemptCreate = (): void => { + powerbi.createReport($reportContainer[0], { embedUrl: embedUrl, accessToken: accessToken }); + }; + + // Assert + expect(attemptCreate).toThrowError(); + }); + + }); + + describe('findIdFromEmbedUrl of Create', function () { + it('should return value of datasetId query parameter in embedUrl', function () { + // Arrange + const testDatasetId = "ABC123"; + const testEmbedUrl = `http://embedded.powerbi.com/appTokenReportEmbed?datasetId=${testDatasetId}`; + + // Act + const datasetId = create.Create.findIdFromEmbedUrl(testEmbedUrl); + + // Assert + expect(datasetId).toEqual(testDatasetId); + }); + + it('should return undefinded if the datasetId parameter is not in the url', function () { + // Arrange + const testEmbedUrl = `http://embedded.powerbi.com/appTokenReportEmbed`; + + // Act + const datasetId = create.Create.findIdFromEmbedUrl(testEmbedUrl); + + // Assert + expect(datasetId).toBeUndefined(); + }); + + it('should get datasetId from configuration first', function () { + // Arrange + const testDatasetId = "ABC123"; + const accessToken = 'ABC123'; + const embedUrl = `https://embedded.powerbi.com/appTokenReportEmbed?datasetId=DIFFERENTID`; + const $reportContainer = $(`
`) + .appendTo('#powerbi-fixture'); + + // Act + const report = powerbi.createReport($reportContainer[0], { embedUrl: embedUrl, accessToken: accessToken, datasetId: testDatasetId }); + + // Assert + expect(report.createConfig.datasetId).toEqual(testDatasetId); + }); + + it('should fallback to using datasetId from embedUrl if not supplied in create configuration', function () { + // Arrange + const testDatasetId = "ABC123"; + const accessToken = 'ABC123'; + const embedUrl = `https://embedded.powerbi.com/appTokenReportEmbed?datasetId=${testDatasetId}`; + const $reportContainer = $(`
`) + .appendTo('#powerbi-fixture'); + + // Act + const report = powerbi.createReport($reportContainer[0], { embedUrl: embedUrl, accessToken: accessToken }); + + // Assert + expect(report.createConfig.datasetId).toEqual(testDatasetId); + }); + + it('theme should be in create config if exists is embedConfig', function () { + // Arrange + + const testDatasetId = "ABC123"; + const accessToken = 'ABC123'; + const theme = { themeJson: { name: "Theme ABC 123" } }; + const embedUrl = `https://app.powerbi.com/reportEmbed?datasetId=${testDatasetId}`; + const $reportContainer = $(`
`) + .appendTo('#powerbi-fixture'); + + // Act + const report = powerbi.createReport($reportContainer[0], { embedUrl: embedUrl, accessToken: accessToken, theme: theme }); + + // Assert + expect(report.createConfig.theme).toEqual(theme); + }); + + it('theme should be undefined in create config if not exists is embedConfig', function () { + // Arrange + + const testDatasetId = "ABC123"; + const accessToken = 'ABC123'; + const embedUrl = `https://app.powerbi.com/reportEmbed?datasetId=${testDatasetId}`; + const $reportContainer = $(`
`) + .appendTo('#powerbi-fixture'); + + // Act + const report = powerbi.createReport($reportContainer[0], { embedUrl: embedUrl, accessToken: accessToken }); + + // Assert + expect(report.createConfig.theme).toBeUndefined(); + }); + }); + + describe('reports', function () { + it('creates report iframe from embedUrl', function () { + // Arrange + let embedUrl = 'https://embedded.powerbi.com/appTokenReportEmbed?reportId=ABC123'; + let $reportContainer = $(`
`) + .appendTo('#powerbi-fixture'); + + // Act + powerbi.embed($reportContainer[0], { uniqueId: "fakeUid" }); + + // Assert + let iframe = $reportContainer.find('iframe'); + expect(iframe.length).toEqual(1); + expect(iframe.attr('src')).toEqual(embedUrl + "&uid=fakeUid"); + }); + + describe('findIdFromEmbedUrl', function () { + it('should return value of reportId query parameter in embedUrl', function () { + // Arrange + const testReportId = "ABC123"; + const testEmbedUrl = `http://embedded.powerbi.com/appTokenReportEmbed?reportId=${testReportId}`; + + // Act + const reportId = report.Report.findIdFromEmbedUrl(testEmbedUrl); + + // Assert + expect(reportId).toEqual(testReportId); + }); + + it('should return undefinded if the query parameter is not in the url', function () { + // Arrange + const testEmbedUrl = `http://embedded.powerbi.com/appTokenReportEmbed`; + + // Act + const reportId = report.Report.findIdFromEmbedUrl(testEmbedUrl); + + // Assert + expect(reportId).toBeUndefined(); + }); + }); + + it('should get report id from configuration first', function () { + // Arrange + const testReportId = "ABC123"; + const embedUrl = `https://embedded.powerbi.com/appTokenReportEmbed?reportId=DIFFERENTID`; + const $reportContainer = $(`
`) + .appendTo('#powerbi-fixture'); + + const configuration: embed.IEmbedConfiguration = { id: testReportId }; + + // Act + const report = powerbi.embed($reportContainer[0], configuration); + + // Assert + expect((report.config).id).toEqual(testReportId); + }); + + it('should fallback to using id from attribute if not supplied in embed/load configuration', function () { + // Arrange + const testReportId = "ABC123"; + const embedUrl = `https://embedded.powerbi.com/appTokenReportEmbed?reportId=DIFFERENTID`; + const $reportContainer = $(`
`) + .appendTo('#powerbi-fixture'); + + // Act + const report = powerbi.embed($reportContainer[0]); + const config: embed.IEmbedConfiguration = report.config; + // Assert + expect(config.id).toEqual(testReportId); + }); + + it('should fallback to using id from embedUrl if not supplied in embed/load configuration or attribute', function () { + // Arrange + const testReportId = "ABC123"; + const embedUrl = `https://embedded.powerbi.com/appTokenReportEmbed?reportId=${testReportId}`; + const $reportContainer = $(`
`) + .appendTo('#powerbi-fixture'); + + // Act + const report = powerbi.embed($reportContainer[0]); + + // Assert + expect((report.config).id).toEqual(testReportId); + }); + + it('theme should be in report config if exists is embedConfig', function () { + // Arrange + const testReportId = "ABC123"; + const embedUrl = `https://app.powerbi.com/reportEmbed?reportId=${testReportId}`; + const $reportContainer = $(`
`) + .appendTo('#powerbi-fixture'); + + const theme = { themeJson: { name: "Theme ABC 123" } }; + const configuration: embed.IEmbedConfiguration = { theme: theme }; + + // Act + const report = powerbi.embed($reportContainer[0], configuration); + + // Assert + expect((report.config).theme).toEqual(theme); + }); + + it('theme should be undefined in report config if not exists is embedConfig', function () { + // Arrange + const testReportId = "ABC123"; + const embedUrl = `https://app.powerbi.com/reportEmbed?reportId=${testReportId}`; + const $reportContainer = $(`
`) + .appendTo('#powerbi-fixture'); + + const configuration: embed.IEmbedConfiguration = {}; + + // Act + const report = powerbi.embed($reportContainer[0], configuration); + + // Assert + expect((report.config).theme).toBeUndefined(); + }); + }); + + describe('tiles', function () { + it('creates tile iframe from embedUrl', function () { + // Arrange + let embedUrl = 'https://app.powerbi.com/embed?dashboardId=D1&tileId=T1'; + let $tileContainer = $('
') + .appendTo('#powerbi-fixture'); + + // Act + powerbi.embed($tileContainer[0], { dashboardId: "D1", embedUrl: embedUrl }); + + // Assert + let iframe = $tileContainer.find('iframe'); + expect(iframe.length).toEqual(1); + expect(iframe.attr('src').indexOf(embedUrl)).toEqual(0); + }); + }); + }); + + describe('bootstrap', function () { + it('if attempting to bootstrap without specifying a type, throw error', function () { + // Arrange + const component = $('
') + .appendTo('#powerbi-fixture'); + + // Act + const attemptEmbed = (): void => { + powerbi.bootstrap(component[0], {}); + }; + + // Assert + expect(attemptEmbed).toThrowError(Error); + }); + + it('if attempting to bootstrap with an unknown type, throw error', function () { + // Arrange + const component = $('
') + .appendTo('#powerbi-fixture'); + + // Act + const attemptEmbed = (): void => { + powerbi.bootstrap(component[0], {}); + }; + + // Assert + expect(attemptEmbed).toThrowError(Error); + }); + + it('if attempting to bootstrap on existing element, throw error', function () { + // Arrange + const component = $('
') + .appendTo('#powerbi-fixture'); + + const reportEmbedConfig: embed.IEmbedConfiguration = { + type: "report", + id: "fakeReportId", + accessToken: "fakeAccessToken", + embedUrl: "fakeEmbedUrl", + groupId: "fakeGroupId", + }; + + const reportEmbedConfig2: embed.IEmbedConfiguration = { + type: "report", + id: "fakeReportId2", + accessToken: "fakeAccessToken", + embedUrl: "fakeEmbedUrl", + groupId: "fakeGroupId" + }; + + powerbi.embed(component[0], reportEmbedConfig); + + // Act + const attemptBootstrap = (): void => { + powerbi.bootstrap(component[0], reportEmbedConfig2); + }; + + // Assert + expect(attemptBootstrap).toThrowError(Error); + }); + + it('powerbi.embed should use the same iframe is already embedded with powerbi.bootstrap', function () { + // Arrange + const $element = $('
') + .appendTo('#powerbi-fixture'); + + const testConfiguration = { + accessToken: "fakeAccessToken", + embedUrl: 'fakeUrl', + id: 'report2', + type: 'report', + groupId: "fakeGroupId" + }; + + // Act + const component = powerbi.bootstrap($element[0], { + type: 'report', + embedUrl: 'fakeUrl2', + }); + + const component2 = powerbi.embed($element[0], testConfiguration); + const component3 = powerbi.get($element[0]); + + // Assert + expect(component).toBeDefined(); + expect(component2).toBeDefined(); + expect(component2).toBe(component3); + }); + + it('powerbi.bootstrap url with correct locale parameters', function () { + // Arrange + const $reportContainer = $('
') + .appendTo('#powerbi-fixture'); + + const testConfiguration: embed.IEmbedConfiguration = { + embedUrl: 'fakeUrl?reportId=1', + id: 'report2', + type: 'report', + settings: { + localeSettings: { + language: 'languageName', + formatLocale: 'formatName' + } + }, + uniqueId: "fakeUid", + }; + + powerbi.bootstrap($reportContainer[0], testConfiguration); + let 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 + }; + + let 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 () { + // Arrange + const $element = $('
'); + + const config: embed.IEmbedConfiguration = { + type: 'report', + embedUrl: 'fakeUrl', + id: 'fakeId', + accessToken: 'fakeToken' + }; + + powerbi.embed($element.get(0), config); + + // Act + expect(($element.get(0)).powerBiEmbed).toBeDefined(); + powerbi.reset($element.get(0)); + + // Assert + expect(($element.get(0)).powerBiEmbed).toBeUndefined(); + }); + + it('clears the innerHTML of the element', function () { + // Arrange + const $element = $('
'); + + const config: embed.IEmbedConfiguration = { + type: 'report', + embedUrl: 'fakeUrl', + id: 'fakeReportId', + accessToken: 'fakeToken' + }; + + powerbi.embed($element.get(0), config); + + // Act + let iframe = $element.find('iframe'); + expect(iframe.length).toEqual(1); + powerbi.reset($element.get(0)); + + // Assert + expect($element.html()).toEqual(''); + }); + + it('removes the powerbi instance from the list of embeds', function () { + // Arrange + const $element = $('
'); + const testEmbedConfig = { + type: 'report', + embedUrl: 'fakeUrl', + id: 'fakeReportId', + accessToken: 'fakeToken', + uniqueId: 'fakeUniqeId' + }; + powerbi.embed($element.get(0), testEmbedConfig); + + // Act + const report = powerbi.find(testEmbedConfig.uniqueId); + expect(report).toBeDefined(); + + powerbi.reset($element.get(0)); + + // Assert + const report2 = powerbi.find(testEmbedConfig.uniqueId); + expect(report2).toBeUndefined(); + }); + }); +}); diff --git a/test/test.spec.ts b/test/test.spec.ts index 30efaa66..2817e801 100644 --- a/test/test.spec.ts +++ b/test/test.spec.ts @@ -1,6166 +1,68 @@ // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. -import * as utils from '../src/util'; import * as service from '../src/service'; -import * as embed from '../src/embed'; -import * as report from '../src/report'; -import * as visual from '../src/visual'; -import * as create from '../src/create'; -import * as dashboard from '../src/dashboard'; -import * as page from '../src/page'; -import * as sdkConfig from '../src/config'; -import * as visualDescriptor from '../src/visualDescriptor'; -import * as Wpmp from 'window-post-message-proxy'; -import * as Hpm from 'http-post-message'; -import * as Router from 'powerbi-router'; -import * as models from 'powerbi-models'; -import { spyApp, setupEmbedMockApp } from './utility/mockEmbed'; import * as factories from '../src/factories'; -import { spyWpmp } from './utility/mockWpmp'; -import { spyHpm } from './utility/mockHpm'; -import { spyRouter } from './utility/mockRouter'; -import * as util from '../src/util'; -import { APINotSupportedForRDLError, EmbedUrlNotSupported } from '../src/errors' // Avoid adding new tests to this file, create another spec file instead. -declare global { - interface Window { - __karma__: any; - } -} - -function ValidateDashboardConfigurationWorksAsExpected(pageView: string, exceptionExpected: boolean, powerbi: service.Service) { - const embedUrl = `https://app.powerbi.com/dashboardEmbed`; - const component = $(`
`) - .appendTo('#powerbi-fixture'); - - const dashboardEmbedConfig = { - type: "dashboard", - id: "fakeReportId", - groupId: "fakeGroupId", - accessToken: "fakeAccessToken", - embedUrl: "fakeEmbedUrl", - pageView: pageView - }; - - var exceptionThrown = false; - // Act - try { - powerbi.embed(component[0], dashboardEmbedConfig); - } - catch (e) { - exceptionThrown = true; - } - - // Assert - expect(exceptionThrown).toBe(exceptionExpected); -} - -let logMessages = (window.__karma__.config.args[0] === 'logMessages'); - -describe('service', function () { +describe('embed', function () { let powerbi: service.Service; - let $element: JQuery; + let container: HTMLDivElement; + let iframe: HTMLIFrameElement; - beforeAll(function () { + beforeEach(function () { powerbi = new service.Service(factories.hpmFactory, factories.wpmpFactory, factories.routerFactory); powerbi.accessToken = 'ABC123'; - $element = $('
').appendTo(document.body); - }); + container = document.createElement('iframe'); + container.setAttribute("powerbi-embed-url", "https://app.powerbi.com/reportEmbed?reportId=ABC123"); + container.setAttribute("powerbi-type", "report"); + document.body.appendChild(container); - afterAll(function () { - $element.remove(); - powerbi.wpmp.stop(); + powerbi.embed(container); + iframe = container.getElementsByTagName('iframe')[0]; }); afterEach(function () { - $element.empty(); - }); - - it('is defined', function () { - expect(powerbi).toBeDefined(); + powerbi.reset(container); + container.remove(); + powerbi.wpmp.stop(); }); - describe('init', function () { - it('embeds all components found in the DOM', 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); - }); - - it('embeds all components found in the DOM without id attribute', 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); + describe('iframe', function () { + it('has a src', function () { + expect(iframe.src.length).toBeGreaterThan(0); }); - it('embeds all components found in the DOM with duplicate id attribute', 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); + it('disables scrollbars by default', function () { + expect(iframe.getAttribute('scrolling')).toEqual('no'); }); - }); - - describe('get', function () { - it('if attempting to get a powerbi component on an element which was not embedded, throw an error', function () { - // Arrange - const $component = $('
'); - // Act - const attemptGet = () => { - powerbi.get($component[0]); - }; - - // Assert - expect(attemptGet).toThrowError(Error); + it('sets width/height to 100%', function () { + expect(iframe.style.width).toEqual('100%'); + expect(iframe.style.height).toEqual('100%'); }); - - it('calling get on element with embeded report component returns the instance', function () { - // Arrange - const $element = $('
') - .appendTo('#powerbi-fixture'); - - const componentInstance = powerbi.embed($element[0]); - - // Act - const componentInstance2 = powerbi.get($element[0]); - - // Assert - expect(componentInstance).toEqual(componentInstance2); - }) - - it('calling get on element with embeded dashboard component returns the instance', function () { - // Arrange - const $element = $('
') - .appendTo('#powerbi-fixture'); - - const componentInstance = powerbi.embed($element[0]); - - // Act - const componentInstance2 = powerbi.get($element[0]); - - // Assert - expect(componentInstance).toEqual(componentInstance2); - }) }); - describe('embed', function () { - it('if attempting to embed without specifying a type, throw error', function () { - // Arrange - const component = $('
') - .appendTo('#powerbi-fixture'); - - // Act - const attemptEmbed = () => { - powerbi.embed(component[0]); - }; - - // Assert - expect(attemptEmbed).toThrowError(Error); - }); - - it('if attempting to embed with an unknown type, throw error', function () { - // Arrange - const component = $('
') - .appendTo('#powerbi-fixture'); - - // Act - const attemptEmbed = () => { - powerbi.embed(component[0]); - }; - - // Assert - expect(attemptEmbed).toThrowError(Error); - }); - - it('if attempting to embed on existing element with different type than previous embed, throw error', function () { - // Arrange - const component = $('
') - .appendTo('#powerbi-fixture'); - - const reportEmbedConfig: embed.IEmbedConfiguration = { - type: "report", - id: "fakeReportId", - accessToken: "fakeAccessToken", - embedUrl: "fakeEmbedUrl", - groupId: "fakeGroupId", - }; - - const dashboardEmbedConfig: embed.IEmbedConfiguration = { - type: "dashboard", - id: "fakeDashboardId", - accessToken: "fakeAccessToken", - embedUrl: "fakeEmbedUrl", - groupId: "fakeGroupId" - }; - - powerbi.embed(component[0], reportEmbedConfig); - - // Act - const attemptEmbed = () => { - powerbi.embed(component[0], dashboardEmbedConfig); - }; - - // Assert - expect(attemptEmbed).toThrowError(Error); - }); - - it('if Create is already embedded in element re-use the existing component by calling load with the new information', function () { - // Arrange - const $element = $('
') - .appendTo('#powerbi-fixture'); - - const testConfiguration = { - accessToken: "fakeAccessToken", - embedUrl: 'fakeUrl', - id: 'report2', - type: 'report', - groupId: "fakeGroupId" - }; - - const createConfig: embed.IEmbedConfiguration = { - datasetId: "fakeDashboardId", - accessToken: "fakeAccessToken", - embedUrl: "fakeEmbedUrl", - groupId: "fakeGroupId" - }; - - // Act - const component = powerbi.createReport($element[0], createConfig); - const component2 = powerbi.embed($element[0], testConfiguration); - const component3 = powerbi.get($element[0]); - - // Assert - //expect(component.createReport).toHaveBeenCalledWith(createConfig); - expect(component).toBeDefined(); - expect(component2).toBeDefined(); - expect(component2).toBe(component3); - }); - - it('Create embed url with correct locale parameters', function () { - // Arrange - const $reportContainer = $('
') - .appendTo('#powerbi-fixture'); - - const testConfiguration: embed.IEmbedConfiguration = { - accessToken: "fakeAccessToken", - embedUrl: 'fakeUrl?reportId=1', - id: 'report2', - type: 'report', - settings: { - localeSettings: { - language: 'languageName', - formatLocale: 'formatName' - } - }, - groupId: "fakeGroupId", - uniqueId: "fakeUid", - }; - - powerbi.embed($reportContainer[0], testConfiguration); - var iframe = $reportContainer.find('iframe'); - expect(iframe.attr('src')).toEqual('fakeUrl?reportId=1&language=languageName&formatLocale=formatName&uid=fakeUid'); - }); - - it('if attempting to embed without specifying an embed url, throw error', function () { - // Arrange - const component = $('
') - .appendTo('#powerbi-fixture'); - - // Act - const attemptEmbed = () => { - const configuration: embed.IEmbedConfiguration = { type: "report", embedUrl: null, accessToken: null, id: null }; - powerbi.embed(component[0], configuration); - }; - - // Assert - expect(attemptEmbed).toThrowError(Error); - }); - - it('if attempting to embed without specifying an access token, throw error', function () { - // Arrange - const component = $('
') - .appendTo('#powerbi-fixture'); - - const originalToken = powerbi.accessToken; - powerbi.accessToken = undefined; - - // Act - const attemptEmbed = () => { - const configuration: embed.IEmbedConfiguration = { type: "report", embedUrl: null, accessToken: null, id: null }; - powerbi.embed(component[0], configuration); - }; - - // Assert - expect(attemptEmbed).toThrowError(Error); - - // Cleanup - powerbi.accessToken = originalToken; - }); - - it('if attempting to embed without specifying an id, throw error', function () { - // Arrange - const embedUrl = `https://embedded.powerbi.com/appTokenReportEmbed`; - const $reportContainer = $(`
`) - .appendTo('#powerbi-fixture'); - - // Act - const attemptToEmbed = () => { - powerbi.embed($reportContainer[0]); - }; - - // Assert - expect(attemptToEmbed).toThrowError(); - }); - - it('if attempting to embed a dashboard with an invalid pageView, throw error', function () { - ValidateDashboardConfigurationWorksAsExpected("notValid", true, powerbi); - }); - - it('if attempting to embed a dashboard with a pageView equals fitToWidth, don\'t throw error', function () { - 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); - }); - - it('if attempting to embed a dashboard with a pageView equals actualSize, don\'t throw error', function () { - ValidateDashboardConfigurationWorksAsExpected("actualSize", false, powerbi); - }); - - it('if attempting to embed a dashboard with an undefined pageView, don\'t throw error', function () { - ValidateDashboardConfigurationWorksAsExpected(undefined, false, powerbi); - }); - - it('should get uqiqueId from config first', function () { - // Arrange - const testUniqueId = 'fakeUniqueId'; - const embedUrl = `https://embedded.powerbi.com/appTokenReportEmbed`; - const $reportContainer = $(`
`) - .appendTo('#powerbi-fixture'); - - // Act - const report = powerbi.embed($reportContainer[0], { uniqueId: testUniqueId }); - - // Assert - expect(report.config.uniqueId).toEqual(testUniqueId); - }); - - it('should get uqiqueId from name attribute if uniqueId is not specified in config', function () { - // Arrange - const testUniqueId = 'fakeUniqueId'; - const embedUrl = `https://embedded.powerbi.com/appTokenReportEmbed`; - const $reportContainer = $(`
`) - .appendTo('#powerbi-fixture'); - - // Act - const report = powerbi.embed($reportContainer[0]); - - // Assert - expect(report.config.uniqueId).toEqual(testUniqueId); - }); - - it('should generate uqiqueId if uniqueId is not specified in config or attribute', function () { - // Arrange - const testUniqueId = 'fakeUniqueId'; - const embedUrl = `https://embedded.powerbi.com/appTokenReportEmbed`; - const $reportContainer = $(`
`) - .appendTo('#powerbi-fixture'); - - // Act - const report = powerbi.embed($reportContainer[0]); - - // Assert - expect(report.config.uniqueId).toEqual(jasmine.any(String)); - }); - - it('should get group id from configuration first', function () { - // Arrange - const testGroupId = "ABC123"; - const embedUrl = `https://embedded.powerbi.com/appTokenReportEmbed?groupId=DIFFERENTID`; - const $reportContainer = $(`
`) - .appendTo('#powerbi-fixture'); - - const configuration: embed.IEmbedConfiguration = { id: 'fakeId', groupId: testGroupId }; - - // Act - const report = powerbi.embed($reportContainer[0], configuration); - - // Assert - expect((report.config).groupId).toEqual(testGroupId); - }); - - it('should get groupId from embeddUrl is not specified in config', function () { - // Arrange - const embedUrl = `https://embedded.powerbi.com/appTokenReportEmbed?groupId=DIFFERENTID`; - const $reportContainer = $(`
`) - .appendTo('#powerbi-fixture'); - - const configuration: embed.IEmbedConfiguration = { id: 'fakeId' }; - - // Act - const report = powerbi.embed($reportContainer[0], configuration); - - // Assert - expect((report.config).groupId).toEqual('DIFFERENTID'); - }); - - it('should get groupId undefined if not specified in embeddUrl or config', function () { - // Arrange - const embedUrl = `https://embedded.powerbi.com/appTokenReportEmbed?reportId=fakeId`; - const $reportContainer = $(`
`) - .appendTo('#powerbi-fixture'); - - const configuration: embed.IEmbedConfiguration = { id: 'fakeId' }; - - // Act - const report = powerbi.embed($reportContainer[0], configuration); - - // Assert - expect((report.config).groupId).toBeUndefined(); - }); - - it('should get filterPaneEnabled setting from attribute from config and then attribute', function () { - // Arrange - const testUniqueId = 'fakeUniqueId'; - const embedUrl = `https://embedded.powerbi.com/appTokenReportEmbed`; - const $reportContainer = $(`
`) - .appendTo('#powerbi-fixture'); - - // Act - const report = powerbi.embed($reportContainer[0]); - - // Assert - expect((report.config.settings).filterPaneEnabled).toEqual(false); - }); - - it('should get navContentPaneEnabled setting from attribute from config and then attribute', function () { - // Arrange - const testUniqueId = 'fakeUniqueId'; - const embedUrl = `https://embedded.powerbi.com/appTokenReportEmbed`; - const $reportContainer = $(`
`) - .appendTo('#powerbi-fixture'); - - // Act - const report = powerbi.embed($reportContainer[0]); - - // Assert - expect((report.config.settings).navContentPaneEnabled).toEqual(false); - }); - - it('if component is already embedded in element re-use the existing component by calling load with the new information', function () { - // Arrange - const $element = $('
') - .appendTo('#powerbi-fixture'); - - const component = powerbi.embed($element[0]); - spyOn(component, "load"); - - const testConfiguration: embed.IEmbedConfiguration = { - accessToken: "fakeToken", - embedUrl: 'fakeUrl', - id: 'report2', - }; - - // Act - const component2 = powerbi.embed($element[0], testConfiguration); - - const actualConfig = component2.config; - - // Assert - expect(component.load).toHaveBeenCalled(); - expect(actualConfig.accessToken).toEqual(testConfiguration.accessToken); - expect(actualConfig.embedUrl).toEqual(testConfiguration.embedUrl); - expect(actualConfig.id).toEqual(testConfiguration.id); - - expect(component2).toBe(component); - }); - - it('if report embed component was not previously created, creates an instance and return it', function () { - // Arrange - var component = $('
') - .appendTo('#powerbi-fixture'); - - // Act - var report = powerbi.embed(component[0]); - - // Assert - expect(report).toBeDefined(); - }); - - it('if dashboard embed component was not previously created, creates an instance and return it', function () { - // Arrange - var component = $('
') - .appendTo('#powerbi-fixture'); - - // Act - var dashboard = powerbi.embed(component[0]); - - // Assert - expect(dashboard).toBeDefined(); - }); - - it("looks for a token first from attribute 'powerbi-access-token'", function () { - // Arrange - var embedUrl = 'https://embedded.powerbi.com/appTokenReportEmbed?reportId=ABC123'; - var testToken = "fakeToken1"; - var $reportContainer = $(`
`) - .appendTo('#powerbi-fixture'); - - // Act - powerbi.embed($reportContainer[0]); - - // Assert - var report = powerbi.get($reportContainer[0]); - var accessToken = report.config.accessToken; - - expect(accessToken).toEqual(testToken); - }); - - it("if token is not found by attribute 'powerbi-access-token', fallback to using global", function () { - // Arrange - var embedUrl = 'https://embedded.powerbi.com/appTokenReportEmbed?reportId=ABC123'; - var testToken = "fakeToken1"; - var $reportContainer = $(`
`) - .appendTo('#powerbi-fixture'); - - var originalToken = powerbi.accessToken; - powerbi.accessToken = testToken; - - // Act - powerbi.embed($reportContainer[0]); - - // Assert - var report = powerbi.get($reportContainer[0]); - var accessToken = report.config.accessToken; - - expect(accessToken).toEqual(testToken); - - // Cleanup - powerbi.accessToken = originalToken; - }); - - describe('createReport', function () { - const embedUrl = `https://embedded.powerbi.com/appTokenReportEmbed`; - const accessToken = 'ABC123'; - - it('if attempting to createReport without specifying an embed url, throw error', function () { - // Arrange - const component = $('
') - .appendTo('#powerbi-fixture'); - - // Act - const attemptCreate = () => { - powerbi.createReport(component[0], { embedUrl: null, accessToken: accessToken, datasetId: '123' }); - }; - - // Assert - expect(attemptCreate).toThrowError(Error); - }); - - it('if attempting to createReport without specifying an access token, throw error', function () { - // Arrange - const component = $('
') - .appendTo('#powerbi-fixture'); - - const originalToken = powerbi.accessToken; - powerbi.accessToken = undefined; - - // Act - const attemptCreate = () => { - powerbi.createReport(component[0], { embedUrl: embedUrl, accessToken: null, datasetId: '123' }); - }; - - // Assert - expect(attemptCreate).toThrowError(Error); - - // Cleanup - powerbi.accessToken = originalToken; - }); - - it('if attempting to createReport without specifying an datasetId, throw error', function () { - // Arrange - const $reportContainer = $(`
`) - .appendTo('#powerbi-fixture'); - - // Act - const attemptCreate = () => { - powerbi.createReport($reportContainer[0], { embedUrl: embedUrl, accessToken: accessToken }); - }; - - // Assert - expect(attemptCreate).toThrowError(); - }); - - }); - - describe('findIdFromEmbedUrl of Create', function () { - it('should return value of datasetId query parameter in embedUrl', function () { - // Arrange - const testDatasetId = "ABC123"; - const testEmbedUrl = `http://embedded.powerbi.com/appTokenReportEmbed?datasetId=${testDatasetId}`; - - // Act - const datasetId = create.Create.findIdFromEmbedUrl(testEmbedUrl); - - // Assert - expect(datasetId).toEqual(testDatasetId); - }); - - it('should return undefinded if the datasetId parameter is not in the url', function () { - // Arrange - const testEmbedUrl = `http://embedded.powerbi.com/appTokenReportEmbed`; - - // Act - const datasetId = create.Create.findIdFromEmbedUrl(testEmbedUrl); - - // Assert - expect(datasetId).toBeUndefined(); - }); - - it('should get datasetId from configuration first', function () { - // Arrange - const testDatasetId = "ABC123"; - const accessToken = 'ABC123'; - const embedUrl = `https://embedded.powerbi.com/appTokenReportEmbed?datasetId=DIFFERENTID`; - const $reportContainer = $(`
`) - .appendTo('#powerbi-fixture'); - - // Act - const report = powerbi.createReport($reportContainer[0], { embedUrl: embedUrl, accessToken: accessToken, datasetId: testDatasetId }); - - // Assert - expect(report.createConfig.datasetId).toEqual(testDatasetId); - }); - - it('should fallback to using datasetId from embedUrl if not supplied in create configuration', function () { - // Arrange - const testDatasetId = "ABC123"; - const accessToken = 'ABC123'; - const embedUrl = `https://embedded.powerbi.com/appTokenReportEmbed?datasetId=${testDatasetId}`; - const $reportContainer = $(`
`) - .appendTo('#powerbi-fixture'); - - // Act - const report = powerbi.createReport($reportContainer[0], { embedUrl: embedUrl, accessToken: accessToken }); - - // Assert - expect(report.createConfig.datasetId).toEqual(testDatasetId); - }); - - it('theme should be in create config if exists is embedConfig', function () { - // Arrange - - const testDatasetId = "ABC123"; - const accessToken = 'ABC123'; - const theme = { themeJson: { name: "Theme ABC 123" } }; - const embedUrl = `https://app.powerbi.com/reportEmbed?datasetId=${testDatasetId}`; - const $reportContainer = $(`
`) - .appendTo('#powerbi-fixture'); - - // Act - const report = powerbi.createReport($reportContainer[0], { embedUrl: embedUrl, accessToken: accessToken, theme: theme }); - - // Assert - expect(report.createConfig.theme).toEqual(theme); - }); - - it('theme should be undefined in create config if not exists is embedConfig', function () { - // Arrange - - const testDatasetId = "ABC123"; - const accessToken = 'ABC123'; - const theme = { themeJson: { name: "Theme ABC 123" } }; - const embedUrl = `https://app.powerbi.com/reportEmbed?datasetId=${testDatasetId}`; - const $reportContainer = $(`
`) - .appendTo('#powerbi-fixture'); - - // Act - const report = powerbi.createReport($reportContainer[0], { embedUrl: embedUrl, accessToken: accessToken }); - - // Assert - expect(report.createConfig.theme).toBeUndefined(); - }); - }); - - describe('reports', function () { - it('creates report iframe from embedUrl', function () { - // Arrange - var embedUrl = 'https://embedded.powerbi.com/appTokenReportEmbed?reportId=ABC123'; - var $reportContainer = $(`
`) - .appendTo('#powerbi-fixture'); - - // Act - let report = powerbi.embed($reportContainer[0], { uniqueId: "fakeUid" }); - - // Assert - var iframe = $reportContainer.find('iframe'); - expect(iframe.length).toEqual(1); - expect(iframe.attr('src')).toEqual(embedUrl + "&uid=fakeUid"); - }); - - describe('findIdFromEmbedUrl', function () { - it('should return value of reportId query parameter in embedUrl', function () { - // Arrange - const testReportId = "ABC123"; - const testEmbedUrl = `http://embedded.powerbi.com/appTokenReportEmbed?reportId=${testReportId}`; - - // Act - const reportId = report.Report.findIdFromEmbedUrl(testEmbedUrl); - - // Assert - expect(reportId).toEqual(testReportId); - }); - - it('should return undefinded if the query parameter is not in the url', function () { - // Arrange - const testEmbedUrl = `http://embedded.powerbi.com/appTokenReportEmbed`; - - // Act - const reportId = report.Report.findIdFromEmbedUrl(testEmbedUrl); - - // Assert - expect(reportId).toBeUndefined(); - }); - }); - - it('should get report id from configuration first', function () { - // Arrange - const testReportId = "ABC123"; - const embedUrl = `https://embedded.powerbi.com/appTokenReportEmbed?reportId=DIFFERENTID`; - const $reportContainer = $(`
`) - .appendTo('#powerbi-fixture'); - - const configuration: embed.IEmbedConfiguration = { id: testReportId }; - - // Act - const report = powerbi.embed($reportContainer[0], configuration); - - // Assert - expect((report.config).id).toEqual(testReportId); - }); - - it('should fallback to using id from attribute if not supplied in embed/load configuration', function () { - // Arrange - const testReportId = "ABC123"; - const embedUrl = `https://embedded.powerbi.com/appTokenReportEmbed?reportId=DIFFERENTID`; - const $reportContainer = $(`
`) - .appendTo('#powerbi-fixture'); - - // Act - const report = powerbi.embed($reportContainer[0]); - const config: embed.IEmbedConfiguration = report.config; - // Assert - expect(config.id).toEqual(testReportId); - }); - - it('should fallback to using id from embedUrl if not supplied in embed/load configuration or attribute', function () { - // Arrange - const testReportId = "ABC123"; - const embedUrl = `https://embedded.powerbi.com/appTokenReportEmbed?reportId=${testReportId}`; - const $reportContainer = $(`
`) - .appendTo('#powerbi-fixture'); - - // Act - const report = powerbi.embed($reportContainer[0]); - - // Assert - expect((report.config).id).toEqual(testReportId); - }); - - it('theme should be in report config if exists is embedConfig', function () { - // Arrange - const testReportId = "ABC123"; - const embedUrl = `https://app.powerbi.com/reportEmbed?reportId=${testReportId}`; - const $reportContainer = $(`
`) - .appendTo('#powerbi-fixture'); - - const theme = { themeJson: { name: "Theme ABC 123" } }; - const configuration: embed.IEmbedConfiguration = { theme: theme }; - - // Act - const report = powerbi.embed($reportContainer[0], configuration); - - // Assert - expect((report.config).theme).toEqual(theme); - }); - - it('theme should be undefined in report config if not exists is embedConfig', function () { - // Arrange - const testReportId = "ABC123"; - const embedUrl = `https://app.powerbi.com/reportEmbed?reportId=${testReportId}`; - const $reportContainer = $(`
`) - .appendTo('#powerbi-fixture'); - - const theme = { themeJson: { name: "Theme ABC 123" } }; - const configuration: embed.IEmbedConfiguration = {}; - - // Act - const report = powerbi.embed($reportContainer[0], configuration); - - // Assert - expect((report.config).theme).toBeUndefined(); - }); - }); - - xdescribe('tiles', function () { - it('creates tile iframe from embedUrl', function () { - // Arrange - var embedUrl = 'https://app.powerbi.com/embed?dashboardId=D1&tileId=T1'; - var $tileContainer = $('
') - .appendTo('#powerbi-fixture'); - - // Act - let tile = powerbi.embed($tileContainer[0]); + describe('fullscreen', function () { + it('sets the iframe as the fullscreen element', function () { + let requestFullscreenSpy = jasmine.createSpy(); + iframe.requestFullscreen = requestFullscreenSpy; + let report = powerbi.get(container); + report.fullscreen(); - // Assert - var iframe = $tileContainer.find('iframe'); - expect(iframe.length).toEqual(1); - expect(iframe.attr('src')).toEqual(embedUrl); - }); + expect(requestFullscreenSpy).toHaveBeenCalled(); }); }); - describe('bootstrap', function () { - it('if attempting to bootstrap without specifying a type, throw error', function () { - // Arrange - const component = $('
') - .appendTo('#powerbi-fixture'); - - // Act - const attemptEmbed = () => { - powerbi.bootstrap(component[0], {}); - }; - - // Assert - expect(attemptEmbed).toThrowError(Error); - }); - - it('if attempting to bootstrap with an unknown type, throw error', function () { - // Arrange - const component = $('
') - .appendTo('#powerbi-fixture'); - - // Act - const attemptEmbed = () => { - powerbi.bootstrap(component[0], {}); - }; - - // Assert - expect(attemptEmbed).toThrowError(Error); - }); - - it('if attempting to bootstrap on existing element, throw error', function () { - // Arrange - const component = $('
') - .appendTo('#powerbi-fixture'); - - const reportEmbedConfig: embed.IEmbedConfiguration = { - type: "report", - id: "fakeReportId", - accessToken: "fakeAccessToken", - embedUrl: "fakeEmbedUrl", - groupId: "fakeGroupId", - }; - - const reportEmbedConfig2: embed.IEmbedConfiguration = { - type: "report", - id: "fakeReportId2", - accessToken: "fakeAccessToken", - embedUrl: "fakeEmbedUrl", - groupId: "fakeGroupId" - }; - - powerbi.embed(component[0], reportEmbedConfig); - - // Act - const attemptBootstrap = () => { - powerbi.bootstrap(component[0], reportEmbedConfig2); - }; - - // Assert - expect(attemptBootstrap).toThrowError(Error); - }); - - it('powerbi.embed should use the same iframe is already embedded with powerbi.bootstrap', function () { - // Arrange - const $element = $('
') - .appendTo('#powerbi-fixture'); - - const testConfiguration = { - accessToken: "fakeAccessToken", - embedUrl: 'fakeUrl', - id: 'report2', - type: 'report', - groupId: "fakeGroupId" - }; - - // Act - const component = powerbi.bootstrap($element[0], { - type: 'report', - embedUrl: 'fakeUrl2', - }); - - const component2 = powerbi.embed($element[0], testConfiguration); - const component3 = powerbi.get($element[0]); - - // Assert - expect(component).toBeDefined(); - expect(component2).toBeDefined(); - expect(component2).toBe(component3); - }); - - it('powerbi.bootstrap url with correct locale parameters', function () { - // Arrange - const $reportContainer = $('
') - .appendTo('#powerbi-fixture'); - - const testConfiguration: embed.IEmbedConfiguration = { - embedUrl: 'fakeUrl?reportId=1', - id: 'report2', - type: 'report', - settings: { - localeSettings: { - language: 'languageName', - formatLocale: 'formatName' - } - }, - uniqueId: "fakeUid", - }; - - powerbi.bootstrap($reportContainer[0], testConfiguration); - 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 () { - // Arrange - const $element = $('
'); - - const config: embed.IEmbedConfiguration = { - type: 'report', - embedUrl: 'fakeUrl', - id: 'fakeId', - accessToken: 'fakeToken' - }; - - powerbi.embed($element.get(0), config); - - // Act - expect(($element.get(0)).powerBiEmbed).toBeDefined(); - powerbi.reset($element.get(0)); - - // Assert - expect(($element.get(0)).powerBiEmbed).toBeUndefined(); - }); - - it('clears the innerHTML of the element', function () { - // Arrange - const $element = $('
'); - - const config: embed.IEmbedConfiguration = { - type: 'report', - embedUrl: 'fakeUrl', - id: 'fakeReportId', - accessToken: 'fakeToken' - }; - - powerbi.embed($element.get(0), config); - - // Act - var iframe = $element.find('iframe'); - expect(iframe.length).toEqual(1); - powerbi.reset($element.get(0)); - - // Assert - expect($element.html()).toEqual(''); - }); - - it('removes the powerbi instance from the list of embeds', function () { - // Arrange - const $element = $('
'); - const testEmbedConfig = { - type: 'report', - embedUrl: 'fakeUrl', - id: 'fakeReportId', - accessToken: 'fakeToken', - uniqueId: 'fakeUniqeId' - }; - powerbi.embed($element.get(0), testEmbedConfig); - - // Act - const report = powerbi.find(testEmbedConfig.uniqueId); - expect(report).toBeDefined(); - - powerbi.reset($element.get(0)); - - // Assert - const report2 = powerbi.find(testEmbedConfig.uniqueId); - expect(report2).toBeUndefined(); - }); - }); -}); - -describe('embed', function () { - let powerbi: service.Service; - let $element: JQuery; - let $container: JQuery; - let $iframe: JQuery; - - beforeAll(function () { - powerbi = new service.Service(factories.hpmFactory, factories.wpmpFactory, factories.routerFactory); - powerbi.accessToken = 'ABC123'; - $element = $('
').appendTo(document.body); - }); - - beforeEach(function () { - $container = $('
') - .appendTo('#powerbi-fixture'); - - powerbi.embed($container[0]); - $iframe = $container.find('iframe'); - }); - - afterEach(function () { - $element.empty(); - }); - - afterAll(function () { - $element.remove(); - powerbi.wpmp.stop(); - }); - - describe('iframe', function () { - it('has a src', function () { - expect($iframe.attr('src').length).toBeGreaterThan(0); - }); - - it('disables scrollbars by default', function () { - expect($iframe.attr('scrolling')).toEqual('no'); - }); - - it('sets width/height to 100%', function () { - expect($iframe[0].style.width).toEqual('100%'); - expect($iframe[0].style.height).toEqual('100%'); - }); - }); - - describe('fullscreen', function () { - it('sets the iframe as the fullscreen element', function () { - var report = powerbi.get($container[0]); - report.fullscreen(); - - expect(document["webkitFullscreenElement"] === $iframe[0]); - }); - }); - - describe('exitFullscreen', function () { - it('clears the iframe fullscreen element', function () { - var report = powerbi.get($container[0]); - report.fullscreen(); - report.exitFullscreen(); - - expect(document["webkitFullscreenElement"] !== $iframe[0]); - }); - }); -}); - -describe('Protocol', function () { - let hpm: Hpm.HttpPostMessage; - let wpmp: Wpmp.WindowPostMessageProxy; - let iframe: HTMLIFrameElement; - let iframeHpm: Hpm.HttpPostMessage; - let iframeLoaded: Promise; - - let handler: Wpmp.IMessageHandler; - let spyHandler: { - test: jasmine.Spy, - handle: jasmine.Spy - }; - - beforeAll(function () { - const iframeSrc = "base/test/utility/noop.html"; - const $iframe = $(``).appendTo(document.body); - iframe = $iframe.get(0); - - // Register Iframe side - iframeHpm = setupEmbedMockApp(iframe.contentWindow, window, logMessages, 'ProtocolMockAppWpmp'); - - // Register SDK side WPMP - wpmp = factories.wpmpFactory('HostProxyDefaultNoHandlers', logMessages, iframe.contentWindow); - hpm = factories.hpmFactory(wpmp, iframe.contentWindow, 'testVersion'); - const router = factories.routerFactory(wpmp); - - router.post('/reports/:uniqueId/events/:eventName', (req, res) => { - handler.handle(req); - res.send(202); - }); - - router.post('/reports/:uniqueId/pages/:pageName/events/:eventName', (req, res) => { - handler.handle(req); - res.send(202); - }); - - router.post('/reports/:uniqueId/pages/:pageName/visuals/:visualName/events/:eventName', (req, res) => { - handler.handle(req); - res.send(202); - }); - - handler = { - test: jasmine.createSpy("testSpy").and.returnValue(true), - handle: jasmine.createSpy("handleSpy").and.callFake(function (message: any) { - message.handled = true; - return message; - }) - }; - - spyHandler = handler; - // wpmp.addHandler(handler); - - iframeLoaded = new Promise((resolve, reject) => { - iframe.addEventListener('load', () => { - resolve(null); - }); - }); - }); - - afterAll(function () { - wpmp.stop(); - }); - - beforeEach(() => { - // empty - }); - - afterEach(function () { - spyHandler.test.calls.reset(); - spyHandler.handle.calls.reset(); - }); - - describe('HPM-to-MockApp', function () { - describe('notfound', function () { - it('GET request to uknown url returns 404 Not Found', function (done) { - iframeLoaded - .then(() => { - hpm.get('route/that/does/not/exist') - .catch(response => { - expect(response.statusCode).toEqual(404); - done(); - }); - }); - }); - - it('POST request to uknown url returns 404 Not Found', function (done) { - iframeLoaded - .then(() => { - hpm.post('route/that/does/not/exist', null) - .catch(response => { - expect(response.statusCode).toEqual(404); - done(); - }); - }); - }); - - it('PUT request to uknown url returns 404 Not Found', function (done) { - iframeLoaded - .then(() => { - hpm.put('route/that/does/not/exist', null) - .catch(response => { - expect(response.statusCode).toEqual(404); - done(); - }); - }); - }); - - it('PATCH request to uknown url returns 404 Not Found', function (done) { - iframeLoaded - .then(() => { - hpm.patch('route/that/does/not/exist', null) - .catch(response => { - expect(response.statusCode).toEqual(404); - done(); - }); - }); - }); - - it('DELETE request to uknown url returns 404 Not Found', function (done) { - iframeLoaded - .then(() => { - hpm.delete('route/that/does/not/exist') - .catch(response => { - expect(response.statusCode).toEqual(404); - done(); - }); - }); - }); - }); - - 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", - accessToken: "fakeToken", - options: { - } - } - }; - - iframeLoaded - .then(() => { - spyApp.validateReportLoad.and.returnValue(Promise.reject(null)); - - // 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).not.toHaveBeenCalledWith(testData.load); - expect(response.statusCode).toEqual(400); - // Cleanup - spyApp.validateReportLoad.calls.reset(); - done(); - }); - }); - }); - - it(`POST /report/${action} returns 202 if the request is valid`, function (done) { - // Arrange - const testData = { - load: { - reportId: "fakeId", - accessToken: "fakeToken", - options: { - } - } - }; - - 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(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(); - }); - }); - }); - }); - } - }); - - 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: { - } - } - }; - - 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: { - } - } - }; - - 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(); - }); - }); - }); - }); - }); - - describe('render', function () { - it('POST /report/render returns 202 if the request is valid', function (done) { - // Arrange - iframeLoaded - .then(() => { - spyApp.render.and.returnValue(Promise.resolve(null)); - // Act - hpm.post('/report/render', null) - .then(response => { - // Assert - expect(spyApp.render).toHaveBeenCalled(); - expect(response.statusCode).toEqual(202); - // Cleanup - spyApp.render.calls.reset(); - done(); - }); - }); - }); - }); - - describe('pages', function () { - - it('GET /report/pages returns 200 with body as array of pages', function (done) { - // Arrange - const testData = { - expectedPages: [ - { - name: "a" - }, - { - name: "b" - } - ] - }; - - iframeLoaded - .then(() => { - spyApp.getPages.and.returnValue(Promise.resolve(testData.expectedPages)); - // Act - hpm.get('/report/pages') - .then(response => { - // Assert - expect(spyApp.getPages).toHaveBeenCalled(); - const pages = response.body; - // @ts-ignore as testData is not of type IFilter - expect(pages).toEqual(testData.expectedPages); - // Cleanup - spyApp.getPages.calls.reset(); - done(); - }); - }); - }); - - it('GET /report/pages returns 500 with body as error', function (done) { - // Arrange - const testData = { - expectedError: { - message: "could not query pages" - } - }; - - iframeLoaded - .then(() => { - spyApp.getPages.and.returnValue(Promise.reject(testData.expectedError)); - // Act - hpm.get('/report/pages') - .catch(response => { - // Assert - expect(spyApp.getPages).toHaveBeenCalled(); - const error = response.body; - expect(error).toEqual(testData.expectedError); - // Cleanup - spyApp.getPages.calls.reset(); - done(); - }); - }); - }); - - it('PUT /report/pages/active returns 400 if request is invalid', function (done) { - // Arrange - const testData = { - page: { - name: "fakeName" - } - }; - - iframeLoaded - .then(() => { - spyApp.validatePage.and.returnValue(Promise.reject(null)); - // Act - hpm.put('/report/pages/active', testData.page) - .catch(response => { - // Assert - expect(spyApp.validatePage).toHaveBeenCalledWith(testData.page); - expect(spyApp.setPage).not.toHaveBeenCalled(); - expect(response.statusCode).toEqual(400); - // Cleanup - spyApp.validatePage.calls.reset(); - spyApp.setPage.calls.reset(); - done(); - }); - }); - }); - - it('PUT /report/pages/active returns 202 if request is valid', function (done) { - // Arrange - const testData = { - page: { - name: "fakeName" - } - }; - - iframeLoaded - .then(() => { - spyApp.validatePage.and.returnValue(Promise.resolve(null)); - - // Act - hpm.put('/report/pages/active', testData.page) - .then(response => { - // Assert - expect(spyApp.validatePage).toHaveBeenCalledWith(testData.page); - expect(spyApp.setPage).toHaveBeenCalledWith(testData.page); - expect(response.statusCode).toEqual(202); - // Cleanup - spyApp.validatePage.calls.reset(); - spyApp.setPage.calls.reset(); - done(); - }); - }); - }); - - it('PUT /report/pages/active causes POST /reports/:uniqueId/events/pageChanged', function (done) { - // Arrange - const testData = { - uniqueId: 'uniqueId', - reportId: 'fakeReportId', - page: { - name: "fakeName" - } - }; - const expectedEvent = { - method: 'POST', - url: `/reports/${testData.uniqueId}/events/pageChanged`, - body: jasmine.objectContaining({ - initiator: 'sdk' - }) - }; - - iframeLoaded - .then(() => { - spyApp.validatePage.and.returnValue(Promise.resolve(null)); - - // Act - hpm.put('/report/pages/active', testData.page, { uid: testData.uniqueId }) - .then(response => { - // Assert - expect(spyApp.validatePage).toHaveBeenCalledWith(testData.page); - expect(spyApp.setPage).toHaveBeenCalledWith(testData.page); - expect(response.statusCode).toEqual(202); - expect(spyHandler.handle).toHaveBeenCalledWith(jasmine.objectContaining(expectedEvent)); - // Cleanup - spyApp.validateReportLoad.calls.reset(); - spyApp.setPage.calls.reset(); - done(); - }); - }); - }); - - it('PUT /report/pages/active causes POST /reports/:uniqueId/events/error', function (done) { - // Arrange - const testData = { - uniqueId: 'uniqueId', - reportId: 'fakeReportId', - page: { - name: "fakeName" - }, - error: { - message: "error" - } - }; - const expectedEvent = { - method: 'POST', - url: `/reports/${testData.uniqueId}/events/error`, - body: testData.error - }; - - iframeLoaded - .then(() => { - spyApp.validatePage.and.returnValue(Promise.resolve(null)); - spyApp.setPage.and.returnValue(Promise.reject(testData.error)); - - // Act - hpm.put('/report/pages/active', testData.page, { uid: testData.uniqueId }) - .then(response => { - // Assert - expect(spyApp.validatePage).toHaveBeenCalledWith(testData.page); - expect(spyApp.setPage).toHaveBeenCalledWith(testData.page); - expect(response.statusCode).toEqual(202); - expect(spyHandler.handle).toHaveBeenCalledWith(jasmine.objectContaining(expectedEvent)); - // Cleanup - spyApp.validateReportLoad.calls.reset(); - spyApp.setPage.calls.reset(); - done(); - }); - }); - }); - }); - - describe('refresh', function () { - it('POST /report/refresh returns 202 if the request is valid', function (done) { - // Arrange - iframeLoaded - .then(() => { - spyApp.refreshData.and.returnValue(Promise.resolve(null)); - // Act - hpm.post('/report/refresh', null) - .then(response => { - // Assert - expect(spyApp.refreshData).toHaveBeenCalled(); - expect(response.statusCode).toEqual(202); - // Cleanup - spyApp.refreshData.calls.reset(); - done(); - }); - }); - }); - }); - - describe('print', function () { - it('POST /report/print returns 202 if the request is valid', function (done) { - // Arrange - iframeLoaded - .then(() => { - spyApp.print.and.returnValue(Promise.resolve(null)); - // Act - hpm.post('/report/print', null) - .then(response => { - // Assert - expect(spyApp.print).toHaveBeenCalled(); - expect(response.statusCode).toEqual(202); - // Cleanup - spyApp.print.calls.reset(); - done(); - }); - }); - }); - }); - - describe('switchMode', function () { - it('POST /report/switchMode returns 202 if the request is valid', function (done) { - // Arrange - iframeLoaded - .then(() => { - spyApp.switchMode.and.returnValue(Promise.resolve(null)); - // Act - hpm.post('/report/switchMode/Edit', null) - .then(response => { - // Assert - expect(spyApp.switchMode).toHaveBeenCalled(); - expect(response.statusCode).toEqual(202); - // Cleanup - spyApp.switchMode.calls.reset(); - done(); - }); - }); - }); - }); - - describe('save', function () { - it('POST /report/save returns 202 if the request is valid', function (done) { - // Arrange - iframeLoaded - .then(() => { - spyApp.save.and.returnValue(Promise.resolve(null)); - // Act - hpm.post('/report/save', null) - .then(response => { - // Assert - expect(spyApp.save).toHaveBeenCalled(); - expect(response.statusCode).toEqual(202); - // Cleanup - spyApp.save.calls.reset(); - done(); - }); - }); - }); - }); - - describe('saveAs', function () { - it('POST /report/saveAs returns 202 if the request is valid', function (done) { - // Arrange - let saveAsParameters: models.ISaveAsParameters = { name: "reportName" }; - - iframeLoaded - .then(() => { - spyApp.saveAs.and.returnValue(Promise.resolve(null)); - // Act - hpm.post('/report/saveAs', saveAsParameters) - .then(response => { - // Assert - expect(spyApp.saveAs).toHaveBeenCalled(); - expect(spyApp.saveAs).toHaveBeenCalledWith(saveAsParameters); - expect(response.statusCode).toEqual(202); - // Cleanup - spyApp.saveAs.calls.reset(); - done(); - }); - }); - }); - }); - - describe('setAccessToken', function () { - it('POST /report/token returns 202 if the request is valid', function (done) { - // Arrange - let accessToken: string = "fakeToken"; - - iframeLoaded - .then(() => { - spyApp.setAccessToken.and.returnValue(Promise.resolve(null)); - // Act - hpm.post('/report/token', accessToken) - .then(response => { - // Assert - expect(spyApp.setAccessToken).toHaveBeenCalled(); - expect(spyApp.setAccessToken).toHaveBeenCalledWith(accessToken); - expect(response.statusCode).toEqual(202); - // Cleanup - spyApp.saveAs.calls.reset(); - done(); - }); - }); - }); - }); - - describe('filters (report level)', function () { - it('GET /report/filters returns 200 with body as array of filters', function (done) { - // Arrange - const testData = { - filters: [ - { - name: "fakeFilter1" - }, - { - name: "fakeFilter2" - } - ] - }; - - iframeLoaded - .then(() => { - spyApp.getFilters.and.returnValue(Promise.resolve(testData.filters)); - - // Act - hpm.get('/report/filters') - .then(response => { - // Assert - expect(spyApp.getFilters).toHaveBeenCalled(); - expect(response.statusCode).toEqual(200); - // @ts-ignore as testData is not of type IFilter - expect(response.body).toEqual(testData.filters); - // Cleanup - spyApp.getFilters.calls.reset(); - done(); - }); - }); - }); - - it('GET /report/filters returns 500 with body as error', function (done) { - // Arrange - const testData = { - error: { - message: "internal error" - } - }; - - iframeLoaded - .then(() => { - spyApp.getFilters.and.returnValue(Promise.reject(testData.error)); - - // Act - hpm.get('/report/filters') - .catch(response => { - // Assert - expect(spyApp.getFilters).toHaveBeenCalled(); - expect(response.statusCode).toEqual(500); - expect(response.body).toEqual(testData.error); - // Cleanup - spyApp.getFilters.calls.reset(); - done(); - }); - }); - }); - - it('PUT /report/filters returns 400 if request is invalid', function (done) { - // Arrange - const testData = { - filters: [ - { - name: "fakeFilter" - } - ] - }; - - iframeLoaded - .then(() => { - spyApp.validateFilter.and.returnValue(Promise.reject(null)); - - // Act - hpm.put('/report/filters', testData.filters) - .catch(response => { - // Assert - expect(spyApp.validateFilter).toHaveBeenCalledWith(testData.filters[0]); - expect(spyApp.setFilters).not.toHaveBeenCalled(); - expect(response.statusCode).toEqual(400); - // Cleanup - spyApp.validateFilter.calls.reset(); - done(); - }); - }); - }); - - it('PUT /report/filters returns 202 if request is valid', function (done) { - // Arrange - const testData = { - filters: [ - { - name: "fakeFilter" - } - ] - }; - - iframeLoaded - .then(() => { - spyApp.validateFilter.and.returnValue(Promise.resolve(null)); - - // Act - hpm.put('/report/filters', testData.filters) - .then(response => { - // Assert - expect(spyApp.validateFilter).toHaveBeenCalledWith(testData.filters[0]); - expect(spyApp.setFilters).toHaveBeenCalledWith(testData.filters); - expect(response.statusCode).toEqual(202); - // Cleanup - spyApp.validateFilter.calls.reset(); - spyApp.setFilters.calls.reset(); - done(); - }); - }); - }); - - it('PUT /report/filters will cause POST /reports/:uniqueId/events/filtersApplied', function (done) { - // Arrange - const testData = { - uniqueId: 'uniqueId', - reportId: 'fakeReportId', - filters: [ - { - name: "fakeFilter" - } - ] - }; - const testExpectedEvent = { - method: 'POST', - url: `/reports/${testData.uniqueId}/events/filtersApplied` - }; - - iframeLoaded - .then(() => { - spyApp.validateFilter.and.returnValue(Promise.resolve(null)); - - // Act - hpm.put('/report/filters', testData.filters, { uid: testData.uniqueId }) - .then(response => { - // Assert - expect(spyApp.validateFilter).toHaveBeenCalledWith(testData.filters[0]); - expect(spyApp.setFilters).toHaveBeenCalledWith(testData.filters); - expect(response.statusCode).toEqual(202); - expect(spyHandler.handle).toHaveBeenCalledWith(jasmine.objectContaining(testExpectedEvent)); - // Cleanup - spyApp.validateFilter.calls.reset(); - spyApp.setFilters.calls.reset(); - done(); - }); - }); - }); - }); - - describe('filters (page level)', function () { - it('GET /report/pages/xyz/filters returns 200 with body as array of filters', function (done) { - // Arrange - const testData = { - filters: [ - { - name: "fakeFilter1" - }, - { - name: "fakeFilter2" - } - ] - }; - - iframeLoaded - .then(() => { - spyApp.getFilters.and.returnValue(Promise.resolve(testData.filters)); - - // Act - hpm.get('/report/pages/xyz/filters') - .then(response => { - // Assert - expect(spyApp.getFilters).toHaveBeenCalled(); - expect(response.statusCode).toEqual(200); - // @ts-ignore as testData is not of type IFilter - expect(response.body).toEqual(testData.filters); - // Cleanup - spyApp.getFilters.calls.reset(); - done(); - }); - }); - }); - - it('GET /report/pages/xyz/filters returns 500 with body as error', function (done) { - // Arrange - const testData = { - error: { - message: "internal error" - } - }; - - iframeLoaded - .then(() => { - spyApp.getFilters.and.returnValue(Promise.reject(testData.error)); - - // Act - hpm.get('/report/pages/xyz/filters') - .catch(response => { - // Assert - expect(spyApp.getFilters).toHaveBeenCalled(); - expect(response.statusCode).toEqual(500); - expect(response.body).toEqual(testData.error); - // Cleanup - spyApp.getFilters.calls.reset(); - done(); - }); - }); - }); - - it('PUT /report/pages/xyz/filters returns 400 if request is invalid', function (done) { - // Arrange - const testData = { - filters: [ - { - name: "fakeFilter" - } - ] - }; - - iframeLoaded - .then(() => { - spyApp.validateFilter.and.returnValue(Promise.reject(null)); - - // Act - hpm.put('/report/pages/xyz/filters', testData.filters) - .catch(response => { - // Assert - expect(spyApp.validateFilter).toHaveBeenCalledWith(testData.filters[0]); - expect(spyApp.setFilters).not.toHaveBeenCalled(); - expect(response.statusCode).toEqual(400); - // Cleanup - spyApp.validatePage.calls.reset(); - spyApp.validateFilter.calls.reset(); - done(); - }); - }); - }); - - it('PUT /report/pages/xyz/filters returns 202 if request is valid', function (done) { - // Arrange - const testData = { - filters: [ - { - name: "fakeFilter" - } - ], - }; - - iframeLoaded - .then(() => { - spyApp.validateFilter.and.returnValue(Promise.resolve(null)); - - // Act - hpm.put('/report/pages/xyz/filters', testData.filters) - .then(response => { - // Assert - expect(spyApp.validateFilter).toHaveBeenCalledWith(testData.filters[0]); - expect(spyApp.setFilters).toHaveBeenCalledWith(testData.filters); - expect(response.statusCode).toEqual(202); - // Cleanup - spyApp.validatePage.calls.reset(); - spyApp.validateFilter.calls.reset(); - spyApp.setFilters.calls.reset(); - done(); - }); - }); - }); - - it('PUT /report/pages/xyz/filters will cause POST /reports/:uniqueId/pages/xyz/events/filtersApplied', function (done) { - // Arrange - const testData = { - uniqueId: 'uniqueId', - reportId: 'fakeReportId', - filters: [ - { - name: "fakeFilter" - } - ] - }; - const testExpectedEvent = { - method: 'POST', - url: `/reports/${testData.uniqueId}/pages/xyz/events/filtersApplied` - }; - - iframeLoaded - .then(() => { - spyHandler.handle.calls.reset(); - spyApp.validateFilter.and.returnValue(Promise.resolve(null)); - - // Act - hpm.put('/report/pages/xyz/filters', testData.filters, { uid: testData.uniqueId }) - .then(response => { - // Assert - expect(spyApp.validateFilter).toHaveBeenCalledWith(testData.filters[0]); - expect(spyApp.setFilters).toHaveBeenCalledWith(testData.filters); - expect(response.statusCode).toEqual(202); - expect(spyHandler.handle).toHaveBeenCalledWith(jasmine.objectContaining(testExpectedEvent)); - // Cleanup - spyApp.validatePage.calls.reset(); - spyApp.validateFilter.calls.reset(); - spyApp.setFilters.calls.reset(); - done(); - }); - }); - }); - }); - - describe('filters (visual level)', function () { - it('GET /report/pages/xyz/visuals/uvw/filters returns 200 with body as array of filters', function (done) { - // Arrange - const testData = { - filters: [ - { - name: "fakeFilter1" - }, - { - name: "fakeFilter2" - } - ] - }; - - iframeLoaded - .then(() => { - spyApp.getFilters.and.returnValue(Promise.resolve(testData.filters)); - - // Act - hpm.get('/report/pages/xyz/visuals/uvw/filters') - .then(response => { - // Assert - expect(spyApp.getFilters).toHaveBeenCalled(); - expect(response.statusCode).toEqual(200); - // @ts-ignore as testData is not of type IFilter - expect(response.body).toEqual(testData.filters); - // Cleanup - spyApp.getFilters.calls.reset(); - spyApp.validateVisual.calls.reset(); - done(); - }); - }); - }); - - it('GET /report/pages/xyz/visuals/uvw/filters returns 500 with body as error', function (done) { - // Arrange - const testData = { - error: { - message: "internal error" - } - }; - - iframeLoaded - .then(() => { - spyApp.getFilters.and.returnValue(Promise.reject(testData.error)); - - // Act - hpm.get('/report/pages/xyz/visuals/uvw/filters') - .catch(response => { - // Assert - expect(spyApp.getFilters).toHaveBeenCalled(); - expect(response.statusCode).toEqual(500); - expect(response.body).toEqual(testData.error); - // Cleanup - spyApp.getFilters.calls.reset(); - spyApp.validateVisual.calls.reset(); - done(); - }); - }); - }); - - it('PUT /report/pages/xyz/visuals/uvw/filters returns 400 if request is invalid', function (done) { - // Arrange - const testData = { - uniqueId: 'uniqueId', - filters: [ - { - name: "fakeFilter" - } - ] - }; - - iframeLoaded - .then(() => { - spyApp.validateFilter.and.returnValue(Promise.reject(null)); - - // Act - hpm.put('/report/pages/xyz/visuals/uvw/filters', testData.filters, { uid: testData.uniqueId }) - .catch(response => { - // Assert - expect(spyApp.validateFilter).toHaveBeenCalledWith(testData.filters[0]); - expect(spyApp.setFilters).not.toHaveBeenCalled(); - expect(response.statusCode).toEqual(400); - // Cleanup - spyApp.validateVisual.calls.reset(); - spyApp.validateFilter.calls.reset(); - done(); - }); - }); - }); - - it('PUT /report/pages/xyz/visuals/uvw/filters returns 202 if request is valid', function (done) { - // Arrange - const testData = { - uniqueId: 'uniqueId', - filters: [ - { - name: "fakeFilter" - } - ], - }; - - iframeLoaded - .then(() => { - spyApp.validateFilter.and.returnValue(Promise.resolve(null)); - - // Act - hpm.put('/report/pages/xyz/visuals/uvw/filters', testData.filters, { uid: testData.uniqueId }) - .then(response => { - // Assert - expect(spyApp.validateFilter).toHaveBeenCalledWith(testData.filters[0]); - expect(spyApp.setFilters).toHaveBeenCalledWith(testData.filters); - expect(response.statusCode).toEqual(202); - // Cleanup - spyApp.validateVisual.calls.reset(); - spyApp.validateFilter.calls.reset(); - spyApp.setFilters.calls.reset(); - done(); - }); - }); - }); - - it('PUT /report/:uniqueId/pages/xyz/visuals/uvw/filters will cause POST /reports/:uniqueId/pages/xyz/visuals/uvw/events/filtersApplied', function (done) { - // Arrange - const testData = { - uniqueId: 'uniqueId', - filters: [ - { - name: "fakeFilter" - } - ] - }; - const testExpectedEvent = { - method: 'POST', - url: `/reports/${testData.uniqueId}/pages/xyz/visuals/uvw/events/filtersApplied` - }; - - iframeLoaded - .then(() => { - - // Act - hpm.put('/report/pages/xyz/visuals/uvw/filters', testData.filters, { uid: testData.uniqueId }) - .then(response => { - // Assert - expect(spyApp.validateFilter).toHaveBeenCalledWith(testData.filters[0]); - expect(spyApp.setFilters).toHaveBeenCalledWith(testData.filters); - expect(response.statusCode).toEqual(202); - expect(spyHandler.handle).toHaveBeenCalledWith(jasmine.objectContaining(testExpectedEvent)); - // Cleanup - spyApp.validateVisual.calls.reset(); - spyApp.validateFilter.calls.reset(); - spyApp.setFilters.calls.reset(); - done(); - }); - }); - }); - }); - - describe('settings', function () { - - it('PATCH /report/settings returns 400 if request is invalid', function (done) { - // Arrange - const testData = { - settings: { - filterPaneEnabled: false, - navContentPaneEnabled: false - } - }; - - iframeLoaded - .then(() => { - spyApp.validateSettings.and.returnValue(Promise.reject(null)); - - // Act - hpm.patch('/report/settings', testData.settings) - .catch(response => { - // Assert - expect(spyApp.validateSettings).toHaveBeenCalledWith(testData.settings); - expect(spyApp.updateSettings).not.toHaveBeenCalled(); - expect(response.statusCode).toEqual(400); - // Cleanup - spyApp.validateSettings.calls.reset(); - done(); - }); - }); - }); - - it('PATCH /report/settings returns 202 if request is valid', function (done) { - // Arrange - const testData = { - settings: { - filterPaneEnabled: false, - navContentPaneEnabled: false - } - }; - - iframeLoaded - .then(() => { - spyApp.validateSettings.and.returnValue(Promise.resolve(null)); - - // Act - hpm.patch('/report/settings', testData.settings) - .then(response => { - // Assert - expect(spyApp.validateSettings).toHaveBeenCalledWith(testData.settings); - expect(spyApp.updateSettings).toHaveBeenCalledWith(testData.settings); - expect(response.statusCode).toEqual(202); - // Cleanup - spyApp.validateSettings.calls.reset(); - spyApp.updateSettings.calls.reset(); - done(); - }); - }); - }); - - it('PATCH /report/settings causes POST /reports/:uniqueId/events/settingsUpdated', function (done) { - // Arrange - const testData = { - uniqueId: 'uniqueId', - reportId: 'fakeReportId', - settings: { - filterPaneEnabled: false - } - }; - const testExpectedEvent = { - method: 'POST', - url: `/reports/${testData.uniqueId}/events/settingsUpdated`, - body: { - initiator: 'sdk', - settings: { - filterPaneEnabled: false, - navContentPaneEnabled: false - } - } - }; - - iframeLoaded - .then(() => { - spyApp.validateSettings.and.returnValue(Promise.resolve(null)); - spyApp.updateSettings.and.returnValue(Promise.resolve(testExpectedEvent.body.settings)); - - // Act - hpm.patch('/report/settings', testData.settings, { uid: testData.uniqueId }) - .then(response => { - // Assert - setTimeout(() => { - expect(spyApp.validateSettings).toHaveBeenCalledWith(testData.settings); - expect(spyApp.updateSettings).toHaveBeenCalledWith(testData.settings); - expect(response.statusCode).toEqual(202); - expect(spyHandler.handle).toHaveBeenCalledWith(jasmine.objectContaining(testExpectedEvent)); - // Cleanup - spyApp.validateSettings.calls.reset(); - spyApp.updateSettings.calls.reset(); - - done(); - }); - }); - }); - }); - }); - }); - - describe('MockApp-to-HPM', function () { - describe('pages', function () { - it('POST /reports/:uniqueId/events/pageChanged when user changes page', function (done) { - // Arrange - const testData = { - uniqueId: 'uniqueId', - reportId: 'fakeReportId', - event: { - initiator: 'user', - newPage: { - name: "fakePageName" - } - } - }; - const testExpectedRequest = { - method: 'POST', - url: `/reports/${testData.uniqueId}/events/pageChanged`, - body: testData.event - }; - - iframeLoaded - .then(() => { - - // Act - iframeHpm.post(testExpectedRequest.url, testData.event) - .then(response => { - // Assert - expect(response.statusCode).toBe(202); - expect(spyHandler.handle).toHaveBeenCalledWith(jasmine.objectContaining(testExpectedRequest)); - - done(); - }); - - // Cleanup - }); - }); - }); - - describe('filters (report level)', function () { - it('POST /reports/:uniqueId/events/filtersApplied when user changes filter', function (done) { - // Arrange - const testData = { - uniqueId: 'uniqueId', - reportId: 'fakeReportId', - event: { - initiator: 'user', - filters: [ - { - name: "fakeFilter" - } - ] - } - }; - const testExpectedRequest = { - method: 'POST', - url: `/reports/${testData.uniqueId}/events/filtersApplied`, - body: testData.event - }; - - iframeLoaded - .then(() => { - - // Act - iframeHpm.post(testExpectedRequest.url, testData.event) - .then(response => { - // Assert - expect(response.statusCode).toBe(202); - expect(spyHandler.handle).toHaveBeenCalledWith(jasmine.objectContaining(testExpectedRequest)); - - done(); - }); - - // Cleanup - }); - }); - }); - - describe('filters (page level)', function () { - it('POST /reports/:uniqueId/pages/xyz/events/filtersApplied when user changes filter', function (done) { - // Arrange - const testData = { - uniqueId: 'uniqueId', - reportId: 'fakeReportId', - event: { - initiator: 'user', - filters: [ - { - name: "fakeFilter" - } - ] - } - }; - const testExpectedRequest = { - method: 'POST', - url: `/reports/${testData.uniqueId}/pages/xyz/events/filtersApplied`, - body: testData.event - }; - - iframeLoaded - .then(() => { - - // Act - iframeHpm.post(testExpectedRequest.url, testData.event) - .then(response => { - // Assert - expect(response.statusCode).toBe(202); - expect(spyHandler.handle).toHaveBeenCalledWith(jasmine.objectContaining(testExpectedRequest)); - - done(); - }); - - // Cleanup - }); - }); - }); - - describe('filters (visual level)', function () { - it('POST /reports/:uniqueId/pages/xyz/visuals/uvw/events/filtersApplied when user changes filter', function (done) { - // Arrange - const testData = { - uniqueId: 'uniqueId', - reportId: 'fakeReportId', - event: { - initiator: 'user', - filters: [ - { - name: "fakeFilter" - } - ] - } - }; - const testExpectedRequest = { - method: 'POST', - url: `/reports/${testData.uniqueId}/pages/xyz/visuals/uvw/events/filtersApplied`, - body: testData.event - }; - - iframeLoaded - .then(() => { - spyHandler.handle.calls.reset(); - - // Act - iframeHpm.post(testExpectedRequest.url, testData.event) - .then(response => { - // Assert - expect(response.statusCode).toBe(202); - expect(spyHandler.handle).toHaveBeenCalledWith(jasmine.objectContaining(testExpectedRequest)); - - done(); - }); - - // Cleanup - }); - }); - }); - - describe('settings', function () { - it('POST /reports/:uniqueId/events/settingsUpdated when user changes settings', function (done) { - // Arrange - const testData = { - uniqueId: 'uniqueId', - reportId: 'fakeReportId', - event: { - initiator: 'user', - settings: { - navContentPaneEnabled: true - } - } - }; - const testExpectedRequest = { - method: 'POST', - url: `/reports/${testData.uniqueId}/events/settingsUpdated`, - body: testData.event - }; - - iframeLoaded - .then(() => { - - // Act - iframeHpm.post(testExpectedRequest.url, testData.event) - .then(response => { - // Assert - expect(response.statusCode).toBe(202); - expect(spyHandler.handle).toHaveBeenCalledWith(jasmine.objectContaining(testExpectedRequest)); - - done(); - }); - - // Cleanup - }); - }); - }); - - describe('data selection', function () { - it('POST /reports/:uniqueId/events/dataSelected when user selects data', function (done) { - // Arrange - const testData = { - uniqueId: 'uniqueId', - reportId: 'fakeReportId', - event: { - initiator: 'user', - selection: { - data: true - } - } - }; - const testExpectedRequest = { - method: 'POST', - url: `/reports/${testData.uniqueId}/events/dataSelected`, - body: testData.event - }; - - iframeLoaded - .then(() => { - - // Act - iframeHpm.post(testExpectedRequest.url, testData.event) - .then(response => { - // Assert - expect(response.statusCode).toBe(202); - expect(spyHandler.handle).toHaveBeenCalledWith(jasmine.objectContaining(testExpectedRequest)); - done(); - }); - - // Cleanup - }); - }); - }); - }); -}); - -describe('SDK-to-HPM', function () { - let $reportElement: JQuery; - let $dashboardElement: JQuery; - let $createElement: JQuery; - let iframe: HTMLIFrameElement; - let dashboardIframe: HTMLIFrameElement; - let createIframe: HTMLIFrameElement; - let visualFrame: HTMLIFrameElement; - let powerbi: service.Service; - let report: report.Report; - let create: create.Create; - let dashboard: dashboard.Dashboard; - let embeddedVisual: visual.Visual; - let page1: page.Page; - let visual1: visualDescriptor.VisualDescriptor; - let uniqueId = 'uniqueId'; - let sdkSessionId = 'sdkSessionId'; - let createUniqueId = 'uniqueId'; - let dashboardUniqueId = 'uniqueId'; - let visualUniqueId = 'uniqueId'; - let embedConfiguration: embed.IEmbedConfiguration; - let dashboardEmbedConfiguration: embed.IEmbedConfiguration; - let embedCreateConfiguration: embed.IEmbedConfiguration; - let visualEmbedConfiguration: embed.IVisualEmbedConfiguration; - - let reportConfigurationBck: embed.IEmbedConfigurationBase; - let createConfigurationBck: embed.IEmbedConfigurationBase; - let dashboardEmbedConfigurationBck: embed.IEmbedConfigurationBase; - let visualEmbedConfigurationBck: embed.IEmbedConfigurationBase; - - const iframeSrc = "base/test/utility/noop.html"; - - beforeAll(function () { - const spyHpmFactory: factories.IHpmFactory = () => { - return spyHpm; - }; - const noop: factories.IWpmpFactory = () => { - return null; - }; - - const spyRouterFactory: factories.IRouterFactory = () => { - return spyRouter; - }; - - spyOn(utils, "getTimeDiffInMilliseconds").and.callFake(() => 700); // Prevent requests from being throttled. - - powerbi = new service.Service(spyHpmFactory, noop, spyRouterFactory, { wpmpName: 'SDK-to-HPM report wpmp' }); - - $reportElement = $(`
`) - .appendTo(document.body); - $createElement = $(`
`) - .appendTo(document.body); - $dashboardElement = $(`
`) - .appendTo(document.body); - let $visualElement = $(`
`) - .appendTo(document.body); - - embedConfiguration = { - type: "report", - id: "fakeReportId", - accessToken: 'fakeToken', - embedUrl: iframeSrc - }; - embedCreateConfiguration = { - datasetId: "fakeReportId", - accessToken: 'fakeToken', - embedUrl: iframeSrc - }; - dashboardEmbedConfiguration = { - type: "dashboard", - id: "fakeDashboardId", - accessToken: 'fakeToken', - embedUrl: iframeSrc - }; - visualEmbedConfiguration = { - id: "visual1", - accessToken: 'fakeToken', - embedUrl: iframeSrc, - type: "visual", - pageName: "ReportSection1", - visualName: "VisualContainer1", - width: 1200, - height: 1000 - }; - report = powerbi.embed($reportElement[0], embedConfiguration); - create = powerbi.createReport($createElement[0], embedCreateConfiguration); - dashboard = powerbi.embed($dashboardElement[0], dashboardEmbedConfiguration); - embeddedVisual = powerbi.embed($visualElement[0], visualEmbedConfiguration); - page1 = new page.Page(report, 'xyz'); - visual1 = new visualDescriptor.VisualDescriptor(page1, 'uvw', 'title', 'type', {}); - uniqueId = report.config.uniqueId; - sdkSessionId = powerbi.getSdkSessionId(); - createUniqueId = create.config.uniqueId; - dashboardUniqueId = dashboard.config.uniqueId; - visualUniqueId = embeddedVisual.config.uniqueId; - iframe = $reportElement.find('iframe')[0]; - createIframe = $createElement.find('iframe')[0]; - dashboardIframe = $dashboardElement.find('iframe')[0]; - visualFrame = $visualElement.find('iframe')[0]; - - // Reset load handler - spyHpm.post.calls.reset(); - }); - - afterAll(function () { - powerbi.reset($reportElement.get(0)); - powerbi.reset($dashboardElement.get(0)); - $reportElement.remove(); - $dashboardElement.remove(); - powerbi.wpmp.stop(); - }); - - beforeEach(function () { - reportConfigurationBck = report.config; - createConfigurationBck = create.config; - dashboardEmbedConfigurationBck = dashboard.config; - visualEmbedConfigurationBck = embeddedVisual.config; - }); - - afterEach(function () { - spyHpm.get.calls.reset(); - spyHpm.post.calls.reset(); - spyHpm.patch.calls.reset(); - spyHpm.put.calls.reset(); - spyHpm.delete.calls.reset(); - - spyRouter.get.calls.reset(); - spyRouter.post.calls.reset(); - spyRouter.patch.calls.reset(); - spyRouter.put.calls.reset(); - spyRouter.delete.calls.reset(); - - report.config = reportConfigurationBck; - create.config = createConfigurationBck; - dashboard.config = dashboardEmbedConfigurationBck; - embeddedVisual.config = visualEmbedConfigurationBck; - }); - - describe('report', function () { - - describe('load', function () { - it('report.load() sends POST /report/load with configuration in body', function () { - // Arrange - const testData = { - loadConfiguration: { - id: 'fakeId', - accessToken: 'fakeToken' - }, - response: { - body: null - } - }; - - spyHpm.post.and.returnValue(Promise.resolve(testData.response)); - - // Act - let expectedConfiguration = utils.assign({}, report.config, testData.loadConfiguration) - report.config = expectedConfiguration; - report.iframeLoaded = true; - report.load(); - - // Assert - const expectedHeaders = { - bootstrapped: undefined, - sdkVersion: sdkConfig.default.version, - uid: uniqueId, - sdkSessionId: sdkSessionId - }; - - expect(spyHpm.post).toHaveBeenCalledWith('/report/load', expectedConfiguration, expectedHeaders, iframe.contentWindow); - }); - - it('report.load() returns promise that rejects with validation error if the load configuration is invalid', function (done) { - // Arrange - const testData = { - loadConfiguration: { - id: 'fakeId', - accessToken: 'fakeToken' - }, - errorResponse: { - body: { - message: "invalid configuration object" - } - } - }; - - spyHpm.post.and.returnValue(Promise.reject(testData.errorResponse)); - - // Act - let expectedConfiguration = utils.assign({}, report.config, testData.loadConfiguration); - report.config = expectedConfiguration; - report.load() - .catch(error => { - const expectedHeaders = { - bootstrapped: undefined, - sdkVersion: sdkConfig.default.version, - uid: uniqueId, - sdkSessionId: sdkSessionId - }; - expect(spyHpm.post).toHaveBeenCalledWith('/report/load', expectedConfiguration, expectedHeaders, iframe.contentWindow); - expect(error).toEqual(testData.errorResponse.body); - // Assert - done(); - }); - }); - - it('report.load() returns promise that resolves with null if the report load successful', function (done) { - // Arrange - const testData = { - loadConfiguration: { - id: 'fakeId', - accessToken: 'fakeToken' - }, - response: { - body: null - } - }; - - spyHpm.post.and.returnValue(Promise.resolve(testData.response)); - - // Act - let expectedConfiguration = utils.assign({}, report.config, testData.loadConfiguration); - report.config = expectedConfiguration; - report.load() - .then(response => { - const expectedHeaders = { - bootstrapped: undefined, - sdkVersion: sdkConfig.default.version, - uid: uniqueId, - sdkSessionId: sdkSessionId - }; - - expect(spyHpm.post).toHaveBeenCalledWith('/report/load', expectedConfiguration, expectedHeaders, iframe.contentWindow); - expect(response).toEqual(null); - // Assert - done(); - }); - }); - - it('report.load() updates the internal configuration if the load request was successful', function (done) { - // Arrange - const testData = { - loadConfiguration: { - id: 'newFakeId', - accessToken: 'newFakeToken' - }, - response: { - body: null - } - }; - - spyHpm.post.and.returnValue(Promise.resolve(testData.response)); - - // Act - let expectedConfiguration = utils.assign({}, report.config, testData.loadConfiguration); - report.config = expectedConfiguration; - report.load() - .then(response => { - expect(report.config).toEqual(jasmine.objectContaining(expectedConfiguration)); - expect(response).toEqual(null); - // Assert - done(); - }); - }); - - it('powerbi.embed with visual name sends POST /report/load with custom layout configuration in body', function (done) { - - let testData = { - loadConfiguration: visualEmbedConfiguration, - response: { - body: null - } - }; - - let expectedConfiguration = { - id: visualEmbedConfiguration.id, - accessToken: visualEmbedConfiguration.accessToken, - embedUrl: visualEmbedConfiguration.embedUrl, - type: visualEmbedConfiguration.type, - pageName: visualEmbedConfiguration.pageName, - visualName: visualEmbedConfiguration.visualName, - width: visualEmbedConfiguration.width, - height: visualEmbedConfiguration.height, - groupId: undefined, - uniqueId: embeddedVisual.config.uniqueId, - settings: { - filterPaneEnabled: false, - navContentPaneEnabled: false, - layoutType: models.LayoutType.Custom, - customLayout: { - displayOption: models.DisplayOption.FitToPage, - pageSize: { - type: models.PageSizeType.Custom, - width: testData.loadConfiguration.width, - height: testData.loadConfiguration.height, - }, - pagesLayout: { - "ReportSection1": { - defaultLayout: { - displayState: { - mode: models.VisualContainerDisplayMode.Hidden - } - }, - visualsLayout: { - "VisualContainer1": { - displayState: { - mode: models.VisualContainerDisplayMode.Visible - }, - x: 1, - y: 1, - z: 1, - width: testData.loadConfiguration.width, - height: testData.loadConfiguration.height - } - } - } - } - } - } - }; - - spyHpm.post.and.returnValue(Promise.resolve(testData.response)); - - // Act - let inputConfig = utils.assign({}, embeddedVisual.config, visualEmbedConfiguration); - embeddedVisual.config = inputConfig; - embeddedVisual.iframeLoaded = true; - - embeddedVisual.load().then(() => { - // Assert - expect(spyHpm.post).toHaveBeenCalled(); - - let spyArgs = spyHpm.post.calls.mostRecent().args; - expect(spyArgs[0]).toEqual('/report/load'); - expect(spyArgs[1]).toEqual(expectedConfiguration); - expect(spyArgs[2]).toEqual({ - bootstrapped: undefined, - sdkVersion: sdkConfig.default.version, - uid: visualUniqueId, - sdkSessionId: sdkSessionId - }); - expect(spyArgs[3]).toEqual(visualFrame.contentWindow); - done(); - }); - }); - - it('embeddedVisual.getFilters(models.FiltersLevel.Report) sends GET /report/filters', function () { - // Act - embeddedVisual.getFilters(models.FiltersLevel.Report); - - // Assert - expect(spyHpm.get).toHaveBeenCalledWith('/report/filters', { uid: visualUniqueId }, visualFrame.contentWindow); - }); - - it('embeddedVisual.setFilters(filters, models.FiltersLevel.Report) sends PUT /report/filters', function () { - // Arrange - const testData = { - filters: [ - (new models.BasicFilter({ table: "Cars", measure: "Make" }, "In", ["subaru", "honda"])).toJSON(), - (new models.AdvancedFilter({ table: "Cars", measure: "Make" }, "And", [{ value: "subaru", operator: "None" }, { value: "honda", operator: "Contains" }])).toJSON() - ] - }; - - // Act - embeddedVisual.setFilters(testData.filters, models.FiltersLevel.Report); - - // Assert - expect(spyHpm.put).toHaveBeenCalledWith('/report/filters', testData.filters, { uid: visualUniqueId }, visualFrame.contentWindow); - }); - - it('embeddedVisual.getFilters(models.FiltersLevel.Page) sends GET /report/pages/ReportSection1/filters', function () { - // Act - embeddedVisual.getFilters(models.FiltersLevel.Page); - - // Assert - expect(spyHpm.get).toHaveBeenCalledWith(`/report/pages/ReportSection1/filters`, { uid: visualUniqueId }, visualFrame.contentWindow); - }); - - it('embeddedVisual.setFilters(filters, models.FiltersLevel.Page) sends PUT /report/pages/ReportSection1/filters', function () { - // Arrange - const testData = { - filters: [ - (new models.BasicFilter({ table: "Cars", measure: "Make" }, "In", ["subaru", "honda"])).toJSON(), - (new models.AdvancedFilter({ table: "Cars", measure: "Make" }, "And", [{ value: "subaru", operator: "None" }, { value: "honda", operator: "Contains" }])).toJSON() - ], - response: { - body: [] - } - }; - - spyHpm.put.and.returnValue(Promise.resolve(testData.response)); - - // Act - embeddedVisual.setFilters(testData.filters, models.FiltersLevel.Page); - - // Assert - expect(spyHpm.put).toHaveBeenCalledWith(`/report/pages/ReportSection1/filters`, testData.filters, { uid: visualUniqueId }, visualFrame.contentWindow); - }); - - it('embeddedVisual.getFilters() sends GET /report/pages/ReportSection1/visuals/VisualContainer1/filters', function () { - // Act - embeddedVisual.getFilters(); - - // Assert - expect(spyHpm.get).toHaveBeenCalledWith(`/report/pages/ReportSection1/visuals/VisualContainer1/filters`, { uid: visualUniqueId }, visualFrame.contentWindow); - }); - - it('embeddedVisual.setFilters(filters) sends PUT /report/pages/ReportSection1/visuals/VisualContainer1/filters', function () { - // Arrange - const testData = { - filters: [ - (new models.BasicFilter({ table: "Cars", measure: "Make" }, "In", ["subaru", "honda"])).toJSON(), - (new models.AdvancedFilter({ table: "Cars", measure: "Make" }, "And", [{ value: "subaru", operator: "None" }, { value: "honda", operator: "Contains" }])).toJSON() - ], - response: { - body: [] - } - }; - - spyHpm.put.and.returnValue(Promise.resolve(testData.response)); - - // Act - embeddedVisual.setFilters(testData.filters); - - // Assert - expect(spyHpm.put).toHaveBeenCalledWith(`/report/pages/ReportSection1/visuals/VisualContainer1/filters`, testData.filters, { uid: visualUniqueId }, visualFrame.contentWindow); - }); - - it('Not supported visual method: getPages', function () { - // Act - const attempt = () => { - embeddedVisual.getPages() - }; - - // Assert - expect(attempt).toThrow(visual.Visual.GetPagesNotSupportedError); - }); - - it('Not supported visual method: setPage', function () { - // Act - const attempt = () => { - embeddedVisual.setPage(null) - }; - - // Assert - expect(attempt).toThrow(visual.Visual.SetPageNotSupportedError); - }); - - describe('getVisualDescriptor', function () { - it('embeddedVisual.getVisualDescriptor() sends GET /report/pages/xyz/visuals', function () { - // Arrange - - // Act - embeddedVisual.getVisualDescriptor(); - - // Assert - expect(spyHpm.get).toHaveBeenCalledWith(`/report/pages/ReportSection1/visuals`, { uid: visualUniqueId }, visualFrame.contentWindow); - }); - - it('embeddedVisual.getVisualDescriptor() returns promise that rejects with server error if there was error getting visual details', function (done) { - // Arrange - const testData = { - expectedError: { - body: { - message: 'internal server error' - } - } - }; - - spyHpm.get.and.returnValue(Promise.reject(testData.expectedError)); - - // Act - embeddedVisual.getVisualDescriptor() - .catch(error => { - // Assert - expect(spyHpm.get).toHaveBeenCalledWith(`/report/pages/ReportSection1/visuals`, { uid: visualUniqueId }, visualFrame.contentWindow); - expect(error).toEqual(testData.expectedError.body); - done(); - }); - }); - - it('embeddedVisual.getVisualDescriptor() returns promise that resolves with visual details', function (done) { - // Arrange - const fakeVisualDescriptor = new visualDescriptor.VisualDescriptor(page1, visualEmbedConfiguration.visualName, 'title', 'type', {}); - const testData = { - expectedResponse: { - body: [fakeVisualDescriptor] - } - }; - - spyHpm.get.and.returnValue(Promise.resolve(testData.expectedResponse)); - - // Act - embeddedVisual.getVisualDescriptor() - .then(visualDescriptor => { - // Assert - expect(spyHpm.get).toHaveBeenCalledWith(`/report/pages/ReportSection1/visuals`, { uid: visualUniqueId }, visualFrame.contentWindow); - expect(visualDescriptor.name).toEqual(fakeVisualDescriptor.name); - done(); - }); - }); - }); - }); - - describe('pages', function () { - it('report.getPages() sends GET /report/pages', function () { - // Arrange - const testData = { - response: { - body: [ - { - name: 'page1' - } - ] - } - }; - - spyHpm.get.and.returnValue(Promise.resolve(testData.response)); - - // Act - report.getPages(); - - // Assert - expect(spyHpm.get).toHaveBeenCalledWith('/report/pages', { uid: uniqueId }, iframe.contentWindow); - }); - - it('report.getPages() return promise that rejects with server error if there was error getting pages', function (done) { - // Arrange - const testData = { - expectedError: { - body: { - message: 'internal server error' - } - } - }; - - spyHpm.get.and.returnValue(Promise.reject(testData.expectedError)); - - // Act - report.getPages() - .catch(error => { - // Assert - expect(spyHpm.get).toHaveBeenCalledWith('/report/pages', { uid: uniqueId }, iframe.contentWindow); - expect(error).toEqual(testData.expectedError.body); - done(); - }); - }); - - it('report.getPages() returns promise that resolves with list of Page objects', function (done) { - // Arrange - const testData = { - pages: [ - 'page1', - 'page2' - ], - expectedResponse: { - body: [ - report.page('page1'), - report.page('page2') - ] - } - }; - - spyHpm.get.and.returnValue(Promise.resolve(testData.expectedResponse)); - - // Act - report.getPages() - .then(pages => { - // Assert - expect(spyHpm.get).toHaveBeenCalledWith('/report/pages', { uid: uniqueId }, iframe.contentWindow); - expect(pages[0].name).toEqual(testData.expectedResponse.body[0].name); - expect(pages[1].name).toEqual(testData.expectedResponse.body[1].name); - done(); - }); - }); - - it('report.getPageByName() returns promise that rejects if report page with given page name not found', function (done) { - // Arrange - const pageName = 'page1'; - const testData = { - expectedError: { - body: { - message: 'page not found' - } - } - }; - - spyHpm.get.and.returnValue(Promise.reject(testData.expectedError)); - - // Act - report.getPageByName(pageName) - .catch(error => { - // Assert - expect(spyHpm.get).toHaveBeenCalledWith('/report/pages', { uid: uniqueId }, iframe.contentWindow); - expect(error).toEqual(testData.expectedError.body); - done(); - }); - }); - - it('report.getPageByName(pageName) returns promise that resolves with page if request is successful', function (done) { - // Arrange - const pageName = "page1"; - const testData = { - expectedResponse: - { - report: report, - name: "page1", - displayName: "Page 1", - isActive: true - } - }; - - spyApp.getPageByName.and.returnValue(Promise.resolve(testData.expectedResponse)); - - // Act - spyApp.getPageByName(pageName) - .then(page => { - // Assert - expect(spyApp.getPageByName).toHaveBeenCalled(); - expect(page.name).toEqual(testData.expectedResponse.name); - expect(page.isActive).toEqual(testData.expectedResponse.isActive); - done(); - }); - }); - - it('report.getActivePage() sends GET /report/pages', function () { - // Arrange - const testData = { - response: { - body: [ - { - name: 'page1' - } - ] - } - }; - - spyHpm.get.and.returnValue(Promise.resolve(testData.response)); - - // Act - report.getActivePage(); - - // Assert - expect(spyHpm.get).toHaveBeenCalledWith('/report/pages', { uid: uniqueId }, iframe.contentWindow); - }); - - it('report.getActivePage() return promise that rejects with server error if there was error getting active page', function (done) { - // Arrange - const testData = { - expectedError: { - body: { - message: 'internal server error' - } - } - }; - - spyHpm.get.and.returnValue(Promise.reject(testData.expectedError)); - - // Act - report.getActivePage() - .catch(error => { - // Assert - expect(spyHpm.get).toHaveBeenCalledWith('/report/pages', { uid: uniqueId }, iframe.contentWindow); - expect(error).toEqual(testData.expectedError.body); - done(); - }); - }); - - it('report.getActivePage() return promise that rejects if embedded report is an RDL report', function (done) { - // Arrange - const testData = { - expectedError: { - body: { - message: APINotSupportedForRDLError - } - } - }; - - spyHpm.get.and.returnValue(Promise.reject(testData.expectedError)); - - // Act - report.getActivePage() - .catch(error => { - // Assert - expect(spyHpm.get).toHaveBeenCalledWith('/report/pages', { uid: uniqueId }, iframe.contentWindow); - expect(error).toEqual(testData.expectedError.body); - done(); - }); - }); - - it('report.getActivePage() returns promise that resolves with a page if request is successful', function (done) { - // Arrange - const testData = { - expectedResponse: - { - report: report, - name: "page1", - displayName: "Page 1", - isActive: true - } - }; - - spyApp.getActivePage.and.returnValue(Promise.resolve(testData.expectedResponse)); - - // Act - spyApp.getActivePage() - .then(page => { - // Assert - expect(spyApp.getActivePage).toHaveBeenCalled(); - expect(page.name).toEqual(testData.expectedResponse.name); - expect(page.isActive).toEqual(testData.expectedResponse.isActive); - 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.renamePage() sends PUT /report/pages/{name} with displayName', function () { - // Arrange - const name = "testName"; - const displayName = "newName"; - const expectedHeaders = { uid: uniqueId }; - const expectedRequest = { - name, - displayName - }; - - spyHpm.put.and.returnValue(Promise.resolve(null)); - - // Act - report.renamePage(name, displayName); - - expect(spyHpm.put).toHaveBeenCalledWith(`/report/pages/${name}/name`, expectedRequest, expectedHeaders, iframe.contentWindow); - }); - - it('report.deletePage() sends DELETE /report/pages/{name}', 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 () { - it('report.getFilters() sends GET /report/filters', function () { - // Arrange - const testData = { - response: { - body: [ - (new models.BasicFilter({ table: "Cars", measure: "Make" }, "In", ["subaru", "honda"])).toJSON(), - (new models.AdvancedFilter({ table: "Cars", measure: "Make" }, "And", [{ value: "subaru", operator: "None" }, { value: "honda", operator: "Contains" }])).toJSON() - ] - } - }; - - spyHpm.get.and.returnValue(Promise.resolve(testData.response)); - - // Act - report.getFilters(); - - // Assert - expect(spyHpm.get).toHaveBeenCalledWith('/report/filters', { uid: uniqueId }, iframe.contentWindow); - }); - - it('report.getFilters() returns promise that rejects with server error if there was error getting filters', function (done) { - // Arrange - const testData = { - expectedErrors: { - body: [ - { - message: 'target is invalid, missing property x' - } - ] - } - }; - - spyHpm.get.and.returnValue(Promise.reject(testData.expectedErrors)); - - // Act - report.getFilters() - .catch(errors => { - // Assert - expect(spyHpm.get).toHaveBeenCalledWith('/report/filters', { uid: uniqueId }, iframe.contentWindow); - expect(errors).toEqual(jasmine.objectContaining(testData.expectedErrors.body)); - done(); - }); - }); - - it('report.getFilters() returns promise that resolves with the filters if the request is accepted', function (done) { - // Arrange - const testData = { - response: { - body: [ - (new models.BasicFilter({ table: "Cars", measure: "Make" }, "In", ["subaru", "honda"])).toJSON(), - (new models.AdvancedFilter({ table: "Cars", measure: "Make" }, "And", [{ value: "subaru", operator: "None" }, { value: "honda", operator: "Contains" }])).toJSON() - ] - } - }; - - spyHpm.get.and.returnValue(Promise.resolve(testData.response)); - - // Act - report.getFilters() - .then(filters => { - // Assert - expect(spyHpm.get).toHaveBeenCalledWith('/report/filters', { uid: uniqueId }, iframe.contentWindow); - expect(filters).toEqual(testData.response.body); - done(); - }); - }); - - it('report.setFilters(filters) sends PUT /report/filters', function () { - // Arrange - const testData = { - filters: [ - (new models.BasicFilter({ table: "Cars", measure: "Make" }, "In", ["subaru", "honda"])).toJSON(), - (new models.AdvancedFilter({ table: "Cars", measure: "Make" }, "And", [{ value: "subaru", operator: "None" }, { value: "honda", operator: "Contains" }])).toJSON() - ] - }; - - // Act - report.setFilters(testData.filters); - - // Assert - expect(spyHpm.put).toHaveBeenCalledWith('/report/filters', testData.filters, { uid: uniqueId }, iframe.contentWindow); - }); - - it('report.setFilters(filters) returns promise that rejects with validation errors if filter is invalid', function (done) { - // Arrange - const testData = { - filters: [ - (new models.BasicFilter({ table: "Cars", measure: "Make" }, "In", ["subaru", "honda"])).toJSON(), - (new models.AdvancedFilter({ table: "Cars", measure: "Make" }, "And", [{ value: "subaru", operator: "None" }, { value: "honda", operator: "Contains" }])).toJSON() - ], - expectedErrors: { - body: [ - { - message: 'target is invalid, missing property x' - } - ] - } - }; - - spyHpm.put.and.returnValue(Promise.reject(testData.expectedErrors)); - - // Act - report.setFilters(testData.filters) - .catch(errors => { - // Assert - expect(spyHpm.put).toHaveBeenCalledWith('/report/filters', testData.filters, { uid: uniqueId }, iframe.contentWindow); - expect(errors).toEqual(jasmine.objectContaining(testData.expectedErrors.body)); - done(); - }); - }); - - it('report.setFilters(filters) returns promise that resolves with null if filter was valid and request is accepted', function (done) { - // Arrange - const testData = { - filters: [ - (new models.BasicFilter({ table: "Cars", measure: "Make" }, "In", ["subaru", "honda"])).toJSON(), - (new models.AdvancedFilter({ table: "Cars", measure: "Make" }, "And", [{ value: "subaru", operator: "None" }, { value: "honda", operator: "Contains" }])).toJSON() - ] - }; - - spyHpm.put.and.returnValue(Promise.resolve(null)); - - // Act - report.setFilters(testData.filters) - .then(response => { - // Assert - expect(spyHpm.put).toHaveBeenCalledWith('/report/filters', testData.filters, { uid: uniqueId }, iframe.contentWindow); - expect(response).toEqual(null); - done(); - }); - }); - - it('report.removeFilters() sends PUT /report/filters', function () { - // Arrange - - // Act - report.removeFilters(); - - // Assert - expect(spyHpm.post).toHaveBeenCalledWith('/report/filters', { filtersOperation: models.FiltersOperations.RemoveAll, filters: undefined }, { uid: uniqueId }, iframe.contentWindow); - }); - - it('report.removeFilters() returns promise that resolves with null if request is accepted', function (done) { - // Arrange - spyHpm.post.and.returnValue(Promise.resolve(null)); - - // Act - report.removeFilters() - .then(response => { - // Assert - expect(spyHpm.post).toHaveBeenCalledWith('/report/filters', { filtersOperation: models.FiltersOperations.RemoveAll, filters: undefined }, { uid: uniqueId }, iframe.contentWindow); - expect(response).toEqual(null); - done(); - }); - }); - }); - - describe('switchMode', function () { - it('report.switchMode() sends POST /report/switchMode', function () { - // Arrange - spyHpm.post.and.returnValue(Promise.resolve({ - body: {} - })); - - // Act - report.switchMode(models.ViewMode.Edit); - - // Assert - let url = '/report/switchMode/edit'; - expect(spyHpm.post).toHaveBeenCalledWith(url, null, { uid: uniqueId }, iframe.contentWindow); - }); - - it('report.switchMode() returns promise that resolves if the request is accepted', function (done) { - // Arrange - spyHpm.post.and.returnValue(Promise.resolve({ - body: {} - })); - - // Act - report.switchMode(models.ViewMode.Edit) - .then(() => { - // Assert - let url = '/report/switchMode/edit'; - expect(spyHpm.post).toHaveBeenCalledWith(url, null, { uid: uniqueId }, iframe.contentWindow); - done(); - }); - }); - }); - - describe('save', function () { - it('report.save() sends POST /report/save', function () { - // Arrange - spyHpm.post.and.returnValue(Promise.resolve({ - body: {} - })); - - // Act - report.save(); - - // Assert - expect(spyHpm.post).toHaveBeenCalledWith('/report/save', null, { uid: uniqueId }, iframe.contentWindow); - }); - - it('report.save() returns promise that resolves if the request is accepted', function (done) { - // Arrange - spyHpm.post.and.returnValue(Promise.resolve({ - body: {} - })); - - // Act - report.save() - .then(() => { - // Assert - expect(spyHpm.post).toHaveBeenCalledWith('/report/save', null, { uid: uniqueId }, iframe.contentWindow); - done(); - }); - }); - }); - - describe('switchLayout', function () { - it('report.switchLayout(layout) returns promise that rejects with errors if there was error if initial layout and current layout type do not match', function (done) { - // Arrange - // Set initial layout to desktop layout - report.config.settings.layoutType = models.LayoutType.Master; - - const layoutType = models.LayoutType.MobileLandscape; - const testData = { - expectedError: { - message: 'Switching between mobile and desktop layouts is not supported. Please reset the embed container and re-embed with required layout.' - }, - settings: { - layoutType: layoutType - } - }; - - spyHpm.patch.and.returnValues(Promise.reject(testData.expectedError)); - - // Act - report.switchLayout(layoutType) - .catch(error => { - // Assert - expect(spyHpm.patch).not.toHaveBeenCalledWith('/report/settings', testData.settings, { uid: uniqueId }, iframe.contentWindow); - expect(error).toEqual(testData.expectedError.message); - done(); - }); - }); - - it('report.switchLayout(layout) returns promise that resolves with null if requst is valid and accepted', function (done) { - // Arrange - // Set initial layout to mobile layout - report.config.settings.layoutType = models.LayoutType.MobilePortrait; - - const layoutType = models.LayoutType.MobileLandscape; - - spyApp.switchLayout.and.returnValue(Promise.resolve(null)); - - // Act - spyApp.switchLayout(layoutType) - .then(response => { - // Assert - expect(spyApp.switchLayout).toHaveBeenCalled(); - expect(response).toEqual(null); - done(); - }); - }); - }); - - describe('saveAs', function () { - let saveAsParameters: models.ISaveAsParameters = { name: "reportName" }; - - it('report.saveAs() sends POST /report/saveAs', function () { - // Arrange - spyHpm.post.and.returnValue(Promise.resolve({ - body: {} - })); - - // Act - report.saveAs(saveAsParameters); - - // Assert - expect(spyHpm.post).toHaveBeenCalledWith('/report/saveAs', saveAsParameters, { uid: uniqueId }, iframe.contentWindow); - }); - - it('report.saveAs() returns promise that resolves if the request is accepted', function (done) { - // Arrange - spyHpm.post.and.returnValue(Promise.resolve({ - body: {} - })); - - // Act - report.saveAs(saveAsParameters) - .then(() => { - // Assert - expect(spyHpm.post).toHaveBeenCalledWith('/report/saveAs', saveAsParameters, { uid: uniqueId }, iframe.contentWindow); - done(); - }); - }); - }); - - describe('setAccessToken', function () { - let accessToken: string = "fakeToken"; - - it('report.setAccessToken() sends POST /report/token', function () { - // Arrange - spyHpm.post.and.returnValue(Promise.resolve({ - body: {} - })); - - // Act - report.setAccessToken(accessToken); - - // Assert - expect(spyHpm.post).toHaveBeenCalledWith('/report/token', accessToken, { uid: uniqueId }, iframe.contentWindow); - }); - - it('report.setAccessToken() returns promise that resolves if the request is accepted', function (done) { - // Arrange - spyHpm.post.and.returnValue(Promise.resolve({ - body: {} - })); - - let newToken = "newToken" - // Act - report.setAccessToken(newToken) - .then(() => { - // Assert - expect(spyHpm.post).toHaveBeenCalledWith('/report/token', newToken, { uid: uniqueId }, iframe.contentWindow); - expect(report.service.accessToken).toEqual(newToken); - expect(report.config.accessToken).toEqual(newToken); - expect(report.element.getAttribute(embed.Embed.accessTokenAttribute)).toEqual(newToken); - done(); - }); - }); - }); - - describe('print', function () { - it('report.print() sends POST /report/print', function () { - // Arrange - spyHpm.post.and.returnValue(Promise.resolve({ - body: {} - })); - - // Act - report.print(); - - // Assert - expect(spyHpm.post).toHaveBeenCalledWith('/report/print', null, { uid: uniqueId }, iframe.contentWindow); - }); - - it('report.print() returns promise that resolves if the request is accepted', function (done) { - // Arrange - spyHpm.post.and.returnValue(Promise.resolve({ - body: {} - })); - - // Act - report.print() - .then(() => { - // Assert - expect(spyHpm.post).toHaveBeenCalledWith('/report/print', null, { uid: uniqueId }, iframe.contentWindow); - done(); - }); - }); - }); - - describe('reload', function () { - it('report.reload() sends POST /report/load with configuration in body', function (done) { - // Arrange - const testData = { - loadConfiguration: { - id: 'fakeId', - accessToken: 'fakeToken' - }, - response: { - body: null - } - }; - - spyHpm.post.and.returnValue(Promise.resolve(testData.response)); - let expectedConfiguration = utils.assign({}, report.config, testData.loadConfiguration); - report.config = expectedConfiguration; - report.load() - .then(() => { - spyHpm.post.calls.reset(); - - // Act - report.reload(); - - const expectedHeaders = { - bootstrapped: undefined, - sdkVersion: sdkConfig.default.version, - uid: uniqueId, - sdkSessionId: sdkSessionId - }; - - // Assert - expect(spyHpm.post).toHaveBeenCalledWith('/report/load', expectedConfiguration, expectedHeaders, iframe.contentWindow); - done(); - }); - }); - }); - - describe('refresh', function () { - it('report.refresh() sends POST /report/refresh', function () { - // Arrange - spyHpm.post.and.returnValue(Promise.resolve({ - body: {} - })); - - // Act - report.refresh(); - - // Assert - expect(spyHpm.post).toHaveBeenCalledWith('/report/refresh', null, { uid: uniqueId }, iframe.contentWindow); - }); - }); - - describe('settings', function () { - it('report.updateSettings(settings) sends PATCH /report/settings with settings object', function () { - // Arrange - const testData = { - settings: { - filterPaneEnabled: false - } - }; - - // Act - report.updateSettings(testData.settings); - - // Assert - expect(spyHpm.patch).toHaveBeenCalledWith('/report/settings', testData.settings, { uid: uniqueId }, iframe.contentWindow); - }); - - it('report.updateSettings(setting) returns promise that rejects with validation error if object is invalid', function (done) { - // Arrange - const testData = { - settings: { - filterPaneEnabled: false - }, - expectedError: { - body: [ - { - message: 'settings object is invalid' - } - ] - } - }; - - spyHpm.patch.and.returnValue(Promise.reject(testData.expectedError)); - - // Act - report.updateSettings(testData.settings) - .catch(errors => { - - // Assert - expect(spyHpm.patch).toHaveBeenCalledWith('/report/settings', testData.settings, { uid: uniqueId }, iframe.contentWindow); - expect(errors).toEqual(testData.expectedError.body); - done() - }); - }); - - it('report.updateSettings(settings) returns promise that resolves with null if requst is valid and accepted', function (done) { - // Arrange - const testData = { - settings: { - filterPaneEnabled: false - } - }; - - spyHpm.patch.and.returnValue(Promise.resolve(null)); - - // Act - report.updateSettings(testData.settings) - .then(response => { - - // Assert - expect(spyHpm.patch).toHaveBeenCalledWith('/report/settings', testData.settings, { uid: uniqueId }, iframe.contentWindow); - expect(response).toEqual(null); - done() - }); - }); - - it('report.addContextMenuCommand(commandName, commandTitle, contextMenuTitle) returns promise that rejects with validation errors if extensions property is invalid', function (done) { - // Arrange - const commandName = "name1"; - const commandTitle = "title1"; - const contextMenuTitle = "menu1"; - const testData = { - expectedError: { - body: [ - { - message: 'extensions property is invalid' - } - ] - }, - settings: { - extensions: { - commands: [{ - name: "name1", - title: "title1", - extend: { - visualContextMenu: { - title: contextMenuTitle, - menuLocation: 0 - } - } - }], - groups: [] - } - } - }; - - spyHpm.patch.and.returnValues(Promise.reject(testData.expectedError)); - - // Act - report.addContextMenuCommand(commandName, commandTitle, contextMenuTitle, 0, "", "", "") - .catch(error => { - // Assert - expect(spyHpm.patch).toHaveBeenCalledWith('/report/settings', testData.settings, { uid: uniqueId }, iframe.contentWindow); - expect(error).toEqual(jasmine.objectContaining(testData.expectedError.body)); - done(); - }); - }); - - it('report.addContextMenuCommand(commandName, commandTitle, contextMenuTitle) returns promise that resolves with null if requst is valid and accepted', function (done) { - // Arrange - const commandName = "name2"; - const commandTitle = "title2"; - const contextMenuTitle = "menu2"; - - spyApp.addContextMenuCommand.and.returnValue(Promise.resolve(null)); - - // Act - spyApp.addContextMenuCommand(commandName, commandTitle, contextMenuTitle) - .then(response => { - // Assert - expect(spyApp.addContextMenuCommand).toHaveBeenCalled(); - expect(response).toEqual(null); - done(); - }); - }); - - it('report.addOptionsMenuCommand(commandName, commandTitle, optionsMenuTitle) returns promise that rejects with validation errors if extensions property is invalid', function (done) { - // Arrange - const commandName = "name1"; - const commandTitle = "title1"; - const optionsMenuTitle = "menu1"; - const testData = { - expectedError: { - body: [ - { - message: 'extensions property is invalid' - } - ] - }, - settings: { - extensions: { - commands: [{ - name: "name1", - title: "title1", - extend: { - visualOptionsMenu: { - title: "menu1", - menuLocation: 0, - } - }, - icon: undefined - }], - groups: [] - } - } - }; - - spyHpm.patch.and.returnValues(Promise.reject(testData.expectedError)); - - // Act - report.addOptionsMenuCommand(commandName, commandTitle, optionsMenuTitle) - .catch(error => { - // Assert - expect(spyHpm.patch).toHaveBeenCalledWith('/report/settings', testData.settings, { uid: uniqueId }, iframe.contentWindow); - expect(error).toEqual(jasmine.objectContaining(testData.expectedError.body)); - done(); - }); - }); - - it('report.addOptionsMenuCommand(commandName, commandTitle, optionsMenuTitle) returns promise that resolves with null if requst is valid and accepted', function (done) { - // Arrange - const commandName = "name2"; - const commandTitle = "title2"; - const optionsMenuTitle = "menu2"; - - spyApp.addOptionsMenuCommand.and.returnValue(Promise.resolve(null)); - - // Act - spyApp.addOptionsMenuCommand(commandName, commandTitle, optionsMenuTitle) - .then(response => { - // Assert - expect(spyApp.addOptionsMenuCommand).toHaveBeenCalled(); - expect(response).toEqual(null); - done(); - }); - }); - - it('report.removeContextMenuCommand(commandName) returns promise that rejects with validation errors if command name is invalid', function (done) { - // Arrange - const commandName = "name1"; - const testData = { - expectedError: { - message: 'PowerBIEntityNotFound' - }, - settings: { - extensions: { - commands: [{ - name: "name1", - title: "title1", - extend: { - } - }] - } - } - }; - - spyApp.removeContextMenuCommand.and.returnValues(Promise.reject(testData.expectedError)); - - // Act - spyApp.removeContextMenuCommand(commandName) - .catch(error => { - // Assert - expect(spyHpm.patch).not.toHaveBeenCalledWith('/report/settings', testData.settings, { uid: uniqueId }, iframe.contentWindow); - expect(error).toEqual(jasmine.objectContaining(testData.expectedError)); - done(); - }); - }); - - it('report.removeContextMenuCommand(commandName) returns promise that resolves with null if requst is valid and accepted', function (done) { - // Arrange - const commandName = "name2"; - - spyApp.removeContextMenuCommand.and.returnValue(Promise.resolve(null)); - - // Act - spyApp.removeContextMenuCommand(commandName) - .then(response => { - // Assert - expect(spyApp.removeContextMenuCommand).toHaveBeenCalled(); - expect(response).toEqual(null); - done(); - }); - }); - - it('report.removeOptionsMenuCommand(commandName) returns promise that rejects with validation errors if command name is invalid', function (done) { - // Arrange - const commandName = "name1"; - const testData = { - expectedError: { - message: 'PowerBIEntityNotFound' - }, - settings: { - extensions: { - commands: [{ - name: "name1", - title: "title1", - icon: "", - extend: { - } - }] - } - } - }; - - spyApp.removeOptionsMenuCommand.and.returnValues(Promise.reject(testData.expectedError)); - - // Act - spyApp.removeOptionsMenuCommand(commandName) - .catch(error => { - // Assert - expect(spyHpm.patch).not.toHaveBeenCalledWith('/report/settings', testData.settings, { uid: uniqueId }, iframe.contentWindow); - expect(error).toEqual(jasmine.objectContaining(testData.expectedError)); - done(); - }); - }); - - it('report.removeOptionsMenuCommand(commandName) returns promise that resolves with null if requst is valid and accepted', function (done) { - // Arrange - const commandName = "name2"; - - spyApp.removeOptionsMenuCommand.and.returnValue(Promise.resolve(null)); - - // Act - spyApp.removeOptionsMenuCommand(commandName) - .then(response => { - // Assert - expect(spyApp.removeOptionsMenuCommand).toHaveBeenCalled(); - expect(response).toEqual(null); - done(); - }); - }); - - it('report.setVisualDisplayState(pageName, visualName, displayState) returns promise that rejects with validation error if display state is invalid', function (done) { - // Arrange - const pageName = 'page1'; - const visualName = 'visual'; - const displayState = 2; - const testData = { - expectedError: { - body: { - message: 'display state is invalid' - } - } - }; - - spyHpm.get.and.returnValue(Promise.reject(testData.expectedError)); - - // Act - report.setVisualDisplayState(pageName, visualName, displayState) - .catch(error => { - // Assert - expect(spyHpm.get).toHaveBeenCalledWith('/report/pages', { uid: uniqueId }, iframe.contentWindow); - expect(error).toEqual(testData.expectedError.body); - done(); - }); - }); - - it('report.setVisualDisplayState(pageName, visualName, displayState) returns promise that resolves with null if requst is valid and accepted', function (done) { - // Arrange - const pageName = 'page1'; - const visualName = 'visual'; - const displayState = models.VisualContainerDisplayMode.Visible; - - spyApp.setVisualDisplayState.and.returnValue(Promise.resolve(null)); - - // Act - spyApp.setVisualDisplayState(pageName, visualName, displayState) - .then(response => { - // Assert - expect(spyApp.setVisualDisplayState).toHaveBeenCalled(); - expect(response).toEqual(null); - done(); - }); - }); - - it('report.resizeVisual returns promise that rejects with validation error if page name is invalid', function (done) { - // Arrange - const pageName = 'invalid page'; - const visualName = 'visual'; - const width = 200; - const height = 100; - const testData = { - expectedError: { - body: { - message: 'page name is invalid' - } - } - }; - - spyHpm.get.and.returnValue(Promise.reject(testData.expectedError)); - - // Act - report.resizeVisual(pageName, visualName, width, height) - .catch(error => { - // Assert - expect(spyHpm.get).toHaveBeenCalledWith('/report/pages', { uid: uniqueId }, iframe.contentWindow); - expect(error).toEqual(testData.expectedError.body); - done(); - }); - }); - - it('report.resizeVisual returns promise that resolves with null if request is valid and accepted', function (done) { - // Arrange - const pageName = 'page1'; - const visualName = 'visual'; - const width = 200; - const height = 100; - - spyApp.resizeVisual.and.returnValue(Promise.resolve(null)); - - // Act - spyApp.resizeVisual(pageName, visualName, width, height) - .then(response => { - // Assert - expect(spyApp.resizeVisual).toHaveBeenCalled(); - expect(response).toEqual(null); - done(); - }); - }); - - it('report.resizeActivePage returns promise that rejects with validation error if page size type is invalid', function (done) { - // Arrange - const pageSizeType = 5; - const width = 200; - const height = 100; - const testData = { - expectedError: { - body: { - message: 'page size type is invalid' - } - }, - settings: { - layoutType: models.LayoutType.Custom, - customLayout: { - pageSize: { - type: pageSizeType, - width: width, - height: height - } - } - } - }; - - spyHpm.patch.and.returnValue(Promise.reject(testData.expectedError)); - - // Act - report.resizeActivePage(pageSizeType, width, height) - .catch(error => { - // Assert - expect(spyHpm.patch).toHaveBeenCalledWith('/report/settings', testData.settings, { uid: uniqueId }, iframe.contentWindow); - expect(error).toEqual(testData.expectedError.body); - done(); - }); - }); - - it('report.resizeActivePage returns promise that resolves with null if request is valid and accepted', function (done) { - // Arrange - const pageSizeType = models.PageSizeType.Custom; - const width = 200; - const height = 100; - - spyApp.resizeActivePage.and.returnValue(Promise.resolve(null)); - - // Act - spyApp.resizeActivePage(pageSizeType, width, height) - .then(response => { - // Assert - expect(spyApp.resizeActivePage).toHaveBeenCalled(); - expect(response).toEqual(null); - done(); - }); - }); - - it('moveVisual returns promise that rejects with validation error if visual name is invalid', function (done) { - // Arrange - const pageName = 'page1'; - const visualName = 'invalid visual'; - const x = 0; - const y = 0; - const testData = { - expectedError: { - body: { - message: 'visual name is invalid' - } - } - }; - - spyHpm.get.and.returnValue(Promise.reject(testData.expectedError)); - - // Act - report.moveVisual(pageName, visualName, x, y) - .catch(error => { - // Assert - expect(spyHpm.get).toHaveBeenCalledWith('/report/pages', { uid: uniqueId }, iframe.contentWindow); - expect(error).toEqual(testData.expectedError.body); - done(); - }); - }); - - it('moveVisual returns promise that resolves with null if requst is valid and accepted', function (done) { - // Arrange - const pageName = 'page1'; - const visualName = 'visual'; - const x = 0; - const y = 0; - - spyApp.moveVisual.and.returnValue(Promise.resolve(null)); - - // Act - spyApp.moveVisual(pageName, visualName, x, y) - .then(response => { - // Assert - expect(spyApp.moveVisual).toHaveBeenCalled(); - expect(response).toEqual(null); - done(); - }); - }); - }); - }); - - describe('create', function () { - describe('createReport', function () { - it('create.createReport() sends POST /report/create with configuration in body', function () { - // Arrange - const testData = { - createConfiguration: { - datasetId: 'fakeId', - accessToken: 'fakeToken' - }, - response: { - body: null - } - }; - - spyHpm.post.and.returnValue(Promise.resolve(testData.response)); - - // Act - create.createReport(testData.createConfiguration); - - // Assert - expect(spyHpm.post).toHaveBeenCalledWith('/report/create', testData.createConfiguration, { uid: createUniqueId, sdkSessionId: sdkSessionId }, createIframe.contentWindow); - }); - - it('create.createReport() returns promise that rejects with validation error if the create configuration is invalid', function (done) { - // Arrange - const testData = { - createConfiguration: { - datasetId: 'fakeId', - accessToken: 'fakeToken' - }, - errorResponse: { - body: { - message: "invalid configuration object" - } - } - }; - - spyHpm.post.and.returnValue(Promise.reject(testData.errorResponse)); - - // Act - create.createReport(testData.createConfiguration) - .catch(error => { - expect(spyHpm.post).toHaveBeenCalledWith('/report/create', testData.createConfiguration, { uid: createUniqueId, sdkSessionId: sdkSessionId }, createIframe.contentWindow); - expect(error).toEqual(testData.errorResponse.body); - // Assert - done(); - }); - }); - - it('create.createReport() returns promise that resolves with null if create report was successful', function (done) { - // Arrange - const testData = { - createConfiguration: { - datasetId: 'fakeId', - accessToken: 'fakeToken' - }, - response: { - body: null - } - }; - - spyHpm.post.and.returnValue(Promise.resolve(testData.response)); - - // Act - create.createReport(testData.createConfiguration) - .then(response => { - expect(spyHpm.post).toHaveBeenCalledWith('/report/create', testData.createConfiguration, { uid: createUniqueId, sdkSessionId: sdkSessionId }, createIframe.contentWindow); - expect(response).toEqual(null); - // Assert - done(); - }); - }); - }); - }); - - describe('dashboard', function () { - describe('load', function () { - it('dashboard.load() sends POST /dashboard/load with configuration in body', function () { - // Arrange - const testData = { - loadConfiguration: { - id: 'fakeId', - accessToken: 'fakeToken', - type: 'dashboard' - }, - response: { - body: null - } - }; - - spyHpm.post.and.returnValue(Promise.resolve(testData.response)); - - // Act - let expectedConfiguration = utils.assign({}, dashboard.config, testData.loadConfiguration); - dashboard.config = expectedConfiguration; - dashboard.load(); - - const expectedHeaders = { - bootstrapped: undefined, - sdkVersion: sdkConfig.default.version, - uid: dashboardUniqueId, - sdkSessionId: sdkSessionId - }; - - // Assert - expect(spyHpm.post).toHaveBeenCalledWith('/dashboard/load', expectedConfiguration, expectedHeaders, dashboardIframe.contentWindow); - }); - }); - }); - - describe('page', function () { - describe('filters', function () { - it('page.getFilters() sends GET /report/pages/xyz/filters', function () { - // Arrange - - // Act - page1.getFilters(); - - // Assert - expect(spyHpm.get).toHaveBeenCalledWith(`/report/pages/${page1.name}/filters`, { uid: uniqueId }, iframe.contentWindow); - }); - - it('page.getFilters() return promise that rejects with server error if there was error getting filters', function (done) { - // Arrange - const testData = { - expectedError: { - body: { - message: 'internal server error' - } - } - }; - - spyHpm.get.and.returnValue(Promise.reject(testData.expectedError)); - - // Act - page1.getFilters() - .catch(error => { - // Assert - expect(spyHpm.get).toHaveBeenCalledWith(`/report/pages/${page1.name}/filters`, { uid: uniqueId }, iframe.contentWindow); - expect(error).toEqual(testData.expectedError.body); - done(); - }); - }); - - it('page.getFilters() returns promise that resolves with list of filters', function (done) { - // Arrange - const testData = { - expectedResponse: { - body: [ - { x: 'fakeFilter1' }, - { x: 'fakeFilter2' } - ] - } - }; - - spyHpm.get.and.returnValue(Promise.resolve(testData.expectedResponse)); - - // Act - page1.getFilters() - .then(filters => { - // Assert - expect(spyHpm.get).toHaveBeenCalledWith(`/report/pages/${page1.name}/filters`, { uid: uniqueId }, iframe.contentWindow); - // @ts-ignore as testData is not of type IFilter - expect(filters).toEqual(testData.expectedResponse.body); - done(); - }); - }); - - it('page.setFilters(filters) sends PUT /report/pages/xyz/filters', function () { - // Arrange - const testData = { - filters: [ - (new models.BasicFilter({ table: "Cars", measure: "Make" }, "In", ["subaru", "honda"])).toJSON(), - (new models.AdvancedFilter({ table: "Cars", measure: "Make" }, "And", [{ value: "subaru", operator: "None" }, { value: "honda", operator: "Contains" }])).toJSON() - ], - response: { - body: [] - } - }; - - spyHpm.put.and.returnValue(Promise.resolve(testData.response)); - - // Act - page1.setFilters(testData.filters); - - // Assert - expect(spyHpm.put).toHaveBeenCalledWith(`/report/pages/${page1.name}/filters`, testData.filters, { uid: uniqueId }, iframe.contentWindow); - }); - - it('page.setFilters(filters) returns promise that rejects with validation errors if filter is invalid', function (done) { - // Arrange - const testData = { - filters: [ - (new models.BasicFilter({ table: "Cars", measure: "Make" }, "In", ["subaru", "honda"])).toJSON(), - (new models.AdvancedFilter({ table: "Cars", measure: "Make" }, "And", [{ value: "subaru", operator: "None" }, { value: "honda", operator: "Contains" }])).toJSON() - ], - expectedErrors: { - body: [ - { - message: 'target is invalid, missing property x' - } - ] - } - }; - - spyHpm.put.and.returnValue(Promise.reject(testData.expectedErrors)); - - // Act - page1.setFilters(testData.filters) - .catch(errors => { - // Assert - expect(spyHpm.put).toHaveBeenCalledWith(`/report/pages/${page1.name}/filters`, testData.filters, { uid: uniqueId }, iframe.contentWindow); - expect(errors).toEqual(jasmine.objectContaining(testData.expectedErrors.body)); - done(); - }); - }); - - it('page.setFilters(filters) returns promise that resolves with null if filter was valid and request is accepted', function (done) { - // Arrange - const testData = { - filters: [ - (new models.BasicFilter({ table: "Cars", measure: "Make" }, "In", ["subaru", "honda"])).toJSON(), - (new models.AdvancedFilter({ table: "Cars", measure: "Make" }, "And", [{ value: "subaru", operator: "None" }, { value: "honda", operator: "Contains" }])).toJSON() - ] - }; - - spyHpm.put.and.returnValue(Promise.resolve(null)); - - // Act - page1.setFilters(testData.filters) - .then(response => { - // Assert - expect(spyHpm.put).toHaveBeenCalledWith(`/report/pages/${page1.name}/filters`, testData.filters, { uid: uniqueId }, iframe.contentWindow); - expect(response).toEqual(null); - done(); - }); - }); - - it('page.removeFilters() sends PUT /report/pages/xyz/filters', function () { - // Arrange - - // Act - page1.removeFilters(); - - // Assert - expect(spyHpm.post).toHaveBeenCalledWith(`/report/pages/${page1.name}/filters`, { filtersOperation: models.FiltersOperations.RemoveAll, filters: undefined }, { uid: uniqueId }, iframe.contentWindow); - }); - - it('page.removeFilters() returns promise that resolves with null if request is accepted', function (done) { - // Arrange - spyHpm.post.and.returnValue(Promise.resolve(null)); - - // Act - page1.removeFilters() - .then(response => { - // Assert - expect(spyHpm.post).toHaveBeenCalledWith(`/report/pages/${page1.name}/filters`, { filtersOperation: models.FiltersOperations.RemoveAll, filters: undefined }, { uid: uniqueId }, iframe.contentWindow); - expect(response).toEqual(null); - done(); - }); - }); - }); - - describe('setActive', function () { - it('page.setActive() sends PUT /report/pages/active', function () { - // Arrange - const testData = { - page: { - name: page1.name, - displayName: null, - isActive: true, - } - }; - - spyHpm.put.and.returnValue(Promise.resolve(null)); - - // Act - page1.setActive(); - - // Assert - expect(spyHpm.put).toHaveBeenCalledWith(`/report/pages/active`, testData.page, { uid: uniqueId }, iframe.contentWindow); - }); - - it('page.setActive() returns a promise rejected with errors if the page was invalid', function (done) { - // Arrange - const testData = { - page: { - name: page1.name, - displayName: null, - isActive: true, - }, - response: { - body: [ - { - message: 'page abc123 does not exist on report xyz' - } - ] - } - }; - - spyHpm.put.and.returnValue(Promise.reject(testData.response)); - - // Act - page1.setActive() - .catch(errors => { - // Assert - expect(spyHpm.put).toHaveBeenCalledWith(`/report/pages/active`, testData.page, { uid: uniqueId }, iframe.contentWindow); - expect(errors).toEqual(jasmine.objectContaining(testData.response.body)); - done(); - }); - }); - - it('page.setActive() returns a promise resolved with null if the page is valid', function (done) { - // Arrange - const testData = { - page: { - name: page1.name, - displayName: null, - isActive: true, - } - }; - - spyHpm.put.and.returnValue(Promise.resolve(null)); - - // Act - page1.setActive() - .then(response => { - // Assert - expect(spyHpm.put).toHaveBeenCalledWith(`/report/pages/active`, testData.page, { uid: uniqueId }, iframe.contentWindow); - expect(response).toEqual(null); - done(); - }); - }); - }); - describe('custom layout', function () { - it('page.setVisualDisplayState returns promise that rejects with validation error if display state is invalid', function (done) { - // Arrange - const visualName = 'visual'; - const displayState = 2; - const testData = { - expectedError: { - body: { - message: 'display state is invalid' - } - } - }; - - spyHpm.get.and.returnValue(Promise.reject(testData.expectedError)); - - // Act - page1.setVisualDisplayState(visualName, displayState) - .catch(error => { - // Assert - expect(spyHpm.get).toHaveBeenCalledWith('/report/pages', { uid: uniqueId }, iframe.contentWindow); - expect(error).toEqual(testData.expectedError.body); - done(); - }); - }); - - it('page.setVisualDisplayState returns promise that resolves with null if requst is valid and accepted', function (done) { - // Arrange - const visualName = 'visual'; - const displayState = models.VisualContainerDisplayMode.Visible; - - spyApp.setVisualDisplayState.and.returnValue(Promise.resolve(null)); - - // Act - spyApp.setVisualDisplayState(visualName, displayState) - .then(response => { - // Assert - expect(spyApp.setVisualDisplayState).toHaveBeenCalled(); - expect(response).toEqual(null); - done(); - }); - }); - - it('page.moveVisual returns promise that rejects with validation error if visual name is invalid', function (done) { - // Arrange - const visualName = 'invalid visual'; - const x = 0; - const y = 0; - const testData = { - expectedError: { - body: { - message: 'visual name is invalid' - } - } - }; - - spyHpm.get.and.returnValue(Promise.reject(testData.expectedError)); - - // Act - page1.moveVisual(visualName, x, y) - .catch(error => { - // Assert - expect(spyHpm.get).toHaveBeenCalledWith('/report/pages', { uid: uniqueId }, iframe.contentWindow); - expect(error).toEqual(testData.expectedError.body); - done(); - }); - }); - - it('page.moveVisual returns promise that resolves with null if requst is valid and accepted', function (done) { - // Arrange - const visualName = 'visual'; - const x = 0; - const y = 0; - - spyApp.moveVisual.and.returnValue(Promise.resolve(null)); - - // Act - spyApp.moveVisual(visualName, x, y) - .then(response => { - // Assert - expect(spyApp.moveVisual).toHaveBeenCalled(); - expect(response).toEqual(null); - done(); - }); - }); - - it('page.resizePage returns promise that rejects with validation error if page is not active page', function (done) { - // Arrange - const pageSizeType = 1; - const width = 200; - const height = 100; - const testData = { - expectedError: { - message: 'Cannot resize the page. Only the active page can be resized' - }, - settings: { - layoutType: models.LayoutType.Custom, - customLayout: { - pageSize: { - type: pageSizeType, - width: width, - height: height - } - } - } - }; - - spyHpm.patch.and.returnValue(Promise.reject(testData.expectedError.message)); - - // Act - page1.resizePage(pageSizeType, width, height) - .catch(error => { - // Assert - expect(spyHpm.patch).not.toHaveBeenCalledWith('/report/settings', testData.settings, { uid: uniqueId }, iframe.contentWindow); - expect(error).toEqual(testData.expectedError.message); - done(); - }); - }); - - it('page.resizePage returns promise that resolves with null if page is active page', function (done) { - // Arrange - const pageSizeType = 1; - const width = 200; - const height = 100; - const testData = { - settings: { - layoutType: models.LayoutType.Custom, - customLayout: { - pageSize: { - type: pageSizeType, - width: width, - height: height - } - } - } - }; - - page1.isActive = true; - spyHpm.patch.and.returnValue(Promise.resolve(null)); - - // Act - page1.resizePage(pageSizeType, width, height) - .then(response => { - // Assert - expect(spyHpm.patch).toHaveBeenCalledWith('/report/settings', testData.settings, { uid: uniqueId }, iframe.contentWindow); - expect(response).toEqual(null); - done(); - }); - }); - - it('page.resizePage returns promise that resolves with null if request is valid and accepted', function (done) { - // Arrange - const pageSizeType = models.PageSizeType.Custom; - const width = 200; - const height = 100; - - spyApp.resizeActivePage.and.returnValue(Promise.resolve(null)); - - // Act - spyApp.resizeActivePage(pageSizeType, width, height) - .then(response => { - // Assert - expect(spyApp.resizeActivePage).toHaveBeenCalled(); - expect(response).toEqual(null); - done(); - }); - }); - }); - }); - - describe('setDisplayName', function () { - it('page.setDisplayName(displayName) sends PUT /report/pages/{pageName}/name', function () { - // Arrange - const displayName = "newName"; - const testData = { - page: { - name: page1.name, - displayName, - } - }; - - spyHpm.put.and.returnValue(Promise.resolve(null)); - - // Act - page1.setDisplayName(displayName); - - // Assert - expect(spyHpm.put).toHaveBeenCalledWith(`/report/pages/${page1.name}/name`, testData.page, { uid: uniqueId }, iframe.contentWindow); - }); - }); - - describe('getVisualByName', function () { - it('page.getVisualByName(visualName) returns promise that rejects if visual with given name not found', function (done) { - // Arrange - const pageName = page1.name; - const visualName = "visual1"; - const testData = { - expectedError: { - body: { - message: 'visual not found' - } - } - }; - - spyHpm.get.and.returnValue(Promise.reject(testData.expectedError)); - // Act - page1.getVisualByName(visualName) - .catch(error => { - // Assert - expect(spyHpm.get).toHaveBeenCalledWith(`/report/pages/${pageName}/visuals`, { uid: uniqueId }, iframe.contentWindow); - expect(error).toEqual(testData.expectedError.body); - done(); - }); - }); - - it('page.getVisualByName(visualName) returns promise that resolves with visual if request is successful', function (done) { - // Arrange - const pageName = page1.name; - const visualName = "visual1"; - const testData = { - expectedResponse: - { - name: "visual1", - title: "Visual 1", - type: "type1", - layout: {}, - page: {} - } - }; - - spyApp.getVisualByName.and.returnValue(Promise.resolve(testData.expectedResponse)); - - // Act - spyApp.getVisualByName(visualName) - .then(visual => { - // Assert - expect(spyApp.getVisualByName).toHaveBeenCalled(); - expect(visual.name).toEqual(testData.expectedResponse.name); - expect(visual.title).toEqual(testData.expectedResponse.title); - done(); - }); - }); - }); - - describe('visual', function () { - describe('filters', function () { - it('visual.getFilters() sends GET /report/pages/xyz/visuals/uvw/filters', function () { - // Arrange - - // Act - visual1.getFilters(); - - // Assert - expect(spyHpm.get).toHaveBeenCalledWith(`/report/pages/${page1.name}/visuals/${visual1.name}/filters`, { uid: uniqueId }, iframe.contentWindow); - }); - - it('visual.getFilters() return promise that rejects with server error if there was error getting filters', function (done) { - // Arrange - const testData = { - expectedError: { - body: { - message: 'internal server error' - } - } - }; - - spyHpm.get.and.returnValue(Promise.reject(testData.expectedError)); - - // Act - visual1.getFilters() - .catch(error => { - // Assert - expect(spyHpm.get).toHaveBeenCalledWith(`/report/pages/${page1.name}/visuals/${visual1.name}/filters`, { uid: uniqueId }, iframe.contentWindow); - expect(error).toEqual(testData.expectedError.body); - done(); - }); - }); - - it('visual.getFilters() returns promise that resolves with list of filters', function (done) { - // Arrange - const testData = { - expectedResponse: { - body: [ - { x: 'fakeFilter1' }, - { x: 'fakeFilter2' } - ] - } - }; - - spyHpm.get.and.returnValue(Promise.resolve(testData.expectedResponse)); - - // Act - visual1.getFilters() - .then(filters => { - // Assert - expect(spyHpm.get).toHaveBeenCalledWith(`/report/pages/${page1.name}/visuals/${visual1.name}/filters`, { uid: uniqueId }, iframe.contentWindow); - // @ts-ignore as testData is not of type IFilter - expect(filters).toEqual(testData.expectedResponse.body); - done(); - }); - }); - - it('visual.setFilters(filters) sends PUT /report/pages/xyz/visuals/uvw/filters', function () { - // Arrange - const testData = { - filters: [ - (new models.BasicFilter({ table: "Cars", measure: "Make" }, "In", ["subaru", "honda"])).toJSON(), - (new models.AdvancedFilter({ table: "Cars", measure: "Make" }, "And", [{ value: "subaru", operator: "None" }, { value: "honda", operator: "Contains" }])).toJSON() - ], - response: { - body: [] - } - }; - - spyHpm.put.and.returnValue(Promise.resolve(testData.response)); - - // Act - visual1.setFilters(testData.filters); - - // Assert - expect(spyHpm.put).toHaveBeenCalledWith(`/report/pages/${page1.name}/visuals/${visual1.name}/filters`, testData.filters, { uid: uniqueId }, iframe.contentWindow); - }); - - it('visual.setFilters(filters) returns promise that rejects with validation errors if filter is invalid', function (done) { - // Arrange - const testData = { - filters: [ - (new models.BasicFilter({ table: "Cars", measure: "Make" }, "In", ["subaru", "honda"])).toJSON(), - (new models.AdvancedFilter({ table: "Cars", measure: "Make" }, "And", [{ value: "subaru", operator: "None" }, { value: "honda", operator: "Contains" }])).toJSON() - ], - expectedErrors: { - body: [ - { - message: 'target is invalid, missing property x' - } - ] - } - }; - - spyHpm.put.and.returnValue(Promise.reject(testData.expectedErrors)); - - // Act - visual1.setFilters(testData.filters) - .catch(errors => { - // Assert - expect(spyHpm.put).toHaveBeenCalledWith(`/report/pages/${page1.name}/visuals/${visual1.name}/filters`, testData.filters, { uid: uniqueId }, iframe.contentWindow); - expect(errors).toEqual(jasmine.objectContaining(testData.expectedErrors.body)); - done(); - }); - }); - - it('visual.setFilters(filters) returns promise that resolves with null if filter was valid and request is accepted', function (done) { - // Arrange - const testData = { - filters: [ - (new models.BasicFilter({ table: "Cars", measure: "Make" }, "In", ["subaru", "honda"])).toJSON(), - (new models.AdvancedFilter({ table: "Cars", measure: "Make" }, "And", [{ value: "subaru", operator: "None" }, { value: "honda", operator: "Contains" }])).toJSON() - ] - }; - - spyHpm.put.and.returnValue(Promise.resolve(null)); - - // Act - visual1.setFilters(testData.filters) - .then(response => { - // Assert - expect(spyHpm.put).toHaveBeenCalledWith(`/report/pages/${page1.name}/visuals/${visual1.name}/filters`, testData.filters, { uid: uniqueId }, iframe.contentWindow); - expect(response).toEqual(null); - done(); - }); - }); - - it('visual.removeFilters() sends PUT /report/pages/xyz/visuals/uvw/filters', function () { - // Arrange - - // Act - visual1.removeFilters(); - - // Assert - expect(spyHpm.post).toHaveBeenCalledWith(`/report/pages/${page1.name}/visuals/${visual1.name}/filters`, { filtersOperation: models.FiltersOperations.RemoveAll, filters: undefined }, { uid: uniqueId }, iframe.contentWindow); - }); - - it('visual.removeFilters() returns promise that resolves with null if request is accepted', function (done) { - // Arrange - spyHpm.put.and.returnValue(Promise.resolve(null)); - - // Act - visual1.removeFilters() - .then(response => { - // Assert - expect(spyHpm.post).toHaveBeenCalledWith(`/report/pages/${page1.name}/visuals/${visual1.name}/filters`, { filtersOperation: models.FiltersOperations.RemoveAll, filters: undefined }, { uid: uniqueId }, iframe.contentWindow); - expect(response).toEqual(null); - done(); - }); - }); - }); - - describe('custom layout', function () { - it('visual.moveVisual() returns promise that rejects with server error if error in updating setting', function (done) { - // Arrange - const x = 0; - const y = 0; - const testData = { - expectedError: { - body: { - message: 'internal server error' - } - } - }; - - spyHpm.get.and.returnValue(Promise.reject(testData.expectedError)); - - // Act - visual1.moveVisual(x, y) - .catch(error => { - // Assert - expect(spyHpm.get).toHaveBeenCalledWith('/report/pages', { uid: uniqueId }, iframe.contentWindow); - expect(error).toEqual(testData.expectedError.body); - done(); - }); - }); - - it('visual.moveVisual() returns promise that resolves with null if request is valid and accepted', function (done) { - // Arrange - const x = 0; - const y = 0; - - spyApp.moveVisual.and.returnValue(Promise.resolve(null)); - - // Act - spyApp.moveVisual(x, y) - .then(response => { - // Assert - expect(spyApp.moveVisual).toHaveBeenCalled(); - expect(response).toEqual(null); - done(); - }); - }); - - it('visual.setVisualDisplayState(displayState) returns promise that rejects with validation error if display state is invalid', function (done) { - // Arrange - const displayState = 2; - const testData = { - expectedError: { - body: { - message: 'mode property is invalid' - } - }, - }; - - spyApp.setVisualDisplayState.and.returnValue(Promise.reject(testData.expectedError)); - - // Act - spyApp.setVisualDisplayState(displayState) - .catch(error => { - // Assert - expect(error).toEqual(testData.expectedError); - done(); - }); - }); - - it('visual.setVisualDisplayState(displayState) returns promise that resolves with null if requst is valid and accepted', function (done) { - // Arrange - const displayState = models.VisualContainerDisplayMode.Visible; - - spyApp.setVisualDisplayState.and.returnValue(Promise.resolve(null)); - - // Act - spyApp.setVisualDisplayState(displayState) - .then(response => { - // Assert - expect(spyApp.setVisualDisplayState).toHaveBeenCalled(); - expect(response).toEqual(null); - done(); - }); - }); - - it('visual.resizeVisual returns promise that rejects with server error if error in updating setting', function (done) { - // Arrange - const width = 200; - const height = 100; - const testData = { - expectedError: { - body: { - message: 'internal server error' - } - } - }; - - spyHpm.get.and.returnValue(Promise.reject(testData.expectedError)); - - // Act - visual1.resizeVisual(width, height) - .catch(error => { - // Assert - expect(spyHpm.get).toHaveBeenCalledWith('/report/pages', { uid: uniqueId }, iframe.contentWindow); - expect(error).toEqual(testData.expectedError.body); - done(); - }); - }); - - it('visual.resizeVisual returns promise that resolves with null if request is valid and accepted', function (done) { - // Arrange - const width = 200; - const height = 100; - - spyApp.resizeVisual.and.returnValue(Promise.resolve(null)); - - // Act - spyApp.resizeVisual(width, height) - .then(response => { - // Assert - expect(spyApp.resizeVisual).toHaveBeenCalled(); - expect(response).toEqual(null); - done(); - }); - }); - }); - - describe('theme', function () { - it('report.applyTheme(theme) sends PUT /report/theme with theme in body', function () { - // Arrange - const testData = { - theme: { - themeJson: { - name: "Theme ABC 123" - } - }, - response: { - body: null - } - }; - - const expectedHeaders = { - bootstrapped: undefined, - sdkVersion: sdkConfig.default.version, - uid: uniqueId, - sdkSessionId: sdkSessionId - }; - - spyHpm.post.and.returnValue(Promise.resolve(testData.response)); - report.applyTheme(testData.theme) - .then(() => { - spyHpm.post.calls.reset(); - - // Act - report.reload(); - - // Assert - expect(spyHpm.post).toHaveBeenCalledWith('/report/load', jasmine.objectContaining(testData.theme), expectedHeaders, iframe.contentWindow); - }); - }); - - it('report.resetTheme() sends PUT /report/theme with empty object as theme in body', function () { - // Arrange - const response = { - body: null - }; - - const expectedHeaders = { - bootstrapped: undefined, - sdkVersion: sdkConfig.default.version, - uid: uniqueId, - sdkSessionId: sdkSessionId - }; - - spyHpm.post.and.returnValue(Promise.resolve(response)); - report.resetTheme() - .then(() => { - spyHpm.post.calls.reset(); - - // Act - report.reload(); - - // Assert - expect(spyHpm.post).toHaveBeenCalledWith('/report/load', jasmine.objectContaining({}), expectedHeaders, iframe.contentWindow); - }); - }); - }); - }); - - describe('SDK-to-Router (Event subscription)', function () { - /** - * This test should likely be moved to mock app section or removed since it is already covered. - * The validation of supported events should likely happen by powerbi instead of by the SDK - * since this is maitanence problem - */ - it(`report.on(eventName, handler) should throw error if eventName is not supported`, function () { - // Arrange - const testData = { - eventName: 'xyz', - handler: jasmine.createSpy('handler') - }; - - // Act - const attemptToSubscribeToEvent = () => { - report.on(testData.eventName, testData.handler); - }; - - // Assert - expect(attemptToSubscribeToEvent).toThrowError(); - }); - }); -}); - -describe('SDK-to-WPMP', function () { - let $element: JQuery; - let iframe: HTMLIFrameElement; - let powerbi: service.Service; - let report: report.Report; - let uniqueId: string; - - beforeAll(function () { - const spyWpmpFactory: factories.IWpmpFactory = (name?: string, logMessages?: boolean) => { - return spyWpmp; - }; - - powerbi = new service.Service(factories.hpmFactory, spyWpmpFactory, factories.routerFactory); - - $element = $(`
`) - .appendTo(document.body); - - const iframeSrc = "base/test/utility/noop.html"; - const embedConfiguration = { - type: "report", - id: "fakeReportId", - accessToken: 'fakeToken', - embedUrl: iframeSrc, - wpmpName: 'SDK-to-WPMP report wpmp' - }; - report = powerbi.embed($element[0], embedConfiguration); - uniqueId = report.config.uniqueId; - - iframe = $element.find('iframe')[0]; - - // Reset load handler - spyWpmp.addHandler.calls.reset(); - spyHpm.post.calls.reset(); - }); - - afterAll(function () { - powerbi.reset($element.get(0)); - $element.remove(); - powerbi.wpmp.stop(); - }); - - afterEach(function () { - spyHpm.get.calls.reset(); - spyHpm.post.calls.reset(); - spyHpm.patch.calls.reset(); - spyHpm.put.calls.reset(); - spyHpm.delete.calls.reset(); - - spyRouter.get.calls.reset(); - spyRouter.post.calls.reset(); - spyRouter.patch.calls.reset(); - spyRouter.put.calls.reset(); - spyRouter.delete.calls.reset(); - }); - - describe('Event handlers', function () { - it(`handler passed to report.on(eventName, handler) is called when POST /report/:uniqueId/events/:eventName is received`, function () { - // Arrange - const testData = { - eventName: 'filtersApplied', - handler: jasmine.createSpy('handler'), - filtersAppliedEvent: { - data: { - method: 'POST', - url: `/reports/${uniqueId}/events/filtersApplied`, - body: { - initiator: 'sdk', - filters: [ - { - x: 'fakeFilter' - } - ] - } - } - } - }; - - report.on(testData.eventName, testData.handler); - - // Act - spyWpmp.onMessageReceived(testData.filtersAppliedEvent); - - // Assert - expect(testData.handler).toHaveBeenCalledWith(jasmine.objectContaining({ detail: testData.filtersAppliedEvent.data.body })); - }); - - it(`off('eventName', handler) will remove single handler which matches function reference for that event`, function () { - // Arrange - const testData = { - eventName: 'filtersApplied', - handler: jasmine.createSpy('handler1'), - simulatedEvent: { - data: { - method: 'POST', - url: `/reports/${uniqueId}/events/filtersApplied`, - body: { - initiator: 'sdk', - filter: { - x: '1', - y: '2' - } - } - } - } - }; - - report.on(testData.eventName, testData.handler); - report.off(testData.eventName, testData.handler); - - // Act - spyWpmp.onMessageReceived(testData.simulatedEvent); - - // Assert - expect(testData.handler).not.toHaveBeenCalled(); - }); - - it('if multiple handlers for the same event are registered they will all be called', function () { - // Arrange - const testData = { - eventName: 'filtersApplied', - handler: jasmine.createSpy('handler1'), - handler2: jasmine.createSpy('handler2'), - handler3: jasmine.createSpy('handler3'), - simulatedEvent: { - data: { - method: 'POST', - url: `/reports/${uniqueId}/events/filtersApplied`, - body: { - initiator: 'sdk', - filter: { - x: '1', - y: '2' - } - } - } - } - }; - - report.on(testData.eventName, testData.handler); - report.on(testData.eventName, testData.handler2); - report.on(testData.eventName, testData.handler3); - - // Act - spyWpmp.onMessageReceived(testData.simulatedEvent); - - // Assert - expect(testData.handler).toHaveBeenCalledWith(jasmine.objectContaining({ detail: testData.simulatedEvent.data.body })); - expect(testData.handler2).toHaveBeenCalledWith(jasmine.objectContaining({ detail: testData.simulatedEvent.data.body })); - expect(testData.handler3).toHaveBeenCalledWith(jasmine.objectContaining({ detail: testData.simulatedEvent.data.body })); - }); - - - it(`off('eventName') will remove all handlers which matches event name`, function () { - // Arrange - const testData = { - eventName: 'filtersApplied', - handler: jasmine.createSpy('handler1'), - handler2: jasmine.createSpy('handler2'), - handler3: jasmine.createSpy('handler3'), - simulatedEvent: { - data: { - method: 'POST', - url: '/reports/fakeReportId/events/filtersApplied', - body: { - initiator: 'sdk', - filter: { - x: '1', - y: '2' - } - } - } - } - }; - - report.on(testData.eventName, testData.handler); - report.on(testData.eventName, testData.handler2); - report.on(testData.eventName, testData.handler3); - report.off(testData.eventName); - - // Act - spyWpmp.onMessageReceived(testData.simulatedEvent); - - // Assert - expect(testData.handler).not.toHaveBeenCalled(); - expect(testData.handler2).not.toHaveBeenCalled(); - expect(testData.handler3).not.toHaveBeenCalled(); + describe('exitFullscreen', function () { + it('clears the iframe fullscreen element', function () { + let requestFullscreenSpy = jasmine.createSpy(); + iframe.requestFullscreen = requestFullscreenSpy; + let report = powerbi.get(container); + report.fullscreen(); + report.exitFullscreen(); + expect(requestFullscreenSpy).toHaveBeenCalled(); }); }); }); - -describe('SDK-to-MockApp', function () { - let $element: JQuery; - let $element2: JQuery; - let iframe: HTMLIFrameElement; - let iframe2: HTMLIFrameElement; - let iframeHpm: Hpm.HttpPostMessage; - let iframeHpm2: Hpm.HttpPostMessage; - let iframeLoaded: Promise; - let powerbi: service.Service; - let report: report.Report; - let page1: page.Page; - let report2: report.Report; - - beforeAll(function () { - powerbi = new service.Service(factories.hpmFactory, factories.wpmpFactory, factories.routerFactory, { - wpmpName: 'SDK-to-MockApp HostWpmp', - logMessages - }); - - $element = $(`
`) - .appendTo(document.body); - - $element2 = $(`
`) - .appendTo(document.body); - - const iframeSrc = "base/test/utility/noop.html"; - const embedConfiguration: embed.IEmbedConfiguration = { - type: "report", - id: "fakeReportIdInitialEmbed", - accessToken: 'fakeTokenInitialEmbed', - embedUrl: iframeSrc - }; - report = powerbi.embed($element[0], embedConfiguration); - page1 = report.page('ReportSection1'); - report2 = powerbi.embed($element2[0], embedConfiguration); - - iframe = $element.find('iframe')[0]; - iframe2 = $element2.find('iframe')[0]; - - /** - * Note: For testing we need to configure the eventSourceOverrideWindow to allow the host to respond to - * the iframe window; however, the iframe window doesn't exist until the first embed is created. - * - * To work around this we create a service for the initial embed, embed a report, then set the private variable - */ - (powerbi.wpmp).eventSourceOverrideWindow = iframe.contentWindow; - - // Register Iframe side - iframeHpm = setupEmbedMockApp(iframe.contentWindow, window, logMessages, 'SDK-to-MockApp IframeWpmp'); - iframeHpm2 = setupEmbedMockApp(iframe2.contentWindow, window, logMessages, 'SDK-to-MockApp IframeWpmp2'); - - // Reset load handler - spyApp.validateReportLoad.calls.reset(); - spyApp.validateDashboardLoad.calls.reset(); - spyApp.reset(); - - const iframe1Loaded = new Promise((resolve, reject) => { - iframe.addEventListener('load', () => { - resolve(null); - }); - }); - const iframe2Loaded = new Promise((resolve, reject) => { - iframe2.addEventListener('load', () => { - resolve(null); - }); - }); - - iframeLoaded = Promise.all([iframe1Loaded, iframe2Loaded]); - }); - - afterAll(function () { - powerbi.reset($element.get(0)); - $element.remove(); - powerbi.wpmp.stop(); - }); - - afterEach(function () { - spyApp.reset(); - }); - - describe('report', function () { - - beforeEach(function () { - spyOn(utils, "getTimeDiffInMilliseconds").and.callFake(() => 700); // Prevent requests from being throttled. - }); - - describe('load', function () { - it(`report.load() returns promise that rejects with validation errors if load configuration is invalid`, function (done) { - // Arrange - const testData = { - loadConfig: { - id: 'fakeReportId', - accessToken: 'fakeAccessToken' - }, - expectedErrors: [ - { - message: 'invalid load config' - } - ] - }; - - iframeLoaded - .then(() => { - spyApp.validateReportLoad.and.returnValue(Promise.reject(testData.expectedErrors)); - // Act - let expectedConfiguration = utils.assign({}, report.config, testData.loadConfig); - report.config = expectedConfiguration; - report.load() - .catch(errors => { - // Assert - expect(spyApp.validateReportLoad).toHaveBeenCalledWith(expectedConfiguration); - expect(spyApp.reportLoad).not.toHaveBeenCalled(); - expect(errors).toEqual(jasmine.objectContaining(testData.expectedErrors)); - done(); - }); - }); - }); - - it('report.load() returns promise that resolves with null if the report load successful', function (done) { - // Arrange - const testData = { - loadConfig: { - id: 'fakeReportId', - accessToken: 'fakeAccessToken' - } - }; - - iframeLoaded - .then(() => { - spyApp.validateReportLoad.and.returnValue(Promise.resolve(null)); - spyApp.reportLoad.and.returnValue(Promise.resolve(null)); - // Act - let expectedConfiguration = utils.assign({}, report.config, testData.loadConfig); - report.config = expectedConfiguration; - report.load() - .then(response => { - // Assert - expect(spyApp.validateReportLoad).toHaveBeenCalledWith(expectedConfiguration); - expect(spyApp.reportLoad).toHaveBeenCalledWith(expectedConfiguration); - expect(response).toEqual(undefined); - done(); - }); - }); - }); - }); - - describe('pages', function () { - it('report.getPages() return promise that rejects with server error if there was error getting pages', function (done) { - // Arrange - const testData = { - expectedError: { - message: 'internal server error' - } - }; - - iframeLoaded - .then(() => { - spyApp.getPages.and.returnValue(Promise.reject(testData.expectedError)); - // Act - report.getPages() - .catch(error => { - // Assert - expect(spyApp.getPages).toHaveBeenCalled(); - expect(error).toEqual(jasmine.objectContaining(testData.expectedError)); - done(); - }); - }); - }); - - it('report.getPages() returns promise that resolves with list of page names', function (done) { - // Arrange - const testData = { - pages: [ - { - name: "page1", - displayName: "Page 1", - isActive: true - } - ] - }; - - iframeLoaded - .then(() => { - spyApp.getPages.and.returnValue(Promise.resolve(testData.pages)); - // Act - report.getPages() - .then(pages => { - // Assert - expect(spyApp.getPages).toHaveBeenCalled(); - // Workaround to compare pages - pages - .forEach(page => { - const testPage = util.find(p => p.name === page.name, testData.pages); - if (testPage) { - expect(page.name).toEqual(testPage.name); - expect(page.isActive).toEqual(testPage.isActive) - } - else { - expect(true).toBe(false); - } - }); - done(); - }); - }); - }); - }); - - describe('filters', function () { - it('report.getFilters() returns promise that rejects with server error if there was problem getting filters', function (done) { - // Arrange - const testData = { - expectedError: { - message: 'could not serialize filters' - } - }; - - iframeLoaded - .then(() => { - spyApp.getFilters.and.returnValue(Promise.reject(testData.expectedError)); - // Act - report.getFilters() - .catch(error => { - // Assert - expect(spyApp.getFilters).toHaveBeenCalled(); - expect(error).toEqual(jasmine.objectContaining(testData.expectedError)); - done(); - }); - }); - }); - - it('report.getFilters() returns promise that resolves with filters is request is successful', function (done) { - // Arrange - const testData = { - filters: [ - { x: 'fakeFilter' } - ] - }; - - iframeLoaded - .then(() => { - spyApp.getFilters.and.returnValue(Promise.resolve(testData.filters)); - // Act - report.getFilters() - .then(filters => { - // Assert - expect(spyApp.getFilters).toHaveBeenCalled(); - // @ts-ignore as testData is not of type IFilter - expect(filters).toEqual(testData.filters); - done(); - }); - }); - }); - - it('report.setFilters(filters) returns promise that rejects with validation errors if filter is invalid', function (done) { - // Arrange - const testData = { - filters: [ - (new models.BasicFilter({ table: "cars", column: "make" }, "In", ["subaru", "honda"])).toJSON() - ], - expectedErrors: [ - { - message: 'invalid filter' - } - ] - }; - - iframeLoaded - .then(() => { - spyApp.validateFilter.and.returnValue(Promise.reject(testData.expectedErrors)); - // Act - report.setFilters(testData.filters) - .catch(error => { - // Assert - expect(spyApp.validateFilter).toHaveBeenCalledWith(testData.filters[0]); - expect(spyApp.setFilters).not.toHaveBeenCalled(); - expect(error).toEqual(jasmine.objectContaining(testData.expectedErrors)); - done(); - }); - }); - }); - - it('report.setFilters(filters) returns promise that resolves with null if filter was valid and request is accepted', function (done) { - // Arrange - const testData = { - filters: [(new models.BasicFilter({ table: "cars", column: "make" }, "In", ["subaru", "honda"])).toJSON()] - }; - - iframeLoaded - .then(() => { - spyApp.validateFilter.and.returnValue(Promise.resolve(null)); - spyApp.setFilters.and.returnValue(Promise.resolve(null)); - // Act - report.setFilters(testData.filters) - .then(response => { - // Assert - expect(spyApp.validateFilter).toHaveBeenCalledWith(testData.filters[0]); - expect(spyApp.setFilters).toHaveBeenCalledWith(testData.filters); - done(); - }); - }); - }); - - it('report.removeFilters() returns promise that resolves with null if the request was accepted', function (done) { - // Arrange - iframeLoaded - .then(() => { - spyApp.updateFilters.and.returnValue(Promise.resolve(null)); - // Act - report.removeFilters() - .then(response => { - // Assert - expect(spyApp.updateFilters).toHaveBeenCalledWith(models.FiltersOperations.RemoveAll, undefined); - done(); - }); - }); - }); - }); - - describe('print', function () { - it('report.print() returns promise that resolves with null if the report print command was accepted', function (done) { - // Arrange - iframeLoaded - .then(() => { - spyApp.print.and.returnValue(Promise.resolve(null)); - // Act - report.print() - .then(response => { - // Assert - expect(spyApp.print).toHaveBeenCalled(); - expect(response).toEqual(undefined); - done(); - }); - }); - }); - }); - - describe('refresh', function () { - it('report.refresh() returns promise that resolves with null if the report refresh command was accepted', function (done) { - // Arrange - iframeLoaded - .then(() => { - spyApp.refreshData.and.returnValue(Promise.resolve(null)); - // Act - report.refresh() - .then(response => { - // Assert - expect(spyApp.refreshData).toHaveBeenCalled(); - expect(response).toEqual(undefined); - done(); - }); - }); - }); - }); - - describe('settings', function () { - it('report.updateSettings(setting) returns promise that rejects with validation error if object is invalid', function (done) { - // Arrange - const testData = { - settings: { - filterPaneEnabled: false - }, - expectedErrors: [ - { - message: 'invalid target' - } - ] - }; - - iframeLoaded - .then(() => { - spyApp.validateSettings.and.returnValue(Promise.reject(testData.expectedErrors)); - // Act - report.updateSettings(testData.settings) - .catch(errors => { - // Assert - expect(spyApp.validateSettings).toHaveBeenCalledWith(testData.settings); - expect(spyApp.updateSettings).not.toHaveBeenCalled(); - expect(errors).toEqual(jasmine.objectContaining(testData.expectedErrors)); - done(); - }); - }); - }); - - it('report.updateSettings(settings) returns promise that resolves with null if requst is valid and accepted', function (done) { - // Arrange - const testData = { - settings: { - filterPaneEnabled: false - }, - expectedErrors: [ - { - message: 'invalid target' - } - ] - }; - - iframeLoaded - .then(() => { - spyApp.validateSettings.and.returnValue(Promise.resolve(null)); - spyApp.updateSettings.and.returnValue(Promise.resolve(null)); - // Act - report.updateSettings(testData.settings) - .then(response => { - // Assert - expect(spyApp.validateSettings).toHaveBeenCalledWith(testData.settings); - expect(spyApp.updateSettings).toHaveBeenCalledWith(testData.settings); - done(); - }); - }); - }); - }); - }); - - describe('page', function () { - describe('filters', function () { - it('page.getFilters() returns promise that rejects with server error if there was problem getting filters', function (done) { - // Arrange - const testData = { - expectedError: { - message: 'could not serialize filters' - } - }; - - iframeLoaded - .then(() => { - spyApp.getFilters.and.returnValue(Promise.reject(testData.expectedError)); - // Act - page1.getFilters() - .catch(error => { - // Assert - expect(spyApp.getFilters).toHaveBeenCalled(); - expect(error).toEqual(jasmine.objectContaining(testData.expectedError)); - done(); - }); - }); - }); - - it('page.getFilters() returns promise that resolves with filters is request is successful', function (done) { - // Arrange - const testData = { - filters: [ - { x: 'fakeFilter' } - ] - }; - - iframeLoaded - .then(() => { - spyApp.getFilters.and.returnValue(Promise.resolve(testData.filters)); - // Act - page1.getFilters() - .then(filters => { - // Assert - expect(spyApp.getFilters).toHaveBeenCalled(); - // @ts-ignore as testData is not of type IFilter as testData is not of type IFilter - expect(filters).toEqual(testData.filters); - done(); - }); - }); - }); - - it('page.setFilters(filters) returns promise that rejects with validation errors if filter is invalid', function (done) { - // Arrange - const testData = { - filters: [ - (new models.BasicFilter({ table: "cars", column: "make" }, "In", ["subaru", "honda"])).toJSON() - ], - expectedErrors: [ - { - message: 'invalid filter' - } - ] - }; - - iframeLoaded - .then(() => { - spyApp.validateFilter.and.returnValue(Promise.reject(testData.expectedErrors)); - // Act - page1.setFilters(testData.filters) - .catch(error => { - // Assert - expect(spyApp.validateFilter).toHaveBeenCalledWith(testData.filters[0]); - expect(spyApp.setFilters).not.toHaveBeenCalled(); - expect(error).toEqual(jasmine.objectContaining(testData.expectedErrors)); - done(); - }); - }); - }); - - it('page.setFilters(filters) returns promise that resolves with null if filter was valid and request is accepted', function (done) { - // Arrange - const testData = { - filters: [(new models.BasicFilter({ table: "cars", column: "make" }, "In", ["subaru", "honda"])).toJSON()] - }; - - iframeLoaded - .then(() => { - spyApp.validateFilter.and.returnValue(Promise.resolve(null)); - spyApp.setFilters.and.returnValue(Promise.resolve(null)); - // Act - page1.setFilters(testData.filters) - .then(response => { - // Assert - expect(spyApp.validateFilter).toHaveBeenCalledWith(testData.filters[0]); - expect(spyApp.setFilters).toHaveBeenCalledWith(testData.filters); - done(); - }); - }); - }); - - it('page.removeFilters() returns promise that resolves with null if the request was accepted', function (done) { - // Arrange - iframeLoaded - .then(() => { - spyApp.updateFilters.and.returnValue(Promise.resolve(null)); - // Act - page1.removeFilters() - .then(response => { - // Assert - expect(spyApp.updateFilters).toHaveBeenCalledWith(models.FiltersOperations.RemoveAll, undefined); - done(); - }); - }); - }); - }); - - describe('setActive', function () { - it('page.setActive() returns promise that rejects if page is invalid', function (done) { - // Arrange - const testData = { - errors: [ - { - message: 'page xyz was not found in report' - } - ] - }; - - // Act - iframeLoaded - .then(() => { - spyApp.validatePage.and.returnValue(Promise.reject(testData.errors)); - - // Act - page1.setActive() - .catch(errors => { - // Assert - expect(spyApp.validatePage).toHaveBeenCalled(); //.toHaveBeenCalledWith(page1); - expect(spyApp.setPage).not.toHaveBeenCalled(); - expect(errors).toEqual(jasmine.objectContaining(testData.errors)); - done(); - }); - }); - }); - - it('page.setActive() returns promise that resolves with null if request is successful', function (done) { - // Arrange - const testData = { - errors: [ - { - message: 'page xyz was not found in report' - } - ] - }; - - // Act - iframeLoaded - .then(() => { - setTimeout(() => { - spyApp.validatePage.and.returnValue(Promise.resolve(null)); - spyApp.setPage.and.returnValue(Promise.resolve(null)); - // Act - page1.setActive() - .then(() => { - // Assert - expect(spyApp.validatePage).toHaveBeenCalled(); //.toHaveBeenCalledWith(page1); - expect(spyApp.setPage).toHaveBeenCalled(); //.toHaveBeenCalledWith(page1); - done(); - }); - }, 500); - }); - }); - }); - }); - - describe('SDK-to-Router (Event subscription)', function () { - it(`report.on(eventName, handler) should throw error if eventName is not supported`, function () { - // Arrange - const testData = { - eventName: 'xyz', - handler: jasmine.createSpy('handler') - }; - - // Act - const attemptToSubscribeToEvent = () => { - report.on(testData.eventName, testData.handler); - }; - - // Assert - expect(attemptToSubscribeToEvent).toThrowError(); - }); - - it(`report.on(eventName, handler) should register handler and be called when POST /report/:uniqueId/events/:eventName is received`, function (done) { - // Arrange - const testData = { - reportId: 'fakeReportId', - eventName: 'pageChanged', - handler: jasmine.createSpy('handler'), - simulatedPageChangeBody: { - initiator: 'sdk', - newPage: { - name: 'page1', - displayName: 'Page 1' - } - }, - expectedEvent: { - detail: { - initiator: 'sdk', - newPage: report.page('page1') - } - } - }; - const testDataHandler: jasmine.Spy = testData.handler; - - report.on(testData.eventName, testData.handler); - - // Act - iframeHpm.post(`/reports/${report.config.uniqueId}/events/${testData.eventName}`, testData.simulatedPageChangeBody) - .then(response => { - // Assert - expect(testData.handler).toHaveBeenCalledWith(jasmine.any(CustomEvent)); - // Workaround to compare pages which prevents recursive loop in jasmine equals - // expect(testData.handler2).toHaveBeenCalledWith(jasmine.objectContaining({ detail: testData.simulatedPageChangeBody })); - expect(testData.handler.calls.mostRecent().args[0].detail.newPage.name).toEqual(testData.expectedEvent.detail.newPage.name); - done(); - }); - }); - - it(`if multiple reports with the same id are loaded into the host, and event occurs on one of them, only one report handler should be called`, function (done) { - // Arrange - const testData = { - reportId: 'fakeReportId', - eventName: 'pageChanged', - handler: jasmine.createSpy('handler'), - handler2: jasmine.createSpy('handler2'), - simulatedPageChangeBody: { - initiator: 'sdk', - newPage: { - name: 'page1', - displayName: 'Page 1' - } - } - }; - - report.on(testData.eventName, testData.handler); - report2.on(testData.eventName, testData.handler2); - - // Act - iframeHpm.post(`/reports/${report2.config.uniqueId}/events/${testData.eventName}`, testData.simulatedPageChangeBody) - .then(response => { - expect(testData.handler).not.toHaveBeenCalled(); - expect(testData.handler2).toHaveBeenCalledWith(jasmine.any(CustomEvent)); - // Workaround to compare pages which prevents recursive loop in jasmine equals - // expect(testData.handler).toHaveBeenCalledWith(jasmine.objectContaining(testData.expectedEvent)); - expect(testData.handler2.calls.mostRecent().args[0].detail.newPage.name).toEqual(testData.simulatedPageChangeBody.newPage.name); - done(); - }); - }); - - it(`ensure load event is allowed`, function (done) { - // Arrange - const testData = { - reportId: 'fakeReportId', - eventName: 'loaded', - handler: jasmine.createSpy('handler3'), - simulatedBody: { - initiator: 'sdk' - } - }; - - report.on(testData.eventName, testData.handler); - - // Act - iframeHpm.post(`/reports/${report.config.uniqueId}/events/${testData.eventName}`, testData.simulatedBody) - .then(response => { - // Assert - expect(testData.handler).toHaveBeenCalledWith(jasmine.any(CustomEvent)); - expect(testData.handler).toHaveBeenCalledWith(jasmine.objectContaining({ detail: testData.simulatedBody })); - done(); - }); - }); - }); -}); \ No newline at end of file diff --git a/test/utility/mockApp.ts b/test/utility/mockApp.ts index e91a634a..7ef1aab3 100644 --- a/test/utility/mockApp.ts +++ b/test/utility/mockApp.ts @@ -90,42 +90,77 @@ export const mockAppSpyObj = { setAccessToken: jasmine.createSpy("setAccessToken").and.returnValue(Promise.resolve(null)), switchLayout: jasmine.createSpy("switchLayout").and.returnValue(Promise.resolve(null)), - reset() { + reset(): void { mockAppSpyObj.dashboardLoad.calls.reset(); + mockAppSpyObj.dashboardLoad.and.callThrough(); mockAppSpyObj.validateDashboardLoad.calls.reset(); + mockAppSpyObj.validateDashboardLoad.and.callThrough(); mockAppSpyObj.reportLoad.calls.reset(); + mockAppSpyObj.reportLoad.and.callThrough(); mockAppSpyObj.render.calls.reset(); + mockAppSpyObj.render.and.callThrough(); mockAppSpyObj.validateReportLoad.calls.reset(); + mockAppSpyObj.validateReportLoad.and.callThrough(); mockAppSpyObj.updateSettings.calls.reset(); + mockAppSpyObj.updateSettings.and.callThrough(); mockAppSpyObj.validateSettings.calls.reset(); + mockAppSpyObj.validateSettings.and.callThrough(); mockAppSpyObj.setVisualDisplayState.calls.reset(); + mockAppSpyObj.setVisualDisplayState.and.callThrough(); mockAppSpyObj.resizeVisual.calls.reset(); + mockAppSpyObj.resizeVisual.and.callThrough(); mockAppSpyObj.resizeActivePage.calls.reset(); + mockAppSpyObj.resizeActivePage.and.callThrough(); mockAppSpyObj.moveVisual.calls.reset(); + mockAppSpyObj.moveVisual.and.callThrough(); mockAppSpyObj.getPages.calls.reset(); + mockAppSpyObj.getPages.and.callThrough(); mockAppSpyObj.getPageByName.calls.reset(); + mockAppSpyObj.getPageByName.and.callThrough(); mockAppSpyObj.getActivePage.calls.reset(); + mockAppSpyObj.getActivePage.and.callThrough(); mockAppSpyObj.setPage.calls.reset(); + mockAppSpyObj.setPage.and.callThrough(); mockAppSpyObj.validatePage.calls.reset(); + mockAppSpyObj.validatePage.and.callThrough(); mockAppSpyObj.validateVisual.calls.reset(); + mockAppSpyObj.validateVisual.and.callThrough(); mockAppSpyObj.getVisualByName.calls.reset(); + mockAppSpyObj.getVisualByName.and.callThrough(); mockAppSpyObj.getFilters.calls.reset(); + mockAppSpyObj.getFilters.and.callThrough(); mockAppSpyObj.updateFilters.calls.reset(); + mockAppSpyObj.updateFilters.and.callThrough(); mockAppSpyObj.setFilters.calls.reset(); + mockAppSpyObj.setFilters.and.callThrough(); mockAppSpyObj.validateFilter.calls.reset(); + mockAppSpyObj.validateFilter.and.callThrough(); mockAppSpyObj.addContextMenuCommand.calls.reset(); + mockAppSpyObj.addContextMenuCommand.and.callThrough(); mockAppSpyObj.addOptionsMenuCommand.calls.reset(); + mockAppSpyObj.addOptionsMenuCommand.and.callThrough(); mockAppSpyObj.removeContextMenuCommand.calls.reset(); + mockAppSpyObj.removeContextMenuCommand.and.callThrough(); mockAppSpyObj.removeOptionsMenuCommand.calls.reset(); + mockAppSpyObj.removeOptionsMenuCommand.and.callThrough(); mockAppSpyObj.print.calls.reset(); + mockAppSpyObj.print.and.callThrough(); mockAppSpyObj.refreshData.calls.reset(); + mockAppSpyObj.refreshData.and.callThrough(); mockAppSpyObj.exportData.calls.reset(); + mockAppSpyObj.exportData.and.callThrough(); mockAppSpyObj.validateCreateReport.calls.reset(); + mockAppSpyObj.validateCreateReport.and.callThrough(); mockAppSpyObj.switchMode.calls.reset(); + mockAppSpyObj.switchMode.and.callThrough(); mockAppSpyObj.save.calls.reset(); + mockAppSpyObj.save.and.callThrough(); mockAppSpyObj.saveAs.calls.reset(); + mockAppSpyObj.saveAs.and.callThrough(); mockAppSpyObj.setAccessToken.calls.reset(); + mockAppSpyObj.setAccessToken.and.callThrough(); mockAppSpyObj.switchLayout.calls.reset(); + mockAppSpyObj.switchLayout.and.callThrough(); } }; diff --git a/test/utility/mockEmbed.ts b/test/utility/mockEmbed.ts index 0cbf3b46..737a6e62 100644 --- a/test/utility/mockEmbed.ts +++ b/test/utility/mockEmbed.ts @@ -1,293 +1,271 @@ // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. -import * as Wpmp from 'window-post-message-proxy'; -import * as Hpm from 'http-post-message'; -import * as Router from 'powerbi-router'; -import * as models from 'powerbi-models'; +import { WindowPostMessageProxy } from 'window-post-message-proxy'; +import { HttpPostMessage } from 'http-post-message'; +import { Router } from 'powerbi-router'; import { mockAppSpyObj, mockApp } from './mockApp'; +import * as models from 'powerbi-models'; export const spyApp = mockAppSpyObj; -export function setupEmbedMockApp(iframeContentWindow: Window, parentWindow: Window, logMessages: boolean, name: string = 'MockAppWindowPostMessageProxy'): Hpm.HttpPostMessage { +export function setupEmbedMockApp(iframeContentWindow: Window, parentWindow: Window, logMessages: boolean, name: string = 'MockAppWindowPostMessageProxy'): HttpPostMessage { const parent = parentWindow || iframeContentWindow.parent; - const wpmp = new Wpmp.WindowPostMessageProxy({ + const wpmp = new WindowPostMessageProxy({ processTrackingProperties: { - addTrackingProperties: Hpm.HttpPostMessage.addTrackingProperties, - getTrackingProperties: Hpm.HttpPostMessage.getTrackingProperties, + addTrackingProperties: HttpPostMessage.addTrackingProperties, + getTrackingProperties: HttpPostMessage.getTrackingProperties, }, - isErrorMessage: Hpm.HttpPostMessage.isErrorMessage, + isErrorMessage: HttpPostMessage.isErrorMessage, receiveWindow: iframeContentWindow, name, logMessages }); - const hpm = new Hpm.HttpPostMessage(wpmp, { + const hpm = new HttpPostMessage(wpmp, { 'origin': 'reportEmbedMock', 'x-version': '1.0.0' }, parent); - const router = new Router.Router(wpmp); + const router = new Router(wpmp); const app = mockApp; /** * Setup not found handlers. */ - function notFoundHandler(req, res) { + function notFoundHandler(req, res): void { res.send(404, `Not Found. Url: ${req.params.notfound} was not found.`); - }; + } router.get('*notfound', notFoundHandler); router.post('*notfound', notFoundHandler); router.patch('*notfound', notFoundHandler); router.put('*notfound', notFoundHandler); router.delete('*notfound', notFoundHandler); - /** - * Phase 1 - */ - /** * Dashboard Embed */ - router.post('/dashboard/load', (req, res) => { + router.post('/dashboard/load', async (req, res) => { const uniqueId = req.headers['uid']; const loadConfig = req.body; - return app.validateDashboardLoad(loadConfig) - .then(() => { - app.dashboardLoad(loadConfig) - .then(() => { - const initiator = "sdk"; - hpm.post(`/dashboards/${uniqueId}/events/loaded`, { - initiator - }); - }, error => { - hpm.post(`/dashboards/${uniqueId}/events/error`, error); - }); - - res.send(202); - }, error => { - res.send(400, error); - }); + try { + await app.validateDashboardLoad(loadConfig); + try { + await app.dashboardLoad(loadConfig); + hpm.post(`/dashboards/${uniqueId}/events/loaded`, { + initiator: "sdk" + }); + } catch (error) { + hpm.post(`/dashboards/${uniqueId}/events/error`, error); + } + res.send(202, {}); + } catch (error) { + res.send(400, error); + } }); /** * Create Report */ - router.post('/report/create', (req, res) => { + router.post('/report/create', async (req, res) => { const uniqueId = req.headers['uid']; const createConfig = req.body; - return app.validateCreateReport(createConfig) - .then(() => { - app.reportLoad(createConfig) - .then(() => { - const initiator = "sdk"; - hpm.post(`/reports/${uniqueId}/events/loaded`, { - initiator - }); - }, error => { - hpm.post(`/reports/${uniqueId}/events/error`, error); - }); - - res.send(202); - }, error => { - res.send(400, error); - }); + try { + await app.validateCreateReport(createConfig); + try { + await app.reportLoad(createConfig); + hpm.post(`/reports/${uniqueId}/events/loaded`, { + initiator: "sdk" + }); + } catch (error) { + hpm.post(`/reports/${uniqueId}/events/error`, error); + } + res.send(202, {}); + } catch (error) { + res.send(400, error); + } }); /** * Report Embed */ - router.post('/report/load', (req, res) => { + router.post('/report/load', async (req, res) => { const uniqueId = req.headers['uid']; const loadConfig = req.body; - return app.validateReportLoad(loadConfig) - .then(() => { - app.reportLoad(loadConfig) - .then(() => { - const initiator = "sdk"; - hpm.post(`/reports/${uniqueId}/events/loaded`, { - initiator - }); - }, error => { - hpm.post(`/reports/${uniqueId}/events/error`, error); - }); - - res.send(202); - }, error => { - res.send(400, error); - }); + try { + await app.validateReportLoad(loadConfig); + try { + await app.reportLoad(loadConfig); + hpm.post(`/reports/${uniqueId}/events/loaded`, { + initiator: "sdk" + }); + } catch (error) { + hpm.post(`/reports/${uniqueId}/events/error`, error); + } + res.send(202, {}); + + } catch (error) { + res.send(400, error); + } }); /** * Report Embed */ - router.post('/report/prepare', (req, res) => { + router.post('/report/prepare', async (req, res) => { const uniqueId = req.headers['uid']; const loadConfig = req.body; - return app.validateReportLoad(loadConfig) - .then(() => { - app.reportLoad(loadConfig) - .then(() => { - const initiator = "sdk"; - hpm.post(`/reports/${uniqueId}/events/loaded`, { - initiator - }); - }, error => { - hpm.post(`/reports/${uniqueId}/events/error`, error); - }); - - res.send(202); - }, error => { - res.send(400, error); - }); + try { + await app.validateReportLoad(loadConfig); + try { + await app.reportLoad(loadConfig); + hpm.post(`/reports/${uniqueId}/events/loaded`, { + initiator: "sdk" + }); + } catch (error) { + hpm.post(`/reports/${uniqueId}/events/error`, error); + } + res.send(202, {}); + + } catch (error) { + res.send(400, error); + } }); router.post('/report/render', (req, res) => { app.render(); - res.send(202); + res.send(202, {}); }); - router.get('/report/pages', (req, res) => { - return app.getPages() - .then(pages => { - res.send(200, pages); - }, error => { - res.send(500, error); - }); + router.get('/report/pages', async (req, res) => { + try { + const pages = await app.getPages(); + res.send(200, pages); + + } catch (error) { + res.send(500, error); + } }); - router.put('/report/pages/active', (req, res) => { + router.put('/report/pages/active', async (req, res) => { const uniqueId = req.headers['uid']; const page = req.body; - return app.validatePage(page) - .then(() => { - app.setPage(page) - .then(() => { - const initiator = "sdk"; - hpm.post(`/reports/${uniqueId}/events/pageChanged`, { - initiator, - newPage: page - }); - }, error => { - hpm.post(`/reports/${uniqueId}/events/error`, error); - }); - - res.send(202); - }, errors => { - res.send(400, errors); - }); + try { + await app.validatePage(page); + try { + await app.setPage(page); + hpm.post(`/reports/${uniqueId}/events/pageChanged`, { + initiator: "sdk", + newPage: page + }); + } catch (error) { + hpm.post(`/reports/${uniqueId}/events/error`, error); + } + res.send(202); + } catch (error) { + res.send(400, error); + } }); - /** - * Phase 2 - */ - router.get('/report/filters', (req, res) => { - return app.getFilters() - .then(filters => { - res.send(200, filters); - }, error => { - res.send(500, error); - }); + router.get('/report/filters', async (req, res) => { + try { + const filters = await app.getFilters(); + res.send(200, filters); + } catch (error) { + res.send(500, error); + } }); - router.put('/report/filters', (req, res) => { + router.put('/report/filters', async (req, res) => { const uniqueId = req.headers['uid']; const filters = req.body; - return Promise.all(filters.map(filter => app.validateFilter(filter))) - .then(() => { - app.setFilters(filters) - .then(filter => { - const initiator = "sdk"; - hpm.post(`/reports/${uniqueId}/events/filtersApplied`, { - initiator, - filter - }); - }, error => { - hpm.post(`/reports/${uniqueId}/events/error`, error); - }); - - res.send(202); - }, error => { - res.send(400, error); - }); + try { + await Promise.all(filters.map(filter => app.validateFilter(filter))); + try { + const filter = await app.setFilters(filters); + hpm.post(`/reports/${uniqueId}/events/filtersApplied`, { + initiator: "sdk", + filter + }); + } catch (error) { + hpm.post(`/reports/${uniqueId}/events/error`, error); + } + res.send(202, {}); + } catch (error) { + res.send(400, error); + } }); - router.post('/report/filters', (req, res) => { + router.post('/report/filters', async (req, res) => { const uniqueId = req.headers['uid']; - const operation = req.body.filtersOperation + const operation = req.body.filtersOperation; const filters = req.body.filters; - return Promise.all(filters ? filters.map(filter => app.validateFilter(filter)) : [Promise.resolve(null)]) - .then(() => { - app.updateFilters(operation, filters) - .then(filter => { - const initiator = "sdk"; - hpm.post(`/reports/${uniqueId}/events/filtersApplied`, { - initiator, - filter - }); - }, error => { - hpm.post(`/reports/${uniqueId}/events/error`, error); - }); - - res.send(202); - }, error => { - res.send(400, error); - }); + try { + Promise.all(filters ? filters.map(filter => app.validateFilter(filter)) : [Promise.resolve(null)]); + try { + const filter = await app.updateFilters(operation, filters); + hpm.post(`/reports/${uniqueId}/events/filtersApplied`, { + initiator: "sdk", + filter + }); + } catch (error) { + hpm.post(`/reports/${uniqueId}/events/error`, error); + } + res.send(202, {}); + } catch (error) { + res.send(400, error); + } }); - /** - * Phase 3 - */ - router.get('/report/pages/:pageName/filters', (req, res) => { + router.get('/report/pages/:pageName/filters', async (req, res) => { const page = { name: req.params.pageName, displayName: null }; - - return app.validatePage(page) - .then(() => { - return app.getFilters() - .then(filters => { - res.send(200, filters); - }, error => { - res.send(500, error); - }); - }, errors => { - res.send(400, errors); - }); + try { + await app.validatePage(page); + try { + const filters = await app.getFilters(); + res.send(200, filters); + } catch (error) { + res.send(500, error); + } + } catch (error) { + res.send(400, error); + } }); - router.post('/report/pages/:pageName/filters', (req, res) => { + router.post('/report/pages/:pageName/filters', async (req, res) => { const pageName = req.params.pageName; const uniqueId = req.headers['uid']; - const operation = req.body.filtersOperation + const operation = req.body.filtersOperation; const filters = req.body.filters; const page: models.IPage = { name: pageName, displayName: null }; - return app.validatePage(page) - .then(() => Promise.all(filters ? filters.map(filter => app.validateFilter(filter)) : [Promise.resolve(null)])) - .then(() => { - app.updateFilters(operation, filters) - .then(filter => { - const initiator = "sdk"; - hpm.post(`/reports/${uniqueId}/pages/${pageName}/events/filtersApplied`, { - initiator, - filter - }); - }, error => { - hpm.post(`/reports/${uniqueId}/events/error`, error); - }); - - res.send(202); - }, errors => { - res.send(400, errors); - }); + try { + await app.validatePage(page); + await Promise.all(filters ? filters.map(filter => app.validateFilter(filter)) : [Promise.resolve(null)]); + try { + const filter = await app.updateFilters(operation, filters); + hpm.post(`/reports/${uniqueId}/pages/${pageName}/events/filtersApplied`, { + initiator: "sdk", + filter + }); + } catch (error) { + hpm.post(`/reports/${uniqueId}/events/error`, error); + } + res.send(202, {}); + + } catch (error) { + res.send(400, error); + + } }); - router.put('/report/pages/:pageName/filters', (req, res) => { + router.put('/report/pages/:pageName/filters', async (req, res) => { const pageName = req.params.pageName; const uniqueId = req.headers['uid']; const filters = req.body; @@ -295,28 +273,25 @@ export function setupEmbedMockApp(iframeContentWindow: Window, parentWindow: Win name: pageName, displayName: null }; - - return app.validatePage(page) - .then(() => Promise.all(filters.map(filter => app.validateFilter(filter)))) - .then(() => { - app.setFilters(filters) - .then(filter => { - const initiator = "sdk"; - hpm.post(`/reports/${uniqueId}/pages/${pageName}/events/filtersApplied`, { - initiator, - filter - }); - }, error => { - hpm.post(`/reports/${uniqueId}/events/error`, error); - }); - - res.send(202); - }, errors => { - res.send(400, errors); - }); + try { + await app.validatePage(page); + await Promise.all(filters.map(filter => app.validateFilter(filter))); + try { + const filter = await app.setFilters(filters); + hpm.post(`/reports/${uniqueId}/pages/${pageName}/events/filtersApplied`, { + initiator: "sdk", + filter + }); + } catch (error) { + hpm.post(`/reports/${uniqueId}/events/error`, error); + } + res.send(202, {}); + } catch (error) { + res.send(400, error); + } }); - router.get('/report/pages/:pageName/visuals/:visualName/filters', (req, res) => { + router.get('/report/pages/:pageName/visuals/:visualName/filters', async (req, res) => { const page = { name: req.params.pageName, displayName: null @@ -328,24 +303,24 @@ export function setupEmbedMockApp(iframeContentWindow: Window, parentWindow: Win layout: {}, }; - return app.validateVisual(page, visual) - .then(() => { - return app.getFilters() - .then(filters => { - res.send(200, filters); - }, error => { - res.send(500, error); - }); - }, errors => { - res.send(400, errors); - }); + try { + await app.validateVisual(page, visual); + try { + const filters = await app.getFilters(); + res.send(200, filters); + } catch (error) { + res.send(500, error); + } + } catch (error) { + res.send(400, error); + } }); - router.post('/report/pages/:pageName/visuals/:visualName/filters', (req, res) => { + router.post('/report/pages/:pageName/visuals/:visualName/filters', async (req, res) => { const pageName = req.params.pageName; const visualName = req.params.visualName; const uniqueId = req.headers['uid']; - const operation = req.body.filtersOperation + const operation = req.body.filtersOperation; const filters = req.body.filters; const page: models.IPage = { name: pageName, displayName: null @@ -357,27 +332,25 @@ export function setupEmbedMockApp(iframeContentWindow: Window, parentWindow: Win layout: {}, }; - return app.validateVisual(page, visual) - .then(() => Promise.all(filters ? filters.map(filter => app.validateFilter(filter)) : [Promise.resolve(null)])) - .then(() => { - app.updateFilters(operation, filters) - .then(filter => { - const initiator = "sdk"; - hpm.post(`/reports/${uniqueId}/pages/${pageName}/visuals/${visualName}/events/filtersApplied`, { - initiator, - filter - }); - }, error => { - hpm.post(`/reports/${uniqueId}/events/error`, error); - }); - - res.send(202); - }, errors => { - res.send(400, errors); - }); + try { + await app.validateVisual(page, visual); + await Promise.all(filters ? filters.map(filter => app.validateFilter(filter)) : [Promise.resolve(null)]); + try { + const filter = await app.updateFilters(operation, filters); + hpm.post(`/reports/${uniqueId}/pages/${pageName}/visuals/${visualName}/events/filtersApplied`, { + initiator: "sdk", + filter + }); + } catch (error) { + hpm.post(`/reports/${uniqueId}/events/error`, error); + } + res.send(202, {}); + } catch (error) { + res.send(400, error); + } }); - router.put('/report/pages/:pageName/visuals/:visualName/filters', (req, res) => { + router.put('/report/pages/:pageName/visuals/:visualName/filters', async (req, res) => { const pageName = req.params.pageName; const visualName = req.params.visualName; const uniqueId = req.headers['uid']; @@ -392,58 +365,48 @@ export function setupEmbedMockApp(iframeContentWindow: Window, parentWindow: Win type: 'type', layout: {}, }; - - return app.validateVisual(page, visual) - .then(() => Promise.all(filters.map(filter => app.validateFilter(filter)))) - .then(() => { - app.setFilters(filters) - .then(filter => { - const initiator = "sdk"; - hpm.post(`/reports/${uniqueId}/pages/${pageName}/visuals/${visualName}/events/filtersApplied`, { - initiator, - filter - }); - }, error => { - hpm.post(`/reports/${uniqueId}/events/error`, error); - }); - - res.send(202); - }, errors => { - res.send(400, errors); - }); + try { + await app.validateVisual(page, visual); + await Promise.all(filters.map(filter => app.validateFilter(filter))); + try { + const filter = await app.setFilters(filters); + hpm.post(`/reports/${uniqueId}/pages/${pageName}/visuals/${visualName}/events/filtersApplied`, { + initiator: "sdk", + filter + }); + } catch (error) { + hpm.post(`/reports/${uniqueId}/events/error`, error); + } + res.send(202, {}); + } catch (error) { + res.send(400, error); + } }); - router.patch('/report/settings', (req, res) => { + router.patch('/report/settings', async (req, res) => { const uniqueId = req.headers['uid']; const settings = req.body; - - return app.validateSettings(settings) - .then(() => { - app.updateSettings(settings) - .then(updatedSettings => { - const initiator = "sdk"; - hpm.post(`/reports/${uniqueId}/events/settingsUpdated`, { - initiator, - settings: updatedSettings - }); - }, error => { - hpm.post(`/reports/${uniqueId}/events/error`, error); - }); - - res.send(202); - }, errors => { - res.send(400, errors); - }); + try { + await app.validateSettings(settings); + try { + const updatedSettings = await app.updateSettings(settings); + hpm.post(`/reports/${uniqueId}/events/settingsUpdated`, { + initiator: "sdk", + settings: updatedSettings + }); + } catch (error) { + hpm.post(`/reports/${uniqueId}/events/error`, error); + } + res.send(202, {}); + } + catch (error) { + res.send(400, error); + } }); - /** - * Phase 4 - */ - router.get('/report/data', (req, res) => { - return app.exportData() - .then(data => { - res.send(200, data); - }); + router.get('/report/data', async (req, res) => { + const data = await app.exportData(); + res.send(200, data); }); router.post('/report/refresh', (req, res) => { @@ -477,6 +440,5 @@ export function setupEmbedMockApp(iframeContentWindow: Window, parentWindow: Win app.setAccessToken(settings); res.send(202); }); - return hpm; -} \ No newline at end of file +} diff --git a/test/utility/mockHpm.ts b/test/utility/mockHpm.ts index 3287af81..2bc5ca50 100644 --- a/test/utility/mockHpm.ts +++ b/test/utility/mockHpm.ts @@ -2,9 +2,9 @@ // Licensed under the MIT License. export const spyHpm = { - get: jasmine.createSpy("get").and.returnValue(Promise.resolve(null)), - post: jasmine.createSpy("post").and.returnValue(Promise.resolve(null)), - patch: jasmine.createSpy("patch").and.returnValue(Promise.resolve(null)), - put: jasmine.createSpy("put").and.returnValue(Promise.resolve(null)), - delete: jasmine.createSpy("delete").and.returnValue(Promise.resolve(null)) -}; \ No newline at end of file + get: jasmine.createSpy("get").and.returnValue(Promise.resolve({})), + post: jasmine.createSpy("post").and.returnValue(Promise.resolve({})), + patch: jasmine.createSpy("patch").and.returnValue(Promise.resolve({})), + put: jasmine.createSpy("put").and.returnValue(Promise.resolve({})), + delete: jasmine.createSpy("delete").and.returnValue(Promise.resolve({})) +}; diff --git a/test/utility/mockRouter.ts b/test/utility/mockRouter.ts index 2223bf40..8a3e692a 100644 --- a/test/utility/mockRouter.ts +++ b/test/utility/mockRouter.ts @@ -7,4 +7,4 @@ export const spyRouter = { patch: jasmine.createSpy("patch"), put: jasmine.createSpy("put"), delete: jasmine.createSpy("delete") -}; \ No newline at end of file +}; diff --git a/test/utility/mockWpmp.ts b/test/utility/mockWpmp.ts index 2603ac55..dd19c85b 100644 --- a/test/utility/mockWpmp.ts +++ b/test/utility/mockWpmp.ts @@ -4,18 +4,18 @@ export const spyWpmp = { handlers: [], - clearHandlers() { + clearHandlers(): void { spyWpmp.handlers.length = 0; }, - addHandlerSpy(handler) { + addHandlerSpy(handler: any): void { spyWpmp.handlers.push(handler); }, addHandler: jasmine.createSpy("addHandler").and.callFake((x) => spyWpmp.addHandlerSpy(x)), postMessageSpy: jasmine.createSpy("postMessage"), - postMessage(message): Promise { + postMessage(message: any): Promise { spyWpmp.postMessageSpy(message); return Promise.resolve(null); }, @@ -23,12 +23,12 @@ export const spyWpmp = { start: jasmine.createSpy("start"), stop: jasmine.createSpy("stop"), - onMessageReceived(event) { + onMessageReceived(event: any): void { let message: any = event.data; const handled = spyWpmp.handlers.some(handler => { if (handler.test(message)) { - Promise.resolve(handler.handle(message)) + Promise.resolve(handler.handle(message)); return true; } @@ -38,4 +38,4 @@ export const spyWpmp = { throw Error(`nothing handled message`); } } -}; \ No newline at end of file +}; diff --git a/webpack.test.config.js b/webpack.test.config.js index 04c1f1ff..b3ac3c48 100644 --- a/webpack.test.config.js +++ b/webpack.test.config.js @@ -3,7 +3,7 @@ const glob = require("glob"); module.exports = { mode: 'development', - entry: glob.sync('./test/*.spec.ts'), + entry: glob.sync('./test/**/*.spec.ts'), output: { path: __dirname + "/tmp", filename: 'test.spec.js' From c766b4a0f85514c960c879493b9ec15c99080576 Mon Sep 17 00:00:00 2001 From: Ali Abu Foul Date: Sun, 21 Nov 2021 09:05:40 +0000 Subject: [PATCH 078/125] Merged PR 194909: Add report getTheme API [WIP] --- dist/powerbi-client.d.ts | 8 ++ dist/powerbi.js | 167 +++++++++++++++++++++++---------------- dist/powerbi.min.js | 2 +- src/report.ts | 20 +++++ test/SDK-to-HPM.spec.ts | 26 ++++++ 5 files changed, 152 insertions(+), 71 deletions(-) diff --git a/dist/powerbi-client.d.ts b/dist/powerbi-client.d.ts index 539fd0a8..f295c5d4 100644 --- a/dist/powerbi-client.d.ts +++ b/dist/powerbi-client.d.ts @@ -1368,6 +1368,14 @@ declare module "report" { * ``` */ resetTheme(): Promise; + /** + * get the theme of the report + * + * ```javascript + * report.getTheme(); + * ``` + */ + getTheme(): Promise; /** * Reset user's filters, slicers, and other data view changes to the default state of the report * diff --git a/dist/powerbi.js b/dist/powerbi.js index c9477e44..2b53effd 100644 --- a/dist/powerbi.js +++ b/dist/powerbi.js @@ -6990,7 +6990,7 @@ var BookmarksManager = /** @class */ (function () { return __generator(this, function (_a) { switch (_a.label) { case 0: - if ((0, util_1.isRDLEmbed)(this.config.embedUrl)) { + if (util_1.isRDLEmbed(this.config.embedUrl)) { return [2 /*return*/, Promise.reject(errors_1.APINotSupportedForRDLError)]; } _a.label = 1; @@ -7024,7 +7024,7 @@ var BookmarksManager = /** @class */ (function () { return __generator(this, function (_a) { switch (_a.label) { case 0: - if ((0, util_1.isRDLEmbed)(this.config.embedUrl)) { + if (util_1.isRDLEmbed(this.config.embedUrl)) { return [2 /*return*/, Promise.reject(errors_1.APINotSupportedForRDLError)]; } request = { @@ -7060,7 +7060,7 @@ var BookmarksManager = /** @class */ (function () { return __generator(this, function (_a) { switch (_a.label) { case 0: - if ((0, util_1.isRDLEmbed)(this.config.embedUrl)) { + if (util_1.isRDLEmbed(this.config.embedUrl)) { return [2 /*return*/, Promise.reject(errors_1.APINotSupportedForRDLError)]; } playBookmarkRequest = { @@ -7095,7 +7095,7 @@ var BookmarksManager = /** @class */ (function () { return __generator(this, function (_a) { switch (_a.label) { case 0: - if ((0, util_1.isRDLEmbed)(this.config.embedUrl)) { + if (util_1.isRDLEmbed(this.config.embedUrl)) { return [2 /*return*/, Promise.reject(errors_1.APINotSupportedForRDLError)]; } request = { @@ -7132,7 +7132,7 @@ var BookmarksManager = /** @class */ (function () { return __generator(this, function (_a) { switch (_a.label) { case 0: - if ((0, util_1.isRDLEmbed)(this.config.embedUrl)) { + if (util_1.isRDLEmbed(this.config.embedUrl)) { return [2 /*return*/, Promise.reject(errors_1.APINotSupportedForRDLError)]; } request = { @@ -7274,7 +7274,7 @@ var Create = /** @class */ (function (_super) { * Validate create report configuration. */ Create.prototype.validate = function (config) { - return (0, powerbi_models_1.validateCreateReport)(config); + return powerbi_models_1.validateCreateReport(config); }; /** * Handle config changes. @@ -7441,7 +7441,7 @@ var Dashboard = /** @class */ (function (_super) { */ Dashboard.prototype.validate = function (baseConfig) { var config = baseConfig; - var error = (0, powerbi_models_1.validateDashboardLoad)(config); + var error = powerbi_models_1.validateDashboardLoad(config); return error ? error : this.validatePageView(config.pageView); }; /** @@ -7563,7 +7563,7 @@ var Embed = /** @class */ (function () { function Embed(service, element, config, iframe, phasedRender, isBootstrap) { /** @hidden */ this.allowedEvents = []; - if ((0, util_1.autoAuthInEmbedUrl)(config.embedUrl)) { + if (util_1.autoAuthInEmbedUrl(config.embedUrl)) { throw new Error(errors_1.EmbedUrlNotSupported); } Array.prototype.push.apply(this.allowedEvents, Embed.allowedEvents); @@ -7749,7 +7749,7 @@ var Embed = /** @class */ (function () { sdkVersion: sdkConfig.default.version }; timeNow = new Date(); - if (this.lastLoadRequest && (0, util_1.getTimeDiffInMilliseconds)(this.lastLoadRequest, timeNow) < 100) { + if (this.lastLoadRequest && util_1.getTimeDiffInMilliseconds(this.lastLoadRequest, timeNow) < 100) { console.debug("Power BI SDK sent more than two /report/load requests in the last 100ms interval."); return [2 /*return*/]; } @@ -7794,7 +7794,7 @@ var Embed = /** @class */ (function () { var _this = this; var fakeEvent = { name: eventName, type: null, id: null, value: null }; if (handler) { - (0, util_1.remove)(function (eventHandler) { return eventHandler.test(fakeEvent) && (eventHandler.handle === handler); }, this.eventHandlers); + util_1.remove(function (eventHandler) { return eventHandler.test(fakeEvent) && (eventHandler.handle === handler); }, this.eventHandlers); this.element.removeEventListener(eventName, handler); } else { @@ -7802,7 +7802,7 @@ var Embed = /** @class */ (function () { .filter(function (eventHandler) { return eventHandler.test(fakeEvent); }); eventHandlersToRemove .forEach(function (eventHandlerToRemove) { - (0, util_1.remove)(function (eventHandler) { return eventHandler === eventHandlerToRemove; }, _this.eventHandlers); + util_1.remove(function (eventHandler) { return eventHandler === eventHandlerToRemove; }, _this.eventHandlers); _this.element.removeEventListener(eventName, eventHandlerToRemove.handle); }); } @@ -7908,14 +7908,14 @@ var Embed = /** @class */ (function () { var _this = this; var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k; if (this.bootstrapConfig) { - this.config = (0, util_1.assign)({}, this.bootstrapConfig, config); + this.config = util_1.assign({}, this.bootstrapConfig, config); // reset bootstrapConfig because we do not want to merge it in re-embed scenario. this.bootstrapConfig = null; } else { // Copy config - important for multiple iframe scenario. // Otherwise, if a user uses the same config twice, same unique Id which will be used in different iframes. - this.config = (0, util_1.assign)({}, config); + this.config = util_1.assign({}, config); } this.config.embedUrl = this.getEmbedUrl(isBootstrap); this.config.groupId = this.getGroupId(); @@ -7944,7 +7944,7 @@ var Embed = /** @class */ (function () { var registerQueryCallback = !!((_k = this.config.eventHooks) === null || _k === void 0 ? void 0 : _k.applicationContextProvider); delete this.config.eventHooks; if (registerQueryCallback && this.embedtype === "report") - this.config.embedUrl = (0, util_1.addParamToUrl)(this.config.embedUrl, "registerQueryCallback", "true"); + this.config.embedUrl = util_1.addParamToUrl(this.config.embedUrl, "registerQueryCallback", "true"); this.configChanged(isBootstrap); }; /** @@ -7960,10 +7960,10 @@ var Embed = /** @class */ (function () { } var localeSettings = config.settings.localeSettings; if (localeSettings && localeSettings.language) { - this.config.embedUrl = (0, util_1.addParamToUrl)(this.config.embedUrl, 'language', localeSettings.language); + this.config.embedUrl = util_1.addParamToUrl(this.config.embedUrl, 'language', localeSettings.language); } if (localeSettings && localeSettings.formatLocale) { - this.config.embedUrl = (0, util_1.addParamToUrl)(this.config.embedUrl, 'formatLocale', localeSettings.formatLocale); + this.config.embedUrl = util_1.addParamToUrl(this.config.embedUrl, 'formatLocale', localeSettings.formatLocale); } }; /** @@ -8011,7 +8011,7 @@ var Embed = /** @class */ (function () { * @hidden */ Embed.prototype.getUniqueId = function () { - return this.config.uniqueId || this.element.getAttribute(Embed.nameAttribute) || (0, util_1.createRandomString)(); + return this.config.uniqueId || this.element.getAttribute(Embed.nameAttribute) || util_1.createRandomString(); }; /** * Gets the group ID from the first available location: options, embeddedUrl. @@ -8062,7 +8062,7 @@ var Embed = /** @class */ (function () { var _this = this; if (!this.iframe) { var iframeContent = document.createElement("iframe"); - var embedUrl = this.config.uniqueId ? (0, util_1.addParamToUrl)(this.config.embedUrl, 'uid', this.config.uniqueId) : this.config.embedUrl; + var embedUrl = this.config.uniqueId ? util_1.addParamToUrl(this.config.embedUrl, 'uid', this.config.uniqueId) : this.config.embedUrl; iframeContent.style.width = '100%'; iframeContent.style.height = '100%'; iframeContent.setAttribute("src", embedUrl); @@ -8574,7 +8574,7 @@ var Page = /** @class */ (function () { return __generator(this, function (_a) { switch (_a.label) { case 0: - if ((0, util_1.isRDLEmbed)(this.report.config.embedUrl)) { + if (util_1.isRDLEmbed(this.report.config.embedUrl)) { return [2 /*return*/, Promise.reject(errors_1.APINotSupportedForRDLError)]; } _a.label = 1; @@ -8612,7 +8612,7 @@ var Page = /** @class */ (function () { return __generator(this, function (_a) { switch (_a.label) { case 0: - if ((0, util_1.isRDLEmbed)(this.report.config.embedUrl)) { + if (util_1.isRDLEmbed(this.report.config.embedUrl)) { return [2 /*return*/, Promise.reject(errors_1.APINotSupportedForRDLError)]; } _a.label = 1; @@ -8747,7 +8747,7 @@ var Page = /** @class */ (function () { return __generator(this, function (_a) { switch (_a.label) { case 0: - if ((0, util_1.isRDLEmbed)(this.report.config.embedUrl)) { + if (util_1.isRDLEmbed(this.report.config.embedUrl)) { return [2 /*return*/, Promise.reject(errors_1.APINotSupportedForRDLError)]; } _a.label = 1; @@ -8783,7 +8783,7 @@ var Page = /** @class */ (function () { return __generator(this, function (_a) { switch (_a.label) { case 0: - if ((0, util_1.isRDLEmbed)(this.report.config.embedUrl)) { + if (util_1.isRDLEmbed(this.report.config.embedUrl)) { return [2 /*return*/, Promise.reject(errors_1.APINotSupportedForRDLError)]; } layoutTypeEnum = powerbi_models_1.LayoutType[layoutType]; @@ -9000,7 +9000,7 @@ var Qna = /** @class */ (function (_super) { * Validate load configuration. */ Qna.prototype.validate = function (config) { - return (0, powerbi_models_1.validateLoadQnaConfiguration)(config); + return powerbi_models_1.validateLoadQnaConfiguration(config); }; /** @hidden */ Qna.type = "Qna"; @@ -9073,14 +9073,10 @@ var __generator = (this && this.__generator) || function (thisArg, body) { if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true }; } }; -var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) { - if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) { - if (ar || !(i in from)) { - if (!ar) ar = Array.prototype.slice.call(from, 0, i); - ar[i] = from[i]; - } - } - return to.concat(ar || Array.prototype.slice.call(from)); +var __spreadArray = (this && this.__spreadArray) || function (to, from) { + for (var i = 0, il = from.length, j = to.length; i < il; i++, j++) + to[j] = from[i]; + return to; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.Report = void 0; @@ -9291,7 +9287,7 @@ var Report = /** @class */ (function (_super) { return __generator(this, function (_a) { switch (_a.label) { case 0: - if ((0, util_1.isRDLEmbed)(this.config.embedUrl)) { + if (util_1.isRDLEmbed(this.config.embedUrl)) { return [2 /*return*/, Promise.reject(errors_1.APINotSupportedForRDLError)]; } _a.label = 1; @@ -9355,7 +9351,7 @@ var Report = /** @class */ (function (_super) { Report.prototype.removeFilters = function () { return __awaiter(this, void 0, void 0, function () { return __generator(this, function (_a) { - if ((0, util_1.isRDLEmbed)(this.config.embedUrl)) { + if (util_1.isRDLEmbed(this.config.embedUrl)) { return [2 /*return*/, Promise.reject(errors_1.APINotSupportedForRDLError)]; } return [2 /*return*/, this.updateFilters(powerbi_models_1.FiltersOperations.RemoveAll)]; @@ -9385,7 +9381,7 @@ var Report = /** @class */ (function (_super) { return __generator(this, function (_a) { switch (_a.label) { case 0: - if ((0, util_1.isRDLEmbed)(this.config.embedUrl)) { + if (util_1.isRDLEmbed(this.config.embedUrl)) { return [2 /*return*/, Promise.reject(errors_1.APINotSupportedForRDLError)]; } _a.label = 1; @@ -9433,7 +9429,7 @@ var Report = /** @class */ (function (_super) { return __generator(this, function (_a) { switch (_a.label) { case 0: - if ((0, util_1.isRDLEmbed)(this.config.embedUrl)) { + if (util_1.isRDLEmbed(this.config.embedUrl)) { return [2 /*return*/, Promise.reject(errors_1.APINotSupportedForRDLError)]; } _a.label = 1; @@ -9471,7 +9467,7 @@ var Report = /** @class */ (function (_super) { return __generator(this, function (_a) { switch (_a.label) { case 0: - if ((0, util_1.isRDLEmbed)(this.config.embedUrl)) { + if (util_1.isRDLEmbed(this.config.embedUrl)) { return [2 /*return*/, Promise.reject(errors_1.APINotSupportedForRDLError)]; } _a.label = 1; @@ -9511,7 +9507,7 @@ var Report = /** @class */ (function (_super) { return __generator(this, function (_a) { switch (_a.label) { case 0: - if ((0, util_1.isRDLEmbed)(this.config.embedUrl)) { + if (util_1.isRDLEmbed(this.config.embedUrl)) { return [2 /*return*/, Promise.reject(errors_1.APINotSupportedForRDLError)]; } _a.label = 1; @@ -9557,7 +9553,7 @@ var Report = /** @class */ (function (_super) { return __generator(this, function (_a) { switch (_a.label) { case 0: - if ((0, util_1.isRDLEmbed)(this.config.embedUrl)) { + if (util_1.isRDLEmbed(this.config.embedUrl)) { return [2 /*return*/, Promise.reject(errors_1.APINotSupportedForRDLError)]; } _a.label = 1; @@ -9592,7 +9588,7 @@ var Report = /** @class */ (function (_super) { return __generator(this, function (_a) { switch (_a.label) { case 0: - if ((0, util_1.isRDLEmbed)(this.config.embedUrl)) { + if (util_1.isRDLEmbed(this.config.embedUrl)) { return [2 /*return*/, Promise.reject(errors_1.APINotSupportedForRDLError)]; } page = { @@ -9640,7 +9636,7 @@ var Report = /** @class */ (function (_super) { return __generator(this, function (_c) { switch (_c.label) { case 0: - if ((0, util_1.isRDLEmbed)(this.config.embedUrl) && settings.customLayout != null) { + if (util_1.isRDLEmbed(this.config.embedUrl) && settings.customLayout != null) { return [2 /*return*/, Promise.reject(errors_1.APINotSupportedForRDLError)]; } _c.label = 1; @@ -9674,10 +9670,10 @@ var Report = /** @class */ (function (_super) { * @hidden */ Report.prototype.validate = function (config) { - if ((0, util_1.isRDLEmbed)(this.config.embedUrl)) { - return (0, powerbi_models_1.validatePaginatedReportLoad)(config); + if (util_1.isRDLEmbed(this.config.embedUrl)) { + return powerbi_models_1.validatePaginatedReportLoad(config); } - return (0, powerbi_models_1.validateReportLoad)(config); + return powerbi_models_1.validateReportLoad(config); }; /** * Handle config changes. @@ -9687,7 +9683,7 @@ var Report = /** @class */ (function (_super) { Report.prototype.configChanged = function (isBootstrap) { var config = this.config; if (this.isMobileSettings(config.settings)) { - config.embedUrl = (0, util_1.addParamToUrl)(config.embedUrl, "isMobile", "true"); + config.embedUrl = util_1.addParamToUrl(config.embedUrl, "isMobile", "true"); } // Calculate settings from HTML element attributes if available. var filterPaneEnabledAttribute = this.element.getAttribute(Report.filterPaneEnabledAttribute); @@ -9697,7 +9693,7 @@ var Report = /** @class */ (function (_super) { navContentPaneEnabled: (navContentPaneEnabledAttribute == null) ? undefined : (navContentPaneEnabledAttribute !== "false") }; // Set the settings back into the config. - this.config.settings = (0, util_1.assign)({}, elementAttrSettings, config.settings); + this.config.settings = util_1.assign({}, elementAttrSettings, config.settings); if (isBootstrap) { return; } @@ -9783,10 +9779,10 @@ var Report = /** @class */ (function (_super) { return __generator(this, function (_a) { switch (_a.label) { case 0: - if ((0, util_1.isRDLEmbed)(this.config.embedUrl)) { + if (util_1.isRDLEmbed(this.config.embedUrl)) { return [2 /*return*/, Promise.reject(errors_1.APINotSupportedForRDLError)]; } - return [4 /*yield*/, (0, util_1.isSavedInternal)(this.service.hpm, this.config.uniqueId, this.iframe.contentWindow)]; + return [4 /*yield*/, util_1.isSavedInternal(this.service.hpm, this.config.uniqueId, this.iframe.contentWindow)]; case 1: return [2 /*return*/, _a.sent()]; } }); @@ -9804,7 +9800,7 @@ var Report = /** @class */ (function (_super) { return __generator(this, function (_a) { switch (_a.label) { case 0: - if ((0, util_1.isRDLEmbed)(this.config.embedUrl)) { + if (util_1.isRDLEmbed(this.config.embedUrl)) { return [2 /*return*/, Promise.reject(errors_1.APINotSupportedForRDLError)]; } return [4 /*yield*/, this.applyThemeInternal(theme)]; @@ -9825,7 +9821,7 @@ var Report = /** @class */ (function (_super) { return __generator(this, function (_a) { switch (_a.label) { case 0: - if ((0, util_1.isRDLEmbed)(this.config.embedUrl)) { + if (util_1.isRDLEmbed(this.config.embedUrl)) { return [2 /*return*/, Promise.reject(errors_1.APINotSupportedForRDLError)]; } return [4 /*yield*/, this.applyThemeInternal({})]; @@ -9834,6 +9830,37 @@ var Report = /** @class */ (function (_super) { }); }); }; + /** + * get the theme of the report + * + * ```javascript + * report.getTheme(); + * ``` + */ + Report.prototype.getTheme = function () { + return __awaiter(this, void 0, void 0, function () { + var response, response_16; + return __generator(this, function (_a) { + switch (_a.label) { + case 0: + if (util_1.isRDLEmbed(this.config.embedUrl)) { + return [2 /*return*/, Promise.reject(errors_1.APINotSupportedForRDLError)]; + } + _a.label = 1; + case 1: + _a.trys.push([1, 3, , 4]); + return [4 /*yield*/, this.service.hpm.get("/report/theme", { uid: this.config.uniqueId }, this.iframe.contentWindow)]; + case 2: + response = _a.sent(); + return [2 /*return*/, response.body]; + case 3: + response_16 = _a.sent(); + throw response_16.body; + case 4: return [2 /*return*/]; + } + }); + }); + }; /** * Reset user's filters, slicers, and other data view changes to the default state of the report * @@ -9843,7 +9870,7 @@ var Report = /** @class */ (function (_super) { */ Report.prototype.resetPersistentFilters = function () { return __awaiter(this, void 0, void 0, function () { - var response_16; + var response_17; return __generator(this, function (_a) { switch (_a.label) { case 0: @@ -9851,8 +9878,8 @@ var Report = /** @class */ (function (_super) { return [4 /*yield*/, this.service.hpm.delete("/report/userState", null, { uid: this.config.uniqueId }, this.iframe.contentWindow)]; case 1: return [2 /*return*/, _a.sent()]; case 2: - response_16 = _a.sent(); - throw response_16.body; + response_17 = _a.sent(); + throw response_17.body; case 3: return [2 /*return*/]; } }); @@ -9867,7 +9894,7 @@ var Report = /** @class */ (function (_super) { */ Report.prototype.savePersistentFilters = function () { return __awaiter(this, void 0, void 0, function () { - var response_17; + var response_18; return __generator(this, function (_a) { switch (_a.label) { case 0: @@ -9875,8 +9902,8 @@ var Report = /** @class */ (function (_super) { return [4 /*yield*/, this.service.hpm.post("/report/userState", null, { uid: this.config.uniqueId }, this.iframe.contentWindow)]; case 1: return [2 /*return*/, _a.sent()]; case 2: - response_17 = _a.sent(); - throw response_17.body; + response_18 = _a.sent(); + throw response_18.body; case 3: return [2 /*return*/]; } }); @@ -9894,7 +9921,7 @@ var Report = /** @class */ (function (_super) { */ Report.prototype.arePersistentFiltersApplied = function () { return __awaiter(this, void 0, void 0, function () { - var response, response_18; + var response, response_19; return __generator(this, function (_a) { switch (_a.label) { case 0: @@ -9904,8 +9931,8 @@ var Report = /** @class */ (function (_super) { response = _a.sent(); return [2 /*return*/, response.body]; case 2: - response_18 = _a.sent(); - throw response_18.body; + response_19 = _a.sent(); + throw response_19.body; case 3: return [2 /*return*/]; } }); @@ -9931,7 +9958,7 @@ var Report = /** @class */ (function (_super) { return __generator(this, function (_a) { switch (_a.label) { case 0: - if ((0, util_1.isRDLEmbed)(this.config.embedUrl)) { + if (util_1.isRDLEmbed(this.config.embedUrl)) { return [2 /*return*/, Promise.reject(errors_1.APINotSupportedForRDLError)]; } commandCopy = JSON.parse(JSON.stringify(this.commands)); @@ -9982,7 +10009,7 @@ var Report = /** @class */ (function (_super) { return __generator(this, function (_a) { switch (_a.label) { case 0: - if ((0, util_1.isRDLEmbed)(this.config.embedUrl)) { + if (util_1.isRDLEmbed(this.config.embedUrl)) { return [2 /*return*/, Promise.reject(errors_1.APINotSupportedForRDLError)]; } newCommands = this.createMenuCommand("visualContextMenu", commandName, commandTitle, contextMenuTitle, menuLocation, visualName, visualType, groupName); @@ -10018,7 +10045,7 @@ var Report = /** @class */ (function (_super) { return __generator(this, function (_a) { switch (_a.label) { case 0: - if ((0, util_1.isRDLEmbed)(this.config.embedUrl)) { + if (util_1.isRDLEmbed(this.config.embedUrl)) { return [2 /*return*/, Promise.reject(errors_1.APINotSupportedForRDLError)]; } commandCopy = JSON.parse(JSON.stringify(this.commands)); @@ -10073,7 +10100,7 @@ var Report = /** @class */ (function (_super) { return __generator(this, function (_a) { switch (_a.label) { case 0: - if ((0, util_1.isRDLEmbed)(this.config.embedUrl)) { + if (util_1.isRDLEmbed(this.config.embedUrl)) { return [2 /*return*/, Promise.reject(errors_1.APINotSupportedForRDLError)]; } newCommands = this.createMenuCommand("visualOptionsMenu", commandName, commandTitle, optionsMenuTitle, menuLocation, visualName, visualType, groupName, commandIcon); @@ -10296,7 +10323,7 @@ var Report = /** @class */ (function (_super) { visualType: visualType }; } - return __spreadArray(__spreadArray([], this.commands, true), [newCommandObj], false); + return __spreadArray(__spreadArray([], this.commands), [newCommandObj]); }; /** * @hidden @@ -10347,7 +10374,7 @@ var Report = /** @class */ (function (_super) { */ Report.prototype.applyThemeInternal = function (theme) { return __awaiter(this, void 0, void 0, function () { - var response, response_19; + var response, response_20; return __generator(this, function (_a) { switch (_a.label) { case 0: @@ -10357,8 +10384,8 @@ var Report = /** @class */ (function (_super) { response = _a.sent(); return [2 /*return*/, response.body]; case 2: - response_19 = _a.sent(); - throw response_19.body; + response_20 = _a.sent(); + throw response_20.body; case 3: return [2 /*return*/]; } }); @@ -10392,7 +10419,7 @@ var Report = /** @class */ (function (_super) { */ Report.prototype.getZoom = function () { return __awaiter(this, void 0, void 0, function () { - var response, response_20; + var response, response_21; return __generator(this, function (_a) { switch (_a.label) { case 0: @@ -10402,8 +10429,8 @@ var Report = /** @class */ (function (_super) { response = _a.sent(); return [2 /*return*/, response.body]; case 2: - response_20 = _a.sent(); - throw response_20.body; + response_21 = _a.sent(); + throw response_21.body; case 3: return [2 /*return*/]; } }); @@ -11045,7 +11072,7 @@ var Tile = /** @class */ (function (_super) { */ Tile.prototype.validate = function (config) { var embedConfig = config; - return (0, powerbi_models_1.validateTileLoad)(embedConfig); + return powerbi_models_1.validateTileLoad(embedConfig); }; /** * Handle config changes. diff --git a/dist/powerbi.min.js b/dist/powerbi.min.js index 234ffd37..747f61eb 100644 --- a/dist/powerbi.min.js +++ b/dist/powerbi.min.js @@ -1,7 +1,7 @@ // powerbi-client v2.18.6 // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. -!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){var e={};function r(i){if(e[i])return e[i].exports;var a=e[i]={i:i,l:!1,exports:{}};return t[i].call(a.exports,a,a.exports,r),a.l=!0,a.exports}return r.m=t,r.c=e,r.d=function(t,e,i){r.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:i})},r.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},r.t=function(t,e){if(1&e&&(t=r(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var i=Object.create(null);if(r.r(i),Object.defineProperty(i,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var a in t)r.d(i,a,function(e){return t[e]}.bind(null,a));return i},r.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return r.d(e,"a",e),e},r.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},r.p="",r(r.s=13)}([function(t,e,r){var i;i=function(){return function(t){var e={};function r(i){if(e[i])return e[i].exports;var a=e[i]={i:i,l:!1,exports:{}};return t[i].call(a.exports,a,a.exports,r),a.l=!0,a.exports}return r.m=t,r.c=e,r.d=function(t,e,i){r.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:i})},r.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},r.t=function(t,e){if(1&e&&(t=r(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var i=Object.create(null);if(r.r(i),Object.defineProperty(i,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var a in t)r.d(i,a,function(e){return t[e]}.bind(null,a));return i},r.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return r.d(e,"a",e),e},r.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},r.p="",r(r.s=0)}([function(t,e,r){var i,a=this&&this.__extends||(i=function(t,e){return(i=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])})(t,e)},function(t,e){function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.validateZoomLevel=e.validateCustomTheme=e.validateCommandsSettings=e.validateVisualSettings=e.validateVisualHeader=e.validateExportDataRequest=e.validateQnaInterpretInputData=e.validateLoadQnaConfiguration=e.validateSaveAsParameters=e.validateUpdateFiltersRequest=e.validateFilter=e.validatePage=e.validateTileLoad=e.validateDashboardLoad=e.validateCreateReport=e.validatePaginatedReportLoad=e.validateReportLoad=e.validateMenuGroupExtension=e.validateExtension=e.validateCustomPageSize=e.validateVisualizationsPane=e.validateSyncSlicersPane=e.validateSelectionPane=e.validatePageNavigationPane=e.validateFieldsPane=e.validateFiltersPane=e.validateBookmarksPane=e.validatePanes=e.validateSettings=e.validateCaptureBookmarkRequest=e.validateApplyBookmarkStateRequest=e.validateApplyBookmarkByNameRequest=e.validateAddBookmarkRequest=e.validatePlayBookmarkRequest=e.validateSlicerState=e.validateSlicer=e.validateVisualSelector=e.isIExtensionArray=e.isIExtensions=e.isGroupedMenuExtension=e.isFlatMenuExtension=e.isReportFiltersArray=e.isOnLoadFilters=e.VisualDataRoleKindPreference=e.VisualDataRoleKind=e.CommandDisplayOption=e.SlicerTargetSelector=e.VisualTypeSelector=e.VisualSelector=e.PageSelector=e.Selector=e.SortDirection=e.LegendPosition=e.TextAlignment=e.CommonErrorCodes=e.BookmarksPlayMode=e.ExportDataType=e.QnaMode=e.PageNavigationPosition=e.isColumnAggr=e.isHierarchyLevelAggr=e.isHierarchyLevel=e.isColumn=e.isMeasure=e.getFilterType=e.isBasicFilterWithKeys=e.isFilterKeyColumnsTarget=e.AdvancedFilter=e.TupleFilter=e.IdentityFilter=e.BasicFilterWithKeys=e.BasicFilter=e.RelativeTimeFilter=e.RelativeDateFilter=e.TopNFilter=e.IncludeExcludeFilter=e.NotSupportedFilter=e.Filter=e.RelativeDateOperators=e.RelativeDateFilterTimeUnit=e.FilterType=e.FiltersLevel=e.FiltersOperations=e.MenuLocation=e.ContrastMode=e.TokenType=e.ViewMode=e.Permissions=e.SectionVisibility=e.ReportAlignment=e.HyperlinkClickBehavior=e.LayoutType=e.VisualContainerDisplayMode=e.BackgroundType=e.DisplayOption=e.PageSizeType=e.TraceType=void 0;var o,n=r(1);!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"}(e.TraceType||(e.TraceType={})),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",t[t.Mobile=5]="Mobile"}(e.PageSizeType||(e.PageSizeType={})),function(t){t[t.FitToPage=0]="FitToPage",t[t.FitToWidth=1]="FitToWidth",t[t.ActualSize=2]="ActualSize"}(e.DisplayOption||(e.DisplayOption={})),function(t){t[t.Default=0]="Default",t[t.Transparent=1]="Transparent"}(e.BackgroundType||(e.BackgroundType={})),function(t){t[t.Visible=0]="Visible",t[t.Hidden=1]="Hidden"}(e.VisualContainerDisplayMode||(e.VisualContainerDisplayMode={})),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={})),function(t){t[t.Navigate=0]="Navigate",t[t.NavigateAndRaiseEvent=1]="NavigateAndRaiseEvent",t[t.RaiseEvent=2]="RaiseEvent"}(e.HyperlinkClickBehavior||(e.HyperlinkClickBehavior={})),function(t){t[t.Left=0]="Left",t[t.Center=1]="Center",t[t.Right=2]="Right",t[t.None=3]="None"}(e.ReportAlignment||(e.ReportAlignment={})),function(t){t[t.AlwaysVisible=0]="AlwaysVisible",t[t.HiddenInViewMode=1]="HiddenInViewMode"}(e.SectionVisibility||(e.SectionVisibility={})),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"}(e.Permissions||(e.Permissions={})),function(t){t[t.View=0]="View",t[t.Edit=1]="Edit"}(e.ViewMode||(e.ViewMode={})),function(t){t[t.Aad=0]="Aad",t[t.Embed=1]="Embed"}(e.TokenType||(e.TokenType={})),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"}(e.ContrastMode||(e.ContrastMode={})),function(t){t[t.Bottom=0]="Bottom",t[t.Top=1]="Top"}(e.MenuLocation||(e.MenuLocation={})),function(t){t[t.RemoveAll=0]="RemoveAll",t[t.ReplaceAll=1]="ReplaceAll",t[t.Add=2]="Add",t[t.Replace=3]="Replace"}(e.FiltersOperations||(e.FiltersOperations={})),function(t){t[t.Report=0]="Report",t[t.Page=1]="Page",t[t.Visual=2]="Visual"}(e.FiltersLevel||(e.FiltersLevel={})),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",t[t.Identity=8]="Identity"}(o=e.FilterType||(e.FilterType={})),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"}(e.RelativeDateFilterTimeUnit||(e.RelativeDateFilterTimeUnit={})),function(t){t[t.InLast=0]="InLast",t[t.InThis=1]="InThis",t[t.InNext=2]="InNext"}(e.RelativeDateOperators||(e.RelativeDateOperators={}));var l=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=l;var s=function(t){function e(r,i,a){var n=t.call(this,r,o.Unknown)||this;return n.message=i,n.notSupportedTypeName=a,n.schemaUrl=e.schemaUrl,n}return a(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}(l);e.NotSupportedFilter=s;var u=function(t){function e(r,i,a){var n=t.call(this,r,o.IncludeExclude)||this;return n.values=a,n.isExclude=i,n.schemaUrl=e.schemaUrl,n}return a(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}(l);e.IncludeExcludeFilter=u;var d=function(t){function e(r,i,a,n){var l=t.call(this,r,o.TopN)||this;return l.operator=i,l.itemCount=a,l.schemaUrl=e.schemaUrl,l.orderBy=n,l}return a(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}(l);e.TopNFilter=d;var c=function(t){function e(r,i,a,n,l){var s=t.call(this,r,o.RelativeDate)||this;return s.operator=i,s.timeUnitsCount=a,s.timeUnitType=n,s.includeToday=l,s.schemaUrl=e.schemaUrl,s}return a(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}(l);e.RelativeDateFilter=c;var p=function(t){function e(r,i,a,n){var l=t.call(this,r,o.RelativeTime)||this;return l.operator=i,l.timeUnitsCount=a,l.timeUnitType=n,l.schemaUrl=e.schemaUrl,l}return a(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}(l);e.RelativeTimeFilter=p;var f=function(t){function e(r,i){for(var a=[],n=2;n0&&!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,s=o.keyValues;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 s.conditions=l,s}return a(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}(l);function V(t){if(t.filterType)return t.filterType;var e=t,r=t;return"string"==typeof e.operator&&Array.isArray(e.values)?o.Basic:"string"==typeof r.logicalOperator&&Array.isArray(r.conditions)?o.Advanced:o.Unknown}function g(t){return!(!t.table||!t.column||t.aggregationFunction)}e.AdvancedFilter=m,e.isFilterKeyColumnsTarget=function(t){return g(t)&&!!t.keys},e.isBasicFilterWithKeys=function(t){return V(t)===o.Basic&&!!t.keyValues},e.getFilterType=V,e.isMeasure=function(t){return void 0!==t.table&&void 0!==t.measure},e.isColumn=g,e.isHierarchyLevel=function(t){return!(!(t.table&&t.hierarchy&&t.hierarchyLevel)||t.aggregationFunction)},e.isHierarchyLevelAggr=function(t){return!!(t.table&&t.hierarchy&&t.hierarchyLevel&&t.aggregationFunction)},e.isColumnAggr=function(t){return!!(t.table&&t.column&&t.aggregationFunction)},function(t){t[t.Bottom=0]="Bottom",t[t.Left=1]="Left"}(e.PageNavigationPosition||(e.PageNavigationPosition={})),function(t){t[t.Interactive=0]="Interactive",t[t.ResultOnly=1]="ResultOnly"}(e.QnaMode||(e.QnaMode={})),function(t){t[t.Summarized=0]="Summarized",t[t.Underlying=1]="Underlying"}(e.ExportDataType||(e.ExportDataType={})),function(t){t[t.Off=0]="Off",t[t.Presentation=1]="Presentation"}(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"},function(t){t[t.Ascending=1]="Ascending",t[t.Descending=2]="Descending"}(e.SortDirection||(e.SortDirection={}));var b=function(){function t(t){this.$schema=t}return t.prototype.toJSON=function(){return{$schema:this.$schema}},t}();e.Selector=b;var w=function(t){function e(r){var i=t.call(this,e.schemaUrl)||this;return i.pageName=r,i}return a(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}(b);e.PageSelector=w;var P=function(t){function e(r){var i=t.call(this,e.schemaUrl)||this;return i.visualName=r,i}return a(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}(b);e.VisualSelector=P;var _=function(t){function e(e){var r=t.call(this,P.schemaUrl)||this;return r.visualType=e,r}return a(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}(b);e.VisualTypeSelector=_;var O=function(t){function e(e){var r=t.call(this,P.schemaUrl)||this;return r.target=e,r}return a(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}(b);function S(t){return Array.isArray(t)}function T(t){return t&&!!t.groupName}function E(t){return Array.isArray(t)}function F(t){var e=t.message;return e||(e=t.path+" is invalid. Not meeting "+t.keyword+" constraint"),{message:e}}e.SlicerTargetSelector=O,function(t){t[t.Enabled=0]="Enabled",t[t.Disabled=1]="Disabled",t[t.Hidden=2]="Hidden"}(e.CommandDisplayOption||(e.CommandDisplayOption={})),function(t){t[t.Grouping=0]="Grouping",t[t.Measure=1]="Measure",t[t.GroupingOrMeasure=2]="GroupingOrMeasure"}(e.VisualDataRoleKind||(e.VisualDataRoleKind={})),function(t){t[t.Measure=0]="Measure",t[t.Grouping=1]="Grouping"}(e.VisualDataRoleKindPreference||(e.VisualDataRoleKindPreference={})),e.isOnLoadFilters=function(t){return t&&!S(t)},e.isReportFiltersArray=S,e.isFlatMenuExtension=function(t){return t&&!T(t)},e.isGroupedMenuExtension=T,e.isIExtensions=function(t){return t&&!E(t)},e.isIExtensionArray=E,e.validateVisualSelector=function(t){var e=n.Validators.visualSelectorValidator.validate(t);return e?e.map(F):void 0},e.validateSlicer=function(t){var e=n.Validators.slicerValidator.validate(t);return e?e.map(F):void 0},e.validateSlicerState=function(t){var e=n.Validators.slicerStateValidator.validate(t);return e?e.map(F):void 0},e.validatePlayBookmarkRequest=function(t){var e=n.Validators.playBookmarkRequestValidator.validate(t);return e?e.map(F):void 0},e.validateAddBookmarkRequest=function(t){var e=n.Validators.addBookmarkRequestValidator.validate(t);return e?e.map(F):void 0},e.validateApplyBookmarkByNameRequest=function(t){var e=n.Validators.applyBookmarkByNameRequestValidator.validate(t);return e?e.map(F):void 0},e.validateApplyBookmarkStateRequest=function(t){var e=n.Validators.applyBookmarkStateRequestValidator.validate(t);return e?e.map(F):void 0},e.validateCaptureBookmarkRequest=function(t){var e=n.Validators.captureBookmarkRequestValidator.validate(t);return e?e.map(F):void 0},e.validateSettings=function(t){var e=n.Validators.settingsValidator.validate(t);return e?e.map(F):void 0},e.validatePanes=function(t){var e=n.Validators.reportPanesValidator.validate(t);return e?e.map(F):void 0},e.validateBookmarksPane=function(t){var e=n.Validators.bookmarksPaneValidator.validate(t);return e?e.map(F):void 0},e.validateFiltersPane=function(t){var e=n.Validators.filtersPaneValidator.validate(t);return e?e.map(F):void 0},e.validateFieldsPane=function(t){var e=n.Validators.fieldsPaneValidator.validate(t);return e?e.map(F):void 0},e.validatePageNavigationPane=function(t){var e=n.Validators.pageNavigationPaneValidator.validate(t);return e?e.map(F):void 0},e.validateSelectionPane=function(t){var e=n.Validators.selectionPaneValidator.validate(t);return e?e.map(F):void 0},e.validateSyncSlicersPane=function(t){var e=n.Validators.syncSlicersPaneValidator.validate(t);return e?e.map(F):void 0},e.validateVisualizationsPane=function(t){var e=n.Validators.visualizationsPaneValidator.validate(t);return e?e.map(F):void 0},e.validateCustomPageSize=function(t){var e=n.Validators.customPageSizeValidator.validate(t);return e?e.map(F):void 0},e.validateExtension=function(t){var e=n.Validators.extensionValidator.validate(t);return e?e.map(F):void 0},e.validateMenuGroupExtension=function(t){var e=n.Validators.menuGroupExtensionValidator.validate(t);return e?e.map(F):void 0},e.validateReportLoad=function(t){var e=n.Validators.reportLoadValidator.validate(t);return e?e.map(F):void 0},e.validatePaginatedReportLoad=function(t){var e=n.Validators.paginatedReportLoadValidator.validate(t);return e?e.map(F):void 0},e.validateCreateReport=function(t){var e=n.Validators.reportCreateValidator.validate(t);return e?e.map(F):void 0},e.validateDashboardLoad=function(t){var e=n.Validators.dashboardLoadValidator.validate(t);return e?e.map(F):void 0},e.validateTileLoad=function(t){var e=n.Validators.tileLoadValidator.validate(t);return e?e.map(F):void 0},e.validatePage=function(t){var e=n.Validators.pageValidator.validate(t);return e?e.map(F):void 0},e.validateFilter=function(t){var e=n.Validators.filterValidator.validate(t);return e?e.map(F):void 0},e.validateUpdateFiltersRequest=function(t){var e=n.Validators.updateFiltersRequestValidator.validate(t);return e?e.map(F):void 0},e.validateSaveAsParameters=function(t){var e=n.Validators.saveAsParametersValidator.validate(t);return e?e.map(F):void 0},e.validateLoadQnaConfiguration=function(t){var e=n.Validators.loadQnaValidator.validate(t);return e?e.map(F):void 0},e.validateQnaInterpretInputData=function(t){var e=n.Validators.qnaInterpretInputDataValidator.validate(t);return e?e.map(F):void 0},e.validateExportDataRequest=function(t){var e=n.Validators.exportDataRequestValidator.validate(t);return e?e.map(F):void 0},e.validateVisualHeader=function(t){var e=n.Validators.visualHeaderValidator.validate(t);return e?e.map(F):void 0},e.validateVisualSettings=function(t){var e=n.Validators.visualSettingsValidator.validate(t);return e?e.map(F):void 0},e.validateCommandsSettings=function(t){var e=n.Validators.commandsSettingsValidator.validate(t);return e?e.map(F):void 0},e.validateCustomTheme=function(t){var e=n.Validators.customThemeValidator.validate(t);return e?e.map(F):void 0},e.validateZoomLevel=function(t){var e=n.Validators.zoomLevelValidator.validate(t);return e?e.map(F):void 0}},function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.Validators=void 0;var i=r(2),a=r(5),o=r(6),n=r(7),l=r(8),s=r(9),u=r(10),d=r(11),c=r(12),p=r(13),f=r(14),h=r(15),v=r(16),y=r(17),m=r(18),V=r(19),g=r(20),b=r(21),w=r(22),P=r(23),_=r(24),O=r(25),S=r(26),T=r(27),E=r(28),F=r(29),R=r(4),x=r(30);e.Validators={addBookmarkRequestValidator:new a.AddBookmarkRequestValidator,advancedFilterTypeValidator:new R.EnumValidator([0]),advancedFilterValidator:new c.AdvancedFilterValidator,anyArrayValidator:new R.ArrayValidator([new S.AnyOfValidator([new R.StringValidator,new R.NumberValidator,new R.BooleanValidator])]),anyFilterValidator:new S.AnyOfValidator([new c.BasicFilterValidator,new c.AdvancedFilterValidator,new c.IncludeExcludeFilterValidator,new c.NotSupportedFilterValidator,new c.RelativeDateFilterValidator,new c.TopNFilterValidator,new c.RelativeTimeFilterValidator]),anyValueValidator:new S.AnyOfValidator([new R.StringValidator,new R.NumberValidator,new R.BooleanValidator]),actionBarValidator:new i.ActionBarValidator,applyBookmarkByNameRequestValidator:new a.ApplyBookmarkByNameRequestValidator,applyBookmarkStateRequestValidator:new a.ApplyBookmarkStateRequestValidator,applyBookmarkValidator:new S.AnyOfValidator([new a.ApplyBookmarkByNameRequestValidator,new a.ApplyBookmarkStateRequestValidator]),backgroundValidator:new R.EnumValidator([0,1]),basicFilterTypeValidator:new R.EnumValidator([1]),basicFilterValidator:new c.BasicFilterValidator,booleanArrayValidator:new R.BooleanArrayValidator,booleanValidator:new R.BooleanValidator,bookmarksPaneValidator:new h.BookmarksPaneValidator,captureBookmarkOptionsValidator:new a.CaptureBookmarkOptionsValidator,captureBookmarkRequestValidator:new a.CaptureBookmarkRequestValidator,commandDisplayOptionValidator:new R.EnumValidator([0,1,2]),commandExtensionSelectorValidator:new S.AnyOfValidator([new b.VisualSelectorValidator,new b.VisualTypeSelectorValidator]),commandExtensionArrayValidator:new R.ArrayValidator([new d.CommandExtensionValidator]),commandExtensionValidator:new d.CommandExtensionValidator,commandsSettingsArrayValidator:new R.ArrayValidator([new o.CommandsSettingsValidator]),commandsSettingsValidator:new o.CommandsSettingsValidator,conditionItemValidator:new c.ConditionItemValidator,contrastModeValidator:new R.EnumValidator([0,1,2,3,4]),customLayoutDisplayOptionValidator:new R.EnumValidator([0,1,2]),customLayoutValidator:new p.CustomLayoutValidator,customPageSizeValidator:new f.CustomPageSizeValidator,customThemeValidator:new n.CustomThemeValidator,dashboardLoadValidator:new l.DashboardLoadValidator,datasetBindingValidator:new s.DatasetBindingValidator,displayStateModeValidator:new R.EnumValidator([0,1]),displayStateValidator:new p.DisplayStateValidator,exportDataRequestValidator:new u.ExportDataRequestValidator,extensionArrayValidator:new R.ArrayValidator([new d.ExtensionValidator]),extensionsValidator:new S.AnyOfValidator([new R.ArrayValidator([new d.ExtensionValidator]),new d.ExtensionsValidator]),extensionPointsValidator:new d.ExtensionPointsValidator,extensionValidator:new d.ExtensionValidator,fieldForbiddenValidator:new T.FieldForbiddenValidator,fieldRequiredValidator:new E.FieldRequiredValidator,fieldsPaneValidator:new h.FieldsPaneValidator,filterColumnTargetValidator:new c.FilterColumnTargetValidator,filterDisplaySettingsValidator:new c.FilterDisplaySettingsValidator,filterConditionsValidator:new R.ArrayValidator([new c.ConditionItemValidator]),filterHierarchyTargetValidator:new c.FilterHierarchyTargetValidator,filterMeasureTargetValidator:new c.FilterMeasureTargetValidator,filterTargetValidator:new S.AnyOfValidator([new c.FilterColumnTargetValidator,new c.FilterHierarchyTargetValidator,new c.FilterMeasureTargetValidator]),filterValidator:new c.FilterValidator,filterTypeValidator:new R.EnumValidator([0,1,2,3,4,5,6,7]),filtersArrayValidator:new R.ArrayValidator([new c.FilterValidator]),filtersOperationsUpdateValidator:new R.EnumValidator([1,2,3]),filtersOperationsRemoveAllValidator:new R.EnumValidator([0]),filtersPaneValidator:new h.FiltersPaneValidator,hyperlinkClickBehaviorValidator:new R.EnumValidator([0,1,2]),includeExcludeFilterValidator:new c.IncludeExcludeFilterValidator,includeExludeFilterTypeValidator:new R.EnumValidator([3]),layoutTypeValidator:new R.EnumValidator([0,1,2,3]),loadQnaValidator:new v.LoadQnaValidator,menuExtensionValidator:new S.AnyOfValidator([new d.FlatMenuExtensionValidator,new d.GroupedMenuExtensionValidator]),menuGroupExtensionArrayValidator:new R.ArrayValidator([new d.MenuGroupExtensionValidator]),menuGroupExtensionValidator:new d.MenuGroupExtensionValidator,menuLocationValidator:new R.EnumValidator([0,1]),notSupportedFilterTypeValidator:new R.EnumValidator([2]),notSupportedFilterValidator:new c.NotSupportedFilterValidator,numberArrayValidator:new R.NumberArrayValidator,numberValidator:new R.NumberValidator,onLoadFiltersBaseValidator:new S.AnyOfValidator([new c.OnLoadFiltersBaseValidator,new c.OnLoadFiltersBaseRemoveOperationValidator]),pageLayoutValidator:new F.MapValidator([new R.StringValidator],[new p.VisualLayoutValidator]),pageNavigationPaneValidator:new h.PageNavigationPaneValidator,pageNavigationPositionValidator:new R.EnumValidator([0,1]),pageSizeTypeValidator:new R.EnumValidator([0,1,2,3,4,5]),pageSizeValidator:new f.PageSizeValidator,pageValidator:new f.PageValidator,pageViewFieldValidator:new f.PageViewFieldValidator,pagesLayoutValidator:new F.MapValidator([new R.StringValidator],[new p.PageLayoutValidator]),paginatedReportCommandsValidator:new o.PaginatedReportCommandsValidator,paginatedReportLoadValidator:new V.PaginatedReportLoadValidator,paginatedReportsettingsValidator:new w.PaginatedReportSettingsValidator,parametersPanelValidator:new x.ParametersPanelValidator,permissionsValidator:new R.EnumValidator([0,1,2,4,7]),playBookmarkRequestValidator:new a.PlayBookmarkRequestValidator,qnaInterpretInputDataValidator:new v.QnaInterpretInputDataValidator,qnaPanesValidator:new h.QnaPanesValidator,qnaSettingValidator:new v.QnaSettingsValidator,relativeDateFilterOperatorValidator:new R.EnumValidator([0,1,2]),relativeDateFilterTimeUnitTypeValidator:new R.EnumValidator([0,1,2,3,4,5,6]),relativeDateFilterTypeValidator:new R.EnumValidator([4]),relativeDateFilterValidator:new c.RelativeDateFilterValidator,relativeDateTimeFilterTypeValidator:new R.EnumValidator([4,7]),relativeDateTimeFilterUnitTypeValidator:new R.EnumValidator([0,1,2,3,4,5,6,7,8]),relativeTimeFilterTimeUnitTypeValidator:new R.EnumValidator([7,8]),relativeTimeFilterTypeValidator:new R.EnumValidator([7]),relativeTimeFilterValidator:new c.RelativeTimeFilterValidator,reportBarsValidator:new i.ReportBarsValidator,reportCreateValidator:new y.ReportCreateValidator,reportLoadFiltersValidator:new S.AnyOfValidator([new R.ArrayValidator([new c.FilterValidator]),new c.OnLoadFiltersValidator]),reportLoadValidator:new m.ReportLoadValidator,reportPanesValidator:new h.ReportPanesValidator,saveAsParametersValidator:new g.SaveAsParametersValidator,selectionPaneValidator:new h.SelectionPaneValidator,settingsValidator:new w.SettingsValidator,singleCommandSettingsValidator:new o.SingleCommandSettingsValidator,slicerSelectorValidator:new S.AnyOfValidator([new b.VisualSelectorValidator,new b.SlicerTargetSelectorValidator]),slicerStateValidator:new P.SlicerStateValidator,slicerTargetValidator:new S.AnyOfValidator([new c.FilterColumnTargetValidator,new c.FilterHierarchyTargetValidator,new c.FilterMeasureTargetValidator,new c.FilterKeyColumnsTargetValidator,new c.FilterKeyHierarchyTargetValidator]),slicerValidator:new P.SlicerValidator,stringArrayValidator:new R.StringArrayValidator,stringValidator:new R.StringValidator,syncSlicersPaneValidator:new h.SyncSlicersPaneValidator,tileLoadValidator:new _.TileLoadValidator,tokenTypeValidator:new R.EnumValidator([0,1]),topNFilterTypeValidator:new R.EnumValidator([5]),topNFilterValidator:new c.TopNFilterValidator,updateFiltersRequestValidator:new S.AnyOfValidator([new c.UpdateFiltersRequestValidator,new c.RemoveFiltersRequestValidator]),viewModeValidator:new R.EnumValidator([0,1]),visualCommandSelectorValidator:new S.AnyOfValidator([new b.VisualSelectorValidator,new b.VisualTypeSelectorValidator]),visualHeaderSelectorValidator:new S.AnyOfValidator([new b.VisualSelectorValidator,new b.VisualTypeSelectorValidator]),visualHeaderSettingsValidator:new O.VisualHeaderSettingsValidator,visualHeaderValidator:new O.VisualHeaderValidator,visualHeadersValidator:new R.ArrayValidator([new O.VisualHeaderValidator]),visualizationsPaneValidator:new h.VisualizationsPaneValidator,visualLayoutValidator:new p.VisualLayoutValidator,visualSelectorValidator:new b.VisualSelectorValidator,visualSettingsValidator:new O.VisualSettingsValidator,visualTypeSelectorValidator:new b.VisualTypeSelectorValidator,zoomLevelValidator:new R.RangeValidator(.25,4)}},function(t,e,r){var i,a=this&&this.__extends||(i=function(t,e){return(i=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])})(t,e)},function(t,e){function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.ActionBarValidator=e.ReportBarsValidator=void 0;var o=r(3),n=r(4),l=r(1),s=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return a(e,t),e.prototype.validate=function(e,r,i){if(null==e)return null;var a=t.prototype.validate.call(this,e,r,i);if(a)return a;var n=[{field:"actionBar",validators:[l.Validators.actionBarValidator]}];return new o.MultipleFieldsValidator(n).validate(e,r,i)},e}(n.ObjectValidator);e.ReportBarsValidator=s;var u=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return a(e,t),e.prototype.validate=function(e,r,i){if(null==e)return null;var a=t.prototype.validate.call(this,e,r,i);if(a)return a;var n=[{field:"visible",validators:[l.Validators.booleanValidator]}];return new o.MultipleFieldsValidator(n).validate(e,r,i)},e}(n.ObjectValidator);e.ActionBarValidator=u},function(t,e){Object.defineProperty(e,"__esModule",{value:!0}),e.MultipleFieldsValidator=void 0;var r=function(){function t(t){this.fieldValidatorsPairs=t}return t.prototype.validate=function(t,e,r){if(!this.fieldValidatorsPairs)return null;for(var i=e?e+"."+r:r,a=0,o=this.fieldValidatorsPairs;athis.maxValue||e0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0?"&":"?";return t+=i+e+"="+r},e.isSavedInternal=function(t,e,a){return r(this,void 0,void 0,(function(){return i(this,(function(r){switch(r.label){case 0:return r.trys.push([0,2,,3]),[4,t.get("/report/hasUnsavedChanges",{uid:e},a)];case 1:return[2,!r.sent().body];case 2:throw r.sent().body;case 3:return[2]}}))}))},e.isRDLEmbed=function(t){return t&&t.toLowerCase().indexOf("/rdlembed?")>=0},e.autoAuthInEmbedUrl=function(t){return t&&decodeURIComponent(t).toLowerCase().indexOf("autoauth=true")>=0},e.getRandomValue=o,e.getTimeDiffInMilliseconds=function(t,e){return Math.abs(t.getTime()-e.getTime())}},function(t,e){Object.defineProperty(e,"__esModule",{value:!0}),e.FilterBuilder=void 0;var r=function(){function t(){}return t.prototype.withTargetObject=function(t){return this.target=t,this},t.prototype.withColumnTarget=function(t,e){return this.target={table:t,column:e},this},t.prototype.withMeasureTarget=function(t,e){return this.target={table:t,measure:e},this},t.prototype.withHierarchyLevelTarget=function(t,e,r){return this.target={table:t,hierarchy:e,hierarchyLevel:r},this},t.prototype.withColumnAggregation=function(t,e,r){return this.target={table:t,column:e,aggregationFunction:r},this},t.prototype.withHierarchyLevelAggregationTarget=function(t,e,r,i){return this.target={table:t,hierarchy:e,hierarchyLevel:r,aggregationFunction:i},this},t}();e.FilterBuilder=r},function(t,e){Object.defineProperty(e,"__esModule",{value:!0}),e.EmbedUrlNotSupported=e.APINotSupportedForRDLError=void 0,e.APINotSupportedForRDLError="This API is currently not supported for RDL reports",e.EmbedUrlNotSupported="Embed URL is invalid for this scenario. Please use Power BI REST APIs to get the valid URL"},function(t,e,r){var i,a=this&&this.__extends||(i=function(t,e){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])})(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}),o=this&&this.__awaiter||function(t,e,r,i){return new(r||(r=Promise))((function(a,o){function n(t){try{s(i.next(t))}catch(t){o(t)}}function l(t){try{s(i.throw(t))}catch(t){o(t)}}function s(t){var e;t.done?a(t.value):(e=t.value,e instanceof r?e:new r((function(t){t(e)}))).then(n,l)}s((i=i.apply(t,e||[])).next())}))},n=this&&this.__generator||function(t,e){var r,i,a,o,n={label:0,sent:function(){if(1&a[0])throw a[1];return a[1]},trys:[],ops:[]};return o={next:l(0),throw:l(1),return:l(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function l(o){return function(l){return function(o){if(r)throw new TypeError("Generator is already executing.");for(;n;)try{if(r=1,i&&(a=2&o[0]?i.return:o[0]?i.throw||((a=i.return)&&a.call(i),0):i.next)&&!(a=a.call(i,o[1])).done)return a;switch(i=0,a&&(o=[2&o[0],a.value]),o[0]){case 0:case 1:a=o;break;case 4:return n.label++,{value:o[1],done:!1};case 5:n.label++,i=o[1],o=[0];continue;case 7:o=n.ops.pop(),n.trys.pop();continue;default:if(!(a=n.trys,(a=a.length>0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&!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,s=o.keyValues;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 s.conditions=l,s}return a(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}(l);function V(t){if(t.filterType)return t.filterType;var e=t,r=t;return"string"==typeof e.operator&&Array.isArray(e.values)?o.Basic:"string"==typeof r.logicalOperator&&Array.isArray(r.conditions)?o.Advanced:o.Unknown}function g(t){return!(!t.table||!t.column||t.aggregationFunction)}e.AdvancedFilter=m,e.isFilterKeyColumnsTarget=function(t){return g(t)&&!!t.keys},e.isBasicFilterWithKeys=function(t){return V(t)===o.Basic&&!!t.keyValues},e.getFilterType=V,e.isMeasure=function(t){return void 0!==t.table&&void 0!==t.measure},e.isColumn=g,e.isHierarchyLevel=function(t){return!(!(t.table&&t.hierarchy&&t.hierarchyLevel)||t.aggregationFunction)},e.isHierarchyLevelAggr=function(t){return!!(t.table&&t.hierarchy&&t.hierarchyLevel&&t.aggregationFunction)},e.isColumnAggr=function(t){return!!(t.table&&t.column&&t.aggregationFunction)},function(t){t[t.Bottom=0]="Bottom",t[t.Left=1]="Left"}(e.PageNavigationPosition||(e.PageNavigationPosition={})),function(t){t[t.Interactive=0]="Interactive",t[t.ResultOnly=1]="ResultOnly"}(e.QnaMode||(e.QnaMode={})),function(t){t[t.Summarized=0]="Summarized",t[t.Underlying=1]="Underlying"}(e.ExportDataType||(e.ExportDataType={})),function(t){t[t.Off=0]="Off",t[t.Presentation=1]="Presentation"}(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"},function(t){t[t.Ascending=1]="Ascending",t[t.Descending=2]="Descending"}(e.SortDirection||(e.SortDirection={}));var b=function(){function t(t){this.$schema=t}return t.prototype.toJSON=function(){return{$schema:this.$schema}},t}();e.Selector=b;var w=function(t){function e(r){var i=t.call(this,e.schemaUrl)||this;return i.pageName=r,i}return a(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}(b);e.PageSelector=w;var P=function(t){function e(r){var i=t.call(this,e.schemaUrl)||this;return i.visualName=r,i}return a(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}(b);e.VisualSelector=P;var _=function(t){function e(e){var r=t.call(this,P.schemaUrl)||this;return r.visualType=e,r}return a(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}(b);e.VisualTypeSelector=_;var O=function(t){function e(e){var r=t.call(this,P.schemaUrl)||this;return r.target=e,r}return a(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}(b);function S(t){return Array.isArray(t)}function T(t){return t&&!!t.groupName}function E(t){return Array.isArray(t)}function F(t){var e=t.message;return e||(e=t.path+" is invalid. Not meeting "+t.keyword+" constraint"),{message:e}}e.SlicerTargetSelector=O,function(t){t[t.Enabled=0]="Enabled",t[t.Disabled=1]="Disabled",t[t.Hidden=2]="Hidden"}(e.CommandDisplayOption||(e.CommandDisplayOption={})),function(t){t[t.Grouping=0]="Grouping",t[t.Measure=1]="Measure",t[t.GroupingOrMeasure=2]="GroupingOrMeasure"}(e.VisualDataRoleKind||(e.VisualDataRoleKind={})),function(t){t[t.Measure=0]="Measure",t[t.Grouping=1]="Grouping"}(e.VisualDataRoleKindPreference||(e.VisualDataRoleKindPreference={})),e.isOnLoadFilters=function(t){return t&&!S(t)},e.isReportFiltersArray=S,e.isFlatMenuExtension=function(t){return t&&!T(t)},e.isGroupedMenuExtension=T,e.isIExtensions=function(t){return t&&!E(t)},e.isIExtensionArray=E,e.validateVisualSelector=function(t){var e=n.Validators.visualSelectorValidator.validate(t);return e?e.map(F):void 0},e.validateSlicer=function(t){var e=n.Validators.slicerValidator.validate(t);return e?e.map(F):void 0},e.validateSlicerState=function(t){var e=n.Validators.slicerStateValidator.validate(t);return e?e.map(F):void 0},e.validatePlayBookmarkRequest=function(t){var e=n.Validators.playBookmarkRequestValidator.validate(t);return e?e.map(F):void 0},e.validateAddBookmarkRequest=function(t){var e=n.Validators.addBookmarkRequestValidator.validate(t);return e?e.map(F):void 0},e.validateApplyBookmarkByNameRequest=function(t){var e=n.Validators.applyBookmarkByNameRequestValidator.validate(t);return e?e.map(F):void 0},e.validateApplyBookmarkStateRequest=function(t){var e=n.Validators.applyBookmarkStateRequestValidator.validate(t);return e?e.map(F):void 0},e.validateCaptureBookmarkRequest=function(t){var e=n.Validators.captureBookmarkRequestValidator.validate(t);return e?e.map(F):void 0},e.validateSettings=function(t){var e=n.Validators.settingsValidator.validate(t);return e?e.map(F):void 0},e.validatePanes=function(t){var e=n.Validators.reportPanesValidator.validate(t);return e?e.map(F):void 0},e.validateBookmarksPane=function(t){var e=n.Validators.bookmarksPaneValidator.validate(t);return e?e.map(F):void 0},e.validateFiltersPane=function(t){var e=n.Validators.filtersPaneValidator.validate(t);return e?e.map(F):void 0},e.validateFieldsPane=function(t){var e=n.Validators.fieldsPaneValidator.validate(t);return e?e.map(F):void 0},e.validatePageNavigationPane=function(t){var e=n.Validators.pageNavigationPaneValidator.validate(t);return e?e.map(F):void 0},e.validateSelectionPane=function(t){var e=n.Validators.selectionPaneValidator.validate(t);return e?e.map(F):void 0},e.validateSyncSlicersPane=function(t){var e=n.Validators.syncSlicersPaneValidator.validate(t);return e?e.map(F):void 0},e.validateVisualizationsPane=function(t){var e=n.Validators.visualizationsPaneValidator.validate(t);return e?e.map(F):void 0},e.validateCustomPageSize=function(t){var e=n.Validators.customPageSizeValidator.validate(t);return e?e.map(F):void 0},e.validateExtension=function(t){var e=n.Validators.extensionValidator.validate(t);return e?e.map(F):void 0},e.validateMenuGroupExtension=function(t){var e=n.Validators.menuGroupExtensionValidator.validate(t);return e?e.map(F):void 0},e.validateReportLoad=function(t){var e=n.Validators.reportLoadValidator.validate(t);return e?e.map(F):void 0},e.validatePaginatedReportLoad=function(t){var e=n.Validators.paginatedReportLoadValidator.validate(t);return e?e.map(F):void 0},e.validateCreateReport=function(t){var e=n.Validators.reportCreateValidator.validate(t);return e?e.map(F):void 0},e.validateDashboardLoad=function(t){var e=n.Validators.dashboardLoadValidator.validate(t);return e?e.map(F):void 0},e.validateTileLoad=function(t){var e=n.Validators.tileLoadValidator.validate(t);return e?e.map(F):void 0},e.validatePage=function(t){var e=n.Validators.pageValidator.validate(t);return e?e.map(F):void 0},e.validateFilter=function(t){var e=n.Validators.filterValidator.validate(t);return e?e.map(F):void 0},e.validateUpdateFiltersRequest=function(t){var e=n.Validators.updateFiltersRequestValidator.validate(t);return e?e.map(F):void 0},e.validateSaveAsParameters=function(t){var e=n.Validators.saveAsParametersValidator.validate(t);return e?e.map(F):void 0},e.validateLoadQnaConfiguration=function(t){var e=n.Validators.loadQnaValidator.validate(t);return e?e.map(F):void 0},e.validateQnaInterpretInputData=function(t){var e=n.Validators.qnaInterpretInputDataValidator.validate(t);return e?e.map(F):void 0},e.validateExportDataRequest=function(t){var e=n.Validators.exportDataRequestValidator.validate(t);return e?e.map(F):void 0},e.validateVisualHeader=function(t){var e=n.Validators.visualHeaderValidator.validate(t);return e?e.map(F):void 0},e.validateVisualSettings=function(t){var e=n.Validators.visualSettingsValidator.validate(t);return e?e.map(F):void 0},e.validateCommandsSettings=function(t){var e=n.Validators.commandsSettingsValidator.validate(t);return e?e.map(F):void 0},e.validateCustomTheme=function(t){var e=n.Validators.customThemeValidator.validate(t);return e?e.map(F):void 0},e.validateZoomLevel=function(t){var e=n.Validators.zoomLevelValidator.validate(t);return e?e.map(F):void 0}},function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.Validators=void 0;var i=r(2),a=r(5),o=r(6),n=r(7),l=r(8),s=r(9),u=r(10),d=r(11),c=r(12),p=r(13),f=r(14),h=r(15),v=r(16),y=r(17),m=r(18),V=r(19),g=r(20),b=r(21),w=r(22),P=r(23),_=r(24),O=r(25),S=r(26),T=r(27),E=r(28),F=r(29),R=r(4),x=r(30);e.Validators={addBookmarkRequestValidator:new a.AddBookmarkRequestValidator,advancedFilterTypeValidator:new R.EnumValidator([0]),advancedFilterValidator:new c.AdvancedFilterValidator,anyArrayValidator:new R.ArrayValidator([new S.AnyOfValidator([new R.StringValidator,new R.NumberValidator,new R.BooleanValidator])]),anyFilterValidator:new S.AnyOfValidator([new c.BasicFilterValidator,new c.AdvancedFilterValidator,new c.IncludeExcludeFilterValidator,new c.NotSupportedFilterValidator,new c.RelativeDateFilterValidator,new c.TopNFilterValidator,new c.RelativeTimeFilterValidator]),anyValueValidator:new S.AnyOfValidator([new R.StringValidator,new R.NumberValidator,new R.BooleanValidator]),actionBarValidator:new i.ActionBarValidator,applyBookmarkByNameRequestValidator:new a.ApplyBookmarkByNameRequestValidator,applyBookmarkStateRequestValidator:new a.ApplyBookmarkStateRequestValidator,applyBookmarkValidator:new S.AnyOfValidator([new a.ApplyBookmarkByNameRequestValidator,new a.ApplyBookmarkStateRequestValidator]),backgroundValidator:new R.EnumValidator([0,1]),basicFilterTypeValidator:new R.EnumValidator([1]),basicFilterValidator:new c.BasicFilterValidator,booleanArrayValidator:new R.BooleanArrayValidator,booleanValidator:new R.BooleanValidator,bookmarksPaneValidator:new h.BookmarksPaneValidator,captureBookmarkOptionsValidator:new a.CaptureBookmarkOptionsValidator,captureBookmarkRequestValidator:new a.CaptureBookmarkRequestValidator,commandDisplayOptionValidator:new R.EnumValidator([0,1,2]),commandExtensionSelectorValidator:new S.AnyOfValidator([new b.VisualSelectorValidator,new b.VisualTypeSelectorValidator]),commandExtensionArrayValidator:new R.ArrayValidator([new d.CommandExtensionValidator]),commandExtensionValidator:new d.CommandExtensionValidator,commandsSettingsArrayValidator:new R.ArrayValidator([new o.CommandsSettingsValidator]),commandsSettingsValidator:new o.CommandsSettingsValidator,conditionItemValidator:new c.ConditionItemValidator,contrastModeValidator:new R.EnumValidator([0,1,2,3,4]),customLayoutDisplayOptionValidator:new R.EnumValidator([0,1,2]),customLayoutValidator:new p.CustomLayoutValidator,customPageSizeValidator:new f.CustomPageSizeValidator,customThemeValidator:new n.CustomThemeValidator,dashboardLoadValidator:new l.DashboardLoadValidator,datasetBindingValidator:new s.DatasetBindingValidator,displayStateModeValidator:new R.EnumValidator([0,1]),displayStateValidator:new p.DisplayStateValidator,exportDataRequestValidator:new u.ExportDataRequestValidator,extensionArrayValidator:new R.ArrayValidator([new d.ExtensionValidator]),extensionsValidator:new S.AnyOfValidator([new R.ArrayValidator([new d.ExtensionValidator]),new d.ExtensionsValidator]),extensionPointsValidator:new d.ExtensionPointsValidator,extensionValidator:new d.ExtensionValidator,fieldForbiddenValidator:new T.FieldForbiddenValidator,fieldRequiredValidator:new E.FieldRequiredValidator,fieldsPaneValidator:new h.FieldsPaneValidator,filterColumnTargetValidator:new c.FilterColumnTargetValidator,filterDisplaySettingsValidator:new c.FilterDisplaySettingsValidator,filterConditionsValidator:new R.ArrayValidator([new c.ConditionItemValidator]),filterHierarchyTargetValidator:new c.FilterHierarchyTargetValidator,filterMeasureTargetValidator:new c.FilterMeasureTargetValidator,filterTargetValidator:new S.AnyOfValidator([new c.FilterColumnTargetValidator,new c.FilterHierarchyTargetValidator,new c.FilterMeasureTargetValidator]),filterValidator:new c.FilterValidator,filterTypeValidator:new R.EnumValidator([0,1,2,3,4,5,6,7]),filtersArrayValidator:new R.ArrayValidator([new c.FilterValidator]),filtersOperationsUpdateValidator:new R.EnumValidator([1,2,3]),filtersOperationsRemoveAllValidator:new R.EnumValidator([0]),filtersPaneValidator:new h.FiltersPaneValidator,hyperlinkClickBehaviorValidator:new R.EnumValidator([0,1,2]),includeExcludeFilterValidator:new c.IncludeExcludeFilterValidator,includeExludeFilterTypeValidator:new R.EnumValidator([3]),layoutTypeValidator:new R.EnumValidator([0,1,2,3]),loadQnaValidator:new v.LoadQnaValidator,menuExtensionValidator:new S.AnyOfValidator([new d.FlatMenuExtensionValidator,new d.GroupedMenuExtensionValidator]),menuGroupExtensionArrayValidator:new R.ArrayValidator([new d.MenuGroupExtensionValidator]),menuGroupExtensionValidator:new d.MenuGroupExtensionValidator,menuLocationValidator:new R.EnumValidator([0,1]),notSupportedFilterTypeValidator:new R.EnumValidator([2]),notSupportedFilterValidator:new c.NotSupportedFilterValidator,numberArrayValidator:new R.NumberArrayValidator,numberValidator:new R.NumberValidator,onLoadFiltersBaseValidator:new S.AnyOfValidator([new c.OnLoadFiltersBaseValidator,new c.OnLoadFiltersBaseRemoveOperationValidator]),pageLayoutValidator:new F.MapValidator([new R.StringValidator],[new p.VisualLayoutValidator]),pageNavigationPaneValidator:new h.PageNavigationPaneValidator,pageNavigationPositionValidator:new R.EnumValidator([0,1]),pageSizeTypeValidator:new R.EnumValidator([0,1,2,3,4,5]),pageSizeValidator:new f.PageSizeValidator,pageValidator:new f.PageValidator,pageViewFieldValidator:new f.PageViewFieldValidator,pagesLayoutValidator:new F.MapValidator([new R.StringValidator],[new p.PageLayoutValidator]),paginatedReportCommandsValidator:new o.PaginatedReportCommandsValidator,paginatedReportLoadValidator:new V.PaginatedReportLoadValidator,paginatedReportsettingsValidator:new w.PaginatedReportSettingsValidator,parametersPanelValidator:new x.ParametersPanelValidator,permissionsValidator:new R.EnumValidator([0,1,2,4,7]),playBookmarkRequestValidator:new a.PlayBookmarkRequestValidator,qnaInterpretInputDataValidator:new v.QnaInterpretInputDataValidator,qnaPanesValidator:new h.QnaPanesValidator,qnaSettingValidator:new v.QnaSettingsValidator,relativeDateFilterOperatorValidator:new R.EnumValidator([0,1,2]),relativeDateFilterTimeUnitTypeValidator:new R.EnumValidator([0,1,2,3,4,5,6]),relativeDateFilterTypeValidator:new R.EnumValidator([4]),relativeDateFilterValidator:new c.RelativeDateFilterValidator,relativeDateTimeFilterTypeValidator:new R.EnumValidator([4,7]),relativeDateTimeFilterUnitTypeValidator:new R.EnumValidator([0,1,2,3,4,5,6,7,8]),relativeTimeFilterTimeUnitTypeValidator:new R.EnumValidator([7,8]),relativeTimeFilterTypeValidator:new R.EnumValidator([7]),relativeTimeFilterValidator:new c.RelativeTimeFilterValidator,reportBarsValidator:new i.ReportBarsValidator,reportCreateValidator:new y.ReportCreateValidator,reportLoadFiltersValidator:new S.AnyOfValidator([new R.ArrayValidator([new c.FilterValidator]),new c.OnLoadFiltersValidator]),reportLoadValidator:new m.ReportLoadValidator,reportPanesValidator:new h.ReportPanesValidator,saveAsParametersValidator:new g.SaveAsParametersValidator,selectionPaneValidator:new h.SelectionPaneValidator,settingsValidator:new w.SettingsValidator,singleCommandSettingsValidator:new o.SingleCommandSettingsValidator,slicerSelectorValidator:new S.AnyOfValidator([new b.VisualSelectorValidator,new b.SlicerTargetSelectorValidator]),slicerStateValidator:new P.SlicerStateValidator,slicerTargetValidator:new S.AnyOfValidator([new c.FilterColumnTargetValidator,new c.FilterHierarchyTargetValidator,new c.FilterMeasureTargetValidator,new c.FilterKeyColumnsTargetValidator,new c.FilterKeyHierarchyTargetValidator]),slicerValidator:new P.SlicerValidator,stringArrayValidator:new R.StringArrayValidator,stringValidator:new R.StringValidator,syncSlicersPaneValidator:new h.SyncSlicersPaneValidator,tileLoadValidator:new _.TileLoadValidator,tokenTypeValidator:new R.EnumValidator([0,1]),topNFilterTypeValidator:new R.EnumValidator([5]),topNFilterValidator:new c.TopNFilterValidator,updateFiltersRequestValidator:new S.AnyOfValidator([new c.UpdateFiltersRequestValidator,new c.RemoveFiltersRequestValidator]),viewModeValidator:new R.EnumValidator([0,1]),visualCommandSelectorValidator:new S.AnyOfValidator([new b.VisualSelectorValidator,new b.VisualTypeSelectorValidator]),visualHeaderSelectorValidator:new S.AnyOfValidator([new b.VisualSelectorValidator,new b.VisualTypeSelectorValidator]),visualHeaderSettingsValidator:new O.VisualHeaderSettingsValidator,visualHeaderValidator:new O.VisualHeaderValidator,visualHeadersValidator:new R.ArrayValidator([new O.VisualHeaderValidator]),visualizationsPaneValidator:new h.VisualizationsPaneValidator,visualLayoutValidator:new p.VisualLayoutValidator,visualSelectorValidator:new b.VisualSelectorValidator,visualSettingsValidator:new O.VisualSettingsValidator,visualTypeSelectorValidator:new b.VisualTypeSelectorValidator,zoomLevelValidator:new R.RangeValidator(.25,4)}},function(t,e,r){var i,a=this&&this.__extends||(i=function(t,e){return(i=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])})(t,e)},function(t,e){function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.ActionBarValidator=e.ReportBarsValidator=void 0;var o=r(3),n=r(4),l=r(1),s=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return a(e,t),e.prototype.validate=function(e,r,i){if(null==e)return null;var a=t.prototype.validate.call(this,e,r,i);if(a)return a;var n=[{field:"actionBar",validators:[l.Validators.actionBarValidator]}];return new o.MultipleFieldsValidator(n).validate(e,r,i)},e}(n.ObjectValidator);e.ReportBarsValidator=s;var u=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return a(e,t),e.prototype.validate=function(e,r,i){if(null==e)return null;var a=t.prototype.validate.call(this,e,r,i);if(a)return a;var n=[{field:"visible",validators:[l.Validators.booleanValidator]}];return new o.MultipleFieldsValidator(n).validate(e,r,i)},e}(n.ObjectValidator);e.ActionBarValidator=u},function(t,e){Object.defineProperty(e,"__esModule",{value:!0}),e.MultipleFieldsValidator=void 0;var r=function(){function t(t){this.fieldValidatorsPairs=t}return t.prototype.validate=function(t,e,r){if(!this.fieldValidatorsPairs)return null;for(var i=e?e+"."+r:r,a=0,o=this.fieldValidatorsPairs;athis.maxValue||e0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0?"&":"?";return t+=i+e+"="+r},e.isSavedInternal=function(t,e,a){return r(this,void 0,void 0,(function(){return i(this,(function(r){switch(r.label){case 0:return r.trys.push([0,2,,3]),[4,t.get("/report/hasUnsavedChanges",{uid:e},a)];case 1:return[2,!r.sent().body];case 2:throw r.sent().body;case 3:return[2]}}))}))},e.isRDLEmbed=function(t){return t&&t.toLowerCase().indexOf("/rdlembed?")>=0},e.autoAuthInEmbedUrl=function(t){return t&&decodeURIComponent(t).toLowerCase().indexOf("autoauth=true")>=0},e.getRandomValue=o,e.getTimeDiffInMilliseconds=function(t,e){return Math.abs(t.getTime()-e.getTime())}},function(t,e){Object.defineProperty(e,"__esModule",{value:!0}),e.FilterBuilder=void 0;var r=function(){function t(){}return t.prototype.withTargetObject=function(t){return this.target=t,this},t.prototype.withColumnTarget=function(t,e){return this.target={table:t,column:e},this},t.prototype.withMeasureTarget=function(t,e){return this.target={table:t,measure:e},this},t.prototype.withHierarchyLevelTarget=function(t,e,r){return this.target={table:t,hierarchy:e,hierarchyLevel:r},this},t.prototype.withColumnAggregation=function(t,e,r){return this.target={table:t,column:e,aggregationFunction:r},this},t.prototype.withHierarchyLevelAggregationTarget=function(t,e,r,i){return this.target={table:t,hierarchy:e,hierarchyLevel:r,aggregationFunction:i},this},t}();e.FilterBuilder=r},function(t,e){Object.defineProperty(e,"__esModule",{value:!0}),e.EmbedUrlNotSupported=e.APINotSupportedForRDLError=void 0,e.APINotSupportedForRDLError="This API is currently not supported for RDL reports",e.EmbedUrlNotSupported="Embed URL is invalid for this scenario. Please use Power BI REST APIs to get the valid URL"},function(t,e,r){var i,a=this&&this.__extends||(i=function(t,e){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])})(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}),o=this&&this.__awaiter||function(t,e,r,i){return new(r||(r=Promise))((function(a,o){function n(t){try{s(i.next(t))}catch(t){o(t)}}function l(t){try{s(i.throw(t))}catch(t){o(t)}}function s(t){var e;t.done?a(t.value):(e=t.value,e instanceof r?e:new r((function(t){t(e)}))).then(n,l)}s((i=i.apply(t,e||[])).next())}))},n=this&&this.__generator||function(t,e){var r,i,a,o,n={label:0,sent:function(){if(1&a[0])throw a[1];return a[1]},trys:[],ops:[]};return o={next:l(0),throw:l(1),return:l(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function l(o){return function(l){return function(o){if(r)throw new TypeError("Generator is already executing.");for(;n;)try{if(r=1,i&&(a=2&o[0]?i.return:o[0]?i.throw||((a=i.return)&&a.call(i),0):i.next)&&!(a=a.call(i,o[1])).done)return a;switch(i=0,a&&(o=[2&o[0],a.value]),o[0]){case 0:case 1:a=o;break;case 4:return n.label++,{value:o[1],done:!1};case 5:n.label++,i=o[1],o=[0];continue;case 7:o=n.ops.pop(),n.trys.pop();continue;default:if(!(a=n.trys,(a=a.length>0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]{}); } + /** + * get the theme of the report + * + * ```javascript + * report.getTheme(); + * ``` + */ + async getTheme(): Promise { + if (isRDLEmbed(this.config.embedUrl)) { + return Promise.reject(APINotSupportedForRDLError); + } + + try { + const response = await this.service.hpm.get(`/report/theme`, { uid: this.config.uniqueId }, this.iframe.contentWindow); + return response.body; + } catch (response) { + throw response.body; + } + } + /** * Reset user's filters, slicers, and other data view changes to the default state of the report * diff --git a/test/SDK-to-HPM.spec.ts b/test/SDK-to-HPM.spec.ts index 3a04e201..591fbd3b 100644 --- a/test/SDK-to-HPM.spec.ts +++ b/test/SDK-to-HPM.spec.ts @@ -2053,6 +2053,32 @@ describe('SDK-to-HPM', function () { }); describe('theme', function () { + it('report.getTheme() sends GET /report/theme', async function () { + // Arrange + const testData = { + response: { + body: [ + { + themeJson: {name: "Theme ABC 123"} + } + ] + } + }; + + const expectedHeaders = { + uid: uniqueId, + }; + + spyHpm.get.and.returnValue(Promise.resolve(testData.response)); + try { + await report.getTheme(); + expect(spyHpm.put).toHaveBeenCalledWith('/report/theme', expectedHeaders, jasmine.any(Object)); + } catch (error) { + console.log("getTheme failed with", error); + fail("getTheme failed"); + } + }); + it('report.applyTheme(theme) sends PUT /report/theme with theme in body', async function () { // Arrange const testData = { From 5a90d7d6307d75ec04f3af1f36f1e66d898f821e Mon Sep 17 00:00:00 2001 From: Ali Abu Foul Date: Sun, 21 Nov 2021 20:49:39 +0000 Subject: [PATCH 079/125] Merged PR 220053: Add background and wallpaper styles to report page - Release version 2.18.7 Related PRs: https://dev.azure.com/powerbi/PowerBIClients/_git/PowerBIClients/pullrequest/199032 https://dev.azure.com/powerbi/PowerBIClients/_git/PowerBIClients/pullrequest/212871 --- dist/powerbi-client.d.ts | 18 +++++++++++++++--- dist/powerbi.js | 21 ++++++++++----------- dist/powerbi.min.js | 4 ++-- package.json | 4 ++-- src/config.ts | 2 +- src/page.ts | 22 ++++++++++++++++++++-- src/report.ts | 10 +++++++--- 7 files changed, 57 insertions(+), 24 deletions(-) diff --git a/dist/powerbi-client.d.ts b/dist/powerbi-client.d.ts index f295c5d4..adfe29cf 100644 --- a/dist/powerbi-client.d.ts +++ b/dist/powerbi-client.d.ts @@ -1,4 +1,4 @@ -// powerbi-client v2.18.6 +// powerbi-client v2.18.7 // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. declare module "config" { @@ -780,7 +780,7 @@ declare module "visualDescriptor" { } declare module "page" { import { IHttpPostMessageResponse } from 'http-post-message'; - import { DisplayOption, FiltersOperations, ICustomPageSize, IFilter, IVisual, LayoutType, PageSizeType, SectionVisibility, VisualContainerDisplayMode } from 'powerbi-models'; + import { DisplayOption, FiltersOperations, ICustomPageSize, IFilter, IVisual, LayoutType, PageSizeType, SectionVisibility, VisualContainerDisplayMode, IPageBackground, IPageWallpaper } from 'powerbi-models'; import { IFilterable } from "ifilterable"; import { IReportNode } from "report"; import { VisualDescriptor } from "visualDescriptor"; @@ -853,6 +853,18 @@ declare module "page" { * @type {ICustomPageSize} */ defaultDisplayOption: DisplayOption; + /** + * Page background color. + * + * @type {IPageBackground} + */ + background: IPageBackground; + /** + * Page wallpaper color. + * + * @type {IPageWallpaper} + */ + wallpaper: IPageWallpaper; /** * Creates an instance of a Power BI report page. * @@ -863,7 +875,7 @@ declare module "page" { * @param {SectionVisibility} [visibility] * @hidden */ - constructor(report: IReportNode, name: string, displayName?: string, isActivePage?: boolean, visibility?: SectionVisibility, defaultSize?: ICustomPageSize, defaultDisplayOption?: DisplayOption, mobileSize?: ICustomPageSize); + constructor(report: IReportNode, name: string, displayName?: string, isActivePage?: boolean, visibility?: SectionVisibility, defaultSize?: ICustomPageSize, defaultDisplayOption?: DisplayOption, mobileSize?: ICustomPageSize, background?: IPageBackground, wallpaper?: IPageWallpaper); /** * Gets all page level filters within the report. * diff --git a/dist/powerbi.js b/dist/powerbi.js index 2b53effd..01fdc4be 100644 --- a/dist/powerbi.js +++ b/dist/powerbi.js @@ -1,4 +1,4 @@ -// powerbi-client v2.18.6 +// powerbi-client v2.18.7 // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. (function webpackUniversalModuleDefinition(root, factory) { @@ -290,7 +290,7 @@ return /******/ (function(modules) { // webpackBootstrap /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { -// powerbi-models v1.9.5 +// powerbi-models v1.9.7 // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. (function webpackUniversalModuleDefinition(root, factory) { @@ -797,9 +797,6 @@ var AdvancedFilter = /** @class */ (function (_super) { 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); } @@ -2915,7 +2912,7 @@ var AdvancedFilterValidator = /** @class */ (function (_super) { }, { field: "conditions", - validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.filterConditionsValidator] + validators: [validator_1.Validators.filterConditionsValidator] }, { field: "filterType", @@ -7170,7 +7167,7 @@ exports.BookmarksManager = BookmarksManager; Object.defineProperty(exports, "__esModule", { value: true }); /** @ignore */ /** */ var config = { - version: '2.18.6', + version: '2.18.7', type: 'js' }; exports.default = config; @@ -8343,7 +8340,7 @@ var Page = /** @class */ (function () { * @param {SectionVisibility} [visibility] * @hidden */ - function Page(report, name, displayName, isActivePage, visibility, defaultSize, defaultDisplayOption, mobileSize) { + function Page(report, name, displayName, isActivePage, visibility, defaultSize, defaultDisplayOption, mobileSize, background, wallpaper) { this.report = report; this.name = name; this.displayName = displayName; @@ -8352,6 +8349,8 @@ var Page = /** @class */ (function () { this.defaultSize = defaultSize; this.mobileSize = mobileSize; this.defaultDisplayOption = defaultDisplayOption; + this.background = background; + this.wallpaper = wallpaper; } /** * Gets all page level filters within the report. @@ -9439,7 +9438,7 @@ var Report = /** @class */ (function (_super) { case 2: response = _a.sent(); return [2 /*return*/, response.body - .map(function (page) { return new page_1.Page(_this, page.name, page.displayName, page.isActive, page.visibility, page.defaultSize, page.defaultDisplayOption, page.mobileSize); })]; + .map(function (page) { return new page_1.Page(_this, page.name, page.displayName, page.isActive, page.visibility, page.defaultSize, page.defaultDisplayOption, page.mobileSize, page.background, page.wallpaper); })]; case 3: response_8 = _a.sent(); throw response_8.body; @@ -9480,7 +9479,7 @@ var Report = /** @class */ (function (_super) { if (!page) { return [2 /*return*/, Promise.reject(powerbi_models_1.CommonErrorCodes.NotFound)]; } - return [2 /*return*/, new page_1.Page(this, page.name, page.displayName, page.isActive, page.visibility, page.defaultSize, page.defaultDisplayOption, page.mobileSize)]; + return [2 /*return*/, new page_1.Page(this, page.name, page.displayName, page.isActive, page.visibility, page.defaultSize, page.defaultDisplayOption, page.mobileSize, page.background, page.wallpaper)]; case 3: response_9 = _a.sent(); throw response_9.body; @@ -9517,7 +9516,7 @@ var Report = /** @class */ (function (_super) { case 2: response = _a.sent(); activePage = response.body.find(function (page) { return page.isActive; }); - return [2 /*return*/, new page_1.Page(this, activePage.name, activePage.displayName, activePage.isActive, activePage.visibility, activePage.defaultSize, activePage.defaultDisplayOption, activePage.mobileSize)]; + return [2 /*return*/, new page_1.Page(this, activePage.name, activePage.displayName, activePage.isActive, activePage.visibility, activePage.defaultSize, activePage.defaultDisplayOption, activePage.mobileSize, activePage.background, activePage.wallpaper)]; case 3: response_10 = _a.sent(); throw response_10.body; diff --git a/dist/powerbi.min.js b/dist/powerbi.min.js index 747f61eb..50b9f657 100644 --- a/dist/powerbi.min.js +++ b/dist/powerbi.min.js @@ -1,7 +1,7 @@ -// powerbi-client v2.18.6 +// powerbi-client v2.18.7 // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. -!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){var e={};function r(i){if(e[i])return e[i].exports;var a=e[i]={i:i,l:!1,exports:{}};return t[i].call(a.exports,a,a.exports,r),a.l=!0,a.exports}return r.m=t,r.c=e,r.d=function(t,e,i){r.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:i})},r.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},r.t=function(t,e){if(1&e&&(t=r(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var i=Object.create(null);if(r.r(i),Object.defineProperty(i,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var a in t)r.d(i,a,function(e){return t[e]}.bind(null,a));return i},r.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return r.d(e,"a",e),e},r.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},r.p="",r(r.s=13)}([function(t,e,r){var i;i=function(){return function(t){var e={};function r(i){if(e[i])return e[i].exports;var a=e[i]={i:i,l:!1,exports:{}};return t[i].call(a.exports,a,a.exports,r),a.l=!0,a.exports}return r.m=t,r.c=e,r.d=function(t,e,i){r.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:i})},r.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},r.t=function(t,e){if(1&e&&(t=r(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var i=Object.create(null);if(r.r(i),Object.defineProperty(i,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var a in t)r.d(i,a,function(e){return t[e]}.bind(null,a));return i},r.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return r.d(e,"a",e),e},r.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},r.p="",r(r.s=0)}([function(t,e,r){var i,a=this&&this.__extends||(i=function(t,e){return(i=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])})(t,e)},function(t,e){function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.validateZoomLevel=e.validateCustomTheme=e.validateCommandsSettings=e.validateVisualSettings=e.validateVisualHeader=e.validateExportDataRequest=e.validateQnaInterpretInputData=e.validateLoadQnaConfiguration=e.validateSaveAsParameters=e.validateUpdateFiltersRequest=e.validateFilter=e.validatePage=e.validateTileLoad=e.validateDashboardLoad=e.validateCreateReport=e.validatePaginatedReportLoad=e.validateReportLoad=e.validateMenuGroupExtension=e.validateExtension=e.validateCustomPageSize=e.validateVisualizationsPane=e.validateSyncSlicersPane=e.validateSelectionPane=e.validatePageNavigationPane=e.validateFieldsPane=e.validateFiltersPane=e.validateBookmarksPane=e.validatePanes=e.validateSettings=e.validateCaptureBookmarkRequest=e.validateApplyBookmarkStateRequest=e.validateApplyBookmarkByNameRequest=e.validateAddBookmarkRequest=e.validatePlayBookmarkRequest=e.validateSlicerState=e.validateSlicer=e.validateVisualSelector=e.isIExtensionArray=e.isIExtensions=e.isGroupedMenuExtension=e.isFlatMenuExtension=e.isReportFiltersArray=e.isOnLoadFilters=e.VisualDataRoleKindPreference=e.VisualDataRoleKind=e.CommandDisplayOption=e.SlicerTargetSelector=e.VisualTypeSelector=e.VisualSelector=e.PageSelector=e.Selector=e.SortDirection=e.LegendPosition=e.TextAlignment=e.CommonErrorCodes=e.BookmarksPlayMode=e.ExportDataType=e.QnaMode=e.PageNavigationPosition=e.isColumnAggr=e.isHierarchyLevelAggr=e.isHierarchyLevel=e.isColumn=e.isMeasure=e.getFilterType=e.isBasicFilterWithKeys=e.isFilterKeyColumnsTarget=e.AdvancedFilter=e.TupleFilter=e.IdentityFilter=e.BasicFilterWithKeys=e.BasicFilter=e.RelativeTimeFilter=e.RelativeDateFilter=e.TopNFilter=e.IncludeExcludeFilter=e.NotSupportedFilter=e.Filter=e.RelativeDateOperators=e.RelativeDateFilterTimeUnit=e.FilterType=e.FiltersLevel=e.FiltersOperations=e.MenuLocation=e.ContrastMode=e.TokenType=e.ViewMode=e.Permissions=e.SectionVisibility=e.ReportAlignment=e.HyperlinkClickBehavior=e.LayoutType=e.VisualContainerDisplayMode=e.BackgroundType=e.DisplayOption=e.PageSizeType=e.TraceType=void 0;var o,n=r(1);!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"}(e.TraceType||(e.TraceType={})),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",t[t.Mobile=5]="Mobile"}(e.PageSizeType||(e.PageSizeType={})),function(t){t[t.FitToPage=0]="FitToPage",t[t.FitToWidth=1]="FitToWidth",t[t.ActualSize=2]="ActualSize"}(e.DisplayOption||(e.DisplayOption={})),function(t){t[t.Default=0]="Default",t[t.Transparent=1]="Transparent"}(e.BackgroundType||(e.BackgroundType={})),function(t){t[t.Visible=0]="Visible",t[t.Hidden=1]="Hidden"}(e.VisualContainerDisplayMode||(e.VisualContainerDisplayMode={})),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={})),function(t){t[t.Navigate=0]="Navigate",t[t.NavigateAndRaiseEvent=1]="NavigateAndRaiseEvent",t[t.RaiseEvent=2]="RaiseEvent"}(e.HyperlinkClickBehavior||(e.HyperlinkClickBehavior={})),function(t){t[t.Left=0]="Left",t[t.Center=1]="Center",t[t.Right=2]="Right",t[t.None=3]="None"}(e.ReportAlignment||(e.ReportAlignment={})),function(t){t[t.AlwaysVisible=0]="AlwaysVisible",t[t.HiddenInViewMode=1]="HiddenInViewMode"}(e.SectionVisibility||(e.SectionVisibility={})),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"}(e.Permissions||(e.Permissions={})),function(t){t[t.View=0]="View",t[t.Edit=1]="Edit"}(e.ViewMode||(e.ViewMode={})),function(t){t[t.Aad=0]="Aad",t[t.Embed=1]="Embed"}(e.TokenType||(e.TokenType={})),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"}(e.ContrastMode||(e.ContrastMode={})),function(t){t[t.Bottom=0]="Bottom",t[t.Top=1]="Top"}(e.MenuLocation||(e.MenuLocation={})),function(t){t[t.RemoveAll=0]="RemoveAll",t[t.ReplaceAll=1]="ReplaceAll",t[t.Add=2]="Add",t[t.Replace=3]="Replace"}(e.FiltersOperations||(e.FiltersOperations={})),function(t){t[t.Report=0]="Report",t[t.Page=1]="Page",t[t.Visual=2]="Visual"}(e.FiltersLevel||(e.FiltersLevel={})),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",t[t.Identity=8]="Identity"}(o=e.FilterType||(e.FilterType={})),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"}(e.RelativeDateFilterTimeUnit||(e.RelativeDateFilterTimeUnit={})),function(t){t[t.InLast=0]="InLast",t[t.InThis=1]="InThis",t[t.InNext=2]="InNext"}(e.RelativeDateOperators||(e.RelativeDateOperators={}));var l=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=l;var s=function(t){function e(r,i,a){var n=t.call(this,r,o.Unknown)||this;return n.message=i,n.notSupportedTypeName=a,n.schemaUrl=e.schemaUrl,n}return a(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}(l);e.NotSupportedFilter=s;var u=function(t){function e(r,i,a){var n=t.call(this,r,o.IncludeExclude)||this;return n.values=a,n.isExclude=i,n.schemaUrl=e.schemaUrl,n}return a(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}(l);e.IncludeExcludeFilter=u;var d=function(t){function e(r,i,a,n){var l=t.call(this,r,o.TopN)||this;return l.operator=i,l.itemCount=a,l.schemaUrl=e.schemaUrl,l.orderBy=n,l}return a(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}(l);e.TopNFilter=d;var c=function(t){function e(r,i,a,n,l){var s=t.call(this,r,o.RelativeDate)||this;return s.operator=i,s.timeUnitsCount=a,s.timeUnitType=n,s.includeToday=l,s.schemaUrl=e.schemaUrl,s}return a(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}(l);e.RelativeDateFilter=c;var p=function(t){function e(r,i,a,n){var l=t.call(this,r,o.RelativeTime)||this;return l.operator=i,l.timeUnitsCount=a,l.timeUnitType=n,l.schemaUrl=e.schemaUrl,l}return a(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}(l);e.RelativeTimeFilter=p;var f=function(t){function e(r,i){for(var a=[],n=2;n0&&!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,s=o.keyValues;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 s.conditions=l,s}return a(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}(l);function V(t){if(t.filterType)return t.filterType;var e=t,r=t;return"string"==typeof e.operator&&Array.isArray(e.values)?o.Basic:"string"==typeof r.logicalOperator&&Array.isArray(r.conditions)?o.Advanced:o.Unknown}function g(t){return!(!t.table||!t.column||t.aggregationFunction)}e.AdvancedFilter=m,e.isFilterKeyColumnsTarget=function(t){return g(t)&&!!t.keys},e.isBasicFilterWithKeys=function(t){return V(t)===o.Basic&&!!t.keyValues},e.getFilterType=V,e.isMeasure=function(t){return void 0!==t.table&&void 0!==t.measure},e.isColumn=g,e.isHierarchyLevel=function(t){return!(!(t.table&&t.hierarchy&&t.hierarchyLevel)||t.aggregationFunction)},e.isHierarchyLevelAggr=function(t){return!!(t.table&&t.hierarchy&&t.hierarchyLevel&&t.aggregationFunction)},e.isColumnAggr=function(t){return!!(t.table&&t.column&&t.aggregationFunction)},function(t){t[t.Bottom=0]="Bottom",t[t.Left=1]="Left"}(e.PageNavigationPosition||(e.PageNavigationPosition={})),function(t){t[t.Interactive=0]="Interactive",t[t.ResultOnly=1]="ResultOnly"}(e.QnaMode||(e.QnaMode={})),function(t){t[t.Summarized=0]="Summarized",t[t.Underlying=1]="Underlying"}(e.ExportDataType||(e.ExportDataType={})),function(t){t[t.Off=0]="Off",t[t.Presentation=1]="Presentation"}(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"},function(t){t[t.Ascending=1]="Ascending",t[t.Descending=2]="Descending"}(e.SortDirection||(e.SortDirection={}));var b=function(){function t(t){this.$schema=t}return t.prototype.toJSON=function(){return{$schema:this.$schema}},t}();e.Selector=b;var w=function(t){function e(r){var i=t.call(this,e.schemaUrl)||this;return i.pageName=r,i}return a(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}(b);e.PageSelector=w;var P=function(t){function e(r){var i=t.call(this,e.schemaUrl)||this;return i.visualName=r,i}return a(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}(b);e.VisualSelector=P;var _=function(t){function e(e){var r=t.call(this,P.schemaUrl)||this;return r.visualType=e,r}return a(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}(b);e.VisualTypeSelector=_;var O=function(t){function e(e){var r=t.call(this,P.schemaUrl)||this;return r.target=e,r}return a(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}(b);function S(t){return Array.isArray(t)}function T(t){return t&&!!t.groupName}function E(t){return Array.isArray(t)}function F(t){var e=t.message;return e||(e=t.path+" is invalid. Not meeting "+t.keyword+" constraint"),{message:e}}e.SlicerTargetSelector=O,function(t){t[t.Enabled=0]="Enabled",t[t.Disabled=1]="Disabled",t[t.Hidden=2]="Hidden"}(e.CommandDisplayOption||(e.CommandDisplayOption={})),function(t){t[t.Grouping=0]="Grouping",t[t.Measure=1]="Measure",t[t.GroupingOrMeasure=2]="GroupingOrMeasure"}(e.VisualDataRoleKind||(e.VisualDataRoleKind={})),function(t){t[t.Measure=0]="Measure",t[t.Grouping=1]="Grouping"}(e.VisualDataRoleKindPreference||(e.VisualDataRoleKindPreference={})),e.isOnLoadFilters=function(t){return t&&!S(t)},e.isReportFiltersArray=S,e.isFlatMenuExtension=function(t){return t&&!T(t)},e.isGroupedMenuExtension=T,e.isIExtensions=function(t){return t&&!E(t)},e.isIExtensionArray=E,e.validateVisualSelector=function(t){var e=n.Validators.visualSelectorValidator.validate(t);return e?e.map(F):void 0},e.validateSlicer=function(t){var e=n.Validators.slicerValidator.validate(t);return e?e.map(F):void 0},e.validateSlicerState=function(t){var e=n.Validators.slicerStateValidator.validate(t);return e?e.map(F):void 0},e.validatePlayBookmarkRequest=function(t){var e=n.Validators.playBookmarkRequestValidator.validate(t);return e?e.map(F):void 0},e.validateAddBookmarkRequest=function(t){var e=n.Validators.addBookmarkRequestValidator.validate(t);return e?e.map(F):void 0},e.validateApplyBookmarkByNameRequest=function(t){var e=n.Validators.applyBookmarkByNameRequestValidator.validate(t);return e?e.map(F):void 0},e.validateApplyBookmarkStateRequest=function(t){var e=n.Validators.applyBookmarkStateRequestValidator.validate(t);return e?e.map(F):void 0},e.validateCaptureBookmarkRequest=function(t){var e=n.Validators.captureBookmarkRequestValidator.validate(t);return e?e.map(F):void 0},e.validateSettings=function(t){var e=n.Validators.settingsValidator.validate(t);return e?e.map(F):void 0},e.validatePanes=function(t){var e=n.Validators.reportPanesValidator.validate(t);return e?e.map(F):void 0},e.validateBookmarksPane=function(t){var e=n.Validators.bookmarksPaneValidator.validate(t);return e?e.map(F):void 0},e.validateFiltersPane=function(t){var e=n.Validators.filtersPaneValidator.validate(t);return e?e.map(F):void 0},e.validateFieldsPane=function(t){var e=n.Validators.fieldsPaneValidator.validate(t);return e?e.map(F):void 0},e.validatePageNavigationPane=function(t){var e=n.Validators.pageNavigationPaneValidator.validate(t);return e?e.map(F):void 0},e.validateSelectionPane=function(t){var e=n.Validators.selectionPaneValidator.validate(t);return e?e.map(F):void 0},e.validateSyncSlicersPane=function(t){var e=n.Validators.syncSlicersPaneValidator.validate(t);return e?e.map(F):void 0},e.validateVisualizationsPane=function(t){var e=n.Validators.visualizationsPaneValidator.validate(t);return e?e.map(F):void 0},e.validateCustomPageSize=function(t){var e=n.Validators.customPageSizeValidator.validate(t);return e?e.map(F):void 0},e.validateExtension=function(t){var e=n.Validators.extensionValidator.validate(t);return e?e.map(F):void 0},e.validateMenuGroupExtension=function(t){var e=n.Validators.menuGroupExtensionValidator.validate(t);return e?e.map(F):void 0},e.validateReportLoad=function(t){var e=n.Validators.reportLoadValidator.validate(t);return e?e.map(F):void 0},e.validatePaginatedReportLoad=function(t){var e=n.Validators.paginatedReportLoadValidator.validate(t);return e?e.map(F):void 0},e.validateCreateReport=function(t){var e=n.Validators.reportCreateValidator.validate(t);return e?e.map(F):void 0},e.validateDashboardLoad=function(t){var e=n.Validators.dashboardLoadValidator.validate(t);return e?e.map(F):void 0},e.validateTileLoad=function(t){var e=n.Validators.tileLoadValidator.validate(t);return e?e.map(F):void 0},e.validatePage=function(t){var e=n.Validators.pageValidator.validate(t);return e?e.map(F):void 0},e.validateFilter=function(t){var e=n.Validators.filterValidator.validate(t);return e?e.map(F):void 0},e.validateUpdateFiltersRequest=function(t){var e=n.Validators.updateFiltersRequestValidator.validate(t);return e?e.map(F):void 0},e.validateSaveAsParameters=function(t){var e=n.Validators.saveAsParametersValidator.validate(t);return e?e.map(F):void 0},e.validateLoadQnaConfiguration=function(t){var e=n.Validators.loadQnaValidator.validate(t);return e?e.map(F):void 0},e.validateQnaInterpretInputData=function(t){var e=n.Validators.qnaInterpretInputDataValidator.validate(t);return e?e.map(F):void 0},e.validateExportDataRequest=function(t){var e=n.Validators.exportDataRequestValidator.validate(t);return e?e.map(F):void 0},e.validateVisualHeader=function(t){var e=n.Validators.visualHeaderValidator.validate(t);return e?e.map(F):void 0},e.validateVisualSettings=function(t){var e=n.Validators.visualSettingsValidator.validate(t);return e?e.map(F):void 0},e.validateCommandsSettings=function(t){var e=n.Validators.commandsSettingsValidator.validate(t);return e?e.map(F):void 0},e.validateCustomTheme=function(t){var e=n.Validators.customThemeValidator.validate(t);return e?e.map(F):void 0},e.validateZoomLevel=function(t){var e=n.Validators.zoomLevelValidator.validate(t);return e?e.map(F):void 0}},function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.Validators=void 0;var i=r(2),a=r(5),o=r(6),n=r(7),l=r(8),s=r(9),u=r(10),d=r(11),c=r(12),p=r(13),f=r(14),h=r(15),v=r(16),y=r(17),m=r(18),V=r(19),g=r(20),b=r(21),w=r(22),P=r(23),_=r(24),O=r(25),S=r(26),T=r(27),E=r(28),F=r(29),R=r(4),x=r(30);e.Validators={addBookmarkRequestValidator:new a.AddBookmarkRequestValidator,advancedFilterTypeValidator:new R.EnumValidator([0]),advancedFilterValidator:new c.AdvancedFilterValidator,anyArrayValidator:new R.ArrayValidator([new S.AnyOfValidator([new R.StringValidator,new R.NumberValidator,new R.BooleanValidator])]),anyFilterValidator:new S.AnyOfValidator([new c.BasicFilterValidator,new c.AdvancedFilterValidator,new c.IncludeExcludeFilterValidator,new c.NotSupportedFilterValidator,new c.RelativeDateFilterValidator,new c.TopNFilterValidator,new c.RelativeTimeFilterValidator]),anyValueValidator:new S.AnyOfValidator([new R.StringValidator,new R.NumberValidator,new R.BooleanValidator]),actionBarValidator:new i.ActionBarValidator,applyBookmarkByNameRequestValidator:new a.ApplyBookmarkByNameRequestValidator,applyBookmarkStateRequestValidator:new a.ApplyBookmarkStateRequestValidator,applyBookmarkValidator:new S.AnyOfValidator([new a.ApplyBookmarkByNameRequestValidator,new a.ApplyBookmarkStateRequestValidator]),backgroundValidator:new R.EnumValidator([0,1]),basicFilterTypeValidator:new R.EnumValidator([1]),basicFilterValidator:new c.BasicFilterValidator,booleanArrayValidator:new R.BooleanArrayValidator,booleanValidator:new R.BooleanValidator,bookmarksPaneValidator:new h.BookmarksPaneValidator,captureBookmarkOptionsValidator:new a.CaptureBookmarkOptionsValidator,captureBookmarkRequestValidator:new a.CaptureBookmarkRequestValidator,commandDisplayOptionValidator:new R.EnumValidator([0,1,2]),commandExtensionSelectorValidator:new S.AnyOfValidator([new b.VisualSelectorValidator,new b.VisualTypeSelectorValidator]),commandExtensionArrayValidator:new R.ArrayValidator([new d.CommandExtensionValidator]),commandExtensionValidator:new d.CommandExtensionValidator,commandsSettingsArrayValidator:new R.ArrayValidator([new o.CommandsSettingsValidator]),commandsSettingsValidator:new o.CommandsSettingsValidator,conditionItemValidator:new c.ConditionItemValidator,contrastModeValidator:new R.EnumValidator([0,1,2,3,4]),customLayoutDisplayOptionValidator:new R.EnumValidator([0,1,2]),customLayoutValidator:new p.CustomLayoutValidator,customPageSizeValidator:new f.CustomPageSizeValidator,customThemeValidator:new n.CustomThemeValidator,dashboardLoadValidator:new l.DashboardLoadValidator,datasetBindingValidator:new s.DatasetBindingValidator,displayStateModeValidator:new R.EnumValidator([0,1]),displayStateValidator:new p.DisplayStateValidator,exportDataRequestValidator:new u.ExportDataRequestValidator,extensionArrayValidator:new R.ArrayValidator([new d.ExtensionValidator]),extensionsValidator:new S.AnyOfValidator([new R.ArrayValidator([new d.ExtensionValidator]),new d.ExtensionsValidator]),extensionPointsValidator:new d.ExtensionPointsValidator,extensionValidator:new d.ExtensionValidator,fieldForbiddenValidator:new T.FieldForbiddenValidator,fieldRequiredValidator:new E.FieldRequiredValidator,fieldsPaneValidator:new h.FieldsPaneValidator,filterColumnTargetValidator:new c.FilterColumnTargetValidator,filterDisplaySettingsValidator:new c.FilterDisplaySettingsValidator,filterConditionsValidator:new R.ArrayValidator([new c.ConditionItemValidator]),filterHierarchyTargetValidator:new c.FilterHierarchyTargetValidator,filterMeasureTargetValidator:new c.FilterMeasureTargetValidator,filterTargetValidator:new S.AnyOfValidator([new c.FilterColumnTargetValidator,new c.FilterHierarchyTargetValidator,new c.FilterMeasureTargetValidator]),filterValidator:new c.FilterValidator,filterTypeValidator:new R.EnumValidator([0,1,2,3,4,5,6,7]),filtersArrayValidator:new R.ArrayValidator([new c.FilterValidator]),filtersOperationsUpdateValidator:new R.EnumValidator([1,2,3]),filtersOperationsRemoveAllValidator:new R.EnumValidator([0]),filtersPaneValidator:new h.FiltersPaneValidator,hyperlinkClickBehaviorValidator:new R.EnumValidator([0,1,2]),includeExcludeFilterValidator:new c.IncludeExcludeFilterValidator,includeExludeFilterTypeValidator:new R.EnumValidator([3]),layoutTypeValidator:new R.EnumValidator([0,1,2,3]),loadQnaValidator:new v.LoadQnaValidator,menuExtensionValidator:new S.AnyOfValidator([new d.FlatMenuExtensionValidator,new d.GroupedMenuExtensionValidator]),menuGroupExtensionArrayValidator:new R.ArrayValidator([new d.MenuGroupExtensionValidator]),menuGroupExtensionValidator:new d.MenuGroupExtensionValidator,menuLocationValidator:new R.EnumValidator([0,1]),notSupportedFilterTypeValidator:new R.EnumValidator([2]),notSupportedFilterValidator:new c.NotSupportedFilterValidator,numberArrayValidator:new R.NumberArrayValidator,numberValidator:new R.NumberValidator,onLoadFiltersBaseValidator:new S.AnyOfValidator([new c.OnLoadFiltersBaseValidator,new c.OnLoadFiltersBaseRemoveOperationValidator]),pageLayoutValidator:new F.MapValidator([new R.StringValidator],[new p.VisualLayoutValidator]),pageNavigationPaneValidator:new h.PageNavigationPaneValidator,pageNavigationPositionValidator:new R.EnumValidator([0,1]),pageSizeTypeValidator:new R.EnumValidator([0,1,2,3,4,5]),pageSizeValidator:new f.PageSizeValidator,pageValidator:new f.PageValidator,pageViewFieldValidator:new f.PageViewFieldValidator,pagesLayoutValidator:new F.MapValidator([new R.StringValidator],[new p.PageLayoutValidator]),paginatedReportCommandsValidator:new o.PaginatedReportCommandsValidator,paginatedReportLoadValidator:new V.PaginatedReportLoadValidator,paginatedReportsettingsValidator:new w.PaginatedReportSettingsValidator,parametersPanelValidator:new x.ParametersPanelValidator,permissionsValidator:new R.EnumValidator([0,1,2,4,7]),playBookmarkRequestValidator:new a.PlayBookmarkRequestValidator,qnaInterpretInputDataValidator:new v.QnaInterpretInputDataValidator,qnaPanesValidator:new h.QnaPanesValidator,qnaSettingValidator:new v.QnaSettingsValidator,relativeDateFilterOperatorValidator:new R.EnumValidator([0,1,2]),relativeDateFilterTimeUnitTypeValidator:new R.EnumValidator([0,1,2,3,4,5,6]),relativeDateFilterTypeValidator:new R.EnumValidator([4]),relativeDateFilterValidator:new c.RelativeDateFilterValidator,relativeDateTimeFilterTypeValidator:new R.EnumValidator([4,7]),relativeDateTimeFilterUnitTypeValidator:new R.EnumValidator([0,1,2,3,4,5,6,7,8]),relativeTimeFilterTimeUnitTypeValidator:new R.EnumValidator([7,8]),relativeTimeFilterTypeValidator:new R.EnumValidator([7]),relativeTimeFilterValidator:new c.RelativeTimeFilterValidator,reportBarsValidator:new i.ReportBarsValidator,reportCreateValidator:new y.ReportCreateValidator,reportLoadFiltersValidator:new S.AnyOfValidator([new R.ArrayValidator([new c.FilterValidator]),new c.OnLoadFiltersValidator]),reportLoadValidator:new m.ReportLoadValidator,reportPanesValidator:new h.ReportPanesValidator,saveAsParametersValidator:new g.SaveAsParametersValidator,selectionPaneValidator:new h.SelectionPaneValidator,settingsValidator:new w.SettingsValidator,singleCommandSettingsValidator:new o.SingleCommandSettingsValidator,slicerSelectorValidator:new S.AnyOfValidator([new b.VisualSelectorValidator,new b.SlicerTargetSelectorValidator]),slicerStateValidator:new P.SlicerStateValidator,slicerTargetValidator:new S.AnyOfValidator([new c.FilterColumnTargetValidator,new c.FilterHierarchyTargetValidator,new c.FilterMeasureTargetValidator,new c.FilterKeyColumnsTargetValidator,new c.FilterKeyHierarchyTargetValidator]),slicerValidator:new P.SlicerValidator,stringArrayValidator:new R.StringArrayValidator,stringValidator:new R.StringValidator,syncSlicersPaneValidator:new h.SyncSlicersPaneValidator,tileLoadValidator:new _.TileLoadValidator,tokenTypeValidator:new R.EnumValidator([0,1]),topNFilterTypeValidator:new R.EnumValidator([5]),topNFilterValidator:new c.TopNFilterValidator,updateFiltersRequestValidator:new S.AnyOfValidator([new c.UpdateFiltersRequestValidator,new c.RemoveFiltersRequestValidator]),viewModeValidator:new R.EnumValidator([0,1]),visualCommandSelectorValidator:new S.AnyOfValidator([new b.VisualSelectorValidator,new b.VisualTypeSelectorValidator]),visualHeaderSelectorValidator:new S.AnyOfValidator([new b.VisualSelectorValidator,new b.VisualTypeSelectorValidator]),visualHeaderSettingsValidator:new O.VisualHeaderSettingsValidator,visualHeaderValidator:new O.VisualHeaderValidator,visualHeadersValidator:new R.ArrayValidator([new O.VisualHeaderValidator]),visualizationsPaneValidator:new h.VisualizationsPaneValidator,visualLayoutValidator:new p.VisualLayoutValidator,visualSelectorValidator:new b.VisualSelectorValidator,visualSettingsValidator:new O.VisualSettingsValidator,visualTypeSelectorValidator:new b.VisualTypeSelectorValidator,zoomLevelValidator:new R.RangeValidator(.25,4)}},function(t,e,r){var i,a=this&&this.__extends||(i=function(t,e){return(i=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])})(t,e)},function(t,e){function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.ActionBarValidator=e.ReportBarsValidator=void 0;var o=r(3),n=r(4),l=r(1),s=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return a(e,t),e.prototype.validate=function(e,r,i){if(null==e)return null;var a=t.prototype.validate.call(this,e,r,i);if(a)return a;var n=[{field:"actionBar",validators:[l.Validators.actionBarValidator]}];return new o.MultipleFieldsValidator(n).validate(e,r,i)},e}(n.ObjectValidator);e.ReportBarsValidator=s;var u=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return a(e,t),e.prototype.validate=function(e,r,i){if(null==e)return null;var a=t.prototype.validate.call(this,e,r,i);if(a)return a;var n=[{field:"visible",validators:[l.Validators.booleanValidator]}];return new o.MultipleFieldsValidator(n).validate(e,r,i)},e}(n.ObjectValidator);e.ActionBarValidator=u},function(t,e){Object.defineProperty(e,"__esModule",{value:!0}),e.MultipleFieldsValidator=void 0;var r=function(){function t(t){this.fieldValidatorsPairs=t}return t.prototype.validate=function(t,e,r){if(!this.fieldValidatorsPairs)return null;for(var i=e?e+"."+r:r,a=0,o=this.fieldValidatorsPairs;athis.maxValue||e0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0?"&":"?";return t+=i+e+"="+r},e.isSavedInternal=function(t,e,a){return r(this,void 0,void 0,(function(){return i(this,(function(r){switch(r.label){case 0:return r.trys.push([0,2,,3]),[4,t.get("/report/hasUnsavedChanges",{uid:e},a)];case 1:return[2,!r.sent().body];case 2:throw r.sent().body;case 3:return[2]}}))}))},e.isRDLEmbed=function(t){return t&&t.toLowerCase().indexOf("/rdlembed?")>=0},e.autoAuthInEmbedUrl=function(t){return t&&decodeURIComponent(t).toLowerCase().indexOf("autoauth=true")>=0},e.getRandomValue=o,e.getTimeDiffInMilliseconds=function(t,e){return Math.abs(t.getTime()-e.getTime())}},function(t,e){Object.defineProperty(e,"__esModule",{value:!0}),e.FilterBuilder=void 0;var r=function(){function t(){}return t.prototype.withTargetObject=function(t){return this.target=t,this},t.prototype.withColumnTarget=function(t,e){return this.target={table:t,column:e},this},t.prototype.withMeasureTarget=function(t,e){return this.target={table:t,measure:e},this},t.prototype.withHierarchyLevelTarget=function(t,e,r){return this.target={table:t,hierarchy:e,hierarchyLevel:r},this},t.prototype.withColumnAggregation=function(t,e,r){return this.target={table:t,column:e,aggregationFunction:r},this},t.prototype.withHierarchyLevelAggregationTarget=function(t,e,r,i){return this.target={table:t,hierarchy:e,hierarchyLevel:r,aggregationFunction:i},this},t}();e.FilterBuilder=r},function(t,e){Object.defineProperty(e,"__esModule",{value:!0}),e.EmbedUrlNotSupported=e.APINotSupportedForRDLError=void 0,e.APINotSupportedForRDLError="This API is currently not supported for RDL reports",e.EmbedUrlNotSupported="Embed URL is invalid for this scenario. Please use Power BI REST APIs to get the valid URL"},function(t,e,r){var i,a=this&&this.__extends||(i=function(t,e){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])})(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}),o=this&&this.__awaiter||function(t,e,r,i){return new(r||(r=Promise))((function(a,o){function n(t){try{s(i.next(t))}catch(t){o(t)}}function l(t){try{s(i.throw(t))}catch(t){o(t)}}function s(t){var e;t.done?a(t.value):(e=t.value,e instanceof r?e:new r((function(t){t(e)}))).then(n,l)}s((i=i.apply(t,e||[])).next())}))},n=this&&this.__generator||function(t,e){var r,i,a,o,n={label:0,sent:function(){if(1&a[0])throw a[1];return a[1]},trys:[],ops:[]};return o={next:l(0),throw:l(1),return:l(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function l(o){return function(l){return function(o){if(r)throw new TypeError("Generator is already executing.");for(;n;)try{if(r=1,i&&(a=2&o[0]?i.return:o[0]?i.throw||((a=i.return)&&a.call(i),0):i.next)&&!(a=a.call(i,o[1])).done)return a;switch(i=0,a&&(o=[2&o[0],a.value]),o[0]){case 0:case 1:a=o;break;case 4:return n.label++,{value:o[1],done:!1};case 5:n.label++,i=o[1],o=[0];continue;case 7:o=n.ops.pop(),n.trys.pop();continue;default:if(!(a=n.trys,(a=a.length>0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&!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,s=o.keyValues;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 s.conditions=l,s}return a(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}(l);function V(t){if(t.filterType)return t.filterType;var e=t,r=t;return"string"==typeof e.operator&&Array.isArray(e.values)?o.Basic:"string"==typeof r.logicalOperator&&Array.isArray(r.conditions)?o.Advanced:o.Unknown}function g(t){return!(!t.table||!t.column||t.aggregationFunction)}e.AdvancedFilter=m,e.isFilterKeyColumnsTarget=function(t){return g(t)&&!!t.keys},e.isBasicFilterWithKeys=function(t){return V(t)===o.Basic&&!!t.keyValues},e.getFilterType=V,e.isMeasure=function(t){return void 0!==t.table&&void 0!==t.measure},e.isColumn=g,e.isHierarchyLevel=function(t){return!(!(t.table&&t.hierarchy&&t.hierarchyLevel)||t.aggregationFunction)},e.isHierarchyLevelAggr=function(t){return!!(t.table&&t.hierarchy&&t.hierarchyLevel&&t.aggregationFunction)},e.isColumnAggr=function(t){return!!(t.table&&t.column&&t.aggregationFunction)},function(t){t[t.Bottom=0]="Bottom",t[t.Left=1]="Left"}(e.PageNavigationPosition||(e.PageNavigationPosition={})),function(t){t[t.Interactive=0]="Interactive",t[t.ResultOnly=1]="ResultOnly"}(e.QnaMode||(e.QnaMode={})),function(t){t[t.Summarized=0]="Summarized",t[t.Underlying=1]="Underlying"}(e.ExportDataType||(e.ExportDataType={})),function(t){t[t.Off=0]="Off",t[t.Presentation=1]="Presentation"}(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"},function(t){t[t.Ascending=1]="Ascending",t[t.Descending=2]="Descending"}(e.SortDirection||(e.SortDirection={}));var b=function(){function t(t){this.$schema=t}return t.prototype.toJSON=function(){return{$schema:this.$schema}},t}();e.Selector=b;var w=function(t){function e(r){var i=t.call(this,e.schemaUrl)||this;return i.pageName=r,i}return a(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}(b);e.PageSelector=w;var P=function(t){function e(r){var i=t.call(this,e.schemaUrl)||this;return i.visualName=r,i}return a(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}(b);e.VisualSelector=P;var _=function(t){function e(e){var r=t.call(this,P.schemaUrl)||this;return r.visualType=e,r}return a(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}(b);e.VisualTypeSelector=_;var O=function(t){function e(e){var r=t.call(this,P.schemaUrl)||this;return r.target=e,r}return a(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}(b);function S(t){return Array.isArray(t)}function T(t){return t&&!!t.groupName}function E(t){return Array.isArray(t)}function F(t){var e=t.message;return e||(e=t.path+" is invalid. Not meeting "+t.keyword+" constraint"),{message:e}}e.SlicerTargetSelector=O,function(t){t[t.Enabled=0]="Enabled",t[t.Disabled=1]="Disabled",t[t.Hidden=2]="Hidden"}(e.CommandDisplayOption||(e.CommandDisplayOption={})),function(t){t[t.Grouping=0]="Grouping",t[t.Measure=1]="Measure",t[t.GroupingOrMeasure=2]="GroupingOrMeasure"}(e.VisualDataRoleKind||(e.VisualDataRoleKind={})),function(t){t[t.Measure=0]="Measure",t[t.Grouping=1]="Grouping"}(e.VisualDataRoleKindPreference||(e.VisualDataRoleKindPreference={})),e.isOnLoadFilters=function(t){return t&&!S(t)},e.isReportFiltersArray=S,e.isFlatMenuExtension=function(t){return t&&!T(t)},e.isGroupedMenuExtension=T,e.isIExtensions=function(t){return t&&!E(t)},e.isIExtensionArray=E,e.validateVisualSelector=function(t){var e=n.Validators.visualSelectorValidator.validate(t);return e?e.map(F):void 0},e.validateSlicer=function(t){var e=n.Validators.slicerValidator.validate(t);return e?e.map(F):void 0},e.validateSlicerState=function(t){var e=n.Validators.slicerStateValidator.validate(t);return e?e.map(F):void 0},e.validatePlayBookmarkRequest=function(t){var e=n.Validators.playBookmarkRequestValidator.validate(t);return e?e.map(F):void 0},e.validateAddBookmarkRequest=function(t){var e=n.Validators.addBookmarkRequestValidator.validate(t);return e?e.map(F):void 0},e.validateApplyBookmarkByNameRequest=function(t){var e=n.Validators.applyBookmarkByNameRequestValidator.validate(t);return e?e.map(F):void 0},e.validateApplyBookmarkStateRequest=function(t){var e=n.Validators.applyBookmarkStateRequestValidator.validate(t);return e?e.map(F):void 0},e.validateCaptureBookmarkRequest=function(t){var e=n.Validators.captureBookmarkRequestValidator.validate(t);return e?e.map(F):void 0},e.validateSettings=function(t){var e=n.Validators.settingsValidator.validate(t);return e?e.map(F):void 0},e.validatePanes=function(t){var e=n.Validators.reportPanesValidator.validate(t);return e?e.map(F):void 0},e.validateBookmarksPane=function(t){var e=n.Validators.bookmarksPaneValidator.validate(t);return e?e.map(F):void 0},e.validateFiltersPane=function(t){var e=n.Validators.filtersPaneValidator.validate(t);return e?e.map(F):void 0},e.validateFieldsPane=function(t){var e=n.Validators.fieldsPaneValidator.validate(t);return e?e.map(F):void 0},e.validatePageNavigationPane=function(t){var e=n.Validators.pageNavigationPaneValidator.validate(t);return e?e.map(F):void 0},e.validateSelectionPane=function(t){var e=n.Validators.selectionPaneValidator.validate(t);return e?e.map(F):void 0},e.validateSyncSlicersPane=function(t){var e=n.Validators.syncSlicersPaneValidator.validate(t);return e?e.map(F):void 0},e.validateVisualizationsPane=function(t){var e=n.Validators.visualizationsPaneValidator.validate(t);return e?e.map(F):void 0},e.validateCustomPageSize=function(t){var e=n.Validators.customPageSizeValidator.validate(t);return e?e.map(F):void 0},e.validateExtension=function(t){var e=n.Validators.extensionValidator.validate(t);return e?e.map(F):void 0},e.validateMenuGroupExtension=function(t){var e=n.Validators.menuGroupExtensionValidator.validate(t);return e?e.map(F):void 0},e.validateReportLoad=function(t){var e=n.Validators.reportLoadValidator.validate(t);return e?e.map(F):void 0},e.validatePaginatedReportLoad=function(t){var e=n.Validators.paginatedReportLoadValidator.validate(t);return e?e.map(F):void 0},e.validateCreateReport=function(t){var e=n.Validators.reportCreateValidator.validate(t);return e?e.map(F):void 0},e.validateDashboardLoad=function(t){var e=n.Validators.dashboardLoadValidator.validate(t);return e?e.map(F):void 0},e.validateTileLoad=function(t){var e=n.Validators.tileLoadValidator.validate(t);return e?e.map(F):void 0},e.validatePage=function(t){var e=n.Validators.pageValidator.validate(t);return e?e.map(F):void 0},e.validateFilter=function(t){var e=n.Validators.filterValidator.validate(t);return e?e.map(F):void 0},e.validateUpdateFiltersRequest=function(t){var e=n.Validators.updateFiltersRequestValidator.validate(t);return e?e.map(F):void 0},e.validateSaveAsParameters=function(t){var e=n.Validators.saveAsParametersValidator.validate(t);return e?e.map(F):void 0},e.validateLoadQnaConfiguration=function(t){var e=n.Validators.loadQnaValidator.validate(t);return e?e.map(F):void 0},e.validateQnaInterpretInputData=function(t){var e=n.Validators.qnaInterpretInputDataValidator.validate(t);return e?e.map(F):void 0},e.validateExportDataRequest=function(t){var e=n.Validators.exportDataRequestValidator.validate(t);return e?e.map(F):void 0},e.validateVisualHeader=function(t){var e=n.Validators.visualHeaderValidator.validate(t);return e?e.map(F):void 0},e.validateVisualSettings=function(t){var e=n.Validators.visualSettingsValidator.validate(t);return e?e.map(F):void 0},e.validateCommandsSettings=function(t){var e=n.Validators.commandsSettingsValidator.validate(t);return e?e.map(F):void 0},e.validateCustomTheme=function(t){var e=n.Validators.customThemeValidator.validate(t);return e?e.map(F):void 0},e.validateZoomLevel=function(t){var e=n.Validators.zoomLevelValidator.validate(t);return e?e.map(F):void 0}},function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.Validators=void 0;var i=r(2),a=r(5),o=r(6),n=r(7),l=r(8),s=r(9),u=r(10),d=r(11),c=r(12),p=r(13),f=r(14),h=r(15),v=r(16),y=r(17),m=r(18),V=r(19),g=r(20),b=r(21),w=r(22),P=r(23),_=r(24),O=r(25),S=r(26),T=r(27),E=r(28),F=r(29),R=r(4),x=r(30);e.Validators={addBookmarkRequestValidator:new a.AddBookmarkRequestValidator,advancedFilterTypeValidator:new R.EnumValidator([0]),advancedFilterValidator:new c.AdvancedFilterValidator,anyArrayValidator:new R.ArrayValidator([new S.AnyOfValidator([new R.StringValidator,new R.NumberValidator,new R.BooleanValidator])]),anyFilterValidator:new S.AnyOfValidator([new c.BasicFilterValidator,new c.AdvancedFilterValidator,new c.IncludeExcludeFilterValidator,new c.NotSupportedFilterValidator,new c.RelativeDateFilterValidator,new c.TopNFilterValidator,new c.RelativeTimeFilterValidator]),anyValueValidator:new S.AnyOfValidator([new R.StringValidator,new R.NumberValidator,new R.BooleanValidator]),actionBarValidator:new i.ActionBarValidator,applyBookmarkByNameRequestValidator:new a.ApplyBookmarkByNameRequestValidator,applyBookmarkStateRequestValidator:new a.ApplyBookmarkStateRequestValidator,applyBookmarkValidator:new S.AnyOfValidator([new a.ApplyBookmarkByNameRequestValidator,new a.ApplyBookmarkStateRequestValidator]),backgroundValidator:new R.EnumValidator([0,1]),basicFilterTypeValidator:new R.EnumValidator([1]),basicFilterValidator:new c.BasicFilterValidator,booleanArrayValidator:new R.BooleanArrayValidator,booleanValidator:new R.BooleanValidator,bookmarksPaneValidator:new h.BookmarksPaneValidator,captureBookmarkOptionsValidator:new a.CaptureBookmarkOptionsValidator,captureBookmarkRequestValidator:new a.CaptureBookmarkRequestValidator,commandDisplayOptionValidator:new R.EnumValidator([0,1,2]),commandExtensionSelectorValidator:new S.AnyOfValidator([new b.VisualSelectorValidator,new b.VisualTypeSelectorValidator]),commandExtensionArrayValidator:new R.ArrayValidator([new d.CommandExtensionValidator]),commandExtensionValidator:new d.CommandExtensionValidator,commandsSettingsArrayValidator:new R.ArrayValidator([new o.CommandsSettingsValidator]),commandsSettingsValidator:new o.CommandsSettingsValidator,conditionItemValidator:new c.ConditionItemValidator,contrastModeValidator:new R.EnumValidator([0,1,2,3,4]),customLayoutDisplayOptionValidator:new R.EnumValidator([0,1,2]),customLayoutValidator:new p.CustomLayoutValidator,customPageSizeValidator:new f.CustomPageSizeValidator,customThemeValidator:new n.CustomThemeValidator,dashboardLoadValidator:new l.DashboardLoadValidator,datasetBindingValidator:new s.DatasetBindingValidator,displayStateModeValidator:new R.EnumValidator([0,1]),displayStateValidator:new p.DisplayStateValidator,exportDataRequestValidator:new u.ExportDataRequestValidator,extensionArrayValidator:new R.ArrayValidator([new d.ExtensionValidator]),extensionsValidator:new S.AnyOfValidator([new R.ArrayValidator([new d.ExtensionValidator]),new d.ExtensionsValidator]),extensionPointsValidator:new d.ExtensionPointsValidator,extensionValidator:new d.ExtensionValidator,fieldForbiddenValidator:new T.FieldForbiddenValidator,fieldRequiredValidator:new E.FieldRequiredValidator,fieldsPaneValidator:new h.FieldsPaneValidator,filterColumnTargetValidator:new c.FilterColumnTargetValidator,filterDisplaySettingsValidator:new c.FilterDisplaySettingsValidator,filterConditionsValidator:new R.ArrayValidator([new c.ConditionItemValidator]),filterHierarchyTargetValidator:new c.FilterHierarchyTargetValidator,filterMeasureTargetValidator:new c.FilterMeasureTargetValidator,filterTargetValidator:new S.AnyOfValidator([new c.FilterColumnTargetValidator,new c.FilterHierarchyTargetValidator,new c.FilterMeasureTargetValidator]),filterValidator:new c.FilterValidator,filterTypeValidator:new R.EnumValidator([0,1,2,3,4,5,6,7]),filtersArrayValidator:new R.ArrayValidator([new c.FilterValidator]),filtersOperationsUpdateValidator:new R.EnumValidator([1,2,3]),filtersOperationsRemoveAllValidator:new R.EnumValidator([0]),filtersPaneValidator:new h.FiltersPaneValidator,hyperlinkClickBehaviorValidator:new R.EnumValidator([0,1,2]),includeExcludeFilterValidator:new c.IncludeExcludeFilterValidator,includeExludeFilterTypeValidator:new R.EnumValidator([3]),layoutTypeValidator:new R.EnumValidator([0,1,2,3]),loadQnaValidator:new v.LoadQnaValidator,menuExtensionValidator:new S.AnyOfValidator([new d.FlatMenuExtensionValidator,new d.GroupedMenuExtensionValidator]),menuGroupExtensionArrayValidator:new R.ArrayValidator([new d.MenuGroupExtensionValidator]),menuGroupExtensionValidator:new d.MenuGroupExtensionValidator,menuLocationValidator:new R.EnumValidator([0,1]),notSupportedFilterTypeValidator:new R.EnumValidator([2]),notSupportedFilterValidator:new c.NotSupportedFilterValidator,numberArrayValidator:new R.NumberArrayValidator,numberValidator:new R.NumberValidator,onLoadFiltersBaseValidator:new S.AnyOfValidator([new c.OnLoadFiltersBaseValidator,new c.OnLoadFiltersBaseRemoveOperationValidator]),pageLayoutValidator:new F.MapValidator([new R.StringValidator],[new p.VisualLayoutValidator]),pageNavigationPaneValidator:new h.PageNavigationPaneValidator,pageNavigationPositionValidator:new R.EnumValidator([0,1]),pageSizeTypeValidator:new R.EnumValidator([0,1,2,3,4,5]),pageSizeValidator:new f.PageSizeValidator,pageValidator:new f.PageValidator,pageViewFieldValidator:new f.PageViewFieldValidator,pagesLayoutValidator:new F.MapValidator([new R.StringValidator],[new p.PageLayoutValidator]),paginatedReportCommandsValidator:new o.PaginatedReportCommandsValidator,paginatedReportLoadValidator:new V.PaginatedReportLoadValidator,paginatedReportsettingsValidator:new w.PaginatedReportSettingsValidator,parametersPanelValidator:new x.ParametersPanelValidator,permissionsValidator:new R.EnumValidator([0,1,2,4,7]),playBookmarkRequestValidator:new a.PlayBookmarkRequestValidator,qnaInterpretInputDataValidator:new v.QnaInterpretInputDataValidator,qnaPanesValidator:new h.QnaPanesValidator,qnaSettingValidator:new v.QnaSettingsValidator,relativeDateFilterOperatorValidator:new R.EnumValidator([0,1,2]),relativeDateFilterTimeUnitTypeValidator:new R.EnumValidator([0,1,2,3,4,5,6]),relativeDateFilterTypeValidator:new R.EnumValidator([4]),relativeDateFilterValidator:new c.RelativeDateFilterValidator,relativeDateTimeFilterTypeValidator:new R.EnumValidator([4,7]),relativeDateTimeFilterUnitTypeValidator:new R.EnumValidator([0,1,2,3,4,5,6,7,8]),relativeTimeFilterTimeUnitTypeValidator:new R.EnumValidator([7,8]),relativeTimeFilterTypeValidator:new R.EnumValidator([7]),relativeTimeFilterValidator:new c.RelativeTimeFilterValidator,reportBarsValidator:new i.ReportBarsValidator,reportCreateValidator:new y.ReportCreateValidator,reportLoadFiltersValidator:new S.AnyOfValidator([new R.ArrayValidator([new c.FilterValidator]),new c.OnLoadFiltersValidator]),reportLoadValidator:new m.ReportLoadValidator,reportPanesValidator:new h.ReportPanesValidator,saveAsParametersValidator:new g.SaveAsParametersValidator,selectionPaneValidator:new h.SelectionPaneValidator,settingsValidator:new w.SettingsValidator,singleCommandSettingsValidator:new o.SingleCommandSettingsValidator,slicerSelectorValidator:new S.AnyOfValidator([new b.VisualSelectorValidator,new b.SlicerTargetSelectorValidator]),slicerStateValidator:new P.SlicerStateValidator,slicerTargetValidator:new S.AnyOfValidator([new c.FilterColumnTargetValidator,new c.FilterHierarchyTargetValidator,new c.FilterMeasureTargetValidator,new c.FilterKeyColumnsTargetValidator,new c.FilterKeyHierarchyTargetValidator]),slicerValidator:new P.SlicerValidator,stringArrayValidator:new R.StringArrayValidator,stringValidator:new R.StringValidator,syncSlicersPaneValidator:new h.SyncSlicersPaneValidator,tileLoadValidator:new _.TileLoadValidator,tokenTypeValidator:new R.EnumValidator([0,1]),topNFilterTypeValidator:new R.EnumValidator([5]),topNFilterValidator:new c.TopNFilterValidator,updateFiltersRequestValidator:new S.AnyOfValidator([new c.UpdateFiltersRequestValidator,new c.RemoveFiltersRequestValidator]),viewModeValidator:new R.EnumValidator([0,1]),visualCommandSelectorValidator:new S.AnyOfValidator([new b.VisualSelectorValidator,new b.VisualTypeSelectorValidator]),visualHeaderSelectorValidator:new S.AnyOfValidator([new b.VisualSelectorValidator,new b.VisualTypeSelectorValidator]),visualHeaderSettingsValidator:new O.VisualHeaderSettingsValidator,visualHeaderValidator:new O.VisualHeaderValidator,visualHeadersValidator:new R.ArrayValidator([new O.VisualHeaderValidator]),visualizationsPaneValidator:new h.VisualizationsPaneValidator,visualLayoutValidator:new p.VisualLayoutValidator,visualSelectorValidator:new b.VisualSelectorValidator,visualSettingsValidator:new O.VisualSettingsValidator,visualTypeSelectorValidator:new b.VisualTypeSelectorValidator,zoomLevelValidator:new R.RangeValidator(.25,4)}},function(t,e,r){var i,a=this&&this.__extends||(i=function(t,e){return(i=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])})(t,e)},function(t,e){function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.ActionBarValidator=e.ReportBarsValidator=void 0;var o=r(3),n=r(4),l=r(1),s=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return a(e,t),e.prototype.validate=function(e,r,i){if(null==e)return null;var a=t.prototype.validate.call(this,e,r,i);if(a)return a;var n=[{field:"actionBar",validators:[l.Validators.actionBarValidator]}];return new o.MultipleFieldsValidator(n).validate(e,r,i)},e}(n.ObjectValidator);e.ReportBarsValidator=s;var u=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return a(e,t),e.prototype.validate=function(e,r,i){if(null==e)return null;var a=t.prototype.validate.call(this,e,r,i);if(a)return a;var n=[{field:"visible",validators:[l.Validators.booleanValidator]}];return new o.MultipleFieldsValidator(n).validate(e,r,i)},e}(n.ObjectValidator);e.ActionBarValidator=u},function(t,e){Object.defineProperty(e,"__esModule",{value:!0}),e.MultipleFieldsValidator=void 0;var r=function(){function t(t){this.fieldValidatorsPairs=t}return t.prototype.validate=function(t,e,r){if(!this.fieldValidatorsPairs)return null;for(var i=e?e+"."+r:r,a=0,o=this.fieldValidatorsPairs;athis.maxValue||e0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0?"&":"?";return t+=i+e+"="+r},e.isSavedInternal=function(t,e,a){return r(this,void 0,void 0,(function(){return i(this,(function(r){switch(r.label){case 0:return r.trys.push([0,2,,3]),[4,t.get("/report/hasUnsavedChanges",{uid:e},a)];case 1:return[2,!r.sent().body];case 2:throw r.sent().body;case 3:return[2]}}))}))},e.isRDLEmbed=function(t){return t&&t.toLowerCase().indexOf("/rdlembed?")>=0},e.autoAuthInEmbedUrl=function(t){return t&&decodeURIComponent(t).toLowerCase().indexOf("autoauth=true")>=0},e.getRandomValue=o,e.getTimeDiffInMilliseconds=function(t,e){return Math.abs(t.getTime()-e.getTime())}},function(t,e){Object.defineProperty(e,"__esModule",{value:!0}),e.FilterBuilder=void 0;var r=function(){function t(){}return t.prototype.withTargetObject=function(t){return this.target=t,this},t.prototype.withColumnTarget=function(t,e){return this.target={table:t,column:e},this},t.prototype.withMeasureTarget=function(t,e){return this.target={table:t,measure:e},this},t.prototype.withHierarchyLevelTarget=function(t,e,r){return this.target={table:t,hierarchy:e,hierarchyLevel:r},this},t.prototype.withColumnAggregation=function(t,e,r){return this.target={table:t,column:e,aggregationFunction:r},this},t.prototype.withHierarchyLevelAggregationTarget=function(t,e,r,i){return this.target={table:t,hierarchy:e,hierarchyLevel:r,aggregationFunction:i},this},t}();e.FilterBuilder=r},function(t,e){Object.defineProperty(e,"__esModule",{value:!0}),e.EmbedUrlNotSupported=e.APINotSupportedForRDLError=void 0,e.APINotSupportedForRDLError="This API is currently not supported for RDL reports",e.EmbedUrlNotSupported="Embed URL is invalid for this scenario. Please use Power BI REST APIs to get the valid URL"},function(t,e,r){var i,a=this&&this.__extends||(i=function(t,e){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])})(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}),o=this&&this.__awaiter||function(t,e,r,i){return new(r||(r=Promise))((function(a,o){function n(t){try{s(i.next(t))}catch(t){o(t)}}function l(t){try{s(i.throw(t))}catch(t){o(t)}}function s(t){var e;t.done?a(t.value):(e=t.value,e instanceof r?e:new r((function(t){t(e)}))).then(n,l)}s((i=i.apply(t,e||[])).next())}))},n=this&&this.__generator||function(t,e){var r,i,a,o,n={label:0,sent:function(){if(1&a[0])throw a[1];return a[1]},trys:[],ops:[]};return o={next:l(0),throw:l(1),return:l(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function l(o){return function(l){return function(o){if(r)throw new TypeError("Generator is already executing.");for(;n;)try{if(r=1,i&&(a=2&o[0]?i.return:o[0]?i.throw||((a=i.return)&&a.call(i),0):i.next)&&!(a=a.call(i,o[1])).done)return a;switch(i=0,a&&(o=[2&o[0],a.value]),o[0]){case 0:case 1:a=o;break;case 4:return n.label++,{value:o[1],done:!1};case 5:n.label++,i=o[1],o=[0];continue;case 7:o=n.ops.pop(),n.trys.pop();continue;default:if(!(a=n.trys,(a=a.length>0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]('/report/pages', { uid: this.config.uniqueId }, this.iframe.contentWindow); return response.body - .map((page) => new Page(this, page.name, page.displayName, page.isActive, page.visibility, page.defaultSize, page.defaultDisplayOption, page.mobileSize)); + .map((page) => new Page(this, page.name, page.displayName, page.isActive, page.visibility, page.defaultSize, page.defaultDisplayOption, page.mobileSize, page.background, page.wallpaper)); } catch (response) { throw response.body; } @@ -382,7 +382,9 @@ export class Report extends Embed implements IReportNode, IFilterable { page.visibility, page.defaultSize, page.defaultDisplayOption, - page.mobileSize + page.mobileSize, + page.background, + page.wallpaper, ); } catch (response) { throw response.body; @@ -417,7 +419,9 @@ export class Report extends Embed implements IReportNode, IFilterable { activePage.visibility, activePage.defaultSize, activePage.defaultDisplayOption, - activePage.mobileSize + activePage.mobileSize, + activePage.background, + activePage.wallpaper, ); } catch (response) { throw response.body; From 53608cf13f9888f4cb204929a21959b3789222b5 Mon Sep 17 00:00:00 2001 From: Shahak Yosef Date: Thu, 2 Dec 2021 09:59:01 +0000 Subject: [PATCH 080/125] Merged PR 221263: Fix test results This PR does a few things: 1. Fix broken get theme test 2. Remove noisy unnecessary logs 3. Remove unused headless chrome browser when [kjhtml reporter](https://www.npmjs.com/package/karma-jasmine-html-reporter) is used (using a headless browser for UI debugging doesn't make sense) 4. Fix test failures not leading to Azure DevOps build pipeline failure (align with [official documentation](http://karma-runner.github.io/6.3/dev/public-api.html)) 5. Add JUnit test results reported so that Azure DevOps can report test failures nicely (base don front end implementation) You can see JUnit yourselves by going to the failed build and clicking on the tests tab like you do in the front end or backend but here is a picture ![image.png](https://powerbi.visualstudio.com/4c7b5adb-c2d0-4f18-b23c-edc4ac30f4e1/_apis/git/repositories/1dd63332-e003-46a3-ac6f-70213a1bcc2e/pullRequests/221263/attachments/image.png) --- .pipelines/pipeline.user.windows.yml | 5 ++--- gulpfile.js | 3 ++- karma.conf.js | 13 +++++++++---- package.json | 3 ++- test/SDK-to-HPM.spec.ts | 2 +- test/SDK-to-MockApp.spec.ts | 9 ++++----- test/constsants.ts | 2 -- test/protocol.spec.ts | 6 +++--- test/utility/mockEmbed.ts | 3 +-- 9 files changed, 24 insertions(+), 22 deletions(-) diff --git a/.pipelines/pipeline.user.windows.yml b/.pipelines/pipeline.user.windows.yml index 5ba3f0ae..2178c954 100644 --- a/.pipelines/pipeline.user.windows.yml +++ b/.pipelines/pipeline.user.windows.yml @@ -119,7 +119,6 @@ test: command: '.pipelines\cdpx_run_ps.cmd' testresults: - title: 'powerbi-javascript test results' - type: 'jasmine' - from: 'reports' + type: 'junit' include: - - "**coverage/**/index.html" + - ".\\tmp\\testresults.xml" diff --git a/gulpfile.js b/gulpfile.js index 1c6d1468..e8fe3422 100644 --- a/gulpfile.js +++ b/gulpfile.js @@ -220,8 +220,9 @@ gulp.task('test:js', 'Run js tests', function (done) { configFile: __dirname + '/karma.conf.js', singleRun: argv.watch ? false : true, captureTimeout: argv.timeout || 60000 - }, function () { + }, function (exitStatus) { done(); + process.exit(exitStatus); }) .on('browser_register', (browser) => { if (argv.chrome) { diff --git a/karma.conf.js b/karma.conf.js index d78bd733..d50b4c73 100644 --- a/karma.conf.js +++ b/karma.conf.js @@ -23,7 +23,7 @@ module.exports = function (config) { { pattern: './test/**/*.html', served: true, included: false } ], exclude: [], - reporters: argv.debug ? ['spec', 'kjhtml'] : ['spec', 'coverage', 'kjhtml'], + reporters: argv.chrome ? ['coverage', 'kjhtml'] : ['spec', 'coverage', 'junit'], autoWatch: true, browsers: [browserName], browserNoActivityTimeout: 300000, @@ -34,11 +34,12 @@ module.exports = function (config) { 'karma-spec-reporter', 'karma-phantomjs-launcher', 'karma-coverage', - 'karma-jasmine-html-reporter' + 'karma-jasmine-html-reporter', + 'karma-junit-reporter' ], customLaunchers: { 'Chrome_headless': { - base: argv.debug ? 'Chrome' : 'ChromeHeadless', + base: 'Chrome', flags: flags.concat("--no-sandbox", "--window-size=800,800"), }, }, @@ -49,11 +50,15 @@ module.exports = function (config) { { type: 'text-summary' } ] }, + junitReporter: { + outputDir: 'tmp', + outputFile: 'testresults.xml', + useBrowserName: false + }, retryLimit: 0, logLevel: argv.debug ? config.LOG_DEBUG : config.LOG_INFO, client: { clearContext: false, // leave Jasmine Spec Runner output visible in browser - args: argv.logMessages ? ['logMessages'] : [] } }); }; \ No newline at end of file diff --git a/package.json b/package.json index 5efe67df..ad8cde64 100644 --- a/package.json +++ b/package.json @@ -16,7 +16,7 @@ "prestart": "cd demo && npm install", "test": "gulp test", "gulp": "gulp", - "tests": "npm test -- --chrome --watch --debug" + "tests": "npm test -- --chrome --watch" }, "keywords": [ "microsoft", @@ -68,6 +68,7 @@ "karma-firefox-launcher": "^1.2.0", "karma-jasmine": "4.0.1", "karma-jasmine-html-reporter": "1.7.0", + "karma-junit-reporter": "^2.0.1", "karma-phantomjs-launcher": "^1.0.4", "karma-spec-reporter": "0.0.32", "moment": "^2.14.1", diff --git a/test/SDK-to-HPM.spec.ts b/test/SDK-to-HPM.spec.ts index 591fbd3b..47b2bcd9 100644 --- a/test/SDK-to-HPM.spec.ts +++ b/test/SDK-to-HPM.spec.ts @@ -2072,7 +2072,7 @@ describe('SDK-to-HPM', function () { spyHpm.get.and.returnValue(Promise.resolve(testData.response)); try { await report.getTheme(); - expect(spyHpm.put).toHaveBeenCalledWith('/report/theme', expectedHeaders, jasmine.any(Object)); + expect(spyHpm.get).toHaveBeenCalledWith('/report/theme', expectedHeaders, jasmine.any(Object)); } catch (error) { console.log("getTheme failed with", error); fail("getTheme failed"); diff --git a/test/SDK-to-MockApp.spec.ts b/test/SDK-to-MockApp.spec.ts index 604896ed..2753f656 100644 --- a/test/SDK-to-MockApp.spec.ts +++ b/test/SDK-to-MockApp.spec.ts @@ -11,7 +11,7 @@ import * as models from 'powerbi-models'; import * as factories from '../src/factories'; import * as util from '../src/util'; import { spyApp, setupEmbedMockApp } from './utility/mockEmbed'; -import { logMessages, iframeSrc } from './constsants'; +import { iframeSrc } from './constsants'; describe('SDK-to-MockApp', function () { let element: HTMLDivElement; @@ -29,8 +29,7 @@ describe('SDK-to-MockApp', function () { beforeEach(async function () { powerbi = new service.Service(factories.hpmFactory, factories.wpmpFactory, factories.routerFactory, { - wpmpName: 'SDK-to-MockApp HostWpmp', - logMessages + wpmpName: 'SDK-to-MockApp HostWpmp' }); element = document.createElement('div'); element.id = "reportContainer1"; @@ -49,7 +48,7 @@ describe('SDK-to-MockApp', function () { (powerbi.wpmp).eventSourceOverrideWindow = iframe.contentWindow; // Register Iframe side let hpmPostSpy = spyOn(powerbi.hpm, "post").and.returnValue(Promise.resolve({})); - iframeHpm = setupEmbedMockApp(iframe.contentWindow, window, logMessages, 'SDK-to-MockApp IframeWpmp'); + iframeHpm = setupEmbedMockApp(iframe.contentWindow, window, 'SDK-to-MockApp IframeWpmp'); await new Promise((resolve, _reject) => { iframe.addEventListener('load', () => { @@ -542,7 +541,7 @@ describe('SDK-to-MockApp', function () { document.body.appendChild(element2); const report2 = powerbi.embed(element2, embedConfiguration); const iframe2 = element2.getElementsByTagName('iframe')[0]; - setupEmbedMockApp(iframe2.contentWindow, window, logMessages, 'SDK-to-MockApp IframeWpmp2'); + setupEmbedMockApp(iframe2.contentWindow, window, 'SDK-to-MockApp IframeWpmp2'); await new Promise((resolve, _reject) => { iframe2.addEventListener('load', () => { resolve(null); diff --git a/test/constsants.ts b/test/constsants.ts index f944a5ea..8102d64d 100644 --- a/test/constsants.ts +++ b/test/constsants.ts @@ -7,8 +7,6 @@ declare global { } } -export const logMessages = (window.__karma__.config.args[0] === 'logMessages'); - export const iframeSrc = "base/test/utility/noop.html"; window.onbeforeunload = null; diff --git a/test/protocol.spec.ts b/test/protocol.spec.ts index 9bf8e476..65bb72d8 100644 --- a/test/protocol.spec.ts +++ b/test/protocol.spec.ts @@ -4,7 +4,7 @@ import { WindowPostMessageProxy } from 'window-post-message-proxy'; import { HttpPostMessage } from 'http-post-message'; import { spyApp, setupEmbedMockApp } from './utility/mockEmbed'; import { hpmFactory, routerFactory, wpmpFactory } from '../src/factories'; -import { iframeSrc, logMessages } from './constsants'; +import { iframeSrc } from './constsants'; import * as models from 'powerbi-models'; describe('Protocol', function () { @@ -27,10 +27,10 @@ describe('Protocol', function () { await new Promise(resolve => iframe.addEventListener('load', () => resolve(null))); // Register Iframe side - iframeHpm = setupEmbedMockApp(iframe.contentWindow, window, logMessages, 'ProtocolMockAppWpmp'); + iframeHpm = setupEmbedMockApp(iframe.contentWindow, window, 'ProtocolMockAppWpmp'); // Register SDK side WPMP - wpmp = wpmpFactory('HostProxyDefaultNoHandlers', logMessages, iframe.contentWindow); + wpmp = wpmpFactory('HostProxyDefaultNoHandlers',false, iframe.contentWindow); hpm = hpmFactory(wpmp, iframe.contentWindow, 'testVersion'); const router = routerFactory(wpmp); diff --git a/test/utility/mockEmbed.ts b/test/utility/mockEmbed.ts index 737a6e62..4d2773c8 100644 --- a/test/utility/mockEmbed.ts +++ b/test/utility/mockEmbed.ts @@ -9,7 +9,7 @@ import * as models from 'powerbi-models'; export const spyApp = mockAppSpyObj; -export function setupEmbedMockApp(iframeContentWindow: Window, parentWindow: Window, logMessages: boolean, name: string = 'MockAppWindowPostMessageProxy'): HttpPostMessage { +export function setupEmbedMockApp(iframeContentWindow: Window, parentWindow: Window, name: string = 'MockAppWindowPostMessageProxy'): HttpPostMessage { const parent = parentWindow || iframeContentWindow.parent; const wpmp = new WindowPostMessageProxy({ processTrackingProperties: { @@ -19,7 +19,6 @@ export function setupEmbedMockApp(iframeContentWindow: Window, parentWindow: Win isErrorMessage: HttpPostMessage.isErrorMessage, receiveWindow: iframeContentWindow, name, - logMessages }); const hpm = new HttpPostMessage(wpmp, { 'origin': 'reportEmbedMock', From 161f74255238bf357bb3bc3b03c61691277b3a74 Mon Sep 17 00:00:00 2001 From: Andriy Malish Date: Sun, 26 Dec 2021 15:03:05 +0000 Subject: [PATCH 081/125] Merged PR 225861: [Storytelling] - #619441 - modify window.powerbi object, avoid name collision Modify window.powerbi object, in order to avoid name collision Related work items: #619441 --- dist/powerbi-client.d.ts | 1 + dist/powerbi.js | 193 +++++++++++++++++++++------------------ dist/powerbi.min.js | 2 +- src/powerbi-client.ts | 9 +- 4 files changed, 112 insertions(+), 93 deletions(-) diff --git a/dist/powerbi-client.d.ts b/dist/powerbi-client.d.ts index adfe29cf..9df5d7a2 100644 --- a/dist/powerbi-client.d.ts +++ b/dist/powerbi-client.d.ts @@ -2771,6 +2771,7 @@ declare module "powerbi-client" { global { interface Window { powerbi: service.Service; + powerBISDKGlobalServiceInstanceName?: string; } } } diff --git a/dist/powerbi.js b/dist/powerbi.js index 01fdc4be..6e486539 100644 --- a/dist/powerbi.js +++ b/dist/powerbi.js @@ -6987,7 +6987,7 @@ var BookmarksManager = /** @class */ (function () { return __generator(this, function (_a) { switch (_a.label) { case 0: - if (util_1.isRDLEmbed(this.config.embedUrl)) { + if ((0, util_1.isRDLEmbed)(this.config.embedUrl)) { return [2 /*return*/, Promise.reject(errors_1.APINotSupportedForRDLError)]; } _a.label = 1; @@ -7021,7 +7021,7 @@ var BookmarksManager = /** @class */ (function () { return __generator(this, function (_a) { switch (_a.label) { case 0: - if (util_1.isRDLEmbed(this.config.embedUrl)) { + if ((0, util_1.isRDLEmbed)(this.config.embedUrl)) { return [2 /*return*/, Promise.reject(errors_1.APINotSupportedForRDLError)]; } request = { @@ -7057,7 +7057,7 @@ var BookmarksManager = /** @class */ (function () { return __generator(this, function (_a) { switch (_a.label) { case 0: - if (util_1.isRDLEmbed(this.config.embedUrl)) { + if ((0, util_1.isRDLEmbed)(this.config.embedUrl)) { return [2 /*return*/, Promise.reject(errors_1.APINotSupportedForRDLError)]; } playBookmarkRequest = { @@ -7092,7 +7092,7 @@ var BookmarksManager = /** @class */ (function () { return __generator(this, function (_a) { switch (_a.label) { case 0: - if (util_1.isRDLEmbed(this.config.embedUrl)) { + if ((0, util_1.isRDLEmbed)(this.config.embedUrl)) { return [2 /*return*/, Promise.reject(errors_1.APINotSupportedForRDLError)]; } request = { @@ -7129,7 +7129,7 @@ var BookmarksManager = /** @class */ (function () { return __generator(this, function (_a) { switch (_a.label) { case 0: - if (util_1.isRDLEmbed(this.config.embedUrl)) { + if ((0, util_1.isRDLEmbed)(this.config.embedUrl)) { return [2 /*return*/, Promise.reject(errors_1.APINotSupportedForRDLError)]; } request = { @@ -7271,7 +7271,7 @@ var Create = /** @class */ (function (_super) { * Validate create report configuration. */ Create.prototype.validate = function (config) { - return powerbi_models_1.validateCreateReport(config); + return (0, powerbi_models_1.validateCreateReport)(config); }; /** * Handle config changes. @@ -7427,7 +7427,7 @@ var Dashboard = /** @class */ (function (_super) { var config = this.config; var dashboardId = config.id || this.element.getAttribute(Dashboard.dashboardIdAttribute) || Dashboard.findIdFromEmbedUrl(config.embedUrl); if (typeof dashboardId !== 'string' || dashboardId.length === 0) { - throw new Error("Dashboard id is required, but it was not found. You must provide an id either as part of embed configuration or as attribute '" + Dashboard.dashboardIdAttribute + "'."); + throw new Error("Dashboard id is required, but it was not found. You must provide an id either as part of embed configuration or as attribute '".concat(Dashboard.dashboardIdAttribute, "'.")); } return dashboardId; }; @@ -7438,7 +7438,7 @@ var Dashboard = /** @class */ (function (_super) { */ Dashboard.prototype.validate = function (baseConfig) { var config = baseConfig; - var error = powerbi_models_1.validateDashboardLoad(config); + var error = (0, powerbi_models_1.validateDashboardLoad)(config); return error ? error : this.validatePageView(config.pageView); }; /** @@ -7560,7 +7560,7 @@ var Embed = /** @class */ (function () { function Embed(service, element, config, iframe, phasedRender, isBootstrap) { /** @hidden */ this.allowedEvents = []; - if (util_1.autoAuthInEmbedUrl(config.embedUrl)) { + if ((0, util_1.autoAuthInEmbedUrl)(config.embedUrl)) { throw new Error(errors_1.EmbedUrlNotSupported); } Array.prototype.push.apply(this.allowedEvents, Embed.allowedEvents); @@ -7746,7 +7746,7 @@ var Embed = /** @class */ (function () { sdkVersion: sdkConfig.default.version }; timeNow = new Date(); - if (this.lastLoadRequest && util_1.getTimeDiffInMilliseconds(this.lastLoadRequest, timeNow) < 100) { + if (this.lastLoadRequest && (0, util_1.getTimeDiffInMilliseconds)(this.lastLoadRequest, timeNow) < 100) { console.debug("Power BI SDK sent more than two /report/load requests in the last 100ms interval."); return [2 /*return*/]; } @@ -7791,7 +7791,7 @@ var Embed = /** @class */ (function () { var _this = this; var fakeEvent = { name: eventName, type: null, id: null, value: null }; if (handler) { - util_1.remove(function (eventHandler) { return eventHandler.test(fakeEvent) && (eventHandler.handle === handler); }, this.eventHandlers); + (0, util_1.remove)(function (eventHandler) { return eventHandler.test(fakeEvent) && (eventHandler.handle === handler); }, this.eventHandlers); this.element.removeEventListener(eventName, handler); } else { @@ -7799,7 +7799,7 @@ var Embed = /** @class */ (function () { .filter(function (eventHandler) { return eventHandler.test(fakeEvent); }); eventHandlersToRemove .forEach(function (eventHandlerToRemove) { - util_1.remove(function (eventHandler) { return eventHandler === eventHandlerToRemove; }, _this.eventHandlers); + (0, util_1.remove)(function (eventHandler) { return eventHandler === eventHandlerToRemove; }, _this.eventHandlers); _this.element.removeEventListener(eventName, eventHandlerToRemove.handle); }); } @@ -7819,7 +7819,7 @@ var Embed = /** @class */ (function () { */ Embed.prototype.on = function (eventName, handler) { if (this.allowedEvents.indexOf(eventName) === -1) { - throw new Error("eventName must be one of " + this.allowedEvents + ". You passed: " + eventName); + throw new Error("eventName must be one of ".concat(this.allowedEvents, ". You passed: ").concat(eventName)); } this.eventHandlers.push({ test: function (event) { return event.name === eventName; }, @@ -7890,7 +7890,7 @@ var Embed = /** @class */ (function () { Embed.prototype.getAccessToken = function (globalAccessToken) { var accessToken = this.config.accessToken || this.element.getAttribute(Embed.accessTokenAttribute) || globalAccessToken; if (!accessToken) { - throw new Error("No access token was found for element. You must specify an access token directly on the element using attribute '" + Embed.accessTokenAttribute + "' or specify a global token at: powerbi.accessToken."); + throw new Error("No access token was found for element. You must specify an access token directly on the element using attribute '".concat(Embed.accessTokenAttribute, "' or specify a global token at: powerbi.accessToken.")); } return accessToken; }; @@ -7905,14 +7905,14 @@ var Embed = /** @class */ (function () { var _this = this; var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k; if (this.bootstrapConfig) { - this.config = util_1.assign({}, this.bootstrapConfig, config); + this.config = (0, util_1.assign)({}, this.bootstrapConfig, config); // reset bootstrapConfig because we do not want to merge it in re-embed scenario. this.bootstrapConfig = null; } else { // Copy config - important for multiple iframe scenario. // Otherwise, if a user uses the same config twice, same unique Id which will be used in different iframes. - this.config = util_1.assign({}, config); + this.config = (0, util_1.assign)({}, config); } this.config.embedUrl = this.getEmbedUrl(isBootstrap); this.config.groupId = this.getGroupId(); @@ -7941,7 +7941,7 @@ var Embed = /** @class */ (function () { var registerQueryCallback = !!((_k = this.config.eventHooks) === null || _k === void 0 ? void 0 : _k.applicationContextProvider); delete this.config.eventHooks; if (registerQueryCallback && this.embedtype === "report") - this.config.embedUrl = util_1.addParamToUrl(this.config.embedUrl, "registerQueryCallback", "true"); + this.config.embedUrl = (0, util_1.addParamToUrl)(this.config.embedUrl, "registerQueryCallback", "true"); this.configChanged(isBootstrap); }; /** @@ -7957,10 +7957,10 @@ var Embed = /** @class */ (function () { } var localeSettings = config.settings.localeSettings; if (localeSettings && localeSettings.language) { - this.config.embedUrl = util_1.addParamToUrl(this.config.embedUrl, 'language', localeSettings.language); + this.config.embedUrl = (0, util_1.addParamToUrl)(this.config.embedUrl, 'language', localeSettings.language); } if (localeSettings && localeSettings.formatLocale) { - this.config.embedUrl = util_1.addParamToUrl(this.config.embedUrl, 'formatLocale', localeSettings.formatLocale); + this.config.embedUrl = (0, util_1.addParamToUrl)(this.config.embedUrl, 'formatLocale', localeSettings.formatLocale); } }; /** @@ -7977,7 +7977,7 @@ var Embed = /** @class */ (function () { embedUrl = this.getDefaultEmbedUrl(this.config.hostname); } if (typeof embedUrl !== 'string' || embedUrl.length === 0) { - throw new Error("Embed Url is required, but it was not found. You must provide an embed url either as part of embed configuration or as attribute '" + Embed.embedUrlAttribute + "'."); + throw new Error("Embed Url is required, but it was not found. You must provide an embed url either as part of embed configuration or as attribute '".concat(Embed.embedUrlAttribute, "'.")); } return embedUrl; }; @@ -7995,9 +7995,9 @@ var Embed = /** @class */ (function () { throw new Error("HTTP is not allowed. HTTPS is required"); } if (hostname.indexOf("https://") === 0) { - return hostname + "/" + endpoint; + return "".concat(hostname, "/").concat(endpoint); } - return "https://" + hostname + "/" + endpoint; + return "https://".concat(hostname, "/").concat(endpoint); }; /** * Gets a unique ID from the first available location: options, attribute. @@ -8008,7 +8008,7 @@ var Embed = /** @class */ (function () { * @hidden */ Embed.prototype.getUniqueId = function () { - return this.config.uniqueId || this.element.getAttribute(Embed.nameAttribute) || util_1.createRandomString(); + return this.config.uniqueId || this.element.getAttribute(Embed.nameAttribute) || (0, util_1.createRandomString)(); }; /** * Gets the group ID from the first available location: options, embeddedUrl. @@ -8059,7 +8059,7 @@ var Embed = /** @class */ (function () { var _this = this; if (!this.iframe) { var iframeContent = document.createElement("iframe"); - var embedUrl = this.config.uniqueId ? util_1.addParamToUrl(this.config.embedUrl, 'uid', this.config.uniqueId) : this.config.embedUrl; + var embedUrl = this.config.uniqueId ? (0, util_1.addParamToUrl)(this.config.embedUrl, 'uid', this.config.uniqueId) : this.config.embedUrl; iframeContent.style.width = '100%'; iframeContent.style.height = '100%'; iframeContent.setAttribute("src", embedUrl); @@ -8369,7 +8369,7 @@ var Page = /** @class */ (function () { switch (_a.label) { case 0: _a.trys.push([0, 2, , 3]); - return [4 /*yield*/, this.report.service.hpm.get("/report/pages/" + this.name + "/filters", { uid: this.report.config.uniqueId }, this.report.iframe.contentWindow)]; + return [4 /*yield*/, this.report.service.hpm.get("/report/pages/".concat(this.name, "/filters"), { uid: this.report.config.uniqueId }, this.report.iframe.contentWindow)]; case 1: response = _a.sent(); return [2 /*return*/, response.body]; @@ -8405,7 +8405,7 @@ var Page = /** @class */ (function () { _a.label = 1; case 1: _a.trys.push([1, 3, , 4]); - return [4 /*yield*/, this.report.service.hpm.post("/report/pages/" + this.name + "/filters", updateFiltersRequest, { uid: this.report.config.uniqueId }, this.report.iframe.contentWindow)]; + return [4 /*yield*/, this.report.service.hpm.post("/report/pages/".concat(this.name, "/filters"), updateFiltersRequest, { uid: this.report.config.uniqueId }, this.report.iframe.contentWindow)]; case 2: return [2 /*return*/, _a.sent()]; case 3: response_2 = _a.sent(); @@ -8452,7 +8452,7 @@ var Page = /** @class */ (function () { switch (_a.label) { case 0: _a.trys.push([0, 2, , 3]); - return [4 /*yield*/, this.report.service.hpm.put("/report/pages/" + this.name + "/filters", filters, { uid: this.report.config.uniqueId }, this.report.iframe.contentWindow)]; + return [4 /*yield*/, this.report.service.hpm.put("/report/pages/".concat(this.name, "/filters"), filters, { uid: this.report.config.uniqueId }, this.report.iframe.contentWindow)]; case 1: return [2 /*return*/, _a.sent()]; case 2: response_3 = _a.sent(); @@ -8479,7 +8479,7 @@ var Page = /** @class */ (function () { switch (_a.label) { case 0: _a.trys.push([0, 2, , 3]); - return [4 /*yield*/, this.report.service.hpm.delete("/report/pages/" + this.name, {}, { uid: this.report.config.uniqueId }, this.report.iframe.contentWindow)]; + return [4 /*yield*/, this.report.service.hpm.delete("/report/pages/".concat(this.name), {}, { uid: this.report.config.uniqueId }, this.report.iframe.contentWindow)]; case 1: response = _a.sent(); return [2 /*return*/, response.body]; @@ -8546,7 +8546,7 @@ var Page = /** @class */ (function () { _a.label = 1; case 1: _a.trys.push([1, 3, , 4]); - return [4 /*yield*/, this.report.service.hpm.put("/report/pages/" + this.name + "/name", page, { uid: this.report.config.uniqueId }, this.report.iframe.contentWindow)]; + return [4 /*yield*/, this.report.service.hpm.put("/report/pages/".concat(this.name, "/name"), page, { uid: this.report.config.uniqueId }, this.report.iframe.contentWindow)]; case 2: return [2 /*return*/, _a.sent()]; case 3: response_6 = _a.sent(); @@ -8573,13 +8573,13 @@ var Page = /** @class */ (function () { return __generator(this, function (_a) { switch (_a.label) { case 0: - if (util_1.isRDLEmbed(this.report.config.embedUrl)) { + if ((0, util_1.isRDLEmbed)(this.report.config.embedUrl)) { return [2 /*return*/, Promise.reject(errors_1.APINotSupportedForRDLError)]; } _a.label = 1; case 1: _a.trys.push([1, 3, , 4]); - return [4 /*yield*/, this.report.service.hpm.get("/report/pages/" + this.name + "/visuals", { uid: this.report.config.uniqueId }, this.report.iframe.contentWindow)]; + return [4 /*yield*/, this.report.service.hpm.get("/report/pages/".concat(this.name, "/visuals"), { uid: this.report.config.uniqueId }, this.report.iframe.contentWindow)]; case 2: response = _a.sent(); return [2 /*return*/, response.body @@ -8611,13 +8611,13 @@ var Page = /** @class */ (function () { return __generator(this, function (_a) { switch (_a.label) { case 0: - if (util_1.isRDLEmbed(this.report.config.embedUrl)) { + if ((0, util_1.isRDLEmbed)(this.report.config.embedUrl)) { return [2 /*return*/, Promise.reject(errors_1.APINotSupportedForRDLError)]; } _a.label = 1; case 1: _a.trys.push([1, 3, , 4]); - return [4 /*yield*/, this.report.service.hpm.get("/report/pages/" + this.name + "/visuals", { uid: this.report.config.uniqueId }, this.report.iframe.contentWindow)]; + return [4 /*yield*/, this.report.service.hpm.get("/report/pages/".concat(this.name, "/visuals"), { uid: this.report.config.uniqueId }, this.report.iframe.contentWindow)]; case 2: response = _a.sent(); visual = response.body.find(function (v) { return v.name === visualName; }); @@ -8746,13 +8746,13 @@ var Page = /** @class */ (function () { return __generator(this, function (_a) { switch (_a.label) { case 0: - if (util_1.isRDLEmbed(this.report.config.embedUrl)) { + if ((0, util_1.isRDLEmbed)(this.report.config.embedUrl)) { return [2 /*return*/, Promise.reject(errors_1.APINotSupportedForRDLError)]; } _a.label = 1; case 1: _a.trys.push([1, 3, , 4]); - return [4 /*yield*/, this.report.service.hpm.get("/report/pages/" + this.name + "/visuals", { uid: this.report.config.uniqueId }, this.report.iframe.contentWindow)]; + return [4 /*yield*/, this.report.service.hpm.get("/report/pages/".concat(this.name, "/visuals"), { uid: this.report.config.uniqueId }, this.report.iframe.contentWindow)]; case 2: response = _a.sent(); return [2 /*return*/, response.body @@ -8782,14 +8782,14 @@ var Page = /** @class */ (function () { return __generator(this, function (_a) { switch (_a.label) { case 0: - if (util_1.isRDLEmbed(this.report.config.embedUrl)) { + if ((0, util_1.isRDLEmbed)(this.report.config.embedUrl)) { return [2 /*return*/, Promise.reject(errors_1.APINotSupportedForRDLError)]; } layoutTypeEnum = powerbi_models_1.LayoutType[layoutType]; _a.label = 1; case 1: _a.trys.push([1, 3, , 4]); - return [4 /*yield*/, this.report.service.hpm.get("/report/pages/" + this.name + "/layoutTypes/" + layoutTypeEnum, { uid: this.report.config.uniqueId }, this.report.iframe.contentWindow)]; + return [4 /*yield*/, this.report.service.hpm.get("/report/pages/".concat(this.name, "/layoutTypes/").concat(layoutTypeEnum), { uid: this.report.config.uniqueId }, this.report.iframe.contentWindow)]; case 2: response = _a.sent(); return [2 /*return*/, response.body]; @@ -8856,7 +8856,14 @@ Object.defineProperty(exports, "RelativeTimeFilterBuilder", { enumerable: true, * Note: create an instance of the class with the default configuration for normal usage, or save the class so that you can create an instance of the service. */ var powerbi = new service.Service(factories.hpmFactory, factories.wpmpFactory, factories.routerFactory); -window.powerbi = powerbi; +// powerBI SDK may use Power BI object under different key, in order to avoid name collisions +if (window.powerbi && window.powerBISDKGlobalServiceInstanceName) { + window[window.powerBISDKGlobalServiceInstanceName] = powerbi; +} +else { + // Default to Power BI. + window.powerbi = powerbi; +} /***/ }), @@ -8999,7 +9006,7 @@ var Qna = /** @class */ (function (_super) { * Validate load configuration. */ Qna.prototype.validate = function (config) { - return powerbi_models_1.validateLoadQnaConfiguration(config); + return (0, powerbi_models_1.validateLoadQnaConfiguration)(config); }; /** @hidden */ Qna.type = "Qna"; @@ -9072,10 +9079,14 @@ var __generator = (this && this.__generator) || function (thisArg, body) { if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true }; } }; -var __spreadArray = (this && this.__spreadArray) || function (to, from) { - for (var i = 0, il = from.length, j = to.length; i < il; i++, j++) - to[j] = from[i]; - return to; +var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) { + if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) { + if (ar || !(i in from)) { + if (!ar) ar = Array.prototype.slice.call(from, 0, i); + ar[i] = from[i]; + } + } + return to.concat(ar || Array.prototype.slice.call(from)); }; Object.defineProperty(exports, "__esModule", { value: true }); exports.Report = void 0; @@ -9220,7 +9231,7 @@ var Report = /** @class */ (function (_super) { switch (_a.label) { case 0: _a.trys.push([0, 2, , 3]); - return [4 /*yield*/, this.service.hpm.delete("/report/pages/" + pageName, {}, { uid: this.config.uniqueId }, this.iframe.contentWindow)]; + return [4 /*yield*/, this.service.hpm.delete("/report/pages/".concat(pageName), {}, { uid: this.config.uniqueId }, this.iframe.contentWindow)]; case 1: response = _a.sent(); return [2 /*return*/, response.body]; @@ -9255,7 +9266,7 @@ var Report = /** @class */ (function (_super) { _a.label = 1; case 1: _a.trys.push([1, 3, , 4]); - return [4 /*yield*/, this.service.hpm.put("/report/pages/" + pageName + "/name", page, { uid: this.config.uniqueId }, this.iframe.contentWindow)]; + return [4 /*yield*/, this.service.hpm.put("/report/pages/".concat(pageName, "/name"), page, { uid: this.config.uniqueId }, this.iframe.contentWindow)]; case 2: response = _a.sent(); return [2 /*return*/, response.body]; @@ -9286,7 +9297,7 @@ var Report = /** @class */ (function (_super) { return __generator(this, function (_a) { switch (_a.label) { case 0: - if (util_1.isRDLEmbed(this.config.embedUrl)) { + if ((0, util_1.isRDLEmbed)(this.config.embedUrl)) { return [2 /*return*/, Promise.reject(errors_1.APINotSupportedForRDLError)]; } _a.label = 1; @@ -9350,7 +9361,7 @@ var Report = /** @class */ (function (_super) { Report.prototype.removeFilters = function () { return __awaiter(this, void 0, void 0, function () { return __generator(this, function (_a) { - if (util_1.isRDLEmbed(this.config.embedUrl)) { + if ((0, util_1.isRDLEmbed)(this.config.embedUrl)) { return [2 /*return*/, Promise.reject(errors_1.APINotSupportedForRDLError)]; } return [2 /*return*/, this.updateFilters(powerbi_models_1.FiltersOperations.RemoveAll)]; @@ -9380,7 +9391,7 @@ var Report = /** @class */ (function (_super) { return __generator(this, function (_a) { switch (_a.label) { case 0: - if (util_1.isRDLEmbed(this.config.embedUrl)) { + if ((0, util_1.isRDLEmbed)(this.config.embedUrl)) { return [2 /*return*/, Promise.reject(errors_1.APINotSupportedForRDLError)]; } _a.label = 1; @@ -9405,7 +9416,7 @@ var Report = /** @class */ (function (_super) { var config = this.config; var reportId = config.id || this.element.getAttribute(Report.reportIdAttribute) || Report.findIdFromEmbedUrl(config.embedUrl); if (typeof reportId !== 'string' || reportId.length === 0) { - throw new Error("Report id is required, but it was not found. You must provide an id either as part of embed configuration or as attribute '" + Report.reportIdAttribute + "'."); + throw new Error("Report id is required, but it was not found. You must provide an id either as part of embed configuration or as attribute '".concat(Report.reportIdAttribute, "'.")); } return reportId; }; @@ -9428,7 +9439,7 @@ var Report = /** @class */ (function (_super) { return __generator(this, function (_a) { switch (_a.label) { case 0: - if (util_1.isRDLEmbed(this.config.embedUrl)) { + if ((0, util_1.isRDLEmbed)(this.config.embedUrl)) { return [2 /*return*/, Promise.reject(errors_1.APINotSupportedForRDLError)]; } _a.label = 1; @@ -9466,7 +9477,7 @@ var Report = /** @class */ (function (_super) { return __generator(this, function (_a) { switch (_a.label) { case 0: - if (util_1.isRDLEmbed(this.config.embedUrl)) { + if ((0, util_1.isRDLEmbed)(this.config.embedUrl)) { return [2 /*return*/, Promise.reject(errors_1.APINotSupportedForRDLError)]; } _a.label = 1; @@ -9506,7 +9517,7 @@ var Report = /** @class */ (function (_super) { return __generator(this, function (_a) { switch (_a.label) { case 0: - if (util_1.isRDLEmbed(this.config.embedUrl)) { + if ((0, util_1.isRDLEmbed)(this.config.embedUrl)) { return [2 /*return*/, Promise.reject(errors_1.APINotSupportedForRDLError)]; } _a.label = 1; @@ -9552,7 +9563,7 @@ var Report = /** @class */ (function (_super) { return __generator(this, function (_a) { switch (_a.label) { case 0: - if (util_1.isRDLEmbed(this.config.embedUrl)) { + if ((0, util_1.isRDLEmbed)(this.config.embedUrl)) { return [2 /*return*/, Promise.reject(errors_1.APINotSupportedForRDLError)]; } _a.label = 1; @@ -9587,7 +9598,7 @@ var Report = /** @class */ (function (_super) { return __generator(this, function (_a) { switch (_a.label) { case 0: - if (util_1.isRDLEmbed(this.config.embedUrl)) { + if ((0, util_1.isRDLEmbed)(this.config.embedUrl)) { return [2 /*return*/, Promise.reject(errors_1.APINotSupportedForRDLError)]; } page = { @@ -9635,7 +9646,7 @@ var Report = /** @class */ (function (_super) { return __generator(this, function (_c) { switch (_c.label) { case 0: - if (util_1.isRDLEmbed(this.config.embedUrl) && settings.customLayout != null) { + if ((0, util_1.isRDLEmbed)(this.config.embedUrl) && settings.customLayout != null) { return [2 /*return*/, Promise.reject(errors_1.APINotSupportedForRDLError)]; } _c.label = 1; @@ -9669,10 +9680,10 @@ var Report = /** @class */ (function (_super) { * @hidden */ Report.prototype.validate = function (config) { - if (util_1.isRDLEmbed(this.config.embedUrl)) { - return powerbi_models_1.validatePaginatedReportLoad(config); + if ((0, util_1.isRDLEmbed)(this.config.embedUrl)) { + return (0, powerbi_models_1.validatePaginatedReportLoad)(config); } - return powerbi_models_1.validateReportLoad(config); + return (0, powerbi_models_1.validateReportLoad)(config); }; /** * Handle config changes. @@ -9682,7 +9693,7 @@ var Report = /** @class */ (function (_super) { Report.prototype.configChanged = function (isBootstrap) { var config = this.config; if (this.isMobileSettings(config.settings)) { - config.embedUrl = util_1.addParamToUrl(config.embedUrl, "isMobile", "true"); + config.embedUrl = (0, util_1.addParamToUrl)(config.embedUrl, "isMobile", "true"); } // Calculate settings from HTML element attributes if available. var filterPaneEnabledAttribute = this.element.getAttribute(Report.filterPaneEnabledAttribute); @@ -9692,7 +9703,7 @@ var Report = /** @class */ (function (_super) { navContentPaneEnabled: (navContentPaneEnabledAttribute == null) ? undefined : (navContentPaneEnabledAttribute !== "false") }; // Set the settings back into the config. - this.config.settings = util_1.assign({}, elementAttrSettings, config.settings); + this.config.settings = (0, util_1.assign)({}, elementAttrSettings, config.settings); if (isBootstrap) { return; } @@ -9778,10 +9789,10 @@ var Report = /** @class */ (function (_super) { return __generator(this, function (_a) { switch (_a.label) { case 0: - if (util_1.isRDLEmbed(this.config.embedUrl)) { + if ((0, util_1.isRDLEmbed)(this.config.embedUrl)) { return [2 /*return*/, Promise.reject(errors_1.APINotSupportedForRDLError)]; } - return [4 /*yield*/, util_1.isSavedInternal(this.service.hpm, this.config.uniqueId, this.iframe.contentWindow)]; + return [4 /*yield*/, (0, util_1.isSavedInternal)(this.service.hpm, this.config.uniqueId, this.iframe.contentWindow)]; case 1: return [2 /*return*/, _a.sent()]; } }); @@ -9799,7 +9810,7 @@ var Report = /** @class */ (function (_super) { return __generator(this, function (_a) { switch (_a.label) { case 0: - if (util_1.isRDLEmbed(this.config.embedUrl)) { + if ((0, util_1.isRDLEmbed)(this.config.embedUrl)) { return [2 /*return*/, Promise.reject(errors_1.APINotSupportedForRDLError)]; } return [4 /*yield*/, this.applyThemeInternal(theme)]; @@ -9820,7 +9831,7 @@ var Report = /** @class */ (function (_super) { return __generator(this, function (_a) { switch (_a.label) { case 0: - if (util_1.isRDLEmbed(this.config.embedUrl)) { + if ((0, util_1.isRDLEmbed)(this.config.embedUrl)) { return [2 /*return*/, Promise.reject(errors_1.APINotSupportedForRDLError)]; } return [4 /*yield*/, this.applyThemeInternal({})]; @@ -9842,7 +9853,7 @@ var Report = /** @class */ (function (_super) { return __generator(this, function (_a) { switch (_a.label) { case 0: - if (util_1.isRDLEmbed(this.config.embedUrl)) { + if ((0, util_1.isRDLEmbed)(this.config.embedUrl)) { return [2 /*return*/, Promise.reject(errors_1.APINotSupportedForRDLError)]; } _a.label = 1; @@ -9957,7 +9968,7 @@ var Report = /** @class */ (function (_super) { return __generator(this, function (_a) { switch (_a.label) { case 0: - if (util_1.isRDLEmbed(this.config.embedUrl)) { + if ((0, util_1.isRDLEmbed)(this.config.embedUrl)) { return [2 /*return*/, Promise.reject(errors_1.APINotSupportedForRDLError)]; } commandCopy = JSON.parse(JSON.stringify(this.commands)); @@ -10008,7 +10019,7 @@ var Report = /** @class */ (function (_super) { return __generator(this, function (_a) { switch (_a.label) { case 0: - if (util_1.isRDLEmbed(this.config.embedUrl)) { + if ((0, util_1.isRDLEmbed)(this.config.embedUrl)) { return [2 /*return*/, Promise.reject(errors_1.APINotSupportedForRDLError)]; } newCommands = this.createMenuCommand("visualContextMenu", commandName, commandTitle, contextMenuTitle, menuLocation, visualName, visualType, groupName); @@ -10044,7 +10055,7 @@ var Report = /** @class */ (function (_super) { return __generator(this, function (_a) { switch (_a.label) { case 0: - if (util_1.isRDLEmbed(this.config.embedUrl)) { + if ((0, util_1.isRDLEmbed)(this.config.embedUrl)) { return [2 /*return*/, Promise.reject(errors_1.APINotSupportedForRDLError)]; } commandCopy = JSON.parse(JSON.stringify(this.commands)); @@ -10099,7 +10110,7 @@ var Report = /** @class */ (function (_super) { return __generator(this, function (_a) { switch (_a.label) { case 0: - if (util_1.isRDLEmbed(this.config.embedUrl)) { + if ((0, util_1.isRDLEmbed)(this.config.embedUrl)) { return [2 /*return*/, Promise.reject(errors_1.APINotSupportedForRDLError)]; } newCommands = this.createMenuCommand("visualOptionsMenu", commandName, commandTitle, optionsMenuTitle, menuLocation, visualName, visualType, groupName, commandIcon); @@ -10322,7 +10333,7 @@ var Report = /** @class */ (function (_super) { visualType: visualType }; } - return __spreadArray(__spreadArray([], this.commands), [newCommandObj]); + return __spreadArray(__spreadArray([], this.commands, true), [newCommandObj], false); }; /** * @hidden @@ -10657,7 +10668,7 @@ var Service = /** @class */ (function () { var _this = this; if (config === void 0) { config = undefined; } container = (container && container instanceof HTMLElement) ? container : document.body; - var elements = Array.prototype.slice.call(container.querySelectorAll("[" + embed_1.Embed.embedUrlAttribute + "]")); + var elements = Array.prototype.slice.call(container.querySelectorAll("[".concat(embed_1.Embed.embedUrlAttribute, "]"))); return elements.map(function (element) { return _this.embed(element, config); }); }; /** @@ -10706,7 +10717,7 @@ var Service = /** @class */ (function () { var powerBiElement = element; if (powerBiElement.powerBiEmbed) { if (isBootstrap) { - throw new Error("Attempted to bootstrap element " + element.outerHTML + ", but the element is already a powerbi element."); + throw new Error("Attempted to bootstrap element ".concat(element.outerHTML, ", but the element is already a powerbi element.")); } component = this.embedExisting(powerBiElement, config, phasedRender); } @@ -10738,13 +10749,13 @@ var Service = /** @class */ (function () { Service.prototype.embedNew = function (element, config, phasedRender, isBootstrap) { var componentType = config.type || element.getAttribute(embed_1.Embed.typeAttribute); if (!componentType) { - throw new Error("Attempted to embed using config " + JSON.stringify(config) + " on element " + element.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 '" + embed_1.Embed.typeAttribute + "=\"" + report_1.Report.type.toLowerCase() + "\"'."); + throw new Error("Attempted to embed using config ".concat(JSON.stringify(config), " on element ").concat(element.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 '").concat(embed_1.Embed.typeAttribute, "=\"").concat(report_1.Report.type.toLowerCase(), "\"'.")); } // Saves the type as part of the configuration so that it can be referenced later at a known location. config.type = componentType; var Component = utils.find(function (embedComponent) { return componentType === embedComponent.type.toLowerCase(); }, Service.components); if (!Component) { - throw new Error("Attempted to embed component of type: " + componentType + " but did not find any matching component. Please verify the type you specified is intended."); + throw new Error("Attempted to embed component of type: ".concat(componentType, " but did not find any matching component. Please verify the type you specified is intended.")); } var component = new Component(this, element, config, phasedRender, isBootstrap); element.powerBiEmbed = component; @@ -10763,7 +10774,7 @@ var Service = /** @class */ (function () { Service.prototype.embedExisting = function (element, config, phasedRender) { var component = utils.find(function (x) { return x.element === element; }, this.embeds); if (!component) { - throw new Error("Attempted to embed using config " + JSON.stringify(config) + " on element " + element.outerHTML + " which already has embedded component associated, but could not find the existing component 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."); + throw new Error("Attempted to embed using config ".concat(JSON.stringify(config), " on element ").concat(element.outerHTML, " which already has embedded component associated, but could not find the existing component 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.")); } // TODO: Multiple embedding to the same iframe is not supported in QnA if (config.type && config.type.toLowerCase() === "qna") { @@ -10786,7 +10797,7 @@ var Service = /** @class */ (function () { this.addOrOverwriteEmbed(component, element); return report; } - 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(config) + " on element " + element.outerHTML + ", but the existing element contains an embed of type: " + this.config.type + " which does not match the new type: " + config.type); + 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 ".concat(JSON.stringify(config), " on element ").concat(element.outerHTML, ", but the existing element contains an embed of type: ").concat(this.config.type, " which does not match the new type: ").concat(config.type)); } component.populateConfig(config, /* isBootstrap */ false); component.load(phasedRender); @@ -10851,7 +10862,7 @@ var Service = /** @class */ (function () { Service.prototype.get = function (element) { var powerBiElement = element; if (!powerBiElement.powerBiEmbed) { - throw new Error("You attempted to get an instance of powerbi component associated with element: " + element.outerHTML + " but there was no associated instance."); + throw new Error("You attempted to get an instance of powerbi component associated with element: ".concat(element.outerHTML, " but there was no associated instance.")); } return powerBiElement.powerBiEmbed; }; @@ -10944,7 +10955,7 @@ var Service = /** @class */ (function () { var pageKey = 'newPage'; var page = value[pageKey]; if (!page) { - throw new Error("Page model not found at 'event.value." + pageKey + "'."); + throw new Error("Page model not found at 'event.value.".concat(pageKey, "'.")); } value[pageKey] = new page_1.Page(embed, page.name, page.displayName, true /* isActive */); } @@ -11071,7 +11082,7 @@ var Tile = /** @class */ (function (_super) { */ Tile.prototype.validate = function (config) { var embedConfig = config; - return powerbi_models_1.validateTileLoad(embedConfig); + return (0, powerbi_models_1.validateTileLoad)(embedConfig); }; /** * Handle config changes. @@ -11203,7 +11214,7 @@ exports.raiseCustomEvent = raiseCustomEvent; */ function findIndex(predicate, xs) { if (!Array.isArray(xs)) { - throw new Error("You attempted to call find with second parameter that was not an array. You passed: " + xs); + throw new Error("You attempted to call find with second parameter that was not an array. You passed: ".concat(xs)); } var index; xs.some(function (x, i) { @@ -11578,7 +11589,7 @@ var Visual = /** @class */ (function (_super) { _a.label = 1; case 1: _a.trys.push([1, 3, , 4]); - return [4 /*yield*/, this.service.hpm.get("/report/pages/" + config.pageName + "/visuals", { uid: this.config.uniqueId }, this.iframe.contentWindow)]; + return [4 /*yield*/, this.service.hpm.get("/report/pages/".concat(config.pageName, "/visuals"), { uid: this.config.uniqueId }, this.iframe.contentWindow)]; case 2: response = _a.sent(); embeddedVisuals = response.body.filter(function (pageVisual) { return pageVisual.name === config.visualName; }); @@ -11744,9 +11755,9 @@ var Visual = /** @class */ (function (_super) { case powerbi_models_1.FiltersLevel.Report: return "/report/filters"; case powerbi_models_1.FiltersLevel.Page: - return "/report/pages/" + config.pageName + "/filters"; + return "/report/pages/".concat(config.pageName, "/filters"); default: - return "/report/pages/" + config.pageName + "/visuals/" + config.visualName + "/filters"; + return "/report/pages/".concat(config.pageName, "/visuals/").concat(config.visualName, "/filters"); } }; /** @hidden */ @@ -11847,7 +11858,7 @@ var VisualDescriptor = /** @class */ (function () { switch (_a.label) { case 0: _a.trys.push([0, 2, , 3]); - return [4 /*yield*/, this.page.report.service.hpm.get("/report/pages/" + this.page.name + "/visuals/" + this.name + "/filters", { uid: this.page.report.config.uniqueId }, this.page.report.iframe.contentWindow)]; + return [4 /*yield*/, this.page.report.service.hpm.get("/report/pages/".concat(this.page.name, "/visuals/").concat(this.name, "/filters"), { uid: this.page.report.config.uniqueId }, this.page.report.iframe.contentWindow)]; case 1: response = _a.sent(); return [2 /*return*/, response.body]; @@ -11883,7 +11894,7 @@ var VisualDescriptor = /** @class */ (function () { _a.label = 1; case 1: _a.trys.push([1, 3, , 4]); - return [4 /*yield*/, this.page.report.service.hpm.post("/report/pages/" + this.page.name + "/visuals/" + this.name + "/filters", updateFiltersRequest, { uid: this.page.report.config.uniqueId }, this.page.report.iframe.contentWindow)]; + return [4 /*yield*/, this.page.report.service.hpm.post("/report/pages/".concat(this.page.name, "/visuals/").concat(this.name, "/filters"), updateFiltersRequest, { uid: this.page.report.config.uniqueId }, this.page.report.iframe.contentWindow)]; case 2: return [2 /*return*/, _a.sent()]; case 3: response_2 = _a.sent(); @@ -11930,7 +11941,7 @@ var VisualDescriptor = /** @class */ (function () { switch (_a.label) { case 0: _a.trys.push([0, 2, , 3]); - return [4 /*yield*/, this.page.report.service.hpm.put("/report/pages/" + this.page.name + "/visuals/" + this.name + "/filters", filters, { uid: this.page.report.config.uniqueId }, this.page.report.iframe.contentWindow)]; + return [4 /*yield*/, this.page.report.service.hpm.put("/report/pages/".concat(this.page.name, "/visuals/").concat(this.name, "/filters"), filters, { uid: this.page.report.config.uniqueId }, this.page.report.iframe.contentWindow)]; case 1: return [2 /*return*/, _a.sent()]; case 2: response_3 = _a.sent(); @@ -11966,7 +11977,7 @@ var VisualDescriptor = /** @class */ (function () { _a.label = 1; case 1: _a.trys.push([1, 3, , 4]); - return [4 /*yield*/, this.page.report.service.hpm.post("/report/pages/" + this.page.name + "/visuals/" + this.name + "/exportData", exportDataRequestBody, { uid: this.page.report.config.uniqueId }, this.page.report.iframe.contentWindow)]; + return [4 /*yield*/, this.page.report.service.hpm.post("/report/pages/".concat(this.page.name, "/visuals/").concat(this.name, "/exportData"), exportDataRequestBody, { uid: this.page.report.config.uniqueId }, this.page.report.iframe.contentWindow)]; case 2: response = _a.sent(); return [2 /*return*/, response.body]; @@ -11995,7 +12006,7 @@ var VisualDescriptor = /** @class */ (function () { switch (_a.label) { case 0: _a.trys.push([0, 2, , 3]); - return [4 /*yield*/, this.page.report.service.hpm.put("/report/pages/" + this.page.name + "/visuals/" + this.name + "/slicer", state, { uid: this.page.report.config.uniqueId }, this.page.report.iframe.contentWindow)]; + return [4 /*yield*/, this.page.report.service.hpm.put("/report/pages/".concat(this.page.name, "/visuals/").concat(this.name, "/slicer"), state, { uid: this.page.report.config.uniqueId }, this.page.report.iframe.contentWindow)]; case 1: return [2 /*return*/, _a.sent()]; case 2: response_5 = _a.sent(); @@ -12023,7 +12034,7 @@ var VisualDescriptor = /** @class */ (function () { switch (_a.label) { case 0: _a.trys.push([0, 2, , 3]); - return [4 /*yield*/, this.page.report.service.hpm.get("/report/pages/" + this.page.name + "/visuals/" + this.name + "/slicer", { uid: this.page.report.config.uniqueId }, this.page.report.iframe.contentWindow)]; + return [4 /*yield*/, this.page.report.service.hpm.get("/report/pages/".concat(this.page.name, "/visuals/").concat(this.name, "/slicer"), { uid: this.page.report.config.uniqueId }, this.page.report.iframe.contentWindow)]; case 1: response = _a.sent(); return [2 /*return*/, response.body]; @@ -12048,7 +12059,7 @@ var VisualDescriptor = /** @class */ (function () { switch (_a.label) { case 0: _a.trys.push([0, 2, , 3]); - return [4 /*yield*/, this.page.report.service.hpm.post("/report/pages/" + this.page.name + "/visuals/" + this.name + "/clone", request, { uid: this.page.report.config.uniqueId }, this.page.report.iframe.contentWindow)]; + return [4 /*yield*/, this.page.report.service.hpm.post("/report/pages/".concat(this.page.name, "/visuals/").concat(this.name, "/clone"), request, { uid: this.page.report.config.uniqueId }, this.page.report.iframe.contentWindow)]; case 1: response = _a.sent(); return [2 /*return*/, response.body]; @@ -12077,7 +12088,7 @@ var VisualDescriptor = /** @class */ (function () { switch (_a.label) { case 0: _a.trys.push([0, 2, , 3]); - return [4 /*yield*/, this.page.report.service.hpm.put("/report/pages/" + this.page.name + "/visuals/" + this.name + "/sortBy", request, { uid: this.page.report.config.uniqueId }, this.page.report.iframe.contentWindow)]; + return [4 /*yield*/, this.page.report.service.hpm.put("/report/pages/".concat(this.page.name, "/visuals/").concat(this.name, "/sortBy"), request, { uid: this.page.report.config.uniqueId }, this.page.report.iframe.contentWindow)]; case 1: return [2 /*return*/, _a.sent()]; case 2: response_8 = _a.sent(); diff --git a/dist/powerbi.min.js b/dist/powerbi.min.js index 50b9f657..4bb1710c 100644 --- a/dist/powerbi.min.js +++ b/dist/powerbi.min.js @@ -1,7 +1,7 @@ // powerbi-client v2.18.7 // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. -!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){var e={};function r(i){if(e[i])return e[i].exports;var a=e[i]={i:i,l:!1,exports:{}};return t[i].call(a.exports,a,a.exports,r),a.l=!0,a.exports}return r.m=t,r.c=e,r.d=function(t,e,i){r.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:i})},r.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},r.t=function(t,e){if(1&e&&(t=r(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var i=Object.create(null);if(r.r(i),Object.defineProperty(i,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var a in t)r.d(i,a,function(e){return t[e]}.bind(null,a));return i},r.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return r.d(e,"a",e),e},r.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},r.p="",r(r.s=13)}([function(t,e,r){var i;i=function(){return function(t){var e={};function r(i){if(e[i])return e[i].exports;var a=e[i]={i:i,l:!1,exports:{}};return t[i].call(a.exports,a,a.exports,r),a.l=!0,a.exports}return r.m=t,r.c=e,r.d=function(t,e,i){r.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:i})},r.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},r.t=function(t,e){if(1&e&&(t=r(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var i=Object.create(null);if(r.r(i),Object.defineProperty(i,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var a in t)r.d(i,a,function(e){return t[e]}.bind(null,a));return i},r.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return r.d(e,"a",e),e},r.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},r.p="",r(r.s=0)}([function(t,e,r){var i,a=this&&this.__extends||(i=function(t,e){return(i=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])})(t,e)},function(t,e){function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.validateZoomLevel=e.validateCustomTheme=e.validateCommandsSettings=e.validateVisualSettings=e.validateVisualHeader=e.validateExportDataRequest=e.validateQnaInterpretInputData=e.validateLoadQnaConfiguration=e.validateSaveAsParameters=e.validateUpdateFiltersRequest=e.validateFilter=e.validatePage=e.validateTileLoad=e.validateDashboardLoad=e.validateCreateReport=e.validatePaginatedReportLoad=e.validateReportLoad=e.validateMenuGroupExtension=e.validateExtension=e.validateCustomPageSize=e.validateVisualizationsPane=e.validateSyncSlicersPane=e.validateSelectionPane=e.validatePageNavigationPane=e.validateFieldsPane=e.validateFiltersPane=e.validateBookmarksPane=e.validatePanes=e.validateSettings=e.validateCaptureBookmarkRequest=e.validateApplyBookmarkStateRequest=e.validateApplyBookmarkByNameRequest=e.validateAddBookmarkRequest=e.validatePlayBookmarkRequest=e.validateSlicerState=e.validateSlicer=e.validateVisualSelector=e.isIExtensionArray=e.isIExtensions=e.isGroupedMenuExtension=e.isFlatMenuExtension=e.isReportFiltersArray=e.isOnLoadFilters=e.VisualDataRoleKindPreference=e.VisualDataRoleKind=e.CommandDisplayOption=e.SlicerTargetSelector=e.VisualTypeSelector=e.VisualSelector=e.PageSelector=e.Selector=e.SortDirection=e.LegendPosition=e.TextAlignment=e.CommonErrorCodes=e.BookmarksPlayMode=e.ExportDataType=e.QnaMode=e.PageNavigationPosition=e.isColumnAggr=e.isHierarchyLevelAggr=e.isHierarchyLevel=e.isColumn=e.isMeasure=e.getFilterType=e.isBasicFilterWithKeys=e.isFilterKeyColumnsTarget=e.AdvancedFilter=e.TupleFilter=e.IdentityFilter=e.BasicFilterWithKeys=e.BasicFilter=e.RelativeTimeFilter=e.RelativeDateFilter=e.TopNFilter=e.IncludeExcludeFilter=e.NotSupportedFilter=e.Filter=e.RelativeDateOperators=e.RelativeDateFilterTimeUnit=e.FilterType=e.FiltersLevel=e.FiltersOperations=e.MenuLocation=e.ContrastMode=e.TokenType=e.ViewMode=e.Permissions=e.SectionVisibility=e.ReportAlignment=e.HyperlinkClickBehavior=e.LayoutType=e.VisualContainerDisplayMode=e.BackgroundType=e.DisplayOption=e.PageSizeType=e.TraceType=void 0;var o,n=r(1);!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"}(e.TraceType||(e.TraceType={})),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",t[t.Mobile=5]="Mobile"}(e.PageSizeType||(e.PageSizeType={})),function(t){t[t.FitToPage=0]="FitToPage",t[t.FitToWidth=1]="FitToWidth",t[t.ActualSize=2]="ActualSize"}(e.DisplayOption||(e.DisplayOption={})),function(t){t[t.Default=0]="Default",t[t.Transparent=1]="Transparent"}(e.BackgroundType||(e.BackgroundType={})),function(t){t[t.Visible=0]="Visible",t[t.Hidden=1]="Hidden"}(e.VisualContainerDisplayMode||(e.VisualContainerDisplayMode={})),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={})),function(t){t[t.Navigate=0]="Navigate",t[t.NavigateAndRaiseEvent=1]="NavigateAndRaiseEvent",t[t.RaiseEvent=2]="RaiseEvent"}(e.HyperlinkClickBehavior||(e.HyperlinkClickBehavior={})),function(t){t[t.Left=0]="Left",t[t.Center=1]="Center",t[t.Right=2]="Right",t[t.None=3]="None"}(e.ReportAlignment||(e.ReportAlignment={})),function(t){t[t.AlwaysVisible=0]="AlwaysVisible",t[t.HiddenInViewMode=1]="HiddenInViewMode"}(e.SectionVisibility||(e.SectionVisibility={})),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"}(e.Permissions||(e.Permissions={})),function(t){t[t.View=0]="View",t[t.Edit=1]="Edit"}(e.ViewMode||(e.ViewMode={})),function(t){t[t.Aad=0]="Aad",t[t.Embed=1]="Embed"}(e.TokenType||(e.TokenType={})),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"}(e.ContrastMode||(e.ContrastMode={})),function(t){t[t.Bottom=0]="Bottom",t[t.Top=1]="Top"}(e.MenuLocation||(e.MenuLocation={})),function(t){t[t.RemoveAll=0]="RemoveAll",t[t.ReplaceAll=1]="ReplaceAll",t[t.Add=2]="Add",t[t.Replace=3]="Replace"}(e.FiltersOperations||(e.FiltersOperations={})),function(t){t[t.Report=0]="Report",t[t.Page=1]="Page",t[t.Visual=2]="Visual"}(e.FiltersLevel||(e.FiltersLevel={})),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",t[t.Identity=8]="Identity"}(o=e.FilterType||(e.FilterType={})),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"}(e.RelativeDateFilterTimeUnit||(e.RelativeDateFilterTimeUnit={})),function(t){t[t.InLast=0]="InLast",t[t.InThis=1]="InThis",t[t.InNext=2]="InNext"}(e.RelativeDateOperators||(e.RelativeDateOperators={}));var l=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=l;var s=function(t){function e(r,i,a){var n=t.call(this,r,o.Unknown)||this;return n.message=i,n.notSupportedTypeName=a,n.schemaUrl=e.schemaUrl,n}return a(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}(l);e.NotSupportedFilter=s;var u=function(t){function e(r,i,a){var n=t.call(this,r,o.IncludeExclude)||this;return n.values=a,n.isExclude=i,n.schemaUrl=e.schemaUrl,n}return a(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}(l);e.IncludeExcludeFilter=u;var d=function(t){function e(r,i,a,n){var l=t.call(this,r,o.TopN)||this;return l.operator=i,l.itemCount=a,l.schemaUrl=e.schemaUrl,l.orderBy=n,l}return a(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}(l);e.TopNFilter=d;var c=function(t){function e(r,i,a,n,l){var s=t.call(this,r,o.RelativeDate)||this;return s.operator=i,s.timeUnitsCount=a,s.timeUnitType=n,s.includeToday=l,s.schemaUrl=e.schemaUrl,s}return a(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}(l);e.RelativeDateFilter=c;var p=function(t){function e(r,i,a,n){var l=t.call(this,r,o.RelativeTime)||this;return l.operator=i,l.timeUnitsCount=a,l.timeUnitType=n,l.schemaUrl=e.schemaUrl,l}return a(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}(l);e.RelativeTimeFilter=p;var f=function(t){function e(r,i){for(var a=[],n=2;n0&&!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,s=o.keyValues;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 s.conditions=l,s}return a(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}(l);function V(t){if(t.filterType)return t.filterType;var e=t,r=t;return"string"==typeof e.operator&&Array.isArray(e.values)?o.Basic:"string"==typeof r.logicalOperator&&Array.isArray(r.conditions)?o.Advanced:o.Unknown}function g(t){return!(!t.table||!t.column||t.aggregationFunction)}e.AdvancedFilter=m,e.isFilterKeyColumnsTarget=function(t){return g(t)&&!!t.keys},e.isBasicFilterWithKeys=function(t){return V(t)===o.Basic&&!!t.keyValues},e.getFilterType=V,e.isMeasure=function(t){return void 0!==t.table&&void 0!==t.measure},e.isColumn=g,e.isHierarchyLevel=function(t){return!(!(t.table&&t.hierarchy&&t.hierarchyLevel)||t.aggregationFunction)},e.isHierarchyLevelAggr=function(t){return!!(t.table&&t.hierarchy&&t.hierarchyLevel&&t.aggregationFunction)},e.isColumnAggr=function(t){return!!(t.table&&t.column&&t.aggregationFunction)},function(t){t[t.Bottom=0]="Bottom",t[t.Left=1]="Left"}(e.PageNavigationPosition||(e.PageNavigationPosition={})),function(t){t[t.Interactive=0]="Interactive",t[t.ResultOnly=1]="ResultOnly"}(e.QnaMode||(e.QnaMode={})),function(t){t[t.Summarized=0]="Summarized",t[t.Underlying=1]="Underlying"}(e.ExportDataType||(e.ExportDataType={})),function(t){t[t.Off=0]="Off",t[t.Presentation=1]="Presentation"}(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"},function(t){t[t.Ascending=1]="Ascending",t[t.Descending=2]="Descending"}(e.SortDirection||(e.SortDirection={}));var b=function(){function t(t){this.$schema=t}return t.prototype.toJSON=function(){return{$schema:this.$schema}},t}();e.Selector=b;var w=function(t){function e(r){var i=t.call(this,e.schemaUrl)||this;return i.pageName=r,i}return a(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}(b);e.PageSelector=w;var P=function(t){function e(r){var i=t.call(this,e.schemaUrl)||this;return i.visualName=r,i}return a(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}(b);e.VisualSelector=P;var _=function(t){function e(e){var r=t.call(this,P.schemaUrl)||this;return r.visualType=e,r}return a(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}(b);e.VisualTypeSelector=_;var O=function(t){function e(e){var r=t.call(this,P.schemaUrl)||this;return r.target=e,r}return a(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}(b);function S(t){return Array.isArray(t)}function T(t){return t&&!!t.groupName}function E(t){return Array.isArray(t)}function F(t){var e=t.message;return e||(e=t.path+" is invalid. Not meeting "+t.keyword+" constraint"),{message:e}}e.SlicerTargetSelector=O,function(t){t[t.Enabled=0]="Enabled",t[t.Disabled=1]="Disabled",t[t.Hidden=2]="Hidden"}(e.CommandDisplayOption||(e.CommandDisplayOption={})),function(t){t[t.Grouping=0]="Grouping",t[t.Measure=1]="Measure",t[t.GroupingOrMeasure=2]="GroupingOrMeasure"}(e.VisualDataRoleKind||(e.VisualDataRoleKind={})),function(t){t[t.Measure=0]="Measure",t[t.Grouping=1]="Grouping"}(e.VisualDataRoleKindPreference||(e.VisualDataRoleKindPreference={})),e.isOnLoadFilters=function(t){return t&&!S(t)},e.isReportFiltersArray=S,e.isFlatMenuExtension=function(t){return t&&!T(t)},e.isGroupedMenuExtension=T,e.isIExtensions=function(t){return t&&!E(t)},e.isIExtensionArray=E,e.validateVisualSelector=function(t){var e=n.Validators.visualSelectorValidator.validate(t);return e?e.map(F):void 0},e.validateSlicer=function(t){var e=n.Validators.slicerValidator.validate(t);return e?e.map(F):void 0},e.validateSlicerState=function(t){var e=n.Validators.slicerStateValidator.validate(t);return e?e.map(F):void 0},e.validatePlayBookmarkRequest=function(t){var e=n.Validators.playBookmarkRequestValidator.validate(t);return e?e.map(F):void 0},e.validateAddBookmarkRequest=function(t){var e=n.Validators.addBookmarkRequestValidator.validate(t);return e?e.map(F):void 0},e.validateApplyBookmarkByNameRequest=function(t){var e=n.Validators.applyBookmarkByNameRequestValidator.validate(t);return e?e.map(F):void 0},e.validateApplyBookmarkStateRequest=function(t){var e=n.Validators.applyBookmarkStateRequestValidator.validate(t);return e?e.map(F):void 0},e.validateCaptureBookmarkRequest=function(t){var e=n.Validators.captureBookmarkRequestValidator.validate(t);return e?e.map(F):void 0},e.validateSettings=function(t){var e=n.Validators.settingsValidator.validate(t);return e?e.map(F):void 0},e.validatePanes=function(t){var e=n.Validators.reportPanesValidator.validate(t);return e?e.map(F):void 0},e.validateBookmarksPane=function(t){var e=n.Validators.bookmarksPaneValidator.validate(t);return e?e.map(F):void 0},e.validateFiltersPane=function(t){var e=n.Validators.filtersPaneValidator.validate(t);return e?e.map(F):void 0},e.validateFieldsPane=function(t){var e=n.Validators.fieldsPaneValidator.validate(t);return e?e.map(F):void 0},e.validatePageNavigationPane=function(t){var e=n.Validators.pageNavigationPaneValidator.validate(t);return e?e.map(F):void 0},e.validateSelectionPane=function(t){var e=n.Validators.selectionPaneValidator.validate(t);return e?e.map(F):void 0},e.validateSyncSlicersPane=function(t){var e=n.Validators.syncSlicersPaneValidator.validate(t);return e?e.map(F):void 0},e.validateVisualizationsPane=function(t){var e=n.Validators.visualizationsPaneValidator.validate(t);return e?e.map(F):void 0},e.validateCustomPageSize=function(t){var e=n.Validators.customPageSizeValidator.validate(t);return e?e.map(F):void 0},e.validateExtension=function(t){var e=n.Validators.extensionValidator.validate(t);return e?e.map(F):void 0},e.validateMenuGroupExtension=function(t){var e=n.Validators.menuGroupExtensionValidator.validate(t);return e?e.map(F):void 0},e.validateReportLoad=function(t){var e=n.Validators.reportLoadValidator.validate(t);return e?e.map(F):void 0},e.validatePaginatedReportLoad=function(t){var e=n.Validators.paginatedReportLoadValidator.validate(t);return e?e.map(F):void 0},e.validateCreateReport=function(t){var e=n.Validators.reportCreateValidator.validate(t);return e?e.map(F):void 0},e.validateDashboardLoad=function(t){var e=n.Validators.dashboardLoadValidator.validate(t);return e?e.map(F):void 0},e.validateTileLoad=function(t){var e=n.Validators.tileLoadValidator.validate(t);return e?e.map(F):void 0},e.validatePage=function(t){var e=n.Validators.pageValidator.validate(t);return e?e.map(F):void 0},e.validateFilter=function(t){var e=n.Validators.filterValidator.validate(t);return e?e.map(F):void 0},e.validateUpdateFiltersRequest=function(t){var e=n.Validators.updateFiltersRequestValidator.validate(t);return e?e.map(F):void 0},e.validateSaveAsParameters=function(t){var e=n.Validators.saveAsParametersValidator.validate(t);return e?e.map(F):void 0},e.validateLoadQnaConfiguration=function(t){var e=n.Validators.loadQnaValidator.validate(t);return e?e.map(F):void 0},e.validateQnaInterpretInputData=function(t){var e=n.Validators.qnaInterpretInputDataValidator.validate(t);return e?e.map(F):void 0},e.validateExportDataRequest=function(t){var e=n.Validators.exportDataRequestValidator.validate(t);return e?e.map(F):void 0},e.validateVisualHeader=function(t){var e=n.Validators.visualHeaderValidator.validate(t);return e?e.map(F):void 0},e.validateVisualSettings=function(t){var e=n.Validators.visualSettingsValidator.validate(t);return e?e.map(F):void 0},e.validateCommandsSettings=function(t){var e=n.Validators.commandsSettingsValidator.validate(t);return e?e.map(F):void 0},e.validateCustomTheme=function(t){var e=n.Validators.customThemeValidator.validate(t);return e?e.map(F):void 0},e.validateZoomLevel=function(t){var e=n.Validators.zoomLevelValidator.validate(t);return e?e.map(F):void 0}},function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.Validators=void 0;var i=r(2),a=r(5),o=r(6),n=r(7),l=r(8),s=r(9),u=r(10),d=r(11),c=r(12),p=r(13),f=r(14),h=r(15),v=r(16),y=r(17),m=r(18),V=r(19),g=r(20),b=r(21),w=r(22),P=r(23),_=r(24),O=r(25),S=r(26),T=r(27),E=r(28),F=r(29),R=r(4),x=r(30);e.Validators={addBookmarkRequestValidator:new a.AddBookmarkRequestValidator,advancedFilterTypeValidator:new R.EnumValidator([0]),advancedFilterValidator:new c.AdvancedFilterValidator,anyArrayValidator:new R.ArrayValidator([new S.AnyOfValidator([new R.StringValidator,new R.NumberValidator,new R.BooleanValidator])]),anyFilterValidator:new S.AnyOfValidator([new c.BasicFilterValidator,new c.AdvancedFilterValidator,new c.IncludeExcludeFilterValidator,new c.NotSupportedFilterValidator,new c.RelativeDateFilterValidator,new c.TopNFilterValidator,new c.RelativeTimeFilterValidator]),anyValueValidator:new S.AnyOfValidator([new R.StringValidator,new R.NumberValidator,new R.BooleanValidator]),actionBarValidator:new i.ActionBarValidator,applyBookmarkByNameRequestValidator:new a.ApplyBookmarkByNameRequestValidator,applyBookmarkStateRequestValidator:new a.ApplyBookmarkStateRequestValidator,applyBookmarkValidator:new S.AnyOfValidator([new a.ApplyBookmarkByNameRequestValidator,new a.ApplyBookmarkStateRequestValidator]),backgroundValidator:new R.EnumValidator([0,1]),basicFilterTypeValidator:new R.EnumValidator([1]),basicFilterValidator:new c.BasicFilterValidator,booleanArrayValidator:new R.BooleanArrayValidator,booleanValidator:new R.BooleanValidator,bookmarksPaneValidator:new h.BookmarksPaneValidator,captureBookmarkOptionsValidator:new a.CaptureBookmarkOptionsValidator,captureBookmarkRequestValidator:new a.CaptureBookmarkRequestValidator,commandDisplayOptionValidator:new R.EnumValidator([0,1,2]),commandExtensionSelectorValidator:new S.AnyOfValidator([new b.VisualSelectorValidator,new b.VisualTypeSelectorValidator]),commandExtensionArrayValidator:new R.ArrayValidator([new d.CommandExtensionValidator]),commandExtensionValidator:new d.CommandExtensionValidator,commandsSettingsArrayValidator:new R.ArrayValidator([new o.CommandsSettingsValidator]),commandsSettingsValidator:new o.CommandsSettingsValidator,conditionItemValidator:new c.ConditionItemValidator,contrastModeValidator:new R.EnumValidator([0,1,2,3,4]),customLayoutDisplayOptionValidator:new R.EnumValidator([0,1,2]),customLayoutValidator:new p.CustomLayoutValidator,customPageSizeValidator:new f.CustomPageSizeValidator,customThemeValidator:new n.CustomThemeValidator,dashboardLoadValidator:new l.DashboardLoadValidator,datasetBindingValidator:new s.DatasetBindingValidator,displayStateModeValidator:new R.EnumValidator([0,1]),displayStateValidator:new p.DisplayStateValidator,exportDataRequestValidator:new u.ExportDataRequestValidator,extensionArrayValidator:new R.ArrayValidator([new d.ExtensionValidator]),extensionsValidator:new S.AnyOfValidator([new R.ArrayValidator([new d.ExtensionValidator]),new d.ExtensionsValidator]),extensionPointsValidator:new d.ExtensionPointsValidator,extensionValidator:new d.ExtensionValidator,fieldForbiddenValidator:new T.FieldForbiddenValidator,fieldRequiredValidator:new E.FieldRequiredValidator,fieldsPaneValidator:new h.FieldsPaneValidator,filterColumnTargetValidator:new c.FilterColumnTargetValidator,filterDisplaySettingsValidator:new c.FilterDisplaySettingsValidator,filterConditionsValidator:new R.ArrayValidator([new c.ConditionItemValidator]),filterHierarchyTargetValidator:new c.FilterHierarchyTargetValidator,filterMeasureTargetValidator:new c.FilterMeasureTargetValidator,filterTargetValidator:new S.AnyOfValidator([new c.FilterColumnTargetValidator,new c.FilterHierarchyTargetValidator,new c.FilterMeasureTargetValidator]),filterValidator:new c.FilterValidator,filterTypeValidator:new R.EnumValidator([0,1,2,3,4,5,6,7]),filtersArrayValidator:new R.ArrayValidator([new c.FilterValidator]),filtersOperationsUpdateValidator:new R.EnumValidator([1,2,3]),filtersOperationsRemoveAllValidator:new R.EnumValidator([0]),filtersPaneValidator:new h.FiltersPaneValidator,hyperlinkClickBehaviorValidator:new R.EnumValidator([0,1,2]),includeExcludeFilterValidator:new c.IncludeExcludeFilterValidator,includeExludeFilterTypeValidator:new R.EnumValidator([3]),layoutTypeValidator:new R.EnumValidator([0,1,2,3]),loadQnaValidator:new v.LoadQnaValidator,menuExtensionValidator:new S.AnyOfValidator([new d.FlatMenuExtensionValidator,new d.GroupedMenuExtensionValidator]),menuGroupExtensionArrayValidator:new R.ArrayValidator([new d.MenuGroupExtensionValidator]),menuGroupExtensionValidator:new d.MenuGroupExtensionValidator,menuLocationValidator:new R.EnumValidator([0,1]),notSupportedFilterTypeValidator:new R.EnumValidator([2]),notSupportedFilterValidator:new c.NotSupportedFilterValidator,numberArrayValidator:new R.NumberArrayValidator,numberValidator:new R.NumberValidator,onLoadFiltersBaseValidator:new S.AnyOfValidator([new c.OnLoadFiltersBaseValidator,new c.OnLoadFiltersBaseRemoveOperationValidator]),pageLayoutValidator:new F.MapValidator([new R.StringValidator],[new p.VisualLayoutValidator]),pageNavigationPaneValidator:new h.PageNavigationPaneValidator,pageNavigationPositionValidator:new R.EnumValidator([0,1]),pageSizeTypeValidator:new R.EnumValidator([0,1,2,3,4,5]),pageSizeValidator:new f.PageSizeValidator,pageValidator:new f.PageValidator,pageViewFieldValidator:new f.PageViewFieldValidator,pagesLayoutValidator:new F.MapValidator([new R.StringValidator],[new p.PageLayoutValidator]),paginatedReportCommandsValidator:new o.PaginatedReportCommandsValidator,paginatedReportLoadValidator:new V.PaginatedReportLoadValidator,paginatedReportsettingsValidator:new w.PaginatedReportSettingsValidator,parametersPanelValidator:new x.ParametersPanelValidator,permissionsValidator:new R.EnumValidator([0,1,2,4,7]),playBookmarkRequestValidator:new a.PlayBookmarkRequestValidator,qnaInterpretInputDataValidator:new v.QnaInterpretInputDataValidator,qnaPanesValidator:new h.QnaPanesValidator,qnaSettingValidator:new v.QnaSettingsValidator,relativeDateFilterOperatorValidator:new R.EnumValidator([0,1,2]),relativeDateFilterTimeUnitTypeValidator:new R.EnumValidator([0,1,2,3,4,5,6]),relativeDateFilterTypeValidator:new R.EnumValidator([4]),relativeDateFilterValidator:new c.RelativeDateFilterValidator,relativeDateTimeFilterTypeValidator:new R.EnumValidator([4,7]),relativeDateTimeFilterUnitTypeValidator:new R.EnumValidator([0,1,2,3,4,5,6,7,8]),relativeTimeFilterTimeUnitTypeValidator:new R.EnumValidator([7,8]),relativeTimeFilterTypeValidator:new R.EnumValidator([7]),relativeTimeFilterValidator:new c.RelativeTimeFilterValidator,reportBarsValidator:new i.ReportBarsValidator,reportCreateValidator:new y.ReportCreateValidator,reportLoadFiltersValidator:new S.AnyOfValidator([new R.ArrayValidator([new c.FilterValidator]),new c.OnLoadFiltersValidator]),reportLoadValidator:new m.ReportLoadValidator,reportPanesValidator:new h.ReportPanesValidator,saveAsParametersValidator:new g.SaveAsParametersValidator,selectionPaneValidator:new h.SelectionPaneValidator,settingsValidator:new w.SettingsValidator,singleCommandSettingsValidator:new o.SingleCommandSettingsValidator,slicerSelectorValidator:new S.AnyOfValidator([new b.VisualSelectorValidator,new b.SlicerTargetSelectorValidator]),slicerStateValidator:new P.SlicerStateValidator,slicerTargetValidator:new S.AnyOfValidator([new c.FilterColumnTargetValidator,new c.FilterHierarchyTargetValidator,new c.FilterMeasureTargetValidator,new c.FilterKeyColumnsTargetValidator,new c.FilterKeyHierarchyTargetValidator]),slicerValidator:new P.SlicerValidator,stringArrayValidator:new R.StringArrayValidator,stringValidator:new R.StringValidator,syncSlicersPaneValidator:new h.SyncSlicersPaneValidator,tileLoadValidator:new _.TileLoadValidator,tokenTypeValidator:new R.EnumValidator([0,1]),topNFilterTypeValidator:new R.EnumValidator([5]),topNFilterValidator:new c.TopNFilterValidator,updateFiltersRequestValidator:new S.AnyOfValidator([new c.UpdateFiltersRequestValidator,new c.RemoveFiltersRequestValidator]),viewModeValidator:new R.EnumValidator([0,1]),visualCommandSelectorValidator:new S.AnyOfValidator([new b.VisualSelectorValidator,new b.VisualTypeSelectorValidator]),visualHeaderSelectorValidator:new S.AnyOfValidator([new b.VisualSelectorValidator,new b.VisualTypeSelectorValidator]),visualHeaderSettingsValidator:new O.VisualHeaderSettingsValidator,visualHeaderValidator:new O.VisualHeaderValidator,visualHeadersValidator:new R.ArrayValidator([new O.VisualHeaderValidator]),visualizationsPaneValidator:new h.VisualizationsPaneValidator,visualLayoutValidator:new p.VisualLayoutValidator,visualSelectorValidator:new b.VisualSelectorValidator,visualSettingsValidator:new O.VisualSettingsValidator,visualTypeSelectorValidator:new b.VisualTypeSelectorValidator,zoomLevelValidator:new R.RangeValidator(.25,4)}},function(t,e,r){var i,a=this&&this.__extends||(i=function(t,e){return(i=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])})(t,e)},function(t,e){function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.ActionBarValidator=e.ReportBarsValidator=void 0;var o=r(3),n=r(4),l=r(1),s=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return a(e,t),e.prototype.validate=function(e,r,i){if(null==e)return null;var a=t.prototype.validate.call(this,e,r,i);if(a)return a;var n=[{field:"actionBar",validators:[l.Validators.actionBarValidator]}];return new o.MultipleFieldsValidator(n).validate(e,r,i)},e}(n.ObjectValidator);e.ReportBarsValidator=s;var u=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return a(e,t),e.prototype.validate=function(e,r,i){if(null==e)return null;var a=t.prototype.validate.call(this,e,r,i);if(a)return a;var n=[{field:"visible",validators:[l.Validators.booleanValidator]}];return new o.MultipleFieldsValidator(n).validate(e,r,i)},e}(n.ObjectValidator);e.ActionBarValidator=u},function(t,e){Object.defineProperty(e,"__esModule",{value:!0}),e.MultipleFieldsValidator=void 0;var r=function(){function t(t){this.fieldValidatorsPairs=t}return t.prototype.validate=function(t,e,r){if(!this.fieldValidatorsPairs)return null;for(var i=e?e+"."+r:r,a=0,o=this.fieldValidatorsPairs;athis.maxValue||e0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0?"&":"?";return t+=i+e+"="+r},e.isSavedInternal=function(t,e,a){return r(this,void 0,void 0,(function(){return i(this,(function(r){switch(r.label){case 0:return r.trys.push([0,2,,3]),[4,t.get("/report/hasUnsavedChanges",{uid:e},a)];case 1:return[2,!r.sent().body];case 2:throw r.sent().body;case 3:return[2]}}))}))},e.isRDLEmbed=function(t){return t&&t.toLowerCase().indexOf("/rdlembed?")>=0},e.autoAuthInEmbedUrl=function(t){return t&&decodeURIComponent(t).toLowerCase().indexOf("autoauth=true")>=0},e.getRandomValue=o,e.getTimeDiffInMilliseconds=function(t,e){return Math.abs(t.getTime()-e.getTime())}},function(t,e){Object.defineProperty(e,"__esModule",{value:!0}),e.FilterBuilder=void 0;var r=function(){function t(){}return t.prototype.withTargetObject=function(t){return this.target=t,this},t.prototype.withColumnTarget=function(t,e){return this.target={table:t,column:e},this},t.prototype.withMeasureTarget=function(t,e){return this.target={table:t,measure:e},this},t.prototype.withHierarchyLevelTarget=function(t,e,r){return this.target={table:t,hierarchy:e,hierarchyLevel:r},this},t.prototype.withColumnAggregation=function(t,e,r){return this.target={table:t,column:e,aggregationFunction:r},this},t.prototype.withHierarchyLevelAggregationTarget=function(t,e,r,i){return this.target={table:t,hierarchy:e,hierarchyLevel:r,aggregationFunction:i},this},t}();e.FilterBuilder=r},function(t,e){Object.defineProperty(e,"__esModule",{value:!0}),e.EmbedUrlNotSupported=e.APINotSupportedForRDLError=void 0,e.APINotSupportedForRDLError="This API is currently not supported for RDL reports",e.EmbedUrlNotSupported="Embed URL is invalid for this scenario. Please use Power BI REST APIs to get the valid URL"},function(t,e,r){var i,a=this&&this.__extends||(i=function(t,e){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])})(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}),o=this&&this.__awaiter||function(t,e,r,i){return new(r||(r=Promise))((function(a,o){function n(t){try{s(i.next(t))}catch(t){o(t)}}function l(t){try{s(i.throw(t))}catch(t){o(t)}}function s(t){var e;t.done?a(t.value):(e=t.value,e instanceof r?e:new r((function(t){t(e)}))).then(n,l)}s((i=i.apply(t,e||[])).next())}))},n=this&&this.__generator||function(t,e){var r,i,a,o,n={label:0,sent:function(){if(1&a[0])throw a[1];return a[1]},trys:[],ops:[]};return o={next:l(0),throw:l(1),return:l(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function l(o){return function(l){return function(o){if(r)throw new TypeError("Generator is already executing.");for(;n;)try{if(r=1,i&&(a=2&o[0]?i.return:o[0]?i.throw||((a=i.return)&&a.call(i),0):i.next)&&!(a=a.call(i,o[1])).done)return a;switch(i=0,a&&(o=[2&o[0],a.value]),o[0]){case 0:case 1:a=o;break;case 4:return n.label++,{value:o[1],done:!1};case 5:n.label++,i=o[1],o=[0];continue;case 7:o=n.ops.pop(),n.trys.pop();continue;default:if(!(a=n.trys,(a=a.length>0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&!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,s=o.keyValues;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 s.conditions=l,s}return a(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}(l);function V(t){if(t.filterType)return t.filterType;var e=t,r=t;return"string"==typeof e.operator&&Array.isArray(e.values)?o.Basic:"string"==typeof r.logicalOperator&&Array.isArray(r.conditions)?o.Advanced:o.Unknown}function g(t){return!(!t.table||!t.column||t.aggregationFunction)}e.AdvancedFilter=m,e.isFilterKeyColumnsTarget=function(t){return g(t)&&!!t.keys},e.isBasicFilterWithKeys=function(t){return V(t)===o.Basic&&!!t.keyValues},e.getFilterType=V,e.isMeasure=function(t){return void 0!==t.table&&void 0!==t.measure},e.isColumn=g,e.isHierarchyLevel=function(t){return!(!(t.table&&t.hierarchy&&t.hierarchyLevel)||t.aggregationFunction)},e.isHierarchyLevelAggr=function(t){return!!(t.table&&t.hierarchy&&t.hierarchyLevel&&t.aggregationFunction)},e.isColumnAggr=function(t){return!!(t.table&&t.column&&t.aggregationFunction)},function(t){t[t.Bottom=0]="Bottom",t[t.Left=1]="Left"}(e.PageNavigationPosition||(e.PageNavigationPosition={})),function(t){t[t.Interactive=0]="Interactive",t[t.ResultOnly=1]="ResultOnly"}(e.QnaMode||(e.QnaMode={})),function(t){t[t.Summarized=0]="Summarized",t[t.Underlying=1]="Underlying"}(e.ExportDataType||(e.ExportDataType={})),function(t){t[t.Off=0]="Off",t[t.Presentation=1]="Presentation"}(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"},function(t){t[t.Ascending=1]="Ascending",t[t.Descending=2]="Descending"}(e.SortDirection||(e.SortDirection={}));var b=function(){function t(t){this.$schema=t}return t.prototype.toJSON=function(){return{$schema:this.$schema}},t}();e.Selector=b;var w=function(t){function e(r){var i=t.call(this,e.schemaUrl)||this;return i.pageName=r,i}return a(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}(b);e.PageSelector=w;var P=function(t){function e(r){var i=t.call(this,e.schemaUrl)||this;return i.visualName=r,i}return a(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}(b);e.VisualSelector=P;var _=function(t){function e(e){var r=t.call(this,P.schemaUrl)||this;return r.visualType=e,r}return a(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}(b);e.VisualTypeSelector=_;var O=function(t){function e(e){var r=t.call(this,P.schemaUrl)||this;return r.target=e,r}return a(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}(b);function S(t){return Array.isArray(t)}function T(t){return t&&!!t.groupName}function E(t){return Array.isArray(t)}function F(t){var e=t.message;return e||(e=t.path+" is invalid. Not meeting "+t.keyword+" constraint"),{message:e}}e.SlicerTargetSelector=O,function(t){t[t.Enabled=0]="Enabled",t[t.Disabled=1]="Disabled",t[t.Hidden=2]="Hidden"}(e.CommandDisplayOption||(e.CommandDisplayOption={})),function(t){t[t.Grouping=0]="Grouping",t[t.Measure=1]="Measure",t[t.GroupingOrMeasure=2]="GroupingOrMeasure"}(e.VisualDataRoleKind||(e.VisualDataRoleKind={})),function(t){t[t.Measure=0]="Measure",t[t.Grouping=1]="Grouping"}(e.VisualDataRoleKindPreference||(e.VisualDataRoleKindPreference={})),e.isOnLoadFilters=function(t){return t&&!S(t)},e.isReportFiltersArray=S,e.isFlatMenuExtension=function(t){return t&&!T(t)},e.isGroupedMenuExtension=T,e.isIExtensions=function(t){return t&&!E(t)},e.isIExtensionArray=E,e.validateVisualSelector=function(t){var e=n.Validators.visualSelectorValidator.validate(t);return e?e.map(F):void 0},e.validateSlicer=function(t){var e=n.Validators.slicerValidator.validate(t);return e?e.map(F):void 0},e.validateSlicerState=function(t){var e=n.Validators.slicerStateValidator.validate(t);return e?e.map(F):void 0},e.validatePlayBookmarkRequest=function(t){var e=n.Validators.playBookmarkRequestValidator.validate(t);return e?e.map(F):void 0},e.validateAddBookmarkRequest=function(t){var e=n.Validators.addBookmarkRequestValidator.validate(t);return e?e.map(F):void 0},e.validateApplyBookmarkByNameRequest=function(t){var e=n.Validators.applyBookmarkByNameRequestValidator.validate(t);return e?e.map(F):void 0},e.validateApplyBookmarkStateRequest=function(t){var e=n.Validators.applyBookmarkStateRequestValidator.validate(t);return e?e.map(F):void 0},e.validateCaptureBookmarkRequest=function(t){var e=n.Validators.captureBookmarkRequestValidator.validate(t);return e?e.map(F):void 0},e.validateSettings=function(t){var e=n.Validators.settingsValidator.validate(t);return e?e.map(F):void 0},e.validatePanes=function(t){var e=n.Validators.reportPanesValidator.validate(t);return e?e.map(F):void 0},e.validateBookmarksPane=function(t){var e=n.Validators.bookmarksPaneValidator.validate(t);return e?e.map(F):void 0},e.validateFiltersPane=function(t){var e=n.Validators.filtersPaneValidator.validate(t);return e?e.map(F):void 0},e.validateFieldsPane=function(t){var e=n.Validators.fieldsPaneValidator.validate(t);return e?e.map(F):void 0},e.validatePageNavigationPane=function(t){var e=n.Validators.pageNavigationPaneValidator.validate(t);return e?e.map(F):void 0},e.validateSelectionPane=function(t){var e=n.Validators.selectionPaneValidator.validate(t);return e?e.map(F):void 0},e.validateSyncSlicersPane=function(t){var e=n.Validators.syncSlicersPaneValidator.validate(t);return e?e.map(F):void 0},e.validateVisualizationsPane=function(t){var e=n.Validators.visualizationsPaneValidator.validate(t);return e?e.map(F):void 0},e.validateCustomPageSize=function(t){var e=n.Validators.customPageSizeValidator.validate(t);return e?e.map(F):void 0},e.validateExtension=function(t){var e=n.Validators.extensionValidator.validate(t);return e?e.map(F):void 0},e.validateMenuGroupExtension=function(t){var e=n.Validators.menuGroupExtensionValidator.validate(t);return e?e.map(F):void 0},e.validateReportLoad=function(t){var e=n.Validators.reportLoadValidator.validate(t);return e?e.map(F):void 0},e.validatePaginatedReportLoad=function(t){var e=n.Validators.paginatedReportLoadValidator.validate(t);return e?e.map(F):void 0},e.validateCreateReport=function(t){var e=n.Validators.reportCreateValidator.validate(t);return e?e.map(F):void 0},e.validateDashboardLoad=function(t){var e=n.Validators.dashboardLoadValidator.validate(t);return e?e.map(F):void 0},e.validateTileLoad=function(t){var e=n.Validators.tileLoadValidator.validate(t);return e?e.map(F):void 0},e.validatePage=function(t){var e=n.Validators.pageValidator.validate(t);return e?e.map(F):void 0},e.validateFilter=function(t){var e=n.Validators.filterValidator.validate(t);return e?e.map(F):void 0},e.validateUpdateFiltersRequest=function(t){var e=n.Validators.updateFiltersRequestValidator.validate(t);return e?e.map(F):void 0},e.validateSaveAsParameters=function(t){var e=n.Validators.saveAsParametersValidator.validate(t);return e?e.map(F):void 0},e.validateLoadQnaConfiguration=function(t){var e=n.Validators.loadQnaValidator.validate(t);return e?e.map(F):void 0},e.validateQnaInterpretInputData=function(t){var e=n.Validators.qnaInterpretInputDataValidator.validate(t);return e?e.map(F):void 0},e.validateExportDataRequest=function(t){var e=n.Validators.exportDataRequestValidator.validate(t);return e?e.map(F):void 0},e.validateVisualHeader=function(t){var e=n.Validators.visualHeaderValidator.validate(t);return e?e.map(F):void 0},e.validateVisualSettings=function(t){var e=n.Validators.visualSettingsValidator.validate(t);return e?e.map(F):void 0},e.validateCommandsSettings=function(t){var e=n.Validators.commandsSettingsValidator.validate(t);return e?e.map(F):void 0},e.validateCustomTheme=function(t){var e=n.Validators.customThemeValidator.validate(t);return e?e.map(F):void 0},e.validateZoomLevel=function(t){var e=n.Validators.zoomLevelValidator.validate(t);return e?e.map(F):void 0}},function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.Validators=void 0;var i=r(2),a=r(5),o=r(6),n=r(7),l=r(8),s=r(9),u=r(10),d=r(11),c=r(12),p=r(13),f=r(14),h=r(15),v=r(16),y=r(17),m=r(18),V=r(19),g=r(20),b=r(21),w=r(22),P=r(23),_=r(24),O=r(25),S=r(26),T=r(27),E=r(28),F=r(29),R=r(4),x=r(30);e.Validators={addBookmarkRequestValidator:new a.AddBookmarkRequestValidator,advancedFilterTypeValidator:new R.EnumValidator([0]),advancedFilterValidator:new c.AdvancedFilterValidator,anyArrayValidator:new R.ArrayValidator([new S.AnyOfValidator([new R.StringValidator,new R.NumberValidator,new R.BooleanValidator])]),anyFilterValidator:new S.AnyOfValidator([new c.BasicFilterValidator,new c.AdvancedFilterValidator,new c.IncludeExcludeFilterValidator,new c.NotSupportedFilterValidator,new c.RelativeDateFilterValidator,new c.TopNFilterValidator,new c.RelativeTimeFilterValidator]),anyValueValidator:new S.AnyOfValidator([new R.StringValidator,new R.NumberValidator,new R.BooleanValidator]),actionBarValidator:new i.ActionBarValidator,applyBookmarkByNameRequestValidator:new a.ApplyBookmarkByNameRequestValidator,applyBookmarkStateRequestValidator:new a.ApplyBookmarkStateRequestValidator,applyBookmarkValidator:new S.AnyOfValidator([new a.ApplyBookmarkByNameRequestValidator,new a.ApplyBookmarkStateRequestValidator]),backgroundValidator:new R.EnumValidator([0,1]),basicFilterTypeValidator:new R.EnumValidator([1]),basicFilterValidator:new c.BasicFilterValidator,booleanArrayValidator:new R.BooleanArrayValidator,booleanValidator:new R.BooleanValidator,bookmarksPaneValidator:new h.BookmarksPaneValidator,captureBookmarkOptionsValidator:new a.CaptureBookmarkOptionsValidator,captureBookmarkRequestValidator:new a.CaptureBookmarkRequestValidator,commandDisplayOptionValidator:new R.EnumValidator([0,1,2]),commandExtensionSelectorValidator:new S.AnyOfValidator([new b.VisualSelectorValidator,new b.VisualTypeSelectorValidator]),commandExtensionArrayValidator:new R.ArrayValidator([new d.CommandExtensionValidator]),commandExtensionValidator:new d.CommandExtensionValidator,commandsSettingsArrayValidator:new R.ArrayValidator([new o.CommandsSettingsValidator]),commandsSettingsValidator:new o.CommandsSettingsValidator,conditionItemValidator:new c.ConditionItemValidator,contrastModeValidator:new R.EnumValidator([0,1,2,3,4]),customLayoutDisplayOptionValidator:new R.EnumValidator([0,1,2]),customLayoutValidator:new p.CustomLayoutValidator,customPageSizeValidator:new f.CustomPageSizeValidator,customThemeValidator:new n.CustomThemeValidator,dashboardLoadValidator:new l.DashboardLoadValidator,datasetBindingValidator:new s.DatasetBindingValidator,displayStateModeValidator:new R.EnumValidator([0,1]),displayStateValidator:new p.DisplayStateValidator,exportDataRequestValidator:new u.ExportDataRequestValidator,extensionArrayValidator:new R.ArrayValidator([new d.ExtensionValidator]),extensionsValidator:new S.AnyOfValidator([new R.ArrayValidator([new d.ExtensionValidator]),new d.ExtensionsValidator]),extensionPointsValidator:new d.ExtensionPointsValidator,extensionValidator:new d.ExtensionValidator,fieldForbiddenValidator:new T.FieldForbiddenValidator,fieldRequiredValidator:new E.FieldRequiredValidator,fieldsPaneValidator:new h.FieldsPaneValidator,filterColumnTargetValidator:new c.FilterColumnTargetValidator,filterDisplaySettingsValidator:new c.FilterDisplaySettingsValidator,filterConditionsValidator:new R.ArrayValidator([new c.ConditionItemValidator]),filterHierarchyTargetValidator:new c.FilterHierarchyTargetValidator,filterMeasureTargetValidator:new c.FilterMeasureTargetValidator,filterTargetValidator:new S.AnyOfValidator([new c.FilterColumnTargetValidator,new c.FilterHierarchyTargetValidator,new c.FilterMeasureTargetValidator]),filterValidator:new c.FilterValidator,filterTypeValidator:new R.EnumValidator([0,1,2,3,4,5,6,7]),filtersArrayValidator:new R.ArrayValidator([new c.FilterValidator]),filtersOperationsUpdateValidator:new R.EnumValidator([1,2,3]),filtersOperationsRemoveAllValidator:new R.EnumValidator([0]),filtersPaneValidator:new h.FiltersPaneValidator,hyperlinkClickBehaviorValidator:new R.EnumValidator([0,1,2]),includeExcludeFilterValidator:new c.IncludeExcludeFilterValidator,includeExludeFilterTypeValidator:new R.EnumValidator([3]),layoutTypeValidator:new R.EnumValidator([0,1,2,3]),loadQnaValidator:new v.LoadQnaValidator,menuExtensionValidator:new S.AnyOfValidator([new d.FlatMenuExtensionValidator,new d.GroupedMenuExtensionValidator]),menuGroupExtensionArrayValidator:new R.ArrayValidator([new d.MenuGroupExtensionValidator]),menuGroupExtensionValidator:new d.MenuGroupExtensionValidator,menuLocationValidator:new R.EnumValidator([0,1]),notSupportedFilterTypeValidator:new R.EnumValidator([2]),notSupportedFilterValidator:new c.NotSupportedFilterValidator,numberArrayValidator:new R.NumberArrayValidator,numberValidator:new R.NumberValidator,onLoadFiltersBaseValidator:new S.AnyOfValidator([new c.OnLoadFiltersBaseValidator,new c.OnLoadFiltersBaseRemoveOperationValidator]),pageLayoutValidator:new F.MapValidator([new R.StringValidator],[new p.VisualLayoutValidator]),pageNavigationPaneValidator:new h.PageNavigationPaneValidator,pageNavigationPositionValidator:new R.EnumValidator([0,1]),pageSizeTypeValidator:new R.EnumValidator([0,1,2,3,4,5]),pageSizeValidator:new f.PageSizeValidator,pageValidator:new f.PageValidator,pageViewFieldValidator:new f.PageViewFieldValidator,pagesLayoutValidator:new F.MapValidator([new R.StringValidator],[new p.PageLayoutValidator]),paginatedReportCommandsValidator:new o.PaginatedReportCommandsValidator,paginatedReportLoadValidator:new V.PaginatedReportLoadValidator,paginatedReportsettingsValidator:new w.PaginatedReportSettingsValidator,parametersPanelValidator:new x.ParametersPanelValidator,permissionsValidator:new R.EnumValidator([0,1,2,4,7]),playBookmarkRequestValidator:new a.PlayBookmarkRequestValidator,qnaInterpretInputDataValidator:new v.QnaInterpretInputDataValidator,qnaPanesValidator:new h.QnaPanesValidator,qnaSettingValidator:new v.QnaSettingsValidator,relativeDateFilterOperatorValidator:new R.EnumValidator([0,1,2]),relativeDateFilterTimeUnitTypeValidator:new R.EnumValidator([0,1,2,3,4,5,6]),relativeDateFilterTypeValidator:new R.EnumValidator([4]),relativeDateFilterValidator:new c.RelativeDateFilterValidator,relativeDateTimeFilterTypeValidator:new R.EnumValidator([4,7]),relativeDateTimeFilterUnitTypeValidator:new R.EnumValidator([0,1,2,3,4,5,6,7,8]),relativeTimeFilterTimeUnitTypeValidator:new R.EnumValidator([7,8]),relativeTimeFilterTypeValidator:new R.EnumValidator([7]),relativeTimeFilterValidator:new c.RelativeTimeFilterValidator,reportBarsValidator:new i.ReportBarsValidator,reportCreateValidator:new y.ReportCreateValidator,reportLoadFiltersValidator:new S.AnyOfValidator([new R.ArrayValidator([new c.FilterValidator]),new c.OnLoadFiltersValidator]),reportLoadValidator:new m.ReportLoadValidator,reportPanesValidator:new h.ReportPanesValidator,saveAsParametersValidator:new g.SaveAsParametersValidator,selectionPaneValidator:new h.SelectionPaneValidator,settingsValidator:new w.SettingsValidator,singleCommandSettingsValidator:new o.SingleCommandSettingsValidator,slicerSelectorValidator:new S.AnyOfValidator([new b.VisualSelectorValidator,new b.SlicerTargetSelectorValidator]),slicerStateValidator:new P.SlicerStateValidator,slicerTargetValidator:new S.AnyOfValidator([new c.FilterColumnTargetValidator,new c.FilterHierarchyTargetValidator,new c.FilterMeasureTargetValidator,new c.FilterKeyColumnsTargetValidator,new c.FilterKeyHierarchyTargetValidator]),slicerValidator:new P.SlicerValidator,stringArrayValidator:new R.StringArrayValidator,stringValidator:new R.StringValidator,syncSlicersPaneValidator:new h.SyncSlicersPaneValidator,tileLoadValidator:new _.TileLoadValidator,tokenTypeValidator:new R.EnumValidator([0,1]),topNFilterTypeValidator:new R.EnumValidator([5]),topNFilterValidator:new c.TopNFilterValidator,updateFiltersRequestValidator:new S.AnyOfValidator([new c.UpdateFiltersRequestValidator,new c.RemoveFiltersRequestValidator]),viewModeValidator:new R.EnumValidator([0,1]),visualCommandSelectorValidator:new S.AnyOfValidator([new b.VisualSelectorValidator,new b.VisualTypeSelectorValidator]),visualHeaderSelectorValidator:new S.AnyOfValidator([new b.VisualSelectorValidator,new b.VisualTypeSelectorValidator]),visualHeaderSettingsValidator:new O.VisualHeaderSettingsValidator,visualHeaderValidator:new O.VisualHeaderValidator,visualHeadersValidator:new R.ArrayValidator([new O.VisualHeaderValidator]),visualizationsPaneValidator:new h.VisualizationsPaneValidator,visualLayoutValidator:new p.VisualLayoutValidator,visualSelectorValidator:new b.VisualSelectorValidator,visualSettingsValidator:new O.VisualSettingsValidator,visualTypeSelectorValidator:new b.VisualTypeSelectorValidator,zoomLevelValidator:new R.RangeValidator(.25,4)}},function(t,e,r){var i,a=this&&this.__extends||(i=function(t,e){return(i=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])})(t,e)},function(t,e){function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.ActionBarValidator=e.ReportBarsValidator=void 0;var o=r(3),n=r(4),l=r(1),s=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return a(e,t),e.prototype.validate=function(e,r,i){if(null==e)return null;var a=t.prototype.validate.call(this,e,r,i);if(a)return a;var n=[{field:"actionBar",validators:[l.Validators.actionBarValidator]}];return new o.MultipleFieldsValidator(n).validate(e,r,i)},e}(n.ObjectValidator);e.ReportBarsValidator=s;var u=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return a(e,t),e.prototype.validate=function(e,r,i){if(null==e)return null;var a=t.prototype.validate.call(this,e,r,i);if(a)return a;var n=[{field:"visible",validators:[l.Validators.booleanValidator]}];return new o.MultipleFieldsValidator(n).validate(e,r,i)},e}(n.ObjectValidator);e.ActionBarValidator=u},function(t,e){Object.defineProperty(e,"__esModule",{value:!0}),e.MultipleFieldsValidator=void 0;var r=function(){function t(t){this.fieldValidatorsPairs=t}return t.prototype.validate=function(t,e,r){if(!this.fieldValidatorsPairs)return null;for(var i=e?e+"."+r:r,a=0,o=this.fieldValidatorsPairs;athis.maxValue||e0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0?"&":"?";return t+=i+e+"="+r},e.isSavedInternal=function(t,e,a){return r(this,void 0,void 0,(function(){return i(this,(function(r){switch(r.label){case 0:return r.trys.push([0,2,,3]),[4,t.get("/report/hasUnsavedChanges",{uid:e},a)];case 1:return[2,!r.sent().body];case 2:throw r.sent().body;case 3:return[2]}}))}))},e.isRDLEmbed=function(t){return t&&t.toLowerCase().indexOf("/rdlembed?")>=0},e.autoAuthInEmbedUrl=function(t){return t&&decodeURIComponent(t).toLowerCase().indexOf("autoauth=true")>=0},e.getRandomValue=o,e.getTimeDiffInMilliseconds=function(t,e){return Math.abs(t.getTime()-e.getTime())}},function(t,e){Object.defineProperty(e,"__esModule",{value:!0}),e.FilterBuilder=void 0;var r=function(){function t(){}return t.prototype.withTargetObject=function(t){return this.target=t,this},t.prototype.withColumnTarget=function(t,e){return this.target={table:t,column:e},this},t.prototype.withMeasureTarget=function(t,e){return this.target={table:t,measure:e},this},t.prototype.withHierarchyLevelTarget=function(t,e,r){return this.target={table:t,hierarchy:e,hierarchyLevel:r},this},t.prototype.withColumnAggregation=function(t,e,r){return this.target={table:t,column:e,aggregationFunction:r},this},t.prototype.withHierarchyLevelAggregationTarget=function(t,e,r,i){return this.target={table:t,hierarchy:e,hierarchyLevel:r,aggregationFunction:i},this},t}();e.FilterBuilder=r},function(t,e){Object.defineProperty(e,"__esModule",{value:!0}),e.EmbedUrlNotSupported=e.APINotSupportedForRDLError=void 0,e.APINotSupportedForRDLError="This API is currently not supported for RDL reports",e.EmbedUrlNotSupported="Embed URL is invalid for this scenario. Please use Power BI REST APIs to get the valid URL"},function(t,e,r){var i,a=this&&this.__extends||(i=function(t,e){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])})(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}),o=this&&this.__awaiter||function(t,e,r,i){return new(r||(r=Promise))((function(a,o){function n(t){try{s(i.next(t))}catch(t){o(t)}}function l(t){try{s(i.throw(t))}catch(t){o(t)}}function s(t){var e;t.done?a(t.value):(e=t.value,e instanceof r?e:new r((function(t){t(e)}))).then(n,l)}s((i=i.apply(t,e||[])).next())}))},n=this&&this.__generator||function(t,e){var r,i,a,o,n={label:0,sent:function(){if(1&a[0])throw a[1];return a[1]},trys:[],ops:[]};return o={next:l(0),throw:l(1),return:l(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function l(o){return function(l){return function(o){if(r)throw new TypeError("Generator is already executing.");for(;n;)try{if(r=1,i&&(a=2&o[0]?i.return:o[0]?i.throw||((a=i.return)&&a.call(i),0):i.next)&&!(a=a.call(i,o[1])).done)return a;switch(i=0,a&&(o=[2&o[0],a.value]),o[0]){case 0:case 1:a=o;break;case 4:return n.label++,{value:o[1],done:!1};case 5:n.label++,i=o[1],o=[0];continue;case 7:o=n.ops.pop(),n.trys.pop();continue;default:if(!(a=n.trys,(a=a.length>0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1] Date: Sun, 26 Dec 2021 15:24:13 +0000 Subject: [PATCH 082/125] Merged PR 191726: Application context improvements Add multi-iframe support Front end was changed to be backward compatible !209445 --- dist/powerbi-client.d.ts | 20 +++- dist/powerbi.js | 197 +++++++++++++++++++++++---------------- dist/powerbi.min.js | 2 +- src/embed.ts | 41 +++++++- src/service.ts | 63 ++++++------- 5 files changed, 201 insertions(+), 122 deletions(-) diff --git a/dist/powerbi-client.d.ts b/dist/powerbi-client.d.ts index 9df5d7a2..1e03f25b 100644 --- a/dist/powerbi-client.d.ts +++ b/dist/powerbi-client.d.ts @@ -190,6 +190,13 @@ declare module "embed" { * @hidden */ eventHandlers: IInternalEventHandler[]; + /** + * Gets or sets the eventHooks. + * + * @type {models.EventHooks} + * @hidden + */ + eventHooks: models.EventHooks; /** * Gets or sets the Power BI embed service. * @@ -418,6 +425,14 @@ declare module "embed" { * @returns {void} */ populateConfig(config: IBootstrapEmbedConfiguration, isBootstrap: boolean): void; + /** + * Validate EventHooks + * + * @private + * @param {models.EventHooks} eventHooks + * @hidden + */ + private validateEventHooks; /** * Adds locale parameters to embedUrl * @@ -2159,10 +2174,6 @@ declare module "service" { * @hidden */ private embedExisting; - /** - * @hidden - */ - private registerApplicationContextHook; /** * Adds an event handler for DOMContentLoaded, which searches the DOM for elements that have the 'powerbi-embed-url' attribute, * and automatically attempts to embed a powerbi component based on information from other powerbi-* attributes. @@ -2211,6 +2222,7 @@ declare module "service" { * @hidden */ handleTileEvents(event: IEvent): void; + private invokeSDKHook; /** * Given an event object, finds the embed component with the matching type and ID, and invokes its handleEvent method with the event object. * diff --git a/dist/powerbi.js b/dist/powerbi.js index 6e486539..027f96ab 100644 --- a/dist/powerbi.js +++ b/dist/powerbi.js @@ -7427,7 +7427,7 @@ var Dashboard = /** @class */ (function (_super) { var config = this.config; var dashboardId = config.id || this.element.getAttribute(Dashboard.dashboardIdAttribute) || Dashboard.findIdFromEmbedUrl(config.embedUrl); if (typeof dashboardId !== 'string' || dashboardId.length === 0) { - throw new Error("Dashboard id is required, but it was not found. You must provide an id either as part of embed configuration or as attribute '".concat(Dashboard.dashboardIdAttribute, "'.")); + throw new Error("Dashboard id is required, but it was not found. You must provide an id either as part of embed configuration or as attribute '" + Dashboard.dashboardIdAttribute + "'."); } return dashboardId; }; @@ -7819,7 +7819,7 @@ var Embed = /** @class */ (function () { */ Embed.prototype.on = function (eventName, handler) { if (this.allowedEvents.indexOf(eventName) === -1) { - throw new Error("eventName must be one of ".concat(this.allowedEvents, ". You passed: ").concat(eventName)); + throw new Error("eventName must be one of " + this.allowedEvents + ". You passed: " + eventName); } this.eventHandlers.push({ test: function (event) { return event.name === eventName; }, @@ -7890,7 +7890,7 @@ var Embed = /** @class */ (function () { Embed.prototype.getAccessToken = function (globalAccessToken) { var accessToken = this.config.accessToken || this.element.getAttribute(Embed.accessTokenAttribute) || globalAccessToken; if (!accessToken) { - throw new Error("No access token was found for element. You must specify an access token directly on the element using attribute '".concat(Embed.accessTokenAttribute, "' or specify a global token at: powerbi.accessToken.")); + throw new Error("No access token was found for element. You must specify an access token directly on the element using attribute '" + Embed.accessTokenAttribute + "' or specify a global token at: powerbi.accessToken."); } return accessToken; }; @@ -7903,7 +7903,7 @@ var Embed = /** @class */ (function () { */ Embed.prototype.populateConfig = function (config, isBootstrap) { var _this = this; - var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k; + var _a, _b, _c, _d, _e, _f, _g, _h, _j; if (this.bootstrapConfig) { this.config = (0, util_1.assign)({}, this.bootstrapConfig, config); // reset bootstrapConfig because we do not want to merge it in re-embed scenario. @@ -7938,12 +7938,35 @@ var Embed = /** @class */ (function () { else { this.config.accessToken = this.getAccessToken(this.service.accessToken); } - var registerQueryCallback = !!((_k = this.config.eventHooks) === null || _k === void 0 ? void 0 : _k.applicationContextProvider); + this.eventHooks = this.config.eventHooks; + this.validateEventHooks(this.eventHooks); delete this.config.eventHooks; - if (registerQueryCallback && this.embedtype === "report") - this.config.embedUrl = (0, util_1.addParamToUrl)(this.config.embedUrl, "registerQueryCallback", "true"); this.configChanged(isBootstrap); }; + /** + * Validate EventHooks + * + * @private + * @param {models.EventHooks} eventHooks + * @hidden + */ + Embed.prototype.validateEventHooks = function (eventHooks) { + if (!eventHooks) { + return; + } + for (var key in eventHooks) { + if (eventHooks.hasOwnProperty(key) && typeof eventHooks[key] !== 'function') { + throw new Error(key + " must be a function"); + } + } + var applicationContextProvider = eventHooks.applicationContextProvider; + if (!!applicationContextProvider) { + if (this.embedtype.toLowerCase() !== "report") { + throw new Error("applicationContextProvider is only supported in report embed"); + } + this.config.embedUrl = (0, util_1.addParamToUrl)(this.config.embedUrl, "registerQueryCallback", "true"); + } + }; /** * Adds locale parameters to embedUrl * @@ -7977,7 +8000,7 @@ var Embed = /** @class */ (function () { embedUrl = this.getDefaultEmbedUrl(this.config.hostname); } if (typeof embedUrl !== 'string' || embedUrl.length === 0) { - throw new Error("Embed Url is required, but it was not found. You must provide an embed url either as part of embed configuration or as attribute '".concat(Embed.embedUrlAttribute, "'.")); + throw new Error("Embed Url is required, but it was not found. You must provide an embed url either as part of embed configuration or as attribute '" + Embed.embedUrlAttribute + "'."); } return embedUrl; }; @@ -7995,9 +8018,9 @@ var Embed = /** @class */ (function () { throw new Error("HTTP is not allowed. HTTPS is required"); } if (hostname.indexOf("https://") === 0) { - return "".concat(hostname, "/").concat(endpoint); + return hostname + "/" + endpoint; } - return "https://".concat(hostname, "/").concat(endpoint); + return "https://" + hostname + "/" + endpoint; }; /** * Gets a unique ID from the first available location: options, attribute. @@ -8369,7 +8392,7 @@ var Page = /** @class */ (function () { switch (_a.label) { case 0: _a.trys.push([0, 2, , 3]); - return [4 /*yield*/, this.report.service.hpm.get("/report/pages/".concat(this.name, "/filters"), { uid: this.report.config.uniqueId }, this.report.iframe.contentWindow)]; + return [4 /*yield*/, this.report.service.hpm.get("/report/pages/" + this.name + "/filters", { uid: this.report.config.uniqueId }, this.report.iframe.contentWindow)]; case 1: response = _a.sent(); return [2 /*return*/, response.body]; @@ -8405,7 +8428,7 @@ var Page = /** @class */ (function () { _a.label = 1; case 1: _a.trys.push([1, 3, , 4]); - return [4 /*yield*/, this.report.service.hpm.post("/report/pages/".concat(this.name, "/filters"), updateFiltersRequest, { uid: this.report.config.uniqueId }, this.report.iframe.contentWindow)]; + return [4 /*yield*/, this.report.service.hpm.post("/report/pages/" + this.name + "/filters", updateFiltersRequest, { uid: this.report.config.uniqueId }, this.report.iframe.contentWindow)]; case 2: return [2 /*return*/, _a.sent()]; case 3: response_2 = _a.sent(); @@ -8452,7 +8475,7 @@ var Page = /** @class */ (function () { switch (_a.label) { case 0: _a.trys.push([0, 2, , 3]); - return [4 /*yield*/, this.report.service.hpm.put("/report/pages/".concat(this.name, "/filters"), filters, { uid: this.report.config.uniqueId }, this.report.iframe.contentWindow)]; + return [4 /*yield*/, this.report.service.hpm.put("/report/pages/" + this.name + "/filters", filters, { uid: this.report.config.uniqueId }, this.report.iframe.contentWindow)]; case 1: return [2 /*return*/, _a.sent()]; case 2: response_3 = _a.sent(); @@ -8479,7 +8502,7 @@ var Page = /** @class */ (function () { switch (_a.label) { case 0: _a.trys.push([0, 2, , 3]); - return [4 /*yield*/, this.report.service.hpm.delete("/report/pages/".concat(this.name), {}, { uid: this.report.config.uniqueId }, this.report.iframe.contentWindow)]; + return [4 /*yield*/, this.report.service.hpm.delete("/report/pages/" + this.name, {}, { uid: this.report.config.uniqueId }, this.report.iframe.contentWindow)]; case 1: response = _a.sent(); return [2 /*return*/, response.body]; @@ -8546,7 +8569,7 @@ var Page = /** @class */ (function () { _a.label = 1; case 1: _a.trys.push([1, 3, , 4]); - return [4 /*yield*/, this.report.service.hpm.put("/report/pages/".concat(this.name, "/name"), page, { uid: this.report.config.uniqueId }, this.report.iframe.contentWindow)]; + return [4 /*yield*/, this.report.service.hpm.put("/report/pages/" + this.name + "/name", page, { uid: this.report.config.uniqueId }, this.report.iframe.contentWindow)]; case 2: return [2 /*return*/, _a.sent()]; case 3: response_6 = _a.sent(); @@ -8579,7 +8602,7 @@ var Page = /** @class */ (function () { _a.label = 1; case 1: _a.trys.push([1, 3, , 4]); - return [4 /*yield*/, this.report.service.hpm.get("/report/pages/".concat(this.name, "/visuals"), { uid: this.report.config.uniqueId }, this.report.iframe.contentWindow)]; + return [4 /*yield*/, this.report.service.hpm.get("/report/pages/" + this.name + "/visuals", { uid: this.report.config.uniqueId }, this.report.iframe.contentWindow)]; case 2: response = _a.sent(); return [2 /*return*/, response.body @@ -8617,7 +8640,7 @@ var Page = /** @class */ (function () { _a.label = 1; case 1: _a.trys.push([1, 3, , 4]); - return [4 /*yield*/, this.report.service.hpm.get("/report/pages/".concat(this.name, "/visuals"), { uid: this.report.config.uniqueId }, this.report.iframe.contentWindow)]; + return [4 /*yield*/, this.report.service.hpm.get("/report/pages/" + this.name + "/visuals", { uid: this.report.config.uniqueId }, this.report.iframe.contentWindow)]; case 2: response = _a.sent(); visual = response.body.find(function (v) { return v.name === visualName; }); @@ -8752,7 +8775,7 @@ var Page = /** @class */ (function () { _a.label = 1; case 1: _a.trys.push([1, 3, , 4]); - return [4 /*yield*/, this.report.service.hpm.get("/report/pages/".concat(this.name, "/visuals"), { uid: this.report.config.uniqueId }, this.report.iframe.contentWindow)]; + return [4 /*yield*/, this.report.service.hpm.get("/report/pages/" + this.name + "/visuals", { uid: this.report.config.uniqueId }, this.report.iframe.contentWindow)]; case 2: response = _a.sent(); return [2 /*return*/, response.body @@ -8789,7 +8812,7 @@ var Page = /** @class */ (function () { _a.label = 1; case 1: _a.trys.push([1, 3, , 4]); - return [4 /*yield*/, this.report.service.hpm.get("/report/pages/".concat(this.name, "/layoutTypes/").concat(layoutTypeEnum), { uid: this.report.config.uniqueId }, this.report.iframe.contentWindow)]; + return [4 /*yield*/, this.report.service.hpm.get("/report/pages/" + this.name + "/layoutTypes/" + layoutTypeEnum, { uid: this.report.config.uniqueId }, this.report.iframe.contentWindow)]; case 2: response = _a.sent(); return [2 /*return*/, response.body]; @@ -9231,7 +9254,7 @@ var Report = /** @class */ (function (_super) { switch (_a.label) { case 0: _a.trys.push([0, 2, , 3]); - return [4 /*yield*/, this.service.hpm.delete("/report/pages/".concat(pageName), {}, { uid: this.config.uniqueId }, this.iframe.contentWindow)]; + return [4 /*yield*/, this.service.hpm.delete("/report/pages/" + pageName, {}, { uid: this.config.uniqueId }, this.iframe.contentWindow)]; case 1: response = _a.sent(); return [2 /*return*/, response.body]; @@ -9266,7 +9289,7 @@ var Report = /** @class */ (function (_super) { _a.label = 1; case 1: _a.trys.push([1, 3, , 4]); - return [4 /*yield*/, this.service.hpm.put("/report/pages/".concat(pageName, "/name"), page, { uid: this.config.uniqueId }, this.iframe.contentWindow)]; + return [4 /*yield*/, this.service.hpm.put("/report/pages/" + pageName + "/name", page, { uid: this.config.uniqueId }, this.iframe.contentWindow)]; case 2: response = _a.sent(); return [2 /*return*/, response.body]; @@ -9416,7 +9439,7 @@ var Report = /** @class */ (function (_super) { var config = this.config; var reportId = config.id || this.element.getAttribute(Report.reportIdAttribute) || Report.findIdFromEmbedUrl(config.embedUrl); if (typeof reportId !== 'string' || reportId.length === 0) { - throw new Error("Report id is required, but it was not found. You must provide an id either as part of embed configuration or as attribute '".concat(Report.reportIdAttribute, "'.")); + throw new Error("Report id is required, but it was not found. You must provide an id either as part of embed configuration or as attribute '" + Report.reportIdAttribute + "'."); } return reportId; }; @@ -10562,6 +10585,34 @@ var Service = /** @class */ (function () { this.hpm = hpmFactory(this.wpmp, null, config.version, config.type); this.router = routerFactory(this.wpmp); this.uniqueSessionId = utils.generateUUID(); + this.router.post('/reports/:uniqueId/eventHooks/:eventName', function (req, _res) { return __awaiter(_this, void 0, void 0, function () { + var embed, _a; + return __generator(this, function (_b) { + switch (_b.label) { + case 0: + embed = utils.find(function (embed) { + return (embed.config.uniqueId === req.params.uniqueId); + }, this.embeds); + if (!embed) { + return [2 /*return*/]; + } + _a = req.params.eventName; + switch (_a) { + case "preQuery": return [3 /*break*/, 1]; + } + return [3 /*break*/, 3]; + case 1: + req.body = req.body || {}; + req.body.report = embed; + return [4 /*yield*/, this.invokeSDKHook(embed.eventHooks.applicationContextProvider, req, _res)]; + case 2: + _b.sent(); + return [3 /*break*/, 4]; + case 3: return [3 /*break*/, 4]; + case 4: return [2 /*return*/]; + } + }); + }); }); /** * Adds handler for report events. */ @@ -10668,7 +10719,7 @@ var Service = /** @class */ (function () { var _this = this; if (config === void 0) { config = undefined; } container = (container && container instanceof HTMLElement) ? container : document.body; - var elements = Array.prototype.slice.call(container.querySelectorAll("[".concat(embed_1.Embed.embedUrlAttribute, "]"))); + var elements = Array.prototype.slice.call(container.querySelectorAll("[" + embed_1.Embed.embedUrlAttribute + "]")); return elements.map(function (element) { return _this.embed(element, config); }); }; /** @@ -10682,7 +10733,6 @@ var Service = /** @class */ (function () { */ Service.prototype.embed = function (element, config) { if (config === void 0) { config = {}; } - this.registerApplicationContextHook(config); return this.embedInternal(element, config); }; /** @@ -10697,7 +10747,6 @@ var Service = /** @class */ (function () { */ Service.prototype.load = function (element, config) { if (config === void 0) { config = {}; } - this.registerApplicationContextHook(config); return this.embedInternal(element, config, /* phasedRender */ true, /* isBootstrap */ false); }; /** @@ -10707,7 +10756,6 @@ var Service = /** @class */ (function () { * @param {IBootstrapEmbedConfiguration} config: a bootstrap config which is an embed config without access token. */ Service.prototype.bootstrap = function (element, config) { - this.registerApplicationContextHook(config); return this.embedInternal(element, config, /* phasedRender */ false, /* isBootstrap */ true); }; /** @hidden */ @@ -10717,7 +10765,7 @@ var Service = /** @class */ (function () { var powerBiElement = element; if (powerBiElement.powerBiEmbed) { if (isBootstrap) { - throw new Error("Attempted to bootstrap element ".concat(element.outerHTML, ", but the element is already a powerbi element.")); + throw new Error("Attempted to bootstrap element " + element.outerHTML + ", but the element is already a powerbi element."); } component = this.embedExisting(powerBiElement, config, phasedRender); } @@ -10749,13 +10797,13 @@ var Service = /** @class */ (function () { Service.prototype.embedNew = function (element, config, phasedRender, isBootstrap) { var componentType = config.type || element.getAttribute(embed_1.Embed.typeAttribute); if (!componentType) { - throw new Error("Attempted to embed using config ".concat(JSON.stringify(config), " on element ").concat(element.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 '").concat(embed_1.Embed.typeAttribute, "=\"").concat(report_1.Report.type.toLowerCase(), "\"'.")); + throw new Error("Attempted to embed using config " + JSON.stringify(config) + " on element " + element.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 '" + embed_1.Embed.typeAttribute + "=\"" + report_1.Report.type.toLowerCase() + "\"'."); } // Saves the type as part of the configuration so that it can be referenced later at a known location. config.type = componentType; var Component = utils.find(function (embedComponent) { return componentType === embedComponent.type.toLowerCase(); }, Service.components); if (!Component) { - throw new Error("Attempted to embed component of type: ".concat(componentType, " but did not find any matching component. Please verify the type you specified is intended.")); + throw new Error("Attempted to embed component of type: " + componentType + " but did not find any matching component. Please verify the type you specified is intended."); } var component = new Component(this, element, config, phasedRender, isBootstrap); element.powerBiEmbed = component; @@ -10774,7 +10822,7 @@ var Service = /** @class */ (function () { Service.prototype.embedExisting = function (element, config, phasedRender) { var component = utils.find(function (x) { return x.element === element; }, this.embeds); if (!component) { - throw new Error("Attempted to embed using config ".concat(JSON.stringify(config), " on element ").concat(element.outerHTML, " which already has embedded component associated, but could not find the existing component 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.")); + throw new Error("Attempted to embed using config " + JSON.stringify(config) + " on element " + element.outerHTML + " which already has embedded component associated, but could not find the existing component 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."); } // TODO: Multiple embedding to the same iframe is not supported in QnA if (config.type && config.type.toLowerCase() === "qna") { @@ -10797,49 +10845,12 @@ var Service = /** @class */ (function () { this.addOrOverwriteEmbed(component, element); return report; } - 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 ".concat(JSON.stringify(config), " on element ").concat(element.outerHTML, ", but the existing element contains an embed of type: ").concat(this.config.type, " which does not match the new type: ").concat(config.type)); + 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(config) + " on element " + element.outerHTML + ", but the existing element contains an embed of type: " + this.config.type + " which does not match the new type: " + config.type); } component.populateConfig(config, /* isBootstrap */ false); component.load(phasedRender); return component; }; - /** - * @hidden - */ - Service.prototype.registerApplicationContextHook = function (config) { - var _this = this; - var _a; - var applicationContextProvider = (_a = config === null || config === void 0 ? void 0 : config.eventHooks) === null || _a === void 0 ? void 0 : _a.applicationContextProvider; - if (!applicationContextProvider) { - return; - } - if ((config === null || config === void 0 ? void 0 : config.type.toLowerCase()) !== "report") { - throw new Error("applicationContextProvider is only supported in report embed"); - } - if (typeof applicationContextProvider !== 'function') { - throw new Error("applicationContextProvider must be a function"); - } - this.router.post("preQuery", function (req, _res) { return __awaiter(_this, void 0, void 0, function () { - var result, error_1; - return __generator(this, function (_a) { - switch (_a.label) { - case 0: - _a.trys.push([0, 2, , 3]); - return [4 /*yield*/, applicationContextProvider(req.body)]; - case 1: - result = _a.sent(); - _res.send(200, result); - return [3 /*break*/, 3]; - case 2: - error_1 = _a.sent(); - _res.send(400, null); - console.error(error_1); - return [3 /*break*/, 3]; - case 3: return [2 /*return*/]; - } - }); - }); }); - }; /** * Adds an event handler for DOMContentLoaded, which searches the DOM for elements that have the 'powerbi-embed-url' attribute, * and automatically attempts to embed a powerbi component based on information from other powerbi-* attributes. @@ -10862,7 +10873,7 @@ var Service = /** @class */ (function () { Service.prototype.get = function (element) { var powerBiElement = element; if (!powerBiElement.powerBiEmbed) { - throw new Error("You attempted to get an instance of powerbi component associated with element: ".concat(element.outerHTML, " but there was no associated instance.")); + throw new Error("You attempted to get an instance of powerbi component associated with element: " + element.outerHTML + " but there was no associated instance."); } return powerBiElement.powerBiEmbed; }; @@ -10938,6 +10949,28 @@ var Service = /** @class */ (function () { this.handleEvent(event); } }; + Service.prototype.invokeSDKHook = function (hook, req, res) { + return __awaiter(this, void 0, void 0, function () { + var result, error_1; + return __generator(this, function (_a) { + switch (_a.label) { + case 0: + _a.trys.push([0, 2, , 3]); + return [4 /*yield*/, hook(req.body)]; + case 1: + result = _a.sent(); + res.send(200, result); + return [3 /*break*/, 3]; + case 2: + error_1 = _a.sent(); + res.send(400, null); + console.error(error_1); + return [3 /*break*/, 3]; + case 3: return [2 /*return*/]; + } + }); + }); + }; /** * Given an event object, finds the embed component with the matching type and ID, and invokes its handleEvent method with the event object. * @@ -10955,7 +10988,7 @@ var Service = /** @class */ (function () { var pageKey = 'newPage'; var page = value[pageKey]; if (!page) { - throw new Error("Page model not found at 'event.value.".concat(pageKey, "'.")); + throw new Error("Page model not found at 'event.value." + pageKey + "'."); } value[pageKey] = new page_1.Page(embed, page.name, page.displayName, true /* isActive */); } @@ -11214,7 +11247,7 @@ exports.raiseCustomEvent = raiseCustomEvent; */ function findIndex(predicate, xs) { if (!Array.isArray(xs)) { - throw new Error("You attempted to call find with second parameter that was not an array. You passed: ".concat(xs)); + throw new Error("You attempted to call find with second parameter that was not an array. You passed: " + xs); } var index; xs.some(function (x, i) { @@ -11589,7 +11622,7 @@ var Visual = /** @class */ (function (_super) { _a.label = 1; case 1: _a.trys.push([1, 3, , 4]); - return [4 /*yield*/, this.service.hpm.get("/report/pages/".concat(config.pageName, "/visuals"), { uid: this.config.uniqueId }, this.iframe.contentWindow)]; + return [4 /*yield*/, this.service.hpm.get("/report/pages/" + config.pageName + "/visuals", { uid: this.config.uniqueId }, this.iframe.contentWindow)]; case 2: response = _a.sent(); embeddedVisuals = response.body.filter(function (pageVisual) { return pageVisual.name === config.visualName; }); @@ -11755,9 +11788,9 @@ var Visual = /** @class */ (function (_super) { case powerbi_models_1.FiltersLevel.Report: return "/report/filters"; case powerbi_models_1.FiltersLevel.Page: - return "/report/pages/".concat(config.pageName, "/filters"); + return "/report/pages/" + config.pageName + "/filters"; default: - return "/report/pages/".concat(config.pageName, "/visuals/").concat(config.visualName, "/filters"); + return "/report/pages/" + config.pageName + "/visuals/" + config.visualName + "/filters"; } }; /** @hidden */ @@ -11858,7 +11891,7 @@ var VisualDescriptor = /** @class */ (function () { switch (_a.label) { case 0: _a.trys.push([0, 2, , 3]); - return [4 /*yield*/, this.page.report.service.hpm.get("/report/pages/".concat(this.page.name, "/visuals/").concat(this.name, "/filters"), { uid: this.page.report.config.uniqueId }, this.page.report.iframe.contentWindow)]; + return [4 /*yield*/, this.page.report.service.hpm.get("/report/pages/" + this.page.name + "/visuals/" + this.name + "/filters", { uid: this.page.report.config.uniqueId }, this.page.report.iframe.contentWindow)]; case 1: response = _a.sent(); return [2 /*return*/, response.body]; @@ -11894,7 +11927,7 @@ var VisualDescriptor = /** @class */ (function () { _a.label = 1; case 1: _a.trys.push([1, 3, , 4]); - return [4 /*yield*/, this.page.report.service.hpm.post("/report/pages/".concat(this.page.name, "/visuals/").concat(this.name, "/filters"), updateFiltersRequest, { uid: this.page.report.config.uniqueId }, this.page.report.iframe.contentWindow)]; + return [4 /*yield*/, this.page.report.service.hpm.post("/report/pages/" + this.page.name + "/visuals/" + this.name + "/filters", updateFiltersRequest, { uid: this.page.report.config.uniqueId }, this.page.report.iframe.contentWindow)]; case 2: return [2 /*return*/, _a.sent()]; case 3: response_2 = _a.sent(); @@ -11941,7 +11974,7 @@ var VisualDescriptor = /** @class */ (function () { switch (_a.label) { case 0: _a.trys.push([0, 2, , 3]); - return [4 /*yield*/, this.page.report.service.hpm.put("/report/pages/".concat(this.page.name, "/visuals/").concat(this.name, "/filters"), filters, { uid: this.page.report.config.uniqueId }, this.page.report.iframe.contentWindow)]; + return [4 /*yield*/, this.page.report.service.hpm.put("/report/pages/" + this.page.name + "/visuals/" + this.name + "/filters", filters, { uid: this.page.report.config.uniqueId }, this.page.report.iframe.contentWindow)]; case 1: return [2 /*return*/, _a.sent()]; case 2: response_3 = _a.sent(); @@ -11977,7 +12010,7 @@ var VisualDescriptor = /** @class */ (function () { _a.label = 1; case 1: _a.trys.push([1, 3, , 4]); - return [4 /*yield*/, this.page.report.service.hpm.post("/report/pages/".concat(this.page.name, "/visuals/").concat(this.name, "/exportData"), exportDataRequestBody, { uid: this.page.report.config.uniqueId }, this.page.report.iframe.contentWindow)]; + return [4 /*yield*/, this.page.report.service.hpm.post("/report/pages/" + this.page.name + "/visuals/" + this.name + "/exportData", exportDataRequestBody, { uid: this.page.report.config.uniqueId }, this.page.report.iframe.contentWindow)]; case 2: response = _a.sent(); return [2 /*return*/, response.body]; @@ -12006,7 +12039,7 @@ var VisualDescriptor = /** @class */ (function () { switch (_a.label) { case 0: _a.trys.push([0, 2, , 3]); - return [4 /*yield*/, this.page.report.service.hpm.put("/report/pages/".concat(this.page.name, "/visuals/").concat(this.name, "/slicer"), state, { uid: this.page.report.config.uniqueId }, this.page.report.iframe.contentWindow)]; + return [4 /*yield*/, this.page.report.service.hpm.put("/report/pages/" + this.page.name + "/visuals/" + this.name + "/slicer", state, { uid: this.page.report.config.uniqueId }, this.page.report.iframe.contentWindow)]; case 1: return [2 /*return*/, _a.sent()]; case 2: response_5 = _a.sent(); @@ -12034,7 +12067,7 @@ var VisualDescriptor = /** @class */ (function () { switch (_a.label) { case 0: _a.trys.push([0, 2, , 3]); - return [4 /*yield*/, this.page.report.service.hpm.get("/report/pages/".concat(this.page.name, "/visuals/").concat(this.name, "/slicer"), { uid: this.page.report.config.uniqueId }, this.page.report.iframe.contentWindow)]; + return [4 /*yield*/, this.page.report.service.hpm.get("/report/pages/" + this.page.name + "/visuals/" + this.name + "/slicer", { uid: this.page.report.config.uniqueId }, this.page.report.iframe.contentWindow)]; case 1: response = _a.sent(); return [2 /*return*/, response.body]; @@ -12059,7 +12092,7 @@ var VisualDescriptor = /** @class */ (function () { switch (_a.label) { case 0: _a.trys.push([0, 2, , 3]); - return [4 /*yield*/, this.page.report.service.hpm.post("/report/pages/".concat(this.page.name, "/visuals/").concat(this.name, "/clone"), request, { uid: this.page.report.config.uniqueId }, this.page.report.iframe.contentWindow)]; + return [4 /*yield*/, this.page.report.service.hpm.post("/report/pages/" + this.page.name + "/visuals/" + this.name + "/clone", request, { uid: this.page.report.config.uniqueId }, this.page.report.iframe.contentWindow)]; case 1: response = _a.sent(); return [2 /*return*/, response.body]; @@ -12088,7 +12121,7 @@ var VisualDescriptor = /** @class */ (function () { switch (_a.label) { case 0: _a.trys.push([0, 2, , 3]); - return [4 /*yield*/, this.page.report.service.hpm.put("/report/pages/".concat(this.page.name, "/visuals/").concat(this.name, "/sortBy"), request, { uid: this.page.report.config.uniqueId }, this.page.report.iframe.contentWindow)]; + return [4 /*yield*/, this.page.report.service.hpm.put("/report/pages/" + this.page.name + "/visuals/" + this.name + "/sortBy", request, { uid: this.page.report.config.uniqueId }, this.page.report.iframe.contentWindow)]; case 1: return [2 /*return*/, _a.sent()]; case 2: response_8 = _a.sent(); diff --git a/dist/powerbi.min.js b/dist/powerbi.min.js index 4bb1710c..aef576e2 100644 --- a/dist/powerbi.min.js +++ b/dist/powerbi.min.js @@ -1,7 +1,7 @@ // powerbi-client v2.18.7 // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. -!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){var e={};function r(i){if(e[i])return e[i].exports;var a=e[i]={i:i,l:!1,exports:{}};return t[i].call(a.exports,a,a.exports,r),a.l=!0,a.exports}return r.m=t,r.c=e,r.d=function(t,e,i){r.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:i})},r.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},r.t=function(t,e){if(1&e&&(t=r(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var i=Object.create(null);if(r.r(i),Object.defineProperty(i,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var a in t)r.d(i,a,function(e){return t[e]}.bind(null,a));return i},r.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return r.d(e,"a",e),e},r.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},r.p="",r(r.s=13)}([function(t,e,r){var i;i=function(){return function(t){var e={};function r(i){if(e[i])return e[i].exports;var a=e[i]={i:i,l:!1,exports:{}};return t[i].call(a.exports,a,a.exports,r),a.l=!0,a.exports}return r.m=t,r.c=e,r.d=function(t,e,i){r.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:i})},r.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},r.t=function(t,e){if(1&e&&(t=r(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var i=Object.create(null);if(r.r(i),Object.defineProperty(i,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var a in t)r.d(i,a,function(e){return t[e]}.bind(null,a));return i},r.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return r.d(e,"a",e),e},r.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},r.p="",r(r.s=0)}([function(t,e,r){var i,a=this&&this.__extends||(i=function(t,e){return(i=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])})(t,e)},function(t,e){function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.validateZoomLevel=e.validateCustomTheme=e.validateCommandsSettings=e.validateVisualSettings=e.validateVisualHeader=e.validateExportDataRequest=e.validateQnaInterpretInputData=e.validateLoadQnaConfiguration=e.validateSaveAsParameters=e.validateUpdateFiltersRequest=e.validateFilter=e.validatePage=e.validateTileLoad=e.validateDashboardLoad=e.validateCreateReport=e.validatePaginatedReportLoad=e.validateReportLoad=e.validateMenuGroupExtension=e.validateExtension=e.validateCustomPageSize=e.validateVisualizationsPane=e.validateSyncSlicersPane=e.validateSelectionPane=e.validatePageNavigationPane=e.validateFieldsPane=e.validateFiltersPane=e.validateBookmarksPane=e.validatePanes=e.validateSettings=e.validateCaptureBookmarkRequest=e.validateApplyBookmarkStateRequest=e.validateApplyBookmarkByNameRequest=e.validateAddBookmarkRequest=e.validatePlayBookmarkRequest=e.validateSlicerState=e.validateSlicer=e.validateVisualSelector=e.isIExtensionArray=e.isIExtensions=e.isGroupedMenuExtension=e.isFlatMenuExtension=e.isReportFiltersArray=e.isOnLoadFilters=e.VisualDataRoleKindPreference=e.VisualDataRoleKind=e.CommandDisplayOption=e.SlicerTargetSelector=e.VisualTypeSelector=e.VisualSelector=e.PageSelector=e.Selector=e.SortDirection=e.LegendPosition=e.TextAlignment=e.CommonErrorCodes=e.BookmarksPlayMode=e.ExportDataType=e.QnaMode=e.PageNavigationPosition=e.isColumnAggr=e.isHierarchyLevelAggr=e.isHierarchyLevel=e.isColumn=e.isMeasure=e.getFilterType=e.isBasicFilterWithKeys=e.isFilterKeyColumnsTarget=e.AdvancedFilter=e.TupleFilter=e.IdentityFilter=e.BasicFilterWithKeys=e.BasicFilter=e.RelativeTimeFilter=e.RelativeDateFilter=e.TopNFilter=e.IncludeExcludeFilter=e.NotSupportedFilter=e.Filter=e.RelativeDateOperators=e.RelativeDateFilterTimeUnit=e.FilterType=e.FiltersLevel=e.FiltersOperations=e.MenuLocation=e.ContrastMode=e.TokenType=e.ViewMode=e.Permissions=e.SectionVisibility=e.ReportAlignment=e.HyperlinkClickBehavior=e.LayoutType=e.VisualContainerDisplayMode=e.BackgroundType=e.DisplayOption=e.PageSizeType=e.TraceType=void 0;var o,n=r(1);!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"}(e.TraceType||(e.TraceType={})),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",t[t.Mobile=5]="Mobile"}(e.PageSizeType||(e.PageSizeType={})),function(t){t[t.FitToPage=0]="FitToPage",t[t.FitToWidth=1]="FitToWidth",t[t.ActualSize=2]="ActualSize"}(e.DisplayOption||(e.DisplayOption={})),function(t){t[t.Default=0]="Default",t[t.Transparent=1]="Transparent"}(e.BackgroundType||(e.BackgroundType={})),function(t){t[t.Visible=0]="Visible",t[t.Hidden=1]="Hidden"}(e.VisualContainerDisplayMode||(e.VisualContainerDisplayMode={})),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={})),function(t){t[t.Navigate=0]="Navigate",t[t.NavigateAndRaiseEvent=1]="NavigateAndRaiseEvent",t[t.RaiseEvent=2]="RaiseEvent"}(e.HyperlinkClickBehavior||(e.HyperlinkClickBehavior={})),function(t){t[t.Left=0]="Left",t[t.Center=1]="Center",t[t.Right=2]="Right",t[t.None=3]="None"}(e.ReportAlignment||(e.ReportAlignment={})),function(t){t[t.AlwaysVisible=0]="AlwaysVisible",t[t.HiddenInViewMode=1]="HiddenInViewMode"}(e.SectionVisibility||(e.SectionVisibility={})),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"}(e.Permissions||(e.Permissions={})),function(t){t[t.View=0]="View",t[t.Edit=1]="Edit"}(e.ViewMode||(e.ViewMode={})),function(t){t[t.Aad=0]="Aad",t[t.Embed=1]="Embed"}(e.TokenType||(e.TokenType={})),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"}(e.ContrastMode||(e.ContrastMode={})),function(t){t[t.Bottom=0]="Bottom",t[t.Top=1]="Top"}(e.MenuLocation||(e.MenuLocation={})),function(t){t[t.RemoveAll=0]="RemoveAll",t[t.ReplaceAll=1]="ReplaceAll",t[t.Add=2]="Add",t[t.Replace=3]="Replace"}(e.FiltersOperations||(e.FiltersOperations={})),function(t){t[t.Report=0]="Report",t[t.Page=1]="Page",t[t.Visual=2]="Visual"}(e.FiltersLevel||(e.FiltersLevel={})),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",t[t.Identity=8]="Identity"}(o=e.FilterType||(e.FilterType={})),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"}(e.RelativeDateFilterTimeUnit||(e.RelativeDateFilterTimeUnit={})),function(t){t[t.InLast=0]="InLast",t[t.InThis=1]="InThis",t[t.InNext=2]="InNext"}(e.RelativeDateOperators||(e.RelativeDateOperators={}));var l=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=l;var s=function(t){function e(r,i,a){var n=t.call(this,r,o.Unknown)||this;return n.message=i,n.notSupportedTypeName=a,n.schemaUrl=e.schemaUrl,n}return a(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}(l);e.NotSupportedFilter=s;var u=function(t){function e(r,i,a){var n=t.call(this,r,o.IncludeExclude)||this;return n.values=a,n.isExclude=i,n.schemaUrl=e.schemaUrl,n}return a(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}(l);e.IncludeExcludeFilter=u;var d=function(t){function e(r,i,a,n){var l=t.call(this,r,o.TopN)||this;return l.operator=i,l.itemCount=a,l.schemaUrl=e.schemaUrl,l.orderBy=n,l}return a(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}(l);e.TopNFilter=d;var c=function(t){function e(r,i,a,n,l){var s=t.call(this,r,o.RelativeDate)||this;return s.operator=i,s.timeUnitsCount=a,s.timeUnitType=n,s.includeToday=l,s.schemaUrl=e.schemaUrl,s}return a(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}(l);e.RelativeDateFilter=c;var p=function(t){function e(r,i,a,n){var l=t.call(this,r,o.RelativeTime)||this;return l.operator=i,l.timeUnitsCount=a,l.timeUnitType=n,l.schemaUrl=e.schemaUrl,l}return a(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}(l);e.RelativeTimeFilter=p;var f=function(t){function e(r,i){for(var a=[],n=2;n0&&!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,s=o.keyValues;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 s.conditions=l,s}return a(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}(l);function V(t){if(t.filterType)return t.filterType;var e=t,r=t;return"string"==typeof e.operator&&Array.isArray(e.values)?o.Basic:"string"==typeof r.logicalOperator&&Array.isArray(r.conditions)?o.Advanced:o.Unknown}function g(t){return!(!t.table||!t.column||t.aggregationFunction)}e.AdvancedFilter=m,e.isFilterKeyColumnsTarget=function(t){return g(t)&&!!t.keys},e.isBasicFilterWithKeys=function(t){return V(t)===o.Basic&&!!t.keyValues},e.getFilterType=V,e.isMeasure=function(t){return void 0!==t.table&&void 0!==t.measure},e.isColumn=g,e.isHierarchyLevel=function(t){return!(!(t.table&&t.hierarchy&&t.hierarchyLevel)||t.aggregationFunction)},e.isHierarchyLevelAggr=function(t){return!!(t.table&&t.hierarchy&&t.hierarchyLevel&&t.aggregationFunction)},e.isColumnAggr=function(t){return!!(t.table&&t.column&&t.aggregationFunction)},function(t){t[t.Bottom=0]="Bottom",t[t.Left=1]="Left"}(e.PageNavigationPosition||(e.PageNavigationPosition={})),function(t){t[t.Interactive=0]="Interactive",t[t.ResultOnly=1]="ResultOnly"}(e.QnaMode||(e.QnaMode={})),function(t){t[t.Summarized=0]="Summarized",t[t.Underlying=1]="Underlying"}(e.ExportDataType||(e.ExportDataType={})),function(t){t[t.Off=0]="Off",t[t.Presentation=1]="Presentation"}(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"},function(t){t[t.Ascending=1]="Ascending",t[t.Descending=2]="Descending"}(e.SortDirection||(e.SortDirection={}));var b=function(){function t(t){this.$schema=t}return t.prototype.toJSON=function(){return{$schema:this.$schema}},t}();e.Selector=b;var w=function(t){function e(r){var i=t.call(this,e.schemaUrl)||this;return i.pageName=r,i}return a(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}(b);e.PageSelector=w;var P=function(t){function e(r){var i=t.call(this,e.schemaUrl)||this;return i.visualName=r,i}return a(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}(b);e.VisualSelector=P;var _=function(t){function e(e){var r=t.call(this,P.schemaUrl)||this;return r.visualType=e,r}return a(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}(b);e.VisualTypeSelector=_;var O=function(t){function e(e){var r=t.call(this,P.schemaUrl)||this;return r.target=e,r}return a(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}(b);function S(t){return Array.isArray(t)}function T(t){return t&&!!t.groupName}function E(t){return Array.isArray(t)}function F(t){var e=t.message;return e||(e=t.path+" is invalid. Not meeting "+t.keyword+" constraint"),{message:e}}e.SlicerTargetSelector=O,function(t){t[t.Enabled=0]="Enabled",t[t.Disabled=1]="Disabled",t[t.Hidden=2]="Hidden"}(e.CommandDisplayOption||(e.CommandDisplayOption={})),function(t){t[t.Grouping=0]="Grouping",t[t.Measure=1]="Measure",t[t.GroupingOrMeasure=2]="GroupingOrMeasure"}(e.VisualDataRoleKind||(e.VisualDataRoleKind={})),function(t){t[t.Measure=0]="Measure",t[t.Grouping=1]="Grouping"}(e.VisualDataRoleKindPreference||(e.VisualDataRoleKindPreference={})),e.isOnLoadFilters=function(t){return t&&!S(t)},e.isReportFiltersArray=S,e.isFlatMenuExtension=function(t){return t&&!T(t)},e.isGroupedMenuExtension=T,e.isIExtensions=function(t){return t&&!E(t)},e.isIExtensionArray=E,e.validateVisualSelector=function(t){var e=n.Validators.visualSelectorValidator.validate(t);return e?e.map(F):void 0},e.validateSlicer=function(t){var e=n.Validators.slicerValidator.validate(t);return e?e.map(F):void 0},e.validateSlicerState=function(t){var e=n.Validators.slicerStateValidator.validate(t);return e?e.map(F):void 0},e.validatePlayBookmarkRequest=function(t){var e=n.Validators.playBookmarkRequestValidator.validate(t);return e?e.map(F):void 0},e.validateAddBookmarkRequest=function(t){var e=n.Validators.addBookmarkRequestValidator.validate(t);return e?e.map(F):void 0},e.validateApplyBookmarkByNameRequest=function(t){var e=n.Validators.applyBookmarkByNameRequestValidator.validate(t);return e?e.map(F):void 0},e.validateApplyBookmarkStateRequest=function(t){var e=n.Validators.applyBookmarkStateRequestValidator.validate(t);return e?e.map(F):void 0},e.validateCaptureBookmarkRequest=function(t){var e=n.Validators.captureBookmarkRequestValidator.validate(t);return e?e.map(F):void 0},e.validateSettings=function(t){var e=n.Validators.settingsValidator.validate(t);return e?e.map(F):void 0},e.validatePanes=function(t){var e=n.Validators.reportPanesValidator.validate(t);return e?e.map(F):void 0},e.validateBookmarksPane=function(t){var e=n.Validators.bookmarksPaneValidator.validate(t);return e?e.map(F):void 0},e.validateFiltersPane=function(t){var e=n.Validators.filtersPaneValidator.validate(t);return e?e.map(F):void 0},e.validateFieldsPane=function(t){var e=n.Validators.fieldsPaneValidator.validate(t);return e?e.map(F):void 0},e.validatePageNavigationPane=function(t){var e=n.Validators.pageNavigationPaneValidator.validate(t);return e?e.map(F):void 0},e.validateSelectionPane=function(t){var e=n.Validators.selectionPaneValidator.validate(t);return e?e.map(F):void 0},e.validateSyncSlicersPane=function(t){var e=n.Validators.syncSlicersPaneValidator.validate(t);return e?e.map(F):void 0},e.validateVisualizationsPane=function(t){var e=n.Validators.visualizationsPaneValidator.validate(t);return e?e.map(F):void 0},e.validateCustomPageSize=function(t){var e=n.Validators.customPageSizeValidator.validate(t);return e?e.map(F):void 0},e.validateExtension=function(t){var e=n.Validators.extensionValidator.validate(t);return e?e.map(F):void 0},e.validateMenuGroupExtension=function(t){var e=n.Validators.menuGroupExtensionValidator.validate(t);return e?e.map(F):void 0},e.validateReportLoad=function(t){var e=n.Validators.reportLoadValidator.validate(t);return e?e.map(F):void 0},e.validatePaginatedReportLoad=function(t){var e=n.Validators.paginatedReportLoadValidator.validate(t);return e?e.map(F):void 0},e.validateCreateReport=function(t){var e=n.Validators.reportCreateValidator.validate(t);return e?e.map(F):void 0},e.validateDashboardLoad=function(t){var e=n.Validators.dashboardLoadValidator.validate(t);return e?e.map(F):void 0},e.validateTileLoad=function(t){var e=n.Validators.tileLoadValidator.validate(t);return e?e.map(F):void 0},e.validatePage=function(t){var e=n.Validators.pageValidator.validate(t);return e?e.map(F):void 0},e.validateFilter=function(t){var e=n.Validators.filterValidator.validate(t);return e?e.map(F):void 0},e.validateUpdateFiltersRequest=function(t){var e=n.Validators.updateFiltersRequestValidator.validate(t);return e?e.map(F):void 0},e.validateSaveAsParameters=function(t){var e=n.Validators.saveAsParametersValidator.validate(t);return e?e.map(F):void 0},e.validateLoadQnaConfiguration=function(t){var e=n.Validators.loadQnaValidator.validate(t);return e?e.map(F):void 0},e.validateQnaInterpretInputData=function(t){var e=n.Validators.qnaInterpretInputDataValidator.validate(t);return e?e.map(F):void 0},e.validateExportDataRequest=function(t){var e=n.Validators.exportDataRequestValidator.validate(t);return e?e.map(F):void 0},e.validateVisualHeader=function(t){var e=n.Validators.visualHeaderValidator.validate(t);return e?e.map(F):void 0},e.validateVisualSettings=function(t){var e=n.Validators.visualSettingsValidator.validate(t);return e?e.map(F):void 0},e.validateCommandsSettings=function(t){var e=n.Validators.commandsSettingsValidator.validate(t);return e?e.map(F):void 0},e.validateCustomTheme=function(t){var e=n.Validators.customThemeValidator.validate(t);return e?e.map(F):void 0},e.validateZoomLevel=function(t){var e=n.Validators.zoomLevelValidator.validate(t);return e?e.map(F):void 0}},function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.Validators=void 0;var i=r(2),a=r(5),o=r(6),n=r(7),l=r(8),s=r(9),u=r(10),d=r(11),c=r(12),p=r(13),f=r(14),h=r(15),v=r(16),y=r(17),m=r(18),V=r(19),g=r(20),b=r(21),w=r(22),P=r(23),_=r(24),O=r(25),S=r(26),T=r(27),E=r(28),F=r(29),R=r(4),x=r(30);e.Validators={addBookmarkRequestValidator:new a.AddBookmarkRequestValidator,advancedFilterTypeValidator:new R.EnumValidator([0]),advancedFilterValidator:new c.AdvancedFilterValidator,anyArrayValidator:new R.ArrayValidator([new S.AnyOfValidator([new R.StringValidator,new R.NumberValidator,new R.BooleanValidator])]),anyFilterValidator:new S.AnyOfValidator([new c.BasicFilterValidator,new c.AdvancedFilterValidator,new c.IncludeExcludeFilterValidator,new c.NotSupportedFilterValidator,new c.RelativeDateFilterValidator,new c.TopNFilterValidator,new c.RelativeTimeFilterValidator]),anyValueValidator:new S.AnyOfValidator([new R.StringValidator,new R.NumberValidator,new R.BooleanValidator]),actionBarValidator:new i.ActionBarValidator,applyBookmarkByNameRequestValidator:new a.ApplyBookmarkByNameRequestValidator,applyBookmarkStateRequestValidator:new a.ApplyBookmarkStateRequestValidator,applyBookmarkValidator:new S.AnyOfValidator([new a.ApplyBookmarkByNameRequestValidator,new a.ApplyBookmarkStateRequestValidator]),backgroundValidator:new R.EnumValidator([0,1]),basicFilterTypeValidator:new R.EnumValidator([1]),basicFilterValidator:new c.BasicFilterValidator,booleanArrayValidator:new R.BooleanArrayValidator,booleanValidator:new R.BooleanValidator,bookmarksPaneValidator:new h.BookmarksPaneValidator,captureBookmarkOptionsValidator:new a.CaptureBookmarkOptionsValidator,captureBookmarkRequestValidator:new a.CaptureBookmarkRequestValidator,commandDisplayOptionValidator:new R.EnumValidator([0,1,2]),commandExtensionSelectorValidator:new S.AnyOfValidator([new b.VisualSelectorValidator,new b.VisualTypeSelectorValidator]),commandExtensionArrayValidator:new R.ArrayValidator([new d.CommandExtensionValidator]),commandExtensionValidator:new d.CommandExtensionValidator,commandsSettingsArrayValidator:new R.ArrayValidator([new o.CommandsSettingsValidator]),commandsSettingsValidator:new o.CommandsSettingsValidator,conditionItemValidator:new c.ConditionItemValidator,contrastModeValidator:new R.EnumValidator([0,1,2,3,4]),customLayoutDisplayOptionValidator:new R.EnumValidator([0,1,2]),customLayoutValidator:new p.CustomLayoutValidator,customPageSizeValidator:new f.CustomPageSizeValidator,customThemeValidator:new n.CustomThemeValidator,dashboardLoadValidator:new l.DashboardLoadValidator,datasetBindingValidator:new s.DatasetBindingValidator,displayStateModeValidator:new R.EnumValidator([0,1]),displayStateValidator:new p.DisplayStateValidator,exportDataRequestValidator:new u.ExportDataRequestValidator,extensionArrayValidator:new R.ArrayValidator([new d.ExtensionValidator]),extensionsValidator:new S.AnyOfValidator([new R.ArrayValidator([new d.ExtensionValidator]),new d.ExtensionsValidator]),extensionPointsValidator:new d.ExtensionPointsValidator,extensionValidator:new d.ExtensionValidator,fieldForbiddenValidator:new T.FieldForbiddenValidator,fieldRequiredValidator:new E.FieldRequiredValidator,fieldsPaneValidator:new h.FieldsPaneValidator,filterColumnTargetValidator:new c.FilterColumnTargetValidator,filterDisplaySettingsValidator:new c.FilterDisplaySettingsValidator,filterConditionsValidator:new R.ArrayValidator([new c.ConditionItemValidator]),filterHierarchyTargetValidator:new c.FilterHierarchyTargetValidator,filterMeasureTargetValidator:new c.FilterMeasureTargetValidator,filterTargetValidator:new S.AnyOfValidator([new c.FilterColumnTargetValidator,new c.FilterHierarchyTargetValidator,new c.FilterMeasureTargetValidator]),filterValidator:new c.FilterValidator,filterTypeValidator:new R.EnumValidator([0,1,2,3,4,5,6,7]),filtersArrayValidator:new R.ArrayValidator([new c.FilterValidator]),filtersOperationsUpdateValidator:new R.EnumValidator([1,2,3]),filtersOperationsRemoveAllValidator:new R.EnumValidator([0]),filtersPaneValidator:new h.FiltersPaneValidator,hyperlinkClickBehaviorValidator:new R.EnumValidator([0,1,2]),includeExcludeFilterValidator:new c.IncludeExcludeFilterValidator,includeExludeFilterTypeValidator:new R.EnumValidator([3]),layoutTypeValidator:new R.EnumValidator([0,1,2,3]),loadQnaValidator:new v.LoadQnaValidator,menuExtensionValidator:new S.AnyOfValidator([new d.FlatMenuExtensionValidator,new d.GroupedMenuExtensionValidator]),menuGroupExtensionArrayValidator:new R.ArrayValidator([new d.MenuGroupExtensionValidator]),menuGroupExtensionValidator:new d.MenuGroupExtensionValidator,menuLocationValidator:new R.EnumValidator([0,1]),notSupportedFilterTypeValidator:new R.EnumValidator([2]),notSupportedFilterValidator:new c.NotSupportedFilterValidator,numberArrayValidator:new R.NumberArrayValidator,numberValidator:new R.NumberValidator,onLoadFiltersBaseValidator:new S.AnyOfValidator([new c.OnLoadFiltersBaseValidator,new c.OnLoadFiltersBaseRemoveOperationValidator]),pageLayoutValidator:new F.MapValidator([new R.StringValidator],[new p.VisualLayoutValidator]),pageNavigationPaneValidator:new h.PageNavigationPaneValidator,pageNavigationPositionValidator:new R.EnumValidator([0,1]),pageSizeTypeValidator:new R.EnumValidator([0,1,2,3,4,5]),pageSizeValidator:new f.PageSizeValidator,pageValidator:new f.PageValidator,pageViewFieldValidator:new f.PageViewFieldValidator,pagesLayoutValidator:new F.MapValidator([new R.StringValidator],[new p.PageLayoutValidator]),paginatedReportCommandsValidator:new o.PaginatedReportCommandsValidator,paginatedReportLoadValidator:new V.PaginatedReportLoadValidator,paginatedReportsettingsValidator:new w.PaginatedReportSettingsValidator,parametersPanelValidator:new x.ParametersPanelValidator,permissionsValidator:new R.EnumValidator([0,1,2,4,7]),playBookmarkRequestValidator:new a.PlayBookmarkRequestValidator,qnaInterpretInputDataValidator:new v.QnaInterpretInputDataValidator,qnaPanesValidator:new h.QnaPanesValidator,qnaSettingValidator:new v.QnaSettingsValidator,relativeDateFilterOperatorValidator:new R.EnumValidator([0,1,2]),relativeDateFilterTimeUnitTypeValidator:new R.EnumValidator([0,1,2,3,4,5,6]),relativeDateFilterTypeValidator:new R.EnumValidator([4]),relativeDateFilterValidator:new c.RelativeDateFilterValidator,relativeDateTimeFilterTypeValidator:new R.EnumValidator([4,7]),relativeDateTimeFilterUnitTypeValidator:new R.EnumValidator([0,1,2,3,4,5,6,7,8]),relativeTimeFilterTimeUnitTypeValidator:new R.EnumValidator([7,8]),relativeTimeFilterTypeValidator:new R.EnumValidator([7]),relativeTimeFilterValidator:new c.RelativeTimeFilterValidator,reportBarsValidator:new i.ReportBarsValidator,reportCreateValidator:new y.ReportCreateValidator,reportLoadFiltersValidator:new S.AnyOfValidator([new R.ArrayValidator([new c.FilterValidator]),new c.OnLoadFiltersValidator]),reportLoadValidator:new m.ReportLoadValidator,reportPanesValidator:new h.ReportPanesValidator,saveAsParametersValidator:new g.SaveAsParametersValidator,selectionPaneValidator:new h.SelectionPaneValidator,settingsValidator:new w.SettingsValidator,singleCommandSettingsValidator:new o.SingleCommandSettingsValidator,slicerSelectorValidator:new S.AnyOfValidator([new b.VisualSelectorValidator,new b.SlicerTargetSelectorValidator]),slicerStateValidator:new P.SlicerStateValidator,slicerTargetValidator:new S.AnyOfValidator([new c.FilterColumnTargetValidator,new c.FilterHierarchyTargetValidator,new c.FilterMeasureTargetValidator,new c.FilterKeyColumnsTargetValidator,new c.FilterKeyHierarchyTargetValidator]),slicerValidator:new P.SlicerValidator,stringArrayValidator:new R.StringArrayValidator,stringValidator:new R.StringValidator,syncSlicersPaneValidator:new h.SyncSlicersPaneValidator,tileLoadValidator:new _.TileLoadValidator,tokenTypeValidator:new R.EnumValidator([0,1]),topNFilterTypeValidator:new R.EnumValidator([5]),topNFilterValidator:new c.TopNFilterValidator,updateFiltersRequestValidator:new S.AnyOfValidator([new c.UpdateFiltersRequestValidator,new c.RemoveFiltersRequestValidator]),viewModeValidator:new R.EnumValidator([0,1]),visualCommandSelectorValidator:new S.AnyOfValidator([new b.VisualSelectorValidator,new b.VisualTypeSelectorValidator]),visualHeaderSelectorValidator:new S.AnyOfValidator([new b.VisualSelectorValidator,new b.VisualTypeSelectorValidator]),visualHeaderSettingsValidator:new O.VisualHeaderSettingsValidator,visualHeaderValidator:new O.VisualHeaderValidator,visualHeadersValidator:new R.ArrayValidator([new O.VisualHeaderValidator]),visualizationsPaneValidator:new h.VisualizationsPaneValidator,visualLayoutValidator:new p.VisualLayoutValidator,visualSelectorValidator:new b.VisualSelectorValidator,visualSettingsValidator:new O.VisualSettingsValidator,visualTypeSelectorValidator:new b.VisualTypeSelectorValidator,zoomLevelValidator:new R.RangeValidator(.25,4)}},function(t,e,r){var i,a=this&&this.__extends||(i=function(t,e){return(i=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])})(t,e)},function(t,e){function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.ActionBarValidator=e.ReportBarsValidator=void 0;var o=r(3),n=r(4),l=r(1),s=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return a(e,t),e.prototype.validate=function(e,r,i){if(null==e)return null;var a=t.prototype.validate.call(this,e,r,i);if(a)return a;var n=[{field:"actionBar",validators:[l.Validators.actionBarValidator]}];return new o.MultipleFieldsValidator(n).validate(e,r,i)},e}(n.ObjectValidator);e.ReportBarsValidator=s;var u=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return a(e,t),e.prototype.validate=function(e,r,i){if(null==e)return null;var a=t.prototype.validate.call(this,e,r,i);if(a)return a;var n=[{field:"visible",validators:[l.Validators.booleanValidator]}];return new o.MultipleFieldsValidator(n).validate(e,r,i)},e}(n.ObjectValidator);e.ActionBarValidator=u},function(t,e){Object.defineProperty(e,"__esModule",{value:!0}),e.MultipleFieldsValidator=void 0;var r=function(){function t(t){this.fieldValidatorsPairs=t}return t.prototype.validate=function(t,e,r){if(!this.fieldValidatorsPairs)return null;for(var i=e?e+"."+r:r,a=0,o=this.fieldValidatorsPairs;athis.maxValue||e0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0?"&":"?";return t+=i+e+"="+r},e.isSavedInternal=function(t,e,a){return r(this,void 0,void 0,(function(){return i(this,(function(r){switch(r.label){case 0:return r.trys.push([0,2,,3]),[4,t.get("/report/hasUnsavedChanges",{uid:e},a)];case 1:return[2,!r.sent().body];case 2:throw r.sent().body;case 3:return[2]}}))}))},e.isRDLEmbed=function(t){return t&&t.toLowerCase().indexOf("/rdlembed?")>=0},e.autoAuthInEmbedUrl=function(t){return t&&decodeURIComponent(t).toLowerCase().indexOf("autoauth=true")>=0},e.getRandomValue=o,e.getTimeDiffInMilliseconds=function(t,e){return Math.abs(t.getTime()-e.getTime())}},function(t,e){Object.defineProperty(e,"__esModule",{value:!0}),e.FilterBuilder=void 0;var r=function(){function t(){}return t.prototype.withTargetObject=function(t){return this.target=t,this},t.prototype.withColumnTarget=function(t,e){return this.target={table:t,column:e},this},t.prototype.withMeasureTarget=function(t,e){return this.target={table:t,measure:e},this},t.prototype.withHierarchyLevelTarget=function(t,e,r){return this.target={table:t,hierarchy:e,hierarchyLevel:r},this},t.prototype.withColumnAggregation=function(t,e,r){return this.target={table:t,column:e,aggregationFunction:r},this},t.prototype.withHierarchyLevelAggregationTarget=function(t,e,r,i){return this.target={table:t,hierarchy:e,hierarchyLevel:r,aggregationFunction:i},this},t}();e.FilterBuilder=r},function(t,e){Object.defineProperty(e,"__esModule",{value:!0}),e.EmbedUrlNotSupported=e.APINotSupportedForRDLError=void 0,e.APINotSupportedForRDLError="This API is currently not supported for RDL reports",e.EmbedUrlNotSupported="Embed URL is invalid for this scenario. Please use Power BI REST APIs to get the valid URL"},function(t,e,r){var i,a=this&&this.__extends||(i=function(t,e){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])})(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}),o=this&&this.__awaiter||function(t,e,r,i){return new(r||(r=Promise))((function(a,o){function n(t){try{s(i.next(t))}catch(t){o(t)}}function l(t){try{s(i.throw(t))}catch(t){o(t)}}function s(t){var e;t.done?a(t.value):(e=t.value,e instanceof r?e:new r((function(t){t(e)}))).then(n,l)}s((i=i.apply(t,e||[])).next())}))},n=this&&this.__generator||function(t,e){var r,i,a,o,n={label:0,sent:function(){if(1&a[0])throw a[1];return a[1]},trys:[],ops:[]};return o={next:l(0),throw:l(1),return:l(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function l(o){return function(l){return function(o){if(r)throw new TypeError("Generator is already executing.");for(;n;)try{if(r=1,i&&(a=2&o[0]?i.return:o[0]?i.throw||((a=i.return)&&a.call(i),0):i.next)&&!(a=a.call(i,o[1])).done)return a;switch(i=0,a&&(o=[2&o[0],a.value]),o[0]){case 0:case 1:a=o;break;case 4:return n.label++,{value:o[1],done:!1};case 5:n.label++,i=o[1],o=[0];continue;case 7:o=n.ops.pop(),n.trys.pop();continue;default:if(!(a=n.trys,(a=a.length>0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&!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,s=o.keyValues;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 s.conditions=l,s}return a(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}(l);function V(t){if(t.filterType)return t.filterType;var e=t,r=t;return"string"==typeof e.operator&&Array.isArray(e.values)?o.Basic:"string"==typeof r.logicalOperator&&Array.isArray(r.conditions)?o.Advanced:o.Unknown}function g(t){return!(!t.table||!t.column||t.aggregationFunction)}e.AdvancedFilter=m,e.isFilterKeyColumnsTarget=function(t){return g(t)&&!!t.keys},e.isBasicFilterWithKeys=function(t){return V(t)===o.Basic&&!!t.keyValues},e.getFilterType=V,e.isMeasure=function(t){return void 0!==t.table&&void 0!==t.measure},e.isColumn=g,e.isHierarchyLevel=function(t){return!(!(t.table&&t.hierarchy&&t.hierarchyLevel)||t.aggregationFunction)},e.isHierarchyLevelAggr=function(t){return!!(t.table&&t.hierarchy&&t.hierarchyLevel&&t.aggregationFunction)},e.isColumnAggr=function(t){return!!(t.table&&t.column&&t.aggregationFunction)},function(t){t[t.Bottom=0]="Bottom",t[t.Left=1]="Left"}(e.PageNavigationPosition||(e.PageNavigationPosition={})),function(t){t[t.Interactive=0]="Interactive",t[t.ResultOnly=1]="ResultOnly"}(e.QnaMode||(e.QnaMode={})),function(t){t[t.Summarized=0]="Summarized",t[t.Underlying=1]="Underlying"}(e.ExportDataType||(e.ExportDataType={})),function(t){t[t.Off=0]="Off",t[t.Presentation=1]="Presentation"}(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"},function(t){t[t.Ascending=1]="Ascending",t[t.Descending=2]="Descending"}(e.SortDirection||(e.SortDirection={}));var b=function(){function t(t){this.$schema=t}return t.prototype.toJSON=function(){return{$schema:this.$schema}},t}();e.Selector=b;var w=function(t){function e(r){var i=t.call(this,e.schemaUrl)||this;return i.pageName=r,i}return a(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}(b);e.PageSelector=w;var P=function(t){function e(r){var i=t.call(this,e.schemaUrl)||this;return i.visualName=r,i}return a(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}(b);e.VisualSelector=P;var _=function(t){function e(e){var r=t.call(this,P.schemaUrl)||this;return r.visualType=e,r}return a(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}(b);e.VisualTypeSelector=_;var O=function(t){function e(e){var r=t.call(this,P.schemaUrl)||this;return r.target=e,r}return a(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}(b);function S(t){return Array.isArray(t)}function T(t){return t&&!!t.groupName}function E(t){return Array.isArray(t)}function F(t){var e=t.message;return e||(e=t.path+" is invalid. Not meeting "+t.keyword+" constraint"),{message:e}}e.SlicerTargetSelector=O,function(t){t[t.Enabled=0]="Enabled",t[t.Disabled=1]="Disabled",t[t.Hidden=2]="Hidden"}(e.CommandDisplayOption||(e.CommandDisplayOption={})),function(t){t[t.Grouping=0]="Grouping",t[t.Measure=1]="Measure",t[t.GroupingOrMeasure=2]="GroupingOrMeasure"}(e.VisualDataRoleKind||(e.VisualDataRoleKind={})),function(t){t[t.Measure=0]="Measure",t[t.Grouping=1]="Grouping"}(e.VisualDataRoleKindPreference||(e.VisualDataRoleKindPreference={})),e.isOnLoadFilters=function(t){return t&&!S(t)},e.isReportFiltersArray=S,e.isFlatMenuExtension=function(t){return t&&!T(t)},e.isGroupedMenuExtension=T,e.isIExtensions=function(t){return t&&!E(t)},e.isIExtensionArray=E,e.validateVisualSelector=function(t){var e=n.Validators.visualSelectorValidator.validate(t);return e?e.map(F):void 0},e.validateSlicer=function(t){var e=n.Validators.slicerValidator.validate(t);return e?e.map(F):void 0},e.validateSlicerState=function(t){var e=n.Validators.slicerStateValidator.validate(t);return e?e.map(F):void 0},e.validatePlayBookmarkRequest=function(t){var e=n.Validators.playBookmarkRequestValidator.validate(t);return e?e.map(F):void 0},e.validateAddBookmarkRequest=function(t){var e=n.Validators.addBookmarkRequestValidator.validate(t);return e?e.map(F):void 0},e.validateApplyBookmarkByNameRequest=function(t){var e=n.Validators.applyBookmarkByNameRequestValidator.validate(t);return e?e.map(F):void 0},e.validateApplyBookmarkStateRequest=function(t){var e=n.Validators.applyBookmarkStateRequestValidator.validate(t);return e?e.map(F):void 0},e.validateCaptureBookmarkRequest=function(t){var e=n.Validators.captureBookmarkRequestValidator.validate(t);return e?e.map(F):void 0},e.validateSettings=function(t){var e=n.Validators.settingsValidator.validate(t);return e?e.map(F):void 0},e.validatePanes=function(t){var e=n.Validators.reportPanesValidator.validate(t);return e?e.map(F):void 0},e.validateBookmarksPane=function(t){var e=n.Validators.bookmarksPaneValidator.validate(t);return e?e.map(F):void 0},e.validateFiltersPane=function(t){var e=n.Validators.filtersPaneValidator.validate(t);return e?e.map(F):void 0},e.validateFieldsPane=function(t){var e=n.Validators.fieldsPaneValidator.validate(t);return e?e.map(F):void 0},e.validatePageNavigationPane=function(t){var e=n.Validators.pageNavigationPaneValidator.validate(t);return e?e.map(F):void 0},e.validateSelectionPane=function(t){var e=n.Validators.selectionPaneValidator.validate(t);return e?e.map(F):void 0},e.validateSyncSlicersPane=function(t){var e=n.Validators.syncSlicersPaneValidator.validate(t);return e?e.map(F):void 0},e.validateVisualizationsPane=function(t){var e=n.Validators.visualizationsPaneValidator.validate(t);return e?e.map(F):void 0},e.validateCustomPageSize=function(t){var e=n.Validators.customPageSizeValidator.validate(t);return e?e.map(F):void 0},e.validateExtension=function(t){var e=n.Validators.extensionValidator.validate(t);return e?e.map(F):void 0},e.validateMenuGroupExtension=function(t){var e=n.Validators.menuGroupExtensionValidator.validate(t);return e?e.map(F):void 0},e.validateReportLoad=function(t){var e=n.Validators.reportLoadValidator.validate(t);return e?e.map(F):void 0},e.validatePaginatedReportLoad=function(t){var e=n.Validators.paginatedReportLoadValidator.validate(t);return e?e.map(F):void 0},e.validateCreateReport=function(t){var e=n.Validators.reportCreateValidator.validate(t);return e?e.map(F):void 0},e.validateDashboardLoad=function(t){var e=n.Validators.dashboardLoadValidator.validate(t);return e?e.map(F):void 0},e.validateTileLoad=function(t){var e=n.Validators.tileLoadValidator.validate(t);return e?e.map(F):void 0},e.validatePage=function(t){var e=n.Validators.pageValidator.validate(t);return e?e.map(F):void 0},e.validateFilter=function(t){var e=n.Validators.filterValidator.validate(t);return e?e.map(F):void 0},e.validateUpdateFiltersRequest=function(t){var e=n.Validators.updateFiltersRequestValidator.validate(t);return e?e.map(F):void 0},e.validateSaveAsParameters=function(t){var e=n.Validators.saveAsParametersValidator.validate(t);return e?e.map(F):void 0},e.validateLoadQnaConfiguration=function(t){var e=n.Validators.loadQnaValidator.validate(t);return e?e.map(F):void 0},e.validateQnaInterpretInputData=function(t){var e=n.Validators.qnaInterpretInputDataValidator.validate(t);return e?e.map(F):void 0},e.validateExportDataRequest=function(t){var e=n.Validators.exportDataRequestValidator.validate(t);return e?e.map(F):void 0},e.validateVisualHeader=function(t){var e=n.Validators.visualHeaderValidator.validate(t);return e?e.map(F):void 0},e.validateVisualSettings=function(t){var e=n.Validators.visualSettingsValidator.validate(t);return e?e.map(F):void 0},e.validateCommandsSettings=function(t){var e=n.Validators.commandsSettingsValidator.validate(t);return e?e.map(F):void 0},e.validateCustomTheme=function(t){var e=n.Validators.customThemeValidator.validate(t);return e?e.map(F):void 0},e.validateZoomLevel=function(t){var e=n.Validators.zoomLevelValidator.validate(t);return e?e.map(F):void 0}},function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.Validators=void 0;var i=r(2),a=r(5),o=r(6),n=r(7),l=r(8),s=r(9),u=r(10),d=r(11),c=r(12),p=r(13),f=r(14),h=r(15),v=r(16),y=r(17),m=r(18),V=r(19),g=r(20),b=r(21),w=r(22),P=r(23),_=r(24),O=r(25),S=r(26),T=r(27),E=r(28),F=r(29),R=r(4),x=r(30);e.Validators={addBookmarkRequestValidator:new a.AddBookmarkRequestValidator,advancedFilterTypeValidator:new R.EnumValidator([0]),advancedFilterValidator:new c.AdvancedFilterValidator,anyArrayValidator:new R.ArrayValidator([new S.AnyOfValidator([new R.StringValidator,new R.NumberValidator,new R.BooleanValidator])]),anyFilterValidator:new S.AnyOfValidator([new c.BasicFilterValidator,new c.AdvancedFilterValidator,new c.IncludeExcludeFilterValidator,new c.NotSupportedFilterValidator,new c.RelativeDateFilterValidator,new c.TopNFilterValidator,new c.RelativeTimeFilterValidator]),anyValueValidator:new S.AnyOfValidator([new R.StringValidator,new R.NumberValidator,new R.BooleanValidator]),actionBarValidator:new i.ActionBarValidator,applyBookmarkByNameRequestValidator:new a.ApplyBookmarkByNameRequestValidator,applyBookmarkStateRequestValidator:new a.ApplyBookmarkStateRequestValidator,applyBookmarkValidator:new S.AnyOfValidator([new a.ApplyBookmarkByNameRequestValidator,new a.ApplyBookmarkStateRequestValidator]),backgroundValidator:new R.EnumValidator([0,1]),basicFilterTypeValidator:new R.EnumValidator([1]),basicFilterValidator:new c.BasicFilterValidator,booleanArrayValidator:new R.BooleanArrayValidator,booleanValidator:new R.BooleanValidator,bookmarksPaneValidator:new h.BookmarksPaneValidator,captureBookmarkOptionsValidator:new a.CaptureBookmarkOptionsValidator,captureBookmarkRequestValidator:new a.CaptureBookmarkRequestValidator,commandDisplayOptionValidator:new R.EnumValidator([0,1,2]),commandExtensionSelectorValidator:new S.AnyOfValidator([new b.VisualSelectorValidator,new b.VisualTypeSelectorValidator]),commandExtensionArrayValidator:new R.ArrayValidator([new d.CommandExtensionValidator]),commandExtensionValidator:new d.CommandExtensionValidator,commandsSettingsArrayValidator:new R.ArrayValidator([new o.CommandsSettingsValidator]),commandsSettingsValidator:new o.CommandsSettingsValidator,conditionItemValidator:new c.ConditionItemValidator,contrastModeValidator:new R.EnumValidator([0,1,2,3,4]),customLayoutDisplayOptionValidator:new R.EnumValidator([0,1,2]),customLayoutValidator:new p.CustomLayoutValidator,customPageSizeValidator:new f.CustomPageSizeValidator,customThemeValidator:new n.CustomThemeValidator,dashboardLoadValidator:new l.DashboardLoadValidator,datasetBindingValidator:new s.DatasetBindingValidator,displayStateModeValidator:new R.EnumValidator([0,1]),displayStateValidator:new p.DisplayStateValidator,exportDataRequestValidator:new u.ExportDataRequestValidator,extensionArrayValidator:new R.ArrayValidator([new d.ExtensionValidator]),extensionsValidator:new S.AnyOfValidator([new R.ArrayValidator([new d.ExtensionValidator]),new d.ExtensionsValidator]),extensionPointsValidator:new d.ExtensionPointsValidator,extensionValidator:new d.ExtensionValidator,fieldForbiddenValidator:new T.FieldForbiddenValidator,fieldRequiredValidator:new E.FieldRequiredValidator,fieldsPaneValidator:new h.FieldsPaneValidator,filterColumnTargetValidator:new c.FilterColumnTargetValidator,filterDisplaySettingsValidator:new c.FilterDisplaySettingsValidator,filterConditionsValidator:new R.ArrayValidator([new c.ConditionItemValidator]),filterHierarchyTargetValidator:new c.FilterHierarchyTargetValidator,filterMeasureTargetValidator:new c.FilterMeasureTargetValidator,filterTargetValidator:new S.AnyOfValidator([new c.FilterColumnTargetValidator,new c.FilterHierarchyTargetValidator,new c.FilterMeasureTargetValidator]),filterValidator:new c.FilterValidator,filterTypeValidator:new R.EnumValidator([0,1,2,3,4,5,6,7]),filtersArrayValidator:new R.ArrayValidator([new c.FilterValidator]),filtersOperationsUpdateValidator:new R.EnumValidator([1,2,3]),filtersOperationsRemoveAllValidator:new R.EnumValidator([0]),filtersPaneValidator:new h.FiltersPaneValidator,hyperlinkClickBehaviorValidator:new R.EnumValidator([0,1,2]),includeExcludeFilterValidator:new c.IncludeExcludeFilterValidator,includeExludeFilterTypeValidator:new R.EnumValidator([3]),layoutTypeValidator:new R.EnumValidator([0,1,2,3]),loadQnaValidator:new v.LoadQnaValidator,menuExtensionValidator:new S.AnyOfValidator([new d.FlatMenuExtensionValidator,new d.GroupedMenuExtensionValidator]),menuGroupExtensionArrayValidator:new R.ArrayValidator([new d.MenuGroupExtensionValidator]),menuGroupExtensionValidator:new d.MenuGroupExtensionValidator,menuLocationValidator:new R.EnumValidator([0,1]),notSupportedFilterTypeValidator:new R.EnumValidator([2]),notSupportedFilterValidator:new c.NotSupportedFilterValidator,numberArrayValidator:new R.NumberArrayValidator,numberValidator:new R.NumberValidator,onLoadFiltersBaseValidator:new S.AnyOfValidator([new c.OnLoadFiltersBaseValidator,new c.OnLoadFiltersBaseRemoveOperationValidator]),pageLayoutValidator:new F.MapValidator([new R.StringValidator],[new p.VisualLayoutValidator]),pageNavigationPaneValidator:new h.PageNavigationPaneValidator,pageNavigationPositionValidator:new R.EnumValidator([0,1]),pageSizeTypeValidator:new R.EnumValidator([0,1,2,3,4,5]),pageSizeValidator:new f.PageSizeValidator,pageValidator:new f.PageValidator,pageViewFieldValidator:new f.PageViewFieldValidator,pagesLayoutValidator:new F.MapValidator([new R.StringValidator],[new p.PageLayoutValidator]),paginatedReportCommandsValidator:new o.PaginatedReportCommandsValidator,paginatedReportLoadValidator:new V.PaginatedReportLoadValidator,paginatedReportsettingsValidator:new w.PaginatedReportSettingsValidator,parametersPanelValidator:new x.ParametersPanelValidator,permissionsValidator:new R.EnumValidator([0,1,2,4,7]),playBookmarkRequestValidator:new a.PlayBookmarkRequestValidator,qnaInterpretInputDataValidator:new v.QnaInterpretInputDataValidator,qnaPanesValidator:new h.QnaPanesValidator,qnaSettingValidator:new v.QnaSettingsValidator,relativeDateFilterOperatorValidator:new R.EnumValidator([0,1,2]),relativeDateFilterTimeUnitTypeValidator:new R.EnumValidator([0,1,2,3,4,5,6]),relativeDateFilterTypeValidator:new R.EnumValidator([4]),relativeDateFilterValidator:new c.RelativeDateFilterValidator,relativeDateTimeFilterTypeValidator:new R.EnumValidator([4,7]),relativeDateTimeFilterUnitTypeValidator:new R.EnumValidator([0,1,2,3,4,5,6,7,8]),relativeTimeFilterTimeUnitTypeValidator:new R.EnumValidator([7,8]),relativeTimeFilterTypeValidator:new R.EnumValidator([7]),relativeTimeFilterValidator:new c.RelativeTimeFilterValidator,reportBarsValidator:new i.ReportBarsValidator,reportCreateValidator:new y.ReportCreateValidator,reportLoadFiltersValidator:new S.AnyOfValidator([new R.ArrayValidator([new c.FilterValidator]),new c.OnLoadFiltersValidator]),reportLoadValidator:new m.ReportLoadValidator,reportPanesValidator:new h.ReportPanesValidator,saveAsParametersValidator:new g.SaveAsParametersValidator,selectionPaneValidator:new h.SelectionPaneValidator,settingsValidator:new w.SettingsValidator,singleCommandSettingsValidator:new o.SingleCommandSettingsValidator,slicerSelectorValidator:new S.AnyOfValidator([new b.VisualSelectorValidator,new b.SlicerTargetSelectorValidator]),slicerStateValidator:new P.SlicerStateValidator,slicerTargetValidator:new S.AnyOfValidator([new c.FilterColumnTargetValidator,new c.FilterHierarchyTargetValidator,new c.FilterMeasureTargetValidator,new c.FilterKeyColumnsTargetValidator,new c.FilterKeyHierarchyTargetValidator]),slicerValidator:new P.SlicerValidator,stringArrayValidator:new R.StringArrayValidator,stringValidator:new R.StringValidator,syncSlicersPaneValidator:new h.SyncSlicersPaneValidator,tileLoadValidator:new _.TileLoadValidator,tokenTypeValidator:new R.EnumValidator([0,1]),topNFilterTypeValidator:new R.EnumValidator([5]),topNFilterValidator:new c.TopNFilterValidator,updateFiltersRequestValidator:new S.AnyOfValidator([new c.UpdateFiltersRequestValidator,new c.RemoveFiltersRequestValidator]),viewModeValidator:new R.EnumValidator([0,1]),visualCommandSelectorValidator:new S.AnyOfValidator([new b.VisualSelectorValidator,new b.VisualTypeSelectorValidator]),visualHeaderSelectorValidator:new S.AnyOfValidator([new b.VisualSelectorValidator,new b.VisualTypeSelectorValidator]),visualHeaderSettingsValidator:new O.VisualHeaderSettingsValidator,visualHeaderValidator:new O.VisualHeaderValidator,visualHeadersValidator:new R.ArrayValidator([new O.VisualHeaderValidator]),visualizationsPaneValidator:new h.VisualizationsPaneValidator,visualLayoutValidator:new p.VisualLayoutValidator,visualSelectorValidator:new b.VisualSelectorValidator,visualSettingsValidator:new O.VisualSettingsValidator,visualTypeSelectorValidator:new b.VisualTypeSelectorValidator,zoomLevelValidator:new R.RangeValidator(.25,4)}},function(t,e,r){var i,a=this&&this.__extends||(i=function(t,e){return(i=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])})(t,e)},function(t,e){function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.ActionBarValidator=e.ReportBarsValidator=void 0;var o=r(3),n=r(4),l=r(1),s=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return a(e,t),e.prototype.validate=function(e,r,i){if(null==e)return null;var a=t.prototype.validate.call(this,e,r,i);if(a)return a;var n=[{field:"actionBar",validators:[l.Validators.actionBarValidator]}];return new o.MultipleFieldsValidator(n).validate(e,r,i)},e}(n.ObjectValidator);e.ReportBarsValidator=s;var u=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return a(e,t),e.prototype.validate=function(e,r,i){if(null==e)return null;var a=t.prototype.validate.call(this,e,r,i);if(a)return a;var n=[{field:"visible",validators:[l.Validators.booleanValidator]}];return new o.MultipleFieldsValidator(n).validate(e,r,i)},e}(n.ObjectValidator);e.ActionBarValidator=u},function(t,e){Object.defineProperty(e,"__esModule",{value:!0}),e.MultipleFieldsValidator=void 0;var r=function(){function t(t){this.fieldValidatorsPairs=t}return t.prototype.validate=function(t,e,r){if(!this.fieldValidatorsPairs)return null;for(var i=e?e+"."+r:r,a=0,o=this.fieldValidatorsPairs;athis.maxValue||e0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0?"&":"?";return t+=i+e+"="+r},e.isSavedInternal=function(t,e,a){return r(this,void 0,void 0,(function(){return i(this,(function(r){switch(r.label){case 0:return r.trys.push([0,2,,3]),[4,t.get("/report/hasUnsavedChanges",{uid:e},a)];case 1:return[2,!r.sent().body];case 2:throw r.sent().body;case 3:return[2]}}))}))},e.isRDLEmbed=function(t){return t&&t.toLowerCase().indexOf("/rdlembed?")>=0},e.autoAuthInEmbedUrl=function(t){return t&&decodeURIComponent(t).toLowerCase().indexOf("autoauth=true")>=0},e.getRandomValue=o,e.getTimeDiffInMilliseconds=function(t,e){return Math.abs(t.getTime()-e.getTime())}},function(t,e){Object.defineProperty(e,"__esModule",{value:!0}),e.FilterBuilder=void 0;var r=function(){function t(){}return t.prototype.withTargetObject=function(t){return this.target=t,this},t.prototype.withColumnTarget=function(t,e){return this.target={table:t,column:e},this},t.prototype.withMeasureTarget=function(t,e){return this.target={table:t,measure:e},this},t.prototype.withHierarchyLevelTarget=function(t,e,r){return this.target={table:t,hierarchy:e,hierarchyLevel:r},this},t.prototype.withColumnAggregation=function(t,e,r){return this.target={table:t,column:e,aggregationFunction:r},this},t.prototype.withHierarchyLevelAggregationTarget=function(t,e,r,i){return this.target={table:t,hierarchy:e,hierarchyLevel:r,aggregationFunction:i},this},t}();e.FilterBuilder=r},function(t,e){Object.defineProperty(e,"__esModule",{value:!0}),e.EmbedUrlNotSupported=e.APINotSupportedForRDLError=void 0,e.APINotSupportedForRDLError="This API is currently not supported for RDL reports",e.EmbedUrlNotSupported="Embed URL is invalid for this scenario. Please use Power BI REST APIs to get the valid URL"},function(t,e,r){var i,a=this&&this.__extends||(i=function(t,e){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])})(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}),o=this&&this.__awaiter||function(t,e,r,i){return new(r||(r=Promise))((function(a,o){function n(t){try{s(i.next(t))}catch(t){o(t)}}function l(t){try{s(i.throw(t))}catch(t){o(t)}}function s(t){var e;t.done?a(t.value):(e=t.value,e instanceof r?e:new r((function(t){t(e)}))).then(n,l)}s((i=i.apply(t,e||[])).next())}))},n=this&&this.__generator||function(t,e){var r,i,a,o,n={label:0,sent:function(){if(1&a[0])throw a[1];return a[1]},trys:[],ops:[]};return o={next:l(0),throw:l(1),return:l(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function l(o){return function(l){return function(o){if(r)throw new TypeError("Generator is already executing.");for(;n;)try{if(r=1,i&&(a=2&o[0]?i.return:o[0]?i.throw||((a=i.return)&&a.call(i),0):i.next)&&!(a=a.call(i,o[1])).done)return a;switch(i=0,a&&(o=[2&o[0],a.value]),o[0]){case 0:case 1:a=o;break;case 4:return n.label++,{value:o[1],done:!1};case 5:n.label++,i=o[1],o=[0];continue;case 7:o=n.ops.pop(),n.trys.pop();continue;default:if(!(a=n.trys,(a=a.length>0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1][]; + /** + * Gets or sets the eventHooks. + * + * @type {models.EventHooks} + * @hidden + */ + eventHooks: models.EventHooks; + /** * Gets or sets the Power BI embed service. * @@ -537,14 +545,41 @@ export abstract class Embed { this.config.accessToken = this.getAccessToken(this.service.accessToken); } - const registerQueryCallback = !!(this.config).eventHooks?.applicationContextProvider; + this.eventHooks = (this.config).eventHooks; + this.validateEventHooks(this.eventHooks); delete (this.config).eventHooks; - if (registerQueryCallback && this.embedtype === "report") - this.config.embedUrl = addParamToUrl(this.config.embedUrl, "registerQueryCallback", "true"); this.configChanged(isBootstrap); } + /** + * Validate EventHooks + * + * @private + * @param {models.EventHooks} eventHooks + * @hidden + */ + private validateEventHooks(eventHooks: models.EventHooks): void { + if (!eventHooks) { + return; + } + + for (var key in eventHooks) { + if (eventHooks.hasOwnProperty(key) && typeof eventHooks[key] !== 'function') { + throw new Error(key + " must be a function"); + } + } + + const applicationContextProvider = eventHooks.applicationContextProvider; + if (!!applicationContextProvider) { + if (this.embedtype.toLowerCase() !== "report") { + throw new Error("applicationContextProvider is only supported in report embed"); + } + + this.config.embedUrl = addParamToUrl(this.config.embedUrl, "registerQueryCallback", "true"); + } + } + /** * Adds locale parameters to embedUrl * diff --git a/src/service.ts b/src/service.ts index eb2e7c4b..54460fce 100644 --- a/src/service.ts +++ b/src/service.ts @@ -6,7 +6,7 @@ /* eslint-disable @typescript-eslint/no-unsafe-assignment */ import { WindowPostMessageProxy } from 'window-post-message-proxy'; import { HttpPostMessage } from 'http-post-message'; -import { Router } from 'powerbi-router'; +import { Router, IExtendedRequest, Response as IExtendedResponse } from 'powerbi-router'; import { IPage, IReportCreateConfiguration } from 'powerbi-models'; import { Embed, @@ -162,6 +162,26 @@ export class Service implements IService { this.router = routerFactory(this.wpmp); this.uniqueSessionId = utils.generateUUID(); + this.router.post('/reports/:uniqueId/eventHooks/:eventName', async (req, _res) => { + let embed = utils.find(embed => { + return (embed.config.uniqueId === req.params.uniqueId); + }, this.embeds); + + if (!embed) { + return; + } + + switch (req.params.eventName) { + case "preQuery": + req.body = req.body || {}; + req.body.report = embed; + await this.invokeSDKHook(embed.eventHooks.applicationContextProvider, req, _res); + break; + default: + break; + } + }); + /** * Adds handler for report events. */ @@ -300,7 +320,6 @@ export class Service implements IService { * @returns {Embed} */ embed(element: HTMLElement, config: IComponentEmbedConfiguration | IEmbedConfigurationBase = {}): Embed { - this.registerApplicationContextHook(config as IEmbedConfiguration); return this.embedInternal(element, config); } @@ -315,7 +334,6 @@ export class Service implements IService { * @returns {Embed} */ load(element: HTMLElement, config: IComponentEmbedConfiguration | IEmbedConfigurationBase = {}): Embed { - this.registerApplicationContextHook(config as IEmbedConfiguration); return this.embedInternal(element, config, /* phasedRender */ true, /* isBootstrap */ false); } @@ -326,7 +344,6 @@ export class Service implements IService { * @param {IBootstrapEmbedConfiguration} config: a bootstrap config which is an embed config without access token. */ bootstrap(element: HTMLElement, config: IComponentEmbedConfiguration | IBootstrapEmbedConfiguration): Embed { - this.registerApplicationContextHook(config as IEmbedConfiguration); return this.embedInternal(element, config, /* phasedRender */ false, /* isBootstrap */ true); } @@ -443,34 +460,6 @@ export class Service implements IService { return component; } - /** - * @hidden - */ - private registerApplicationContextHook(config: IEmbedConfiguration): void { - const applicationContextProvider = config?.eventHooks?.applicationContextProvider; - if (!applicationContextProvider) { - return; - } - - if (config?.type.toLowerCase() !== "report") { - throw new Error("applicationContextProvider is only supported in report embed"); - } - - if (typeof applicationContextProvider !== 'function') { - throw new Error("applicationContextProvider must be a function"); - } - - this.router.post(`preQuery`, async (req, _res) => { - try { - const result = await applicationContextProvider(req.body); - _res.send(200, result); - } catch (error) { - _res.send(400, null); - console.error(error); - } - }); - } - /** * Adds an event handler for DOMContentLoaded, which searches the DOM for elements that have the 'powerbi-embed-url' attribute, * and automatically attempts to embed a powerbi component based on information from other powerbi-* attributes. @@ -581,6 +570,16 @@ export class Service implements IService { } } + private async invokeSDKHook(hook: Function, req: IExtendedRequest, res: IExtendedResponse): Promise { + try { + let result = await hook(req.body); + res.send(200, result); + } catch (error) { + res.send(400, null); + console.error(error); + } + } + /** * Given an event object, finds the embed component with the matching type and ID, and invokes its handleEvent method with the event object. * From e7e8ed9d207d362dbff0638c1c3e21ea54f03402 Mon Sep 17 00:00:00 2001 From: Shahak Yosef Date: Wed, 12 Jan 2022 14:35:03 +0000 Subject: [PATCH 083/125] Merged PR 229897: Remove karma-coverage dependency Remove karma-coverage dependency because it causes build pipeline to fail and doesn't add enough value. ![ss.png](https://powerbi.visualstudio.com/4c7b5adb-c2d0-4f18-b23c-edc4ac30f4e1/_apis/git/repositories/1dd63332-e003-46a3-ac6f-70213a1bcc2e/pullRequests/229897/attachments/ss.png) --- karma.conf.js | 10 +--------- package.json | 1 - 2 files changed, 1 insertion(+), 10 deletions(-) diff --git a/karma.conf.js b/karma.conf.js index d50b4c73..a0a152a6 100644 --- a/karma.conf.js +++ b/karma.conf.js @@ -23,7 +23,7 @@ module.exports = function (config) { { pattern: './test/**/*.html', served: true, included: false } ], exclude: [], - reporters: argv.chrome ? ['coverage', 'kjhtml'] : ['spec', 'coverage', 'junit'], + reporters: argv.chrome ? ['kjhtml'] : ['spec', 'junit'], autoWatch: true, browsers: [browserName], browserNoActivityTimeout: 300000, @@ -33,7 +33,6 @@ module.exports = function (config) { 'karma-jasmine', 'karma-spec-reporter', 'karma-phantomjs-launcher', - 'karma-coverage', 'karma-jasmine-html-reporter', 'karma-junit-reporter' ], @@ -43,13 +42,6 @@ module.exports = function (config) { flags: flags.concat("--no-sandbox", "--window-size=800,800"), }, }, - preprocessors: { './tmp/**/*.js': ['coverage'] }, - coverageReporter: { - reporters: [ - { type: 'html' }, - { type: 'text-summary' } - ] - }, junitReporter: { outputDir: 'tmp', outputFile: 'testresults.xml', diff --git a/package.json b/package.json index ad8cde64..12f0edc3 100644 --- a/package.json +++ b/package.json @@ -64,7 +64,6 @@ "json-loader": "^0.5.4", "karma": "6.3.5", "karma-chrome-launcher": "^3.1.0", - "karma-coverage": "^2.0.3", "karma-firefox-launcher": "^1.2.0", "karma-jasmine": "4.0.1", "karma-jasmine-html-reporter": "1.7.0", From 054c79f78d491e79a32b167b424e42df094c3719 Mon Sep 17 00:00:00 2001 From: Andriy Malish Date: Thu, 13 Jan 2022 08:00:11 +0000 Subject: [PATCH 084/125] Merged PR 226813: [Storytelling] - auto licensing succeeded event Auto licensing succeeded event - adding "info" event to the list of allowed events --- dist/powerbi.js | 78 ++++++++++++++++++++++----------------------- dist/powerbi.min.js | 2 +- src/embed.ts | 2 +- 3 files changed, 41 insertions(+), 41 deletions(-) diff --git a/dist/powerbi.js b/dist/powerbi.js index 027f96ab..8e6755ca 100644 --- a/dist/powerbi.js +++ b/dist/powerbi.js @@ -7427,7 +7427,7 @@ var Dashboard = /** @class */ (function (_super) { var config = this.config; var dashboardId = config.id || this.element.getAttribute(Dashboard.dashboardIdAttribute) || Dashboard.findIdFromEmbedUrl(config.embedUrl); if (typeof dashboardId !== 'string' || dashboardId.length === 0) { - throw new Error("Dashboard id is required, but it was not found. You must provide an id either as part of embed configuration or as attribute '" + Dashboard.dashboardIdAttribute + "'."); + throw new Error("Dashboard id is required, but it was not found. You must provide an id either as part of embed configuration or as attribute '".concat(Dashboard.dashboardIdAttribute, "'.")); } return dashboardId; }; @@ -7819,7 +7819,7 @@ var Embed = /** @class */ (function () { */ Embed.prototype.on = function (eventName, handler) { if (this.allowedEvents.indexOf(eventName) === -1) { - throw new Error("eventName must be one of " + this.allowedEvents + ". You passed: " + eventName); + throw new Error("eventName must be one of ".concat(this.allowedEvents, ". You passed: ").concat(eventName)); } this.eventHandlers.push({ test: function (event) { return event.name === eventName; }, @@ -7890,7 +7890,7 @@ var Embed = /** @class */ (function () { Embed.prototype.getAccessToken = function (globalAccessToken) { var accessToken = this.config.accessToken || this.element.getAttribute(Embed.accessTokenAttribute) || globalAccessToken; if (!accessToken) { - throw new Error("No access token was found for element. You must specify an access token directly on the element using attribute '" + Embed.accessTokenAttribute + "' or specify a global token at: powerbi.accessToken."); + throw new Error("No access token was found for element. You must specify an access token directly on the element using attribute '".concat(Embed.accessTokenAttribute, "' or specify a global token at: powerbi.accessToken.")); } return accessToken; }; @@ -8000,7 +8000,7 @@ var Embed = /** @class */ (function () { embedUrl = this.getDefaultEmbedUrl(this.config.hostname); } if (typeof embedUrl !== 'string' || embedUrl.length === 0) { - throw new Error("Embed Url is required, but it was not found. You must provide an embed url either as part of embed configuration or as attribute '" + Embed.embedUrlAttribute + "'."); + throw new Error("Embed Url is required, but it was not found. You must provide an embed url either as part of embed configuration or as attribute '".concat(Embed.embedUrlAttribute, "'.")); } return embedUrl; }; @@ -8018,9 +8018,9 @@ var Embed = /** @class */ (function () { throw new Error("HTTP is not allowed. HTTPS is required"); } if (hostname.indexOf("https://") === 0) { - return hostname + "/" + endpoint; + return "".concat(hostname, "/").concat(endpoint); } - return "https://" + hostname + "/" + endpoint; + return "https://".concat(hostname, "/").concat(endpoint); }; /** * Gets a unique ID from the first available location: options, attribute. @@ -8207,7 +8207,7 @@ var Embed = /** @class */ (function () { }); }; /** @hidden */ - Embed.allowedEvents = ["loaded", "saved", "rendered", "saveAsTriggered", "error", "dataSelected", "buttonClicked"]; + Embed.allowedEvents = ["loaded", "saved", "rendered", "saveAsTriggered", "error", "dataSelected", "buttonClicked", "info"]; /** @hidden */ Embed.accessTokenAttribute = 'powerbi-access-token'; /** @hidden */ @@ -8392,7 +8392,7 @@ var Page = /** @class */ (function () { switch (_a.label) { case 0: _a.trys.push([0, 2, , 3]); - return [4 /*yield*/, this.report.service.hpm.get("/report/pages/" + this.name + "/filters", { uid: this.report.config.uniqueId }, this.report.iframe.contentWindow)]; + return [4 /*yield*/, this.report.service.hpm.get("/report/pages/".concat(this.name, "/filters"), { uid: this.report.config.uniqueId }, this.report.iframe.contentWindow)]; case 1: response = _a.sent(); return [2 /*return*/, response.body]; @@ -8428,7 +8428,7 @@ var Page = /** @class */ (function () { _a.label = 1; case 1: _a.trys.push([1, 3, , 4]); - return [4 /*yield*/, this.report.service.hpm.post("/report/pages/" + this.name + "/filters", updateFiltersRequest, { uid: this.report.config.uniqueId }, this.report.iframe.contentWindow)]; + return [4 /*yield*/, this.report.service.hpm.post("/report/pages/".concat(this.name, "/filters"), updateFiltersRequest, { uid: this.report.config.uniqueId }, this.report.iframe.contentWindow)]; case 2: return [2 /*return*/, _a.sent()]; case 3: response_2 = _a.sent(); @@ -8475,7 +8475,7 @@ var Page = /** @class */ (function () { switch (_a.label) { case 0: _a.trys.push([0, 2, , 3]); - return [4 /*yield*/, this.report.service.hpm.put("/report/pages/" + this.name + "/filters", filters, { uid: this.report.config.uniqueId }, this.report.iframe.contentWindow)]; + return [4 /*yield*/, this.report.service.hpm.put("/report/pages/".concat(this.name, "/filters"), filters, { uid: this.report.config.uniqueId }, this.report.iframe.contentWindow)]; case 1: return [2 /*return*/, _a.sent()]; case 2: response_3 = _a.sent(); @@ -8502,7 +8502,7 @@ var Page = /** @class */ (function () { switch (_a.label) { case 0: _a.trys.push([0, 2, , 3]); - return [4 /*yield*/, this.report.service.hpm.delete("/report/pages/" + this.name, {}, { uid: this.report.config.uniqueId }, this.report.iframe.contentWindow)]; + return [4 /*yield*/, this.report.service.hpm.delete("/report/pages/".concat(this.name), {}, { uid: this.report.config.uniqueId }, this.report.iframe.contentWindow)]; case 1: response = _a.sent(); return [2 /*return*/, response.body]; @@ -8569,7 +8569,7 @@ var Page = /** @class */ (function () { _a.label = 1; case 1: _a.trys.push([1, 3, , 4]); - return [4 /*yield*/, this.report.service.hpm.put("/report/pages/" + this.name + "/name", page, { uid: this.report.config.uniqueId }, this.report.iframe.contentWindow)]; + return [4 /*yield*/, this.report.service.hpm.put("/report/pages/".concat(this.name, "/name"), page, { uid: this.report.config.uniqueId }, this.report.iframe.contentWindow)]; case 2: return [2 /*return*/, _a.sent()]; case 3: response_6 = _a.sent(); @@ -8602,7 +8602,7 @@ var Page = /** @class */ (function () { _a.label = 1; case 1: _a.trys.push([1, 3, , 4]); - return [4 /*yield*/, this.report.service.hpm.get("/report/pages/" + this.name + "/visuals", { uid: this.report.config.uniqueId }, this.report.iframe.contentWindow)]; + return [4 /*yield*/, this.report.service.hpm.get("/report/pages/".concat(this.name, "/visuals"), { uid: this.report.config.uniqueId }, this.report.iframe.contentWindow)]; case 2: response = _a.sent(); return [2 /*return*/, response.body @@ -8640,7 +8640,7 @@ var Page = /** @class */ (function () { _a.label = 1; case 1: _a.trys.push([1, 3, , 4]); - return [4 /*yield*/, this.report.service.hpm.get("/report/pages/" + this.name + "/visuals", { uid: this.report.config.uniqueId }, this.report.iframe.contentWindow)]; + return [4 /*yield*/, this.report.service.hpm.get("/report/pages/".concat(this.name, "/visuals"), { uid: this.report.config.uniqueId }, this.report.iframe.contentWindow)]; case 2: response = _a.sent(); visual = response.body.find(function (v) { return v.name === visualName; }); @@ -8775,7 +8775,7 @@ var Page = /** @class */ (function () { _a.label = 1; case 1: _a.trys.push([1, 3, , 4]); - return [4 /*yield*/, this.report.service.hpm.get("/report/pages/" + this.name + "/visuals", { uid: this.report.config.uniqueId }, this.report.iframe.contentWindow)]; + return [4 /*yield*/, this.report.service.hpm.get("/report/pages/".concat(this.name, "/visuals"), { uid: this.report.config.uniqueId }, this.report.iframe.contentWindow)]; case 2: response = _a.sent(); return [2 /*return*/, response.body @@ -8812,7 +8812,7 @@ var Page = /** @class */ (function () { _a.label = 1; case 1: _a.trys.push([1, 3, , 4]); - return [4 /*yield*/, this.report.service.hpm.get("/report/pages/" + this.name + "/layoutTypes/" + layoutTypeEnum, { uid: this.report.config.uniqueId }, this.report.iframe.contentWindow)]; + return [4 /*yield*/, this.report.service.hpm.get("/report/pages/".concat(this.name, "/layoutTypes/").concat(layoutTypeEnum), { uid: this.report.config.uniqueId }, this.report.iframe.contentWindow)]; case 2: response = _a.sent(); return [2 /*return*/, response.body]; @@ -9254,7 +9254,7 @@ var Report = /** @class */ (function (_super) { switch (_a.label) { case 0: _a.trys.push([0, 2, , 3]); - return [4 /*yield*/, this.service.hpm.delete("/report/pages/" + pageName, {}, { uid: this.config.uniqueId }, this.iframe.contentWindow)]; + return [4 /*yield*/, this.service.hpm.delete("/report/pages/".concat(pageName), {}, { uid: this.config.uniqueId }, this.iframe.contentWindow)]; case 1: response = _a.sent(); return [2 /*return*/, response.body]; @@ -9289,7 +9289,7 @@ var Report = /** @class */ (function (_super) { _a.label = 1; case 1: _a.trys.push([1, 3, , 4]); - return [4 /*yield*/, this.service.hpm.put("/report/pages/" + pageName + "/name", page, { uid: this.config.uniqueId }, this.iframe.contentWindow)]; + return [4 /*yield*/, this.service.hpm.put("/report/pages/".concat(pageName, "/name"), page, { uid: this.config.uniqueId }, this.iframe.contentWindow)]; case 2: response = _a.sent(); return [2 /*return*/, response.body]; @@ -9439,7 +9439,7 @@ var Report = /** @class */ (function (_super) { var config = this.config; var reportId = config.id || this.element.getAttribute(Report.reportIdAttribute) || Report.findIdFromEmbedUrl(config.embedUrl); if (typeof reportId !== 'string' || reportId.length === 0) { - throw new Error("Report id is required, but it was not found. You must provide an id either as part of embed configuration or as attribute '" + Report.reportIdAttribute + "'."); + throw new Error("Report id is required, but it was not found. You must provide an id either as part of embed configuration or as attribute '".concat(Report.reportIdAttribute, "'.")); } return reportId; }; @@ -10719,7 +10719,7 @@ var Service = /** @class */ (function () { var _this = this; if (config === void 0) { config = undefined; } container = (container && container instanceof HTMLElement) ? container : document.body; - var elements = Array.prototype.slice.call(container.querySelectorAll("[" + embed_1.Embed.embedUrlAttribute + "]")); + var elements = Array.prototype.slice.call(container.querySelectorAll("[".concat(embed_1.Embed.embedUrlAttribute, "]"))); return elements.map(function (element) { return _this.embed(element, config); }); }; /** @@ -10765,7 +10765,7 @@ var Service = /** @class */ (function () { var powerBiElement = element; if (powerBiElement.powerBiEmbed) { if (isBootstrap) { - throw new Error("Attempted to bootstrap element " + element.outerHTML + ", but the element is already a powerbi element."); + throw new Error("Attempted to bootstrap element ".concat(element.outerHTML, ", but the element is already a powerbi element.")); } component = this.embedExisting(powerBiElement, config, phasedRender); } @@ -10797,13 +10797,13 @@ var Service = /** @class */ (function () { Service.prototype.embedNew = function (element, config, phasedRender, isBootstrap) { var componentType = config.type || element.getAttribute(embed_1.Embed.typeAttribute); if (!componentType) { - throw new Error("Attempted to embed using config " + JSON.stringify(config) + " on element " + element.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 '" + embed_1.Embed.typeAttribute + "=\"" + report_1.Report.type.toLowerCase() + "\"'."); + throw new Error("Attempted to embed using config ".concat(JSON.stringify(config), " on element ").concat(element.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 '").concat(embed_1.Embed.typeAttribute, "=\"").concat(report_1.Report.type.toLowerCase(), "\"'.")); } // Saves the type as part of the configuration so that it can be referenced later at a known location. config.type = componentType; var Component = utils.find(function (embedComponent) { return componentType === embedComponent.type.toLowerCase(); }, Service.components); if (!Component) { - throw new Error("Attempted to embed component of type: " + componentType + " but did not find any matching component. Please verify the type you specified is intended."); + throw new Error("Attempted to embed component of type: ".concat(componentType, " but did not find any matching component. Please verify the type you specified is intended.")); } var component = new Component(this, element, config, phasedRender, isBootstrap); element.powerBiEmbed = component; @@ -10822,7 +10822,7 @@ var Service = /** @class */ (function () { Service.prototype.embedExisting = function (element, config, phasedRender) { var component = utils.find(function (x) { return x.element === element; }, this.embeds); if (!component) { - throw new Error("Attempted to embed using config " + JSON.stringify(config) + " on element " + element.outerHTML + " which already has embedded component associated, but could not find the existing component 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."); + throw new Error("Attempted to embed using config ".concat(JSON.stringify(config), " on element ").concat(element.outerHTML, " which already has embedded component associated, but could not find the existing component 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.")); } // TODO: Multiple embedding to the same iframe is not supported in QnA if (config.type && config.type.toLowerCase() === "qna") { @@ -10845,7 +10845,7 @@ var Service = /** @class */ (function () { this.addOrOverwriteEmbed(component, element); return report; } - 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(config) + " on element " + element.outerHTML + ", but the existing element contains an embed of type: " + this.config.type + " which does not match the new type: " + config.type); + 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 ".concat(JSON.stringify(config), " on element ").concat(element.outerHTML, ", but the existing element contains an embed of type: ").concat(this.config.type, " which does not match the new type: ").concat(config.type)); } component.populateConfig(config, /* isBootstrap */ false); component.load(phasedRender); @@ -10873,7 +10873,7 @@ var Service = /** @class */ (function () { Service.prototype.get = function (element) { var powerBiElement = element; if (!powerBiElement.powerBiEmbed) { - throw new Error("You attempted to get an instance of powerbi component associated with element: " + element.outerHTML + " but there was no associated instance."); + throw new Error("You attempted to get an instance of powerbi component associated with element: ".concat(element.outerHTML, " but there was no associated instance.")); } return powerBiElement.powerBiEmbed; }; @@ -10988,7 +10988,7 @@ var Service = /** @class */ (function () { var pageKey = 'newPage'; var page = value[pageKey]; if (!page) { - throw new Error("Page model not found at 'event.value." + pageKey + "'."); + throw new Error("Page model not found at 'event.value.".concat(pageKey, "'.")); } value[pageKey] = new page_1.Page(embed, page.name, page.displayName, true /* isActive */); } @@ -11247,7 +11247,7 @@ exports.raiseCustomEvent = raiseCustomEvent; */ function findIndex(predicate, xs) { if (!Array.isArray(xs)) { - throw new Error("You attempted to call find with second parameter that was not an array. You passed: " + xs); + throw new Error("You attempted to call find with second parameter that was not an array. You passed: ".concat(xs)); } var index; xs.some(function (x, i) { @@ -11622,7 +11622,7 @@ var Visual = /** @class */ (function (_super) { _a.label = 1; case 1: _a.trys.push([1, 3, , 4]); - return [4 /*yield*/, this.service.hpm.get("/report/pages/" + config.pageName + "/visuals", { uid: this.config.uniqueId }, this.iframe.contentWindow)]; + return [4 /*yield*/, this.service.hpm.get("/report/pages/".concat(config.pageName, "/visuals"), { uid: this.config.uniqueId }, this.iframe.contentWindow)]; case 2: response = _a.sent(); embeddedVisuals = response.body.filter(function (pageVisual) { return pageVisual.name === config.visualName; }); @@ -11788,9 +11788,9 @@ var Visual = /** @class */ (function (_super) { case powerbi_models_1.FiltersLevel.Report: return "/report/filters"; case powerbi_models_1.FiltersLevel.Page: - return "/report/pages/" + config.pageName + "/filters"; + return "/report/pages/".concat(config.pageName, "/filters"); default: - return "/report/pages/" + config.pageName + "/visuals/" + config.visualName + "/filters"; + return "/report/pages/".concat(config.pageName, "/visuals/").concat(config.visualName, "/filters"); } }; /** @hidden */ @@ -11891,7 +11891,7 @@ var VisualDescriptor = /** @class */ (function () { switch (_a.label) { case 0: _a.trys.push([0, 2, , 3]); - return [4 /*yield*/, this.page.report.service.hpm.get("/report/pages/" + this.page.name + "/visuals/" + this.name + "/filters", { uid: this.page.report.config.uniqueId }, this.page.report.iframe.contentWindow)]; + return [4 /*yield*/, this.page.report.service.hpm.get("/report/pages/".concat(this.page.name, "/visuals/").concat(this.name, "/filters"), { uid: this.page.report.config.uniqueId }, this.page.report.iframe.contentWindow)]; case 1: response = _a.sent(); return [2 /*return*/, response.body]; @@ -11927,7 +11927,7 @@ var VisualDescriptor = /** @class */ (function () { _a.label = 1; case 1: _a.trys.push([1, 3, , 4]); - return [4 /*yield*/, this.page.report.service.hpm.post("/report/pages/" + this.page.name + "/visuals/" + this.name + "/filters", updateFiltersRequest, { uid: this.page.report.config.uniqueId }, this.page.report.iframe.contentWindow)]; + return [4 /*yield*/, this.page.report.service.hpm.post("/report/pages/".concat(this.page.name, "/visuals/").concat(this.name, "/filters"), updateFiltersRequest, { uid: this.page.report.config.uniqueId }, this.page.report.iframe.contentWindow)]; case 2: return [2 /*return*/, _a.sent()]; case 3: response_2 = _a.sent(); @@ -11974,7 +11974,7 @@ var VisualDescriptor = /** @class */ (function () { switch (_a.label) { case 0: _a.trys.push([0, 2, , 3]); - return [4 /*yield*/, this.page.report.service.hpm.put("/report/pages/" + this.page.name + "/visuals/" + this.name + "/filters", filters, { uid: this.page.report.config.uniqueId }, this.page.report.iframe.contentWindow)]; + return [4 /*yield*/, this.page.report.service.hpm.put("/report/pages/".concat(this.page.name, "/visuals/").concat(this.name, "/filters"), filters, { uid: this.page.report.config.uniqueId }, this.page.report.iframe.contentWindow)]; case 1: return [2 /*return*/, _a.sent()]; case 2: response_3 = _a.sent(); @@ -12010,7 +12010,7 @@ var VisualDescriptor = /** @class */ (function () { _a.label = 1; case 1: _a.trys.push([1, 3, , 4]); - return [4 /*yield*/, this.page.report.service.hpm.post("/report/pages/" + this.page.name + "/visuals/" + this.name + "/exportData", exportDataRequestBody, { uid: this.page.report.config.uniqueId }, this.page.report.iframe.contentWindow)]; + return [4 /*yield*/, this.page.report.service.hpm.post("/report/pages/".concat(this.page.name, "/visuals/").concat(this.name, "/exportData"), exportDataRequestBody, { uid: this.page.report.config.uniqueId }, this.page.report.iframe.contentWindow)]; case 2: response = _a.sent(); return [2 /*return*/, response.body]; @@ -12039,7 +12039,7 @@ var VisualDescriptor = /** @class */ (function () { switch (_a.label) { case 0: _a.trys.push([0, 2, , 3]); - return [4 /*yield*/, this.page.report.service.hpm.put("/report/pages/" + this.page.name + "/visuals/" + this.name + "/slicer", state, { uid: this.page.report.config.uniqueId }, this.page.report.iframe.contentWindow)]; + return [4 /*yield*/, this.page.report.service.hpm.put("/report/pages/".concat(this.page.name, "/visuals/").concat(this.name, "/slicer"), state, { uid: this.page.report.config.uniqueId }, this.page.report.iframe.contentWindow)]; case 1: return [2 /*return*/, _a.sent()]; case 2: response_5 = _a.sent(); @@ -12067,7 +12067,7 @@ var VisualDescriptor = /** @class */ (function () { switch (_a.label) { case 0: _a.trys.push([0, 2, , 3]); - return [4 /*yield*/, this.page.report.service.hpm.get("/report/pages/" + this.page.name + "/visuals/" + this.name + "/slicer", { uid: this.page.report.config.uniqueId }, this.page.report.iframe.contentWindow)]; + return [4 /*yield*/, this.page.report.service.hpm.get("/report/pages/".concat(this.page.name, "/visuals/").concat(this.name, "/slicer"), { uid: this.page.report.config.uniqueId }, this.page.report.iframe.contentWindow)]; case 1: response = _a.sent(); return [2 /*return*/, response.body]; @@ -12092,7 +12092,7 @@ var VisualDescriptor = /** @class */ (function () { switch (_a.label) { case 0: _a.trys.push([0, 2, , 3]); - return [4 /*yield*/, this.page.report.service.hpm.post("/report/pages/" + this.page.name + "/visuals/" + this.name + "/clone", request, { uid: this.page.report.config.uniqueId }, this.page.report.iframe.contentWindow)]; + return [4 /*yield*/, this.page.report.service.hpm.post("/report/pages/".concat(this.page.name, "/visuals/").concat(this.name, "/clone"), request, { uid: this.page.report.config.uniqueId }, this.page.report.iframe.contentWindow)]; case 1: response = _a.sent(); return [2 /*return*/, response.body]; @@ -12121,7 +12121,7 @@ var VisualDescriptor = /** @class */ (function () { switch (_a.label) { case 0: _a.trys.push([0, 2, , 3]); - return [4 /*yield*/, this.page.report.service.hpm.put("/report/pages/" + this.page.name + "/visuals/" + this.name + "/sortBy", request, { uid: this.page.report.config.uniqueId }, this.page.report.iframe.contentWindow)]; + return [4 /*yield*/, this.page.report.service.hpm.put("/report/pages/".concat(this.page.name, "/visuals/").concat(this.name, "/sortBy"), request, { uid: this.page.report.config.uniqueId }, this.page.report.iframe.contentWindow)]; case 1: return [2 /*return*/, _a.sent()]; case 2: response_8 = _a.sent(); diff --git a/dist/powerbi.min.js b/dist/powerbi.min.js index aef576e2..6f8b0bd6 100644 --- a/dist/powerbi.min.js +++ b/dist/powerbi.min.js @@ -1,7 +1,7 @@ // powerbi-client v2.18.7 // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. -!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){var e={};function r(i){if(e[i])return e[i].exports;var a=e[i]={i:i,l:!1,exports:{}};return t[i].call(a.exports,a,a.exports,r),a.l=!0,a.exports}return r.m=t,r.c=e,r.d=function(t,e,i){r.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:i})},r.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},r.t=function(t,e){if(1&e&&(t=r(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var i=Object.create(null);if(r.r(i),Object.defineProperty(i,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var a in t)r.d(i,a,function(e){return t[e]}.bind(null,a));return i},r.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return r.d(e,"a",e),e},r.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},r.p="",r(r.s=13)}([function(t,e,r){var i;i=function(){return function(t){var e={};function r(i){if(e[i])return e[i].exports;var a=e[i]={i:i,l:!1,exports:{}};return t[i].call(a.exports,a,a.exports,r),a.l=!0,a.exports}return r.m=t,r.c=e,r.d=function(t,e,i){r.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:i})},r.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},r.t=function(t,e){if(1&e&&(t=r(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var i=Object.create(null);if(r.r(i),Object.defineProperty(i,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var a in t)r.d(i,a,function(e){return t[e]}.bind(null,a));return i},r.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return r.d(e,"a",e),e},r.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},r.p="",r(r.s=0)}([function(t,e,r){var i,a=this&&this.__extends||(i=function(t,e){return(i=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])})(t,e)},function(t,e){function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.validateZoomLevel=e.validateCustomTheme=e.validateCommandsSettings=e.validateVisualSettings=e.validateVisualHeader=e.validateExportDataRequest=e.validateQnaInterpretInputData=e.validateLoadQnaConfiguration=e.validateSaveAsParameters=e.validateUpdateFiltersRequest=e.validateFilter=e.validatePage=e.validateTileLoad=e.validateDashboardLoad=e.validateCreateReport=e.validatePaginatedReportLoad=e.validateReportLoad=e.validateMenuGroupExtension=e.validateExtension=e.validateCustomPageSize=e.validateVisualizationsPane=e.validateSyncSlicersPane=e.validateSelectionPane=e.validatePageNavigationPane=e.validateFieldsPane=e.validateFiltersPane=e.validateBookmarksPane=e.validatePanes=e.validateSettings=e.validateCaptureBookmarkRequest=e.validateApplyBookmarkStateRequest=e.validateApplyBookmarkByNameRequest=e.validateAddBookmarkRequest=e.validatePlayBookmarkRequest=e.validateSlicerState=e.validateSlicer=e.validateVisualSelector=e.isIExtensionArray=e.isIExtensions=e.isGroupedMenuExtension=e.isFlatMenuExtension=e.isReportFiltersArray=e.isOnLoadFilters=e.VisualDataRoleKindPreference=e.VisualDataRoleKind=e.CommandDisplayOption=e.SlicerTargetSelector=e.VisualTypeSelector=e.VisualSelector=e.PageSelector=e.Selector=e.SortDirection=e.LegendPosition=e.TextAlignment=e.CommonErrorCodes=e.BookmarksPlayMode=e.ExportDataType=e.QnaMode=e.PageNavigationPosition=e.isColumnAggr=e.isHierarchyLevelAggr=e.isHierarchyLevel=e.isColumn=e.isMeasure=e.getFilterType=e.isBasicFilterWithKeys=e.isFilterKeyColumnsTarget=e.AdvancedFilter=e.TupleFilter=e.IdentityFilter=e.BasicFilterWithKeys=e.BasicFilter=e.RelativeTimeFilter=e.RelativeDateFilter=e.TopNFilter=e.IncludeExcludeFilter=e.NotSupportedFilter=e.Filter=e.RelativeDateOperators=e.RelativeDateFilterTimeUnit=e.FilterType=e.FiltersLevel=e.FiltersOperations=e.MenuLocation=e.ContrastMode=e.TokenType=e.ViewMode=e.Permissions=e.SectionVisibility=e.ReportAlignment=e.HyperlinkClickBehavior=e.LayoutType=e.VisualContainerDisplayMode=e.BackgroundType=e.DisplayOption=e.PageSizeType=e.TraceType=void 0;var o,n=r(1);!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"}(e.TraceType||(e.TraceType={})),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",t[t.Mobile=5]="Mobile"}(e.PageSizeType||(e.PageSizeType={})),function(t){t[t.FitToPage=0]="FitToPage",t[t.FitToWidth=1]="FitToWidth",t[t.ActualSize=2]="ActualSize"}(e.DisplayOption||(e.DisplayOption={})),function(t){t[t.Default=0]="Default",t[t.Transparent=1]="Transparent"}(e.BackgroundType||(e.BackgroundType={})),function(t){t[t.Visible=0]="Visible",t[t.Hidden=1]="Hidden"}(e.VisualContainerDisplayMode||(e.VisualContainerDisplayMode={})),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={})),function(t){t[t.Navigate=0]="Navigate",t[t.NavigateAndRaiseEvent=1]="NavigateAndRaiseEvent",t[t.RaiseEvent=2]="RaiseEvent"}(e.HyperlinkClickBehavior||(e.HyperlinkClickBehavior={})),function(t){t[t.Left=0]="Left",t[t.Center=1]="Center",t[t.Right=2]="Right",t[t.None=3]="None"}(e.ReportAlignment||(e.ReportAlignment={})),function(t){t[t.AlwaysVisible=0]="AlwaysVisible",t[t.HiddenInViewMode=1]="HiddenInViewMode"}(e.SectionVisibility||(e.SectionVisibility={})),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"}(e.Permissions||(e.Permissions={})),function(t){t[t.View=0]="View",t[t.Edit=1]="Edit"}(e.ViewMode||(e.ViewMode={})),function(t){t[t.Aad=0]="Aad",t[t.Embed=1]="Embed"}(e.TokenType||(e.TokenType={})),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"}(e.ContrastMode||(e.ContrastMode={})),function(t){t[t.Bottom=0]="Bottom",t[t.Top=1]="Top"}(e.MenuLocation||(e.MenuLocation={})),function(t){t[t.RemoveAll=0]="RemoveAll",t[t.ReplaceAll=1]="ReplaceAll",t[t.Add=2]="Add",t[t.Replace=3]="Replace"}(e.FiltersOperations||(e.FiltersOperations={})),function(t){t[t.Report=0]="Report",t[t.Page=1]="Page",t[t.Visual=2]="Visual"}(e.FiltersLevel||(e.FiltersLevel={})),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",t[t.Identity=8]="Identity"}(o=e.FilterType||(e.FilterType={})),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"}(e.RelativeDateFilterTimeUnit||(e.RelativeDateFilterTimeUnit={})),function(t){t[t.InLast=0]="InLast",t[t.InThis=1]="InThis",t[t.InNext=2]="InNext"}(e.RelativeDateOperators||(e.RelativeDateOperators={}));var l=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=l;var s=function(t){function e(r,i,a){var n=t.call(this,r,o.Unknown)||this;return n.message=i,n.notSupportedTypeName=a,n.schemaUrl=e.schemaUrl,n}return a(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}(l);e.NotSupportedFilter=s;var u=function(t){function e(r,i,a){var n=t.call(this,r,o.IncludeExclude)||this;return n.values=a,n.isExclude=i,n.schemaUrl=e.schemaUrl,n}return a(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}(l);e.IncludeExcludeFilter=u;var d=function(t){function e(r,i,a,n){var l=t.call(this,r,o.TopN)||this;return l.operator=i,l.itemCount=a,l.schemaUrl=e.schemaUrl,l.orderBy=n,l}return a(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}(l);e.TopNFilter=d;var c=function(t){function e(r,i,a,n,l){var s=t.call(this,r,o.RelativeDate)||this;return s.operator=i,s.timeUnitsCount=a,s.timeUnitType=n,s.includeToday=l,s.schemaUrl=e.schemaUrl,s}return a(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}(l);e.RelativeDateFilter=c;var p=function(t){function e(r,i,a,n){var l=t.call(this,r,o.RelativeTime)||this;return l.operator=i,l.timeUnitsCount=a,l.timeUnitType=n,l.schemaUrl=e.schemaUrl,l}return a(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}(l);e.RelativeTimeFilter=p;var f=function(t){function e(r,i){for(var a=[],n=2;n0&&!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,s=o.keyValues;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 s.conditions=l,s}return a(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}(l);function V(t){if(t.filterType)return t.filterType;var e=t,r=t;return"string"==typeof e.operator&&Array.isArray(e.values)?o.Basic:"string"==typeof r.logicalOperator&&Array.isArray(r.conditions)?o.Advanced:o.Unknown}function g(t){return!(!t.table||!t.column||t.aggregationFunction)}e.AdvancedFilter=m,e.isFilterKeyColumnsTarget=function(t){return g(t)&&!!t.keys},e.isBasicFilterWithKeys=function(t){return V(t)===o.Basic&&!!t.keyValues},e.getFilterType=V,e.isMeasure=function(t){return void 0!==t.table&&void 0!==t.measure},e.isColumn=g,e.isHierarchyLevel=function(t){return!(!(t.table&&t.hierarchy&&t.hierarchyLevel)||t.aggregationFunction)},e.isHierarchyLevelAggr=function(t){return!!(t.table&&t.hierarchy&&t.hierarchyLevel&&t.aggregationFunction)},e.isColumnAggr=function(t){return!!(t.table&&t.column&&t.aggregationFunction)},function(t){t[t.Bottom=0]="Bottom",t[t.Left=1]="Left"}(e.PageNavigationPosition||(e.PageNavigationPosition={})),function(t){t[t.Interactive=0]="Interactive",t[t.ResultOnly=1]="ResultOnly"}(e.QnaMode||(e.QnaMode={})),function(t){t[t.Summarized=0]="Summarized",t[t.Underlying=1]="Underlying"}(e.ExportDataType||(e.ExportDataType={})),function(t){t[t.Off=0]="Off",t[t.Presentation=1]="Presentation"}(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"},function(t){t[t.Ascending=1]="Ascending",t[t.Descending=2]="Descending"}(e.SortDirection||(e.SortDirection={}));var b=function(){function t(t){this.$schema=t}return t.prototype.toJSON=function(){return{$schema:this.$schema}},t}();e.Selector=b;var w=function(t){function e(r){var i=t.call(this,e.schemaUrl)||this;return i.pageName=r,i}return a(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}(b);e.PageSelector=w;var P=function(t){function e(r){var i=t.call(this,e.schemaUrl)||this;return i.visualName=r,i}return a(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}(b);e.VisualSelector=P;var _=function(t){function e(e){var r=t.call(this,P.schemaUrl)||this;return r.visualType=e,r}return a(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}(b);e.VisualTypeSelector=_;var O=function(t){function e(e){var r=t.call(this,P.schemaUrl)||this;return r.target=e,r}return a(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}(b);function S(t){return Array.isArray(t)}function T(t){return t&&!!t.groupName}function E(t){return Array.isArray(t)}function F(t){var e=t.message;return e||(e=t.path+" is invalid. Not meeting "+t.keyword+" constraint"),{message:e}}e.SlicerTargetSelector=O,function(t){t[t.Enabled=0]="Enabled",t[t.Disabled=1]="Disabled",t[t.Hidden=2]="Hidden"}(e.CommandDisplayOption||(e.CommandDisplayOption={})),function(t){t[t.Grouping=0]="Grouping",t[t.Measure=1]="Measure",t[t.GroupingOrMeasure=2]="GroupingOrMeasure"}(e.VisualDataRoleKind||(e.VisualDataRoleKind={})),function(t){t[t.Measure=0]="Measure",t[t.Grouping=1]="Grouping"}(e.VisualDataRoleKindPreference||(e.VisualDataRoleKindPreference={})),e.isOnLoadFilters=function(t){return t&&!S(t)},e.isReportFiltersArray=S,e.isFlatMenuExtension=function(t){return t&&!T(t)},e.isGroupedMenuExtension=T,e.isIExtensions=function(t){return t&&!E(t)},e.isIExtensionArray=E,e.validateVisualSelector=function(t){var e=n.Validators.visualSelectorValidator.validate(t);return e?e.map(F):void 0},e.validateSlicer=function(t){var e=n.Validators.slicerValidator.validate(t);return e?e.map(F):void 0},e.validateSlicerState=function(t){var e=n.Validators.slicerStateValidator.validate(t);return e?e.map(F):void 0},e.validatePlayBookmarkRequest=function(t){var e=n.Validators.playBookmarkRequestValidator.validate(t);return e?e.map(F):void 0},e.validateAddBookmarkRequest=function(t){var e=n.Validators.addBookmarkRequestValidator.validate(t);return e?e.map(F):void 0},e.validateApplyBookmarkByNameRequest=function(t){var e=n.Validators.applyBookmarkByNameRequestValidator.validate(t);return e?e.map(F):void 0},e.validateApplyBookmarkStateRequest=function(t){var e=n.Validators.applyBookmarkStateRequestValidator.validate(t);return e?e.map(F):void 0},e.validateCaptureBookmarkRequest=function(t){var e=n.Validators.captureBookmarkRequestValidator.validate(t);return e?e.map(F):void 0},e.validateSettings=function(t){var e=n.Validators.settingsValidator.validate(t);return e?e.map(F):void 0},e.validatePanes=function(t){var e=n.Validators.reportPanesValidator.validate(t);return e?e.map(F):void 0},e.validateBookmarksPane=function(t){var e=n.Validators.bookmarksPaneValidator.validate(t);return e?e.map(F):void 0},e.validateFiltersPane=function(t){var e=n.Validators.filtersPaneValidator.validate(t);return e?e.map(F):void 0},e.validateFieldsPane=function(t){var e=n.Validators.fieldsPaneValidator.validate(t);return e?e.map(F):void 0},e.validatePageNavigationPane=function(t){var e=n.Validators.pageNavigationPaneValidator.validate(t);return e?e.map(F):void 0},e.validateSelectionPane=function(t){var e=n.Validators.selectionPaneValidator.validate(t);return e?e.map(F):void 0},e.validateSyncSlicersPane=function(t){var e=n.Validators.syncSlicersPaneValidator.validate(t);return e?e.map(F):void 0},e.validateVisualizationsPane=function(t){var e=n.Validators.visualizationsPaneValidator.validate(t);return e?e.map(F):void 0},e.validateCustomPageSize=function(t){var e=n.Validators.customPageSizeValidator.validate(t);return e?e.map(F):void 0},e.validateExtension=function(t){var e=n.Validators.extensionValidator.validate(t);return e?e.map(F):void 0},e.validateMenuGroupExtension=function(t){var e=n.Validators.menuGroupExtensionValidator.validate(t);return e?e.map(F):void 0},e.validateReportLoad=function(t){var e=n.Validators.reportLoadValidator.validate(t);return e?e.map(F):void 0},e.validatePaginatedReportLoad=function(t){var e=n.Validators.paginatedReportLoadValidator.validate(t);return e?e.map(F):void 0},e.validateCreateReport=function(t){var e=n.Validators.reportCreateValidator.validate(t);return e?e.map(F):void 0},e.validateDashboardLoad=function(t){var e=n.Validators.dashboardLoadValidator.validate(t);return e?e.map(F):void 0},e.validateTileLoad=function(t){var e=n.Validators.tileLoadValidator.validate(t);return e?e.map(F):void 0},e.validatePage=function(t){var e=n.Validators.pageValidator.validate(t);return e?e.map(F):void 0},e.validateFilter=function(t){var e=n.Validators.filterValidator.validate(t);return e?e.map(F):void 0},e.validateUpdateFiltersRequest=function(t){var e=n.Validators.updateFiltersRequestValidator.validate(t);return e?e.map(F):void 0},e.validateSaveAsParameters=function(t){var e=n.Validators.saveAsParametersValidator.validate(t);return e?e.map(F):void 0},e.validateLoadQnaConfiguration=function(t){var e=n.Validators.loadQnaValidator.validate(t);return e?e.map(F):void 0},e.validateQnaInterpretInputData=function(t){var e=n.Validators.qnaInterpretInputDataValidator.validate(t);return e?e.map(F):void 0},e.validateExportDataRequest=function(t){var e=n.Validators.exportDataRequestValidator.validate(t);return e?e.map(F):void 0},e.validateVisualHeader=function(t){var e=n.Validators.visualHeaderValidator.validate(t);return e?e.map(F):void 0},e.validateVisualSettings=function(t){var e=n.Validators.visualSettingsValidator.validate(t);return e?e.map(F):void 0},e.validateCommandsSettings=function(t){var e=n.Validators.commandsSettingsValidator.validate(t);return e?e.map(F):void 0},e.validateCustomTheme=function(t){var e=n.Validators.customThemeValidator.validate(t);return e?e.map(F):void 0},e.validateZoomLevel=function(t){var e=n.Validators.zoomLevelValidator.validate(t);return e?e.map(F):void 0}},function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.Validators=void 0;var i=r(2),a=r(5),o=r(6),n=r(7),l=r(8),s=r(9),u=r(10),d=r(11),c=r(12),p=r(13),f=r(14),h=r(15),v=r(16),y=r(17),m=r(18),V=r(19),g=r(20),b=r(21),w=r(22),P=r(23),_=r(24),O=r(25),S=r(26),T=r(27),E=r(28),F=r(29),R=r(4),x=r(30);e.Validators={addBookmarkRequestValidator:new a.AddBookmarkRequestValidator,advancedFilterTypeValidator:new R.EnumValidator([0]),advancedFilterValidator:new c.AdvancedFilterValidator,anyArrayValidator:new R.ArrayValidator([new S.AnyOfValidator([new R.StringValidator,new R.NumberValidator,new R.BooleanValidator])]),anyFilterValidator:new S.AnyOfValidator([new c.BasicFilterValidator,new c.AdvancedFilterValidator,new c.IncludeExcludeFilterValidator,new c.NotSupportedFilterValidator,new c.RelativeDateFilterValidator,new c.TopNFilterValidator,new c.RelativeTimeFilterValidator]),anyValueValidator:new S.AnyOfValidator([new R.StringValidator,new R.NumberValidator,new R.BooleanValidator]),actionBarValidator:new i.ActionBarValidator,applyBookmarkByNameRequestValidator:new a.ApplyBookmarkByNameRequestValidator,applyBookmarkStateRequestValidator:new a.ApplyBookmarkStateRequestValidator,applyBookmarkValidator:new S.AnyOfValidator([new a.ApplyBookmarkByNameRequestValidator,new a.ApplyBookmarkStateRequestValidator]),backgroundValidator:new R.EnumValidator([0,1]),basicFilterTypeValidator:new R.EnumValidator([1]),basicFilterValidator:new c.BasicFilterValidator,booleanArrayValidator:new R.BooleanArrayValidator,booleanValidator:new R.BooleanValidator,bookmarksPaneValidator:new h.BookmarksPaneValidator,captureBookmarkOptionsValidator:new a.CaptureBookmarkOptionsValidator,captureBookmarkRequestValidator:new a.CaptureBookmarkRequestValidator,commandDisplayOptionValidator:new R.EnumValidator([0,1,2]),commandExtensionSelectorValidator:new S.AnyOfValidator([new b.VisualSelectorValidator,new b.VisualTypeSelectorValidator]),commandExtensionArrayValidator:new R.ArrayValidator([new d.CommandExtensionValidator]),commandExtensionValidator:new d.CommandExtensionValidator,commandsSettingsArrayValidator:new R.ArrayValidator([new o.CommandsSettingsValidator]),commandsSettingsValidator:new o.CommandsSettingsValidator,conditionItemValidator:new c.ConditionItemValidator,contrastModeValidator:new R.EnumValidator([0,1,2,3,4]),customLayoutDisplayOptionValidator:new R.EnumValidator([0,1,2]),customLayoutValidator:new p.CustomLayoutValidator,customPageSizeValidator:new f.CustomPageSizeValidator,customThemeValidator:new n.CustomThemeValidator,dashboardLoadValidator:new l.DashboardLoadValidator,datasetBindingValidator:new s.DatasetBindingValidator,displayStateModeValidator:new R.EnumValidator([0,1]),displayStateValidator:new p.DisplayStateValidator,exportDataRequestValidator:new u.ExportDataRequestValidator,extensionArrayValidator:new R.ArrayValidator([new d.ExtensionValidator]),extensionsValidator:new S.AnyOfValidator([new R.ArrayValidator([new d.ExtensionValidator]),new d.ExtensionsValidator]),extensionPointsValidator:new d.ExtensionPointsValidator,extensionValidator:new d.ExtensionValidator,fieldForbiddenValidator:new T.FieldForbiddenValidator,fieldRequiredValidator:new E.FieldRequiredValidator,fieldsPaneValidator:new h.FieldsPaneValidator,filterColumnTargetValidator:new c.FilterColumnTargetValidator,filterDisplaySettingsValidator:new c.FilterDisplaySettingsValidator,filterConditionsValidator:new R.ArrayValidator([new c.ConditionItemValidator]),filterHierarchyTargetValidator:new c.FilterHierarchyTargetValidator,filterMeasureTargetValidator:new c.FilterMeasureTargetValidator,filterTargetValidator:new S.AnyOfValidator([new c.FilterColumnTargetValidator,new c.FilterHierarchyTargetValidator,new c.FilterMeasureTargetValidator]),filterValidator:new c.FilterValidator,filterTypeValidator:new R.EnumValidator([0,1,2,3,4,5,6,7]),filtersArrayValidator:new R.ArrayValidator([new c.FilterValidator]),filtersOperationsUpdateValidator:new R.EnumValidator([1,2,3]),filtersOperationsRemoveAllValidator:new R.EnumValidator([0]),filtersPaneValidator:new h.FiltersPaneValidator,hyperlinkClickBehaviorValidator:new R.EnumValidator([0,1,2]),includeExcludeFilterValidator:new c.IncludeExcludeFilterValidator,includeExludeFilterTypeValidator:new R.EnumValidator([3]),layoutTypeValidator:new R.EnumValidator([0,1,2,3]),loadQnaValidator:new v.LoadQnaValidator,menuExtensionValidator:new S.AnyOfValidator([new d.FlatMenuExtensionValidator,new d.GroupedMenuExtensionValidator]),menuGroupExtensionArrayValidator:new R.ArrayValidator([new d.MenuGroupExtensionValidator]),menuGroupExtensionValidator:new d.MenuGroupExtensionValidator,menuLocationValidator:new R.EnumValidator([0,1]),notSupportedFilterTypeValidator:new R.EnumValidator([2]),notSupportedFilterValidator:new c.NotSupportedFilterValidator,numberArrayValidator:new R.NumberArrayValidator,numberValidator:new R.NumberValidator,onLoadFiltersBaseValidator:new S.AnyOfValidator([new c.OnLoadFiltersBaseValidator,new c.OnLoadFiltersBaseRemoveOperationValidator]),pageLayoutValidator:new F.MapValidator([new R.StringValidator],[new p.VisualLayoutValidator]),pageNavigationPaneValidator:new h.PageNavigationPaneValidator,pageNavigationPositionValidator:new R.EnumValidator([0,1]),pageSizeTypeValidator:new R.EnumValidator([0,1,2,3,4,5]),pageSizeValidator:new f.PageSizeValidator,pageValidator:new f.PageValidator,pageViewFieldValidator:new f.PageViewFieldValidator,pagesLayoutValidator:new F.MapValidator([new R.StringValidator],[new p.PageLayoutValidator]),paginatedReportCommandsValidator:new o.PaginatedReportCommandsValidator,paginatedReportLoadValidator:new V.PaginatedReportLoadValidator,paginatedReportsettingsValidator:new w.PaginatedReportSettingsValidator,parametersPanelValidator:new x.ParametersPanelValidator,permissionsValidator:new R.EnumValidator([0,1,2,4,7]),playBookmarkRequestValidator:new a.PlayBookmarkRequestValidator,qnaInterpretInputDataValidator:new v.QnaInterpretInputDataValidator,qnaPanesValidator:new h.QnaPanesValidator,qnaSettingValidator:new v.QnaSettingsValidator,relativeDateFilterOperatorValidator:new R.EnumValidator([0,1,2]),relativeDateFilterTimeUnitTypeValidator:new R.EnumValidator([0,1,2,3,4,5,6]),relativeDateFilterTypeValidator:new R.EnumValidator([4]),relativeDateFilterValidator:new c.RelativeDateFilterValidator,relativeDateTimeFilterTypeValidator:new R.EnumValidator([4,7]),relativeDateTimeFilterUnitTypeValidator:new R.EnumValidator([0,1,2,3,4,5,6,7,8]),relativeTimeFilterTimeUnitTypeValidator:new R.EnumValidator([7,8]),relativeTimeFilterTypeValidator:new R.EnumValidator([7]),relativeTimeFilterValidator:new c.RelativeTimeFilterValidator,reportBarsValidator:new i.ReportBarsValidator,reportCreateValidator:new y.ReportCreateValidator,reportLoadFiltersValidator:new S.AnyOfValidator([new R.ArrayValidator([new c.FilterValidator]),new c.OnLoadFiltersValidator]),reportLoadValidator:new m.ReportLoadValidator,reportPanesValidator:new h.ReportPanesValidator,saveAsParametersValidator:new g.SaveAsParametersValidator,selectionPaneValidator:new h.SelectionPaneValidator,settingsValidator:new w.SettingsValidator,singleCommandSettingsValidator:new o.SingleCommandSettingsValidator,slicerSelectorValidator:new S.AnyOfValidator([new b.VisualSelectorValidator,new b.SlicerTargetSelectorValidator]),slicerStateValidator:new P.SlicerStateValidator,slicerTargetValidator:new S.AnyOfValidator([new c.FilterColumnTargetValidator,new c.FilterHierarchyTargetValidator,new c.FilterMeasureTargetValidator,new c.FilterKeyColumnsTargetValidator,new c.FilterKeyHierarchyTargetValidator]),slicerValidator:new P.SlicerValidator,stringArrayValidator:new R.StringArrayValidator,stringValidator:new R.StringValidator,syncSlicersPaneValidator:new h.SyncSlicersPaneValidator,tileLoadValidator:new _.TileLoadValidator,tokenTypeValidator:new R.EnumValidator([0,1]),topNFilterTypeValidator:new R.EnumValidator([5]),topNFilterValidator:new c.TopNFilterValidator,updateFiltersRequestValidator:new S.AnyOfValidator([new c.UpdateFiltersRequestValidator,new c.RemoveFiltersRequestValidator]),viewModeValidator:new R.EnumValidator([0,1]),visualCommandSelectorValidator:new S.AnyOfValidator([new b.VisualSelectorValidator,new b.VisualTypeSelectorValidator]),visualHeaderSelectorValidator:new S.AnyOfValidator([new b.VisualSelectorValidator,new b.VisualTypeSelectorValidator]),visualHeaderSettingsValidator:new O.VisualHeaderSettingsValidator,visualHeaderValidator:new O.VisualHeaderValidator,visualHeadersValidator:new R.ArrayValidator([new O.VisualHeaderValidator]),visualizationsPaneValidator:new h.VisualizationsPaneValidator,visualLayoutValidator:new p.VisualLayoutValidator,visualSelectorValidator:new b.VisualSelectorValidator,visualSettingsValidator:new O.VisualSettingsValidator,visualTypeSelectorValidator:new b.VisualTypeSelectorValidator,zoomLevelValidator:new R.RangeValidator(.25,4)}},function(t,e,r){var i,a=this&&this.__extends||(i=function(t,e){return(i=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])})(t,e)},function(t,e){function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.ActionBarValidator=e.ReportBarsValidator=void 0;var o=r(3),n=r(4),l=r(1),s=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return a(e,t),e.prototype.validate=function(e,r,i){if(null==e)return null;var a=t.prototype.validate.call(this,e,r,i);if(a)return a;var n=[{field:"actionBar",validators:[l.Validators.actionBarValidator]}];return new o.MultipleFieldsValidator(n).validate(e,r,i)},e}(n.ObjectValidator);e.ReportBarsValidator=s;var u=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return a(e,t),e.prototype.validate=function(e,r,i){if(null==e)return null;var a=t.prototype.validate.call(this,e,r,i);if(a)return a;var n=[{field:"visible",validators:[l.Validators.booleanValidator]}];return new o.MultipleFieldsValidator(n).validate(e,r,i)},e}(n.ObjectValidator);e.ActionBarValidator=u},function(t,e){Object.defineProperty(e,"__esModule",{value:!0}),e.MultipleFieldsValidator=void 0;var r=function(){function t(t){this.fieldValidatorsPairs=t}return t.prototype.validate=function(t,e,r){if(!this.fieldValidatorsPairs)return null;for(var i=e?e+"."+r:r,a=0,o=this.fieldValidatorsPairs;athis.maxValue||e0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0?"&":"?";return t+=i+e+"="+r},e.isSavedInternal=function(t,e,a){return r(this,void 0,void 0,(function(){return i(this,(function(r){switch(r.label){case 0:return r.trys.push([0,2,,3]),[4,t.get("/report/hasUnsavedChanges",{uid:e},a)];case 1:return[2,!r.sent().body];case 2:throw r.sent().body;case 3:return[2]}}))}))},e.isRDLEmbed=function(t){return t&&t.toLowerCase().indexOf("/rdlembed?")>=0},e.autoAuthInEmbedUrl=function(t){return t&&decodeURIComponent(t).toLowerCase().indexOf("autoauth=true")>=0},e.getRandomValue=o,e.getTimeDiffInMilliseconds=function(t,e){return Math.abs(t.getTime()-e.getTime())}},function(t,e){Object.defineProperty(e,"__esModule",{value:!0}),e.FilterBuilder=void 0;var r=function(){function t(){}return t.prototype.withTargetObject=function(t){return this.target=t,this},t.prototype.withColumnTarget=function(t,e){return this.target={table:t,column:e},this},t.prototype.withMeasureTarget=function(t,e){return this.target={table:t,measure:e},this},t.prototype.withHierarchyLevelTarget=function(t,e,r){return this.target={table:t,hierarchy:e,hierarchyLevel:r},this},t.prototype.withColumnAggregation=function(t,e,r){return this.target={table:t,column:e,aggregationFunction:r},this},t.prototype.withHierarchyLevelAggregationTarget=function(t,e,r,i){return this.target={table:t,hierarchy:e,hierarchyLevel:r,aggregationFunction:i},this},t}();e.FilterBuilder=r},function(t,e){Object.defineProperty(e,"__esModule",{value:!0}),e.EmbedUrlNotSupported=e.APINotSupportedForRDLError=void 0,e.APINotSupportedForRDLError="This API is currently not supported for RDL reports",e.EmbedUrlNotSupported="Embed URL is invalid for this scenario. Please use Power BI REST APIs to get the valid URL"},function(t,e,r){var i,a=this&&this.__extends||(i=function(t,e){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])})(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}),o=this&&this.__awaiter||function(t,e,r,i){return new(r||(r=Promise))((function(a,o){function n(t){try{s(i.next(t))}catch(t){o(t)}}function l(t){try{s(i.throw(t))}catch(t){o(t)}}function s(t){var e;t.done?a(t.value):(e=t.value,e instanceof r?e:new r((function(t){t(e)}))).then(n,l)}s((i=i.apply(t,e||[])).next())}))},n=this&&this.__generator||function(t,e){var r,i,a,o,n={label:0,sent:function(){if(1&a[0])throw a[1];return a[1]},trys:[],ops:[]};return o={next:l(0),throw:l(1),return:l(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function l(o){return function(l){return function(o){if(r)throw new TypeError("Generator is already executing.");for(;n;)try{if(r=1,i&&(a=2&o[0]?i.return:o[0]?i.throw||((a=i.return)&&a.call(i),0):i.next)&&!(a=a.call(i,o[1])).done)return a;switch(i=0,a&&(o=[2&o[0],a.value]),o[0]){case 0:case 1:a=o;break;case 4:return n.label++,{value:o[1],done:!1};case 5:n.label++,i=o[1],o=[0];continue;case 7:o=n.ops.pop(),n.trys.pop();continue;default:if(!(a=n.trys,(a=a.length>0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&!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,s=o.keyValues;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 s.conditions=l,s}return a(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}(l);function V(t){if(t.filterType)return t.filterType;var e=t,r=t;return"string"==typeof e.operator&&Array.isArray(e.values)?o.Basic:"string"==typeof r.logicalOperator&&Array.isArray(r.conditions)?o.Advanced:o.Unknown}function g(t){return!(!t.table||!t.column||t.aggregationFunction)}e.AdvancedFilter=m,e.isFilterKeyColumnsTarget=function(t){return g(t)&&!!t.keys},e.isBasicFilterWithKeys=function(t){return V(t)===o.Basic&&!!t.keyValues},e.getFilterType=V,e.isMeasure=function(t){return void 0!==t.table&&void 0!==t.measure},e.isColumn=g,e.isHierarchyLevel=function(t){return!(!(t.table&&t.hierarchy&&t.hierarchyLevel)||t.aggregationFunction)},e.isHierarchyLevelAggr=function(t){return!!(t.table&&t.hierarchy&&t.hierarchyLevel&&t.aggregationFunction)},e.isColumnAggr=function(t){return!!(t.table&&t.column&&t.aggregationFunction)},function(t){t[t.Bottom=0]="Bottom",t[t.Left=1]="Left"}(e.PageNavigationPosition||(e.PageNavigationPosition={})),function(t){t[t.Interactive=0]="Interactive",t[t.ResultOnly=1]="ResultOnly"}(e.QnaMode||(e.QnaMode={})),function(t){t[t.Summarized=0]="Summarized",t[t.Underlying=1]="Underlying"}(e.ExportDataType||(e.ExportDataType={})),function(t){t[t.Off=0]="Off",t[t.Presentation=1]="Presentation"}(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"},function(t){t[t.Ascending=1]="Ascending",t[t.Descending=2]="Descending"}(e.SortDirection||(e.SortDirection={}));var b=function(){function t(t){this.$schema=t}return t.prototype.toJSON=function(){return{$schema:this.$schema}},t}();e.Selector=b;var w=function(t){function e(r){var i=t.call(this,e.schemaUrl)||this;return i.pageName=r,i}return a(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}(b);e.PageSelector=w;var P=function(t){function e(r){var i=t.call(this,e.schemaUrl)||this;return i.visualName=r,i}return a(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}(b);e.VisualSelector=P;var _=function(t){function e(e){var r=t.call(this,P.schemaUrl)||this;return r.visualType=e,r}return a(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}(b);e.VisualTypeSelector=_;var O=function(t){function e(e){var r=t.call(this,P.schemaUrl)||this;return r.target=e,r}return a(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}(b);function S(t){return Array.isArray(t)}function T(t){return t&&!!t.groupName}function E(t){return Array.isArray(t)}function F(t){var e=t.message;return e||(e=t.path+" is invalid. Not meeting "+t.keyword+" constraint"),{message:e}}e.SlicerTargetSelector=O,function(t){t[t.Enabled=0]="Enabled",t[t.Disabled=1]="Disabled",t[t.Hidden=2]="Hidden"}(e.CommandDisplayOption||(e.CommandDisplayOption={})),function(t){t[t.Grouping=0]="Grouping",t[t.Measure=1]="Measure",t[t.GroupingOrMeasure=2]="GroupingOrMeasure"}(e.VisualDataRoleKind||(e.VisualDataRoleKind={})),function(t){t[t.Measure=0]="Measure",t[t.Grouping=1]="Grouping"}(e.VisualDataRoleKindPreference||(e.VisualDataRoleKindPreference={})),e.isOnLoadFilters=function(t){return t&&!S(t)},e.isReportFiltersArray=S,e.isFlatMenuExtension=function(t){return t&&!T(t)},e.isGroupedMenuExtension=T,e.isIExtensions=function(t){return t&&!E(t)},e.isIExtensionArray=E,e.validateVisualSelector=function(t){var e=n.Validators.visualSelectorValidator.validate(t);return e?e.map(F):void 0},e.validateSlicer=function(t){var e=n.Validators.slicerValidator.validate(t);return e?e.map(F):void 0},e.validateSlicerState=function(t){var e=n.Validators.slicerStateValidator.validate(t);return e?e.map(F):void 0},e.validatePlayBookmarkRequest=function(t){var e=n.Validators.playBookmarkRequestValidator.validate(t);return e?e.map(F):void 0},e.validateAddBookmarkRequest=function(t){var e=n.Validators.addBookmarkRequestValidator.validate(t);return e?e.map(F):void 0},e.validateApplyBookmarkByNameRequest=function(t){var e=n.Validators.applyBookmarkByNameRequestValidator.validate(t);return e?e.map(F):void 0},e.validateApplyBookmarkStateRequest=function(t){var e=n.Validators.applyBookmarkStateRequestValidator.validate(t);return e?e.map(F):void 0},e.validateCaptureBookmarkRequest=function(t){var e=n.Validators.captureBookmarkRequestValidator.validate(t);return e?e.map(F):void 0},e.validateSettings=function(t){var e=n.Validators.settingsValidator.validate(t);return e?e.map(F):void 0},e.validatePanes=function(t){var e=n.Validators.reportPanesValidator.validate(t);return e?e.map(F):void 0},e.validateBookmarksPane=function(t){var e=n.Validators.bookmarksPaneValidator.validate(t);return e?e.map(F):void 0},e.validateFiltersPane=function(t){var e=n.Validators.filtersPaneValidator.validate(t);return e?e.map(F):void 0},e.validateFieldsPane=function(t){var e=n.Validators.fieldsPaneValidator.validate(t);return e?e.map(F):void 0},e.validatePageNavigationPane=function(t){var e=n.Validators.pageNavigationPaneValidator.validate(t);return e?e.map(F):void 0},e.validateSelectionPane=function(t){var e=n.Validators.selectionPaneValidator.validate(t);return e?e.map(F):void 0},e.validateSyncSlicersPane=function(t){var e=n.Validators.syncSlicersPaneValidator.validate(t);return e?e.map(F):void 0},e.validateVisualizationsPane=function(t){var e=n.Validators.visualizationsPaneValidator.validate(t);return e?e.map(F):void 0},e.validateCustomPageSize=function(t){var e=n.Validators.customPageSizeValidator.validate(t);return e?e.map(F):void 0},e.validateExtension=function(t){var e=n.Validators.extensionValidator.validate(t);return e?e.map(F):void 0},e.validateMenuGroupExtension=function(t){var e=n.Validators.menuGroupExtensionValidator.validate(t);return e?e.map(F):void 0},e.validateReportLoad=function(t){var e=n.Validators.reportLoadValidator.validate(t);return e?e.map(F):void 0},e.validatePaginatedReportLoad=function(t){var e=n.Validators.paginatedReportLoadValidator.validate(t);return e?e.map(F):void 0},e.validateCreateReport=function(t){var e=n.Validators.reportCreateValidator.validate(t);return e?e.map(F):void 0},e.validateDashboardLoad=function(t){var e=n.Validators.dashboardLoadValidator.validate(t);return e?e.map(F):void 0},e.validateTileLoad=function(t){var e=n.Validators.tileLoadValidator.validate(t);return e?e.map(F):void 0},e.validatePage=function(t){var e=n.Validators.pageValidator.validate(t);return e?e.map(F):void 0},e.validateFilter=function(t){var e=n.Validators.filterValidator.validate(t);return e?e.map(F):void 0},e.validateUpdateFiltersRequest=function(t){var e=n.Validators.updateFiltersRequestValidator.validate(t);return e?e.map(F):void 0},e.validateSaveAsParameters=function(t){var e=n.Validators.saveAsParametersValidator.validate(t);return e?e.map(F):void 0},e.validateLoadQnaConfiguration=function(t){var e=n.Validators.loadQnaValidator.validate(t);return e?e.map(F):void 0},e.validateQnaInterpretInputData=function(t){var e=n.Validators.qnaInterpretInputDataValidator.validate(t);return e?e.map(F):void 0},e.validateExportDataRequest=function(t){var e=n.Validators.exportDataRequestValidator.validate(t);return e?e.map(F):void 0},e.validateVisualHeader=function(t){var e=n.Validators.visualHeaderValidator.validate(t);return e?e.map(F):void 0},e.validateVisualSettings=function(t){var e=n.Validators.visualSettingsValidator.validate(t);return e?e.map(F):void 0},e.validateCommandsSettings=function(t){var e=n.Validators.commandsSettingsValidator.validate(t);return e?e.map(F):void 0},e.validateCustomTheme=function(t){var e=n.Validators.customThemeValidator.validate(t);return e?e.map(F):void 0},e.validateZoomLevel=function(t){var e=n.Validators.zoomLevelValidator.validate(t);return e?e.map(F):void 0}},function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.Validators=void 0;var i=r(2),a=r(5),o=r(6),n=r(7),l=r(8),s=r(9),u=r(10),d=r(11),c=r(12),p=r(13),f=r(14),h=r(15),v=r(16),y=r(17),m=r(18),V=r(19),g=r(20),b=r(21),w=r(22),P=r(23),_=r(24),O=r(25),S=r(26),T=r(27),E=r(28),F=r(29),R=r(4),x=r(30);e.Validators={addBookmarkRequestValidator:new a.AddBookmarkRequestValidator,advancedFilterTypeValidator:new R.EnumValidator([0]),advancedFilterValidator:new c.AdvancedFilterValidator,anyArrayValidator:new R.ArrayValidator([new S.AnyOfValidator([new R.StringValidator,new R.NumberValidator,new R.BooleanValidator])]),anyFilterValidator:new S.AnyOfValidator([new c.BasicFilterValidator,new c.AdvancedFilterValidator,new c.IncludeExcludeFilterValidator,new c.NotSupportedFilterValidator,new c.RelativeDateFilterValidator,new c.TopNFilterValidator,new c.RelativeTimeFilterValidator]),anyValueValidator:new S.AnyOfValidator([new R.StringValidator,new R.NumberValidator,new R.BooleanValidator]),actionBarValidator:new i.ActionBarValidator,applyBookmarkByNameRequestValidator:new a.ApplyBookmarkByNameRequestValidator,applyBookmarkStateRequestValidator:new a.ApplyBookmarkStateRequestValidator,applyBookmarkValidator:new S.AnyOfValidator([new a.ApplyBookmarkByNameRequestValidator,new a.ApplyBookmarkStateRequestValidator]),backgroundValidator:new R.EnumValidator([0,1]),basicFilterTypeValidator:new R.EnumValidator([1]),basicFilterValidator:new c.BasicFilterValidator,booleanArrayValidator:new R.BooleanArrayValidator,booleanValidator:new R.BooleanValidator,bookmarksPaneValidator:new h.BookmarksPaneValidator,captureBookmarkOptionsValidator:new a.CaptureBookmarkOptionsValidator,captureBookmarkRequestValidator:new a.CaptureBookmarkRequestValidator,commandDisplayOptionValidator:new R.EnumValidator([0,1,2]),commandExtensionSelectorValidator:new S.AnyOfValidator([new b.VisualSelectorValidator,new b.VisualTypeSelectorValidator]),commandExtensionArrayValidator:new R.ArrayValidator([new d.CommandExtensionValidator]),commandExtensionValidator:new d.CommandExtensionValidator,commandsSettingsArrayValidator:new R.ArrayValidator([new o.CommandsSettingsValidator]),commandsSettingsValidator:new o.CommandsSettingsValidator,conditionItemValidator:new c.ConditionItemValidator,contrastModeValidator:new R.EnumValidator([0,1,2,3,4]),customLayoutDisplayOptionValidator:new R.EnumValidator([0,1,2]),customLayoutValidator:new p.CustomLayoutValidator,customPageSizeValidator:new f.CustomPageSizeValidator,customThemeValidator:new n.CustomThemeValidator,dashboardLoadValidator:new l.DashboardLoadValidator,datasetBindingValidator:new s.DatasetBindingValidator,displayStateModeValidator:new R.EnumValidator([0,1]),displayStateValidator:new p.DisplayStateValidator,exportDataRequestValidator:new u.ExportDataRequestValidator,extensionArrayValidator:new R.ArrayValidator([new d.ExtensionValidator]),extensionsValidator:new S.AnyOfValidator([new R.ArrayValidator([new d.ExtensionValidator]),new d.ExtensionsValidator]),extensionPointsValidator:new d.ExtensionPointsValidator,extensionValidator:new d.ExtensionValidator,fieldForbiddenValidator:new T.FieldForbiddenValidator,fieldRequiredValidator:new E.FieldRequiredValidator,fieldsPaneValidator:new h.FieldsPaneValidator,filterColumnTargetValidator:new c.FilterColumnTargetValidator,filterDisplaySettingsValidator:new c.FilterDisplaySettingsValidator,filterConditionsValidator:new R.ArrayValidator([new c.ConditionItemValidator]),filterHierarchyTargetValidator:new c.FilterHierarchyTargetValidator,filterMeasureTargetValidator:new c.FilterMeasureTargetValidator,filterTargetValidator:new S.AnyOfValidator([new c.FilterColumnTargetValidator,new c.FilterHierarchyTargetValidator,new c.FilterMeasureTargetValidator]),filterValidator:new c.FilterValidator,filterTypeValidator:new R.EnumValidator([0,1,2,3,4,5,6,7]),filtersArrayValidator:new R.ArrayValidator([new c.FilterValidator]),filtersOperationsUpdateValidator:new R.EnumValidator([1,2,3]),filtersOperationsRemoveAllValidator:new R.EnumValidator([0]),filtersPaneValidator:new h.FiltersPaneValidator,hyperlinkClickBehaviorValidator:new R.EnumValidator([0,1,2]),includeExcludeFilterValidator:new c.IncludeExcludeFilterValidator,includeExludeFilterTypeValidator:new R.EnumValidator([3]),layoutTypeValidator:new R.EnumValidator([0,1,2,3]),loadQnaValidator:new v.LoadQnaValidator,menuExtensionValidator:new S.AnyOfValidator([new d.FlatMenuExtensionValidator,new d.GroupedMenuExtensionValidator]),menuGroupExtensionArrayValidator:new R.ArrayValidator([new d.MenuGroupExtensionValidator]),menuGroupExtensionValidator:new d.MenuGroupExtensionValidator,menuLocationValidator:new R.EnumValidator([0,1]),notSupportedFilterTypeValidator:new R.EnumValidator([2]),notSupportedFilterValidator:new c.NotSupportedFilterValidator,numberArrayValidator:new R.NumberArrayValidator,numberValidator:new R.NumberValidator,onLoadFiltersBaseValidator:new S.AnyOfValidator([new c.OnLoadFiltersBaseValidator,new c.OnLoadFiltersBaseRemoveOperationValidator]),pageLayoutValidator:new F.MapValidator([new R.StringValidator],[new p.VisualLayoutValidator]),pageNavigationPaneValidator:new h.PageNavigationPaneValidator,pageNavigationPositionValidator:new R.EnumValidator([0,1]),pageSizeTypeValidator:new R.EnumValidator([0,1,2,3,4,5]),pageSizeValidator:new f.PageSizeValidator,pageValidator:new f.PageValidator,pageViewFieldValidator:new f.PageViewFieldValidator,pagesLayoutValidator:new F.MapValidator([new R.StringValidator],[new p.PageLayoutValidator]),paginatedReportCommandsValidator:new o.PaginatedReportCommandsValidator,paginatedReportLoadValidator:new V.PaginatedReportLoadValidator,paginatedReportsettingsValidator:new w.PaginatedReportSettingsValidator,parametersPanelValidator:new x.ParametersPanelValidator,permissionsValidator:new R.EnumValidator([0,1,2,4,7]),playBookmarkRequestValidator:new a.PlayBookmarkRequestValidator,qnaInterpretInputDataValidator:new v.QnaInterpretInputDataValidator,qnaPanesValidator:new h.QnaPanesValidator,qnaSettingValidator:new v.QnaSettingsValidator,relativeDateFilterOperatorValidator:new R.EnumValidator([0,1,2]),relativeDateFilterTimeUnitTypeValidator:new R.EnumValidator([0,1,2,3,4,5,6]),relativeDateFilterTypeValidator:new R.EnumValidator([4]),relativeDateFilterValidator:new c.RelativeDateFilterValidator,relativeDateTimeFilterTypeValidator:new R.EnumValidator([4,7]),relativeDateTimeFilterUnitTypeValidator:new R.EnumValidator([0,1,2,3,4,5,6,7,8]),relativeTimeFilterTimeUnitTypeValidator:new R.EnumValidator([7,8]),relativeTimeFilterTypeValidator:new R.EnumValidator([7]),relativeTimeFilterValidator:new c.RelativeTimeFilterValidator,reportBarsValidator:new i.ReportBarsValidator,reportCreateValidator:new y.ReportCreateValidator,reportLoadFiltersValidator:new S.AnyOfValidator([new R.ArrayValidator([new c.FilterValidator]),new c.OnLoadFiltersValidator]),reportLoadValidator:new m.ReportLoadValidator,reportPanesValidator:new h.ReportPanesValidator,saveAsParametersValidator:new g.SaveAsParametersValidator,selectionPaneValidator:new h.SelectionPaneValidator,settingsValidator:new w.SettingsValidator,singleCommandSettingsValidator:new o.SingleCommandSettingsValidator,slicerSelectorValidator:new S.AnyOfValidator([new b.VisualSelectorValidator,new b.SlicerTargetSelectorValidator]),slicerStateValidator:new P.SlicerStateValidator,slicerTargetValidator:new S.AnyOfValidator([new c.FilterColumnTargetValidator,new c.FilterHierarchyTargetValidator,new c.FilterMeasureTargetValidator,new c.FilterKeyColumnsTargetValidator,new c.FilterKeyHierarchyTargetValidator]),slicerValidator:new P.SlicerValidator,stringArrayValidator:new R.StringArrayValidator,stringValidator:new R.StringValidator,syncSlicersPaneValidator:new h.SyncSlicersPaneValidator,tileLoadValidator:new _.TileLoadValidator,tokenTypeValidator:new R.EnumValidator([0,1]),topNFilterTypeValidator:new R.EnumValidator([5]),topNFilterValidator:new c.TopNFilterValidator,updateFiltersRequestValidator:new S.AnyOfValidator([new c.UpdateFiltersRequestValidator,new c.RemoveFiltersRequestValidator]),viewModeValidator:new R.EnumValidator([0,1]),visualCommandSelectorValidator:new S.AnyOfValidator([new b.VisualSelectorValidator,new b.VisualTypeSelectorValidator]),visualHeaderSelectorValidator:new S.AnyOfValidator([new b.VisualSelectorValidator,new b.VisualTypeSelectorValidator]),visualHeaderSettingsValidator:new O.VisualHeaderSettingsValidator,visualHeaderValidator:new O.VisualHeaderValidator,visualHeadersValidator:new R.ArrayValidator([new O.VisualHeaderValidator]),visualizationsPaneValidator:new h.VisualizationsPaneValidator,visualLayoutValidator:new p.VisualLayoutValidator,visualSelectorValidator:new b.VisualSelectorValidator,visualSettingsValidator:new O.VisualSettingsValidator,visualTypeSelectorValidator:new b.VisualTypeSelectorValidator,zoomLevelValidator:new R.RangeValidator(.25,4)}},function(t,e,r){var i,a=this&&this.__extends||(i=function(t,e){return(i=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])})(t,e)},function(t,e){function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.ActionBarValidator=e.ReportBarsValidator=void 0;var o=r(3),n=r(4),l=r(1),s=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return a(e,t),e.prototype.validate=function(e,r,i){if(null==e)return null;var a=t.prototype.validate.call(this,e,r,i);if(a)return a;var n=[{field:"actionBar",validators:[l.Validators.actionBarValidator]}];return new o.MultipleFieldsValidator(n).validate(e,r,i)},e}(n.ObjectValidator);e.ReportBarsValidator=s;var u=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return a(e,t),e.prototype.validate=function(e,r,i){if(null==e)return null;var a=t.prototype.validate.call(this,e,r,i);if(a)return a;var n=[{field:"visible",validators:[l.Validators.booleanValidator]}];return new o.MultipleFieldsValidator(n).validate(e,r,i)},e}(n.ObjectValidator);e.ActionBarValidator=u},function(t,e){Object.defineProperty(e,"__esModule",{value:!0}),e.MultipleFieldsValidator=void 0;var r=function(){function t(t){this.fieldValidatorsPairs=t}return t.prototype.validate=function(t,e,r){if(!this.fieldValidatorsPairs)return null;for(var i=e?e+"."+r:r,a=0,o=this.fieldValidatorsPairs;athis.maxValue||e0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0?"&":"?";return t+=i+e+"="+r},e.isSavedInternal=function(t,e,a){return r(this,void 0,void 0,(function(){return i(this,(function(r){switch(r.label){case 0:return r.trys.push([0,2,,3]),[4,t.get("/report/hasUnsavedChanges",{uid:e},a)];case 1:return[2,!r.sent().body];case 2:throw r.sent().body;case 3:return[2]}}))}))},e.isRDLEmbed=function(t){return t&&t.toLowerCase().indexOf("/rdlembed?")>=0},e.autoAuthInEmbedUrl=function(t){return t&&decodeURIComponent(t).toLowerCase().indexOf("autoauth=true")>=0},e.getRandomValue=o,e.getTimeDiffInMilliseconds=function(t,e){return Math.abs(t.getTime()-e.getTime())}},function(t,e){Object.defineProperty(e,"__esModule",{value:!0}),e.FilterBuilder=void 0;var r=function(){function t(){}return t.prototype.withTargetObject=function(t){return this.target=t,this},t.prototype.withColumnTarget=function(t,e){return this.target={table:t,column:e},this},t.prototype.withMeasureTarget=function(t,e){return this.target={table:t,measure:e},this},t.prototype.withHierarchyLevelTarget=function(t,e,r){return this.target={table:t,hierarchy:e,hierarchyLevel:r},this},t.prototype.withColumnAggregation=function(t,e,r){return this.target={table:t,column:e,aggregationFunction:r},this},t.prototype.withHierarchyLevelAggregationTarget=function(t,e,r,i){return this.target={table:t,hierarchy:e,hierarchyLevel:r,aggregationFunction:i},this},t}();e.FilterBuilder=r},function(t,e){Object.defineProperty(e,"__esModule",{value:!0}),e.EmbedUrlNotSupported=e.APINotSupportedForRDLError=void 0,e.APINotSupportedForRDLError="This API is currently not supported for RDL reports",e.EmbedUrlNotSupported="Embed URL is invalid for this scenario. Please use Power BI REST APIs to get the valid URL"},function(t,e,r){var i,a=this&&this.__extends||(i=function(t,e){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])})(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}),o=this&&this.__awaiter||function(t,e,r,i){return new(r||(r=Promise))((function(a,o){function n(t){try{s(i.next(t))}catch(t){o(t)}}function l(t){try{s(i.throw(t))}catch(t){o(t)}}function s(t){var e;t.done?a(t.value):(e=t.value,e instanceof r?e:new r((function(t){t(e)}))).then(n,l)}s((i=i.apply(t,e||[])).next())}))},n=this&&this.__generator||function(t,e){var r,i,a,o,n={label:0,sent:function(){if(1&a[0])throw a[1];return a[1]},trys:[],ops:[]};return o={next:l(0),throw:l(1),return:l(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function l(o){return function(l){return function(o){if(r)throw new TypeError("Generator is already executing.");for(;n;)try{if(r=1,i&&(a=2&o[0]?i.return:o[0]?i.throw||((a=i.return)&&a.call(i),0):i.next)&&!(a=a.call(i,o[1])).done)return a;switch(i=0,a&&(o=[2&o[0],a.value]),o[0]){case 0:case 1:a=o;break;case 4:return n.label++,{value:o[1],done:!1};case 5:n.label++,i=o[1],o=[0];continue;case 7:o=n.ops.pop(),n.trys.pop();continue;default:if(!(a=n.trys,(a=a.length>0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1] { */ export abstract class Embed { /** @hidden */ - static allowedEvents = ["loaded", "saved", "rendered", "saveAsTriggered", "error", "dataSelected", "buttonClicked"]; + static allowedEvents = ["loaded", "saved", "rendered", "saveAsTriggered", "error", "dataSelected", "buttonClicked", "info"]; /** @hidden */ static accessTokenAttribute = 'powerbi-access-token'; /** @hidden */ From 9f9e39ed0ad5cd7c447664768abaf7b308a9a938 Mon Sep 17 00:00:00 2001 From: Ali Abu Foul Date: Thu, 13 Jan 2022 10:34:02 +0000 Subject: [PATCH 085/125] Merged PR 209427: Support accessTokenProvider hook - Release version 2.19.0 --- dist/powerbi-client.d.ts | 2 +- dist/powerbi.js | 55 +++++++++++++++++++++++++++------------- dist/powerbi.min.js | 4 +-- package.json | 4 +-- src/config.ts | 2 +- src/embed.ts | 9 ++++++- src/service.ts | 14 +++++++++- 7 files changed, 65 insertions(+), 25 deletions(-) diff --git a/dist/powerbi-client.d.ts b/dist/powerbi-client.d.ts index 1e03f25b..57f4afb8 100644 --- a/dist/powerbi-client.d.ts +++ b/dist/powerbi-client.d.ts @@ -1,4 +1,4 @@ -// powerbi-client v2.18.7 +// powerbi-client v2.19.0 // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. declare module "config" { diff --git a/dist/powerbi.js b/dist/powerbi.js index 8e6755ca..af3c6327 100644 --- a/dist/powerbi.js +++ b/dist/powerbi.js @@ -1,4 +1,4 @@ -// powerbi-client v2.18.7 +// powerbi-client v2.19.0 // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. (function webpackUniversalModuleDefinition(root, factory) { @@ -290,7 +290,7 @@ return /******/ (function(modules) { // webpackBootstrap /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { -// powerbi-models v1.9.7 +// powerbi-models v1.9.8 // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. (function webpackUniversalModuleDefinition(root, factory) { @@ -7167,7 +7167,7 @@ exports.BookmarksManager = BookmarksManager; Object.defineProperty(exports, "__esModule", { value: true }); /** @ignore */ /** */ var config = { - version: '2.18.7', + version: '2.19.0', type: 'js' }; exports.default = config; @@ -7966,6 +7966,12 @@ var Embed = /** @class */ (function () { } this.config.embedUrl = (0, util_1.addParamToUrl)(this.config.embedUrl, "registerQueryCallback", "true"); } + var accessTokenProvider = eventHooks.accessTokenProvider; + if (!!accessTokenProvider) { + if (this.embedtype.toLowerCase() !== "report" || this.config.tokenType !== models.TokenType.Aad) { + throw new Error("accessTokenProvider is only supported in report SaaS embed"); + } + } }; /** * Adds locale parameters to embedUrl @@ -10587,8 +10593,9 @@ var Service = /** @class */ (function () { this.uniqueSessionId = utils.generateUUID(); this.router.post('/reports/:uniqueId/eventHooks/:eventName', function (req, _res) { return __awaiter(_this, void 0, void 0, function () { var embed, _a; - return __generator(this, function (_b) { - switch (_b.label) { + var _b, _c; + return __generator(this, function (_d) { + switch (_d.label) { case 0: embed = utils.find(function (embed) { return (embed.config.uniqueId === req.params.uniqueId); @@ -10599,17 +10606,25 @@ var Service = /** @class */ (function () { _a = req.params.eventName; switch (_a) { case "preQuery": return [3 /*break*/, 1]; + case "newAccessToken": return [3 /*break*/, 3]; } - return [3 /*break*/, 3]; + return [3 /*break*/, 5]; case 1: req.body = req.body || {}; req.body.report = embed; - return [4 /*yield*/, this.invokeSDKHook(embed.eventHooks.applicationContextProvider, req, _res)]; + return [4 /*yield*/, this.invokeSDKHook((_b = embed.eventHooks) === null || _b === void 0 ? void 0 : _b.applicationContextProvider, req, _res)]; case 2: - _b.sent(); - return [3 /*break*/, 4]; - case 3: return [3 /*break*/, 4]; - case 4: return [2 /*return*/]; + _d.sent(); + return [3 /*break*/, 6]; + case 3: + req.body = req.body || {}; + req.body.report = embed; + return [4 /*yield*/, this.invokeSDKHook((_c = embed.eventHooks) === null || _c === void 0 ? void 0 : _c.accessTokenProvider, req, _res)]; + case 4: + _d.sent(); + return [3 /*break*/, 6]; + case 5: return [3 /*break*/, 6]; + case 6: return [2 /*return*/]; } }); }); }); @@ -10955,18 +10970,24 @@ var Service = /** @class */ (function () { return __generator(this, function (_a) { switch (_a.label) { case 0: - _a.trys.push([0, 2, , 3]); - return [4 /*yield*/, hook(req.body)]; + if (!hook) { + res.send(404, null); + return [2 /*return*/]; + } + _a.label = 1; case 1: + _a.trys.push([1, 3, , 4]); + return [4 /*yield*/, hook(req.body)]; + case 2: result = _a.sent(); res.send(200, result); - return [3 /*break*/, 3]; - case 2: + return [3 /*break*/, 4]; + case 3: error_1 = _a.sent(); res.send(400, null); console.error(error_1); - return [3 /*break*/, 3]; - case 3: return [2 /*return*/]; + return [3 /*break*/, 4]; + case 4: return [2 /*return*/]; } }); }); diff --git a/dist/powerbi.min.js b/dist/powerbi.min.js index 6f8b0bd6..e246bf46 100644 --- a/dist/powerbi.min.js +++ b/dist/powerbi.min.js @@ -1,7 +1,7 @@ -// powerbi-client v2.18.7 +// powerbi-client v2.19.0 // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. -!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){var e={};function r(i){if(e[i])return e[i].exports;var a=e[i]={i:i,l:!1,exports:{}};return t[i].call(a.exports,a,a.exports,r),a.l=!0,a.exports}return r.m=t,r.c=e,r.d=function(t,e,i){r.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:i})},r.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},r.t=function(t,e){if(1&e&&(t=r(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var i=Object.create(null);if(r.r(i),Object.defineProperty(i,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var a in t)r.d(i,a,function(e){return t[e]}.bind(null,a));return i},r.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return r.d(e,"a",e),e},r.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},r.p="",r(r.s=13)}([function(t,e,r){var i;i=function(){return function(t){var e={};function r(i){if(e[i])return e[i].exports;var a=e[i]={i:i,l:!1,exports:{}};return t[i].call(a.exports,a,a.exports,r),a.l=!0,a.exports}return r.m=t,r.c=e,r.d=function(t,e,i){r.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:i})},r.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},r.t=function(t,e){if(1&e&&(t=r(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var i=Object.create(null);if(r.r(i),Object.defineProperty(i,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var a in t)r.d(i,a,function(e){return t[e]}.bind(null,a));return i},r.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return r.d(e,"a",e),e},r.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},r.p="",r(r.s=0)}([function(t,e,r){var i,a=this&&this.__extends||(i=function(t,e){return(i=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])})(t,e)},function(t,e){function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.validateZoomLevel=e.validateCustomTheme=e.validateCommandsSettings=e.validateVisualSettings=e.validateVisualHeader=e.validateExportDataRequest=e.validateQnaInterpretInputData=e.validateLoadQnaConfiguration=e.validateSaveAsParameters=e.validateUpdateFiltersRequest=e.validateFilter=e.validatePage=e.validateTileLoad=e.validateDashboardLoad=e.validateCreateReport=e.validatePaginatedReportLoad=e.validateReportLoad=e.validateMenuGroupExtension=e.validateExtension=e.validateCustomPageSize=e.validateVisualizationsPane=e.validateSyncSlicersPane=e.validateSelectionPane=e.validatePageNavigationPane=e.validateFieldsPane=e.validateFiltersPane=e.validateBookmarksPane=e.validatePanes=e.validateSettings=e.validateCaptureBookmarkRequest=e.validateApplyBookmarkStateRequest=e.validateApplyBookmarkByNameRequest=e.validateAddBookmarkRequest=e.validatePlayBookmarkRequest=e.validateSlicerState=e.validateSlicer=e.validateVisualSelector=e.isIExtensionArray=e.isIExtensions=e.isGroupedMenuExtension=e.isFlatMenuExtension=e.isReportFiltersArray=e.isOnLoadFilters=e.VisualDataRoleKindPreference=e.VisualDataRoleKind=e.CommandDisplayOption=e.SlicerTargetSelector=e.VisualTypeSelector=e.VisualSelector=e.PageSelector=e.Selector=e.SortDirection=e.LegendPosition=e.TextAlignment=e.CommonErrorCodes=e.BookmarksPlayMode=e.ExportDataType=e.QnaMode=e.PageNavigationPosition=e.isColumnAggr=e.isHierarchyLevelAggr=e.isHierarchyLevel=e.isColumn=e.isMeasure=e.getFilterType=e.isBasicFilterWithKeys=e.isFilterKeyColumnsTarget=e.AdvancedFilter=e.TupleFilter=e.IdentityFilter=e.BasicFilterWithKeys=e.BasicFilter=e.RelativeTimeFilter=e.RelativeDateFilter=e.TopNFilter=e.IncludeExcludeFilter=e.NotSupportedFilter=e.Filter=e.RelativeDateOperators=e.RelativeDateFilterTimeUnit=e.FilterType=e.FiltersLevel=e.FiltersOperations=e.MenuLocation=e.ContrastMode=e.TokenType=e.ViewMode=e.Permissions=e.SectionVisibility=e.ReportAlignment=e.HyperlinkClickBehavior=e.LayoutType=e.VisualContainerDisplayMode=e.BackgroundType=e.DisplayOption=e.PageSizeType=e.TraceType=void 0;var o,n=r(1);!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"}(e.TraceType||(e.TraceType={})),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",t[t.Mobile=5]="Mobile"}(e.PageSizeType||(e.PageSizeType={})),function(t){t[t.FitToPage=0]="FitToPage",t[t.FitToWidth=1]="FitToWidth",t[t.ActualSize=2]="ActualSize"}(e.DisplayOption||(e.DisplayOption={})),function(t){t[t.Default=0]="Default",t[t.Transparent=1]="Transparent"}(e.BackgroundType||(e.BackgroundType={})),function(t){t[t.Visible=0]="Visible",t[t.Hidden=1]="Hidden"}(e.VisualContainerDisplayMode||(e.VisualContainerDisplayMode={})),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={})),function(t){t[t.Navigate=0]="Navigate",t[t.NavigateAndRaiseEvent=1]="NavigateAndRaiseEvent",t[t.RaiseEvent=2]="RaiseEvent"}(e.HyperlinkClickBehavior||(e.HyperlinkClickBehavior={})),function(t){t[t.Left=0]="Left",t[t.Center=1]="Center",t[t.Right=2]="Right",t[t.None=3]="None"}(e.ReportAlignment||(e.ReportAlignment={})),function(t){t[t.AlwaysVisible=0]="AlwaysVisible",t[t.HiddenInViewMode=1]="HiddenInViewMode"}(e.SectionVisibility||(e.SectionVisibility={})),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"}(e.Permissions||(e.Permissions={})),function(t){t[t.View=0]="View",t[t.Edit=1]="Edit"}(e.ViewMode||(e.ViewMode={})),function(t){t[t.Aad=0]="Aad",t[t.Embed=1]="Embed"}(e.TokenType||(e.TokenType={})),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"}(e.ContrastMode||(e.ContrastMode={})),function(t){t[t.Bottom=0]="Bottom",t[t.Top=1]="Top"}(e.MenuLocation||(e.MenuLocation={})),function(t){t[t.RemoveAll=0]="RemoveAll",t[t.ReplaceAll=1]="ReplaceAll",t[t.Add=2]="Add",t[t.Replace=3]="Replace"}(e.FiltersOperations||(e.FiltersOperations={})),function(t){t[t.Report=0]="Report",t[t.Page=1]="Page",t[t.Visual=2]="Visual"}(e.FiltersLevel||(e.FiltersLevel={})),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",t[t.Identity=8]="Identity"}(o=e.FilterType||(e.FilterType={})),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"}(e.RelativeDateFilterTimeUnit||(e.RelativeDateFilterTimeUnit={})),function(t){t[t.InLast=0]="InLast",t[t.InThis=1]="InThis",t[t.InNext=2]="InNext"}(e.RelativeDateOperators||(e.RelativeDateOperators={}));var l=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=l;var s=function(t){function e(r,i,a){var n=t.call(this,r,o.Unknown)||this;return n.message=i,n.notSupportedTypeName=a,n.schemaUrl=e.schemaUrl,n}return a(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}(l);e.NotSupportedFilter=s;var u=function(t){function e(r,i,a){var n=t.call(this,r,o.IncludeExclude)||this;return n.values=a,n.isExclude=i,n.schemaUrl=e.schemaUrl,n}return a(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}(l);e.IncludeExcludeFilter=u;var d=function(t){function e(r,i,a,n){var l=t.call(this,r,o.TopN)||this;return l.operator=i,l.itemCount=a,l.schemaUrl=e.schemaUrl,l.orderBy=n,l}return a(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}(l);e.TopNFilter=d;var c=function(t){function e(r,i,a,n,l){var s=t.call(this,r,o.RelativeDate)||this;return s.operator=i,s.timeUnitsCount=a,s.timeUnitType=n,s.includeToday=l,s.schemaUrl=e.schemaUrl,s}return a(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}(l);e.RelativeDateFilter=c;var p=function(t){function e(r,i,a,n){var l=t.call(this,r,o.RelativeTime)||this;return l.operator=i,l.timeUnitsCount=a,l.timeUnitType=n,l.schemaUrl=e.schemaUrl,l}return a(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}(l);e.RelativeTimeFilter=p;var f=function(t){function e(r,i){for(var a=[],n=2;n0&&!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,s=o.keyValues;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 s.conditions=l,s}return a(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}(l);function V(t){if(t.filterType)return t.filterType;var e=t,r=t;return"string"==typeof e.operator&&Array.isArray(e.values)?o.Basic:"string"==typeof r.logicalOperator&&Array.isArray(r.conditions)?o.Advanced:o.Unknown}function g(t){return!(!t.table||!t.column||t.aggregationFunction)}e.AdvancedFilter=m,e.isFilterKeyColumnsTarget=function(t){return g(t)&&!!t.keys},e.isBasicFilterWithKeys=function(t){return V(t)===o.Basic&&!!t.keyValues},e.getFilterType=V,e.isMeasure=function(t){return void 0!==t.table&&void 0!==t.measure},e.isColumn=g,e.isHierarchyLevel=function(t){return!(!(t.table&&t.hierarchy&&t.hierarchyLevel)||t.aggregationFunction)},e.isHierarchyLevelAggr=function(t){return!!(t.table&&t.hierarchy&&t.hierarchyLevel&&t.aggregationFunction)},e.isColumnAggr=function(t){return!!(t.table&&t.column&&t.aggregationFunction)},function(t){t[t.Bottom=0]="Bottom",t[t.Left=1]="Left"}(e.PageNavigationPosition||(e.PageNavigationPosition={})),function(t){t[t.Interactive=0]="Interactive",t[t.ResultOnly=1]="ResultOnly"}(e.QnaMode||(e.QnaMode={})),function(t){t[t.Summarized=0]="Summarized",t[t.Underlying=1]="Underlying"}(e.ExportDataType||(e.ExportDataType={})),function(t){t[t.Off=0]="Off",t[t.Presentation=1]="Presentation"}(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"},function(t){t[t.Ascending=1]="Ascending",t[t.Descending=2]="Descending"}(e.SortDirection||(e.SortDirection={}));var b=function(){function t(t){this.$schema=t}return t.prototype.toJSON=function(){return{$schema:this.$schema}},t}();e.Selector=b;var w=function(t){function e(r){var i=t.call(this,e.schemaUrl)||this;return i.pageName=r,i}return a(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}(b);e.PageSelector=w;var P=function(t){function e(r){var i=t.call(this,e.schemaUrl)||this;return i.visualName=r,i}return a(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}(b);e.VisualSelector=P;var _=function(t){function e(e){var r=t.call(this,P.schemaUrl)||this;return r.visualType=e,r}return a(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}(b);e.VisualTypeSelector=_;var O=function(t){function e(e){var r=t.call(this,P.schemaUrl)||this;return r.target=e,r}return a(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}(b);function S(t){return Array.isArray(t)}function T(t){return t&&!!t.groupName}function E(t){return Array.isArray(t)}function F(t){var e=t.message;return e||(e=t.path+" is invalid. Not meeting "+t.keyword+" constraint"),{message:e}}e.SlicerTargetSelector=O,function(t){t[t.Enabled=0]="Enabled",t[t.Disabled=1]="Disabled",t[t.Hidden=2]="Hidden"}(e.CommandDisplayOption||(e.CommandDisplayOption={})),function(t){t[t.Grouping=0]="Grouping",t[t.Measure=1]="Measure",t[t.GroupingOrMeasure=2]="GroupingOrMeasure"}(e.VisualDataRoleKind||(e.VisualDataRoleKind={})),function(t){t[t.Measure=0]="Measure",t[t.Grouping=1]="Grouping"}(e.VisualDataRoleKindPreference||(e.VisualDataRoleKindPreference={})),e.isOnLoadFilters=function(t){return t&&!S(t)},e.isReportFiltersArray=S,e.isFlatMenuExtension=function(t){return t&&!T(t)},e.isGroupedMenuExtension=T,e.isIExtensions=function(t){return t&&!E(t)},e.isIExtensionArray=E,e.validateVisualSelector=function(t){var e=n.Validators.visualSelectorValidator.validate(t);return e?e.map(F):void 0},e.validateSlicer=function(t){var e=n.Validators.slicerValidator.validate(t);return e?e.map(F):void 0},e.validateSlicerState=function(t){var e=n.Validators.slicerStateValidator.validate(t);return e?e.map(F):void 0},e.validatePlayBookmarkRequest=function(t){var e=n.Validators.playBookmarkRequestValidator.validate(t);return e?e.map(F):void 0},e.validateAddBookmarkRequest=function(t){var e=n.Validators.addBookmarkRequestValidator.validate(t);return e?e.map(F):void 0},e.validateApplyBookmarkByNameRequest=function(t){var e=n.Validators.applyBookmarkByNameRequestValidator.validate(t);return e?e.map(F):void 0},e.validateApplyBookmarkStateRequest=function(t){var e=n.Validators.applyBookmarkStateRequestValidator.validate(t);return e?e.map(F):void 0},e.validateCaptureBookmarkRequest=function(t){var e=n.Validators.captureBookmarkRequestValidator.validate(t);return e?e.map(F):void 0},e.validateSettings=function(t){var e=n.Validators.settingsValidator.validate(t);return e?e.map(F):void 0},e.validatePanes=function(t){var e=n.Validators.reportPanesValidator.validate(t);return e?e.map(F):void 0},e.validateBookmarksPane=function(t){var e=n.Validators.bookmarksPaneValidator.validate(t);return e?e.map(F):void 0},e.validateFiltersPane=function(t){var e=n.Validators.filtersPaneValidator.validate(t);return e?e.map(F):void 0},e.validateFieldsPane=function(t){var e=n.Validators.fieldsPaneValidator.validate(t);return e?e.map(F):void 0},e.validatePageNavigationPane=function(t){var e=n.Validators.pageNavigationPaneValidator.validate(t);return e?e.map(F):void 0},e.validateSelectionPane=function(t){var e=n.Validators.selectionPaneValidator.validate(t);return e?e.map(F):void 0},e.validateSyncSlicersPane=function(t){var e=n.Validators.syncSlicersPaneValidator.validate(t);return e?e.map(F):void 0},e.validateVisualizationsPane=function(t){var e=n.Validators.visualizationsPaneValidator.validate(t);return e?e.map(F):void 0},e.validateCustomPageSize=function(t){var e=n.Validators.customPageSizeValidator.validate(t);return e?e.map(F):void 0},e.validateExtension=function(t){var e=n.Validators.extensionValidator.validate(t);return e?e.map(F):void 0},e.validateMenuGroupExtension=function(t){var e=n.Validators.menuGroupExtensionValidator.validate(t);return e?e.map(F):void 0},e.validateReportLoad=function(t){var e=n.Validators.reportLoadValidator.validate(t);return e?e.map(F):void 0},e.validatePaginatedReportLoad=function(t){var e=n.Validators.paginatedReportLoadValidator.validate(t);return e?e.map(F):void 0},e.validateCreateReport=function(t){var e=n.Validators.reportCreateValidator.validate(t);return e?e.map(F):void 0},e.validateDashboardLoad=function(t){var e=n.Validators.dashboardLoadValidator.validate(t);return e?e.map(F):void 0},e.validateTileLoad=function(t){var e=n.Validators.tileLoadValidator.validate(t);return e?e.map(F):void 0},e.validatePage=function(t){var e=n.Validators.pageValidator.validate(t);return e?e.map(F):void 0},e.validateFilter=function(t){var e=n.Validators.filterValidator.validate(t);return e?e.map(F):void 0},e.validateUpdateFiltersRequest=function(t){var e=n.Validators.updateFiltersRequestValidator.validate(t);return e?e.map(F):void 0},e.validateSaveAsParameters=function(t){var e=n.Validators.saveAsParametersValidator.validate(t);return e?e.map(F):void 0},e.validateLoadQnaConfiguration=function(t){var e=n.Validators.loadQnaValidator.validate(t);return e?e.map(F):void 0},e.validateQnaInterpretInputData=function(t){var e=n.Validators.qnaInterpretInputDataValidator.validate(t);return e?e.map(F):void 0},e.validateExportDataRequest=function(t){var e=n.Validators.exportDataRequestValidator.validate(t);return e?e.map(F):void 0},e.validateVisualHeader=function(t){var e=n.Validators.visualHeaderValidator.validate(t);return e?e.map(F):void 0},e.validateVisualSettings=function(t){var e=n.Validators.visualSettingsValidator.validate(t);return e?e.map(F):void 0},e.validateCommandsSettings=function(t){var e=n.Validators.commandsSettingsValidator.validate(t);return e?e.map(F):void 0},e.validateCustomTheme=function(t){var e=n.Validators.customThemeValidator.validate(t);return e?e.map(F):void 0},e.validateZoomLevel=function(t){var e=n.Validators.zoomLevelValidator.validate(t);return e?e.map(F):void 0}},function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.Validators=void 0;var i=r(2),a=r(5),o=r(6),n=r(7),l=r(8),s=r(9),u=r(10),d=r(11),c=r(12),p=r(13),f=r(14),h=r(15),v=r(16),y=r(17),m=r(18),V=r(19),g=r(20),b=r(21),w=r(22),P=r(23),_=r(24),O=r(25),S=r(26),T=r(27),E=r(28),F=r(29),R=r(4),x=r(30);e.Validators={addBookmarkRequestValidator:new a.AddBookmarkRequestValidator,advancedFilterTypeValidator:new R.EnumValidator([0]),advancedFilterValidator:new c.AdvancedFilterValidator,anyArrayValidator:new R.ArrayValidator([new S.AnyOfValidator([new R.StringValidator,new R.NumberValidator,new R.BooleanValidator])]),anyFilterValidator:new S.AnyOfValidator([new c.BasicFilterValidator,new c.AdvancedFilterValidator,new c.IncludeExcludeFilterValidator,new c.NotSupportedFilterValidator,new c.RelativeDateFilterValidator,new c.TopNFilterValidator,new c.RelativeTimeFilterValidator]),anyValueValidator:new S.AnyOfValidator([new R.StringValidator,new R.NumberValidator,new R.BooleanValidator]),actionBarValidator:new i.ActionBarValidator,applyBookmarkByNameRequestValidator:new a.ApplyBookmarkByNameRequestValidator,applyBookmarkStateRequestValidator:new a.ApplyBookmarkStateRequestValidator,applyBookmarkValidator:new S.AnyOfValidator([new a.ApplyBookmarkByNameRequestValidator,new a.ApplyBookmarkStateRequestValidator]),backgroundValidator:new R.EnumValidator([0,1]),basicFilterTypeValidator:new R.EnumValidator([1]),basicFilterValidator:new c.BasicFilterValidator,booleanArrayValidator:new R.BooleanArrayValidator,booleanValidator:new R.BooleanValidator,bookmarksPaneValidator:new h.BookmarksPaneValidator,captureBookmarkOptionsValidator:new a.CaptureBookmarkOptionsValidator,captureBookmarkRequestValidator:new a.CaptureBookmarkRequestValidator,commandDisplayOptionValidator:new R.EnumValidator([0,1,2]),commandExtensionSelectorValidator:new S.AnyOfValidator([new b.VisualSelectorValidator,new b.VisualTypeSelectorValidator]),commandExtensionArrayValidator:new R.ArrayValidator([new d.CommandExtensionValidator]),commandExtensionValidator:new d.CommandExtensionValidator,commandsSettingsArrayValidator:new R.ArrayValidator([new o.CommandsSettingsValidator]),commandsSettingsValidator:new o.CommandsSettingsValidator,conditionItemValidator:new c.ConditionItemValidator,contrastModeValidator:new R.EnumValidator([0,1,2,3,4]),customLayoutDisplayOptionValidator:new R.EnumValidator([0,1,2]),customLayoutValidator:new p.CustomLayoutValidator,customPageSizeValidator:new f.CustomPageSizeValidator,customThemeValidator:new n.CustomThemeValidator,dashboardLoadValidator:new l.DashboardLoadValidator,datasetBindingValidator:new s.DatasetBindingValidator,displayStateModeValidator:new R.EnumValidator([0,1]),displayStateValidator:new p.DisplayStateValidator,exportDataRequestValidator:new u.ExportDataRequestValidator,extensionArrayValidator:new R.ArrayValidator([new d.ExtensionValidator]),extensionsValidator:new S.AnyOfValidator([new R.ArrayValidator([new d.ExtensionValidator]),new d.ExtensionsValidator]),extensionPointsValidator:new d.ExtensionPointsValidator,extensionValidator:new d.ExtensionValidator,fieldForbiddenValidator:new T.FieldForbiddenValidator,fieldRequiredValidator:new E.FieldRequiredValidator,fieldsPaneValidator:new h.FieldsPaneValidator,filterColumnTargetValidator:new c.FilterColumnTargetValidator,filterDisplaySettingsValidator:new c.FilterDisplaySettingsValidator,filterConditionsValidator:new R.ArrayValidator([new c.ConditionItemValidator]),filterHierarchyTargetValidator:new c.FilterHierarchyTargetValidator,filterMeasureTargetValidator:new c.FilterMeasureTargetValidator,filterTargetValidator:new S.AnyOfValidator([new c.FilterColumnTargetValidator,new c.FilterHierarchyTargetValidator,new c.FilterMeasureTargetValidator]),filterValidator:new c.FilterValidator,filterTypeValidator:new R.EnumValidator([0,1,2,3,4,5,6,7]),filtersArrayValidator:new R.ArrayValidator([new c.FilterValidator]),filtersOperationsUpdateValidator:new R.EnumValidator([1,2,3]),filtersOperationsRemoveAllValidator:new R.EnumValidator([0]),filtersPaneValidator:new h.FiltersPaneValidator,hyperlinkClickBehaviorValidator:new R.EnumValidator([0,1,2]),includeExcludeFilterValidator:new c.IncludeExcludeFilterValidator,includeExludeFilterTypeValidator:new R.EnumValidator([3]),layoutTypeValidator:new R.EnumValidator([0,1,2,3]),loadQnaValidator:new v.LoadQnaValidator,menuExtensionValidator:new S.AnyOfValidator([new d.FlatMenuExtensionValidator,new d.GroupedMenuExtensionValidator]),menuGroupExtensionArrayValidator:new R.ArrayValidator([new d.MenuGroupExtensionValidator]),menuGroupExtensionValidator:new d.MenuGroupExtensionValidator,menuLocationValidator:new R.EnumValidator([0,1]),notSupportedFilterTypeValidator:new R.EnumValidator([2]),notSupportedFilterValidator:new c.NotSupportedFilterValidator,numberArrayValidator:new R.NumberArrayValidator,numberValidator:new R.NumberValidator,onLoadFiltersBaseValidator:new S.AnyOfValidator([new c.OnLoadFiltersBaseValidator,new c.OnLoadFiltersBaseRemoveOperationValidator]),pageLayoutValidator:new F.MapValidator([new R.StringValidator],[new p.VisualLayoutValidator]),pageNavigationPaneValidator:new h.PageNavigationPaneValidator,pageNavigationPositionValidator:new R.EnumValidator([0,1]),pageSizeTypeValidator:new R.EnumValidator([0,1,2,3,4,5]),pageSizeValidator:new f.PageSizeValidator,pageValidator:new f.PageValidator,pageViewFieldValidator:new f.PageViewFieldValidator,pagesLayoutValidator:new F.MapValidator([new R.StringValidator],[new p.PageLayoutValidator]),paginatedReportCommandsValidator:new o.PaginatedReportCommandsValidator,paginatedReportLoadValidator:new V.PaginatedReportLoadValidator,paginatedReportsettingsValidator:new w.PaginatedReportSettingsValidator,parametersPanelValidator:new x.ParametersPanelValidator,permissionsValidator:new R.EnumValidator([0,1,2,4,7]),playBookmarkRequestValidator:new a.PlayBookmarkRequestValidator,qnaInterpretInputDataValidator:new v.QnaInterpretInputDataValidator,qnaPanesValidator:new h.QnaPanesValidator,qnaSettingValidator:new v.QnaSettingsValidator,relativeDateFilterOperatorValidator:new R.EnumValidator([0,1,2]),relativeDateFilterTimeUnitTypeValidator:new R.EnumValidator([0,1,2,3,4,5,6]),relativeDateFilterTypeValidator:new R.EnumValidator([4]),relativeDateFilterValidator:new c.RelativeDateFilterValidator,relativeDateTimeFilterTypeValidator:new R.EnumValidator([4,7]),relativeDateTimeFilterUnitTypeValidator:new R.EnumValidator([0,1,2,3,4,5,6,7,8]),relativeTimeFilterTimeUnitTypeValidator:new R.EnumValidator([7,8]),relativeTimeFilterTypeValidator:new R.EnumValidator([7]),relativeTimeFilterValidator:new c.RelativeTimeFilterValidator,reportBarsValidator:new i.ReportBarsValidator,reportCreateValidator:new y.ReportCreateValidator,reportLoadFiltersValidator:new S.AnyOfValidator([new R.ArrayValidator([new c.FilterValidator]),new c.OnLoadFiltersValidator]),reportLoadValidator:new m.ReportLoadValidator,reportPanesValidator:new h.ReportPanesValidator,saveAsParametersValidator:new g.SaveAsParametersValidator,selectionPaneValidator:new h.SelectionPaneValidator,settingsValidator:new w.SettingsValidator,singleCommandSettingsValidator:new o.SingleCommandSettingsValidator,slicerSelectorValidator:new S.AnyOfValidator([new b.VisualSelectorValidator,new b.SlicerTargetSelectorValidator]),slicerStateValidator:new P.SlicerStateValidator,slicerTargetValidator:new S.AnyOfValidator([new c.FilterColumnTargetValidator,new c.FilterHierarchyTargetValidator,new c.FilterMeasureTargetValidator,new c.FilterKeyColumnsTargetValidator,new c.FilterKeyHierarchyTargetValidator]),slicerValidator:new P.SlicerValidator,stringArrayValidator:new R.StringArrayValidator,stringValidator:new R.StringValidator,syncSlicersPaneValidator:new h.SyncSlicersPaneValidator,tileLoadValidator:new _.TileLoadValidator,tokenTypeValidator:new R.EnumValidator([0,1]),topNFilterTypeValidator:new R.EnumValidator([5]),topNFilterValidator:new c.TopNFilterValidator,updateFiltersRequestValidator:new S.AnyOfValidator([new c.UpdateFiltersRequestValidator,new c.RemoveFiltersRequestValidator]),viewModeValidator:new R.EnumValidator([0,1]),visualCommandSelectorValidator:new S.AnyOfValidator([new b.VisualSelectorValidator,new b.VisualTypeSelectorValidator]),visualHeaderSelectorValidator:new S.AnyOfValidator([new b.VisualSelectorValidator,new b.VisualTypeSelectorValidator]),visualHeaderSettingsValidator:new O.VisualHeaderSettingsValidator,visualHeaderValidator:new O.VisualHeaderValidator,visualHeadersValidator:new R.ArrayValidator([new O.VisualHeaderValidator]),visualizationsPaneValidator:new h.VisualizationsPaneValidator,visualLayoutValidator:new p.VisualLayoutValidator,visualSelectorValidator:new b.VisualSelectorValidator,visualSettingsValidator:new O.VisualSettingsValidator,visualTypeSelectorValidator:new b.VisualTypeSelectorValidator,zoomLevelValidator:new R.RangeValidator(.25,4)}},function(t,e,r){var i,a=this&&this.__extends||(i=function(t,e){return(i=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])})(t,e)},function(t,e){function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.ActionBarValidator=e.ReportBarsValidator=void 0;var o=r(3),n=r(4),l=r(1),s=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return a(e,t),e.prototype.validate=function(e,r,i){if(null==e)return null;var a=t.prototype.validate.call(this,e,r,i);if(a)return a;var n=[{field:"actionBar",validators:[l.Validators.actionBarValidator]}];return new o.MultipleFieldsValidator(n).validate(e,r,i)},e}(n.ObjectValidator);e.ReportBarsValidator=s;var u=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return a(e,t),e.prototype.validate=function(e,r,i){if(null==e)return null;var a=t.prototype.validate.call(this,e,r,i);if(a)return a;var n=[{field:"visible",validators:[l.Validators.booleanValidator]}];return new o.MultipleFieldsValidator(n).validate(e,r,i)},e}(n.ObjectValidator);e.ActionBarValidator=u},function(t,e){Object.defineProperty(e,"__esModule",{value:!0}),e.MultipleFieldsValidator=void 0;var r=function(){function t(t){this.fieldValidatorsPairs=t}return t.prototype.validate=function(t,e,r){if(!this.fieldValidatorsPairs)return null;for(var i=e?e+"."+r:r,a=0,o=this.fieldValidatorsPairs;athis.maxValue||e0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0?"&":"?";return t+=i+e+"="+r},e.isSavedInternal=function(t,e,a){return r(this,void 0,void 0,(function(){return i(this,(function(r){switch(r.label){case 0:return r.trys.push([0,2,,3]),[4,t.get("/report/hasUnsavedChanges",{uid:e},a)];case 1:return[2,!r.sent().body];case 2:throw r.sent().body;case 3:return[2]}}))}))},e.isRDLEmbed=function(t){return t&&t.toLowerCase().indexOf("/rdlembed?")>=0},e.autoAuthInEmbedUrl=function(t){return t&&decodeURIComponent(t).toLowerCase().indexOf("autoauth=true")>=0},e.getRandomValue=o,e.getTimeDiffInMilliseconds=function(t,e){return Math.abs(t.getTime()-e.getTime())}},function(t,e){Object.defineProperty(e,"__esModule",{value:!0}),e.FilterBuilder=void 0;var r=function(){function t(){}return t.prototype.withTargetObject=function(t){return this.target=t,this},t.prototype.withColumnTarget=function(t,e){return this.target={table:t,column:e},this},t.prototype.withMeasureTarget=function(t,e){return this.target={table:t,measure:e},this},t.prototype.withHierarchyLevelTarget=function(t,e,r){return this.target={table:t,hierarchy:e,hierarchyLevel:r},this},t.prototype.withColumnAggregation=function(t,e,r){return this.target={table:t,column:e,aggregationFunction:r},this},t.prototype.withHierarchyLevelAggregationTarget=function(t,e,r,i){return this.target={table:t,hierarchy:e,hierarchyLevel:r,aggregationFunction:i},this},t}();e.FilterBuilder=r},function(t,e){Object.defineProperty(e,"__esModule",{value:!0}),e.EmbedUrlNotSupported=e.APINotSupportedForRDLError=void 0,e.APINotSupportedForRDLError="This API is currently not supported for RDL reports",e.EmbedUrlNotSupported="Embed URL is invalid for this scenario. Please use Power BI REST APIs to get the valid URL"},function(t,e,r){var i,a=this&&this.__extends||(i=function(t,e){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])})(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}),o=this&&this.__awaiter||function(t,e,r,i){return new(r||(r=Promise))((function(a,o){function n(t){try{s(i.next(t))}catch(t){o(t)}}function l(t){try{s(i.throw(t))}catch(t){o(t)}}function s(t){var e;t.done?a(t.value):(e=t.value,e instanceof r?e:new r((function(t){t(e)}))).then(n,l)}s((i=i.apply(t,e||[])).next())}))},n=this&&this.__generator||function(t,e){var r,i,a,o,n={label:0,sent:function(){if(1&a[0])throw a[1];return a[1]},trys:[],ops:[]};return o={next:l(0),throw:l(1),return:l(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function l(o){return function(l){return function(o){if(r)throw new TypeError("Generator is already executing.");for(;n;)try{if(r=1,i&&(a=2&o[0]?i.return:o[0]?i.throw||((a=i.return)&&a.call(i),0):i.next)&&!(a=a.call(i,o[1])).done)return a;switch(i=0,a&&(o=[2&o[0],a.value]),o[0]){case 0:case 1:a=o;break;case 4:return n.label++,{value:o[1],done:!1};case 5:n.label++,i=o[1],o=[0];continue;case 7:o=n.ops.pop(),n.trys.pop();continue;default:if(!(a=n.trys,(a=a.length>0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&!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,s=o.keyValues;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 s.conditions=l,s}return a(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}(l);function V(t){if(t.filterType)return t.filterType;var e=t,r=t;return"string"==typeof e.operator&&Array.isArray(e.values)?o.Basic:"string"==typeof r.logicalOperator&&Array.isArray(r.conditions)?o.Advanced:o.Unknown}function g(t){return!(!t.table||!t.column||t.aggregationFunction)}e.AdvancedFilter=m,e.isFilterKeyColumnsTarget=function(t){return g(t)&&!!t.keys},e.isBasicFilterWithKeys=function(t){return V(t)===o.Basic&&!!t.keyValues},e.getFilterType=V,e.isMeasure=function(t){return void 0!==t.table&&void 0!==t.measure},e.isColumn=g,e.isHierarchyLevel=function(t){return!(!(t.table&&t.hierarchy&&t.hierarchyLevel)||t.aggregationFunction)},e.isHierarchyLevelAggr=function(t){return!!(t.table&&t.hierarchy&&t.hierarchyLevel&&t.aggregationFunction)},e.isColumnAggr=function(t){return!!(t.table&&t.column&&t.aggregationFunction)},function(t){t[t.Bottom=0]="Bottom",t[t.Left=1]="Left"}(e.PageNavigationPosition||(e.PageNavigationPosition={})),function(t){t[t.Interactive=0]="Interactive",t[t.ResultOnly=1]="ResultOnly"}(e.QnaMode||(e.QnaMode={})),function(t){t[t.Summarized=0]="Summarized",t[t.Underlying=1]="Underlying"}(e.ExportDataType||(e.ExportDataType={})),function(t){t[t.Off=0]="Off",t[t.Presentation=1]="Presentation"}(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"},function(t){t[t.Ascending=1]="Ascending",t[t.Descending=2]="Descending"}(e.SortDirection||(e.SortDirection={}));var b=function(){function t(t){this.$schema=t}return t.prototype.toJSON=function(){return{$schema:this.$schema}},t}();e.Selector=b;var w=function(t){function e(r){var i=t.call(this,e.schemaUrl)||this;return i.pageName=r,i}return a(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}(b);e.PageSelector=w;var P=function(t){function e(r){var i=t.call(this,e.schemaUrl)||this;return i.visualName=r,i}return a(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}(b);e.VisualSelector=P;var _=function(t){function e(e){var r=t.call(this,P.schemaUrl)||this;return r.visualType=e,r}return a(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}(b);e.VisualTypeSelector=_;var O=function(t){function e(e){var r=t.call(this,P.schemaUrl)||this;return r.target=e,r}return a(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}(b);function S(t){return Array.isArray(t)}function T(t){return t&&!!t.groupName}function E(t){return Array.isArray(t)}function F(t){var e=t.message;return e||(e=t.path+" is invalid. Not meeting "+t.keyword+" constraint"),{message:e}}e.SlicerTargetSelector=O,function(t){t[t.Enabled=0]="Enabled",t[t.Disabled=1]="Disabled",t[t.Hidden=2]="Hidden"}(e.CommandDisplayOption||(e.CommandDisplayOption={})),function(t){t[t.Grouping=0]="Grouping",t[t.Measure=1]="Measure",t[t.GroupingOrMeasure=2]="GroupingOrMeasure"}(e.VisualDataRoleKind||(e.VisualDataRoleKind={})),function(t){t[t.Measure=0]="Measure",t[t.Grouping=1]="Grouping"}(e.VisualDataRoleKindPreference||(e.VisualDataRoleKindPreference={})),e.isOnLoadFilters=function(t){return t&&!S(t)},e.isReportFiltersArray=S,e.isFlatMenuExtension=function(t){return t&&!T(t)},e.isGroupedMenuExtension=T,e.isIExtensions=function(t){return t&&!E(t)},e.isIExtensionArray=E,e.validateVisualSelector=function(t){var e=n.Validators.visualSelectorValidator.validate(t);return e?e.map(F):void 0},e.validateSlicer=function(t){var e=n.Validators.slicerValidator.validate(t);return e?e.map(F):void 0},e.validateSlicerState=function(t){var e=n.Validators.slicerStateValidator.validate(t);return e?e.map(F):void 0},e.validatePlayBookmarkRequest=function(t){var e=n.Validators.playBookmarkRequestValidator.validate(t);return e?e.map(F):void 0},e.validateAddBookmarkRequest=function(t){var e=n.Validators.addBookmarkRequestValidator.validate(t);return e?e.map(F):void 0},e.validateApplyBookmarkByNameRequest=function(t){var e=n.Validators.applyBookmarkByNameRequestValidator.validate(t);return e?e.map(F):void 0},e.validateApplyBookmarkStateRequest=function(t){var e=n.Validators.applyBookmarkStateRequestValidator.validate(t);return e?e.map(F):void 0},e.validateCaptureBookmarkRequest=function(t){var e=n.Validators.captureBookmarkRequestValidator.validate(t);return e?e.map(F):void 0},e.validateSettings=function(t){var e=n.Validators.settingsValidator.validate(t);return e?e.map(F):void 0},e.validatePanes=function(t){var e=n.Validators.reportPanesValidator.validate(t);return e?e.map(F):void 0},e.validateBookmarksPane=function(t){var e=n.Validators.bookmarksPaneValidator.validate(t);return e?e.map(F):void 0},e.validateFiltersPane=function(t){var e=n.Validators.filtersPaneValidator.validate(t);return e?e.map(F):void 0},e.validateFieldsPane=function(t){var e=n.Validators.fieldsPaneValidator.validate(t);return e?e.map(F):void 0},e.validatePageNavigationPane=function(t){var e=n.Validators.pageNavigationPaneValidator.validate(t);return e?e.map(F):void 0},e.validateSelectionPane=function(t){var e=n.Validators.selectionPaneValidator.validate(t);return e?e.map(F):void 0},e.validateSyncSlicersPane=function(t){var e=n.Validators.syncSlicersPaneValidator.validate(t);return e?e.map(F):void 0},e.validateVisualizationsPane=function(t){var e=n.Validators.visualizationsPaneValidator.validate(t);return e?e.map(F):void 0},e.validateCustomPageSize=function(t){var e=n.Validators.customPageSizeValidator.validate(t);return e?e.map(F):void 0},e.validateExtension=function(t){var e=n.Validators.extensionValidator.validate(t);return e?e.map(F):void 0},e.validateMenuGroupExtension=function(t){var e=n.Validators.menuGroupExtensionValidator.validate(t);return e?e.map(F):void 0},e.validateReportLoad=function(t){var e=n.Validators.reportLoadValidator.validate(t);return e?e.map(F):void 0},e.validatePaginatedReportLoad=function(t){var e=n.Validators.paginatedReportLoadValidator.validate(t);return e?e.map(F):void 0},e.validateCreateReport=function(t){var e=n.Validators.reportCreateValidator.validate(t);return e?e.map(F):void 0},e.validateDashboardLoad=function(t){var e=n.Validators.dashboardLoadValidator.validate(t);return e?e.map(F):void 0},e.validateTileLoad=function(t){var e=n.Validators.tileLoadValidator.validate(t);return e?e.map(F):void 0},e.validatePage=function(t){var e=n.Validators.pageValidator.validate(t);return e?e.map(F):void 0},e.validateFilter=function(t){var e=n.Validators.filterValidator.validate(t);return e?e.map(F):void 0},e.validateUpdateFiltersRequest=function(t){var e=n.Validators.updateFiltersRequestValidator.validate(t);return e?e.map(F):void 0},e.validateSaveAsParameters=function(t){var e=n.Validators.saveAsParametersValidator.validate(t);return e?e.map(F):void 0},e.validateLoadQnaConfiguration=function(t){var e=n.Validators.loadQnaValidator.validate(t);return e?e.map(F):void 0},e.validateQnaInterpretInputData=function(t){var e=n.Validators.qnaInterpretInputDataValidator.validate(t);return e?e.map(F):void 0},e.validateExportDataRequest=function(t){var e=n.Validators.exportDataRequestValidator.validate(t);return e?e.map(F):void 0},e.validateVisualHeader=function(t){var e=n.Validators.visualHeaderValidator.validate(t);return e?e.map(F):void 0},e.validateVisualSettings=function(t){var e=n.Validators.visualSettingsValidator.validate(t);return e?e.map(F):void 0},e.validateCommandsSettings=function(t){var e=n.Validators.commandsSettingsValidator.validate(t);return e?e.map(F):void 0},e.validateCustomTheme=function(t){var e=n.Validators.customThemeValidator.validate(t);return e?e.map(F):void 0},e.validateZoomLevel=function(t){var e=n.Validators.zoomLevelValidator.validate(t);return e?e.map(F):void 0}},function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.Validators=void 0;var i=r(2),a=r(5),o=r(6),n=r(7),l=r(8),s=r(9),u=r(10),d=r(11),c=r(12),p=r(13),f=r(14),h=r(15),v=r(16),y=r(17),m=r(18),V=r(19),g=r(20),b=r(21),w=r(22),P=r(23),_=r(24),O=r(25),S=r(26),T=r(27),E=r(28),F=r(29),R=r(4),x=r(30);e.Validators={addBookmarkRequestValidator:new a.AddBookmarkRequestValidator,advancedFilterTypeValidator:new R.EnumValidator([0]),advancedFilterValidator:new c.AdvancedFilterValidator,anyArrayValidator:new R.ArrayValidator([new S.AnyOfValidator([new R.StringValidator,new R.NumberValidator,new R.BooleanValidator])]),anyFilterValidator:new S.AnyOfValidator([new c.BasicFilterValidator,new c.AdvancedFilterValidator,new c.IncludeExcludeFilterValidator,new c.NotSupportedFilterValidator,new c.RelativeDateFilterValidator,new c.TopNFilterValidator,new c.RelativeTimeFilterValidator]),anyValueValidator:new S.AnyOfValidator([new R.StringValidator,new R.NumberValidator,new R.BooleanValidator]),actionBarValidator:new i.ActionBarValidator,applyBookmarkByNameRequestValidator:new a.ApplyBookmarkByNameRequestValidator,applyBookmarkStateRequestValidator:new a.ApplyBookmarkStateRequestValidator,applyBookmarkValidator:new S.AnyOfValidator([new a.ApplyBookmarkByNameRequestValidator,new a.ApplyBookmarkStateRequestValidator]),backgroundValidator:new R.EnumValidator([0,1]),basicFilterTypeValidator:new R.EnumValidator([1]),basicFilterValidator:new c.BasicFilterValidator,booleanArrayValidator:new R.BooleanArrayValidator,booleanValidator:new R.BooleanValidator,bookmarksPaneValidator:new h.BookmarksPaneValidator,captureBookmarkOptionsValidator:new a.CaptureBookmarkOptionsValidator,captureBookmarkRequestValidator:new a.CaptureBookmarkRequestValidator,commandDisplayOptionValidator:new R.EnumValidator([0,1,2]),commandExtensionSelectorValidator:new S.AnyOfValidator([new b.VisualSelectorValidator,new b.VisualTypeSelectorValidator]),commandExtensionArrayValidator:new R.ArrayValidator([new d.CommandExtensionValidator]),commandExtensionValidator:new d.CommandExtensionValidator,commandsSettingsArrayValidator:new R.ArrayValidator([new o.CommandsSettingsValidator]),commandsSettingsValidator:new o.CommandsSettingsValidator,conditionItemValidator:new c.ConditionItemValidator,contrastModeValidator:new R.EnumValidator([0,1,2,3,4]),customLayoutDisplayOptionValidator:new R.EnumValidator([0,1,2]),customLayoutValidator:new p.CustomLayoutValidator,customPageSizeValidator:new f.CustomPageSizeValidator,customThemeValidator:new n.CustomThemeValidator,dashboardLoadValidator:new l.DashboardLoadValidator,datasetBindingValidator:new s.DatasetBindingValidator,displayStateModeValidator:new R.EnumValidator([0,1]),displayStateValidator:new p.DisplayStateValidator,exportDataRequestValidator:new u.ExportDataRequestValidator,extensionArrayValidator:new R.ArrayValidator([new d.ExtensionValidator]),extensionsValidator:new S.AnyOfValidator([new R.ArrayValidator([new d.ExtensionValidator]),new d.ExtensionsValidator]),extensionPointsValidator:new d.ExtensionPointsValidator,extensionValidator:new d.ExtensionValidator,fieldForbiddenValidator:new T.FieldForbiddenValidator,fieldRequiredValidator:new E.FieldRequiredValidator,fieldsPaneValidator:new h.FieldsPaneValidator,filterColumnTargetValidator:new c.FilterColumnTargetValidator,filterDisplaySettingsValidator:new c.FilterDisplaySettingsValidator,filterConditionsValidator:new R.ArrayValidator([new c.ConditionItemValidator]),filterHierarchyTargetValidator:new c.FilterHierarchyTargetValidator,filterMeasureTargetValidator:new c.FilterMeasureTargetValidator,filterTargetValidator:new S.AnyOfValidator([new c.FilterColumnTargetValidator,new c.FilterHierarchyTargetValidator,new c.FilterMeasureTargetValidator]),filterValidator:new c.FilterValidator,filterTypeValidator:new R.EnumValidator([0,1,2,3,4,5,6,7]),filtersArrayValidator:new R.ArrayValidator([new c.FilterValidator]),filtersOperationsUpdateValidator:new R.EnumValidator([1,2,3]),filtersOperationsRemoveAllValidator:new R.EnumValidator([0]),filtersPaneValidator:new h.FiltersPaneValidator,hyperlinkClickBehaviorValidator:new R.EnumValidator([0,1,2]),includeExcludeFilterValidator:new c.IncludeExcludeFilterValidator,includeExludeFilterTypeValidator:new R.EnumValidator([3]),layoutTypeValidator:new R.EnumValidator([0,1,2,3]),loadQnaValidator:new v.LoadQnaValidator,menuExtensionValidator:new S.AnyOfValidator([new d.FlatMenuExtensionValidator,new d.GroupedMenuExtensionValidator]),menuGroupExtensionArrayValidator:new R.ArrayValidator([new d.MenuGroupExtensionValidator]),menuGroupExtensionValidator:new d.MenuGroupExtensionValidator,menuLocationValidator:new R.EnumValidator([0,1]),notSupportedFilterTypeValidator:new R.EnumValidator([2]),notSupportedFilterValidator:new c.NotSupportedFilterValidator,numberArrayValidator:new R.NumberArrayValidator,numberValidator:new R.NumberValidator,onLoadFiltersBaseValidator:new S.AnyOfValidator([new c.OnLoadFiltersBaseValidator,new c.OnLoadFiltersBaseRemoveOperationValidator]),pageLayoutValidator:new F.MapValidator([new R.StringValidator],[new p.VisualLayoutValidator]),pageNavigationPaneValidator:new h.PageNavigationPaneValidator,pageNavigationPositionValidator:new R.EnumValidator([0,1]),pageSizeTypeValidator:new R.EnumValidator([0,1,2,3,4,5]),pageSizeValidator:new f.PageSizeValidator,pageValidator:new f.PageValidator,pageViewFieldValidator:new f.PageViewFieldValidator,pagesLayoutValidator:new F.MapValidator([new R.StringValidator],[new p.PageLayoutValidator]),paginatedReportCommandsValidator:new o.PaginatedReportCommandsValidator,paginatedReportLoadValidator:new V.PaginatedReportLoadValidator,paginatedReportsettingsValidator:new w.PaginatedReportSettingsValidator,parametersPanelValidator:new x.ParametersPanelValidator,permissionsValidator:new R.EnumValidator([0,1,2,4,7]),playBookmarkRequestValidator:new a.PlayBookmarkRequestValidator,qnaInterpretInputDataValidator:new v.QnaInterpretInputDataValidator,qnaPanesValidator:new h.QnaPanesValidator,qnaSettingValidator:new v.QnaSettingsValidator,relativeDateFilterOperatorValidator:new R.EnumValidator([0,1,2]),relativeDateFilterTimeUnitTypeValidator:new R.EnumValidator([0,1,2,3,4,5,6]),relativeDateFilterTypeValidator:new R.EnumValidator([4]),relativeDateFilterValidator:new c.RelativeDateFilterValidator,relativeDateTimeFilterTypeValidator:new R.EnumValidator([4,7]),relativeDateTimeFilterUnitTypeValidator:new R.EnumValidator([0,1,2,3,4,5,6,7,8]),relativeTimeFilterTimeUnitTypeValidator:new R.EnumValidator([7,8]),relativeTimeFilterTypeValidator:new R.EnumValidator([7]),relativeTimeFilterValidator:new c.RelativeTimeFilterValidator,reportBarsValidator:new i.ReportBarsValidator,reportCreateValidator:new y.ReportCreateValidator,reportLoadFiltersValidator:new S.AnyOfValidator([new R.ArrayValidator([new c.FilterValidator]),new c.OnLoadFiltersValidator]),reportLoadValidator:new m.ReportLoadValidator,reportPanesValidator:new h.ReportPanesValidator,saveAsParametersValidator:new g.SaveAsParametersValidator,selectionPaneValidator:new h.SelectionPaneValidator,settingsValidator:new w.SettingsValidator,singleCommandSettingsValidator:new o.SingleCommandSettingsValidator,slicerSelectorValidator:new S.AnyOfValidator([new b.VisualSelectorValidator,new b.SlicerTargetSelectorValidator]),slicerStateValidator:new P.SlicerStateValidator,slicerTargetValidator:new S.AnyOfValidator([new c.FilterColumnTargetValidator,new c.FilterHierarchyTargetValidator,new c.FilterMeasureTargetValidator,new c.FilterKeyColumnsTargetValidator,new c.FilterKeyHierarchyTargetValidator]),slicerValidator:new P.SlicerValidator,stringArrayValidator:new R.StringArrayValidator,stringValidator:new R.StringValidator,syncSlicersPaneValidator:new h.SyncSlicersPaneValidator,tileLoadValidator:new _.TileLoadValidator,tokenTypeValidator:new R.EnumValidator([0,1]),topNFilterTypeValidator:new R.EnumValidator([5]),topNFilterValidator:new c.TopNFilterValidator,updateFiltersRequestValidator:new S.AnyOfValidator([new c.UpdateFiltersRequestValidator,new c.RemoveFiltersRequestValidator]),viewModeValidator:new R.EnumValidator([0,1]),visualCommandSelectorValidator:new S.AnyOfValidator([new b.VisualSelectorValidator,new b.VisualTypeSelectorValidator]),visualHeaderSelectorValidator:new S.AnyOfValidator([new b.VisualSelectorValidator,new b.VisualTypeSelectorValidator]),visualHeaderSettingsValidator:new O.VisualHeaderSettingsValidator,visualHeaderValidator:new O.VisualHeaderValidator,visualHeadersValidator:new R.ArrayValidator([new O.VisualHeaderValidator]),visualizationsPaneValidator:new h.VisualizationsPaneValidator,visualLayoutValidator:new p.VisualLayoutValidator,visualSelectorValidator:new b.VisualSelectorValidator,visualSettingsValidator:new O.VisualSettingsValidator,visualTypeSelectorValidator:new b.VisualTypeSelectorValidator,zoomLevelValidator:new R.RangeValidator(.25,4)}},function(t,e,r){var i,a=this&&this.__extends||(i=function(t,e){return(i=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])})(t,e)},function(t,e){function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.ActionBarValidator=e.ReportBarsValidator=void 0;var o=r(3),n=r(4),l=r(1),s=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return a(e,t),e.prototype.validate=function(e,r,i){if(null==e)return null;var a=t.prototype.validate.call(this,e,r,i);if(a)return a;var n=[{field:"actionBar",validators:[l.Validators.actionBarValidator]}];return new o.MultipleFieldsValidator(n).validate(e,r,i)},e}(n.ObjectValidator);e.ReportBarsValidator=s;var u=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return a(e,t),e.prototype.validate=function(e,r,i){if(null==e)return null;var a=t.prototype.validate.call(this,e,r,i);if(a)return a;var n=[{field:"visible",validators:[l.Validators.booleanValidator]}];return new o.MultipleFieldsValidator(n).validate(e,r,i)},e}(n.ObjectValidator);e.ActionBarValidator=u},function(t,e){Object.defineProperty(e,"__esModule",{value:!0}),e.MultipleFieldsValidator=void 0;var r=function(){function t(t){this.fieldValidatorsPairs=t}return t.prototype.validate=function(t,e,r){if(!this.fieldValidatorsPairs)return null;for(var i=e?e+"."+r:r,a=0,o=this.fieldValidatorsPairs;athis.maxValue||e0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0?"&":"?";return t+=i+e+"="+r},e.isSavedInternal=function(t,e,a){return r(this,void 0,void 0,(function(){return i(this,(function(r){switch(r.label){case 0:return r.trys.push([0,2,,3]),[4,t.get("/report/hasUnsavedChanges",{uid:e},a)];case 1:return[2,!r.sent().body];case 2:throw r.sent().body;case 3:return[2]}}))}))},e.isRDLEmbed=function(t){return t&&t.toLowerCase().indexOf("/rdlembed?")>=0},e.autoAuthInEmbedUrl=function(t){return t&&decodeURIComponent(t).toLowerCase().indexOf("autoauth=true")>=0},e.getRandomValue=o,e.getTimeDiffInMilliseconds=function(t,e){return Math.abs(t.getTime()-e.getTime())}},function(t,e){Object.defineProperty(e,"__esModule",{value:!0}),e.FilterBuilder=void 0;var r=function(){function t(){}return t.prototype.withTargetObject=function(t){return this.target=t,this},t.prototype.withColumnTarget=function(t,e){return this.target={table:t,column:e},this},t.prototype.withMeasureTarget=function(t,e){return this.target={table:t,measure:e},this},t.prototype.withHierarchyLevelTarget=function(t,e,r){return this.target={table:t,hierarchy:e,hierarchyLevel:r},this},t.prototype.withColumnAggregation=function(t,e,r){return this.target={table:t,column:e,aggregationFunction:r},this},t.prototype.withHierarchyLevelAggregationTarget=function(t,e,r,i){return this.target={table:t,hierarchy:e,hierarchyLevel:r,aggregationFunction:i},this},t}();e.FilterBuilder=r},function(t,e){Object.defineProperty(e,"__esModule",{value:!0}),e.EmbedUrlNotSupported=e.APINotSupportedForRDLError=void 0,e.APINotSupportedForRDLError="This API is currently not supported for RDL reports",e.EmbedUrlNotSupported="Embed URL is invalid for this scenario. Please use Power BI REST APIs to get the valid URL"},function(t,e,r){var i,a=this&&this.__extends||(i=function(t,e){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])})(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}),o=this&&this.__awaiter||function(t,e,r,i){return new(r||(r=Promise))((function(a,o){function n(t){try{s(i.next(t))}catch(t){o(t)}}function l(t){try{s(i.throw(t))}catch(t){o(t)}}function s(t){var e;t.done?a(t.value):(e=t.value,e instanceof r?e:new r((function(t){t(e)}))).then(n,l)}s((i=i.apply(t,e||[])).next())}))},n=this&&this.__generator||function(t,e){var r,i,a,o,n={label:0,sent:function(){if(1&a[0])throw a[1];return a[1]},trys:[],ops:[]};return o={next:l(0),throw:l(1),return:l(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function l(o){return function(l){return function(o){if(r)throw new TypeError("Generator is already executing.");for(;n;)try{if(r=1,i&&(a=2&o[0]?i.return:o[0]?i.throw||((a=i.return)&&a.call(i),0):i.next)&&!(a=a.call(i,o[1])).done)return a;switch(i=0,a&&(o=[2&o[0],a.value]),o[0]){case 0:case 1:a=o;break;case 4:return n.label++,{value:o[1],done:!1};case 5:n.label++,i=o[1],o=[0];continue;case 7:o=n.ops.pop(),n.trys.pop();continue;default:if(!(a=n.trys,(a=a.length>0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1] { + if (!hook) { + res.send(404, null); + return; + } + try { let result = await hook(req.body); res.send(200, result); From b7a2faca26d6d9707f8fc178dd1cad17f2037d88 Mon Sep 17 00:00:00 2001 From: Shahak Yosef Date: Thu, 13 Jan 2022 11:20:27 +0000 Subject: [PATCH 086/125] Merged PR 229864: Release version 2.19.1 - Scrub config Remove `accessToken` from the config when throwing an exception. ### Notes for reviewers - Spread operator seems to be [well supported](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Spread_syntax), doesn't work in IE however it was transplied to `__assign` in JS Code - I can't put it in `utils.ts` because that would create a circular dependency (with `embed.ts` due to type imports). --- dist/powerbi-client.d.ts | 12 ++--- dist/powerbi.js | 94 +++++++++++++++++++++++----------------- dist/powerbi.min.js | 4 +- package.json | 2 +- src/config.ts | 2 +- src/embed.ts | 10 ++--- src/service.ts | 10 +++-- 7 files changed, 75 insertions(+), 59 deletions(-) diff --git a/dist/powerbi-client.d.ts b/dist/powerbi-client.d.ts index 57f4afb8..baf9a5ff 100644 --- a/dist/powerbi-client.d.ts +++ b/dist/powerbi-client.d.ts @@ -1,4 +1,4 @@ -// powerbi-client v2.19.0 +// powerbi-client v2.19.1 // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. declare module "config" { @@ -191,11 +191,11 @@ declare module "embed" { */ eventHandlers: IInternalEventHandler[]; /** - * Gets or sets the eventHooks. - * - * @type {models.EventHooks} - * @hidden - */ + * Gets or sets the eventHooks. + * + * @type {models.EventHooks} + * @hidden + */ eventHooks: models.EventHooks; /** * Gets or sets the Power BI embed service. diff --git a/dist/powerbi.js b/dist/powerbi.js index af3c6327..0ec81531 100644 --- a/dist/powerbi.js +++ b/dist/powerbi.js @@ -1,4 +1,4 @@ -// powerbi-client v2.19.0 +// powerbi-client v2.19.1 // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. (function webpackUniversalModuleDefinition(root, factory) { @@ -7167,7 +7167,7 @@ exports.BookmarksManager = BookmarksManager; Object.defineProperty(exports, "__esModule", { value: true }); /** @ignore */ /** */ var config = { - version: '2.19.0', + version: '2.19.1', type: 'js' }; exports.default = config; @@ -7427,7 +7427,7 @@ var Dashboard = /** @class */ (function (_super) { var config = this.config; var dashboardId = config.id || this.element.getAttribute(Dashboard.dashboardIdAttribute) || Dashboard.findIdFromEmbedUrl(config.embedUrl); if (typeof dashboardId !== 'string' || dashboardId.length === 0) { - throw new Error("Dashboard id is required, but it was not found. You must provide an id either as part of embed configuration or as attribute '".concat(Dashboard.dashboardIdAttribute, "'.")); + throw new Error("Dashboard id is required, but it was not found. You must provide an id either as part of embed configuration or as attribute '" + Dashboard.dashboardIdAttribute + "'."); } return dashboardId; }; @@ -7819,7 +7819,7 @@ var Embed = /** @class */ (function () { */ Embed.prototype.on = function (eventName, handler) { if (this.allowedEvents.indexOf(eventName) === -1) { - throw new Error("eventName must be one of ".concat(this.allowedEvents, ". You passed: ").concat(eventName)); + throw new Error("eventName must be one of " + this.allowedEvents + ". You passed: " + eventName); } this.eventHandlers.push({ test: function (event) { return event.name === eventName; }, @@ -7890,7 +7890,7 @@ var Embed = /** @class */ (function () { Embed.prototype.getAccessToken = function (globalAccessToken) { var accessToken = this.config.accessToken || this.element.getAttribute(Embed.accessTokenAttribute) || globalAccessToken; if (!accessToken) { - throw new Error("No access token was found for element. You must specify an access token directly on the element using attribute '".concat(Embed.accessTokenAttribute, "' or specify a global token at: powerbi.accessToken.")); + throw new Error("No access token was found for element. You must specify an access token directly on the element using attribute '" + Embed.accessTokenAttribute + "' or specify a global token at: powerbi.accessToken."); } return accessToken; }; @@ -8006,7 +8006,7 @@ var Embed = /** @class */ (function () { embedUrl = this.getDefaultEmbedUrl(this.config.hostname); } if (typeof embedUrl !== 'string' || embedUrl.length === 0) { - throw new Error("Embed Url is required, but it was not found. You must provide an embed url either as part of embed configuration or as attribute '".concat(Embed.embedUrlAttribute, "'.")); + throw new Error("Embed Url is required, but it was not found. You must provide an embed url either as part of embed configuration or as attribute '" + Embed.embedUrlAttribute + "'."); } return embedUrl; }; @@ -8024,9 +8024,9 @@ var Embed = /** @class */ (function () { throw new Error("HTTP is not allowed. HTTPS is required"); } if (hostname.indexOf("https://") === 0) { - return "".concat(hostname, "/").concat(endpoint); + return hostname + "/" + endpoint; } - return "https://".concat(hostname, "/").concat(endpoint); + return "https://" + hostname + "/" + endpoint; }; /** * Gets a unique ID from the first available location: options, attribute. @@ -8398,7 +8398,7 @@ var Page = /** @class */ (function () { switch (_a.label) { case 0: _a.trys.push([0, 2, , 3]); - return [4 /*yield*/, this.report.service.hpm.get("/report/pages/".concat(this.name, "/filters"), { uid: this.report.config.uniqueId }, this.report.iframe.contentWindow)]; + return [4 /*yield*/, this.report.service.hpm.get("/report/pages/" + this.name + "/filters", { uid: this.report.config.uniqueId }, this.report.iframe.contentWindow)]; case 1: response = _a.sent(); return [2 /*return*/, response.body]; @@ -8434,7 +8434,7 @@ var Page = /** @class */ (function () { _a.label = 1; case 1: _a.trys.push([1, 3, , 4]); - return [4 /*yield*/, this.report.service.hpm.post("/report/pages/".concat(this.name, "/filters"), updateFiltersRequest, { uid: this.report.config.uniqueId }, this.report.iframe.contentWindow)]; + return [4 /*yield*/, this.report.service.hpm.post("/report/pages/" + this.name + "/filters", updateFiltersRequest, { uid: this.report.config.uniqueId }, this.report.iframe.contentWindow)]; case 2: return [2 /*return*/, _a.sent()]; case 3: response_2 = _a.sent(); @@ -8481,7 +8481,7 @@ var Page = /** @class */ (function () { switch (_a.label) { case 0: _a.trys.push([0, 2, , 3]); - return [4 /*yield*/, this.report.service.hpm.put("/report/pages/".concat(this.name, "/filters"), filters, { uid: this.report.config.uniqueId }, this.report.iframe.contentWindow)]; + return [4 /*yield*/, this.report.service.hpm.put("/report/pages/" + this.name + "/filters", filters, { uid: this.report.config.uniqueId }, this.report.iframe.contentWindow)]; case 1: return [2 /*return*/, _a.sent()]; case 2: response_3 = _a.sent(); @@ -8508,7 +8508,7 @@ var Page = /** @class */ (function () { switch (_a.label) { case 0: _a.trys.push([0, 2, , 3]); - return [4 /*yield*/, this.report.service.hpm.delete("/report/pages/".concat(this.name), {}, { uid: this.report.config.uniqueId }, this.report.iframe.contentWindow)]; + return [4 /*yield*/, this.report.service.hpm.delete("/report/pages/" + this.name, {}, { uid: this.report.config.uniqueId }, this.report.iframe.contentWindow)]; case 1: response = _a.sent(); return [2 /*return*/, response.body]; @@ -8575,7 +8575,7 @@ var Page = /** @class */ (function () { _a.label = 1; case 1: _a.trys.push([1, 3, , 4]); - return [4 /*yield*/, this.report.service.hpm.put("/report/pages/".concat(this.name, "/name"), page, { uid: this.report.config.uniqueId }, this.report.iframe.contentWindow)]; + return [4 /*yield*/, this.report.service.hpm.put("/report/pages/" + this.name + "/name", page, { uid: this.report.config.uniqueId }, this.report.iframe.contentWindow)]; case 2: return [2 /*return*/, _a.sent()]; case 3: response_6 = _a.sent(); @@ -8608,7 +8608,7 @@ var Page = /** @class */ (function () { _a.label = 1; case 1: _a.trys.push([1, 3, , 4]); - return [4 /*yield*/, this.report.service.hpm.get("/report/pages/".concat(this.name, "/visuals"), { uid: this.report.config.uniqueId }, this.report.iframe.contentWindow)]; + return [4 /*yield*/, this.report.service.hpm.get("/report/pages/" + this.name + "/visuals", { uid: this.report.config.uniqueId }, this.report.iframe.contentWindow)]; case 2: response = _a.sent(); return [2 /*return*/, response.body @@ -8646,7 +8646,7 @@ var Page = /** @class */ (function () { _a.label = 1; case 1: _a.trys.push([1, 3, , 4]); - return [4 /*yield*/, this.report.service.hpm.get("/report/pages/".concat(this.name, "/visuals"), { uid: this.report.config.uniqueId }, this.report.iframe.contentWindow)]; + return [4 /*yield*/, this.report.service.hpm.get("/report/pages/" + this.name + "/visuals", { uid: this.report.config.uniqueId }, this.report.iframe.contentWindow)]; case 2: response = _a.sent(); visual = response.body.find(function (v) { return v.name === visualName; }); @@ -8781,7 +8781,7 @@ var Page = /** @class */ (function () { _a.label = 1; case 1: _a.trys.push([1, 3, , 4]); - return [4 /*yield*/, this.report.service.hpm.get("/report/pages/".concat(this.name, "/visuals"), { uid: this.report.config.uniqueId }, this.report.iframe.contentWindow)]; + return [4 /*yield*/, this.report.service.hpm.get("/report/pages/" + this.name + "/visuals", { uid: this.report.config.uniqueId }, this.report.iframe.contentWindow)]; case 2: response = _a.sent(); return [2 /*return*/, response.body @@ -8818,7 +8818,7 @@ var Page = /** @class */ (function () { _a.label = 1; case 1: _a.trys.push([1, 3, , 4]); - return [4 /*yield*/, this.report.service.hpm.get("/report/pages/".concat(this.name, "/layoutTypes/").concat(layoutTypeEnum), { uid: this.report.config.uniqueId }, this.report.iframe.contentWindow)]; + return [4 /*yield*/, this.report.service.hpm.get("/report/pages/" + this.name + "/layoutTypes/" + layoutTypeEnum, { uid: this.report.config.uniqueId }, this.report.iframe.contentWindow)]; case 2: response = _a.sent(); return [2 /*return*/, response.body]; @@ -9260,7 +9260,7 @@ var Report = /** @class */ (function (_super) { switch (_a.label) { case 0: _a.trys.push([0, 2, , 3]); - return [4 /*yield*/, this.service.hpm.delete("/report/pages/".concat(pageName), {}, { uid: this.config.uniqueId }, this.iframe.contentWindow)]; + return [4 /*yield*/, this.service.hpm.delete("/report/pages/" + pageName, {}, { uid: this.config.uniqueId }, this.iframe.contentWindow)]; case 1: response = _a.sent(); return [2 /*return*/, response.body]; @@ -9295,7 +9295,7 @@ var Report = /** @class */ (function (_super) { _a.label = 1; case 1: _a.trys.push([1, 3, , 4]); - return [4 /*yield*/, this.service.hpm.put("/report/pages/".concat(pageName, "/name"), page, { uid: this.config.uniqueId }, this.iframe.contentWindow)]; + return [4 /*yield*/, this.service.hpm.put("/report/pages/" + pageName + "/name", page, { uid: this.config.uniqueId }, this.iframe.contentWindow)]; case 2: response = _a.sent(); return [2 /*return*/, response.body]; @@ -9445,7 +9445,7 @@ var Report = /** @class */ (function (_super) { var config = this.config; var reportId = config.id || this.element.getAttribute(Report.reportIdAttribute) || Report.findIdFromEmbedUrl(config.embedUrl); if (typeof reportId !== 'string' || reportId.length === 0) { - throw new Error("Report id is required, but it was not found. You must provide an id either as part of embed configuration or as attribute '".concat(Report.reportIdAttribute, "'.")); + throw new Error("Report id is required, but it was not found. You must provide an id either as part of embed configuration or as attribute '" + Report.reportIdAttribute + "'."); } return reportId; }; @@ -10520,6 +10520,17 @@ exports.Report = Report; // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. +var __assign = (this && this.__assign) || function () { + __assign = Object.assign || function(t) { + for (var s, i = 1, n = arguments.length; i < n; i++) { + s = arguments[i]; + for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) + t[p] = s[p]; + } + return t; + }; + return __assign.apply(this, arguments); +}; var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } return new (P || (P = Promise))(function (resolve, reject) { @@ -10734,7 +10745,7 @@ var Service = /** @class */ (function () { var _this = this; if (config === void 0) { config = undefined; } container = (container && container instanceof HTMLElement) ? container : document.body; - var elements = Array.prototype.slice.call(container.querySelectorAll("[".concat(embed_1.Embed.embedUrlAttribute, "]"))); + var elements = Array.prototype.slice.call(container.querySelectorAll("[" + embed_1.Embed.embedUrlAttribute + "]")); return elements.map(function (element) { return _this.embed(element, config); }); }; /** @@ -10780,7 +10791,7 @@ var Service = /** @class */ (function () { var powerBiElement = element; if (powerBiElement.powerBiEmbed) { if (isBootstrap) { - throw new Error("Attempted to bootstrap element ".concat(element.outerHTML, ", but the element is already a powerbi element.")); + throw new Error("Attempted to bootstrap element " + element.outerHTML + ", but the element is already a powerbi element."); } component = this.embedExisting(powerBiElement, config, phasedRender); } @@ -10812,13 +10823,14 @@ var Service = /** @class */ (function () { Service.prototype.embedNew = function (element, config, phasedRender, isBootstrap) { var componentType = config.type || element.getAttribute(embed_1.Embed.typeAttribute); if (!componentType) { - throw new Error("Attempted to embed using config ".concat(JSON.stringify(config), " on element ").concat(element.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 '").concat(embed_1.Embed.typeAttribute, "=\"").concat(report_1.Report.type.toLowerCase(), "\"'.")); + var scrubbedConfig = __assign(__assign({}, config), { accessToken: "" }); + throw new Error("Attempted to embed using config " + JSON.stringify(scrubbedConfig) + " on element " + element.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 '" + embed_1.Embed.typeAttribute + "=\"" + report_1.Report.type.toLowerCase() + "\"'."); } // Saves the type as part of the configuration so that it can be referenced later at a known location. config.type = componentType; var Component = utils.find(function (embedComponent) { return componentType === embedComponent.type.toLowerCase(); }, Service.components); if (!Component) { - throw new Error("Attempted to embed component of type: ".concat(componentType, " but did not find any matching component. Please verify the type you specified is intended.")); + throw new Error("Attempted to embed component of type: " + componentType + " but did not find any matching component. Please verify the type you specified is intended."); } var component = new Component(this, element, config, phasedRender, isBootstrap); element.powerBiEmbed = component; @@ -10837,7 +10849,8 @@ var Service = /** @class */ (function () { Service.prototype.embedExisting = function (element, config, phasedRender) { var component = utils.find(function (x) { return x.element === element; }, this.embeds); if (!component) { - throw new Error("Attempted to embed using config ".concat(JSON.stringify(config), " on element ").concat(element.outerHTML, " which already has embedded component associated, but could not find the existing component 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.")); + var scrubbedConfig = __assign(__assign({}, config), { accessToken: "" }); + throw new Error("Attempted to embed using config " + JSON.stringify(scrubbedConfig) + " on element " + element.outerHTML + " which already has embedded component associated, but could not find the existing component 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."); } // TODO: Multiple embedding to the same iframe is not supported in QnA if (config.type && config.type.toLowerCase() === "qna") { @@ -10860,7 +10873,8 @@ var Service = /** @class */ (function () { this.addOrOverwriteEmbed(component, element); return report; } - 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 ".concat(JSON.stringify(config), " on element ").concat(element.outerHTML, ", but the existing element contains an embed of type: ").concat(this.config.type, " which does not match the new type: ").concat(config.type)); + var scrubbedConfig = __assign(__assign({}, config), { accessToken: "" }); + 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(scrubbedConfig) + " on element " + element.outerHTML + ", but the existing element contains an embed of type: " + this.config.type + " which does not match the new type: " + config.type); } component.populateConfig(config, /* isBootstrap */ false); component.load(phasedRender); @@ -10888,7 +10902,7 @@ var Service = /** @class */ (function () { Service.prototype.get = function (element) { var powerBiElement = element; if (!powerBiElement.powerBiEmbed) { - throw new Error("You attempted to get an instance of powerbi component associated with element: ".concat(element.outerHTML, " but there was no associated instance.")); + throw new Error("You attempted to get an instance of powerbi component associated with element: " + element.outerHTML + " but there was no associated instance."); } return powerBiElement.powerBiEmbed; }; @@ -11009,7 +11023,7 @@ var Service = /** @class */ (function () { var pageKey = 'newPage'; var page = value[pageKey]; if (!page) { - throw new Error("Page model not found at 'event.value.".concat(pageKey, "'.")); + throw new Error("Page model not found at 'event.value." + pageKey + "'."); } value[pageKey] = new page_1.Page(embed, page.name, page.displayName, true /* isActive */); } @@ -11268,7 +11282,7 @@ exports.raiseCustomEvent = raiseCustomEvent; */ function findIndex(predicate, xs) { if (!Array.isArray(xs)) { - throw new Error("You attempted to call find with second parameter that was not an array. You passed: ".concat(xs)); + throw new Error("You attempted to call find with second parameter that was not an array. You passed: " + xs); } var index; xs.some(function (x, i) { @@ -11643,7 +11657,7 @@ var Visual = /** @class */ (function (_super) { _a.label = 1; case 1: _a.trys.push([1, 3, , 4]); - return [4 /*yield*/, this.service.hpm.get("/report/pages/".concat(config.pageName, "/visuals"), { uid: this.config.uniqueId }, this.iframe.contentWindow)]; + return [4 /*yield*/, this.service.hpm.get("/report/pages/" + config.pageName + "/visuals", { uid: this.config.uniqueId }, this.iframe.contentWindow)]; case 2: response = _a.sent(); embeddedVisuals = response.body.filter(function (pageVisual) { return pageVisual.name === config.visualName; }); @@ -11809,9 +11823,9 @@ var Visual = /** @class */ (function (_super) { case powerbi_models_1.FiltersLevel.Report: return "/report/filters"; case powerbi_models_1.FiltersLevel.Page: - return "/report/pages/".concat(config.pageName, "/filters"); + return "/report/pages/" + config.pageName + "/filters"; default: - return "/report/pages/".concat(config.pageName, "/visuals/").concat(config.visualName, "/filters"); + return "/report/pages/" + config.pageName + "/visuals/" + config.visualName + "/filters"; } }; /** @hidden */ @@ -11912,7 +11926,7 @@ var VisualDescriptor = /** @class */ (function () { switch (_a.label) { case 0: _a.trys.push([0, 2, , 3]); - return [4 /*yield*/, this.page.report.service.hpm.get("/report/pages/".concat(this.page.name, "/visuals/").concat(this.name, "/filters"), { uid: this.page.report.config.uniqueId }, this.page.report.iframe.contentWindow)]; + return [4 /*yield*/, this.page.report.service.hpm.get("/report/pages/" + this.page.name + "/visuals/" + this.name + "/filters", { uid: this.page.report.config.uniqueId }, this.page.report.iframe.contentWindow)]; case 1: response = _a.sent(); return [2 /*return*/, response.body]; @@ -11948,7 +11962,7 @@ var VisualDescriptor = /** @class */ (function () { _a.label = 1; case 1: _a.trys.push([1, 3, , 4]); - return [4 /*yield*/, this.page.report.service.hpm.post("/report/pages/".concat(this.page.name, "/visuals/").concat(this.name, "/filters"), updateFiltersRequest, { uid: this.page.report.config.uniqueId }, this.page.report.iframe.contentWindow)]; + return [4 /*yield*/, this.page.report.service.hpm.post("/report/pages/" + this.page.name + "/visuals/" + this.name + "/filters", updateFiltersRequest, { uid: this.page.report.config.uniqueId }, this.page.report.iframe.contentWindow)]; case 2: return [2 /*return*/, _a.sent()]; case 3: response_2 = _a.sent(); @@ -11995,7 +12009,7 @@ var VisualDescriptor = /** @class */ (function () { switch (_a.label) { case 0: _a.trys.push([0, 2, , 3]); - return [4 /*yield*/, this.page.report.service.hpm.put("/report/pages/".concat(this.page.name, "/visuals/").concat(this.name, "/filters"), filters, { uid: this.page.report.config.uniqueId }, this.page.report.iframe.contentWindow)]; + return [4 /*yield*/, this.page.report.service.hpm.put("/report/pages/" + this.page.name + "/visuals/" + this.name + "/filters", filters, { uid: this.page.report.config.uniqueId }, this.page.report.iframe.contentWindow)]; case 1: return [2 /*return*/, _a.sent()]; case 2: response_3 = _a.sent(); @@ -12031,7 +12045,7 @@ var VisualDescriptor = /** @class */ (function () { _a.label = 1; case 1: _a.trys.push([1, 3, , 4]); - return [4 /*yield*/, this.page.report.service.hpm.post("/report/pages/".concat(this.page.name, "/visuals/").concat(this.name, "/exportData"), exportDataRequestBody, { uid: this.page.report.config.uniqueId }, this.page.report.iframe.contentWindow)]; + return [4 /*yield*/, this.page.report.service.hpm.post("/report/pages/" + this.page.name + "/visuals/" + this.name + "/exportData", exportDataRequestBody, { uid: this.page.report.config.uniqueId }, this.page.report.iframe.contentWindow)]; case 2: response = _a.sent(); return [2 /*return*/, response.body]; @@ -12060,7 +12074,7 @@ var VisualDescriptor = /** @class */ (function () { switch (_a.label) { case 0: _a.trys.push([0, 2, , 3]); - return [4 /*yield*/, this.page.report.service.hpm.put("/report/pages/".concat(this.page.name, "/visuals/").concat(this.name, "/slicer"), state, { uid: this.page.report.config.uniqueId }, this.page.report.iframe.contentWindow)]; + return [4 /*yield*/, this.page.report.service.hpm.put("/report/pages/" + this.page.name + "/visuals/" + this.name + "/slicer", state, { uid: this.page.report.config.uniqueId }, this.page.report.iframe.contentWindow)]; case 1: return [2 /*return*/, _a.sent()]; case 2: response_5 = _a.sent(); @@ -12088,7 +12102,7 @@ var VisualDescriptor = /** @class */ (function () { switch (_a.label) { case 0: _a.trys.push([0, 2, , 3]); - return [4 /*yield*/, this.page.report.service.hpm.get("/report/pages/".concat(this.page.name, "/visuals/").concat(this.name, "/slicer"), { uid: this.page.report.config.uniqueId }, this.page.report.iframe.contentWindow)]; + return [4 /*yield*/, this.page.report.service.hpm.get("/report/pages/" + this.page.name + "/visuals/" + this.name + "/slicer", { uid: this.page.report.config.uniqueId }, this.page.report.iframe.contentWindow)]; case 1: response = _a.sent(); return [2 /*return*/, response.body]; @@ -12113,7 +12127,7 @@ var VisualDescriptor = /** @class */ (function () { switch (_a.label) { case 0: _a.trys.push([0, 2, , 3]); - return [4 /*yield*/, this.page.report.service.hpm.post("/report/pages/".concat(this.page.name, "/visuals/").concat(this.name, "/clone"), request, { uid: this.page.report.config.uniqueId }, this.page.report.iframe.contentWindow)]; + return [4 /*yield*/, this.page.report.service.hpm.post("/report/pages/" + this.page.name + "/visuals/" + this.name + "/clone", request, { uid: this.page.report.config.uniqueId }, this.page.report.iframe.contentWindow)]; case 1: response = _a.sent(); return [2 /*return*/, response.body]; @@ -12142,7 +12156,7 @@ var VisualDescriptor = /** @class */ (function () { switch (_a.label) { case 0: _a.trys.push([0, 2, , 3]); - return [4 /*yield*/, this.page.report.service.hpm.put("/report/pages/".concat(this.page.name, "/visuals/").concat(this.name, "/sortBy"), request, { uid: this.page.report.config.uniqueId }, this.page.report.iframe.contentWindow)]; + return [4 /*yield*/, this.page.report.service.hpm.put("/report/pages/" + this.page.name + "/visuals/" + this.name + "/sortBy", request, { uid: this.page.report.config.uniqueId }, this.page.report.iframe.contentWindow)]; case 1: return [2 /*return*/, _a.sent()]; case 2: response_8 = _a.sent(); diff --git a/dist/powerbi.min.js b/dist/powerbi.min.js index e246bf46..5ffef31b 100644 --- a/dist/powerbi.min.js +++ b/dist/powerbi.min.js @@ -1,7 +1,7 @@ -// powerbi-client v2.19.0 +// powerbi-client v2.19.1 // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. -!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){var e={};function r(i){if(e[i])return e[i].exports;var a=e[i]={i:i,l:!1,exports:{}};return t[i].call(a.exports,a,a.exports,r),a.l=!0,a.exports}return r.m=t,r.c=e,r.d=function(t,e,i){r.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:i})},r.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},r.t=function(t,e){if(1&e&&(t=r(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var i=Object.create(null);if(r.r(i),Object.defineProperty(i,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var a in t)r.d(i,a,function(e){return t[e]}.bind(null,a));return i},r.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return r.d(e,"a",e),e},r.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},r.p="",r(r.s=13)}([function(t,e,r){var i;i=function(){return function(t){var e={};function r(i){if(e[i])return e[i].exports;var a=e[i]={i:i,l:!1,exports:{}};return t[i].call(a.exports,a,a.exports,r),a.l=!0,a.exports}return r.m=t,r.c=e,r.d=function(t,e,i){r.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:i})},r.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},r.t=function(t,e){if(1&e&&(t=r(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var i=Object.create(null);if(r.r(i),Object.defineProperty(i,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var a in t)r.d(i,a,function(e){return t[e]}.bind(null,a));return i},r.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return r.d(e,"a",e),e},r.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},r.p="",r(r.s=0)}([function(t,e,r){var i,a=this&&this.__extends||(i=function(t,e){return(i=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])})(t,e)},function(t,e){function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.validateZoomLevel=e.validateCustomTheme=e.validateCommandsSettings=e.validateVisualSettings=e.validateVisualHeader=e.validateExportDataRequest=e.validateQnaInterpretInputData=e.validateLoadQnaConfiguration=e.validateSaveAsParameters=e.validateUpdateFiltersRequest=e.validateFilter=e.validatePage=e.validateTileLoad=e.validateDashboardLoad=e.validateCreateReport=e.validatePaginatedReportLoad=e.validateReportLoad=e.validateMenuGroupExtension=e.validateExtension=e.validateCustomPageSize=e.validateVisualizationsPane=e.validateSyncSlicersPane=e.validateSelectionPane=e.validatePageNavigationPane=e.validateFieldsPane=e.validateFiltersPane=e.validateBookmarksPane=e.validatePanes=e.validateSettings=e.validateCaptureBookmarkRequest=e.validateApplyBookmarkStateRequest=e.validateApplyBookmarkByNameRequest=e.validateAddBookmarkRequest=e.validatePlayBookmarkRequest=e.validateSlicerState=e.validateSlicer=e.validateVisualSelector=e.isIExtensionArray=e.isIExtensions=e.isGroupedMenuExtension=e.isFlatMenuExtension=e.isReportFiltersArray=e.isOnLoadFilters=e.VisualDataRoleKindPreference=e.VisualDataRoleKind=e.CommandDisplayOption=e.SlicerTargetSelector=e.VisualTypeSelector=e.VisualSelector=e.PageSelector=e.Selector=e.SortDirection=e.LegendPosition=e.TextAlignment=e.CommonErrorCodes=e.BookmarksPlayMode=e.ExportDataType=e.QnaMode=e.PageNavigationPosition=e.isColumnAggr=e.isHierarchyLevelAggr=e.isHierarchyLevel=e.isColumn=e.isMeasure=e.getFilterType=e.isBasicFilterWithKeys=e.isFilterKeyColumnsTarget=e.AdvancedFilter=e.TupleFilter=e.IdentityFilter=e.BasicFilterWithKeys=e.BasicFilter=e.RelativeTimeFilter=e.RelativeDateFilter=e.TopNFilter=e.IncludeExcludeFilter=e.NotSupportedFilter=e.Filter=e.RelativeDateOperators=e.RelativeDateFilterTimeUnit=e.FilterType=e.FiltersLevel=e.FiltersOperations=e.MenuLocation=e.ContrastMode=e.TokenType=e.ViewMode=e.Permissions=e.SectionVisibility=e.ReportAlignment=e.HyperlinkClickBehavior=e.LayoutType=e.VisualContainerDisplayMode=e.BackgroundType=e.DisplayOption=e.PageSizeType=e.TraceType=void 0;var o,n=r(1);!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"}(e.TraceType||(e.TraceType={})),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",t[t.Mobile=5]="Mobile"}(e.PageSizeType||(e.PageSizeType={})),function(t){t[t.FitToPage=0]="FitToPage",t[t.FitToWidth=1]="FitToWidth",t[t.ActualSize=2]="ActualSize"}(e.DisplayOption||(e.DisplayOption={})),function(t){t[t.Default=0]="Default",t[t.Transparent=1]="Transparent"}(e.BackgroundType||(e.BackgroundType={})),function(t){t[t.Visible=0]="Visible",t[t.Hidden=1]="Hidden"}(e.VisualContainerDisplayMode||(e.VisualContainerDisplayMode={})),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={})),function(t){t[t.Navigate=0]="Navigate",t[t.NavigateAndRaiseEvent=1]="NavigateAndRaiseEvent",t[t.RaiseEvent=2]="RaiseEvent"}(e.HyperlinkClickBehavior||(e.HyperlinkClickBehavior={})),function(t){t[t.Left=0]="Left",t[t.Center=1]="Center",t[t.Right=2]="Right",t[t.None=3]="None"}(e.ReportAlignment||(e.ReportAlignment={})),function(t){t[t.AlwaysVisible=0]="AlwaysVisible",t[t.HiddenInViewMode=1]="HiddenInViewMode"}(e.SectionVisibility||(e.SectionVisibility={})),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"}(e.Permissions||(e.Permissions={})),function(t){t[t.View=0]="View",t[t.Edit=1]="Edit"}(e.ViewMode||(e.ViewMode={})),function(t){t[t.Aad=0]="Aad",t[t.Embed=1]="Embed"}(e.TokenType||(e.TokenType={})),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"}(e.ContrastMode||(e.ContrastMode={})),function(t){t[t.Bottom=0]="Bottom",t[t.Top=1]="Top"}(e.MenuLocation||(e.MenuLocation={})),function(t){t[t.RemoveAll=0]="RemoveAll",t[t.ReplaceAll=1]="ReplaceAll",t[t.Add=2]="Add",t[t.Replace=3]="Replace"}(e.FiltersOperations||(e.FiltersOperations={})),function(t){t[t.Report=0]="Report",t[t.Page=1]="Page",t[t.Visual=2]="Visual"}(e.FiltersLevel||(e.FiltersLevel={})),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",t[t.Identity=8]="Identity"}(o=e.FilterType||(e.FilterType={})),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"}(e.RelativeDateFilterTimeUnit||(e.RelativeDateFilterTimeUnit={})),function(t){t[t.InLast=0]="InLast",t[t.InThis=1]="InThis",t[t.InNext=2]="InNext"}(e.RelativeDateOperators||(e.RelativeDateOperators={}));var l=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=l;var s=function(t){function e(r,i,a){var n=t.call(this,r,o.Unknown)||this;return n.message=i,n.notSupportedTypeName=a,n.schemaUrl=e.schemaUrl,n}return a(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}(l);e.NotSupportedFilter=s;var u=function(t){function e(r,i,a){var n=t.call(this,r,o.IncludeExclude)||this;return n.values=a,n.isExclude=i,n.schemaUrl=e.schemaUrl,n}return a(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}(l);e.IncludeExcludeFilter=u;var d=function(t){function e(r,i,a,n){var l=t.call(this,r,o.TopN)||this;return l.operator=i,l.itemCount=a,l.schemaUrl=e.schemaUrl,l.orderBy=n,l}return a(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}(l);e.TopNFilter=d;var c=function(t){function e(r,i,a,n,l){var s=t.call(this,r,o.RelativeDate)||this;return s.operator=i,s.timeUnitsCount=a,s.timeUnitType=n,s.includeToday=l,s.schemaUrl=e.schemaUrl,s}return a(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}(l);e.RelativeDateFilter=c;var p=function(t){function e(r,i,a,n){var l=t.call(this,r,o.RelativeTime)||this;return l.operator=i,l.timeUnitsCount=a,l.timeUnitType=n,l.schemaUrl=e.schemaUrl,l}return a(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}(l);e.RelativeTimeFilter=p;var f=function(t){function e(r,i){for(var a=[],n=2;n0&&!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,s=o.keyValues;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 s.conditions=l,s}return a(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}(l);function V(t){if(t.filterType)return t.filterType;var e=t,r=t;return"string"==typeof e.operator&&Array.isArray(e.values)?o.Basic:"string"==typeof r.logicalOperator&&Array.isArray(r.conditions)?o.Advanced:o.Unknown}function g(t){return!(!t.table||!t.column||t.aggregationFunction)}e.AdvancedFilter=m,e.isFilterKeyColumnsTarget=function(t){return g(t)&&!!t.keys},e.isBasicFilterWithKeys=function(t){return V(t)===o.Basic&&!!t.keyValues},e.getFilterType=V,e.isMeasure=function(t){return void 0!==t.table&&void 0!==t.measure},e.isColumn=g,e.isHierarchyLevel=function(t){return!(!(t.table&&t.hierarchy&&t.hierarchyLevel)||t.aggregationFunction)},e.isHierarchyLevelAggr=function(t){return!!(t.table&&t.hierarchy&&t.hierarchyLevel&&t.aggregationFunction)},e.isColumnAggr=function(t){return!!(t.table&&t.column&&t.aggregationFunction)},function(t){t[t.Bottom=0]="Bottom",t[t.Left=1]="Left"}(e.PageNavigationPosition||(e.PageNavigationPosition={})),function(t){t[t.Interactive=0]="Interactive",t[t.ResultOnly=1]="ResultOnly"}(e.QnaMode||(e.QnaMode={})),function(t){t[t.Summarized=0]="Summarized",t[t.Underlying=1]="Underlying"}(e.ExportDataType||(e.ExportDataType={})),function(t){t[t.Off=0]="Off",t[t.Presentation=1]="Presentation"}(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"},function(t){t[t.Ascending=1]="Ascending",t[t.Descending=2]="Descending"}(e.SortDirection||(e.SortDirection={}));var b=function(){function t(t){this.$schema=t}return t.prototype.toJSON=function(){return{$schema:this.$schema}},t}();e.Selector=b;var w=function(t){function e(r){var i=t.call(this,e.schemaUrl)||this;return i.pageName=r,i}return a(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}(b);e.PageSelector=w;var P=function(t){function e(r){var i=t.call(this,e.schemaUrl)||this;return i.visualName=r,i}return a(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}(b);e.VisualSelector=P;var _=function(t){function e(e){var r=t.call(this,P.schemaUrl)||this;return r.visualType=e,r}return a(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}(b);e.VisualTypeSelector=_;var O=function(t){function e(e){var r=t.call(this,P.schemaUrl)||this;return r.target=e,r}return a(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}(b);function S(t){return Array.isArray(t)}function T(t){return t&&!!t.groupName}function E(t){return Array.isArray(t)}function F(t){var e=t.message;return e||(e=t.path+" is invalid. Not meeting "+t.keyword+" constraint"),{message:e}}e.SlicerTargetSelector=O,function(t){t[t.Enabled=0]="Enabled",t[t.Disabled=1]="Disabled",t[t.Hidden=2]="Hidden"}(e.CommandDisplayOption||(e.CommandDisplayOption={})),function(t){t[t.Grouping=0]="Grouping",t[t.Measure=1]="Measure",t[t.GroupingOrMeasure=2]="GroupingOrMeasure"}(e.VisualDataRoleKind||(e.VisualDataRoleKind={})),function(t){t[t.Measure=0]="Measure",t[t.Grouping=1]="Grouping"}(e.VisualDataRoleKindPreference||(e.VisualDataRoleKindPreference={})),e.isOnLoadFilters=function(t){return t&&!S(t)},e.isReportFiltersArray=S,e.isFlatMenuExtension=function(t){return t&&!T(t)},e.isGroupedMenuExtension=T,e.isIExtensions=function(t){return t&&!E(t)},e.isIExtensionArray=E,e.validateVisualSelector=function(t){var e=n.Validators.visualSelectorValidator.validate(t);return e?e.map(F):void 0},e.validateSlicer=function(t){var e=n.Validators.slicerValidator.validate(t);return e?e.map(F):void 0},e.validateSlicerState=function(t){var e=n.Validators.slicerStateValidator.validate(t);return e?e.map(F):void 0},e.validatePlayBookmarkRequest=function(t){var e=n.Validators.playBookmarkRequestValidator.validate(t);return e?e.map(F):void 0},e.validateAddBookmarkRequest=function(t){var e=n.Validators.addBookmarkRequestValidator.validate(t);return e?e.map(F):void 0},e.validateApplyBookmarkByNameRequest=function(t){var e=n.Validators.applyBookmarkByNameRequestValidator.validate(t);return e?e.map(F):void 0},e.validateApplyBookmarkStateRequest=function(t){var e=n.Validators.applyBookmarkStateRequestValidator.validate(t);return e?e.map(F):void 0},e.validateCaptureBookmarkRequest=function(t){var e=n.Validators.captureBookmarkRequestValidator.validate(t);return e?e.map(F):void 0},e.validateSettings=function(t){var e=n.Validators.settingsValidator.validate(t);return e?e.map(F):void 0},e.validatePanes=function(t){var e=n.Validators.reportPanesValidator.validate(t);return e?e.map(F):void 0},e.validateBookmarksPane=function(t){var e=n.Validators.bookmarksPaneValidator.validate(t);return e?e.map(F):void 0},e.validateFiltersPane=function(t){var e=n.Validators.filtersPaneValidator.validate(t);return e?e.map(F):void 0},e.validateFieldsPane=function(t){var e=n.Validators.fieldsPaneValidator.validate(t);return e?e.map(F):void 0},e.validatePageNavigationPane=function(t){var e=n.Validators.pageNavigationPaneValidator.validate(t);return e?e.map(F):void 0},e.validateSelectionPane=function(t){var e=n.Validators.selectionPaneValidator.validate(t);return e?e.map(F):void 0},e.validateSyncSlicersPane=function(t){var e=n.Validators.syncSlicersPaneValidator.validate(t);return e?e.map(F):void 0},e.validateVisualizationsPane=function(t){var e=n.Validators.visualizationsPaneValidator.validate(t);return e?e.map(F):void 0},e.validateCustomPageSize=function(t){var e=n.Validators.customPageSizeValidator.validate(t);return e?e.map(F):void 0},e.validateExtension=function(t){var e=n.Validators.extensionValidator.validate(t);return e?e.map(F):void 0},e.validateMenuGroupExtension=function(t){var e=n.Validators.menuGroupExtensionValidator.validate(t);return e?e.map(F):void 0},e.validateReportLoad=function(t){var e=n.Validators.reportLoadValidator.validate(t);return e?e.map(F):void 0},e.validatePaginatedReportLoad=function(t){var e=n.Validators.paginatedReportLoadValidator.validate(t);return e?e.map(F):void 0},e.validateCreateReport=function(t){var e=n.Validators.reportCreateValidator.validate(t);return e?e.map(F):void 0},e.validateDashboardLoad=function(t){var e=n.Validators.dashboardLoadValidator.validate(t);return e?e.map(F):void 0},e.validateTileLoad=function(t){var e=n.Validators.tileLoadValidator.validate(t);return e?e.map(F):void 0},e.validatePage=function(t){var e=n.Validators.pageValidator.validate(t);return e?e.map(F):void 0},e.validateFilter=function(t){var e=n.Validators.filterValidator.validate(t);return e?e.map(F):void 0},e.validateUpdateFiltersRequest=function(t){var e=n.Validators.updateFiltersRequestValidator.validate(t);return e?e.map(F):void 0},e.validateSaveAsParameters=function(t){var e=n.Validators.saveAsParametersValidator.validate(t);return e?e.map(F):void 0},e.validateLoadQnaConfiguration=function(t){var e=n.Validators.loadQnaValidator.validate(t);return e?e.map(F):void 0},e.validateQnaInterpretInputData=function(t){var e=n.Validators.qnaInterpretInputDataValidator.validate(t);return e?e.map(F):void 0},e.validateExportDataRequest=function(t){var e=n.Validators.exportDataRequestValidator.validate(t);return e?e.map(F):void 0},e.validateVisualHeader=function(t){var e=n.Validators.visualHeaderValidator.validate(t);return e?e.map(F):void 0},e.validateVisualSettings=function(t){var e=n.Validators.visualSettingsValidator.validate(t);return e?e.map(F):void 0},e.validateCommandsSettings=function(t){var e=n.Validators.commandsSettingsValidator.validate(t);return e?e.map(F):void 0},e.validateCustomTheme=function(t){var e=n.Validators.customThemeValidator.validate(t);return e?e.map(F):void 0},e.validateZoomLevel=function(t){var e=n.Validators.zoomLevelValidator.validate(t);return e?e.map(F):void 0}},function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.Validators=void 0;var i=r(2),a=r(5),o=r(6),n=r(7),l=r(8),s=r(9),u=r(10),d=r(11),c=r(12),p=r(13),f=r(14),h=r(15),v=r(16),y=r(17),m=r(18),V=r(19),g=r(20),b=r(21),w=r(22),P=r(23),_=r(24),O=r(25),S=r(26),T=r(27),E=r(28),F=r(29),R=r(4),x=r(30);e.Validators={addBookmarkRequestValidator:new a.AddBookmarkRequestValidator,advancedFilterTypeValidator:new R.EnumValidator([0]),advancedFilterValidator:new c.AdvancedFilterValidator,anyArrayValidator:new R.ArrayValidator([new S.AnyOfValidator([new R.StringValidator,new R.NumberValidator,new R.BooleanValidator])]),anyFilterValidator:new S.AnyOfValidator([new c.BasicFilterValidator,new c.AdvancedFilterValidator,new c.IncludeExcludeFilterValidator,new c.NotSupportedFilterValidator,new c.RelativeDateFilterValidator,new c.TopNFilterValidator,new c.RelativeTimeFilterValidator]),anyValueValidator:new S.AnyOfValidator([new R.StringValidator,new R.NumberValidator,new R.BooleanValidator]),actionBarValidator:new i.ActionBarValidator,applyBookmarkByNameRequestValidator:new a.ApplyBookmarkByNameRequestValidator,applyBookmarkStateRequestValidator:new a.ApplyBookmarkStateRequestValidator,applyBookmarkValidator:new S.AnyOfValidator([new a.ApplyBookmarkByNameRequestValidator,new a.ApplyBookmarkStateRequestValidator]),backgroundValidator:new R.EnumValidator([0,1]),basicFilterTypeValidator:new R.EnumValidator([1]),basicFilterValidator:new c.BasicFilterValidator,booleanArrayValidator:new R.BooleanArrayValidator,booleanValidator:new R.BooleanValidator,bookmarksPaneValidator:new h.BookmarksPaneValidator,captureBookmarkOptionsValidator:new a.CaptureBookmarkOptionsValidator,captureBookmarkRequestValidator:new a.CaptureBookmarkRequestValidator,commandDisplayOptionValidator:new R.EnumValidator([0,1,2]),commandExtensionSelectorValidator:new S.AnyOfValidator([new b.VisualSelectorValidator,new b.VisualTypeSelectorValidator]),commandExtensionArrayValidator:new R.ArrayValidator([new d.CommandExtensionValidator]),commandExtensionValidator:new d.CommandExtensionValidator,commandsSettingsArrayValidator:new R.ArrayValidator([new o.CommandsSettingsValidator]),commandsSettingsValidator:new o.CommandsSettingsValidator,conditionItemValidator:new c.ConditionItemValidator,contrastModeValidator:new R.EnumValidator([0,1,2,3,4]),customLayoutDisplayOptionValidator:new R.EnumValidator([0,1,2]),customLayoutValidator:new p.CustomLayoutValidator,customPageSizeValidator:new f.CustomPageSizeValidator,customThemeValidator:new n.CustomThemeValidator,dashboardLoadValidator:new l.DashboardLoadValidator,datasetBindingValidator:new s.DatasetBindingValidator,displayStateModeValidator:new R.EnumValidator([0,1]),displayStateValidator:new p.DisplayStateValidator,exportDataRequestValidator:new u.ExportDataRequestValidator,extensionArrayValidator:new R.ArrayValidator([new d.ExtensionValidator]),extensionsValidator:new S.AnyOfValidator([new R.ArrayValidator([new d.ExtensionValidator]),new d.ExtensionsValidator]),extensionPointsValidator:new d.ExtensionPointsValidator,extensionValidator:new d.ExtensionValidator,fieldForbiddenValidator:new T.FieldForbiddenValidator,fieldRequiredValidator:new E.FieldRequiredValidator,fieldsPaneValidator:new h.FieldsPaneValidator,filterColumnTargetValidator:new c.FilterColumnTargetValidator,filterDisplaySettingsValidator:new c.FilterDisplaySettingsValidator,filterConditionsValidator:new R.ArrayValidator([new c.ConditionItemValidator]),filterHierarchyTargetValidator:new c.FilterHierarchyTargetValidator,filterMeasureTargetValidator:new c.FilterMeasureTargetValidator,filterTargetValidator:new S.AnyOfValidator([new c.FilterColumnTargetValidator,new c.FilterHierarchyTargetValidator,new c.FilterMeasureTargetValidator]),filterValidator:new c.FilterValidator,filterTypeValidator:new R.EnumValidator([0,1,2,3,4,5,6,7]),filtersArrayValidator:new R.ArrayValidator([new c.FilterValidator]),filtersOperationsUpdateValidator:new R.EnumValidator([1,2,3]),filtersOperationsRemoveAllValidator:new R.EnumValidator([0]),filtersPaneValidator:new h.FiltersPaneValidator,hyperlinkClickBehaviorValidator:new R.EnumValidator([0,1,2]),includeExcludeFilterValidator:new c.IncludeExcludeFilterValidator,includeExludeFilterTypeValidator:new R.EnumValidator([3]),layoutTypeValidator:new R.EnumValidator([0,1,2,3]),loadQnaValidator:new v.LoadQnaValidator,menuExtensionValidator:new S.AnyOfValidator([new d.FlatMenuExtensionValidator,new d.GroupedMenuExtensionValidator]),menuGroupExtensionArrayValidator:new R.ArrayValidator([new d.MenuGroupExtensionValidator]),menuGroupExtensionValidator:new d.MenuGroupExtensionValidator,menuLocationValidator:new R.EnumValidator([0,1]),notSupportedFilterTypeValidator:new R.EnumValidator([2]),notSupportedFilterValidator:new c.NotSupportedFilterValidator,numberArrayValidator:new R.NumberArrayValidator,numberValidator:new R.NumberValidator,onLoadFiltersBaseValidator:new S.AnyOfValidator([new c.OnLoadFiltersBaseValidator,new c.OnLoadFiltersBaseRemoveOperationValidator]),pageLayoutValidator:new F.MapValidator([new R.StringValidator],[new p.VisualLayoutValidator]),pageNavigationPaneValidator:new h.PageNavigationPaneValidator,pageNavigationPositionValidator:new R.EnumValidator([0,1]),pageSizeTypeValidator:new R.EnumValidator([0,1,2,3,4,5]),pageSizeValidator:new f.PageSizeValidator,pageValidator:new f.PageValidator,pageViewFieldValidator:new f.PageViewFieldValidator,pagesLayoutValidator:new F.MapValidator([new R.StringValidator],[new p.PageLayoutValidator]),paginatedReportCommandsValidator:new o.PaginatedReportCommandsValidator,paginatedReportLoadValidator:new V.PaginatedReportLoadValidator,paginatedReportsettingsValidator:new w.PaginatedReportSettingsValidator,parametersPanelValidator:new x.ParametersPanelValidator,permissionsValidator:new R.EnumValidator([0,1,2,4,7]),playBookmarkRequestValidator:new a.PlayBookmarkRequestValidator,qnaInterpretInputDataValidator:new v.QnaInterpretInputDataValidator,qnaPanesValidator:new h.QnaPanesValidator,qnaSettingValidator:new v.QnaSettingsValidator,relativeDateFilterOperatorValidator:new R.EnumValidator([0,1,2]),relativeDateFilterTimeUnitTypeValidator:new R.EnumValidator([0,1,2,3,4,5,6]),relativeDateFilterTypeValidator:new R.EnumValidator([4]),relativeDateFilterValidator:new c.RelativeDateFilterValidator,relativeDateTimeFilterTypeValidator:new R.EnumValidator([4,7]),relativeDateTimeFilterUnitTypeValidator:new R.EnumValidator([0,1,2,3,4,5,6,7,8]),relativeTimeFilterTimeUnitTypeValidator:new R.EnumValidator([7,8]),relativeTimeFilterTypeValidator:new R.EnumValidator([7]),relativeTimeFilterValidator:new c.RelativeTimeFilterValidator,reportBarsValidator:new i.ReportBarsValidator,reportCreateValidator:new y.ReportCreateValidator,reportLoadFiltersValidator:new S.AnyOfValidator([new R.ArrayValidator([new c.FilterValidator]),new c.OnLoadFiltersValidator]),reportLoadValidator:new m.ReportLoadValidator,reportPanesValidator:new h.ReportPanesValidator,saveAsParametersValidator:new g.SaveAsParametersValidator,selectionPaneValidator:new h.SelectionPaneValidator,settingsValidator:new w.SettingsValidator,singleCommandSettingsValidator:new o.SingleCommandSettingsValidator,slicerSelectorValidator:new S.AnyOfValidator([new b.VisualSelectorValidator,new b.SlicerTargetSelectorValidator]),slicerStateValidator:new P.SlicerStateValidator,slicerTargetValidator:new S.AnyOfValidator([new c.FilterColumnTargetValidator,new c.FilterHierarchyTargetValidator,new c.FilterMeasureTargetValidator,new c.FilterKeyColumnsTargetValidator,new c.FilterKeyHierarchyTargetValidator]),slicerValidator:new P.SlicerValidator,stringArrayValidator:new R.StringArrayValidator,stringValidator:new R.StringValidator,syncSlicersPaneValidator:new h.SyncSlicersPaneValidator,tileLoadValidator:new _.TileLoadValidator,tokenTypeValidator:new R.EnumValidator([0,1]),topNFilterTypeValidator:new R.EnumValidator([5]),topNFilterValidator:new c.TopNFilterValidator,updateFiltersRequestValidator:new S.AnyOfValidator([new c.UpdateFiltersRequestValidator,new c.RemoveFiltersRequestValidator]),viewModeValidator:new R.EnumValidator([0,1]),visualCommandSelectorValidator:new S.AnyOfValidator([new b.VisualSelectorValidator,new b.VisualTypeSelectorValidator]),visualHeaderSelectorValidator:new S.AnyOfValidator([new b.VisualSelectorValidator,new b.VisualTypeSelectorValidator]),visualHeaderSettingsValidator:new O.VisualHeaderSettingsValidator,visualHeaderValidator:new O.VisualHeaderValidator,visualHeadersValidator:new R.ArrayValidator([new O.VisualHeaderValidator]),visualizationsPaneValidator:new h.VisualizationsPaneValidator,visualLayoutValidator:new p.VisualLayoutValidator,visualSelectorValidator:new b.VisualSelectorValidator,visualSettingsValidator:new O.VisualSettingsValidator,visualTypeSelectorValidator:new b.VisualTypeSelectorValidator,zoomLevelValidator:new R.RangeValidator(.25,4)}},function(t,e,r){var i,a=this&&this.__extends||(i=function(t,e){return(i=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])})(t,e)},function(t,e){function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.ActionBarValidator=e.ReportBarsValidator=void 0;var o=r(3),n=r(4),l=r(1),s=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return a(e,t),e.prototype.validate=function(e,r,i){if(null==e)return null;var a=t.prototype.validate.call(this,e,r,i);if(a)return a;var n=[{field:"actionBar",validators:[l.Validators.actionBarValidator]}];return new o.MultipleFieldsValidator(n).validate(e,r,i)},e}(n.ObjectValidator);e.ReportBarsValidator=s;var u=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return a(e,t),e.prototype.validate=function(e,r,i){if(null==e)return null;var a=t.prototype.validate.call(this,e,r,i);if(a)return a;var n=[{field:"visible",validators:[l.Validators.booleanValidator]}];return new o.MultipleFieldsValidator(n).validate(e,r,i)},e}(n.ObjectValidator);e.ActionBarValidator=u},function(t,e){Object.defineProperty(e,"__esModule",{value:!0}),e.MultipleFieldsValidator=void 0;var r=function(){function t(t){this.fieldValidatorsPairs=t}return t.prototype.validate=function(t,e,r){if(!this.fieldValidatorsPairs)return null;for(var i=e?e+"."+r:r,a=0,o=this.fieldValidatorsPairs;athis.maxValue||e0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0?"&":"?";return t+=i+e+"="+r},e.isSavedInternal=function(t,e,a){return r(this,void 0,void 0,(function(){return i(this,(function(r){switch(r.label){case 0:return r.trys.push([0,2,,3]),[4,t.get("/report/hasUnsavedChanges",{uid:e},a)];case 1:return[2,!r.sent().body];case 2:throw r.sent().body;case 3:return[2]}}))}))},e.isRDLEmbed=function(t){return t&&t.toLowerCase().indexOf("/rdlembed?")>=0},e.autoAuthInEmbedUrl=function(t){return t&&decodeURIComponent(t).toLowerCase().indexOf("autoauth=true")>=0},e.getRandomValue=o,e.getTimeDiffInMilliseconds=function(t,e){return Math.abs(t.getTime()-e.getTime())}},function(t,e){Object.defineProperty(e,"__esModule",{value:!0}),e.FilterBuilder=void 0;var r=function(){function t(){}return t.prototype.withTargetObject=function(t){return this.target=t,this},t.prototype.withColumnTarget=function(t,e){return this.target={table:t,column:e},this},t.prototype.withMeasureTarget=function(t,e){return this.target={table:t,measure:e},this},t.prototype.withHierarchyLevelTarget=function(t,e,r){return this.target={table:t,hierarchy:e,hierarchyLevel:r},this},t.prototype.withColumnAggregation=function(t,e,r){return this.target={table:t,column:e,aggregationFunction:r},this},t.prototype.withHierarchyLevelAggregationTarget=function(t,e,r,i){return this.target={table:t,hierarchy:e,hierarchyLevel:r,aggregationFunction:i},this},t}();e.FilterBuilder=r},function(t,e){Object.defineProperty(e,"__esModule",{value:!0}),e.EmbedUrlNotSupported=e.APINotSupportedForRDLError=void 0,e.APINotSupportedForRDLError="This API is currently not supported for RDL reports",e.EmbedUrlNotSupported="Embed URL is invalid for this scenario. Please use Power BI REST APIs to get the valid URL"},function(t,e,r){var i,a=this&&this.__extends||(i=function(t,e){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])})(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}),o=this&&this.__awaiter||function(t,e,r,i){return new(r||(r=Promise))((function(a,o){function n(t){try{s(i.next(t))}catch(t){o(t)}}function l(t){try{s(i.throw(t))}catch(t){o(t)}}function s(t){var e;t.done?a(t.value):(e=t.value,e instanceof r?e:new r((function(t){t(e)}))).then(n,l)}s((i=i.apply(t,e||[])).next())}))},n=this&&this.__generator||function(t,e){var r,i,a,o,n={label:0,sent:function(){if(1&a[0])throw a[1];return a[1]},trys:[],ops:[]};return o={next:l(0),throw:l(1),return:l(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function l(o){return function(l){return function(o){if(r)throw new TypeError("Generator is already executing.");for(;n;)try{if(r=1,i&&(a=2&o[0]?i.return:o[0]?i.throw||((a=i.return)&&a.call(i),0):i.next)&&!(a=a.call(i,o[1])).done)return a;switch(i=0,a&&(o=[2&o[0],a.value]),o[0]){case 0:case 1:a=o;break;case 4:return n.label++,{value:o[1],done:!1};case 5:n.label++,i=o[1],o=[0];continue;case 7:o=n.ops.pop(),n.trys.pop();continue;default:if(!(a=n.trys,(a=a.length>0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&!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,s=o.keyValues;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 s.conditions=l,s}return a(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}(l);function V(t){if(t.filterType)return t.filterType;var e=t,r=t;return"string"==typeof e.operator&&Array.isArray(e.values)?o.Basic:"string"==typeof r.logicalOperator&&Array.isArray(r.conditions)?o.Advanced:o.Unknown}function g(t){return!(!t.table||!t.column||t.aggregationFunction)}e.AdvancedFilter=m,e.isFilterKeyColumnsTarget=function(t){return g(t)&&!!t.keys},e.isBasicFilterWithKeys=function(t){return V(t)===o.Basic&&!!t.keyValues},e.getFilterType=V,e.isMeasure=function(t){return void 0!==t.table&&void 0!==t.measure},e.isColumn=g,e.isHierarchyLevel=function(t){return!(!(t.table&&t.hierarchy&&t.hierarchyLevel)||t.aggregationFunction)},e.isHierarchyLevelAggr=function(t){return!!(t.table&&t.hierarchy&&t.hierarchyLevel&&t.aggregationFunction)},e.isColumnAggr=function(t){return!!(t.table&&t.column&&t.aggregationFunction)},function(t){t[t.Bottom=0]="Bottom",t[t.Left=1]="Left"}(e.PageNavigationPosition||(e.PageNavigationPosition={})),function(t){t[t.Interactive=0]="Interactive",t[t.ResultOnly=1]="ResultOnly"}(e.QnaMode||(e.QnaMode={})),function(t){t[t.Summarized=0]="Summarized",t[t.Underlying=1]="Underlying"}(e.ExportDataType||(e.ExportDataType={})),function(t){t[t.Off=0]="Off",t[t.Presentation=1]="Presentation"}(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"},function(t){t[t.Ascending=1]="Ascending",t[t.Descending=2]="Descending"}(e.SortDirection||(e.SortDirection={}));var b=function(){function t(t){this.$schema=t}return t.prototype.toJSON=function(){return{$schema:this.$schema}},t}();e.Selector=b;var w=function(t){function e(r){var i=t.call(this,e.schemaUrl)||this;return i.pageName=r,i}return a(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}(b);e.PageSelector=w;var P=function(t){function e(r){var i=t.call(this,e.schemaUrl)||this;return i.visualName=r,i}return a(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}(b);e.VisualSelector=P;var _=function(t){function e(e){var r=t.call(this,P.schemaUrl)||this;return r.visualType=e,r}return a(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}(b);e.VisualTypeSelector=_;var O=function(t){function e(e){var r=t.call(this,P.schemaUrl)||this;return r.target=e,r}return a(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}(b);function S(t){return Array.isArray(t)}function T(t){return t&&!!t.groupName}function E(t){return Array.isArray(t)}function F(t){var e=t.message;return e||(e=t.path+" is invalid. Not meeting "+t.keyword+" constraint"),{message:e}}e.SlicerTargetSelector=O,function(t){t[t.Enabled=0]="Enabled",t[t.Disabled=1]="Disabled",t[t.Hidden=2]="Hidden"}(e.CommandDisplayOption||(e.CommandDisplayOption={})),function(t){t[t.Grouping=0]="Grouping",t[t.Measure=1]="Measure",t[t.GroupingOrMeasure=2]="GroupingOrMeasure"}(e.VisualDataRoleKind||(e.VisualDataRoleKind={})),function(t){t[t.Measure=0]="Measure",t[t.Grouping=1]="Grouping"}(e.VisualDataRoleKindPreference||(e.VisualDataRoleKindPreference={})),e.isOnLoadFilters=function(t){return t&&!S(t)},e.isReportFiltersArray=S,e.isFlatMenuExtension=function(t){return t&&!T(t)},e.isGroupedMenuExtension=T,e.isIExtensions=function(t){return t&&!E(t)},e.isIExtensionArray=E,e.validateVisualSelector=function(t){var e=n.Validators.visualSelectorValidator.validate(t);return e?e.map(F):void 0},e.validateSlicer=function(t){var e=n.Validators.slicerValidator.validate(t);return e?e.map(F):void 0},e.validateSlicerState=function(t){var e=n.Validators.slicerStateValidator.validate(t);return e?e.map(F):void 0},e.validatePlayBookmarkRequest=function(t){var e=n.Validators.playBookmarkRequestValidator.validate(t);return e?e.map(F):void 0},e.validateAddBookmarkRequest=function(t){var e=n.Validators.addBookmarkRequestValidator.validate(t);return e?e.map(F):void 0},e.validateApplyBookmarkByNameRequest=function(t){var e=n.Validators.applyBookmarkByNameRequestValidator.validate(t);return e?e.map(F):void 0},e.validateApplyBookmarkStateRequest=function(t){var e=n.Validators.applyBookmarkStateRequestValidator.validate(t);return e?e.map(F):void 0},e.validateCaptureBookmarkRequest=function(t){var e=n.Validators.captureBookmarkRequestValidator.validate(t);return e?e.map(F):void 0},e.validateSettings=function(t){var e=n.Validators.settingsValidator.validate(t);return e?e.map(F):void 0},e.validatePanes=function(t){var e=n.Validators.reportPanesValidator.validate(t);return e?e.map(F):void 0},e.validateBookmarksPane=function(t){var e=n.Validators.bookmarksPaneValidator.validate(t);return e?e.map(F):void 0},e.validateFiltersPane=function(t){var e=n.Validators.filtersPaneValidator.validate(t);return e?e.map(F):void 0},e.validateFieldsPane=function(t){var e=n.Validators.fieldsPaneValidator.validate(t);return e?e.map(F):void 0},e.validatePageNavigationPane=function(t){var e=n.Validators.pageNavigationPaneValidator.validate(t);return e?e.map(F):void 0},e.validateSelectionPane=function(t){var e=n.Validators.selectionPaneValidator.validate(t);return e?e.map(F):void 0},e.validateSyncSlicersPane=function(t){var e=n.Validators.syncSlicersPaneValidator.validate(t);return e?e.map(F):void 0},e.validateVisualizationsPane=function(t){var e=n.Validators.visualizationsPaneValidator.validate(t);return e?e.map(F):void 0},e.validateCustomPageSize=function(t){var e=n.Validators.customPageSizeValidator.validate(t);return e?e.map(F):void 0},e.validateExtension=function(t){var e=n.Validators.extensionValidator.validate(t);return e?e.map(F):void 0},e.validateMenuGroupExtension=function(t){var e=n.Validators.menuGroupExtensionValidator.validate(t);return e?e.map(F):void 0},e.validateReportLoad=function(t){var e=n.Validators.reportLoadValidator.validate(t);return e?e.map(F):void 0},e.validatePaginatedReportLoad=function(t){var e=n.Validators.paginatedReportLoadValidator.validate(t);return e?e.map(F):void 0},e.validateCreateReport=function(t){var e=n.Validators.reportCreateValidator.validate(t);return e?e.map(F):void 0},e.validateDashboardLoad=function(t){var e=n.Validators.dashboardLoadValidator.validate(t);return e?e.map(F):void 0},e.validateTileLoad=function(t){var e=n.Validators.tileLoadValidator.validate(t);return e?e.map(F):void 0},e.validatePage=function(t){var e=n.Validators.pageValidator.validate(t);return e?e.map(F):void 0},e.validateFilter=function(t){var e=n.Validators.filterValidator.validate(t);return e?e.map(F):void 0},e.validateUpdateFiltersRequest=function(t){var e=n.Validators.updateFiltersRequestValidator.validate(t);return e?e.map(F):void 0},e.validateSaveAsParameters=function(t){var e=n.Validators.saveAsParametersValidator.validate(t);return e?e.map(F):void 0},e.validateLoadQnaConfiguration=function(t){var e=n.Validators.loadQnaValidator.validate(t);return e?e.map(F):void 0},e.validateQnaInterpretInputData=function(t){var e=n.Validators.qnaInterpretInputDataValidator.validate(t);return e?e.map(F):void 0},e.validateExportDataRequest=function(t){var e=n.Validators.exportDataRequestValidator.validate(t);return e?e.map(F):void 0},e.validateVisualHeader=function(t){var e=n.Validators.visualHeaderValidator.validate(t);return e?e.map(F):void 0},e.validateVisualSettings=function(t){var e=n.Validators.visualSettingsValidator.validate(t);return e?e.map(F):void 0},e.validateCommandsSettings=function(t){var e=n.Validators.commandsSettingsValidator.validate(t);return e?e.map(F):void 0},e.validateCustomTheme=function(t){var e=n.Validators.customThemeValidator.validate(t);return e?e.map(F):void 0},e.validateZoomLevel=function(t){var e=n.Validators.zoomLevelValidator.validate(t);return e?e.map(F):void 0}},function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.Validators=void 0;var i=r(2),a=r(5),o=r(6),n=r(7),l=r(8),s=r(9),u=r(10),d=r(11),c=r(12),p=r(13),f=r(14),h=r(15),v=r(16),y=r(17),m=r(18),V=r(19),g=r(20),b=r(21),w=r(22),P=r(23),_=r(24),O=r(25),S=r(26),T=r(27),E=r(28),F=r(29),R=r(4),x=r(30);e.Validators={addBookmarkRequestValidator:new a.AddBookmarkRequestValidator,advancedFilterTypeValidator:new R.EnumValidator([0]),advancedFilterValidator:new c.AdvancedFilterValidator,anyArrayValidator:new R.ArrayValidator([new S.AnyOfValidator([new R.StringValidator,new R.NumberValidator,new R.BooleanValidator])]),anyFilterValidator:new S.AnyOfValidator([new c.BasicFilterValidator,new c.AdvancedFilterValidator,new c.IncludeExcludeFilterValidator,new c.NotSupportedFilterValidator,new c.RelativeDateFilterValidator,new c.TopNFilterValidator,new c.RelativeTimeFilterValidator]),anyValueValidator:new S.AnyOfValidator([new R.StringValidator,new R.NumberValidator,new R.BooleanValidator]),actionBarValidator:new i.ActionBarValidator,applyBookmarkByNameRequestValidator:new a.ApplyBookmarkByNameRequestValidator,applyBookmarkStateRequestValidator:new a.ApplyBookmarkStateRequestValidator,applyBookmarkValidator:new S.AnyOfValidator([new a.ApplyBookmarkByNameRequestValidator,new a.ApplyBookmarkStateRequestValidator]),backgroundValidator:new R.EnumValidator([0,1]),basicFilterTypeValidator:new R.EnumValidator([1]),basicFilterValidator:new c.BasicFilterValidator,booleanArrayValidator:new R.BooleanArrayValidator,booleanValidator:new R.BooleanValidator,bookmarksPaneValidator:new h.BookmarksPaneValidator,captureBookmarkOptionsValidator:new a.CaptureBookmarkOptionsValidator,captureBookmarkRequestValidator:new a.CaptureBookmarkRequestValidator,commandDisplayOptionValidator:new R.EnumValidator([0,1,2]),commandExtensionSelectorValidator:new S.AnyOfValidator([new b.VisualSelectorValidator,new b.VisualTypeSelectorValidator]),commandExtensionArrayValidator:new R.ArrayValidator([new d.CommandExtensionValidator]),commandExtensionValidator:new d.CommandExtensionValidator,commandsSettingsArrayValidator:new R.ArrayValidator([new o.CommandsSettingsValidator]),commandsSettingsValidator:new o.CommandsSettingsValidator,conditionItemValidator:new c.ConditionItemValidator,contrastModeValidator:new R.EnumValidator([0,1,2,3,4]),customLayoutDisplayOptionValidator:new R.EnumValidator([0,1,2]),customLayoutValidator:new p.CustomLayoutValidator,customPageSizeValidator:new f.CustomPageSizeValidator,customThemeValidator:new n.CustomThemeValidator,dashboardLoadValidator:new l.DashboardLoadValidator,datasetBindingValidator:new s.DatasetBindingValidator,displayStateModeValidator:new R.EnumValidator([0,1]),displayStateValidator:new p.DisplayStateValidator,exportDataRequestValidator:new u.ExportDataRequestValidator,extensionArrayValidator:new R.ArrayValidator([new d.ExtensionValidator]),extensionsValidator:new S.AnyOfValidator([new R.ArrayValidator([new d.ExtensionValidator]),new d.ExtensionsValidator]),extensionPointsValidator:new d.ExtensionPointsValidator,extensionValidator:new d.ExtensionValidator,fieldForbiddenValidator:new T.FieldForbiddenValidator,fieldRequiredValidator:new E.FieldRequiredValidator,fieldsPaneValidator:new h.FieldsPaneValidator,filterColumnTargetValidator:new c.FilterColumnTargetValidator,filterDisplaySettingsValidator:new c.FilterDisplaySettingsValidator,filterConditionsValidator:new R.ArrayValidator([new c.ConditionItemValidator]),filterHierarchyTargetValidator:new c.FilterHierarchyTargetValidator,filterMeasureTargetValidator:new c.FilterMeasureTargetValidator,filterTargetValidator:new S.AnyOfValidator([new c.FilterColumnTargetValidator,new c.FilterHierarchyTargetValidator,new c.FilterMeasureTargetValidator]),filterValidator:new c.FilterValidator,filterTypeValidator:new R.EnumValidator([0,1,2,3,4,5,6,7]),filtersArrayValidator:new R.ArrayValidator([new c.FilterValidator]),filtersOperationsUpdateValidator:new R.EnumValidator([1,2,3]),filtersOperationsRemoveAllValidator:new R.EnumValidator([0]),filtersPaneValidator:new h.FiltersPaneValidator,hyperlinkClickBehaviorValidator:new R.EnumValidator([0,1,2]),includeExcludeFilterValidator:new c.IncludeExcludeFilterValidator,includeExludeFilterTypeValidator:new R.EnumValidator([3]),layoutTypeValidator:new R.EnumValidator([0,1,2,3]),loadQnaValidator:new v.LoadQnaValidator,menuExtensionValidator:new S.AnyOfValidator([new d.FlatMenuExtensionValidator,new d.GroupedMenuExtensionValidator]),menuGroupExtensionArrayValidator:new R.ArrayValidator([new d.MenuGroupExtensionValidator]),menuGroupExtensionValidator:new d.MenuGroupExtensionValidator,menuLocationValidator:new R.EnumValidator([0,1]),notSupportedFilterTypeValidator:new R.EnumValidator([2]),notSupportedFilterValidator:new c.NotSupportedFilterValidator,numberArrayValidator:new R.NumberArrayValidator,numberValidator:new R.NumberValidator,onLoadFiltersBaseValidator:new S.AnyOfValidator([new c.OnLoadFiltersBaseValidator,new c.OnLoadFiltersBaseRemoveOperationValidator]),pageLayoutValidator:new F.MapValidator([new R.StringValidator],[new p.VisualLayoutValidator]),pageNavigationPaneValidator:new h.PageNavigationPaneValidator,pageNavigationPositionValidator:new R.EnumValidator([0,1]),pageSizeTypeValidator:new R.EnumValidator([0,1,2,3,4,5]),pageSizeValidator:new f.PageSizeValidator,pageValidator:new f.PageValidator,pageViewFieldValidator:new f.PageViewFieldValidator,pagesLayoutValidator:new F.MapValidator([new R.StringValidator],[new p.PageLayoutValidator]),paginatedReportCommandsValidator:new o.PaginatedReportCommandsValidator,paginatedReportLoadValidator:new V.PaginatedReportLoadValidator,paginatedReportsettingsValidator:new w.PaginatedReportSettingsValidator,parametersPanelValidator:new x.ParametersPanelValidator,permissionsValidator:new R.EnumValidator([0,1,2,4,7]),playBookmarkRequestValidator:new a.PlayBookmarkRequestValidator,qnaInterpretInputDataValidator:new v.QnaInterpretInputDataValidator,qnaPanesValidator:new h.QnaPanesValidator,qnaSettingValidator:new v.QnaSettingsValidator,relativeDateFilterOperatorValidator:new R.EnumValidator([0,1,2]),relativeDateFilterTimeUnitTypeValidator:new R.EnumValidator([0,1,2,3,4,5,6]),relativeDateFilterTypeValidator:new R.EnumValidator([4]),relativeDateFilterValidator:new c.RelativeDateFilterValidator,relativeDateTimeFilterTypeValidator:new R.EnumValidator([4,7]),relativeDateTimeFilterUnitTypeValidator:new R.EnumValidator([0,1,2,3,4,5,6,7,8]),relativeTimeFilterTimeUnitTypeValidator:new R.EnumValidator([7,8]),relativeTimeFilterTypeValidator:new R.EnumValidator([7]),relativeTimeFilterValidator:new c.RelativeTimeFilterValidator,reportBarsValidator:new i.ReportBarsValidator,reportCreateValidator:new y.ReportCreateValidator,reportLoadFiltersValidator:new S.AnyOfValidator([new R.ArrayValidator([new c.FilterValidator]),new c.OnLoadFiltersValidator]),reportLoadValidator:new m.ReportLoadValidator,reportPanesValidator:new h.ReportPanesValidator,saveAsParametersValidator:new g.SaveAsParametersValidator,selectionPaneValidator:new h.SelectionPaneValidator,settingsValidator:new w.SettingsValidator,singleCommandSettingsValidator:new o.SingleCommandSettingsValidator,slicerSelectorValidator:new S.AnyOfValidator([new b.VisualSelectorValidator,new b.SlicerTargetSelectorValidator]),slicerStateValidator:new P.SlicerStateValidator,slicerTargetValidator:new S.AnyOfValidator([new c.FilterColumnTargetValidator,new c.FilterHierarchyTargetValidator,new c.FilterMeasureTargetValidator,new c.FilterKeyColumnsTargetValidator,new c.FilterKeyHierarchyTargetValidator]),slicerValidator:new P.SlicerValidator,stringArrayValidator:new R.StringArrayValidator,stringValidator:new R.StringValidator,syncSlicersPaneValidator:new h.SyncSlicersPaneValidator,tileLoadValidator:new _.TileLoadValidator,tokenTypeValidator:new R.EnumValidator([0,1]),topNFilterTypeValidator:new R.EnumValidator([5]),topNFilterValidator:new c.TopNFilterValidator,updateFiltersRequestValidator:new S.AnyOfValidator([new c.UpdateFiltersRequestValidator,new c.RemoveFiltersRequestValidator]),viewModeValidator:new R.EnumValidator([0,1]),visualCommandSelectorValidator:new S.AnyOfValidator([new b.VisualSelectorValidator,new b.VisualTypeSelectorValidator]),visualHeaderSelectorValidator:new S.AnyOfValidator([new b.VisualSelectorValidator,new b.VisualTypeSelectorValidator]),visualHeaderSettingsValidator:new O.VisualHeaderSettingsValidator,visualHeaderValidator:new O.VisualHeaderValidator,visualHeadersValidator:new R.ArrayValidator([new O.VisualHeaderValidator]),visualizationsPaneValidator:new h.VisualizationsPaneValidator,visualLayoutValidator:new p.VisualLayoutValidator,visualSelectorValidator:new b.VisualSelectorValidator,visualSettingsValidator:new O.VisualSettingsValidator,visualTypeSelectorValidator:new b.VisualTypeSelectorValidator,zoomLevelValidator:new R.RangeValidator(.25,4)}},function(t,e,r){var i,a=this&&this.__extends||(i=function(t,e){return(i=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])})(t,e)},function(t,e){function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.ActionBarValidator=e.ReportBarsValidator=void 0;var o=r(3),n=r(4),l=r(1),s=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return a(e,t),e.prototype.validate=function(e,r,i){if(null==e)return null;var a=t.prototype.validate.call(this,e,r,i);if(a)return a;var n=[{field:"actionBar",validators:[l.Validators.actionBarValidator]}];return new o.MultipleFieldsValidator(n).validate(e,r,i)},e}(n.ObjectValidator);e.ReportBarsValidator=s;var u=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return a(e,t),e.prototype.validate=function(e,r,i){if(null==e)return null;var a=t.prototype.validate.call(this,e,r,i);if(a)return a;var n=[{field:"visible",validators:[l.Validators.booleanValidator]}];return new o.MultipleFieldsValidator(n).validate(e,r,i)},e}(n.ObjectValidator);e.ActionBarValidator=u},function(t,e){Object.defineProperty(e,"__esModule",{value:!0}),e.MultipleFieldsValidator=void 0;var r=function(){function t(t){this.fieldValidatorsPairs=t}return t.prototype.validate=function(t,e,r){if(!this.fieldValidatorsPairs)return null;for(var i=e?e+"."+r:r,a=0,o=this.fieldValidatorsPairs;athis.maxValue||e0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0?"&":"?";return t+=i+e+"="+r},e.isSavedInternal=function(t,e,a){return r(this,void 0,void 0,(function(){return i(this,(function(r){switch(r.label){case 0:return r.trys.push([0,2,,3]),[4,t.get("/report/hasUnsavedChanges",{uid:e},a)];case 1:return[2,!r.sent().body];case 2:throw r.sent().body;case 3:return[2]}}))}))},e.isRDLEmbed=function(t){return t&&t.toLowerCase().indexOf("/rdlembed?")>=0},e.autoAuthInEmbedUrl=function(t){return t&&decodeURIComponent(t).toLowerCase().indexOf("autoauth=true")>=0},e.getRandomValue=o,e.getTimeDiffInMilliseconds=function(t,e){return Math.abs(t.getTime()-e.getTime())}},function(t,e){Object.defineProperty(e,"__esModule",{value:!0}),e.FilterBuilder=void 0;var r=function(){function t(){}return t.prototype.withTargetObject=function(t){return this.target=t,this},t.prototype.withColumnTarget=function(t,e){return this.target={table:t,column:e},this},t.prototype.withMeasureTarget=function(t,e){return this.target={table:t,measure:e},this},t.prototype.withHierarchyLevelTarget=function(t,e,r){return this.target={table:t,hierarchy:e,hierarchyLevel:r},this},t.prototype.withColumnAggregation=function(t,e,r){return this.target={table:t,column:e,aggregationFunction:r},this},t.prototype.withHierarchyLevelAggregationTarget=function(t,e,r,i){return this.target={table:t,hierarchy:e,hierarchyLevel:r,aggregationFunction:i},this},t}();e.FilterBuilder=r},function(t,e){Object.defineProperty(e,"__esModule",{value:!0}),e.EmbedUrlNotSupported=e.APINotSupportedForRDLError=void 0,e.APINotSupportedForRDLError="This API is currently not supported for RDL reports",e.EmbedUrlNotSupported="Embed URL is invalid for this scenario. Please use Power BI REST APIs to get the valid URL"},function(t,e,r){var i,a=this&&this.__extends||(i=function(t,e){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])})(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}),o=this&&this.__awaiter||function(t,e,r,i){return new(r||(r=Promise))((function(a,o){function n(t){try{s(i.next(t))}catch(t){o(t)}}function l(t){try{s(i.throw(t))}catch(t){o(t)}}function s(t){var e;t.done?a(t.value):(e=t.value,e instanceof r?e:new r((function(t){t(e)}))).then(n,l)}s((i=i.apply(t,e||[])).next())}))},n=this&&this.__generator||function(t,e){var r,i,a,o,n={label:0,sent:function(){if(1&a[0])throw a[1];return a[1]},trys:[],ops:[]};return o={next:l(0),throw:l(1),return:l(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function l(o){return function(l){return function(o){if(r)throw new TypeError("Generator is already executing.");for(;n;)try{if(r=1,i&&(a=2&o[0]?i.return:o[0]?i.throw||((a=i.return)&&a.call(i),0):i.next)&&!(a=a.call(i,o[1])).done)return a;switch(i=0,a&&(o=[2&o[0],a.value]),o[0]){case 0:case 1:a=o;break;case 4:return n.label++,{value:o[1],done:!1};case 5:n.label++,i=o[1],o=[0];continue;case 7:o=n.ops.pop(),n.trys.pop();continue;default:if(!(a=n.trys,(a=a.length>0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1][]; /** - * Gets or sets the eventHooks. - * - * @type {models.EventHooks} - * @hidden - */ + * Gets or sets the eventHooks. + * + * @type {models.EventHooks} + * @hidden + */ eventHooks: models.EventHooks; /** diff --git a/src/service.ts b/src/service.ts index 064292ed..1cd6ab6e 100644 --- a/src/service.ts +++ b/src/service.ts @@ -399,7 +399,8 @@ export class Service implements IService { private embedNew(element: IPowerBiElement, config: IComponentEmbedConfiguration | IEmbedConfigurationBase, phasedRender?: boolean, isBootstrap?: boolean): Embed { const componentType = config.type || element.getAttribute(Embed.typeAttribute); if (!componentType) { - throw new Error(`Attempted to embed using config ${JSON.stringify(config)} on element ${element.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 '${Embed.typeAttribute}="${Report.type.toLowerCase()}"'.`); + const scrubbedConfig = { ...config, accessToken: "" }; + throw new Error(`Attempted to embed using config ${JSON.stringify(scrubbedConfig)} on element ${element.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 '${Embed.typeAttribute}="${Report.type.toLowerCase()}"'.`); } // Saves the type as part of the configuration so that it can be referenced later at a known location. @@ -429,7 +430,8 @@ export class Service implements IService { private embedExisting(element: IPowerBiElement, config: IComponentEmbedConfiguration | IEmbedConfigurationBase, phasedRender?: boolean): Embed { const component = utils.find((x) => x.element === element, this.embeds); if (!component) { - throw new Error(`Attempted to embed using config ${JSON.stringify(config)} on element ${element.outerHTML} which already has embedded component associated, but could not find the existing component 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.`); + const scrubbedConfig = { ...config, accessToken: "" }; + throw new Error(`Attempted to embed using config ${JSON.stringify(scrubbedConfig)} on element ${element.outerHTML} which already has embedded component associated, but could not find the existing component 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.`); } // TODO: Multiple embedding to the same iframe is not supported in QnA @@ -457,8 +459,8 @@ export class Service implements IService { return report; } - - 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(config)} on element ${element.outerHTML}, but the existing element contains an embed of type: ${this.config.type} which does not match the new type: ${config.type}`); + const scrubbedConfig = { ...config, accessToken: "" }; + 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(scrubbedConfig)} on element ${element.outerHTML}, but the existing element contains an embed of type: ${this.config.type} which does not match the new type: ${config.type}`); } component.populateConfig(config, /* isBootstrap */ false); From 238c62933112164ddb17abd8a9329ffbb452f4a5 Mon Sep 17 00:00:00 2001 From: Shahak Yosef Date: Sun, 23 Jan 2022 12:41:13 +0000 Subject: [PATCH 087/125] Merged PR 231943: Build with latest Windows version and VS 2019 Build with latest Windows version and VS 2019 https://github.com/actions/virtual-environments/issues/4312 Same changes as !231657 --- .pipelines/pipeline.user.windows.yml | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/.pipelines/pipeline.user.windows.yml b/.pipelines/pipeline.user.windows.yml index 2178c954..6e3f1a11 100644 --- a/.pipelines/pipeline.user.windows.yml +++ b/.pipelines/pipeline.user.windows.yml @@ -1,12 +1,10 @@ environment: host: - os: 'windows' - flavor: 'server' - version: '2016' + os: "windows" runtime: - provider: 'appcontainer' - image: 'cdpxwinrs5.azurecr.io/global/vse2019/16.3.7:latest' - source_mode: 'map' + provider: "appcontainer" + image: "cdpxwinrs5.azurecr.io/global/vse2019:latest" + source_mode: "map" artifact_publish_options: publish_to_legacy_artifacts: false From f8baed639aa0e42a10578a8376fe10fb9f436656 Mon Sep 17 00:00:00 2001 From: Shahak Yosef Date: Tue, 22 Feb 2022 07:26:28 +0000 Subject: [PATCH 088/125] Merged PR 240302: Add getSDKVersion method Add `powerbi.getSDKVersion` method In ISV scenario it is hard to find the SDK version in the dev tools so I am adding a method to return it. --- dist/powerbi-client.d.ts | 6 +++ dist/powerbi.js | 85 ++++++++++++++++++++++------------------ dist/powerbi.min.js | 2 +- src/service.ts | 10 +++++ 4 files changed, 64 insertions(+), 39 deletions(-) diff --git a/dist/powerbi-client.d.ts b/dist/powerbi-client.d.ts index baf9a5ff..ef017dff 100644 --- a/dist/powerbi-client.d.ts +++ b/dist/powerbi-client.d.ts @@ -2154,6 +2154,12 @@ declare module "service" { getNumberOfComponents(): number; /** @hidden */ getSdkSessionId(): string; + /** + * Returns the Power BI Client SDK version + * + * @hidden + */ + getSDKVersion(): string; /** * Given a configuration based on a Power BI element, saves the component instance that reference the element for later lookup. * diff --git a/dist/powerbi.js b/dist/powerbi.js index 0ec81531..4669e3d5 100644 --- a/dist/powerbi.js +++ b/dist/powerbi.js @@ -7427,7 +7427,7 @@ var Dashboard = /** @class */ (function (_super) { var config = this.config; var dashboardId = config.id || this.element.getAttribute(Dashboard.dashboardIdAttribute) || Dashboard.findIdFromEmbedUrl(config.embedUrl); if (typeof dashboardId !== 'string' || dashboardId.length === 0) { - throw new Error("Dashboard id is required, but it was not found. You must provide an id either as part of embed configuration or as attribute '" + Dashboard.dashboardIdAttribute + "'."); + throw new Error("Dashboard id is required, but it was not found. You must provide an id either as part of embed configuration or as attribute '".concat(Dashboard.dashboardIdAttribute, "'.")); } return dashboardId; }; @@ -7819,7 +7819,7 @@ var Embed = /** @class */ (function () { */ Embed.prototype.on = function (eventName, handler) { if (this.allowedEvents.indexOf(eventName) === -1) { - throw new Error("eventName must be one of " + this.allowedEvents + ". You passed: " + eventName); + throw new Error("eventName must be one of ".concat(this.allowedEvents, ". You passed: ").concat(eventName)); } this.eventHandlers.push({ test: function (event) { return event.name === eventName; }, @@ -7890,7 +7890,7 @@ var Embed = /** @class */ (function () { Embed.prototype.getAccessToken = function (globalAccessToken) { var accessToken = this.config.accessToken || this.element.getAttribute(Embed.accessTokenAttribute) || globalAccessToken; if (!accessToken) { - throw new Error("No access token was found for element. You must specify an access token directly on the element using attribute '" + Embed.accessTokenAttribute + "' or specify a global token at: powerbi.accessToken."); + throw new Error("No access token was found for element. You must specify an access token directly on the element using attribute '".concat(Embed.accessTokenAttribute, "' or specify a global token at: powerbi.accessToken.")); } return accessToken; }; @@ -8006,7 +8006,7 @@ var Embed = /** @class */ (function () { embedUrl = this.getDefaultEmbedUrl(this.config.hostname); } if (typeof embedUrl !== 'string' || embedUrl.length === 0) { - throw new Error("Embed Url is required, but it was not found. You must provide an embed url either as part of embed configuration or as attribute '" + Embed.embedUrlAttribute + "'."); + throw new Error("Embed Url is required, but it was not found. You must provide an embed url either as part of embed configuration or as attribute '".concat(Embed.embedUrlAttribute, "'.")); } return embedUrl; }; @@ -8024,9 +8024,9 @@ var Embed = /** @class */ (function () { throw new Error("HTTP is not allowed. HTTPS is required"); } if (hostname.indexOf("https://") === 0) { - return hostname + "/" + endpoint; + return "".concat(hostname, "/").concat(endpoint); } - return "https://" + hostname + "/" + endpoint; + return "https://".concat(hostname, "/").concat(endpoint); }; /** * Gets a unique ID from the first available location: options, attribute. @@ -8398,7 +8398,7 @@ var Page = /** @class */ (function () { switch (_a.label) { case 0: _a.trys.push([0, 2, , 3]); - return [4 /*yield*/, this.report.service.hpm.get("/report/pages/" + this.name + "/filters", { uid: this.report.config.uniqueId }, this.report.iframe.contentWindow)]; + return [4 /*yield*/, this.report.service.hpm.get("/report/pages/".concat(this.name, "/filters"), { uid: this.report.config.uniqueId }, this.report.iframe.contentWindow)]; case 1: response = _a.sent(); return [2 /*return*/, response.body]; @@ -8434,7 +8434,7 @@ var Page = /** @class */ (function () { _a.label = 1; case 1: _a.trys.push([1, 3, , 4]); - return [4 /*yield*/, this.report.service.hpm.post("/report/pages/" + this.name + "/filters", updateFiltersRequest, { uid: this.report.config.uniqueId }, this.report.iframe.contentWindow)]; + return [4 /*yield*/, this.report.service.hpm.post("/report/pages/".concat(this.name, "/filters"), updateFiltersRequest, { uid: this.report.config.uniqueId }, this.report.iframe.contentWindow)]; case 2: return [2 /*return*/, _a.sent()]; case 3: response_2 = _a.sent(); @@ -8481,7 +8481,7 @@ var Page = /** @class */ (function () { switch (_a.label) { case 0: _a.trys.push([0, 2, , 3]); - return [4 /*yield*/, this.report.service.hpm.put("/report/pages/" + this.name + "/filters", filters, { uid: this.report.config.uniqueId }, this.report.iframe.contentWindow)]; + return [4 /*yield*/, this.report.service.hpm.put("/report/pages/".concat(this.name, "/filters"), filters, { uid: this.report.config.uniqueId }, this.report.iframe.contentWindow)]; case 1: return [2 /*return*/, _a.sent()]; case 2: response_3 = _a.sent(); @@ -8508,7 +8508,7 @@ var Page = /** @class */ (function () { switch (_a.label) { case 0: _a.trys.push([0, 2, , 3]); - return [4 /*yield*/, this.report.service.hpm.delete("/report/pages/" + this.name, {}, { uid: this.report.config.uniqueId }, this.report.iframe.contentWindow)]; + return [4 /*yield*/, this.report.service.hpm.delete("/report/pages/".concat(this.name), {}, { uid: this.report.config.uniqueId }, this.report.iframe.contentWindow)]; case 1: response = _a.sent(); return [2 /*return*/, response.body]; @@ -8575,7 +8575,7 @@ var Page = /** @class */ (function () { _a.label = 1; case 1: _a.trys.push([1, 3, , 4]); - return [4 /*yield*/, this.report.service.hpm.put("/report/pages/" + this.name + "/name", page, { uid: this.report.config.uniqueId }, this.report.iframe.contentWindow)]; + return [4 /*yield*/, this.report.service.hpm.put("/report/pages/".concat(this.name, "/name"), page, { uid: this.report.config.uniqueId }, this.report.iframe.contentWindow)]; case 2: return [2 /*return*/, _a.sent()]; case 3: response_6 = _a.sent(); @@ -8608,7 +8608,7 @@ var Page = /** @class */ (function () { _a.label = 1; case 1: _a.trys.push([1, 3, , 4]); - return [4 /*yield*/, this.report.service.hpm.get("/report/pages/" + this.name + "/visuals", { uid: this.report.config.uniqueId }, this.report.iframe.contentWindow)]; + return [4 /*yield*/, this.report.service.hpm.get("/report/pages/".concat(this.name, "/visuals"), { uid: this.report.config.uniqueId }, this.report.iframe.contentWindow)]; case 2: response = _a.sent(); return [2 /*return*/, response.body @@ -8646,7 +8646,7 @@ var Page = /** @class */ (function () { _a.label = 1; case 1: _a.trys.push([1, 3, , 4]); - return [4 /*yield*/, this.report.service.hpm.get("/report/pages/" + this.name + "/visuals", { uid: this.report.config.uniqueId }, this.report.iframe.contentWindow)]; + return [4 /*yield*/, this.report.service.hpm.get("/report/pages/".concat(this.name, "/visuals"), { uid: this.report.config.uniqueId }, this.report.iframe.contentWindow)]; case 2: response = _a.sent(); visual = response.body.find(function (v) { return v.name === visualName; }); @@ -8781,7 +8781,7 @@ var Page = /** @class */ (function () { _a.label = 1; case 1: _a.trys.push([1, 3, , 4]); - return [4 /*yield*/, this.report.service.hpm.get("/report/pages/" + this.name + "/visuals", { uid: this.report.config.uniqueId }, this.report.iframe.contentWindow)]; + return [4 /*yield*/, this.report.service.hpm.get("/report/pages/".concat(this.name, "/visuals"), { uid: this.report.config.uniqueId }, this.report.iframe.contentWindow)]; case 2: response = _a.sent(); return [2 /*return*/, response.body @@ -8818,7 +8818,7 @@ var Page = /** @class */ (function () { _a.label = 1; case 1: _a.trys.push([1, 3, , 4]); - return [4 /*yield*/, this.report.service.hpm.get("/report/pages/" + this.name + "/layoutTypes/" + layoutTypeEnum, { uid: this.report.config.uniqueId }, this.report.iframe.contentWindow)]; + return [4 /*yield*/, this.report.service.hpm.get("/report/pages/".concat(this.name, "/layoutTypes/").concat(layoutTypeEnum), { uid: this.report.config.uniqueId }, this.report.iframe.contentWindow)]; case 2: response = _a.sent(); return [2 /*return*/, response.body]; @@ -9260,7 +9260,7 @@ var Report = /** @class */ (function (_super) { switch (_a.label) { case 0: _a.trys.push([0, 2, , 3]); - return [4 /*yield*/, this.service.hpm.delete("/report/pages/" + pageName, {}, { uid: this.config.uniqueId }, this.iframe.contentWindow)]; + return [4 /*yield*/, this.service.hpm.delete("/report/pages/".concat(pageName), {}, { uid: this.config.uniqueId }, this.iframe.contentWindow)]; case 1: response = _a.sent(); return [2 /*return*/, response.body]; @@ -9295,7 +9295,7 @@ var Report = /** @class */ (function (_super) { _a.label = 1; case 1: _a.trys.push([1, 3, , 4]); - return [4 /*yield*/, this.service.hpm.put("/report/pages/" + pageName + "/name", page, { uid: this.config.uniqueId }, this.iframe.contentWindow)]; + return [4 /*yield*/, this.service.hpm.put("/report/pages/".concat(pageName, "/name"), page, { uid: this.config.uniqueId }, this.iframe.contentWindow)]; case 2: response = _a.sent(); return [2 /*return*/, response.body]; @@ -9445,7 +9445,7 @@ var Report = /** @class */ (function (_super) { var config = this.config; var reportId = config.id || this.element.getAttribute(Report.reportIdAttribute) || Report.findIdFromEmbedUrl(config.embedUrl); if (typeof reportId !== 'string' || reportId.length === 0) { - throw new Error("Report id is required, but it was not found. You must provide an id either as part of embed configuration or as attribute '" + Report.reportIdAttribute + "'."); + throw new Error("Report id is required, but it was not found. You must provide an id either as part of embed configuration or as attribute '".concat(Report.reportIdAttribute, "'.")); } return reportId; }; @@ -10578,6 +10578,7 @@ var page_1 = __webpack_require__(/*! ./page */ "./src/page.ts"); var qna_1 = __webpack_require__(/*! ./qna */ "./src/qna.ts"); var visual_1 = __webpack_require__(/*! ./visual */ "./src/visual.ts"); var utils = __webpack_require__(/*! ./util */ "./src/util.ts"); +var sdkConfig = __webpack_require__(/*! ./config */ "./src/config.ts"); /** * The Power BI Service embed component, which is the entry point to embed all other Power BI components into your application * @@ -10745,7 +10746,7 @@ var Service = /** @class */ (function () { var _this = this; if (config === void 0) { config = undefined; } container = (container && container instanceof HTMLElement) ? container : document.body; - var elements = Array.prototype.slice.call(container.querySelectorAll("[" + embed_1.Embed.embedUrlAttribute + "]")); + var elements = Array.prototype.slice.call(container.querySelectorAll("[".concat(embed_1.Embed.embedUrlAttribute, "]"))); return elements.map(function (element) { return _this.embed(element, config); }); }; /** @@ -10791,7 +10792,7 @@ var Service = /** @class */ (function () { var powerBiElement = element; if (powerBiElement.powerBiEmbed) { if (isBootstrap) { - throw new Error("Attempted to bootstrap element " + element.outerHTML + ", but the element is already a powerbi element."); + throw new Error("Attempted to bootstrap element ".concat(element.outerHTML, ", but the element is already a powerbi element.")); } component = this.embedExisting(powerBiElement, config, phasedRender); } @@ -10811,6 +10812,14 @@ var Service = /** @class */ (function () { Service.prototype.getSdkSessionId = function () { return this.uniqueSessionId; }; + /** + * Returns the Power BI Client SDK version + * + * @hidden + */ + Service.prototype.getSDKVersion = function () { + return sdkConfig.default.version; + }; /** * Given a configuration based on a Power BI element, saves the component instance that reference the element for later lookup. * @@ -10824,13 +10833,13 @@ var Service = /** @class */ (function () { var componentType = config.type || element.getAttribute(embed_1.Embed.typeAttribute); if (!componentType) { var scrubbedConfig = __assign(__assign({}, config), { accessToken: "" }); - throw new Error("Attempted to embed using config " + JSON.stringify(scrubbedConfig) + " on element " + element.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 '" + embed_1.Embed.typeAttribute + "=\"" + report_1.Report.type.toLowerCase() + "\"'."); + throw new Error("Attempted to embed using config ".concat(JSON.stringify(scrubbedConfig), " on element ").concat(element.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 '").concat(embed_1.Embed.typeAttribute, "=\"").concat(report_1.Report.type.toLowerCase(), "\"'.")); } // Saves the type as part of the configuration so that it can be referenced later at a known location. config.type = componentType; var Component = utils.find(function (embedComponent) { return componentType === embedComponent.type.toLowerCase(); }, Service.components); if (!Component) { - throw new Error("Attempted to embed component of type: " + componentType + " but did not find any matching component. Please verify the type you specified is intended."); + throw new Error("Attempted to embed component of type: ".concat(componentType, " but did not find any matching component. Please verify the type you specified is intended.")); } var component = new Component(this, element, config, phasedRender, isBootstrap); element.powerBiEmbed = component; @@ -10850,7 +10859,7 @@ var Service = /** @class */ (function () { var component = utils.find(function (x) { return x.element === element; }, this.embeds); if (!component) { var scrubbedConfig = __assign(__assign({}, config), { accessToken: "" }); - throw new Error("Attempted to embed using config " + JSON.stringify(scrubbedConfig) + " on element " + element.outerHTML + " which already has embedded component associated, but could not find the existing component 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."); + throw new Error("Attempted to embed using config ".concat(JSON.stringify(scrubbedConfig), " on element ").concat(element.outerHTML, " which already has embedded component associated, but could not find the existing component 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.")); } // TODO: Multiple embedding to the same iframe is not supported in QnA if (config.type && config.type.toLowerCase() === "qna") { @@ -10874,7 +10883,7 @@ var Service = /** @class */ (function () { return report; } var scrubbedConfig = __assign(__assign({}, config), { accessToken: "" }); - 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(scrubbedConfig) + " on element " + element.outerHTML + ", but the existing element contains an embed of type: " + this.config.type + " which does not match the new type: " + config.type); + 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 ".concat(JSON.stringify(scrubbedConfig), " on element ").concat(element.outerHTML, ", but the existing element contains an embed of type: ").concat(this.config.type, " which does not match the new type: ").concat(config.type)); } component.populateConfig(config, /* isBootstrap */ false); component.load(phasedRender); @@ -10902,7 +10911,7 @@ var Service = /** @class */ (function () { Service.prototype.get = function (element) { var powerBiElement = element; if (!powerBiElement.powerBiEmbed) { - throw new Error("You attempted to get an instance of powerbi component associated with element: " + element.outerHTML + " but there was no associated instance."); + throw new Error("You attempted to get an instance of powerbi component associated with element: ".concat(element.outerHTML, " but there was no associated instance.")); } return powerBiElement.powerBiEmbed; }; @@ -11023,7 +11032,7 @@ var Service = /** @class */ (function () { var pageKey = 'newPage'; var page = value[pageKey]; if (!page) { - throw new Error("Page model not found at 'event.value." + pageKey + "'."); + throw new Error("Page model not found at 'event.value.".concat(pageKey, "'.")); } value[pageKey] = new page_1.Page(embed, page.name, page.displayName, true /* isActive */); } @@ -11282,7 +11291,7 @@ exports.raiseCustomEvent = raiseCustomEvent; */ function findIndex(predicate, xs) { if (!Array.isArray(xs)) { - throw new Error("You attempted to call find with second parameter that was not an array. You passed: " + xs); + throw new Error("You attempted to call find with second parameter that was not an array. You passed: ".concat(xs)); } var index; xs.some(function (x, i) { @@ -11657,7 +11666,7 @@ var Visual = /** @class */ (function (_super) { _a.label = 1; case 1: _a.trys.push([1, 3, , 4]); - return [4 /*yield*/, this.service.hpm.get("/report/pages/" + config.pageName + "/visuals", { uid: this.config.uniqueId }, this.iframe.contentWindow)]; + return [4 /*yield*/, this.service.hpm.get("/report/pages/".concat(config.pageName, "/visuals"), { uid: this.config.uniqueId }, this.iframe.contentWindow)]; case 2: response = _a.sent(); embeddedVisuals = response.body.filter(function (pageVisual) { return pageVisual.name === config.visualName; }); @@ -11823,9 +11832,9 @@ var Visual = /** @class */ (function (_super) { case powerbi_models_1.FiltersLevel.Report: return "/report/filters"; case powerbi_models_1.FiltersLevel.Page: - return "/report/pages/" + config.pageName + "/filters"; + return "/report/pages/".concat(config.pageName, "/filters"); default: - return "/report/pages/" + config.pageName + "/visuals/" + config.visualName + "/filters"; + return "/report/pages/".concat(config.pageName, "/visuals/").concat(config.visualName, "/filters"); } }; /** @hidden */ @@ -11926,7 +11935,7 @@ var VisualDescriptor = /** @class */ (function () { switch (_a.label) { case 0: _a.trys.push([0, 2, , 3]); - return [4 /*yield*/, this.page.report.service.hpm.get("/report/pages/" + this.page.name + "/visuals/" + this.name + "/filters", { uid: this.page.report.config.uniqueId }, this.page.report.iframe.contentWindow)]; + return [4 /*yield*/, this.page.report.service.hpm.get("/report/pages/".concat(this.page.name, "/visuals/").concat(this.name, "/filters"), { uid: this.page.report.config.uniqueId }, this.page.report.iframe.contentWindow)]; case 1: response = _a.sent(); return [2 /*return*/, response.body]; @@ -11962,7 +11971,7 @@ var VisualDescriptor = /** @class */ (function () { _a.label = 1; case 1: _a.trys.push([1, 3, , 4]); - return [4 /*yield*/, this.page.report.service.hpm.post("/report/pages/" + this.page.name + "/visuals/" + this.name + "/filters", updateFiltersRequest, { uid: this.page.report.config.uniqueId }, this.page.report.iframe.contentWindow)]; + return [4 /*yield*/, this.page.report.service.hpm.post("/report/pages/".concat(this.page.name, "/visuals/").concat(this.name, "/filters"), updateFiltersRequest, { uid: this.page.report.config.uniqueId }, this.page.report.iframe.contentWindow)]; case 2: return [2 /*return*/, _a.sent()]; case 3: response_2 = _a.sent(); @@ -12009,7 +12018,7 @@ var VisualDescriptor = /** @class */ (function () { switch (_a.label) { case 0: _a.trys.push([0, 2, , 3]); - return [4 /*yield*/, this.page.report.service.hpm.put("/report/pages/" + this.page.name + "/visuals/" + this.name + "/filters", filters, { uid: this.page.report.config.uniqueId }, this.page.report.iframe.contentWindow)]; + return [4 /*yield*/, this.page.report.service.hpm.put("/report/pages/".concat(this.page.name, "/visuals/").concat(this.name, "/filters"), filters, { uid: this.page.report.config.uniqueId }, this.page.report.iframe.contentWindow)]; case 1: return [2 /*return*/, _a.sent()]; case 2: response_3 = _a.sent(); @@ -12045,7 +12054,7 @@ var VisualDescriptor = /** @class */ (function () { _a.label = 1; case 1: _a.trys.push([1, 3, , 4]); - return [4 /*yield*/, this.page.report.service.hpm.post("/report/pages/" + this.page.name + "/visuals/" + this.name + "/exportData", exportDataRequestBody, { uid: this.page.report.config.uniqueId }, this.page.report.iframe.contentWindow)]; + return [4 /*yield*/, this.page.report.service.hpm.post("/report/pages/".concat(this.page.name, "/visuals/").concat(this.name, "/exportData"), exportDataRequestBody, { uid: this.page.report.config.uniqueId }, this.page.report.iframe.contentWindow)]; case 2: response = _a.sent(); return [2 /*return*/, response.body]; @@ -12074,7 +12083,7 @@ var VisualDescriptor = /** @class */ (function () { switch (_a.label) { case 0: _a.trys.push([0, 2, , 3]); - return [4 /*yield*/, this.page.report.service.hpm.put("/report/pages/" + this.page.name + "/visuals/" + this.name + "/slicer", state, { uid: this.page.report.config.uniqueId }, this.page.report.iframe.contentWindow)]; + return [4 /*yield*/, this.page.report.service.hpm.put("/report/pages/".concat(this.page.name, "/visuals/").concat(this.name, "/slicer"), state, { uid: this.page.report.config.uniqueId }, this.page.report.iframe.contentWindow)]; case 1: return [2 /*return*/, _a.sent()]; case 2: response_5 = _a.sent(); @@ -12102,7 +12111,7 @@ var VisualDescriptor = /** @class */ (function () { switch (_a.label) { case 0: _a.trys.push([0, 2, , 3]); - return [4 /*yield*/, this.page.report.service.hpm.get("/report/pages/" + this.page.name + "/visuals/" + this.name + "/slicer", { uid: this.page.report.config.uniqueId }, this.page.report.iframe.contentWindow)]; + return [4 /*yield*/, this.page.report.service.hpm.get("/report/pages/".concat(this.page.name, "/visuals/").concat(this.name, "/slicer"), { uid: this.page.report.config.uniqueId }, this.page.report.iframe.contentWindow)]; case 1: response = _a.sent(); return [2 /*return*/, response.body]; @@ -12127,7 +12136,7 @@ var VisualDescriptor = /** @class */ (function () { switch (_a.label) { case 0: _a.trys.push([0, 2, , 3]); - return [4 /*yield*/, this.page.report.service.hpm.post("/report/pages/" + this.page.name + "/visuals/" + this.name + "/clone", request, { uid: this.page.report.config.uniqueId }, this.page.report.iframe.contentWindow)]; + return [4 /*yield*/, this.page.report.service.hpm.post("/report/pages/".concat(this.page.name, "/visuals/").concat(this.name, "/clone"), request, { uid: this.page.report.config.uniqueId }, this.page.report.iframe.contentWindow)]; case 1: response = _a.sent(); return [2 /*return*/, response.body]; @@ -12156,7 +12165,7 @@ var VisualDescriptor = /** @class */ (function () { switch (_a.label) { case 0: _a.trys.push([0, 2, , 3]); - return [4 /*yield*/, this.page.report.service.hpm.put("/report/pages/" + this.page.name + "/visuals/" + this.name + "/sortBy", request, { uid: this.page.report.config.uniqueId }, this.page.report.iframe.contentWindow)]; + return [4 /*yield*/, this.page.report.service.hpm.put("/report/pages/".concat(this.page.name, "/visuals/").concat(this.name, "/sortBy"), request, { uid: this.page.report.config.uniqueId }, this.page.report.iframe.contentWindow)]; case 1: return [2 /*return*/, _a.sent()]; case 2: response_8 = _a.sent(); diff --git a/dist/powerbi.min.js b/dist/powerbi.min.js index 5ffef31b..a164467e 100644 --- a/dist/powerbi.min.js +++ b/dist/powerbi.min.js @@ -1,7 +1,7 @@ // powerbi-client v2.19.1 // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. -!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){var e={};function r(i){if(e[i])return e[i].exports;var a=e[i]={i:i,l:!1,exports:{}};return t[i].call(a.exports,a,a.exports,r),a.l=!0,a.exports}return r.m=t,r.c=e,r.d=function(t,e,i){r.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:i})},r.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},r.t=function(t,e){if(1&e&&(t=r(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var i=Object.create(null);if(r.r(i),Object.defineProperty(i,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var a in t)r.d(i,a,function(e){return t[e]}.bind(null,a));return i},r.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return r.d(e,"a",e),e},r.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},r.p="",r(r.s=13)}([function(t,e,r){var i;i=function(){return function(t){var e={};function r(i){if(e[i])return e[i].exports;var a=e[i]={i:i,l:!1,exports:{}};return t[i].call(a.exports,a,a.exports,r),a.l=!0,a.exports}return r.m=t,r.c=e,r.d=function(t,e,i){r.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:i})},r.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},r.t=function(t,e){if(1&e&&(t=r(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var i=Object.create(null);if(r.r(i),Object.defineProperty(i,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var a in t)r.d(i,a,function(e){return t[e]}.bind(null,a));return i},r.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return r.d(e,"a",e),e},r.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},r.p="",r(r.s=0)}([function(t,e,r){var i,a=this&&this.__extends||(i=function(t,e){return(i=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])})(t,e)},function(t,e){function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.validateZoomLevel=e.validateCustomTheme=e.validateCommandsSettings=e.validateVisualSettings=e.validateVisualHeader=e.validateExportDataRequest=e.validateQnaInterpretInputData=e.validateLoadQnaConfiguration=e.validateSaveAsParameters=e.validateUpdateFiltersRequest=e.validateFilter=e.validatePage=e.validateTileLoad=e.validateDashboardLoad=e.validateCreateReport=e.validatePaginatedReportLoad=e.validateReportLoad=e.validateMenuGroupExtension=e.validateExtension=e.validateCustomPageSize=e.validateVisualizationsPane=e.validateSyncSlicersPane=e.validateSelectionPane=e.validatePageNavigationPane=e.validateFieldsPane=e.validateFiltersPane=e.validateBookmarksPane=e.validatePanes=e.validateSettings=e.validateCaptureBookmarkRequest=e.validateApplyBookmarkStateRequest=e.validateApplyBookmarkByNameRequest=e.validateAddBookmarkRequest=e.validatePlayBookmarkRequest=e.validateSlicerState=e.validateSlicer=e.validateVisualSelector=e.isIExtensionArray=e.isIExtensions=e.isGroupedMenuExtension=e.isFlatMenuExtension=e.isReportFiltersArray=e.isOnLoadFilters=e.VisualDataRoleKindPreference=e.VisualDataRoleKind=e.CommandDisplayOption=e.SlicerTargetSelector=e.VisualTypeSelector=e.VisualSelector=e.PageSelector=e.Selector=e.SortDirection=e.LegendPosition=e.TextAlignment=e.CommonErrorCodes=e.BookmarksPlayMode=e.ExportDataType=e.QnaMode=e.PageNavigationPosition=e.isColumnAggr=e.isHierarchyLevelAggr=e.isHierarchyLevel=e.isColumn=e.isMeasure=e.getFilterType=e.isBasicFilterWithKeys=e.isFilterKeyColumnsTarget=e.AdvancedFilter=e.TupleFilter=e.IdentityFilter=e.BasicFilterWithKeys=e.BasicFilter=e.RelativeTimeFilter=e.RelativeDateFilter=e.TopNFilter=e.IncludeExcludeFilter=e.NotSupportedFilter=e.Filter=e.RelativeDateOperators=e.RelativeDateFilterTimeUnit=e.FilterType=e.FiltersLevel=e.FiltersOperations=e.MenuLocation=e.ContrastMode=e.TokenType=e.ViewMode=e.Permissions=e.SectionVisibility=e.ReportAlignment=e.HyperlinkClickBehavior=e.LayoutType=e.VisualContainerDisplayMode=e.BackgroundType=e.DisplayOption=e.PageSizeType=e.TraceType=void 0;var o,n=r(1);!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"}(e.TraceType||(e.TraceType={})),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",t[t.Mobile=5]="Mobile"}(e.PageSizeType||(e.PageSizeType={})),function(t){t[t.FitToPage=0]="FitToPage",t[t.FitToWidth=1]="FitToWidth",t[t.ActualSize=2]="ActualSize"}(e.DisplayOption||(e.DisplayOption={})),function(t){t[t.Default=0]="Default",t[t.Transparent=1]="Transparent"}(e.BackgroundType||(e.BackgroundType={})),function(t){t[t.Visible=0]="Visible",t[t.Hidden=1]="Hidden"}(e.VisualContainerDisplayMode||(e.VisualContainerDisplayMode={})),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={})),function(t){t[t.Navigate=0]="Navigate",t[t.NavigateAndRaiseEvent=1]="NavigateAndRaiseEvent",t[t.RaiseEvent=2]="RaiseEvent"}(e.HyperlinkClickBehavior||(e.HyperlinkClickBehavior={})),function(t){t[t.Left=0]="Left",t[t.Center=1]="Center",t[t.Right=2]="Right",t[t.None=3]="None"}(e.ReportAlignment||(e.ReportAlignment={})),function(t){t[t.AlwaysVisible=0]="AlwaysVisible",t[t.HiddenInViewMode=1]="HiddenInViewMode"}(e.SectionVisibility||(e.SectionVisibility={})),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"}(e.Permissions||(e.Permissions={})),function(t){t[t.View=0]="View",t[t.Edit=1]="Edit"}(e.ViewMode||(e.ViewMode={})),function(t){t[t.Aad=0]="Aad",t[t.Embed=1]="Embed"}(e.TokenType||(e.TokenType={})),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"}(e.ContrastMode||(e.ContrastMode={})),function(t){t[t.Bottom=0]="Bottom",t[t.Top=1]="Top"}(e.MenuLocation||(e.MenuLocation={})),function(t){t[t.RemoveAll=0]="RemoveAll",t[t.ReplaceAll=1]="ReplaceAll",t[t.Add=2]="Add",t[t.Replace=3]="Replace"}(e.FiltersOperations||(e.FiltersOperations={})),function(t){t[t.Report=0]="Report",t[t.Page=1]="Page",t[t.Visual=2]="Visual"}(e.FiltersLevel||(e.FiltersLevel={})),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",t[t.Identity=8]="Identity"}(o=e.FilterType||(e.FilterType={})),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"}(e.RelativeDateFilterTimeUnit||(e.RelativeDateFilterTimeUnit={})),function(t){t[t.InLast=0]="InLast",t[t.InThis=1]="InThis",t[t.InNext=2]="InNext"}(e.RelativeDateOperators||(e.RelativeDateOperators={}));var l=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=l;var s=function(t){function e(r,i,a){var n=t.call(this,r,o.Unknown)||this;return n.message=i,n.notSupportedTypeName=a,n.schemaUrl=e.schemaUrl,n}return a(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}(l);e.NotSupportedFilter=s;var u=function(t){function e(r,i,a){var n=t.call(this,r,o.IncludeExclude)||this;return n.values=a,n.isExclude=i,n.schemaUrl=e.schemaUrl,n}return a(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}(l);e.IncludeExcludeFilter=u;var d=function(t){function e(r,i,a,n){var l=t.call(this,r,o.TopN)||this;return l.operator=i,l.itemCount=a,l.schemaUrl=e.schemaUrl,l.orderBy=n,l}return a(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}(l);e.TopNFilter=d;var c=function(t){function e(r,i,a,n,l){var s=t.call(this,r,o.RelativeDate)||this;return s.operator=i,s.timeUnitsCount=a,s.timeUnitType=n,s.includeToday=l,s.schemaUrl=e.schemaUrl,s}return a(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}(l);e.RelativeDateFilter=c;var p=function(t){function e(r,i,a,n){var l=t.call(this,r,o.RelativeTime)||this;return l.operator=i,l.timeUnitsCount=a,l.timeUnitType=n,l.schemaUrl=e.schemaUrl,l}return a(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}(l);e.RelativeTimeFilter=p;var f=function(t){function e(r,i){for(var a=[],n=2;n0&&!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,s=o.keyValues;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 s.conditions=l,s}return a(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}(l);function V(t){if(t.filterType)return t.filterType;var e=t,r=t;return"string"==typeof e.operator&&Array.isArray(e.values)?o.Basic:"string"==typeof r.logicalOperator&&Array.isArray(r.conditions)?o.Advanced:o.Unknown}function g(t){return!(!t.table||!t.column||t.aggregationFunction)}e.AdvancedFilter=m,e.isFilterKeyColumnsTarget=function(t){return g(t)&&!!t.keys},e.isBasicFilterWithKeys=function(t){return V(t)===o.Basic&&!!t.keyValues},e.getFilterType=V,e.isMeasure=function(t){return void 0!==t.table&&void 0!==t.measure},e.isColumn=g,e.isHierarchyLevel=function(t){return!(!(t.table&&t.hierarchy&&t.hierarchyLevel)||t.aggregationFunction)},e.isHierarchyLevelAggr=function(t){return!!(t.table&&t.hierarchy&&t.hierarchyLevel&&t.aggregationFunction)},e.isColumnAggr=function(t){return!!(t.table&&t.column&&t.aggregationFunction)},function(t){t[t.Bottom=0]="Bottom",t[t.Left=1]="Left"}(e.PageNavigationPosition||(e.PageNavigationPosition={})),function(t){t[t.Interactive=0]="Interactive",t[t.ResultOnly=1]="ResultOnly"}(e.QnaMode||(e.QnaMode={})),function(t){t[t.Summarized=0]="Summarized",t[t.Underlying=1]="Underlying"}(e.ExportDataType||(e.ExportDataType={})),function(t){t[t.Off=0]="Off",t[t.Presentation=1]="Presentation"}(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"},function(t){t[t.Ascending=1]="Ascending",t[t.Descending=2]="Descending"}(e.SortDirection||(e.SortDirection={}));var b=function(){function t(t){this.$schema=t}return t.prototype.toJSON=function(){return{$schema:this.$schema}},t}();e.Selector=b;var w=function(t){function e(r){var i=t.call(this,e.schemaUrl)||this;return i.pageName=r,i}return a(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}(b);e.PageSelector=w;var P=function(t){function e(r){var i=t.call(this,e.schemaUrl)||this;return i.visualName=r,i}return a(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}(b);e.VisualSelector=P;var _=function(t){function e(e){var r=t.call(this,P.schemaUrl)||this;return r.visualType=e,r}return a(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}(b);e.VisualTypeSelector=_;var O=function(t){function e(e){var r=t.call(this,P.schemaUrl)||this;return r.target=e,r}return a(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}(b);function S(t){return Array.isArray(t)}function T(t){return t&&!!t.groupName}function E(t){return Array.isArray(t)}function F(t){var e=t.message;return e||(e=t.path+" is invalid. Not meeting "+t.keyword+" constraint"),{message:e}}e.SlicerTargetSelector=O,function(t){t[t.Enabled=0]="Enabled",t[t.Disabled=1]="Disabled",t[t.Hidden=2]="Hidden"}(e.CommandDisplayOption||(e.CommandDisplayOption={})),function(t){t[t.Grouping=0]="Grouping",t[t.Measure=1]="Measure",t[t.GroupingOrMeasure=2]="GroupingOrMeasure"}(e.VisualDataRoleKind||(e.VisualDataRoleKind={})),function(t){t[t.Measure=0]="Measure",t[t.Grouping=1]="Grouping"}(e.VisualDataRoleKindPreference||(e.VisualDataRoleKindPreference={})),e.isOnLoadFilters=function(t){return t&&!S(t)},e.isReportFiltersArray=S,e.isFlatMenuExtension=function(t){return t&&!T(t)},e.isGroupedMenuExtension=T,e.isIExtensions=function(t){return t&&!E(t)},e.isIExtensionArray=E,e.validateVisualSelector=function(t){var e=n.Validators.visualSelectorValidator.validate(t);return e?e.map(F):void 0},e.validateSlicer=function(t){var e=n.Validators.slicerValidator.validate(t);return e?e.map(F):void 0},e.validateSlicerState=function(t){var e=n.Validators.slicerStateValidator.validate(t);return e?e.map(F):void 0},e.validatePlayBookmarkRequest=function(t){var e=n.Validators.playBookmarkRequestValidator.validate(t);return e?e.map(F):void 0},e.validateAddBookmarkRequest=function(t){var e=n.Validators.addBookmarkRequestValidator.validate(t);return e?e.map(F):void 0},e.validateApplyBookmarkByNameRequest=function(t){var e=n.Validators.applyBookmarkByNameRequestValidator.validate(t);return e?e.map(F):void 0},e.validateApplyBookmarkStateRequest=function(t){var e=n.Validators.applyBookmarkStateRequestValidator.validate(t);return e?e.map(F):void 0},e.validateCaptureBookmarkRequest=function(t){var e=n.Validators.captureBookmarkRequestValidator.validate(t);return e?e.map(F):void 0},e.validateSettings=function(t){var e=n.Validators.settingsValidator.validate(t);return e?e.map(F):void 0},e.validatePanes=function(t){var e=n.Validators.reportPanesValidator.validate(t);return e?e.map(F):void 0},e.validateBookmarksPane=function(t){var e=n.Validators.bookmarksPaneValidator.validate(t);return e?e.map(F):void 0},e.validateFiltersPane=function(t){var e=n.Validators.filtersPaneValidator.validate(t);return e?e.map(F):void 0},e.validateFieldsPane=function(t){var e=n.Validators.fieldsPaneValidator.validate(t);return e?e.map(F):void 0},e.validatePageNavigationPane=function(t){var e=n.Validators.pageNavigationPaneValidator.validate(t);return e?e.map(F):void 0},e.validateSelectionPane=function(t){var e=n.Validators.selectionPaneValidator.validate(t);return e?e.map(F):void 0},e.validateSyncSlicersPane=function(t){var e=n.Validators.syncSlicersPaneValidator.validate(t);return e?e.map(F):void 0},e.validateVisualizationsPane=function(t){var e=n.Validators.visualizationsPaneValidator.validate(t);return e?e.map(F):void 0},e.validateCustomPageSize=function(t){var e=n.Validators.customPageSizeValidator.validate(t);return e?e.map(F):void 0},e.validateExtension=function(t){var e=n.Validators.extensionValidator.validate(t);return e?e.map(F):void 0},e.validateMenuGroupExtension=function(t){var e=n.Validators.menuGroupExtensionValidator.validate(t);return e?e.map(F):void 0},e.validateReportLoad=function(t){var e=n.Validators.reportLoadValidator.validate(t);return e?e.map(F):void 0},e.validatePaginatedReportLoad=function(t){var e=n.Validators.paginatedReportLoadValidator.validate(t);return e?e.map(F):void 0},e.validateCreateReport=function(t){var e=n.Validators.reportCreateValidator.validate(t);return e?e.map(F):void 0},e.validateDashboardLoad=function(t){var e=n.Validators.dashboardLoadValidator.validate(t);return e?e.map(F):void 0},e.validateTileLoad=function(t){var e=n.Validators.tileLoadValidator.validate(t);return e?e.map(F):void 0},e.validatePage=function(t){var e=n.Validators.pageValidator.validate(t);return e?e.map(F):void 0},e.validateFilter=function(t){var e=n.Validators.filterValidator.validate(t);return e?e.map(F):void 0},e.validateUpdateFiltersRequest=function(t){var e=n.Validators.updateFiltersRequestValidator.validate(t);return e?e.map(F):void 0},e.validateSaveAsParameters=function(t){var e=n.Validators.saveAsParametersValidator.validate(t);return e?e.map(F):void 0},e.validateLoadQnaConfiguration=function(t){var e=n.Validators.loadQnaValidator.validate(t);return e?e.map(F):void 0},e.validateQnaInterpretInputData=function(t){var e=n.Validators.qnaInterpretInputDataValidator.validate(t);return e?e.map(F):void 0},e.validateExportDataRequest=function(t){var e=n.Validators.exportDataRequestValidator.validate(t);return e?e.map(F):void 0},e.validateVisualHeader=function(t){var e=n.Validators.visualHeaderValidator.validate(t);return e?e.map(F):void 0},e.validateVisualSettings=function(t){var e=n.Validators.visualSettingsValidator.validate(t);return e?e.map(F):void 0},e.validateCommandsSettings=function(t){var e=n.Validators.commandsSettingsValidator.validate(t);return e?e.map(F):void 0},e.validateCustomTheme=function(t){var e=n.Validators.customThemeValidator.validate(t);return e?e.map(F):void 0},e.validateZoomLevel=function(t){var e=n.Validators.zoomLevelValidator.validate(t);return e?e.map(F):void 0}},function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.Validators=void 0;var i=r(2),a=r(5),o=r(6),n=r(7),l=r(8),s=r(9),u=r(10),d=r(11),c=r(12),p=r(13),f=r(14),h=r(15),v=r(16),y=r(17),m=r(18),V=r(19),g=r(20),b=r(21),w=r(22),P=r(23),_=r(24),O=r(25),S=r(26),T=r(27),E=r(28),F=r(29),R=r(4),x=r(30);e.Validators={addBookmarkRequestValidator:new a.AddBookmarkRequestValidator,advancedFilterTypeValidator:new R.EnumValidator([0]),advancedFilterValidator:new c.AdvancedFilterValidator,anyArrayValidator:new R.ArrayValidator([new S.AnyOfValidator([new R.StringValidator,new R.NumberValidator,new R.BooleanValidator])]),anyFilterValidator:new S.AnyOfValidator([new c.BasicFilterValidator,new c.AdvancedFilterValidator,new c.IncludeExcludeFilterValidator,new c.NotSupportedFilterValidator,new c.RelativeDateFilterValidator,new c.TopNFilterValidator,new c.RelativeTimeFilterValidator]),anyValueValidator:new S.AnyOfValidator([new R.StringValidator,new R.NumberValidator,new R.BooleanValidator]),actionBarValidator:new i.ActionBarValidator,applyBookmarkByNameRequestValidator:new a.ApplyBookmarkByNameRequestValidator,applyBookmarkStateRequestValidator:new a.ApplyBookmarkStateRequestValidator,applyBookmarkValidator:new S.AnyOfValidator([new a.ApplyBookmarkByNameRequestValidator,new a.ApplyBookmarkStateRequestValidator]),backgroundValidator:new R.EnumValidator([0,1]),basicFilterTypeValidator:new R.EnumValidator([1]),basicFilterValidator:new c.BasicFilterValidator,booleanArrayValidator:new R.BooleanArrayValidator,booleanValidator:new R.BooleanValidator,bookmarksPaneValidator:new h.BookmarksPaneValidator,captureBookmarkOptionsValidator:new a.CaptureBookmarkOptionsValidator,captureBookmarkRequestValidator:new a.CaptureBookmarkRequestValidator,commandDisplayOptionValidator:new R.EnumValidator([0,1,2]),commandExtensionSelectorValidator:new S.AnyOfValidator([new b.VisualSelectorValidator,new b.VisualTypeSelectorValidator]),commandExtensionArrayValidator:new R.ArrayValidator([new d.CommandExtensionValidator]),commandExtensionValidator:new d.CommandExtensionValidator,commandsSettingsArrayValidator:new R.ArrayValidator([new o.CommandsSettingsValidator]),commandsSettingsValidator:new o.CommandsSettingsValidator,conditionItemValidator:new c.ConditionItemValidator,contrastModeValidator:new R.EnumValidator([0,1,2,3,4]),customLayoutDisplayOptionValidator:new R.EnumValidator([0,1,2]),customLayoutValidator:new p.CustomLayoutValidator,customPageSizeValidator:new f.CustomPageSizeValidator,customThemeValidator:new n.CustomThemeValidator,dashboardLoadValidator:new l.DashboardLoadValidator,datasetBindingValidator:new s.DatasetBindingValidator,displayStateModeValidator:new R.EnumValidator([0,1]),displayStateValidator:new p.DisplayStateValidator,exportDataRequestValidator:new u.ExportDataRequestValidator,extensionArrayValidator:new R.ArrayValidator([new d.ExtensionValidator]),extensionsValidator:new S.AnyOfValidator([new R.ArrayValidator([new d.ExtensionValidator]),new d.ExtensionsValidator]),extensionPointsValidator:new d.ExtensionPointsValidator,extensionValidator:new d.ExtensionValidator,fieldForbiddenValidator:new T.FieldForbiddenValidator,fieldRequiredValidator:new E.FieldRequiredValidator,fieldsPaneValidator:new h.FieldsPaneValidator,filterColumnTargetValidator:new c.FilterColumnTargetValidator,filterDisplaySettingsValidator:new c.FilterDisplaySettingsValidator,filterConditionsValidator:new R.ArrayValidator([new c.ConditionItemValidator]),filterHierarchyTargetValidator:new c.FilterHierarchyTargetValidator,filterMeasureTargetValidator:new c.FilterMeasureTargetValidator,filterTargetValidator:new S.AnyOfValidator([new c.FilterColumnTargetValidator,new c.FilterHierarchyTargetValidator,new c.FilterMeasureTargetValidator]),filterValidator:new c.FilterValidator,filterTypeValidator:new R.EnumValidator([0,1,2,3,4,5,6,7]),filtersArrayValidator:new R.ArrayValidator([new c.FilterValidator]),filtersOperationsUpdateValidator:new R.EnumValidator([1,2,3]),filtersOperationsRemoveAllValidator:new R.EnumValidator([0]),filtersPaneValidator:new h.FiltersPaneValidator,hyperlinkClickBehaviorValidator:new R.EnumValidator([0,1,2]),includeExcludeFilterValidator:new c.IncludeExcludeFilterValidator,includeExludeFilterTypeValidator:new R.EnumValidator([3]),layoutTypeValidator:new R.EnumValidator([0,1,2,3]),loadQnaValidator:new v.LoadQnaValidator,menuExtensionValidator:new S.AnyOfValidator([new d.FlatMenuExtensionValidator,new d.GroupedMenuExtensionValidator]),menuGroupExtensionArrayValidator:new R.ArrayValidator([new d.MenuGroupExtensionValidator]),menuGroupExtensionValidator:new d.MenuGroupExtensionValidator,menuLocationValidator:new R.EnumValidator([0,1]),notSupportedFilterTypeValidator:new R.EnumValidator([2]),notSupportedFilterValidator:new c.NotSupportedFilterValidator,numberArrayValidator:new R.NumberArrayValidator,numberValidator:new R.NumberValidator,onLoadFiltersBaseValidator:new S.AnyOfValidator([new c.OnLoadFiltersBaseValidator,new c.OnLoadFiltersBaseRemoveOperationValidator]),pageLayoutValidator:new F.MapValidator([new R.StringValidator],[new p.VisualLayoutValidator]),pageNavigationPaneValidator:new h.PageNavigationPaneValidator,pageNavigationPositionValidator:new R.EnumValidator([0,1]),pageSizeTypeValidator:new R.EnumValidator([0,1,2,3,4,5]),pageSizeValidator:new f.PageSizeValidator,pageValidator:new f.PageValidator,pageViewFieldValidator:new f.PageViewFieldValidator,pagesLayoutValidator:new F.MapValidator([new R.StringValidator],[new p.PageLayoutValidator]),paginatedReportCommandsValidator:new o.PaginatedReportCommandsValidator,paginatedReportLoadValidator:new V.PaginatedReportLoadValidator,paginatedReportsettingsValidator:new w.PaginatedReportSettingsValidator,parametersPanelValidator:new x.ParametersPanelValidator,permissionsValidator:new R.EnumValidator([0,1,2,4,7]),playBookmarkRequestValidator:new a.PlayBookmarkRequestValidator,qnaInterpretInputDataValidator:new v.QnaInterpretInputDataValidator,qnaPanesValidator:new h.QnaPanesValidator,qnaSettingValidator:new v.QnaSettingsValidator,relativeDateFilterOperatorValidator:new R.EnumValidator([0,1,2]),relativeDateFilterTimeUnitTypeValidator:new R.EnumValidator([0,1,2,3,4,5,6]),relativeDateFilterTypeValidator:new R.EnumValidator([4]),relativeDateFilterValidator:new c.RelativeDateFilterValidator,relativeDateTimeFilterTypeValidator:new R.EnumValidator([4,7]),relativeDateTimeFilterUnitTypeValidator:new R.EnumValidator([0,1,2,3,4,5,6,7,8]),relativeTimeFilterTimeUnitTypeValidator:new R.EnumValidator([7,8]),relativeTimeFilterTypeValidator:new R.EnumValidator([7]),relativeTimeFilterValidator:new c.RelativeTimeFilterValidator,reportBarsValidator:new i.ReportBarsValidator,reportCreateValidator:new y.ReportCreateValidator,reportLoadFiltersValidator:new S.AnyOfValidator([new R.ArrayValidator([new c.FilterValidator]),new c.OnLoadFiltersValidator]),reportLoadValidator:new m.ReportLoadValidator,reportPanesValidator:new h.ReportPanesValidator,saveAsParametersValidator:new g.SaveAsParametersValidator,selectionPaneValidator:new h.SelectionPaneValidator,settingsValidator:new w.SettingsValidator,singleCommandSettingsValidator:new o.SingleCommandSettingsValidator,slicerSelectorValidator:new S.AnyOfValidator([new b.VisualSelectorValidator,new b.SlicerTargetSelectorValidator]),slicerStateValidator:new P.SlicerStateValidator,slicerTargetValidator:new S.AnyOfValidator([new c.FilterColumnTargetValidator,new c.FilterHierarchyTargetValidator,new c.FilterMeasureTargetValidator,new c.FilterKeyColumnsTargetValidator,new c.FilterKeyHierarchyTargetValidator]),slicerValidator:new P.SlicerValidator,stringArrayValidator:new R.StringArrayValidator,stringValidator:new R.StringValidator,syncSlicersPaneValidator:new h.SyncSlicersPaneValidator,tileLoadValidator:new _.TileLoadValidator,tokenTypeValidator:new R.EnumValidator([0,1]),topNFilterTypeValidator:new R.EnumValidator([5]),topNFilterValidator:new c.TopNFilterValidator,updateFiltersRequestValidator:new S.AnyOfValidator([new c.UpdateFiltersRequestValidator,new c.RemoveFiltersRequestValidator]),viewModeValidator:new R.EnumValidator([0,1]),visualCommandSelectorValidator:new S.AnyOfValidator([new b.VisualSelectorValidator,new b.VisualTypeSelectorValidator]),visualHeaderSelectorValidator:new S.AnyOfValidator([new b.VisualSelectorValidator,new b.VisualTypeSelectorValidator]),visualHeaderSettingsValidator:new O.VisualHeaderSettingsValidator,visualHeaderValidator:new O.VisualHeaderValidator,visualHeadersValidator:new R.ArrayValidator([new O.VisualHeaderValidator]),visualizationsPaneValidator:new h.VisualizationsPaneValidator,visualLayoutValidator:new p.VisualLayoutValidator,visualSelectorValidator:new b.VisualSelectorValidator,visualSettingsValidator:new O.VisualSettingsValidator,visualTypeSelectorValidator:new b.VisualTypeSelectorValidator,zoomLevelValidator:new R.RangeValidator(.25,4)}},function(t,e,r){var i,a=this&&this.__extends||(i=function(t,e){return(i=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])})(t,e)},function(t,e){function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.ActionBarValidator=e.ReportBarsValidator=void 0;var o=r(3),n=r(4),l=r(1),s=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return a(e,t),e.prototype.validate=function(e,r,i){if(null==e)return null;var a=t.prototype.validate.call(this,e,r,i);if(a)return a;var n=[{field:"actionBar",validators:[l.Validators.actionBarValidator]}];return new o.MultipleFieldsValidator(n).validate(e,r,i)},e}(n.ObjectValidator);e.ReportBarsValidator=s;var u=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return a(e,t),e.prototype.validate=function(e,r,i){if(null==e)return null;var a=t.prototype.validate.call(this,e,r,i);if(a)return a;var n=[{field:"visible",validators:[l.Validators.booleanValidator]}];return new o.MultipleFieldsValidator(n).validate(e,r,i)},e}(n.ObjectValidator);e.ActionBarValidator=u},function(t,e){Object.defineProperty(e,"__esModule",{value:!0}),e.MultipleFieldsValidator=void 0;var r=function(){function t(t){this.fieldValidatorsPairs=t}return t.prototype.validate=function(t,e,r){if(!this.fieldValidatorsPairs)return null;for(var i=e?e+"."+r:r,a=0,o=this.fieldValidatorsPairs;athis.maxValue||e0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0?"&":"?";return t+=i+e+"="+r},e.isSavedInternal=function(t,e,a){return r(this,void 0,void 0,(function(){return i(this,(function(r){switch(r.label){case 0:return r.trys.push([0,2,,3]),[4,t.get("/report/hasUnsavedChanges",{uid:e},a)];case 1:return[2,!r.sent().body];case 2:throw r.sent().body;case 3:return[2]}}))}))},e.isRDLEmbed=function(t){return t&&t.toLowerCase().indexOf("/rdlembed?")>=0},e.autoAuthInEmbedUrl=function(t){return t&&decodeURIComponent(t).toLowerCase().indexOf("autoauth=true")>=0},e.getRandomValue=o,e.getTimeDiffInMilliseconds=function(t,e){return Math.abs(t.getTime()-e.getTime())}},function(t,e){Object.defineProperty(e,"__esModule",{value:!0}),e.FilterBuilder=void 0;var r=function(){function t(){}return t.prototype.withTargetObject=function(t){return this.target=t,this},t.prototype.withColumnTarget=function(t,e){return this.target={table:t,column:e},this},t.prototype.withMeasureTarget=function(t,e){return this.target={table:t,measure:e},this},t.prototype.withHierarchyLevelTarget=function(t,e,r){return this.target={table:t,hierarchy:e,hierarchyLevel:r},this},t.prototype.withColumnAggregation=function(t,e,r){return this.target={table:t,column:e,aggregationFunction:r},this},t.prototype.withHierarchyLevelAggregationTarget=function(t,e,r,i){return this.target={table:t,hierarchy:e,hierarchyLevel:r,aggregationFunction:i},this},t}();e.FilterBuilder=r},function(t,e){Object.defineProperty(e,"__esModule",{value:!0}),e.EmbedUrlNotSupported=e.APINotSupportedForRDLError=void 0,e.APINotSupportedForRDLError="This API is currently not supported for RDL reports",e.EmbedUrlNotSupported="Embed URL is invalid for this scenario. Please use Power BI REST APIs to get the valid URL"},function(t,e,r){var i,a=this&&this.__extends||(i=function(t,e){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])})(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}),o=this&&this.__awaiter||function(t,e,r,i){return new(r||(r=Promise))((function(a,o){function n(t){try{s(i.next(t))}catch(t){o(t)}}function l(t){try{s(i.throw(t))}catch(t){o(t)}}function s(t){var e;t.done?a(t.value):(e=t.value,e instanceof r?e:new r((function(t){t(e)}))).then(n,l)}s((i=i.apply(t,e||[])).next())}))},n=this&&this.__generator||function(t,e){var r,i,a,o,n={label:0,sent:function(){if(1&a[0])throw a[1];return a[1]},trys:[],ops:[]};return o={next:l(0),throw:l(1),return:l(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function l(o){return function(l){return function(o){if(r)throw new TypeError("Generator is already executing.");for(;n;)try{if(r=1,i&&(a=2&o[0]?i.return:o[0]?i.throw||((a=i.return)&&a.call(i),0):i.next)&&!(a=a.call(i,o[1])).done)return a;switch(i=0,a&&(o=[2&o[0],a.value]),o[0]){case 0:case 1:a=o;break;case 4:return n.label++,{value:o[1],done:!1};case 5:n.label++,i=o[1],o=[0];continue;case 7:o=n.ops.pop(),n.trys.pop();continue;default:if(!(a=n.trys,(a=a.length>0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&!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,s=o.keyValues;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 s.conditions=l,s}return a(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}(l);function V(t){if(t.filterType)return t.filterType;var e=t,r=t;return"string"==typeof e.operator&&Array.isArray(e.values)?o.Basic:"string"==typeof r.logicalOperator&&Array.isArray(r.conditions)?o.Advanced:o.Unknown}function g(t){return!(!t.table||!t.column||t.aggregationFunction)}e.AdvancedFilter=m,e.isFilterKeyColumnsTarget=function(t){return g(t)&&!!t.keys},e.isBasicFilterWithKeys=function(t){return V(t)===o.Basic&&!!t.keyValues},e.getFilterType=V,e.isMeasure=function(t){return void 0!==t.table&&void 0!==t.measure},e.isColumn=g,e.isHierarchyLevel=function(t){return!(!(t.table&&t.hierarchy&&t.hierarchyLevel)||t.aggregationFunction)},e.isHierarchyLevelAggr=function(t){return!!(t.table&&t.hierarchy&&t.hierarchyLevel&&t.aggregationFunction)},e.isColumnAggr=function(t){return!!(t.table&&t.column&&t.aggregationFunction)},function(t){t[t.Bottom=0]="Bottom",t[t.Left=1]="Left"}(e.PageNavigationPosition||(e.PageNavigationPosition={})),function(t){t[t.Interactive=0]="Interactive",t[t.ResultOnly=1]="ResultOnly"}(e.QnaMode||(e.QnaMode={})),function(t){t[t.Summarized=0]="Summarized",t[t.Underlying=1]="Underlying"}(e.ExportDataType||(e.ExportDataType={})),function(t){t[t.Off=0]="Off",t[t.Presentation=1]="Presentation"}(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"},function(t){t[t.Ascending=1]="Ascending",t[t.Descending=2]="Descending"}(e.SortDirection||(e.SortDirection={}));var b=function(){function t(t){this.$schema=t}return t.prototype.toJSON=function(){return{$schema:this.$schema}},t}();e.Selector=b;var w=function(t){function e(r){var i=t.call(this,e.schemaUrl)||this;return i.pageName=r,i}return a(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}(b);e.PageSelector=w;var P=function(t){function e(r){var i=t.call(this,e.schemaUrl)||this;return i.visualName=r,i}return a(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}(b);e.VisualSelector=P;var _=function(t){function e(e){var r=t.call(this,P.schemaUrl)||this;return r.visualType=e,r}return a(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}(b);e.VisualTypeSelector=_;var O=function(t){function e(e){var r=t.call(this,P.schemaUrl)||this;return r.target=e,r}return a(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}(b);function S(t){return Array.isArray(t)}function T(t){return t&&!!t.groupName}function E(t){return Array.isArray(t)}function F(t){var e=t.message;return e||(e=t.path+" is invalid. Not meeting "+t.keyword+" constraint"),{message:e}}e.SlicerTargetSelector=O,function(t){t[t.Enabled=0]="Enabled",t[t.Disabled=1]="Disabled",t[t.Hidden=2]="Hidden"}(e.CommandDisplayOption||(e.CommandDisplayOption={})),function(t){t[t.Grouping=0]="Grouping",t[t.Measure=1]="Measure",t[t.GroupingOrMeasure=2]="GroupingOrMeasure"}(e.VisualDataRoleKind||(e.VisualDataRoleKind={})),function(t){t[t.Measure=0]="Measure",t[t.Grouping=1]="Grouping"}(e.VisualDataRoleKindPreference||(e.VisualDataRoleKindPreference={})),e.isOnLoadFilters=function(t){return t&&!S(t)},e.isReportFiltersArray=S,e.isFlatMenuExtension=function(t){return t&&!T(t)},e.isGroupedMenuExtension=T,e.isIExtensions=function(t){return t&&!E(t)},e.isIExtensionArray=E,e.validateVisualSelector=function(t){var e=n.Validators.visualSelectorValidator.validate(t);return e?e.map(F):void 0},e.validateSlicer=function(t){var e=n.Validators.slicerValidator.validate(t);return e?e.map(F):void 0},e.validateSlicerState=function(t){var e=n.Validators.slicerStateValidator.validate(t);return e?e.map(F):void 0},e.validatePlayBookmarkRequest=function(t){var e=n.Validators.playBookmarkRequestValidator.validate(t);return e?e.map(F):void 0},e.validateAddBookmarkRequest=function(t){var e=n.Validators.addBookmarkRequestValidator.validate(t);return e?e.map(F):void 0},e.validateApplyBookmarkByNameRequest=function(t){var e=n.Validators.applyBookmarkByNameRequestValidator.validate(t);return e?e.map(F):void 0},e.validateApplyBookmarkStateRequest=function(t){var e=n.Validators.applyBookmarkStateRequestValidator.validate(t);return e?e.map(F):void 0},e.validateCaptureBookmarkRequest=function(t){var e=n.Validators.captureBookmarkRequestValidator.validate(t);return e?e.map(F):void 0},e.validateSettings=function(t){var e=n.Validators.settingsValidator.validate(t);return e?e.map(F):void 0},e.validatePanes=function(t){var e=n.Validators.reportPanesValidator.validate(t);return e?e.map(F):void 0},e.validateBookmarksPane=function(t){var e=n.Validators.bookmarksPaneValidator.validate(t);return e?e.map(F):void 0},e.validateFiltersPane=function(t){var e=n.Validators.filtersPaneValidator.validate(t);return e?e.map(F):void 0},e.validateFieldsPane=function(t){var e=n.Validators.fieldsPaneValidator.validate(t);return e?e.map(F):void 0},e.validatePageNavigationPane=function(t){var e=n.Validators.pageNavigationPaneValidator.validate(t);return e?e.map(F):void 0},e.validateSelectionPane=function(t){var e=n.Validators.selectionPaneValidator.validate(t);return e?e.map(F):void 0},e.validateSyncSlicersPane=function(t){var e=n.Validators.syncSlicersPaneValidator.validate(t);return e?e.map(F):void 0},e.validateVisualizationsPane=function(t){var e=n.Validators.visualizationsPaneValidator.validate(t);return e?e.map(F):void 0},e.validateCustomPageSize=function(t){var e=n.Validators.customPageSizeValidator.validate(t);return e?e.map(F):void 0},e.validateExtension=function(t){var e=n.Validators.extensionValidator.validate(t);return e?e.map(F):void 0},e.validateMenuGroupExtension=function(t){var e=n.Validators.menuGroupExtensionValidator.validate(t);return e?e.map(F):void 0},e.validateReportLoad=function(t){var e=n.Validators.reportLoadValidator.validate(t);return e?e.map(F):void 0},e.validatePaginatedReportLoad=function(t){var e=n.Validators.paginatedReportLoadValidator.validate(t);return e?e.map(F):void 0},e.validateCreateReport=function(t){var e=n.Validators.reportCreateValidator.validate(t);return e?e.map(F):void 0},e.validateDashboardLoad=function(t){var e=n.Validators.dashboardLoadValidator.validate(t);return e?e.map(F):void 0},e.validateTileLoad=function(t){var e=n.Validators.tileLoadValidator.validate(t);return e?e.map(F):void 0},e.validatePage=function(t){var e=n.Validators.pageValidator.validate(t);return e?e.map(F):void 0},e.validateFilter=function(t){var e=n.Validators.filterValidator.validate(t);return e?e.map(F):void 0},e.validateUpdateFiltersRequest=function(t){var e=n.Validators.updateFiltersRequestValidator.validate(t);return e?e.map(F):void 0},e.validateSaveAsParameters=function(t){var e=n.Validators.saveAsParametersValidator.validate(t);return e?e.map(F):void 0},e.validateLoadQnaConfiguration=function(t){var e=n.Validators.loadQnaValidator.validate(t);return e?e.map(F):void 0},e.validateQnaInterpretInputData=function(t){var e=n.Validators.qnaInterpretInputDataValidator.validate(t);return e?e.map(F):void 0},e.validateExportDataRequest=function(t){var e=n.Validators.exportDataRequestValidator.validate(t);return e?e.map(F):void 0},e.validateVisualHeader=function(t){var e=n.Validators.visualHeaderValidator.validate(t);return e?e.map(F):void 0},e.validateVisualSettings=function(t){var e=n.Validators.visualSettingsValidator.validate(t);return e?e.map(F):void 0},e.validateCommandsSettings=function(t){var e=n.Validators.commandsSettingsValidator.validate(t);return e?e.map(F):void 0},e.validateCustomTheme=function(t){var e=n.Validators.customThemeValidator.validate(t);return e?e.map(F):void 0},e.validateZoomLevel=function(t){var e=n.Validators.zoomLevelValidator.validate(t);return e?e.map(F):void 0}},function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.Validators=void 0;var i=r(2),a=r(5),o=r(6),n=r(7),l=r(8),s=r(9),u=r(10),d=r(11),c=r(12),p=r(13),f=r(14),h=r(15),v=r(16),y=r(17),m=r(18),V=r(19),g=r(20),b=r(21),w=r(22),P=r(23),_=r(24),O=r(25),S=r(26),T=r(27),E=r(28),F=r(29),R=r(4),x=r(30);e.Validators={addBookmarkRequestValidator:new a.AddBookmarkRequestValidator,advancedFilterTypeValidator:new R.EnumValidator([0]),advancedFilterValidator:new c.AdvancedFilterValidator,anyArrayValidator:new R.ArrayValidator([new S.AnyOfValidator([new R.StringValidator,new R.NumberValidator,new R.BooleanValidator])]),anyFilterValidator:new S.AnyOfValidator([new c.BasicFilterValidator,new c.AdvancedFilterValidator,new c.IncludeExcludeFilterValidator,new c.NotSupportedFilterValidator,new c.RelativeDateFilterValidator,new c.TopNFilterValidator,new c.RelativeTimeFilterValidator]),anyValueValidator:new S.AnyOfValidator([new R.StringValidator,new R.NumberValidator,new R.BooleanValidator]),actionBarValidator:new i.ActionBarValidator,applyBookmarkByNameRequestValidator:new a.ApplyBookmarkByNameRequestValidator,applyBookmarkStateRequestValidator:new a.ApplyBookmarkStateRequestValidator,applyBookmarkValidator:new S.AnyOfValidator([new a.ApplyBookmarkByNameRequestValidator,new a.ApplyBookmarkStateRequestValidator]),backgroundValidator:new R.EnumValidator([0,1]),basicFilterTypeValidator:new R.EnumValidator([1]),basicFilterValidator:new c.BasicFilterValidator,booleanArrayValidator:new R.BooleanArrayValidator,booleanValidator:new R.BooleanValidator,bookmarksPaneValidator:new h.BookmarksPaneValidator,captureBookmarkOptionsValidator:new a.CaptureBookmarkOptionsValidator,captureBookmarkRequestValidator:new a.CaptureBookmarkRequestValidator,commandDisplayOptionValidator:new R.EnumValidator([0,1,2]),commandExtensionSelectorValidator:new S.AnyOfValidator([new b.VisualSelectorValidator,new b.VisualTypeSelectorValidator]),commandExtensionArrayValidator:new R.ArrayValidator([new d.CommandExtensionValidator]),commandExtensionValidator:new d.CommandExtensionValidator,commandsSettingsArrayValidator:new R.ArrayValidator([new o.CommandsSettingsValidator]),commandsSettingsValidator:new o.CommandsSettingsValidator,conditionItemValidator:new c.ConditionItemValidator,contrastModeValidator:new R.EnumValidator([0,1,2,3,4]),customLayoutDisplayOptionValidator:new R.EnumValidator([0,1,2]),customLayoutValidator:new p.CustomLayoutValidator,customPageSizeValidator:new f.CustomPageSizeValidator,customThemeValidator:new n.CustomThemeValidator,dashboardLoadValidator:new l.DashboardLoadValidator,datasetBindingValidator:new s.DatasetBindingValidator,displayStateModeValidator:new R.EnumValidator([0,1]),displayStateValidator:new p.DisplayStateValidator,exportDataRequestValidator:new u.ExportDataRequestValidator,extensionArrayValidator:new R.ArrayValidator([new d.ExtensionValidator]),extensionsValidator:new S.AnyOfValidator([new R.ArrayValidator([new d.ExtensionValidator]),new d.ExtensionsValidator]),extensionPointsValidator:new d.ExtensionPointsValidator,extensionValidator:new d.ExtensionValidator,fieldForbiddenValidator:new T.FieldForbiddenValidator,fieldRequiredValidator:new E.FieldRequiredValidator,fieldsPaneValidator:new h.FieldsPaneValidator,filterColumnTargetValidator:new c.FilterColumnTargetValidator,filterDisplaySettingsValidator:new c.FilterDisplaySettingsValidator,filterConditionsValidator:new R.ArrayValidator([new c.ConditionItemValidator]),filterHierarchyTargetValidator:new c.FilterHierarchyTargetValidator,filterMeasureTargetValidator:new c.FilterMeasureTargetValidator,filterTargetValidator:new S.AnyOfValidator([new c.FilterColumnTargetValidator,new c.FilterHierarchyTargetValidator,new c.FilterMeasureTargetValidator]),filterValidator:new c.FilterValidator,filterTypeValidator:new R.EnumValidator([0,1,2,3,4,5,6,7]),filtersArrayValidator:new R.ArrayValidator([new c.FilterValidator]),filtersOperationsUpdateValidator:new R.EnumValidator([1,2,3]),filtersOperationsRemoveAllValidator:new R.EnumValidator([0]),filtersPaneValidator:new h.FiltersPaneValidator,hyperlinkClickBehaviorValidator:new R.EnumValidator([0,1,2]),includeExcludeFilterValidator:new c.IncludeExcludeFilterValidator,includeExludeFilterTypeValidator:new R.EnumValidator([3]),layoutTypeValidator:new R.EnumValidator([0,1,2,3]),loadQnaValidator:new v.LoadQnaValidator,menuExtensionValidator:new S.AnyOfValidator([new d.FlatMenuExtensionValidator,new d.GroupedMenuExtensionValidator]),menuGroupExtensionArrayValidator:new R.ArrayValidator([new d.MenuGroupExtensionValidator]),menuGroupExtensionValidator:new d.MenuGroupExtensionValidator,menuLocationValidator:new R.EnumValidator([0,1]),notSupportedFilterTypeValidator:new R.EnumValidator([2]),notSupportedFilterValidator:new c.NotSupportedFilterValidator,numberArrayValidator:new R.NumberArrayValidator,numberValidator:new R.NumberValidator,onLoadFiltersBaseValidator:new S.AnyOfValidator([new c.OnLoadFiltersBaseValidator,new c.OnLoadFiltersBaseRemoveOperationValidator]),pageLayoutValidator:new F.MapValidator([new R.StringValidator],[new p.VisualLayoutValidator]),pageNavigationPaneValidator:new h.PageNavigationPaneValidator,pageNavigationPositionValidator:new R.EnumValidator([0,1]),pageSizeTypeValidator:new R.EnumValidator([0,1,2,3,4,5]),pageSizeValidator:new f.PageSizeValidator,pageValidator:new f.PageValidator,pageViewFieldValidator:new f.PageViewFieldValidator,pagesLayoutValidator:new F.MapValidator([new R.StringValidator],[new p.PageLayoutValidator]),paginatedReportCommandsValidator:new o.PaginatedReportCommandsValidator,paginatedReportLoadValidator:new V.PaginatedReportLoadValidator,paginatedReportsettingsValidator:new w.PaginatedReportSettingsValidator,parametersPanelValidator:new x.ParametersPanelValidator,permissionsValidator:new R.EnumValidator([0,1,2,4,7]),playBookmarkRequestValidator:new a.PlayBookmarkRequestValidator,qnaInterpretInputDataValidator:new v.QnaInterpretInputDataValidator,qnaPanesValidator:new h.QnaPanesValidator,qnaSettingValidator:new v.QnaSettingsValidator,relativeDateFilterOperatorValidator:new R.EnumValidator([0,1,2]),relativeDateFilterTimeUnitTypeValidator:new R.EnumValidator([0,1,2,3,4,5,6]),relativeDateFilterTypeValidator:new R.EnumValidator([4]),relativeDateFilterValidator:new c.RelativeDateFilterValidator,relativeDateTimeFilterTypeValidator:new R.EnumValidator([4,7]),relativeDateTimeFilterUnitTypeValidator:new R.EnumValidator([0,1,2,3,4,5,6,7,8]),relativeTimeFilterTimeUnitTypeValidator:new R.EnumValidator([7,8]),relativeTimeFilterTypeValidator:new R.EnumValidator([7]),relativeTimeFilterValidator:new c.RelativeTimeFilterValidator,reportBarsValidator:new i.ReportBarsValidator,reportCreateValidator:new y.ReportCreateValidator,reportLoadFiltersValidator:new S.AnyOfValidator([new R.ArrayValidator([new c.FilterValidator]),new c.OnLoadFiltersValidator]),reportLoadValidator:new m.ReportLoadValidator,reportPanesValidator:new h.ReportPanesValidator,saveAsParametersValidator:new g.SaveAsParametersValidator,selectionPaneValidator:new h.SelectionPaneValidator,settingsValidator:new w.SettingsValidator,singleCommandSettingsValidator:new o.SingleCommandSettingsValidator,slicerSelectorValidator:new S.AnyOfValidator([new b.VisualSelectorValidator,new b.SlicerTargetSelectorValidator]),slicerStateValidator:new P.SlicerStateValidator,slicerTargetValidator:new S.AnyOfValidator([new c.FilterColumnTargetValidator,new c.FilterHierarchyTargetValidator,new c.FilterMeasureTargetValidator,new c.FilterKeyColumnsTargetValidator,new c.FilterKeyHierarchyTargetValidator]),slicerValidator:new P.SlicerValidator,stringArrayValidator:new R.StringArrayValidator,stringValidator:new R.StringValidator,syncSlicersPaneValidator:new h.SyncSlicersPaneValidator,tileLoadValidator:new _.TileLoadValidator,tokenTypeValidator:new R.EnumValidator([0,1]),topNFilterTypeValidator:new R.EnumValidator([5]),topNFilterValidator:new c.TopNFilterValidator,updateFiltersRequestValidator:new S.AnyOfValidator([new c.UpdateFiltersRequestValidator,new c.RemoveFiltersRequestValidator]),viewModeValidator:new R.EnumValidator([0,1]),visualCommandSelectorValidator:new S.AnyOfValidator([new b.VisualSelectorValidator,new b.VisualTypeSelectorValidator]),visualHeaderSelectorValidator:new S.AnyOfValidator([new b.VisualSelectorValidator,new b.VisualTypeSelectorValidator]),visualHeaderSettingsValidator:new O.VisualHeaderSettingsValidator,visualHeaderValidator:new O.VisualHeaderValidator,visualHeadersValidator:new R.ArrayValidator([new O.VisualHeaderValidator]),visualizationsPaneValidator:new h.VisualizationsPaneValidator,visualLayoutValidator:new p.VisualLayoutValidator,visualSelectorValidator:new b.VisualSelectorValidator,visualSettingsValidator:new O.VisualSettingsValidator,visualTypeSelectorValidator:new b.VisualTypeSelectorValidator,zoomLevelValidator:new R.RangeValidator(.25,4)}},function(t,e,r){var i,a=this&&this.__extends||(i=function(t,e){return(i=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])})(t,e)},function(t,e){function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.ActionBarValidator=e.ReportBarsValidator=void 0;var o=r(3),n=r(4),l=r(1),s=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return a(e,t),e.prototype.validate=function(e,r,i){if(null==e)return null;var a=t.prototype.validate.call(this,e,r,i);if(a)return a;var n=[{field:"actionBar",validators:[l.Validators.actionBarValidator]}];return new o.MultipleFieldsValidator(n).validate(e,r,i)},e}(n.ObjectValidator);e.ReportBarsValidator=s;var u=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return a(e,t),e.prototype.validate=function(e,r,i){if(null==e)return null;var a=t.prototype.validate.call(this,e,r,i);if(a)return a;var n=[{field:"visible",validators:[l.Validators.booleanValidator]}];return new o.MultipleFieldsValidator(n).validate(e,r,i)},e}(n.ObjectValidator);e.ActionBarValidator=u},function(t,e){Object.defineProperty(e,"__esModule",{value:!0}),e.MultipleFieldsValidator=void 0;var r=function(){function t(t){this.fieldValidatorsPairs=t}return t.prototype.validate=function(t,e,r){if(!this.fieldValidatorsPairs)return null;for(var i=e?e+"."+r:r,a=0,o=this.fieldValidatorsPairs;athis.maxValue||e0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0?"&":"?";return t+=i+e+"="+r},e.isSavedInternal=function(t,e,a){return r(this,void 0,void 0,(function(){return i(this,(function(r){switch(r.label){case 0:return r.trys.push([0,2,,3]),[4,t.get("/report/hasUnsavedChanges",{uid:e},a)];case 1:return[2,!r.sent().body];case 2:throw r.sent().body;case 3:return[2]}}))}))},e.isRDLEmbed=function(t){return t&&t.toLowerCase().indexOf("/rdlembed?")>=0},e.autoAuthInEmbedUrl=function(t){return t&&decodeURIComponent(t).toLowerCase().indexOf("autoauth=true")>=0},e.getRandomValue=o,e.getTimeDiffInMilliseconds=function(t,e){return Math.abs(t.getTime()-e.getTime())}},function(t,e){Object.defineProperty(e,"__esModule",{value:!0}),e.FilterBuilder=void 0;var r=function(){function t(){}return t.prototype.withTargetObject=function(t){return this.target=t,this},t.prototype.withColumnTarget=function(t,e){return this.target={table:t,column:e},this},t.prototype.withMeasureTarget=function(t,e){return this.target={table:t,measure:e},this},t.prototype.withHierarchyLevelTarget=function(t,e,r){return this.target={table:t,hierarchy:e,hierarchyLevel:r},this},t.prototype.withColumnAggregation=function(t,e,r){return this.target={table:t,column:e,aggregationFunction:r},this},t.prototype.withHierarchyLevelAggregationTarget=function(t,e,r,i){return this.target={table:t,hierarchy:e,hierarchyLevel:r,aggregationFunction:i},this},t}();e.FilterBuilder=r},function(t,e){Object.defineProperty(e,"__esModule",{value:!0}),e.EmbedUrlNotSupported=e.APINotSupportedForRDLError=void 0,e.APINotSupportedForRDLError="This API is currently not supported for RDL reports",e.EmbedUrlNotSupported="Embed URL is invalid for this scenario. Please use Power BI REST APIs to get the valid URL"},function(t,e){Object.defineProperty(e,"__esModule",{value:!0});e.default={version:"2.19.1",type:"js"}},function(t,e,r){var i,a=this&&this.__extends||(i=function(t,e){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])})(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}),o=this&&this.__awaiter||function(t,e,r,i){return new(r||(r=Promise))((function(a,o){function n(t){try{s(i.next(t))}catch(t){o(t)}}function l(t){try{s(i.throw(t))}catch(t){o(t)}}function s(t){var e;t.done?a(t.value):(e=t.value,e instanceof r?e:new r((function(t){t(e)}))).then(n,l)}s((i=i.apply(t,e||[])).next())}))},n=this&&this.__generator||function(t,e){var r,i,a,o,n={label:0,sent:function(){if(1&a[0])throw a[1];return a[1]},trys:[],ops:[]};return o={next:l(0),throw:l(1),return:l(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function l(o){return function(l){return function(o){if(r)throw new TypeError("Generator is already executing.");for(;n;)try{if(r=1,i&&(a=2&o[0]?i.return:o[0]?i.throw||((a=i.return)&&a.call(i),0):i.next)&&!(a=a.call(i,o[1])).done)return a;switch(i=0,a&&(o=[2&o[0],a.value]),o[0]){case 0:case 1:a=o;break;case 4:return n.label++,{value:o[1],done:!1};case 5:n.label++,i=o[1],o=[0];continue;case 7:o=n.ops.pop(),n.trys.pop();continue;default:if(!(a=n.trys,(a=a.length>0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1] { type: string; @@ -387,6 +388,15 @@ export class Service implements IService { return this.uniqueSessionId; } + /** + * Returns the Power BI Client SDK version + * + * @hidden + */ + getSDKVersion(): string { + return sdkConfig.default.version; + } + /** * Given a configuration based on a Power BI element, saves the component instance that reference the element for later lookup. * From c7f3cd15323f7d30b1c1ba6e93c4ec0ed2b1941e Mon Sep 17 00:00:00 2001 From: Or Shemesh Date: Sun, 6 Mar 2022 07:44:07 +0000 Subject: [PATCH 089/125] Merged PR 243777: Added owners.txt to powerbi-javascript Added owners.txt --- owners.txt | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) create mode 100644 owners.txt diff --git a/owners.txt b/owners.txt new file mode 100644 index 00000000..7163b786 --- /dev/null +++ b/owners.txt @@ -0,0 +1,18 @@ +; This file supports the Ownership Enforcer (OE) system for Azure Fundamentals compliance. +; For more information see https://onebranch.visualstudio.com/Ownership%20Enforcer/_wiki/wikis/Ownership-Enforcer.wiki + +; When a PR is created for a target branch protected by OE, each source directory touched by the PR is evaluated for ownership information +; by finding the closest owners.txt file in or above that directory. The union of all such owners.txt files for the PR dictates the set of +; required reviewers for OE purposes. To configure ownership information for a given directory and below, add a new owners.txt file there. +; When doing this, consider starting with a copy of this owners.txt file to include the additional contextual information and guidance above. + +; Syntax guide: +; - Comments start with semicolons (;) +; - Enumerate each owner on a separate line with an alias (not an email address) +; - To use an Azure AD group, contact biessuport to ensure that AAD group is configured for use in OE +; - An alias may be prefixed with an asterisk (*) to give it approval privileges without making it an automatic reviewer (no notifications) +; - An alias may be prefixed with an at sign (@) to include it in notifications without giving it approval privileges + +; The default code reviewer for the PBI Client codebase is pbicr: Power BI Code Reviews +; The default code reviewer outisde PBI Client codebase is pbiclientes +corembed From 220c8264b45ca68739b680d2172f2256b2bb3954 Mon Sep 17 00:00:00 2001 From: Or Shemesh Date: Tue, 5 Apr 2022 08:38:17 +0000 Subject: [PATCH 090/125] Merged PR 252540: Remove comments in OE: powerbi-javascript Remove comments in OE: powerbi-javascript --- owners.txt | 17 ----------------- 1 file changed, 17 deletions(-) diff --git a/owners.txt b/owners.txt index 7163b786..19b61d37 100644 --- a/owners.txt +++ b/owners.txt @@ -1,18 +1 @@ -; This file supports the Ownership Enforcer (OE) system for Azure Fundamentals compliance. -; For more information see https://onebranch.visualstudio.com/Ownership%20Enforcer/_wiki/wikis/Ownership-Enforcer.wiki - -; When a PR is created for a target branch protected by OE, each source directory touched by the PR is evaluated for ownership information -; by finding the closest owners.txt file in or above that directory. The union of all such owners.txt files for the PR dictates the set of -; required reviewers for OE purposes. To configure ownership information for a given directory and below, add a new owners.txt file there. -; When doing this, consider starting with a copy of this owners.txt file to include the additional contextual information and guidance above. - -; Syntax guide: -; - Comments start with semicolons (;) -; - Enumerate each owner on a separate line with an alias (not an email address) -; - To use an Azure AD group, contact biessuport to ensure that AAD group is configured for use in OE -; - An alias may be prefixed with an asterisk (*) to give it approval privileges without making it an automatic reviewer (no notifications) -; - An alias may be prefixed with an at sign (@) to include it in notifications without giving it approval privileges - -; The default code reviewer for the PBI Client codebase is pbicr: Power BI Code Reviews -; The default code reviewer outisde PBI Client codebase is pbiclientes corembed From b0648b96a461c44a0d8f775e9e312162f677cde2 Mon Sep 17 00:00:00 2001 From: Or Shemesh <38721429+orshemesh16@users.noreply.github.com> Date: Tue, 5 Apr 2022 11:44:58 +0300 Subject: [PATCH 091/125] Update .gitignore --- .gitignore | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitignore b/.gitignore index 75dcda63..10454d6f 100644 --- a/.gitignore +++ b/.gitignore @@ -10,3 +10,4 @@ dist/powerbi.js.map package-lock.json demo/package-lock.json .vscode +owners.txt From a354588bdd217cf1ed2078ac45e233f0066ce0ed Mon Sep 17 00:00:00 2001 From: Ali Abu Foul Date: Tue, 14 Jun 2022 10:39:21 +0000 Subject: [PATCH 092/125] Merged PR 245022: eventHooks Improvements - Release version 2.20.0 hosting apps (like TypeScript) that creates a double instance of `service` will cause double registration for eventHooks listener which leads to miss the callback from the iframe. moving `router.post` from `service` constructor to `report` constructor resolves the issue. --- dist/powerbi-client.d.ts | 28 +- dist/powerbi.js | 2226 +++++++++++++++++++++++++++++++++----- dist/powerbi.min.js | 19 +- gulpfile.js | 2 +- package.json | 8 +- src/config.ts | 2 +- src/embed.ts | 40 +- src/report.ts | 21 + src/service.ts | 31 +- test/SDK-to-HPM.spec.ts | 34 +- 10 files changed, 2072 insertions(+), 339 deletions(-) diff --git a/dist/powerbi-client.d.ts b/dist/powerbi-client.d.ts index ef017dff..43fae8fb 100644 --- a/dist/powerbi-client.d.ts +++ b/dist/powerbi-client.d.ts @@ -1,4 +1,4 @@ -// powerbi-client v2.19.1 +// powerbi-client v2.20.0 // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. declare module "config" { @@ -150,6 +150,14 @@ declare module "embed" { test(event: IEvent): boolean; handle(event: ICustomEvent): void; } + /** @hidden */ + export interface ISessionHeaders { + uid: string; + sdkSessionId: string; + tokenProviderSupplied?: boolean; + bootstrapped?: boolean; + sdkVersion?: string; + } /** * Base class for all Power BI embed components * @@ -426,12 +434,12 @@ declare module "embed" { */ populateConfig(config: IBootstrapEmbedConfiguration, isBootstrap: boolean): void; /** - * Validate EventHooks - * - * @private - * @param {models.EventHooks} eventHooks - * @hidden - */ + * Validate EventHooks + * + * @private + * @param {models.EventHooks} eventHooks + * @hidden + */ private validateEventHooks; /** * Adds locale parameters to embedUrl @@ -1998,7 +2006,7 @@ declare module "visual" { declare module "service" { import { WindowPostMessageProxy } from 'window-post-message-proxy'; import { HttpPostMessage } from 'http-post-message'; - import { Router } from 'powerbi-router'; + import { Router, IExtendedRequest, Response as IExtendedResponse } from 'powerbi-router'; import { IReportCreateConfiguration } from 'powerbi-models'; import { Embed, IBootstrapEmbedConfiguration, IDashboardEmbedConfiguration, IEmbedConfiguration, IEmbedConfigurationBase, IQnaEmbedConfiguration, IReportEmbedConfiguration, ITileEmbedConfiguration, IVisualEmbedConfiguration } from "embed"; export interface IEvent { @@ -2091,7 +2099,7 @@ declare module "service" { * @hidden */ wpmp: WindowPostMessageProxy; - private router; + router: Router; private uniqueSessionId; /** * Creates an instance of a Power BI Service. @@ -2228,7 +2236,7 @@ declare module "service" { * @hidden */ handleTileEvents(event: IEvent): void; - private invokeSDKHook; + invokeSDKHook(hook: Function, req: IExtendedRequest, res: IExtendedResponse): Promise; /** * Given an event object, finds the embed component with the matching type and ID, and invokes its handleEvent method with the event object. * diff --git a/dist/powerbi.js b/dist/powerbi.js index 4669e3d5..fcb51740 100644 --- a/dist/powerbi.js +++ b/dist/powerbi.js @@ -1,4 +1,4 @@ -// powerbi-client v2.19.1 +// powerbi-client v2.20.0 // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. (function webpackUniversalModuleDefinition(root, factory) { @@ -99,6 +99,525 @@ return /******/ (function(modules) { // webpackBootstrap /************************************************************************/ /******/ ({ +/***/ "./node_modules/assert/assert.js": +/*!***************************************!*\ + !*** ./node_modules/assert/assert.js ***! + \***************************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; +/* WEBPACK VAR INJECTION */(function(global) { + +var objectAssign = __webpack_require__(/*! object-assign */ "./node_modules/object-assign/index.js"); + +// compare and isBuffer taken from https://github.com/feross/buffer/blob/680e9e5e488f22aac27599a57dc844a6315928dd/index.js +// original notice: + +/*! + * The buffer module from node.js, for the browser. + * + * @author Feross Aboukhadijeh + * @license MIT + */ +function compare(a, b) { + if (a === b) { + return 0; + } + + var x = a.length; + var y = b.length; + + for (var i = 0, len = Math.min(x, y); i < len; ++i) { + if (a[i] !== b[i]) { + x = a[i]; + y = b[i]; + break; + } + } + + if (x < y) { + return -1; + } + if (y < x) { + return 1; + } + return 0; +} +function isBuffer(b) { + if (global.Buffer && typeof global.Buffer.isBuffer === 'function') { + return global.Buffer.isBuffer(b); + } + return !!(b != null && b._isBuffer); +} + +// based on node assert, original notice: +// NB: The URL to the CommonJS spec is kept just for tradition. +// node-assert has evolved a lot since then, both in API and behavior. + +// http://wiki.commonjs.org/wiki/Unit_Testing/1.0 +// +// THIS IS NOT TESTED NOR LIKELY TO WORK OUTSIDE V8! +// +// Originally from narwhal.js (http://narwhaljs.org) +// Copyright (c) 2009 Thomas Robinson <280north.com> +// +// Permission is hereby granted, free of charge, to any person obtaining a copy +// of this software and associated documentation files (the 'Software'), to +// deal in the Software without restriction, including without limitation the +// rights to use, copy, modify, merge, publish, distribute, sublicense, and/or +// sell copies of the Software, and to permit persons to whom the Software is +// furnished to do so, subject to the following conditions: +// +// The above copyright notice and this permission notice shall be included in +// all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN +// ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +var util = __webpack_require__(/*! util/ */ "./node_modules/util/util.js"); +var hasOwn = Object.prototype.hasOwnProperty; +var pSlice = Array.prototype.slice; +var functionsHaveNames = (function () { + return function foo() {}.name === 'foo'; +}()); +function pToString (obj) { + return Object.prototype.toString.call(obj); +} +function isView(arrbuf) { + if (isBuffer(arrbuf)) { + return false; + } + if (typeof global.ArrayBuffer !== 'function') { + return false; + } + if (typeof ArrayBuffer.isView === 'function') { + return ArrayBuffer.isView(arrbuf); + } + if (!arrbuf) { + return false; + } + if (arrbuf instanceof DataView) { + return true; + } + if (arrbuf.buffer && arrbuf.buffer instanceof ArrayBuffer) { + return true; + } + return false; +} +// 1. The assert module provides functions that throw +// AssertionError's when particular conditions are not met. The +// assert module must conform to the following interface. + +var assert = module.exports = ok; + +// 2. The AssertionError is defined in assert. +// new assert.AssertionError({ message: message, +// actual: actual, +// expected: expected }) + +var regex = /\s*function\s+([^\(\s]*)\s*/; +// based on https://github.com/ljharb/function.prototype.name/blob/adeeeec8bfcc6068b187d7d9fb3d5bb1d3a30899/implementation.js +function getName(func) { + if (!util.isFunction(func)) { + return; + } + if (functionsHaveNames) { + return func.name; + } + var str = func.toString(); + var match = str.match(regex); + return match && match[1]; +} +assert.AssertionError = function AssertionError(options) { + this.name = 'AssertionError'; + this.actual = options.actual; + this.expected = options.expected; + this.operator = options.operator; + if (options.message) { + this.message = options.message; + this.generatedMessage = false; + } else { + this.message = getMessage(this); + this.generatedMessage = true; + } + var stackStartFunction = options.stackStartFunction || fail; + if (Error.captureStackTrace) { + Error.captureStackTrace(this, stackStartFunction); + } else { + // non v8 browsers so we can have a stacktrace + var err = new Error(); + if (err.stack) { + var out = err.stack; + + // try to strip useless frames + var fn_name = getName(stackStartFunction); + var idx = out.indexOf('\n' + fn_name); + if (idx >= 0) { + // once we have located the function frame + // we need to strip out everything before it (and its line) + var next_line = out.indexOf('\n', idx + 1); + out = out.substring(next_line + 1); + } + + this.stack = out; + } + } +}; + +// assert.AssertionError instanceof Error +util.inherits(assert.AssertionError, Error); + +function truncate(s, n) { + if (typeof s === 'string') { + return s.length < n ? s : s.slice(0, n); + } else { + return s; + } +} +function inspect(something) { + if (functionsHaveNames || !util.isFunction(something)) { + return util.inspect(something); + } + var rawname = getName(something); + var name = rawname ? ': ' + rawname : ''; + return '[Function' + name + ']'; +} +function getMessage(self) { + return truncate(inspect(self.actual), 128) + ' ' + + self.operator + ' ' + + truncate(inspect(self.expected), 128); +} + +// At present only the three keys mentioned above are used and +// understood by the spec. Implementations or sub modules can pass +// other keys to the AssertionError's constructor - they will be +// ignored. + +// 3. All of the following functions must throw an AssertionError +// when a corresponding condition is not met, with a message that +// may be undefined if not provided. All assertion methods provide +// both the actual and expected values to the assertion error for +// display purposes. + +function fail(actual, expected, message, operator, stackStartFunction) { + throw new assert.AssertionError({ + message: message, + actual: actual, + expected: expected, + operator: operator, + stackStartFunction: stackStartFunction + }); +} + +// EXTENSION! allows for well behaved errors defined elsewhere. +assert.fail = fail; + +// 4. Pure assertion tests whether a value is truthy, as determined +// by !!guard. +// assert.ok(guard, message_opt); +// This statement is equivalent to assert.equal(true, !!guard, +// message_opt);. To test strictly for the value true, use +// assert.strictEqual(true, guard, message_opt);. + +function ok(value, message) { + if (!value) fail(value, true, message, '==', assert.ok); +} +assert.ok = ok; + +// 5. The equality assertion tests shallow, coercive equality with +// ==. +// assert.equal(actual, expected, message_opt); + +assert.equal = function equal(actual, expected, message) { + if (actual != expected) fail(actual, expected, message, '==', assert.equal); +}; + +// 6. The non-equality assertion tests for whether two objects are not equal +// with != assert.notEqual(actual, expected, message_opt); + +assert.notEqual = function notEqual(actual, expected, message) { + if (actual == expected) { + fail(actual, expected, message, '!=', assert.notEqual); + } +}; + +// 7. The equivalence assertion tests a deep equality relation. +// assert.deepEqual(actual, expected, message_opt); + +assert.deepEqual = function deepEqual(actual, expected, message) { + if (!_deepEqual(actual, expected, false)) { + fail(actual, expected, message, 'deepEqual', assert.deepEqual); + } +}; + +assert.deepStrictEqual = function deepStrictEqual(actual, expected, message) { + if (!_deepEqual(actual, expected, true)) { + fail(actual, expected, message, 'deepStrictEqual', assert.deepStrictEqual); + } +}; + +function _deepEqual(actual, expected, strict, memos) { + // 7.1. All identical values are equivalent, as determined by ===. + if (actual === expected) { + return true; + } else if (isBuffer(actual) && isBuffer(expected)) { + return compare(actual, expected) === 0; + + // 7.2. If the expected value is a Date object, the actual value is + // equivalent if it is also a Date object that refers to the same time. + } else if (util.isDate(actual) && util.isDate(expected)) { + return actual.getTime() === expected.getTime(); + + // 7.3 If the expected value is a RegExp object, the actual value is + // equivalent if it is also a RegExp object with the same source and + // properties (`global`, `multiline`, `lastIndex`, `ignoreCase`). + } else if (util.isRegExp(actual) && util.isRegExp(expected)) { + return actual.source === expected.source && + actual.global === expected.global && + actual.multiline === expected.multiline && + actual.lastIndex === expected.lastIndex && + actual.ignoreCase === expected.ignoreCase; + + // 7.4. Other pairs that do not both pass typeof value == 'object', + // equivalence is determined by ==. + } else if ((actual === null || typeof actual !== 'object') && + (expected === null || typeof expected !== 'object')) { + return strict ? actual === expected : actual == expected; + + // If both values are instances of typed arrays, wrap their underlying + // ArrayBuffers in a Buffer each to increase performance + // This optimization requires the arrays to have the same type as checked by + // Object.prototype.toString (aka pToString). Never perform binary + // comparisons for Float*Arrays, though, since e.g. +0 === -0 but their + // bit patterns are not identical. + } else if (isView(actual) && isView(expected) && + pToString(actual) === pToString(expected) && + !(actual instanceof Float32Array || + actual instanceof Float64Array)) { + return compare(new Uint8Array(actual.buffer), + new Uint8Array(expected.buffer)) === 0; + + // 7.5 For all other Object pairs, including Array objects, equivalence is + // determined by having the same number of owned properties (as verified + // with Object.prototype.hasOwnProperty.call), the same set of keys + // (although not necessarily the same order), equivalent values for every + // corresponding key, and an identical 'prototype' property. Note: this + // accounts for both named and indexed properties on Arrays. + } else if (isBuffer(actual) !== isBuffer(expected)) { + return false; + } else { + memos = memos || {actual: [], expected: []}; + + var actualIndex = memos.actual.indexOf(actual); + if (actualIndex !== -1) { + if (actualIndex === memos.expected.indexOf(expected)) { + return true; + } + } + + memos.actual.push(actual); + memos.expected.push(expected); + + return objEquiv(actual, expected, strict, memos); + } +} + +function isArguments(object) { + return Object.prototype.toString.call(object) == '[object Arguments]'; +} + +function objEquiv(a, b, strict, actualVisitedObjects) { + if (a === null || a === undefined || b === null || b === undefined) + return false; + // if one is a primitive, the other must be same + if (util.isPrimitive(a) || util.isPrimitive(b)) + return a === b; + if (strict && Object.getPrototypeOf(a) !== Object.getPrototypeOf(b)) + return false; + var aIsArgs = isArguments(a); + var bIsArgs = isArguments(b); + if ((aIsArgs && !bIsArgs) || (!aIsArgs && bIsArgs)) + return false; + if (aIsArgs) { + a = pSlice.call(a); + b = pSlice.call(b); + return _deepEqual(a, b, strict); + } + var ka = objectKeys(a); + var kb = objectKeys(b); + var key, i; + // having the same number of owned properties (keys incorporates + // hasOwnProperty) + if (ka.length !== kb.length) + return false; + //the same set of keys (although not necessarily the same order), + ka.sort(); + kb.sort(); + //~~~cheap key test + for (i = ka.length - 1; i >= 0; i--) { + if (ka[i] !== kb[i]) + return false; + } + //equivalent values for every corresponding key, and + //~~~possibly expensive deep test + for (i = ka.length - 1; i >= 0; i--) { + key = ka[i]; + if (!_deepEqual(a[key], b[key], strict, actualVisitedObjects)) + return false; + } + return true; +} + +// 8. The non-equivalence assertion tests for any deep inequality. +// assert.notDeepEqual(actual, expected, message_opt); + +assert.notDeepEqual = function notDeepEqual(actual, expected, message) { + if (_deepEqual(actual, expected, false)) { + fail(actual, expected, message, 'notDeepEqual', assert.notDeepEqual); + } +}; + +assert.notDeepStrictEqual = notDeepStrictEqual; +function notDeepStrictEqual(actual, expected, message) { + if (_deepEqual(actual, expected, true)) { + fail(actual, expected, message, 'notDeepStrictEqual', notDeepStrictEqual); + } +} + + +// 9. The strict equality assertion tests strict equality, as determined by ===. +// assert.strictEqual(actual, expected, message_opt); + +assert.strictEqual = function strictEqual(actual, expected, message) { + if (actual !== expected) { + fail(actual, expected, message, '===', assert.strictEqual); + } +}; + +// 10. The strict non-equality assertion tests for strict inequality, as +// determined by !==. assert.notStrictEqual(actual, expected, message_opt); + +assert.notStrictEqual = function notStrictEqual(actual, expected, message) { + if (actual === expected) { + fail(actual, expected, message, '!==', assert.notStrictEqual); + } +}; + +function expectedException(actual, expected) { + if (!actual || !expected) { + return false; + } + + if (Object.prototype.toString.call(expected) == '[object RegExp]') { + return expected.test(actual); + } + + try { + if (actual instanceof expected) { + return true; + } + } catch (e) { + // Ignore. The instanceof check doesn't work for arrow functions. + } + + if (Error.isPrototypeOf(expected)) { + return false; + } + + return expected.call({}, actual) === true; +} + +function _tryBlock(block) { + var error; + try { + block(); + } catch (e) { + error = e; + } + return error; +} + +function _throws(shouldThrow, block, expected, message) { + var actual; + + if (typeof block !== 'function') { + throw new TypeError('"block" argument must be a function'); + } + + if (typeof expected === 'string') { + message = expected; + expected = null; + } + + actual = _tryBlock(block); + + message = (expected && expected.name ? ' (' + expected.name + ').' : '.') + + (message ? ' ' + message : '.'); + + if (shouldThrow && !actual) { + fail(actual, expected, 'Missing expected exception' + message); + } + + var userProvidedMessage = typeof message === 'string'; + var isUnwantedException = !shouldThrow && util.isError(actual); + var isUnexpectedException = !shouldThrow && actual && !expected; + + if ((isUnwantedException && + userProvidedMessage && + expectedException(actual, expected)) || + isUnexpectedException) { + fail(actual, expected, 'Got unwanted exception' + message); + } + + if ((shouldThrow && actual && expected && + !expectedException(actual, expected)) || (!shouldThrow && actual)) { + throw actual; + } +} + +// 11. Expected to throw an error: +// assert.throws(block, Error_opt, message_opt); + +assert.throws = function(block, /*optional*/error, /*optional*/message) { + _throws(true, block, error, message); +}; + +// EXTENSION! This is annoying to write outside this module. +assert.doesNotThrow = function(block, /*optional*/error, /*optional*/message) { + _throws(false, block, error, message); +}; + +assert.ifError = function(err) { if (err) throw err; }; + +// Expose a strict only variant of assert +function strict(value, message) { + if (!value) fail(value, true, message, '==', strict); +} +assert.strict = objectAssign(strict, assert, { + equal: assert.strictEqual, + deepEqual: assert.deepStrictEqual, + notEqual: assert.notStrictEqual, + notDeepEqual: assert.notDeepStrictEqual +}); +assert.strict.strict = assert.strict; + +var objectKeys = Object.keys || function (obj) { + var keys = []; + for (var key in obj) { + if (hasOwn.call(obj, key)) keys.push(key); + } + return keys; +}; + +/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./../webpack/buildin/global.js */ "./node_modules/webpack/buildin/global.js"))) + +/***/ }), + /***/ "./node_modules/http-post-message/dist/httpPostMessage.js": /*!****************************************************************!*\ !*** ./node_modules/http-post-message/dist/httpPostMessage.js ***! @@ -281,6 +800,108 @@ return /******/ (function(modules) { // webpackBootstrap ; //# sourceMappingURL=httpPostMessage.js.map +/***/ }), + +/***/ "./node_modules/object-assign/index.js": +/*!*********************************************!*\ + !*** ./node_modules/object-assign/index.js ***! + \*********************************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; +/* +object-assign +(c) Sindre Sorhus +@license MIT +*/ + + +/* eslint-disable no-unused-vars */ +var getOwnPropertySymbols = Object.getOwnPropertySymbols; +var hasOwnProperty = Object.prototype.hasOwnProperty; +var propIsEnumerable = Object.prototype.propertyIsEnumerable; + +function toObject(val) { + if (val === null || val === undefined) { + throw new TypeError('Object.assign cannot be called with null or undefined'); + } + + return Object(val); +} + +function shouldUseNative() { + try { + if (!Object.assign) { + return false; + } + + // Detect buggy property enumeration order in older V8 versions. + + // https://bugs.chromium.org/p/v8/issues/detail?id=4118 + var test1 = new String('abc'); // eslint-disable-line no-new-wrappers + test1[5] = 'de'; + if (Object.getOwnPropertyNames(test1)[0] === '5') { + return false; + } + + // https://bugs.chromium.org/p/v8/issues/detail?id=3056 + var test2 = {}; + for (var i = 0; i < 10; i++) { + test2['_' + String.fromCharCode(i)] = i; + } + var order2 = Object.getOwnPropertyNames(test2).map(function (n) { + return test2[n]; + }); + if (order2.join('') !== '0123456789') { + return false; + } + + // https://bugs.chromium.org/p/v8/issues/detail?id=3056 + var test3 = {}; + 'abcdefghijklmnopqrst'.split('').forEach(function (letter) { + test3[letter] = letter; + }); + if (Object.keys(Object.assign({}, test3)).join('') !== + 'abcdefghijklmnopqrst') { + return false; + } + + return true; + } catch (err) { + // We don't expect any of the above to throw, but better to be safe. + return false; + } +} + +module.exports = shouldUseNative() ? Object.assign : function (target, source) { + var from; + var to = toObject(target); + var symbols; + + for (var s = 1; s < arguments.length; s++) { + from = Object(arguments[s]); + + for (var key in from) { + if (hasOwnProperty.call(from, key)) { + to[key] = from[key]; + } + } + + if (getOwnPropertySymbols) { + symbols = getOwnPropertySymbols(from); + for (var i = 0; i < symbols.length; i++) { + if (propIsEnumerable.call(from, symbols[i])) { + to[symbols[i]] = from[symbols[i]]; + } + } + } + } + + return to; +}; + + /***/ }), /***/ "./node_modules/powerbi-models/dist/models.js": @@ -290,103 +911,18 @@ return /******/ (function(modules) { // webpackBootstrap /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { -// powerbi-models v1.9.8 +// powerbi-models v1.10.5 // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. (function webpackUniversalModuleDefinition(root, factory) { if(true) module.exports = factory(); else {} -})(this, function() { -return /******/ (function(modules) { // webpackBootstrap -/******/ // The module cache -/******/ var installedModules = {}; -/******/ -/******/ // The require function -/******/ function __webpack_require__(moduleId) { -/******/ -/******/ // Check if module is in cache -/******/ if(installedModules[moduleId]) { -/******/ return installedModules[moduleId].exports; -/******/ } -/******/ // Create a new module (and put it into the cache) -/******/ var module = installedModules[moduleId] = { -/******/ 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.l = true; -/******/ -/******/ // Return the exports of the module -/******/ return module.exports; -/******/ } -/******/ -/******/ -/******/ // expose the modules object (__webpack_modules__) -/******/ __webpack_require__.m = modules; -/******/ -/******/ // 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__(__webpack_require__.s = 0); -/******/ }) -/************************************************************************/ -/******/ ([ +})(this, () => { +return /******/ (() => { // webpackBootstrap +/******/ var __webpack_modules__ = ([ /* 0 */ -/***/ (function(module, exports, __webpack_require__) { +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. @@ -394,17 +930,20 @@ 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]; }; + function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; }; return extendStatics(d, b); }; return function (d, b) { + if (typeof b !== "function" && b !== null) + throw new TypeError("Class extends value " + String(b) + " is not a constructor or null"); 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.validateZoomLevel = exports.validateCustomTheme = exports.validateCommandsSettings = exports.validateVisualSettings = exports.validateVisualHeader = exports.validateExportDataRequest = exports.validateQnaInterpretInputData = exports.validateLoadQnaConfiguration = exports.validateSaveAsParameters = exports.validateUpdateFiltersRequest = exports.validateFilter = exports.validatePage = exports.validateTileLoad = exports.validateDashboardLoad = exports.validateCreateReport = exports.validatePaginatedReportLoad = exports.validateReportLoad = exports.validateMenuGroupExtension = exports.validateExtension = exports.validateCustomPageSize = exports.validateVisualizationsPane = exports.validateSyncSlicersPane = exports.validateSelectionPane = exports.validatePageNavigationPane = exports.validateFieldsPane = exports.validateFiltersPane = exports.validateBookmarksPane = exports.validatePanes = exports.validateSettings = exports.validateCaptureBookmarkRequest = exports.validateApplyBookmarkStateRequest = exports.validateApplyBookmarkByNameRequest = exports.validateAddBookmarkRequest = exports.validatePlayBookmarkRequest = exports.validateSlicerState = exports.validateSlicer = exports.validateVisualSelector = exports.isIExtensionArray = exports.isIExtensions = exports.isGroupedMenuExtension = exports.isFlatMenuExtension = exports.isReportFiltersArray = exports.isOnLoadFilters = exports.VisualDataRoleKindPreference = exports.VisualDataRoleKind = exports.CommandDisplayOption = exports.SlicerTargetSelector = exports.VisualTypeSelector = exports.VisualSelector = exports.PageSelector = exports.Selector = exports.SortDirection = exports.LegendPosition = exports.TextAlignment = exports.CommonErrorCodes = exports.BookmarksPlayMode = exports.ExportDataType = exports.QnaMode = exports.PageNavigationPosition = exports.isColumnAggr = exports.isHierarchyLevelAggr = exports.isHierarchyLevel = exports.isColumn = exports.isMeasure = exports.getFilterType = exports.isBasicFilterWithKeys = exports.isFilterKeyColumnsTarget = exports.AdvancedFilter = exports.TupleFilter = exports.IdentityFilter = exports.BasicFilterWithKeys = exports.BasicFilter = exports.RelativeTimeFilter = exports.RelativeDateFilter = exports.TopNFilter = exports.IncludeExcludeFilter = exports.NotSupportedFilter = exports.Filter = exports.RelativeDateOperators = exports.RelativeDateFilterTimeUnit = exports.FilterType = exports.FiltersLevel = exports.FiltersOperations = exports.MenuLocation = exports.ContrastMode = exports.TokenType = exports.ViewMode = exports.Permissions = exports.SectionVisibility = exports.ReportAlignment = exports.HyperlinkClickBehavior = exports.LayoutType = exports.VisualContainerDisplayMode = exports.BackgroundType = exports.DisplayOption = exports.PageSizeType = exports.TraceType = void 0; +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.VisualSelector = exports.PageSelector = exports.Selector = exports.SortDirection = exports.LegendPosition = exports.TextAlignment = exports.CommonErrorCodes = exports.BookmarksPlayMode = exports.ExportDataType = exports.QnaMode = exports.PageNavigationPosition = exports.isPercentOfGrandTotal = exports.isColumnAggr = exports.isHierarchyLevelAggr = exports.isHierarchyLevel = exports.isColumn = exports.isMeasure = exports.getFilterType = exports.isBasicFilterWithKeys = exports.isFilterKeyColumnsTarget = exports.AdvancedFilter = exports.TupleFilter = exports.IdentityFilter = exports.BasicFilterWithKeys = exports.BasicFilter = exports.RelativeTimeFilter = exports.RelativeDateFilter = exports.TopNFilter = exports.IncludeExcludeFilter = exports.NotSupportedFilter = exports.Filter = exports.RelativeDateOperators = exports.RelativeDateFilterTimeUnit = exports.FilterType = exports.FiltersLevel = exports.FiltersOperations = exports.MenuLocation = exports.ContrastMode = exports.TokenType = exports.ViewMode = exports.Permissions = exports.SectionVisibility = exports.ReportAlignment = exports.HyperlinkClickBehavior = exports.LayoutType = exports.VisualContainerDisplayMode = exports.BackgroundType = exports.DisplayOption = exports.PageSizeType = exports.TraceType = void 0; +exports.validateZoomLevel = exports.validateCustomTheme = exports.validateCommandsSettings = exports.validateVisualSettings = exports.validateVisualHeader = exports.validateExportDataRequest = exports.validateQnaInterpretInputData = exports.validateLoadQnaConfiguration = exports.validateSaveAsParameters = exports.validateUpdateFiltersRequest = exports.validateFilter = exports.validatePage = exports.validateTileLoad = exports.validateDashboardLoad = exports.validateCreateReport = exports.validatePaginatedReportLoad = exports.validateReportLoad = exports.validateMenuGroupExtension = exports.validateExtension = exports.validateCustomPageSize = exports.validateVisualizationsPane = exports.validateSyncSlicersPane = exports.validateSelectionPane = exports.validatePageNavigationPane = exports.validateFieldsPane = exports.validateFiltersPane = exports.validateBookmarksPane = exports.validatePanes = exports.validateSettings = exports.validateCaptureBookmarkRequest = exports.validateApplyBookmarkStateRequest = exports.validateApplyBookmarkByNameRequest = exports.validateAddBookmarkRequest = exports.validatePlayBookmarkRequest = exports.validateSlicerState = exports.validateSlicer = exports.validateVisualSelector = exports.isIExtensionArray = exports.isIExtensions = exports.isGroupedMenuExtension = exports.isFlatMenuExtension = exports.isReportFiltersArray = exports.isOnLoadFilters = exports.VisualDataRoleKindPreference = exports.VisualDataRoleKind = exports.CommandDisplayOption = exports.SlicerTargetSelector = exports.VisualTypeSelector = void 0; var validator_1 = __webpack_require__(1); var TraceType; (function (TraceType) { @@ -682,6 +1221,7 @@ var BasicFilter = /** @class */ (function (_super) { * new BasicFilter('a', 'b', [1,2]); */ if (Array.isArray(values[0])) { + // eslint-disable-next-line @typescript-eslint/no-unnecessary-type-assertion _this.values = values[0]; } else { @@ -708,7 +1248,7 @@ var BasicFilterWithKeys = /** @class */ (function (_super) { _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"); + throw new Error("You should pass the values to be filtered for each key. You passed: no values and ".concat(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"); @@ -718,7 +1258,7 @@ var BasicFilterWithKeys = /** @class */ (function (_super) { if (keyValue) { var lengthOfArray = keyValue.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"); + throw new Error("Each tuple of key values should contain a value for each of the keys. You passed: ".concat(lengthOfArray, " values and ").concat(numberOfKeys, " keys")); } } } @@ -782,7 +1322,7 @@ var AdvancedFilter = /** @class */ (function (_super) { // 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); + throw new Error("logicalOperator must be a valid operator, You passed: ".concat(logicalOperator)); } _this.logicalOperator = logicalOperator; var extractedConditions; @@ -792,13 +1332,14 @@ var AdvancedFilter = /** @class */ (function (_super) { * new AdvancedFilter('a', 'b', "And", [{ value: 1, operator: "Equals" }, { value: 2, operator: "IsGreaterThan" }]); */ if (Array.isArray(conditions[0])) { + // eslint-disable-next-line @typescript-eslint/no-unnecessary-type-assertion extractedConditions = conditions[0]; } else { extractedConditions = conditions; } if (extractedConditions.length > 2) { - throw new Error("AdvancedFilters may not have more than two conditions. You passed: " + conditions.length); + throw new Error("AdvancedFilters may not have more than two conditions. You passed: ".concat(conditions.length)); } if (extractedConditions.length === 1 && logicalOperator !== "And") { throw new Error("Logical Operator must be \"And\" when there is only one condition provided"); @@ -863,6 +1404,10 @@ function isColumnAggr(arg) { return !!(arg.table && arg.column && arg.aggregationFunction); } exports.isColumnAggr = isColumnAggr; +function isPercentOfGrandTotal(arg) { + return !!arg.percentOfGrandTotal; +} +exports.isPercentOfGrandTotal = isPercentOfGrandTotal; var PageNavigationPosition; (function (PageNavigationPosition) { PageNavigationPosition[PageNavigationPosition["Bottom"] = 0] = "Bottom"; @@ -1040,7 +1585,7 @@ exports.isIExtensionArray = isIExtensionArray; function normalizeError(error) { var message = error.message; if (!message) { - message = error.path + " is invalid. Not meeting " + error.keyword + " constraint"; + message = "".concat(error.path, " is invalid. Not meeting ").concat(error.keyword, " constraint"); } return { message: message @@ -1235,11 +1780,11 @@ exports.validateZoomLevel = validateZoomLevel; /***/ }), /* 1 */ -/***/ (function(module, exports, __webpack_require__) { +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. -Object.defineProperty(exports, "__esModule", { value: true }); +Object.defineProperty(exports, "__esModule", ({ value: true })); exports.Validators = void 0; var barsValidator_1 = __webpack_require__(2); var bookmarkValidator_1 = __webpack_require__(5); @@ -1349,6 +1894,7 @@ exports.Validators = { paginatedReportCommandsValidator: new commandsSettingsValidator_1.PaginatedReportCommandsValidator(), paginatedReportLoadValidator: new paginatedReportLoadValidator_1.PaginatedReportLoadValidator(), paginatedReportsettingsValidator: new settingsValidator_1.PaginatedReportSettingsValidator(), + parameterValuesArrayValidator: new typeValidator_1.ArrayValidator([new paginatedReportLoadValidator_1.ReportParameterFieldsValidator()]), parametersPanelValidator: new parameterPanelValidator_1.ParametersPanelValidator(), permissionsValidator: new typeValidator_1.EnumValidator([0, 1, 2, 4, 7]), playBookmarkRequestValidator: new bookmarkValidator_1.PlayBookmarkRequestValidator(), @@ -1402,7 +1948,7 @@ exports.Validators = { /***/ }), /* 2 */ -/***/ (function(module, exports, __webpack_require__) { +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. @@ -1410,16 +1956,18 @@ 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]; }; + function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; }; return extendStatics(d, b); }; return function (d, b) { + if (typeof b !== "function" && b !== null) + throw new TypeError("Class extends value " + String(b) + " is not a constructor or null"); extendStatics(d, b); function __() { this.constructor = d; } d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); }; })(); -Object.defineProperty(exports, "__esModule", { value: true }); +Object.defineProperty(exports, "__esModule", ({ value: true })); exports.ActionBarValidator = exports.ReportBarsValidator = void 0; var multipleFieldsValidator_1 = __webpack_require__(3); var typeValidator_1 = __webpack_require__(4); @@ -1478,11 +2026,11 @@ exports.ActionBarValidator = ActionBarValidator; /***/ }), /* 3 */ -/***/ (function(module, exports) { +/***/ ((__unused_webpack_module, exports) => { // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. -Object.defineProperty(exports, "__esModule", { value: true }); +Object.defineProperty(exports, "__esModule", ({ value: true })); exports.MultipleFieldsValidator = void 0; var MultipleFieldsValidator = /** @class */ (function () { function MultipleFieldsValidator(fieldValidatorsPairs) { @@ -1512,7 +2060,7 @@ exports.MultipleFieldsValidator = MultipleFieldsValidator; /***/ }), /* 4 */ -/***/ (function(module, exports) { +/***/ (function(__unused_webpack_module, exports) { // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. @@ -1520,16 +2068,18 @@ 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]; }; + function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; }; return extendStatics(d, b); }; return function (d, b) { + if (typeof b !== "function" && b !== null) + throw new TypeError("Class extends value " + String(b) + " is not a constructor or null"); extendStatics(d, b); function __() { this.constructor = d; } d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); }; })(); -Object.defineProperty(exports, "__esModule", { value: true }); +Object.defineProperty(exports, "__esModule", ({ value: true })); exports.RangeValidator = exports.NumberArrayValidator = exports.BooleanArrayValidator = exports.StringArrayValidator = exports.EnumValidator = exports.SchemaValidator = exports.ValueValidator = exports.NumberValidator = exports.BooleanValidator = exports.StringValidator = exports.TypeValidator = exports.ArrayValidator = exports.ObjectValidator = void 0; var ObjectValidator = /** @class */ (function () { function ObjectValidator() { @@ -1566,7 +2116,7 @@ var ArrayValidator = /** @class */ (function () { }]; } for (var i = 0; i < input.length; i++) { - var fieldsPath = (path ? path + "." : "") + field + "." + i; + var fieldsPath = (path ? path + "." : "") + field + "." + i.toString(); for (var _i = 0, _a = this.itemValidators; _i < _a.length; _i++) { var validator = _a[_i]; var errors = validator.validate(input[i], fieldsPath, field); @@ -1758,7 +2308,7 @@ var RangeValidator = /** @class */ (function (_super) { // input is a number, now check if it's in the given range if (input > this.maxValue || input < this.minValue) { return [{ - message: field + " must be a number between " + this.minValue + " and " + this.maxValue, + message: field + " must be a number between " + this.minValue.toString() + " and " + this.maxValue.toString(), path: (path ? path + "." : "") + field, keyword: "range" }]; @@ -1772,7 +2322,7 @@ exports.RangeValidator = RangeValidator; /***/ }), /* 5 */ -/***/ (function(module, exports, __webpack_require__) { +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. @@ -1780,16 +2330,18 @@ 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]; }; + function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; }; return extendStatics(d, b); }; return function (d, b) { + if (typeof b !== "function" && b !== null) + throw new TypeError("Class extends value " + String(b) + " is not a constructor or null"); extendStatics(d, b); function __() { this.constructor = d; } d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); }; })(); -Object.defineProperty(exports, "__esModule", { value: true }); +Object.defineProperty(exports, "__esModule", ({ value: true })); exports.CaptureBookmarkRequestValidator = exports.CaptureBookmarkOptionsValidator = exports.ApplyBookmarkStateRequestValidator = exports.ApplyBookmarkByNameRequestValidator = exports.AddBookmarkRequestValidator = exports.PlayBookmarkRequestValidator = void 0; var multipleFieldsValidator_1 = __webpack_require__(3); var typeValidator_1 = __webpack_require__(4); @@ -1960,7 +2512,7 @@ exports.CaptureBookmarkRequestValidator = CaptureBookmarkRequestValidator; /***/ }), /* 6 */ -/***/ (function(module, exports, __webpack_require__) { +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. @@ -1968,16 +2520,18 @@ 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]; }; + function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; }; return extendStatics(d, b); }; return function (d, b) { + if (typeof b !== "function" && b !== null) + throw new TypeError("Class extends value " + String(b) + " is not a constructor or null"); extendStatics(d, b); function __() { this.constructor = d; } d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); }; })(); -Object.defineProperty(exports, "__esModule", { value: true }); +Object.defineProperty(exports, "__esModule", ({ value: true })); exports.PaginatedReportCommandsValidator = exports.SingleCommandSettingsValidator = exports.CommandsSettingsValidator = void 0; var multipleFieldsValidator_1 = __webpack_require__(3); var typeValidator_1 = __webpack_require__(4); @@ -2040,6 +2594,26 @@ var CommandsSettingsValidator = /** @class */ (function (_super) { field: "spotlight", validators: [validator_1.Validators.singleCommandSettingsValidator] }, + { + field: "insightsAnalysis", + validators: [validator_1.Validators.singleCommandSettingsValidator] + }, + { + field: "addComment", + validators: [validator_1.Validators.singleCommandSettingsValidator] + }, + { + field: "groupVisualContainers", + validators: [validator_1.Validators.singleCommandSettingsValidator] + }, + { + field: "summarize", + validators: [validator_1.Validators.singleCommandSettingsValidator] + }, + { + field: "clearSelection", + validators: [validator_1.Validators.singleCommandSettingsValidator] + } ]; var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields); return multipleFieldsValidator.validate(input, path, field); @@ -2105,7 +2679,7 @@ exports.PaginatedReportCommandsValidator = PaginatedReportCommandsValidator; /***/ }), /* 7 */ -/***/ (function(module, exports, __webpack_require__) { +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. @@ -2113,16 +2687,18 @@ 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]; }; + function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; }; return extendStatics(d, b); }; return function (d, b) { + if (typeof b !== "function" && b !== null) + throw new TypeError("Class extends value " + String(b) + " is not a constructor or null"); extendStatics(d, b); function __() { this.constructor = d; } d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); }; })(); -Object.defineProperty(exports, "__esModule", { value: true }); +Object.defineProperty(exports, "__esModule", ({ value: true })); exports.CustomThemeValidator = void 0; var multipleFieldsValidator_1 = __webpack_require__(3); var typeValidator_1 = __webpack_require__(4); @@ -2155,7 +2731,7 @@ exports.CustomThemeValidator = CustomThemeValidator; /***/ }), /* 8 */ -/***/ (function(module, exports, __webpack_require__) { +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. @@ -2163,16 +2739,18 @@ 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]; }; + function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; }; return extendStatics(d, b); }; return function (d, b) { + if (typeof b !== "function" && b !== null) + throw new TypeError("Class extends value " + String(b) + " is not a constructor or null"); extendStatics(d, b); function __() { this.constructor = d; } d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); }; })(); -Object.defineProperty(exports, "__esModule", { value: true }); +Object.defineProperty(exports, "__esModule", ({ value: true })); exports.DashboardLoadValidator = void 0; var multipleFieldsValidator_1 = __webpack_require__(3); var typeValidator_1 = __webpack_require__(4); @@ -2226,7 +2804,7 @@ exports.DashboardLoadValidator = DashboardLoadValidator; /***/ }), /* 9 */ -/***/ (function(module, exports, __webpack_require__) { +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. @@ -2234,16 +2812,18 @@ 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]; }; + function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; }; return extendStatics(d, b); }; return function (d, b) { + if (typeof b !== "function" && b !== null) + throw new TypeError("Class extends value " + String(b) + " is not a constructor or null"); extendStatics(d, b); function __() { this.constructor = d; } d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); }; })(); -Object.defineProperty(exports, "__esModule", { value: true }); +Object.defineProperty(exports, "__esModule", ({ value: true })); exports.DatasetBindingValidator = void 0; var multipleFieldsValidator_1 = __webpack_require__(3); var typeValidator_1 = __webpack_require__(4); @@ -2277,7 +2857,7 @@ exports.DatasetBindingValidator = DatasetBindingValidator; /***/ }), /* 10 */ -/***/ (function(module, exports, __webpack_require__) { +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. @@ -2285,16 +2865,18 @@ 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]; }; + function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; }; return extendStatics(d, b); }; return function (d, b) { + if (typeof b !== "function" && b !== null) + throw new TypeError("Class extends value " + String(b) + " is not a constructor or null"); extendStatics(d, b); function __() { this.constructor = d; } d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); }; })(); -Object.defineProperty(exports, "__esModule", { value: true }); +Object.defineProperty(exports, "__esModule", ({ value: true })); exports.ExportDataRequestValidator = void 0; var multipleFieldsValidator_1 = __webpack_require__(3); var typeValidator_1 = __webpack_require__(4); @@ -2331,7 +2913,7 @@ exports.ExportDataRequestValidator = ExportDataRequestValidator; /***/ }), /* 11 */ -/***/ (function(module, exports, __webpack_require__) { +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. @@ -2339,16 +2921,18 @@ 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]; }; + function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; }; return extendStatics(d, b); }; return function (d, b) { + if (typeof b !== "function" && b !== null) + throw new TypeError("Class extends value " + String(b) + " is not a constructor or null"); extendStatics(d, b); function __() { this.constructor = d; } d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); }; })(); -Object.defineProperty(exports, "__esModule", { value: true }); +Object.defineProperty(exports, "__esModule", ({ value: true })); exports.ExtensionsValidator = exports.MenuGroupExtensionValidator = exports.ExtensionValidator = exports.CommandExtensionValidator = exports.ExtensionItemValidator = exports.ExtensionPointsValidator = exports.GroupedMenuExtensionValidator = exports.FlatMenuExtensionValidator = exports.MenuExtensionBaseValidator = void 0; var multipleFieldsValidator_1 = __webpack_require__(3); var typeValidator_1 = __webpack_require__(4); @@ -2622,7 +3206,7 @@ exports.ExtensionsValidator = ExtensionsValidator; /***/ }), /* 12 */ -/***/ (function(module, exports, __webpack_require__) { +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. @@ -2630,16 +3214,18 @@ 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]; }; + function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; }; return extendStatics(d, b); }; return function (d, b) { + if (typeof b !== "function" && b !== null) + throw new TypeError("Class extends value " + String(b) + " is not a constructor or null"); extendStatics(d, b); function __() { this.constructor = d; } d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); }; })(); -Object.defineProperty(exports, "__esModule", { value: true }); +Object.defineProperty(exports, "__esModule", ({ value: true })); exports.OnLoadFiltersValidator = exports.OnLoadFiltersBaseRemoveOperationValidator = exports.OnLoadFiltersBaseValidator = exports.ConditionItemValidator = exports.RemoveFiltersRequestValidator = exports.UpdateFiltersRequestValidator = exports.FilterValidator = exports.IncludeExcludeFilterValidator = exports.NotSupportedFilterValidator = exports.TopNFilterValidator = exports.RelativeTimeFilterValidator = exports.RelativeDateFilterValidator = exports.RelativeDateTimeFilterValidator = exports.AdvancedFilterValidator = exports.BasicFilterValidator = exports.FilterValidatorBase = exports.FilterDisplaySettingsValidator = exports.FilterMeasureTargetValidator = exports.FilterKeyHierarchyTargetValidator = exports.FilterHierarchyTargetValidator = exports.FilterKeyColumnsTargetValidator = exports.FilterColumnTargetValidator = void 0; var multipleFieldsValidator_1 = __webpack_require__(3); var typeValidator_1 = __webpack_require__(4); @@ -3323,7 +3909,7 @@ exports.OnLoadFiltersValidator = OnLoadFiltersValidator; /***/ }), /* 13 */ -/***/ (function(module, exports, __webpack_require__) { +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. @@ -3331,16 +3917,18 @@ 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]; }; + function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; }; return extendStatics(d, b); }; return function (d, b) { + if (typeof b !== "function" && b !== null) + throw new TypeError("Class extends value " + String(b) + " is not a constructor or null"); extendStatics(d, b); function __() { this.constructor = d; } d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); }; })(); -Object.defineProperty(exports, "__esModule", { value: true }); +Object.defineProperty(exports, "__esModule", ({ value: true })); exports.PageLayoutValidator = exports.DisplayStateValidator = exports.VisualLayoutValidator = exports.CustomLayoutValidator = void 0; var multipleFieldsValidator_1 = __webpack_require__(3); var typeValidator_1 = __webpack_require__(4); @@ -3481,7 +4069,7 @@ exports.PageLayoutValidator = PageLayoutValidator; /***/ }), /* 14 */ -/***/ (function(module, exports, __webpack_require__) { +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. @@ -3489,16 +4077,18 @@ 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]; }; + function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; }; return extendStatics(d, b); }; return function (d, b) { + if (typeof b !== "function" && b !== null) + throw new TypeError("Class extends value " + String(b) + " is not a constructor or null"); extendStatics(d, b); function __() { this.constructor = d; } d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); }; })(); -Object.defineProperty(exports, "__esModule", { value: true }); +Object.defineProperty(exports, "__esModule", ({ value: true })); exports.PageViewFieldValidator = exports.PageValidator = exports.CustomPageSizeValidator = exports.PageSizeValidator = void 0; var multipleFieldsValidator_1 = __webpack_require__(3); var typeValidator_1 = __webpack_require__(4); @@ -3610,7 +4200,7 @@ exports.PageViewFieldValidator = PageViewFieldValidator; /***/ }), /* 15 */ -/***/ (function(module, exports, __webpack_require__) { +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. @@ -3618,16 +4208,18 @@ 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]; }; + function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; }; return extendStatics(d, b); }; return function (d, b) { + if (typeof b !== "function" && b !== null) + throw new TypeError("Class extends value " + String(b) + " is not a constructor or null"); extendStatics(d, b); function __() { this.constructor = d; } d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); }; })(); -Object.defineProperty(exports, "__esModule", { value: true }); +Object.defineProperty(exports, "__esModule", ({ value: true })); exports.VisualizationsPaneValidator = exports.SyncSlicersPaneValidator = exports.SelectionPaneValidator = exports.PageNavigationPaneValidator = exports.FiltersPaneValidator = exports.FieldsPaneValidator = exports.BookmarksPaneValidator = exports.QnaPanesValidator = exports.ReportPanesValidator = void 0; var multipleFieldsValidator_1 = __webpack_require__(3); var typeValidator_1 = __webpack_require__(4); @@ -3893,7 +4485,7 @@ exports.VisualizationsPaneValidator = VisualizationsPaneValidator; /***/ }), /* 16 */ -/***/ (function(module, exports, __webpack_require__) { +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. @@ -3901,16 +4493,18 @@ 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]; }; + function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; }; return extendStatics(d, b); }; return function (d, b) { + if (typeof b !== "function" && b !== null) + throw new TypeError("Class extends value " + String(b) + " is not a constructor or null"); extendStatics(d, b); function __() { this.constructor = d; } d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); }; })(); -Object.defineProperty(exports, "__esModule", { value: true }); +Object.defineProperty(exports, "__esModule", ({ value: true })); exports.QnaInterpretInputDataValidator = exports.QnaSettingsValidator = exports.LoadQnaValidator = void 0; var multipleFieldsValidator_1 = __webpack_require__(3); var typeValidator_1 = __webpack_require__(4); @@ -4030,7 +4624,7 @@ exports.QnaInterpretInputDataValidator = QnaInterpretInputDataValidator; /***/ }), /* 17 */ -/***/ (function(module, exports, __webpack_require__) { +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. @@ -4038,16 +4632,18 @@ 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]; }; + function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; }; return extendStatics(d, b); }; return function (d, b) { + if (typeof b !== "function" && b !== null) + throw new TypeError("Class extends value " + String(b) + " is not a constructor or null"); extendStatics(d, b); function __() { this.constructor = d; } d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); }; })(); -Object.defineProperty(exports, "__esModule", { value: true }); +Object.defineProperty(exports, "__esModule", ({ value: true })); exports.ReportCreateValidator = void 0; var multipleFieldsValidator_1 = __webpack_require__(3); var typeValidator_1 = __webpack_require__(4); @@ -4097,7 +4693,7 @@ exports.ReportCreateValidator = ReportCreateValidator; /***/ }), /* 18 */ -/***/ (function(module, exports, __webpack_require__) { +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. @@ -4105,16 +4701,18 @@ 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]; }; + function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; }; return extendStatics(d, b); }; return function (d, b) { + if (typeof b !== "function" && b !== null) + throw new TypeError("Class extends value " + String(b) + " is not a constructor or null"); extendStatics(d, b); function __() { this.constructor = d; } d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); }; })(); -Object.defineProperty(exports, "__esModule", { value: true }); +Object.defineProperty(exports, "__esModule", ({ value: true })); exports.ReportLoadValidator = void 0; var multipleFieldsValidator_1 = __webpack_require__(3); var typeValidator_1 = __webpack_require__(4); @@ -4200,7 +4798,7 @@ exports.ReportLoadValidator = ReportLoadValidator; /***/ }), /* 19 */ -/***/ (function(module, exports, __webpack_require__) { +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. @@ -4208,17 +4806,19 @@ 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]; }; + function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; }; return extendStatics(d, b); }; return function (d, b) { + if (typeof b !== "function" && b !== null) + throw new TypeError("Class extends value " + String(b) + " is not a constructor or null"); 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.PaginatedReportLoadValidator = void 0; +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.ReportParameterFieldsValidator = exports.PaginatedReportLoadValidator = void 0; var multipleFieldsValidator_1 = __webpack_require__(3); var typeValidator_1 = __webpack_require__(4); var validator_1 = __webpack_require__(1); @@ -4255,6 +4855,18 @@ var PaginatedReportLoadValidator = /** @class */ (function (_super) { { field: "tokenType", validators: [validator_1.Validators.tokenTypeValidator] + }, + { + field: "embedUrl", + validators: [validator_1.Validators.stringValidator] + }, + { + field: "type", + validators: [validator_1.Validators.stringValidator] + }, + { + field: "parameterValues", + validators: [validator_1.Validators.parameterValuesArrayValidator] } ]; var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields); @@ -4263,11 +4875,34 @@ var PaginatedReportLoadValidator = /** @class */ (function (_super) { return PaginatedReportLoadValidator; }(typeValidator_1.ObjectValidator)); exports.PaginatedReportLoadValidator = PaginatedReportLoadValidator; +var ReportParameterFieldsValidator = /** @class */ (function () { + function ReportParameterFieldsValidator() { + } + ReportParameterFieldsValidator.prototype.validate = function (input, path, field) { + if (input == null) { + return null; + } + var fields = [ + { + field: "name", + validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.stringValidator] + }, + { + field: "value", + validators: [validator_1.Validators.stringValidator] + }, + ]; + var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields); + return multipleFieldsValidator.validate(input, path, field); + }; + return ReportParameterFieldsValidator; +}()); +exports.ReportParameterFieldsValidator = ReportParameterFieldsValidator; /***/ }), /* 20 */ -/***/ (function(module, exports, __webpack_require__) { +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. @@ -4275,16 +4910,18 @@ 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]; }; + function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; }; return extendStatics(d, b); }; return function (d, b) { + if (typeof b !== "function" && b !== null) + throw new TypeError("Class extends value " + String(b) + " is not a constructor or null"); extendStatics(d, b); function __() { this.constructor = d; } d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); }; })(); -Object.defineProperty(exports, "__esModule", { value: true }); +Object.defineProperty(exports, "__esModule", ({ value: true })); exports.SaveAsParametersValidator = void 0; var multipleFieldsValidator_1 = __webpack_require__(3); var typeValidator_1 = __webpack_require__(4); @@ -4318,7 +4955,7 @@ exports.SaveAsParametersValidator = SaveAsParametersValidator; /***/ }), /* 21 */ -/***/ (function(module, exports, __webpack_require__) { +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. @@ -4326,16 +4963,18 @@ 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]; }; + function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; }; return extendStatics(d, b); }; return function (d, b) { + if (typeof b !== "function" && b !== null) + throw new TypeError("Class extends value " + String(b) + " is not a constructor or null"); extendStatics(d, b); function __() { this.constructor = d; } d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); }; })(); -Object.defineProperty(exports, "__esModule", { value: true }); +Object.defineProperty(exports, "__esModule", ({ value: true })); exports.SlicerTargetSelectorValidator = exports.VisualTypeSelectorValidator = exports.VisualSelectorValidator = void 0; var multipleFieldsValidator_1 = __webpack_require__(3); var typeValidator_1 = __webpack_require__(4); @@ -4433,7 +5072,7 @@ exports.SlicerTargetSelectorValidator = SlicerTargetSelectorValidator; /***/ }), /* 22 */ -/***/ (function(module, exports, __webpack_require__) { +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. @@ -4441,16 +5080,18 @@ 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]; }; + function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; }; return extendStatics(d, b); }; return function (d, b) { + if (typeof b !== "function" && b !== null) + throw new TypeError("Class extends value " + String(b) + " is not a constructor or null"); extendStatics(d, b); function __() { this.constructor = d; } d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); }; })(); -Object.defineProperty(exports, "__esModule", { value: true }); +Object.defineProperty(exports, "__esModule", ({ value: true })); exports.PaginatedReportSettingsValidator = exports.SettingsValidator = void 0; var multipleFieldsValidator_1 = __webpack_require__(3); var typeValidator_1 = __webpack_require__(4); @@ -4577,7 +5218,7 @@ exports.PaginatedReportSettingsValidator = PaginatedReportSettingsValidator; /***/ }), /* 23 */ -/***/ (function(module, exports, __webpack_require__) { +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. @@ -4585,16 +5226,18 @@ 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]; }; + function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; }; return extendStatics(d, b); }; return function (d, b) { + if (typeof b !== "function" && b !== null) + throw new TypeError("Class extends value " + String(b) + " is not a constructor or null"); extendStatics(d, b); function __() { this.constructor = d; } d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); }; })(); -Object.defineProperty(exports, "__esModule", { value: true }); +Object.defineProperty(exports, "__esModule", ({ value: true })); exports.SlicerStateValidator = exports.SlicerValidator = void 0; var multipleFieldsValidator_1 = __webpack_require__(3); var typeValidator_1 = __webpack_require__(4); @@ -4657,7 +5300,7 @@ exports.SlicerStateValidator = SlicerStateValidator; /***/ }), /* 24 */ -/***/ (function(module, exports, __webpack_require__) { +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. @@ -4665,16 +5308,18 @@ 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]; }; + function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; }; return extendStatics(d, b); }; return function (d, b) { + if (typeof b !== "function" && b !== null) + throw new TypeError("Class extends value " + String(b) + " is not a constructor or null"); extendStatics(d, b); function __() { this.constructor = d; } d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); }; })(); -Object.defineProperty(exports, "__esModule", { value: true }); +Object.defineProperty(exports, "__esModule", ({ value: true })); exports.TileLoadValidator = void 0; var multipleFieldsValidator_1 = __webpack_require__(3); var typeValidator_1 = __webpack_require__(4); @@ -4736,7 +5381,7 @@ exports.TileLoadValidator = TileLoadValidator; /***/ }), /* 25 */ -/***/ (function(module, exports, __webpack_require__) { +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. @@ -4744,16 +5389,18 @@ 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]; }; + function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; }; return extendStatics(d, b); }; return function (d, b) { + if (typeof b !== "function" && b !== null) + throw new TypeError("Class extends value " + String(b) + " is not a constructor or null"); extendStatics(d, b); function __() { this.constructor = d; } d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); }; })(); -Object.defineProperty(exports, "__esModule", { value: true }); +Object.defineProperty(exports, "__esModule", ({ value: true })); exports.VisualHeaderValidator = exports.VisualHeaderSettingsValidator = exports.VisualSettingsValidator = void 0; var multipleFieldsValidator_1 = __webpack_require__(3); var typeValidator_1 = __webpack_require__(4); @@ -4841,11 +5488,11 @@ exports.VisualHeaderValidator = VisualHeaderValidator; /***/ }), /* 26 */ -/***/ (function(module, exports) { +/***/ ((__unused_webpack_module, exports) => { // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. -Object.defineProperty(exports, "__esModule", { value: true }); +Object.defineProperty(exports, "__esModule", ({ value: true })); exports.AnyOfValidator = void 0; var AnyOfValidator = /** @class */ (function () { function AnyOfValidator(validators) { @@ -4880,11 +5527,11 @@ exports.AnyOfValidator = AnyOfValidator; /***/ }), /* 27 */ -/***/ (function(module, exports) { +/***/ ((__unused_webpack_module, exports) => { // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. -Object.defineProperty(exports, "__esModule", { value: true }); +Object.defineProperty(exports, "__esModule", ({ value: true })); exports.FieldForbiddenValidator = void 0; var FieldForbiddenValidator = /** @class */ (function () { function FieldForbiddenValidator() { @@ -4906,11 +5553,11 @@ exports.FieldForbiddenValidator = FieldForbiddenValidator; /***/ }), /* 28 */ -/***/ (function(module, exports) { +/***/ ((__unused_webpack_module, exports) => { // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. -Object.defineProperty(exports, "__esModule", { value: true }); +Object.defineProperty(exports, "__esModule", ({ value: true })); exports.FieldRequiredValidator = void 0; var FieldRequiredValidator = /** @class */ (function () { function FieldRequiredValidator() { @@ -4932,7 +5579,7 @@ exports.FieldRequiredValidator = FieldRequiredValidator; /***/ }), /* 29 */ -/***/ (function(module, exports, __webpack_require__) { +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. @@ -4940,16 +5587,18 @@ 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]; }; + function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; }; return extendStatics(d, b); }; return function (d, b) { + if (typeof b !== "function" && b !== null) + throw new TypeError("Class extends value " + String(b) + " is not a constructor or null"); extendStatics(d, b); function __() { this.constructor = d; } d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); }; })(); -Object.defineProperty(exports, "__esModule", { value: true }); +Object.defineProperty(exports, "__esModule", ({ value: true })); exports.MapValidator = void 0; var typeValidator_1 = __webpack_require__(4); var MapValidator = /** @class */ (function (_super) { @@ -4996,7 +5645,7 @@ exports.MapValidator = MapValidator; /***/ }), /* 30 */ -/***/ (function(module, exports, __webpack_require__) { +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. @@ -5004,16 +5653,18 @@ 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]; }; + function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; }; return extendStatics(d, b); }; return function (d, b) { + if (typeof b !== "function" && b !== null) + throw new TypeError("Class extends value " + String(b) + " is not a constructor or null"); extendStatics(d, b); function __() { this.constructor = d; } d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); }; })(); -Object.defineProperty(exports, "__esModule", { value: true }); +Object.defineProperty(exports, "__esModule", ({ value: true })); exports.ParametersPanelValidator = void 0; var multipleFieldsValidator_1 = __webpack_require__(3); var typeValidator_1 = __webpack_require__(4); @@ -5050,7 +5701,42 @@ exports.ParametersPanelValidator = ParametersPanelValidator; /***/ }) -/******/ ]); +/******/ ]); +/************************************************************************/ +/******/ // The module cache +/******/ var __webpack_module_cache__ = {}; +/******/ +/******/ // The require function +/******/ function __webpack_require__(moduleId) { +/******/ // Check if module is in cache +/******/ var cachedModule = __webpack_module_cache__[moduleId]; +/******/ if (cachedModule !== undefined) { +/******/ return cachedModule.exports; +/******/ } +/******/ // Create a new module (and put it into the cache) +/******/ var module = __webpack_module_cache__[moduleId] = { +/******/ // no module.id needed +/******/ // no module.loaded needed +/******/ exports: {} +/******/ }; +/******/ +/******/ // Execute the module function +/******/ __webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__); +/******/ +/******/ // Return the exports of the module +/******/ return module.exports; +/******/ } +/******/ +/************************************************************************/ +/******/ +/******/ // startup +/******/ // Load entry module and return exports +/******/ // This entry module is referenced by other modules so it can't be inlined +/******/ var __webpack_exports__ = __webpack_require__(0); +/******/ +/******/ return __webpack_exports__; +/******/ })() +; }); //# sourceMappingURL=models.js.map @@ -5848,34 +6534,1025 @@ return /******/ (function(modules) { // webpackBootstrap //# sourceMappingURL=route-recognizer.js.map /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(2)(module))) -/***/ }, -/* 2 */ -/***/ function(module, exports) { +/***/ }, +/* 2 */ +/***/ function(module, exports) { + + module.exports = function(module) { + if(!module.webpackPolyfill) { + module.deprecate = function() {}; + module.paths = []; + // module.parent = undefined by default + module.children = []; + module.webpackPolyfill = 1; + } + return module; + } + + +/***/ }, +/* 3 */ +/***/ function(module, exports) { + + module.exports = function() { throw new Error("define cannot be used indirect"); }; + + +/***/ } +/******/ ]) +}); +; +//# sourceMappingURL=router.js.map + +/***/ }), + +/***/ "./node_modules/process/browser.js": +/*!*****************************************!*\ + !*** ./node_modules/process/browser.js ***! + \*****************************************/ +/*! no static exports found */ +/***/ (function(module, exports) { + +// shim for using process in browser +var process = module.exports = {}; + +// cached from whatever global is present so that test runners that stub it +// don't break things. But we need to wrap it in a try catch in case it is +// wrapped in strict mode code which doesn't define any globals. It's inside a +// function because try/catches deoptimize in certain engines. + +var cachedSetTimeout; +var cachedClearTimeout; + +function defaultSetTimout() { + throw new Error('setTimeout has not been defined'); +} +function defaultClearTimeout () { + throw new Error('clearTimeout has not been defined'); +} +(function () { + try { + if (typeof setTimeout === 'function') { + cachedSetTimeout = setTimeout; + } else { + cachedSetTimeout = defaultSetTimout; + } + } catch (e) { + cachedSetTimeout = defaultSetTimout; + } + try { + if (typeof clearTimeout === 'function') { + cachedClearTimeout = clearTimeout; + } else { + cachedClearTimeout = defaultClearTimeout; + } + } catch (e) { + cachedClearTimeout = defaultClearTimeout; + } +} ()) +function runTimeout(fun) { + if (cachedSetTimeout === setTimeout) { + //normal enviroments in sane situations + return setTimeout(fun, 0); + } + // if setTimeout wasn't available but was latter defined + if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) { + cachedSetTimeout = setTimeout; + return setTimeout(fun, 0); + } + try { + // when when somebody has screwed with setTimeout but no I.E. maddness + return cachedSetTimeout(fun, 0); + } catch(e){ + try { + // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally + return cachedSetTimeout.call(null, fun, 0); + } catch(e){ + // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error + return cachedSetTimeout.call(this, fun, 0); + } + } + + +} +function runClearTimeout(marker) { + if (cachedClearTimeout === clearTimeout) { + //normal enviroments in sane situations + return clearTimeout(marker); + } + // if clearTimeout wasn't available but was latter defined + if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) { + cachedClearTimeout = clearTimeout; + return clearTimeout(marker); + } + try { + // when when somebody has screwed with setTimeout but no I.E. maddness + return cachedClearTimeout(marker); + } catch (e){ + try { + // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally + return cachedClearTimeout.call(null, marker); + } catch (e){ + // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error. + // Some versions of I.E. have different rules for clearTimeout vs setTimeout + return cachedClearTimeout.call(this, marker); + } + } + + + +} +var queue = []; +var draining = false; +var currentQueue; +var queueIndex = -1; + +function cleanUpNextTick() { + if (!draining || !currentQueue) { + return; + } + draining = false; + if (currentQueue.length) { + queue = currentQueue.concat(queue); + } else { + queueIndex = -1; + } + if (queue.length) { + drainQueue(); + } +} + +function drainQueue() { + if (draining) { + return; + } + var timeout = runTimeout(cleanUpNextTick); + draining = true; + + var len = queue.length; + while(len) { + currentQueue = queue; + queue = []; + while (++queueIndex < len) { + if (currentQueue) { + currentQueue[queueIndex].run(); + } + } + queueIndex = -1; + len = queue.length; + } + currentQueue = null; + draining = false; + runClearTimeout(timeout); +} + +process.nextTick = function (fun) { + var args = new Array(arguments.length - 1); + if (arguments.length > 1) { + for (var i = 1; i < arguments.length; i++) { + args[i - 1] = arguments[i]; + } + } + queue.push(new Item(fun, args)); + if (queue.length === 1 && !draining) { + runTimeout(drainQueue); + } +}; + +// v8 likes predictible objects +function Item(fun, array) { + this.fun = fun; + this.array = array; +} +Item.prototype.run = function () { + this.fun.apply(null, this.array); +}; +process.title = 'browser'; +process.browser = true; +process.env = {}; +process.argv = []; +process.version = ''; // empty string to avoid regexp issues +process.versions = {}; + +function noop() {} + +process.on = noop; +process.addListener = noop; +process.once = noop; +process.off = noop; +process.removeListener = noop; +process.removeAllListeners = noop; +process.emit = noop; +process.prependListener = noop; +process.prependOnceListener = noop; + +process.listeners = function (name) { return [] } + +process.binding = function (name) { + throw new Error('process.binding is not supported'); +}; + +process.cwd = function () { return '/' }; +process.chdir = function (dir) { + throw new Error('process.chdir is not supported'); +}; +process.umask = function() { return 0; }; - module.exports = function(module) { - if(!module.webpackPolyfill) { - module.deprecate = function() {}; - module.paths = []; - // module.parent = undefined by default - module.children = []; - module.webpackPolyfill = 1; - } - return module; - } +/***/ }), + +/***/ "./node_modules/util/node_modules/inherits/inherits_browser.js": +/*!*********************************************************************!*\ + !*** ./node_modules/util/node_modules/inherits/inherits_browser.js ***! + \*********************************************************************/ +/*! no static exports found */ +/***/ (function(module, exports) { -/***/ }, -/* 3 */ -/***/ function(module, exports) { +if (typeof Object.create === 'function') { + // implementation from standard node.js 'util' module + module.exports = function inherits(ctor, superCtor) { + ctor.super_ = superCtor + ctor.prototype = Object.create(superCtor.prototype, { + constructor: { + value: ctor, + enumerable: false, + writable: true, + configurable: true + } + }); + }; +} else { + // old school shim for old browsers + module.exports = function inherits(ctor, superCtor) { + ctor.super_ = superCtor + var TempCtor = function () {} + TempCtor.prototype = superCtor.prototype + ctor.prototype = new TempCtor() + ctor.prototype.constructor = ctor + } +} - module.exports = function() { throw new Error("define cannot be used indirect"); }; +/***/ }), + +/***/ "./node_modules/util/support/isBufferBrowser.js": +/*!******************************************************!*\ + !*** ./node_modules/util/support/isBufferBrowser.js ***! + \******************************************************/ +/*! no static exports found */ +/***/ (function(module, exports) { + +module.exports = function isBuffer(arg) { + return arg && typeof arg === 'object' + && typeof arg.copy === 'function' + && typeof arg.fill === 'function' + && typeof arg.readUInt8 === 'function'; +} + +/***/ }), + +/***/ "./node_modules/util/util.js": +/*!***********************************!*\ + !*** ./node_modules/util/util.js ***! + \***********************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +/* WEBPACK VAR INJECTION */(function(process) {// Copyright Joyent, Inc. and other Node contributors. +// +// Permission is hereby granted, free of charge, to any person obtaining a +// copy of this software and associated documentation files (the +// "Software"), to deal in the Software without restriction, including +// without limitation the rights to use, copy, modify, merge, publish, +// distribute, sublicense, and/or sell copies of the Software, and to permit +// persons to whom the Software is furnished to do so, subject to the +// following conditions: +// +// The above copyright notice and this permission notice shall be included +// in all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN +// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, +// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR +// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE +// USE OR OTHER DEALINGS IN THE SOFTWARE. + +var getOwnPropertyDescriptors = Object.getOwnPropertyDescriptors || + function getOwnPropertyDescriptors(obj) { + var keys = Object.keys(obj); + var descriptors = {}; + for (var i = 0; i < keys.length; i++) { + descriptors[keys[i]] = Object.getOwnPropertyDescriptor(obj, keys[i]); + } + return descriptors; + }; + +var formatRegExp = /%[sdj%]/g; +exports.format = function(f) { + if (!isString(f)) { + var objects = []; + for (var i = 0; i < arguments.length; i++) { + objects.push(inspect(arguments[i])); + } + return objects.join(' '); + } + + var i = 1; + var args = arguments; + var len = args.length; + var str = String(f).replace(formatRegExp, function(x) { + if (x === '%%') return '%'; + if (i >= len) return x; + switch (x) { + case '%s': return String(args[i++]); + case '%d': return Number(args[i++]); + case '%j': + try { + return JSON.stringify(args[i++]); + } catch (_) { + return '[Circular]'; + } + default: + return x; + } + }); + for (var x = args[i]; i < len; x = args[++i]) { + if (isNull(x) || !isObject(x)) { + str += ' ' + x; + } else { + str += ' ' + inspect(x); + } + } + return str; +}; + + +// Mark that a method should not be used. +// Returns a modified function which warns once by default. +// If --no-deprecation is set, then it is a no-op. +exports.deprecate = function(fn, msg) { + if (typeof process !== 'undefined' && process.noDeprecation === true) { + return fn; + } + + // Allow for deprecating things in the process of starting up. + if (typeof process === 'undefined') { + return function() { + return exports.deprecate(fn, msg).apply(this, arguments); + }; + } + + var warned = false; + function deprecated() { + if (!warned) { + if (process.throwDeprecation) { + throw new Error(msg); + } else if (process.traceDeprecation) { + console.trace(msg); + } else { + console.error(msg); + } + warned = true; + } + return fn.apply(this, arguments); + } + + return deprecated; +}; + + +var debugs = {}; +var debugEnviron; +exports.debuglog = function(set) { + if (isUndefined(debugEnviron)) + debugEnviron = process.env.NODE_DEBUG || ''; + set = set.toUpperCase(); + if (!debugs[set]) { + if (new RegExp('\\b' + set + '\\b', 'i').test(debugEnviron)) { + var pid = process.pid; + debugs[set] = function() { + var msg = exports.format.apply(exports, arguments); + console.error('%s %d: %s', set, pid, msg); + }; + } else { + debugs[set] = function() {}; + } + } + return debugs[set]; +}; + + +/** + * Echos the value of a value. Trys to print the value out + * in the best way possible given the different types. + * + * @param {Object} obj The object to print out. + * @param {Object} opts Optional options object that alters the output. + */ +/* legacy: obj, showHidden, depth, colors*/ +function inspect(obj, opts) { + // default options + var ctx = { + seen: [], + stylize: stylizeNoColor + }; + // legacy... + if (arguments.length >= 3) ctx.depth = arguments[2]; + if (arguments.length >= 4) ctx.colors = arguments[3]; + if (isBoolean(opts)) { + // legacy... + ctx.showHidden = opts; + } else if (opts) { + // got an "options" object + exports._extend(ctx, opts); + } + // set default options + if (isUndefined(ctx.showHidden)) ctx.showHidden = false; + if (isUndefined(ctx.depth)) ctx.depth = 2; + if (isUndefined(ctx.colors)) ctx.colors = false; + if (isUndefined(ctx.customInspect)) ctx.customInspect = true; + if (ctx.colors) ctx.stylize = stylizeWithColor; + return formatValue(ctx, obj, ctx.depth); +} +exports.inspect = inspect; + + +// http://en.wikipedia.org/wiki/ANSI_escape_code#graphics +inspect.colors = { + 'bold' : [1, 22], + 'italic' : [3, 23], + 'underline' : [4, 24], + 'inverse' : [7, 27], + 'white' : [37, 39], + 'grey' : [90, 39], + 'black' : [30, 39], + 'blue' : [34, 39], + 'cyan' : [36, 39], + 'green' : [32, 39], + 'magenta' : [35, 39], + 'red' : [31, 39], + 'yellow' : [33, 39] +}; + +// Don't use 'blue' not visible on cmd.exe +inspect.styles = { + 'special': 'cyan', + 'number': 'yellow', + 'boolean': 'yellow', + 'undefined': 'grey', + 'null': 'bold', + 'string': 'green', + 'date': 'magenta', + // "name": intentionally not styling + 'regexp': 'red' +}; + + +function stylizeWithColor(str, styleType) { + var style = inspect.styles[styleType]; + + if (style) { + return '\u001b[' + inspect.colors[style][0] + 'm' + str + + '\u001b[' + inspect.colors[style][1] + 'm'; + } else { + return str; + } +} + + +function stylizeNoColor(str, styleType) { + return str; +} + + +function arrayToHash(array) { + var hash = {}; + + array.forEach(function(val, idx) { + hash[val] = true; + }); + + return hash; +} + + +function formatValue(ctx, value, recurseTimes) { + // Provide a hook for user-specified inspect functions. + // Check that value is an object with an inspect function on it + if (ctx.customInspect && + value && + isFunction(value.inspect) && + // Filter out the util module, it's inspect function is special + value.inspect !== exports.inspect && + // Also filter out any prototype objects using the circular check. + !(value.constructor && value.constructor.prototype === value)) { + var ret = value.inspect(recurseTimes, ctx); + if (!isString(ret)) { + ret = formatValue(ctx, ret, recurseTimes); + } + return ret; + } + + // Primitive types cannot have properties + var primitive = formatPrimitive(ctx, value); + if (primitive) { + return primitive; + } + + // Look up the keys of the object. + var keys = Object.keys(value); + var visibleKeys = arrayToHash(keys); + + if (ctx.showHidden) { + keys = Object.getOwnPropertyNames(value); + } + + // IE doesn't make error fields non-enumerable + // http://msdn.microsoft.com/en-us/library/ie/dww52sbt(v=vs.94).aspx + if (isError(value) + && (keys.indexOf('message') >= 0 || keys.indexOf('description') >= 0)) { + return formatError(value); + } + + // Some type of object without properties can be shortcutted. + if (keys.length === 0) { + if (isFunction(value)) { + var name = value.name ? ': ' + value.name : ''; + return ctx.stylize('[Function' + name + ']', 'special'); + } + if (isRegExp(value)) { + return ctx.stylize(RegExp.prototype.toString.call(value), 'regexp'); + } + if (isDate(value)) { + return ctx.stylize(Date.prototype.toString.call(value), 'date'); + } + if (isError(value)) { + return formatError(value); + } + } + + var base = '', array = false, braces = ['{', '}']; + + // Make Array say that they are Array + if (isArray(value)) { + array = true; + braces = ['[', ']']; + } + + // Make functions say that they are functions + if (isFunction(value)) { + var n = value.name ? ': ' + value.name : ''; + base = ' [Function' + n + ']'; + } + + // Make RegExps say that they are RegExps + if (isRegExp(value)) { + base = ' ' + RegExp.prototype.toString.call(value); + } + + // Make dates with properties first say the date + if (isDate(value)) { + base = ' ' + Date.prototype.toUTCString.call(value); + } + + // Make error with message first say the error + if (isError(value)) { + base = ' ' + formatError(value); + } + + if (keys.length === 0 && (!array || value.length == 0)) { + return braces[0] + base + braces[1]; + } + + if (recurseTimes < 0) { + if (isRegExp(value)) { + return ctx.stylize(RegExp.prototype.toString.call(value), 'regexp'); + } else { + return ctx.stylize('[Object]', 'special'); + } + } + + ctx.seen.push(value); + + var output; + if (array) { + output = formatArray(ctx, value, recurseTimes, visibleKeys, keys); + } else { + output = keys.map(function(key) { + return formatProperty(ctx, value, recurseTimes, visibleKeys, key, array); + }); + } + + ctx.seen.pop(); + + return reduceToSingleString(output, base, braces); +} + + +function formatPrimitive(ctx, value) { + if (isUndefined(value)) + return ctx.stylize('undefined', 'undefined'); + if (isString(value)) { + var simple = '\'' + JSON.stringify(value).replace(/^"|"$/g, '') + .replace(/'/g, "\\'") + .replace(/\\"/g, '"') + '\''; + return ctx.stylize(simple, 'string'); + } + if (isNumber(value)) + return ctx.stylize('' + value, 'number'); + if (isBoolean(value)) + return ctx.stylize('' + value, 'boolean'); + // For some reason typeof null is "object", so special case here. + if (isNull(value)) + return ctx.stylize('null', 'null'); +} + + +function formatError(value) { + return '[' + Error.prototype.toString.call(value) + ']'; +} + + +function formatArray(ctx, value, recurseTimes, visibleKeys, keys) { + var output = []; + for (var i = 0, l = value.length; i < l; ++i) { + if (hasOwnProperty(value, String(i))) { + output.push(formatProperty(ctx, value, recurseTimes, visibleKeys, + String(i), true)); + } else { + output.push(''); + } + } + keys.forEach(function(key) { + if (!key.match(/^\d+$/)) { + output.push(formatProperty(ctx, value, recurseTimes, visibleKeys, + key, true)); + } + }); + return output; +} + + +function formatProperty(ctx, value, recurseTimes, visibleKeys, key, array) { + var name, str, desc; + desc = Object.getOwnPropertyDescriptor(value, key) || { value: value[key] }; + if (desc.get) { + if (desc.set) { + str = ctx.stylize('[Getter/Setter]', 'special'); + } else { + str = ctx.stylize('[Getter]', 'special'); + } + } else { + if (desc.set) { + str = ctx.stylize('[Setter]', 'special'); + } + } + if (!hasOwnProperty(visibleKeys, key)) { + name = '[' + key + ']'; + } + if (!str) { + if (ctx.seen.indexOf(desc.value) < 0) { + if (isNull(recurseTimes)) { + str = formatValue(ctx, desc.value, null); + } else { + str = formatValue(ctx, desc.value, recurseTimes - 1); + } + if (str.indexOf('\n') > -1) { + if (array) { + str = str.split('\n').map(function(line) { + return ' ' + line; + }).join('\n').substr(2); + } else { + str = '\n' + str.split('\n').map(function(line) { + return ' ' + line; + }).join('\n'); + } + } + } else { + str = ctx.stylize('[Circular]', 'special'); + } + } + if (isUndefined(name)) { + if (array && key.match(/^\d+$/)) { + return str; + } + name = JSON.stringify('' + key); + if (name.match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/)) { + name = name.substr(1, name.length - 2); + name = ctx.stylize(name, 'name'); + } else { + name = name.replace(/'/g, "\\'") + .replace(/\\"/g, '"') + .replace(/(^"|"$)/g, "'"); + name = ctx.stylize(name, 'string'); + } + } + + return name + ': ' + str; +} + + +function reduceToSingleString(output, base, braces) { + var numLinesEst = 0; + var length = output.reduce(function(prev, cur) { + numLinesEst++; + if (cur.indexOf('\n') >= 0) numLinesEst++; + return prev + cur.replace(/\u001b\[\d\d?m/g, '').length + 1; + }, 0); + + if (length > 60) { + return braces[0] + + (base === '' ? '' : base + '\n ') + + ' ' + + output.join(',\n ') + + ' ' + + braces[1]; + } + + return braces[0] + base + ' ' + output.join(', ') + ' ' + braces[1]; +} + + +// NOTE: These type checking functions intentionally don't use `instanceof` +// because it is fragile and can be easily faked with `Object.create()`. +function isArray(ar) { + return Array.isArray(ar); +} +exports.isArray = isArray; + +function isBoolean(arg) { + return typeof arg === 'boolean'; +} +exports.isBoolean = isBoolean; + +function isNull(arg) { + return arg === null; +} +exports.isNull = isNull; + +function isNullOrUndefined(arg) { + return arg == null; +} +exports.isNullOrUndefined = isNullOrUndefined; + +function isNumber(arg) { + return typeof arg === 'number'; +} +exports.isNumber = isNumber; + +function isString(arg) { + return typeof arg === 'string'; +} +exports.isString = isString; + +function isSymbol(arg) { + return typeof arg === 'symbol'; +} +exports.isSymbol = isSymbol; + +function isUndefined(arg) { + return arg === void 0; +} +exports.isUndefined = isUndefined; + +function isRegExp(re) { + return isObject(re) && objectToString(re) === '[object RegExp]'; +} +exports.isRegExp = isRegExp; + +function isObject(arg) { + return typeof arg === 'object' && arg !== null; +} +exports.isObject = isObject; + +function isDate(d) { + return isObject(d) && objectToString(d) === '[object Date]'; +} +exports.isDate = isDate; + +function isError(e) { + return isObject(e) && + (objectToString(e) === '[object Error]' || e instanceof Error); +} +exports.isError = isError; + +function isFunction(arg) { + return typeof arg === 'function'; +} +exports.isFunction = isFunction; + +function isPrimitive(arg) { + return arg === null || + typeof arg === 'boolean' || + typeof arg === 'number' || + typeof arg === 'string' || + typeof arg === 'symbol' || // ES6 symbol + typeof arg === 'undefined'; +} +exports.isPrimitive = isPrimitive; + +exports.isBuffer = __webpack_require__(/*! ./support/isBuffer */ "./node_modules/util/support/isBufferBrowser.js"); + +function objectToString(o) { + return Object.prototype.toString.call(o); +} + + +function pad(n) { + return n < 10 ? '0' + n.toString(10) : n.toString(10); +} + + +var months = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', + 'Oct', 'Nov', 'Dec']; + +// 26 Feb 16:19:34 +function timestamp() { + var d = new Date(); + var time = [pad(d.getHours()), + pad(d.getMinutes()), + pad(d.getSeconds())].join(':'); + return [d.getDate(), months[d.getMonth()], time].join(' '); +} + + +// log is just a thin wrapper to console.log that prepends a timestamp +exports.log = function() { + console.log('%s - %s', timestamp(), exports.format.apply(exports, arguments)); +}; + + +/** + * Inherit the prototype methods from one constructor into another. + * + * The Function.prototype.inherits from lang.js rewritten as a standalone + * function (not on Function.prototype). NOTE: If this file is to be loaded + * during bootstrapping this function needs to be rewritten using some native + * functions as prototype setup using normal JavaScript does not work as + * expected during bootstrapping (see mirror.js in r114903). + * + * @param {function} ctor Constructor function which needs to inherit the + * prototype. + * @param {function} superCtor Constructor function to inherit prototype from. + */ +exports.inherits = __webpack_require__(/*! inherits */ "./node_modules/util/node_modules/inherits/inherits_browser.js"); + +exports._extend = function(origin, add) { + // Don't do anything if add isn't an object + if (!add || !isObject(add)) return origin; + + var keys = Object.keys(add); + var i = keys.length; + while (i--) { + origin[keys[i]] = add[keys[i]]; + } + return origin; +}; + +function hasOwnProperty(obj, prop) { + return Object.prototype.hasOwnProperty.call(obj, prop); +} + +var kCustomPromisifiedSymbol = typeof Symbol !== 'undefined' ? Symbol('util.promisify.custom') : undefined; + +exports.promisify = function promisify(original) { + if (typeof original !== 'function') + throw new TypeError('The "original" argument must be of type Function'); + + if (kCustomPromisifiedSymbol && original[kCustomPromisifiedSymbol]) { + var fn = original[kCustomPromisifiedSymbol]; + if (typeof fn !== 'function') { + throw new TypeError('The "util.promisify.custom" argument must be of type Function'); + } + Object.defineProperty(fn, kCustomPromisifiedSymbol, { + value: fn, enumerable: false, writable: false, configurable: true + }); + return fn; + } + + function fn() { + var promiseResolve, promiseReject; + var promise = new Promise(function (resolve, reject) { + promiseResolve = resolve; + promiseReject = reject; + }); + + var args = []; + for (var i = 0; i < arguments.length; i++) { + args.push(arguments[i]); + } + args.push(function (err, value) { + if (err) { + promiseReject(err); + } else { + promiseResolve(value); + } + }); + + try { + original.apply(this, args); + } catch (err) { + promiseReject(err); + } + + return promise; + } + + Object.setPrototypeOf(fn, Object.getPrototypeOf(original)); + + if (kCustomPromisifiedSymbol) Object.defineProperty(fn, kCustomPromisifiedSymbol, { + value: fn, enumerable: false, writable: false, configurable: true + }); + return Object.defineProperties( + fn, + getOwnPropertyDescriptors(original) + ); +} + +exports.promisify.custom = kCustomPromisifiedSymbol + +function callbackifyOnRejected(reason, cb) { + // `!reason` guard inspired by bluebird (Ref: https://goo.gl/t5IS6M). + // Because `null` is a special error value in callbacks which means "no error + // occurred", we error-wrap so the callback consumer can distinguish between + // "the promise rejected with null" or "the promise fulfilled with undefined". + if (!reason) { + var newReason = new Error('Promise was rejected with a falsy value'); + newReason.reason = reason; + reason = newReason; + } + return cb(reason); +} + +function callbackify(original) { + if (typeof original !== 'function') { + throw new TypeError('The "original" argument must be of type Function'); + } + + // We DO NOT return the promise as it gives the user a false sense that + // the promise is actually somehow related to the callback's execution + // and that the callback throwing will reject the promise. + function callbackified() { + var args = []; + for (var i = 0; i < arguments.length; i++) { + args.push(arguments[i]); + } + + var maybeCb = args.pop(); + if (typeof maybeCb !== 'function') { + throw new TypeError('The last argument must be of type Function'); + } + var self = this; + var cb = function() { + return maybeCb.apply(self, arguments); + }; + // In true node style we process the callback on `nextTick` with all the + // implications (stack, `uncaughtException`, `async_hooks`) + original.apply(this, args) + .then(function(ret) { process.nextTick(cb, null, ret) }, + function(rej) { process.nextTick(callbackifyOnRejected, rej, cb) }); + } + + Object.setPrototypeOf(callbackified, Object.getPrototypeOf(original)); + Object.defineProperties(callbackified, + getOwnPropertyDescriptors(original)); + return callbackified; +} +exports.callbackify = callbackify; + +/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./../process/browser.js */ "./node_modules/process/browser.js"))) + +/***/ }), + +/***/ "./node_modules/webpack/buildin/global.js": +/*!***********************************!*\ + !*** (webpack)/buildin/global.js ***! + \***********************************/ +/*! no static exports found */ +/***/ (function(module, exports) { + +var g; + +// This works in non-strict mode +g = (function() { + return this; +})(); + +try { + // This works if eval is allowed (see CSP) + g = g || new Function("return this")(); +} catch (e) { + // This works if the window reference is available + if (typeof window === "object") g = window; +} + +// g can still be undefined, but nothing to do about it... +// We return undefined, instead of nothing here, so it's +// easier to handle this case. if(!global) { ...} + +module.exports = g; -/***/ } -/******/ ]) -}); -; -//# sourceMappingURL=router.js.map /***/ }), @@ -7167,7 +8844,7 @@ exports.BookmarksManager = BookmarksManager; Object.defineProperty(exports, "__esModule", { value: true }); /** @ignore */ /** */ var config = { - version: '2.19.1', + version: '2.20.0', type: 'js' }; exports.default = config; @@ -7594,24 +9271,32 @@ var Embed = /** @class */ (function () { * @returns {Promise} */ Embed.prototype.createReport = function (config) { + var _a; return __awaiter(this, void 0, void 0, function () { - var errors, response, response_1; - return __generator(this, function (_a) { - switch (_a.label) { + var errors, headers, response, response_1; + return __generator(this, function (_b) { + switch (_b.label) { case 0: errors = models.validateCreateReport(config); if (errors) { throw errors; } - _a.label = 1; + _b.label = 1; case 1: - _a.trys.push([1, 3, , 4]); - return [4 /*yield*/, this.service.hpm.post("/report/create", config, { uid: this.config.uniqueId, sdkSessionId: this.service.getSdkSessionId() }, this.iframe.contentWindow)]; + _b.trys.push([1, 3, , 4]); + headers = { + uid: this.config.uniqueId, + sdkSessionId: this.service.getSdkSessionId() + }; + if (!!((_a = this.eventHooks) === null || _a === void 0 ? void 0 : _a.accessTokenProvider)) { + headers.tokenProviderSupplied = true; + } + return [4 /*yield*/, this.service.hpm.post("/report/create", config, headers, this.iframe.contentWindow)]; case 2: - response = _a.sent(); + response = _b.sent(); return [2 /*return*/, response.body]; case 3: - response_1 = _a.sent(); + response_1 = _b.sent(); throw response_1.body; case 4: return [2 /*return*/]; } @@ -7725,10 +9410,11 @@ var Embed = /** @class */ (function () { * @returns {Promise} */ Embed.prototype.load = function (phasedRender) { + var _a; return __awaiter(this, void 0, void 0, function () { var path, headers, timeNow, response, response_5; - return __generator(this, function (_a) { - switch (_a.label) { + return __generator(this, function (_b) { + switch (_b.label) { case 0: if (!this.config.accessToken) { console.debug("Power BI SDK iframe is loaded but powerbi.embed is not called yet."); @@ -7745,21 +9431,24 @@ var Embed = /** @class */ (function () { bootstrapped: this.config.bootstrapped, sdkVersion: sdkConfig.default.version }; + if (!!((_a = this.eventHooks) === null || _a === void 0 ? void 0 : _a.accessTokenProvider)) { + headers.tokenProviderSupplied = true; + } timeNow = new Date(); if (this.lastLoadRequest && (0, util_1.getTimeDiffInMilliseconds)(this.lastLoadRequest, timeNow) < 100) { console.debug("Power BI SDK sent more than two /report/load requests in the last 100ms interval."); return [2 /*return*/]; } this.lastLoadRequest = timeNow; - _a.label = 1; + _b.label = 1; case 1: - _a.trys.push([1, 3, , 4]); + _b.trys.push([1, 3, , 4]); return [4 /*yield*/, this.service.hpm.post(path, this.config, headers, this.iframe.contentWindow)]; case 2: - response = _a.sent(); + response = _b.sent(); return [2 /*return*/, response.body]; case 3: - response_5 = _a.sent(); + response_5 = _b.sent(); throw response_5.body; case 4: return [2 /*return*/]; } @@ -7944,12 +9633,12 @@ var Embed = /** @class */ (function () { this.configChanged(isBootstrap); }; /** - * Validate EventHooks - * - * @private - * @param {models.EventHooks} eventHooks - * @hidden - */ + * Validate EventHooks + * + * @private + * @param {models.EventHooks} eventHooks + * @hidden + */ Embed.prototype.validateEventHooks = function (eventHooks) { if (!eventHooks) { return; @@ -7968,7 +9657,7 @@ var Embed = /** @class */ (function () { } var accessTokenProvider = eventHooks.accessTokenProvider; if (!!accessTokenProvider) { - if (this.embedtype.toLowerCase() !== "report" || this.config.tokenType !== models.TokenType.Aad) { + if ((['create', 'quickcreate', 'report'].indexOf(this.embedtype.toLowerCase()) === -1) || this.config.tokenType !== models.TokenType.Aad) { throw new Error("accessTokenProvider is only supported in report SaaS embed"); } } @@ -9125,6 +10814,7 @@ var util_1 = __webpack_require__(/*! ./util */ "./src/util.ts"); var errors_1 = __webpack_require__(/*! ./errors */ "./src/errors.ts"); var page_1 = __webpack_require__(/*! ./page */ "./src/page.ts"); var bookmarksManager_1 = __webpack_require__(/*! ./bookmarksManager */ "./src/bookmarksManager.ts"); +var assert = __webpack_require__(/*! assert */ "./node_modules/assert/assert.js"); /** * The Power BI Report embed component * @@ -9152,6 +10842,39 @@ var Report = /** @class */ (function (_super) { _this.phasedLoadPath = "/report/prepare"; Array.prototype.push.apply(_this.allowedEvents, Report.allowedEvents); _this.bookmarksManager = new bookmarksManager_1.BookmarksManager(service, config, _this.iframe); + service.router.post("/reports/".concat(_this.config.uniqueId, "/eventHooks/:eventName"), function (req, _res) { return __awaiter(_this, void 0, void 0, function () { + var _a; + var _b, _c; + return __generator(this, function (_d) { + switch (_d.label) { + case 0: + _a = req.params.eventName; + switch (_a) { + case "preQuery": return [3 /*break*/, 1]; + case "newAccessToken": return [3 /*break*/, 3]; + } + return [3 /*break*/, 5]; + case 1: + req.body = req.body || {}; + req.body.report = this; + return [4 /*yield*/, service.invokeSDKHook((_b = this.eventHooks) === null || _b === void 0 ? void 0 : _b.applicationContextProvider, req, _res)]; + case 2: + _d.sent(); + return [3 /*break*/, 6]; + case 3: + req.body = req.body || {}; + req.body.report = this; + return [4 /*yield*/, service.invokeSDKHook((_c = this.eventHooks) === null || _c === void 0 ? void 0 : _c.accessTokenProvider, req, _res)]; + case 4: + _d.sent(); + return [3 /*break*/, 6]; + case 5: + assert(false, "".concat(req.params.eventName, " eventHook is not supported")); + return [3 /*break*/, 6]; + case 6: return [2 /*return*/]; + } + }); + }); }); return _this; } /** @@ -10597,49 +12320,12 @@ var Service = /** @class */ (function () { * @hidden */ function Service(hpmFactory, wpmpFactory, routerFactory, config) { - var _this = this; if (config === void 0) { config = {}; } + var _this = this; this.wpmp = wpmpFactory(config.wpmpName, config.logMessages); this.hpm = hpmFactory(this.wpmp, null, config.version, config.type); this.router = routerFactory(this.wpmp); this.uniqueSessionId = utils.generateUUID(); - this.router.post('/reports/:uniqueId/eventHooks/:eventName', function (req, _res) { return __awaiter(_this, void 0, void 0, function () { - var embed, _a; - var _b, _c; - return __generator(this, function (_d) { - switch (_d.label) { - case 0: - embed = utils.find(function (embed) { - return (embed.config.uniqueId === req.params.uniqueId); - }, this.embeds); - if (!embed) { - return [2 /*return*/]; - } - _a = req.params.eventName; - switch (_a) { - case "preQuery": return [3 /*break*/, 1]; - case "newAccessToken": return [3 /*break*/, 3]; - } - return [3 /*break*/, 5]; - case 1: - req.body = req.body || {}; - req.body.report = embed; - return [4 /*yield*/, this.invokeSDKHook((_b = embed.eventHooks) === null || _b === void 0 ? void 0 : _b.applicationContextProvider, req, _res)]; - case 2: - _d.sent(); - return [3 /*break*/, 6]; - case 3: - req.body = req.body || {}; - req.body.report = embed; - return [4 /*yield*/, this.invokeSDKHook((_c = embed.eventHooks) === null || _c === void 0 ? void 0 : _c.accessTokenProvider, req, _res)]; - case 4: - _d.sent(); - return [3 /*break*/, 6]; - case 5: return [3 /*break*/, 6]; - case 6: return [2 /*return*/]; - } - }); - }); }); /** * Adds handler for report events. */ diff --git a/dist/powerbi.min.js b/dist/powerbi.min.js index a164467e..25211c2d 100644 --- a/dist/powerbi.min.js +++ b/dist/powerbi.min.js @@ -1,10 +1,21 @@ -// powerbi-client v2.19.1 +// powerbi-client v2.20.0 // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. -!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){var e={};function r(i){if(e[i])return e[i].exports;var a=e[i]={i:i,l:!1,exports:{}};return t[i].call(a.exports,a,a.exports,r),a.l=!0,a.exports}return r.m=t,r.c=e,r.d=function(t,e,i){r.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:i})},r.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},r.t=function(t,e){if(1&e&&(t=r(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var i=Object.create(null);if(r.r(i),Object.defineProperty(i,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var a in t)r.d(i,a,function(e){return t[e]}.bind(null,a));return i},r.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return r.d(e,"a",e),e},r.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},r.p="",r(r.s=13)}([function(t,e,r){var i;i=function(){return function(t){var e={};function r(i){if(e[i])return e[i].exports;var a=e[i]={i:i,l:!1,exports:{}};return t[i].call(a.exports,a,a.exports,r),a.l=!0,a.exports}return r.m=t,r.c=e,r.d=function(t,e,i){r.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:i})},r.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},r.t=function(t,e){if(1&e&&(t=r(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var i=Object.create(null);if(r.r(i),Object.defineProperty(i,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var a in t)r.d(i,a,function(e){return t[e]}.bind(null,a));return i},r.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return r.d(e,"a",e),e},r.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},r.p="",r(r.s=0)}([function(t,e,r){var i,a=this&&this.__extends||(i=function(t,e){return(i=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])})(t,e)},function(t,e){function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.validateZoomLevel=e.validateCustomTheme=e.validateCommandsSettings=e.validateVisualSettings=e.validateVisualHeader=e.validateExportDataRequest=e.validateQnaInterpretInputData=e.validateLoadQnaConfiguration=e.validateSaveAsParameters=e.validateUpdateFiltersRequest=e.validateFilter=e.validatePage=e.validateTileLoad=e.validateDashboardLoad=e.validateCreateReport=e.validatePaginatedReportLoad=e.validateReportLoad=e.validateMenuGroupExtension=e.validateExtension=e.validateCustomPageSize=e.validateVisualizationsPane=e.validateSyncSlicersPane=e.validateSelectionPane=e.validatePageNavigationPane=e.validateFieldsPane=e.validateFiltersPane=e.validateBookmarksPane=e.validatePanes=e.validateSettings=e.validateCaptureBookmarkRequest=e.validateApplyBookmarkStateRequest=e.validateApplyBookmarkByNameRequest=e.validateAddBookmarkRequest=e.validatePlayBookmarkRequest=e.validateSlicerState=e.validateSlicer=e.validateVisualSelector=e.isIExtensionArray=e.isIExtensions=e.isGroupedMenuExtension=e.isFlatMenuExtension=e.isReportFiltersArray=e.isOnLoadFilters=e.VisualDataRoleKindPreference=e.VisualDataRoleKind=e.CommandDisplayOption=e.SlicerTargetSelector=e.VisualTypeSelector=e.VisualSelector=e.PageSelector=e.Selector=e.SortDirection=e.LegendPosition=e.TextAlignment=e.CommonErrorCodes=e.BookmarksPlayMode=e.ExportDataType=e.QnaMode=e.PageNavigationPosition=e.isColumnAggr=e.isHierarchyLevelAggr=e.isHierarchyLevel=e.isColumn=e.isMeasure=e.getFilterType=e.isBasicFilterWithKeys=e.isFilterKeyColumnsTarget=e.AdvancedFilter=e.TupleFilter=e.IdentityFilter=e.BasicFilterWithKeys=e.BasicFilter=e.RelativeTimeFilter=e.RelativeDateFilter=e.TopNFilter=e.IncludeExcludeFilter=e.NotSupportedFilter=e.Filter=e.RelativeDateOperators=e.RelativeDateFilterTimeUnit=e.FilterType=e.FiltersLevel=e.FiltersOperations=e.MenuLocation=e.ContrastMode=e.TokenType=e.ViewMode=e.Permissions=e.SectionVisibility=e.ReportAlignment=e.HyperlinkClickBehavior=e.LayoutType=e.VisualContainerDisplayMode=e.BackgroundType=e.DisplayOption=e.PageSizeType=e.TraceType=void 0;var o,n=r(1);!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"}(e.TraceType||(e.TraceType={})),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",t[t.Mobile=5]="Mobile"}(e.PageSizeType||(e.PageSizeType={})),function(t){t[t.FitToPage=0]="FitToPage",t[t.FitToWidth=1]="FitToWidth",t[t.ActualSize=2]="ActualSize"}(e.DisplayOption||(e.DisplayOption={})),function(t){t[t.Default=0]="Default",t[t.Transparent=1]="Transparent"}(e.BackgroundType||(e.BackgroundType={})),function(t){t[t.Visible=0]="Visible",t[t.Hidden=1]="Hidden"}(e.VisualContainerDisplayMode||(e.VisualContainerDisplayMode={})),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={})),function(t){t[t.Navigate=0]="Navigate",t[t.NavigateAndRaiseEvent=1]="NavigateAndRaiseEvent",t[t.RaiseEvent=2]="RaiseEvent"}(e.HyperlinkClickBehavior||(e.HyperlinkClickBehavior={})),function(t){t[t.Left=0]="Left",t[t.Center=1]="Center",t[t.Right=2]="Right",t[t.None=3]="None"}(e.ReportAlignment||(e.ReportAlignment={})),function(t){t[t.AlwaysVisible=0]="AlwaysVisible",t[t.HiddenInViewMode=1]="HiddenInViewMode"}(e.SectionVisibility||(e.SectionVisibility={})),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"}(e.Permissions||(e.Permissions={})),function(t){t[t.View=0]="View",t[t.Edit=1]="Edit"}(e.ViewMode||(e.ViewMode={})),function(t){t[t.Aad=0]="Aad",t[t.Embed=1]="Embed"}(e.TokenType||(e.TokenType={})),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"}(e.ContrastMode||(e.ContrastMode={})),function(t){t[t.Bottom=0]="Bottom",t[t.Top=1]="Top"}(e.MenuLocation||(e.MenuLocation={})),function(t){t[t.RemoveAll=0]="RemoveAll",t[t.ReplaceAll=1]="ReplaceAll",t[t.Add=2]="Add",t[t.Replace=3]="Replace"}(e.FiltersOperations||(e.FiltersOperations={})),function(t){t[t.Report=0]="Report",t[t.Page=1]="Page",t[t.Visual=2]="Visual"}(e.FiltersLevel||(e.FiltersLevel={})),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",t[t.Identity=8]="Identity"}(o=e.FilterType||(e.FilterType={})),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"}(e.RelativeDateFilterTimeUnit||(e.RelativeDateFilterTimeUnit={})),function(t){t[t.InLast=0]="InLast",t[t.InThis=1]="InThis",t[t.InNext=2]="InNext"}(e.RelativeDateOperators||(e.RelativeDateOperators={}));var l=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=l;var s=function(t){function e(r,i,a){var n=t.call(this,r,o.Unknown)||this;return n.message=i,n.notSupportedTypeName=a,n.schemaUrl=e.schemaUrl,n}return a(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}(l);e.NotSupportedFilter=s;var u=function(t){function e(r,i,a){var n=t.call(this,r,o.IncludeExclude)||this;return n.values=a,n.isExclude=i,n.schemaUrl=e.schemaUrl,n}return a(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}(l);e.IncludeExcludeFilter=u;var d=function(t){function e(r,i,a,n){var l=t.call(this,r,o.TopN)||this;return l.operator=i,l.itemCount=a,l.schemaUrl=e.schemaUrl,l.orderBy=n,l}return a(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}(l);e.TopNFilter=d;var c=function(t){function e(r,i,a,n,l){var s=t.call(this,r,o.RelativeDate)||this;return s.operator=i,s.timeUnitsCount=a,s.timeUnitType=n,s.includeToday=l,s.schemaUrl=e.schemaUrl,s}return a(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}(l);e.RelativeDateFilter=c;var p=function(t){function e(r,i,a,n){var l=t.call(this,r,o.RelativeTime)||this;return l.operator=i,l.timeUnitsCount=a,l.timeUnitType=n,l.schemaUrl=e.schemaUrl,l}return a(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}(l);e.RelativeTimeFilter=p;var f=function(t){function e(r,i){for(var a=[],n=2;n0&&!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,s=o.keyValues;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 s.conditions=l,s}return a(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}(l);function V(t){if(t.filterType)return t.filterType;var e=t,r=t;return"string"==typeof e.operator&&Array.isArray(e.values)?o.Basic:"string"==typeof r.logicalOperator&&Array.isArray(r.conditions)?o.Advanced:o.Unknown}function g(t){return!(!t.table||!t.column||t.aggregationFunction)}e.AdvancedFilter=m,e.isFilterKeyColumnsTarget=function(t){return g(t)&&!!t.keys},e.isBasicFilterWithKeys=function(t){return V(t)===o.Basic&&!!t.keyValues},e.getFilterType=V,e.isMeasure=function(t){return void 0!==t.table&&void 0!==t.measure},e.isColumn=g,e.isHierarchyLevel=function(t){return!(!(t.table&&t.hierarchy&&t.hierarchyLevel)||t.aggregationFunction)},e.isHierarchyLevelAggr=function(t){return!!(t.table&&t.hierarchy&&t.hierarchyLevel&&t.aggregationFunction)},e.isColumnAggr=function(t){return!!(t.table&&t.column&&t.aggregationFunction)},function(t){t[t.Bottom=0]="Bottom",t[t.Left=1]="Left"}(e.PageNavigationPosition||(e.PageNavigationPosition={})),function(t){t[t.Interactive=0]="Interactive",t[t.ResultOnly=1]="ResultOnly"}(e.QnaMode||(e.QnaMode={})),function(t){t[t.Summarized=0]="Summarized",t[t.Underlying=1]="Underlying"}(e.ExportDataType||(e.ExportDataType={})),function(t){t[t.Off=0]="Off",t[t.Presentation=1]="Presentation"}(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"},function(t){t[t.Ascending=1]="Ascending",t[t.Descending=2]="Descending"}(e.SortDirection||(e.SortDirection={}));var b=function(){function t(t){this.$schema=t}return t.prototype.toJSON=function(){return{$schema:this.$schema}},t}();e.Selector=b;var w=function(t){function e(r){var i=t.call(this,e.schemaUrl)||this;return i.pageName=r,i}return a(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}(b);e.PageSelector=w;var P=function(t){function e(r){var i=t.call(this,e.schemaUrl)||this;return i.visualName=r,i}return a(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}(b);e.VisualSelector=P;var _=function(t){function e(e){var r=t.call(this,P.schemaUrl)||this;return r.visualType=e,r}return a(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}(b);e.VisualTypeSelector=_;var O=function(t){function e(e){var r=t.call(this,P.schemaUrl)||this;return r.target=e,r}return a(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}(b);function S(t){return Array.isArray(t)}function T(t){return t&&!!t.groupName}function E(t){return Array.isArray(t)}function F(t){var e=t.message;return e||(e=t.path+" is invalid. Not meeting "+t.keyword+" constraint"),{message:e}}e.SlicerTargetSelector=O,function(t){t[t.Enabled=0]="Enabled",t[t.Disabled=1]="Disabled",t[t.Hidden=2]="Hidden"}(e.CommandDisplayOption||(e.CommandDisplayOption={})),function(t){t[t.Grouping=0]="Grouping",t[t.Measure=1]="Measure",t[t.GroupingOrMeasure=2]="GroupingOrMeasure"}(e.VisualDataRoleKind||(e.VisualDataRoleKind={})),function(t){t[t.Measure=0]="Measure",t[t.Grouping=1]="Grouping"}(e.VisualDataRoleKindPreference||(e.VisualDataRoleKindPreference={})),e.isOnLoadFilters=function(t){return t&&!S(t)},e.isReportFiltersArray=S,e.isFlatMenuExtension=function(t){return t&&!T(t)},e.isGroupedMenuExtension=T,e.isIExtensions=function(t){return t&&!E(t)},e.isIExtensionArray=E,e.validateVisualSelector=function(t){var e=n.Validators.visualSelectorValidator.validate(t);return e?e.map(F):void 0},e.validateSlicer=function(t){var e=n.Validators.slicerValidator.validate(t);return e?e.map(F):void 0},e.validateSlicerState=function(t){var e=n.Validators.slicerStateValidator.validate(t);return e?e.map(F):void 0},e.validatePlayBookmarkRequest=function(t){var e=n.Validators.playBookmarkRequestValidator.validate(t);return e?e.map(F):void 0},e.validateAddBookmarkRequest=function(t){var e=n.Validators.addBookmarkRequestValidator.validate(t);return e?e.map(F):void 0},e.validateApplyBookmarkByNameRequest=function(t){var e=n.Validators.applyBookmarkByNameRequestValidator.validate(t);return e?e.map(F):void 0},e.validateApplyBookmarkStateRequest=function(t){var e=n.Validators.applyBookmarkStateRequestValidator.validate(t);return e?e.map(F):void 0},e.validateCaptureBookmarkRequest=function(t){var e=n.Validators.captureBookmarkRequestValidator.validate(t);return e?e.map(F):void 0},e.validateSettings=function(t){var e=n.Validators.settingsValidator.validate(t);return e?e.map(F):void 0},e.validatePanes=function(t){var e=n.Validators.reportPanesValidator.validate(t);return e?e.map(F):void 0},e.validateBookmarksPane=function(t){var e=n.Validators.bookmarksPaneValidator.validate(t);return e?e.map(F):void 0},e.validateFiltersPane=function(t){var e=n.Validators.filtersPaneValidator.validate(t);return e?e.map(F):void 0},e.validateFieldsPane=function(t){var e=n.Validators.fieldsPaneValidator.validate(t);return e?e.map(F):void 0},e.validatePageNavigationPane=function(t){var e=n.Validators.pageNavigationPaneValidator.validate(t);return e?e.map(F):void 0},e.validateSelectionPane=function(t){var e=n.Validators.selectionPaneValidator.validate(t);return e?e.map(F):void 0},e.validateSyncSlicersPane=function(t){var e=n.Validators.syncSlicersPaneValidator.validate(t);return e?e.map(F):void 0},e.validateVisualizationsPane=function(t){var e=n.Validators.visualizationsPaneValidator.validate(t);return e?e.map(F):void 0},e.validateCustomPageSize=function(t){var e=n.Validators.customPageSizeValidator.validate(t);return e?e.map(F):void 0},e.validateExtension=function(t){var e=n.Validators.extensionValidator.validate(t);return e?e.map(F):void 0},e.validateMenuGroupExtension=function(t){var e=n.Validators.menuGroupExtensionValidator.validate(t);return e?e.map(F):void 0},e.validateReportLoad=function(t){var e=n.Validators.reportLoadValidator.validate(t);return e?e.map(F):void 0},e.validatePaginatedReportLoad=function(t){var e=n.Validators.paginatedReportLoadValidator.validate(t);return e?e.map(F):void 0},e.validateCreateReport=function(t){var e=n.Validators.reportCreateValidator.validate(t);return e?e.map(F):void 0},e.validateDashboardLoad=function(t){var e=n.Validators.dashboardLoadValidator.validate(t);return e?e.map(F):void 0},e.validateTileLoad=function(t){var e=n.Validators.tileLoadValidator.validate(t);return e?e.map(F):void 0},e.validatePage=function(t){var e=n.Validators.pageValidator.validate(t);return e?e.map(F):void 0},e.validateFilter=function(t){var e=n.Validators.filterValidator.validate(t);return e?e.map(F):void 0},e.validateUpdateFiltersRequest=function(t){var e=n.Validators.updateFiltersRequestValidator.validate(t);return e?e.map(F):void 0},e.validateSaveAsParameters=function(t){var e=n.Validators.saveAsParametersValidator.validate(t);return e?e.map(F):void 0},e.validateLoadQnaConfiguration=function(t){var e=n.Validators.loadQnaValidator.validate(t);return e?e.map(F):void 0},e.validateQnaInterpretInputData=function(t){var e=n.Validators.qnaInterpretInputDataValidator.validate(t);return e?e.map(F):void 0},e.validateExportDataRequest=function(t){var e=n.Validators.exportDataRequestValidator.validate(t);return e?e.map(F):void 0},e.validateVisualHeader=function(t){var e=n.Validators.visualHeaderValidator.validate(t);return e?e.map(F):void 0},e.validateVisualSettings=function(t){var e=n.Validators.visualSettingsValidator.validate(t);return e?e.map(F):void 0},e.validateCommandsSettings=function(t){var e=n.Validators.commandsSettingsValidator.validate(t);return e?e.map(F):void 0},e.validateCustomTheme=function(t){var e=n.Validators.customThemeValidator.validate(t);return e?e.map(F):void 0},e.validateZoomLevel=function(t){var e=n.Validators.zoomLevelValidator.validate(t);return e?e.map(F):void 0}},function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.Validators=void 0;var i=r(2),a=r(5),o=r(6),n=r(7),l=r(8),s=r(9),u=r(10),d=r(11),c=r(12),p=r(13),f=r(14),h=r(15),v=r(16),y=r(17),m=r(18),V=r(19),g=r(20),b=r(21),w=r(22),P=r(23),_=r(24),O=r(25),S=r(26),T=r(27),E=r(28),F=r(29),R=r(4),x=r(30);e.Validators={addBookmarkRequestValidator:new a.AddBookmarkRequestValidator,advancedFilterTypeValidator:new R.EnumValidator([0]),advancedFilterValidator:new c.AdvancedFilterValidator,anyArrayValidator:new R.ArrayValidator([new S.AnyOfValidator([new R.StringValidator,new R.NumberValidator,new R.BooleanValidator])]),anyFilterValidator:new S.AnyOfValidator([new c.BasicFilterValidator,new c.AdvancedFilterValidator,new c.IncludeExcludeFilterValidator,new c.NotSupportedFilterValidator,new c.RelativeDateFilterValidator,new c.TopNFilterValidator,new c.RelativeTimeFilterValidator]),anyValueValidator:new S.AnyOfValidator([new R.StringValidator,new R.NumberValidator,new R.BooleanValidator]),actionBarValidator:new i.ActionBarValidator,applyBookmarkByNameRequestValidator:new a.ApplyBookmarkByNameRequestValidator,applyBookmarkStateRequestValidator:new a.ApplyBookmarkStateRequestValidator,applyBookmarkValidator:new S.AnyOfValidator([new a.ApplyBookmarkByNameRequestValidator,new a.ApplyBookmarkStateRequestValidator]),backgroundValidator:new R.EnumValidator([0,1]),basicFilterTypeValidator:new R.EnumValidator([1]),basicFilterValidator:new c.BasicFilterValidator,booleanArrayValidator:new R.BooleanArrayValidator,booleanValidator:new R.BooleanValidator,bookmarksPaneValidator:new h.BookmarksPaneValidator,captureBookmarkOptionsValidator:new a.CaptureBookmarkOptionsValidator,captureBookmarkRequestValidator:new a.CaptureBookmarkRequestValidator,commandDisplayOptionValidator:new R.EnumValidator([0,1,2]),commandExtensionSelectorValidator:new S.AnyOfValidator([new b.VisualSelectorValidator,new b.VisualTypeSelectorValidator]),commandExtensionArrayValidator:new R.ArrayValidator([new d.CommandExtensionValidator]),commandExtensionValidator:new d.CommandExtensionValidator,commandsSettingsArrayValidator:new R.ArrayValidator([new o.CommandsSettingsValidator]),commandsSettingsValidator:new o.CommandsSettingsValidator,conditionItemValidator:new c.ConditionItemValidator,contrastModeValidator:new R.EnumValidator([0,1,2,3,4]),customLayoutDisplayOptionValidator:new R.EnumValidator([0,1,2]),customLayoutValidator:new p.CustomLayoutValidator,customPageSizeValidator:new f.CustomPageSizeValidator,customThemeValidator:new n.CustomThemeValidator,dashboardLoadValidator:new l.DashboardLoadValidator,datasetBindingValidator:new s.DatasetBindingValidator,displayStateModeValidator:new R.EnumValidator([0,1]),displayStateValidator:new p.DisplayStateValidator,exportDataRequestValidator:new u.ExportDataRequestValidator,extensionArrayValidator:new R.ArrayValidator([new d.ExtensionValidator]),extensionsValidator:new S.AnyOfValidator([new R.ArrayValidator([new d.ExtensionValidator]),new d.ExtensionsValidator]),extensionPointsValidator:new d.ExtensionPointsValidator,extensionValidator:new d.ExtensionValidator,fieldForbiddenValidator:new T.FieldForbiddenValidator,fieldRequiredValidator:new E.FieldRequiredValidator,fieldsPaneValidator:new h.FieldsPaneValidator,filterColumnTargetValidator:new c.FilterColumnTargetValidator,filterDisplaySettingsValidator:new c.FilterDisplaySettingsValidator,filterConditionsValidator:new R.ArrayValidator([new c.ConditionItemValidator]),filterHierarchyTargetValidator:new c.FilterHierarchyTargetValidator,filterMeasureTargetValidator:new c.FilterMeasureTargetValidator,filterTargetValidator:new S.AnyOfValidator([new c.FilterColumnTargetValidator,new c.FilterHierarchyTargetValidator,new c.FilterMeasureTargetValidator]),filterValidator:new c.FilterValidator,filterTypeValidator:new R.EnumValidator([0,1,2,3,4,5,6,7]),filtersArrayValidator:new R.ArrayValidator([new c.FilterValidator]),filtersOperationsUpdateValidator:new R.EnumValidator([1,2,3]),filtersOperationsRemoveAllValidator:new R.EnumValidator([0]),filtersPaneValidator:new h.FiltersPaneValidator,hyperlinkClickBehaviorValidator:new R.EnumValidator([0,1,2]),includeExcludeFilterValidator:new c.IncludeExcludeFilterValidator,includeExludeFilterTypeValidator:new R.EnumValidator([3]),layoutTypeValidator:new R.EnumValidator([0,1,2,3]),loadQnaValidator:new v.LoadQnaValidator,menuExtensionValidator:new S.AnyOfValidator([new d.FlatMenuExtensionValidator,new d.GroupedMenuExtensionValidator]),menuGroupExtensionArrayValidator:new R.ArrayValidator([new d.MenuGroupExtensionValidator]),menuGroupExtensionValidator:new d.MenuGroupExtensionValidator,menuLocationValidator:new R.EnumValidator([0,1]),notSupportedFilterTypeValidator:new R.EnumValidator([2]),notSupportedFilterValidator:new c.NotSupportedFilterValidator,numberArrayValidator:new R.NumberArrayValidator,numberValidator:new R.NumberValidator,onLoadFiltersBaseValidator:new S.AnyOfValidator([new c.OnLoadFiltersBaseValidator,new c.OnLoadFiltersBaseRemoveOperationValidator]),pageLayoutValidator:new F.MapValidator([new R.StringValidator],[new p.VisualLayoutValidator]),pageNavigationPaneValidator:new h.PageNavigationPaneValidator,pageNavigationPositionValidator:new R.EnumValidator([0,1]),pageSizeTypeValidator:new R.EnumValidator([0,1,2,3,4,5]),pageSizeValidator:new f.PageSizeValidator,pageValidator:new f.PageValidator,pageViewFieldValidator:new f.PageViewFieldValidator,pagesLayoutValidator:new F.MapValidator([new R.StringValidator],[new p.PageLayoutValidator]),paginatedReportCommandsValidator:new o.PaginatedReportCommandsValidator,paginatedReportLoadValidator:new V.PaginatedReportLoadValidator,paginatedReportsettingsValidator:new w.PaginatedReportSettingsValidator,parametersPanelValidator:new x.ParametersPanelValidator,permissionsValidator:new R.EnumValidator([0,1,2,4,7]),playBookmarkRequestValidator:new a.PlayBookmarkRequestValidator,qnaInterpretInputDataValidator:new v.QnaInterpretInputDataValidator,qnaPanesValidator:new h.QnaPanesValidator,qnaSettingValidator:new v.QnaSettingsValidator,relativeDateFilterOperatorValidator:new R.EnumValidator([0,1,2]),relativeDateFilterTimeUnitTypeValidator:new R.EnumValidator([0,1,2,3,4,5,6]),relativeDateFilterTypeValidator:new R.EnumValidator([4]),relativeDateFilterValidator:new c.RelativeDateFilterValidator,relativeDateTimeFilterTypeValidator:new R.EnumValidator([4,7]),relativeDateTimeFilterUnitTypeValidator:new R.EnumValidator([0,1,2,3,4,5,6,7,8]),relativeTimeFilterTimeUnitTypeValidator:new R.EnumValidator([7,8]),relativeTimeFilterTypeValidator:new R.EnumValidator([7]),relativeTimeFilterValidator:new c.RelativeTimeFilterValidator,reportBarsValidator:new i.ReportBarsValidator,reportCreateValidator:new y.ReportCreateValidator,reportLoadFiltersValidator:new S.AnyOfValidator([new R.ArrayValidator([new c.FilterValidator]),new c.OnLoadFiltersValidator]),reportLoadValidator:new m.ReportLoadValidator,reportPanesValidator:new h.ReportPanesValidator,saveAsParametersValidator:new g.SaveAsParametersValidator,selectionPaneValidator:new h.SelectionPaneValidator,settingsValidator:new w.SettingsValidator,singleCommandSettingsValidator:new o.SingleCommandSettingsValidator,slicerSelectorValidator:new S.AnyOfValidator([new b.VisualSelectorValidator,new b.SlicerTargetSelectorValidator]),slicerStateValidator:new P.SlicerStateValidator,slicerTargetValidator:new S.AnyOfValidator([new c.FilterColumnTargetValidator,new c.FilterHierarchyTargetValidator,new c.FilterMeasureTargetValidator,new c.FilterKeyColumnsTargetValidator,new c.FilterKeyHierarchyTargetValidator]),slicerValidator:new P.SlicerValidator,stringArrayValidator:new R.StringArrayValidator,stringValidator:new R.StringValidator,syncSlicersPaneValidator:new h.SyncSlicersPaneValidator,tileLoadValidator:new _.TileLoadValidator,tokenTypeValidator:new R.EnumValidator([0,1]),topNFilterTypeValidator:new R.EnumValidator([5]),topNFilterValidator:new c.TopNFilterValidator,updateFiltersRequestValidator:new S.AnyOfValidator([new c.UpdateFiltersRequestValidator,new c.RemoveFiltersRequestValidator]),viewModeValidator:new R.EnumValidator([0,1]),visualCommandSelectorValidator:new S.AnyOfValidator([new b.VisualSelectorValidator,new b.VisualTypeSelectorValidator]),visualHeaderSelectorValidator:new S.AnyOfValidator([new b.VisualSelectorValidator,new b.VisualTypeSelectorValidator]),visualHeaderSettingsValidator:new O.VisualHeaderSettingsValidator,visualHeaderValidator:new O.VisualHeaderValidator,visualHeadersValidator:new R.ArrayValidator([new O.VisualHeaderValidator]),visualizationsPaneValidator:new h.VisualizationsPaneValidator,visualLayoutValidator:new p.VisualLayoutValidator,visualSelectorValidator:new b.VisualSelectorValidator,visualSettingsValidator:new O.VisualSettingsValidator,visualTypeSelectorValidator:new b.VisualTypeSelectorValidator,zoomLevelValidator:new R.RangeValidator(.25,4)}},function(t,e,r){var i,a=this&&this.__extends||(i=function(t,e){return(i=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])})(t,e)},function(t,e){function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.ActionBarValidator=e.ReportBarsValidator=void 0;var o=r(3),n=r(4),l=r(1),s=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return a(e,t),e.prototype.validate=function(e,r,i){if(null==e)return null;var a=t.prototype.validate.call(this,e,r,i);if(a)return a;var n=[{field:"actionBar",validators:[l.Validators.actionBarValidator]}];return new o.MultipleFieldsValidator(n).validate(e,r,i)},e}(n.ObjectValidator);e.ReportBarsValidator=s;var u=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return a(e,t),e.prototype.validate=function(e,r,i){if(null==e)return null;var a=t.prototype.validate.call(this,e,r,i);if(a)return a;var n=[{field:"visible",validators:[l.Validators.booleanValidator]}];return new o.MultipleFieldsValidator(n).validate(e,r,i)},e}(n.ObjectValidator);e.ActionBarValidator=u},function(t,e){Object.defineProperty(e,"__esModule",{value:!0}),e.MultipleFieldsValidator=void 0;var r=function(){function t(t){this.fieldValidatorsPairs=t}return t.prototype.validate=function(t,e,r){if(!this.fieldValidatorsPairs)return null;for(var i=e?e+"."+r:r,a=0,o=this.fieldValidatorsPairs;athis.maxValue||e0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0?"&":"?";return t+=i+e+"="+r},e.isSavedInternal=function(t,e,a){return r(this,void 0,void 0,(function(){return i(this,(function(r){switch(r.label){case 0:return r.trys.push([0,2,,3]),[4,t.get("/report/hasUnsavedChanges",{uid:e},a)];case 1:return[2,!r.sent().body];case 2:throw r.sent().body;case 3:return[2]}}))}))},e.isRDLEmbed=function(t){return t&&t.toLowerCase().indexOf("/rdlembed?")>=0},e.autoAuthInEmbedUrl=function(t){return t&&decodeURIComponent(t).toLowerCase().indexOf("autoauth=true")>=0},e.getRandomValue=o,e.getTimeDiffInMilliseconds=function(t,e){return Math.abs(t.getTime()-e.getTime())}},function(t,e){Object.defineProperty(e,"__esModule",{value:!0}),e.FilterBuilder=void 0;var r=function(){function t(){}return t.prototype.withTargetObject=function(t){return this.target=t,this},t.prototype.withColumnTarget=function(t,e){return this.target={table:t,column:e},this},t.prototype.withMeasureTarget=function(t,e){return this.target={table:t,measure:e},this},t.prototype.withHierarchyLevelTarget=function(t,e,r){return this.target={table:t,hierarchy:e,hierarchyLevel:r},this},t.prototype.withColumnAggregation=function(t,e,r){return this.target={table:t,column:e,aggregationFunction:r},this},t.prototype.withHierarchyLevelAggregationTarget=function(t,e,r,i){return this.target={table:t,hierarchy:e,hierarchyLevel:r,aggregationFunction:i},this},t}();e.FilterBuilder=r},function(t,e){Object.defineProperty(e,"__esModule",{value:!0}),e.EmbedUrlNotSupported=e.APINotSupportedForRDLError=void 0,e.APINotSupportedForRDLError="This API is currently not supported for RDL reports",e.EmbedUrlNotSupported="Embed URL is invalid for this scenario. Please use Power BI REST APIs to get the valid URL"},function(t,e){Object.defineProperty(e,"__esModule",{value:!0});e.default={version:"2.19.1",type:"js"}},function(t,e,r){var i,a=this&&this.__extends||(i=function(t,e){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])})(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}),o=this&&this.__awaiter||function(t,e,r,i){return new(r||(r=Promise))((function(a,o){function n(t){try{s(i.next(t))}catch(t){o(t)}}function l(t){try{s(i.throw(t))}catch(t){o(t)}}function s(t){var e;t.done?a(t.value):(e=t.value,e instanceof r?e:new r((function(t){t(e)}))).then(n,l)}s((i=i.apply(t,e||[])).next())}))},n=this&&this.__generator||function(t,e){var r,i,a,o,n={label:0,sent:function(){if(1&a[0])throw a[1];return a[1]},trys:[],ops:[]};return o={next:l(0),throw:l(1),return:l(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function l(o){return function(l){return function(o){if(r)throw new TypeError("Generator is already executing.");for(;n;)try{if(r=1,i&&(a=2&o[0]?i.return:o[0]?i.throw||((a=i.return)&&a.call(i),0):i.next)&&!(a=a.call(i,o[1])).done)return a;switch(i=0,a&&(o=[2&o[0],a.value]),o[0]){case 0:case 1:a=o;break;case 4:return n.label++,{value:o[1],done:!1};case 5:n.label++,i=o[1],o=[0];continue;case 7:o=n.ops.pop(),n.trys.pop();continue;default:if(!(a=n.trys,(a=a.length>0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]{return t=[function(t,e,r){var i,a=this&&this.__extends||(i=function(t,e){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])})(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.VisualSelector=e.PageSelector=e.Selector=e.SortDirection=e.LegendPosition=e.TextAlignment=e.CommonErrorCodes=e.BookmarksPlayMode=e.ExportDataType=e.QnaMode=e.PageNavigationPosition=e.isPercentOfGrandTotal=e.isColumnAggr=e.isHierarchyLevelAggr=e.isHierarchyLevel=e.isColumn=e.isMeasure=e.getFilterType=e.isBasicFilterWithKeys=e.isFilterKeyColumnsTarget=e.AdvancedFilter=e.TupleFilter=e.IdentityFilter=e.BasicFilterWithKeys=e.BasicFilter=e.RelativeTimeFilter=e.RelativeDateFilter=e.TopNFilter=e.IncludeExcludeFilter=e.NotSupportedFilter=e.Filter=e.RelativeDateOperators=e.RelativeDateFilterTimeUnit=e.FilterType=e.FiltersLevel=e.FiltersOperations=e.MenuLocation=e.ContrastMode=e.TokenType=e.ViewMode=e.Permissions=e.SectionVisibility=e.ReportAlignment=e.HyperlinkClickBehavior=e.LayoutType=e.VisualContainerDisplayMode=e.BackgroundType=e.DisplayOption=e.PageSizeType=e.TraceType=void 0,e.validateZoomLevel=e.validateCustomTheme=e.validateCommandsSettings=e.validateVisualSettings=e.validateVisualHeader=e.validateExportDataRequest=e.validateQnaInterpretInputData=e.validateLoadQnaConfiguration=e.validateSaveAsParameters=e.validateUpdateFiltersRequest=e.validateFilter=e.validatePage=e.validateTileLoad=e.validateDashboardLoad=e.validateCreateReport=e.validatePaginatedReportLoad=e.validateReportLoad=e.validateMenuGroupExtension=e.validateExtension=e.validateCustomPageSize=e.validateVisualizationsPane=e.validateSyncSlicersPane=e.validateSelectionPane=e.validatePageNavigationPane=e.validateFieldsPane=e.validateFiltersPane=e.validateBookmarksPane=e.validatePanes=e.validateSettings=e.validateCaptureBookmarkRequest=e.validateApplyBookmarkStateRequest=e.validateApplyBookmarkByNameRequest=e.validateAddBookmarkRequest=e.validatePlayBookmarkRequest=e.validateSlicerState=e.validateSlicer=e.validateVisualSelector=e.isIExtensionArray=e.isIExtensions=e.isGroupedMenuExtension=e.isFlatMenuExtension=e.isReportFiltersArray=e.isOnLoadFilters=e.VisualDataRoleKindPreference=e.VisualDataRoleKind=e.CommandDisplayOption=e.SlicerTargetSelector=e.VisualTypeSelector=void 0;var n,o=r(1);!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"}(e.TraceType||(e.TraceType={})),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",t[t.Mobile=5]="Mobile"}(e.PageSizeType||(e.PageSizeType={})),function(t){t[t.FitToPage=0]="FitToPage",t[t.FitToWidth=1]="FitToWidth",t[t.ActualSize=2]="ActualSize"}(e.DisplayOption||(e.DisplayOption={})),function(t){t[t.Default=0]="Default",t[t.Transparent=1]="Transparent"}(e.BackgroundType||(e.BackgroundType={})),function(t){t[t.Visible=0]="Visible",t[t.Hidden=1]="Hidden"}(e.VisualContainerDisplayMode||(e.VisualContainerDisplayMode={})),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={})),function(t){t[t.Navigate=0]="Navigate",t[t.NavigateAndRaiseEvent=1]="NavigateAndRaiseEvent",t[t.RaiseEvent=2]="RaiseEvent"}(e.HyperlinkClickBehavior||(e.HyperlinkClickBehavior={})),function(t){t[t.Left=0]="Left",t[t.Center=1]="Center",t[t.Right=2]="Right",t[t.None=3]="None"}(e.ReportAlignment||(e.ReportAlignment={})),function(t){t[t.AlwaysVisible=0]="AlwaysVisible",t[t.HiddenInViewMode=1]="HiddenInViewMode"}(e.SectionVisibility||(e.SectionVisibility={})),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"}(e.Permissions||(e.Permissions={})),function(t){t[t.View=0]="View",t[t.Edit=1]="Edit"}(e.ViewMode||(e.ViewMode={})),function(t){t[t.Aad=0]="Aad",t[t.Embed=1]="Embed"}(e.TokenType||(e.TokenType={})),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"}(e.ContrastMode||(e.ContrastMode={})),function(t){t[t.Bottom=0]="Bottom",t[t.Top=1]="Top"}(e.MenuLocation||(e.MenuLocation={})),function(t){t[t.RemoveAll=0]="RemoveAll",t[t.ReplaceAll=1]="ReplaceAll",t[t.Add=2]="Add",t[t.Replace=3]="Replace"}(e.FiltersOperations||(e.FiltersOperations={})),function(t){t[t.Report=0]="Report",t[t.Page=1]="Page",t[t.Visual=2]="Visual"}(e.FiltersLevel||(e.FiltersLevel={})),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",t[t.Identity=8]="Identity"}(n=e.FilterType||(e.FilterType={})),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"}(e.RelativeDateFilterTimeUnit||(e.RelativeDateFilterTimeUnit={})),function(t){t[t.InLast=0]="InLast",t[t.InThis=1]="InThis",t[t.InNext=2]="InNext"}(e.RelativeDateOperators||(e.RelativeDateOperators={}));var l=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=l;var s=function(t){function e(r,i,a){var o=t.call(this,r,n.Unknown)||this;return o.message=i,o.notSupportedTypeName=a,o.schemaUrl=e.schemaUrl,o}return a(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}(l);e.NotSupportedFilter=s;var u=function(t){function e(r,i,a){var o=t.call(this,r,n.IncludeExclude)||this;return o.values=a,o.isExclude=i,o.schemaUrl=e.schemaUrl,o}return a(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}(l);e.IncludeExcludeFilter=u;var d=function(t){function e(r,i,a,o){var l=t.call(this,r,n.TopN)||this;return l.operator=i,l.itemCount=a,l.schemaUrl=e.schemaUrl,l.orderBy=o,l}return a(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}(l);e.TopNFilter=d;var c=function(t){function e(r,i,a,o,l){var s=t.call(this,r,n.RelativeDate)||this;return s.operator=i,s.timeUnitsCount=a,s.timeUnitType=o,s.includeToday=l,s.schemaUrl=e.schemaUrl,s}return a(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}(l);e.RelativeDateFilter=c;var p=function(t){function e(r,i,a,o){var l=t.call(this,r,n.RelativeTime)||this;return l.operator=i,l.timeUnitsCount=a,l.timeUnitType=o,l.schemaUrl=e.schemaUrl,l}return a(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}(l);e.RelativeTimeFilter=p;var f=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 ".concat(o," keys"));if(0===o&&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,s=n.keyValues;l2)throw new Error("AdvancedFilters may not have more than two conditions. You passed: ".concat(a.length));if(1===l.length&&"And"!==i)throw new Error('Logical Operator must be "And" when there is only one condition provided');return s.conditions=l,s}return a(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}(l);function g(t){if(t.filterType)return t.filterType;var e=t,r=t;return"string"==typeof e.operator&&Array.isArray(e.values)?n.Basic:"string"==typeof r.logicalOperator&&Array.isArray(r.conditions)?n.Advanced:n.Unknown}function V(t){return!(!t.table||!t.column||t.aggregationFunction)}e.AdvancedFilter=m,e.isFilterKeyColumnsTarget=function(t){return V(t)&&!!t.keys},e.isBasicFilterWithKeys=function(t){return g(t)===n.Basic&&!!t.keyValues},e.getFilterType=g,e.isMeasure=function(t){return void 0!==t.table&&void 0!==t.measure},e.isColumn=V,e.isHierarchyLevel=function(t){return!(!(t.table&&t.hierarchy&&t.hierarchyLevel)||t.aggregationFunction)},e.isHierarchyLevelAggr=function(t){return!!(t.table&&t.hierarchy&&t.hierarchyLevel&&t.aggregationFunction)},e.isColumnAggr=function(t){return!!(t.table&&t.column&&t.aggregationFunction)},e.isPercentOfGrandTotal=function(t){return!!t.percentOfGrandTotal},function(t){t[t.Bottom=0]="Bottom",t[t.Left=1]="Left"}(e.PageNavigationPosition||(e.PageNavigationPosition={})),function(t){t[t.Interactive=0]="Interactive",t[t.ResultOnly=1]="ResultOnly"}(e.QnaMode||(e.QnaMode={})),function(t){t[t.Summarized=0]="Summarized",t[t.Underlying=1]="Underlying"}(e.ExportDataType||(e.ExportDataType={})),function(t){t[t.Off=0]="Off",t[t.Presentation=1]="Presentation"}(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"},function(t){t[t.Ascending=1]="Ascending",t[t.Descending=2]="Descending"}(e.SortDirection||(e.SortDirection={}));var b=function(){function t(t){this.$schema=t}return t.prototype.toJSON=function(){return{$schema:this.$schema}},t}();e.Selector=b;var w=function(t){function e(r){var i=t.call(this,e.schemaUrl)||this;return i.pageName=r,i}return a(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}(b);e.PageSelector=w;var O=function(t){function e(r){var i=t.call(this,e.schemaUrl)||this;return i.visualName=r,i}return a(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}(b);e.VisualSelector=O;var P=function(t){function e(e){var r=t.call(this,O.schemaUrl)||this;return r.visualType=e,r}return a(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}(b);e.VisualTypeSelector=P;var S=function(t){function e(e){var r=t.call(this,O.schemaUrl)||this;return r.target=e,r}return a(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}(b);function E(t){return Array.isArray(t)}function _(t){return t&&!!t.groupName}function T(t){return Array.isArray(t)}function F(t){var e=t.message;return e||(e="".concat(t.path," is invalid. Not meeting ").concat(t.keyword," constraint")),{message:e}}e.SlicerTargetSelector=S,function(t){t[t.Enabled=0]="Enabled",t[t.Disabled=1]="Disabled",t[t.Hidden=2]="Hidden"}(e.CommandDisplayOption||(e.CommandDisplayOption={})),function(t){t[t.Grouping=0]="Grouping",t[t.Measure=1]="Measure",t[t.GroupingOrMeasure=2]="GroupingOrMeasure"}(e.VisualDataRoleKind||(e.VisualDataRoleKind={})),function(t){t[t.Measure=0]="Measure",t[t.Grouping=1]="Grouping"}(e.VisualDataRoleKindPreference||(e.VisualDataRoleKindPreference={})),e.isOnLoadFilters=function(t){return t&&!E(t)},e.isReportFiltersArray=E,e.isFlatMenuExtension=function(t){return t&&!_(t)},e.isGroupedMenuExtension=_,e.isIExtensions=function(t){return t&&!T(t)},e.isIExtensionArray=T,e.validateVisualSelector=function(t){var e=o.Validators.visualSelectorValidator.validate(t);return e?e.map(F):void 0},e.validateSlicer=function(t){var e=o.Validators.slicerValidator.validate(t);return e?e.map(F):void 0},e.validateSlicerState=function(t){var e=o.Validators.slicerStateValidator.validate(t);return e?e.map(F):void 0},e.validatePlayBookmarkRequest=function(t){var e=o.Validators.playBookmarkRequestValidator.validate(t);return e?e.map(F):void 0},e.validateAddBookmarkRequest=function(t){var e=o.Validators.addBookmarkRequestValidator.validate(t);return e?e.map(F):void 0},e.validateApplyBookmarkByNameRequest=function(t){var e=o.Validators.applyBookmarkByNameRequestValidator.validate(t);return e?e.map(F):void 0},e.validateApplyBookmarkStateRequest=function(t){var e=o.Validators.applyBookmarkStateRequestValidator.validate(t);return e?e.map(F):void 0},e.validateCaptureBookmarkRequest=function(t){var e=o.Validators.captureBookmarkRequestValidator.validate(t);return e?e.map(F):void 0},e.validateSettings=function(t){var e=o.Validators.settingsValidator.validate(t);return e?e.map(F):void 0},e.validatePanes=function(t){var e=o.Validators.reportPanesValidator.validate(t);return e?e.map(F):void 0},e.validateBookmarksPane=function(t){var e=o.Validators.bookmarksPaneValidator.validate(t);return e?e.map(F):void 0},e.validateFiltersPane=function(t){var e=o.Validators.filtersPaneValidator.validate(t);return e?e.map(F):void 0},e.validateFieldsPane=function(t){var e=o.Validators.fieldsPaneValidator.validate(t);return e?e.map(F):void 0},e.validatePageNavigationPane=function(t){var e=o.Validators.pageNavigationPaneValidator.validate(t);return e?e.map(F):void 0},e.validateSelectionPane=function(t){var e=o.Validators.selectionPaneValidator.validate(t);return e?e.map(F):void 0},e.validateSyncSlicersPane=function(t){var e=o.Validators.syncSlicersPaneValidator.validate(t);return e?e.map(F):void 0},e.validateVisualizationsPane=function(t){var e=o.Validators.visualizationsPaneValidator.validate(t);return e?e.map(F):void 0},e.validateCustomPageSize=function(t){var e=o.Validators.customPageSizeValidator.validate(t);return e?e.map(F):void 0},e.validateExtension=function(t){var e=o.Validators.extensionValidator.validate(t);return e?e.map(F):void 0},e.validateMenuGroupExtension=function(t){var e=o.Validators.menuGroupExtensionValidator.validate(t);return e?e.map(F):void 0},e.validateReportLoad=function(t){var e=o.Validators.reportLoadValidator.validate(t);return e?e.map(F):void 0},e.validatePaginatedReportLoad=function(t){var e=o.Validators.paginatedReportLoadValidator.validate(t);return e?e.map(F):void 0},e.validateCreateReport=function(t){var e=o.Validators.reportCreateValidator.validate(t);return e?e.map(F):void 0},e.validateDashboardLoad=function(t){var e=o.Validators.dashboardLoadValidator.validate(t);return e?e.map(F):void 0},e.validateTileLoad=function(t){var e=o.Validators.tileLoadValidator.validate(t);return e?e.map(F):void 0},e.validatePage=function(t){var e=o.Validators.pageValidator.validate(t);return e?e.map(F):void 0},e.validateFilter=function(t){var e=o.Validators.filterValidator.validate(t);return e?e.map(F):void 0},e.validateUpdateFiltersRequest=function(t){var e=o.Validators.updateFiltersRequestValidator.validate(t);return e?e.map(F):void 0},e.validateSaveAsParameters=function(t){var e=o.Validators.saveAsParametersValidator.validate(t);return e?e.map(F):void 0},e.validateLoadQnaConfiguration=function(t){var e=o.Validators.loadQnaValidator.validate(t);return e?e.map(F):void 0},e.validateQnaInterpretInputData=function(t){var e=o.Validators.qnaInterpretInputDataValidator.validate(t);return e?e.map(F):void 0},e.validateExportDataRequest=function(t){var e=o.Validators.exportDataRequestValidator.validate(t);return e?e.map(F):void 0},e.validateVisualHeader=function(t){var e=o.Validators.visualHeaderValidator.validate(t);return e?e.map(F):void 0},e.validateVisualSettings=function(t){var e=o.Validators.visualSettingsValidator.validate(t);return e?e.map(F):void 0},e.validateCommandsSettings=function(t){var e=o.Validators.commandsSettingsValidator.validate(t);return e?e.map(F):void 0},e.validateCustomTheme=function(t){var e=o.Validators.customThemeValidator.validate(t);return e?e.map(F):void 0},e.validateZoomLevel=function(t){var e=o.Validators.zoomLevelValidator.validate(t);return e?e.map(F):void 0}},(t,e,r)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.Validators=void 0;var i=r(2),a=r(5),n=r(6),o=r(7),l=r(8),s=r(9),u=r(10),d=r(11),c=r(12),p=r(13),f=r(14),h=r(15),v=r(16),y=r(17),m=r(18),g=r(19),V=r(20),b=r(21),w=r(22),O=r(23),P=r(24),S=r(25),E=r(26),_=r(27),T=r(28),F=r(29),x=r(4),R=r(30);e.Validators={addBookmarkRequestValidator:new a.AddBookmarkRequestValidator,advancedFilterTypeValidator:new x.EnumValidator([0]),advancedFilterValidator:new c.AdvancedFilterValidator,anyArrayValidator:new x.ArrayValidator([new E.AnyOfValidator([new x.StringValidator,new x.NumberValidator,new x.BooleanValidator])]),anyFilterValidator:new E.AnyOfValidator([new c.BasicFilterValidator,new c.AdvancedFilterValidator,new c.IncludeExcludeFilterValidator,new c.NotSupportedFilterValidator,new c.RelativeDateFilterValidator,new c.TopNFilterValidator,new c.RelativeTimeFilterValidator]),anyValueValidator:new E.AnyOfValidator([new x.StringValidator,new x.NumberValidator,new x.BooleanValidator]),actionBarValidator:new i.ActionBarValidator,applyBookmarkByNameRequestValidator:new a.ApplyBookmarkByNameRequestValidator,applyBookmarkStateRequestValidator:new a.ApplyBookmarkStateRequestValidator,applyBookmarkValidator:new E.AnyOfValidator([new a.ApplyBookmarkByNameRequestValidator,new a.ApplyBookmarkStateRequestValidator]),backgroundValidator:new x.EnumValidator([0,1]),basicFilterTypeValidator:new x.EnumValidator([1]),basicFilterValidator:new c.BasicFilterValidator,booleanArrayValidator:new x.BooleanArrayValidator,booleanValidator:new x.BooleanValidator,bookmarksPaneValidator:new h.BookmarksPaneValidator,captureBookmarkOptionsValidator:new a.CaptureBookmarkOptionsValidator,captureBookmarkRequestValidator:new a.CaptureBookmarkRequestValidator,commandDisplayOptionValidator:new x.EnumValidator([0,1,2]),commandExtensionSelectorValidator:new E.AnyOfValidator([new b.VisualSelectorValidator,new b.VisualTypeSelectorValidator]),commandExtensionArrayValidator:new x.ArrayValidator([new d.CommandExtensionValidator]),commandExtensionValidator:new d.CommandExtensionValidator,commandsSettingsArrayValidator:new x.ArrayValidator([new n.CommandsSettingsValidator]),commandsSettingsValidator:new n.CommandsSettingsValidator,conditionItemValidator:new c.ConditionItemValidator,contrastModeValidator:new x.EnumValidator([0,1,2,3,4]),customLayoutDisplayOptionValidator:new x.EnumValidator([0,1,2]),customLayoutValidator:new p.CustomLayoutValidator,customPageSizeValidator:new f.CustomPageSizeValidator,customThemeValidator:new o.CustomThemeValidator,dashboardLoadValidator:new l.DashboardLoadValidator,datasetBindingValidator:new s.DatasetBindingValidator,displayStateModeValidator:new x.EnumValidator([0,1]),displayStateValidator:new p.DisplayStateValidator,exportDataRequestValidator:new u.ExportDataRequestValidator,extensionArrayValidator:new x.ArrayValidator([new d.ExtensionValidator]),extensionsValidator:new E.AnyOfValidator([new x.ArrayValidator([new d.ExtensionValidator]),new d.ExtensionsValidator]),extensionPointsValidator:new d.ExtensionPointsValidator,extensionValidator:new d.ExtensionValidator,fieldForbiddenValidator:new _.FieldForbiddenValidator,fieldRequiredValidator:new T.FieldRequiredValidator,fieldsPaneValidator:new h.FieldsPaneValidator,filterColumnTargetValidator:new c.FilterColumnTargetValidator,filterDisplaySettingsValidator:new c.FilterDisplaySettingsValidator,filterConditionsValidator:new x.ArrayValidator([new c.ConditionItemValidator]),filterHierarchyTargetValidator:new c.FilterHierarchyTargetValidator,filterMeasureTargetValidator:new c.FilterMeasureTargetValidator,filterTargetValidator:new E.AnyOfValidator([new c.FilterColumnTargetValidator,new c.FilterHierarchyTargetValidator,new c.FilterMeasureTargetValidator]),filterValidator:new c.FilterValidator,filterTypeValidator:new x.EnumValidator([0,1,2,3,4,5,6,7]),filtersArrayValidator:new x.ArrayValidator([new c.FilterValidator]),filtersOperationsUpdateValidator:new x.EnumValidator([1,2,3]),filtersOperationsRemoveAllValidator:new x.EnumValidator([0]),filtersPaneValidator:new h.FiltersPaneValidator,hyperlinkClickBehaviorValidator:new x.EnumValidator([0,1,2]),includeExcludeFilterValidator:new c.IncludeExcludeFilterValidator,includeExludeFilterTypeValidator:new x.EnumValidator([3]),layoutTypeValidator:new x.EnumValidator([0,1,2,3]),loadQnaValidator:new v.LoadQnaValidator,menuExtensionValidator:new E.AnyOfValidator([new d.FlatMenuExtensionValidator,new d.GroupedMenuExtensionValidator]),menuGroupExtensionArrayValidator:new x.ArrayValidator([new d.MenuGroupExtensionValidator]),menuGroupExtensionValidator:new d.MenuGroupExtensionValidator,menuLocationValidator:new x.EnumValidator([0,1]),notSupportedFilterTypeValidator:new x.EnumValidator([2]),notSupportedFilterValidator:new c.NotSupportedFilterValidator,numberArrayValidator:new x.NumberArrayValidator,numberValidator:new x.NumberValidator,onLoadFiltersBaseValidator:new E.AnyOfValidator([new c.OnLoadFiltersBaseValidator,new c.OnLoadFiltersBaseRemoveOperationValidator]),pageLayoutValidator:new F.MapValidator([new x.StringValidator],[new p.VisualLayoutValidator]),pageNavigationPaneValidator:new h.PageNavigationPaneValidator,pageNavigationPositionValidator:new x.EnumValidator([0,1]),pageSizeTypeValidator:new x.EnumValidator([0,1,2,3,4,5]),pageSizeValidator:new f.PageSizeValidator,pageValidator:new f.PageValidator,pageViewFieldValidator:new f.PageViewFieldValidator,pagesLayoutValidator:new F.MapValidator([new x.StringValidator],[new p.PageLayoutValidator]),paginatedReportCommandsValidator:new n.PaginatedReportCommandsValidator,paginatedReportLoadValidator:new g.PaginatedReportLoadValidator,paginatedReportsettingsValidator:new w.PaginatedReportSettingsValidator,parameterValuesArrayValidator:new x.ArrayValidator([new g.ReportParameterFieldsValidator]),parametersPanelValidator:new R.ParametersPanelValidator,permissionsValidator:new x.EnumValidator([0,1,2,4,7]),playBookmarkRequestValidator:new a.PlayBookmarkRequestValidator,qnaInterpretInputDataValidator:new v.QnaInterpretInputDataValidator,qnaPanesValidator:new h.QnaPanesValidator,qnaSettingValidator:new v.QnaSettingsValidator,relativeDateFilterOperatorValidator:new x.EnumValidator([0,1,2]),relativeDateFilterTimeUnitTypeValidator:new x.EnumValidator([0,1,2,3,4,5,6]),relativeDateFilterTypeValidator:new x.EnumValidator([4]),relativeDateFilterValidator:new c.RelativeDateFilterValidator,relativeDateTimeFilterTypeValidator:new x.EnumValidator([4,7]),relativeDateTimeFilterUnitTypeValidator:new x.EnumValidator([0,1,2,3,4,5,6,7,8]),relativeTimeFilterTimeUnitTypeValidator:new x.EnumValidator([7,8]),relativeTimeFilterTypeValidator:new x.EnumValidator([7]),relativeTimeFilterValidator:new c.RelativeTimeFilterValidator,reportBarsValidator:new i.ReportBarsValidator,reportCreateValidator:new y.ReportCreateValidator,reportLoadFiltersValidator:new E.AnyOfValidator([new x.ArrayValidator([new c.FilterValidator]),new c.OnLoadFiltersValidator]),reportLoadValidator:new m.ReportLoadValidator,reportPanesValidator:new h.ReportPanesValidator,saveAsParametersValidator:new V.SaveAsParametersValidator,selectionPaneValidator:new h.SelectionPaneValidator,settingsValidator:new w.SettingsValidator,singleCommandSettingsValidator:new n.SingleCommandSettingsValidator,slicerSelectorValidator:new E.AnyOfValidator([new b.VisualSelectorValidator,new b.SlicerTargetSelectorValidator]),slicerStateValidator:new O.SlicerStateValidator,slicerTargetValidator:new E.AnyOfValidator([new c.FilterColumnTargetValidator,new c.FilterHierarchyTargetValidator,new c.FilterMeasureTargetValidator,new c.FilterKeyColumnsTargetValidator,new c.FilterKeyHierarchyTargetValidator]),slicerValidator:new O.SlicerValidator,stringArrayValidator:new x.StringArrayValidator,stringValidator:new x.StringValidator,syncSlicersPaneValidator:new h.SyncSlicersPaneValidator,tileLoadValidator:new P.TileLoadValidator,tokenTypeValidator:new x.EnumValidator([0,1]),topNFilterTypeValidator:new x.EnumValidator([5]),topNFilterValidator:new c.TopNFilterValidator,updateFiltersRequestValidator:new E.AnyOfValidator([new c.UpdateFiltersRequestValidator,new c.RemoveFiltersRequestValidator]),viewModeValidator:new x.EnumValidator([0,1]),visualCommandSelectorValidator:new E.AnyOfValidator([new b.VisualSelectorValidator,new b.VisualTypeSelectorValidator]),visualHeaderSelectorValidator:new E.AnyOfValidator([new b.VisualSelectorValidator,new b.VisualTypeSelectorValidator]),visualHeaderSettingsValidator:new S.VisualHeaderSettingsValidator,visualHeaderValidator:new S.VisualHeaderValidator,visualHeadersValidator:new x.ArrayValidator([new S.VisualHeaderValidator]),visualizationsPaneValidator:new h.VisualizationsPaneValidator,visualLayoutValidator:new p.VisualLayoutValidator,visualSelectorValidator:new b.VisualSelectorValidator,visualSettingsValidator:new S.VisualSettingsValidator,visualTypeSelectorValidator:new b.VisualTypeSelectorValidator,zoomLevelValidator:new x.RangeValidator(.25,4)}},function(t,e,r){var i,a=this&&this.__extends||(i=function(t,e){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])})(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.ActionBarValidator=e.ReportBarsValidator=void 0;var n=r(3),o=r(4),l=r(1),s=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return a(e,t),e.prototype.validate=function(e,r,i){if(null==e)return null;var a=t.prototype.validate.call(this,e,r,i);if(a)return a;var o=[{field:"actionBar",validators:[l.Validators.actionBarValidator]}];return new n.MultipleFieldsValidator(o).validate(e,r,i)},e}(o.ObjectValidator);e.ReportBarsValidator=s;var u=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return a(e,t),e.prototype.validate=function(e,r,i){if(null==e)return null;var a=t.prototype.validate.call(this,e,r,i);if(a)return a;var o=[{field:"visible",validators:[l.Validators.booleanValidator]}];return new n.MultipleFieldsValidator(o).validate(e,r,i)},e}(o.ObjectValidator);e.ActionBarValidator=u},(t,e)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.MultipleFieldsValidator=void 0;var r=function(){function t(t){this.fieldValidatorsPairs=t}return t.prototype.validate=function(t,e,r){if(!this.fieldValidatorsPairs)return null;for(var i=e?e+"."+r:r,a=0,n=this.fieldValidatorsPairs;athis.maxValue||e{Object.defineProperty(e,"__esModule",{value:!0}),e.AnyOfValidator=void 0;var r=function(){function t(t){this.validators=t}return t.prototype.validate=function(t,e,r){if(null==t)return null;for(var i=!1,a=0,n=this.validators;a{Object.defineProperty(e,"__esModule",{value:!0}),e.FieldForbiddenValidator=void 0;var r=function(){function t(){}return t.prototype.validate=function(t,e,r){return void 0!==t?[{message:r+" is forbidden",path:(e?e+".":"")+r,keyword:"forbidden"}]:null},t}();e.FieldForbiddenValidator=r},(t,e)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.FieldRequiredValidator=void 0;var r=function(){function t(){}return t.prototype.validate=function(t,e,r){return null==t?[{message:r+" is required",path:(e?e+".":"")+r,keyword:"required"}]:null},t}();e.FieldRequiredValidator=r},function(t,e,r){var i,a=this&&this.__extends||(i=function(t,e){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])})(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.MapValidator=void 0;var n=function(t){function e(e,r){var i=t.call(this)||this;return i.keyValidators=e,i.valueValidators=r,i}return a(e,t),e.prototype.validate=function(e,r,i){if(null==e)return null;var a=t.prototype.validate.call(this,e,r,i);if(a)return a;for(var n in e)if(e.hasOwnProperty(n)){for(var o=(r?r+".":"")+i+"."+n,l=0,s=this.keyValidators;l0&&a[a.length-1])||6!==n[0]&&2!==n[0])){o=0;continue}if(3===n[0]&&(!a||n[1]>a[0]&&n[1]0&&a[a.length-1])||6!==n[0]&&2!==n[0])){o=0;continue}if(3===n[0]&&(!a||n[1]>a[0]&&n[1]0?"&":"?";return t+=i+e+"="+r},e.isSavedInternal=function(t,e,a){return r(this,void 0,void 0,(function(){return i(this,(function(r){switch(r.label){case 0:return r.trys.push([0,2,,3]),[4,t.get("/report/hasUnsavedChanges",{uid:e},a)];case 1:return[2,!r.sent().body];case 2:throw r.sent().body;case 3:return[2]}}))}))},e.isRDLEmbed=function(t){return t&&t.toLowerCase().indexOf("/rdlembed?")>=0},e.autoAuthInEmbedUrl=function(t){return t&&decodeURIComponent(t).toLowerCase().indexOf("autoauth=true")>=0},e.getRandomValue=n,e.getTimeDiffInMilliseconds=function(t,e){return Math.abs(t.getTime()-e.getTime())}},function(t,e){Object.defineProperty(e,"__esModule",{value:!0}),e.FilterBuilder=void 0;var r=function(){function t(){}return t.prototype.withTargetObject=function(t){return this.target=t,this},t.prototype.withColumnTarget=function(t,e){return this.target={table:t,column:e},this},t.prototype.withMeasureTarget=function(t,e){return this.target={table:t,measure:e},this},t.prototype.withHierarchyLevelTarget=function(t,e,r){return this.target={table:t,hierarchy:e,hierarchyLevel:r},this},t.prototype.withColumnAggregation=function(t,e,r){return this.target={table:t,column:e,aggregationFunction:r},this},t.prototype.withHierarchyLevelAggregationTarget=function(t,e,r,i){return this.target={table:t,hierarchy:e,hierarchyLevel:r,aggregationFunction:i},this},t}();e.FilterBuilder=r},function(t,e){Object.defineProperty(e,"__esModule",{value:!0}),e.EmbedUrlNotSupported=e.APINotSupportedForRDLError=void 0,e.APINotSupportedForRDLError="This API is currently not supported for RDL reports",e.EmbedUrlNotSupported="Embed URL is invalid for this scenario. Please use Power BI REST APIs to get the valid URL"},function(t,e){Object.defineProperty(e,"__esModule",{value:!0});e.default={version:"2.20.0",type:"js"}},function(t,e,r){var i,a=this&&this.__extends||(i=function(t,e){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])})(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}),n=this&&this.__awaiter||function(t,e,r,i){return new(r||(r=Promise))((function(a,n){function o(t){try{s(i.next(t))}catch(t){n(t)}}function l(t){try{s(i.throw(t))}catch(t){n(t)}}function s(t){var e;t.done?a(t.value):(e=t.value,e instanceof r?e:new r((function(t){t(e)}))).then(o,l)}s((i=i.apply(t,e||[])).next())}))},o=this&&this.__generator||function(t,e){var r,i,a,n,o={label:0,sent:function(){if(1&a[0])throw a[1];return a[1]},trys:[],ops:[]};return n={next:l(0),throw:l(1),return:l(2)},"function"==typeof Symbol&&(n[Symbol.iterator]=function(){return this}),n;function l(n){return function(l){return function(n){if(r)throw new TypeError("Generator is already executing.");for(;o;)try{if(r=1,i&&(a=2&n[0]?i.return:n[0]?i.throw||((a=i.return)&&a.call(i),0):i.next)&&!(a=a.call(i,n[1])).done)return a;switch(i=0,a&&(n=[2&n[0],a.value]),n[0]){case 0:case 1:a=n;break;case 4:return o.label++,{value:n[1],done:!1};case 5:o.label++,i=n[1],n=[0];continue;case 7:n=o.ops.pop(),o.trys.pop();continue;default:if(!(a=o.trys,(a=a.length>0&&a[a.length-1])||6!==n[0]&&2!==n[0])){o=0;continue}if(3===n[0]&&(!a||n[1]>a[0]&&n[1]0&&a[a.length-1])||6!==n[0]&&2!==n[0])){o=0;continue}if(3===n[0]&&(!a||n[1]>a[0]&&n[1]0&&a[a.length-1])||6!==n[0]&&2!==n[0])){o=0;continue}if(3===n[0]&&(!a||n[1]>a[0]&&n[1]0&&a[a.length-1])||6!==n[0]&&2!==n[0])){o=0;continue}if(3===n[0]&&(!a||n[1]>a[0]&&n[1]0&&a[a.length-1])||6!==n[0]&&2!==n[0])){o=0;continue}if(3===n[0]&&(!a||n[1]>a[0]&&n[1]0&&a[a.length-1])||6!==n[0]&&2!==n[0])){o=0;continue}if(3===n[0]&&(!a||n[1]>a[0]&&n[1]0&&a[a.length-1])||6!==n[0]&&2!==n[0])){o=0;continue}if(3===n[0]&&(!a||n[1]>a[0]&&n[1] + * @license MIT + */function a(t,e){if(t===e)return 0;for(var r=t.length,i=e.length,a=0,n=Math.min(r,i);a=0;u--)if(d[u]!==c[u])return!1;for(u=d.length-1;u>=0;u--)if(l=d[u],!V(t[l],e[l],r,i))return!1;return!0}(t,e,r,i))}return r?t===e:t==e}function b(t){return"[object Arguments]"==Object.prototype.toString.call(t)}function w(t,e){if(!t||!e)return!1;if("[object RegExp]"==Object.prototype.toString.call(e))return e.test(t);try{if(t instanceof e)return!0}catch(t){}return!Error.isPrototypeOf(e)&&!0===e.call({},t)}function O(t,e,r,i){var a;if("function"!=typeof e)throw new TypeError('"block" argument must be a function');"string"==typeof r&&(i=r,r=null),a=function(t){var e;try{t()}catch(t){e=t}return e}(e),i=(r&&r.name?" ("+r.name+").":".")+(i?" "+i:"."),t&&!a&&m(a,r,"Missing expected exception"+i);var n="string"==typeof i,l=!t&&a&&!r;if((!t&&o.isError(a)&&n&&w(a,r)||l)&&m(a,r,"Got unwanted exception"+i),t&&a&&r&&!w(a,r)||!t&&a)throw a}p.AssertionError=function(t){var e;this.name="AssertionError",this.actual=t.actual,this.expected=t.expected,this.operator=t.operator,t.message?(this.message=t.message,this.generatedMessage=!1):(this.message=v(y((e=this).actual),128)+" "+e.operator+" "+v(y(e.expected),128),this.generatedMessage=!0);var r=t.stackStartFunction||m;if(Error.captureStackTrace)Error.captureStackTrace(this,r);else{var i=new Error;if(i.stack){var a=i.stack,n=h(r),o=a.indexOf("\n"+n);if(o>=0){var l=a.indexOf("\n",o+1);a=a.substring(l+1)}this.stack=a}}},o.inherits(p.AssertionError,Error),p.fail=m,p.ok=g,p.equal=function(t,e,r){t!=e&&m(t,e,r,"==",p.equal)},p.notEqual=function(t,e,r){t==e&&m(t,e,r,"!=",p.notEqual)},p.deepEqual=function(t,e,r){V(t,e,!1)||m(t,e,r,"deepEqual",p.deepEqual)},p.deepStrictEqual=function(t,e,r){V(t,e,!0)||m(t,e,r,"deepStrictEqual",p.deepStrictEqual)},p.notDeepEqual=function(t,e,r){V(t,e,!1)&&m(t,e,r,"notDeepEqual",p.notDeepEqual)},p.notDeepStrictEqual=function t(e,r,i){V(e,r,!0)&&m(e,r,i,"notDeepStrictEqual",t)},p.strictEqual=function(t,e,r){t!==e&&m(t,e,r,"===",p.strictEqual)},p.notStrictEqual=function(t,e,r){t===e&&m(t,e,r,"!==",p.notStrictEqual)},p.throws=function(t,e,r){O(!0,t,e,r)},p.doesNotThrow=function(t,e,r){O(!1,t,e,r)},p.ifError=function(t){if(t)throw t},p.strict=i((function t(e,r){e||m(e,!0,r,"==",t)}),p,{equal:p.strictEqual,deepEqual:p.deepStrictEqual,notEqual:p.notStrictEqual,notDeepEqual:p.notDeepStrictEqual}),p.strict.strict=p.strict;var P=Object.keys||function(t){var e=[];for(var r in t)l.call(t,r)&&e.push(r);return e}}).call(this,r(17))},function(t,e){var r;r=function(){return this}();try{r=r||new Function("return this")()}catch(t){"object"==typeof window&&(r=window)}t.exports=r},function(t,e,r){"use strict"; +/* +object-assign +(c) Sindre Sorhus +@license MIT +*/var i=Object.getOwnPropertySymbols,a=Object.prototype.hasOwnProperty,n=Object.prototype.propertyIsEnumerable;function o(t){if(null==t)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(t)}t.exports=function(){try{if(!Object.assign)return!1;var t=new String("abc");if(t[5]="de","5"===Object.getOwnPropertyNames(t)[0])return!1;for(var e={},r=0;r<10;r++)e["_"+String.fromCharCode(r)]=r;if("0123456789"!==Object.getOwnPropertyNames(e).map((function(t){return e[t]})).join(""))return!1;var i={};return"abcdefghijklmnopqrst".split("").forEach((function(t){i[t]=t})),"abcdefghijklmnopqrst"===Object.keys(Object.assign({},i)).join("")}catch(t){return!1}}()?Object.assign:function(t,e){for(var r,l,s=o(t),u=1;u=n)return t;switch(t){case"%s":return String(i[r++]);case"%d":return Number(i[r++]);case"%j":try{return JSON.stringify(i[r++])}catch(t){return"[Circular]"}default:return t}})),s=i[r];r=3&&(i.depth=arguments[2]),arguments.length>=4&&(i.colors=arguments[3]),h(r)?i.showHidden=r:r&&e._extend(i,r),g(i.showHidden)&&(i.showHidden=!1),g(i.depth)&&(i.depth=2),g(i.colors)&&(i.colors=!1),g(i.customInspect)&&(i.customInspect=!0),i.colors&&(i.stylize=s),d(i,t,i.depth)}function s(t,e){var r=l.styles[e];return r?"["+l.colors[r][0]+"m"+t+"["+l.colors[r][1]+"m":t}function u(t,e){return t}function d(t,r,i){if(t.customInspect&&r&&P(r.inspect)&&r.inspect!==e.inspect&&(!r.constructor||r.constructor.prototype!==r)){var a=r.inspect(i,t);return m(a)||(a=d(t,a,i)),a}var n=function(t,e){if(g(e))return t.stylize("undefined","undefined");if(m(e)){var r="'"+JSON.stringify(e).replace(/^"|"$/g,"").replace(/'/g,"\\'").replace(/\\"/g,'"')+"'";return t.stylize(r,"string")}if(y(e))return t.stylize(""+e,"number");if(h(e))return t.stylize(""+e,"boolean");if(v(e))return t.stylize("null","null")}(t,r);if(n)return n;var o=Object.keys(r),l=function(t){var e={};return t.forEach((function(t,r){e[t]=!0})),e}(o);if(t.showHidden&&(o=Object.getOwnPropertyNames(r)),O(r)&&(o.indexOf("message")>=0||o.indexOf("description")>=0))return c(r);if(0===o.length){if(P(r)){var s=r.name?": "+r.name:"";return t.stylize("[Function"+s+"]","special")}if(V(r))return t.stylize(RegExp.prototype.toString.call(r),"regexp");if(w(r))return t.stylize(Date.prototype.toString.call(r),"date");if(O(r))return c(r)}var u,b="",S=!1,E=["{","}"];(f(r)&&(S=!0,E=["[","]"]),P(r))&&(b=" [Function"+(r.name?": "+r.name:"")+"]");return V(r)&&(b=" "+RegExp.prototype.toString.call(r)),w(r)&&(b=" "+Date.prototype.toUTCString.call(r)),O(r)&&(b=" "+c(r)),0!==o.length||S&&0!=r.length?i<0?V(r)?t.stylize(RegExp.prototype.toString.call(r),"regexp"):t.stylize("[Object]","special"):(t.seen.push(r),u=S?function(t,e,r,i,a){for(var n=[],o=0,l=e.length;o=0&&0,t+e.replace(/\u001b\[\d\d?m/g,"").length+1}),0)>60)return r[0]+(""===e?"":e+"\n ")+" "+t.join(",\n ")+" "+r[1];return r[0]+e+" "+t.join(", ")+" "+r[1]}(u,b,E)):E[0]+b+E[1]}function c(t){return"["+Error.prototype.toString.call(t)+"]"}function p(t,e,r,i,a,n){var o,l,s;if((s=Object.getOwnPropertyDescriptor(e,a)||{value:e[a]}).get?l=s.set?t.stylize("[Getter/Setter]","special"):t.stylize("[Getter]","special"):s.set&&(l=t.stylize("[Setter]","special")),F(i,a)||(o="["+a+"]"),l||(t.seen.indexOf(s.value)<0?(l=v(r)?d(t,s.value,null):d(t,s.value,r-1)).indexOf("\n")>-1&&(l=n?l.split("\n").map((function(t){return" "+t})).join("\n").substr(2):"\n"+l.split("\n").map((function(t){return" "+t})).join("\n")):l=t.stylize("[Circular]","special")),g(o)){if(n&&a.match(/^\d+$/))return l;(o=JSON.stringify(""+a)).match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/)?(o=o.substr(1,o.length-2),o=t.stylize(o,"name")):(o=o.replace(/'/g,"\\'").replace(/\\"/g,'"').replace(/(^"|"$)/g,"'"),o=t.stylize(o,"string"))}return o+": "+l}function f(t){return Array.isArray(t)}function h(t){return"boolean"==typeof t}function v(t){return null===t}function y(t){return"number"==typeof t}function m(t){return"string"==typeof t}function g(t){return void 0===t}function V(t){return b(t)&&"[object RegExp]"===S(t)}function b(t){return"object"==typeof t&&null!==t}function w(t){return b(t)&&"[object Date]"===S(t)}function O(t){return b(t)&&("[object Error]"===S(t)||t instanceof Error)}function P(t){return"function"==typeof t}function S(t){return Object.prototype.toString.call(t)}function E(t){return t<10?"0"+t.toString(10):t.toString(10)}e.debuglog=function(r){if(g(n)&&(n=t.env.NODE_DEBUG||""),r=r.toUpperCase(),!o[r])if(new RegExp("\\b"+r+"\\b","i").test(n)){var i=t.pid;o[r]=function(){var t=e.format.apply(e,arguments);console.error("%s %d: %s",r,i,t)}}else o[r]=function(){};return o[r]},e.inspect=l,l.colors={bold:[1,22],italic:[3,23],underline:[4,24],inverse:[7,27],white:[37,39],grey:[90,39],black:[30,39],blue:[34,39],cyan:[36,39],green:[32,39],magenta:[35,39],red:[31,39],yellow:[33,39]},l.styles={special:"cyan",number:"yellow",boolean:"yellow",undefined:"grey",null:"bold",string:"green",date:"magenta",regexp:"red"},e.isArray=f,e.isBoolean=h,e.isNull=v,e.isNullOrUndefined=function(t){return null==t},e.isNumber=y,e.isString=m,e.isSymbol=function(t){return"symbol"==typeof t},e.isUndefined=g,e.isRegExp=V,e.isObject=b,e.isDate=w,e.isError=O,e.isFunction=P,e.isPrimitive=function(t){return null===t||"boolean"==typeof t||"number"==typeof t||"string"==typeof t||"symbol"==typeof t||void 0===t},e.isBuffer=r(21);var _=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];function T(){var t=new Date,e=[E(t.getHours()),E(t.getMinutes()),E(t.getSeconds())].join(":");return[t.getDate(),_[t.getMonth()],e].join(" ")}function F(t,e){return Object.prototype.hasOwnProperty.call(t,e)}e.log=function(){console.log("%s - %s",T(),e.format.apply(e,arguments))},e.inherits=r(22),e._extend=function(t,e){if(!e||!b(e))return t;for(var r=Object.keys(e),i=r.length;i--;)t[r[i]]=e[r[i]];return t};var x="undefined"!=typeof Symbol?Symbol("util.promisify.custom"):void 0;function R(t,e){if(!t){var r=new Error("Promise was rejected with a falsy value");r.reason=t,t=r}return e(t)}e.promisify=function(t){if("function"!=typeof t)throw new TypeError('The "original" argument must be of type Function');if(x&&t[x]){var e;if("function"!=typeof(e=t[x]))throw new TypeError('The "util.promisify.custom" argument must be of type Function');return Object.defineProperty(e,x,{value:e,enumerable:!1,writable:!1,configurable:!0}),e}function e(){for(var e,r,i=new Promise((function(t,i){e=t,r=i})),a=[],n=0;n1)for(var r=1;r0&&a[a.length-1])||6!==n[0]&&2!==n[0])){o=0;continue}if(3===n[0]&&(!a||n[1]>a[0]&&n[1]2&&"[]"===n.slice(l-2)&&(s=!0,r[n=n.slice(0,l-2)]||(r[n]=[])),a=o[1]?V(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(-1!==(i=t.indexOf("?"))){var l=t.substr(i+1,t.length);t=t.substr(0,i),o=this.parseQueryString(l)}for("/"!==(t=decodeURI(t)).charAt(0)&&(t="/"+t),(e=t.length)>1&&"/"===t.charAt(e-1)&&(t=t.substr(0,e-1),n=!0),r=0;r2&&"[]"===o.slice(l-2)&&(s=!0,r[o=o.slice(0,l-2)]||(r[o]=[])),a=n[1]?g(n[1]):""),s?r[o].push(a):r[o]=a}return r},recognize:function(t){var e,r,i,a=[this.rootState],n={},o=!1;if(-1!==(i=t.indexOf("?"))){var l=t.substr(i+1,t.length);t=t.substr(0,i),n=this.parseQueryString(l)}for("/"!==(t=decodeURI(t)).charAt(0)&&(t="/"+t),(e=t.length)>1&&"/"===t.charAt(e-1)&&(t=t.substr(0,e-1),o=!0),r=0;r { if (argv.chrome) { diff --git a/package.json b/package.json index 3af94006..6e45c185 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "powerbi-client", - "version": "2.19.1", + "version": "2.20.0", "description": "JavaScript library for embedding Power BI into your apps. Provides service which makes it easy to embed different types of components and an object model which allows easy interaction with these components such as changing pages, applying filters, and responding to data selection.", "main": "dist/powerbi.js", "types": "dist/powerbi-client.d.ts", @@ -62,7 +62,7 @@ "jasmine-core": "3.10.1", "jquery": "^3.3.1", "json-loader": "^0.5.4", - "karma": "6.3.5", + "karma": "^6.3.5", "karma-chrome-launcher": "^3.1.0", "karma-firefox-launcher": "^1.2.0", "karma-jasmine": "4.0.1", @@ -74,14 +74,14 @@ "phantomjs-prebuilt": "^2.1.16", "ts-loader": "^6.2.2", "typedoc": "^0.15.0", - "typescript": "^4.1.3", + "typescript": "~4.6.0", "webpack": "^4.44.2", "webpack-stream": "^5.2.1", "yargs": "^16.1.0" }, "dependencies": { "http-post-message": "^0.2", - "powerbi-models": "^1.9.8", + "powerbi-models": "^1.10.5", "powerbi-router": "^0.1", "window-post-message-proxy": "^0.2" }, diff --git a/src/config.ts b/src/config.ts index 0761c8aa..088504f7 100644 --- a/src/config.ts +++ b/src/config.ts @@ -3,7 +3,7 @@ /** @ignore *//** */ const config = { - version: '2.19.1', + version: '2.20.0', type: 'js' }; diff --git a/src/embed.ts b/src/embed.ts index 3489ffd8..d3c3b3dd 100644 --- a/src/embed.ts +++ b/src/embed.ts @@ -60,6 +60,15 @@ export interface IInternalEventHandler { handle(event: ICustomEvent): void; } +/** @hidden */ +export interface ISessionHeaders { + uid: string; + sdkSessionId: string; + tokenProviderSupplied?: boolean; + bootstrapped?: boolean; + sdkVersion?: string; +} + /** * Base class for all Power BI embed components * @@ -264,7 +273,16 @@ export abstract class Embed { } try { - const response = await this.service.hpm.post("/report/create", config, { uid: this.config.uniqueId, sdkSessionId: this.service.getSdkSessionId() }, this.iframe.contentWindow); + const headers: ISessionHeaders = { + uid: this.config.uniqueId, + sdkSessionId: this.service.getSdkSessionId() + }; + + if (!!this.eventHooks?.accessTokenProvider) { + headers.tokenProviderSupplied = true; + } + + const response = await this.service.hpm.post("/report/create", config, headers, this.iframe.contentWindow); return response.body; } catch (response) { throw response.body; @@ -359,13 +377,17 @@ export abstract class Embed { } const path = phasedRender && this.config.type === 'report' ? this.phasedLoadPath : this.loadPath; - const headers = { + const headers: ISessionHeaders = { uid: this.config.uniqueId, sdkSessionId: this.service.getSdkSessionId(), bootstrapped: this.config.bootstrapped, sdkVersion: sdkConfig.default.version }; + if (!!this.eventHooks?.accessTokenProvider) { + headers.tokenProviderSupplied = true; + } + const timeNow: Date = new Date(); if (this.lastLoadRequest && getTimeDiffInMilliseconds(this.lastLoadRequest, timeNow) < 100) { console.debug("Power BI SDK sent more than two /report/load requests in the last 100ms interval."); @@ -553,12 +575,12 @@ export abstract class Embed { } /** - * Validate EventHooks - * - * @private - * @param {models.EventHooks} eventHooks - * @hidden - */ + * Validate EventHooks + * + * @private + * @param {models.EventHooks} eventHooks + * @hidden + */ private validateEventHooks(eventHooks: models.EventHooks): void { if (!eventHooks) { return; @@ -581,7 +603,7 @@ export abstract class Embed { const accessTokenProvider = eventHooks.accessTokenProvider; if (!!accessTokenProvider) { - if (this.embedtype.toLowerCase() !== "report" || this.config.tokenType !== models.TokenType.Aad) { + if ((['create', 'quickcreate', 'report'].indexOf(this.embedtype.toLowerCase()) === -1) || this.config.tokenType !== models.TokenType.Aad) { throw new Error("accessTokenProvider is only supported in report SaaS embed"); } } diff --git a/src/report.ts b/src/report.ts index 6bb0dc12..d8de371c 100644 --- a/src/report.ts +++ b/src/report.ts @@ -40,6 +40,7 @@ import { IFilterable } from './ifilterable'; import { Page } from './page'; import { BookmarksManager } from './bookmarksManager'; import { VisualDescriptor } from './visualDescriptor'; +import * as assert from 'assert'; /** * A Report node within a report hierarchy @@ -94,6 +95,26 @@ export class Report extends Embed implements IReportNode, IFilterable { Array.prototype.push.apply(this.allowedEvents, Report.allowedEvents); this.bookmarksManager = new BookmarksManager(service, config, this.iframe); + + service.router.post(`/reports/${this.config.uniqueId}/eventHooks/:eventName`, async (req, _res) => { + switch (req.params.eventName) { + case "preQuery": + req.body = req.body || {}; + req.body.report = this; + await service.invokeSDKHook(this.eventHooks?.applicationContextProvider, req, _res); + break; + + case "newAccessToken": + req.body = req.body || {}; + req.body.report = this; + await service.invokeSDKHook(this.eventHooks?.accessTokenProvider, req, _res); + break; + + default: + assert(false, `${req.params.eventName} eventHook is not supported`); + break; + } + }); } /** diff --git a/src/service.ts b/src/service.ts index a3fdb035..54b07146 100644 --- a/src/service.ts +++ b/src/service.ts @@ -145,7 +145,7 @@ export class Service implements IService { * @hidden */ wpmp: WindowPostMessageProxy; - private router: Router; + router: Router; private uniqueSessionId: string; /** @@ -163,33 +163,6 @@ export class Service implements IService { this.router = routerFactory(this.wpmp); this.uniqueSessionId = utils.generateUUID(); - this.router.post('/reports/:uniqueId/eventHooks/:eventName', async (req, _res) => { - let embed = utils.find(embed => { - return (embed.config.uniqueId === req.params.uniqueId); - }, this.embeds); - - if (!embed) { - return; - } - - switch (req.params.eventName) { - case "preQuery": - req.body = req.body || {}; - req.body.report = embed; - await this.invokeSDKHook(embed.eventHooks?.applicationContextProvider, req, _res); - break; - - case "newAccessToken": - req.body = req.body || {}; - req.body.report = embed; - await this.invokeSDKHook(embed.eventHooks?.accessTokenProvider, req, _res); - break; - - default: - break; - } - }); - /** * Adds handler for report events. */ @@ -589,7 +562,7 @@ export class Service implements IService { } } - private async invokeSDKHook(hook: Function, req: IExtendedRequest, res: IExtendedResponse): Promise { + async invokeSDKHook(hook: Function, req: IExtendedRequest, res: IExtendedResponse): Promise { if (!hook) { res.send(404, null); return; diff --git a/test/SDK-to-HPM.spec.ts b/test/SDK-to-HPM.spec.ts index 47b2bcd9..68a00460 100644 --- a/test/SDK-to-HPM.spec.ts +++ b/test/SDK-to-HPM.spec.ts @@ -82,7 +82,9 @@ describe('SDK-to-HPM', function () { type: "report", id: "fakeReportId", accessToken: 'fakeToken', - embedUrl: iframeSrc + tokenType: models.TokenType.Aad, + embedUrl: iframeSrc, + eventHooks: { accessTokenProvider: function () { return null; } } }; spyHpm.post.and.callFake(() => Promise.resolve({})); @@ -129,7 +131,8 @@ describe('SDK-to-HPM', function () { bootstrapped: undefined, sdkVersion: sdkConfig.default.version, uid: uniqueId, - sdkSessionId: sdkSessionId + sdkSessionId: sdkSessionId, + tokenProviderSupplied: true }; expect(spyHpm.post).toHaveBeenCalledWith('/report/load', expectedConfiguration, expectedHeaders, jasmine.any(Object)); @@ -157,7 +160,8 @@ describe('SDK-to-HPM', function () { bootstrapped: undefined, sdkVersion: sdkConfig.default.version, uid: uniqueId, - sdkSessionId: sdkSessionId + sdkSessionId: sdkSessionId, + tokenProviderSupplied: true }; expect(spyHpm.post).toHaveBeenCalledWith('/report/load', report.config, expectedHeaders, jasmine.any(Object)); expect(error).toEqual(testData.errorResponse.body); @@ -180,7 +184,8 @@ describe('SDK-to-HPM', function () { bootstrapped: undefined, sdkVersion: sdkConfig.default.version, uid: uniqueId, - sdkSessionId: sdkSessionId + sdkSessionId: sdkSessionId, + tokenProviderSupplied: true }; expect(spyHpm.post).toHaveBeenCalledWith('/report/load', report.config, expectedHeaders, jasmine.any(Object)); @@ -973,7 +978,8 @@ describe('SDK-to-HPM', function () { bootstrapped: undefined, sdkVersion: sdkConfig.default.version, uid: uniqueId, - sdkSessionId: sdkSessionId + sdkSessionId: sdkSessionId, + tokenProviderSupplied: true }; // Assert @@ -2141,7 +2147,9 @@ describe('SDK-to-HPM', function () { const embedCreateConfiguration = { datasetId: "fakeReportId", accessToken: 'fakeToken', - embedUrl: iframeSrc + tokenType: models.TokenType.Aad, + embedUrl: iframeSrc, + eventHooks: { accessTokenProvider: function () { return null; } } }; spyHpm.post.and.returnValue(Promise.resolve({})); create = powerbi.createReport(createElement, embedCreateConfiguration); @@ -2174,7 +2182,7 @@ describe('SDK-to-HPM', function () { await create.createReport(testData.createConfiguration); // Assert - expect(spyHpm.post).toHaveBeenCalledWith('/report/create', testData.createConfiguration, { uid: createUniqueId, sdkSessionId: sdkSessionId }, jasmine.any(Object)); + expect(spyHpm.post).toHaveBeenCalledWith('/report/create', testData.createConfiguration, { uid: createUniqueId, sdkSessionId: sdkSessionId, tokenProviderSupplied: true }, jasmine.any(Object)); }); it('create.createReport() returns promise that rejects with validation error if the create configuration is invalid', async function () { @@ -2182,7 +2190,9 @@ describe('SDK-to-HPM', function () { const testData = { createConfiguration: { datasetId: 'fakeId', - accessToken: 'fakeToken' + accessToken: 'fakeToken', + tokenType: models.TokenType.Aad, + eventHooks: { accessTokenProvider: function () { return null; } } }, errorResponse: { body: { @@ -2198,7 +2208,7 @@ describe('SDK-to-HPM', function () { } catch (error) { // Assert - expect(spyHpm.post).toHaveBeenCalledWith('/report/create', testData.createConfiguration, { uid: createUniqueId, sdkSessionId: sdkSessionId }, jasmine.any(Object)); + expect(spyHpm.post).toHaveBeenCalledWith('/report/create', testData.createConfiguration, { uid: createUniqueId, sdkSessionId: sdkSessionId , tokenProviderSupplied: true}, jasmine.any(Object)); expect(error).toEqual(testData.errorResponse.body); } }); @@ -2208,7 +2218,9 @@ describe('SDK-to-HPM', function () { const testData = { createConfiguration: { datasetId: 'fakeId', - accessToken: 'fakeToken' + accessToken: 'fakeToken', + tokenType: models.TokenType.Aad, + eventHooks: { accessTokenProvider: function () { return null; } } }, response: { body: null @@ -2220,7 +2232,7 @@ describe('SDK-to-HPM', function () { // Act const response = await create.createReport(testData.createConfiguration); // Assert - expect(spyHpm.post).toHaveBeenCalledWith('/report/create', testData.createConfiguration, { uid: createUniqueId, sdkSessionId: sdkSessionId }, jasmine.any(Object)); + expect(spyHpm.post).toHaveBeenCalledWith('/report/create', testData.createConfiguration, { uid: createUniqueId, sdkSessionId: sdkSessionId, tokenProviderSupplied: true }, jasmine.any(Object)); expect(response).toEqual(null); }); }); From e81f5fe7d3530773344816c6d6c788d0730079cf Mon Sep 17 00:00:00 2001 From: Ali Abu Foul Date: Tue, 14 Jun 2022 13:42:02 +0000 Subject: [PATCH 093/125] Merged PR 273794: Release version 2.20.1 For an unknown reason, 2.20.0 was released 2 weeks ago to internal feed although it was not triggered. This causes the internal feed phase to fail as package already existed. --- dist/powerbi-client.d.ts | 2 +- dist/powerbi.js | 4 ++-- dist/powerbi.min.js | 4 ++-- package.json | 2 +- src/config.ts | 2 +- 5 files changed, 7 insertions(+), 7 deletions(-) diff --git a/dist/powerbi-client.d.ts b/dist/powerbi-client.d.ts index 43fae8fb..be454ef3 100644 --- a/dist/powerbi-client.d.ts +++ b/dist/powerbi-client.d.ts @@ -1,4 +1,4 @@ -// powerbi-client v2.20.0 +// powerbi-client v2.20.1 // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. declare module "config" { diff --git a/dist/powerbi.js b/dist/powerbi.js index fcb51740..78fe5139 100644 --- a/dist/powerbi.js +++ b/dist/powerbi.js @@ -1,4 +1,4 @@ -// powerbi-client v2.20.0 +// powerbi-client v2.20.1 // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. (function webpackUniversalModuleDefinition(root, factory) { @@ -8844,7 +8844,7 @@ exports.BookmarksManager = BookmarksManager; Object.defineProperty(exports, "__esModule", { value: true }); /** @ignore */ /** */ var config = { - version: '2.20.0', + version: '2.20.1', type: 'js' }; exports.default = config; diff --git a/dist/powerbi.min.js b/dist/powerbi.min.js index 25211c2d..e5a7b633 100644 --- a/dist/powerbi.min.js +++ b/dist/powerbi.min.js @@ -1,7 +1,7 @@ -// powerbi-client v2.20.0 +// powerbi-client v2.20.1 // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. -!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){var e={};function r(i){if(e[i])return e[i].exports;var a=e[i]={i:i,l:!1,exports:{}};return t[i].call(a.exports,a,a.exports,r),a.l=!0,a.exports}return r.m=t,r.c=e,r.d=function(t,e,i){r.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:i})},r.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},r.t=function(t,e){if(1&e&&(t=r(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var i=Object.create(null);if(r.r(i),Object.defineProperty(i,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var a in t)r.d(i,a,function(e){return t[e]}.bind(null,a));return i},r.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return r.d(e,"a",e),e},r.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},r.p="",r(r.s=13)}([function(t,e,r){var i;i=()=>{return t=[function(t,e,r){var i,a=this&&this.__extends||(i=function(t,e){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])})(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.VisualSelector=e.PageSelector=e.Selector=e.SortDirection=e.LegendPosition=e.TextAlignment=e.CommonErrorCodes=e.BookmarksPlayMode=e.ExportDataType=e.QnaMode=e.PageNavigationPosition=e.isPercentOfGrandTotal=e.isColumnAggr=e.isHierarchyLevelAggr=e.isHierarchyLevel=e.isColumn=e.isMeasure=e.getFilterType=e.isBasicFilterWithKeys=e.isFilterKeyColumnsTarget=e.AdvancedFilter=e.TupleFilter=e.IdentityFilter=e.BasicFilterWithKeys=e.BasicFilter=e.RelativeTimeFilter=e.RelativeDateFilter=e.TopNFilter=e.IncludeExcludeFilter=e.NotSupportedFilter=e.Filter=e.RelativeDateOperators=e.RelativeDateFilterTimeUnit=e.FilterType=e.FiltersLevel=e.FiltersOperations=e.MenuLocation=e.ContrastMode=e.TokenType=e.ViewMode=e.Permissions=e.SectionVisibility=e.ReportAlignment=e.HyperlinkClickBehavior=e.LayoutType=e.VisualContainerDisplayMode=e.BackgroundType=e.DisplayOption=e.PageSizeType=e.TraceType=void 0,e.validateZoomLevel=e.validateCustomTheme=e.validateCommandsSettings=e.validateVisualSettings=e.validateVisualHeader=e.validateExportDataRequest=e.validateQnaInterpretInputData=e.validateLoadQnaConfiguration=e.validateSaveAsParameters=e.validateUpdateFiltersRequest=e.validateFilter=e.validatePage=e.validateTileLoad=e.validateDashboardLoad=e.validateCreateReport=e.validatePaginatedReportLoad=e.validateReportLoad=e.validateMenuGroupExtension=e.validateExtension=e.validateCustomPageSize=e.validateVisualizationsPane=e.validateSyncSlicersPane=e.validateSelectionPane=e.validatePageNavigationPane=e.validateFieldsPane=e.validateFiltersPane=e.validateBookmarksPane=e.validatePanes=e.validateSettings=e.validateCaptureBookmarkRequest=e.validateApplyBookmarkStateRequest=e.validateApplyBookmarkByNameRequest=e.validateAddBookmarkRequest=e.validatePlayBookmarkRequest=e.validateSlicerState=e.validateSlicer=e.validateVisualSelector=e.isIExtensionArray=e.isIExtensions=e.isGroupedMenuExtension=e.isFlatMenuExtension=e.isReportFiltersArray=e.isOnLoadFilters=e.VisualDataRoleKindPreference=e.VisualDataRoleKind=e.CommandDisplayOption=e.SlicerTargetSelector=e.VisualTypeSelector=void 0;var n,o=r(1);!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"}(e.TraceType||(e.TraceType={})),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",t[t.Mobile=5]="Mobile"}(e.PageSizeType||(e.PageSizeType={})),function(t){t[t.FitToPage=0]="FitToPage",t[t.FitToWidth=1]="FitToWidth",t[t.ActualSize=2]="ActualSize"}(e.DisplayOption||(e.DisplayOption={})),function(t){t[t.Default=0]="Default",t[t.Transparent=1]="Transparent"}(e.BackgroundType||(e.BackgroundType={})),function(t){t[t.Visible=0]="Visible",t[t.Hidden=1]="Hidden"}(e.VisualContainerDisplayMode||(e.VisualContainerDisplayMode={})),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={})),function(t){t[t.Navigate=0]="Navigate",t[t.NavigateAndRaiseEvent=1]="NavigateAndRaiseEvent",t[t.RaiseEvent=2]="RaiseEvent"}(e.HyperlinkClickBehavior||(e.HyperlinkClickBehavior={})),function(t){t[t.Left=0]="Left",t[t.Center=1]="Center",t[t.Right=2]="Right",t[t.None=3]="None"}(e.ReportAlignment||(e.ReportAlignment={})),function(t){t[t.AlwaysVisible=0]="AlwaysVisible",t[t.HiddenInViewMode=1]="HiddenInViewMode"}(e.SectionVisibility||(e.SectionVisibility={})),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"}(e.Permissions||(e.Permissions={})),function(t){t[t.View=0]="View",t[t.Edit=1]="Edit"}(e.ViewMode||(e.ViewMode={})),function(t){t[t.Aad=0]="Aad",t[t.Embed=1]="Embed"}(e.TokenType||(e.TokenType={})),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"}(e.ContrastMode||(e.ContrastMode={})),function(t){t[t.Bottom=0]="Bottom",t[t.Top=1]="Top"}(e.MenuLocation||(e.MenuLocation={})),function(t){t[t.RemoveAll=0]="RemoveAll",t[t.ReplaceAll=1]="ReplaceAll",t[t.Add=2]="Add",t[t.Replace=3]="Replace"}(e.FiltersOperations||(e.FiltersOperations={})),function(t){t[t.Report=0]="Report",t[t.Page=1]="Page",t[t.Visual=2]="Visual"}(e.FiltersLevel||(e.FiltersLevel={})),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",t[t.Identity=8]="Identity"}(n=e.FilterType||(e.FilterType={})),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"}(e.RelativeDateFilterTimeUnit||(e.RelativeDateFilterTimeUnit={})),function(t){t[t.InLast=0]="InLast",t[t.InThis=1]="InThis",t[t.InNext=2]="InNext"}(e.RelativeDateOperators||(e.RelativeDateOperators={}));var l=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=l;var s=function(t){function e(r,i,a){var o=t.call(this,r,n.Unknown)||this;return o.message=i,o.notSupportedTypeName=a,o.schemaUrl=e.schemaUrl,o}return a(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}(l);e.NotSupportedFilter=s;var u=function(t){function e(r,i,a){var o=t.call(this,r,n.IncludeExclude)||this;return o.values=a,o.isExclude=i,o.schemaUrl=e.schemaUrl,o}return a(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}(l);e.IncludeExcludeFilter=u;var d=function(t){function e(r,i,a,o){var l=t.call(this,r,n.TopN)||this;return l.operator=i,l.itemCount=a,l.schemaUrl=e.schemaUrl,l.orderBy=o,l}return a(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}(l);e.TopNFilter=d;var c=function(t){function e(r,i,a,o,l){var s=t.call(this,r,n.RelativeDate)||this;return s.operator=i,s.timeUnitsCount=a,s.timeUnitType=o,s.includeToday=l,s.schemaUrl=e.schemaUrl,s}return a(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}(l);e.RelativeDateFilter=c;var p=function(t){function e(r,i,a,o){var l=t.call(this,r,n.RelativeTime)||this;return l.operator=i,l.timeUnitsCount=a,l.timeUnitType=o,l.schemaUrl=e.schemaUrl,l}return a(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}(l);e.RelativeTimeFilter=p;var f=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 ".concat(o," keys"));if(0===o&&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,s=n.keyValues;l2)throw new Error("AdvancedFilters may not have more than two conditions. You passed: ".concat(a.length));if(1===l.length&&"And"!==i)throw new Error('Logical Operator must be "And" when there is only one condition provided');return s.conditions=l,s}return a(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}(l);function g(t){if(t.filterType)return t.filterType;var e=t,r=t;return"string"==typeof e.operator&&Array.isArray(e.values)?n.Basic:"string"==typeof r.logicalOperator&&Array.isArray(r.conditions)?n.Advanced:n.Unknown}function V(t){return!(!t.table||!t.column||t.aggregationFunction)}e.AdvancedFilter=m,e.isFilterKeyColumnsTarget=function(t){return V(t)&&!!t.keys},e.isBasicFilterWithKeys=function(t){return g(t)===n.Basic&&!!t.keyValues},e.getFilterType=g,e.isMeasure=function(t){return void 0!==t.table&&void 0!==t.measure},e.isColumn=V,e.isHierarchyLevel=function(t){return!(!(t.table&&t.hierarchy&&t.hierarchyLevel)||t.aggregationFunction)},e.isHierarchyLevelAggr=function(t){return!!(t.table&&t.hierarchy&&t.hierarchyLevel&&t.aggregationFunction)},e.isColumnAggr=function(t){return!!(t.table&&t.column&&t.aggregationFunction)},e.isPercentOfGrandTotal=function(t){return!!t.percentOfGrandTotal},function(t){t[t.Bottom=0]="Bottom",t[t.Left=1]="Left"}(e.PageNavigationPosition||(e.PageNavigationPosition={})),function(t){t[t.Interactive=0]="Interactive",t[t.ResultOnly=1]="ResultOnly"}(e.QnaMode||(e.QnaMode={})),function(t){t[t.Summarized=0]="Summarized",t[t.Underlying=1]="Underlying"}(e.ExportDataType||(e.ExportDataType={})),function(t){t[t.Off=0]="Off",t[t.Presentation=1]="Presentation"}(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"},function(t){t[t.Ascending=1]="Ascending",t[t.Descending=2]="Descending"}(e.SortDirection||(e.SortDirection={}));var b=function(){function t(t){this.$schema=t}return t.prototype.toJSON=function(){return{$schema:this.$schema}},t}();e.Selector=b;var w=function(t){function e(r){var i=t.call(this,e.schemaUrl)||this;return i.pageName=r,i}return a(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}(b);e.PageSelector=w;var O=function(t){function e(r){var i=t.call(this,e.schemaUrl)||this;return i.visualName=r,i}return a(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}(b);e.VisualSelector=O;var P=function(t){function e(e){var r=t.call(this,O.schemaUrl)||this;return r.visualType=e,r}return a(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}(b);e.VisualTypeSelector=P;var S=function(t){function e(e){var r=t.call(this,O.schemaUrl)||this;return r.target=e,r}return a(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}(b);function E(t){return Array.isArray(t)}function _(t){return t&&!!t.groupName}function T(t){return Array.isArray(t)}function F(t){var e=t.message;return e||(e="".concat(t.path," is invalid. Not meeting ").concat(t.keyword," constraint")),{message:e}}e.SlicerTargetSelector=S,function(t){t[t.Enabled=0]="Enabled",t[t.Disabled=1]="Disabled",t[t.Hidden=2]="Hidden"}(e.CommandDisplayOption||(e.CommandDisplayOption={})),function(t){t[t.Grouping=0]="Grouping",t[t.Measure=1]="Measure",t[t.GroupingOrMeasure=2]="GroupingOrMeasure"}(e.VisualDataRoleKind||(e.VisualDataRoleKind={})),function(t){t[t.Measure=0]="Measure",t[t.Grouping=1]="Grouping"}(e.VisualDataRoleKindPreference||(e.VisualDataRoleKindPreference={})),e.isOnLoadFilters=function(t){return t&&!E(t)},e.isReportFiltersArray=E,e.isFlatMenuExtension=function(t){return t&&!_(t)},e.isGroupedMenuExtension=_,e.isIExtensions=function(t){return t&&!T(t)},e.isIExtensionArray=T,e.validateVisualSelector=function(t){var e=o.Validators.visualSelectorValidator.validate(t);return e?e.map(F):void 0},e.validateSlicer=function(t){var e=o.Validators.slicerValidator.validate(t);return e?e.map(F):void 0},e.validateSlicerState=function(t){var e=o.Validators.slicerStateValidator.validate(t);return e?e.map(F):void 0},e.validatePlayBookmarkRequest=function(t){var e=o.Validators.playBookmarkRequestValidator.validate(t);return e?e.map(F):void 0},e.validateAddBookmarkRequest=function(t){var e=o.Validators.addBookmarkRequestValidator.validate(t);return e?e.map(F):void 0},e.validateApplyBookmarkByNameRequest=function(t){var e=o.Validators.applyBookmarkByNameRequestValidator.validate(t);return e?e.map(F):void 0},e.validateApplyBookmarkStateRequest=function(t){var e=o.Validators.applyBookmarkStateRequestValidator.validate(t);return e?e.map(F):void 0},e.validateCaptureBookmarkRequest=function(t){var e=o.Validators.captureBookmarkRequestValidator.validate(t);return e?e.map(F):void 0},e.validateSettings=function(t){var e=o.Validators.settingsValidator.validate(t);return e?e.map(F):void 0},e.validatePanes=function(t){var e=o.Validators.reportPanesValidator.validate(t);return e?e.map(F):void 0},e.validateBookmarksPane=function(t){var e=o.Validators.bookmarksPaneValidator.validate(t);return e?e.map(F):void 0},e.validateFiltersPane=function(t){var e=o.Validators.filtersPaneValidator.validate(t);return e?e.map(F):void 0},e.validateFieldsPane=function(t){var e=o.Validators.fieldsPaneValidator.validate(t);return e?e.map(F):void 0},e.validatePageNavigationPane=function(t){var e=o.Validators.pageNavigationPaneValidator.validate(t);return e?e.map(F):void 0},e.validateSelectionPane=function(t){var e=o.Validators.selectionPaneValidator.validate(t);return e?e.map(F):void 0},e.validateSyncSlicersPane=function(t){var e=o.Validators.syncSlicersPaneValidator.validate(t);return e?e.map(F):void 0},e.validateVisualizationsPane=function(t){var e=o.Validators.visualizationsPaneValidator.validate(t);return e?e.map(F):void 0},e.validateCustomPageSize=function(t){var e=o.Validators.customPageSizeValidator.validate(t);return e?e.map(F):void 0},e.validateExtension=function(t){var e=o.Validators.extensionValidator.validate(t);return e?e.map(F):void 0},e.validateMenuGroupExtension=function(t){var e=o.Validators.menuGroupExtensionValidator.validate(t);return e?e.map(F):void 0},e.validateReportLoad=function(t){var e=o.Validators.reportLoadValidator.validate(t);return e?e.map(F):void 0},e.validatePaginatedReportLoad=function(t){var e=o.Validators.paginatedReportLoadValidator.validate(t);return e?e.map(F):void 0},e.validateCreateReport=function(t){var e=o.Validators.reportCreateValidator.validate(t);return e?e.map(F):void 0},e.validateDashboardLoad=function(t){var e=o.Validators.dashboardLoadValidator.validate(t);return e?e.map(F):void 0},e.validateTileLoad=function(t){var e=o.Validators.tileLoadValidator.validate(t);return e?e.map(F):void 0},e.validatePage=function(t){var e=o.Validators.pageValidator.validate(t);return e?e.map(F):void 0},e.validateFilter=function(t){var e=o.Validators.filterValidator.validate(t);return e?e.map(F):void 0},e.validateUpdateFiltersRequest=function(t){var e=o.Validators.updateFiltersRequestValidator.validate(t);return e?e.map(F):void 0},e.validateSaveAsParameters=function(t){var e=o.Validators.saveAsParametersValidator.validate(t);return e?e.map(F):void 0},e.validateLoadQnaConfiguration=function(t){var e=o.Validators.loadQnaValidator.validate(t);return e?e.map(F):void 0},e.validateQnaInterpretInputData=function(t){var e=o.Validators.qnaInterpretInputDataValidator.validate(t);return e?e.map(F):void 0},e.validateExportDataRequest=function(t){var e=o.Validators.exportDataRequestValidator.validate(t);return e?e.map(F):void 0},e.validateVisualHeader=function(t){var e=o.Validators.visualHeaderValidator.validate(t);return e?e.map(F):void 0},e.validateVisualSettings=function(t){var e=o.Validators.visualSettingsValidator.validate(t);return e?e.map(F):void 0},e.validateCommandsSettings=function(t){var e=o.Validators.commandsSettingsValidator.validate(t);return e?e.map(F):void 0},e.validateCustomTheme=function(t){var e=o.Validators.customThemeValidator.validate(t);return e?e.map(F):void 0},e.validateZoomLevel=function(t){var e=o.Validators.zoomLevelValidator.validate(t);return e?e.map(F):void 0}},(t,e,r)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.Validators=void 0;var i=r(2),a=r(5),n=r(6),o=r(7),l=r(8),s=r(9),u=r(10),d=r(11),c=r(12),p=r(13),f=r(14),h=r(15),v=r(16),y=r(17),m=r(18),g=r(19),V=r(20),b=r(21),w=r(22),O=r(23),P=r(24),S=r(25),E=r(26),_=r(27),T=r(28),F=r(29),x=r(4),R=r(30);e.Validators={addBookmarkRequestValidator:new a.AddBookmarkRequestValidator,advancedFilterTypeValidator:new x.EnumValidator([0]),advancedFilterValidator:new c.AdvancedFilterValidator,anyArrayValidator:new x.ArrayValidator([new E.AnyOfValidator([new x.StringValidator,new x.NumberValidator,new x.BooleanValidator])]),anyFilterValidator:new E.AnyOfValidator([new c.BasicFilterValidator,new c.AdvancedFilterValidator,new c.IncludeExcludeFilterValidator,new c.NotSupportedFilterValidator,new c.RelativeDateFilterValidator,new c.TopNFilterValidator,new c.RelativeTimeFilterValidator]),anyValueValidator:new E.AnyOfValidator([new x.StringValidator,new x.NumberValidator,new x.BooleanValidator]),actionBarValidator:new i.ActionBarValidator,applyBookmarkByNameRequestValidator:new a.ApplyBookmarkByNameRequestValidator,applyBookmarkStateRequestValidator:new a.ApplyBookmarkStateRequestValidator,applyBookmarkValidator:new E.AnyOfValidator([new a.ApplyBookmarkByNameRequestValidator,new a.ApplyBookmarkStateRequestValidator]),backgroundValidator:new x.EnumValidator([0,1]),basicFilterTypeValidator:new x.EnumValidator([1]),basicFilterValidator:new c.BasicFilterValidator,booleanArrayValidator:new x.BooleanArrayValidator,booleanValidator:new x.BooleanValidator,bookmarksPaneValidator:new h.BookmarksPaneValidator,captureBookmarkOptionsValidator:new a.CaptureBookmarkOptionsValidator,captureBookmarkRequestValidator:new a.CaptureBookmarkRequestValidator,commandDisplayOptionValidator:new x.EnumValidator([0,1,2]),commandExtensionSelectorValidator:new E.AnyOfValidator([new b.VisualSelectorValidator,new b.VisualTypeSelectorValidator]),commandExtensionArrayValidator:new x.ArrayValidator([new d.CommandExtensionValidator]),commandExtensionValidator:new d.CommandExtensionValidator,commandsSettingsArrayValidator:new x.ArrayValidator([new n.CommandsSettingsValidator]),commandsSettingsValidator:new n.CommandsSettingsValidator,conditionItemValidator:new c.ConditionItemValidator,contrastModeValidator:new x.EnumValidator([0,1,2,3,4]),customLayoutDisplayOptionValidator:new x.EnumValidator([0,1,2]),customLayoutValidator:new p.CustomLayoutValidator,customPageSizeValidator:new f.CustomPageSizeValidator,customThemeValidator:new o.CustomThemeValidator,dashboardLoadValidator:new l.DashboardLoadValidator,datasetBindingValidator:new s.DatasetBindingValidator,displayStateModeValidator:new x.EnumValidator([0,1]),displayStateValidator:new p.DisplayStateValidator,exportDataRequestValidator:new u.ExportDataRequestValidator,extensionArrayValidator:new x.ArrayValidator([new d.ExtensionValidator]),extensionsValidator:new E.AnyOfValidator([new x.ArrayValidator([new d.ExtensionValidator]),new d.ExtensionsValidator]),extensionPointsValidator:new d.ExtensionPointsValidator,extensionValidator:new d.ExtensionValidator,fieldForbiddenValidator:new _.FieldForbiddenValidator,fieldRequiredValidator:new T.FieldRequiredValidator,fieldsPaneValidator:new h.FieldsPaneValidator,filterColumnTargetValidator:new c.FilterColumnTargetValidator,filterDisplaySettingsValidator:new c.FilterDisplaySettingsValidator,filterConditionsValidator:new x.ArrayValidator([new c.ConditionItemValidator]),filterHierarchyTargetValidator:new c.FilterHierarchyTargetValidator,filterMeasureTargetValidator:new c.FilterMeasureTargetValidator,filterTargetValidator:new E.AnyOfValidator([new c.FilterColumnTargetValidator,new c.FilterHierarchyTargetValidator,new c.FilterMeasureTargetValidator]),filterValidator:new c.FilterValidator,filterTypeValidator:new x.EnumValidator([0,1,2,3,4,5,6,7]),filtersArrayValidator:new x.ArrayValidator([new c.FilterValidator]),filtersOperationsUpdateValidator:new x.EnumValidator([1,2,3]),filtersOperationsRemoveAllValidator:new x.EnumValidator([0]),filtersPaneValidator:new h.FiltersPaneValidator,hyperlinkClickBehaviorValidator:new x.EnumValidator([0,1,2]),includeExcludeFilterValidator:new c.IncludeExcludeFilterValidator,includeExludeFilterTypeValidator:new x.EnumValidator([3]),layoutTypeValidator:new x.EnumValidator([0,1,2,3]),loadQnaValidator:new v.LoadQnaValidator,menuExtensionValidator:new E.AnyOfValidator([new d.FlatMenuExtensionValidator,new d.GroupedMenuExtensionValidator]),menuGroupExtensionArrayValidator:new x.ArrayValidator([new d.MenuGroupExtensionValidator]),menuGroupExtensionValidator:new d.MenuGroupExtensionValidator,menuLocationValidator:new x.EnumValidator([0,1]),notSupportedFilterTypeValidator:new x.EnumValidator([2]),notSupportedFilterValidator:new c.NotSupportedFilterValidator,numberArrayValidator:new x.NumberArrayValidator,numberValidator:new x.NumberValidator,onLoadFiltersBaseValidator:new E.AnyOfValidator([new c.OnLoadFiltersBaseValidator,new c.OnLoadFiltersBaseRemoveOperationValidator]),pageLayoutValidator:new F.MapValidator([new x.StringValidator],[new p.VisualLayoutValidator]),pageNavigationPaneValidator:new h.PageNavigationPaneValidator,pageNavigationPositionValidator:new x.EnumValidator([0,1]),pageSizeTypeValidator:new x.EnumValidator([0,1,2,3,4,5]),pageSizeValidator:new f.PageSizeValidator,pageValidator:new f.PageValidator,pageViewFieldValidator:new f.PageViewFieldValidator,pagesLayoutValidator:new F.MapValidator([new x.StringValidator],[new p.PageLayoutValidator]),paginatedReportCommandsValidator:new n.PaginatedReportCommandsValidator,paginatedReportLoadValidator:new g.PaginatedReportLoadValidator,paginatedReportsettingsValidator:new w.PaginatedReportSettingsValidator,parameterValuesArrayValidator:new x.ArrayValidator([new g.ReportParameterFieldsValidator]),parametersPanelValidator:new R.ParametersPanelValidator,permissionsValidator:new x.EnumValidator([0,1,2,4,7]),playBookmarkRequestValidator:new a.PlayBookmarkRequestValidator,qnaInterpretInputDataValidator:new v.QnaInterpretInputDataValidator,qnaPanesValidator:new h.QnaPanesValidator,qnaSettingValidator:new v.QnaSettingsValidator,relativeDateFilterOperatorValidator:new x.EnumValidator([0,1,2]),relativeDateFilterTimeUnitTypeValidator:new x.EnumValidator([0,1,2,3,4,5,6]),relativeDateFilterTypeValidator:new x.EnumValidator([4]),relativeDateFilterValidator:new c.RelativeDateFilterValidator,relativeDateTimeFilterTypeValidator:new x.EnumValidator([4,7]),relativeDateTimeFilterUnitTypeValidator:new x.EnumValidator([0,1,2,3,4,5,6,7,8]),relativeTimeFilterTimeUnitTypeValidator:new x.EnumValidator([7,8]),relativeTimeFilterTypeValidator:new x.EnumValidator([7]),relativeTimeFilterValidator:new c.RelativeTimeFilterValidator,reportBarsValidator:new i.ReportBarsValidator,reportCreateValidator:new y.ReportCreateValidator,reportLoadFiltersValidator:new E.AnyOfValidator([new x.ArrayValidator([new c.FilterValidator]),new c.OnLoadFiltersValidator]),reportLoadValidator:new m.ReportLoadValidator,reportPanesValidator:new h.ReportPanesValidator,saveAsParametersValidator:new V.SaveAsParametersValidator,selectionPaneValidator:new h.SelectionPaneValidator,settingsValidator:new w.SettingsValidator,singleCommandSettingsValidator:new n.SingleCommandSettingsValidator,slicerSelectorValidator:new E.AnyOfValidator([new b.VisualSelectorValidator,new b.SlicerTargetSelectorValidator]),slicerStateValidator:new O.SlicerStateValidator,slicerTargetValidator:new E.AnyOfValidator([new c.FilterColumnTargetValidator,new c.FilterHierarchyTargetValidator,new c.FilterMeasureTargetValidator,new c.FilterKeyColumnsTargetValidator,new c.FilterKeyHierarchyTargetValidator]),slicerValidator:new O.SlicerValidator,stringArrayValidator:new x.StringArrayValidator,stringValidator:new x.StringValidator,syncSlicersPaneValidator:new h.SyncSlicersPaneValidator,tileLoadValidator:new P.TileLoadValidator,tokenTypeValidator:new x.EnumValidator([0,1]),topNFilterTypeValidator:new x.EnumValidator([5]),topNFilterValidator:new c.TopNFilterValidator,updateFiltersRequestValidator:new E.AnyOfValidator([new c.UpdateFiltersRequestValidator,new c.RemoveFiltersRequestValidator]),viewModeValidator:new x.EnumValidator([0,1]),visualCommandSelectorValidator:new E.AnyOfValidator([new b.VisualSelectorValidator,new b.VisualTypeSelectorValidator]),visualHeaderSelectorValidator:new E.AnyOfValidator([new b.VisualSelectorValidator,new b.VisualTypeSelectorValidator]),visualHeaderSettingsValidator:new S.VisualHeaderSettingsValidator,visualHeaderValidator:new S.VisualHeaderValidator,visualHeadersValidator:new x.ArrayValidator([new S.VisualHeaderValidator]),visualizationsPaneValidator:new h.VisualizationsPaneValidator,visualLayoutValidator:new p.VisualLayoutValidator,visualSelectorValidator:new b.VisualSelectorValidator,visualSettingsValidator:new S.VisualSettingsValidator,visualTypeSelectorValidator:new b.VisualTypeSelectorValidator,zoomLevelValidator:new x.RangeValidator(.25,4)}},function(t,e,r){var i,a=this&&this.__extends||(i=function(t,e){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])})(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.ActionBarValidator=e.ReportBarsValidator=void 0;var n=r(3),o=r(4),l=r(1),s=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return a(e,t),e.prototype.validate=function(e,r,i){if(null==e)return null;var a=t.prototype.validate.call(this,e,r,i);if(a)return a;var o=[{field:"actionBar",validators:[l.Validators.actionBarValidator]}];return new n.MultipleFieldsValidator(o).validate(e,r,i)},e}(o.ObjectValidator);e.ReportBarsValidator=s;var u=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return a(e,t),e.prototype.validate=function(e,r,i){if(null==e)return null;var a=t.prototype.validate.call(this,e,r,i);if(a)return a;var o=[{field:"visible",validators:[l.Validators.booleanValidator]}];return new n.MultipleFieldsValidator(o).validate(e,r,i)},e}(o.ObjectValidator);e.ActionBarValidator=u},(t,e)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.MultipleFieldsValidator=void 0;var r=function(){function t(t){this.fieldValidatorsPairs=t}return t.prototype.validate=function(t,e,r){if(!this.fieldValidatorsPairs)return null;for(var i=e?e+"."+r:r,a=0,n=this.fieldValidatorsPairs;athis.maxValue||e{Object.defineProperty(e,"__esModule",{value:!0}),e.AnyOfValidator=void 0;var r=function(){function t(t){this.validators=t}return t.prototype.validate=function(t,e,r){if(null==t)return null;for(var i=!1,a=0,n=this.validators;a{Object.defineProperty(e,"__esModule",{value:!0}),e.FieldForbiddenValidator=void 0;var r=function(){function t(){}return t.prototype.validate=function(t,e,r){return void 0!==t?[{message:r+" is forbidden",path:(e?e+".":"")+r,keyword:"forbidden"}]:null},t}();e.FieldForbiddenValidator=r},(t,e)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.FieldRequiredValidator=void 0;var r=function(){function t(){}return t.prototype.validate=function(t,e,r){return null==t?[{message:r+" is required",path:(e?e+".":"")+r,keyword:"required"}]:null},t}();e.FieldRequiredValidator=r},function(t,e,r){var i,a=this&&this.__extends||(i=function(t,e){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])})(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.MapValidator=void 0;var n=function(t){function e(e,r){var i=t.call(this)||this;return i.keyValidators=e,i.valueValidators=r,i}return a(e,t),e.prototype.validate=function(e,r,i){if(null==e)return null;var a=t.prototype.validate.call(this,e,r,i);if(a)return a;for(var n in e)if(e.hasOwnProperty(n)){for(var o=(r?r+".":"")+i+"."+n,l=0,s=this.keyValidators;l0&&a[a.length-1])||6!==n[0]&&2!==n[0])){o=0;continue}if(3===n[0]&&(!a||n[1]>a[0]&&n[1]0&&a[a.length-1])||6!==n[0]&&2!==n[0])){o=0;continue}if(3===n[0]&&(!a||n[1]>a[0]&&n[1]0?"&":"?";return t+=i+e+"="+r},e.isSavedInternal=function(t,e,a){return r(this,void 0,void 0,(function(){return i(this,(function(r){switch(r.label){case 0:return r.trys.push([0,2,,3]),[4,t.get("/report/hasUnsavedChanges",{uid:e},a)];case 1:return[2,!r.sent().body];case 2:throw r.sent().body;case 3:return[2]}}))}))},e.isRDLEmbed=function(t){return t&&t.toLowerCase().indexOf("/rdlembed?")>=0},e.autoAuthInEmbedUrl=function(t){return t&&decodeURIComponent(t).toLowerCase().indexOf("autoauth=true")>=0},e.getRandomValue=n,e.getTimeDiffInMilliseconds=function(t,e){return Math.abs(t.getTime()-e.getTime())}},function(t,e){Object.defineProperty(e,"__esModule",{value:!0}),e.FilterBuilder=void 0;var r=function(){function t(){}return t.prototype.withTargetObject=function(t){return this.target=t,this},t.prototype.withColumnTarget=function(t,e){return this.target={table:t,column:e},this},t.prototype.withMeasureTarget=function(t,e){return this.target={table:t,measure:e},this},t.prototype.withHierarchyLevelTarget=function(t,e,r){return this.target={table:t,hierarchy:e,hierarchyLevel:r},this},t.prototype.withColumnAggregation=function(t,e,r){return this.target={table:t,column:e,aggregationFunction:r},this},t.prototype.withHierarchyLevelAggregationTarget=function(t,e,r,i){return this.target={table:t,hierarchy:e,hierarchyLevel:r,aggregationFunction:i},this},t}();e.FilterBuilder=r},function(t,e){Object.defineProperty(e,"__esModule",{value:!0}),e.EmbedUrlNotSupported=e.APINotSupportedForRDLError=void 0,e.APINotSupportedForRDLError="This API is currently not supported for RDL reports",e.EmbedUrlNotSupported="Embed URL is invalid for this scenario. Please use Power BI REST APIs to get the valid URL"},function(t,e){Object.defineProperty(e,"__esModule",{value:!0});e.default={version:"2.20.0",type:"js"}},function(t,e,r){var i,a=this&&this.__extends||(i=function(t,e){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])})(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}),n=this&&this.__awaiter||function(t,e,r,i){return new(r||(r=Promise))((function(a,n){function o(t){try{s(i.next(t))}catch(t){n(t)}}function l(t){try{s(i.throw(t))}catch(t){n(t)}}function s(t){var e;t.done?a(t.value):(e=t.value,e instanceof r?e:new r((function(t){t(e)}))).then(o,l)}s((i=i.apply(t,e||[])).next())}))},o=this&&this.__generator||function(t,e){var r,i,a,n,o={label:0,sent:function(){if(1&a[0])throw a[1];return a[1]},trys:[],ops:[]};return n={next:l(0),throw:l(1),return:l(2)},"function"==typeof Symbol&&(n[Symbol.iterator]=function(){return this}),n;function l(n){return function(l){return function(n){if(r)throw new TypeError("Generator is already executing.");for(;o;)try{if(r=1,i&&(a=2&n[0]?i.return:n[0]?i.throw||((a=i.return)&&a.call(i),0):i.next)&&!(a=a.call(i,n[1])).done)return a;switch(i=0,a&&(n=[2&n[0],a.value]),n[0]){case 0:case 1:a=n;break;case 4:return o.label++,{value:n[1],done:!1};case 5:o.label++,i=n[1],n=[0];continue;case 7:n=o.ops.pop(),o.trys.pop();continue;default:if(!(a=o.trys,(a=a.length>0&&a[a.length-1])||6!==n[0]&&2!==n[0])){o=0;continue}if(3===n[0]&&(!a||n[1]>a[0]&&n[1]0&&a[a.length-1])||6!==n[0]&&2!==n[0])){o=0;continue}if(3===n[0]&&(!a||n[1]>a[0]&&n[1]0&&a[a.length-1])||6!==n[0]&&2!==n[0])){o=0;continue}if(3===n[0]&&(!a||n[1]>a[0]&&n[1]0&&a[a.length-1])||6!==n[0]&&2!==n[0])){o=0;continue}if(3===n[0]&&(!a||n[1]>a[0]&&n[1]0&&a[a.length-1])||6!==n[0]&&2!==n[0])){o=0;continue}if(3===n[0]&&(!a||n[1]>a[0]&&n[1]0&&a[a.length-1])||6!==n[0]&&2!==n[0])){o=0;continue}if(3===n[0]&&(!a||n[1]>a[0]&&n[1]0&&a[a.length-1])||6!==n[0]&&2!==n[0])){o=0;continue}if(3===n[0]&&(!a||n[1]>a[0]&&n[1]{return t=[function(t,e,r){var i,a=this&&this.__extends||(i=function(t,e){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])})(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.VisualSelector=e.PageSelector=e.Selector=e.SortDirection=e.LegendPosition=e.TextAlignment=e.CommonErrorCodes=e.BookmarksPlayMode=e.ExportDataType=e.QnaMode=e.PageNavigationPosition=e.isPercentOfGrandTotal=e.isColumnAggr=e.isHierarchyLevelAggr=e.isHierarchyLevel=e.isColumn=e.isMeasure=e.getFilterType=e.isBasicFilterWithKeys=e.isFilterKeyColumnsTarget=e.AdvancedFilter=e.TupleFilter=e.IdentityFilter=e.BasicFilterWithKeys=e.BasicFilter=e.RelativeTimeFilter=e.RelativeDateFilter=e.TopNFilter=e.IncludeExcludeFilter=e.NotSupportedFilter=e.Filter=e.RelativeDateOperators=e.RelativeDateFilterTimeUnit=e.FilterType=e.FiltersLevel=e.FiltersOperations=e.MenuLocation=e.ContrastMode=e.TokenType=e.ViewMode=e.Permissions=e.SectionVisibility=e.ReportAlignment=e.HyperlinkClickBehavior=e.LayoutType=e.VisualContainerDisplayMode=e.BackgroundType=e.DisplayOption=e.PageSizeType=e.TraceType=void 0,e.validateZoomLevel=e.validateCustomTheme=e.validateCommandsSettings=e.validateVisualSettings=e.validateVisualHeader=e.validateExportDataRequest=e.validateQnaInterpretInputData=e.validateLoadQnaConfiguration=e.validateSaveAsParameters=e.validateUpdateFiltersRequest=e.validateFilter=e.validatePage=e.validateTileLoad=e.validateDashboardLoad=e.validateCreateReport=e.validatePaginatedReportLoad=e.validateReportLoad=e.validateMenuGroupExtension=e.validateExtension=e.validateCustomPageSize=e.validateVisualizationsPane=e.validateSyncSlicersPane=e.validateSelectionPane=e.validatePageNavigationPane=e.validateFieldsPane=e.validateFiltersPane=e.validateBookmarksPane=e.validatePanes=e.validateSettings=e.validateCaptureBookmarkRequest=e.validateApplyBookmarkStateRequest=e.validateApplyBookmarkByNameRequest=e.validateAddBookmarkRequest=e.validatePlayBookmarkRequest=e.validateSlicerState=e.validateSlicer=e.validateVisualSelector=e.isIExtensionArray=e.isIExtensions=e.isGroupedMenuExtension=e.isFlatMenuExtension=e.isReportFiltersArray=e.isOnLoadFilters=e.VisualDataRoleKindPreference=e.VisualDataRoleKind=e.CommandDisplayOption=e.SlicerTargetSelector=e.VisualTypeSelector=void 0;var n,o=r(1);!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"}(e.TraceType||(e.TraceType={})),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",t[t.Mobile=5]="Mobile"}(e.PageSizeType||(e.PageSizeType={})),function(t){t[t.FitToPage=0]="FitToPage",t[t.FitToWidth=1]="FitToWidth",t[t.ActualSize=2]="ActualSize"}(e.DisplayOption||(e.DisplayOption={})),function(t){t[t.Default=0]="Default",t[t.Transparent=1]="Transparent"}(e.BackgroundType||(e.BackgroundType={})),function(t){t[t.Visible=0]="Visible",t[t.Hidden=1]="Hidden"}(e.VisualContainerDisplayMode||(e.VisualContainerDisplayMode={})),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={})),function(t){t[t.Navigate=0]="Navigate",t[t.NavigateAndRaiseEvent=1]="NavigateAndRaiseEvent",t[t.RaiseEvent=2]="RaiseEvent"}(e.HyperlinkClickBehavior||(e.HyperlinkClickBehavior={})),function(t){t[t.Left=0]="Left",t[t.Center=1]="Center",t[t.Right=2]="Right",t[t.None=3]="None"}(e.ReportAlignment||(e.ReportAlignment={})),function(t){t[t.AlwaysVisible=0]="AlwaysVisible",t[t.HiddenInViewMode=1]="HiddenInViewMode"}(e.SectionVisibility||(e.SectionVisibility={})),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"}(e.Permissions||(e.Permissions={})),function(t){t[t.View=0]="View",t[t.Edit=1]="Edit"}(e.ViewMode||(e.ViewMode={})),function(t){t[t.Aad=0]="Aad",t[t.Embed=1]="Embed"}(e.TokenType||(e.TokenType={})),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"}(e.ContrastMode||(e.ContrastMode={})),function(t){t[t.Bottom=0]="Bottom",t[t.Top=1]="Top"}(e.MenuLocation||(e.MenuLocation={})),function(t){t[t.RemoveAll=0]="RemoveAll",t[t.ReplaceAll=1]="ReplaceAll",t[t.Add=2]="Add",t[t.Replace=3]="Replace"}(e.FiltersOperations||(e.FiltersOperations={})),function(t){t[t.Report=0]="Report",t[t.Page=1]="Page",t[t.Visual=2]="Visual"}(e.FiltersLevel||(e.FiltersLevel={})),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",t[t.Identity=8]="Identity"}(n=e.FilterType||(e.FilterType={})),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"}(e.RelativeDateFilterTimeUnit||(e.RelativeDateFilterTimeUnit={})),function(t){t[t.InLast=0]="InLast",t[t.InThis=1]="InThis",t[t.InNext=2]="InNext"}(e.RelativeDateOperators||(e.RelativeDateOperators={}));var l=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=l;var s=function(t){function e(r,i,a){var o=t.call(this,r,n.Unknown)||this;return o.message=i,o.notSupportedTypeName=a,o.schemaUrl=e.schemaUrl,o}return a(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}(l);e.NotSupportedFilter=s;var u=function(t){function e(r,i,a){var o=t.call(this,r,n.IncludeExclude)||this;return o.values=a,o.isExclude=i,o.schemaUrl=e.schemaUrl,o}return a(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}(l);e.IncludeExcludeFilter=u;var d=function(t){function e(r,i,a,o){var l=t.call(this,r,n.TopN)||this;return l.operator=i,l.itemCount=a,l.schemaUrl=e.schemaUrl,l.orderBy=o,l}return a(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}(l);e.TopNFilter=d;var c=function(t){function e(r,i,a,o,l){var s=t.call(this,r,n.RelativeDate)||this;return s.operator=i,s.timeUnitsCount=a,s.timeUnitType=o,s.includeToday=l,s.schemaUrl=e.schemaUrl,s}return a(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}(l);e.RelativeDateFilter=c;var p=function(t){function e(r,i,a,o){var l=t.call(this,r,n.RelativeTime)||this;return l.operator=i,l.timeUnitsCount=a,l.timeUnitType=o,l.schemaUrl=e.schemaUrl,l}return a(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}(l);e.RelativeTimeFilter=p;var f=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 ".concat(o," keys"));if(0===o&&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,s=n.keyValues;l2)throw new Error("AdvancedFilters may not have more than two conditions. You passed: ".concat(a.length));if(1===l.length&&"And"!==i)throw new Error('Logical Operator must be "And" when there is only one condition provided');return s.conditions=l,s}return a(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}(l);function g(t){if(t.filterType)return t.filterType;var e=t,r=t;return"string"==typeof e.operator&&Array.isArray(e.values)?n.Basic:"string"==typeof r.logicalOperator&&Array.isArray(r.conditions)?n.Advanced:n.Unknown}function V(t){return!(!t.table||!t.column||t.aggregationFunction)}e.AdvancedFilter=m,e.isFilterKeyColumnsTarget=function(t){return V(t)&&!!t.keys},e.isBasicFilterWithKeys=function(t){return g(t)===n.Basic&&!!t.keyValues},e.getFilterType=g,e.isMeasure=function(t){return void 0!==t.table&&void 0!==t.measure},e.isColumn=V,e.isHierarchyLevel=function(t){return!(!(t.table&&t.hierarchy&&t.hierarchyLevel)||t.aggregationFunction)},e.isHierarchyLevelAggr=function(t){return!!(t.table&&t.hierarchy&&t.hierarchyLevel&&t.aggregationFunction)},e.isColumnAggr=function(t){return!!(t.table&&t.column&&t.aggregationFunction)},e.isPercentOfGrandTotal=function(t){return!!t.percentOfGrandTotal},function(t){t[t.Bottom=0]="Bottom",t[t.Left=1]="Left"}(e.PageNavigationPosition||(e.PageNavigationPosition={})),function(t){t[t.Interactive=0]="Interactive",t[t.ResultOnly=1]="ResultOnly"}(e.QnaMode||(e.QnaMode={})),function(t){t[t.Summarized=0]="Summarized",t[t.Underlying=1]="Underlying"}(e.ExportDataType||(e.ExportDataType={})),function(t){t[t.Off=0]="Off",t[t.Presentation=1]="Presentation"}(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"},function(t){t[t.Ascending=1]="Ascending",t[t.Descending=2]="Descending"}(e.SortDirection||(e.SortDirection={}));var b=function(){function t(t){this.$schema=t}return t.prototype.toJSON=function(){return{$schema:this.$schema}},t}();e.Selector=b;var w=function(t){function e(r){var i=t.call(this,e.schemaUrl)||this;return i.pageName=r,i}return a(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}(b);e.PageSelector=w;var O=function(t){function e(r){var i=t.call(this,e.schemaUrl)||this;return i.visualName=r,i}return a(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}(b);e.VisualSelector=O;var P=function(t){function e(e){var r=t.call(this,O.schemaUrl)||this;return r.visualType=e,r}return a(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}(b);e.VisualTypeSelector=P;var S=function(t){function e(e){var r=t.call(this,O.schemaUrl)||this;return r.target=e,r}return a(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}(b);function E(t){return Array.isArray(t)}function _(t){return t&&!!t.groupName}function T(t){return Array.isArray(t)}function F(t){var e=t.message;return e||(e="".concat(t.path," is invalid. Not meeting ").concat(t.keyword," constraint")),{message:e}}e.SlicerTargetSelector=S,function(t){t[t.Enabled=0]="Enabled",t[t.Disabled=1]="Disabled",t[t.Hidden=2]="Hidden"}(e.CommandDisplayOption||(e.CommandDisplayOption={})),function(t){t[t.Grouping=0]="Grouping",t[t.Measure=1]="Measure",t[t.GroupingOrMeasure=2]="GroupingOrMeasure"}(e.VisualDataRoleKind||(e.VisualDataRoleKind={})),function(t){t[t.Measure=0]="Measure",t[t.Grouping=1]="Grouping"}(e.VisualDataRoleKindPreference||(e.VisualDataRoleKindPreference={})),e.isOnLoadFilters=function(t){return t&&!E(t)},e.isReportFiltersArray=E,e.isFlatMenuExtension=function(t){return t&&!_(t)},e.isGroupedMenuExtension=_,e.isIExtensions=function(t){return t&&!T(t)},e.isIExtensionArray=T,e.validateVisualSelector=function(t){var e=o.Validators.visualSelectorValidator.validate(t);return e?e.map(F):void 0},e.validateSlicer=function(t){var e=o.Validators.slicerValidator.validate(t);return e?e.map(F):void 0},e.validateSlicerState=function(t){var e=o.Validators.slicerStateValidator.validate(t);return e?e.map(F):void 0},e.validatePlayBookmarkRequest=function(t){var e=o.Validators.playBookmarkRequestValidator.validate(t);return e?e.map(F):void 0},e.validateAddBookmarkRequest=function(t){var e=o.Validators.addBookmarkRequestValidator.validate(t);return e?e.map(F):void 0},e.validateApplyBookmarkByNameRequest=function(t){var e=o.Validators.applyBookmarkByNameRequestValidator.validate(t);return e?e.map(F):void 0},e.validateApplyBookmarkStateRequest=function(t){var e=o.Validators.applyBookmarkStateRequestValidator.validate(t);return e?e.map(F):void 0},e.validateCaptureBookmarkRequest=function(t){var e=o.Validators.captureBookmarkRequestValidator.validate(t);return e?e.map(F):void 0},e.validateSettings=function(t){var e=o.Validators.settingsValidator.validate(t);return e?e.map(F):void 0},e.validatePanes=function(t){var e=o.Validators.reportPanesValidator.validate(t);return e?e.map(F):void 0},e.validateBookmarksPane=function(t){var e=o.Validators.bookmarksPaneValidator.validate(t);return e?e.map(F):void 0},e.validateFiltersPane=function(t){var e=o.Validators.filtersPaneValidator.validate(t);return e?e.map(F):void 0},e.validateFieldsPane=function(t){var e=o.Validators.fieldsPaneValidator.validate(t);return e?e.map(F):void 0},e.validatePageNavigationPane=function(t){var e=o.Validators.pageNavigationPaneValidator.validate(t);return e?e.map(F):void 0},e.validateSelectionPane=function(t){var e=o.Validators.selectionPaneValidator.validate(t);return e?e.map(F):void 0},e.validateSyncSlicersPane=function(t){var e=o.Validators.syncSlicersPaneValidator.validate(t);return e?e.map(F):void 0},e.validateVisualizationsPane=function(t){var e=o.Validators.visualizationsPaneValidator.validate(t);return e?e.map(F):void 0},e.validateCustomPageSize=function(t){var e=o.Validators.customPageSizeValidator.validate(t);return e?e.map(F):void 0},e.validateExtension=function(t){var e=o.Validators.extensionValidator.validate(t);return e?e.map(F):void 0},e.validateMenuGroupExtension=function(t){var e=o.Validators.menuGroupExtensionValidator.validate(t);return e?e.map(F):void 0},e.validateReportLoad=function(t){var e=o.Validators.reportLoadValidator.validate(t);return e?e.map(F):void 0},e.validatePaginatedReportLoad=function(t){var e=o.Validators.paginatedReportLoadValidator.validate(t);return e?e.map(F):void 0},e.validateCreateReport=function(t){var e=o.Validators.reportCreateValidator.validate(t);return e?e.map(F):void 0},e.validateDashboardLoad=function(t){var e=o.Validators.dashboardLoadValidator.validate(t);return e?e.map(F):void 0},e.validateTileLoad=function(t){var e=o.Validators.tileLoadValidator.validate(t);return e?e.map(F):void 0},e.validatePage=function(t){var e=o.Validators.pageValidator.validate(t);return e?e.map(F):void 0},e.validateFilter=function(t){var e=o.Validators.filterValidator.validate(t);return e?e.map(F):void 0},e.validateUpdateFiltersRequest=function(t){var e=o.Validators.updateFiltersRequestValidator.validate(t);return e?e.map(F):void 0},e.validateSaveAsParameters=function(t){var e=o.Validators.saveAsParametersValidator.validate(t);return e?e.map(F):void 0},e.validateLoadQnaConfiguration=function(t){var e=o.Validators.loadQnaValidator.validate(t);return e?e.map(F):void 0},e.validateQnaInterpretInputData=function(t){var e=o.Validators.qnaInterpretInputDataValidator.validate(t);return e?e.map(F):void 0},e.validateExportDataRequest=function(t){var e=o.Validators.exportDataRequestValidator.validate(t);return e?e.map(F):void 0},e.validateVisualHeader=function(t){var e=o.Validators.visualHeaderValidator.validate(t);return e?e.map(F):void 0},e.validateVisualSettings=function(t){var e=o.Validators.visualSettingsValidator.validate(t);return e?e.map(F):void 0},e.validateCommandsSettings=function(t){var e=o.Validators.commandsSettingsValidator.validate(t);return e?e.map(F):void 0},e.validateCustomTheme=function(t){var e=o.Validators.customThemeValidator.validate(t);return e?e.map(F):void 0},e.validateZoomLevel=function(t){var e=o.Validators.zoomLevelValidator.validate(t);return e?e.map(F):void 0}},(t,e,r)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.Validators=void 0;var i=r(2),a=r(5),n=r(6),o=r(7),l=r(8),s=r(9),u=r(10),d=r(11),c=r(12),p=r(13),f=r(14),h=r(15),v=r(16),y=r(17),m=r(18),g=r(19),V=r(20),b=r(21),w=r(22),O=r(23),P=r(24),S=r(25),E=r(26),_=r(27),T=r(28),F=r(29),x=r(4),R=r(30);e.Validators={addBookmarkRequestValidator:new a.AddBookmarkRequestValidator,advancedFilterTypeValidator:new x.EnumValidator([0]),advancedFilterValidator:new c.AdvancedFilterValidator,anyArrayValidator:new x.ArrayValidator([new E.AnyOfValidator([new x.StringValidator,new x.NumberValidator,new x.BooleanValidator])]),anyFilterValidator:new E.AnyOfValidator([new c.BasicFilterValidator,new c.AdvancedFilterValidator,new c.IncludeExcludeFilterValidator,new c.NotSupportedFilterValidator,new c.RelativeDateFilterValidator,new c.TopNFilterValidator,new c.RelativeTimeFilterValidator]),anyValueValidator:new E.AnyOfValidator([new x.StringValidator,new x.NumberValidator,new x.BooleanValidator]),actionBarValidator:new i.ActionBarValidator,applyBookmarkByNameRequestValidator:new a.ApplyBookmarkByNameRequestValidator,applyBookmarkStateRequestValidator:new a.ApplyBookmarkStateRequestValidator,applyBookmarkValidator:new E.AnyOfValidator([new a.ApplyBookmarkByNameRequestValidator,new a.ApplyBookmarkStateRequestValidator]),backgroundValidator:new x.EnumValidator([0,1]),basicFilterTypeValidator:new x.EnumValidator([1]),basicFilterValidator:new c.BasicFilterValidator,booleanArrayValidator:new x.BooleanArrayValidator,booleanValidator:new x.BooleanValidator,bookmarksPaneValidator:new h.BookmarksPaneValidator,captureBookmarkOptionsValidator:new a.CaptureBookmarkOptionsValidator,captureBookmarkRequestValidator:new a.CaptureBookmarkRequestValidator,commandDisplayOptionValidator:new x.EnumValidator([0,1,2]),commandExtensionSelectorValidator:new E.AnyOfValidator([new b.VisualSelectorValidator,new b.VisualTypeSelectorValidator]),commandExtensionArrayValidator:new x.ArrayValidator([new d.CommandExtensionValidator]),commandExtensionValidator:new d.CommandExtensionValidator,commandsSettingsArrayValidator:new x.ArrayValidator([new n.CommandsSettingsValidator]),commandsSettingsValidator:new n.CommandsSettingsValidator,conditionItemValidator:new c.ConditionItemValidator,contrastModeValidator:new x.EnumValidator([0,1,2,3,4]),customLayoutDisplayOptionValidator:new x.EnumValidator([0,1,2]),customLayoutValidator:new p.CustomLayoutValidator,customPageSizeValidator:new f.CustomPageSizeValidator,customThemeValidator:new o.CustomThemeValidator,dashboardLoadValidator:new l.DashboardLoadValidator,datasetBindingValidator:new s.DatasetBindingValidator,displayStateModeValidator:new x.EnumValidator([0,1]),displayStateValidator:new p.DisplayStateValidator,exportDataRequestValidator:new u.ExportDataRequestValidator,extensionArrayValidator:new x.ArrayValidator([new d.ExtensionValidator]),extensionsValidator:new E.AnyOfValidator([new x.ArrayValidator([new d.ExtensionValidator]),new d.ExtensionsValidator]),extensionPointsValidator:new d.ExtensionPointsValidator,extensionValidator:new d.ExtensionValidator,fieldForbiddenValidator:new _.FieldForbiddenValidator,fieldRequiredValidator:new T.FieldRequiredValidator,fieldsPaneValidator:new h.FieldsPaneValidator,filterColumnTargetValidator:new c.FilterColumnTargetValidator,filterDisplaySettingsValidator:new c.FilterDisplaySettingsValidator,filterConditionsValidator:new x.ArrayValidator([new c.ConditionItemValidator]),filterHierarchyTargetValidator:new c.FilterHierarchyTargetValidator,filterMeasureTargetValidator:new c.FilterMeasureTargetValidator,filterTargetValidator:new E.AnyOfValidator([new c.FilterColumnTargetValidator,new c.FilterHierarchyTargetValidator,new c.FilterMeasureTargetValidator]),filterValidator:new c.FilterValidator,filterTypeValidator:new x.EnumValidator([0,1,2,3,4,5,6,7]),filtersArrayValidator:new x.ArrayValidator([new c.FilterValidator]),filtersOperationsUpdateValidator:new x.EnumValidator([1,2,3]),filtersOperationsRemoveAllValidator:new x.EnumValidator([0]),filtersPaneValidator:new h.FiltersPaneValidator,hyperlinkClickBehaviorValidator:new x.EnumValidator([0,1,2]),includeExcludeFilterValidator:new c.IncludeExcludeFilterValidator,includeExludeFilterTypeValidator:new x.EnumValidator([3]),layoutTypeValidator:new x.EnumValidator([0,1,2,3]),loadQnaValidator:new v.LoadQnaValidator,menuExtensionValidator:new E.AnyOfValidator([new d.FlatMenuExtensionValidator,new d.GroupedMenuExtensionValidator]),menuGroupExtensionArrayValidator:new x.ArrayValidator([new d.MenuGroupExtensionValidator]),menuGroupExtensionValidator:new d.MenuGroupExtensionValidator,menuLocationValidator:new x.EnumValidator([0,1]),notSupportedFilterTypeValidator:new x.EnumValidator([2]),notSupportedFilterValidator:new c.NotSupportedFilterValidator,numberArrayValidator:new x.NumberArrayValidator,numberValidator:new x.NumberValidator,onLoadFiltersBaseValidator:new E.AnyOfValidator([new c.OnLoadFiltersBaseValidator,new c.OnLoadFiltersBaseRemoveOperationValidator]),pageLayoutValidator:new F.MapValidator([new x.StringValidator],[new p.VisualLayoutValidator]),pageNavigationPaneValidator:new h.PageNavigationPaneValidator,pageNavigationPositionValidator:new x.EnumValidator([0,1]),pageSizeTypeValidator:new x.EnumValidator([0,1,2,3,4,5]),pageSizeValidator:new f.PageSizeValidator,pageValidator:new f.PageValidator,pageViewFieldValidator:new f.PageViewFieldValidator,pagesLayoutValidator:new F.MapValidator([new x.StringValidator],[new p.PageLayoutValidator]),paginatedReportCommandsValidator:new n.PaginatedReportCommandsValidator,paginatedReportLoadValidator:new g.PaginatedReportLoadValidator,paginatedReportsettingsValidator:new w.PaginatedReportSettingsValidator,parameterValuesArrayValidator:new x.ArrayValidator([new g.ReportParameterFieldsValidator]),parametersPanelValidator:new R.ParametersPanelValidator,permissionsValidator:new x.EnumValidator([0,1,2,4,7]),playBookmarkRequestValidator:new a.PlayBookmarkRequestValidator,qnaInterpretInputDataValidator:new v.QnaInterpretInputDataValidator,qnaPanesValidator:new h.QnaPanesValidator,qnaSettingValidator:new v.QnaSettingsValidator,relativeDateFilterOperatorValidator:new x.EnumValidator([0,1,2]),relativeDateFilterTimeUnitTypeValidator:new x.EnumValidator([0,1,2,3,4,5,6]),relativeDateFilterTypeValidator:new x.EnumValidator([4]),relativeDateFilterValidator:new c.RelativeDateFilterValidator,relativeDateTimeFilterTypeValidator:new x.EnumValidator([4,7]),relativeDateTimeFilterUnitTypeValidator:new x.EnumValidator([0,1,2,3,4,5,6,7,8]),relativeTimeFilterTimeUnitTypeValidator:new x.EnumValidator([7,8]),relativeTimeFilterTypeValidator:new x.EnumValidator([7]),relativeTimeFilterValidator:new c.RelativeTimeFilterValidator,reportBarsValidator:new i.ReportBarsValidator,reportCreateValidator:new y.ReportCreateValidator,reportLoadFiltersValidator:new E.AnyOfValidator([new x.ArrayValidator([new c.FilterValidator]),new c.OnLoadFiltersValidator]),reportLoadValidator:new m.ReportLoadValidator,reportPanesValidator:new h.ReportPanesValidator,saveAsParametersValidator:new V.SaveAsParametersValidator,selectionPaneValidator:new h.SelectionPaneValidator,settingsValidator:new w.SettingsValidator,singleCommandSettingsValidator:new n.SingleCommandSettingsValidator,slicerSelectorValidator:new E.AnyOfValidator([new b.VisualSelectorValidator,new b.SlicerTargetSelectorValidator]),slicerStateValidator:new O.SlicerStateValidator,slicerTargetValidator:new E.AnyOfValidator([new c.FilterColumnTargetValidator,new c.FilterHierarchyTargetValidator,new c.FilterMeasureTargetValidator,new c.FilterKeyColumnsTargetValidator,new c.FilterKeyHierarchyTargetValidator]),slicerValidator:new O.SlicerValidator,stringArrayValidator:new x.StringArrayValidator,stringValidator:new x.StringValidator,syncSlicersPaneValidator:new h.SyncSlicersPaneValidator,tileLoadValidator:new P.TileLoadValidator,tokenTypeValidator:new x.EnumValidator([0,1]),topNFilterTypeValidator:new x.EnumValidator([5]),topNFilterValidator:new c.TopNFilterValidator,updateFiltersRequestValidator:new E.AnyOfValidator([new c.UpdateFiltersRequestValidator,new c.RemoveFiltersRequestValidator]),viewModeValidator:new x.EnumValidator([0,1]),visualCommandSelectorValidator:new E.AnyOfValidator([new b.VisualSelectorValidator,new b.VisualTypeSelectorValidator]),visualHeaderSelectorValidator:new E.AnyOfValidator([new b.VisualSelectorValidator,new b.VisualTypeSelectorValidator]),visualHeaderSettingsValidator:new S.VisualHeaderSettingsValidator,visualHeaderValidator:new S.VisualHeaderValidator,visualHeadersValidator:new x.ArrayValidator([new S.VisualHeaderValidator]),visualizationsPaneValidator:new h.VisualizationsPaneValidator,visualLayoutValidator:new p.VisualLayoutValidator,visualSelectorValidator:new b.VisualSelectorValidator,visualSettingsValidator:new S.VisualSettingsValidator,visualTypeSelectorValidator:new b.VisualTypeSelectorValidator,zoomLevelValidator:new x.RangeValidator(.25,4)}},function(t,e,r){var i,a=this&&this.__extends||(i=function(t,e){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])})(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.ActionBarValidator=e.ReportBarsValidator=void 0;var n=r(3),o=r(4),l=r(1),s=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return a(e,t),e.prototype.validate=function(e,r,i){if(null==e)return null;var a=t.prototype.validate.call(this,e,r,i);if(a)return a;var o=[{field:"actionBar",validators:[l.Validators.actionBarValidator]}];return new n.MultipleFieldsValidator(o).validate(e,r,i)},e}(o.ObjectValidator);e.ReportBarsValidator=s;var u=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return a(e,t),e.prototype.validate=function(e,r,i){if(null==e)return null;var a=t.prototype.validate.call(this,e,r,i);if(a)return a;var o=[{field:"visible",validators:[l.Validators.booleanValidator]}];return new n.MultipleFieldsValidator(o).validate(e,r,i)},e}(o.ObjectValidator);e.ActionBarValidator=u},(t,e)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.MultipleFieldsValidator=void 0;var r=function(){function t(t){this.fieldValidatorsPairs=t}return t.prototype.validate=function(t,e,r){if(!this.fieldValidatorsPairs)return null;for(var i=e?e+"."+r:r,a=0,n=this.fieldValidatorsPairs;athis.maxValue||e{Object.defineProperty(e,"__esModule",{value:!0}),e.AnyOfValidator=void 0;var r=function(){function t(t){this.validators=t}return t.prototype.validate=function(t,e,r){if(null==t)return null;for(var i=!1,a=0,n=this.validators;a{Object.defineProperty(e,"__esModule",{value:!0}),e.FieldForbiddenValidator=void 0;var r=function(){function t(){}return t.prototype.validate=function(t,e,r){return void 0!==t?[{message:r+" is forbidden",path:(e?e+".":"")+r,keyword:"forbidden"}]:null},t}();e.FieldForbiddenValidator=r},(t,e)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.FieldRequiredValidator=void 0;var r=function(){function t(){}return t.prototype.validate=function(t,e,r){return null==t?[{message:r+" is required",path:(e?e+".":"")+r,keyword:"required"}]:null},t}();e.FieldRequiredValidator=r},function(t,e,r){var i,a=this&&this.__extends||(i=function(t,e){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])})(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.MapValidator=void 0;var n=function(t){function e(e,r){var i=t.call(this)||this;return i.keyValidators=e,i.valueValidators=r,i}return a(e,t),e.prototype.validate=function(e,r,i){if(null==e)return null;var a=t.prototype.validate.call(this,e,r,i);if(a)return a;for(var n in e)if(e.hasOwnProperty(n)){for(var o=(r?r+".":"")+i+"."+n,l=0,s=this.keyValidators;l0&&a[a.length-1])||6!==n[0]&&2!==n[0])){o=0;continue}if(3===n[0]&&(!a||n[1]>a[0]&&n[1]0&&a[a.length-1])||6!==n[0]&&2!==n[0])){o=0;continue}if(3===n[0]&&(!a||n[1]>a[0]&&n[1]0?"&":"?";return t+=i+e+"="+r},e.isSavedInternal=function(t,e,a){return r(this,void 0,void 0,(function(){return i(this,(function(r){switch(r.label){case 0:return r.trys.push([0,2,,3]),[4,t.get("/report/hasUnsavedChanges",{uid:e},a)];case 1:return[2,!r.sent().body];case 2:throw r.sent().body;case 3:return[2]}}))}))},e.isRDLEmbed=function(t){return t&&t.toLowerCase().indexOf("/rdlembed?")>=0},e.autoAuthInEmbedUrl=function(t){return t&&decodeURIComponent(t).toLowerCase().indexOf("autoauth=true")>=0},e.getRandomValue=n,e.getTimeDiffInMilliseconds=function(t,e){return Math.abs(t.getTime()-e.getTime())}},function(t,e){Object.defineProperty(e,"__esModule",{value:!0}),e.FilterBuilder=void 0;var r=function(){function t(){}return t.prototype.withTargetObject=function(t){return this.target=t,this},t.prototype.withColumnTarget=function(t,e){return this.target={table:t,column:e},this},t.prototype.withMeasureTarget=function(t,e){return this.target={table:t,measure:e},this},t.prototype.withHierarchyLevelTarget=function(t,e,r){return this.target={table:t,hierarchy:e,hierarchyLevel:r},this},t.prototype.withColumnAggregation=function(t,e,r){return this.target={table:t,column:e,aggregationFunction:r},this},t.prototype.withHierarchyLevelAggregationTarget=function(t,e,r,i){return this.target={table:t,hierarchy:e,hierarchyLevel:r,aggregationFunction:i},this},t}();e.FilterBuilder=r},function(t,e){Object.defineProperty(e,"__esModule",{value:!0}),e.EmbedUrlNotSupported=e.APINotSupportedForRDLError=void 0,e.APINotSupportedForRDLError="This API is currently not supported for RDL reports",e.EmbedUrlNotSupported="Embed URL is invalid for this scenario. Please use Power BI REST APIs to get the valid URL"},function(t,e){Object.defineProperty(e,"__esModule",{value:!0});e.default={version:"2.20.1",type:"js"}},function(t,e,r){var i,a=this&&this.__extends||(i=function(t,e){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])})(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}),n=this&&this.__awaiter||function(t,e,r,i){return new(r||(r=Promise))((function(a,n){function o(t){try{s(i.next(t))}catch(t){n(t)}}function l(t){try{s(i.throw(t))}catch(t){n(t)}}function s(t){var e;t.done?a(t.value):(e=t.value,e instanceof r?e:new r((function(t){t(e)}))).then(o,l)}s((i=i.apply(t,e||[])).next())}))},o=this&&this.__generator||function(t,e){var r,i,a,n,o={label:0,sent:function(){if(1&a[0])throw a[1];return a[1]},trys:[],ops:[]};return n={next:l(0),throw:l(1),return:l(2)},"function"==typeof Symbol&&(n[Symbol.iterator]=function(){return this}),n;function l(n){return function(l){return function(n){if(r)throw new TypeError("Generator is already executing.");for(;o;)try{if(r=1,i&&(a=2&n[0]?i.return:n[0]?i.throw||((a=i.return)&&a.call(i),0):i.next)&&!(a=a.call(i,n[1])).done)return a;switch(i=0,a&&(n=[2&n[0],a.value]),n[0]){case 0:case 1:a=n;break;case 4:return o.label++,{value:n[1],done:!1};case 5:o.label++,i=n[1],n=[0];continue;case 7:n=o.ops.pop(),o.trys.pop();continue;default:if(!(a=o.trys,(a=a.length>0&&a[a.length-1])||6!==n[0]&&2!==n[0])){o=0;continue}if(3===n[0]&&(!a||n[1]>a[0]&&n[1]0&&a[a.length-1])||6!==n[0]&&2!==n[0])){o=0;continue}if(3===n[0]&&(!a||n[1]>a[0]&&n[1]0&&a[a.length-1])||6!==n[0]&&2!==n[0])){o=0;continue}if(3===n[0]&&(!a||n[1]>a[0]&&n[1]0&&a[a.length-1])||6!==n[0]&&2!==n[0])){o=0;continue}if(3===n[0]&&(!a||n[1]>a[0]&&n[1]0&&a[a.length-1])||6!==n[0]&&2!==n[0])){o=0;continue}if(3===n[0]&&(!a||n[1]>a[0]&&n[1]0&&a[a.length-1])||6!==n[0]&&2!==n[0])){o=0;continue}if(3===n[0]&&(!a||n[1]>a[0]&&n[1]0&&a[a.length-1])||6!==n[0]&&2!==n[0])){o=0;continue}if(3===n[0]&&(!a||n[1]>a[0]&&n[1] Date: Wed, 15 Jun 2022 13:45:44 +0000 Subject: [PATCH 094/125] Merged PR 274188: release version 2.21.0, updating models version release version 2.21.0, updating models version --- dist/powerbi-client.d.ts | 2 +- dist/powerbi.js | 105 +++++++++++++++++++++++++++++++++++---- dist/powerbi.min.js | 6 +-- package.json | 4 +- src/config.ts | 2 +- 5 files changed, 103 insertions(+), 16 deletions(-) diff --git a/dist/powerbi-client.d.ts b/dist/powerbi-client.d.ts index be454ef3..c63501b3 100644 --- a/dist/powerbi-client.d.ts +++ b/dist/powerbi-client.d.ts @@ -1,4 +1,4 @@ -// powerbi-client v2.20.1 +// powerbi-client v2.21.0 // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. declare module "config" { diff --git a/dist/powerbi.js b/dist/powerbi.js index 78fe5139..14346b37 100644 --- a/dist/powerbi.js +++ b/dist/powerbi.js @@ -1,4 +1,4 @@ -// powerbi-client v2.20.1 +// powerbi-client v2.21.0 // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. (function webpackUniversalModuleDefinition(root, factory) { @@ -911,7 +911,7 @@ module.exports = shouldUseNative() ? Object.assign : function (target, source) { /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { -// powerbi-models v1.10.5 +// powerbi-models v1.11.0 // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. (function webpackUniversalModuleDefinition(root, factory) { @@ -942,8 +942,8 @@ var __extends = (this && this.__extends) || (function () { }; })(); Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.VisualSelector = exports.PageSelector = exports.Selector = exports.SortDirection = exports.LegendPosition = exports.TextAlignment = exports.CommonErrorCodes = exports.BookmarksPlayMode = exports.ExportDataType = exports.QnaMode = exports.PageNavigationPosition = exports.isPercentOfGrandTotal = exports.isColumnAggr = exports.isHierarchyLevelAggr = exports.isHierarchyLevel = exports.isColumn = exports.isMeasure = exports.getFilterType = exports.isBasicFilterWithKeys = exports.isFilterKeyColumnsTarget = exports.AdvancedFilter = exports.TupleFilter = exports.IdentityFilter = exports.BasicFilterWithKeys = exports.BasicFilter = exports.RelativeTimeFilter = exports.RelativeDateFilter = exports.TopNFilter = exports.IncludeExcludeFilter = exports.NotSupportedFilter = exports.Filter = exports.RelativeDateOperators = exports.RelativeDateFilterTimeUnit = exports.FilterType = exports.FiltersLevel = exports.FiltersOperations = exports.MenuLocation = exports.ContrastMode = exports.TokenType = exports.ViewMode = exports.Permissions = exports.SectionVisibility = exports.ReportAlignment = exports.HyperlinkClickBehavior = exports.LayoutType = exports.VisualContainerDisplayMode = exports.BackgroundType = exports.DisplayOption = exports.PageSizeType = exports.TraceType = void 0; -exports.validateZoomLevel = exports.validateCustomTheme = exports.validateCommandsSettings = exports.validateVisualSettings = exports.validateVisualHeader = exports.validateExportDataRequest = exports.validateQnaInterpretInputData = exports.validateLoadQnaConfiguration = exports.validateSaveAsParameters = exports.validateUpdateFiltersRequest = exports.validateFilter = exports.validatePage = exports.validateTileLoad = exports.validateDashboardLoad = exports.validateCreateReport = exports.validatePaginatedReportLoad = exports.validateReportLoad = exports.validateMenuGroupExtension = exports.validateExtension = exports.validateCustomPageSize = exports.validateVisualizationsPane = exports.validateSyncSlicersPane = exports.validateSelectionPane = exports.validatePageNavigationPane = exports.validateFieldsPane = exports.validateFiltersPane = exports.validateBookmarksPane = exports.validatePanes = exports.validateSettings = exports.validateCaptureBookmarkRequest = exports.validateApplyBookmarkStateRequest = exports.validateApplyBookmarkByNameRequest = exports.validateAddBookmarkRequest = exports.validatePlayBookmarkRequest = exports.validateSlicerState = exports.validateSlicer = exports.validateVisualSelector = exports.isIExtensionArray = exports.isIExtensions = exports.isGroupedMenuExtension = exports.isFlatMenuExtension = exports.isReportFiltersArray = exports.isOnLoadFilters = exports.VisualDataRoleKindPreference = exports.VisualDataRoleKind = exports.CommandDisplayOption = exports.SlicerTargetSelector = exports.VisualTypeSelector = void 0; +exports.PageSelector = exports.Selector = exports.SortDirection = exports.LegendPosition = exports.TextAlignment = exports.CommonErrorCodes = exports.BookmarksPlayMode = exports.ExportDataType = exports.QnaMode = exports.PageNavigationPosition = exports.isPercentOfGrandTotal = exports.isColumnAggr = exports.isHierarchyLevelAggr = exports.isHierarchyLevel = exports.isColumn = exports.isMeasure = exports.getFilterType = exports.isBasicFilterWithKeys = exports.isFilterKeyColumnsTarget = exports.HierarchyFilter = exports.AdvancedFilter = exports.TupleFilter = exports.IdentityFilter = exports.BasicFilterWithKeys = exports.BasicFilter = exports.RelativeTimeFilter = exports.RelativeDateFilter = exports.TopNFilter = exports.IncludeExcludeFilter = exports.NotSupportedFilter = exports.Filter = exports.RelativeDateOperators = exports.RelativeDateFilterTimeUnit = exports.FilterType = exports.FiltersLevel = exports.FiltersOperations = exports.MenuLocation = exports.ContrastMode = exports.TokenType = exports.ViewMode = exports.Permissions = exports.SectionVisibility = exports.ReportAlignment = exports.HyperlinkClickBehavior = exports.LayoutType = exports.VisualContainerDisplayMode = exports.BackgroundType = exports.DisplayOption = exports.PageSizeType = exports.TraceType = void 0; +exports.validateZoomLevel = exports.validateCustomTheme = exports.validateCommandsSettings = exports.validateVisualSettings = exports.validateVisualHeader = exports.validateExportDataRequest = exports.validateQnaInterpretInputData = exports.validateLoadQnaConfiguration = exports.validateSaveAsParameters = exports.validateUpdateFiltersRequest = exports.validateFilter = exports.validatePage = exports.validateTileLoad = exports.validateDashboardLoad = exports.validateCreateReport = exports.validatePaginatedReportLoad = exports.validateReportLoad = exports.validateMenuGroupExtension = exports.validateExtension = exports.validateCustomPageSize = exports.validateVisualizationsPane = exports.validateSyncSlicersPane = exports.validateSelectionPane = exports.validatePageNavigationPane = exports.validateFieldsPane = exports.validateFiltersPane = exports.validateBookmarksPane = exports.validatePanes = exports.validateSettings = exports.validateCaptureBookmarkRequest = exports.validateApplyBookmarkStateRequest = exports.validateApplyBookmarkByNameRequest = exports.validateAddBookmarkRequest = exports.validatePlayBookmarkRequest = exports.validateSlicerState = exports.validateSlicer = exports.validateVisualSelector = exports.isIExtensionArray = exports.isIExtensions = exports.isGroupedMenuExtension = exports.isFlatMenuExtension = exports.isReportFiltersArray = exports.isOnLoadFilters = exports.VisualDataRoleKindPreference = exports.VisualDataRoleKind = exports.CommandDisplayOption = exports.SlicerTargetSelector = exports.VisualTypeSelector = exports.VisualSelector = void 0; var validator_1 = __webpack_require__(1); var TraceType; (function (TraceType) { @@ -1060,6 +1060,7 @@ var FilterType; FilterType[FilterType["Tuple"] = 6] = "Tuple"; FilterType[FilterType["RelativeTime"] = 7] = "RelativeTime"; FilterType[FilterType["Identity"] = 8] = "Identity"; + FilterType[FilterType["Hierarchy"] = 9] = "Hierarchy"; })(FilterType = exports.FilterType || (exports.FilterType = {})); var RelativeDateFilterTimeUnit; (function (RelativeDateFilterTimeUnit) { @@ -1357,6 +1358,24 @@ var AdvancedFilter = /** @class */ (function (_super) { return AdvancedFilter; }(Filter)); exports.AdvancedFilter = AdvancedFilter; +var HierarchyFilter = /** @class */ (function (_super) { + __extends(HierarchyFilter, _super); + function HierarchyFilter(target, hierarchyData) { + var _this = _super.call(this, target, FilterType.Hierarchy) || this; + _this.schemaUrl = HierarchyFilter.schemaUrl; + _this.hierarchyData = hierarchyData; + return _this; + } + HierarchyFilter.prototype.toJSON = function () { + var filter = _super.prototype.toJSON.call(this); + filter.hierarchyData = this.hierarchyData; + filter.target = this.target; + return filter; + }; + HierarchyFilter.schemaUrl = "http://powerbi.com/product/schema#hierarchy"; + return HierarchyFilter; +}(Filter)); +exports.HierarchyFilter = HierarchyFilter; function isFilterKeyColumnsTarget(target) { return isColumn(target) && !!target.keys; } @@ -1819,7 +1838,7 @@ exports.Validators = { 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(), new filtersValidator_1.RelativeTimeFilterValidator()]), + 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(), new filtersValidator_1.HierarchyFilterValidator()]), anyValueValidator: new anyOfValidator_1.AnyOfValidator([new typeValidator_1.StringValidator(), new typeValidator_1.NumberValidator(), new typeValidator_1.BooleanValidator()]), actionBarValidator: new barsValidator_1.ActionBarValidator(), applyBookmarkByNameRequestValidator: new bookmarkValidator_1.ApplyBookmarkByNameRequestValidator(), @@ -1862,9 +1881,9 @@ exports.Validators = { 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()]), + filterTargetValidator: new anyOfValidator_1.AnyOfValidator([new filtersValidator_1.FilterColumnTargetValidator(), new filtersValidator_1.FilterHierarchyTargetValidator(), new filtersValidator_1.FilterMeasureTargetValidator(), new typeValidator_1.ArrayValidator([new anyOfValidator_1.AnyOfValidator([new filtersValidator_1.FilterColumnTargetValidator(), new filtersValidator_1.FilterHierarchyTargetValidator(), new filtersValidator_1.FilterMeasureTargetValidator(), new filtersValidator_1.FilterKeyColumnsTargetValidator(), new filtersValidator_1.FilterKeyHierarchyTargetValidator()])])]), filterValidator: new filtersValidator_1.FilterValidator(), - filterTypeValidator: new typeValidator_1.EnumValidator([0, 1, 2, 3, 4, 5, 6, 7]), + filterTypeValidator: new typeValidator_1.EnumValidator([0, 1, 2, 3, 4, 5, 6, 7, 9]), filtersArrayValidator: new typeValidator_1.ArrayValidator([new filtersValidator_1.FilterValidator()]), filtersOperationsUpdateValidator: new typeValidator_1.EnumValidator([1, 2, 3]), filtersOperationsRemoveAllValidator: new typeValidator_1.EnumValidator([0]), @@ -1872,6 +1891,8 @@ exports.Validators = { hyperlinkClickBehaviorValidator: new typeValidator_1.EnumValidator([0, 1, 2]), includeExcludeFilterValidator: new filtersValidator_1.IncludeExcludeFilterValidator(), includeExludeFilterTypeValidator: new typeValidator_1.EnumValidator([3]), + hierarchyFilterTypeValidator: new typeValidator_1.EnumValidator([9]), + hierarchyFilterValuesValidator: new typeValidator_1.ArrayValidator([new filtersValidator_1.HierarchyFilterNodeValidator()]), layoutTypeValidator: new typeValidator_1.EnumValidator([0, 1, 2, 3]), loadQnaValidator: new qnaValidator_1.LoadQnaValidator(), menuExtensionValidator: new anyOfValidator_1.AnyOfValidator([new extensionsValidator_1.FlatMenuExtensionValidator(), new extensionsValidator_1.GroupedMenuExtensionValidator()]), @@ -3226,7 +3247,7 @@ var __extends = (this && this.__extends) || (function () { }; })(); Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.OnLoadFiltersValidator = exports.OnLoadFiltersBaseRemoveOperationValidator = exports.OnLoadFiltersBaseValidator = exports.ConditionItemValidator = exports.RemoveFiltersRequestValidator = exports.UpdateFiltersRequestValidator = exports.FilterValidator = exports.IncludeExcludeFilterValidator = exports.NotSupportedFilterValidator = exports.TopNFilterValidator = exports.RelativeTimeFilterValidator = exports.RelativeDateFilterValidator = exports.RelativeDateTimeFilterValidator = exports.AdvancedFilterValidator = exports.BasicFilterValidator = exports.FilterValidatorBase = exports.FilterDisplaySettingsValidator = exports.FilterMeasureTargetValidator = exports.FilterKeyHierarchyTargetValidator = exports.FilterHierarchyTargetValidator = exports.FilterKeyColumnsTargetValidator = exports.FilterColumnTargetValidator = void 0; +exports.OnLoadFiltersValidator = exports.OnLoadFiltersBaseRemoveOperationValidator = exports.OnLoadFiltersBaseValidator = exports.ConditionItemValidator = exports.RemoveFiltersRequestValidator = exports.UpdateFiltersRequestValidator = exports.FilterValidator = exports.HierarchyFilterNodeValidator = exports.HierarchyFilterValidator = exports.IncludeExcludeFilterValidator = exports.NotSupportedFilterValidator = exports.TopNFilterValidator = exports.RelativeTimeFilterValidator = exports.RelativeDateFilterValidator = exports.RelativeDateTimeFilterValidator = exports.AdvancedFilterValidator = exports.BasicFilterValidator = exports.FilterValidatorBase = exports.FilterDisplaySettingsValidator = exports.FilterMeasureTargetValidator = exports.FilterKeyHierarchyTargetValidator = exports.FilterHierarchyTargetValidator = exports.FilterKeyColumnsTargetValidator = exports.FilterColumnTargetValidator = void 0; var multipleFieldsValidator_1 = __webpack_require__(3); var typeValidator_1 = __webpack_require__(4); var validator_1 = __webpack_require__(1); @@ -3713,6 +3734,72 @@ var IncludeExcludeFilterValidator = /** @class */ (function (_super) { return IncludeExcludeFilterValidator; }(FilterValidatorBase)); exports.IncludeExcludeFilterValidator = IncludeExcludeFilterValidator; +var HierarchyFilterValidator = /** @class */ (function (_super) { + __extends(HierarchyFilterValidator, _super); + function HierarchyFilterValidator() { + return _super !== null && _super.apply(this, arguments) || this; + } + HierarchyFilterValidator.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: "hierarchyData", + validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.hierarchyFilterValuesValidator] + }, + { + field: "filterType", + validators: [validator_1.Validators.hierarchyFilterTypeValidator] + }, + ]; + var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields); + return multipleFieldsValidator.validate(input, path, field); + }; + return HierarchyFilterValidator; +}(FilterValidatorBase)); +exports.HierarchyFilterValidator = HierarchyFilterValidator; +var HierarchyFilterNodeValidator = /** @class */ (function (_super) { + __extends(HierarchyFilterNodeValidator, _super); + function HierarchyFilterNodeValidator() { + return _super !== null && _super.apply(this, arguments) || this; + } + HierarchyFilterNodeValidator.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: "keyValues", + validators: [validator_1.Validators.anyArrayValidator] + }, + { + field: "children", + validators: [validator_1.Validators.hierarchyFilterValuesValidator] + }, + { + field: "operator", + validators: [validator_1.Validators.stringValidator] + } + ]; + var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields); + return multipleFieldsValidator.validate(input, path, field); + }; + return HierarchyFilterNodeValidator; +}(typeValidator_1.ObjectValidator)); +exports.HierarchyFilterNodeValidator = HierarchyFilterNodeValidator; var FilterValidator = /** @class */ (function (_super) { __extends(FilterValidator, _super); function FilterValidator() { @@ -8844,7 +8931,7 @@ exports.BookmarksManager = BookmarksManager; Object.defineProperty(exports, "__esModule", { value: true }); /** @ignore */ /** */ var config = { - version: '2.20.1', + version: '2.21.0', type: 'js' }; exports.default = config; diff --git a/dist/powerbi.min.js b/dist/powerbi.min.js index e5a7b633..1585e477 100644 --- a/dist/powerbi.min.js +++ b/dist/powerbi.min.js @@ -1,7 +1,7 @@ -// powerbi-client v2.20.1 +// powerbi-client v2.21.0 // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. -!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){var e={};function r(i){if(e[i])return e[i].exports;var a=e[i]={i:i,l:!1,exports:{}};return t[i].call(a.exports,a,a.exports,r),a.l=!0,a.exports}return r.m=t,r.c=e,r.d=function(t,e,i){r.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:i})},r.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},r.t=function(t,e){if(1&e&&(t=r(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var i=Object.create(null);if(r.r(i),Object.defineProperty(i,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var a in t)r.d(i,a,function(e){return t[e]}.bind(null,a));return i},r.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return r.d(e,"a",e),e},r.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},r.p="",r(r.s=13)}([function(t,e,r){var i;i=()=>{return t=[function(t,e,r){var i,a=this&&this.__extends||(i=function(t,e){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])})(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.VisualSelector=e.PageSelector=e.Selector=e.SortDirection=e.LegendPosition=e.TextAlignment=e.CommonErrorCodes=e.BookmarksPlayMode=e.ExportDataType=e.QnaMode=e.PageNavigationPosition=e.isPercentOfGrandTotal=e.isColumnAggr=e.isHierarchyLevelAggr=e.isHierarchyLevel=e.isColumn=e.isMeasure=e.getFilterType=e.isBasicFilterWithKeys=e.isFilterKeyColumnsTarget=e.AdvancedFilter=e.TupleFilter=e.IdentityFilter=e.BasicFilterWithKeys=e.BasicFilter=e.RelativeTimeFilter=e.RelativeDateFilter=e.TopNFilter=e.IncludeExcludeFilter=e.NotSupportedFilter=e.Filter=e.RelativeDateOperators=e.RelativeDateFilterTimeUnit=e.FilterType=e.FiltersLevel=e.FiltersOperations=e.MenuLocation=e.ContrastMode=e.TokenType=e.ViewMode=e.Permissions=e.SectionVisibility=e.ReportAlignment=e.HyperlinkClickBehavior=e.LayoutType=e.VisualContainerDisplayMode=e.BackgroundType=e.DisplayOption=e.PageSizeType=e.TraceType=void 0,e.validateZoomLevel=e.validateCustomTheme=e.validateCommandsSettings=e.validateVisualSettings=e.validateVisualHeader=e.validateExportDataRequest=e.validateQnaInterpretInputData=e.validateLoadQnaConfiguration=e.validateSaveAsParameters=e.validateUpdateFiltersRequest=e.validateFilter=e.validatePage=e.validateTileLoad=e.validateDashboardLoad=e.validateCreateReport=e.validatePaginatedReportLoad=e.validateReportLoad=e.validateMenuGroupExtension=e.validateExtension=e.validateCustomPageSize=e.validateVisualizationsPane=e.validateSyncSlicersPane=e.validateSelectionPane=e.validatePageNavigationPane=e.validateFieldsPane=e.validateFiltersPane=e.validateBookmarksPane=e.validatePanes=e.validateSettings=e.validateCaptureBookmarkRequest=e.validateApplyBookmarkStateRequest=e.validateApplyBookmarkByNameRequest=e.validateAddBookmarkRequest=e.validatePlayBookmarkRequest=e.validateSlicerState=e.validateSlicer=e.validateVisualSelector=e.isIExtensionArray=e.isIExtensions=e.isGroupedMenuExtension=e.isFlatMenuExtension=e.isReportFiltersArray=e.isOnLoadFilters=e.VisualDataRoleKindPreference=e.VisualDataRoleKind=e.CommandDisplayOption=e.SlicerTargetSelector=e.VisualTypeSelector=void 0;var n,o=r(1);!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"}(e.TraceType||(e.TraceType={})),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",t[t.Mobile=5]="Mobile"}(e.PageSizeType||(e.PageSizeType={})),function(t){t[t.FitToPage=0]="FitToPage",t[t.FitToWidth=1]="FitToWidth",t[t.ActualSize=2]="ActualSize"}(e.DisplayOption||(e.DisplayOption={})),function(t){t[t.Default=0]="Default",t[t.Transparent=1]="Transparent"}(e.BackgroundType||(e.BackgroundType={})),function(t){t[t.Visible=0]="Visible",t[t.Hidden=1]="Hidden"}(e.VisualContainerDisplayMode||(e.VisualContainerDisplayMode={})),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={})),function(t){t[t.Navigate=0]="Navigate",t[t.NavigateAndRaiseEvent=1]="NavigateAndRaiseEvent",t[t.RaiseEvent=2]="RaiseEvent"}(e.HyperlinkClickBehavior||(e.HyperlinkClickBehavior={})),function(t){t[t.Left=0]="Left",t[t.Center=1]="Center",t[t.Right=2]="Right",t[t.None=3]="None"}(e.ReportAlignment||(e.ReportAlignment={})),function(t){t[t.AlwaysVisible=0]="AlwaysVisible",t[t.HiddenInViewMode=1]="HiddenInViewMode"}(e.SectionVisibility||(e.SectionVisibility={})),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"}(e.Permissions||(e.Permissions={})),function(t){t[t.View=0]="View",t[t.Edit=1]="Edit"}(e.ViewMode||(e.ViewMode={})),function(t){t[t.Aad=0]="Aad",t[t.Embed=1]="Embed"}(e.TokenType||(e.TokenType={})),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"}(e.ContrastMode||(e.ContrastMode={})),function(t){t[t.Bottom=0]="Bottom",t[t.Top=1]="Top"}(e.MenuLocation||(e.MenuLocation={})),function(t){t[t.RemoveAll=0]="RemoveAll",t[t.ReplaceAll=1]="ReplaceAll",t[t.Add=2]="Add",t[t.Replace=3]="Replace"}(e.FiltersOperations||(e.FiltersOperations={})),function(t){t[t.Report=0]="Report",t[t.Page=1]="Page",t[t.Visual=2]="Visual"}(e.FiltersLevel||(e.FiltersLevel={})),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",t[t.Identity=8]="Identity"}(n=e.FilterType||(e.FilterType={})),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"}(e.RelativeDateFilterTimeUnit||(e.RelativeDateFilterTimeUnit={})),function(t){t[t.InLast=0]="InLast",t[t.InThis=1]="InThis",t[t.InNext=2]="InNext"}(e.RelativeDateOperators||(e.RelativeDateOperators={}));var l=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=l;var s=function(t){function e(r,i,a){var o=t.call(this,r,n.Unknown)||this;return o.message=i,o.notSupportedTypeName=a,o.schemaUrl=e.schemaUrl,o}return a(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}(l);e.NotSupportedFilter=s;var u=function(t){function e(r,i,a){var o=t.call(this,r,n.IncludeExclude)||this;return o.values=a,o.isExclude=i,o.schemaUrl=e.schemaUrl,o}return a(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}(l);e.IncludeExcludeFilter=u;var d=function(t){function e(r,i,a,o){var l=t.call(this,r,n.TopN)||this;return l.operator=i,l.itemCount=a,l.schemaUrl=e.schemaUrl,l.orderBy=o,l}return a(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}(l);e.TopNFilter=d;var c=function(t){function e(r,i,a,o,l){var s=t.call(this,r,n.RelativeDate)||this;return s.operator=i,s.timeUnitsCount=a,s.timeUnitType=o,s.includeToday=l,s.schemaUrl=e.schemaUrl,s}return a(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}(l);e.RelativeDateFilter=c;var p=function(t){function e(r,i,a,o){var l=t.call(this,r,n.RelativeTime)||this;return l.operator=i,l.timeUnitsCount=a,l.timeUnitType=o,l.schemaUrl=e.schemaUrl,l}return a(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}(l);e.RelativeTimeFilter=p;var f=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 ".concat(o," keys"));if(0===o&&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,s=n.keyValues;l2)throw new Error("AdvancedFilters may not have more than two conditions. You passed: ".concat(a.length));if(1===l.length&&"And"!==i)throw new Error('Logical Operator must be "And" when there is only one condition provided');return s.conditions=l,s}return a(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}(l);function g(t){if(t.filterType)return t.filterType;var e=t,r=t;return"string"==typeof e.operator&&Array.isArray(e.values)?n.Basic:"string"==typeof r.logicalOperator&&Array.isArray(r.conditions)?n.Advanced:n.Unknown}function V(t){return!(!t.table||!t.column||t.aggregationFunction)}e.AdvancedFilter=m,e.isFilterKeyColumnsTarget=function(t){return V(t)&&!!t.keys},e.isBasicFilterWithKeys=function(t){return g(t)===n.Basic&&!!t.keyValues},e.getFilterType=g,e.isMeasure=function(t){return void 0!==t.table&&void 0!==t.measure},e.isColumn=V,e.isHierarchyLevel=function(t){return!(!(t.table&&t.hierarchy&&t.hierarchyLevel)||t.aggregationFunction)},e.isHierarchyLevelAggr=function(t){return!!(t.table&&t.hierarchy&&t.hierarchyLevel&&t.aggregationFunction)},e.isColumnAggr=function(t){return!!(t.table&&t.column&&t.aggregationFunction)},e.isPercentOfGrandTotal=function(t){return!!t.percentOfGrandTotal},function(t){t[t.Bottom=0]="Bottom",t[t.Left=1]="Left"}(e.PageNavigationPosition||(e.PageNavigationPosition={})),function(t){t[t.Interactive=0]="Interactive",t[t.ResultOnly=1]="ResultOnly"}(e.QnaMode||(e.QnaMode={})),function(t){t[t.Summarized=0]="Summarized",t[t.Underlying=1]="Underlying"}(e.ExportDataType||(e.ExportDataType={})),function(t){t[t.Off=0]="Off",t[t.Presentation=1]="Presentation"}(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"},function(t){t[t.Ascending=1]="Ascending",t[t.Descending=2]="Descending"}(e.SortDirection||(e.SortDirection={}));var b=function(){function t(t){this.$schema=t}return t.prototype.toJSON=function(){return{$schema:this.$schema}},t}();e.Selector=b;var w=function(t){function e(r){var i=t.call(this,e.schemaUrl)||this;return i.pageName=r,i}return a(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}(b);e.PageSelector=w;var O=function(t){function e(r){var i=t.call(this,e.schemaUrl)||this;return i.visualName=r,i}return a(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}(b);e.VisualSelector=O;var P=function(t){function e(e){var r=t.call(this,O.schemaUrl)||this;return r.visualType=e,r}return a(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}(b);e.VisualTypeSelector=P;var S=function(t){function e(e){var r=t.call(this,O.schemaUrl)||this;return r.target=e,r}return a(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}(b);function E(t){return Array.isArray(t)}function _(t){return t&&!!t.groupName}function T(t){return Array.isArray(t)}function F(t){var e=t.message;return e||(e="".concat(t.path," is invalid. Not meeting ").concat(t.keyword," constraint")),{message:e}}e.SlicerTargetSelector=S,function(t){t[t.Enabled=0]="Enabled",t[t.Disabled=1]="Disabled",t[t.Hidden=2]="Hidden"}(e.CommandDisplayOption||(e.CommandDisplayOption={})),function(t){t[t.Grouping=0]="Grouping",t[t.Measure=1]="Measure",t[t.GroupingOrMeasure=2]="GroupingOrMeasure"}(e.VisualDataRoleKind||(e.VisualDataRoleKind={})),function(t){t[t.Measure=0]="Measure",t[t.Grouping=1]="Grouping"}(e.VisualDataRoleKindPreference||(e.VisualDataRoleKindPreference={})),e.isOnLoadFilters=function(t){return t&&!E(t)},e.isReportFiltersArray=E,e.isFlatMenuExtension=function(t){return t&&!_(t)},e.isGroupedMenuExtension=_,e.isIExtensions=function(t){return t&&!T(t)},e.isIExtensionArray=T,e.validateVisualSelector=function(t){var e=o.Validators.visualSelectorValidator.validate(t);return e?e.map(F):void 0},e.validateSlicer=function(t){var e=o.Validators.slicerValidator.validate(t);return e?e.map(F):void 0},e.validateSlicerState=function(t){var e=o.Validators.slicerStateValidator.validate(t);return e?e.map(F):void 0},e.validatePlayBookmarkRequest=function(t){var e=o.Validators.playBookmarkRequestValidator.validate(t);return e?e.map(F):void 0},e.validateAddBookmarkRequest=function(t){var e=o.Validators.addBookmarkRequestValidator.validate(t);return e?e.map(F):void 0},e.validateApplyBookmarkByNameRequest=function(t){var e=o.Validators.applyBookmarkByNameRequestValidator.validate(t);return e?e.map(F):void 0},e.validateApplyBookmarkStateRequest=function(t){var e=o.Validators.applyBookmarkStateRequestValidator.validate(t);return e?e.map(F):void 0},e.validateCaptureBookmarkRequest=function(t){var e=o.Validators.captureBookmarkRequestValidator.validate(t);return e?e.map(F):void 0},e.validateSettings=function(t){var e=o.Validators.settingsValidator.validate(t);return e?e.map(F):void 0},e.validatePanes=function(t){var e=o.Validators.reportPanesValidator.validate(t);return e?e.map(F):void 0},e.validateBookmarksPane=function(t){var e=o.Validators.bookmarksPaneValidator.validate(t);return e?e.map(F):void 0},e.validateFiltersPane=function(t){var e=o.Validators.filtersPaneValidator.validate(t);return e?e.map(F):void 0},e.validateFieldsPane=function(t){var e=o.Validators.fieldsPaneValidator.validate(t);return e?e.map(F):void 0},e.validatePageNavigationPane=function(t){var e=o.Validators.pageNavigationPaneValidator.validate(t);return e?e.map(F):void 0},e.validateSelectionPane=function(t){var e=o.Validators.selectionPaneValidator.validate(t);return e?e.map(F):void 0},e.validateSyncSlicersPane=function(t){var e=o.Validators.syncSlicersPaneValidator.validate(t);return e?e.map(F):void 0},e.validateVisualizationsPane=function(t){var e=o.Validators.visualizationsPaneValidator.validate(t);return e?e.map(F):void 0},e.validateCustomPageSize=function(t){var e=o.Validators.customPageSizeValidator.validate(t);return e?e.map(F):void 0},e.validateExtension=function(t){var e=o.Validators.extensionValidator.validate(t);return e?e.map(F):void 0},e.validateMenuGroupExtension=function(t){var e=o.Validators.menuGroupExtensionValidator.validate(t);return e?e.map(F):void 0},e.validateReportLoad=function(t){var e=o.Validators.reportLoadValidator.validate(t);return e?e.map(F):void 0},e.validatePaginatedReportLoad=function(t){var e=o.Validators.paginatedReportLoadValidator.validate(t);return e?e.map(F):void 0},e.validateCreateReport=function(t){var e=o.Validators.reportCreateValidator.validate(t);return e?e.map(F):void 0},e.validateDashboardLoad=function(t){var e=o.Validators.dashboardLoadValidator.validate(t);return e?e.map(F):void 0},e.validateTileLoad=function(t){var e=o.Validators.tileLoadValidator.validate(t);return e?e.map(F):void 0},e.validatePage=function(t){var e=o.Validators.pageValidator.validate(t);return e?e.map(F):void 0},e.validateFilter=function(t){var e=o.Validators.filterValidator.validate(t);return e?e.map(F):void 0},e.validateUpdateFiltersRequest=function(t){var e=o.Validators.updateFiltersRequestValidator.validate(t);return e?e.map(F):void 0},e.validateSaveAsParameters=function(t){var e=o.Validators.saveAsParametersValidator.validate(t);return e?e.map(F):void 0},e.validateLoadQnaConfiguration=function(t){var e=o.Validators.loadQnaValidator.validate(t);return e?e.map(F):void 0},e.validateQnaInterpretInputData=function(t){var e=o.Validators.qnaInterpretInputDataValidator.validate(t);return e?e.map(F):void 0},e.validateExportDataRequest=function(t){var e=o.Validators.exportDataRequestValidator.validate(t);return e?e.map(F):void 0},e.validateVisualHeader=function(t){var e=o.Validators.visualHeaderValidator.validate(t);return e?e.map(F):void 0},e.validateVisualSettings=function(t){var e=o.Validators.visualSettingsValidator.validate(t);return e?e.map(F):void 0},e.validateCommandsSettings=function(t){var e=o.Validators.commandsSettingsValidator.validate(t);return e?e.map(F):void 0},e.validateCustomTheme=function(t){var e=o.Validators.customThemeValidator.validate(t);return e?e.map(F):void 0},e.validateZoomLevel=function(t){var e=o.Validators.zoomLevelValidator.validate(t);return e?e.map(F):void 0}},(t,e,r)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.Validators=void 0;var i=r(2),a=r(5),n=r(6),o=r(7),l=r(8),s=r(9),u=r(10),d=r(11),c=r(12),p=r(13),f=r(14),h=r(15),v=r(16),y=r(17),m=r(18),g=r(19),V=r(20),b=r(21),w=r(22),O=r(23),P=r(24),S=r(25),E=r(26),_=r(27),T=r(28),F=r(29),x=r(4),R=r(30);e.Validators={addBookmarkRequestValidator:new a.AddBookmarkRequestValidator,advancedFilterTypeValidator:new x.EnumValidator([0]),advancedFilterValidator:new c.AdvancedFilterValidator,anyArrayValidator:new x.ArrayValidator([new E.AnyOfValidator([new x.StringValidator,new x.NumberValidator,new x.BooleanValidator])]),anyFilterValidator:new E.AnyOfValidator([new c.BasicFilterValidator,new c.AdvancedFilterValidator,new c.IncludeExcludeFilterValidator,new c.NotSupportedFilterValidator,new c.RelativeDateFilterValidator,new c.TopNFilterValidator,new c.RelativeTimeFilterValidator]),anyValueValidator:new E.AnyOfValidator([new x.StringValidator,new x.NumberValidator,new x.BooleanValidator]),actionBarValidator:new i.ActionBarValidator,applyBookmarkByNameRequestValidator:new a.ApplyBookmarkByNameRequestValidator,applyBookmarkStateRequestValidator:new a.ApplyBookmarkStateRequestValidator,applyBookmarkValidator:new E.AnyOfValidator([new a.ApplyBookmarkByNameRequestValidator,new a.ApplyBookmarkStateRequestValidator]),backgroundValidator:new x.EnumValidator([0,1]),basicFilterTypeValidator:new x.EnumValidator([1]),basicFilterValidator:new c.BasicFilterValidator,booleanArrayValidator:new x.BooleanArrayValidator,booleanValidator:new x.BooleanValidator,bookmarksPaneValidator:new h.BookmarksPaneValidator,captureBookmarkOptionsValidator:new a.CaptureBookmarkOptionsValidator,captureBookmarkRequestValidator:new a.CaptureBookmarkRequestValidator,commandDisplayOptionValidator:new x.EnumValidator([0,1,2]),commandExtensionSelectorValidator:new E.AnyOfValidator([new b.VisualSelectorValidator,new b.VisualTypeSelectorValidator]),commandExtensionArrayValidator:new x.ArrayValidator([new d.CommandExtensionValidator]),commandExtensionValidator:new d.CommandExtensionValidator,commandsSettingsArrayValidator:new x.ArrayValidator([new n.CommandsSettingsValidator]),commandsSettingsValidator:new n.CommandsSettingsValidator,conditionItemValidator:new c.ConditionItemValidator,contrastModeValidator:new x.EnumValidator([0,1,2,3,4]),customLayoutDisplayOptionValidator:new x.EnumValidator([0,1,2]),customLayoutValidator:new p.CustomLayoutValidator,customPageSizeValidator:new f.CustomPageSizeValidator,customThemeValidator:new o.CustomThemeValidator,dashboardLoadValidator:new l.DashboardLoadValidator,datasetBindingValidator:new s.DatasetBindingValidator,displayStateModeValidator:new x.EnumValidator([0,1]),displayStateValidator:new p.DisplayStateValidator,exportDataRequestValidator:new u.ExportDataRequestValidator,extensionArrayValidator:new x.ArrayValidator([new d.ExtensionValidator]),extensionsValidator:new E.AnyOfValidator([new x.ArrayValidator([new d.ExtensionValidator]),new d.ExtensionsValidator]),extensionPointsValidator:new d.ExtensionPointsValidator,extensionValidator:new d.ExtensionValidator,fieldForbiddenValidator:new _.FieldForbiddenValidator,fieldRequiredValidator:new T.FieldRequiredValidator,fieldsPaneValidator:new h.FieldsPaneValidator,filterColumnTargetValidator:new c.FilterColumnTargetValidator,filterDisplaySettingsValidator:new c.FilterDisplaySettingsValidator,filterConditionsValidator:new x.ArrayValidator([new c.ConditionItemValidator]),filterHierarchyTargetValidator:new c.FilterHierarchyTargetValidator,filterMeasureTargetValidator:new c.FilterMeasureTargetValidator,filterTargetValidator:new E.AnyOfValidator([new c.FilterColumnTargetValidator,new c.FilterHierarchyTargetValidator,new c.FilterMeasureTargetValidator]),filterValidator:new c.FilterValidator,filterTypeValidator:new x.EnumValidator([0,1,2,3,4,5,6,7]),filtersArrayValidator:new x.ArrayValidator([new c.FilterValidator]),filtersOperationsUpdateValidator:new x.EnumValidator([1,2,3]),filtersOperationsRemoveAllValidator:new x.EnumValidator([0]),filtersPaneValidator:new h.FiltersPaneValidator,hyperlinkClickBehaviorValidator:new x.EnumValidator([0,1,2]),includeExcludeFilterValidator:new c.IncludeExcludeFilterValidator,includeExludeFilterTypeValidator:new x.EnumValidator([3]),layoutTypeValidator:new x.EnumValidator([0,1,2,3]),loadQnaValidator:new v.LoadQnaValidator,menuExtensionValidator:new E.AnyOfValidator([new d.FlatMenuExtensionValidator,new d.GroupedMenuExtensionValidator]),menuGroupExtensionArrayValidator:new x.ArrayValidator([new d.MenuGroupExtensionValidator]),menuGroupExtensionValidator:new d.MenuGroupExtensionValidator,menuLocationValidator:new x.EnumValidator([0,1]),notSupportedFilterTypeValidator:new x.EnumValidator([2]),notSupportedFilterValidator:new c.NotSupportedFilterValidator,numberArrayValidator:new x.NumberArrayValidator,numberValidator:new x.NumberValidator,onLoadFiltersBaseValidator:new E.AnyOfValidator([new c.OnLoadFiltersBaseValidator,new c.OnLoadFiltersBaseRemoveOperationValidator]),pageLayoutValidator:new F.MapValidator([new x.StringValidator],[new p.VisualLayoutValidator]),pageNavigationPaneValidator:new h.PageNavigationPaneValidator,pageNavigationPositionValidator:new x.EnumValidator([0,1]),pageSizeTypeValidator:new x.EnumValidator([0,1,2,3,4,5]),pageSizeValidator:new f.PageSizeValidator,pageValidator:new f.PageValidator,pageViewFieldValidator:new f.PageViewFieldValidator,pagesLayoutValidator:new F.MapValidator([new x.StringValidator],[new p.PageLayoutValidator]),paginatedReportCommandsValidator:new n.PaginatedReportCommandsValidator,paginatedReportLoadValidator:new g.PaginatedReportLoadValidator,paginatedReportsettingsValidator:new w.PaginatedReportSettingsValidator,parameterValuesArrayValidator:new x.ArrayValidator([new g.ReportParameterFieldsValidator]),parametersPanelValidator:new R.ParametersPanelValidator,permissionsValidator:new x.EnumValidator([0,1,2,4,7]),playBookmarkRequestValidator:new a.PlayBookmarkRequestValidator,qnaInterpretInputDataValidator:new v.QnaInterpretInputDataValidator,qnaPanesValidator:new h.QnaPanesValidator,qnaSettingValidator:new v.QnaSettingsValidator,relativeDateFilterOperatorValidator:new x.EnumValidator([0,1,2]),relativeDateFilterTimeUnitTypeValidator:new x.EnumValidator([0,1,2,3,4,5,6]),relativeDateFilterTypeValidator:new x.EnumValidator([4]),relativeDateFilterValidator:new c.RelativeDateFilterValidator,relativeDateTimeFilterTypeValidator:new x.EnumValidator([4,7]),relativeDateTimeFilterUnitTypeValidator:new x.EnumValidator([0,1,2,3,4,5,6,7,8]),relativeTimeFilterTimeUnitTypeValidator:new x.EnumValidator([7,8]),relativeTimeFilterTypeValidator:new x.EnumValidator([7]),relativeTimeFilterValidator:new c.RelativeTimeFilterValidator,reportBarsValidator:new i.ReportBarsValidator,reportCreateValidator:new y.ReportCreateValidator,reportLoadFiltersValidator:new E.AnyOfValidator([new x.ArrayValidator([new c.FilterValidator]),new c.OnLoadFiltersValidator]),reportLoadValidator:new m.ReportLoadValidator,reportPanesValidator:new h.ReportPanesValidator,saveAsParametersValidator:new V.SaveAsParametersValidator,selectionPaneValidator:new h.SelectionPaneValidator,settingsValidator:new w.SettingsValidator,singleCommandSettingsValidator:new n.SingleCommandSettingsValidator,slicerSelectorValidator:new E.AnyOfValidator([new b.VisualSelectorValidator,new b.SlicerTargetSelectorValidator]),slicerStateValidator:new O.SlicerStateValidator,slicerTargetValidator:new E.AnyOfValidator([new c.FilterColumnTargetValidator,new c.FilterHierarchyTargetValidator,new c.FilterMeasureTargetValidator,new c.FilterKeyColumnsTargetValidator,new c.FilterKeyHierarchyTargetValidator]),slicerValidator:new O.SlicerValidator,stringArrayValidator:new x.StringArrayValidator,stringValidator:new x.StringValidator,syncSlicersPaneValidator:new h.SyncSlicersPaneValidator,tileLoadValidator:new P.TileLoadValidator,tokenTypeValidator:new x.EnumValidator([0,1]),topNFilterTypeValidator:new x.EnumValidator([5]),topNFilterValidator:new c.TopNFilterValidator,updateFiltersRequestValidator:new E.AnyOfValidator([new c.UpdateFiltersRequestValidator,new c.RemoveFiltersRequestValidator]),viewModeValidator:new x.EnumValidator([0,1]),visualCommandSelectorValidator:new E.AnyOfValidator([new b.VisualSelectorValidator,new b.VisualTypeSelectorValidator]),visualHeaderSelectorValidator:new E.AnyOfValidator([new b.VisualSelectorValidator,new b.VisualTypeSelectorValidator]),visualHeaderSettingsValidator:new S.VisualHeaderSettingsValidator,visualHeaderValidator:new S.VisualHeaderValidator,visualHeadersValidator:new x.ArrayValidator([new S.VisualHeaderValidator]),visualizationsPaneValidator:new h.VisualizationsPaneValidator,visualLayoutValidator:new p.VisualLayoutValidator,visualSelectorValidator:new b.VisualSelectorValidator,visualSettingsValidator:new S.VisualSettingsValidator,visualTypeSelectorValidator:new b.VisualTypeSelectorValidator,zoomLevelValidator:new x.RangeValidator(.25,4)}},function(t,e,r){var i,a=this&&this.__extends||(i=function(t,e){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])})(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.ActionBarValidator=e.ReportBarsValidator=void 0;var n=r(3),o=r(4),l=r(1),s=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return a(e,t),e.prototype.validate=function(e,r,i){if(null==e)return null;var a=t.prototype.validate.call(this,e,r,i);if(a)return a;var o=[{field:"actionBar",validators:[l.Validators.actionBarValidator]}];return new n.MultipleFieldsValidator(o).validate(e,r,i)},e}(o.ObjectValidator);e.ReportBarsValidator=s;var u=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return a(e,t),e.prototype.validate=function(e,r,i){if(null==e)return null;var a=t.prototype.validate.call(this,e,r,i);if(a)return a;var o=[{field:"visible",validators:[l.Validators.booleanValidator]}];return new n.MultipleFieldsValidator(o).validate(e,r,i)},e}(o.ObjectValidator);e.ActionBarValidator=u},(t,e)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.MultipleFieldsValidator=void 0;var r=function(){function t(t){this.fieldValidatorsPairs=t}return t.prototype.validate=function(t,e,r){if(!this.fieldValidatorsPairs)return null;for(var i=e?e+"."+r:r,a=0,n=this.fieldValidatorsPairs;athis.maxValue||e{Object.defineProperty(e,"__esModule",{value:!0}),e.AnyOfValidator=void 0;var r=function(){function t(t){this.validators=t}return t.prototype.validate=function(t,e,r){if(null==t)return null;for(var i=!1,a=0,n=this.validators;a{Object.defineProperty(e,"__esModule",{value:!0}),e.FieldForbiddenValidator=void 0;var r=function(){function t(){}return t.prototype.validate=function(t,e,r){return void 0!==t?[{message:r+" is forbidden",path:(e?e+".":"")+r,keyword:"forbidden"}]:null},t}();e.FieldForbiddenValidator=r},(t,e)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.FieldRequiredValidator=void 0;var r=function(){function t(){}return t.prototype.validate=function(t,e,r){return null==t?[{message:r+" is required",path:(e?e+".":"")+r,keyword:"required"}]:null},t}();e.FieldRequiredValidator=r},function(t,e,r){var i,a=this&&this.__extends||(i=function(t,e){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])})(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.MapValidator=void 0;var n=function(t){function e(e,r){var i=t.call(this)||this;return i.keyValidators=e,i.valueValidators=r,i}return a(e,t),e.prototype.validate=function(e,r,i){if(null==e)return null;var a=t.prototype.validate.call(this,e,r,i);if(a)return a;for(var n in e)if(e.hasOwnProperty(n)){for(var o=(r?r+".":"")+i+"."+n,l=0,s=this.keyValidators;l0&&a[a.length-1])||6!==n[0]&&2!==n[0])){o=0;continue}if(3===n[0]&&(!a||n[1]>a[0]&&n[1]0&&a[a.length-1])||6!==n[0]&&2!==n[0])){o=0;continue}if(3===n[0]&&(!a||n[1]>a[0]&&n[1]0?"&":"?";return t+=i+e+"="+r},e.isSavedInternal=function(t,e,a){return r(this,void 0,void 0,(function(){return i(this,(function(r){switch(r.label){case 0:return r.trys.push([0,2,,3]),[4,t.get("/report/hasUnsavedChanges",{uid:e},a)];case 1:return[2,!r.sent().body];case 2:throw r.sent().body;case 3:return[2]}}))}))},e.isRDLEmbed=function(t){return t&&t.toLowerCase().indexOf("/rdlembed?")>=0},e.autoAuthInEmbedUrl=function(t){return t&&decodeURIComponent(t).toLowerCase().indexOf("autoauth=true")>=0},e.getRandomValue=n,e.getTimeDiffInMilliseconds=function(t,e){return Math.abs(t.getTime()-e.getTime())}},function(t,e){Object.defineProperty(e,"__esModule",{value:!0}),e.FilterBuilder=void 0;var r=function(){function t(){}return t.prototype.withTargetObject=function(t){return this.target=t,this},t.prototype.withColumnTarget=function(t,e){return this.target={table:t,column:e},this},t.prototype.withMeasureTarget=function(t,e){return this.target={table:t,measure:e},this},t.prototype.withHierarchyLevelTarget=function(t,e,r){return this.target={table:t,hierarchy:e,hierarchyLevel:r},this},t.prototype.withColumnAggregation=function(t,e,r){return this.target={table:t,column:e,aggregationFunction:r},this},t.prototype.withHierarchyLevelAggregationTarget=function(t,e,r,i){return this.target={table:t,hierarchy:e,hierarchyLevel:r,aggregationFunction:i},this},t}();e.FilterBuilder=r},function(t,e){Object.defineProperty(e,"__esModule",{value:!0}),e.EmbedUrlNotSupported=e.APINotSupportedForRDLError=void 0,e.APINotSupportedForRDLError="This API is currently not supported for RDL reports",e.EmbedUrlNotSupported="Embed URL is invalid for this scenario. Please use Power BI REST APIs to get the valid URL"},function(t,e){Object.defineProperty(e,"__esModule",{value:!0});e.default={version:"2.20.1",type:"js"}},function(t,e,r){var i,a=this&&this.__extends||(i=function(t,e){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])})(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}),n=this&&this.__awaiter||function(t,e,r,i){return new(r||(r=Promise))((function(a,n){function o(t){try{s(i.next(t))}catch(t){n(t)}}function l(t){try{s(i.throw(t))}catch(t){n(t)}}function s(t){var e;t.done?a(t.value):(e=t.value,e instanceof r?e:new r((function(t){t(e)}))).then(o,l)}s((i=i.apply(t,e||[])).next())}))},o=this&&this.__generator||function(t,e){var r,i,a,n,o={label:0,sent:function(){if(1&a[0])throw a[1];return a[1]},trys:[],ops:[]};return n={next:l(0),throw:l(1),return:l(2)},"function"==typeof Symbol&&(n[Symbol.iterator]=function(){return this}),n;function l(n){return function(l){return function(n){if(r)throw new TypeError("Generator is already executing.");for(;o;)try{if(r=1,i&&(a=2&n[0]?i.return:n[0]?i.throw||((a=i.return)&&a.call(i),0):i.next)&&!(a=a.call(i,n[1])).done)return a;switch(i=0,a&&(n=[2&n[0],a.value]),n[0]){case 0:case 1:a=n;break;case 4:return o.label++,{value:n[1],done:!1};case 5:o.label++,i=n[1],n=[0];continue;case 7:n=o.ops.pop(),o.trys.pop();continue;default:if(!(a=o.trys,(a=a.length>0&&a[a.length-1])||6!==n[0]&&2!==n[0])){o=0;continue}if(3===n[0]&&(!a||n[1]>a[0]&&n[1]0&&a[a.length-1])||6!==n[0]&&2!==n[0])){o=0;continue}if(3===n[0]&&(!a||n[1]>a[0]&&n[1]0&&a[a.length-1])||6!==n[0]&&2!==n[0])){o=0;continue}if(3===n[0]&&(!a||n[1]>a[0]&&n[1]0&&a[a.length-1])||6!==n[0]&&2!==n[0])){o=0;continue}if(3===n[0]&&(!a||n[1]>a[0]&&n[1]0&&a[a.length-1])||6!==n[0]&&2!==n[0])){o=0;continue}if(3===n[0]&&(!a||n[1]>a[0]&&n[1]0&&a[a.length-1])||6!==n[0]&&2!==n[0])){o=0;continue}if(3===n[0]&&(!a||n[1]>a[0]&&n[1]0&&a[a.length-1])||6!==n[0]&&2!==n[0])){o=0;continue}if(3===n[0]&&(!a||n[1]>a[0]&&n[1]{return t=[function(t,e,r){var i,a=this&&this.__extends||(i=function(t,e){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])})(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.PageSelector=e.Selector=e.SortDirection=e.LegendPosition=e.TextAlignment=e.CommonErrorCodes=e.BookmarksPlayMode=e.ExportDataType=e.QnaMode=e.PageNavigationPosition=e.isPercentOfGrandTotal=e.isColumnAggr=e.isHierarchyLevelAggr=e.isHierarchyLevel=e.isColumn=e.isMeasure=e.getFilterType=e.isBasicFilterWithKeys=e.isFilterKeyColumnsTarget=e.HierarchyFilter=e.AdvancedFilter=e.TupleFilter=e.IdentityFilter=e.BasicFilterWithKeys=e.BasicFilter=e.RelativeTimeFilter=e.RelativeDateFilter=e.TopNFilter=e.IncludeExcludeFilter=e.NotSupportedFilter=e.Filter=e.RelativeDateOperators=e.RelativeDateFilterTimeUnit=e.FilterType=e.FiltersLevel=e.FiltersOperations=e.MenuLocation=e.ContrastMode=e.TokenType=e.ViewMode=e.Permissions=e.SectionVisibility=e.ReportAlignment=e.HyperlinkClickBehavior=e.LayoutType=e.VisualContainerDisplayMode=e.BackgroundType=e.DisplayOption=e.PageSizeType=e.TraceType=void 0,e.validateZoomLevel=e.validateCustomTheme=e.validateCommandsSettings=e.validateVisualSettings=e.validateVisualHeader=e.validateExportDataRequest=e.validateQnaInterpretInputData=e.validateLoadQnaConfiguration=e.validateSaveAsParameters=e.validateUpdateFiltersRequest=e.validateFilter=e.validatePage=e.validateTileLoad=e.validateDashboardLoad=e.validateCreateReport=e.validatePaginatedReportLoad=e.validateReportLoad=e.validateMenuGroupExtension=e.validateExtension=e.validateCustomPageSize=e.validateVisualizationsPane=e.validateSyncSlicersPane=e.validateSelectionPane=e.validatePageNavigationPane=e.validateFieldsPane=e.validateFiltersPane=e.validateBookmarksPane=e.validatePanes=e.validateSettings=e.validateCaptureBookmarkRequest=e.validateApplyBookmarkStateRequest=e.validateApplyBookmarkByNameRequest=e.validateAddBookmarkRequest=e.validatePlayBookmarkRequest=e.validateSlicerState=e.validateSlicer=e.validateVisualSelector=e.isIExtensionArray=e.isIExtensions=e.isGroupedMenuExtension=e.isFlatMenuExtension=e.isReportFiltersArray=e.isOnLoadFilters=e.VisualDataRoleKindPreference=e.VisualDataRoleKind=e.CommandDisplayOption=e.SlicerTargetSelector=e.VisualTypeSelector=e.VisualSelector=void 0;var n,o=r(1);!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"}(e.TraceType||(e.TraceType={})),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",t[t.Mobile=5]="Mobile"}(e.PageSizeType||(e.PageSizeType={})),function(t){t[t.FitToPage=0]="FitToPage",t[t.FitToWidth=1]="FitToWidth",t[t.ActualSize=2]="ActualSize"}(e.DisplayOption||(e.DisplayOption={})),function(t){t[t.Default=0]="Default",t[t.Transparent=1]="Transparent"}(e.BackgroundType||(e.BackgroundType={})),function(t){t[t.Visible=0]="Visible",t[t.Hidden=1]="Hidden"}(e.VisualContainerDisplayMode||(e.VisualContainerDisplayMode={})),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={})),function(t){t[t.Navigate=0]="Navigate",t[t.NavigateAndRaiseEvent=1]="NavigateAndRaiseEvent",t[t.RaiseEvent=2]="RaiseEvent"}(e.HyperlinkClickBehavior||(e.HyperlinkClickBehavior={})),function(t){t[t.Left=0]="Left",t[t.Center=1]="Center",t[t.Right=2]="Right",t[t.None=3]="None"}(e.ReportAlignment||(e.ReportAlignment={})),function(t){t[t.AlwaysVisible=0]="AlwaysVisible",t[t.HiddenInViewMode=1]="HiddenInViewMode"}(e.SectionVisibility||(e.SectionVisibility={})),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"}(e.Permissions||(e.Permissions={})),function(t){t[t.View=0]="View",t[t.Edit=1]="Edit"}(e.ViewMode||(e.ViewMode={})),function(t){t[t.Aad=0]="Aad",t[t.Embed=1]="Embed"}(e.TokenType||(e.TokenType={})),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"}(e.ContrastMode||(e.ContrastMode={})),function(t){t[t.Bottom=0]="Bottom",t[t.Top=1]="Top"}(e.MenuLocation||(e.MenuLocation={})),function(t){t[t.RemoveAll=0]="RemoveAll",t[t.ReplaceAll=1]="ReplaceAll",t[t.Add=2]="Add",t[t.Replace=3]="Replace"}(e.FiltersOperations||(e.FiltersOperations={})),function(t){t[t.Report=0]="Report",t[t.Page=1]="Page",t[t.Visual=2]="Visual"}(e.FiltersLevel||(e.FiltersLevel={})),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",t[t.Identity=8]="Identity",t[t.Hierarchy=9]="Hierarchy"}(n=e.FilterType||(e.FilterType={})),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"}(e.RelativeDateFilterTimeUnit||(e.RelativeDateFilterTimeUnit={})),function(t){t[t.InLast=0]="InLast",t[t.InThis=1]="InThis",t[t.InNext=2]="InNext"}(e.RelativeDateOperators||(e.RelativeDateOperators={}));var l=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=l;var s=function(t){function e(r,i,a){var o=t.call(this,r,n.Unknown)||this;return o.message=i,o.notSupportedTypeName=a,o.schemaUrl=e.schemaUrl,o}return a(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}(l);e.NotSupportedFilter=s;var u=function(t){function e(r,i,a){var o=t.call(this,r,n.IncludeExclude)||this;return o.values=a,o.isExclude=i,o.schemaUrl=e.schemaUrl,o}return a(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}(l);e.IncludeExcludeFilter=u;var d=function(t){function e(r,i,a,o){var l=t.call(this,r,n.TopN)||this;return l.operator=i,l.itemCount=a,l.schemaUrl=e.schemaUrl,l.orderBy=o,l}return a(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}(l);e.TopNFilter=d;var c=function(t){function e(r,i,a,o,l){var s=t.call(this,r,n.RelativeDate)||this;return s.operator=i,s.timeUnitsCount=a,s.timeUnitType=o,s.includeToday=l,s.schemaUrl=e.schemaUrl,s}return a(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}(l);e.RelativeDateFilter=c;var p=function(t){function e(r,i,a,o){var l=t.call(this,r,n.RelativeTime)||this;return l.operator=i,l.timeUnitsCount=a,l.timeUnitType=o,l.schemaUrl=e.schemaUrl,l}return a(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}(l);e.RelativeTimeFilter=p;var f=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 ".concat(o," keys"));if(0===o&&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,s=n.keyValues;l2)throw new Error("AdvancedFilters may not have more than two conditions. You passed: ".concat(a.length));if(1===l.length&&"And"!==i)throw new Error('Logical Operator must be "And" when there is only one condition provided');return s.conditions=l,s}return a(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}(l);e.AdvancedFilter=m;var g=function(t){function e(r,i){var a=t.call(this,r,n.Hierarchy)||this;return a.schemaUrl=e.schemaUrl,a.hierarchyData=i,a}return a(e,t),e.prototype.toJSON=function(){var e=t.prototype.toJSON.call(this);return e.hierarchyData=this.hierarchyData,e.target=this.target,e},e.schemaUrl="http://powerbi.com/product/schema#hierarchy",e}(l);function V(t){if(t.filterType)return t.filterType;var e=t,r=t;return"string"==typeof e.operator&&Array.isArray(e.values)?n.Basic:"string"==typeof r.logicalOperator&&Array.isArray(r.conditions)?n.Advanced:n.Unknown}function b(t){return!(!t.table||!t.column||t.aggregationFunction)}e.HierarchyFilter=g,e.isFilterKeyColumnsTarget=function(t){return b(t)&&!!t.keys},e.isBasicFilterWithKeys=function(t){return V(t)===n.Basic&&!!t.keyValues},e.getFilterType=V,e.isMeasure=function(t){return void 0!==t.table&&void 0!==t.measure},e.isColumn=b,e.isHierarchyLevel=function(t){return!(!(t.table&&t.hierarchy&&t.hierarchyLevel)||t.aggregationFunction)},e.isHierarchyLevelAggr=function(t){return!!(t.table&&t.hierarchy&&t.hierarchyLevel&&t.aggregationFunction)},e.isColumnAggr=function(t){return!!(t.table&&t.column&&t.aggregationFunction)},e.isPercentOfGrandTotal=function(t){return!!t.percentOfGrandTotal},function(t){t[t.Bottom=0]="Bottom",t[t.Left=1]="Left"}(e.PageNavigationPosition||(e.PageNavigationPosition={})),function(t){t[t.Interactive=0]="Interactive",t[t.ResultOnly=1]="ResultOnly"}(e.QnaMode||(e.QnaMode={})),function(t){t[t.Summarized=0]="Summarized",t[t.Underlying=1]="Underlying"}(e.ExportDataType||(e.ExportDataType={})),function(t){t[t.Off=0]="Off",t[t.Presentation=1]="Presentation"}(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"},function(t){t[t.Ascending=1]="Ascending",t[t.Descending=2]="Descending"}(e.SortDirection||(e.SortDirection={}));var w=function(){function t(t){this.$schema=t}return t.prototype.toJSON=function(){return{$schema:this.$schema}},t}();e.Selector=w;var O=function(t){function e(r){var i=t.call(this,e.schemaUrl)||this;return i.pageName=r,i}return a(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}(w);e.PageSelector=O;var P=function(t){function e(r){var i=t.call(this,e.schemaUrl)||this;return i.visualName=r,i}return a(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}(w);e.VisualSelector=P;var S=function(t){function e(e){var r=t.call(this,P.schemaUrl)||this;return r.visualType=e,r}return a(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}(w);e.VisualTypeSelector=S;var E=function(t){function e(e){var r=t.call(this,P.schemaUrl)||this;return r.target=e,r}return a(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}(w);function T(t){return Array.isArray(t)}function _(t){return t&&!!t.groupName}function F(t){return Array.isArray(t)}function x(t){var e=t.message;return e||(e="".concat(t.path," is invalid. Not meeting ").concat(t.keyword," constraint")),{message:e}}e.SlicerTargetSelector=E,function(t){t[t.Enabled=0]="Enabled",t[t.Disabled=1]="Disabled",t[t.Hidden=2]="Hidden"}(e.CommandDisplayOption||(e.CommandDisplayOption={})),function(t){t[t.Grouping=0]="Grouping",t[t.Measure=1]="Measure",t[t.GroupingOrMeasure=2]="GroupingOrMeasure"}(e.VisualDataRoleKind||(e.VisualDataRoleKind={})),function(t){t[t.Measure=0]="Measure",t[t.Grouping=1]="Grouping"}(e.VisualDataRoleKindPreference||(e.VisualDataRoleKindPreference={})),e.isOnLoadFilters=function(t){return t&&!T(t)},e.isReportFiltersArray=T,e.isFlatMenuExtension=function(t){return t&&!_(t)},e.isGroupedMenuExtension=_,e.isIExtensions=function(t){return t&&!F(t)},e.isIExtensionArray=F,e.validateVisualSelector=function(t){var e=o.Validators.visualSelectorValidator.validate(t);return e?e.map(x):void 0},e.validateSlicer=function(t){var e=o.Validators.slicerValidator.validate(t);return e?e.map(x):void 0},e.validateSlicerState=function(t){var e=o.Validators.slicerStateValidator.validate(t);return e?e.map(x):void 0},e.validatePlayBookmarkRequest=function(t){var e=o.Validators.playBookmarkRequestValidator.validate(t);return e?e.map(x):void 0},e.validateAddBookmarkRequest=function(t){var e=o.Validators.addBookmarkRequestValidator.validate(t);return e?e.map(x):void 0},e.validateApplyBookmarkByNameRequest=function(t){var e=o.Validators.applyBookmarkByNameRequestValidator.validate(t);return e?e.map(x):void 0},e.validateApplyBookmarkStateRequest=function(t){var e=o.Validators.applyBookmarkStateRequestValidator.validate(t);return e?e.map(x):void 0},e.validateCaptureBookmarkRequest=function(t){var e=o.Validators.captureBookmarkRequestValidator.validate(t);return e?e.map(x):void 0},e.validateSettings=function(t){var e=o.Validators.settingsValidator.validate(t);return e?e.map(x):void 0},e.validatePanes=function(t){var e=o.Validators.reportPanesValidator.validate(t);return e?e.map(x):void 0},e.validateBookmarksPane=function(t){var e=o.Validators.bookmarksPaneValidator.validate(t);return e?e.map(x):void 0},e.validateFiltersPane=function(t){var e=o.Validators.filtersPaneValidator.validate(t);return e?e.map(x):void 0},e.validateFieldsPane=function(t){var e=o.Validators.fieldsPaneValidator.validate(t);return e?e.map(x):void 0},e.validatePageNavigationPane=function(t){var e=o.Validators.pageNavigationPaneValidator.validate(t);return e?e.map(x):void 0},e.validateSelectionPane=function(t){var e=o.Validators.selectionPaneValidator.validate(t);return e?e.map(x):void 0},e.validateSyncSlicersPane=function(t){var e=o.Validators.syncSlicersPaneValidator.validate(t);return e?e.map(x):void 0},e.validateVisualizationsPane=function(t){var e=o.Validators.visualizationsPaneValidator.validate(t);return e?e.map(x):void 0},e.validateCustomPageSize=function(t){var e=o.Validators.customPageSizeValidator.validate(t);return e?e.map(x):void 0},e.validateExtension=function(t){var e=o.Validators.extensionValidator.validate(t);return e?e.map(x):void 0},e.validateMenuGroupExtension=function(t){var e=o.Validators.menuGroupExtensionValidator.validate(t);return e?e.map(x):void 0},e.validateReportLoad=function(t){var e=o.Validators.reportLoadValidator.validate(t);return e?e.map(x):void 0},e.validatePaginatedReportLoad=function(t){var e=o.Validators.paginatedReportLoadValidator.validate(t);return e?e.map(x):void 0},e.validateCreateReport=function(t){var e=o.Validators.reportCreateValidator.validate(t);return e?e.map(x):void 0},e.validateDashboardLoad=function(t){var e=o.Validators.dashboardLoadValidator.validate(t);return e?e.map(x):void 0},e.validateTileLoad=function(t){var e=o.Validators.tileLoadValidator.validate(t);return e?e.map(x):void 0},e.validatePage=function(t){var e=o.Validators.pageValidator.validate(t);return e?e.map(x):void 0},e.validateFilter=function(t){var e=o.Validators.filterValidator.validate(t);return e?e.map(x):void 0},e.validateUpdateFiltersRequest=function(t){var e=o.Validators.updateFiltersRequestValidator.validate(t);return e?e.map(x):void 0},e.validateSaveAsParameters=function(t){var e=o.Validators.saveAsParametersValidator.validate(t);return e?e.map(x):void 0},e.validateLoadQnaConfiguration=function(t){var e=o.Validators.loadQnaValidator.validate(t);return e?e.map(x):void 0},e.validateQnaInterpretInputData=function(t){var e=o.Validators.qnaInterpretInputDataValidator.validate(t);return e?e.map(x):void 0},e.validateExportDataRequest=function(t){var e=o.Validators.exportDataRequestValidator.validate(t);return e?e.map(x):void 0},e.validateVisualHeader=function(t){var e=o.Validators.visualHeaderValidator.validate(t);return e?e.map(x):void 0},e.validateVisualSettings=function(t){var e=o.Validators.visualSettingsValidator.validate(t);return e?e.map(x):void 0},e.validateCommandsSettings=function(t){var e=o.Validators.commandsSettingsValidator.validate(t);return e?e.map(x):void 0},e.validateCustomTheme=function(t){var e=o.Validators.customThemeValidator.validate(t);return e?e.map(x):void 0},e.validateZoomLevel=function(t){var e=o.Validators.zoomLevelValidator.validate(t);return e?e.map(x):void 0}},(t,e,r)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.Validators=void 0;var i=r(2),a=r(5),n=r(6),o=r(7),l=r(8),s=r(9),u=r(10),d=r(11),c=r(12),p=r(13),f=r(14),h=r(15),v=r(16),y=r(17),m=r(18),g=r(19),V=r(20),b=r(21),w=r(22),O=r(23),P=r(24),S=r(25),E=r(26),T=r(27),_=r(28),F=r(29),x=r(4),R=r(30);e.Validators={addBookmarkRequestValidator:new a.AddBookmarkRequestValidator,advancedFilterTypeValidator:new x.EnumValidator([0]),advancedFilterValidator:new c.AdvancedFilterValidator,anyArrayValidator:new x.ArrayValidator([new E.AnyOfValidator([new x.StringValidator,new x.NumberValidator,new x.BooleanValidator])]),anyFilterValidator:new E.AnyOfValidator([new c.BasicFilterValidator,new c.AdvancedFilterValidator,new c.IncludeExcludeFilterValidator,new c.NotSupportedFilterValidator,new c.RelativeDateFilterValidator,new c.TopNFilterValidator,new c.RelativeTimeFilterValidator,new c.HierarchyFilterValidator]),anyValueValidator:new E.AnyOfValidator([new x.StringValidator,new x.NumberValidator,new x.BooleanValidator]),actionBarValidator:new i.ActionBarValidator,applyBookmarkByNameRequestValidator:new a.ApplyBookmarkByNameRequestValidator,applyBookmarkStateRequestValidator:new a.ApplyBookmarkStateRequestValidator,applyBookmarkValidator:new E.AnyOfValidator([new a.ApplyBookmarkByNameRequestValidator,new a.ApplyBookmarkStateRequestValidator]),backgroundValidator:new x.EnumValidator([0,1]),basicFilterTypeValidator:new x.EnumValidator([1]),basicFilterValidator:new c.BasicFilterValidator,booleanArrayValidator:new x.BooleanArrayValidator,booleanValidator:new x.BooleanValidator,bookmarksPaneValidator:new h.BookmarksPaneValidator,captureBookmarkOptionsValidator:new a.CaptureBookmarkOptionsValidator,captureBookmarkRequestValidator:new a.CaptureBookmarkRequestValidator,commandDisplayOptionValidator:new x.EnumValidator([0,1,2]),commandExtensionSelectorValidator:new E.AnyOfValidator([new b.VisualSelectorValidator,new b.VisualTypeSelectorValidator]),commandExtensionArrayValidator:new x.ArrayValidator([new d.CommandExtensionValidator]),commandExtensionValidator:new d.CommandExtensionValidator,commandsSettingsArrayValidator:new x.ArrayValidator([new n.CommandsSettingsValidator]),commandsSettingsValidator:new n.CommandsSettingsValidator,conditionItemValidator:new c.ConditionItemValidator,contrastModeValidator:new x.EnumValidator([0,1,2,3,4]),customLayoutDisplayOptionValidator:new x.EnumValidator([0,1,2]),customLayoutValidator:new p.CustomLayoutValidator,customPageSizeValidator:new f.CustomPageSizeValidator,customThemeValidator:new o.CustomThemeValidator,dashboardLoadValidator:new l.DashboardLoadValidator,datasetBindingValidator:new s.DatasetBindingValidator,displayStateModeValidator:new x.EnumValidator([0,1]),displayStateValidator:new p.DisplayStateValidator,exportDataRequestValidator:new u.ExportDataRequestValidator,extensionArrayValidator:new x.ArrayValidator([new d.ExtensionValidator]),extensionsValidator:new E.AnyOfValidator([new x.ArrayValidator([new d.ExtensionValidator]),new d.ExtensionsValidator]),extensionPointsValidator:new d.ExtensionPointsValidator,extensionValidator:new d.ExtensionValidator,fieldForbiddenValidator:new T.FieldForbiddenValidator,fieldRequiredValidator:new _.FieldRequiredValidator,fieldsPaneValidator:new h.FieldsPaneValidator,filterColumnTargetValidator:new c.FilterColumnTargetValidator,filterDisplaySettingsValidator:new c.FilterDisplaySettingsValidator,filterConditionsValidator:new x.ArrayValidator([new c.ConditionItemValidator]),filterHierarchyTargetValidator:new c.FilterHierarchyTargetValidator,filterMeasureTargetValidator:new c.FilterMeasureTargetValidator,filterTargetValidator:new E.AnyOfValidator([new c.FilterColumnTargetValidator,new c.FilterHierarchyTargetValidator,new c.FilterMeasureTargetValidator,new x.ArrayValidator([new E.AnyOfValidator([new c.FilterColumnTargetValidator,new c.FilterHierarchyTargetValidator,new c.FilterMeasureTargetValidator,new c.FilterKeyColumnsTargetValidator,new c.FilterKeyHierarchyTargetValidator])])]),filterValidator:new c.FilterValidator,filterTypeValidator:new x.EnumValidator([0,1,2,3,4,5,6,7,9]),filtersArrayValidator:new x.ArrayValidator([new c.FilterValidator]),filtersOperationsUpdateValidator:new x.EnumValidator([1,2,3]),filtersOperationsRemoveAllValidator:new x.EnumValidator([0]),filtersPaneValidator:new h.FiltersPaneValidator,hyperlinkClickBehaviorValidator:new x.EnumValidator([0,1,2]),includeExcludeFilterValidator:new c.IncludeExcludeFilterValidator,includeExludeFilterTypeValidator:new x.EnumValidator([3]),hierarchyFilterTypeValidator:new x.EnumValidator([9]),hierarchyFilterValuesValidator:new x.ArrayValidator([new c.HierarchyFilterNodeValidator]),layoutTypeValidator:new x.EnumValidator([0,1,2,3]),loadQnaValidator:new v.LoadQnaValidator,menuExtensionValidator:new E.AnyOfValidator([new d.FlatMenuExtensionValidator,new d.GroupedMenuExtensionValidator]),menuGroupExtensionArrayValidator:new x.ArrayValidator([new d.MenuGroupExtensionValidator]),menuGroupExtensionValidator:new d.MenuGroupExtensionValidator,menuLocationValidator:new x.EnumValidator([0,1]),notSupportedFilterTypeValidator:new x.EnumValidator([2]),notSupportedFilterValidator:new c.NotSupportedFilterValidator,numberArrayValidator:new x.NumberArrayValidator,numberValidator:new x.NumberValidator,onLoadFiltersBaseValidator:new E.AnyOfValidator([new c.OnLoadFiltersBaseValidator,new c.OnLoadFiltersBaseRemoveOperationValidator]),pageLayoutValidator:new F.MapValidator([new x.StringValidator],[new p.VisualLayoutValidator]),pageNavigationPaneValidator:new h.PageNavigationPaneValidator,pageNavigationPositionValidator:new x.EnumValidator([0,1]),pageSizeTypeValidator:new x.EnumValidator([0,1,2,3,4,5]),pageSizeValidator:new f.PageSizeValidator,pageValidator:new f.PageValidator,pageViewFieldValidator:new f.PageViewFieldValidator,pagesLayoutValidator:new F.MapValidator([new x.StringValidator],[new p.PageLayoutValidator]),paginatedReportCommandsValidator:new n.PaginatedReportCommandsValidator,paginatedReportLoadValidator:new g.PaginatedReportLoadValidator,paginatedReportsettingsValidator:new w.PaginatedReportSettingsValidator,parameterValuesArrayValidator:new x.ArrayValidator([new g.ReportParameterFieldsValidator]),parametersPanelValidator:new R.ParametersPanelValidator,permissionsValidator:new x.EnumValidator([0,1,2,4,7]),playBookmarkRequestValidator:new a.PlayBookmarkRequestValidator,qnaInterpretInputDataValidator:new v.QnaInterpretInputDataValidator,qnaPanesValidator:new h.QnaPanesValidator,qnaSettingValidator:new v.QnaSettingsValidator,relativeDateFilterOperatorValidator:new x.EnumValidator([0,1,2]),relativeDateFilterTimeUnitTypeValidator:new x.EnumValidator([0,1,2,3,4,5,6]),relativeDateFilterTypeValidator:new x.EnumValidator([4]),relativeDateFilterValidator:new c.RelativeDateFilterValidator,relativeDateTimeFilterTypeValidator:new x.EnumValidator([4,7]),relativeDateTimeFilterUnitTypeValidator:new x.EnumValidator([0,1,2,3,4,5,6,7,8]),relativeTimeFilterTimeUnitTypeValidator:new x.EnumValidator([7,8]),relativeTimeFilterTypeValidator:new x.EnumValidator([7]),relativeTimeFilterValidator:new c.RelativeTimeFilterValidator,reportBarsValidator:new i.ReportBarsValidator,reportCreateValidator:new y.ReportCreateValidator,reportLoadFiltersValidator:new E.AnyOfValidator([new x.ArrayValidator([new c.FilterValidator]),new c.OnLoadFiltersValidator]),reportLoadValidator:new m.ReportLoadValidator,reportPanesValidator:new h.ReportPanesValidator,saveAsParametersValidator:new V.SaveAsParametersValidator,selectionPaneValidator:new h.SelectionPaneValidator,settingsValidator:new w.SettingsValidator,singleCommandSettingsValidator:new n.SingleCommandSettingsValidator,slicerSelectorValidator:new E.AnyOfValidator([new b.VisualSelectorValidator,new b.SlicerTargetSelectorValidator]),slicerStateValidator:new O.SlicerStateValidator,slicerTargetValidator:new E.AnyOfValidator([new c.FilterColumnTargetValidator,new c.FilterHierarchyTargetValidator,new c.FilterMeasureTargetValidator,new c.FilterKeyColumnsTargetValidator,new c.FilterKeyHierarchyTargetValidator]),slicerValidator:new O.SlicerValidator,stringArrayValidator:new x.StringArrayValidator,stringValidator:new x.StringValidator,syncSlicersPaneValidator:new h.SyncSlicersPaneValidator,tileLoadValidator:new P.TileLoadValidator,tokenTypeValidator:new x.EnumValidator([0,1]),topNFilterTypeValidator:new x.EnumValidator([5]),topNFilterValidator:new c.TopNFilterValidator,updateFiltersRequestValidator:new E.AnyOfValidator([new c.UpdateFiltersRequestValidator,new c.RemoveFiltersRequestValidator]),viewModeValidator:new x.EnumValidator([0,1]),visualCommandSelectorValidator:new E.AnyOfValidator([new b.VisualSelectorValidator,new b.VisualTypeSelectorValidator]),visualHeaderSelectorValidator:new E.AnyOfValidator([new b.VisualSelectorValidator,new b.VisualTypeSelectorValidator]),visualHeaderSettingsValidator:new S.VisualHeaderSettingsValidator,visualHeaderValidator:new S.VisualHeaderValidator,visualHeadersValidator:new x.ArrayValidator([new S.VisualHeaderValidator]),visualizationsPaneValidator:new h.VisualizationsPaneValidator,visualLayoutValidator:new p.VisualLayoutValidator,visualSelectorValidator:new b.VisualSelectorValidator,visualSettingsValidator:new S.VisualSettingsValidator,visualTypeSelectorValidator:new b.VisualTypeSelectorValidator,zoomLevelValidator:new x.RangeValidator(.25,4)}},function(t,e,r){var i,a=this&&this.__extends||(i=function(t,e){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])})(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.ActionBarValidator=e.ReportBarsValidator=void 0;var n=r(3),o=r(4),l=r(1),s=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return a(e,t),e.prototype.validate=function(e,r,i){if(null==e)return null;var a=t.prototype.validate.call(this,e,r,i);if(a)return a;var o=[{field:"actionBar",validators:[l.Validators.actionBarValidator]}];return new n.MultipleFieldsValidator(o).validate(e,r,i)},e}(o.ObjectValidator);e.ReportBarsValidator=s;var u=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return a(e,t),e.prototype.validate=function(e,r,i){if(null==e)return null;var a=t.prototype.validate.call(this,e,r,i);if(a)return a;var o=[{field:"visible",validators:[l.Validators.booleanValidator]}];return new n.MultipleFieldsValidator(o).validate(e,r,i)},e}(o.ObjectValidator);e.ActionBarValidator=u},(t,e)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.MultipleFieldsValidator=void 0;var r=function(){function t(t){this.fieldValidatorsPairs=t}return t.prototype.validate=function(t,e,r){if(!this.fieldValidatorsPairs)return null;for(var i=e?e+"."+r:r,a=0,n=this.fieldValidatorsPairs;athis.maxValue||e{Object.defineProperty(e,"__esModule",{value:!0}),e.AnyOfValidator=void 0;var r=function(){function t(t){this.validators=t}return t.prototype.validate=function(t,e,r){if(null==t)return null;for(var i=!1,a=0,n=this.validators;a{Object.defineProperty(e,"__esModule",{value:!0}),e.FieldForbiddenValidator=void 0;var r=function(){function t(){}return t.prototype.validate=function(t,e,r){return void 0!==t?[{message:r+" is forbidden",path:(e?e+".":"")+r,keyword:"forbidden"}]:null},t}();e.FieldForbiddenValidator=r},(t,e)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.FieldRequiredValidator=void 0;var r=function(){function t(){}return t.prototype.validate=function(t,e,r){return null==t?[{message:r+" is required",path:(e?e+".":"")+r,keyword:"required"}]:null},t}();e.FieldRequiredValidator=r},function(t,e,r){var i,a=this&&this.__extends||(i=function(t,e){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])})(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.MapValidator=void 0;var n=function(t){function e(e,r){var i=t.call(this)||this;return i.keyValidators=e,i.valueValidators=r,i}return a(e,t),e.prototype.validate=function(e,r,i){if(null==e)return null;var a=t.prototype.validate.call(this,e,r,i);if(a)return a;for(var n in e)if(e.hasOwnProperty(n)){for(var o=(r?r+".":"")+i+"."+n,l=0,s=this.keyValidators;l0&&a[a.length-1])||6!==n[0]&&2!==n[0])){o=0;continue}if(3===n[0]&&(!a||n[1]>a[0]&&n[1]0&&a[a.length-1])||6!==n[0]&&2!==n[0])){o=0;continue}if(3===n[0]&&(!a||n[1]>a[0]&&n[1]0?"&":"?";return t+=i+e+"="+r},e.isSavedInternal=function(t,e,a){return r(this,void 0,void 0,(function(){return i(this,(function(r){switch(r.label){case 0:return r.trys.push([0,2,,3]),[4,t.get("/report/hasUnsavedChanges",{uid:e},a)];case 1:return[2,!r.sent().body];case 2:throw r.sent().body;case 3:return[2]}}))}))},e.isRDLEmbed=function(t){return t&&t.toLowerCase().indexOf("/rdlembed?")>=0},e.autoAuthInEmbedUrl=function(t){return t&&decodeURIComponent(t).toLowerCase().indexOf("autoauth=true")>=0},e.getRandomValue=n,e.getTimeDiffInMilliseconds=function(t,e){return Math.abs(t.getTime()-e.getTime())}},function(t,e){Object.defineProperty(e,"__esModule",{value:!0}),e.FilterBuilder=void 0;var r=function(){function t(){}return t.prototype.withTargetObject=function(t){return this.target=t,this},t.prototype.withColumnTarget=function(t,e){return this.target={table:t,column:e},this},t.prototype.withMeasureTarget=function(t,e){return this.target={table:t,measure:e},this},t.prototype.withHierarchyLevelTarget=function(t,e,r){return this.target={table:t,hierarchy:e,hierarchyLevel:r},this},t.prototype.withColumnAggregation=function(t,e,r){return this.target={table:t,column:e,aggregationFunction:r},this},t.prototype.withHierarchyLevelAggregationTarget=function(t,e,r,i){return this.target={table:t,hierarchy:e,hierarchyLevel:r,aggregationFunction:i},this},t}();e.FilterBuilder=r},function(t,e){Object.defineProperty(e,"__esModule",{value:!0}),e.EmbedUrlNotSupported=e.APINotSupportedForRDLError=void 0,e.APINotSupportedForRDLError="This API is currently not supported for RDL reports",e.EmbedUrlNotSupported="Embed URL is invalid for this scenario. Please use Power BI REST APIs to get the valid URL"},function(t,e){Object.defineProperty(e,"__esModule",{value:!0});e.default={version:"2.21.0",type:"js"}},function(t,e,r){var i,a=this&&this.__extends||(i=function(t,e){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])})(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}),n=this&&this.__awaiter||function(t,e,r,i){return new(r||(r=Promise))((function(a,n){function o(t){try{s(i.next(t))}catch(t){n(t)}}function l(t){try{s(i.throw(t))}catch(t){n(t)}}function s(t){var e;t.done?a(t.value):(e=t.value,e instanceof r?e:new r((function(t){t(e)}))).then(o,l)}s((i=i.apply(t,e||[])).next())}))},o=this&&this.__generator||function(t,e){var r,i,a,n,o={label:0,sent:function(){if(1&a[0])throw a[1];return a[1]},trys:[],ops:[]};return n={next:l(0),throw:l(1),return:l(2)},"function"==typeof Symbol&&(n[Symbol.iterator]=function(){return this}),n;function l(n){return function(l){return function(n){if(r)throw new TypeError("Generator is already executing.");for(;o;)try{if(r=1,i&&(a=2&n[0]?i.return:n[0]?i.throw||((a=i.return)&&a.call(i),0):i.next)&&!(a=a.call(i,n[1])).done)return a;switch(i=0,a&&(n=[2&n[0],a.value]),n[0]){case 0:case 1:a=n;break;case 4:return o.label++,{value:n[1],done:!1};case 5:o.label++,i=n[1],n=[0];continue;case 7:n=o.ops.pop(),o.trys.pop();continue;default:if(!(a=o.trys,(a=a.length>0&&a[a.length-1])||6!==n[0]&&2!==n[0])){o=0;continue}if(3===n[0]&&(!a||n[1]>a[0]&&n[1]0&&a[a.length-1])||6!==n[0]&&2!==n[0])){o=0;continue}if(3===n[0]&&(!a||n[1]>a[0]&&n[1]0&&a[a.length-1])||6!==n[0]&&2!==n[0])){o=0;continue}if(3===n[0]&&(!a||n[1]>a[0]&&n[1]0&&a[a.length-1])||6!==n[0]&&2!==n[0])){o=0;continue}if(3===n[0]&&(!a||n[1]>a[0]&&n[1]0&&a[a.length-1])||6!==n[0]&&2!==n[0])){o=0;continue}if(3===n[0]&&(!a||n[1]>a[0]&&n[1]0&&a[a.length-1])||6!==n[0]&&2!==n[0])){o=0;continue}if(3===n[0]&&(!a||n[1]>a[0]&&n[1]0&&a[a.length-1])||6!==n[0]&&2!==n[0])){o=0;continue}if(3===n[0]&&(!a||n[1]>a[0]&&n[1]=n)return t;switch(t){case"%s":return String(i[r++]);case"%d":return Number(i[r++]);case"%j":try{return JSON.stringify(i[r++])}catch(t){return"[Circular]"}default:return t}})),s=i[r];r=3&&(i.depth=arguments[2]),arguments.length>=4&&(i.colors=arguments[3]),h(r)?i.showHidden=r:r&&e._extend(i,r),g(i.showHidden)&&(i.showHidden=!1),g(i.depth)&&(i.depth=2),g(i.colors)&&(i.colors=!1),g(i.customInspect)&&(i.customInspect=!0),i.colors&&(i.stylize=s),d(i,t,i.depth)}function s(t,e){var r=l.styles[e];return r?"["+l.colors[r][0]+"m"+t+"["+l.colors[r][1]+"m":t}function u(t,e){return t}function d(t,r,i){if(t.customInspect&&r&&P(r.inspect)&&r.inspect!==e.inspect&&(!r.constructor||r.constructor.prototype!==r)){var a=r.inspect(i,t);return m(a)||(a=d(t,a,i)),a}var n=function(t,e){if(g(e))return t.stylize("undefined","undefined");if(m(e)){var r="'"+JSON.stringify(e).replace(/^"|"$/g,"").replace(/'/g,"\\'").replace(/\\"/g,'"')+"'";return t.stylize(r,"string")}if(y(e))return t.stylize(""+e,"number");if(h(e))return t.stylize(""+e,"boolean");if(v(e))return t.stylize("null","null")}(t,r);if(n)return n;var o=Object.keys(r),l=function(t){var e={};return t.forEach((function(t,r){e[t]=!0})),e}(o);if(t.showHidden&&(o=Object.getOwnPropertyNames(r)),O(r)&&(o.indexOf("message")>=0||o.indexOf("description")>=0))return c(r);if(0===o.length){if(P(r)){var s=r.name?": "+r.name:"";return t.stylize("[Function"+s+"]","special")}if(V(r))return t.stylize(RegExp.prototype.toString.call(r),"regexp");if(w(r))return t.stylize(Date.prototype.toString.call(r),"date");if(O(r))return c(r)}var u,b="",S=!1,E=["{","}"];(f(r)&&(S=!0,E=["[","]"]),P(r))&&(b=" [Function"+(r.name?": "+r.name:"")+"]");return V(r)&&(b=" "+RegExp.prototype.toString.call(r)),w(r)&&(b=" "+Date.prototype.toUTCString.call(r)),O(r)&&(b=" "+c(r)),0!==o.length||S&&0!=r.length?i<0?V(r)?t.stylize(RegExp.prototype.toString.call(r),"regexp"):t.stylize("[Object]","special"):(t.seen.push(r),u=S?function(t,e,r,i,a){for(var n=[],o=0,l=e.length;o=0&&0,t+e.replace(/\u001b\[\d\d?m/g,"").length+1}),0)>60)return r[0]+(""===e?"":e+"\n ")+" "+t.join(",\n ")+" "+r[1];return r[0]+e+" "+t.join(", ")+" "+r[1]}(u,b,E)):E[0]+b+E[1]}function c(t){return"["+Error.prototype.toString.call(t)+"]"}function p(t,e,r,i,a,n){var o,l,s;if((s=Object.getOwnPropertyDescriptor(e,a)||{value:e[a]}).get?l=s.set?t.stylize("[Getter/Setter]","special"):t.stylize("[Getter]","special"):s.set&&(l=t.stylize("[Setter]","special")),F(i,a)||(o="["+a+"]"),l||(t.seen.indexOf(s.value)<0?(l=v(r)?d(t,s.value,null):d(t,s.value,r-1)).indexOf("\n")>-1&&(l=n?l.split("\n").map((function(t){return" "+t})).join("\n").substr(2):"\n"+l.split("\n").map((function(t){return" "+t})).join("\n")):l=t.stylize("[Circular]","special")),g(o)){if(n&&a.match(/^\d+$/))return l;(o=JSON.stringify(""+a)).match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/)?(o=o.substr(1,o.length-2),o=t.stylize(o,"name")):(o=o.replace(/'/g,"\\'").replace(/\\"/g,'"').replace(/(^"|"$)/g,"'"),o=t.stylize(o,"string"))}return o+": "+l}function f(t){return Array.isArray(t)}function h(t){return"boolean"==typeof t}function v(t){return null===t}function y(t){return"number"==typeof t}function m(t){return"string"==typeof t}function g(t){return void 0===t}function V(t){return b(t)&&"[object RegExp]"===S(t)}function b(t){return"object"==typeof t&&null!==t}function w(t){return b(t)&&"[object Date]"===S(t)}function O(t){return b(t)&&("[object Error]"===S(t)||t instanceof Error)}function P(t){return"function"==typeof t}function S(t){return Object.prototype.toString.call(t)}function E(t){return t<10?"0"+t.toString(10):t.toString(10)}e.debuglog=function(r){if(g(n)&&(n=t.env.NODE_DEBUG||""),r=r.toUpperCase(),!o[r])if(new RegExp("\\b"+r+"\\b","i").test(n)){var i=t.pid;o[r]=function(){var t=e.format.apply(e,arguments);console.error("%s %d: %s",r,i,t)}}else o[r]=function(){};return o[r]},e.inspect=l,l.colors={bold:[1,22],italic:[3,23],underline:[4,24],inverse:[7,27],white:[37,39],grey:[90,39],black:[30,39],blue:[34,39],cyan:[36,39],green:[32,39],magenta:[35,39],red:[31,39],yellow:[33,39]},l.styles={special:"cyan",number:"yellow",boolean:"yellow",undefined:"grey",null:"bold",string:"green",date:"magenta",regexp:"red"},e.isArray=f,e.isBoolean=h,e.isNull=v,e.isNullOrUndefined=function(t){return null==t},e.isNumber=y,e.isString=m,e.isSymbol=function(t){return"symbol"==typeof t},e.isUndefined=g,e.isRegExp=V,e.isObject=b,e.isDate=w,e.isError=O,e.isFunction=P,e.isPrimitive=function(t){return null===t||"boolean"==typeof t||"number"==typeof t||"string"==typeof t||"symbol"==typeof t||void 0===t},e.isBuffer=r(21);var _=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];function T(){var t=new Date,e=[E(t.getHours()),E(t.getMinutes()),E(t.getSeconds())].join(":");return[t.getDate(),_[t.getMonth()],e].join(" ")}function F(t,e){return Object.prototype.hasOwnProperty.call(t,e)}e.log=function(){console.log("%s - %s",T(),e.format.apply(e,arguments))},e.inherits=r(22),e._extend=function(t,e){if(!e||!b(e))return t;for(var r=Object.keys(e),i=r.length;i--;)t[r[i]]=e[r[i]];return t};var x="undefined"!=typeof Symbol?Symbol("util.promisify.custom"):void 0;function R(t,e){if(!t){var r=new Error("Promise was rejected with a falsy value");r.reason=t,t=r}return e(t)}e.promisify=function(t){if("function"!=typeof t)throw new TypeError('The "original" argument must be of type Function');if(x&&t[x]){var e;if("function"!=typeof(e=t[x]))throw new TypeError('The "util.promisify.custom" argument must be of type Function');return Object.defineProperty(e,x,{value:e,enumerable:!1,writable:!1,configurable:!0}),e}function e(){for(var e,r,i=new Promise((function(t,i){e=t,r=i})),a=[],n=0;n1)for(var r=1;r0&&a[a.length-1])||6!==n[0]&&2!==n[0])){o=0;continue}if(3===n[0]&&(!a||n[1]>a[0]&&n[1]=n)return t;switch(t){case"%s":return String(i[r++]);case"%d":return Number(i[r++]);case"%j":try{return JSON.stringify(i[r++])}catch(t){return"[Circular]"}default:return t}})),s=i[r];r=3&&(i.depth=arguments[2]),arguments.length>=4&&(i.colors=arguments[3]),h(r)?i.showHidden=r:r&&e._extend(i,r),g(i.showHidden)&&(i.showHidden=!1),g(i.depth)&&(i.depth=2),g(i.colors)&&(i.colors=!1),g(i.customInspect)&&(i.customInspect=!0),i.colors&&(i.stylize=s),d(i,t,i.depth)}function s(t,e){var r=l.styles[e];return r?"["+l.colors[r][0]+"m"+t+"["+l.colors[r][1]+"m":t}function u(t,e){return t}function d(t,r,i){if(t.customInspect&&r&&P(r.inspect)&&r.inspect!==e.inspect&&(!r.constructor||r.constructor.prototype!==r)){var a=r.inspect(i,t);return m(a)||(a=d(t,a,i)),a}var n=function(t,e){if(g(e))return t.stylize("undefined","undefined");if(m(e)){var r="'"+JSON.stringify(e).replace(/^"|"$/g,"").replace(/'/g,"\\'").replace(/\\"/g,'"')+"'";return t.stylize(r,"string")}if(y(e))return t.stylize(""+e,"number");if(h(e))return t.stylize(""+e,"boolean");if(v(e))return t.stylize("null","null")}(t,r);if(n)return n;var o=Object.keys(r),l=function(t){var e={};return t.forEach((function(t,r){e[t]=!0})),e}(o);if(t.showHidden&&(o=Object.getOwnPropertyNames(r)),O(r)&&(o.indexOf("message")>=0||o.indexOf("description")>=0))return c(r);if(0===o.length){if(P(r)){var s=r.name?": "+r.name:"";return t.stylize("[Function"+s+"]","special")}if(V(r))return t.stylize(RegExp.prototype.toString.call(r),"regexp");if(w(r))return t.stylize(Date.prototype.toString.call(r),"date");if(O(r))return c(r)}var u,b="",S=!1,E=["{","}"];(f(r)&&(S=!0,E=["[","]"]),P(r))&&(b=" [Function"+(r.name?": "+r.name:"")+"]");return V(r)&&(b=" "+RegExp.prototype.toString.call(r)),w(r)&&(b=" "+Date.prototype.toUTCString.call(r)),O(r)&&(b=" "+c(r)),0!==o.length||S&&0!=r.length?i<0?V(r)?t.stylize(RegExp.prototype.toString.call(r),"regexp"):t.stylize("[Object]","special"):(t.seen.push(r),u=S?function(t,e,r,i,a){for(var n=[],o=0,l=e.length;o=0&&0,t+e.replace(/\u001b\[\d\d?m/g,"").length+1}),0)>60)return r[0]+(""===e?"":e+"\n ")+" "+t.join(",\n ")+" "+r[1];return r[0]+e+" "+t.join(", ")+" "+r[1]}(u,b,E)):E[0]+b+E[1]}function c(t){return"["+Error.prototype.toString.call(t)+"]"}function p(t,e,r,i,a,n){var o,l,s;if((s=Object.getOwnPropertyDescriptor(e,a)||{value:e[a]}).get?l=s.set?t.stylize("[Getter/Setter]","special"):t.stylize("[Getter]","special"):s.set&&(l=t.stylize("[Setter]","special")),F(i,a)||(o="["+a+"]"),l||(t.seen.indexOf(s.value)<0?(l=v(r)?d(t,s.value,null):d(t,s.value,r-1)).indexOf("\n")>-1&&(l=n?l.split("\n").map((function(t){return" "+t})).join("\n").substr(2):"\n"+l.split("\n").map((function(t){return" "+t})).join("\n")):l=t.stylize("[Circular]","special")),g(o)){if(n&&a.match(/^\d+$/))return l;(o=JSON.stringify(""+a)).match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/)?(o=o.substr(1,o.length-2),o=t.stylize(o,"name")):(o=o.replace(/'/g,"\\'").replace(/\\"/g,'"').replace(/(^"|"$)/g,"'"),o=t.stylize(o,"string"))}return o+": "+l}function f(t){return Array.isArray(t)}function h(t){return"boolean"==typeof t}function v(t){return null===t}function y(t){return"number"==typeof t}function m(t){return"string"==typeof t}function g(t){return void 0===t}function V(t){return b(t)&&"[object RegExp]"===S(t)}function b(t){return"object"==typeof t&&null!==t}function w(t){return b(t)&&"[object Date]"===S(t)}function O(t){return b(t)&&("[object Error]"===S(t)||t instanceof Error)}function P(t){return"function"==typeof t}function S(t){return Object.prototype.toString.call(t)}function E(t){return t<10?"0"+t.toString(10):t.toString(10)}e.debuglog=function(r){if(g(n)&&(n=t.env.NODE_DEBUG||""),r=r.toUpperCase(),!o[r])if(new RegExp("\\b"+r+"\\b","i").test(n)){var i=t.pid;o[r]=function(){var t=e.format.apply(e,arguments);console.error("%s %d: %s",r,i,t)}}else o[r]=function(){};return o[r]},e.inspect=l,l.colors={bold:[1,22],italic:[3,23],underline:[4,24],inverse:[7,27],white:[37,39],grey:[90,39],black:[30,39],blue:[34,39],cyan:[36,39],green:[32,39],magenta:[35,39],red:[31,39],yellow:[33,39]},l.styles={special:"cyan",number:"yellow",boolean:"yellow",undefined:"grey",null:"bold",string:"green",date:"magenta",regexp:"red"},e.isArray=f,e.isBoolean=h,e.isNull=v,e.isNullOrUndefined=function(t){return null==t},e.isNumber=y,e.isString=m,e.isSymbol=function(t){return"symbol"==typeof t},e.isUndefined=g,e.isRegExp=V,e.isObject=b,e.isDate=w,e.isError=O,e.isFunction=P,e.isPrimitive=function(t){return null===t||"boolean"==typeof t||"number"==typeof t||"string"==typeof t||"symbol"==typeof t||void 0===t},e.isBuffer=r(21);var T=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];function _(){var t=new Date,e=[E(t.getHours()),E(t.getMinutes()),E(t.getSeconds())].join(":");return[t.getDate(),T[t.getMonth()],e].join(" ")}function F(t,e){return Object.prototype.hasOwnProperty.call(t,e)}e.log=function(){console.log("%s - %s",_(),e.format.apply(e,arguments))},e.inherits=r(22),e._extend=function(t,e){if(!e||!b(e))return t;for(var r=Object.keys(e),i=r.length;i--;)t[r[i]]=e[r[i]];return t};var x="undefined"!=typeof Symbol?Symbol("util.promisify.custom"):void 0;function R(t,e){if(!t){var r=new Error("Promise was rejected with a falsy value");r.reason=t,t=r}return e(t)}e.promisify=function(t){if("function"!=typeof t)throw new TypeError('The "original" argument must be of type Function');if(x&&t[x]){var e;if("function"!=typeof(e=t[x]))throw new TypeError('The "util.promisify.custom" argument must be of type Function');return Object.defineProperty(e,x,{value:e,enumerable:!1,writable:!1,configurable:!0}),e}function e(){for(var e,r,i=new Promise((function(t,i){e=t,r=i})),a=[],n=0;n1)for(var r=1;r0&&a[a.length-1])||6!==n[0]&&2!==n[0])){o=0;continue}if(3===n[0]&&(!a||n[1]>a[0]&&n[1] Date: Tue, 28 Jun 2022 09:03:15 +0000 Subject: [PATCH 095/125] Merged PR 275402: New API setSdkInfo in service + version bump 2.21.1 sdkType tells us which SDK wrapper performs the actions, e.g: powerbi-client-react, powerbi-client-angular... To update it we should pass the type in the header 'x-sdk-type` which is populated in the service constructor. Therefore, each wrapper needs to pass the correct sdkType when initiating the service (see example: [Pull Request 274150](https://dev.azure.com/powerbi/Embedded/_git/powerbi-client-react/pullrequest/274150)). **What is the problem?** if user injects a new powerbi service to the wrapper and doesn't use the default service, the sdkType won't be populated. As a result, I created new API in the service, so we could update in each wrapper the sdk type after the service is created. In addition, create new header `x-sdk-wrapper-version`. --- dist/powerbi-client.d.ts | 11 ++++++++++- dist/powerbi.js | 22 +++++++++++++++++----- dist/powerbi.min.js | 6 +++--- package.json | 2 +- src/config.ts | 2 +- src/factories.ts | 5 +++-- src/service.ts | 15 ++++++++++++++- 7 files changed, 49 insertions(+), 14 deletions(-) diff --git a/dist/powerbi-client.d.ts b/dist/powerbi-client.d.ts index c63501b3..b91e640e 100644 --- a/dist/powerbi-client.d.ts +++ b/dist/powerbi-client.d.ts @@ -1,4 +1,4 @@ -// powerbi-client v2.21.0 +// powerbi-client v2.21.1 // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. declare module "config" { @@ -2057,6 +2057,7 @@ declare module "service" { onError?: (error: any) => any; version?: string; type?: string; + sdkWrapperVersion?: string; } export interface IService { hpm: HttpPostMessage; @@ -2254,6 +2255,14 @@ declare module "service" { * @param {HTMLElement} [element=undefined] */ preload(config: IComponentEmbedConfiguration | IEmbedConfigurationBase, element?: HTMLElement): HTMLIFrameElement; + /** + * Use this API to set SDK info + * + * @hidden + * @param {string} type + * @returns {void} + */ + setSdkInfo(type: string, version: string): void; } } declare module "bookmarksManager" { diff --git a/dist/powerbi.js b/dist/powerbi.js index 14346b37..304ea40b 100644 --- a/dist/powerbi.js +++ b/dist/powerbi.js @@ -1,4 +1,4 @@ -// powerbi-client v2.21.0 +// powerbi-client v2.21.1 // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. (function webpackUniversalModuleDefinition(root, factory) { @@ -8931,7 +8931,7 @@ exports.BookmarksManager = BookmarksManager; Object.defineProperty(exports, "__esModule", { value: true }); /** @ignore */ /** */ var config = { - version: '2.21.0', + version: '2.21.1', type: 'js' }; exports.default = config; @@ -10044,12 +10044,13 @@ var window_post_message_proxy_1 = __webpack_require__(/*! window-post-message-pr var http_post_message_1 = __webpack_require__(/*! http-post-message */ "./node_modules/http-post-message/dist/httpPostMessage.js"); var powerbi_router_1 = __webpack_require__(/*! powerbi-router */ "./node_modules/powerbi-router/dist/router.js"); var config_1 = __webpack_require__(/*! ./config */ "./src/config.ts"); -var hpmFactory = function (wpmp, defaultTargetWindow, sdkVersion, sdkType) { +var hpmFactory = function (wpmp, defaultTargetWindow, sdkVersion, sdkType, sdkWrapperVersion) { if (sdkVersion === void 0) { sdkVersion = config_1.default.version; } if (sdkType === void 0) { sdkType = config_1.default.type; } return new http_post_message_1.HttpPostMessage(wpmp, { 'x-sdk-type': sdkType, - 'x-sdk-version': sdkVersion + 'x-sdk-version': sdkVersion, + 'x-sdk-wrapper-version': sdkWrapperVersion, }, defaultTargetWindow); }; exports.hpmFactory = hpmFactory; @@ -12410,7 +12411,7 @@ var Service = /** @class */ (function () { if (config === void 0) { config = {}; } var _this = this; this.wpmp = wpmpFactory(config.wpmpName, config.logMessages); - this.hpm = hpmFactory(this.wpmp, null, config.version, config.type); + this.hpm = hpmFactory(this.wpmp, null, config.version, config.type, config.sdkWrapperVersion); this.router = routerFactory(this.wpmp); this.uniqueSessionId = utils.generateUUID(); /** @@ -12836,6 +12837,17 @@ var Service = /** @class */ (function () { }; return iframeContent; }; + /** + * Use this API to set SDK info + * + * @hidden + * @param {string} type + * @returns {void} + */ + Service.prototype.setSdkInfo = function (type, version) { + this.hpm.defaultHeaders['x-sdk-type'] = type; + this.hpm.defaultHeaders['x-sdk-wrapper-version'] = version; + }; /** * A list of components that this service can embed */ diff --git a/dist/powerbi.min.js b/dist/powerbi.min.js index 1585e477..d24eac5c 100644 --- a/dist/powerbi.min.js +++ b/dist/powerbi.min.js @@ -1,7 +1,7 @@ -// powerbi-client v2.21.0 +// powerbi-client v2.21.1 // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. -!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){var e={};function r(i){if(e[i])return e[i].exports;var a=e[i]={i:i,l:!1,exports:{}};return t[i].call(a.exports,a,a.exports,r),a.l=!0,a.exports}return r.m=t,r.c=e,r.d=function(t,e,i){r.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:i})},r.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},r.t=function(t,e){if(1&e&&(t=r(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var i=Object.create(null);if(r.r(i),Object.defineProperty(i,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var a in t)r.d(i,a,function(e){return t[e]}.bind(null,a));return i},r.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return r.d(e,"a",e),e},r.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},r.p="",r(r.s=13)}([function(t,e,r){var i;i=()=>{return t=[function(t,e,r){var i,a=this&&this.__extends||(i=function(t,e){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])})(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.PageSelector=e.Selector=e.SortDirection=e.LegendPosition=e.TextAlignment=e.CommonErrorCodes=e.BookmarksPlayMode=e.ExportDataType=e.QnaMode=e.PageNavigationPosition=e.isPercentOfGrandTotal=e.isColumnAggr=e.isHierarchyLevelAggr=e.isHierarchyLevel=e.isColumn=e.isMeasure=e.getFilterType=e.isBasicFilterWithKeys=e.isFilterKeyColumnsTarget=e.HierarchyFilter=e.AdvancedFilter=e.TupleFilter=e.IdentityFilter=e.BasicFilterWithKeys=e.BasicFilter=e.RelativeTimeFilter=e.RelativeDateFilter=e.TopNFilter=e.IncludeExcludeFilter=e.NotSupportedFilter=e.Filter=e.RelativeDateOperators=e.RelativeDateFilterTimeUnit=e.FilterType=e.FiltersLevel=e.FiltersOperations=e.MenuLocation=e.ContrastMode=e.TokenType=e.ViewMode=e.Permissions=e.SectionVisibility=e.ReportAlignment=e.HyperlinkClickBehavior=e.LayoutType=e.VisualContainerDisplayMode=e.BackgroundType=e.DisplayOption=e.PageSizeType=e.TraceType=void 0,e.validateZoomLevel=e.validateCustomTheme=e.validateCommandsSettings=e.validateVisualSettings=e.validateVisualHeader=e.validateExportDataRequest=e.validateQnaInterpretInputData=e.validateLoadQnaConfiguration=e.validateSaveAsParameters=e.validateUpdateFiltersRequest=e.validateFilter=e.validatePage=e.validateTileLoad=e.validateDashboardLoad=e.validateCreateReport=e.validatePaginatedReportLoad=e.validateReportLoad=e.validateMenuGroupExtension=e.validateExtension=e.validateCustomPageSize=e.validateVisualizationsPane=e.validateSyncSlicersPane=e.validateSelectionPane=e.validatePageNavigationPane=e.validateFieldsPane=e.validateFiltersPane=e.validateBookmarksPane=e.validatePanes=e.validateSettings=e.validateCaptureBookmarkRequest=e.validateApplyBookmarkStateRequest=e.validateApplyBookmarkByNameRequest=e.validateAddBookmarkRequest=e.validatePlayBookmarkRequest=e.validateSlicerState=e.validateSlicer=e.validateVisualSelector=e.isIExtensionArray=e.isIExtensions=e.isGroupedMenuExtension=e.isFlatMenuExtension=e.isReportFiltersArray=e.isOnLoadFilters=e.VisualDataRoleKindPreference=e.VisualDataRoleKind=e.CommandDisplayOption=e.SlicerTargetSelector=e.VisualTypeSelector=e.VisualSelector=void 0;var n,o=r(1);!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"}(e.TraceType||(e.TraceType={})),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",t[t.Mobile=5]="Mobile"}(e.PageSizeType||(e.PageSizeType={})),function(t){t[t.FitToPage=0]="FitToPage",t[t.FitToWidth=1]="FitToWidth",t[t.ActualSize=2]="ActualSize"}(e.DisplayOption||(e.DisplayOption={})),function(t){t[t.Default=0]="Default",t[t.Transparent=1]="Transparent"}(e.BackgroundType||(e.BackgroundType={})),function(t){t[t.Visible=0]="Visible",t[t.Hidden=1]="Hidden"}(e.VisualContainerDisplayMode||(e.VisualContainerDisplayMode={})),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={})),function(t){t[t.Navigate=0]="Navigate",t[t.NavigateAndRaiseEvent=1]="NavigateAndRaiseEvent",t[t.RaiseEvent=2]="RaiseEvent"}(e.HyperlinkClickBehavior||(e.HyperlinkClickBehavior={})),function(t){t[t.Left=0]="Left",t[t.Center=1]="Center",t[t.Right=2]="Right",t[t.None=3]="None"}(e.ReportAlignment||(e.ReportAlignment={})),function(t){t[t.AlwaysVisible=0]="AlwaysVisible",t[t.HiddenInViewMode=1]="HiddenInViewMode"}(e.SectionVisibility||(e.SectionVisibility={})),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"}(e.Permissions||(e.Permissions={})),function(t){t[t.View=0]="View",t[t.Edit=1]="Edit"}(e.ViewMode||(e.ViewMode={})),function(t){t[t.Aad=0]="Aad",t[t.Embed=1]="Embed"}(e.TokenType||(e.TokenType={})),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"}(e.ContrastMode||(e.ContrastMode={})),function(t){t[t.Bottom=0]="Bottom",t[t.Top=1]="Top"}(e.MenuLocation||(e.MenuLocation={})),function(t){t[t.RemoveAll=0]="RemoveAll",t[t.ReplaceAll=1]="ReplaceAll",t[t.Add=2]="Add",t[t.Replace=3]="Replace"}(e.FiltersOperations||(e.FiltersOperations={})),function(t){t[t.Report=0]="Report",t[t.Page=1]="Page",t[t.Visual=2]="Visual"}(e.FiltersLevel||(e.FiltersLevel={})),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",t[t.Identity=8]="Identity",t[t.Hierarchy=9]="Hierarchy"}(n=e.FilterType||(e.FilterType={})),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"}(e.RelativeDateFilterTimeUnit||(e.RelativeDateFilterTimeUnit={})),function(t){t[t.InLast=0]="InLast",t[t.InThis=1]="InThis",t[t.InNext=2]="InNext"}(e.RelativeDateOperators||(e.RelativeDateOperators={}));var l=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=l;var s=function(t){function e(r,i,a){var o=t.call(this,r,n.Unknown)||this;return o.message=i,o.notSupportedTypeName=a,o.schemaUrl=e.schemaUrl,o}return a(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}(l);e.NotSupportedFilter=s;var u=function(t){function e(r,i,a){var o=t.call(this,r,n.IncludeExclude)||this;return o.values=a,o.isExclude=i,o.schemaUrl=e.schemaUrl,o}return a(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}(l);e.IncludeExcludeFilter=u;var d=function(t){function e(r,i,a,o){var l=t.call(this,r,n.TopN)||this;return l.operator=i,l.itemCount=a,l.schemaUrl=e.schemaUrl,l.orderBy=o,l}return a(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}(l);e.TopNFilter=d;var c=function(t){function e(r,i,a,o,l){var s=t.call(this,r,n.RelativeDate)||this;return s.operator=i,s.timeUnitsCount=a,s.timeUnitType=o,s.includeToday=l,s.schemaUrl=e.schemaUrl,s}return a(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}(l);e.RelativeDateFilter=c;var p=function(t){function e(r,i,a,o){var l=t.call(this,r,n.RelativeTime)||this;return l.operator=i,l.timeUnitsCount=a,l.timeUnitType=o,l.schemaUrl=e.schemaUrl,l}return a(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}(l);e.RelativeTimeFilter=p;var f=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 ".concat(o," keys"));if(0===o&&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,s=n.keyValues;l2)throw new Error("AdvancedFilters may not have more than two conditions. You passed: ".concat(a.length));if(1===l.length&&"And"!==i)throw new Error('Logical Operator must be "And" when there is only one condition provided');return s.conditions=l,s}return a(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}(l);e.AdvancedFilter=m;var g=function(t){function e(r,i){var a=t.call(this,r,n.Hierarchy)||this;return a.schemaUrl=e.schemaUrl,a.hierarchyData=i,a}return a(e,t),e.prototype.toJSON=function(){var e=t.prototype.toJSON.call(this);return e.hierarchyData=this.hierarchyData,e.target=this.target,e},e.schemaUrl="http://powerbi.com/product/schema#hierarchy",e}(l);function V(t){if(t.filterType)return t.filterType;var e=t,r=t;return"string"==typeof e.operator&&Array.isArray(e.values)?n.Basic:"string"==typeof r.logicalOperator&&Array.isArray(r.conditions)?n.Advanced:n.Unknown}function b(t){return!(!t.table||!t.column||t.aggregationFunction)}e.HierarchyFilter=g,e.isFilterKeyColumnsTarget=function(t){return b(t)&&!!t.keys},e.isBasicFilterWithKeys=function(t){return V(t)===n.Basic&&!!t.keyValues},e.getFilterType=V,e.isMeasure=function(t){return void 0!==t.table&&void 0!==t.measure},e.isColumn=b,e.isHierarchyLevel=function(t){return!(!(t.table&&t.hierarchy&&t.hierarchyLevel)||t.aggregationFunction)},e.isHierarchyLevelAggr=function(t){return!!(t.table&&t.hierarchy&&t.hierarchyLevel&&t.aggregationFunction)},e.isColumnAggr=function(t){return!!(t.table&&t.column&&t.aggregationFunction)},e.isPercentOfGrandTotal=function(t){return!!t.percentOfGrandTotal},function(t){t[t.Bottom=0]="Bottom",t[t.Left=1]="Left"}(e.PageNavigationPosition||(e.PageNavigationPosition={})),function(t){t[t.Interactive=0]="Interactive",t[t.ResultOnly=1]="ResultOnly"}(e.QnaMode||(e.QnaMode={})),function(t){t[t.Summarized=0]="Summarized",t[t.Underlying=1]="Underlying"}(e.ExportDataType||(e.ExportDataType={})),function(t){t[t.Off=0]="Off",t[t.Presentation=1]="Presentation"}(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"},function(t){t[t.Ascending=1]="Ascending",t[t.Descending=2]="Descending"}(e.SortDirection||(e.SortDirection={}));var w=function(){function t(t){this.$schema=t}return t.prototype.toJSON=function(){return{$schema:this.$schema}},t}();e.Selector=w;var O=function(t){function e(r){var i=t.call(this,e.schemaUrl)||this;return i.pageName=r,i}return a(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}(w);e.PageSelector=O;var P=function(t){function e(r){var i=t.call(this,e.schemaUrl)||this;return i.visualName=r,i}return a(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}(w);e.VisualSelector=P;var S=function(t){function e(e){var r=t.call(this,P.schemaUrl)||this;return r.visualType=e,r}return a(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}(w);e.VisualTypeSelector=S;var E=function(t){function e(e){var r=t.call(this,P.schemaUrl)||this;return r.target=e,r}return a(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}(w);function T(t){return Array.isArray(t)}function _(t){return t&&!!t.groupName}function F(t){return Array.isArray(t)}function x(t){var e=t.message;return e||(e="".concat(t.path," is invalid. Not meeting ").concat(t.keyword," constraint")),{message:e}}e.SlicerTargetSelector=E,function(t){t[t.Enabled=0]="Enabled",t[t.Disabled=1]="Disabled",t[t.Hidden=2]="Hidden"}(e.CommandDisplayOption||(e.CommandDisplayOption={})),function(t){t[t.Grouping=0]="Grouping",t[t.Measure=1]="Measure",t[t.GroupingOrMeasure=2]="GroupingOrMeasure"}(e.VisualDataRoleKind||(e.VisualDataRoleKind={})),function(t){t[t.Measure=0]="Measure",t[t.Grouping=1]="Grouping"}(e.VisualDataRoleKindPreference||(e.VisualDataRoleKindPreference={})),e.isOnLoadFilters=function(t){return t&&!T(t)},e.isReportFiltersArray=T,e.isFlatMenuExtension=function(t){return t&&!_(t)},e.isGroupedMenuExtension=_,e.isIExtensions=function(t){return t&&!F(t)},e.isIExtensionArray=F,e.validateVisualSelector=function(t){var e=o.Validators.visualSelectorValidator.validate(t);return e?e.map(x):void 0},e.validateSlicer=function(t){var e=o.Validators.slicerValidator.validate(t);return e?e.map(x):void 0},e.validateSlicerState=function(t){var e=o.Validators.slicerStateValidator.validate(t);return e?e.map(x):void 0},e.validatePlayBookmarkRequest=function(t){var e=o.Validators.playBookmarkRequestValidator.validate(t);return e?e.map(x):void 0},e.validateAddBookmarkRequest=function(t){var e=o.Validators.addBookmarkRequestValidator.validate(t);return e?e.map(x):void 0},e.validateApplyBookmarkByNameRequest=function(t){var e=o.Validators.applyBookmarkByNameRequestValidator.validate(t);return e?e.map(x):void 0},e.validateApplyBookmarkStateRequest=function(t){var e=o.Validators.applyBookmarkStateRequestValidator.validate(t);return e?e.map(x):void 0},e.validateCaptureBookmarkRequest=function(t){var e=o.Validators.captureBookmarkRequestValidator.validate(t);return e?e.map(x):void 0},e.validateSettings=function(t){var e=o.Validators.settingsValidator.validate(t);return e?e.map(x):void 0},e.validatePanes=function(t){var e=o.Validators.reportPanesValidator.validate(t);return e?e.map(x):void 0},e.validateBookmarksPane=function(t){var e=o.Validators.bookmarksPaneValidator.validate(t);return e?e.map(x):void 0},e.validateFiltersPane=function(t){var e=o.Validators.filtersPaneValidator.validate(t);return e?e.map(x):void 0},e.validateFieldsPane=function(t){var e=o.Validators.fieldsPaneValidator.validate(t);return e?e.map(x):void 0},e.validatePageNavigationPane=function(t){var e=o.Validators.pageNavigationPaneValidator.validate(t);return e?e.map(x):void 0},e.validateSelectionPane=function(t){var e=o.Validators.selectionPaneValidator.validate(t);return e?e.map(x):void 0},e.validateSyncSlicersPane=function(t){var e=o.Validators.syncSlicersPaneValidator.validate(t);return e?e.map(x):void 0},e.validateVisualizationsPane=function(t){var e=o.Validators.visualizationsPaneValidator.validate(t);return e?e.map(x):void 0},e.validateCustomPageSize=function(t){var e=o.Validators.customPageSizeValidator.validate(t);return e?e.map(x):void 0},e.validateExtension=function(t){var e=o.Validators.extensionValidator.validate(t);return e?e.map(x):void 0},e.validateMenuGroupExtension=function(t){var e=o.Validators.menuGroupExtensionValidator.validate(t);return e?e.map(x):void 0},e.validateReportLoad=function(t){var e=o.Validators.reportLoadValidator.validate(t);return e?e.map(x):void 0},e.validatePaginatedReportLoad=function(t){var e=o.Validators.paginatedReportLoadValidator.validate(t);return e?e.map(x):void 0},e.validateCreateReport=function(t){var e=o.Validators.reportCreateValidator.validate(t);return e?e.map(x):void 0},e.validateDashboardLoad=function(t){var e=o.Validators.dashboardLoadValidator.validate(t);return e?e.map(x):void 0},e.validateTileLoad=function(t){var e=o.Validators.tileLoadValidator.validate(t);return e?e.map(x):void 0},e.validatePage=function(t){var e=o.Validators.pageValidator.validate(t);return e?e.map(x):void 0},e.validateFilter=function(t){var e=o.Validators.filterValidator.validate(t);return e?e.map(x):void 0},e.validateUpdateFiltersRequest=function(t){var e=o.Validators.updateFiltersRequestValidator.validate(t);return e?e.map(x):void 0},e.validateSaveAsParameters=function(t){var e=o.Validators.saveAsParametersValidator.validate(t);return e?e.map(x):void 0},e.validateLoadQnaConfiguration=function(t){var e=o.Validators.loadQnaValidator.validate(t);return e?e.map(x):void 0},e.validateQnaInterpretInputData=function(t){var e=o.Validators.qnaInterpretInputDataValidator.validate(t);return e?e.map(x):void 0},e.validateExportDataRequest=function(t){var e=o.Validators.exportDataRequestValidator.validate(t);return e?e.map(x):void 0},e.validateVisualHeader=function(t){var e=o.Validators.visualHeaderValidator.validate(t);return e?e.map(x):void 0},e.validateVisualSettings=function(t){var e=o.Validators.visualSettingsValidator.validate(t);return e?e.map(x):void 0},e.validateCommandsSettings=function(t){var e=o.Validators.commandsSettingsValidator.validate(t);return e?e.map(x):void 0},e.validateCustomTheme=function(t){var e=o.Validators.customThemeValidator.validate(t);return e?e.map(x):void 0},e.validateZoomLevel=function(t){var e=o.Validators.zoomLevelValidator.validate(t);return e?e.map(x):void 0}},(t,e,r)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.Validators=void 0;var i=r(2),a=r(5),n=r(6),o=r(7),l=r(8),s=r(9),u=r(10),d=r(11),c=r(12),p=r(13),f=r(14),h=r(15),v=r(16),y=r(17),m=r(18),g=r(19),V=r(20),b=r(21),w=r(22),O=r(23),P=r(24),S=r(25),E=r(26),T=r(27),_=r(28),F=r(29),x=r(4),R=r(30);e.Validators={addBookmarkRequestValidator:new a.AddBookmarkRequestValidator,advancedFilterTypeValidator:new x.EnumValidator([0]),advancedFilterValidator:new c.AdvancedFilterValidator,anyArrayValidator:new x.ArrayValidator([new E.AnyOfValidator([new x.StringValidator,new x.NumberValidator,new x.BooleanValidator])]),anyFilterValidator:new E.AnyOfValidator([new c.BasicFilterValidator,new c.AdvancedFilterValidator,new c.IncludeExcludeFilterValidator,new c.NotSupportedFilterValidator,new c.RelativeDateFilterValidator,new c.TopNFilterValidator,new c.RelativeTimeFilterValidator,new c.HierarchyFilterValidator]),anyValueValidator:new E.AnyOfValidator([new x.StringValidator,new x.NumberValidator,new x.BooleanValidator]),actionBarValidator:new i.ActionBarValidator,applyBookmarkByNameRequestValidator:new a.ApplyBookmarkByNameRequestValidator,applyBookmarkStateRequestValidator:new a.ApplyBookmarkStateRequestValidator,applyBookmarkValidator:new E.AnyOfValidator([new a.ApplyBookmarkByNameRequestValidator,new a.ApplyBookmarkStateRequestValidator]),backgroundValidator:new x.EnumValidator([0,1]),basicFilterTypeValidator:new x.EnumValidator([1]),basicFilterValidator:new c.BasicFilterValidator,booleanArrayValidator:new x.BooleanArrayValidator,booleanValidator:new x.BooleanValidator,bookmarksPaneValidator:new h.BookmarksPaneValidator,captureBookmarkOptionsValidator:new a.CaptureBookmarkOptionsValidator,captureBookmarkRequestValidator:new a.CaptureBookmarkRequestValidator,commandDisplayOptionValidator:new x.EnumValidator([0,1,2]),commandExtensionSelectorValidator:new E.AnyOfValidator([new b.VisualSelectorValidator,new b.VisualTypeSelectorValidator]),commandExtensionArrayValidator:new x.ArrayValidator([new d.CommandExtensionValidator]),commandExtensionValidator:new d.CommandExtensionValidator,commandsSettingsArrayValidator:new x.ArrayValidator([new n.CommandsSettingsValidator]),commandsSettingsValidator:new n.CommandsSettingsValidator,conditionItemValidator:new c.ConditionItemValidator,contrastModeValidator:new x.EnumValidator([0,1,2,3,4]),customLayoutDisplayOptionValidator:new x.EnumValidator([0,1,2]),customLayoutValidator:new p.CustomLayoutValidator,customPageSizeValidator:new f.CustomPageSizeValidator,customThemeValidator:new o.CustomThemeValidator,dashboardLoadValidator:new l.DashboardLoadValidator,datasetBindingValidator:new s.DatasetBindingValidator,displayStateModeValidator:new x.EnumValidator([0,1]),displayStateValidator:new p.DisplayStateValidator,exportDataRequestValidator:new u.ExportDataRequestValidator,extensionArrayValidator:new x.ArrayValidator([new d.ExtensionValidator]),extensionsValidator:new E.AnyOfValidator([new x.ArrayValidator([new d.ExtensionValidator]),new d.ExtensionsValidator]),extensionPointsValidator:new d.ExtensionPointsValidator,extensionValidator:new d.ExtensionValidator,fieldForbiddenValidator:new T.FieldForbiddenValidator,fieldRequiredValidator:new _.FieldRequiredValidator,fieldsPaneValidator:new h.FieldsPaneValidator,filterColumnTargetValidator:new c.FilterColumnTargetValidator,filterDisplaySettingsValidator:new c.FilterDisplaySettingsValidator,filterConditionsValidator:new x.ArrayValidator([new c.ConditionItemValidator]),filterHierarchyTargetValidator:new c.FilterHierarchyTargetValidator,filterMeasureTargetValidator:new c.FilterMeasureTargetValidator,filterTargetValidator:new E.AnyOfValidator([new c.FilterColumnTargetValidator,new c.FilterHierarchyTargetValidator,new c.FilterMeasureTargetValidator,new x.ArrayValidator([new E.AnyOfValidator([new c.FilterColumnTargetValidator,new c.FilterHierarchyTargetValidator,new c.FilterMeasureTargetValidator,new c.FilterKeyColumnsTargetValidator,new c.FilterKeyHierarchyTargetValidator])])]),filterValidator:new c.FilterValidator,filterTypeValidator:new x.EnumValidator([0,1,2,3,4,5,6,7,9]),filtersArrayValidator:new x.ArrayValidator([new c.FilterValidator]),filtersOperationsUpdateValidator:new x.EnumValidator([1,2,3]),filtersOperationsRemoveAllValidator:new x.EnumValidator([0]),filtersPaneValidator:new h.FiltersPaneValidator,hyperlinkClickBehaviorValidator:new x.EnumValidator([0,1,2]),includeExcludeFilterValidator:new c.IncludeExcludeFilterValidator,includeExludeFilterTypeValidator:new x.EnumValidator([3]),hierarchyFilterTypeValidator:new x.EnumValidator([9]),hierarchyFilterValuesValidator:new x.ArrayValidator([new c.HierarchyFilterNodeValidator]),layoutTypeValidator:new x.EnumValidator([0,1,2,3]),loadQnaValidator:new v.LoadQnaValidator,menuExtensionValidator:new E.AnyOfValidator([new d.FlatMenuExtensionValidator,new d.GroupedMenuExtensionValidator]),menuGroupExtensionArrayValidator:new x.ArrayValidator([new d.MenuGroupExtensionValidator]),menuGroupExtensionValidator:new d.MenuGroupExtensionValidator,menuLocationValidator:new x.EnumValidator([0,1]),notSupportedFilterTypeValidator:new x.EnumValidator([2]),notSupportedFilterValidator:new c.NotSupportedFilterValidator,numberArrayValidator:new x.NumberArrayValidator,numberValidator:new x.NumberValidator,onLoadFiltersBaseValidator:new E.AnyOfValidator([new c.OnLoadFiltersBaseValidator,new c.OnLoadFiltersBaseRemoveOperationValidator]),pageLayoutValidator:new F.MapValidator([new x.StringValidator],[new p.VisualLayoutValidator]),pageNavigationPaneValidator:new h.PageNavigationPaneValidator,pageNavigationPositionValidator:new x.EnumValidator([0,1]),pageSizeTypeValidator:new x.EnumValidator([0,1,2,3,4,5]),pageSizeValidator:new f.PageSizeValidator,pageValidator:new f.PageValidator,pageViewFieldValidator:new f.PageViewFieldValidator,pagesLayoutValidator:new F.MapValidator([new x.StringValidator],[new p.PageLayoutValidator]),paginatedReportCommandsValidator:new n.PaginatedReportCommandsValidator,paginatedReportLoadValidator:new g.PaginatedReportLoadValidator,paginatedReportsettingsValidator:new w.PaginatedReportSettingsValidator,parameterValuesArrayValidator:new x.ArrayValidator([new g.ReportParameterFieldsValidator]),parametersPanelValidator:new R.ParametersPanelValidator,permissionsValidator:new x.EnumValidator([0,1,2,4,7]),playBookmarkRequestValidator:new a.PlayBookmarkRequestValidator,qnaInterpretInputDataValidator:new v.QnaInterpretInputDataValidator,qnaPanesValidator:new h.QnaPanesValidator,qnaSettingValidator:new v.QnaSettingsValidator,relativeDateFilterOperatorValidator:new x.EnumValidator([0,1,2]),relativeDateFilterTimeUnitTypeValidator:new x.EnumValidator([0,1,2,3,4,5,6]),relativeDateFilterTypeValidator:new x.EnumValidator([4]),relativeDateFilterValidator:new c.RelativeDateFilterValidator,relativeDateTimeFilterTypeValidator:new x.EnumValidator([4,7]),relativeDateTimeFilterUnitTypeValidator:new x.EnumValidator([0,1,2,3,4,5,6,7,8]),relativeTimeFilterTimeUnitTypeValidator:new x.EnumValidator([7,8]),relativeTimeFilterTypeValidator:new x.EnumValidator([7]),relativeTimeFilterValidator:new c.RelativeTimeFilterValidator,reportBarsValidator:new i.ReportBarsValidator,reportCreateValidator:new y.ReportCreateValidator,reportLoadFiltersValidator:new E.AnyOfValidator([new x.ArrayValidator([new c.FilterValidator]),new c.OnLoadFiltersValidator]),reportLoadValidator:new m.ReportLoadValidator,reportPanesValidator:new h.ReportPanesValidator,saveAsParametersValidator:new V.SaveAsParametersValidator,selectionPaneValidator:new h.SelectionPaneValidator,settingsValidator:new w.SettingsValidator,singleCommandSettingsValidator:new n.SingleCommandSettingsValidator,slicerSelectorValidator:new E.AnyOfValidator([new b.VisualSelectorValidator,new b.SlicerTargetSelectorValidator]),slicerStateValidator:new O.SlicerStateValidator,slicerTargetValidator:new E.AnyOfValidator([new c.FilterColumnTargetValidator,new c.FilterHierarchyTargetValidator,new c.FilterMeasureTargetValidator,new c.FilterKeyColumnsTargetValidator,new c.FilterKeyHierarchyTargetValidator]),slicerValidator:new O.SlicerValidator,stringArrayValidator:new x.StringArrayValidator,stringValidator:new x.StringValidator,syncSlicersPaneValidator:new h.SyncSlicersPaneValidator,tileLoadValidator:new P.TileLoadValidator,tokenTypeValidator:new x.EnumValidator([0,1]),topNFilterTypeValidator:new x.EnumValidator([5]),topNFilterValidator:new c.TopNFilterValidator,updateFiltersRequestValidator:new E.AnyOfValidator([new c.UpdateFiltersRequestValidator,new c.RemoveFiltersRequestValidator]),viewModeValidator:new x.EnumValidator([0,1]),visualCommandSelectorValidator:new E.AnyOfValidator([new b.VisualSelectorValidator,new b.VisualTypeSelectorValidator]),visualHeaderSelectorValidator:new E.AnyOfValidator([new b.VisualSelectorValidator,new b.VisualTypeSelectorValidator]),visualHeaderSettingsValidator:new S.VisualHeaderSettingsValidator,visualHeaderValidator:new S.VisualHeaderValidator,visualHeadersValidator:new x.ArrayValidator([new S.VisualHeaderValidator]),visualizationsPaneValidator:new h.VisualizationsPaneValidator,visualLayoutValidator:new p.VisualLayoutValidator,visualSelectorValidator:new b.VisualSelectorValidator,visualSettingsValidator:new S.VisualSettingsValidator,visualTypeSelectorValidator:new b.VisualTypeSelectorValidator,zoomLevelValidator:new x.RangeValidator(.25,4)}},function(t,e,r){var i,a=this&&this.__extends||(i=function(t,e){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])})(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.ActionBarValidator=e.ReportBarsValidator=void 0;var n=r(3),o=r(4),l=r(1),s=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return a(e,t),e.prototype.validate=function(e,r,i){if(null==e)return null;var a=t.prototype.validate.call(this,e,r,i);if(a)return a;var o=[{field:"actionBar",validators:[l.Validators.actionBarValidator]}];return new n.MultipleFieldsValidator(o).validate(e,r,i)},e}(o.ObjectValidator);e.ReportBarsValidator=s;var u=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return a(e,t),e.prototype.validate=function(e,r,i){if(null==e)return null;var a=t.prototype.validate.call(this,e,r,i);if(a)return a;var o=[{field:"visible",validators:[l.Validators.booleanValidator]}];return new n.MultipleFieldsValidator(o).validate(e,r,i)},e}(o.ObjectValidator);e.ActionBarValidator=u},(t,e)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.MultipleFieldsValidator=void 0;var r=function(){function t(t){this.fieldValidatorsPairs=t}return t.prototype.validate=function(t,e,r){if(!this.fieldValidatorsPairs)return null;for(var i=e?e+"."+r:r,a=0,n=this.fieldValidatorsPairs;athis.maxValue||e{Object.defineProperty(e,"__esModule",{value:!0}),e.AnyOfValidator=void 0;var r=function(){function t(t){this.validators=t}return t.prototype.validate=function(t,e,r){if(null==t)return null;for(var i=!1,a=0,n=this.validators;a{Object.defineProperty(e,"__esModule",{value:!0}),e.FieldForbiddenValidator=void 0;var r=function(){function t(){}return t.prototype.validate=function(t,e,r){return void 0!==t?[{message:r+" is forbidden",path:(e?e+".":"")+r,keyword:"forbidden"}]:null},t}();e.FieldForbiddenValidator=r},(t,e)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.FieldRequiredValidator=void 0;var r=function(){function t(){}return t.prototype.validate=function(t,e,r){return null==t?[{message:r+" is required",path:(e?e+".":"")+r,keyword:"required"}]:null},t}();e.FieldRequiredValidator=r},function(t,e,r){var i,a=this&&this.__extends||(i=function(t,e){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])})(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.MapValidator=void 0;var n=function(t){function e(e,r){var i=t.call(this)||this;return i.keyValidators=e,i.valueValidators=r,i}return a(e,t),e.prototype.validate=function(e,r,i){if(null==e)return null;var a=t.prototype.validate.call(this,e,r,i);if(a)return a;for(var n in e)if(e.hasOwnProperty(n)){for(var o=(r?r+".":"")+i+"."+n,l=0,s=this.keyValidators;l0&&a[a.length-1])||6!==n[0]&&2!==n[0])){o=0;continue}if(3===n[0]&&(!a||n[1]>a[0]&&n[1]0&&a[a.length-1])||6!==n[0]&&2!==n[0])){o=0;continue}if(3===n[0]&&(!a||n[1]>a[0]&&n[1]0?"&":"?";return t+=i+e+"="+r},e.isSavedInternal=function(t,e,a){return r(this,void 0,void 0,(function(){return i(this,(function(r){switch(r.label){case 0:return r.trys.push([0,2,,3]),[4,t.get("/report/hasUnsavedChanges",{uid:e},a)];case 1:return[2,!r.sent().body];case 2:throw r.sent().body;case 3:return[2]}}))}))},e.isRDLEmbed=function(t){return t&&t.toLowerCase().indexOf("/rdlembed?")>=0},e.autoAuthInEmbedUrl=function(t){return t&&decodeURIComponent(t).toLowerCase().indexOf("autoauth=true")>=0},e.getRandomValue=n,e.getTimeDiffInMilliseconds=function(t,e){return Math.abs(t.getTime()-e.getTime())}},function(t,e){Object.defineProperty(e,"__esModule",{value:!0}),e.FilterBuilder=void 0;var r=function(){function t(){}return t.prototype.withTargetObject=function(t){return this.target=t,this},t.prototype.withColumnTarget=function(t,e){return this.target={table:t,column:e},this},t.prototype.withMeasureTarget=function(t,e){return this.target={table:t,measure:e},this},t.prototype.withHierarchyLevelTarget=function(t,e,r){return this.target={table:t,hierarchy:e,hierarchyLevel:r},this},t.prototype.withColumnAggregation=function(t,e,r){return this.target={table:t,column:e,aggregationFunction:r},this},t.prototype.withHierarchyLevelAggregationTarget=function(t,e,r,i){return this.target={table:t,hierarchy:e,hierarchyLevel:r,aggregationFunction:i},this},t}();e.FilterBuilder=r},function(t,e){Object.defineProperty(e,"__esModule",{value:!0}),e.EmbedUrlNotSupported=e.APINotSupportedForRDLError=void 0,e.APINotSupportedForRDLError="This API is currently not supported for RDL reports",e.EmbedUrlNotSupported="Embed URL is invalid for this scenario. Please use Power BI REST APIs to get the valid URL"},function(t,e){Object.defineProperty(e,"__esModule",{value:!0});e.default={version:"2.21.0",type:"js"}},function(t,e,r){var i,a=this&&this.__extends||(i=function(t,e){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])})(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}),n=this&&this.__awaiter||function(t,e,r,i){return new(r||(r=Promise))((function(a,n){function o(t){try{s(i.next(t))}catch(t){n(t)}}function l(t){try{s(i.throw(t))}catch(t){n(t)}}function s(t){var e;t.done?a(t.value):(e=t.value,e instanceof r?e:new r((function(t){t(e)}))).then(o,l)}s((i=i.apply(t,e||[])).next())}))},o=this&&this.__generator||function(t,e){var r,i,a,n,o={label:0,sent:function(){if(1&a[0])throw a[1];return a[1]},trys:[],ops:[]};return n={next:l(0),throw:l(1),return:l(2)},"function"==typeof Symbol&&(n[Symbol.iterator]=function(){return this}),n;function l(n){return function(l){return function(n){if(r)throw new TypeError("Generator is already executing.");for(;o;)try{if(r=1,i&&(a=2&n[0]?i.return:n[0]?i.throw||((a=i.return)&&a.call(i),0):i.next)&&!(a=a.call(i,n[1])).done)return a;switch(i=0,a&&(n=[2&n[0],a.value]),n[0]){case 0:case 1:a=n;break;case 4:return o.label++,{value:n[1],done:!1};case 5:o.label++,i=n[1],n=[0];continue;case 7:n=o.ops.pop(),o.trys.pop();continue;default:if(!(a=o.trys,(a=a.length>0&&a[a.length-1])||6!==n[0]&&2!==n[0])){o=0;continue}if(3===n[0]&&(!a||n[1]>a[0]&&n[1]0&&a[a.length-1])||6!==n[0]&&2!==n[0])){o=0;continue}if(3===n[0]&&(!a||n[1]>a[0]&&n[1]0&&a[a.length-1])||6!==n[0]&&2!==n[0])){o=0;continue}if(3===n[0]&&(!a||n[1]>a[0]&&n[1]0&&a[a.length-1])||6!==n[0]&&2!==n[0])){o=0;continue}if(3===n[0]&&(!a||n[1]>a[0]&&n[1]0&&a[a.length-1])||6!==n[0]&&2!==n[0])){o=0;continue}if(3===n[0]&&(!a||n[1]>a[0]&&n[1]0&&a[a.length-1])||6!==n[0]&&2!==n[0])){o=0;continue}if(3===n[0]&&(!a||n[1]>a[0]&&n[1]0&&a[a.length-1])||6!==n[0]&&2!==n[0])){o=0;continue}if(3===n[0]&&(!a||n[1]>a[0]&&n[1]{return t=[function(t,e,r){var i,a=this&&this.__extends||(i=function(t,e){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])})(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.PageSelector=e.Selector=e.SortDirection=e.LegendPosition=e.TextAlignment=e.CommonErrorCodes=e.BookmarksPlayMode=e.ExportDataType=e.QnaMode=e.PageNavigationPosition=e.isPercentOfGrandTotal=e.isColumnAggr=e.isHierarchyLevelAggr=e.isHierarchyLevel=e.isColumn=e.isMeasure=e.getFilterType=e.isBasicFilterWithKeys=e.isFilterKeyColumnsTarget=e.HierarchyFilter=e.AdvancedFilter=e.TupleFilter=e.IdentityFilter=e.BasicFilterWithKeys=e.BasicFilter=e.RelativeTimeFilter=e.RelativeDateFilter=e.TopNFilter=e.IncludeExcludeFilter=e.NotSupportedFilter=e.Filter=e.RelativeDateOperators=e.RelativeDateFilterTimeUnit=e.FilterType=e.FiltersLevel=e.FiltersOperations=e.MenuLocation=e.ContrastMode=e.TokenType=e.ViewMode=e.Permissions=e.SectionVisibility=e.ReportAlignment=e.HyperlinkClickBehavior=e.LayoutType=e.VisualContainerDisplayMode=e.BackgroundType=e.DisplayOption=e.PageSizeType=e.TraceType=void 0,e.validateZoomLevel=e.validateCustomTheme=e.validateCommandsSettings=e.validateVisualSettings=e.validateVisualHeader=e.validateExportDataRequest=e.validateQnaInterpretInputData=e.validateLoadQnaConfiguration=e.validateSaveAsParameters=e.validateUpdateFiltersRequest=e.validateFilter=e.validatePage=e.validateTileLoad=e.validateDashboardLoad=e.validateCreateReport=e.validatePaginatedReportLoad=e.validateReportLoad=e.validateMenuGroupExtension=e.validateExtension=e.validateCustomPageSize=e.validateVisualizationsPane=e.validateSyncSlicersPane=e.validateSelectionPane=e.validatePageNavigationPane=e.validateFieldsPane=e.validateFiltersPane=e.validateBookmarksPane=e.validatePanes=e.validateSettings=e.validateCaptureBookmarkRequest=e.validateApplyBookmarkStateRequest=e.validateApplyBookmarkByNameRequest=e.validateAddBookmarkRequest=e.validatePlayBookmarkRequest=e.validateSlicerState=e.validateSlicer=e.validateVisualSelector=e.isIExtensionArray=e.isIExtensions=e.isGroupedMenuExtension=e.isFlatMenuExtension=e.isReportFiltersArray=e.isOnLoadFilters=e.VisualDataRoleKindPreference=e.VisualDataRoleKind=e.CommandDisplayOption=e.SlicerTargetSelector=e.VisualTypeSelector=e.VisualSelector=void 0;var n,o=r(1);!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"}(e.TraceType||(e.TraceType={})),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",t[t.Mobile=5]="Mobile"}(e.PageSizeType||(e.PageSizeType={})),function(t){t[t.FitToPage=0]="FitToPage",t[t.FitToWidth=1]="FitToWidth",t[t.ActualSize=2]="ActualSize"}(e.DisplayOption||(e.DisplayOption={})),function(t){t[t.Default=0]="Default",t[t.Transparent=1]="Transparent"}(e.BackgroundType||(e.BackgroundType={})),function(t){t[t.Visible=0]="Visible",t[t.Hidden=1]="Hidden"}(e.VisualContainerDisplayMode||(e.VisualContainerDisplayMode={})),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={})),function(t){t[t.Navigate=0]="Navigate",t[t.NavigateAndRaiseEvent=1]="NavigateAndRaiseEvent",t[t.RaiseEvent=2]="RaiseEvent"}(e.HyperlinkClickBehavior||(e.HyperlinkClickBehavior={})),function(t){t[t.Left=0]="Left",t[t.Center=1]="Center",t[t.Right=2]="Right",t[t.None=3]="None"}(e.ReportAlignment||(e.ReportAlignment={})),function(t){t[t.AlwaysVisible=0]="AlwaysVisible",t[t.HiddenInViewMode=1]="HiddenInViewMode"}(e.SectionVisibility||(e.SectionVisibility={})),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"}(e.Permissions||(e.Permissions={})),function(t){t[t.View=0]="View",t[t.Edit=1]="Edit"}(e.ViewMode||(e.ViewMode={})),function(t){t[t.Aad=0]="Aad",t[t.Embed=1]="Embed"}(e.TokenType||(e.TokenType={})),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"}(e.ContrastMode||(e.ContrastMode={})),function(t){t[t.Bottom=0]="Bottom",t[t.Top=1]="Top"}(e.MenuLocation||(e.MenuLocation={})),function(t){t[t.RemoveAll=0]="RemoveAll",t[t.ReplaceAll=1]="ReplaceAll",t[t.Add=2]="Add",t[t.Replace=3]="Replace"}(e.FiltersOperations||(e.FiltersOperations={})),function(t){t[t.Report=0]="Report",t[t.Page=1]="Page",t[t.Visual=2]="Visual"}(e.FiltersLevel||(e.FiltersLevel={})),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",t[t.Identity=8]="Identity",t[t.Hierarchy=9]="Hierarchy"}(n=e.FilterType||(e.FilterType={})),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"}(e.RelativeDateFilterTimeUnit||(e.RelativeDateFilterTimeUnit={})),function(t){t[t.InLast=0]="InLast",t[t.InThis=1]="InThis",t[t.InNext=2]="InNext"}(e.RelativeDateOperators||(e.RelativeDateOperators={}));var l=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=l;var s=function(t){function e(r,i,a){var o=t.call(this,r,n.Unknown)||this;return o.message=i,o.notSupportedTypeName=a,o.schemaUrl=e.schemaUrl,o}return a(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}(l);e.NotSupportedFilter=s;var u=function(t){function e(r,i,a){var o=t.call(this,r,n.IncludeExclude)||this;return o.values=a,o.isExclude=i,o.schemaUrl=e.schemaUrl,o}return a(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}(l);e.IncludeExcludeFilter=u;var d=function(t){function e(r,i,a,o){var l=t.call(this,r,n.TopN)||this;return l.operator=i,l.itemCount=a,l.schemaUrl=e.schemaUrl,l.orderBy=o,l}return a(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}(l);e.TopNFilter=d;var c=function(t){function e(r,i,a,o,l){var s=t.call(this,r,n.RelativeDate)||this;return s.operator=i,s.timeUnitsCount=a,s.timeUnitType=o,s.includeToday=l,s.schemaUrl=e.schemaUrl,s}return a(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}(l);e.RelativeDateFilter=c;var p=function(t){function e(r,i,a,o){var l=t.call(this,r,n.RelativeTime)||this;return l.operator=i,l.timeUnitsCount=a,l.timeUnitType=o,l.schemaUrl=e.schemaUrl,l}return a(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}(l);e.RelativeTimeFilter=p;var f=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 ".concat(o," keys"));if(0===o&&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,s=n.keyValues;l2)throw new Error("AdvancedFilters may not have more than two conditions. You passed: ".concat(a.length));if(1===l.length&&"And"!==i)throw new Error('Logical Operator must be "And" when there is only one condition provided');return s.conditions=l,s}return a(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}(l);e.AdvancedFilter=m;var g=function(t){function e(r,i){var a=t.call(this,r,n.Hierarchy)||this;return a.schemaUrl=e.schemaUrl,a.hierarchyData=i,a}return a(e,t),e.prototype.toJSON=function(){var e=t.prototype.toJSON.call(this);return e.hierarchyData=this.hierarchyData,e.target=this.target,e},e.schemaUrl="http://powerbi.com/product/schema#hierarchy",e}(l);function V(t){if(t.filterType)return t.filterType;var e=t,r=t;return"string"==typeof e.operator&&Array.isArray(e.values)?n.Basic:"string"==typeof r.logicalOperator&&Array.isArray(r.conditions)?n.Advanced:n.Unknown}function b(t){return!(!t.table||!t.column||t.aggregationFunction)}e.HierarchyFilter=g,e.isFilterKeyColumnsTarget=function(t){return b(t)&&!!t.keys},e.isBasicFilterWithKeys=function(t){return V(t)===n.Basic&&!!t.keyValues},e.getFilterType=V,e.isMeasure=function(t){return void 0!==t.table&&void 0!==t.measure},e.isColumn=b,e.isHierarchyLevel=function(t){return!(!(t.table&&t.hierarchy&&t.hierarchyLevel)||t.aggregationFunction)},e.isHierarchyLevelAggr=function(t){return!!(t.table&&t.hierarchy&&t.hierarchyLevel&&t.aggregationFunction)},e.isColumnAggr=function(t){return!!(t.table&&t.column&&t.aggregationFunction)},e.isPercentOfGrandTotal=function(t){return!!t.percentOfGrandTotal},function(t){t[t.Bottom=0]="Bottom",t[t.Left=1]="Left"}(e.PageNavigationPosition||(e.PageNavigationPosition={})),function(t){t[t.Interactive=0]="Interactive",t[t.ResultOnly=1]="ResultOnly"}(e.QnaMode||(e.QnaMode={})),function(t){t[t.Summarized=0]="Summarized",t[t.Underlying=1]="Underlying"}(e.ExportDataType||(e.ExportDataType={})),function(t){t[t.Off=0]="Off",t[t.Presentation=1]="Presentation"}(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"},function(t){t[t.Ascending=1]="Ascending",t[t.Descending=2]="Descending"}(e.SortDirection||(e.SortDirection={}));var w=function(){function t(t){this.$schema=t}return t.prototype.toJSON=function(){return{$schema:this.$schema}},t}();e.Selector=w;var O=function(t){function e(r){var i=t.call(this,e.schemaUrl)||this;return i.pageName=r,i}return a(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}(w);e.PageSelector=O;var P=function(t){function e(r){var i=t.call(this,e.schemaUrl)||this;return i.visualName=r,i}return a(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}(w);e.VisualSelector=P;var S=function(t){function e(e){var r=t.call(this,P.schemaUrl)||this;return r.visualType=e,r}return a(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}(w);e.VisualTypeSelector=S;var E=function(t){function e(e){var r=t.call(this,P.schemaUrl)||this;return r.target=e,r}return a(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}(w);function T(t){return Array.isArray(t)}function _(t){return t&&!!t.groupName}function F(t){return Array.isArray(t)}function x(t){var e=t.message;return e||(e="".concat(t.path," is invalid. Not meeting ").concat(t.keyword," constraint")),{message:e}}e.SlicerTargetSelector=E,function(t){t[t.Enabled=0]="Enabled",t[t.Disabled=1]="Disabled",t[t.Hidden=2]="Hidden"}(e.CommandDisplayOption||(e.CommandDisplayOption={})),function(t){t[t.Grouping=0]="Grouping",t[t.Measure=1]="Measure",t[t.GroupingOrMeasure=2]="GroupingOrMeasure"}(e.VisualDataRoleKind||(e.VisualDataRoleKind={})),function(t){t[t.Measure=0]="Measure",t[t.Grouping=1]="Grouping"}(e.VisualDataRoleKindPreference||(e.VisualDataRoleKindPreference={})),e.isOnLoadFilters=function(t){return t&&!T(t)},e.isReportFiltersArray=T,e.isFlatMenuExtension=function(t){return t&&!_(t)},e.isGroupedMenuExtension=_,e.isIExtensions=function(t){return t&&!F(t)},e.isIExtensionArray=F,e.validateVisualSelector=function(t){var e=o.Validators.visualSelectorValidator.validate(t);return e?e.map(x):void 0},e.validateSlicer=function(t){var e=o.Validators.slicerValidator.validate(t);return e?e.map(x):void 0},e.validateSlicerState=function(t){var e=o.Validators.slicerStateValidator.validate(t);return e?e.map(x):void 0},e.validatePlayBookmarkRequest=function(t){var e=o.Validators.playBookmarkRequestValidator.validate(t);return e?e.map(x):void 0},e.validateAddBookmarkRequest=function(t){var e=o.Validators.addBookmarkRequestValidator.validate(t);return e?e.map(x):void 0},e.validateApplyBookmarkByNameRequest=function(t){var e=o.Validators.applyBookmarkByNameRequestValidator.validate(t);return e?e.map(x):void 0},e.validateApplyBookmarkStateRequest=function(t){var e=o.Validators.applyBookmarkStateRequestValidator.validate(t);return e?e.map(x):void 0},e.validateCaptureBookmarkRequest=function(t){var e=o.Validators.captureBookmarkRequestValidator.validate(t);return e?e.map(x):void 0},e.validateSettings=function(t){var e=o.Validators.settingsValidator.validate(t);return e?e.map(x):void 0},e.validatePanes=function(t){var e=o.Validators.reportPanesValidator.validate(t);return e?e.map(x):void 0},e.validateBookmarksPane=function(t){var e=o.Validators.bookmarksPaneValidator.validate(t);return e?e.map(x):void 0},e.validateFiltersPane=function(t){var e=o.Validators.filtersPaneValidator.validate(t);return e?e.map(x):void 0},e.validateFieldsPane=function(t){var e=o.Validators.fieldsPaneValidator.validate(t);return e?e.map(x):void 0},e.validatePageNavigationPane=function(t){var e=o.Validators.pageNavigationPaneValidator.validate(t);return e?e.map(x):void 0},e.validateSelectionPane=function(t){var e=o.Validators.selectionPaneValidator.validate(t);return e?e.map(x):void 0},e.validateSyncSlicersPane=function(t){var e=o.Validators.syncSlicersPaneValidator.validate(t);return e?e.map(x):void 0},e.validateVisualizationsPane=function(t){var e=o.Validators.visualizationsPaneValidator.validate(t);return e?e.map(x):void 0},e.validateCustomPageSize=function(t){var e=o.Validators.customPageSizeValidator.validate(t);return e?e.map(x):void 0},e.validateExtension=function(t){var e=o.Validators.extensionValidator.validate(t);return e?e.map(x):void 0},e.validateMenuGroupExtension=function(t){var e=o.Validators.menuGroupExtensionValidator.validate(t);return e?e.map(x):void 0},e.validateReportLoad=function(t){var e=o.Validators.reportLoadValidator.validate(t);return e?e.map(x):void 0},e.validatePaginatedReportLoad=function(t){var e=o.Validators.paginatedReportLoadValidator.validate(t);return e?e.map(x):void 0},e.validateCreateReport=function(t){var e=o.Validators.reportCreateValidator.validate(t);return e?e.map(x):void 0},e.validateDashboardLoad=function(t){var e=o.Validators.dashboardLoadValidator.validate(t);return e?e.map(x):void 0},e.validateTileLoad=function(t){var e=o.Validators.tileLoadValidator.validate(t);return e?e.map(x):void 0},e.validatePage=function(t){var e=o.Validators.pageValidator.validate(t);return e?e.map(x):void 0},e.validateFilter=function(t){var e=o.Validators.filterValidator.validate(t);return e?e.map(x):void 0},e.validateUpdateFiltersRequest=function(t){var e=o.Validators.updateFiltersRequestValidator.validate(t);return e?e.map(x):void 0},e.validateSaveAsParameters=function(t){var e=o.Validators.saveAsParametersValidator.validate(t);return e?e.map(x):void 0},e.validateLoadQnaConfiguration=function(t){var e=o.Validators.loadQnaValidator.validate(t);return e?e.map(x):void 0},e.validateQnaInterpretInputData=function(t){var e=o.Validators.qnaInterpretInputDataValidator.validate(t);return e?e.map(x):void 0},e.validateExportDataRequest=function(t){var e=o.Validators.exportDataRequestValidator.validate(t);return e?e.map(x):void 0},e.validateVisualHeader=function(t){var e=o.Validators.visualHeaderValidator.validate(t);return e?e.map(x):void 0},e.validateVisualSettings=function(t){var e=o.Validators.visualSettingsValidator.validate(t);return e?e.map(x):void 0},e.validateCommandsSettings=function(t){var e=o.Validators.commandsSettingsValidator.validate(t);return e?e.map(x):void 0},e.validateCustomTheme=function(t){var e=o.Validators.customThemeValidator.validate(t);return e?e.map(x):void 0},e.validateZoomLevel=function(t){var e=o.Validators.zoomLevelValidator.validate(t);return e?e.map(x):void 0}},(t,e,r)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.Validators=void 0;var i=r(2),a=r(5),n=r(6),o=r(7),l=r(8),s=r(9),u=r(10),d=r(11),c=r(12),p=r(13),f=r(14),h=r(15),v=r(16),y=r(17),m=r(18),g=r(19),V=r(20),b=r(21),w=r(22),O=r(23),P=r(24),S=r(25),E=r(26),T=r(27),_=r(28),F=r(29),x=r(4),R=r(30);e.Validators={addBookmarkRequestValidator:new a.AddBookmarkRequestValidator,advancedFilterTypeValidator:new x.EnumValidator([0]),advancedFilterValidator:new c.AdvancedFilterValidator,anyArrayValidator:new x.ArrayValidator([new E.AnyOfValidator([new x.StringValidator,new x.NumberValidator,new x.BooleanValidator])]),anyFilterValidator:new E.AnyOfValidator([new c.BasicFilterValidator,new c.AdvancedFilterValidator,new c.IncludeExcludeFilterValidator,new c.NotSupportedFilterValidator,new c.RelativeDateFilterValidator,new c.TopNFilterValidator,new c.RelativeTimeFilterValidator,new c.HierarchyFilterValidator]),anyValueValidator:new E.AnyOfValidator([new x.StringValidator,new x.NumberValidator,new x.BooleanValidator]),actionBarValidator:new i.ActionBarValidator,applyBookmarkByNameRequestValidator:new a.ApplyBookmarkByNameRequestValidator,applyBookmarkStateRequestValidator:new a.ApplyBookmarkStateRequestValidator,applyBookmarkValidator:new E.AnyOfValidator([new a.ApplyBookmarkByNameRequestValidator,new a.ApplyBookmarkStateRequestValidator]),backgroundValidator:new x.EnumValidator([0,1]),basicFilterTypeValidator:new x.EnumValidator([1]),basicFilterValidator:new c.BasicFilterValidator,booleanArrayValidator:new x.BooleanArrayValidator,booleanValidator:new x.BooleanValidator,bookmarksPaneValidator:new h.BookmarksPaneValidator,captureBookmarkOptionsValidator:new a.CaptureBookmarkOptionsValidator,captureBookmarkRequestValidator:new a.CaptureBookmarkRequestValidator,commandDisplayOptionValidator:new x.EnumValidator([0,1,2]),commandExtensionSelectorValidator:new E.AnyOfValidator([new b.VisualSelectorValidator,new b.VisualTypeSelectorValidator]),commandExtensionArrayValidator:new x.ArrayValidator([new d.CommandExtensionValidator]),commandExtensionValidator:new d.CommandExtensionValidator,commandsSettingsArrayValidator:new x.ArrayValidator([new n.CommandsSettingsValidator]),commandsSettingsValidator:new n.CommandsSettingsValidator,conditionItemValidator:new c.ConditionItemValidator,contrastModeValidator:new x.EnumValidator([0,1,2,3,4]),customLayoutDisplayOptionValidator:new x.EnumValidator([0,1,2]),customLayoutValidator:new p.CustomLayoutValidator,customPageSizeValidator:new f.CustomPageSizeValidator,customThemeValidator:new o.CustomThemeValidator,dashboardLoadValidator:new l.DashboardLoadValidator,datasetBindingValidator:new s.DatasetBindingValidator,displayStateModeValidator:new x.EnumValidator([0,1]),displayStateValidator:new p.DisplayStateValidator,exportDataRequestValidator:new u.ExportDataRequestValidator,extensionArrayValidator:new x.ArrayValidator([new d.ExtensionValidator]),extensionsValidator:new E.AnyOfValidator([new x.ArrayValidator([new d.ExtensionValidator]),new d.ExtensionsValidator]),extensionPointsValidator:new d.ExtensionPointsValidator,extensionValidator:new d.ExtensionValidator,fieldForbiddenValidator:new T.FieldForbiddenValidator,fieldRequiredValidator:new _.FieldRequiredValidator,fieldsPaneValidator:new h.FieldsPaneValidator,filterColumnTargetValidator:new c.FilterColumnTargetValidator,filterDisplaySettingsValidator:new c.FilterDisplaySettingsValidator,filterConditionsValidator:new x.ArrayValidator([new c.ConditionItemValidator]),filterHierarchyTargetValidator:new c.FilterHierarchyTargetValidator,filterMeasureTargetValidator:new c.FilterMeasureTargetValidator,filterTargetValidator:new E.AnyOfValidator([new c.FilterColumnTargetValidator,new c.FilterHierarchyTargetValidator,new c.FilterMeasureTargetValidator,new x.ArrayValidator([new E.AnyOfValidator([new c.FilterColumnTargetValidator,new c.FilterHierarchyTargetValidator,new c.FilterMeasureTargetValidator,new c.FilterKeyColumnsTargetValidator,new c.FilterKeyHierarchyTargetValidator])])]),filterValidator:new c.FilterValidator,filterTypeValidator:new x.EnumValidator([0,1,2,3,4,5,6,7,9]),filtersArrayValidator:new x.ArrayValidator([new c.FilterValidator]),filtersOperationsUpdateValidator:new x.EnumValidator([1,2,3]),filtersOperationsRemoveAllValidator:new x.EnumValidator([0]),filtersPaneValidator:new h.FiltersPaneValidator,hyperlinkClickBehaviorValidator:new x.EnumValidator([0,1,2]),includeExcludeFilterValidator:new c.IncludeExcludeFilterValidator,includeExludeFilterTypeValidator:new x.EnumValidator([3]),hierarchyFilterTypeValidator:new x.EnumValidator([9]),hierarchyFilterValuesValidator:new x.ArrayValidator([new c.HierarchyFilterNodeValidator]),layoutTypeValidator:new x.EnumValidator([0,1,2,3]),loadQnaValidator:new v.LoadQnaValidator,menuExtensionValidator:new E.AnyOfValidator([new d.FlatMenuExtensionValidator,new d.GroupedMenuExtensionValidator]),menuGroupExtensionArrayValidator:new x.ArrayValidator([new d.MenuGroupExtensionValidator]),menuGroupExtensionValidator:new d.MenuGroupExtensionValidator,menuLocationValidator:new x.EnumValidator([0,1]),notSupportedFilterTypeValidator:new x.EnumValidator([2]),notSupportedFilterValidator:new c.NotSupportedFilterValidator,numberArrayValidator:new x.NumberArrayValidator,numberValidator:new x.NumberValidator,onLoadFiltersBaseValidator:new E.AnyOfValidator([new c.OnLoadFiltersBaseValidator,new c.OnLoadFiltersBaseRemoveOperationValidator]),pageLayoutValidator:new F.MapValidator([new x.StringValidator],[new p.VisualLayoutValidator]),pageNavigationPaneValidator:new h.PageNavigationPaneValidator,pageNavigationPositionValidator:new x.EnumValidator([0,1]),pageSizeTypeValidator:new x.EnumValidator([0,1,2,3,4,5]),pageSizeValidator:new f.PageSizeValidator,pageValidator:new f.PageValidator,pageViewFieldValidator:new f.PageViewFieldValidator,pagesLayoutValidator:new F.MapValidator([new x.StringValidator],[new p.PageLayoutValidator]),paginatedReportCommandsValidator:new n.PaginatedReportCommandsValidator,paginatedReportLoadValidator:new g.PaginatedReportLoadValidator,paginatedReportsettingsValidator:new w.PaginatedReportSettingsValidator,parameterValuesArrayValidator:new x.ArrayValidator([new g.ReportParameterFieldsValidator]),parametersPanelValidator:new R.ParametersPanelValidator,permissionsValidator:new x.EnumValidator([0,1,2,4,7]),playBookmarkRequestValidator:new a.PlayBookmarkRequestValidator,qnaInterpretInputDataValidator:new v.QnaInterpretInputDataValidator,qnaPanesValidator:new h.QnaPanesValidator,qnaSettingValidator:new v.QnaSettingsValidator,relativeDateFilterOperatorValidator:new x.EnumValidator([0,1,2]),relativeDateFilterTimeUnitTypeValidator:new x.EnumValidator([0,1,2,3,4,5,6]),relativeDateFilterTypeValidator:new x.EnumValidator([4]),relativeDateFilterValidator:new c.RelativeDateFilterValidator,relativeDateTimeFilterTypeValidator:new x.EnumValidator([4,7]),relativeDateTimeFilterUnitTypeValidator:new x.EnumValidator([0,1,2,3,4,5,6,7,8]),relativeTimeFilterTimeUnitTypeValidator:new x.EnumValidator([7,8]),relativeTimeFilterTypeValidator:new x.EnumValidator([7]),relativeTimeFilterValidator:new c.RelativeTimeFilterValidator,reportBarsValidator:new i.ReportBarsValidator,reportCreateValidator:new y.ReportCreateValidator,reportLoadFiltersValidator:new E.AnyOfValidator([new x.ArrayValidator([new c.FilterValidator]),new c.OnLoadFiltersValidator]),reportLoadValidator:new m.ReportLoadValidator,reportPanesValidator:new h.ReportPanesValidator,saveAsParametersValidator:new V.SaveAsParametersValidator,selectionPaneValidator:new h.SelectionPaneValidator,settingsValidator:new w.SettingsValidator,singleCommandSettingsValidator:new n.SingleCommandSettingsValidator,slicerSelectorValidator:new E.AnyOfValidator([new b.VisualSelectorValidator,new b.SlicerTargetSelectorValidator]),slicerStateValidator:new O.SlicerStateValidator,slicerTargetValidator:new E.AnyOfValidator([new c.FilterColumnTargetValidator,new c.FilterHierarchyTargetValidator,new c.FilterMeasureTargetValidator,new c.FilterKeyColumnsTargetValidator,new c.FilterKeyHierarchyTargetValidator]),slicerValidator:new O.SlicerValidator,stringArrayValidator:new x.StringArrayValidator,stringValidator:new x.StringValidator,syncSlicersPaneValidator:new h.SyncSlicersPaneValidator,tileLoadValidator:new P.TileLoadValidator,tokenTypeValidator:new x.EnumValidator([0,1]),topNFilterTypeValidator:new x.EnumValidator([5]),topNFilterValidator:new c.TopNFilterValidator,updateFiltersRequestValidator:new E.AnyOfValidator([new c.UpdateFiltersRequestValidator,new c.RemoveFiltersRequestValidator]),viewModeValidator:new x.EnumValidator([0,1]),visualCommandSelectorValidator:new E.AnyOfValidator([new b.VisualSelectorValidator,new b.VisualTypeSelectorValidator]),visualHeaderSelectorValidator:new E.AnyOfValidator([new b.VisualSelectorValidator,new b.VisualTypeSelectorValidator]),visualHeaderSettingsValidator:new S.VisualHeaderSettingsValidator,visualHeaderValidator:new S.VisualHeaderValidator,visualHeadersValidator:new x.ArrayValidator([new S.VisualHeaderValidator]),visualizationsPaneValidator:new h.VisualizationsPaneValidator,visualLayoutValidator:new p.VisualLayoutValidator,visualSelectorValidator:new b.VisualSelectorValidator,visualSettingsValidator:new S.VisualSettingsValidator,visualTypeSelectorValidator:new b.VisualTypeSelectorValidator,zoomLevelValidator:new x.RangeValidator(.25,4)}},function(t,e,r){var i,a=this&&this.__extends||(i=function(t,e){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])})(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.ActionBarValidator=e.ReportBarsValidator=void 0;var n=r(3),o=r(4),l=r(1),s=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return a(e,t),e.prototype.validate=function(e,r,i){if(null==e)return null;var a=t.prototype.validate.call(this,e,r,i);if(a)return a;var o=[{field:"actionBar",validators:[l.Validators.actionBarValidator]}];return new n.MultipleFieldsValidator(o).validate(e,r,i)},e}(o.ObjectValidator);e.ReportBarsValidator=s;var u=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return a(e,t),e.prototype.validate=function(e,r,i){if(null==e)return null;var a=t.prototype.validate.call(this,e,r,i);if(a)return a;var o=[{field:"visible",validators:[l.Validators.booleanValidator]}];return new n.MultipleFieldsValidator(o).validate(e,r,i)},e}(o.ObjectValidator);e.ActionBarValidator=u},(t,e)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.MultipleFieldsValidator=void 0;var r=function(){function t(t){this.fieldValidatorsPairs=t}return t.prototype.validate=function(t,e,r){if(!this.fieldValidatorsPairs)return null;for(var i=e?e+"."+r:r,a=0,n=this.fieldValidatorsPairs;athis.maxValue||e{Object.defineProperty(e,"__esModule",{value:!0}),e.AnyOfValidator=void 0;var r=function(){function t(t){this.validators=t}return t.prototype.validate=function(t,e,r){if(null==t)return null;for(var i=!1,a=0,n=this.validators;a{Object.defineProperty(e,"__esModule",{value:!0}),e.FieldForbiddenValidator=void 0;var r=function(){function t(){}return t.prototype.validate=function(t,e,r){return void 0!==t?[{message:r+" is forbidden",path:(e?e+".":"")+r,keyword:"forbidden"}]:null},t}();e.FieldForbiddenValidator=r},(t,e)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.FieldRequiredValidator=void 0;var r=function(){function t(){}return t.prototype.validate=function(t,e,r){return null==t?[{message:r+" is required",path:(e?e+".":"")+r,keyword:"required"}]:null},t}();e.FieldRequiredValidator=r},function(t,e,r){var i,a=this&&this.__extends||(i=function(t,e){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])})(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.MapValidator=void 0;var n=function(t){function e(e,r){var i=t.call(this)||this;return i.keyValidators=e,i.valueValidators=r,i}return a(e,t),e.prototype.validate=function(e,r,i){if(null==e)return null;var a=t.prototype.validate.call(this,e,r,i);if(a)return a;for(var n in e)if(e.hasOwnProperty(n)){for(var o=(r?r+".":"")+i+"."+n,l=0,s=this.keyValidators;l0&&a[a.length-1])||6!==n[0]&&2!==n[0])){o=0;continue}if(3===n[0]&&(!a||n[1]>a[0]&&n[1]0&&a[a.length-1])||6!==n[0]&&2!==n[0])){o=0;continue}if(3===n[0]&&(!a||n[1]>a[0]&&n[1]0?"&":"?";return t+=i+e+"="+r},e.isSavedInternal=function(t,e,a){return r(this,void 0,void 0,(function(){return i(this,(function(r){switch(r.label){case 0:return r.trys.push([0,2,,3]),[4,t.get("/report/hasUnsavedChanges",{uid:e},a)];case 1:return[2,!r.sent().body];case 2:throw r.sent().body;case 3:return[2]}}))}))},e.isRDLEmbed=function(t){return t&&t.toLowerCase().indexOf("/rdlembed?")>=0},e.autoAuthInEmbedUrl=function(t){return t&&decodeURIComponent(t).toLowerCase().indexOf("autoauth=true")>=0},e.getRandomValue=n,e.getTimeDiffInMilliseconds=function(t,e){return Math.abs(t.getTime()-e.getTime())}},function(t,e){Object.defineProperty(e,"__esModule",{value:!0}),e.FilterBuilder=void 0;var r=function(){function t(){}return t.prototype.withTargetObject=function(t){return this.target=t,this},t.prototype.withColumnTarget=function(t,e){return this.target={table:t,column:e},this},t.prototype.withMeasureTarget=function(t,e){return this.target={table:t,measure:e},this},t.prototype.withHierarchyLevelTarget=function(t,e,r){return this.target={table:t,hierarchy:e,hierarchyLevel:r},this},t.prototype.withColumnAggregation=function(t,e,r){return this.target={table:t,column:e,aggregationFunction:r},this},t.prototype.withHierarchyLevelAggregationTarget=function(t,e,r,i){return this.target={table:t,hierarchy:e,hierarchyLevel:r,aggregationFunction:i},this},t}();e.FilterBuilder=r},function(t,e){Object.defineProperty(e,"__esModule",{value:!0}),e.EmbedUrlNotSupported=e.APINotSupportedForRDLError=void 0,e.APINotSupportedForRDLError="This API is currently not supported for RDL reports",e.EmbedUrlNotSupported="Embed URL is invalid for this scenario. Please use Power BI REST APIs to get the valid URL"},function(t,e){Object.defineProperty(e,"__esModule",{value:!0});e.default={version:"2.21.1",type:"js"}},function(t,e,r){var i,a=this&&this.__extends||(i=function(t,e){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])})(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}),n=this&&this.__awaiter||function(t,e,r,i){return new(r||(r=Promise))((function(a,n){function o(t){try{s(i.next(t))}catch(t){n(t)}}function l(t){try{s(i.throw(t))}catch(t){n(t)}}function s(t){var e;t.done?a(t.value):(e=t.value,e instanceof r?e:new r((function(t){t(e)}))).then(o,l)}s((i=i.apply(t,e||[])).next())}))},o=this&&this.__generator||function(t,e){var r,i,a,n,o={label:0,sent:function(){if(1&a[0])throw a[1];return a[1]},trys:[],ops:[]};return n={next:l(0),throw:l(1),return:l(2)},"function"==typeof Symbol&&(n[Symbol.iterator]=function(){return this}),n;function l(n){return function(l){return function(n){if(r)throw new TypeError("Generator is already executing.");for(;o;)try{if(r=1,i&&(a=2&n[0]?i.return:n[0]?i.throw||((a=i.return)&&a.call(i),0):i.next)&&!(a=a.call(i,n[1])).done)return a;switch(i=0,a&&(n=[2&n[0],a.value]),n[0]){case 0:case 1:a=n;break;case 4:return o.label++,{value:n[1],done:!1};case 5:o.label++,i=n[1],n=[0];continue;case 7:n=o.ops.pop(),o.trys.pop();continue;default:if(!(a=o.trys,(a=a.length>0&&a[a.length-1])||6!==n[0]&&2!==n[0])){o=0;continue}if(3===n[0]&&(!a||n[1]>a[0]&&n[1]0&&a[a.length-1])||6!==n[0]&&2!==n[0])){o=0;continue}if(3===n[0]&&(!a||n[1]>a[0]&&n[1]0&&a[a.length-1])||6!==n[0]&&2!==n[0])){o=0;continue}if(3===n[0]&&(!a||n[1]>a[0]&&n[1]0&&a[a.length-1])||6!==n[0]&&2!==n[0])){o=0;continue}if(3===n[0]&&(!a||n[1]>a[0]&&n[1]0&&a[a.length-1])||6!==n[0]&&2!==n[0])){o=0;continue}if(3===n[0]&&(!a||n[1]>a[0]&&n[1]0&&a[a.length-1])||6!==n[0]&&2!==n[0])){o=0;continue}if(3===n[0]&&(!a||n[1]>a[0]&&n[1]0&&a[a.length-1])||6!==n[0]&&2!==n[0])){o=0;continue}if(3===n[0]&&(!a||n[1]>a[0]&&n[1]=n)return t;switch(t){case"%s":return String(i[r++]);case"%d":return Number(i[r++]);case"%j":try{return JSON.stringify(i[r++])}catch(t){return"[Circular]"}default:return t}})),s=i[r];r=3&&(i.depth=arguments[2]),arguments.length>=4&&(i.colors=arguments[3]),h(r)?i.showHidden=r:r&&e._extend(i,r),g(i.showHidden)&&(i.showHidden=!1),g(i.depth)&&(i.depth=2),g(i.colors)&&(i.colors=!1),g(i.customInspect)&&(i.customInspect=!0),i.colors&&(i.stylize=s),d(i,t,i.depth)}function s(t,e){var r=l.styles[e];return r?"["+l.colors[r][0]+"m"+t+"["+l.colors[r][1]+"m":t}function u(t,e){return t}function d(t,r,i){if(t.customInspect&&r&&P(r.inspect)&&r.inspect!==e.inspect&&(!r.constructor||r.constructor.prototype!==r)){var a=r.inspect(i,t);return m(a)||(a=d(t,a,i)),a}var n=function(t,e){if(g(e))return t.stylize("undefined","undefined");if(m(e)){var r="'"+JSON.stringify(e).replace(/^"|"$/g,"").replace(/'/g,"\\'").replace(/\\"/g,'"')+"'";return t.stylize(r,"string")}if(y(e))return t.stylize(""+e,"number");if(h(e))return t.stylize(""+e,"boolean");if(v(e))return t.stylize("null","null")}(t,r);if(n)return n;var o=Object.keys(r),l=function(t){var e={};return t.forEach((function(t,r){e[t]=!0})),e}(o);if(t.showHidden&&(o=Object.getOwnPropertyNames(r)),O(r)&&(o.indexOf("message")>=0||o.indexOf("description")>=0))return c(r);if(0===o.length){if(P(r)){var s=r.name?": "+r.name:"";return t.stylize("[Function"+s+"]","special")}if(V(r))return t.stylize(RegExp.prototype.toString.call(r),"regexp");if(w(r))return t.stylize(Date.prototype.toString.call(r),"date");if(O(r))return c(r)}var u,b="",S=!1,E=["{","}"];(f(r)&&(S=!0,E=["[","]"]),P(r))&&(b=" [Function"+(r.name?": "+r.name:"")+"]");return V(r)&&(b=" "+RegExp.prototype.toString.call(r)),w(r)&&(b=" "+Date.prototype.toUTCString.call(r)),O(r)&&(b=" "+c(r)),0!==o.length||S&&0!=r.length?i<0?V(r)?t.stylize(RegExp.prototype.toString.call(r),"regexp"):t.stylize("[Object]","special"):(t.seen.push(r),u=S?function(t,e,r,i,a){for(var n=[],o=0,l=e.length;o=0&&0,t+e.replace(/\u001b\[\d\d?m/g,"").length+1}),0)>60)return r[0]+(""===e?"":e+"\n ")+" "+t.join(",\n ")+" "+r[1];return r[0]+e+" "+t.join(", ")+" "+r[1]}(u,b,E)):E[0]+b+E[1]}function c(t){return"["+Error.prototype.toString.call(t)+"]"}function p(t,e,r,i,a,n){var o,l,s;if((s=Object.getOwnPropertyDescriptor(e,a)||{value:e[a]}).get?l=s.set?t.stylize("[Getter/Setter]","special"):t.stylize("[Getter]","special"):s.set&&(l=t.stylize("[Setter]","special")),F(i,a)||(o="["+a+"]"),l||(t.seen.indexOf(s.value)<0?(l=v(r)?d(t,s.value,null):d(t,s.value,r-1)).indexOf("\n")>-1&&(l=n?l.split("\n").map((function(t){return" "+t})).join("\n").substr(2):"\n"+l.split("\n").map((function(t){return" "+t})).join("\n")):l=t.stylize("[Circular]","special")),g(o)){if(n&&a.match(/^\d+$/))return l;(o=JSON.stringify(""+a)).match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/)?(o=o.substr(1,o.length-2),o=t.stylize(o,"name")):(o=o.replace(/'/g,"\\'").replace(/\\"/g,'"').replace(/(^"|"$)/g,"'"),o=t.stylize(o,"string"))}return o+": "+l}function f(t){return Array.isArray(t)}function h(t){return"boolean"==typeof t}function v(t){return null===t}function y(t){return"number"==typeof t}function m(t){return"string"==typeof t}function g(t){return void 0===t}function V(t){return b(t)&&"[object RegExp]"===S(t)}function b(t){return"object"==typeof t&&null!==t}function w(t){return b(t)&&"[object Date]"===S(t)}function O(t){return b(t)&&("[object Error]"===S(t)||t instanceof Error)}function P(t){return"function"==typeof t}function S(t){return Object.prototype.toString.call(t)}function E(t){return t<10?"0"+t.toString(10):t.toString(10)}e.debuglog=function(r){if(g(n)&&(n=t.env.NODE_DEBUG||""),r=r.toUpperCase(),!o[r])if(new RegExp("\\b"+r+"\\b","i").test(n)){var i=t.pid;o[r]=function(){var t=e.format.apply(e,arguments);console.error("%s %d: %s",r,i,t)}}else o[r]=function(){};return o[r]},e.inspect=l,l.colors={bold:[1,22],italic:[3,23],underline:[4,24],inverse:[7,27],white:[37,39],grey:[90,39],black:[30,39],blue:[34,39],cyan:[36,39],green:[32,39],magenta:[35,39],red:[31,39],yellow:[33,39]},l.styles={special:"cyan",number:"yellow",boolean:"yellow",undefined:"grey",null:"bold",string:"green",date:"magenta",regexp:"red"},e.isArray=f,e.isBoolean=h,e.isNull=v,e.isNullOrUndefined=function(t){return null==t},e.isNumber=y,e.isString=m,e.isSymbol=function(t){return"symbol"==typeof t},e.isUndefined=g,e.isRegExp=V,e.isObject=b,e.isDate=w,e.isError=O,e.isFunction=P,e.isPrimitive=function(t){return null===t||"boolean"==typeof t||"number"==typeof t||"string"==typeof t||"symbol"==typeof t||void 0===t},e.isBuffer=r(21);var T=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];function _(){var t=new Date,e=[E(t.getHours()),E(t.getMinutes()),E(t.getSeconds())].join(":");return[t.getDate(),T[t.getMonth()],e].join(" ")}function F(t,e){return Object.prototype.hasOwnProperty.call(t,e)}e.log=function(){console.log("%s - %s",_(),e.format.apply(e,arguments))},e.inherits=r(22),e._extend=function(t,e){if(!e||!b(e))return t;for(var r=Object.keys(e),i=r.length;i--;)t[r[i]]=e[r[i]];return t};var x="undefined"!=typeof Symbol?Symbol("util.promisify.custom"):void 0;function R(t,e){if(!t){var r=new Error("Promise was rejected with a falsy value");r.reason=t,t=r}return e(t)}e.promisify=function(t){if("function"!=typeof t)throw new TypeError('The "original" argument must be of type Function');if(x&&t[x]){var e;if("function"!=typeof(e=t[x]))throw new TypeError('The "util.promisify.custom" argument must be of type Function');return Object.defineProperty(e,x,{value:e,enumerable:!1,writable:!1,configurable:!0}),e}function e(){for(var e,r,i=new Promise((function(t,i){e=t,r=i})),a=[],n=0;n1)for(var r=1;r0&&a[a.length-1])||6!==n[0]&&2!==n[0])){o=0;continue}if(3===n[0]&&(!a||n[1]>a[0]&&n[1]=n)return t;switch(t){case"%s":return String(i[r++]);case"%d":return Number(i[r++]);case"%j":try{return JSON.stringify(i[r++])}catch(t){return"[Circular]"}default:return t}})),s=i[r];r=3&&(i.depth=arguments[2]),arguments.length>=4&&(i.colors=arguments[3]),h(r)?i.showHidden=r:r&&e._extend(i,r),g(i.showHidden)&&(i.showHidden=!1),g(i.depth)&&(i.depth=2),g(i.colors)&&(i.colors=!1),g(i.customInspect)&&(i.customInspect=!0),i.colors&&(i.stylize=s),d(i,t,i.depth)}function s(t,e){var r=l.styles[e];return r?"["+l.colors[r][0]+"m"+t+"["+l.colors[r][1]+"m":t}function u(t,e){return t}function d(t,r,i){if(t.customInspect&&r&&P(r.inspect)&&r.inspect!==e.inspect&&(!r.constructor||r.constructor.prototype!==r)){var a=r.inspect(i,t);return m(a)||(a=d(t,a,i)),a}var n=function(t,e){if(g(e))return t.stylize("undefined","undefined");if(m(e)){var r="'"+JSON.stringify(e).replace(/^"|"$/g,"").replace(/'/g,"\\'").replace(/\\"/g,'"')+"'";return t.stylize(r,"string")}if(y(e))return t.stylize(""+e,"number");if(h(e))return t.stylize(""+e,"boolean");if(v(e))return t.stylize("null","null")}(t,r);if(n)return n;var o=Object.keys(r),l=function(t){var e={};return t.forEach((function(t,r){e[t]=!0})),e}(o);if(t.showHidden&&(o=Object.getOwnPropertyNames(r)),O(r)&&(o.indexOf("message")>=0||o.indexOf("description")>=0))return c(r);if(0===o.length){if(P(r)){var s=r.name?": "+r.name:"";return t.stylize("[Function"+s+"]","special")}if(V(r))return t.stylize(RegExp.prototype.toString.call(r),"regexp");if(w(r))return t.stylize(Date.prototype.toString.call(r),"date");if(O(r))return c(r)}var u,b="",S=!1,E=["{","}"];(f(r)&&(S=!0,E=["[","]"]),P(r))&&(b=" [Function"+(r.name?": "+r.name:"")+"]");return V(r)&&(b=" "+RegExp.prototype.toString.call(r)),w(r)&&(b=" "+Date.prototype.toUTCString.call(r)),O(r)&&(b=" "+c(r)),0!==o.length||S&&0!=r.length?i<0?V(r)?t.stylize(RegExp.prototype.toString.call(r),"regexp"):t.stylize("[Object]","special"):(t.seen.push(r),u=S?function(t,e,r,i,a){for(var n=[],o=0,l=e.length;o=0&&0,t+e.replace(/\u001b\[\d\d?m/g,"").length+1}),0)>60)return r[0]+(""===e?"":e+"\n ")+" "+t.join(",\n ")+" "+r[1];return r[0]+e+" "+t.join(", ")+" "+r[1]}(u,b,E)):E[0]+b+E[1]}function c(t){return"["+Error.prototype.toString.call(t)+"]"}function p(t,e,r,i,a,n){var o,l,s;if((s=Object.getOwnPropertyDescriptor(e,a)||{value:e[a]}).get?l=s.set?t.stylize("[Getter/Setter]","special"):t.stylize("[Getter]","special"):s.set&&(l=t.stylize("[Setter]","special")),F(i,a)||(o="["+a+"]"),l||(t.seen.indexOf(s.value)<0?(l=v(r)?d(t,s.value,null):d(t,s.value,r-1)).indexOf("\n")>-1&&(l=n?l.split("\n").map((function(t){return" "+t})).join("\n").substr(2):"\n"+l.split("\n").map((function(t){return" "+t})).join("\n")):l=t.stylize("[Circular]","special")),g(o)){if(n&&a.match(/^\d+$/))return l;(o=JSON.stringify(""+a)).match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/)?(o=o.substr(1,o.length-2),o=t.stylize(o,"name")):(o=o.replace(/'/g,"\\'").replace(/\\"/g,'"').replace(/(^"|"$)/g,"'"),o=t.stylize(o,"string"))}return o+": "+l}function f(t){return Array.isArray(t)}function h(t){return"boolean"==typeof t}function v(t){return null===t}function y(t){return"number"==typeof t}function m(t){return"string"==typeof t}function g(t){return void 0===t}function V(t){return b(t)&&"[object RegExp]"===S(t)}function b(t){return"object"==typeof t&&null!==t}function w(t){return b(t)&&"[object Date]"===S(t)}function O(t){return b(t)&&("[object Error]"===S(t)||t instanceof Error)}function P(t){return"function"==typeof t}function S(t){return Object.prototype.toString.call(t)}function E(t){return t<10?"0"+t.toString(10):t.toString(10)}e.debuglog=function(r){if(g(n)&&(n=t.env.NODE_DEBUG||""),r=r.toUpperCase(),!o[r])if(new RegExp("\\b"+r+"\\b","i").test(n)){var i=t.pid;o[r]=function(){var t=e.format.apply(e,arguments);console.error("%s %d: %s",r,i,t)}}else o[r]=function(){};return o[r]},e.inspect=l,l.colors={bold:[1,22],italic:[3,23],underline:[4,24],inverse:[7,27],white:[37,39],grey:[90,39],black:[30,39],blue:[34,39],cyan:[36,39],green:[32,39],magenta:[35,39],red:[31,39],yellow:[33,39]},l.styles={special:"cyan",number:"yellow",boolean:"yellow",undefined:"grey",null:"bold",string:"green",date:"magenta",regexp:"red"},e.isArray=f,e.isBoolean=h,e.isNull=v,e.isNullOrUndefined=function(t){return null==t},e.isNumber=y,e.isString=m,e.isSymbol=function(t){return"symbol"==typeof t},e.isUndefined=g,e.isRegExp=V,e.isObject=b,e.isDate=w,e.isError=O,e.isFunction=P,e.isPrimitive=function(t){return null===t||"boolean"==typeof t||"number"==typeof t||"string"==typeof t||"symbol"==typeof t||void 0===t},e.isBuffer=r(21);var T=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];function _(){var t=new Date,e=[E(t.getHours()),E(t.getMinutes()),E(t.getSeconds())].join(":");return[t.getDate(),T[t.getMonth()],e].join(" ")}function F(t,e){return Object.prototype.hasOwnProperty.call(t,e)}e.log=function(){console.log("%s - %s",_(),e.format.apply(e,arguments))},e.inherits=r(22),e._extend=function(t,e){if(!e||!b(e))return t;for(var r=Object.keys(e),i=r.length;i--;)t[r[i]]=e[r[i]];return t};var x="undefined"!=typeof Symbol?Symbol("util.promisify.custom"):void 0;function R(t,e){if(!t){var r=new Error("Promise was rejected with a falsy value");r.reason=t,t=r}return e(t)}e.promisify=function(t){if("function"!=typeof t)throw new TypeError('The "original" argument must be of type Function');if(x&&t[x]){var e;if("function"!=typeof(e=t[x]))throw new TypeError('The "util.promisify.custom" argument must be of type Function');return Object.defineProperty(e,x,{value:e,enumerable:!1,writable:!1,configurable:!0}),e}function e(){for(var e,r,i=new Promise((function(t,i){e=t,r=i})),a=[],n=0;n1)for(var r=1;r0&&a[a.length-1])||6!==n[0]&&2!==n[0])){o=0;continue}if(3===n[0]&&(!a||n[1]>a[0]&&n[1] { +export const hpmFactory: IHpmFactory = (wpmp, defaultTargetWindow, sdkVersion = config.version, sdkType = config.type, sdkWrapperVersion?: string) => { return new HttpPostMessage(wpmp, { 'x-sdk-type': sdkType, - 'x-sdk-version': sdkVersion + 'x-sdk-version': sdkVersion, + 'x-sdk-wrapper-version': sdkWrapperVersion, }, defaultTargetWindow); }; diff --git a/src/service.ts b/src/service.ts index 54b07146..06294ab9 100644 --- a/src/service.ts +++ b/src/service.ts @@ -85,6 +85,7 @@ export interface IServiceConfiguration extends IDebugOptions { onError?: (error: any) => any; version?: string; type?: string; + sdkWrapperVersion?: string; } export interface IService { @@ -159,7 +160,7 @@ export class Service implements IService { */ constructor(hpmFactory: IHpmFactory, wpmpFactory: IWpmpFactory, routerFactory: IRouterFactory, config: IServiceConfiguration = {}) { this.wpmp = wpmpFactory(config.wpmpName, config.logMessages); - this.hpm = hpmFactory(this.wpmp, null, config.version, config.type); + this.hpm = hpmFactory(this.wpmp, null, config.version, config.type, config.sdkWrapperVersion); this.router = routerFactory(this.wpmp); this.uniqueSessionId = utils.generateUUID(); @@ -632,4 +633,16 @@ export class Service implements IService { return iframeContent; } + + /** + * Use this API to set SDK info + * + * @hidden + * @param {string} type + * @returns {void} + */ + setSdkInfo(type: string, version: string): void { + this.hpm.defaultHeaders['x-sdk-type'] = type; + this.hpm.defaultHeaders['x-sdk-wrapper-version'] = version; + } } From 9a3b77833e91a79e06a3990013826d0992b7eae5 Mon Sep 17 00:00:00 2001 From: MerlinBot Date: Wed, 31 Aug 2022 14:31:00 +0000 Subject: [PATCH 096/125] Merged PR 282084: Remediating Azure Artifacts Configuration Issues in your Repository As a repository owner, you must take action to protect Microsoft against potential Software Supply Chain attacks. This starts with ensuring your repository has a valid Azure Artifacts usage so you can take advantage of [Central Feed Services](https://aka.ms/cfs). We are opening this PR with a fix on known issue(s) which we have detected in your repository. Please review and approve this PR at your earliest convenience. **This may impact the ability for pipelines and developers to install packages and build projects.** ## Address **breaking changes** before you merge: * Confirm the suggested Feed is configured per your organization's guidelines. If changes are necessary, work with your Project Administrators to set it up correctly. [Learn more...](https://docs.microsoft.com/en-us/azure/devops/artifacts/feeds/feed-permissions?view=azure-devops) * Add authentication to any failing pipeline definitions. [nuget](https://docs.microsoft.com/en-us/azure/devops/pipelines/tasks/package/nuget-authenticate?view=azure-devops), [npm](https://docs.microsoft.com/en-us/azure/devops/pipelines/tasks/package/npm-authenticate?view=azure-devops). * Reach out to developers who may need to authenticate to the feed using the [embedded_PublicPackages's Connect to feed](https://dev.azure.com/powerbi/embedded/_artifacts/feed/embedded_PublicPackages/connect) instructions in Azure Artifacts. ## This PR can make changes to .npmrc, nuget.config, and other configuration files. Please view the complete change breakdown in the PR changed files. --- For feedback or questions about this PR, please contact [Artifact Protection Services](mailto:feedprotection@microsoft.com). --- This change was automatically generated by [1ES Gardener](https://eng.ms/docs/cloud-ai-platform/devdiv/one-engineering-system-1es/1es-docs/gardener/1es-gardener) (a [MerlinBot](https://aka.ms/MerlinBot) extension) which is an initiative by the 1ES team to help repos stay up-to-date with latest tools, features, and best practices. --- .npmrc | 4 ++++ demo/.npmrc | 4 ++++ 2 files changed, 8 insertions(+) create mode 100644 .npmrc create mode 100644 demo/.npmrc diff --git a/.npmrc b/.npmrc new file mode 100644 index 00000000..c7c77b63 --- /dev/null +++ b/.npmrc @@ -0,0 +1,4 @@ +# Auto generated file from Gardener Plugin CentralFeedServiceAdoptionPlugin +registry=https://pkgs.dev.azure.com/powerbi/embedded/_packaging/embedded_PublicPackages/npm/registry/ + +always-auth=true diff --git a/demo/.npmrc b/demo/.npmrc new file mode 100644 index 00000000..c7c77b63 --- /dev/null +++ b/demo/.npmrc @@ -0,0 +1,4 @@ +# Auto generated file from Gardener Plugin CentralFeedServiceAdoptionPlugin +registry=https://pkgs.dev.azure.com/powerbi/embedded/_packaging/embedded_PublicPackages/npm/registry/ + +always-auth=true From 34687bb8754bdc073fda06cc167a127044ba56de Mon Sep 17 00:00:00 2001 From: Sheng Liu Date: Wed, 31 Aug 2022 20:58:15 +0000 Subject: [PATCH 097/125] Merged PR 289796: Add QuickCreate SDK Add QuickCreate.ts to handle quickcreate validations Add quickCreate in service to handle new quickCreate path Refactored embed and move create() into each component --- dist/powerbi-client.d.ts | 115 ++++++- dist/powerbi.js | 690 ++++++++++++++++++++++++++++++++++---- dist/powerbi.min.js | 10 +- package.json | 2 +- src/create.ts | 45 ++- src/embed.ts | 48 +-- src/quickCreate.ts | 121 +++++++ src/service.ts | 32 +- src/util.ts | 11 + test/SDK-to-HPM.spec.ts | 143 +++++++- test/protocol.spec.ts | 49 +++ test/service.spec.ts | 80 ++++- test/utility/mockApp.ts | 4 + test/utility/mockEmbed.ts | 13 + 14 files changed, 1213 insertions(+), 150 deletions(-) create mode 100644 src/quickCreate.ts diff --git a/dist/powerbi-client.d.ts b/dist/powerbi-client.d.ts index b91e640e..7566cff5 100644 --- a/dist/powerbi-client.d.ts +++ b/dist/powerbi-client.d.ts @@ -116,6 +116,14 @@ declare module "util" { * @returns {number} */ export function getTimeDiffInMilliseconds(start: Date, end: Date): number; + /** + * Checks if the embed type is for create + * + * @export + * @param {string} embedType + * @returns {boolean} + */ + export function isCreate(embedType: string): boolean; } declare module "embed" { import * as models from 'powerbi-models'; @@ -249,13 +257,6 @@ declare module "embed" { * @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. * @@ -299,19 +300,12 @@ declare module "embed" { */ constructor(service: Service, element: HTMLElement, config: IEmbedConfigurationBase, iframe?: HTMLIFrameElement, phasedRender?: boolean, isBootstrap?: boolean); /** - * Sends createReport configuration data. - * - * ```javascript - * createReport({ - * datasetId: '5dac7a4a-4452-46b3-99f6-a25915e0fe55', - * accessToken: 'eyJ0eXA ... TaE2rTSbmg', - * ``` + * Create is not supported by default * * @hidden - * @param {models.IReportCreateConfiguration} config * @returns {Promise} */ - createReport(config: models.IReportCreateConfiguration): Promise; + create(): Promise; /** * Saves Report. * @@ -1633,6 +1627,13 @@ declare module "create" { * @extends {Embed} */ export class Create extends Embed { + /** + * Gets or sets the configuration settings for creating report. + * + * @type {IReportCreateConfiguration} + * @hidden + */ + createConfig: IReportCreateConfiguration; constructor(service: Service, element: HTMLElement, config: IEmbedConfiguration | IReportCreateConfiguration, phasedRender?: boolean, isBootstrap?: boolean); /** * Gets the dataset ID from the first available location: createConfig or embed url. @@ -1678,6 +1679,19 @@ declare module "create" { * @hidden */ static findIdFromEmbedUrl(url: string): string; + /** + * Sends create configuration data. + * + * ```javascript + * create ({ + * datasetId: '5dac7a4a-4452-46b3-99f6-a25915e0fe55', + * accessToken: 'eyJ0eXA ... TaE2rTSbmg', + * ``` + * + * @hidden + * @returns {Promise} + */ + create(): Promise; } } declare module "dashboard" { @@ -2003,11 +2017,70 @@ declare module "visual" { private getFiltersLevelUrl; } } +declare module "quickCreate" { + import { IError, IQuickCreateConfiguration } from 'powerbi-models'; + import { Service } from "service"; + import { Embed, IEmbedConfigurationBase } from "embed"; + /** + * A Power BI Quick Create component + * + * @export + * @class QuickCreate + * @extends {Embed} + */ + export class QuickCreate extends Embed { + /** + * Gets or sets the configuration settings for creating report. + * + * @type {IQuickCreateConfiguration} + * @hidden + */ + createConfig: IQuickCreateConfiguration; + constructor(service: Service, element: HTMLElement, config: IQuickCreateConfiguration, phasedRender?: boolean, isBootstrap?: boolean); + /** + * Override the getId abstract function + * QuickCreate does not need any ID + * + * @returns {string} + */ + getId(): string; + /** + * Validate create report configuration. + */ + validate(config: IEmbedConfigurationBase): IError[]; + /** + * Handle config changes. + * + * @hidden + * @returns {void} + */ + configChanged(isBootstrap: boolean): void; + /** + * @hidden + * @returns {string} + */ + getDefaultEmbedUrlEndpoint(): string; + /** + * Sends quickCreate configuration data. + * + * ```javascript + * quickCreate({ + * accessToken: 'eyJ0eXA ... TaE2rTSbmg', + * datasetCreateConfig: {}}) + * ``` + * + * @hidden + * @param {IQuickCreateConfiguration} createConfig + * @returns {Promise} + */ + create(): Promise; + } +} declare module "service" { import { WindowPostMessageProxy } from 'window-post-message-proxy'; import { HttpPostMessage } from 'http-post-message'; import { Router, IExtendedRequest, Response as IExtendedResponse } from 'powerbi-router'; - import { IReportCreateConfiguration } from 'powerbi-models'; + import { IQuickCreateConfiguration, IReportCreateConfiguration } from 'powerbi-models'; import { Embed, IBootstrapEmbedConfiguration, IDashboardEmbedConfiguration, IEmbedConfiguration, IEmbedConfigurationBase, IQnaEmbedConfiguration, IReportEmbedConfiguration, ITileEmbedConfiguration, IVisualEmbedConfiguration } from "embed"; export interface IEvent { type: string; @@ -2120,6 +2193,14 @@ declare module "service" { * @returns {Embed} */ createReport(element: HTMLElement, config: IEmbedConfiguration | IReportCreateConfiguration): Embed; + /** + * Creates new dataset + * + * @param {HTMLElement} element + * @param {IEmbedConfiguration} [config={}] + * @returns {Embed} + */ + quickCreate(element: HTMLElement, config: IQuickCreateConfiguration): Embed; /** * TODO: Add a description here * diff --git a/dist/powerbi.js b/dist/powerbi.js index 304ea40b..d89437fa 100644 --- a/dist/powerbi.js +++ b/dist/powerbi.js @@ -911,7 +911,7 @@ module.exports = shouldUseNative() ? Object.assign : function (target, source) { /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { -// powerbi-models v1.11.0 +// powerbi-models v1.12.0 // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. (function webpackUniversalModuleDefinition(root, factory) { @@ -942,8 +942,9 @@ var __extends = (this && this.__extends) || (function () { }; })(); Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.PageSelector = exports.Selector = exports.SortDirection = exports.LegendPosition = exports.TextAlignment = exports.CommonErrorCodes = exports.BookmarksPlayMode = exports.ExportDataType = exports.QnaMode = exports.PageNavigationPosition = exports.isPercentOfGrandTotal = exports.isColumnAggr = exports.isHierarchyLevelAggr = exports.isHierarchyLevel = exports.isColumn = exports.isMeasure = exports.getFilterType = exports.isBasicFilterWithKeys = exports.isFilterKeyColumnsTarget = exports.HierarchyFilter = exports.AdvancedFilter = exports.TupleFilter = exports.IdentityFilter = exports.BasicFilterWithKeys = exports.BasicFilter = exports.RelativeTimeFilter = exports.RelativeDateFilter = exports.TopNFilter = exports.IncludeExcludeFilter = exports.NotSupportedFilter = exports.Filter = exports.RelativeDateOperators = exports.RelativeDateFilterTimeUnit = exports.FilterType = exports.FiltersLevel = exports.FiltersOperations = exports.MenuLocation = exports.ContrastMode = exports.TokenType = exports.ViewMode = exports.Permissions = exports.SectionVisibility = exports.ReportAlignment = exports.HyperlinkClickBehavior = exports.LayoutType = exports.VisualContainerDisplayMode = exports.BackgroundType = exports.DisplayOption = exports.PageSizeType = exports.TraceType = void 0; -exports.validateZoomLevel = exports.validateCustomTheme = exports.validateCommandsSettings = exports.validateVisualSettings = exports.validateVisualHeader = exports.validateExportDataRequest = exports.validateQnaInterpretInputData = exports.validateLoadQnaConfiguration = exports.validateSaveAsParameters = exports.validateUpdateFiltersRequest = exports.validateFilter = exports.validatePage = exports.validateTileLoad = exports.validateDashboardLoad = exports.validateCreateReport = exports.validatePaginatedReportLoad = exports.validateReportLoad = exports.validateMenuGroupExtension = exports.validateExtension = exports.validateCustomPageSize = exports.validateVisualizationsPane = exports.validateSyncSlicersPane = exports.validateSelectionPane = exports.validatePageNavigationPane = exports.validateFieldsPane = exports.validateFiltersPane = exports.validateBookmarksPane = exports.validatePanes = exports.validateSettings = exports.validateCaptureBookmarkRequest = exports.validateApplyBookmarkStateRequest = exports.validateApplyBookmarkByNameRequest = exports.validateAddBookmarkRequest = exports.validatePlayBookmarkRequest = exports.validateSlicerState = exports.validateSlicer = exports.validateVisualSelector = exports.isIExtensionArray = exports.isIExtensions = exports.isGroupedMenuExtension = exports.isFlatMenuExtension = exports.isReportFiltersArray = exports.isOnLoadFilters = exports.VisualDataRoleKindPreference = exports.VisualDataRoleKind = exports.CommandDisplayOption = exports.SlicerTargetSelector = exports.VisualTypeSelector = exports.VisualSelector = void 0; +exports.SortDirection = exports.LegendPosition = exports.TextAlignment = exports.CommonErrorCodes = exports.BookmarksPlayMode = exports.ExportDataType = exports.QnaMode = exports.PageNavigationPosition = exports.DataCacheMode = exports.ICredentialType = exports.isPercentOfGrandTotal = exports.isColumnAggr = exports.isHierarchyLevelAggr = exports.isHierarchyLevel = exports.isColumn = exports.isMeasure = exports.getFilterType = exports.isBasicFilterWithKeys = exports.isFilterKeyColumnsTarget = exports.HierarchyFilter = exports.AdvancedFilter = exports.TupleFilter = exports.IdentityFilter = exports.BasicFilterWithKeys = exports.BasicFilter = exports.RelativeTimeFilter = exports.RelativeDateFilter = exports.TopNFilter = exports.IncludeExcludeFilter = exports.NotSupportedFilter = exports.Filter = exports.RelativeDateOperators = exports.RelativeDateFilterTimeUnit = exports.FilterType = exports.FiltersLevel = exports.FiltersOperations = exports.MenuLocation = exports.ContrastMode = exports.TokenType = exports.ViewMode = exports.Permissions = exports.SectionVisibility = exports.ReportAlignment = exports.HyperlinkClickBehavior = exports.LayoutType = exports.VisualContainerDisplayMode = exports.BackgroundType = exports.DisplayOption = exports.PageSizeType = exports.TraceType = void 0; +exports.validateCommandsSettings = exports.validateVisualSettings = exports.validateVisualHeader = exports.validateExportDataRequest = exports.validateQnaInterpretInputData = exports.validateLoadQnaConfiguration = exports.validateSaveAsParameters = exports.validateUpdateFiltersRequest = exports.validateFilter = exports.validatePage = exports.validateTileLoad = exports.validateDashboardLoad = exports.validateQuickCreate = exports.validateCreateReport = exports.validatePaginatedReportLoad = exports.validateReportLoad = exports.validateMenuGroupExtension = exports.validateExtension = exports.validateCustomPageSize = exports.validateVisualizationsPane = exports.validateSyncSlicersPane = exports.validateSelectionPane = exports.validatePageNavigationPane = exports.validateFieldsPane = exports.validateFiltersPane = exports.validateBookmarksPane = exports.validatePanes = exports.validateSettings = exports.validateCaptureBookmarkRequest = exports.validateApplyBookmarkStateRequest = exports.validateApplyBookmarkByNameRequest = exports.validateAddBookmarkRequest = exports.validatePlayBookmarkRequest = exports.validateSlicerState = exports.validateSlicer = exports.validateVisualSelector = exports.isIExtensionArray = exports.isIExtensions = exports.isGroupedMenuExtension = exports.isFlatMenuExtension = exports.isReportFiltersArray = exports.isOnLoadFilters = exports.VisualDataRoleKindPreference = exports.VisualDataRoleKind = exports.CommandDisplayOption = exports.SlicerTargetSelector = exports.VisualTypeSelector = exports.VisualSelector = exports.PageSelector = exports.Selector = void 0; +exports.validateZoomLevel = exports.validateCustomTheme = void 0; var validator_1 = __webpack_require__(1); var TraceType; (function (TraceType) { @@ -1427,6 +1428,17 @@ function isPercentOfGrandTotal(arg) { return !!arg.percentOfGrandTotal; } exports.isPercentOfGrandTotal = isPercentOfGrandTotal; +var ICredentialType; +(function (ICredentialType) { + ICredentialType[ICredentialType["NoConnection"] = 0] = "NoConnection"; + ICredentialType[ICredentialType["OnBehalfOf"] = 1] = "OnBehalfOf"; + ICredentialType[ICredentialType["Anonymous"] = 2] = "Anonymous"; +})(ICredentialType = exports.ICredentialType || (exports.ICredentialType = {})); +var DataCacheMode; +(function (DataCacheMode) { + DataCacheMode[DataCacheMode["Import"] = 0] = "Import"; + DataCacheMode[DataCacheMode["DirectQuery"] = 1] = "DirectQuery"; +})(DataCacheMode = exports.DataCacheMode || (exports.DataCacheMode = {})); var PageNavigationPosition; (function (PageNavigationPosition) { PageNavigationPosition[PageNavigationPosition["Bottom"] = 0] = "Bottom"; @@ -1725,6 +1737,11 @@ function validateCreateReport(input) { return errors ? errors.map(normalizeError) : undefined; } exports.validateCreateReport = validateCreateReport; +function validateQuickCreate(input) { + var errors = validator_1.Validators.quickCreateValidator.validate(input); + return errors ? errors.map(normalizeError) : undefined; +} +exports.validateQuickCreate = validateQuickCreate; function validateDashboardLoad(input) { var errors = validator_1.Validators.dashboardLoadValidator.validate(input); return errors ? errors.map(normalizeError) : undefined; @@ -1833,6 +1850,8 @@ var fieldRequiredValidator_1 = __webpack_require__(28); var mapValidator_1 = __webpack_require__(29); var typeValidator_1 = __webpack_require__(4); var parameterPanelValidator_1 = __webpack_require__(30); +var datasetCreateConfigValidator_1 = __webpack_require__(31); +var quickCreateValidator_1 = __webpack_require__(32); exports.Validators = { addBookmarkRequestValidator: new bookmarkValidator_1.AddBookmarkRequestValidator(), advancedFilterTypeValidator: new typeValidator_1.EnumValidator([0]), @@ -1841,6 +1860,7 @@ exports.Validators = { 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(), new filtersValidator_1.HierarchyFilterValidator()]), anyValueValidator: new anyOfValidator_1.AnyOfValidator([new typeValidator_1.StringValidator(), new typeValidator_1.NumberValidator(), new typeValidator_1.BooleanValidator()]), actionBarValidator: new barsValidator_1.ActionBarValidator(), + statusBarValidator: new barsValidator_1.StatusBarValidator(), applyBookmarkByNameRequestValidator: new bookmarkValidator_1.ApplyBookmarkByNameRequestValidator(), applyBookmarkStateRequestValidator: new bookmarkValidator_1.ApplyBookmarkStateRequestValidator(), applyBookmarkValidator: new anyOfValidator_1.AnyOfValidator([new bookmarkValidator_1.ApplyBookmarkByNameRequestValidator(), new bookmarkValidator_1.ApplyBookmarkStateRequestValidator()]), @@ -1852,6 +1872,7 @@ exports.Validators = { bookmarksPaneValidator: new panesValidator_1.BookmarksPaneValidator(), captureBookmarkOptionsValidator: new bookmarkValidator_1.CaptureBookmarkOptionsValidator(), captureBookmarkRequestValidator: new bookmarkValidator_1.CaptureBookmarkRequestValidator(), + columnSchemaArrayValidator: new typeValidator_1.ArrayValidator([new datasetCreateConfigValidator_1.ColumnSchemaValidator()]), commandDisplayOptionValidator: new typeValidator_1.EnumValidator([0, 1, 2]), commandExtensionSelectorValidator: new anyOfValidator_1.AnyOfValidator([new selectorsValidator_1.VisualSelectorValidator(), new selectorsValidator_1.VisualTypeSelectorValidator()]), commandExtensionArrayValidator: new typeValidator_1.ArrayValidator([new extensionsValidator_1.CommandExtensionValidator()]), @@ -1866,6 +1887,8 @@ exports.Validators = { customThemeValidator: new customThemeValidator_1.CustomThemeValidator(), dashboardLoadValidator: new dashboardLoadValidator_1.DashboardLoadValidator(), datasetBindingValidator: new datasetBindingValidator_1.DatasetBindingValidator(), + datasetCreateConfigValidator: new datasetCreateConfigValidator_1.DatasetCreateConfigValidator(), + datasourceConnectionConfigValidator: new datasetCreateConfigValidator_1.DatasourceConnectionConfigValidator(), displayStateModeValidator: new typeValidator_1.EnumValidator([0, 1]), displayStateValidator: new layoutValidator_1.DisplayStateValidator(), exportDataRequestValidator: new exportDataValidator_1.ExportDataRequestValidator(), @@ -1922,6 +1945,8 @@ exports.Validators = { qnaInterpretInputDataValidator: new qnaValidator_1.QnaInterpretInputDataValidator(), qnaPanesValidator: new panesValidator_1.QnaPanesValidator(), qnaSettingValidator: new qnaValidator_1.QnaSettingsValidator(), + quickCreateValidator: new quickCreateValidator_1.QuickCreateValidator(), + rawDataValidator: new typeValidator_1.ArrayValidator([new typeValidator_1.ArrayValidator([new typeValidator_1.StringValidator()])]), 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]), @@ -1947,6 +1972,8 @@ exports.Validators = { stringArrayValidator: new typeValidator_1.StringArrayValidator(), stringValidator: new typeValidator_1.StringValidator(), syncSlicersPaneValidator: new panesValidator_1.SyncSlicersPaneValidator(), + tableDataArrayValidator: new typeValidator_1.ArrayValidator([new datasetCreateConfigValidator_1.TableDataValidator()]), + tableSchemaListValidator: new typeValidator_1.ArrayValidator([new datasetCreateConfigValidator_1.TableSchemaValidator()]), tileLoadValidator: new tileLoadValidator_1.TileLoadValidator(), tokenTypeValidator: new typeValidator_1.EnumValidator([0, 1]), topNFilterTypeValidator: new typeValidator_1.EnumValidator([5]), @@ -1989,7 +2016,7 @@ var __extends = (this && this.__extends) || (function () { }; })(); Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.ActionBarValidator = exports.ReportBarsValidator = void 0; +exports.StatusBarValidator = exports.ActionBarValidator = exports.ReportBarsValidator = void 0; var multipleFieldsValidator_1 = __webpack_require__(3); var typeValidator_1 = __webpack_require__(4); var validator_1 = __webpack_require__(1); @@ -2010,6 +2037,10 @@ var ReportBarsValidator = /** @class */ (function (_super) { { field: "actionBar", validators: [validator_1.Validators.actionBarValidator] + }, + { + field: "statusBar", + validators: [validator_1.Validators.statusBarValidator] } ]; var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields); @@ -2043,6 +2074,31 @@ var ActionBarValidator = /** @class */ (function (_super) { return ActionBarValidator; }(typeValidator_1.ObjectValidator)); exports.ActionBarValidator = ActionBarValidator; +var StatusBarValidator = /** @class */ (function (_super) { + __extends(StatusBarValidator, _super); + function StatusBarValidator() { + return _super !== null && _super.apply(this, arguments) || this; + } + StatusBarValidator.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 StatusBarValidator; +}(typeValidator_1.ObjectValidator)); +exports.StatusBarValidator = StatusBarValidator; /***/ }), @@ -5787,6 +5843,278 @@ var ParametersPanelValidator = /** @class */ (function (_super) { exports.ParametersPanelValidator = ParametersPanelValidator; +/***/ }), +/* 31 */ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. +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 (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; }; + return extendStatics(d, b); + }; + return function (d, b) { + if (typeof b !== "function" && b !== null) + throw new TypeError("Class extends value " + String(b) + " is not a constructor or null"); + 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.TableDataValidator = exports.TableSchemaValidator = exports.ColumnSchemaValidator = exports.DatasourceConnectionConfigValidator = exports.DatasetCreateConfigValidator = void 0; +var multipleFieldsValidator_1 = __webpack_require__(3); +var typeValidator_1 = __webpack_require__(4); +var validator_1 = __webpack_require__(1); +var DatasetCreateConfigValidator = /** @class */ (function (_super) { + __extends(DatasetCreateConfigValidator, _super); + function DatasetCreateConfigValidator() { + return _super !== null && _super.apply(this, arguments) || this; + } + DatasetCreateConfigValidator.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: "locale", + validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.stringValidator] + }, + { + field: "mashupDocument", + validators: [validator_1.Validators.stringValidator] + }, + { + field: "datasourceConnectionConfig", + validators: [validator_1.Validators.datasourceConnectionConfigValidator] + }, + { + field: "tableSchemaList", + validators: [validator_1.Validators.tableSchemaListValidator] + }, + { + field: "data", + validators: [validator_1.Validators.tableDataArrayValidator] + }, + ]; + var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields); + errors = multipleFieldsValidator.validate(input, path, field); + if (errors) { + return errors; + } + if (input["datasourceConnectionConfig"] && input["mashupDocument"] == null) { + return [{ + message: "mashupDocument cannot be empty when datasourceConnectionConfig is presented" + }]; + } + if (input["data"] && input["tableSchemaList"] == null) { + return [{ + message: "tableSchemaList cannot be empty when data is provided" + }]; + } + if (input["data"] == null && input["mashupDocument"] == null) { + return [{ + message: "At least one of data or mashupDocument must be provided" + }]; + } + }; + return DatasetCreateConfigValidator; +}(typeValidator_1.ObjectValidator)); +exports.DatasetCreateConfigValidator = DatasetCreateConfigValidator; +var DatasourceConnectionConfigValidator = /** @class */ (function (_super) { + __extends(DatasourceConnectionConfigValidator, _super); + function DatasourceConnectionConfigValidator() { + return _super !== null && _super.apply(this, arguments) || this; + } + DatasourceConnectionConfigValidator.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: "path", + validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.stringValidator] + }, + { + field: "kind", + validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.stringValidator] + } + ]; + var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields); + return multipleFieldsValidator.validate(input, path, field); + }; + return DatasourceConnectionConfigValidator; +}(typeValidator_1.ObjectValidator)); +exports.DatasourceConnectionConfigValidator = DatasourceConnectionConfigValidator; +var ColumnSchemaValidator = /** @class */ (function (_super) { + __extends(ColumnSchemaValidator, _super); + function ColumnSchemaValidator() { + return _super !== null && _super.apply(this, arguments) || this; + } + ColumnSchemaValidator.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: "dataType", + validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.stringValidator] + } + ]; + var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields); + return multipleFieldsValidator.validate(input, path, field); + }; + return ColumnSchemaValidator; +}(typeValidator_1.ObjectValidator)); +exports.ColumnSchemaValidator = ColumnSchemaValidator; +var TableSchemaValidator = /** @class */ (function (_super) { + __extends(TableSchemaValidator, _super); + function TableSchemaValidator() { + return _super !== null && _super.apply(this, arguments) || this; + } + TableSchemaValidator.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: "columns", + validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.columnSchemaArrayValidator] + } + ]; + var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields); + return multipleFieldsValidator.validate(input, path, field); + }; + return TableSchemaValidator; +}(typeValidator_1.ObjectValidator)); +exports.TableSchemaValidator = TableSchemaValidator; +var TableDataValidator = /** @class */ (function (_super) { + __extends(TableDataValidator, _super); + function TableDataValidator() { + return _super !== null && _super.apply(this, arguments) || this; + } + TableDataValidator.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: "rows", + validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.rawDataValidator] + } + ]; + var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields); + return multipleFieldsValidator.validate(input, path, field); + }; + return TableDataValidator; +}(typeValidator_1.ObjectValidator)); +exports.TableDataValidator = TableDataValidator; + + +/***/ }), +/* 32 */ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. +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 (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; }; + return extendStatics(d, b); + }; + return function (d, b) { + if (typeof b !== "function" && b !== null) + throw new TypeError("Class extends value " + String(b) + " is not a constructor or null"); + 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.QuickCreateValidator = void 0; +var multipleFieldsValidator_1 = __webpack_require__(3); +var typeValidator_1 = __webpack_require__(4); +var validator_1 = __webpack_require__(1); +var QuickCreateValidator = /** @class */ (function (_super) { + __extends(QuickCreateValidator, _super); + function QuickCreateValidator() { + return _super !== null && _super.apply(this, arguments) || this; + } + QuickCreateValidator.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: "groupId", + validators: [validator_1.Validators.stringValidator] + }, + { + field: "tokenType", + validators: [validator_1.Validators.tokenTypeValidator] + }, + { + field: "theme", + validators: [validator_1.Validators.customThemeValidator] + }, + { + field: "datasetCreateConfig", + validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.datasetCreateConfigValidator] + }, + ]; + var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields); + return multipleFieldsValidator.validate(input, path, field); + }; + return QuickCreateValidator; +}(typeValidator_1.ObjectValidator)); +exports.QuickCreateValidator = QuickCreateValidator; + + /***/ }) /******/ ]); /************************************************************************/ @@ -9103,6 +9431,51 @@ var Create = /** @class */ (function (_super) { } return datasetId; }; + /** + * Sends create configuration data. + * + * ```javascript + * create ({ + * datasetId: '5dac7a4a-4452-46b3-99f6-a25915e0fe55', + * accessToken: 'eyJ0eXA ... TaE2rTSbmg', + * ``` + * + * @hidden + * @returns {Promise} + */ + Create.prototype.create = function () { + var _a; + return __awaiter(this, void 0, void 0, function () { + var errors, headers, response, response_1; + return __generator(this, function (_b) { + switch (_b.label) { + case 0: + errors = (0, powerbi_models_1.validateCreateReport)(this.createConfig); + if (errors) { + throw errors; + } + _b.label = 1; + case 1: + _b.trys.push([1, 3, , 4]); + headers = { + uid: this.config.uniqueId, + sdkSessionId: this.service.getSdkSessionId() + }; + if (!!((_a = this.eventHooks) === null || _a === void 0 ? void 0 : _a.accessTokenProvider)) { + headers.tokenProviderSupplied = true; + } + return [4 /*yield*/, this.service.hpm.post("/report/create", this.createConfig, headers, this.iframe.contentWindow)]; + case 2: + response = _b.sent(); + return [2 /*return*/, response.body]; + case 3: + response_1 = _b.sent(); + throw response_1.body; + case 4: return [2 /*return*/]; + } + }); + }); + }; return Create; }(embed_1.Embed)); exports.Create = Create; @@ -9337,7 +9710,7 @@ var Embed = /** @class */ (function () { this.commands = []; this.groups = []; this.populateConfig(config, isBootstrap); - if (this.embedtype === 'create') { + if ((0, util_1.isCreate)(this.embedtype)) { this.setIframe(false /* set EventListener to call create() on 'load' event*/, phasedRender, isBootstrap); } else { @@ -9345,50 +9718,13 @@ var Embed = /** @class */ (function () { } } /** - * Sends createReport configuration data. - * - * ```javascript - * createReport({ - * datasetId: '5dac7a4a-4452-46b3-99f6-a25915e0fe55', - * accessToken: 'eyJ0eXA ... TaE2rTSbmg', - * ``` + * Create is not supported by default * * @hidden - * @param {models.IReportCreateConfiguration} config * @returns {Promise} */ - Embed.prototype.createReport = function (config) { - var _a; - return __awaiter(this, void 0, void 0, function () { - var errors, headers, response, response_1; - return __generator(this, function (_b) { - switch (_b.label) { - case 0: - errors = models.validateCreateReport(config); - if (errors) { - throw errors; - } - _b.label = 1; - case 1: - _b.trys.push([1, 3, , 4]); - headers = { - uid: this.config.uniqueId, - sdkSessionId: this.service.getSdkSessionId() - }; - if (!!((_a = this.eventHooks) === null || _a === void 0 ? void 0 : _a.accessTokenProvider)) { - headers.tokenProviderSupplied = true; - } - return [4 /*yield*/, this.service.hpm.post("/report/create", config, headers, this.iframe.contentWindow)]; - case 2: - response = _b.sent(); - return [2 /*return*/, response.body]; - case 3: - response_1 = _b.sent(); - throw response_1.body; - case 4: return [2 /*return*/]; - } - }); - }); + Embed.prototype.create = function () { + throw new Error("no create support"); }; /** * Saves Report. @@ -9397,7 +9733,7 @@ var Embed = /** @class */ (function () { */ Embed.prototype.save = function () { return __awaiter(this, void 0, void 0, function () { - var response, response_2; + var response, response_1; return __generator(this, function (_a) { switch (_a.label) { case 0: @@ -9407,8 +9743,8 @@ var Embed = /** @class */ (function () { response = _a.sent(); return [2 /*return*/, response.body]; case 2: - response_2 = _a.sent(); - throw response_2.body; + response_1 = _a.sent(); + throw response_1.body; case 3: return [2 /*return*/]; } }); @@ -9421,7 +9757,7 @@ var Embed = /** @class */ (function () { */ Embed.prototype.saveAs = function (saveAsParameters) { return __awaiter(this, void 0, void 0, function () { - var response, response_3; + var response, response_2; return __generator(this, function (_a) { switch (_a.label) { case 0: @@ -9431,8 +9767,8 @@ var Embed = /** @class */ (function () { response = _a.sent(); return [2 /*return*/, response.body]; case 2: - response_3 = _a.sent(); - throw response_3.body; + response_2 = _a.sent(); + throw response_2.body; case 3: return [2 /*return*/]; } }); @@ -9453,7 +9789,7 @@ var Embed = /** @class */ (function () { */ Embed.prototype.getCorrelationId = function () { return __awaiter(this, void 0, void 0, function () { - var response, response_4; + var response, response_3; return __generator(this, function (_a) { switch (_a.label) { case 0: @@ -9463,8 +9799,8 @@ var Embed = /** @class */ (function () { response = _a.sent(); return [2 /*return*/, response.body]; case 2: - response_4 = _a.sent(); - throw response_4.body; + response_3 = _a.sent(); + throw response_3.body; case 3: return [2 /*return*/]; } }); @@ -9499,7 +9835,7 @@ var Embed = /** @class */ (function () { Embed.prototype.load = function (phasedRender) { var _a; return __awaiter(this, void 0, void 0, function () { - var path, headers, timeNow, response, response_5; + var path, headers, timeNow, response, response_4; return __generator(this, function (_b) { switch (_b.label) { case 0: @@ -9535,8 +9871,8 @@ var Embed = /** @class */ (function () { response = _b.sent(); return [2 /*return*/, response.body]; case 3: - response_5 = _b.sent(); - throw response_5.body; + response_4 = _b.sent(); + throw response_4.body; case 4: return [2 /*return*/]; } }); @@ -9628,7 +9964,7 @@ var Embed = /** @class */ (function () { */ Embed.prototype.setAccessToken = function (accessToken) { return __awaiter(this, void 0, void 0, function () { - var embedType, response, response_6; + var embedType, response, response_5; return __generator(this, function (_a) { switch (_a.label) { case 0: @@ -9636,7 +9972,7 @@ var Embed = /** @class */ (function () { throw new Error("Access token cannot be empty"); } embedType = this.config.type; - embedType = (embedType === 'create' || embedType === 'visual' || embedType === 'qna') ? 'report' : embedType; + embedType = (embedType === 'create' || embedType === 'visual' || embedType === 'qna' || embedType === 'quickCreate') ? 'report' : embedType; _a.label = 1; case 1: _a.trys.push([1, 3, , 4]); @@ -9648,8 +9984,8 @@ var Embed = /** @class */ (function () { this.service.accessToken = accessToken; return [2 /*return*/, response.body]; case 3: - response_6 = _a.sent(); - throw response_6.body; + response_5 = _a.sent(); + throw response_5.body; case 4: return [2 /*return*/]; } }); @@ -9898,7 +10234,7 @@ var Embed = /** @class */ (function () { } } else { - this.iframe.addEventListener('load', function () { return _this.createReport(_this.createConfig); }, false); + this.iframe.addEventListener('load', function () { return _this.create(); }, false); } }; /** @@ -9958,7 +10294,7 @@ var Embed = /** @class */ (function () { */ Embed.prototype.frontLoadSendConfig = function (config) { return __awaiter(this, void 0, void 0, function () { - var errors, response, response_7; + var errors, response, response_6; return __generator(this, function (_a) { switch (_a.label) { case 0: @@ -9981,8 +10317,8 @@ var Embed = /** @class */ (function () { response = _a.sent(); return [2 /*return*/, response.body]; case 3: - response_7 = _a.sent(); - throw response_7.body; + response_6 = _a.sent(); + throw response_6.body; case 4: return [2 /*return*/]; } }); @@ -10823,6 +11159,199 @@ var Qna = /** @class */ (function (_super) { exports.Qna = Qna; +/***/ }), + +/***/ "./src/quickCreate.ts": +/*!****************************!*\ + !*** ./src/quickCreate.ts ***! + \****************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. +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 (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; }; + return extendStatics(d, b); + }; + return function (d, b) { + if (typeof b !== "function" && b !== null) + throw new TypeError("Class extends value " + String(b) + " is not a constructor or null"); + extendStatics(d, b); + function __() { this.constructor = d; } + d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); + }; +})(); +var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { + function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } + return new (P || (P = Promise))(function (resolve, reject) { + function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } + function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } + function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } + step((generator = generator.apply(thisArg, _arguments || [])).next()); + }); +}; +var __generator = (this && this.__generator) || function (thisArg, body) { + var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g; + return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g; + function verb(n) { return function (v) { return step([n, v]); }; } + function step(op) { + if (f) throw new TypeError("Generator is already executing."); + while (_) try { + if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t; + if (y = 0, t) op = [op[0] & 2, t.value]; + switch (op[0]) { + case 0: case 1: t = op; break; + case 4: _.label++; return { value: op[1], done: false }; + case 5: _.label++; y = op[1]; op = [0]; continue; + case 7: op = _.ops.pop(); _.trys.pop(); continue; + default: + if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; } + if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; } + if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; } + if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; } + if (t[2]) _.ops.pop(); + _.trys.pop(); continue; + } + op = body.call(thisArg, _); + } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; } + if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true }; + } +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.QuickCreate = void 0; +var powerbi_models_1 = __webpack_require__(/*! powerbi-models */ "./node_modules/powerbi-models/dist/models.js"); +var embed_1 = __webpack_require__(/*! ./embed */ "./src/embed.ts"); +var assert = __webpack_require__(/*! assert */ "./node_modules/assert/assert.js"); +/** + * A Power BI Quick Create component + * + * @export + * @class QuickCreate + * @extends {Embed} + */ +var QuickCreate = /** @class */ (function (_super) { + __extends(QuickCreate, _super); + /* + * @hidden + */ + function QuickCreate(service, element, config, phasedRender, isBootstrap) { + var _this = _super.call(this, service, element, config, /* iframe */ undefined, phasedRender, isBootstrap) || this; + service.router.post("/reports/".concat(_this.config.uniqueId, "/eventHooks/:eventName"), function (req, _res) { return __awaiter(_this, void 0, void 0, function () { + var _a; + var _b; + return __generator(this, function (_c) { + switch (_c.label) { + case 0: + _a = req.params.eventName; + switch (_a) { + case "newAccessToken": return [3 /*break*/, 1]; + } + return [3 /*break*/, 3]; + case 1: + req.body = req.body || {}; + req.body.report = this; + return [4 /*yield*/, service.invokeSDKHook((_b = this.eventHooks) === null || _b === void 0 ? void 0 : _b.accessTokenProvider, req, _res)]; + case 2: + _c.sent(); + return [3 /*break*/, 4]; + case 3: + assert(false, "".concat(req.params.eventName, " eventHook is not supported")); + return [3 /*break*/, 4]; + case 4: return [2 /*return*/]; + } + }); + }); }); + return _this; + } + /** + * Override the getId abstract function + * QuickCreate does not need any ID + * + * @returns {string} + */ + QuickCreate.prototype.getId = function () { + return null; + }; + /** + * Validate create report configuration. + */ + QuickCreate.prototype.validate = function (config) { + return (0, powerbi_models_1.validateQuickCreate)(config); + }; + /** + * Handle config changes. + * + * @hidden + * @returns {void} + */ + QuickCreate.prototype.configChanged = function (isBootstrap) { + if (isBootstrap) { + return; + } + this.createConfig = this.config; + }; + /** + * @hidden + * @returns {string} + */ + QuickCreate.prototype.getDefaultEmbedUrlEndpoint = function () { + return "quickCreate"; + }; + /** + * Sends quickCreate configuration data. + * + * ```javascript + * quickCreate({ + * accessToken: 'eyJ0eXA ... TaE2rTSbmg', + * datasetCreateConfig: {}}) + * ``` + * + * @hidden + * @param {IQuickCreateConfiguration} createConfig + * @returns {Promise} + */ + QuickCreate.prototype.create = function () { + var _a; + return __awaiter(this, void 0, void 0, function () { + var errors, headers, response, response_1; + return __generator(this, function (_b) { + switch (_b.label) { + case 0: + errors = (0, powerbi_models_1.validateQuickCreate)(this.createConfig); + if (errors) { + throw errors; + } + _b.label = 1; + case 1: + _b.trys.push([1, 3, , 4]); + headers = { + uid: this.config.uniqueId, + sdkSessionId: this.service.getSdkSessionId() + }; + if (!!((_a = this.eventHooks) === null || _a === void 0 ? void 0 : _a.accessTokenProvider)) { + headers.tokenProviderSupplied = true; + } + return [4 /*yield*/, this.service.hpm.post("/quickcreate", this.createConfig, headers, this.iframe.contentWindow)]; + case 2: + response = _b.sent(); + return [2 /*return*/, response.body]; + case 3: + response_1 = _b.sent(); + throw response_1.body; + case 4: return [2 /*return*/]; + } + }); + }); + }; + return QuickCreate; +}(embed_1.Embed)); +exports.QuickCreate = QuickCreate; + + /***/ }), /***/ "./src/report.ts": @@ -12389,6 +12918,7 @@ var page_1 = __webpack_require__(/*! ./page */ "./src/page.ts"); var qna_1 = __webpack_require__(/*! ./qna */ "./src/qna.ts"); var visual_1 = __webpack_require__(/*! ./visual */ "./src/visual.ts"); var utils = __webpack_require__(/*! ./util */ "./src/util.ts"); +var quickCreate_1 = __webpack_require__(/*! ./quickCreate */ "./src/quickCreate.ts"); var sdkConfig = __webpack_require__(/*! ./config */ "./src/config.ts"); /** * The Power BI Service embed component, which is the entry point to embed all other Power BI components into your application @@ -12508,6 +13038,21 @@ var Service = /** @class */ (function () { this.addOrOverwriteEmbed(component, element); return component; }; + /** + * Creates new dataset + * + * @param {HTMLElement} element + * @param {IEmbedConfiguration} [config={}] + * @returns {Embed} + */ + Service.prototype.quickCreate = function (element, config) { + config.type = 'quickCreate'; + var powerBiElement = element; + var component = new quickCreate_1.QuickCreate(this, powerBiElement, config); + powerBiElement.powerBiEmbed = component; + this.addOrOverwriteEmbed(component, element); + return component; + }; /** * TODO: Add a description here * @@ -12648,7 +13193,7 @@ var Service = /** @class */ (function () { /** * When loading report after create we want to use existing Iframe to optimize load period */ - if (config.type === "report" && component.config.type === "create") { + if (config.type === "report" && utils.isCreate(component.config.type)) { var report = new report_1.Report(this, element, config, /* phasedRender */ false, /* isBootstrap */ false, element.powerBiEmbed.iframe); component.populateConfig(config, /* isBootstrap */ false); report.load(); @@ -13040,7 +13585,7 @@ var __generator = (this && this.__generator) || function (thisArg, body) { } }; Object.defineProperty(exports, "__esModule", { value: true }); -exports.getTimeDiffInMilliseconds = exports.getRandomValue = exports.autoAuthInEmbedUrl = exports.isRDLEmbed = exports.isSavedInternal = exports.addParamToUrl = exports.generateUUID = exports.createRandomString = exports.assign = exports.remove = exports.find = exports.findIndex = exports.raiseCustomEvent = void 0; +exports.isCreate = exports.getTimeDiffInMilliseconds = exports.getRandomValue = exports.autoAuthInEmbedUrl = exports.isRDLEmbed = exports.isSavedInternal = exports.addParamToUrl = exports.generateUUID = exports.createRandomString = exports.assign = exports.remove = exports.find = exports.findIndex = exports.raiseCustomEvent = void 0; /** * Raises a custom event with event data on the specified HTML element. * @@ -13259,6 +13804,17 @@ function getTimeDiffInMilliseconds(start, end) { return Math.abs(start.getTime() - end.getTime()); } exports.getTimeDiffInMilliseconds = getTimeDiffInMilliseconds; +/** + * Checks if the embed type is for create + * + * @export + * @param {string} embedType + * @returns {boolean} + */ +function isCreate(embedType) { + return embedType === 'create' || embedType === 'quickcreate'; +} +exports.isCreate = isCreate; /***/ }), diff --git a/dist/powerbi.min.js b/dist/powerbi.min.js index d24eac5c..5b5b521d 100644 --- a/dist/powerbi.min.js +++ b/dist/powerbi.min.js @@ -1,21 +1,21 @@ // powerbi-client v2.21.1 // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. -!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){var e={};function r(i){if(e[i])return e[i].exports;var a=e[i]={i:i,l:!1,exports:{}};return t[i].call(a.exports,a,a.exports,r),a.l=!0,a.exports}return r.m=t,r.c=e,r.d=function(t,e,i){r.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:i})},r.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},r.t=function(t,e){if(1&e&&(t=r(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var i=Object.create(null);if(r.r(i),Object.defineProperty(i,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var a in t)r.d(i,a,function(e){return t[e]}.bind(null,a));return i},r.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return r.d(e,"a",e),e},r.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},r.p="",r(r.s=13)}([function(t,e,r){var i;i=()=>{return t=[function(t,e,r){var i,a=this&&this.__extends||(i=function(t,e){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])})(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.PageSelector=e.Selector=e.SortDirection=e.LegendPosition=e.TextAlignment=e.CommonErrorCodes=e.BookmarksPlayMode=e.ExportDataType=e.QnaMode=e.PageNavigationPosition=e.isPercentOfGrandTotal=e.isColumnAggr=e.isHierarchyLevelAggr=e.isHierarchyLevel=e.isColumn=e.isMeasure=e.getFilterType=e.isBasicFilterWithKeys=e.isFilterKeyColumnsTarget=e.HierarchyFilter=e.AdvancedFilter=e.TupleFilter=e.IdentityFilter=e.BasicFilterWithKeys=e.BasicFilter=e.RelativeTimeFilter=e.RelativeDateFilter=e.TopNFilter=e.IncludeExcludeFilter=e.NotSupportedFilter=e.Filter=e.RelativeDateOperators=e.RelativeDateFilterTimeUnit=e.FilterType=e.FiltersLevel=e.FiltersOperations=e.MenuLocation=e.ContrastMode=e.TokenType=e.ViewMode=e.Permissions=e.SectionVisibility=e.ReportAlignment=e.HyperlinkClickBehavior=e.LayoutType=e.VisualContainerDisplayMode=e.BackgroundType=e.DisplayOption=e.PageSizeType=e.TraceType=void 0,e.validateZoomLevel=e.validateCustomTheme=e.validateCommandsSettings=e.validateVisualSettings=e.validateVisualHeader=e.validateExportDataRequest=e.validateQnaInterpretInputData=e.validateLoadQnaConfiguration=e.validateSaveAsParameters=e.validateUpdateFiltersRequest=e.validateFilter=e.validatePage=e.validateTileLoad=e.validateDashboardLoad=e.validateCreateReport=e.validatePaginatedReportLoad=e.validateReportLoad=e.validateMenuGroupExtension=e.validateExtension=e.validateCustomPageSize=e.validateVisualizationsPane=e.validateSyncSlicersPane=e.validateSelectionPane=e.validatePageNavigationPane=e.validateFieldsPane=e.validateFiltersPane=e.validateBookmarksPane=e.validatePanes=e.validateSettings=e.validateCaptureBookmarkRequest=e.validateApplyBookmarkStateRequest=e.validateApplyBookmarkByNameRequest=e.validateAddBookmarkRequest=e.validatePlayBookmarkRequest=e.validateSlicerState=e.validateSlicer=e.validateVisualSelector=e.isIExtensionArray=e.isIExtensions=e.isGroupedMenuExtension=e.isFlatMenuExtension=e.isReportFiltersArray=e.isOnLoadFilters=e.VisualDataRoleKindPreference=e.VisualDataRoleKind=e.CommandDisplayOption=e.SlicerTargetSelector=e.VisualTypeSelector=e.VisualSelector=void 0;var n,o=r(1);!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"}(e.TraceType||(e.TraceType={})),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",t[t.Mobile=5]="Mobile"}(e.PageSizeType||(e.PageSizeType={})),function(t){t[t.FitToPage=0]="FitToPage",t[t.FitToWidth=1]="FitToWidth",t[t.ActualSize=2]="ActualSize"}(e.DisplayOption||(e.DisplayOption={})),function(t){t[t.Default=0]="Default",t[t.Transparent=1]="Transparent"}(e.BackgroundType||(e.BackgroundType={})),function(t){t[t.Visible=0]="Visible",t[t.Hidden=1]="Hidden"}(e.VisualContainerDisplayMode||(e.VisualContainerDisplayMode={})),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={})),function(t){t[t.Navigate=0]="Navigate",t[t.NavigateAndRaiseEvent=1]="NavigateAndRaiseEvent",t[t.RaiseEvent=2]="RaiseEvent"}(e.HyperlinkClickBehavior||(e.HyperlinkClickBehavior={})),function(t){t[t.Left=0]="Left",t[t.Center=1]="Center",t[t.Right=2]="Right",t[t.None=3]="None"}(e.ReportAlignment||(e.ReportAlignment={})),function(t){t[t.AlwaysVisible=0]="AlwaysVisible",t[t.HiddenInViewMode=1]="HiddenInViewMode"}(e.SectionVisibility||(e.SectionVisibility={})),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"}(e.Permissions||(e.Permissions={})),function(t){t[t.View=0]="View",t[t.Edit=1]="Edit"}(e.ViewMode||(e.ViewMode={})),function(t){t[t.Aad=0]="Aad",t[t.Embed=1]="Embed"}(e.TokenType||(e.TokenType={})),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"}(e.ContrastMode||(e.ContrastMode={})),function(t){t[t.Bottom=0]="Bottom",t[t.Top=1]="Top"}(e.MenuLocation||(e.MenuLocation={})),function(t){t[t.RemoveAll=0]="RemoveAll",t[t.ReplaceAll=1]="ReplaceAll",t[t.Add=2]="Add",t[t.Replace=3]="Replace"}(e.FiltersOperations||(e.FiltersOperations={})),function(t){t[t.Report=0]="Report",t[t.Page=1]="Page",t[t.Visual=2]="Visual"}(e.FiltersLevel||(e.FiltersLevel={})),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",t[t.Identity=8]="Identity",t[t.Hierarchy=9]="Hierarchy"}(n=e.FilterType||(e.FilterType={})),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"}(e.RelativeDateFilterTimeUnit||(e.RelativeDateFilterTimeUnit={})),function(t){t[t.InLast=0]="InLast",t[t.InThis=1]="InThis",t[t.InNext=2]="InNext"}(e.RelativeDateOperators||(e.RelativeDateOperators={}));var l=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=l;var s=function(t){function e(r,i,a){var o=t.call(this,r,n.Unknown)||this;return o.message=i,o.notSupportedTypeName=a,o.schemaUrl=e.schemaUrl,o}return a(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}(l);e.NotSupportedFilter=s;var u=function(t){function e(r,i,a){var o=t.call(this,r,n.IncludeExclude)||this;return o.values=a,o.isExclude=i,o.schemaUrl=e.schemaUrl,o}return a(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}(l);e.IncludeExcludeFilter=u;var d=function(t){function e(r,i,a,o){var l=t.call(this,r,n.TopN)||this;return l.operator=i,l.itemCount=a,l.schemaUrl=e.schemaUrl,l.orderBy=o,l}return a(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}(l);e.TopNFilter=d;var c=function(t){function e(r,i,a,o,l){var s=t.call(this,r,n.RelativeDate)||this;return s.operator=i,s.timeUnitsCount=a,s.timeUnitType=o,s.includeToday=l,s.schemaUrl=e.schemaUrl,s}return a(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}(l);e.RelativeDateFilter=c;var p=function(t){function e(r,i,a,o){var l=t.call(this,r,n.RelativeTime)||this;return l.operator=i,l.timeUnitsCount=a,l.timeUnitType=o,l.schemaUrl=e.schemaUrl,l}return a(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}(l);e.RelativeTimeFilter=p;var f=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 ".concat(o," keys"));if(0===o&&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,s=n.keyValues;l2)throw new Error("AdvancedFilters may not have more than two conditions. You passed: ".concat(a.length));if(1===l.length&&"And"!==i)throw new Error('Logical Operator must be "And" when there is only one condition provided');return s.conditions=l,s}return a(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}(l);e.AdvancedFilter=m;var g=function(t){function e(r,i){var a=t.call(this,r,n.Hierarchy)||this;return a.schemaUrl=e.schemaUrl,a.hierarchyData=i,a}return a(e,t),e.prototype.toJSON=function(){var e=t.prototype.toJSON.call(this);return e.hierarchyData=this.hierarchyData,e.target=this.target,e},e.schemaUrl="http://powerbi.com/product/schema#hierarchy",e}(l);function V(t){if(t.filterType)return t.filterType;var e=t,r=t;return"string"==typeof e.operator&&Array.isArray(e.values)?n.Basic:"string"==typeof r.logicalOperator&&Array.isArray(r.conditions)?n.Advanced:n.Unknown}function b(t){return!(!t.table||!t.column||t.aggregationFunction)}e.HierarchyFilter=g,e.isFilterKeyColumnsTarget=function(t){return b(t)&&!!t.keys},e.isBasicFilterWithKeys=function(t){return V(t)===n.Basic&&!!t.keyValues},e.getFilterType=V,e.isMeasure=function(t){return void 0!==t.table&&void 0!==t.measure},e.isColumn=b,e.isHierarchyLevel=function(t){return!(!(t.table&&t.hierarchy&&t.hierarchyLevel)||t.aggregationFunction)},e.isHierarchyLevelAggr=function(t){return!!(t.table&&t.hierarchy&&t.hierarchyLevel&&t.aggregationFunction)},e.isColumnAggr=function(t){return!!(t.table&&t.column&&t.aggregationFunction)},e.isPercentOfGrandTotal=function(t){return!!t.percentOfGrandTotal},function(t){t[t.Bottom=0]="Bottom",t[t.Left=1]="Left"}(e.PageNavigationPosition||(e.PageNavigationPosition={})),function(t){t[t.Interactive=0]="Interactive",t[t.ResultOnly=1]="ResultOnly"}(e.QnaMode||(e.QnaMode={})),function(t){t[t.Summarized=0]="Summarized",t[t.Underlying=1]="Underlying"}(e.ExportDataType||(e.ExportDataType={})),function(t){t[t.Off=0]="Off",t[t.Presentation=1]="Presentation"}(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"},function(t){t[t.Ascending=1]="Ascending",t[t.Descending=2]="Descending"}(e.SortDirection||(e.SortDirection={}));var w=function(){function t(t){this.$schema=t}return t.prototype.toJSON=function(){return{$schema:this.$schema}},t}();e.Selector=w;var O=function(t){function e(r){var i=t.call(this,e.schemaUrl)||this;return i.pageName=r,i}return a(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}(w);e.PageSelector=O;var P=function(t){function e(r){var i=t.call(this,e.schemaUrl)||this;return i.visualName=r,i}return a(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}(w);e.VisualSelector=P;var S=function(t){function e(e){var r=t.call(this,P.schemaUrl)||this;return r.visualType=e,r}return a(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}(w);e.VisualTypeSelector=S;var E=function(t){function e(e){var r=t.call(this,P.schemaUrl)||this;return r.target=e,r}return a(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}(w);function T(t){return Array.isArray(t)}function _(t){return t&&!!t.groupName}function F(t){return Array.isArray(t)}function x(t){var e=t.message;return e||(e="".concat(t.path," is invalid. Not meeting ").concat(t.keyword," constraint")),{message:e}}e.SlicerTargetSelector=E,function(t){t[t.Enabled=0]="Enabled",t[t.Disabled=1]="Disabled",t[t.Hidden=2]="Hidden"}(e.CommandDisplayOption||(e.CommandDisplayOption={})),function(t){t[t.Grouping=0]="Grouping",t[t.Measure=1]="Measure",t[t.GroupingOrMeasure=2]="GroupingOrMeasure"}(e.VisualDataRoleKind||(e.VisualDataRoleKind={})),function(t){t[t.Measure=0]="Measure",t[t.Grouping=1]="Grouping"}(e.VisualDataRoleKindPreference||(e.VisualDataRoleKindPreference={})),e.isOnLoadFilters=function(t){return t&&!T(t)},e.isReportFiltersArray=T,e.isFlatMenuExtension=function(t){return t&&!_(t)},e.isGroupedMenuExtension=_,e.isIExtensions=function(t){return t&&!F(t)},e.isIExtensionArray=F,e.validateVisualSelector=function(t){var e=o.Validators.visualSelectorValidator.validate(t);return e?e.map(x):void 0},e.validateSlicer=function(t){var e=o.Validators.slicerValidator.validate(t);return e?e.map(x):void 0},e.validateSlicerState=function(t){var e=o.Validators.slicerStateValidator.validate(t);return e?e.map(x):void 0},e.validatePlayBookmarkRequest=function(t){var e=o.Validators.playBookmarkRequestValidator.validate(t);return e?e.map(x):void 0},e.validateAddBookmarkRequest=function(t){var e=o.Validators.addBookmarkRequestValidator.validate(t);return e?e.map(x):void 0},e.validateApplyBookmarkByNameRequest=function(t){var e=o.Validators.applyBookmarkByNameRequestValidator.validate(t);return e?e.map(x):void 0},e.validateApplyBookmarkStateRequest=function(t){var e=o.Validators.applyBookmarkStateRequestValidator.validate(t);return e?e.map(x):void 0},e.validateCaptureBookmarkRequest=function(t){var e=o.Validators.captureBookmarkRequestValidator.validate(t);return e?e.map(x):void 0},e.validateSettings=function(t){var e=o.Validators.settingsValidator.validate(t);return e?e.map(x):void 0},e.validatePanes=function(t){var e=o.Validators.reportPanesValidator.validate(t);return e?e.map(x):void 0},e.validateBookmarksPane=function(t){var e=o.Validators.bookmarksPaneValidator.validate(t);return e?e.map(x):void 0},e.validateFiltersPane=function(t){var e=o.Validators.filtersPaneValidator.validate(t);return e?e.map(x):void 0},e.validateFieldsPane=function(t){var e=o.Validators.fieldsPaneValidator.validate(t);return e?e.map(x):void 0},e.validatePageNavigationPane=function(t){var e=o.Validators.pageNavigationPaneValidator.validate(t);return e?e.map(x):void 0},e.validateSelectionPane=function(t){var e=o.Validators.selectionPaneValidator.validate(t);return e?e.map(x):void 0},e.validateSyncSlicersPane=function(t){var e=o.Validators.syncSlicersPaneValidator.validate(t);return e?e.map(x):void 0},e.validateVisualizationsPane=function(t){var e=o.Validators.visualizationsPaneValidator.validate(t);return e?e.map(x):void 0},e.validateCustomPageSize=function(t){var e=o.Validators.customPageSizeValidator.validate(t);return e?e.map(x):void 0},e.validateExtension=function(t){var e=o.Validators.extensionValidator.validate(t);return e?e.map(x):void 0},e.validateMenuGroupExtension=function(t){var e=o.Validators.menuGroupExtensionValidator.validate(t);return e?e.map(x):void 0},e.validateReportLoad=function(t){var e=o.Validators.reportLoadValidator.validate(t);return e?e.map(x):void 0},e.validatePaginatedReportLoad=function(t){var e=o.Validators.paginatedReportLoadValidator.validate(t);return e?e.map(x):void 0},e.validateCreateReport=function(t){var e=o.Validators.reportCreateValidator.validate(t);return e?e.map(x):void 0},e.validateDashboardLoad=function(t){var e=o.Validators.dashboardLoadValidator.validate(t);return e?e.map(x):void 0},e.validateTileLoad=function(t){var e=o.Validators.tileLoadValidator.validate(t);return e?e.map(x):void 0},e.validatePage=function(t){var e=o.Validators.pageValidator.validate(t);return e?e.map(x):void 0},e.validateFilter=function(t){var e=o.Validators.filterValidator.validate(t);return e?e.map(x):void 0},e.validateUpdateFiltersRequest=function(t){var e=o.Validators.updateFiltersRequestValidator.validate(t);return e?e.map(x):void 0},e.validateSaveAsParameters=function(t){var e=o.Validators.saveAsParametersValidator.validate(t);return e?e.map(x):void 0},e.validateLoadQnaConfiguration=function(t){var e=o.Validators.loadQnaValidator.validate(t);return e?e.map(x):void 0},e.validateQnaInterpretInputData=function(t){var e=o.Validators.qnaInterpretInputDataValidator.validate(t);return e?e.map(x):void 0},e.validateExportDataRequest=function(t){var e=o.Validators.exportDataRequestValidator.validate(t);return e?e.map(x):void 0},e.validateVisualHeader=function(t){var e=o.Validators.visualHeaderValidator.validate(t);return e?e.map(x):void 0},e.validateVisualSettings=function(t){var e=o.Validators.visualSettingsValidator.validate(t);return e?e.map(x):void 0},e.validateCommandsSettings=function(t){var e=o.Validators.commandsSettingsValidator.validate(t);return e?e.map(x):void 0},e.validateCustomTheme=function(t){var e=o.Validators.customThemeValidator.validate(t);return e?e.map(x):void 0},e.validateZoomLevel=function(t){var e=o.Validators.zoomLevelValidator.validate(t);return e?e.map(x):void 0}},(t,e,r)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.Validators=void 0;var i=r(2),a=r(5),n=r(6),o=r(7),l=r(8),s=r(9),u=r(10),d=r(11),c=r(12),p=r(13),f=r(14),h=r(15),v=r(16),y=r(17),m=r(18),g=r(19),V=r(20),b=r(21),w=r(22),O=r(23),P=r(24),S=r(25),E=r(26),T=r(27),_=r(28),F=r(29),x=r(4),R=r(30);e.Validators={addBookmarkRequestValidator:new a.AddBookmarkRequestValidator,advancedFilterTypeValidator:new x.EnumValidator([0]),advancedFilterValidator:new c.AdvancedFilterValidator,anyArrayValidator:new x.ArrayValidator([new E.AnyOfValidator([new x.StringValidator,new x.NumberValidator,new x.BooleanValidator])]),anyFilterValidator:new E.AnyOfValidator([new c.BasicFilterValidator,new c.AdvancedFilterValidator,new c.IncludeExcludeFilterValidator,new c.NotSupportedFilterValidator,new c.RelativeDateFilterValidator,new c.TopNFilterValidator,new c.RelativeTimeFilterValidator,new c.HierarchyFilterValidator]),anyValueValidator:new E.AnyOfValidator([new x.StringValidator,new x.NumberValidator,new x.BooleanValidator]),actionBarValidator:new i.ActionBarValidator,applyBookmarkByNameRequestValidator:new a.ApplyBookmarkByNameRequestValidator,applyBookmarkStateRequestValidator:new a.ApplyBookmarkStateRequestValidator,applyBookmarkValidator:new E.AnyOfValidator([new a.ApplyBookmarkByNameRequestValidator,new a.ApplyBookmarkStateRequestValidator]),backgroundValidator:new x.EnumValidator([0,1]),basicFilterTypeValidator:new x.EnumValidator([1]),basicFilterValidator:new c.BasicFilterValidator,booleanArrayValidator:new x.BooleanArrayValidator,booleanValidator:new x.BooleanValidator,bookmarksPaneValidator:new h.BookmarksPaneValidator,captureBookmarkOptionsValidator:new a.CaptureBookmarkOptionsValidator,captureBookmarkRequestValidator:new a.CaptureBookmarkRequestValidator,commandDisplayOptionValidator:new x.EnumValidator([0,1,2]),commandExtensionSelectorValidator:new E.AnyOfValidator([new b.VisualSelectorValidator,new b.VisualTypeSelectorValidator]),commandExtensionArrayValidator:new x.ArrayValidator([new d.CommandExtensionValidator]),commandExtensionValidator:new d.CommandExtensionValidator,commandsSettingsArrayValidator:new x.ArrayValidator([new n.CommandsSettingsValidator]),commandsSettingsValidator:new n.CommandsSettingsValidator,conditionItemValidator:new c.ConditionItemValidator,contrastModeValidator:new x.EnumValidator([0,1,2,3,4]),customLayoutDisplayOptionValidator:new x.EnumValidator([0,1,2]),customLayoutValidator:new p.CustomLayoutValidator,customPageSizeValidator:new f.CustomPageSizeValidator,customThemeValidator:new o.CustomThemeValidator,dashboardLoadValidator:new l.DashboardLoadValidator,datasetBindingValidator:new s.DatasetBindingValidator,displayStateModeValidator:new x.EnumValidator([0,1]),displayStateValidator:new p.DisplayStateValidator,exportDataRequestValidator:new u.ExportDataRequestValidator,extensionArrayValidator:new x.ArrayValidator([new d.ExtensionValidator]),extensionsValidator:new E.AnyOfValidator([new x.ArrayValidator([new d.ExtensionValidator]),new d.ExtensionsValidator]),extensionPointsValidator:new d.ExtensionPointsValidator,extensionValidator:new d.ExtensionValidator,fieldForbiddenValidator:new T.FieldForbiddenValidator,fieldRequiredValidator:new _.FieldRequiredValidator,fieldsPaneValidator:new h.FieldsPaneValidator,filterColumnTargetValidator:new c.FilterColumnTargetValidator,filterDisplaySettingsValidator:new c.FilterDisplaySettingsValidator,filterConditionsValidator:new x.ArrayValidator([new c.ConditionItemValidator]),filterHierarchyTargetValidator:new c.FilterHierarchyTargetValidator,filterMeasureTargetValidator:new c.FilterMeasureTargetValidator,filterTargetValidator:new E.AnyOfValidator([new c.FilterColumnTargetValidator,new c.FilterHierarchyTargetValidator,new c.FilterMeasureTargetValidator,new x.ArrayValidator([new E.AnyOfValidator([new c.FilterColumnTargetValidator,new c.FilterHierarchyTargetValidator,new c.FilterMeasureTargetValidator,new c.FilterKeyColumnsTargetValidator,new c.FilterKeyHierarchyTargetValidator])])]),filterValidator:new c.FilterValidator,filterTypeValidator:new x.EnumValidator([0,1,2,3,4,5,6,7,9]),filtersArrayValidator:new x.ArrayValidator([new c.FilterValidator]),filtersOperationsUpdateValidator:new x.EnumValidator([1,2,3]),filtersOperationsRemoveAllValidator:new x.EnumValidator([0]),filtersPaneValidator:new h.FiltersPaneValidator,hyperlinkClickBehaviorValidator:new x.EnumValidator([0,1,2]),includeExcludeFilterValidator:new c.IncludeExcludeFilterValidator,includeExludeFilterTypeValidator:new x.EnumValidator([3]),hierarchyFilterTypeValidator:new x.EnumValidator([9]),hierarchyFilterValuesValidator:new x.ArrayValidator([new c.HierarchyFilterNodeValidator]),layoutTypeValidator:new x.EnumValidator([0,1,2,3]),loadQnaValidator:new v.LoadQnaValidator,menuExtensionValidator:new E.AnyOfValidator([new d.FlatMenuExtensionValidator,new d.GroupedMenuExtensionValidator]),menuGroupExtensionArrayValidator:new x.ArrayValidator([new d.MenuGroupExtensionValidator]),menuGroupExtensionValidator:new d.MenuGroupExtensionValidator,menuLocationValidator:new x.EnumValidator([0,1]),notSupportedFilterTypeValidator:new x.EnumValidator([2]),notSupportedFilterValidator:new c.NotSupportedFilterValidator,numberArrayValidator:new x.NumberArrayValidator,numberValidator:new x.NumberValidator,onLoadFiltersBaseValidator:new E.AnyOfValidator([new c.OnLoadFiltersBaseValidator,new c.OnLoadFiltersBaseRemoveOperationValidator]),pageLayoutValidator:new F.MapValidator([new x.StringValidator],[new p.VisualLayoutValidator]),pageNavigationPaneValidator:new h.PageNavigationPaneValidator,pageNavigationPositionValidator:new x.EnumValidator([0,1]),pageSizeTypeValidator:new x.EnumValidator([0,1,2,3,4,5]),pageSizeValidator:new f.PageSizeValidator,pageValidator:new f.PageValidator,pageViewFieldValidator:new f.PageViewFieldValidator,pagesLayoutValidator:new F.MapValidator([new x.StringValidator],[new p.PageLayoutValidator]),paginatedReportCommandsValidator:new n.PaginatedReportCommandsValidator,paginatedReportLoadValidator:new g.PaginatedReportLoadValidator,paginatedReportsettingsValidator:new w.PaginatedReportSettingsValidator,parameterValuesArrayValidator:new x.ArrayValidator([new g.ReportParameterFieldsValidator]),parametersPanelValidator:new R.ParametersPanelValidator,permissionsValidator:new x.EnumValidator([0,1,2,4,7]),playBookmarkRequestValidator:new a.PlayBookmarkRequestValidator,qnaInterpretInputDataValidator:new v.QnaInterpretInputDataValidator,qnaPanesValidator:new h.QnaPanesValidator,qnaSettingValidator:new v.QnaSettingsValidator,relativeDateFilterOperatorValidator:new x.EnumValidator([0,1,2]),relativeDateFilterTimeUnitTypeValidator:new x.EnumValidator([0,1,2,3,4,5,6]),relativeDateFilterTypeValidator:new x.EnumValidator([4]),relativeDateFilterValidator:new c.RelativeDateFilterValidator,relativeDateTimeFilterTypeValidator:new x.EnumValidator([4,7]),relativeDateTimeFilterUnitTypeValidator:new x.EnumValidator([0,1,2,3,4,5,6,7,8]),relativeTimeFilterTimeUnitTypeValidator:new x.EnumValidator([7,8]),relativeTimeFilterTypeValidator:new x.EnumValidator([7]),relativeTimeFilterValidator:new c.RelativeTimeFilterValidator,reportBarsValidator:new i.ReportBarsValidator,reportCreateValidator:new y.ReportCreateValidator,reportLoadFiltersValidator:new E.AnyOfValidator([new x.ArrayValidator([new c.FilterValidator]),new c.OnLoadFiltersValidator]),reportLoadValidator:new m.ReportLoadValidator,reportPanesValidator:new h.ReportPanesValidator,saveAsParametersValidator:new V.SaveAsParametersValidator,selectionPaneValidator:new h.SelectionPaneValidator,settingsValidator:new w.SettingsValidator,singleCommandSettingsValidator:new n.SingleCommandSettingsValidator,slicerSelectorValidator:new E.AnyOfValidator([new b.VisualSelectorValidator,new b.SlicerTargetSelectorValidator]),slicerStateValidator:new O.SlicerStateValidator,slicerTargetValidator:new E.AnyOfValidator([new c.FilterColumnTargetValidator,new c.FilterHierarchyTargetValidator,new c.FilterMeasureTargetValidator,new c.FilterKeyColumnsTargetValidator,new c.FilterKeyHierarchyTargetValidator]),slicerValidator:new O.SlicerValidator,stringArrayValidator:new x.StringArrayValidator,stringValidator:new x.StringValidator,syncSlicersPaneValidator:new h.SyncSlicersPaneValidator,tileLoadValidator:new P.TileLoadValidator,tokenTypeValidator:new x.EnumValidator([0,1]),topNFilterTypeValidator:new x.EnumValidator([5]),topNFilterValidator:new c.TopNFilterValidator,updateFiltersRequestValidator:new E.AnyOfValidator([new c.UpdateFiltersRequestValidator,new c.RemoveFiltersRequestValidator]),viewModeValidator:new x.EnumValidator([0,1]),visualCommandSelectorValidator:new E.AnyOfValidator([new b.VisualSelectorValidator,new b.VisualTypeSelectorValidator]),visualHeaderSelectorValidator:new E.AnyOfValidator([new b.VisualSelectorValidator,new b.VisualTypeSelectorValidator]),visualHeaderSettingsValidator:new S.VisualHeaderSettingsValidator,visualHeaderValidator:new S.VisualHeaderValidator,visualHeadersValidator:new x.ArrayValidator([new S.VisualHeaderValidator]),visualizationsPaneValidator:new h.VisualizationsPaneValidator,visualLayoutValidator:new p.VisualLayoutValidator,visualSelectorValidator:new b.VisualSelectorValidator,visualSettingsValidator:new S.VisualSettingsValidator,visualTypeSelectorValidator:new b.VisualTypeSelectorValidator,zoomLevelValidator:new x.RangeValidator(.25,4)}},function(t,e,r){var i,a=this&&this.__extends||(i=function(t,e){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])})(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.ActionBarValidator=e.ReportBarsValidator=void 0;var n=r(3),o=r(4),l=r(1),s=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return a(e,t),e.prototype.validate=function(e,r,i){if(null==e)return null;var a=t.prototype.validate.call(this,e,r,i);if(a)return a;var o=[{field:"actionBar",validators:[l.Validators.actionBarValidator]}];return new n.MultipleFieldsValidator(o).validate(e,r,i)},e}(o.ObjectValidator);e.ReportBarsValidator=s;var u=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return a(e,t),e.prototype.validate=function(e,r,i){if(null==e)return null;var a=t.prototype.validate.call(this,e,r,i);if(a)return a;var o=[{field:"visible",validators:[l.Validators.booleanValidator]}];return new n.MultipleFieldsValidator(o).validate(e,r,i)},e}(o.ObjectValidator);e.ActionBarValidator=u},(t,e)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.MultipleFieldsValidator=void 0;var r=function(){function t(t){this.fieldValidatorsPairs=t}return t.prototype.validate=function(t,e,r){if(!this.fieldValidatorsPairs)return null;for(var i=e?e+"."+r:r,a=0,n=this.fieldValidatorsPairs;athis.maxValue||e{Object.defineProperty(e,"__esModule",{value:!0}),e.AnyOfValidator=void 0;var r=function(){function t(t){this.validators=t}return t.prototype.validate=function(t,e,r){if(null==t)return null;for(var i=!1,a=0,n=this.validators;a{Object.defineProperty(e,"__esModule",{value:!0}),e.FieldForbiddenValidator=void 0;var r=function(){function t(){}return t.prototype.validate=function(t,e,r){return void 0!==t?[{message:r+" is forbidden",path:(e?e+".":"")+r,keyword:"forbidden"}]:null},t}();e.FieldForbiddenValidator=r},(t,e)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.FieldRequiredValidator=void 0;var r=function(){function t(){}return t.prototype.validate=function(t,e,r){return null==t?[{message:r+" is required",path:(e?e+".":"")+r,keyword:"required"}]:null},t}();e.FieldRequiredValidator=r},function(t,e,r){var i,a=this&&this.__extends||(i=function(t,e){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])})(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.MapValidator=void 0;var n=function(t){function e(e,r){var i=t.call(this)||this;return i.keyValidators=e,i.valueValidators=r,i}return a(e,t),e.prototype.validate=function(e,r,i){if(null==e)return null;var a=t.prototype.validate.call(this,e,r,i);if(a)return a;for(var n in e)if(e.hasOwnProperty(n)){for(var o=(r?r+".":"")+i+"."+n,l=0,s=this.keyValidators;l0&&a[a.length-1])||6!==n[0]&&2!==n[0])){o=0;continue}if(3===n[0]&&(!a||n[1]>a[0]&&n[1]0&&a[a.length-1])||6!==n[0]&&2!==n[0])){o=0;continue}if(3===n[0]&&(!a||n[1]>a[0]&&n[1]0?"&":"?";return t+=i+e+"="+r},e.isSavedInternal=function(t,e,a){return r(this,void 0,void 0,(function(){return i(this,(function(r){switch(r.label){case 0:return r.trys.push([0,2,,3]),[4,t.get("/report/hasUnsavedChanges",{uid:e},a)];case 1:return[2,!r.sent().body];case 2:throw r.sent().body;case 3:return[2]}}))}))},e.isRDLEmbed=function(t){return t&&t.toLowerCase().indexOf("/rdlembed?")>=0},e.autoAuthInEmbedUrl=function(t){return t&&decodeURIComponent(t).toLowerCase().indexOf("autoauth=true")>=0},e.getRandomValue=n,e.getTimeDiffInMilliseconds=function(t,e){return Math.abs(t.getTime()-e.getTime())}},function(t,e){Object.defineProperty(e,"__esModule",{value:!0}),e.FilterBuilder=void 0;var r=function(){function t(){}return t.prototype.withTargetObject=function(t){return this.target=t,this},t.prototype.withColumnTarget=function(t,e){return this.target={table:t,column:e},this},t.prototype.withMeasureTarget=function(t,e){return this.target={table:t,measure:e},this},t.prototype.withHierarchyLevelTarget=function(t,e,r){return this.target={table:t,hierarchy:e,hierarchyLevel:r},this},t.prototype.withColumnAggregation=function(t,e,r){return this.target={table:t,column:e,aggregationFunction:r},this},t.prototype.withHierarchyLevelAggregationTarget=function(t,e,r,i){return this.target={table:t,hierarchy:e,hierarchyLevel:r,aggregationFunction:i},this},t}();e.FilterBuilder=r},function(t,e){Object.defineProperty(e,"__esModule",{value:!0}),e.EmbedUrlNotSupported=e.APINotSupportedForRDLError=void 0,e.APINotSupportedForRDLError="This API is currently not supported for RDL reports",e.EmbedUrlNotSupported="Embed URL is invalid for this scenario. Please use Power BI REST APIs to get the valid URL"},function(t,e){Object.defineProperty(e,"__esModule",{value:!0});e.default={version:"2.21.1",type:"js"}},function(t,e,r){var i,a=this&&this.__extends||(i=function(t,e){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])})(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}),n=this&&this.__awaiter||function(t,e,r,i){return new(r||(r=Promise))((function(a,n){function o(t){try{s(i.next(t))}catch(t){n(t)}}function l(t){try{s(i.throw(t))}catch(t){n(t)}}function s(t){var e;t.done?a(t.value):(e=t.value,e instanceof r?e:new r((function(t){t(e)}))).then(o,l)}s((i=i.apply(t,e||[])).next())}))},o=this&&this.__generator||function(t,e){var r,i,a,n,o={label:0,sent:function(){if(1&a[0])throw a[1];return a[1]},trys:[],ops:[]};return n={next:l(0),throw:l(1),return:l(2)},"function"==typeof Symbol&&(n[Symbol.iterator]=function(){return this}),n;function l(n){return function(l){return function(n){if(r)throw new TypeError("Generator is already executing.");for(;o;)try{if(r=1,i&&(a=2&n[0]?i.return:n[0]?i.throw||((a=i.return)&&a.call(i),0):i.next)&&!(a=a.call(i,n[1])).done)return a;switch(i=0,a&&(n=[2&n[0],a.value]),n[0]){case 0:case 1:a=n;break;case 4:return o.label++,{value:n[1],done:!1};case 5:o.label++,i=n[1],n=[0];continue;case 7:n=o.ops.pop(),o.trys.pop();continue;default:if(!(a=o.trys,(a=a.length>0&&a[a.length-1])||6!==n[0]&&2!==n[0])){o=0;continue}if(3===n[0]&&(!a||n[1]>a[0]&&n[1]0&&a[a.length-1])||6!==n[0]&&2!==n[0])){o=0;continue}if(3===n[0]&&(!a||n[1]>a[0]&&n[1]0&&a[a.length-1])||6!==n[0]&&2!==n[0])){o=0;continue}if(3===n[0]&&(!a||n[1]>a[0]&&n[1]0&&a[a.length-1])||6!==n[0]&&2!==n[0])){o=0;continue}if(3===n[0]&&(!a||n[1]>a[0]&&n[1]0&&a[a.length-1])||6!==n[0]&&2!==n[0])){o=0;continue}if(3===n[0]&&(!a||n[1]>a[0]&&n[1]0&&a[a.length-1])||6!==n[0]&&2!==n[0])){o=0;continue}if(3===n[0]&&(!a||n[1]>a[0]&&n[1]0&&a[a.length-1])||6!==n[0]&&2!==n[0])){o=0;continue}if(3===n[0]&&(!a||n[1]>a[0]&&n[1]{return t=[function(t,e,r){var i,a=this&&this.__extends||(i=function(t,e){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])})(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.SortDirection=e.LegendPosition=e.TextAlignment=e.CommonErrorCodes=e.BookmarksPlayMode=e.ExportDataType=e.QnaMode=e.PageNavigationPosition=e.DataCacheMode=e.ICredentialType=e.isPercentOfGrandTotal=e.isColumnAggr=e.isHierarchyLevelAggr=e.isHierarchyLevel=e.isColumn=e.isMeasure=e.getFilterType=e.isBasicFilterWithKeys=e.isFilterKeyColumnsTarget=e.HierarchyFilter=e.AdvancedFilter=e.TupleFilter=e.IdentityFilter=e.BasicFilterWithKeys=e.BasicFilter=e.RelativeTimeFilter=e.RelativeDateFilter=e.TopNFilter=e.IncludeExcludeFilter=e.NotSupportedFilter=e.Filter=e.RelativeDateOperators=e.RelativeDateFilterTimeUnit=e.FilterType=e.FiltersLevel=e.FiltersOperations=e.MenuLocation=e.ContrastMode=e.TokenType=e.ViewMode=e.Permissions=e.SectionVisibility=e.ReportAlignment=e.HyperlinkClickBehavior=e.LayoutType=e.VisualContainerDisplayMode=e.BackgroundType=e.DisplayOption=e.PageSizeType=e.TraceType=void 0,e.validateCommandsSettings=e.validateVisualSettings=e.validateVisualHeader=e.validateExportDataRequest=e.validateQnaInterpretInputData=e.validateLoadQnaConfiguration=e.validateSaveAsParameters=e.validateUpdateFiltersRequest=e.validateFilter=e.validatePage=e.validateTileLoad=e.validateDashboardLoad=e.validateQuickCreate=e.validateCreateReport=e.validatePaginatedReportLoad=e.validateReportLoad=e.validateMenuGroupExtension=e.validateExtension=e.validateCustomPageSize=e.validateVisualizationsPane=e.validateSyncSlicersPane=e.validateSelectionPane=e.validatePageNavigationPane=e.validateFieldsPane=e.validateFiltersPane=e.validateBookmarksPane=e.validatePanes=e.validateSettings=e.validateCaptureBookmarkRequest=e.validateApplyBookmarkStateRequest=e.validateApplyBookmarkByNameRequest=e.validateAddBookmarkRequest=e.validatePlayBookmarkRequest=e.validateSlicerState=e.validateSlicer=e.validateVisualSelector=e.isIExtensionArray=e.isIExtensions=e.isGroupedMenuExtension=e.isFlatMenuExtension=e.isReportFiltersArray=e.isOnLoadFilters=e.VisualDataRoleKindPreference=e.VisualDataRoleKind=e.CommandDisplayOption=e.SlicerTargetSelector=e.VisualTypeSelector=e.VisualSelector=e.PageSelector=e.Selector=void 0,e.validateZoomLevel=e.validateCustomTheme=void 0;var o,n=r(1);!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"}(e.TraceType||(e.TraceType={})),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",t[t.Mobile=5]="Mobile"}(e.PageSizeType||(e.PageSizeType={})),function(t){t[t.FitToPage=0]="FitToPage",t[t.FitToWidth=1]="FitToWidth",t[t.ActualSize=2]="ActualSize"}(e.DisplayOption||(e.DisplayOption={})),function(t){t[t.Default=0]="Default",t[t.Transparent=1]="Transparent"}(e.BackgroundType||(e.BackgroundType={})),function(t){t[t.Visible=0]="Visible",t[t.Hidden=1]="Hidden"}(e.VisualContainerDisplayMode||(e.VisualContainerDisplayMode={})),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={})),function(t){t[t.Navigate=0]="Navigate",t[t.NavigateAndRaiseEvent=1]="NavigateAndRaiseEvent",t[t.RaiseEvent=2]="RaiseEvent"}(e.HyperlinkClickBehavior||(e.HyperlinkClickBehavior={})),function(t){t[t.Left=0]="Left",t[t.Center=1]="Center",t[t.Right=2]="Right",t[t.None=3]="None"}(e.ReportAlignment||(e.ReportAlignment={})),function(t){t[t.AlwaysVisible=0]="AlwaysVisible",t[t.HiddenInViewMode=1]="HiddenInViewMode"}(e.SectionVisibility||(e.SectionVisibility={})),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"}(e.Permissions||(e.Permissions={})),function(t){t[t.View=0]="View",t[t.Edit=1]="Edit"}(e.ViewMode||(e.ViewMode={})),function(t){t[t.Aad=0]="Aad",t[t.Embed=1]="Embed"}(e.TokenType||(e.TokenType={})),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"}(e.ContrastMode||(e.ContrastMode={})),function(t){t[t.Bottom=0]="Bottom",t[t.Top=1]="Top"}(e.MenuLocation||(e.MenuLocation={})),function(t){t[t.RemoveAll=0]="RemoveAll",t[t.ReplaceAll=1]="ReplaceAll",t[t.Add=2]="Add",t[t.Replace=3]="Replace"}(e.FiltersOperations||(e.FiltersOperations={})),function(t){t[t.Report=0]="Report",t[t.Page=1]="Page",t[t.Visual=2]="Visual"}(e.FiltersLevel||(e.FiltersLevel={})),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",t[t.Identity=8]="Identity",t[t.Hierarchy=9]="Hierarchy"}(o=e.FilterType||(e.FilterType={})),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"}(e.RelativeDateFilterTimeUnit||(e.RelativeDateFilterTimeUnit={})),function(t){t[t.InLast=0]="InLast",t[t.InThis=1]="InThis",t[t.InNext=2]="InNext"}(e.RelativeDateOperators||(e.RelativeDateOperators={}));var l=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=l;var s=function(t){function e(r,i,a){var n=t.call(this,r,o.Unknown)||this;return n.message=i,n.notSupportedTypeName=a,n.schemaUrl=e.schemaUrl,n}return a(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}(l);e.NotSupportedFilter=s;var u=function(t){function e(r,i,a){var n=t.call(this,r,o.IncludeExclude)||this;return n.values=a,n.isExclude=i,n.schemaUrl=e.schemaUrl,n}return a(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}(l);e.IncludeExcludeFilter=u;var d=function(t){function e(r,i,a,n){var l=t.call(this,r,o.TopN)||this;return l.operator=i,l.itemCount=a,l.schemaUrl=e.schemaUrl,l.orderBy=n,l}return a(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}(l);e.TopNFilter=d;var c=function(t){function e(r,i,a,n,l){var s=t.call(this,r,o.RelativeDate)||this;return s.operator=i,s.timeUnitsCount=a,s.timeUnitType=n,s.includeToday=l,s.schemaUrl=e.schemaUrl,s}return a(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}(l);e.RelativeDateFilter=c;var p=function(t){function e(r,i,a,n){var l=t.call(this,r,o.RelativeTime)||this;return l.operator=i,l.timeUnitsCount=a,l.timeUnitType=n,l.schemaUrl=e.schemaUrl,l}return a(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}(l);e.RelativeTimeFilter=p;var f=function(t){function e(r,i){for(var a=[],n=2;n0&&!a)throw new Error("You should pass the values to be filtered for each key. You passed: no values and ".concat(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,s=o.keyValues;l2)throw new Error("AdvancedFilters may not have more than two conditions. You passed: ".concat(a.length));if(1===l.length&&"And"!==i)throw new Error('Logical Operator must be "And" when there is only one condition provided');return s.conditions=l,s}return a(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}(l);e.AdvancedFilter=m;var g=function(t){function e(r,i){var a=t.call(this,r,o.Hierarchy)||this;return a.schemaUrl=e.schemaUrl,a.hierarchyData=i,a}return a(e,t),e.prototype.toJSON=function(){var e=t.prototype.toJSON.call(this);return e.hierarchyData=this.hierarchyData,e.target=this.target,e},e.schemaUrl="http://powerbi.com/product/schema#hierarchy",e}(l);function V(t){if(t.filterType)return t.filterType;var e=t,r=t;return"string"==typeof e.operator&&Array.isArray(e.values)?o.Basic:"string"==typeof r.logicalOperator&&Array.isArray(r.conditions)?o.Advanced:o.Unknown}function b(t){return!(!t.table||!t.column||t.aggregationFunction)}e.HierarchyFilter=g,e.isFilterKeyColumnsTarget=function(t){return b(t)&&!!t.keys},e.isBasicFilterWithKeys=function(t){return V(t)===o.Basic&&!!t.keyValues},e.getFilterType=V,e.isMeasure=function(t){return void 0!==t.table&&void 0!==t.measure},e.isColumn=b,e.isHierarchyLevel=function(t){return!(!(t.table&&t.hierarchy&&t.hierarchyLevel)||t.aggregationFunction)},e.isHierarchyLevelAggr=function(t){return!!(t.table&&t.hierarchy&&t.hierarchyLevel&&t.aggregationFunction)},e.isColumnAggr=function(t){return!!(t.table&&t.column&&t.aggregationFunction)},e.isPercentOfGrandTotal=function(t){return!!t.percentOfGrandTotal},function(t){t[t.NoConnection=0]="NoConnection",t[t.OnBehalfOf=1]="OnBehalfOf",t[t.Anonymous=2]="Anonymous"}(e.ICredentialType||(e.ICredentialType={})),function(t){t[t.Import=0]="Import",t[t.DirectQuery=1]="DirectQuery"}(e.DataCacheMode||(e.DataCacheMode={})),function(t){t[t.Bottom=0]="Bottom",t[t.Left=1]="Left"}(e.PageNavigationPosition||(e.PageNavigationPosition={})),function(t){t[t.Interactive=0]="Interactive",t[t.ResultOnly=1]="ResultOnly"}(e.QnaMode||(e.QnaMode={})),function(t){t[t.Summarized=0]="Summarized",t[t.Underlying=1]="Underlying"}(e.ExportDataType||(e.ExportDataType={})),function(t){t[t.Off=0]="Off",t[t.Presentation=1]="Presentation"}(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"},function(t){t[t.Ascending=1]="Ascending",t[t.Descending=2]="Descending"}(e.SortDirection||(e.SortDirection={}));var w=function(){function t(t){this.$schema=t}return t.prototype.toJSON=function(){return{$schema:this.$schema}},t}();e.Selector=w;var O=function(t){function e(r){var i=t.call(this,e.schemaUrl)||this;return i.pageName=r,i}return a(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}(w);e.PageSelector=O;var S=function(t){function e(r){var i=t.call(this,e.schemaUrl)||this;return i.visualName=r,i}return a(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}(w);e.VisualSelector=S;var P=function(t){function e(e){var r=t.call(this,S.schemaUrl)||this;return r.visualType=e,r}return a(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}(w);e.VisualTypeSelector=P;var _=function(t){function e(e){var r=t.call(this,S.schemaUrl)||this;return r.target=e,r}return a(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}(w);function T(t){return Array.isArray(t)}function E(t){return t&&!!t.groupName}function F(t){return Array.isArray(t)}function x(t){var e=t.message;return e||(e="".concat(t.path," is invalid. Not meeting ").concat(t.keyword," constraint")),{message:e}}e.SlicerTargetSelector=_,function(t){t[t.Enabled=0]="Enabled",t[t.Disabled=1]="Disabled",t[t.Hidden=2]="Hidden"}(e.CommandDisplayOption||(e.CommandDisplayOption={})),function(t){t[t.Grouping=0]="Grouping",t[t.Measure=1]="Measure",t[t.GroupingOrMeasure=2]="GroupingOrMeasure"}(e.VisualDataRoleKind||(e.VisualDataRoleKind={})),function(t){t[t.Measure=0]="Measure",t[t.Grouping=1]="Grouping"}(e.VisualDataRoleKindPreference||(e.VisualDataRoleKindPreference={})),e.isOnLoadFilters=function(t){return t&&!T(t)},e.isReportFiltersArray=T,e.isFlatMenuExtension=function(t){return t&&!E(t)},e.isGroupedMenuExtension=E,e.isIExtensions=function(t){return t&&!F(t)},e.isIExtensionArray=F,e.validateVisualSelector=function(t){var e=n.Validators.visualSelectorValidator.validate(t);return e?e.map(x):void 0},e.validateSlicer=function(t){var e=n.Validators.slicerValidator.validate(t);return e?e.map(x):void 0},e.validateSlicerState=function(t){var e=n.Validators.slicerStateValidator.validate(t);return e?e.map(x):void 0},e.validatePlayBookmarkRequest=function(t){var e=n.Validators.playBookmarkRequestValidator.validate(t);return e?e.map(x):void 0},e.validateAddBookmarkRequest=function(t){var e=n.Validators.addBookmarkRequestValidator.validate(t);return e?e.map(x):void 0},e.validateApplyBookmarkByNameRequest=function(t){var e=n.Validators.applyBookmarkByNameRequestValidator.validate(t);return e?e.map(x):void 0},e.validateApplyBookmarkStateRequest=function(t){var e=n.Validators.applyBookmarkStateRequestValidator.validate(t);return e?e.map(x):void 0},e.validateCaptureBookmarkRequest=function(t){var e=n.Validators.captureBookmarkRequestValidator.validate(t);return e?e.map(x):void 0},e.validateSettings=function(t){var e=n.Validators.settingsValidator.validate(t);return e?e.map(x):void 0},e.validatePanes=function(t){var e=n.Validators.reportPanesValidator.validate(t);return e?e.map(x):void 0},e.validateBookmarksPane=function(t){var e=n.Validators.bookmarksPaneValidator.validate(t);return e?e.map(x):void 0},e.validateFiltersPane=function(t){var e=n.Validators.filtersPaneValidator.validate(t);return e?e.map(x):void 0},e.validateFieldsPane=function(t){var e=n.Validators.fieldsPaneValidator.validate(t);return e?e.map(x):void 0},e.validatePageNavigationPane=function(t){var e=n.Validators.pageNavigationPaneValidator.validate(t);return e?e.map(x):void 0},e.validateSelectionPane=function(t){var e=n.Validators.selectionPaneValidator.validate(t);return e?e.map(x):void 0},e.validateSyncSlicersPane=function(t){var e=n.Validators.syncSlicersPaneValidator.validate(t);return e?e.map(x):void 0},e.validateVisualizationsPane=function(t){var e=n.Validators.visualizationsPaneValidator.validate(t);return e?e.map(x):void 0},e.validateCustomPageSize=function(t){var e=n.Validators.customPageSizeValidator.validate(t);return e?e.map(x):void 0},e.validateExtension=function(t){var e=n.Validators.extensionValidator.validate(t);return e?e.map(x):void 0},e.validateMenuGroupExtension=function(t){var e=n.Validators.menuGroupExtensionValidator.validate(t);return e?e.map(x):void 0},e.validateReportLoad=function(t){var e=n.Validators.reportLoadValidator.validate(t);return e?e.map(x):void 0},e.validatePaginatedReportLoad=function(t){var e=n.Validators.paginatedReportLoadValidator.validate(t);return e?e.map(x):void 0},e.validateCreateReport=function(t){var e=n.Validators.reportCreateValidator.validate(t);return e?e.map(x):void 0},e.validateQuickCreate=function(t){var e=n.Validators.quickCreateValidator.validate(t);return e?e.map(x):void 0},e.validateDashboardLoad=function(t){var e=n.Validators.dashboardLoadValidator.validate(t);return e?e.map(x):void 0},e.validateTileLoad=function(t){var e=n.Validators.tileLoadValidator.validate(t);return e?e.map(x):void 0},e.validatePage=function(t){var e=n.Validators.pageValidator.validate(t);return e?e.map(x):void 0},e.validateFilter=function(t){var e=n.Validators.filterValidator.validate(t);return e?e.map(x):void 0},e.validateUpdateFiltersRequest=function(t){var e=n.Validators.updateFiltersRequestValidator.validate(t);return e?e.map(x):void 0},e.validateSaveAsParameters=function(t){var e=n.Validators.saveAsParametersValidator.validate(t);return e?e.map(x):void 0},e.validateLoadQnaConfiguration=function(t){var e=n.Validators.loadQnaValidator.validate(t);return e?e.map(x):void 0},e.validateQnaInterpretInputData=function(t){var e=n.Validators.qnaInterpretInputDataValidator.validate(t);return e?e.map(x):void 0},e.validateExportDataRequest=function(t){var e=n.Validators.exportDataRequestValidator.validate(t);return e?e.map(x):void 0},e.validateVisualHeader=function(t){var e=n.Validators.visualHeaderValidator.validate(t);return e?e.map(x):void 0},e.validateVisualSettings=function(t){var e=n.Validators.visualSettingsValidator.validate(t);return e?e.map(x):void 0},e.validateCommandsSettings=function(t){var e=n.Validators.commandsSettingsValidator.validate(t);return e?e.map(x):void 0},e.validateCustomTheme=function(t){var e=n.Validators.customThemeValidator.validate(t);return e?e.map(x):void 0},e.validateZoomLevel=function(t){var e=n.Validators.zoomLevelValidator.validate(t);return e?e.map(x):void 0}},(t,e,r)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.Validators=void 0;var i=r(2),a=r(5),o=r(6),n=r(7),l=r(8),s=r(9),u=r(10),d=r(11),c=r(12),p=r(13),f=r(14),h=r(15),v=r(16),y=r(17),m=r(18),g=r(19),V=r(20),b=r(21),w=r(22),O=r(23),S=r(24),P=r(25),_=r(26),T=r(27),E=r(28),F=r(29),x=r(4),k=r(30),C=r(31),R=r(32);e.Validators={addBookmarkRequestValidator:new a.AddBookmarkRequestValidator,advancedFilterTypeValidator:new x.EnumValidator([0]),advancedFilterValidator:new c.AdvancedFilterValidator,anyArrayValidator:new x.ArrayValidator([new _.AnyOfValidator([new x.StringValidator,new x.NumberValidator,new x.BooleanValidator])]),anyFilterValidator:new _.AnyOfValidator([new c.BasicFilterValidator,new c.AdvancedFilterValidator,new c.IncludeExcludeFilterValidator,new c.NotSupportedFilterValidator,new c.RelativeDateFilterValidator,new c.TopNFilterValidator,new c.RelativeTimeFilterValidator,new c.HierarchyFilterValidator]),anyValueValidator:new _.AnyOfValidator([new x.StringValidator,new x.NumberValidator,new x.BooleanValidator]),actionBarValidator:new i.ActionBarValidator,statusBarValidator:new i.StatusBarValidator,applyBookmarkByNameRequestValidator:new a.ApplyBookmarkByNameRequestValidator,applyBookmarkStateRequestValidator:new a.ApplyBookmarkStateRequestValidator,applyBookmarkValidator:new _.AnyOfValidator([new a.ApplyBookmarkByNameRequestValidator,new a.ApplyBookmarkStateRequestValidator]),backgroundValidator:new x.EnumValidator([0,1]),basicFilterTypeValidator:new x.EnumValidator([1]),basicFilterValidator:new c.BasicFilterValidator,booleanArrayValidator:new x.BooleanArrayValidator,booleanValidator:new x.BooleanValidator,bookmarksPaneValidator:new h.BookmarksPaneValidator,captureBookmarkOptionsValidator:new a.CaptureBookmarkOptionsValidator,captureBookmarkRequestValidator:new a.CaptureBookmarkRequestValidator,columnSchemaArrayValidator:new x.ArrayValidator([new C.ColumnSchemaValidator]),commandDisplayOptionValidator:new x.EnumValidator([0,1,2]),commandExtensionSelectorValidator:new _.AnyOfValidator([new b.VisualSelectorValidator,new b.VisualTypeSelectorValidator]),commandExtensionArrayValidator:new x.ArrayValidator([new d.CommandExtensionValidator]),commandExtensionValidator:new d.CommandExtensionValidator,commandsSettingsArrayValidator:new x.ArrayValidator([new o.CommandsSettingsValidator]),commandsSettingsValidator:new o.CommandsSettingsValidator,conditionItemValidator:new c.ConditionItemValidator,contrastModeValidator:new x.EnumValidator([0,1,2,3,4]),customLayoutDisplayOptionValidator:new x.EnumValidator([0,1,2]),customLayoutValidator:new p.CustomLayoutValidator,customPageSizeValidator:new f.CustomPageSizeValidator,customThemeValidator:new n.CustomThemeValidator,dashboardLoadValidator:new l.DashboardLoadValidator,datasetBindingValidator:new s.DatasetBindingValidator,datasetCreateConfigValidator:new C.DatasetCreateConfigValidator,datasourceConnectionConfigValidator:new C.DatasourceConnectionConfigValidator,displayStateModeValidator:new x.EnumValidator([0,1]),displayStateValidator:new p.DisplayStateValidator,exportDataRequestValidator:new u.ExportDataRequestValidator,extensionArrayValidator:new x.ArrayValidator([new d.ExtensionValidator]),extensionsValidator:new _.AnyOfValidator([new x.ArrayValidator([new d.ExtensionValidator]),new d.ExtensionsValidator]),extensionPointsValidator:new d.ExtensionPointsValidator,extensionValidator:new d.ExtensionValidator,fieldForbiddenValidator:new T.FieldForbiddenValidator,fieldRequiredValidator:new E.FieldRequiredValidator,fieldsPaneValidator:new h.FieldsPaneValidator,filterColumnTargetValidator:new c.FilterColumnTargetValidator,filterDisplaySettingsValidator:new c.FilterDisplaySettingsValidator,filterConditionsValidator:new x.ArrayValidator([new c.ConditionItemValidator]),filterHierarchyTargetValidator:new c.FilterHierarchyTargetValidator,filterMeasureTargetValidator:new c.FilterMeasureTargetValidator,filterTargetValidator:new _.AnyOfValidator([new c.FilterColumnTargetValidator,new c.FilterHierarchyTargetValidator,new c.FilterMeasureTargetValidator,new x.ArrayValidator([new _.AnyOfValidator([new c.FilterColumnTargetValidator,new c.FilterHierarchyTargetValidator,new c.FilterMeasureTargetValidator,new c.FilterKeyColumnsTargetValidator,new c.FilterKeyHierarchyTargetValidator])])]),filterValidator:new c.FilterValidator,filterTypeValidator:new x.EnumValidator([0,1,2,3,4,5,6,7,9]),filtersArrayValidator:new x.ArrayValidator([new c.FilterValidator]),filtersOperationsUpdateValidator:new x.EnumValidator([1,2,3]),filtersOperationsRemoveAllValidator:new x.EnumValidator([0]),filtersPaneValidator:new h.FiltersPaneValidator,hyperlinkClickBehaviorValidator:new x.EnumValidator([0,1,2]),includeExcludeFilterValidator:new c.IncludeExcludeFilterValidator,includeExludeFilterTypeValidator:new x.EnumValidator([3]),hierarchyFilterTypeValidator:new x.EnumValidator([9]),hierarchyFilterValuesValidator:new x.ArrayValidator([new c.HierarchyFilterNodeValidator]),layoutTypeValidator:new x.EnumValidator([0,1,2,3]),loadQnaValidator:new v.LoadQnaValidator,menuExtensionValidator:new _.AnyOfValidator([new d.FlatMenuExtensionValidator,new d.GroupedMenuExtensionValidator]),menuGroupExtensionArrayValidator:new x.ArrayValidator([new d.MenuGroupExtensionValidator]),menuGroupExtensionValidator:new d.MenuGroupExtensionValidator,menuLocationValidator:new x.EnumValidator([0,1]),notSupportedFilterTypeValidator:new x.EnumValidator([2]),notSupportedFilterValidator:new c.NotSupportedFilterValidator,numberArrayValidator:new x.NumberArrayValidator,numberValidator:new x.NumberValidator,onLoadFiltersBaseValidator:new _.AnyOfValidator([new c.OnLoadFiltersBaseValidator,new c.OnLoadFiltersBaseRemoveOperationValidator]),pageLayoutValidator:new F.MapValidator([new x.StringValidator],[new p.VisualLayoutValidator]),pageNavigationPaneValidator:new h.PageNavigationPaneValidator,pageNavigationPositionValidator:new x.EnumValidator([0,1]),pageSizeTypeValidator:new x.EnumValidator([0,1,2,3,4,5]),pageSizeValidator:new f.PageSizeValidator,pageValidator:new f.PageValidator,pageViewFieldValidator:new f.PageViewFieldValidator,pagesLayoutValidator:new F.MapValidator([new x.StringValidator],[new p.PageLayoutValidator]),paginatedReportCommandsValidator:new o.PaginatedReportCommandsValidator,paginatedReportLoadValidator:new g.PaginatedReportLoadValidator,paginatedReportsettingsValidator:new w.PaginatedReportSettingsValidator,parameterValuesArrayValidator:new x.ArrayValidator([new g.ReportParameterFieldsValidator]),parametersPanelValidator:new k.ParametersPanelValidator,permissionsValidator:new x.EnumValidator([0,1,2,4,7]),playBookmarkRequestValidator:new a.PlayBookmarkRequestValidator,qnaInterpretInputDataValidator:new v.QnaInterpretInputDataValidator,qnaPanesValidator:new h.QnaPanesValidator,qnaSettingValidator:new v.QnaSettingsValidator,quickCreateValidator:new R.QuickCreateValidator,rawDataValidator:new x.ArrayValidator([new x.ArrayValidator([new x.StringValidator])]),relativeDateFilterOperatorValidator:new x.EnumValidator([0,1,2]),relativeDateFilterTimeUnitTypeValidator:new x.EnumValidator([0,1,2,3,4,5,6]),relativeDateFilterTypeValidator:new x.EnumValidator([4]),relativeDateFilterValidator:new c.RelativeDateFilterValidator,relativeDateTimeFilterTypeValidator:new x.EnumValidator([4,7]),relativeDateTimeFilterUnitTypeValidator:new x.EnumValidator([0,1,2,3,4,5,6,7,8]),relativeTimeFilterTimeUnitTypeValidator:new x.EnumValidator([7,8]),relativeTimeFilterTypeValidator:new x.EnumValidator([7]),relativeTimeFilterValidator:new c.RelativeTimeFilterValidator,reportBarsValidator:new i.ReportBarsValidator,reportCreateValidator:new y.ReportCreateValidator,reportLoadFiltersValidator:new _.AnyOfValidator([new x.ArrayValidator([new c.FilterValidator]),new c.OnLoadFiltersValidator]),reportLoadValidator:new m.ReportLoadValidator,reportPanesValidator:new h.ReportPanesValidator,saveAsParametersValidator:new V.SaveAsParametersValidator,selectionPaneValidator:new h.SelectionPaneValidator,settingsValidator:new w.SettingsValidator,singleCommandSettingsValidator:new o.SingleCommandSettingsValidator,slicerSelectorValidator:new _.AnyOfValidator([new b.VisualSelectorValidator,new b.SlicerTargetSelectorValidator]),slicerStateValidator:new O.SlicerStateValidator,slicerTargetValidator:new _.AnyOfValidator([new c.FilterColumnTargetValidator,new c.FilterHierarchyTargetValidator,new c.FilterMeasureTargetValidator,new c.FilterKeyColumnsTargetValidator,new c.FilterKeyHierarchyTargetValidator]),slicerValidator:new O.SlicerValidator,stringArrayValidator:new x.StringArrayValidator,stringValidator:new x.StringValidator,syncSlicersPaneValidator:new h.SyncSlicersPaneValidator,tableDataArrayValidator:new x.ArrayValidator([new C.TableDataValidator]),tableSchemaListValidator:new x.ArrayValidator([new C.TableSchemaValidator]),tileLoadValidator:new S.TileLoadValidator,tokenTypeValidator:new x.EnumValidator([0,1]),topNFilterTypeValidator:new x.EnumValidator([5]),topNFilterValidator:new c.TopNFilterValidator,updateFiltersRequestValidator:new _.AnyOfValidator([new c.UpdateFiltersRequestValidator,new c.RemoveFiltersRequestValidator]),viewModeValidator:new x.EnumValidator([0,1]),visualCommandSelectorValidator:new _.AnyOfValidator([new b.VisualSelectorValidator,new b.VisualTypeSelectorValidator]),visualHeaderSelectorValidator:new _.AnyOfValidator([new b.VisualSelectorValidator,new b.VisualTypeSelectorValidator]),visualHeaderSettingsValidator:new P.VisualHeaderSettingsValidator,visualHeaderValidator:new P.VisualHeaderValidator,visualHeadersValidator:new x.ArrayValidator([new P.VisualHeaderValidator]),visualizationsPaneValidator:new h.VisualizationsPaneValidator,visualLayoutValidator:new p.VisualLayoutValidator,visualSelectorValidator:new b.VisualSelectorValidator,visualSettingsValidator:new P.VisualSettingsValidator,visualTypeSelectorValidator:new b.VisualTypeSelectorValidator,zoomLevelValidator:new x.RangeValidator(.25,4)}},function(t,e,r){var i,a=this&&this.__extends||(i=function(t,e){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])})(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.StatusBarValidator=e.ActionBarValidator=e.ReportBarsValidator=void 0;var o=r(3),n=r(4),l=r(1),s=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return a(e,t),e.prototype.validate=function(e,r,i){if(null==e)return null;var a=t.prototype.validate.call(this,e,r,i);if(a)return a;var n=[{field:"actionBar",validators:[l.Validators.actionBarValidator]},{field:"statusBar",validators:[l.Validators.statusBarValidator]}];return new o.MultipleFieldsValidator(n).validate(e,r,i)},e}(n.ObjectValidator);e.ReportBarsValidator=s;var u=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return a(e,t),e.prototype.validate=function(e,r,i){if(null==e)return null;var a=t.prototype.validate.call(this,e,r,i);if(a)return a;var n=[{field:"visible",validators:[l.Validators.booleanValidator]}];return new o.MultipleFieldsValidator(n).validate(e,r,i)},e}(n.ObjectValidator);e.ActionBarValidator=u;var d=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return a(e,t),e.prototype.validate=function(e,r,i){if(null==e)return null;var a=t.prototype.validate.call(this,e,r,i);if(a)return a;var n=[{field:"visible",validators:[l.Validators.booleanValidator]}];return new o.MultipleFieldsValidator(n).validate(e,r,i)},e}(n.ObjectValidator);e.StatusBarValidator=d},(t,e)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.MultipleFieldsValidator=void 0;var r=function(){function t(t){this.fieldValidatorsPairs=t}return t.prototype.validate=function(t,e,r){if(!this.fieldValidatorsPairs)return null;for(var i=e?e+"."+r:r,a=0,o=this.fieldValidatorsPairs;athis.maxValue||e{Object.defineProperty(e,"__esModule",{value:!0}),e.AnyOfValidator=void 0;var r=function(){function t(t){this.validators=t}return t.prototype.validate=function(t,e,r){if(null==t)return null;for(var i=!1,a=0,o=this.validators;a{Object.defineProperty(e,"__esModule",{value:!0}),e.FieldForbiddenValidator=void 0;var r=function(){function t(){}return t.prototype.validate=function(t,e,r){return void 0!==t?[{message:r+" is forbidden",path:(e?e+".":"")+r,keyword:"forbidden"}]:null},t}();e.FieldForbiddenValidator=r},(t,e)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.FieldRequiredValidator=void 0;var r=function(){function t(){}return t.prototype.validate=function(t,e,r){return null==t?[{message:r+" is required",path:(e?e+".":"")+r,keyword:"required"}]:null},t}();e.FieldRequiredValidator=r},function(t,e,r){var i,a=this&&this.__extends||(i=function(t,e){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])})(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.MapValidator=void 0;var o=function(t){function e(e,r){var i=t.call(this)||this;return i.keyValidators=e,i.valueValidators=r,i}return a(e,t),e.prototype.validate=function(e,r,i){if(null==e)return null;var a=t.prototype.validate.call(this,e,r,i);if(a)return a;for(var o in e)if(e.hasOwnProperty(o)){for(var n=(r?r+".":"")+i+"."+o,l=0,s=this.keyValidators;l0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0?"&":"?";return t+=i+e+"="+r},e.isSavedInternal=function(t,e,a){return r(this,void 0,void 0,(function(){return i(this,(function(r){switch(r.label){case 0:return r.trys.push([0,2,,3]),[4,t.get("/report/hasUnsavedChanges",{uid:e},a)];case 1:return[2,!r.sent().body];case 2:throw r.sent().body;case 3:return[2]}}))}))},e.isRDLEmbed=function(t){return t&&t.toLowerCase().indexOf("/rdlembed?")>=0},e.autoAuthInEmbedUrl=function(t){return t&&decodeURIComponent(t).toLowerCase().indexOf("autoauth=true")>=0},e.getRandomValue=o,e.getTimeDiffInMilliseconds=function(t,e){return Math.abs(t.getTime()-e.getTime())},e.isCreate=function(t){return"create"===t||"quickcreate"===t}},function(t,e){Object.defineProperty(e,"__esModule",{value:!0}),e.FilterBuilder=void 0;var r=function(){function t(){}return t.prototype.withTargetObject=function(t){return this.target=t,this},t.prototype.withColumnTarget=function(t,e){return this.target={table:t,column:e},this},t.prototype.withMeasureTarget=function(t,e){return this.target={table:t,measure:e},this},t.prototype.withHierarchyLevelTarget=function(t,e,r){return this.target={table:t,hierarchy:e,hierarchyLevel:r},this},t.prototype.withColumnAggregation=function(t,e,r){return this.target={table:t,column:e,aggregationFunction:r},this},t.prototype.withHierarchyLevelAggregationTarget=function(t,e,r,i){return this.target={table:t,hierarchy:e,hierarchyLevel:r,aggregationFunction:i},this},t}();e.FilterBuilder=r},function(t,e){Object.defineProperty(e,"__esModule",{value:!0}),e.EmbedUrlNotSupported=e.APINotSupportedForRDLError=void 0,e.APINotSupportedForRDLError="This API is currently not supported for RDL reports",e.EmbedUrlNotSupported="Embed URL is invalid for this scenario. Please use Power BI REST APIs to get the valid URL"},function(t,e){Object.defineProperty(e,"__esModule",{value:!0});e.default={version:"2.21.1",type:"js"}},function(t,e,r){var i,a=this&&this.__extends||(i=function(t,e){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])})(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}),o=this&&this.__awaiter||function(t,e,r,i){return new(r||(r=Promise))((function(a,o){function n(t){try{s(i.next(t))}catch(t){o(t)}}function l(t){try{s(i.throw(t))}catch(t){o(t)}}function s(t){var e;t.done?a(t.value):(e=t.value,e instanceof r?e:new r((function(t){t(e)}))).then(n,l)}s((i=i.apply(t,e||[])).next())}))},n=this&&this.__generator||function(t,e){var r,i,a,o,n={label:0,sent:function(){if(1&a[0])throw a[1];return a[1]},trys:[],ops:[]};return o={next:l(0),throw:l(1),return:l(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function l(o){return function(l){return function(o){if(r)throw new TypeError("Generator is already executing.");for(;n;)try{if(r=1,i&&(a=2&o[0]?i.return:o[0]?i.throw||((a=i.return)&&a.call(i),0):i.next)&&!(a=a.call(i,o[1])).done)return a;switch(i=0,a&&(o=[2&o[0],a.value]),o[0]){case 0:case 1:a=o;break;case 4:return n.label++,{value:o[1],done:!1};case 5:n.label++,i=o[1],o=[0];continue;case 7:o=n.ops.pop(),n.trys.pop();continue;default:if(!(a=n.trys,(a=a.length>0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1] * @license MIT - */function a(t,e){if(t===e)return 0;for(var r=t.length,i=e.length,a=0,n=Math.min(r,i);a=0;u--)if(d[u]!==c[u])return!1;for(u=d.length-1;u>=0;u--)if(l=d[u],!V(t[l],e[l],r,i))return!1;return!0}(t,e,r,i))}return r?t===e:t==e}function b(t){return"[object Arguments]"==Object.prototype.toString.call(t)}function w(t,e){if(!t||!e)return!1;if("[object RegExp]"==Object.prototype.toString.call(e))return e.test(t);try{if(t instanceof e)return!0}catch(t){}return!Error.isPrototypeOf(e)&&!0===e.call({},t)}function O(t,e,r,i){var a;if("function"!=typeof e)throw new TypeError('"block" argument must be a function');"string"==typeof r&&(i=r,r=null),a=function(t){var e;try{t()}catch(t){e=t}return e}(e),i=(r&&r.name?" ("+r.name+").":".")+(i?" "+i:"."),t&&!a&&m(a,r,"Missing expected exception"+i);var n="string"==typeof i,l=!t&&a&&!r;if((!t&&o.isError(a)&&n&&w(a,r)||l)&&m(a,r,"Got unwanted exception"+i),t&&a&&r&&!w(a,r)||!t&&a)throw a}p.AssertionError=function(t){var e;this.name="AssertionError",this.actual=t.actual,this.expected=t.expected,this.operator=t.operator,t.message?(this.message=t.message,this.generatedMessage=!1):(this.message=v(y((e=this).actual),128)+" "+e.operator+" "+v(y(e.expected),128),this.generatedMessage=!0);var r=t.stackStartFunction||m;if(Error.captureStackTrace)Error.captureStackTrace(this,r);else{var i=new Error;if(i.stack){var a=i.stack,n=h(r),o=a.indexOf("\n"+n);if(o>=0){var l=a.indexOf("\n",o+1);a=a.substring(l+1)}this.stack=a}}},o.inherits(p.AssertionError,Error),p.fail=m,p.ok=g,p.equal=function(t,e,r){t!=e&&m(t,e,r,"==",p.equal)},p.notEqual=function(t,e,r){t==e&&m(t,e,r,"!=",p.notEqual)},p.deepEqual=function(t,e,r){V(t,e,!1)||m(t,e,r,"deepEqual",p.deepEqual)},p.deepStrictEqual=function(t,e,r){V(t,e,!0)||m(t,e,r,"deepStrictEqual",p.deepStrictEqual)},p.notDeepEqual=function(t,e,r){V(t,e,!1)&&m(t,e,r,"notDeepEqual",p.notDeepEqual)},p.notDeepStrictEqual=function t(e,r,i){V(e,r,!0)&&m(e,r,i,"notDeepStrictEqual",t)},p.strictEqual=function(t,e,r){t!==e&&m(t,e,r,"===",p.strictEqual)},p.notStrictEqual=function(t,e,r){t===e&&m(t,e,r,"!==",p.notStrictEqual)},p.throws=function(t,e,r){O(!0,t,e,r)},p.doesNotThrow=function(t,e,r){O(!1,t,e,r)},p.ifError=function(t){if(t)throw t},p.strict=i((function t(e,r){e||m(e,!0,r,"==",t)}),p,{equal:p.strictEqual,deepEqual:p.deepStrictEqual,notEqual:p.notStrictEqual,notDeepEqual:p.notDeepStrictEqual}),p.strict.strict=p.strict;var P=Object.keys||function(t){var e=[];for(var r in t)l.call(t,r)&&e.push(r);return e}}).call(this,r(17))},function(t,e){var r;r=function(){return this}();try{r=r||new Function("return this")()}catch(t){"object"==typeof window&&(r=window)}t.exports=r},function(t,e,r){"use strict"; + */function a(t,e){if(t===e)return 0;for(var r=t.length,i=e.length,a=0,o=Math.min(r,i);a=0;u--)if(d[u]!==c[u])return!1;for(u=d.length-1;u>=0;u--)if(l=d[u],!V(t[l],e[l],r,i))return!1;return!0}(t,e,r,i))}return r?t===e:t==e}function b(t){return"[object Arguments]"==Object.prototype.toString.call(t)}function w(t,e){if(!t||!e)return!1;if("[object RegExp]"==Object.prototype.toString.call(e))return e.test(t);try{if(t instanceof e)return!0}catch(t){}return!Error.isPrototypeOf(e)&&!0===e.call({},t)}function O(t,e,r,i){var a;if("function"!=typeof e)throw new TypeError('"block" argument must be a function');"string"==typeof r&&(i=r,r=null),a=function(t){var e;try{t()}catch(t){e=t}return e}(e),i=(r&&r.name?" ("+r.name+").":".")+(i?" "+i:"."),t&&!a&&m(a,r,"Missing expected exception"+i);var o="string"==typeof i,l=!t&&a&&!r;if((!t&&n.isError(a)&&o&&w(a,r)||l)&&m(a,r,"Got unwanted exception"+i),t&&a&&r&&!w(a,r)||!t&&a)throw a}p.AssertionError=function(t){var e;this.name="AssertionError",this.actual=t.actual,this.expected=t.expected,this.operator=t.operator,t.message?(this.message=t.message,this.generatedMessage=!1):(this.message=v(y((e=this).actual),128)+" "+e.operator+" "+v(y(e.expected),128),this.generatedMessage=!0);var r=t.stackStartFunction||m;if(Error.captureStackTrace)Error.captureStackTrace(this,r);else{var i=new Error;if(i.stack){var a=i.stack,o=h(r),n=a.indexOf("\n"+o);if(n>=0){var l=a.indexOf("\n",n+1);a=a.substring(l+1)}this.stack=a}}},n.inherits(p.AssertionError,Error),p.fail=m,p.ok=g,p.equal=function(t,e,r){t!=e&&m(t,e,r,"==",p.equal)},p.notEqual=function(t,e,r){t==e&&m(t,e,r,"!=",p.notEqual)},p.deepEqual=function(t,e,r){V(t,e,!1)||m(t,e,r,"deepEqual",p.deepEqual)},p.deepStrictEqual=function(t,e,r){V(t,e,!0)||m(t,e,r,"deepStrictEqual",p.deepStrictEqual)},p.notDeepEqual=function(t,e,r){V(t,e,!1)&&m(t,e,r,"notDeepEqual",p.notDeepEqual)},p.notDeepStrictEqual=function t(e,r,i){V(e,r,!0)&&m(e,r,i,"notDeepStrictEqual",t)},p.strictEqual=function(t,e,r){t!==e&&m(t,e,r,"===",p.strictEqual)},p.notStrictEqual=function(t,e,r){t===e&&m(t,e,r,"!==",p.notStrictEqual)},p.throws=function(t,e,r){O(!0,t,e,r)},p.doesNotThrow=function(t,e,r){O(!1,t,e,r)},p.ifError=function(t){if(t)throw t},p.strict=i((function t(e,r){e||m(e,!0,r,"==",t)}),p,{equal:p.strictEqual,deepEqual:p.deepStrictEqual,notEqual:p.notStrictEqual,notDeepEqual:p.notDeepStrictEqual}),p.strict.strict=p.strict;var S=Object.keys||function(t){var e=[];for(var r in t)l.call(t,r)&&e.push(r);return e}}).call(this,r(17))},function(t,e,r){var i,a=this&&this.__extends||(i=function(t,e){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])})(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.Dashboard=void 0;var o=r(0),n=function(t){function e(r,i,a,o,n){var l=t.call(this,r,i,a,void 0,o,n)||this;return l.loadPath="/dashboard/load",l.phasedLoadPath="/dashboard/prepare",Array.prototype.push.apply(l.allowedEvents,e.allowedEvents),l}return a(e,t),e.findIdFromEmbedUrl=function(t){var e,r=t.match(/dashboardId="?([^&]+)"?/);return r&&(e=r[1]),e},e.prototype.getId=function(){var t=this.config,r=t.id||this.element.getAttribute(e.dashboardIdAttribute)||e.findIdFromEmbedUrl(t.embedUrl);if("string"!=typeof r||0===r.length)throw new Error("Dashboard id is required, but it was not found. You must provide an id either as part of embed configuration or as attribute '".concat(e.dashboardIdAttribute,"'."));return r},e.prototype.validate=function(t){var e=t,r=(0,o.validateDashboardLoad)(e);return r||this.validatePageView(e.pageView)},e.prototype.configChanged=function(t){t||(this.config.id=this.getId())},e.prototype.getDefaultEmbedUrlEndpoint=function(){return"dashboardEmbed"},e.prototype.validatePageView=function(t){if(t&&"fitToWidth"!==t&&"oneColumn"!==t&&"actualSize"!==t)return[{message:"pageView must be one of the followings: fitToWidth, oneColumn, actualSize"}]},e.allowedEvents=["tileClicked","error"],e.dashboardIdAttribute="powerbi-dashboard-id",e.typeAttribute="powerbi-type",e.type="Dashboard",e}(r(1).Embed);e.Dashboard=n},function(t,e,r){var i,a=this&&this.__extends||(i=function(t,e){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])})(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.Tile=void 0;var o=r(0),n=function(t){function e(r,i,a,o,n){var l=this,s=a;return(l=t.call(this,r,i,s,void 0,o,n)||this).loadPath="/tile/load",Array.prototype.push.apply(l.allowedEvents,e.allowedEvents),l}return a(e,t),e.prototype.getId=function(){var t=this.config.id||e.findIdFromEmbedUrl(this.config.embedUrl);if("string"!=typeof t||0===t.length)throw new Error("Tile id is required, but it was not found. You must provide an id either as part of embed configuration.");return t},e.prototype.validate=function(t){var e=t;return(0,o.validateTileLoad)(e)},e.prototype.configChanged=function(t){t||(this.config.id=this.getId())},e.prototype.getDefaultEmbedUrlEndpoint=function(){return"tileEmbed"},e.findIdFromEmbedUrl=function(t){var e,r=t.match(/tileId="?([^&]+)"?/);return r&&(e=r[1]),e},e.type="Tile",e.allowedEvents=["tileClicked","tileLoaded"],e}(r(1).Embed);e.Tile=n},function(t,e,r){var i,a=this&&this.__extends||(i=function(t,e){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])})(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}),o=this&&this.__awaiter||function(t,e,r,i){return new(r||(r=Promise))((function(a,o){function n(t){try{s(i.next(t))}catch(t){o(t)}}function l(t){try{s(i.throw(t))}catch(t){o(t)}}function s(t){var e;t.done?a(t.value):(e=t.value,e instanceof r?e:new r((function(t){t(e)}))).then(n,l)}s((i=i.apply(t,e||[])).next())}))},n=this&&this.__generator||function(t,e){var r,i,a,o,n={label:0,sent:function(){if(1&a[0])throw a[1];return a[1]},trys:[],ops:[]};return o={next:l(0),throw:l(1),return:l(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function l(o){return function(l){return function(o){if(r)throw new TypeError("Generator is already executing.");for(;n;)try{if(r=1,i&&(a=2&o[0]?i.return:o[0]?i.throw||((a=i.return)&&a.call(i),0):i.next)&&!(a=a.call(i,o[1])).done)return a;switch(i=0,a&&(o=[2&o[0],a.value]),o[0]){case 0:case 1:a=o;break;case 4:return n.label++,{value:o[1],done:!1};case 5:n.label++,i=o[1],o=[0];continue;case 7:o=n.ops.pop(),n.trys.pop();continue;default:if(!(a=n.trys,(a=a.length>0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]=n)return t;switch(t){case"%s":return String(i[r++]);case"%d":return Number(i[r++]);case"%j":try{return JSON.stringify(i[r++])}catch(t){return"[Circular]"}default:return t}})),s=i[r];r=3&&(i.depth=arguments[2]),arguments.length>=4&&(i.colors=arguments[3]),h(r)?i.showHidden=r:r&&e._extend(i,r),g(i.showHidden)&&(i.showHidden=!1),g(i.depth)&&(i.depth=2),g(i.colors)&&(i.colors=!1),g(i.customInspect)&&(i.customInspect=!0),i.colors&&(i.stylize=s),d(i,t,i.depth)}function s(t,e){var r=l.styles[e];return r?"["+l.colors[r][0]+"m"+t+"["+l.colors[r][1]+"m":t}function u(t,e){return t}function d(t,r,i){if(t.customInspect&&r&&P(r.inspect)&&r.inspect!==e.inspect&&(!r.constructor||r.constructor.prototype!==r)){var a=r.inspect(i,t);return m(a)||(a=d(t,a,i)),a}var n=function(t,e){if(g(e))return t.stylize("undefined","undefined");if(m(e)){var r="'"+JSON.stringify(e).replace(/^"|"$/g,"").replace(/'/g,"\\'").replace(/\\"/g,'"')+"'";return t.stylize(r,"string")}if(y(e))return t.stylize(""+e,"number");if(h(e))return t.stylize(""+e,"boolean");if(v(e))return t.stylize("null","null")}(t,r);if(n)return n;var o=Object.keys(r),l=function(t){var e={};return t.forEach((function(t,r){e[t]=!0})),e}(o);if(t.showHidden&&(o=Object.getOwnPropertyNames(r)),O(r)&&(o.indexOf("message")>=0||o.indexOf("description")>=0))return c(r);if(0===o.length){if(P(r)){var s=r.name?": "+r.name:"";return t.stylize("[Function"+s+"]","special")}if(V(r))return t.stylize(RegExp.prototype.toString.call(r),"regexp");if(w(r))return t.stylize(Date.prototype.toString.call(r),"date");if(O(r))return c(r)}var u,b="",S=!1,E=["{","}"];(f(r)&&(S=!0,E=["[","]"]),P(r))&&(b=" [Function"+(r.name?": "+r.name:"")+"]");return V(r)&&(b=" "+RegExp.prototype.toString.call(r)),w(r)&&(b=" "+Date.prototype.toUTCString.call(r)),O(r)&&(b=" "+c(r)),0!==o.length||S&&0!=r.length?i<0?V(r)?t.stylize(RegExp.prototype.toString.call(r),"regexp"):t.stylize("[Object]","special"):(t.seen.push(r),u=S?function(t,e,r,i,a){for(var n=[],o=0,l=e.length;o=0&&0,t+e.replace(/\u001b\[\d\d?m/g,"").length+1}),0)>60)return r[0]+(""===e?"":e+"\n ")+" "+t.join(",\n ")+" "+r[1];return r[0]+e+" "+t.join(", ")+" "+r[1]}(u,b,E)):E[0]+b+E[1]}function c(t){return"["+Error.prototype.toString.call(t)+"]"}function p(t,e,r,i,a,n){var o,l,s;if((s=Object.getOwnPropertyDescriptor(e,a)||{value:e[a]}).get?l=s.set?t.stylize("[Getter/Setter]","special"):t.stylize("[Getter]","special"):s.set&&(l=t.stylize("[Setter]","special")),F(i,a)||(o="["+a+"]"),l||(t.seen.indexOf(s.value)<0?(l=v(r)?d(t,s.value,null):d(t,s.value,r-1)).indexOf("\n")>-1&&(l=n?l.split("\n").map((function(t){return" "+t})).join("\n").substr(2):"\n"+l.split("\n").map((function(t){return" "+t})).join("\n")):l=t.stylize("[Circular]","special")),g(o)){if(n&&a.match(/^\d+$/))return l;(o=JSON.stringify(""+a)).match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/)?(o=o.substr(1,o.length-2),o=t.stylize(o,"name")):(o=o.replace(/'/g,"\\'").replace(/\\"/g,'"').replace(/(^"|"$)/g,"'"),o=t.stylize(o,"string"))}return o+": "+l}function f(t){return Array.isArray(t)}function h(t){return"boolean"==typeof t}function v(t){return null===t}function y(t){return"number"==typeof t}function m(t){return"string"==typeof t}function g(t){return void 0===t}function V(t){return b(t)&&"[object RegExp]"===S(t)}function b(t){return"object"==typeof t&&null!==t}function w(t){return b(t)&&"[object Date]"===S(t)}function O(t){return b(t)&&("[object Error]"===S(t)||t instanceof Error)}function P(t){return"function"==typeof t}function S(t){return Object.prototype.toString.call(t)}function E(t){return t<10?"0"+t.toString(10):t.toString(10)}e.debuglog=function(r){if(g(n)&&(n=t.env.NODE_DEBUG||""),r=r.toUpperCase(),!o[r])if(new RegExp("\\b"+r+"\\b","i").test(n)){var i=t.pid;o[r]=function(){var t=e.format.apply(e,arguments);console.error("%s %d: %s",r,i,t)}}else o[r]=function(){};return o[r]},e.inspect=l,l.colors={bold:[1,22],italic:[3,23],underline:[4,24],inverse:[7,27],white:[37,39],grey:[90,39],black:[30,39],blue:[34,39],cyan:[36,39],green:[32,39],magenta:[35,39],red:[31,39],yellow:[33,39]},l.styles={special:"cyan",number:"yellow",boolean:"yellow",undefined:"grey",null:"bold",string:"green",date:"magenta",regexp:"red"},e.isArray=f,e.isBoolean=h,e.isNull=v,e.isNullOrUndefined=function(t){return null==t},e.isNumber=y,e.isString=m,e.isSymbol=function(t){return"symbol"==typeof t},e.isUndefined=g,e.isRegExp=V,e.isObject=b,e.isDate=w,e.isError=O,e.isFunction=P,e.isPrimitive=function(t){return null===t||"boolean"==typeof t||"number"==typeof t||"string"==typeof t||"symbol"==typeof t||void 0===t},e.isBuffer=r(21);var T=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];function _(){var t=new Date,e=[E(t.getHours()),E(t.getMinutes()),E(t.getSeconds())].join(":");return[t.getDate(),T[t.getMonth()],e].join(" ")}function F(t,e){return Object.prototype.hasOwnProperty.call(t,e)}e.log=function(){console.log("%s - %s",_(),e.format.apply(e,arguments))},e.inherits=r(22),e._extend=function(t,e){if(!e||!b(e))return t;for(var r=Object.keys(e),i=r.length;i--;)t[r[i]]=e[r[i]];return t};var x="undefined"!=typeof Symbol?Symbol("util.promisify.custom"):void 0;function R(t,e){if(!t){var r=new Error("Promise was rejected with a falsy value");r.reason=t,t=r}return e(t)}e.promisify=function(t){if("function"!=typeof t)throw new TypeError('The "original" argument must be of type Function');if(x&&t[x]){var e;if("function"!=typeof(e=t[x]))throw new TypeError('The "util.promisify.custom" argument must be of type Function');return Object.defineProperty(e,x,{value:e,enumerable:!1,writable:!1,configurable:!0}),e}function e(){for(var e,r,i=new Promise((function(t,i){e=t,r=i})),a=[],n=0;n1)for(var r=1;r0&&a[a.length-1])||6!==n[0]&&2!==n[0])){o=0;continue}if(3===n[0]&&(!a||n[1]>a[0]&&n[1]=o)return t;switch(t){case"%s":return String(i[r++]);case"%d":return Number(i[r++]);case"%j":try{return JSON.stringify(i[r++])}catch(t){return"[Circular]"}default:return t}})),s=i[r];r=3&&(i.depth=arguments[2]),arguments.length>=4&&(i.colors=arguments[3]),h(r)?i.showHidden=r:r&&e._extend(i,r),g(i.showHidden)&&(i.showHidden=!1),g(i.depth)&&(i.depth=2),g(i.colors)&&(i.colors=!1),g(i.customInspect)&&(i.customInspect=!0),i.colors&&(i.stylize=s),d(i,t,i.depth)}function s(t,e){var r=l.styles[e];return r?"["+l.colors[r][0]+"m"+t+"["+l.colors[r][1]+"m":t}function u(t,e){return t}function d(t,r,i){if(t.customInspect&&r&&S(r.inspect)&&r.inspect!==e.inspect&&(!r.constructor||r.constructor.prototype!==r)){var a=r.inspect(i,t);return m(a)||(a=d(t,a,i)),a}var o=function(t,e){if(g(e))return t.stylize("undefined","undefined");if(m(e)){var r="'"+JSON.stringify(e).replace(/^"|"$/g,"").replace(/'/g,"\\'").replace(/\\"/g,'"')+"'";return t.stylize(r,"string")}if(y(e))return t.stylize(""+e,"number");if(h(e))return t.stylize(""+e,"boolean");if(v(e))return t.stylize("null","null")}(t,r);if(o)return o;var n=Object.keys(r),l=function(t){var e={};return t.forEach((function(t,r){e[t]=!0})),e}(n);if(t.showHidden&&(n=Object.getOwnPropertyNames(r)),O(r)&&(n.indexOf("message")>=0||n.indexOf("description")>=0))return c(r);if(0===n.length){if(S(r)){var s=r.name?": "+r.name:"";return t.stylize("[Function"+s+"]","special")}if(V(r))return t.stylize(RegExp.prototype.toString.call(r),"regexp");if(w(r))return t.stylize(Date.prototype.toString.call(r),"date");if(O(r))return c(r)}var u,b="",P=!1,_=["{","}"];(f(r)&&(P=!0,_=["[","]"]),S(r))&&(b=" [Function"+(r.name?": "+r.name:"")+"]");return V(r)&&(b=" "+RegExp.prototype.toString.call(r)),w(r)&&(b=" "+Date.prototype.toUTCString.call(r)),O(r)&&(b=" "+c(r)),0!==n.length||P&&0!=r.length?i<0?V(r)?t.stylize(RegExp.prototype.toString.call(r),"regexp"):t.stylize("[Object]","special"):(t.seen.push(r),u=P?function(t,e,r,i,a){for(var o=[],n=0,l=e.length;n=0&&0,t+e.replace(/\u001b\[\d\d?m/g,"").length+1}),0)>60)return r[0]+(""===e?"":e+"\n ")+" "+t.join(",\n ")+" "+r[1];return r[0]+e+" "+t.join(", ")+" "+r[1]}(u,b,_)):_[0]+b+_[1]}function c(t){return"["+Error.prototype.toString.call(t)+"]"}function p(t,e,r,i,a,o){var n,l,s;if((s=Object.getOwnPropertyDescriptor(e,a)||{value:e[a]}).get?l=s.set?t.stylize("[Getter/Setter]","special"):t.stylize("[Getter]","special"):s.set&&(l=t.stylize("[Setter]","special")),F(i,a)||(n="["+a+"]"),l||(t.seen.indexOf(s.value)<0?(l=v(r)?d(t,s.value,null):d(t,s.value,r-1)).indexOf("\n")>-1&&(l=o?l.split("\n").map((function(t){return" "+t})).join("\n").substr(2):"\n"+l.split("\n").map((function(t){return" "+t})).join("\n")):l=t.stylize("[Circular]","special")),g(n)){if(o&&a.match(/^\d+$/))return l;(n=JSON.stringify(""+a)).match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/)?(n=n.substr(1,n.length-2),n=t.stylize(n,"name")):(n=n.replace(/'/g,"\\'").replace(/\\"/g,'"').replace(/(^"|"$)/g,"'"),n=t.stylize(n,"string"))}return n+": "+l}function f(t){return Array.isArray(t)}function h(t){return"boolean"==typeof t}function v(t){return null===t}function y(t){return"number"==typeof t}function m(t){return"string"==typeof t}function g(t){return void 0===t}function V(t){return b(t)&&"[object RegExp]"===P(t)}function b(t){return"object"==typeof t&&null!==t}function w(t){return b(t)&&"[object Date]"===P(t)}function O(t){return b(t)&&("[object Error]"===P(t)||t instanceof Error)}function S(t){return"function"==typeof t}function P(t){return Object.prototype.toString.call(t)}function _(t){return t<10?"0"+t.toString(10):t.toString(10)}e.debuglog=function(r){if(g(o)&&(o=t.env.NODE_DEBUG||""),r=r.toUpperCase(),!n[r])if(new RegExp("\\b"+r+"\\b","i").test(o)){var i=t.pid;n[r]=function(){var t=e.format.apply(e,arguments);console.error("%s %d: %s",r,i,t)}}else n[r]=function(){};return n[r]},e.inspect=l,l.colors={bold:[1,22],italic:[3,23],underline:[4,24],inverse:[7,27],white:[37,39],grey:[90,39],black:[30,39],blue:[34,39],cyan:[36,39],green:[32,39],magenta:[35,39],red:[31,39],yellow:[33,39]},l.styles={special:"cyan",number:"yellow",boolean:"yellow",undefined:"grey",null:"bold",string:"green",date:"magenta",regexp:"red"},e.isArray=f,e.isBoolean=h,e.isNull=v,e.isNullOrUndefined=function(t){return null==t},e.isNumber=y,e.isString=m,e.isSymbol=function(t){return"symbol"==typeof t},e.isUndefined=g,e.isRegExp=V,e.isObject=b,e.isDate=w,e.isError=O,e.isFunction=S,e.isPrimitive=function(t){return null===t||"boolean"==typeof t||"number"==typeof t||"string"==typeof t||"symbol"==typeof t||void 0===t},e.isBuffer=r(21);var T=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];function E(){var t=new Date,e=[_(t.getHours()),_(t.getMinutes()),_(t.getSeconds())].join(":");return[t.getDate(),T[t.getMonth()],e].join(" ")}function F(t,e){return Object.prototype.hasOwnProperty.call(t,e)}e.log=function(){console.log("%s - %s",E(),e.format.apply(e,arguments))},e.inherits=r(22),e._extend=function(t,e){if(!e||!b(e))return t;for(var r=Object.keys(e),i=r.length;i--;)t[r[i]]=e[r[i]];return t};var x="undefined"!=typeof Symbol?Symbol("util.promisify.custom"):void 0;function k(t,e){if(!t){var r=new Error("Promise was rejected with a falsy value");r.reason=t,t=r}return e(t)}e.promisify=function(t){if("function"!=typeof t)throw new TypeError('The "original" argument must be of type Function');if(x&&t[x]){var e;if("function"!=typeof(e=t[x]))throw new TypeError('The "util.promisify.custom" argument must be of type Function');return Object.defineProperty(e,x,{value:e,enumerable:!1,writable:!1,configurable:!0}),e}function e(){for(var e,r,i=new Promise((function(t,i){e=t,r=i})),a=[],o=0;o1)for(var r=1;r0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]2&&"[]"===o.slice(l-2)&&(s=!0,r[o=o.slice(0,l-2)]||(r[o]=[])),a=n[1]?g(n[1]):""),s?r[o].push(a):r[o]=a}return r},recognize:function(t){var e,r,i,a=[this.rootState],n={},o=!1;if(-1!==(i=t.indexOf("?"))){var l=t.substr(i+1,t.length);t=t.substr(0,i),n=this.parseQueryString(l)}for("/"!==(t=decodeURI(t)).charAt(0)&&(t="/"+t),(e=t.length)>1&&"/"===t.charAt(e-1)&&(t=t.substr(0,e-1),o=!0),r=0;r2&&"[]"===n.slice(l-2)&&(s=!0,r[n=n.slice(0,l-2)]||(r[n]=[])),a=o[1]?g(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(-1!==(i=t.indexOf("?"))){var l=t.substr(i+1,t.length);t=t.substr(0,i),o=this.parseQueryString(l)}for("/"!==(t=decodeURI(t)).charAt(0)&&(t="/"+t),(e=t.length)>1&&"/"===t.charAt(e-1)&&(t=t.substr(0,e-1),n=!0),r=0;r} + */ + async create(): Promise { + const errors = validateCreateReport(this.createConfig); + if (errors) { + throw errors; + } + + try { + const headers: ISessionHeaders = { + uid: this.config.uniqueId, + sdkSessionId: this.service.getSdkSessionId() + }; + + if (!!this.eventHooks?.accessTokenProvider) { + headers.tokenProviderSupplied = true; + } + + const response = await this.service.hpm.post("/report/create", this.createConfig, headers, this.iframe.contentWindow); + return response.body; + } catch (response) { + throw response.body; + } + } } diff --git a/src/embed.ts b/src/embed.ts index d3c3b3dd..c75953f9 100644 --- a/src/embed.ts +++ b/src/embed.ts @@ -5,7 +5,7 @@ import * as models from 'powerbi-models'; import * as sdkConfig from './config'; import { EmbedUrlNotSupported } from './errors'; import { ICustomEvent, IEvent, IEventHandler, Service } from './service'; -import { addParamToUrl, assign, autoAuthInEmbedUrl, createRandomString, getTimeDiffInMilliseconds, remove } from './util'; +import { addParamToUrl, assign, autoAuthInEmbedUrl, createRandomString, getTimeDiffInMilliseconds, remove, isCreate } from './util'; declare global { interface Document { @@ -175,14 +175,6 @@ export abstract class Embed { */ bootstrapConfig: IBootstrapEmbedConfiguration; - /** - * Gets or sets the configuration settings for creating report. - * - * @type {models.IReportCreateConfiguration} - * @hidden - */ - createConfig: models.IReportCreateConfiguration; - /** * Url used in the load request. * @@ -246,7 +238,7 @@ export abstract class Embed { this.populateConfig(config, isBootstrap); - if (this.embedtype === 'create') { + if (isCreate(this.embedtype)) { 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); @@ -254,39 +246,13 @@ export abstract class Embed { } /** - * Sends createReport configuration data. - * - * ```javascript - * createReport({ - * datasetId: '5dac7a4a-4452-46b3-99f6-a25915e0fe55', - * accessToken: 'eyJ0eXA ... TaE2rTSbmg', - * ``` + * Create is not supported by default * * @hidden - * @param {models.IReportCreateConfiguration} config * @returns {Promise} */ - async createReport(config: models.IReportCreateConfiguration): Promise { - const errors = models.validateCreateReport(config); - if (errors) { - throw errors; - } - - try { - const headers: ISessionHeaders = { - uid: this.config.uniqueId, - sdkSessionId: this.service.getSdkSessionId() - }; - - if (!!this.eventHooks?.accessTokenProvider) { - headers.tokenProviderSupplied = true; - } - - const response = await this.service.hpm.post("/report/create", config, headers, this.iframe.contentWindow); - return response.body; - } catch (response) { - throw response.body; - } + create(): Promise { + throw new Error(`no create support`); } /** @@ -491,7 +457,7 @@ export abstract class Embed { throw new Error("Access token cannot be empty"); } let embedType = this.config.type; - embedType = (embedType === 'create' || embedType === 'visual' || embedType === 'qna') ? 'report' : embedType; + embedType = (embedType === 'create' || embedType === 'visual' || embedType === 'qna' || embedType === 'quickCreate') ? 'report' : embedType; try { const response = await this.service.hpm.post('/' + embedType + '/token', accessToken, { uid: this.config.uniqueId }, this.iframe.contentWindow); @@ -813,7 +779,7 @@ export abstract class Embed { this.element.addEventListener('ready', this.frontLoadHandler, false); } } else { - this.iframe.addEventListener('load', () => this.createReport(this.createConfig), false); + this.iframe.addEventListener('load', () => this.create(), false); } } diff --git a/src/quickCreate.ts b/src/quickCreate.ts new file mode 100644 index 00000000..ddf0fc18 --- /dev/null +++ b/src/quickCreate.ts @@ -0,0 +1,121 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. + +import { IError, IQuickCreateConfiguration, validateQuickCreate } from 'powerbi-models'; +import { Service } from './service'; +import { Embed, IEmbedConfigurationBase, ISessionHeaders } from './embed'; +import * as assert from 'assert'; + +/** + * A Power BI Quick Create component + * + * @export + * @class QuickCreate + * @extends {Embed} + */ +export class QuickCreate extends Embed { + + /** + * Gets or sets the configuration settings for creating report. + * + * @type {IQuickCreateConfiguration} + * @hidden + */ + createConfig: IQuickCreateConfiguration; + + /* + * @hidden + */ + constructor(service: Service, element: HTMLElement, config: IQuickCreateConfiguration, phasedRender?: boolean, isBootstrap?: boolean) { + super(service, element, config, /* iframe */ undefined, phasedRender, isBootstrap); + + service.router.post(`/reports/${this.config.uniqueId}/eventHooks/:eventName`, async (req, _res) => { + switch (req.params.eventName) { + case "newAccessToken": + req.body = req.body || {}; + req.body.report = this; + await service.invokeSDKHook(this.eventHooks?.accessTokenProvider, req, _res); + break; + + default: + assert(false, `${req.params.eventName} eventHook is not supported`); + break; + } + }); + } + + /** + * Override the getId abstract function + * QuickCreate does not need any ID + * + * @returns {string} + */ + getId(): string { + return null; + } + + /** + * Validate create report configuration. + */ + validate(config: IEmbedConfigurationBase): IError[] { + return validateQuickCreate(config); + } + + /** + * Handle config changes. + * + * @hidden + * @returns {void} + */ + configChanged(isBootstrap: boolean): void { + if (isBootstrap) { + return; + } + + this.createConfig = this.config as IQuickCreateConfiguration; + } + + /** + * @hidden + * @returns {string} + */ + getDefaultEmbedUrlEndpoint(): string { + return "quickCreate"; + } + + /** + * Sends quickCreate configuration data. + * + * ```javascript + * quickCreate({ + * accessToken: 'eyJ0eXA ... TaE2rTSbmg', + * datasetCreateConfig: {}}) + * ``` + * + * @hidden + * @param {IQuickCreateConfiguration} createConfig + * @returns {Promise} + */ + async create(): Promise { + const errors = validateQuickCreate(this.createConfig); + if (errors) { + throw errors; + } + + try { + const headers: ISessionHeaders = { + uid: this.config.uniqueId, + sdkSessionId: this.service.getSdkSessionId() + }; + + if (!!this.eventHooks?.accessTokenProvider) { + headers.tokenProviderSupplied = true; + } + + const response = await this.service.hpm.post("/quickcreate", this.createConfig, headers, this.iframe.contentWindow); + return response.body; + } catch (response) { + throw response.body; + } + } +} diff --git a/src/service.ts b/src/service.ts index 06294ab9..9a0b3029 100644 --- a/src/service.ts +++ b/src/service.ts @@ -7,7 +7,7 @@ import { WindowPostMessageProxy } from 'window-post-message-proxy'; import { HttpPostMessage } from 'http-post-message'; import { Router, IExtendedRequest, Response as IExtendedResponse } from 'powerbi-router'; -import { IPage, IReportCreateConfiguration } from 'powerbi-models'; +import { IPage, IQuickCreateConfiguration, IReportCreateConfiguration } from 'powerbi-models'; import { Embed, IBootstrapEmbedConfiguration, @@ -27,6 +27,7 @@ import { Page } from './page'; import { Qna } from './qna'; import { Visual } from './visual'; import * as utils from './util'; +import { QuickCreate } from './quickCreate'; import * as sdkConfig from './config'; export interface IEvent { @@ -277,6 +278,23 @@ export class Service implements IService { return component; } + /** + * Creates new dataset + * + * @param {HTMLElement} element + * @param {IEmbedConfiguration} [config={}] + * @returns {Embed} + */ + quickCreate(element: HTMLElement, config: IQuickCreateConfiguration): Embed { + config.type = 'quickCreate'; + const powerBiElement = element as IPowerBiElement; + const component = new QuickCreate(this, powerBiElement, config); + powerBiElement.powerBiEmbed = component; + this.addOrOverwriteEmbed(component, element); + + return component; + } + /** * TODO: Add a description here * @@ -433,7 +451,7 @@ export class Service implements IService { /** * When loading report after create we want to use existing Iframe to optimize load period */ - if (config.type === "report" && component.config.type === "create") { + if (config.type === "report" && utils.isCreate(component.config.type)) { const report = new Report(this, element, config, /* phasedRender */ false, /* isBootstrap */ false, element.powerBiEmbed.iframe); component.populateConfig(config, /* isBootstrap */ false); report.load(); @@ -503,7 +521,7 @@ export class Service implements IService { */ addOrOverwriteEmbed(component: Embed, element: HTMLElement): void { // remove embeds over the same div element. - this.embeds = this.embeds.filter(function (embed) { + this.embeds = this.embeds.filter(function(embed) { return embed.element !== element; }); @@ -641,8 +659,8 @@ export class Service implements IService { * @param {string} type * @returns {void} */ - setSdkInfo(type: string, version: string): void { - this.hpm.defaultHeaders['x-sdk-type'] = type; - this.hpm.defaultHeaders['x-sdk-wrapper-version'] = version; - } + setSdkInfo(type: string, version: string): void { + this.hpm.defaultHeaders['x-sdk-type'] = type; + this.hpm.defaultHeaders['x-sdk-wrapper-version'] = version; + } } diff --git a/src/util.ts b/src/util.ts index 8dc63653..d03e1ebf 100644 --- a/src/util.ts +++ b/src/util.ts @@ -212,3 +212,14 @@ export function getRandomValue(): number { export function getTimeDiffInMilliseconds(start: Date, end: Date): number { return Math.abs(start.getTime() - end.getTime()); } + +/** + * Checks if the embed type is for create + * + * @export + * @param {string} embedType + * @returns {boolean} + */ +export function isCreate(embedType: string): boolean { + return embedType === 'create' || embedType === 'quickcreate'; +} diff --git a/test/SDK-to-HPM.spec.ts b/test/SDK-to-HPM.spec.ts index 68a00460..74c41466 100644 --- a/test/SDK-to-HPM.spec.ts +++ b/test/SDK-to-HPM.spec.ts @@ -7,6 +7,7 @@ import * as embed from '../src/embed'; import * as report from '../src/report'; import * as visual from '../src/visual'; import * as create from '../src/create'; +import * as quickCreate from '../src/quickCreate'; import * as dashboard from '../src/dashboard'; import * as page from '../src/page'; import * as sdkConfig from '../src/config'; @@ -2135,7 +2136,7 @@ describe('SDK-to-HPM', function () { }); }); - describe('createReport', function () { + describe('create', function () { let createElement: HTMLDivElement; let create: create.Create; @@ -2164,7 +2165,7 @@ describe('SDK-to-HPM', function () { createElement.remove(); }); - it('create.createReport() sends POST /report/create with configuration in body', async function () { + it('create.create() sends POST /report/create with configuration in body', async function () { // Arrange const testData = { createConfiguration: { @@ -2177,15 +2178,16 @@ describe('SDK-to-HPM', function () { }; spyHpm.post.and.returnValue(Promise.resolve(testData.response)); + create.createConfig = testData.createConfiguration; // Act - await create.createReport(testData.createConfiguration); + await create.create(); // Assert expect(spyHpm.post).toHaveBeenCalledWith('/report/create', testData.createConfiguration, { uid: createUniqueId, sdkSessionId: sdkSessionId, tokenProviderSupplied: true }, jasmine.any(Object)); }); - it('create.createReport() returns promise that rejects with validation error if the create configuration is invalid', async function () { + it('create.create() returns promise that rejects with validation error if the create configuration is invalid', async function () { // Arrange const testData = { createConfiguration: { @@ -2204,7 +2206,8 @@ describe('SDK-to-HPM', function () { spyHpm.post.and.callFake(() => Promise.reject(testData.errorResponse)); try { // Act - await create.createReport(testData.createConfiguration); + create.createConfig = testData.createConfiguration; + await create.create(); } catch (error) { // Assert @@ -2213,7 +2216,7 @@ describe('SDK-to-HPM', function () { } }); - it('create.createReport() returns promise that resolves with null if create report was successful', async function () { + it('create.create() returns promise that resolves with null if create report was successful', async function () { // Arrange const testData = { createConfiguration: { @@ -2230,7 +2233,8 @@ describe('SDK-to-HPM', function () { spyHpm.post.and.returnValue(Promise.resolve(testData.response)); // Act - const response = await create.createReport(testData.createConfiguration); + create.createConfig = testData.createConfiguration; + const response = await create.create(); // Assert expect(spyHpm.post).toHaveBeenCalledWith('/report/create', testData.createConfiguration, { uid: createUniqueId, sdkSessionId: sdkSessionId, tokenProviderSupplied: true }, jasmine.any(Object)); expect(response).toEqual(null); @@ -2568,4 +2572,129 @@ describe('SDK-to-HPM', function () { }); }); }); + + describe('quickCreate', function () { + let quickCreateElement: HTMLDivElement; + let quickCreate: quickCreate.QuickCreate; + let quickCreateUniqueId = 'uniqueId'; + + // Arrange + let testData = { + createConfiguration: { + type: 'quickCreate', + accessToken: 'fakeToken', + groupId: undefined, + settings: undefined, + tokenType: models.TokenType.Aad, + theme: undefined, + datasetCreateConfig: { + locale: "fakeLocale", + mashupDocument: "fakeMashup", + }, + reportCreationMode: undefined + }, + response: { + body: null + } + }; + + beforeEach(async () => { + quickCreateElement = document.createElement('div'); + quickCreateElement.className = 'powerbi-quickCreate-container'; + document.body.appendChild(quickCreateElement); + + const quickCreateConfiguration = { + accessToken: 'fakeToken', + tokenType: models.TokenType.Aad, + embedUrl: iframeSrc, + datasetCreateConfig: { + locale: "fakeLocale", + mashupDocument: "fakeMashup", + }, + eventHooks: { accessTokenProvider: function () { return null; } } + }; + spyHpm.post.and.returnValue(Promise.resolve({})); + quickCreate = powerbi.quickCreate(quickCreateElement, quickCreateConfiguration); + createUniqueId = quickCreate.config.uniqueId; + const createIframe = quickCreateElement.getElementsByTagName('iframe')[0]; + await new Promise((resolve, _reject) => createIframe.addEventListener('load', () => resolve(null))); + spyHpm.post.and.callThrough(); + }); + + afterEach(() => { + powerbi.reset(quickCreateElement); + quickCreateElement.remove(); + }); + + describe('quickCreate', function () { + it('quickCreate.create() sends POST /quickcreate with configuration in body', async function () { + spyHpm.post.and.returnValue(Promise.resolve(testData.response)); + quickCreate.createConfig = testData.createConfiguration; + quickCreateUniqueId = quickCreate.config.uniqueId; + + // Act + await quickCreate.create(); + + // Assert + let expectedHeaders = { + uid: quickCreateUniqueId, + sdkSessionId: sdkSessionId, + tokenProviderSupplied: true + }; + expect(spyHpm.post).toHaveBeenCalledWith('/quickcreate', testData.createConfiguration, expectedHeaders, jasmine.any(Object)); + }); + + it('quickCreate.create() returns promise that rejects with validation error if the create configuration is invalid', async function () { + // Arrange + const errorResponse = { + body: { + message: "invalid configuration object" + } + }; + + spyHpm.post.and.returnValue(Promise.reject(errorResponse)); + quickCreate.createConfig = testData.createConfiguration; + quickCreateUniqueId = quickCreate.config.uniqueId; + + spyHpm.post.and.callFake(() => Promise.reject(errorResponse)); + try { + // Act + await quickCreate.create(); + + } catch (error) { + // Assert + let expectedHeaders = { + uid: quickCreateUniqueId, + sdkSessionId: sdkSessionId, + tokenProviderSupplied: true + }; + expect(spyHpm.post).toHaveBeenCalledWith('/quickcreate', testData.createConfiguration, expectedHeaders, jasmine.any(Object)); + expect(error).toEqual(errorResponse.body); + } + }); + + it('quickCreate.create() returns promise that resolves with null if quick create was successful', async function () { + spyHpm.post.and.returnValue(Promise.resolve(testData.response)); + quickCreate.createConfig = testData.createConfiguration; + quickCreateUniqueId = quickCreate.config.uniqueId; + + // Act + const response = await quickCreate.create(); + expect(response).toEqual(null); + + // Assert + let expectedHeaders = { + uid: quickCreateUniqueId, + sdkSessionId: sdkSessionId, + tokenProviderSupplied: true + }; + expect(spyHpm.post).toHaveBeenCalledWith( + '/quickcreate', + testData.createConfiguration, + expectedHeaders, jasmine.any(Object)); + expect(response).toEqual(null); + }); + }); + }); + }); diff --git a/test/protocol.spec.ts b/test/protocol.spec.ts index 65bb72d8..6677677a 100644 --- a/test/protocol.spec.ts +++ b/test/protocol.spec.ts @@ -1191,4 +1191,53 @@ describe('Protocol', function () { }); }); }); + + describe('quickCreate', function () { + describe('create', function () { + it('POST /quickcreate returns 400 if the request is invalid', async function () { + // Arrange + const testData = { + uniqueId: 'uniqueId', + create: { + accessToken: "fakeToken", + } + }; + + spyApp.validateQuickCreate.and.callFake(() => Promise.reject(null)); + + // Act + try { + await hpm.post('/quickcreate', testData.create, { uid: testData.uniqueId }); + fail("POST to /quickcreate should fail"); + } catch (response) { + // Assert + expect(spyApp.validateQuickCreate).toHaveBeenCalledWith(testData.create); + expect(response.statusCode).toEqual(400); + } + }); + + it('POST /quickCreate returns 202 if the request is valid', async function () { + // Arrange + const testData = { + uniqueId: 'uniqueId', + create: { + accessToken: "fakeToken", + } + }; + + spyApp.validateQuickCreate.and.returnValue(Promise.resolve(null)); + // Act + try { + const response = await hpm.post('/quickcreate', testData.create, { uid: testData.uniqueId }); + // Assert + expect(spyApp.validateQuickCreate).toHaveBeenCalledWith(testData.create); + expect(response.statusCode).toEqual(202); + } catch (error) { + console.log("hpm.post failed with", error); + fail("hpm.post"); + } + }); + }); + }); + }); diff --git a/test/service.spec.ts b/test/service.spec.ts index afb81dc7..b03b4ec5 100644 --- a/test/service.spec.ts +++ b/test/service.spec.ts @@ -643,7 +643,7 @@ describe('service', function () { .appendTo('#powerbi-fixture'); // Act - const report = powerbi.createReport($reportContainer[0], { embedUrl: embedUrl, accessToken: accessToken, datasetId: testDatasetId }); + const report = powerbi.createReport($reportContainer[0], { embedUrl: embedUrl, accessToken: accessToken, datasetId: testDatasetId }) as create.Create; // Assert expect(report.createConfig.datasetId).toEqual(testDatasetId); @@ -658,7 +658,7 @@ describe('service', function () { .appendTo('#powerbi-fixture'); // Act - const report = powerbi.createReport($reportContainer[0], { embedUrl: embedUrl, accessToken: accessToken }); + const report = powerbi.createReport($reportContainer[0], { embedUrl: embedUrl, accessToken: accessToken }) as create.Create; // Assert expect(report.createConfig.datasetId).toEqual(testDatasetId); @@ -675,7 +675,7 @@ describe('service', function () { .appendTo('#powerbi-fixture'); // Act - const report = powerbi.createReport($reportContainer[0], { embedUrl: embedUrl, accessToken: accessToken, theme: theme }); + const report = powerbi.createReport($reportContainer[0], { embedUrl: embedUrl, accessToken: accessToken, theme: theme }) as create.Create; // Assert expect(report.createConfig.theme).toEqual(theme); @@ -691,7 +691,7 @@ describe('service', function () { .appendTo('#powerbi-fixture'); // Act - const report = powerbi.createReport($reportContainer[0], { embedUrl: embedUrl, accessToken: accessToken }); + const report = powerbi.createReport($reportContainer[0], { embedUrl: embedUrl, accessToken: accessToken }) as create.Create; // Assert expect(report.createConfig.theme).toBeUndefined(); @@ -1041,4 +1041,76 @@ describe('service', function () { expect(report2).toBeUndefined(); }); }); + + describe('quickCreate', function () { + const embedUrl = `https://app.powerbi.com/quickcreate`; + const accessToken = 'ABC123'; + + it('happy path', function () { + // Arrange + const component = $('
') + .appendTo('#powerbi-fixture'); + + // Act + const attemptCreate = (): void => { + powerbi.quickCreate(component[0], { + embedUrl: embedUrl, + accessToken: accessToken, + datasetCreateConfig: { + locale: "fakeLocale", + mashupDocument: "fakeMashup", + }}); + }; + + // Assert + expect(attemptCreate).not.toThrowError(); + }); + + it('if attempting to quickCreate without specifying an embed url, throw error', function () { + // Arrange + const component = $('
') + .appendTo('#powerbi-fixture'); + + // Act + const attemptCreate = (): void => { + powerbi.quickCreate(component[0], { + embedUrl: null, + accessToken: accessToken, + datasetCreateConfig: { + locale: "fakeLocale", + mashupDocument: "fakeMashup", + } + }); + }; + + // Assert + expect(attemptCreate).toThrowError(Error); + }); + + it('if attempting to quickCreate without specifying an access token, throw error', function () { + // Arrange + const component = $('
') + .appendTo('#powerbi-fixture'); + + const originalToken = powerbi.accessToken; + powerbi.accessToken = undefined; + + // Act + const attemptCreate = (): void => { + powerbi.quickCreate(component[0], { + embedUrl: embedUrl, + accessToken: null, + datasetCreateConfig: { + locale: "fakeLocale", + mashupDocument: "fakeMashup", + }}); + }; + + // Assert + expect(attemptCreate).toThrowError(Error); + + // Cleanup + powerbi.accessToken = originalToken; + }); + }); }); diff --git a/test/utility/mockApp.ts b/test/utility/mockApp.ts index 7ef1aab3..9fd857a1 100644 --- a/test/utility/mockApp.ts +++ b/test/utility/mockApp.ts @@ -40,6 +40,7 @@ export interface IApp { refreshData(): Promise; exportData(): Promise; validateCreateReport(config: models.IReportCreateConfiguration): Promise; + validateQuickCreate(config: models.IQuickCreateConfiguration): Promise; switchMode(): Promise; save(): Promise; saveAs(saveAsParameters: models.ISaveAsParameters): Promise; @@ -84,6 +85,7 @@ export const mockAppSpyObj = { refreshData: jasmine.createSpy("refreshData").and.returnValue(Promise.resolve(null)), exportData: jasmine.createSpy("exportData").and.returnValue(Promise.resolve(null)), validateCreateReport: jasmine.createSpy("validateCreateReport").and.callFake(models.validateCreateReport), + validateQuickCreate: jasmine.createSpy("validateQuickCreate").and.callFake(models.validateQuickCreate), switchMode: jasmine.createSpy("switchMode").and.returnValue(Promise.resolve(null)), save: jasmine.createSpy("save").and.returnValue(Promise.resolve(null)), saveAs: jasmine.createSpy("saveAs").and.returnValue(Promise.resolve(null)), @@ -151,6 +153,8 @@ export const mockAppSpyObj = { mockAppSpyObj.exportData.and.callThrough(); mockAppSpyObj.validateCreateReport.calls.reset(); mockAppSpyObj.validateCreateReport.and.callThrough(); + mockAppSpyObj.validateQuickCreate.calls.reset(); + mockAppSpyObj.validateQuickCreate.and.callThrough(); mockAppSpyObj.switchMode.calls.reset(); mockAppSpyObj.switchMode.and.callThrough(); mockAppSpyObj.save.calls.reset(); diff --git a/test/utility/mockEmbed.ts b/test/utility/mockEmbed.ts index 4d2773c8..5a3749f5 100644 --- a/test/utility/mockEmbed.ts +++ b/test/utility/mockEmbed.ts @@ -83,6 +83,19 @@ export function setupEmbedMockApp(iframeContentWindow: Window, parentWindow: Win } }); + /** + * Quick Create + */ + router.post('/quickcreate', (req, res) => { + const createConfig = req.body; + return app.validateQuickCreate(createConfig) + .then(() => { + res.send(202); + }, error => { + res.send(400, error); + }); + }); + /** * Report Embed */ From 2c561d84c8235f255ec50f95445e268107bbab61 Mon Sep 17 00:00:00 2001 From: Sheng Liu Date: Mon, 12 Sep 2022 17:16:12 +0000 Subject: [PATCH 098/125] Merged PR 300806: bump version to 2.22.0, swith to use model version 1.12.1 bump version to 2.22.0, swith to use model version 1.12.1 Related work items: #776456 --- dist/powerbi-client.d.ts | 2 +- dist/powerbi.js | 63 ++++++++++++++++++++++++++++++---------- dist/powerbi.min.js | 12 ++++---- package.json | 4 +-- src/config.ts | 2 +- 5 files changed, 58 insertions(+), 25 deletions(-) diff --git a/dist/powerbi-client.d.ts b/dist/powerbi-client.d.ts index 7566cff5..46ca5d77 100644 --- a/dist/powerbi-client.d.ts +++ b/dist/powerbi-client.d.ts @@ -1,4 +1,4 @@ -// powerbi-client v2.21.1 +// powerbi-client v2.22.0 // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. declare module "config" { diff --git a/dist/powerbi.js b/dist/powerbi.js index d89437fa..d1db70b6 100644 --- a/dist/powerbi.js +++ b/dist/powerbi.js @@ -1,4 +1,4 @@ -// powerbi-client v2.21.1 +// powerbi-client v2.22.0 // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. (function webpackUniversalModuleDefinition(root, factory) { @@ -911,7 +911,7 @@ module.exports = shouldUseNative() ? Object.assign : function (target, source) { /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { -// powerbi-models v1.12.0 +// powerbi-models v1.12.1 // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. (function webpackUniversalModuleDefinition(root, factory) { @@ -942,7 +942,7 @@ var __extends = (this && this.__extends) || (function () { }; })(); Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.SortDirection = exports.LegendPosition = exports.TextAlignment = exports.CommonErrorCodes = exports.BookmarksPlayMode = exports.ExportDataType = exports.QnaMode = exports.PageNavigationPosition = exports.DataCacheMode = exports.ICredentialType = exports.isPercentOfGrandTotal = exports.isColumnAggr = exports.isHierarchyLevelAggr = exports.isHierarchyLevel = exports.isColumn = exports.isMeasure = exports.getFilterType = exports.isBasicFilterWithKeys = exports.isFilterKeyColumnsTarget = exports.HierarchyFilter = exports.AdvancedFilter = exports.TupleFilter = exports.IdentityFilter = exports.BasicFilterWithKeys = exports.BasicFilter = exports.RelativeTimeFilter = exports.RelativeDateFilter = exports.TopNFilter = exports.IncludeExcludeFilter = exports.NotSupportedFilter = exports.Filter = exports.RelativeDateOperators = exports.RelativeDateFilterTimeUnit = exports.FilterType = exports.FiltersLevel = exports.FiltersOperations = exports.MenuLocation = exports.ContrastMode = exports.TokenType = exports.ViewMode = exports.Permissions = exports.SectionVisibility = exports.ReportAlignment = exports.HyperlinkClickBehavior = exports.LayoutType = exports.VisualContainerDisplayMode = exports.BackgroundType = exports.DisplayOption = exports.PageSizeType = exports.TraceType = void 0; +exports.SortDirection = exports.LegendPosition = exports.TextAlignment = exports.CommonErrorCodes = exports.BookmarksPlayMode = exports.ExportDataType = exports.QnaMode = exports.PageNavigationPosition = exports.DataCacheMode = exports.CredentialType = exports.isPercentOfGrandTotal = exports.isColumnAggr = exports.isHierarchyLevelAggr = exports.isHierarchyLevel = exports.isColumn = exports.isMeasure = exports.getFilterType = exports.isBasicFilterWithKeys = exports.isFilterKeyColumnsTarget = exports.HierarchyFilter = exports.AdvancedFilter = exports.TupleFilter = exports.IdentityFilter = exports.BasicFilterWithKeys = exports.BasicFilter = exports.RelativeTimeFilter = exports.RelativeDateFilter = exports.TopNFilter = exports.IncludeExcludeFilter = exports.NotSupportedFilter = exports.Filter = exports.RelativeDateOperators = exports.RelativeDateFilterTimeUnit = exports.FilterType = exports.FiltersLevel = exports.FiltersOperations = exports.MenuLocation = exports.ContrastMode = exports.TokenType = exports.ViewMode = exports.Permissions = exports.SectionVisibility = exports.ReportAlignment = exports.HyperlinkClickBehavior = exports.LayoutType = exports.VisualContainerDisplayMode = exports.BackgroundType = exports.DisplayOption = exports.PageSizeType = exports.TraceType = void 0; exports.validateCommandsSettings = exports.validateVisualSettings = exports.validateVisualHeader = exports.validateExportDataRequest = exports.validateQnaInterpretInputData = exports.validateLoadQnaConfiguration = exports.validateSaveAsParameters = exports.validateUpdateFiltersRequest = exports.validateFilter = exports.validatePage = exports.validateTileLoad = exports.validateDashboardLoad = exports.validateQuickCreate = exports.validateCreateReport = exports.validatePaginatedReportLoad = exports.validateReportLoad = exports.validateMenuGroupExtension = exports.validateExtension = exports.validateCustomPageSize = exports.validateVisualizationsPane = exports.validateSyncSlicersPane = exports.validateSelectionPane = exports.validatePageNavigationPane = exports.validateFieldsPane = exports.validateFiltersPane = exports.validateBookmarksPane = exports.validatePanes = exports.validateSettings = exports.validateCaptureBookmarkRequest = exports.validateApplyBookmarkStateRequest = exports.validateApplyBookmarkByNameRequest = exports.validateAddBookmarkRequest = exports.validatePlayBookmarkRequest = exports.validateSlicerState = exports.validateSlicer = exports.validateVisualSelector = exports.isIExtensionArray = exports.isIExtensions = exports.isGroupedMenuExtension = exports.isFlatMenuExtension = exports.isReportFiltersArray = exports.isOnLoadFilters = exports.VisualDataRoleKindPreference = exports.VisualDataRoleKind = exports.CommandDisplayOption = exports.SlicerTargetSelector = exports.VisualTypeSelector = exports.VisualSelector = exports.PageSelector = exports.Selector = void 0; exports.validateZoomLevel = exports.validateCustomTheme = void 0; var validator_1 = __webpack_require__(1); @@ -1428,12 +1428,12 @@ function isPercentOfGrandTotal(arg) { return !!arg.percentOfGrandTotal; } exports.isPercentOfGrandTotal = isPercentOfGrandTotal; -var ICredentialType; -(function (ICredentialType) { - ICredentialType[ICredentialType["NoConnection"] = 0] = "NoConnection"; - ICredentialType[ICredentialType["OnBehalfOf"] = 1] = "OnBehalfOf"; - ICredentialType[ICredentialType["Anonymous"] = 2] = "Anonymous"; -})(ICredentialType = exports.ICredentialType || (exports.ICredentialType = {})); +var CredentialType; +(function (CredentialType) { + CredentialType[CredentialType["NoConnection"] = 0] = "NoConnection"; + CredentialType[CredentialType["OnBehalfOf"] = 1] = "OnBehalfOf"; + CredentialType[CredentialType["Anonymous"] = 2] = "Anonymous"; +})(CredentialType = exports.CredentialType || (exports.CredentialType = {})); var DataCacheMode; (function (DataCacheMode) { DataCacheMode[DataCacheMode["Import"] = 0] = "Import"; @@ -1881,11 +1881,15 @@ exports.Validators = { commandsSettingsValidator: new commandsSettingsValidator_1.CommandsSettingsValidator(), conditionItemValidator: new filtersValidator_1.ConditionItemValidator(), contrastModeValidator: new typeValidator_1.EnumValidator([0, 1, 2, 3, 4]), + credentialDetailsValidator: new mapValidator_1.MapValidator([new typeValidator_1.StringValidator()], [new typeValidator_1.StringValidator()]), + credentialsValidator: new datasetCreateConfigValidator_1.CredentialsValidator(), + credentialTypeValidator: new typeValidator_1.EnumValidator([0, 1, 2]), 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(), + dataCacheModeValidator: new typeValidator_1.EnumValidator([0, 1]), datasetBindingValidator: new datasetBindingValidator_1.DatasetBindingValidator(), datasetCreateConfigValidator: new datasetCreateConfigValidator_1.DatasetCreateConfigValidator(), datasourceConnectionConfigValidator: new datasetCreateConfigValidator_1.DatasourceConnectionConfigValidator(), @@ -5865,7 +5869,7 @@ var __extends = (this && this.__extends) || (function () { }; })(); Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.TableDataValidator = exports.TableSchemaValidator = exports.ColumnSchemaValidator = exports.DatasourceConnectionConfigValidator = exports.DatasetCreateConfigValidator = void 0; +exports.TableDataValidator = exports.TableSchemaValidator = exports.ColumnSchemaValidator = exports.CredentialsValidator = exports.DatasourceConnectionConfigValidator = exports.DatasetCreateConfigValidator = void 0; var multipleFieldsValidator_1 = __webpack_require__(3); var typeValidator_1 = __webpack_require__(4); var validator_1 = __webpack_require__(1); @@ -5943,12 +5947,12 @@ var DatasourceConnectionConfigValidator = /** @class */ (function (_super) { } var fields = [ { - field: "path", - validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.stringValidator] + field: "dataCacheMode", + validators: [validator_1.Validators.dataCacheModeValidator] }, { - field: "kind", - validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.stringValidator] + field: "credentials", + validators: [validator_1.Validators.credentialsValidator] } ]; var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields); @@ -5957,6 +5961,35 @@ var DatasourceConnectionConfigValidator = /** @class */ (function (_super) { return DatasourceConnectionConfigValidator; }(typeValidator_1.ObjectValidator)); exports.DatasourceConnectionConfigValidator = DatasourceConnectionConfigValidator; +var CredentialsValidator = /** @class */ (function (_super) { + __extends(CredentialsValidator, _super); + function CredentialsValidator() { + return _super !== null && _super.apply(this, arguments) || this; + } + CredentialsValidator.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: "credentialType", + validators: [validator_1.Validators.credentialTypeValidator] + }, + { + field: "credentialDetails", + validators: [validator_1.Validators.credentialDetailsValidator] + } + ]; + var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields); + return multipleFieldsValidator.validate(input, path, field); + }; + return CredentialsValidator; +}(typeValidator_1.ObjectValidator)); +exports.CredentialsValidator = CredentialsValidator; var ColumnSchemaValidator = /** @class */ (function (_super) { __extends(ColumnSchemaValidator, _super); function ColumnSchemaValidator() { @@ -9259,7 +9292,7 @@ exports.BookmarksManager = BookmarksManager; Object.defineProperty(exports, "__esModule", { value: true }); /** @ignore */ /** */ var config = { - version: '2.21.1', + version: '2.22.0', type: 'js' }; exports.default = config; diff --git a/dist/powerbi.min.js b/dist/powerbi.min.js index 5b5b521d..3f391bc2 100644 --- a/dist/powerbi.min.js +++ b/dist/powerbi.min.js @@ -1,21 +1,21 @@ -// powerbi-client v2.21.1 +// powerbi-client v2.22.0 // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. -!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){var e={};function r(i){if(e[i])return e[i].exports;var a=e[i]={i:i,l:!1,exports:{}};return t[i].call(a.exports,a,a.exports,r),a.l=!0,a.exports}return r.m=t,r.c=e,r.d=function(t,e,i){r.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:i})},r.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},r.t=function(t,e){if(1&e&&(t=r(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var i=Object.create(null);if(r.r(i),Object.defineProperty(i,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var a in t)r.d(i,a,function(e){return t[e]}.bind(null,a));return i},r.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return r.d(e,"a",e),e},r.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},r.p="",r(r.s=14)}([function(t,e,r){var i;i=()=>{return t=[function(t,e,r){var i,a=this&&this.__extends||(i=function(t,e){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])})(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.SortDirection=e.LegendPosition=e.TextAlignment=e.CommonErrorCodes=e.BookmarksPlayMode=e.ExportDataType=e.QnaMode=e.PageNavigationPosition=e.DataCacheMode=e.ICredentialType=e.isPercentOfGrandTotal=e.isColumnAggr=e.isHierarchyLevelAggr=e.isHierarchyLevel=e.isColumn=e.isMeasure=e.getFilterType=e.isBasicFilterWithKeys=e.isFilterKeyColumnsTarget=e.HierarchyFilter=e.AdvancedFilter=e.TupleFilter=e.IdentityFilter=e.BasicFilterWithKeys=e.BasicFilter=e.RelativeTimeFilter=e.RelativeDateFilter=e.TopNFilter=e.IncludeExcludeFilter=e.NotSupportedFilter=e.Filter=e.RelativeDateOperators=e.RelativeDateFilterTimeUnit=e.FilterType=e.FiltersLevel=e.FiltersOperations=e.MenuLocation=e.ContrastMode=e.TokenType=e.ViewMode=e.Permissions=e.SectionVisibility=e.ReportAlignment=e.HyperlinkClickBehavior=e.LayoutType=e.VisualContainerDisplayMode=e.BackgroundType=e.DisplayOption=e.PageSizeType=e.TraceType=void 0,e.validateCommandsSettings=e.validateVisualSettings=e.validateVisualHeader=e.validateExportDataRequest=e.validateQnaInterpretInputData=e.validateLoadQnaConfiguration=e.validateSaveAsParameters=e.validateUpdateFiltersRequest=e.validateFilter=e.validatePage=e.validateTileLoad=e.validateDashboardLoad=e.validateQuickCreate=e.validateCreateReport=e.validatePaginatedReportLoad=e.validateReportLoad=e.validateMenuGroupExtension=e.validateExtension=e.validateCustomPageSize=e.validateVisualizationsPane=e.validateSyncSlicersPane=e.validateSelectionPane=e.validatePageNavigationPane=e.validateFieldsPane=e.validateFiltersPane=e.validateBookmarksPane=e.validatePanes=e.validateSettings=e.validateCaptureBookmarkRequest=e.validateApplyBookmarkStateRequest=e.validateApplyBookmarkByNameRequest=e.validateAddBookmarkRequest=e.validatePlayBookmarkRequest=e.validateSlicerState=e.validateSlicer=e.validateVisualSelector=e.isIExtensionArray=e.isIExtensions=e.isGroupedMenuExtension=e.isFlatMenuExtension=e.isReportFiltersArray=e.isOnLoadFilters=e.VisualDataRoleKindPreference=e.VisualDataRoleKind=e.CommandDisplayOption=e.SlicerTargetSelector=e.VisualTypeSelector=e.VisualSelector=e.PageSelector=e.Selector=void 0,e.validateZoomLevel=e.validateCustomTheme=void 0;var o,n=r(1);!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"}(e.TraceType||(e.TraceType={})),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",t[t.Mobile=5]="Mobile"}(e.PageSizeType||(e.PageSizeType={})),function(t){t[t.FitToPage=0]="FitToPage",t[t.FitToWidth=1]="FitToWidth",t[t.ActualSize=2]="ActualSize"}(e.DisplayOption||(e.DisplayOption={})),function(t){t[t.Default=0]="Default",t[t.Transparent=1]="Transparent"}(e.BackgroundType||(e.BackgroundType={})),function(t){t[t.Visible=0]="Visible",t[t.Hidden=1]="Hidden"}(e.VisualContainerDisplayMode||(e.VisualContainerDisplayMode={})),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={})),function(t){t[t.Navigate=0]="Navigate",t[t.NavigateAndRaiseEvent=1]="NavigateAndRaiseEvent",t[t.RaiseEvent=2]="RaiseEvent"}(e.HyperlinkClickBehavior||(e.HyperlinkClickBehavior={})),function(t){t[t.Left=0]="Left",t[t.Center=1]="Center",t[t.Right=2]="Right",t[t.None=3]="None"}(e.ReportAlignment||(e.ReportAlignment={})),function(t){t[t.AlwaysVisible=0]="AlwaysVisible",t[t.HiddenInViewMode=1]="HiddenInViewMode"}(e.SectionVisibility||(e.SectionVisibility={})),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"}(e.Permissions||(e.Permissions={})),function(t){t[t.View=0]="View",t[t.Edit=1]="Edit"}(e.ViewMode||(e.ViewMode={})),function(t){t[t.Aad=0]="Aad",t[t.Embed=1]="Embed"}(e.TokenType||(e.TokenType={})),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"}(e.ContrastMode||(e.ContrastMode={})),function(t){t[t.Bottom=0]="Bottom",t[t.Top=1]="Top"}(e.MenuLocation||(e.MenuLocation={})),function(t){t[t.RemoveAll=0]="RemoveAll",t[t.ReplaceAll=1]="ReplaceAll",t[t.Add=2]="Add",t[t.Replace=3]="Replace"}(e.FiltersOperations||(e.FiltersOperations={})),function(t){t[t.Report=0]="Report",t[t.Page=1]="Page",t[t.Visual=2]="Visual"}(e.FiltersLevel||(e.FiltersLevel={})),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",t[t.Identity=8]="Identity",t[t.Hierarchy=9]="Hierarchy"}(o=e.FilterType||(e.FilterType={})),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"}(e.RelativeDateFilterTimeUnit||(e.RelativeDateFilterTimeUnit={})),function(t){t[t.InLast=0]="InLast",t[t.InThis=1]="InThis",t[t.InNext=2]="InNext"}(e.RelativeDateOperators||(e.RelativeDateOperators={}));var l=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=l;var s=function(t){function e(r,i,a){var n=t.call(this,r,o.Unknown)||this;return n.message=i,n.notSupportedTypeName=a,n.schemaUrl=e.schemaUrl,n}return a(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}(l);e.NotSupportedFilter=s;var u=function(t){function e(r,i,a){var n=t.call(this,r,o.IncludeExclude)||this;return n.values=a,n.isExclude=i,n.schemaUrl=e.schemaUrl,n}return a(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}(l);e.IncludeExcludeFilter=u;var d=function(t){function e(r,i,a,n){var l=t.call(this,r,o.TopN)||this;return l.operator=i,l.itemCount=a,l.schemaUrl=e.schemaUrl,l.orderBy=n,l}return a(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}(l);e.TopNFilter=d;var c=function(t){function e(r,i,a,n,l){var s=t.call(this,r,o.RelativeDate)||this;return s.operator=i,s.timeUnitsCount=a,s.timeUnitType=n,s.includeToday=l,s.schemaUrl=e.schemaUrl,s}return a(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}(l);e.RelativeDateFilter=c;var p=function(t){function e(r,i,a,n){var l=t.call(this,r,o.RelativeTime)||this;return l.operator=i,l.timeUnitsCount=a,l.timeUnitType=n,l.schemaUrl=e.schemaUrl,l}return a(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}(l);e.RelativeTimeFilter=p;var f=function(t){function e(r,i){for(var a=[],n=2;n0&&!a)throw new Error("You should pass the values to be filtered for each key. You passed: no values and ".concat(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,s=o.keyValues;l2)throw new Error("AdvancedFilters may not have more than two conditions. You passed: ".concat(a.length));if(1===l.length&&"And"!==i)throw new Error('Logical Operator must be "And" when there is only one condition provided');return s.conditions=l,s}return a(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}(l);e.AdvancedFilter=m;var g=function(t){function e(r,i){var a=t.call(this,r,o.Hierarchy)||this;return a.schemaUrl=e.schemaUrl,a.hierarchyData=i,a}return a(e,t),e.prototype.toJSON=function(){var e=t.prototype.toJSON.call(this);return e.hierarchyData=this.hierarchyData,e.target=this.target,e},e.schemaUrl="http://powerbi.com/product/schema#hierarchy",e}(l);function V(t){if(t.filterType)return t.filterType;var e=t,r=t;return"string"==typeof e.operator&&Array.isArray(e.values)?o.Basic:"string"==typeof r.logicalOperator&&Array.isArray(r.conditions)?o.Advanced:o.Unknown}function b(t){return!(!t.table||!t.column||t.aggregationFunction)}e.HierarchyFilter=g,e.isFilterKeyColumnsTarget=function(t){return b(t)&&!!t.keys},e.isBasicFilterWithKeys=function(t){return V(t)===o.Basic&&!!t.keyValues},e.getFilterType=V,e.isMeasure=function(t){return void 0!==t.table&&void 0!==t.measure},e.isColumn=b,e.isHierarchyLevel=function(t){return!(!(t.table&&t.hierarchy&&t.hierarchyLevel)||t.aggregationFunction)},e.isHierarchyLevelAggr=function(t){return!!(t.table&&t.hierarchy&&t.hierarchyLevel&&t.aggregationFunction)},e.isColumnAggr=function(t){return!!(t.table&&t.column&&t.aggregationFunction)},e.isPercentOfGrandTotal=function(t){return!!t.percentOfGrandTotal},function(t){t[t.NoConnection=0]="NoConnection",t[t.OnBehalfOf=1]="OnBehalfOf",t[t.Anonymous=2]="Anonymous"}(e.ICredentialType||(e.ICredentialType={})),function(t){t[t.Import=0]="Import",t[t.DirectQuery=1]="DirectQuery"}(e.DataCacheMode||(e.DataCacheMode={})),function(t){t[t.Bottom=0]="Bottom",t[t.Left=1]="Left"}(e.PageNavigationPosition||(e.PageNavigationPosition={})),function(t){t[t.Interactive=0]="Interactive",t[t.ResultOnly=1]="ResultOnly"}(e.QnaMode||(e.QnaMode={})),function(t){t[t.Summarized=0]="Summarized",t[t.Underlying=1]="Underlying"}(e.ExportDataType||(e.ExportDataType={})),function(t){t[t.Off=0]="Off",t[t.Presentation=1]="Presentation"}(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"},function(t){t[t.Ascending=1]="Ascending",t[t.Descending=2]="Descending"}(e.SortDirection||(e.SortDirection={}));var w=function(){function t(t){this.$schema=t}return t.prototype.toJSON=function(){return{$schema:this.$schema}},t}();e.Selector=w;var O=function(t){function e(r){var i=t.call(this,e.schemaUrl)||this;return i.pageName=r,i}return a(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}(w);e.PageSelector=O;var S=function(t){function e(r){var i=t.call(this,e.schemaUrl)||this;return i.visualName=r,i}return a(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}(w);e.VisualSelector=S;var P=function(t){function e(e){var r=t.call(this,S.schemaUrl)||this;return r.visualType=e,r}return a(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}(w);e.VisualTypeSelector=P;var _=function(t){function e(e){var r=t.call(this,S.schemaUrl)||this;return r.target=e,r}return a(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}(w);function T(t){return Array.isArray(t)}function E(t){return t&&!!t.groupName}function F(t){return Array.isArray(t)}function x(t){var e=t.message;return e||(e="".concat(t.path," is invalid. Not meeting ").concat(t.keyword," constraint")),{message:e}}e.SlicerTargetSelector=_,function(t){t[t.Enabled=0]="Enabled",t[t.Disabled=1]="Disabled",t[t.Hidden=2]="Hidden"}(e.CommandDisplayOption||(e.CommandDisplayOption={})),function(t){t[t.Grouping=0]="Grouping",t[t.Measure=1]="Measure",t[t.GroupingOrMeasure=2]="GroupingOrMeasure"}(e.VisualDataRoleKind||(e.VisualDataRoleKind={})),function(t){t[t.Measure=0]="Measure",t[t.Grouping=1]="Grouping"}(e.VisualDataRoleKindPreference||(e.VisualDataRoleKindPreference={})),e.isOnLoadFilters=function(t){return t&&!T(t)},e.isReportFiltersArray=T,e.isFlatMenuExtension=function(t){return t&&!E(t)},e.isGroupedMenuExtension=E,e.isIExtensions=function(t){return t&&!F(t)},e.isIExtensionArray=F,e.validateVisualSelector=function(t){var e=n.Validators.visualSelectorValidator.validate(t);return e?e.map(x):void 0},e.validateSlicer=function(t){var e=n.Validators.slicerValidator.validate(t);return e?e.map(x):void 0},e.validateSlicerState=function(t){var e=n.Validators.slicerStateValidator.validate(t);return e?e.map(x):void 0},e.validatePlayBookmarkRequest=function(t){var e=n.Validators.playBookmarkRequestValidator.validate(t);return e?e.map(x):void 0},e.validateAddBookmarkRequest=function(t){var e=n.Validators.addBookmarkRequestValidator.validate(t);return e?e.map(x):void 0},e.validateApplyBookmarkByNameRequest=function(t){var e=n.Validators.applyBookmarkByNameRequestValidator.validate(t);return e?e.map(x):void 0},e.validateApplyBookmarkStateRequest=function(t){var e=n.Validators.applyBookmarkStateRequestValidator.validate(t);return e?e.map(x):void 0},e.validateCaptureBookmarkRequest=function(t){var e=n.Validators.captureBookmarkRequestValidator.validate(t);return e?e.map(x):void 0},e.validateSettings=function(t){var e=n.Validators.settingsValidator.validate(t);return e?e.map(x):void 0},e.validatePanes=function(t){var e=n.Validators.reportPanesValidator.validate(t);return e?e.map(x):void 0},e.validateBookmarksPane=function(t){var e=n.Validators.bookmarksPaneValidator.validate(t);return e?e.map(x):void 0},e.validateFiltersPane=function(t){var e=n.Validators.filtersPaneValidator.validate(t);return e?e.map(x):void 0},e.validateFieldsPane=function(t){var e=n.Validators.fieldsPaneValidator.validate(t);return e?e.map(x):void 0},e.validatePageNavigationPane=function(t){var e=n.Validators.pageNavigationPaneValidator.validate(t);return e?e.map(x):void 0},e.validateSelectionPane=function(t){var e=n.Validators.selectionPaneValidator.validate(t);return e?e.map(x):void 0},e.validateSyncSlicersPane=function(t){var e=n.Validators.syncSlicersPaneValidator.validate(t);return e?e.map(x):void 0},e.validateVisualizationsPane=function(t){var e=n.Validators.visualizationsPaneValidator.validate(t);return e?e.map(x):void 0},e.validateCustomPageSize=function(t){var e=n.Validators.customPageSizeValidator.validate(t);return e?e.map(x):void 0},e.validateExtension=function(t){var e=n.Validators.extensionValidator.validate(t);return e?e.map(x):void 0},e.validateMenuGroupExtension=function(t){var e=n.Validators.menuGroupExtensionValidator.validate(t);return e?e.map(x):void 0},e.validateReportLoad=function(t){var e=n.Validators.reportLoadValidator.validate(t);return e?e.map(x):void 0},e.validatePaginatedReportLoad=function(t){var e=n.Validators.paginatedReportLoadValidator.validate(t);return e?e.map(x):void 0},e.validateCreateReport=function(t){var e=n.Validators.reportCreateValidator.validate(t);return e?e.map(x):void 0},e.validateQuickCreate=function(t){var e=n.Validators.quickCreateValidator.validate(t);return e?e.map(x):void 0},e.validateDashboardLoad=function(t){var e=n.Validators.dashboardLoadValidator.validate(t);return e?e.map(x):void 0},e.validateTileLoad=function(t){var e=n.Validators.tileLoadValidator.validate(t);return e?e.map(x):void 0},e.validatePage=function(t){var e=n.Validators.pageValidator.validate(t);return e?e.map(x):void 0},e.validateFilter=function(t){var e=n.Validators.filterValidator.validate(t);return e?e.map(x):void 0},e.validateUpdateFiltersRequest=function(t){var e=n.Validators.updateFiltersRequestValidator.validate(t);return e?e.map(x):void 0},e.validateSaveAsParameters=function(t){var e=n.Validators.saveAsParametersValidator.validate(t);return e?e.map(x):void 0},e.validateLoadQnaConfiguration=function(t){var e=n.Validators.loadQnaValidator.validate(t);return e?e.map(x):void 0},e.validateQnaInterpretInputData=function(t){var e=n.Validators.qnaInterpretInputDataValidator.validate(t);return e?e.map(x):void 0},e.validateExportDataRequest=function(t){var e=n.Validators.exportDataRequestValidator.validate(t);return e?e.map(x):void 0},e.validateVisualHeader=function(t){var e=n.Validators.visualHeaderValidator.validate(t);return e?e.map(x):void 0},e.validateVisualSettings=function(t){var e=n.Validators.visualSettingsValidator.validate(t);return e?e.map(x):void 0},e.validateCommandsSettings=function(t){var e=n.Validators.commandsSettingsValidator.validate(t);return e?e.map(x):void 0},e.validateCustomTheme=function(t){var e=n.Validators.customThemeValidator.validate(t);return e?e.map(x):void 0},e.validateZoomLevel=function(t){var e=n.Validators.zoomLevelValidator.validate(t);return e?e.map(x):void 0}},(t,e,r)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.Validators=void 0;var i=r(2),a=r(5),o=r(6),n=r(7),l=r(8),s=r(9),u=r(10),d=r(11),c=r(12),p=r(13),f=r(14),h=r(15),v=r(16),y=r(17),m=r(18),g=r(19),V=r(20),b=r(21),w=r(22),O=r(23),S=r(24),P=r(25),_=r(26),T=r(27),E=r(28),F=r(29),x=r(4),k=r(30),C=r(31),R=r(32);e.Validators={addBookmarkRequestValidator:new a.AddBookmarkRequestValidator,advancedFilterTypeValidator:new x.EnumValidator([0]),advancedFilterValidator:new c.AdvancedFilterValidator,anyArrayValidator:new x.ArrayValidator([new _.AnyOfValidator([new x.StringValidator,new x.NumberValidator,new x.BooleanValidator])]),anyFilterValidator:new _.AnyOfValidator([new c.BasicFilterValidator,new c.AdvancedFilterValidator,new c.IncludeExcludeFilterValidator,new c.NotSupportedFilterValidator,new c.RelativeDateFilterValidator,new c.TopNFilterValidator,new c.RelativeTimeFilterValidator,new c.HierarchyFilterValidator]),anyValueValidator:new _.AnyOfValidator([new x.StringValidator,new x.NumberValidator,new x.BooleanValidator]),actionBarValidator:new i.ActionBarValidator,statusBarValidator:new i.StatusBarValidator,applyBookmarkByNameRequestValidator:new a.ApplyBookmarkByNameRequestValidator,applyBookmarkStateRequestValidator:new a.ApplyBookmarkStateRequestValidator,applyBookmarkValidator:new _.AnyOfValidator([new a.ApplyBookmarkByNameRequestValidator,new a.ApplyBookmarkStateRequestValidator]),backgroundValidator:new x.EnumValidator([0,1]),basicFilterTypeValidator:new x.EnumValidator([1]),basicFilterValidator:new c.BasicFilterValidator,booleanArrayValidator:new x.BooleanArrayValidator,booleanValidator:new x.BooleanValidator,bookmarksPaneValidator:new h.BookmarksPaneValidator,captureBookmarkOptionsValidator:new a.CaptureBookmarkOptionsValidator,captureBookmarkRequestValidator:new a.CaptureBookmarkRequestValidator,columnSchemaArrayValidator:new x.ArrayValidator([new C.ColumnSchemaValidator]),commandDisplayOptionValidator:new x.EnumValidator([0,1,2]),commandExtensionSelectorValidator:new _.AnyOfValidator([new b.VisualSelectorValidator,new b.VisualTypeSelectorValidator]),commandExtensionArrayValidator:new x.ArrayValidator([new d.CommandExtensionValidator]),commandExtensionValidator:new d.CommandExtensionValidator,commandsSettingsArrayValidator:new x.ArrayValidator([new o.CommandsSettingsValidator]),commandsSettingsValidator:new o.CommandsSettingsValidator,conditionItemValidator:new c.ConditionItemValidator,contrastModeValidator:new x.EnumValidator([0,1,2,3,4]),customLayoutDisplayOptionValidator:new x.EnumValidator([0,1,2]),customLayoutValidator:new p.CustomLayoutValidator,customPageSizeValidator:new f.CustomPageSizeValidator,customThemeValidator:new n.CustomThemeValidator,dashboardLoadValidator:new l.DashboardLoadValidator,datasetBindingValidator:new s.DatasetBindingValidator,datasetCreateConfigValidator:new C.DatasetCreateConfigValidator,datasourceConnectionConfigValidator:new C.DatasourceConnectionConfigValidator,displayStateModeValidator:new x.EnumValidator([0,1]),displayStateValidator:new p.DisplayStateValidator,exportDataRequestValidator:new u.ExportDataRequestValidator,extensionArrayValidator:new x.ArrayValidator([new d.ExtensionValidator]),extensionsValidator:new _.AnyOfValidator([new x.ArrayValidator([new d.ExtensionValidator]),new d.ExtensionsValidator]),extensionPointsValidator:new d.ExtensionPointsValidator,extensionValidator:new d.ExtensionValidator,fieldForbiddenValidator:new T.FieldForbiddenValidator,fieldRequiredValidator:new E.FieldRequiredValidator,fieldsPaneValidator:new h.FieldsPaneValidator,filterColumnTargetValidator:new c.FilterColumnTargetValidator,filterDisplaySettingsValidator:new c.FilterDisplaySettingsValidator,filterConditionsValidator:new x.ArrayValidator([new c.ConditionItemValidator]),filterHierarchyTargetValidator:new c.FilterHierarchyTargetValidator,filterMeasureTargetValidator:new c.FilterMeasureTargetValidator,filterTargetValidator:new _.AnyOfValidator([new c.FilterColumnTargetValidator,new c.FilterHierarchyTargetValidator,new c.FilterMeasureTargetValidator,new x.ArrayValidator([new _.AnyOfValidator([new c.FilterColumnTargetValidator,new c.FilterHierarchyTargetValidator,new c.FilterMeasureTargetValidator,new c.FilterKeyColumnsTargetValidator,new c.FilterKeyHierarchyTargetValidator])])]),filterValidator:new c.FilterValidator,filterTypeValidator:new x.EnumValidator([0,1,2,3,4,5,6,7,9]),filtersArrayValidator:new x.ArrayValidator([new c.FilterValidator]),filtersOperationsUpdateValidator:new x.EnumValidator([1,2,3]),filtersOperationsRemoveAllValidator:new x.EnumValidator([0]),filtersPaneValidator:new h.FiltersPaneValidator,hyperlinkClickBehaviorValidator:new x.EnumValidator([0,1,2]),includeExcludeFilterValidator:new c.IncludeExcludeFilterValidator,includeExludeFilterTypeValidator:new x.EnumValidator([3]),hierarchyFilterTypeValidator:new x.EnumValidator([9]),hierarchyFilterValuesValidator:new x.ArrayValidator([new c.HierarchyFilterNodeValidator]),layoutTypeValidator:new x.EnumValidator([0,1,2,3]),loadQnaValidator:new v.LoadQnaValidator,menuExtensionValidator:new _.AnyOfValidator([new d.FlatMenuExtensionValidator,new d.GroupedMenuExtensionValidator]),menuGroupExtensionArrayValidator:new x.ArrayValidator([new d.MenuGroupExtensionValidator]),menuGroupExtensionValidator:new d.MenuGroupExtensionValidator,menuLocationValidator:new x.EnumValidator([0,1]),notSupportedFilterTypeValidator:new x.EnumValidator([2]),notSupportedFilterValidator:new c.NotSupportedFilterValidator,numberArrayValidator:new x.NumberArrayValidator,numberValidator:new x.NumberValidator,onLoadFiltersBaseValidator:new _.AnyOfValidator([new c.OnLoadFiltersBaseValidator,new c.OnLoadFiltersBaseRemoveOperationValidator]),pageLayoutValidator:new F.MapValidator([new x.StringValidator],[new p.VisualLayoutValidator]),pageNavigationPaneValidator:new h.PageNavigationPaneValidator,pageNavigationPositionValidator:new x.EnumValidator([0,1]),pageSizeTypeValidator:new x.EnumValidator([0,1,2,3,4,5]),pageSizeValidator:new f.PageSizeValidator,pageValidator:new f.PageValidator,pageViewFieldValidator:new f.PageViewFieldValidator,pagesLayoutValidator:new F.MapValidator([new x.StringValidator],[new p.PageLayoutValidator]),paginatedReportCommandsValidator:new o.PaginatedReportCommandsValidator,paginatedReportLoadValidator:new g.PaginatedReportLoadValidator,paginatedReportsettingsValidator:new w.PaginatedReportSettingsValidator,parameterValuesArrayValidator:new x.ArrayValidator([new g.ReportParameterFieldsValidator]),parametersPanelValidator:new k.ParametersPanelValidator,permissionsValidator:new x.EnumValidator([0,1,2,4,7]),playBookmarkRequestValidator:new a.PlayBookmarkRequestValidator,qnaInterpretInputDataValidator:new v.QnaInterpretInputDataValidator,qnaPanesValidator:new h.QnaPanesValidator,qnaSettingValidator:new v.QnaSettingsValidator,quickCreateValidator:new R.QuickCreateValidator,rawDataValidator:new x.ArrayValidator([new x.ArrayValidator([new x.StringValidator])]),relativeDateFilterOperatorValidator:new x.EnumValidator([0,1,2]),relativeDateFilterTimeUnitTypeValidator:new x.EnumValidator([0,1,2,3,4,5,6]),relativeDateFilterTypeValidator:new x.EnumValidator([4]),relativeDateFilterValidator:new c.RelativeDateFilterValidator,relativeDateTimeFilterTypeValidator:new x.EnumValidator([4,7]),relativeDateTimeFilterUnitTypeValidator:new x.EnumValidator([0,1,2,3,4,5,6,7,8]),relativeTimeFilterTimeUnitTypeValidator:new x.EnumValidator([7,8]),relativeTimeFilterTypeValidator:new x.EnumValidator([7]),relativeTimeFilterValidator:new c.RelativeTimeFilterValidator,reportBarsValidator:new i.ReportBarsValidator,reportCreateValidator:new y.ReportCreateValidator,reportLoadFiltersValidator:new _.AnyOfValidator([new x.ArrayValidator([new c.FilterValidator]),new c.OnLoadFiltersValidator]),reportLoadValidator:new m.ReportLoadValidator,reportPanesValidator:new h.ReportPanesValidator,saveAsParametersValidator:new V.SaveAsParametersValidator,selectionPaneValidator:new h.SelectionPaneValidator,settingsValidator:new w.SettingsValidator,singleCommandSettingsValidator:new o.SingleCommandSettingsValidator,slicerSelectorValidator:new _.AnyOfValidator([new b.VisualSelectorValidator,new b.SlicerTargetSelectorValidator]),slicerStateValidator:new O.SlicerStateValidator,slicerTargetValidator:new _.AnyOfValidator([new c.FilterColumnTargetValidator,new c.FilterHierarchyTargetValidator,new c.FilterMeasureTargetValidator,new c.FilterKeyColumnsTargetValidator,new c.FilterKeyHierarchyTargetValidator]),slicerValidator:new O.SlicerValidator,stringArrayValidator:new x.StringArrayValidator,stringValidator:new x.StringValidator,syncSlicersPaneValidator:new h.SyncSlicersPaneValidator,tableDataArrayValidator:new x.ArrayValidator([new C.TableDataValidator]),tableSchemaListValidator:new x.ArrayValidator([new C.TableSchemaValidator]),tileLoadValidator:new S.TileLoadValidator,tokenTypeValidator:new x.EnumValidator([0,1]),topNFilterTypeValidator:new x.EnumValidator([5]),topNFilterValidator:new c.TopNFilterValidator,updateFiltersRequestValidator:new _.AnyOfValidator([new c.UpdateFiltersRequestValidator,new c.RemoveFiltersRequestValidator]),viewModeValidator:new x.EnumValidator([0,1]),visualCommandSelectorValidator:new _.AnyOfValidator([new b.VisualSelectorValidator,new b.VisualTypeSelectorValidator]),visualHeaderSelectorValidator:new _.AnyOfValidator([new b.VisualSelectorValidator,new b.VisualTypeSelectorValidator]),visualHeaderSettingsValidator:new P.VisualHeaderSettingsValidator,visualHeaderValidator:new P.VisualHeaderValidator,visualHeadersValidator:new x.ArrayValidator([new P.VisualHeaderValidator]),visualizationsPaneValidator:new h.VisualizationsPaneValidator,visualLayoutValidator:new p.VisualLayoutValidator,visualSelectorValidator:new b.VisualSelectorValidator,visualSettingsValidator:new P.VisualSettingsValidator,visualTypeSelectorValidator:new b.VisualTypeSelectorValidator,zoomLevelValidator:new x.RangeValidator(.25,4)}},function(t,e,r){var i,a=this&&this.__extends||(i=function(t,e){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])})(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.StatusBarValidator=e.ActionBarValidator=e.ReportBarsValidator=void 0;var o=r(3),n=r(4),l=r(1),s=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return a(e,t),e.prototype.validate=function(e,r,i){if(null==e)return null;var a=t.prototype.validate.call(this,e,r,i);if(a)return a;var n=[{field:"actionBar",validators:[l.Validators.actionBarValidator]},{field:"statusBar",validators:[l.Validators.statusBarValidator]}];return new o.MultipleFieldsValidator(n).validate(e,r,i)},e}(n.ObjectValidator);e.ReportBarsValidator=s;var u=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return a(e,t),e.prototype.validate=function(e,r,i){if(null==e)return null;var a=t.prototype.validate.call(this,e,r,i);if(a)return a;var n=[{field:"visible",validators:[l.Validators.booleanValidator]}];return new o.MultipleFieldsValidator(n).validate(e,r,i)},e}(n.ObjectValidator);e.ActionBarValidator=u;var d=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return a(e,t),e.prototype.validate=function(e,r,i){if(null==e)return null;var a=t.prototype.validate.call(this,e,r,i);if(a)return a;var n=[{field:"visible",validators:[l.Validators.booleanValidator]}];return new o.MultipleFieldsValidator(n).validate(e,r,i)},e}(n.ObjectValidator);e.StatusBarValidator=d},(t,e)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.MultipleFieldsValidator=void 0;var r=function(){function t(t){this.fieldValidatorsPairs=t}return t.prototype.validate=function(t,e,r){if(!this.fieldValidatorsPairs)return null;for(var i=e?e+"."+r:r,a=0,o=this.fieldValidatorsPairs;athis.maxValue||e{Object.defineProperty(e,"__esModule",{value:!0}),e.AnyOfValidator=void 0;var r=function(){function t(t){this.validators=t}return t.prototype.validate=function(t,e,r){if(null==t)return null;for(var i=!1,a=0,o=this.validators;a{Object.defineProperty(e,"__esModule",{value:!0}),e.FieldForbiddenValidator=void 0;var r=function(){function t(){}return t.prototype.validate=function(t,e,r){return void 0!==t?[{message:r+" is forbidden",path:(e?e+".":"")+r,keyword:"forbidden"}]:null},t}();e.FieldForbiddenValidator=r},(t,e)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.FieldRequiredValidator=void 0;var r=function(){function t(){}return t.prototype.validate=function(t,e,r){return null==t?[{message:r+" is required",path:(e?e+".":"")+r,keyword:"required"}]:null},t}();e.FieldRequiredValidator=r},function(t,e,r){var i,a=this&&this.__extends||(i=function(t,e){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])})(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.MapValidator=void 0;var o=function(t){function e(e,r){var i=t.call(this)||this;return i.keyValidators=e,i.valueValidators=r,i}return a(e,t),e.prototype.validate=function(e,r,i){if(null==e)return null;var a=t.prototype.validate.call(this,e,r,i);if(a)return a;for(var o in e)if(e.hasOwnProperty(o)){for(var n=(r?r+".":"")+i+"."+o,l=0,s=this.keyValidators;l0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0?"&":"?";return t+=i+e+"="+r},e.isSavedInternal=function(t,e,a){return r(this,void 0,void 0,(function(){return i(this,(function(r){switch(r.label){case 0:return r.trys.push([0,2,,3]),[4,t.get("/report/hasUnsavedChanges",{uid:e},a)];case 1:return[2,!r.sent().body];case 2:throw r.sent().body;case 3:return[2]}}))}))},e.isRDLEmbed=function(t){return t&&t.toLowerCase().indexOf("/rdlembed?")>=0},e.autoAuthInEmbedUrl=function(t){return t&&decodeURIComponent(t).toLowerCase().indexOf("autoauth=true")>=0},e.getRandomValue=o,e.getTimeDiffInMilliseconds=function(t,e){return Math.abs(t.getTime()-e.getTime())},e.isCreate=function(t){return"create"===t||"quickcreate"===t}},function(t,e){Object.defineProperty(e,"__esModule",{value:!0}),e.FilterBuilder=void 0;var r=function(){function t(){}return t.prototype.withTargetObject=function(t){return this.target=t,this},t.prototype.withColumnTarget=function(t,e){return this.target={table:t,column:e},this},t.prototype.withMeasureTarget=function(t,e){return this.target={table:t,measure:e},this},t.prototype.withHierarchyLevelTarget=function(t,e,r){return this.target={table:t,hierarchy:e,hierarchyLevel:r},this},t.prototype.withColumnAggregation=function(t,e,r){return this.target={table:t,column:e,aggregationFunction:r},this},t.prototype.withHierarchyLevelAggregationTarget=function(t,e,r,i){return this.target={table:t,hierarchy:e,hierarchyLevel:r,aggregationFunction:i},this},t}();e.FilterBuilder=r},function(t,e){Object.defineProperty(e,"__esModule",{value:!0}),e.EmbedUrlNotSupported=e.APINotSupportedForRDLError=void 0,e.APINotSupportedForRDLError="This API is currently not supported for RDL reports",e.EmbedUrlNotSupported="Embed URL is invalid for this scenario. Please use Power BI REST APIs to get the valid URL"},function(t,e){Object.defineProperty(e,"__esModule",{value:!0});e.default={version:"2.21.1",type:"js"}},function(t,e,r){var i,a=this&&this.__extends||(i=function(t,e){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])})(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}),o=this&&this.__awaiter||function(t,e,r,i){return new(r||(r=Promise))((function(a,o){function n(t){try{s(i.next(t))}catch(t){o(t)}}function l(t){try{s(i.throw(t))}catch(t){o(t)}}function s(t){var e;t.done?a(t.value):(e=t.value,e instanceof r?e:new r((function(t){t(e)}))).then(n,l)}s((i=i.apply(t,e||[])).next())}))},n=this&&this.__generator||function(t,e){var r,i,a,o,n={label:0,sent:function(){if(1&a[0])throw a[1];return a[1]},trys:[],ops:[]};return o={next:l(0),throw:l(1),return:l(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function l(o){return function(l){return function(o){if(r)throw new TypeError("Generator is already executing.");for(;n;)try{if(r=1,i&&(a=2&o[0]?i.return:o[0]?i.throw||((a=i.return)&&a.call(i),0):i.next)&&!(a=a.call(i,o[1])).done)return a;switch(i=0,a&&(o=[2&o[0],a.value]),o[0]){case 0:case 1:a=o;break;case 4:return n.label++,{value:o[1],done:!1};case 5:n.label++,i=o[1],o=[0];continue;case 7:o=n.ops.pop(),n.trys.pop();continue;default:if(!(a=n.trys,(a=a.length>0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]{return t=[function(t,e,r){var i,a=this&&this.__extends||(i=function(t,e){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])})(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.SortDirection=e.LegendPosition=e.TextAlignment=e.CommonErrorCodes=e.BookmarksPlayMode=e.ExportDataType=e.QnaMode=e.PageNavigationPosition=e.DataCacheMode=e.CredentialType=e.isPercentOfGrandTotal=e.isColumnAggr=e.isHierarchyLevelAggr=e.isHierarchyLevel=e.isColumn=e.isMeasure=e.getFilterType=e.isBasicFilterWithKeys=e.isFilterKeyColumnsTarget=e.HierarchyFilter=e.AdvancedFilter=e.TupleFilter=e.IdentityFilter=e.BasicFilterWithKeys=e.BasicFilter=e.RelativeTimeFilter=e.RelativeDateFilter=e.TopNFilter=e.IncludeExcludeFilter=e.NotSupportedFilter=e.Filter=e.RelativeDateOperators=e.RelativeDateFilterTimeUnit=e.FilterType=e.FiltersLevel=e.FiltersOperations=e.MenuLocation=e.ContrastMode=e.TokenType=e.ViewMode=e.Permissions=e.SectionVisibility=e.ReportAlignment=e.HyperlinkClickBehavior=e.LayoutType=e.VisualContainerDisplayMode=e.BackgroundType=e.DisplayOption=e.PageSizeType=e.TraceType=void 0,e.validateCommandsSettings=e.validateVisualSettings=e.validateVisualHeader=e.validateExportDataRequest=e.validateQnaInterpretInputData=e.validateLoadQnaConfiguration=e.validateSaveAsParameters=e.validateUpdateFiltersRequest=e.validateFilter=e.validatePage=e.validateTileLoad=e.validateDashboardLoad=e.validateQuickCreate=e.validateCreateReport=e.validatePaginatedReportLoad=e.validateReportLoad=e.validateMenuGroupExtension=e.validateExtension=e.validateCustomPageSize=e.validateVisualizationsPane=e.validateSyncSlicersPane=e.validateSelectionPane=e.validatePageNavigationPane=e.validateFieldsPane=e.validateFiltersPane=e.validateBookmarksPane=e.validatePanes=e.validateSettings=e.validateCaptureBookmarkRequest=e.validateApplyBookmarkStateRequest=e.validateApplyBookmarkByNameRequest=e.validateAddBookmarkRequest=e.validatePlayBookmarkRequest=e.validateSlicerState=e.validateSlicer=e.validateVisualSelector=e.isIExtensionArray=e.isIExtensions=e.isGroupedMenuExtension=e.isFlatMenuExtension=e.isReportFiltersArray=e.isOnLoadFilters=e.VisualDataRoleKindPreference=e.VisualDataRoleKind=e.CommandDisplayOption=e.SlicerTargetSelector=e.VisualTypeSelector=e.VisualSelector=e.PageSelector=e.Selector=void 0,e.validateZoomLevel=e.validateCustomTheme=void 0;var n,o=r(1);!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"}(e.TraceType||(e.TraceType={})),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",t[t.Mobile=5]="Mobile"}(e.PageSizeType||(e.PageSizeType={})),function(t){t[t.FitToPage=0]="FitToPage",t[t.FitToWidth=1]="FitToWidth",t[t.ActualSize=2]="ActualSize"}(e.DisplayOption||(e.DisplayOption={})),function(t){t[t.Default=0]="Default",t[t.Transparent=1]="Transparent"}(e.BackgroundType||(e.BackgroundType={})),function(t){t[t.Visible=0]="Visible",t[t.Hidden=1]="Hidden"}(e.VisualContainerDisplayMode||(e.VisualContainerDisplayMode={})),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={})),function(t){t[t.Navigate=0]="Navigate",t[t.NavigateAndRaiseEvent=1]="NavigateAndRaiseEvent",t[t.RaiseEvent=2]="RaiseEvent"}(e.HyperlinkClickBehavior||(e.HyperlinkClickBehavior={})),function(t){t[t.Left=0]="Left",t[t.Center=1]="Center",t[t.Right=2]="Right",t[t.None=3]="None"}(e.ReportAlignment||(e.ReportAlignment={})),function(t){t[t.AlwaysVisible=0]="AlwaysVisible",t[t.HiddenInViewMode=1]="HiddenInViewMode"}(e.SectionVisibility||(e.SectionVisibility={})),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"}(e.Permissions||(e.Permissions={})),function(t){t[t.View=0]="View",t[t.Edit=1]="Edit"}(e.ViewMode||(e.ViewMode={})),function(t){t[t.Aad=0]="Aad",t[t.Embed=1]="Embed"}(e.TokenType||(e.TokenType={})),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"}(e.ContrastMode||(e.ContrastMode={})),function(t){t[t.Bottom=0]="Bottom",t[t.Top=1]="Top"}(e.MenuLocation||(e.MenuLocation={})),function(t){t[t.RemoveAll=0]="RemoveAll",t[t.ReplaceAll=1]="ReplaceAll",t[t.Add=2]="Add",t[t.Replace=3]="Replace"}(e.FiltersOperations||(e.FiltersOperations={})),function(t){t[t.Report=0]="Report",t[t.Page=1]="Page",t[t.Visual=2]="Visual"}(e.FiltersLevel||(e.FiltersLevel={})),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",t[t.Identity=8]="Identity",t[t.Hierarchy=9]="Hierarchy"}(n=e.FilterType||(e.FilterType={})),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"}(e.RelativeDateFilterTimeUnit||(e.RelativeDateFilterTimeUnit={})),function(t){t[t.InLast=0]="InLast",t[t.InThis=1]="InThis",t[t.InNext=2]="InNext"}(e.RelativeDateOperators||(e.RelativeDateOperators={}));var l=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=l;var s=function(t){function e(r,i,a){var o=t.call(this,r,n.Unknown)||this;return o.message=i,o.notSupportedTypeName=a,o.schemaUrl=e.schemaUrl,o}return a(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}(l);e.NotSupportedFilter=s;var u=function(t){function e(r,i,a){var o=t.call(this,r,n.IncludeExclude)||this;return o.values=a,o.isExclude=i,o.schemaUrl=e.schemaUrl,o}return a(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}(l);e.IncludeExcludeFilter=u;var d=function(t){function e(r,i,a,o){var l=t.call(this,r,n.TopN)||this;return l.operator=i,l.itemCount=a,l.schemaUrl=e.schemaUrl,l.orderBy=o,l}return a(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}(l);e.TopNFilter=d;var c=function(t){function e(r,i,a,o,l){var s=t.call(this,r,n.RelativeDate)||this;return s.operator=i,s.timeUnitsCount=a,s.timeUnitType=o,s.includeToday=l,s.schemaUrl=e.schemaUrl,s}return a(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}(l);e.RelativeDateFilter=c;var p=function(t){function e(r,i,a,o){var l=t.call(this,r,n.RelativeTime)||this;return l.operator=i,l.timeUnitsCount=a,l.timeUnitType=o,l.schemaUrl=e.schemaUrl,l}return a(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}(l);e.RelativeTimeFilter=p;var f=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 ".concat(o," keys"));if(0===o&&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,s=n.keyValues;l2)throw new Error("AdvancedFilters may not have more than two conditions. You passed: ".concat(a.length));if(1===l.length&&"And"!==i)throw new Error('Logical Operator must be "And" when there is only one condition provided');return s.conditions=l,s}return a(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}(l);e.AdvancedFilter=m;var V=function(t){function e(r,i){var a=t.call(this,r,n.Hierarchy)||this;return a.schemaUrl=e.schemaUrl,a.hierarchyData=i,a}return a(e,t),e.prototype.toJSON=function(){var e=t.prototype.toJSON.call(this);return e.hierarchyData=this.hierarchyData,e.target=this.target,e},e.schemaUrl="http://powerbi.com/product/schema#hierarchy",e}(l);function g(t){if(t.filterType)return t.filterType;var e=t,r=t;return"string"==typeof e.operator&&Array.isArray(e.values)?n.Basic:"string"==typeof r.logicalOperator&&Array.isArray(r.conditions)?n.Advanced:n.Unknown}function b(t){return!(!t.table||!t.column||t.aggregationFunction)}e.HierarchyFilter=V,e.isFilterKeyColumnsTarget=function(t){return b(t)&&!!t.keys},e.isBasicFilterWithKeys=function(t){return g(t)===n.Basic&&!!t.keyValues},e.getFilterType=g,e.isMeasure=function(t){return void 0!==t.table&&void 0!==t.measure},e.isColumn=b,e.isHierarchyLevel=function(t){return!(!(t.table&&t.hierarchy&&t.hierarchyLevel)||t.aggregationFunction)},e.isHierarchyLevelAggr=function(t){return!!(t.table&&t.hierarchy&&t.hierarchyLevel&&t.aggregationFunction)},e.isColumnAggr=function(t){return!!(t.table&&t.column&&t.aggregationFunction)},e.isPercentOfGrandTotal=function(t){return!!t.percentOfGrandTotal},function(t){t[t.NoConnection=0]="NoConnection",t[t.OnBehalfOf=1]="OnBehalfOf",t[t.Anonymous=2]="Anonymous"}(e.CredentialType||(e.CredentialType={})),function(t){t[t.Import=0]="Import",t[t.DirectQuery=1]="DirectQuery"}(e.DataCacheMode||(e.DataCacheMode={})),function(t){t[t.Bottom=0]="Bottom",t[t.Left=1]="Left"}(e.PageNavigationPosition||(e.PageNavigationPosition={})),function(t){t[t.Interactive=0]="Interactive",t[t.ResultOnly=1]="ResultOnly"}(e.QnaMode||(e.QnaMode={})),function(t){t[t.Summarized=0]="Summarized",t[t.Underlying=1]="Underlying"}(e.ExportDataType||(e.ExportDataType={})),function(t){t[t.Off=0]="Off",t[t.Presentation=1]="Presentation"}(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"},function(t){t[t.Ascending=1]="Ascending",t[t.Descending=2]="Descending"}(e.SortDirection||(e.SortDirection={}));var w=function(){function t(t){this.$schema=t}return t.prototype.toJSON=function(){return{$schema:this.$schema}},t}();e.Selector=w;var O=function(t){function e(r){var i=t.call(this,e.schemaUrl)||this;return i.pageName=r,i}return a(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}(w);e.PageSelector=O;var S=function(t){function e(r){var i=t.call(this,e.schemaUrl)||this;return i.visualName=r,i}return a(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}(w);e.VisualSelector=S;var P=function(t){function e(e){var r=t.call(this,S.schemaUrl)||this;return r.visualType=e,r}return a(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}(w);e.VisualTypeSelector=P;var _=function(t){function e(e){var r=t.call(this,S.schemaUrl)||this;return r.target=e,r}return a(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}(w);function T(t){return Array.isArray(t)}function E(t){return t&&!!t.groupName}function F(t){return Array.isArray(t)}function x(t){var e=t.message;return e||(e="".concat(t.path," is invalid. Not meeting ").concat(t.keyword," constraint")),{message:e}}e.SlicerTargetSelector=_,function(t){t[t.Enabled=0]="Enabled",t[t.Disabled=1]="Disabled",t[t.Hidden=2]="Hidden"}(e.CommandDisplayOption||(e.CommandDisplayOption={})),function(t){t[t.Grouping=0]="Grouping",t[t.Measure=1]="Measure",t[t.GroupingOrMeasure=2]="GroupingOrMeasure"}(e.VisualDataRoleKind||(e.VisualDataRoleKind={})),function(t){t[t.Measure=0]="Measure",t[t.Grouping=1]="Grouping"}(e.VisualDataRoleKindPreference||(e.VisualDataRoleKindPreference={})),e.isOnLoadFilters=function(t){return t&&!T(t)},e.isReportFiltersArray=T,e.isFlatMenuExtension=function(t){return t&&!E(t)},e.isGroupedMenuExtension=E,e.isIExtensions=function(t){return t&&!F(t)},e.isIExtensionArray=F,e.validateVisualSelector=function(t){var e=o.Validators.visualSelectorValidator.validate(t);return e?e.map(x):void 0},e.validateSlicer=function(t){var e=o.Validators.slicerValidator.validate(t);return e?e.map(x):void 0},e.validateSlicerState=function(t){var e=o.Validators.slicerStateValidator.validate(t);return e?e.map(x):void 0},e.validatePlayBookmarkRequest=function(t){var e=o.Validators.playBookmarkRequestValidator.validate(t);return e?e.map(x):void 0},e.validateAddBookmarkRequest=function(t){var e=o.Validators.addBookmarkRequestValidator.validate(t);return e?e.map(x):void 0},e.validateApplyBookmarkByNameRequest=function(t){var e=o.Validators.applyBookmarkByNameRequestValidator.validate(t);return e?e.map(x):void 0},e.validateApplyBookmarkStateRequest=function(t){var e=o.Validators.applyBookmarkStateRequestValidator.validate(t);return e?e.map(x):void 0},e.validateCaptureBookmarkRequest=function(t){var e=o.Validators.captureBookmarkRequestValidator.validate(t);return e?e.map(x):void 0},e.validateSettings=function(t){var e=o.Validators.settingsValidator.validate(t);return e?e.map(x):void 0},e.validatePanes=function(t){var e=o.Validators.reportPanesValidator.validate(t);return e?e.map(x):void 0},e.validateBookmarksPane=function(t){var e=o.Validators.bookmarksPaneValidator.validate(t);return e?e.map(x):void 0},e.validateFiltersPane=function(t){var e=o.Validators.filtersPaneValidator.validate(t);return e?e.map(x):void 0},e.validateFieldsPane=function(t){var e=o.Validators.fieldsPaneValidator.validate(t);return e?e.map(x):void 0},e.validatePageNavigationPane=function(t){var e=o.Validators.pageNavigationPaneValidator.validate(t);return e?e.map(x):void 0},e.validateSelectionPane=function(t){var e=o.Validators.selectionPaneValidator.validate(t);return e?e.map(x):void 0},e.validateSyncSlicersPane=function(t){var e=o.Validators.syncSlicersPaneValidator.validate(t);return e?e.map(x):void 0},e.validateVisualizationsPane=function(t){var e=o.Validators.visualizationsPaneValidator.validate(t);return e?e.map(x):void 0},e.validateCustomPageSize=function(t){var e=o.Validators.customPageSizeValidator.validate(t);return e?e.map(x):void 0},e.validateExtension=function(t){var e=o.Validators.extensionValidator.validate(t);return e?e.map(x):void 0},e.validateMenuGroupExtension=function(t){var e=o.Validators.menuGroupExtensionValidator.validate(t);return e?e.map(x):void 0},e.validateReportLoad=function(t){var e=o.Validators.reportLoadValidator.validate(t);return e?e.map(x):void 0},e.validatePaginatedReportLoad=function(t){var e=o.Validators.paginatedReportLoadValidator.validate(t);return e?e.map(x):void 0},e.validateCreateReport=function(t){var e=o.Validators.reportCreateValidator.validate(t);return e?e.map(x):void 0},e.validateQuickCreate=function(t){var e=o.Validators.quickCreateValidator.validate(t);return e?e.map(x):void 0},e.validateDashboardLoad=function(t){var e=o.Validators.dashboardLoadValidator.validate(t);return e?e.map(x):void 0},e.validateTileLoad=function(t){var e=o.Validators.tileLoadValidator.validate(t);return e?e.map(x):void 0},e.validatePage=function(t){var e=o.Validators.pageValidator.validate(t);return e?e.map(x):void 0},e.validateFilter=function(t){var e=o.Validators.filterValidator.validate(t);return e?e.map(x):void 0},e.validateUpdateFiltersRequest=function(t){var e=o.Validators.updateFiltersRequestValidator.validate(t);return e?e.map(x):void 0},e.validateSaveAsParameters=function(t){var e=o.Validators.saveAsParametersValidator.validate(t);return e?e.map(x):void 0},e.validateLoadQnaConfiguration=function(t){var e=o.Validators.loadQnaValidator.validate(t);return e?e.map(x):void 0},e.validateQnaInterpretInputData=function(t){var e=o.Validators.qnaInterpretInputDataValidator.validate(t);return e?e.map(x):void 0},e.validateExportDataRequest=function(t){var e=o.Validators.exportDataRequestValidator.validate(t);return e?e.map(x):void 0},e.validateVisualHeader=function(t){var e=o.Validators.visualHeaderValidator.validate(t);return e?e.map(x):void 0},e.validateVisualSettings=function(t){var e=o.Validators.visualSettingsValidator.validate(t);return e?e.map(x):void 0},e.validateCommandsSettings=function(t){var e=o.Validators.commandsSettingsValidator.validate(t);return e?e.map(x):void 0},e.validateCustomTheme=function(t){var e=o.Validators.customThemeValidator.validate(t);return e?e.map(x):void 0},e.validateZoomLevel=function(t){var e=o.Validators.zoomLevelValidator.validate(t);return e?e.map(x):void 0}},(t,e,r)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.Validators=void 0;var i=r(2),a=r(5),n=r(6),o=r(7),l=r(8),s=r(9),u=r(10),d=r(11),c=r(12),p=r(13),f=r(14),h=r(15),v=r(16),y=r(17),m=r(18),V=r(19),g=r(20),b=r(21),w=r(22),O=r(23),S=r(24),P=r(25),_=r(26),T=r(27),E=r(28),F=r(29),x=r(4),C=r(30),k=r(31),R=r(32);e.Validators={addBookmarkRequestValidator:new a.AddBookmarkRequestValidator,advancedFilterTypeValidator:new x.EnumValidator([0]),advancedFilterValidator:new c.AdvancedFilterValidator,anyArrayValidator:new x.ArrayValidator([new _.AnyOfValidator([new x.StringValidator,new x.NumberValidator,new x.BooleanValidator])]),anyFilterValidator:new _.AnyOfValidator([new c.BasicFilterValidator,new c.AdvancedFilterValidator,new c.IncludeExcludeFilterValidator,new c.NotSupportedFilterValidator,new c.RelativeDateFilterValidator,new c.TopNFilterValidator,new c.RelativeTimeFilterValidator,new c.HierarchyFilterValidator]),anyValueValidator:new _.AnyOfValidator([new x.StringValidator,new x.NumberValidator,new x.BooleanValidator]),actionBarValidator:new i.ActionBarValidator,statusBarValidator:new i.StatusBarValidator,applyBookmarkByNameRequestValidator:new a.ApplyBookmarkByNameRequestValidator,applyBookmarkStateRequestValidator:new a.ApplyBookmarkStateRequestValidator,applyBookmarkValidator:new _.AnyOfValidator([new a.ApplyBookmarkByNameRequestValidator,new a.ApplyBookmarkStateRequestValidator]),backgroundValidator:new x.EnumValidator([0,1]),basicFilterTypeValidator:new x.EnumValidator([1]),basicFilterValidator:new c.BasicFilterValidator,booleanArrayValidator:new x.BooleanArrayValidator,booleanValidator:new x.BooleanValidator,bookmarksPaneValidator:new h.BookmarksPaneValidator,captureBookmarkOptionsValidator:new a.CaptureBookmarkOptionsValidator,captureBookmarkRequestValidator:new a.CaptureBookmarkRequestValidator,columnSchemaArrayValidator:new x.ArrayValidator([new k.ColumnSchemaValidator]),commandDisplayOptionValidator:new x.EnumValidator([0,1,2]),commandExtensionSelectorValidator:new _.AnyOfValidator([new b.VisualSelectorValidator,new b.VisualTypeSelectorValidator]),commandExtensionArrayValidator:new x.ArrayValidator([new d.CommandExtensionValidator]),commandExtensionValidator:new d.CommandExtensionValidator,commandsSettingsArrayValidator:new x.ArrayValidator([new n.CommandsSettingsValidator]),commandsSettingsValidator:new n.CommandsSettingsValidator,conditionItemValidator:new c.ConditionItemValidator,contrastModeValidator:new x.EnumValidator([0,1,2,3,4]),credentialDetailsValidator:new F.MapValidator([new x.StringValidator],[new x.StringValidator]),credentialsValidator:new k.CredentialsValidator,credentialTypeValidator:new x.EnumValidator([0,1,2]),customLayoutDisplayOptionValidator:new x.EnumValidator([0,1,2]),customLayoutValidator:new p.CustomLayoutValidator,customPageSizeValidator:new f.CustomPageSizeValidator,customThemeValidator:new o.CustomThemeValidator,dashboardLoadValidator:new l.DashboardLoadValidator,dataCacheModeValidator:new x.EnumValidator([0,1]),datasetBindingValidator:new s.DatasetBindingValidator,datasetCreateConfigValidator:new k.DatasetCreateConfigValidator,datasourceConnectionConfigValidator:new k.DatasourceConnectionConfigValidator,displayStateModeValidator:new x.EnumValidator([0,1]),displayStateValidator:new p.DisplayStateValidator,exportDataRequestValidator:new u.ExportDataRequestValidator,extensionArrayValidator:new x.ArrayValidator([new d.ExtensionValidator]),extensionsValidator:new _.AnyOfValidator([new x.ArrayValidator([new d.ExtensionValidator]),new d.ExtensionsValidator]),extensionPointsValidator:new d.ExtensionPointsValidator,extensionValidator:new d.ExtensionValidator,fieldForbiddenValidator:new T.FieldForbiddenValidator,fieldRequiredValidator:new E.FieldRequiredValidator,fieldsPaneValidator:new h.FieldsPaneValidator,filterColumnTargetValidator:new c.FilterColumnTargetValidator,filterDisplaySettingsValidator:new c.FilterDisplaySettingsValidator,filterConditionsValidator:new x.ArrayValidator([new c.ConditionItemValidator]),filterHierarchyTargetValidator:new c.FilterHierarchyTargetValidator,filterMeasureTargetValidator:new c.FilterMeasureTargetValidator,filterTargetValidator:new _.AnyOfValidator([new c.FilterColumnTargetValidator,new c.FilterHierarchyTargetValidator,new c.FilterMeasureTargetValidator,new x.ArrayValidator([new _.AnyOfValidator([new c.FilterColumnTargetValidator,new c.FilterHierarchyTargetValidator,new c.FilterMeasureTargetValidator,new c.FilterKeyColumnsTargetValidator,new c.FilterKeyHierarchyTargetValidator])])]),filterValidator:new c.FilterValidator,filterTypeValidator:new x.EnumValidator([0,1,2,3,4,5,6,7,9]),filtersArrayValidator:new x.ArrayValidator([new c.FilterValidator]),filtersOperationsUpdateValidator:new x.EnumValidator([1,2,3]),filtersOperationsRemoveAllValidator:new x.EnumValidator([0]),filtersPaneValidator:new h.FiltersPaneValidator,hyperlinkClickBehaviorValidator:new x.EnumValidator([0,1,2]),includeExcludeFilterValidator:new c.IncludeExcludeFilterValidator,includeExludeFilterTypeValidator:new x.EnumValidator([3]),hierarchyFilterTypeValidator:new x.EnumValidator([9]),hierarchyFilterValuesValidator:new x.ArrayValidator([new c.HierarchyFilterNodeValidator]),layoutTypeValidator:new x.EnumValidator([0,1,2,3]),loadQnaValidator:new v.LoadQnaValidator,menuExtensionValidator:new _.AnyOfValidator([new d.FlatMenuExtensionValidator,new d.GroupedMenuExtensionValidator]),menuGroupExtensionArrayValidator:new x.ArrayValidator([new d.MenuGroupExtensionValidator]),menuGroupExtensionValidator:new d.MenuGroupExtensionValidator,menuLocationValidator:new x.EnumValidator([0,1]),notSupportedFilterTypeValidator:new x.EnumValidator([2]),notSupportedFilterValidator:new c.NotSupportedFilterValidator,numberArrayValidator:new x.NumberArrayValidator,numberValidator:new x.NumberValidator,onLoadFiltersBaseValidator:new _.AnyOfValidator([new c.OnLoadFiltersBaseValidator,new c.OnLoadFiltersBaseRemoveOperationValidator]),pageLayoutValidator:new F.MapValidator([new x.StringValidator],[new p.VisualLayoutValidator]),pageNavigationPaneValidator:new h.PageNavigationPaneValidator,pageNavigationPositionValidator:new x.EnumValidator([0,1]),pageSizeTypeValidator:new x.EnumValidator([0,1,2,3,4,5]),pageSizeValidator:new f.PageSizeValidator,pageValidator:new f.PageValidator,pageViewFieldValidator:new f.PageViewFieldValidator,pagesLayoutValidator:new F.MapValidator([new x.StringValidator],[new p.PageLayoutValidator]),paginatedReportCommandsValidator:new n.PaginatedReportCommandsValidator,paginatedReportLoadValidator:new V.PaginatedReportLoadValidator,paginatedReportsettingsValidator:new w.PaginatedReportSettingsValidator,parameterValuesArrayValidator:new x.ArrayValidator([new V.ReportParameterFieldsValidator]),parametersPanelValidator:new C.ParametersPanelValidator,permissionsValidator:new x.EnumValidator([0,1,2,4,7]),playBookmarkRequestValidator:new a.PlayBookmarkRequestValidator,qnaInterpretInputDataValidator:new v.QnaInterpretInputDataValidator,qnaPanesValidator:new h.QnaPanesValidator,qnaSettingValidator:new v.QnaSettingsValidator,quickCreateValidator:new R.QuickCreateValidator,rawDataValidator:new x.ArrayValidator([new x.ArrayValidator([new x.StringValidator])]),relativeDateFilterOperatorValidator:new x.EnumValidator([0,1,2]),relativeDateFilterTimeUnitTypeValidator:new x.EnumValidator([0,1,2,3,4,5,6]),relativeDateFilterTypeValidator:new x.EnumValidator([4]),relativeDateFilterValidator:new c.RelativeDateFilterValidator,relativeDateTimeFilterTypeValidator:new x.EnumValidator([4,7]),relativeDateTimeFilterUnitTypeValidator:new x.EnumValidator([0,1,2,3,4,5,6,7,8]),relativeTimeFilterTimeUnitTypeValidator:new x.EnumValidator([7,8]),relativeTimeFilterTypeValidator:new x.EnumValidator([7]),relativeTimeFilterValidator:new c.RelativeTimeFilterValidator,reportBarsValidator:new i.ReportBarsValidator,reportCreateValidator:new y.ReportCreateValidator,reportLoadFiltersValidator:new _.AnyOfValidator([new x.ArrayValidator([new c.FilterValidator]),new c.OnLoadFiltersValidator]),reportLoadValidator:new m.ReportLoadValidator,reportPanesValidator:new h.ReportPanesValidator,saveAsParametersValidator:new g.SaveAsParametersValidator,selectionPaneValidator:new h.SelectionPaneValidator,settingsValidator:new w.SettingsValidator,singleCommandSettingsValidator:new n.SingleCommandSettingsValidator,slicerSelectorValidator:new _.AnyOfValidator([new b.VisualSelectorValidator,new b.SlicerTargetSelectorValidator]),slicerStateValidator:new O.SlicerStateValidator,slicerTargetValidator:new _.AnyOfValidator([new c.FilterColumnTargetValidator,new c.FilterHierarchyTargetValidator,new c.FilterMeasureTargetValidator,new c.FilterKeyColumnsTargetValidator,new c.FilterKeyHierarchyTargetValidator]),slicerValidator:new O.SlicerValidator,stringArrayValidator:new x.StringArrayValidator,stringValidator:new x.StringValidator,syncSlicersPaneValidator:new h.SyncSlicersPaneValidator,tableDataArrayValidator:new x.ArrayValidator([new k.TableDataValidator]),tableSchemaListValidator:new x.ArrayValidator([new k.TableSchemaValidator]),tileLoadValidator:new S.TileLoadValidator,tokenTypeValidator:new x.EnumValidator([0,1]),topNFilterTypeValidator:new x.EnumValidator([5]),topNFilterValidator:new c.TopNFilterValidator,updateFiltersRequestValidator:new _.AnyOfValidator([new c.UpdateFiltersRequestValidator,new c.RemoveFiltersRequestValidator]),viewModeValidator:new x.EnumValidator([0,1]),visualCommandSelectorValidator:new _.AnyOfValidator([new b.VisualSelectorValidator,new b.VisualTypeSelectorValidator]),visualHeaderSelectorValidator:new _.AnyOfValidator([new b.VisualSelectorValidator,new b.VisualTypeSelectorValidator]),visualHeaderSettingsValidator:new P.VisualHeaderSettingsValidator,visualHeaderValidator:new P.VisualHeaderValidator,visualHeadersValidator:new x.ArrayValidator([new P.VisualHeaderValidator]),visualizationsPaneValidator:new h.VisualizationsPaneValidator,visualLayoutValidator:new p.VisualLayoutValidator,visualSelectorValidator:new b.VisualSelectorValidator,visualSettingsValidator:new P.VisualSettingsValidator,visualTypeSelectorValidator:new b.VisualTypeSelectorValidator,zoomLevelValidator:new x.RangeValidator(.25,4)}},function(t,e,r){var i,a=this&&this.__extends||(i=function(t,e){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])})(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.StatusBarValidator=e.ActionBarValidator=e.ReportBarsValidator=void 0;var n=r(3),o=r(4),l=r(1),s=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return a(e,t),e.prototype.validate=function(e,r,i){if(null==e)return null;var a=t.prototype.validate.call(this,e,r,i);if(a)return a;var o=[{field:"actionBar",validators:[l.Validators.actionBarValidator]},{field:"statusBar",validators:[l.Validators.statusBarValidator]}];return new n.MultipleFieldsValidator(o).validate(e,r,i)},e}(o.ObjectValidator);e.ReportBarsValidator=s;var u=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return a(e,t),e.prototype.validate=function(e,r,i){if(null==e)return null;var a=t.prototype.validate.call(this,e,r,i);if(a)return a;var o=[{field:"visible",validators:[l.Validators.booleanValidator]}];return new n.MultipleFieldsValidator(o).validate(e,r,i)},e}(o.ObjectValidator);e.ActionBarValidator=u;var d=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return a(e,t),e.prototype.validate=function(e,r,i){if(null==e)return null;var a=t.prototype.validate.call(this,e,r,i);if(a)return a;var o=[{field:"visible",validators:[l.Validators.booleanValidator]}];return new n.MultipleFieldsValidator(o).validate(e,r,i)},e}(o.ObjectValidator);e.StatusBarValidator=d},(t,e)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.MultipleFieldsValidator=void 0;var r=function(){function t(t){this.fieldValidatorsPairs=t}return t.prototype.validate=function(t,e,r){if(!this.fieldValidatorsPairs)return null;for(var i=e?e+"."+r:r,a=0,n=this.fieldValidatorsPairs;athis.maxValue||e{Object.defineProperty(e,"__esModule",{value:!0}),e.AnyOfValidator=void 0;var r=function(){function t(t){this.validators=t}return t.prototype.validate=function(t,e,r){if(null==t)return null;for(var i=!1,a=0,n=this.validators;a{Object.defineProperty(e,"__esModule",{value:!0}),e.FieldForbiddenValidator=void 0;var r=function(){function t(){}return t.prototype.validate=function(t,e,r){return void 0!==t?[{message:r+" is forbidden",path:(e?e+".":"")+r,keyword:"forbidden"}]:null},t}();e.FieldForbiddenValidator=r},(t,e)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.FieldRequiredValidator=void 0;var r=function(){function t(){}return t.prototype.validate=function(t,e,r){return null==t?[{message:r+" is required",path:(e?e+".":"")+r,keyword:"required"}]:null},t}();e.FieldRequiredValidator=r},function(t,e,r){var i,a=this&&this.__extends||(i=function(t,e){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])})(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.MapValidator=void 0;var n=function(t){function e(e,r){var i=t.call(this)||this;return i.keyValidators=e,i.valueValidators=r,i}return a(e,t),e.prototype.validate=function(e,r,i){if(null==e)return null;var a=t.prototype.validate.call(this,e,r,i);if(a)return a;for(var n in e)if(e.hasOwnProperty(n)){for(var o=(r?r+".":"")+i+"."+n,l=0,s=this.keyValidators;l0&&a[a.length-1])||6!==n[0]&&2!==n[0])){o=0;continue}if(3===n[0]&&(!a||n[1]>a[0]&&n[1]0&&a[a.length-1])||6!==n[0]&&2!==n[0])){o=0;continue}if(3===n[0]&&(!a||n[1]>a[0]&&n[1]0?"&":"?";return t+=i+e+"="+r},e.isSavedInternal=function(t,e,a){return r(this,void 0,void 0,(function(){return i(this,(function(r){switch(r.label){case 0:return r.trys.push([0,2,,3]),[4,t.get("/report/hasUnsavedChanges",{uid:e},a)];case 1:return[2,!r.sent().body];case 2:throw r.sent().body;case 3:return[2]}}))}))},e.isRDLEmbed=function(t){return t&&t.toLowerCase().indexOf("/rdlembed?")>=0},e.autoAuthInEmbedUrl=function(t){return t&&decodeURIComponent(t).toLowerCase().indexOf("autoauth=true")>=0},e.getRandomValue=n,e.getTimeDiffInMilliseconds=function(t,e){return Math.abs(t.getTime()-e.getTime())},e.isCreate=function(t){return"create"===t||"quickcreate"===t}},function(t,e){Object.defineProperty(e,"__esModule",{value:!0}),e.FilterBuilder=void 0;var r=function(){function t(){}return t.prototype.withTargetObject=function(t){return this.target=t,this},t.prototype.withColumnTarget=function(t,e){return this.target={table:t,column:e},this},t.prototype.withMeasureTarget=function(t,e){return this.target={table:t,measure:e},this},t.prototype.withHierarchyLevelTarget=function(t,e,r){return this.target={table:t,hierarchy:e,hierarchyLevel:r},this},t.prototype.withColumnAggregation=function(t,e,r){return this.target={table:t,column:e,aggregationFunction:r},this},t.prototype.withHierarchyLevelAggregationTarget=function(t,e,r,i){return this.target={table:t,hierarchy:e,hierarchyLevel:r,aggregationFunction:i},this},t}();e.FilterBuilder=r},function(t,e){Object.defineProperty(e,"__esModule",{value:!0}),e.EmbedUrlNotSupported=e.APINotSupportedForRDLError=void 0,e.APINotSupportedForRDLError="This API is currently not supported for RDL reports",e.EmbedUrlNotSupported="Embed URL is invalid for this scenario. Please use Power BI REST APIs to get the valid URL"},function(t,e){Object.defineProperty(e,"__esModule",{value:!0});e.default={version:"2.22.0",type:"js"}},function(t,e,r){var i,a=this&&this.__extends||(i=function(t,e){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])})(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}),n=this&&this.__awaiter||function(t,e,r,i){return new(r||(r=Promise))((function(a,n){function o(t){try{s(i.next(t))}catch(t){n(t)}}function l(t){try{s(i.throw(t))}catch(t){n(t)}}function s(t){var e;t.done?a(t.value):(e=t.value,e instanceof r?e:new r((function(t){t(e)}))).then(o,l)}s((i=i.apply(t,e||[])).next())}))},o=this&&this.__generator||function(t,e){var r,i,a,n,o={label:0,sent:function(){if(1&a[0])throw a[1];return a[1]},trys:[],ops:[]};return n={next:l(0),throw:l(1),return:l(2)},"function"==typeof Symbol&&(n[Symbol.iterator]=function(){return this}),n;function l(n){return function(l){return function(n){if(r)throw new TypeError("Generator is already executing.");for(;o;)try{if(r=1,i&&(a=2&n[0]?i.return:n[0]?i.throw||((a=i.return)&&a.call(i),0):i.next)&&!(a=a.call(i,n[1])).done)return a;switch(i=0,a&&(n=[2&n[0],a.value]),n[0]){case 0:case 1:a=n;break;case 4:return o.label++,{value:n[1],done:!1};case 5:o.label++,i=n[1],n=[0];continue;case 7:n=o.ops.pop(),o.trys.pop();continue;default:if(!(a=o.trys,(a=a.length>0&&a[a.length-1])||6!==n[0]&&2!==n[0])){o=0;continue}if(3===n[0]&&(!a||n[1]>a[0]&&n[1]0&&a[a.length-1])||6!==n[0]&&2!==n[0])){o=0;continue}if(3===n[0]&&(!a||n[1]>a[0]&&n[1]0&&a[a.length-1])||6!==n[0]&&2!==n[0])){o=0;continue}if(3===n[0]&&(!a||n[1]>a[0]&&n[1] * @license MIT - */function a(t,e){if(t===e)return 0;for(var r=t.length,i=e.length,a=0,o=Math.min(r,i);a=0;u--)if(d[u]!==c[u])return!1;for(u=d.length-1;u>=0;u--)if(l=d[u],!V(t[l],e[l],r,i))return!1;return!0}(t,e,r,i))}return r?t===e:t==e}function b(t){return"[object Arguments]"==Object.prototype.toString.call(t)}function w(t,e){if(!t||!e)return!1;if("[object RegExp]"==Object.prototype.toString.call(e))return e.test(t);try{if(t instanceof e)return!0}catch(t){}return!Error.isPrototypeOf(e)&&!0===e.call({},t)}function O(t,e,r,i){var a;if("function"!=typeof e)throw new TypeError('"block" argument must be a function');"string"==typeof r&&(i=r,r=null),a=function(t){var e;try{t()}catch(t){e=t}return e}(e),i=(r&&r.name?" ("+r.name+").":".")+(i?" "+i:"."),t&&!a&&m(a,r,"Missing expected exception"+i);var o="string"==typeof i,l=!t&&a&&!r;if((!t&&n.isError(a)&&o&&w(a,r)||l)&&m(a,r,"Got unwanted exception"+i),t&&a&&r&&!w(a,r)||!t&&a)throw a}p.AssertionError=function(t){var e;this.name="AssertionError",this.actual=t.actual,this.expected=t.expected,this.operator=t.operator,t.message?(this.message=t.message,this.generatedMessage=!1):(this.message=v(y((e=this).actual),128)+" "+e.operator+" "+v(y(e.expected),128),this.generatedMessage=!0);var r=t.stackStartFunction||m;if(Error.captureStackTrace)Error.captureStackTrace(this,r);else{var i=new Error;if(i.stack){var a=i.stack,o=h(r),n=a.indexOf("\n"+o);if(n>=0){var l=a.indexOf("\n",n+1);a=a.substring(l+1)}this.stack=a}}},n.inherits(p.AssertionError,Error),p.fail=m,p.ok=g,p.equal=function(t,e,r){t!=e&&m(t,e,r,"==",p.equal)},p.notEqual=function(t,e,r){t==e&&m(t,e,r,"!=",p.notEqual)},p.deepEqual=function(t,e,r){V(t,e,!1)||m(t,e,r,"deepEqual",p.deepEqual)},p.deepStrictEqual=function(t,e,r){V(t,e,!0)||m(t,e,r,"deepStrictEqual",p.deepStrictEqual)},p.notDeepEqual=function(t,e,r){V(t,e,!1)&&m(t,e,r,"notDeepEqual",p.notDeepEqual)},p.notDeepStrictEqual=function t(e,r,i){V(e,r,!0)&&m(e,r,i,"notDeepStrictEqual",t)},p.strictEqual=function(t,e,r){t!==e&&m(t,e,r,"===",p.strictEqual)},p.notStrictEqual=function(t,e,r){t===e&&m(t,e,r,"!==",p.notStrictEqual)},p.throws=function(t,e,r){O(!0,t,e,r)},p.doesNotThrow=function(t,e,r){O(!1,t,e,r)},p.ifError=function(t){if(t)throw t},p.strict=i((function t(e,r){e||m(e,!0,r,"==",t)}),p,{equal:p.strictEqual,deepEqual:p.deepStrictEqual,notEqual:p.notStrictEqual,notDeepEqual:p.notDeepStrictEqual}),p.strict.strict=p.strict;var S=Object.keys||function(t){var e=[];for(var r in t)l.call(t,r)&&e.push(r);return e}}).call(this,r(17))},function(t,e,r){var i,a=this&&this.__extends||(i=function(t,e){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])})(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.Dashboard=void 0;var o=r(0),n=function(t){function e(r,i,a,o,n){var l=t.call(this,r,i,a,void 0,o,n)||this;return l.loadPath="/dashboard/load",l.phasedLoadPath="/dashboard/prepare",Array.prototype.push.apply(l.allowedEvents,e.allowedEvents),l}return a(e,t),e.findIdFromEmbedUrl=function(t){var e,r=t.match(/dashboardId="?([^&]+)"?/);return r&&(e=r[1]),e},e.prototype.getId=function(){var t=this.config,r=t.id||this.element.getAttribute(e.dashboardIdAttribute)||e.findIdFromEmbedUrl(t.embedUrl);if("string"!=typeof r||0===r.length)throw new Error("Dashboard id is required, but it was not found. You must provide an id either as part of embed configuration or as attribute '".concat(e.dashboardIdAttribute,"'."));return r},e.prototype.validate=function(t){var e=t,r=(0,o.validateDashboardLoad)(e);return r||this.validatePageView(e.pageView)},e.prototype.configChanged=function(t){t||(this.config.id=this.getId())},e.prototype.getDefaultEmbedUrlEndpoint=function(){return"dashboardEmbed"},e.prototype.validatePageView=function(t){if(t&&"fitToWidth"!==t&&"oneColumn"!==t&&"actualSize"!==t)return[{message:"pageView must be one of the followings: fitToWidth, oneColumn, actualSize"}]},e.allowedEvents=["tileClicked","error"],e.dashboardIdAttribute="powerbi-dashboard-id",e.typeAttribute="powerbi-type",e.type="Dashboard",e}(r(1).Embed);e.Dashboard=n},function(t,e,r){var i,a=this&&this.__extends||(i=function(t,e){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])})(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.Tile=void 0;var o=r(0),n=function(t){function e(r,i,a,o,n){var l=this,s=a;return(l=t.call(this,r,i,s,void 0,o,n)||this).loadPath="/tile/load",Array.prototype.push.apply(l.allowedEvents,e.allowedEvents),l}return a(e,t),e.prototype.getId=function(){var t=this.config.id||e.findIdFromEmbedUrl(this.config.embedUrl);if("string"!=typeof t||0===t.length)throw new Error("Tile id is required, but it was not found. You must provide an id either as part of embed configuration.");return t},e.prototype.validate=function(t){var e=t;return(0,o.validateTileLoad)(e)},e.prototype.configChanged=function(t){t||(this.config.id=this.getId())},e.prototype.getDefaultEmbedUrlEndpoint=function(){return"tileEmbed"},e.findIdFromEmbedUrl=function(t){var e,r=t.match(/tileId="?([^&]+)"?/);return r&&(e=r[1]),e},e.type="Tile",e.allowedEvents=["tileClicked","tileLoaded"],e}(r(1).Embed);e.Tile=n},function(t,e,r){var i,a=this&&this.__extends||(i=function(t,e){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])})(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}),o=this&&this.__awaiter||function(t,e,r,i){return new(r||(r=Promise))((function(a,o){function n(t){try{s(i.next(t))}catch(t){o(t)}}function l(t){try{s(i.throw(t))}catch(t){o(t)}}function s(t){var e;t.done?a(t.value):(e=t.value,e instanceof r?e:new r((function(t){t(e)}))).then(n,l)}s((i=i.apply(t,e||[])).next())}))},n=this&&this.__generator||function(t,e){var r,i,a,o,n={label:0,sent:function(){if(1&a[0])throw a[1];return a[1]},trys:[],ops:[]};return o={next:l(0),throw:l(1),return:l(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function l(o){return function(l){return function(o){if(r)throw new TypeError("Generator is already executing.");for(;n;)try{if(r=1,i&&(a=2&o[0]?i.return:o[0]?i.throw||((a=i.return)&&a.call(i),0):i.next)&&!(a=a.call(i,o[1])).done)return a;switch(i=0,a&&(o=[2&o[0],a.value]),o[0]){case 0:case 1:a=o;break;case 4:return n.label++,{value:o[1],done:!1};case 5:n.label++,i=o[1],o=[0];continue;case 7:o=n.ops.pop(),n.trys.pop();continue;default:if(!(a=n.trys,(a=a.length>0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]=0;u--)if(d[u]!==c[u])return!1;for(u=d.length-1;u>=0;u--)if(l=d[u],!g(t[l],e[l],r,i))return!1;return!0}(t,e,r,i))}return r?t===e:t==e}function b(t){return"[object Arguments]"==Object.prototype.toString.call(t)}function w(t,e){if(!t||!e)return!1;if("[object RegExp]"==Object.prototype.toString.call(e))return e.test(t);try{if(t instanceof e)return!0}catch(t){}return!Error.isPrototypeOf(e)&&!0===e.call({},t)}function O(t,e,r,i){var a;if("function"!=typeof e)throw new TypeError('"block" argument must be a function');"string"==typeof r&&(i=r,r=null),a=function(t){var e;try{t()}catch(t){e=t}return e}(e),i=(r&&r.name?" ("+r.name+").":".")+(i?" "+i:"."),t&&!a&&m(a,r,"Missing expected exception"+i);var n="string"==typeof i,l=!t&&a&&!r;if((!t&&o.isError(a)&&n&&w(a,r)||l)&&m(a,r,"Got unwanted exception"+i),t&&a&&r&&!w(a,r)||!t&&a)throw a}p.AssertionError=function(t){var e;this.name="AssertionError",this.actual=t.actual,this.expected=t.expected,this.operator=t.operator,t.message?(this.message=t.message,this.generatedMessage=!1):(this.message=v(y((e=this).actual),128)+" "+e.operator+" "+v(y(e.expected),128),this.generatedMessage=!0);var r=t.stackStartFunction||m;if(Error.captureStackTrace)Error.captureStackTrace(this,r);else{var i=new Error;if(i.stack){var a=i.stack,n=h(r),o=a.indexOf("\n"+n);if(o>=0){var l=a.indexOf("\n",o+1);a=a.substring(l+1)}this.stack=a}}},o.inherits(p.AssertionError,Error),p.fail=m,p.ok=V,p.equal=function(t,e,r){t!=e&&m(t,e,r,"==",p.equal)},p.notEqual=function(t,e,r){t==e&&m(t,e,r,"!=",p.notEqual)},p.deepEqual=function(t,e,r){g(t,e,!1)||m(t,e,r,"deepEqual",p.deepEqual)},p.deepStrictEqual=function(t,e,r){g(t,e,!0)||m(t,e,r,"deepStrictEqual",p.deepStrictEqual)},p.notDeepEqual=function(t,e,r){g(t,e,!1)&&m(t,e,r,"notDeepEqual",p.notDeepEqual)},p.notDeepStrictEqual=function t(e,r,i){g(e,r,!0)&&m(e,r,i,"notDeepStrictEqual",t)},p.strictEqual=function(t,e,r){t!==e&&m(t,e,r,"===",p.strictEqual)},p.notStrictEqual=function(t,e,r){t===e&&m(t,e,r,"!==",p.notStrictEqual)},p.throws=function(t,e,r){O(!0,t,e,r)},p.doesNotThrow=function(t,e,r){O(!1,t,e,r)},p.ifError=function(t){if(t)throw t},p.strict=i((function t(e,r){e||m(e,!0,r,"==",t)}),p,{equal:p.strictEqual,deepEqual:p.deepStrictEqual,notEqual:p.notStrictEqual,notDeepEqual:p.notDeepStrictEqual}),p.strict.strict=p.strict;var S=Object.keys||function(t){var e=[];for(var r in t)l.call(t,r)&&e.push(r);return e}}).call(this,r(17))},function(t,e,r){var i,a=this&&this.__extends||(i=function(t,e){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])})(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.Dashboard=void 0;var n=r(0),o=function(t){function e(r,i,a,n,o){var l=t.call(this,r,i,a,void 0,n,o)||this;return l.loadPath="/dashboard/load",l.phasedLoadPath="/dashboard/prepare",Array.prototype.push.apply(l.allowedEvents,e.allowedEvents),l}return a(e,t),e.findIdFromEmbedUrl=function(t){var e,r=t.match(/dashboardId="?([^&]+)"?/);return r&&(e=r[1]),e},e.prototype.getId=function(){var t=this.config,r=t.id||this.element.getAttribute(e.dashboardIdAttribute)||e.findIdFromEmbedUrl(t.embedUrl);if("string"!=typeof r||0===r.length)throw new Error("Dashboard id is required, but it was not found. You must provide an id either as part of embed configuration or as attribute '".concat(e.dashboardIdAttribute,"'."));return r},e.prototype.validate=function(t){var e=t,r=(0,n.validateDashboardLoad)(e);return r||this.validatePageView(e.pageView)},e.prototype.configChanged=function(t){t||(this.config.id=this.getId())},e.prototype.getDefaultEmbedUrlEndpoint=function(){return"dashboardEmbed"},e.prototype.validatePageView=function(t){if(t&&"fitToWidth"!==t&&"oneColumn"!==t&&"actualSize"!==t)return[{message:"pageView must be one of the followings: fitToWidth, oneColumn, actualSize"}]},e.allowedEvents=["tileClicked","error"],e.dashboardIdAttribute="powerbi-dashboard-id",e.typeAttribute="powerbi-type",e.type="Dashboard",e}(r(1).Embed);e.Dashboard=o},function(t,e,r){var i,a=this&&this.__extends||(i=function(t,e){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])})(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.Tile=void 0;var n=r(0),o=function(t){function e(r,i,a,n,o){var l=this,s=a;return(l=t.call(this,r,i,s,void 0,n,o)||this).loadPath="/tile/load",Array.prototype.push.apply(l.allowedEvents,e.allowedEvents),l}return a(e,t),e.prototype.getId=function(){var t=this.config.id||e.findIdFromEmbedUrl(this.config.embedUrl);if("string"!=typeof t||0===t.length)throw new Error("Tile id is required, but it was not found. You must provide an id either as part of embed configuration.");return t},e.prototype.validate=function(t){var e=t;return(0,n.validateTileLoad)(e)},e.prototype.configChanged=function(t){t||(this.config.id=this.getId())},e.prototype.getDefaultEmbedUrlEndpoint=function(){return"tileEmbed"},e.findIdFromEmbedUrl=function(t){var e,r=t.match(/tileId="?([^&]+)"?/);return r&&(e=r[1]),e},e.type="Tile",e.allowedEvents=["tileClicked","tileLoaded"],e}(r(1).Embed);e.Tile=o},function(t,e,r){var i,a=this&&this.__extends||(i=function(t,e){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])})(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}),n=this&&this.__awaiter||function(t,e,r,i){return new(r||(r=Promise))((function(a,n){function o(t){try{s(i.next(t))}catch(t){n(t)}}function l(t){try{s(i.throw(t))}catch(t){n(t)}}function s(t){var e;t.done?a(t.value):(e=t.value,e instanceof r?e:new r((function(t){t(e)}))).then(o,l)}s((i=i.apply(t,e||[])).next())}))},o=this&&this.__generator||function(t,e){var r,i,a,n,o={label:0,sent:function(){if(1&a[0])throw a[1];return a[1]},trys:[],ops:[]};return n={next:l(0),throw:l(1),return:l(2)},"function"==typeof Symbol&&(n[Symbol.iterator]=function(){return this}),n;function l(n){return function(l){return function(n){if(r)throw new TypeError("Generator is already executing.");for(;o;)try{if(r=1,i&&(a=2&n[0]?i.return:n[0]?i.throw||((a=i.return)&&a.call(i),0):i.next)&&!(a=a.call(i,n[1])).done)return a;switch(i=0,a&&(n=[2&n[0],a.value]),n[0]){case 0:case 1:a=n;break;case 4:return o.label++,{value:n[1],done:!1};case 5:o.label++,i=n[1],n=[0];continue;case 7:n=o.ops.pop(),o.trys.pop();continue;default:if(!(a=o.trys,(a=a.length>0&&a[a.length-1])||6!==n[0]&&2!==n[0])){o=0;continue}if(3===n[0]&&(!a||n[1]>a[0]&&n[1]0&&a[a.length-1])||6!==n[0]&&2!==n[0])){o=0;continue}if(3===n[0]&&(!a||n[1]>a[0]&&n[1]0&&a[a.length-1])||6!==n[0]&&2!==n[0])){o=0;continue}if(3===n[0]&&(!a||n[1]>a[0]&&n[1]0&&a[a.length-1])||6!==n[0]&&2!==n[0])){o=0;continue}if(3===n[0]&&(!a||n[1]>a[0]&&n[1]=o)return t;switch(t){case"%s":return String(i[r++]);case"%d":return Number(i[r++]);case"%j":try{return JSON.stringify(i[r++])}catch(t){return"[Circular]"}default:return t}})),s=i[r];r=3&&(i.depth=arguments[2]),arguments.length>=4&&(i.colors=arguments[3]),h(r)?i.showHidden=r:r&&e._extend(i,r),g(i.showHidden)&&(i.showHidden=!1),g(i.depth)&&(i.depth=2),g(i.colors)&&(i.colors=!1),g(i.customInspect)&&(i.customInspect=!0),i.colors&&(i.stylize=s),d(i,t,i.depth)}function s(t,e){var r=l.styles[e];return r?"["+l.colors[r][0]+"m"+t+"["+l.colors[r][1]+"m":t}function u(t,e){return t}function d(t,r,i){if(t.customInspect&&r&&S(r.inspect)&&r.inspect!==e.inspect&&(!r.constructor||r.constructor.prototype!==r)){var a=r.inspect(i,t);return m(a)||(a=d(t,a,i)),a}var o=function(t,e){if(g(e))return t.stylize("undefined","undefined");if(m(e)){var r="'"+JSON.stringify(e).replace(/^"|"$/g,"").replace(/'/g,"\\'").replace(/\\"/g,'"')+"'";return t.stylize(r,"string")}if(y(e))return t.stylize(""+e,"number");if(h(e))return t.stylize(""+e,"boolean");if(v(e))return t.stylize("null","null")}(t,r);if(o)return o;var n=Object.keys(r),l=function(t){var e={};return t.forEach((function(t,r){e[t]=!0})),e}(n);if(t.showHidden&&(n=Object.getOwnPropertyNames(r)),O(r)&&(n.indexOf("message")>=0||n.indexOf("description")>=0))return c(r);if(0===n.length){if(S(r)){var s=r.name?": "+r.name:"";return t.stylize("[Function"+s+"]","special")}if(V(r))return t.stylize(RegExp.prototype.toString.call(r),"regexp");if(w(r))return t.stylize(Date.prototype.toString.call(r),"date");if(O(r))return c(r)}var u,b="",P=!1,_=["{","}"];(f(r)&&(P=!0,_=["[","]"]),S(r))&&(b=" [Function"+(r.name?": "+r.name:"")+"]");return V(r)&&(b=" "+RegExp.prototype.toString.call(r)),w(r)&&(b=" "+Date.prototype.toUTCString.call(r)),O(r)&&(b=" "+c(r)),0!==n.length||P&&0!=r.length?i<0?V(r)?t.stylize(RegExp.prototype.toString.call(r),"regexp"):t.stylize("[Object]","special"):(t.seen.push(r),u=P?function(t,e,r,i,a){for(var o=[],n=0,l=e.length;n=0&&0,t+e.replace(/\u001b\[\d\d?m/g,"").length+1}),0)>60)return r[0]+(""===e?"":e+"\n ")+" "+t.join(",\n ")+" "+r[1];return r[0]+e+" "+t.join(", ")+" "+r[1]}(u,b,_)):_[0]+b+_[1]}function c(t){return"["+Error.prototype.toString.call(t)+"]"}function p(t,e,r,i,a,o){var n,l,s;if((s=Object.getOwnPropertyDescriptor(e,a)||{value:e[a]}).get?l=s.set?t.stylize("[Getter/Setter]","special"):t.stylize("[Getter]","special"):s.set&&(l=t.stylize("[Setter]","special")),F(i,a)||(n="["+a+"]"),l||(t.seen.indexOf(s.value)<0?(l=v(r)?d(t,s.value,null):d(t,s.value,r-1)).indexOf("\n")>-1&&(l=o?l.split("\n").map((function(t){return" "+t})).join("\n").substr(2):"\n"+l.split("\n").map((function(t){return" "+t})).join("\n")):l=t.stylize("[Circular]","special")),g(n)){if(o&&a.match(/^\d+$/))return l;(n=JSON.stringify(""+a)).match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/)?(n=n.substr(1,n.length-2),n=t.stylize(n,"name")):(n=n.replace(/'/g,"\\'").replace(/\\"/g,'"').replace(/(^"|"$)/g,"'"),n=t.stylize(n,"string"))}return n+": "+l}function f(t){return Array.isArray(t)}function h(t){return"boolean"==typeof t}function v(t){return null===t}function y(t){return"number"==typeof t}function m(t){return"string"==typeof t}function g(t){return void 0===t}function V(t){return b(t)&&"[object RegExp]"===P(t)}function b(t){return"object"==typeof t&&null!==t}function w(t){return b(t)&&"[object Date]"===P(t)}function O(t){return b(t)&&("[object Error]"===P(t)||t instanceof Error)}function S(t){return"function"==typeof t}function P(t){return Object.prototype.toString.call(t)}function _(t){return t<10?"0"+t.toString(10):t.toString(10)}e.debuglog=function(r){if(g(o)&&(o=t.env.NODE_DEBUG||""),r=r.toUpperCase(),!n[r])if(new RegExp("\\b"+r+"\\b","i").test(o)){var i=t.pid;n[r]=function(){var t=e.format.apply(e,arguments);console.error("%s %d: %s",r,i,t)}}else n[r]=function(){};return n[r]},e.inspect=l,l.colors={bold:[1,22],italic:[3,23],underline:[4,24],inverse:[7,27],white:[37,39],grey:[90,39],black:[30,39],blue:[34,39],cyan:[36,39],green:[32,39],magenta:[35,39],red:[31,39],yellow:[33,39]},l.styles={special:"cyan",number:"yellow",boolean:"yellow",undefined:"grey",null:"bold",string:"green",date:"magenta",regexp:"red"},e.isArray=f,e.isBoolean=h,e.isNull=v,e.isNullOrUndefined=function(t){return null==t},e.isNumber=y,e.isString=m,e.isSymbol=function(t){return"symbol"==typeof t},e.isUndefined=g,e.isRegExp=V,e.isObject=b,e.isDate=w,e.isError=O,e.isFunction=S,e.isPrimitive=function(t){return null===t||"boolean"==typeof t||"number"==typeof t||"string"==typeof t||"symbol"==typeof t||void 0===t},e.isBuffer=r(21);var T=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];function E(){var t=new Date,e=[_(t.getHours()),_(t.getMinutes()),_(t.getSeconds())].join(":");return[t.getDate(),T[t.getMonth()],e].join(" ")}function F(t,e){return Object.prototype.hasOwnProperty.call(t,e)}e.log=function(){console.log("%s - %s",E(),e.format.apply(e,arguments))},e.inherits=r(22),e._extend=function(t,e){if(!e||!b(e))return t;for(var r=Object.keys(e),i=r.length;i--;)t[r[i]]=e[r[i]];return t};var x="undefined"!=typeof Symbol?Symbol("util.promisify.custom"):void 0;function k(t,e){if(!t){var r=new Error("Promise was rejected with a falsy value");r.reason=t,t=r}return e(t)}e.promisify=function(t){if("function"!=typeof t)throw new TypeError('The "original" argument must be of type Function');if(x&&t[x]){var e;if("function"!=typeof(e=t[x]))throw new TypeError('The "util.promisify.custom" argument must be of type Function');return Object.defineProperty(e,x,{value:e,enumerable:!1,writable:!1,configurable:!0}),e}function e(){for(var e,r,i=new Promise((function(t,i){e=t,r=i})),a=[],o=0;o1)for(var r=1;r0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]=n)return t;switch(t){case"%s":return String(i[r++]);case"%d":return Number(i[r++]);case"%j":try{return JSON.stringify(i[r++])}catch(t){return"[Circular]"}default:return t}})),s=i[r];r=3&&(i.depth=arguments[2]),arguments.length>=4&&(i.colors=arguments[3]),h(r)?i.showHidden=r:r&&e._extend(i,r),V(i.showHidden)&&(i.showHidden=!1),V(i.depth)&&(i.depth=2),V(i.colors)&&(i.colors=!1),V(i.customInspect)&&(i.customInspect=!0),i.colors&&(i.stylize=s),d(i,t,i.depth)}function s(t,e){var r=l.styles[e];return r?"["+l.colors[r][0]+"m"+t+"["+l.colors[r][1]+"m":t}function u(t,e){return t}function d(t,r,i){if(t.customInspect&&r&&S(r.inspect)&&r.inspect!==e.inspect&&(!r.constructor||r.constructor.prototype!==r)){var a=r.inspect(i,t);return m(a)||(a=d(t,a,i)),a}var n=function(t,e){if(V(e))return t.stylize("undefined","undefined");if(m(e)){var r="'"+JSON.stringify(e).replace(/^"|"$/g,"").replace(/'/g,"\\'").replace(/\\"/g,'"')+"'";return t.stylize(r,"string")}if(y(e))return t.stylize(""+e,"number");if(h(e))return t.stylize(""+e,"boolean");if(v(e))return t.stylize("null","null")}(t,r);if(n)return n;var o=Object.keys(r),l=function(t){var e={};return t.forEach((function(t,r){e[t]=!0})),e}(o);if(t.showHidden&&(o=Object.getOwnPropertyNames(r)),O(r)&&(o.indexOf("message")>=0||o.indexOf("description")>=0))return c(r);if(0===o.length){if(S(r)){var s=r.name?": "+r.name:"";return t.stylize("[Function"+s+"]","special")}if(g(r))return t.stylize(RegExp.prototype.toString.call(r),"regexp");if(w(r))return t.stylize(Date.prototype.toString.call(r),"date");if(O(r))return c(r)}var u,b="",P=!1,_=["{","}"];(f(r)&&(P=!0,_=["[","]"]),S(r))&&(b=" [Function"+(r.name?": "+r.name:"")+"]");return g(r)&&(b=" "+RegExp.prototype.toString.call(r)),w(r)&&(b=" "+Date.prototype.toUTCString.call(r)),O(r)&&(b=" "+c(r)),0!==o.length||P&&0!=r.length?i<0?g(r)?t.stylize(RegExp.prototype.toString.call(r),"regexp"):t.stylize("[Object]","special"):(t.seen.push(r),u=P?function(t,e,r,i,a){for(var n=[],o=0,l=e.length;o=0&&0,t+e.replace(/\u001b\[\d\d?m/g,"").length+1}),0)>60)return r[0]+(""===e?"":e+"\n ")+" "+t.join(",\n ")+" "+r[1];return r[0]+e+" "+t.join(", ")+" "+r[1]}(u,b,_)):_[0]+b+_[1]}function c(t){return"["+Error.prototype.toString.call(t)+"]"}function p(t,e,r,i,a,n){var o,l,s;if((s=Object.getOwnPropertyDescriptor(e,a)||{value:e[a]}).get?l=s.set?t.stylize("[Getter/Setter]","special"):t.stylize("[Getter]","special"):s.set&&(l=t.stylize("[Setter]","special")),F(i,a)||(o="["+a+"]"),l||(t.seen.indexOf(s.value)<0?(l=v(r)?d(t,s.value,null):d(t,s.value,r-1)).indexOf("\n")>-1&&(l=n?l.split("\n").map((function(t){return" "+t})).join("\n").substr(2):"\n"+l.split("\n").map((function(t){return" "+t})).join("\n")):l=t.stylize("[Circular]","special")),V(o)){if(n&&a.match(/^\d+$/))return l;(o=JSON.stringify(""+a)).match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/)?(o=o.substr(1,o.length-2),o=t.stylize(o,"name")):(o=o.replace(/'/g,"\\'").replace(/\\"/g,'"').replace(/(^"|"$)/g,"'"),o=t.stylize(o,"string"))}return o+": "+l}function f(t){return Array.isArray(t)}function h(t){return"boolean"==typeof t}function v(t){return null===t}function y(t){return"number"==typeof t}function m(t){return"string"==typeof t}function V(t){return void 0===t}function g(t){return b(t)&&"[object RegExp]"===P(t)}function b(t){return"object"==typeof t&&null!==t}function w(t){return b(t)&&"[object Date]"===P(t)}function O(t){return b(t)&&("[object Error]"===P(t)||t instanceof Error)}function S(t){return"function"==typeof t}function P(t){return Object.prototype.toString.call(t)}function _(t){return t<10?"0"+t.toString(10):t.toString(10)}e.debuglog=function(r){if(V(n)&&(n=t.env.NODE_DEBUG||""),r=r.toUpperCase(),!o[r])if(new RegExp("\\b"+r+"\\b","i").test(n)){var i=t.pid;o[r]=function(){var t=e.format.apply(e,arguments);console.error("%s %d: %s",r,i,t)}}else o[r]=function(){};return o[r]},e.inspect=l,l.colors={bold:[1,22],italic:[3,23],underline:[4,24],inverse:[7,27],white:[37,39],grey:[90,39],black:[30,39],blue:[34,39],cyan:[36,39],green:[32,39],magenta:[35,39],red:[31,39],yellow:[33,39]},l.styles={special:"cyan",number:"yellow",boolean:"yellow",undefined:"grey",null:"bold",string:"green",date:"magenta",regexp:"red"},e.isArray=f,e.isBoolean=h,e.isNull=v,e.isNullOrUndefined=function(t){return null==t},e.isNumber=y,e.isString=m,e.isSymbol=function(t){return"symbol"==typeof t},e.isUndefined=V,e.isRegExp=g,e.isObject=b,e.isDate=w,e.isError=O,e.isFunction=S,e.isPrimitive=function(t){return null===t||"boolean"==typeof t||"number"==typeof t||"string"==typeof t||"symbol"==typeof t||void 0===t},e.isBuffer=r(21);var T=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];function E(){var t=new Date,e=[_(t.getHours()),_(t.getMinutes()),_(t.getSeconds())].join(":");return[t.getDate(),T[t.getMonth()],e].join(" ")}function F(t,e){return Object.prototype.hasOwnProperty.call(t,e)}e.log=function(){console.log("%s - %s",E(),e.format.apply(e,arguments))},e.inherits=r(22),e._extend=function(t,e){if(!e||!b(e))return t;for(var r=Object.keys(e),i=r.length;i--;)t[r[i]]=e[r[i]];return t};var x="undefined"!=typeof Symbol?Symbol("util.promisify.custom"):void 0;function C(t,e){if(!t){var r=new Error("Promise was rejected with a falsy value");r.reason=t,t=r}return e(t)}e.promisify=function(t){if("function"!=typeof t)throw new TypeError('The "original" argument must be of type Function');if(x&&t[x]){var e;if("function"!=typeof(e=t[x]))throw new TypeError('The "util.promisify.custom" argument must be of type Function');return Object.defineProperty(e,x,{value:e,enumerable:!1,writable:!1,configurable:!0}),e}function e(){for(var e,r,i=new Promise((function(t,i){e=t,r=i})),a=[],n=0;n1)for(var r=1;r0&&a[a.length-1])||6!==n[0]&&2!==n[0])){o=0;continue}if(3===n[0]&&(!a||n[1]>a[0]&&n[1]0&&a[a.length-1])||6!==n[0]&&2!==n[0])){o=0;continue}if(3===n[0]&&(!a||n[1]>a[0]&&n[1]2&&"[]"===n.slice(l-2)&&(s=!0,r[n=n.slice(0,l-2)]||(r[n]=[])),a=o[1]?g(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(-1!==(i=t.indexOf("?"))){var l=t.substr(i+1,t.length);t=t.substr(0,i),o=this.parseQueryString(l)}for("/"!==(t=decodeURI(t)).charAt(0)&&(t="/"+t),(e=t.length)>1&&"/"===t.charAt(e-1)&&(t=t.substr(0,e-1),n=!0),r=0;r2&&"[]"===o.slice(l-2)&&(s=!0,r[o=o.slice(0,l-2)]||(r[o]=[])),a=n[1]?V(n[1]):""),s?r[o].push(a):r[o]=a}return r},recognize:function(t){var e,r,i,a=[this.rootState],n={},o=!1;if(-1!==(i=t.indexOf("?"))){var l=t.substr(i+1,t.length);t=t.substr(0,i),n=this.parseQueryString(l)}for("/"!==(t=decodeURI(t)).charAt(0)&&(t="/"+t),(e=t.length)>1&&"/"===t.charAt(e-1)&&(t=t.substr(0,e-1),o=!0),r=0;r Date: Wed, 12 Oct 2022 14:28:36 +0000 Subject: [PATCH 099/125] Merged PR 312372: Inject credentials into .npmrc using YML package_sources config instead of npm authenticate task Previously I added npm authenticate task to the pipeline to inject credentials to the .npmrc. This task is not compliant to CDPX. I'm switching to YAML instead as mentioned in this [doc](https://onebranch.visualstudio.com/OneBranch/_wiki/wikis/OneBranch.wiki/4787/Consuming-Packages-in-a-CDPx-Pipeline?anchor=npm) --- .pipelines/pipeline.user.windows.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.pipelines/pipeline.user.windows.yml b/.pipelines/pipeline.user.windows.yml index 6e3f1a11..160aa5f6 100644 --- a/.pipelines/pipeline.user.windows.yml +++ b/.pipelines/pipeline.user.windows.yml @@ -39,6 +39,9 @@ static_analysis_options: package_sources: npm: + config_files: + - include: + - ".npmrc" feeds: registry: https://powerbi.pkgs.visualstudio.com/_packaging/SDK.Externals/npm/registry/ From 24b40278074a887175eea18595ca5b0d2f86bb58 Mon Sep 17 00:00:00 2001 From: Kotana Sai Date: Tue, 8 Nov 2022 07:26:31 +0000 Subject: [PATCH 100/125] Merged PR 321068: Upgrade karma test to use Chrome instead of PhantomJs for powerbi-javascript --- .pipelines/pipeline.user.windows.yml | 14 +------------- karma.conf.js | 3 +-- package.json | 2 -- 3 files changed, 2 insertions(+), 17 deletions(-) diff --git a/.pipelines/pipeline.user.windows.yml b/.pipelines/pipeline.user.windows.yml index 160aa5f6..39b1205e 100644 --- a/.pipelines/pipeline.user.windows.yml +++ b/.pipelines/pipeline.user.windows.yml @@ -110,16 +110,4 @@ package: artifacts: - to: 'Release' include: - - "**/Microsoft.PowerBI.JavaScript.*.nupkg" - -test: - commands: - - !!testcommand - name: 'Test powerbi-javascript' - arguments: 'test.ps1' - command: '.pipelines\cdpx_run_ps.cmd' - testresults: - - title: 'powerbi-javascript test results' - type: 'junit' - include: - - ".\\tmp\\testresults.xml" + - "**/Microsoft.PowerBI.JavaScript.*.nupkg" \ No newline at end of file diff --git a/karma.conf.js b/karma.conf.js index a0a152a6..c14bc720 100644 --- a/karma.conf.js +++ b/karma.conf.js @@ -1,6 +1,6 @@ var argv = require('yargs').argv; -var browserName = 'PhantomJS'; +var browserName = 'Chrome_headless'; if (argv.chrome) { browserName = 'Chrome_headless' } @@ -32,7 +32,6 @@ module.exports = function (config) { 'karma-chrome-launcher', 'karma-jasmine', 'karma-spec-reporter', - 'karma-phantomjs-launcher', 'karma-jasmine-html-reporter', 'karma-junit-reporter' ], diff --git a/package.json b/package.json index 7a80ed83..cf16bee5 100644 --- a/package.json +++ b/package.json @@ -68,10 +68,8 @@ "karma-jasmine": "4.0.1", "karma-jasmine-html-reporter": "1.7.0", "karma-junit-reporter": "^2.0.1", - "karma-phantomjs-launcher": "^1.0.4", "karma-spec-reporter": "0.0.32", "moment": "^2.14.1", - "phantomjs-prebuilt": "^2.1.16", "ts-loader": "^6.2.2", "typedoc": "^0.15.0", "typescript": "~4.6.0", From b409a2311c5f619b531d7dfcad9d86fe4b95f174 Mon Sep 17 00:00:00 2001 From: Shahak Yosef Date: Tue, 29 Nov 2022 09:06:00 +0000 Subject: [PATCH 101/125] Merged PR 328662: Remove myself from merlin Remove myself from merlin --- .config/merlinbot/nudge.yaml | 4 +--- .config/merlinbot/reviewerrecommender.yaml | 1 - 2 files changed, 1 insertion(+), 4 deletions(-) diff --git a/.config/merlinbot/nudge.yaml b/.config/merlinbot/nudge.yaml index 85d09de5..9287fbeb 100644 --- a/.config/merlinbot/nudge.yaml +++ b/.config/merlinbot/nudge.yaml @@ -5,11 +5,9 @@ maxReviewersToNudge: 3 # Do not nudge users that are included in the following list excludeUsers: - neryac@microsoft.com - - shyosef@microsoft.com # - user2@microsoft.com # Do not nudge PRs authored by users that are included in the following list -excludePrsFromAuthors: - - shyosef@microsoft.com +# excludePrsFromAuthors: # To enable or disable early nudge on pull requests enableEarlyNudge: false # Number of days to wait after a pull request is created, to analyze it for an early nudge diff --git a/.config/merlinbot/reviewerrecommender.yaml b/.config/merlinbot/reviewerrecommender.yaml index d9799975..5c5199d9 100644 --- a/.config/merlinbot/reviewerrecommender.yaml +++ b/.config/merlinbot/reviewerrecommender.yaml @@ -9,5 +9,4 @@ maxReviewers: 2 # - ^/private/Product/PowerBI/NuGetPackages/ # Do not make recommendations for reviewers that are included in the following list excludedReviewers: - - shyosef@microsoft.com - neryac@microsoft.com \ No newline at end of file From 24dcb44669f399efcce5a78879caf532bf8f1c6e Mon Sep 17 00:00:00 2001 From: Sheng Liu Date: Tue, 6 Dec 2022 19:48:36 +0000 Subject: [PATCH 102/125] Merged PR 327554: Export IQuickCreateConfiguration and model version upgrade Export IQuickCreateConfiguration Upgrade model version to 1.12.3 Related work items: #930573 --- dist/powerbi-client.d.ts | 4 +++- dist/powerbi.js | 4 +++- dist/powerbi.min.js | 6 +++--- package.json | 2 +- src/embed.ts | 2 ++ src/powerbi-client.ts | 4 ++++ 6 files changed, 16 insertions(+), 6 deletions(-) diff --git a/dist/powerbi-client.d.ts b/dist/powerbi-client.d.ts index 46ca5d77..d5d4d22a 100644 --- a/dist/powerbi-client.d.ts +++ b/dist/powerbi-client.d.ts @@ -150,6 +150,7 @@ declare module "embed" { export type IDashboardEmbedConfiguration = models.IDashboardEmbedConfiguration; export type ITileEmbedConfiguration = models.ITileEmbedConfiguration; export type IQnaEmbedConfiguration = models.IQnaEmbedConfiguration; + export type IQuickCreateConfiguration = models.IQuickCreateConfiguration; export type ILocaleSettings = models.ILocaleSettings; export type IQnaSettings = models.IQnaSettings; export type IEmbedSettings = models.ISettings; @@ -2878,11 +2879,12 @@ declare module "powerbi-client" { export { Report } from "report"; export { Dashboard } from "dashboard"; export { Tile } from "tile"; - export { IEmbedConfiguration, IQnaEmbedConfiguration, IVisualEmbedConfiguration, IReportEmbedConfiguration, IDashboardEmbedConfiguration, ITileEmbedConfiguration, Embed, ILocaleSettings, IEmbedSettings, IQnaSettings, } from "embed"; + export { IEmbedConfiguration, IQnaEmbedConfiguration, IVisualEmbedConfiguration, IReportEmbedConfiguration, IDashboardEmbedConfiguration, ITileEmbedConfiguration, IQuickCreateConfiguration, Embed, ILocaleSettings, IEmbedSettings, IQnaSettings, } from "embed"; export { Page } from "page"; export { Qna } from "qna"; export { Visual } from "visual"; export { VisualDescriptor } from "visualDescriptor"; + export { QuickCreate } from "quickCreate"; export { BasicFilterBuilder, AdvancedFilterBuilder, TopNFilterBuilder, RelativeDateFilterBuilder, RelativeTimeFilterBuilder } from "FilterBuilders/index"; global { interface Window { diff --git a/dist/powerbi.js b/dist/powerbi.js index d1db70b6..1e5f9b28 100644 --- a/dist/powerbi.js +++ b/dist/powerbi.js @@ -10993,7 +10993,7 @@ exports.Page = Page; // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. Object.defineProperty(exports, "__esModule", { value: true }); -exports.RelativeTimeFilterBuilder = exports.RelativeDateFilterBuilder = exports.TopNFilterBuilder = exports.AdvancedFilterBuilder = exports.BasicFilterBuilder = exports.VisualDescriptor = exports.Visual = exports.Qna = exports.Page = exports.Embed = exports.Tile = exports.Dashboard = exports.Report = exports.models = exports.factories = exports.service = void 0; +exports.RelativeTimeFilterBuilder = exports.RelativeDateFilterBuilder = exports.TopNFilterBuilder = exports.AdvancedFilterBuilder = exports.BasicFilterBuilder = exports.QuickCreate = exports.VisualDescriptor = exports.Visual = exports.Qna = exports.Page = exports.Embed = exports.Tile = exports.Dashboard = exports.Report = exports.models = exports.factories = exports.service = void 0; /** * @hidden */ @@ -11019,6 +11019,8 @@ var visual_1 = __webpack_require__(/*! ./visual */ "./src/visual.ts"); Object.defineProperty(exports, "Visual", { enumerable: true, get: function () { return visual_1.Visual; } }); var visualDescriptor_1 = __webpack_require__(/*! ./visualDescriptor */ "./src/visualDescriptor.ts"); Object.defineProperty(exports, "VisualDescriptor", { enumerable: true, get: function () { return visualDescriptor_1.VisualDescriptor; } }); +var quickCreate_1 = __webpack_require__(/*! ./quickCreate */ "./src/quickCreate.ts"); +Object.defineProperty(exports, "QuickCreate", { enumerable: true, get: function () { return quickCreate_1.QuickCreate; } }); var FilterBuilders_1 = __webpack_require__(/*! ./FilterBuilders */ "./src/FilterBuilders/index.ts"); Object.defineProperty(exports, "BasicFilterBuilder", { enumerable: true, get: function () { return FilterBuilders_1.BasicFilterBuilder; } }); Object.defineProperty(exports, "AdvancedFilterBuilder", { enumerable: true, get: function () { return FilterBuilders_1.AdvancedFilterBuilder; } }); diff --git a/dist/powerbi.min.js b/dist/powerbi.min.js index 3f391bc2..6fa1e471 100644 --- a/dist/powerbi.min.js +++ b/dist/powerbi.min.js @@ -1,18 +1,18 @@ // powerbi-client v2.22.0 // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. -!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){var e={};function r(i){if(e[i])return e[i].exports;var a=e[i]={i:i,l:!1,exports:{}};return t[i].call(a.exports,a,a.exports,r),a.l=!0,a.exports}return r.m=t,r.c=e,r.d=function(t,e,i){r.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:i})},r.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},r.t=function(t,e){if(1&e&&(t=r(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var i=Object.create(null);if(r.r(i),Object.defineProperty(i,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var a in t)r.d(i,a,function(e){return t[e]}.bind(null,a));return i},r.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return r.d(e,"a",e),e},r.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},r.p="",r(r.s=14)}([function(t,e,r){var i;i=()=>{return t=[function(t,e,r){var i,a=this&&this.__extends||(i=function(t,e){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])})(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.SortDirection=e.LegendPosition=e.TextAlignment=e.CommonErrorCodes=e.BookmarksPlayMode=e.ExportDataType=e.QnaMode=e.PageNavigationPosition=e.DataCacheMode=e.CredentialType=e.isPercentOfGrandTotal=e.isColumnAggr=e.isHierarchyLevelAggr=e.isHierarchyLevel=e.isColumn=e.isMeasure=e.getFilterType=e.isBasicFilterWithKeys=e.isFilterKeyColumnsTarget=e.HierarchyFilter=e.AdvancedFilter=e.TupleFilter=e.IdentityFilter=e.BasicFilterWithKeys=e.BasicFilter=e.RelativeTimeFilter=e.RelativeDateFilter=e.TopNFilter=e.IncludeExcludeFilter=e.NotSupportedFilter=e.Filter=e.RelativeDateOperators=e.RelativeDateFilterTimeUnit=e.FilterType=e.FiltersLevel=e.FiltersOperations=e.MenuLocation=e.ContrastMode=e.TokenType=e.ViewMode=e.Permissions=e.SectionVisibility=e.ReportAlignment=e.HyperlinkClickBehavior=e.LayoutType=e.VisualContainerDisplayMode=e.BackgroundType=e.DisplayOption=e.PageSizeType=e.TraceType=void 0,e.validateCommandsSettings=e.validateVisualSettings=e.validateVisualHeader=e.validateExportDataRequest=e.validateQnaInterpretInputData=e.validateLoadQnaConfiguration=e.validateSaveAsParameters=e.validateUpdateFiltersRequest=e.validateFilter=e.validatePage=e.validateTileLoad=e.validateDashboardLoad=e.validateQuickCreate=e.validateCreateReport=e.validatePaginatedReportLoad=e.validateReportLoad=e.validateMenuGroupExtension=e.validateExtension=e.validateCustomPageSize=e.validateVisualizationsPane=e.validateSyncSlicersPane=e.validateSelectionPane=e.validatePageNavigationPane=e.validateFieldsPane=e.validateFiltersPane=e.validateBookmarksPane=e.validatePanes=e.validateSettings=e.validateCaptureBookmarkRequest=e.validateApplyBookmarkStateRequest=e.validateApplyBookmarkByNameRequest=e.validateAddBookmarkRequest=e.validatePlayBookmarkRequest=e.validateSlicerState=e.validateSlicer=e.validateVisualSelector=e.isIExtensionArray=e.isIExtensions=e.isGroupedMenuExtension=e.isFlatMenuExtension=e.isReportFiltersArray=e.isOnLoadFilters=e.VisualDataRoleKindPreference=e.VisualDataRoleKind=e.CommandDisplayOption=e.SlicerTargetSelector=e.VisualTypeSelector=e.VisualSelector=e.PageSelector=e.Selector=void 0,e.validateZoomLevel=e.validateCustomTheme=void 0;var n,o=r(1);!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"}(e.TraceType||(e.TraceType={})),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",t[t.Mobile=5]="Mobile"}(e.PageSizeType||(e.PageSizeType={})),function(t){t[t.FitToPage=0]="FitToPage",t[t.FitToWidth=1]="FitToWidth",t[t.ActualSize=2]="ActualSize"}(e.DisplayOption||(e.DisplayOption={})),function(t){t[t.Default=0]="Default",t[t.Transparent=1]="Transparent"}(e.BackgroundType||(e.BackgroundType={})),function(t){t[t.Visible=0]="Visible",t[t.Hidden=1]="Hidden"}(e.VisualContainerDisplayMode||(e.VisualContainerDisplayMode={})),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={})),function(t){t[t.Navigate=0]="Navigate",t[t.NavigateAndRaiseEvent=1]="NavigateAndRaiseEvent",t[t.RaiseEvent=2]="RaiseEvent"}(e.HyperlinkClickBehavior||(e.HyperlinkClickBehavior={})),function(t){t[t.Left=0]="Left",t[t.Center=1]="Center",t[t.Right=2]="Right",t[t.None=3]="None"}(e.ReportAlignment||(e.ReportAlignment={})),function(t){t[t.AlwaysVisible=0]="AlwaysVisible",t[t.HiddenInViewMode=1]="HiddenInViewMode"}(e.SectionVisibility||(e.SectionVisibility={})),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"}(e.Permissions||(e.Permissions={})),function(t){t[t.View=0]="View",t[t.Edit=1]="Edit"}(e.ViewMode||(e.ViewMode={})),function(t){t[t.Aad=0]="Aad",t[t.Embed=1]="Embed"}(e.TokenType||(e.TokenType={})),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"}(e.ContrastMode||(e.ContrastMode={})),function(t){t[t.Bottom=0]="Bottom",t[t.Top=1]="Top"}(e.MenuLocation||(e.MenuLocation={})),function(t){t[t.RemoveAll=0]="RemoveAll",t[t.ReplaceAll=1]="ReplaceAll",t[t.Add=2]="Add",t[t.Replace=3]="Replace"}(e.FiltersOperations||(e.FiltersOperations={})),function(t){t[t.Report=0]="Report",t[t.Page=1]="Page",t[t.Visual=2]="Visual"}(e.FiltersLevel||(e.FiltersLevel={})),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",t[t.Identity=8]="Identity",t[t.Hierarchy=9]="Hierarchy"}(n=e.FilterType||(e.FilterType={})),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"}(e.RelativeDateFilterTimeUnit||(e.RelativeDateFilterTimeUnit={})),function(t){t[t.InLast=0]="InLast",t[t.InThis=1]="InThis",t[t.InNext=2]="InNext"}(e.RelativeDateOperators||(e.RelativeDateOperators={}));var l=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=l;var s=function(t){function e(r,i,a){var o=t.call(this,r,n.Unknown)||this;return o.message=i,o.notSupportedTypeName=a,o.schemaUrl=e.schemaUrl,o}return a(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}(l);e.NotSupportedFilter=s;var u=function(t){function e(r,i,a){var o=t.call(this,r,n.IncludeExclude)||this;return o.values=a,o.isExclude=i,o.schemaUrl=e.schemaUrl,o}return a(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}(l);e.IncludeExcludeFilter=u;var d=function(t){function e(r,i,a,o){var l=t.call(this,r,n.TopN)||this;return l.operator=i,l.itemCount=a,l.schemaUrl=e.schemaUrl,l.orderBy=o,l}return a(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}(l);e.TopNFilter=d;var c=function(t){function e(r,i,a,o,l){var s=t.call(this,r,n.RelativeDate)||this;return s.operator=i,s.timeUnitsCount=a,s.timeUnitType=o,s.includeToday=l,s.schemaUrl=e.schemaUrl,s}return a(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}(l);e.RelativeDateFilter=c;var p=function(t){function e(r,i,a,o){var l=t.call(this,r,n.RelativeTime)||this;return l.operator=i,l.timeUnitsCount=a,l.timeUnitType=o,l.schemaUrl=e.schemaUrl,l}return a(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}(l);e.RelativeTimeFilter=p;var f=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 ".concat(o," keys"));if(0===o&&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,s=n.keyValues;l2)throw new Error("AdvancedFilters may not have more than two conditions. You passed: ".concat(a.length));if(1===l.length&&"And"!==i)throw new Error('Logical Operator must be "And" when there is only one condition provided');return s.conditions=l,s}return a(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}(l);e.AdvancedFilter=m;var V=function(t){function e(r,i){var a=t.call(this,r,n.Hierarchy)||this;return a.schemaUrl=e.schemaUrl,a.hierarchyData=i,a}return a(e,t),e.prototype.toJSON=function(){var e=t.prototype.toJSON.call(this);return e.hierarchyData=this.hierarchyData,e.target=this.target,e},e.schemaUrl="http://powerbi.com/product/schema#hierarchy",e}(l);function g(t){if(t.filterType)return t.filterType;var e=t,r=t;return"string"==typeof e.operator&&Array.isArray(e.values)?n.Basic:"string"==typeof r.logicalOperator&&Array.isArray(r.conditions)?n.Advanced:n.Unknown}function b(t){return!(!t.table||!t.column||t.aggregationFunction)}e.HierarchyFilter=V,e.isFilterKeyColumnsTarget=function(t){return b(t)&&!!t.keys},e.isBasicFilterWithKeys=function(t){return g(t)===n.Basic&&!!t.keyValues},e.getFilterType=g,e.isMeasure=function(t){return void 0!==t.table&&void 0!==t.measure},e.isColumn=b,e.isHierarchyLevel=function(t){return!(!(t.table&&t.hierarchy&&t.hierarchyLevel)||t.aggregationFunction)},e.isHierarchyLevelAggr=function(t){return!!(t.table&&t.hierarchy&&t.hierarchyLevel&&t.aggregationFunction)},e.isColumnAggr=function(t){return!!(t.table&&t.column&&t.aggregationFunction)},e.isPercentOfGrandTotal=function(t){return!!t.percentOfGrandTotal},function(t){t[t.NoConnection=0]="NoConnection",t[t.OnBehalfOf=1]="OnBehalfOf",t[t.Anonymous=2]="Anonymous"}(e.CredentialType||(e.CredentialType={})),function(t){t[t.Import=0]="Import",t[t.DirectQuery=1]="DirectQuery"}(e.DataCacheMode||(e.DataCacheMode={})),function(t){t[t.Bottom=0]="Bottom",t[t.Left=1]="Left"}(e.PageNavigationPosition||(e.PageNavigationPosition={})),function(t){t[t.Interactive=0]="Interactive",t[t.ResultOnly=1]="ResultOnly"}(e.QnaMode||(e.QnaMode={})),function(t){t[t.Summarized=0]="Summarized",t[t.Underlying=1]="Underlying"}(e.ExportDataType||(e.ExportDataType={})),function(t){t[t.Off=0]="Off",t[t.Presentation=1]="Presentation"}(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"},function(t){t[t.Ascending=1]="Ascending",t[t.Descending=2]="Descending"}(e.SortDirection||(e.SortDirection={}));var w=function(){function t(t){this.$schema=t}return t.prototype.toJSON=function(){return{$schema:this.$schema}},t}();e.Selector=w;var O=function(t){function e(r){var i=t.call(this,e.schemaUrl)||this;return i.pageName=r,i}return a(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}(w);e.PageSelector=O;var S=function(t){function e(r){var i=t.call(this,e.schemaUrl)||this;return i.visualName=r,i}return a(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}(w);e.VisualSelector=S;var P=function(t){function e(e){var r=t.call(this,S.schemaUrl)||this;return r.visualType=e,r}return a(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}(w);e.VisualTypeSelector=P;var _=function(t){function e(e){var r=t.call(this,S.schemaUrl)||this;return r.target=e,r}return a(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}(w);function T(t){return Array.isArray(t)}function E(t){return t&&!!t.groupName}function F(t){return Array.isArray(t)}function x(t){var e=t.message;return e||(e="".concat(t.path," is invalid. Not meeting ").concat(t.keyword," constraint")),{message:e}}e.SlicerTargetSelector=_,function(t){t[t.Enabled=0]="Enabled",t[t.Disabled=1]="Disabled",t[t.Hidden=2]="Hidden"}(e.CommandDisplayOption||(e.CommandDisplayOption={})),function(t){t[t.Grouping=0]="Grouping",t[t.Measure=1]="Measure",t[t.GroupingOrMeasure=2]="GroupingOrMeasure"}(e.VisualDataRoleKind||(e.VisualDataRoleKind={})),function(t){t[t.Measure=0]="Measure",t[t.Grouping=1]="Grouping"}(e.VisualDataRoleKindPreference||(e.VisualDataRoleKindPreference={})),e.isOnLoadFilters=function(t){return t&&!T(t)},e.isReportFiltersArray=T,e.isFlatMenuExtension=function(t){return t&&!E(t)},e.isGroupedMenuExtension=E,e.isIExtensions=function(t){return t&&!F(t)},e.isIExtensionArray=F,e.validateVisualSelector=function(t){var e=o.Validators.visualSelectorValidator.validate(t);return e?e.map(x):void 0},e.validateSlicer=function(t){var e=o.Validators.slicerValidator.validate(t);return e?e.map(x):void 0},e.validateSlicerState=function(t){var e=o.Validators.slicerStateValidator.validate(t);return e?e.map(x):void 0},e.validatePlayBookmarkRequest=function(t){var e=o.Validators.playBookmarkRequestValidator.validate(t);return e?e.map(x):void 0},e.validateAddBookmarkRequest=function(t){var e=o.Validators.addBookmarkRequestValidator.validate(t);return e?e.map(x):void 0},e.validateApplyBookmarkByNameRequest=function(t){var e=o.Validators.applyBookmarkByNameRequestValidator.validate(t);return e?e.map(x):void 0},e.validateApplyBookmarkStateRequest=function(t){var e=o.Validators.applyBookmarkStateRequestValidator.validate(t);return e?e.map(x):void 0},e.validateCaptureBookmarkRequest=function(t){var e=o.Validators.captureBookmarkRequestValidator.validate(t);return e?e.map(x):void 0},e.validateSettings=function(t){var e=o.Validators.settingsValidator.validate(t);return e?e.map(x):void 0},e.validatePanes=function(t){var e=o.Validators.reportPanesValidator.validate(t);return e?e.map(x):void 0},e.validateBookmarksPane=function(t){var e=o.Validators.bookmarksPaneValidator.validate(t);return e?e.map(x):void 0},e.validateFiltersPane=function(t){var e=o.Validators.filtersPaneValidator.validate(t);return e?e.map(x):void 0},e.validateFieldsPane=function(t){var e=o.Validators.fieldsPaneValidator.validate(t);return e?e.map(x):void 0},e.validatePageNavigationPane=function(t){var e=o.Validators.pageNavigationPaneValidator.validate(t);return e?e.map(x):void 0},e.validateSelectionPane=function(t){var e=o.Validators.selectionPaneValidator.validate(t);return e?e.map(x):void 0},e.validateSyncSlicersPane=function(t){var e=o.Validators.syncSlicersPaneValidator.validate(t);return e?e.map(x):void 0},e.validateVisualizationsPane=function(t){var e=o.Validators.visualizationsPaneValidator.validate(t);return e?e.map(x):void 0},e.validateCustomPageSize=function(t){var e=o.Validators.customPageSizeValidator.validate(t);return e?e.map(x):void 0},e.validateExtension=function(t){var e=o.Validators.extensionValidator.validate(t);return e?e.map(x):void 0},e.validateMenuGroupExtension=function(t){var e=o.Validators.menuGroupExtensionValidator.validate(t);return e?e.map(x):void 0},e.validateReportLoad=function(t){var e=o.Validators.reportLoadValidator.validate(t);return e?e.map(x):void 0},e.validatePaginatedReportLoad=function(t){var e=o.Validators.paginatedReportLoadValidator.validate(t);return e?e.map(x):void 0},e.validateCreateReport=function(t){var e=o.Validators.reportCreateValidator.validate(t);return e?e.map(x):void 0},e.validateQuickCreate=function(t){var e=o.Validators.quickCreateValidator.validate(t);return e?e.map(x):void 0},e.validateDashboardLoad=function(t){var e=o.Validators.dashboardLoadValidator.validate(t);return e?e.map(x):void 0},e.validateTileLoad=function(t){var e=o.Validators.tileLoadValidator.validate(t);return e?e.map(x):void 0},e.validatePage=function(t){var e=o.Validators.pageValidator.validate(t);return e?e.map(x):void 0},e.validateFilter=function(t){var e=o.Validators.filterValidator.validate(t);return e?e.map(x):void 0},e.validateUpdateFiltersRequest=function(t){var e=o.Validators.updateFiltersRequestValidator.validate(t);return e?e.map(x):void 0},e.validateSaveAsParameters=function(t){var e=o.Validators.saveAsParametersValidator.validate(t);return e?e.map(x):void 0},e.validateLoadQnaConfiguration=function(t){var e=o.Validators.loadQnaValidator.validate(t);return e?e.map(x):void 0},e.validateQnaInterpretInputData=function(t){var e=o.Validators.qnaInterpretInputDataValidator.validate(t);return e?e.map(x):void 0},e.validateExportDataRequest=function(t){var e=o.Validators.exportDataRequestValidator.validate(t);return e?e.map(x):void 0},e.validateVisualHeader=function(t){var e=o.Validators.visualHeaderValidator.validate(t);return e?e.map(x):void 0},e.validateVisualSettings=function(t){var e=o.Validators.visualSettingsValidator.validate(t);return e?e.map(x):void 0},e.validateCommandsSettings=function(t){var e=o.Validators.commandsSettingsValidator.validate(t);return e?e.map(x):void 0},e.validateCustomTheme=function(t){var e=o.Validators.customThemeValidator.validate(t);return e?e.map(x):void 0},e.validateZoomLevel=function(t){var e=o.Validators.zoomLevelValidator.validate(t);return e?e.map(x):void 0}},(t,e,r)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.Validators=void 0;var i=r(2),a=r(5),n=r(6),o=r(7),l=r(8),s=r(9),u=r(10),d=r(11),c=r(12),p=r(13),f=r(14),h=r(15),v=r(16),y=r(17),m=r(18),V=r(19),g=r(20),b=r(21),w=r(22),O=r(23),S=r(24),P=r(25),_=r(26),T=r(27),E=r(28),F=r(29),x=r(4),C=r(30),k=r(31),R=r(32);e.Validators={addBookmarkRequestValidator:new a.AddBookmarkRequestValidator,advancedFilterTypeValidator:new x.EnumValidator([0]),advancedFilterValidator:new c.AdvancedFilterValidator,anyArrayValidator:new x.ArrayValidator([new _.AnyOfValidator([new x.StringValidator,new x.NumberValidator,new x.BooleanValidator])]),anyFilterValidator:new _.AnyOfValidator([new c.BasicFilterValidator,new c.AdvancedFilterValidator,new c.IncludeExcludeFilterValidator,new c.NotSupportedFilterValidator,new c.RelativeDateFilterValidator,new c.TopNFilterValidator,new c.RelativeTimeFilterValidator,new c.HierarchyFilterValidator]),anyValueValidator:new _.AnyOfValidator([new x.StringValidator,new x.NumberValidator,new x.BooleanValidator]),actionBarValidator:new i.ActionBarValidator,statusBarValidator:new i.StatusBarValidator,applyBookmarkByNameRequestValidator:new a.ApplyBookmarkByNameRequestValidator,applyBookmarkStateRequestValidator:new a.ApplyBookmarkStateRequestValidator,applyBookmarkValidator:new _.AnyOfValidator([new a.ApplyBookmarkByNameRequestValidator,new a.ApplyBookmarkStateRequestValidator]),backgroundValidator:new x.EnumValidator([0,1]),basicFilterTypeValidator:new x.EnumValidator([1]),basicFilterValidator:new c.BasicFilterValidator,booleanArrayValidator:new x.BooleanArrayValidator,booleanValidator:new x.BooleanValidator,bookmarksPaneValidator:new h.BookmarksPaneValidator,captureBookmarkOptionsValidator:new a.CaptureBookmarkOptionsValidator,captureBookmarkRequestValidator:new a.CaptureBookmarkRequestValidator,columnSchemaArrayValidator:new x.ArrayValidator([new k.ColumnSchemaValidator]),commandDisplayOptionValidator:new x.EnumValidator([0,1,2]),commandExtensionSelectorValidator:new _.AnyOfValidator([new b.VisualSelectorValidator,new b.VisualTypeSelectorValidator]),commandExtensionArrayValidator:new x.ArrayValidator([new d.CommandExtensionValidator]),commandExtensionValidator:new d.CommandExtensionValidator,commandsSettingsArrayValidator:new x.ArrayValidator([new n.CommandsSettingsValidator]),commandsSettingsValidator:new n.CommandsSettingsValidator,conditionItemValidator:new c.ConditionItemValidator,contrastModeValidator:new x.EnumValidator([0,1,2,3,4]),credentialDetailsValidator:new F.MapValidator([new x.StringValidator],[new x.StringValidator]),credentialsValidator:new k.CredentialsValidator,credentialTypeValidator:new x.EnumValidator([0,1,2]),customLayoutDisplayOptionValidator:new x.EnumValidator([0,1,2]),customLayoutValidator:new p.CustomLayoutValidator,customPageSizeValidator:new f.CustomPageSizeValidator,customThemeValidator:new o.CustomThemeValidator,dashboardLoadValidator:new l.DashboardLoadValidator,dataCacheModeValidator:new x.EnumValidator([0,1]),datasetBindingValidator:new s.DatasetBindingValidator,datasetCreateConfigValidator:new k.DatasetCreateConfigValidator,datasourceConnectionConfigValidator:new k.DatasourceConnectionConfigValidator,displayStateModeValidator:new x.EnumValidator([0,1]),displayStateValidator:new p.DisplayStateValidator,exportDataRequestValidator:new u.ExportDataRequestValidator,extensionArrayValidator:new x.ArrayValidator([new d.ExtensionValidator]),extensionsValidator:new _.AnyOfValidator([new x.ArrayValidator([new d.ExtensionValidator]),new d.ExtensionsValidator]),extensionPointsValidator:new d.ExtensionPointsValidator,extensionValidator:new d.ExtensionValidator,fieldForbiddenValidator:new T.FieldForbiddenValidator,fieldRequiredValidator:new E.FieldRequiredValidator,fieldsPaneValidator:new h.FieldsPaneValidator,filterColumnTargetValidator:new c.FilterColumnTargetValidator,filterDisplaySettingsValidator:new c.FilterDisplaySettingsValidator,filterConditionsValidator:new x.ArrayValidator([new c.ConditionItemValidator]),filterHierarchyTargetValidator:new c.FilterHierarchyTargetValidator,filterMeasureTargetValidator:new c.FilterMeasureTargetValidator,filterTargetValidator:new _.AnyOfValidator([new c.FilterColumnTargetValidator,new c.FilterHierarchyTargetValidator,new c.FilterMeasureTargetValidator,new x.ArrayValidator([new _.AnyOfValidator([new c.FilterColumnTargetValidator,new c.FilterHierarchyTargetValidator,new c.FilterMeasureTargetValidator,new c.FilterKeyColumnsTargetValidator,new c.FilterKeyHierarchyTargetValidator])])]),filterValidator:new c.FilterValidator,filterTypeValidator:new x.EnumValidator([0,1,2,3,4,5,6,7,9]),filtersArrayValidator:new x.ArrayValidator([new c.FilterValidator]),filtersOperationsUpdateValidator:new x.EnumValidator([1,2,3]),filtersOperationsRemoveAllValidator:new x.EnumValidator([0]),filtersPaneValidator:new h.FiltersPaneValidator,hyperlinkClickBehaviorValidator:new x.EnumValidator([0,1,2]),includeExcludeFilterValidator:new c.IncludeExcludeFilterValidator,includeExludeFilterTypeValidator:new x.EnumValidator([3]),hierarchyFilterTypeValidator:new x.EnumValidator([9]),hierarchyFilterValuesValidator:new x.ArrayValidator([new c.HierarchyFilterNodeValidator]),layoutTypeValidator:new x.EnumValidator([0,1,2,3]),loadQnaValidator:new v.LoadQnaValidator,menuExtensionValidator:new _.AnyOfValidator([new d.FlatMenuExtensionValidator,new d.GroupedMenuExtensionValidator]),menuGroupExtensionArrayValidator:new x.ArrayValidator([new d.MenuGroupExtensionValidator]),menuGroupExtensionValidator:new d.MenuGroupExtensionValidator,menuLocationValidator:new x.EnumValidator([0,1]),notSupportedFilterTypeValidator:new x.EnumValidator([2]),notSupportedFilterValidator:new c.NotSupportedFilterValidator,numberArrayValidator:new x.NumberArrayValidator,numberValidator:new x.NumberValidator,onLoadFiltersBaseValidator:new _.AnyOfValidator([new c.OnLoadFiltersBaseValidator,new c.OnLoadFiltersBaseRemoveOperationValidator]),pageLayoutValidator:new F.MapValidator([new x.StringValidator],[new p.VisualLayoutValidator]),pageNavigationPaneValidator:new h.PageNavigationPaneValidator,pageNavigationPositionValidator:new x.EnumValidator([0,1]),pageSizeTypeValidator:new x.EnumValidator([0,1,2,3,4,5]),pageSizeValidator:new f.PageSizeValidator,pageValidator:new f.PageValidator,pageViewFieldValidator:new f.PageViewFieldValidator,pagesLayoutValidator:new F.MapValidator([new x.StringValidator],[new p.PageLayoutValidator]),paginatedReportCommandsValidator:new n.PaginatedReportCommandsValidator,paginatedReportLoadValidator:new V.PaginatedReportLoadValidator,paginatedReportsettingsValidator:new w.PaginatedReportSettingsValidator,parameterValuesArrayValidator:new x.ArrayValidator([new V.ReportParameterFieldsValidator]),parametersPanelValidator:new C.ParametersPanelValidator,permissionsValidator:new x.EnumValidator([0,1,2,4,7]),playBookmarkRequestValidator:new a.PlayBookmarkRequestValidator,qnaInterpretInputDataValidator:new v.QnaInterpretInputDataValidator,qnaPanesValidator:new h.QnaPanesValidator,qnaSettingValidator:new v.QnaSettingsValidator,quickCreateValidator:new R.QuickCreateValidator,rawDataValidator:new x.ArrayValidator([new x.ArrayValidator([new x.StringValidator])]),relativeDateFilterOperatorValidator:new x.EnumValidator([0,1,2]),relativeDateFilterTimeUnitTypeValidator:new x.EnumValidator([0,1,2,3,4,5,6]),relativeDateFilterTypeValidator:new x.EnumValidator([4]),relativeDateFilterValidator:new c.RelativeDateFilterValidator,relativeDateTimeFilterTypeValidator:new x.EnumValidator([4,7]),relativeDateTimeFilterUnitTypeValidator:new x.EnumValidator([0,1,2,3,4,5,6,7,8]),relativeTimeFilterTimeUnitTypeValidator:new x.EnumValidator([7,8]),relativeTimeFilterTypeValidator:new x.EnumValidator([7]),relativeTimeFilterValidator:new c.RelativeTimeFilterValidator,reportBarsValidator:new i.ReportBarsValidator,reportCreateValidator:new y.ReportCreateValidator,reportLoadFiltersValidator:new _.AnyOfValidator([new x.ArrayValidator([new c.FilterValidator]),new c.OnLoadFiltersValidator]),reportLoadValidator:new m.ReportLoadValidator,reportPanesValidator:new h.ReportPanesValidator,saveAsParametersValidator:new g.SaveAsParametersValidator,selectionPaneValidator:new h.SelectionPaneValidator,settingsValidator:new w.SettingsValidator,singleCommandSettingsValidator:new n.SingleCommandSettingsValidator,slicerSelectorValidator:new _.AnyOfValidator([new b.VisualSelectorValidator,new b.SlicerTargetSelectorValidator]),slicerStateValidator:new O.SlicerStateValidator,slicerTargetValidator:new _.AnyOfValidator([new c.FilterColumnTargetValidator,new c.FilterHierarchyTargetValidator,new c.FilterMeasureTargetValidator,new c.FilterKeyColumnsTargetValidator,new c.FilterKeyHierarchyTargetValidator]),slicerValidator:new O.SlicerValidator,stringArrayValidator:new x.StringArrayValidator,stringValidator:new x.StringValidator,syncSlicersPaneValidator:new h.SyncSlicersPaneValidator,tableDataArrayValidator:new x.ArrayValidator([new k.TableDataValidator]),tableSchemaListValidator:new x.ArrayValidator([new k.TableSchemaValidator]),tileLoadValidator:new S.TileLoadValidator,tokenTypeValidator:new x.EnumValidator([0,1]),topNFilterTypeValidator:new x.EnumValidator([5]),topNFilterValidator:new c.TopNFilterValidator,updateFiltersRequestValidator:new _.AnyOfValidator([new c.UpdateFiltersRequestValidator,new c.RemoveFiltersRequestValidator]),viewModeValidator:new x.EnumValidator([0,1]),visualCommandSelectorValidator:new _.AnyOfValidator([new b.VisualSelectorValidator,new b.VisualTypeSelectorValidator]),visualHeaderSelectorValidator:new _.AnyOfValidator([new b.VisualSelectorValidator,new b.VisualTypeSelectorValidator]),visualHeaderSettingsValidator:new P.VisualHeaderSettingsValidator,visualHeaderValidator:new P.VisualHeaderValidator,visualHeadersValidator:new x.ArrayValidator([new P.VisualHeaderValidator]),visualizationsPaneValidator:new h.VisualizationsPaneValidator,visualLayoutValidator:new p.VisualLayoutValidator,visualSelectorValidator:new b.VisualSelectorValidator,visualSettingsValidator:new P.VisualSettingsValidator,visualTypeSelectorValidator:new b.VisualTypeSelectorValidator,zoomLevelValidator:new x.RangeValidator(.25,4)}},function(t,e,r){var i,a=this&&this.__extends||(i=function(t,e){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])})(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.StatusBarValidator=e.ActionBarValidator=e.ReportBarsValidator=void 0;var n=r(3),o=r(4),l=r(1),s=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return a(e,t),e.prototype.validate=function(e,r,i){if(null==e)return null;var a=t.prototype.validate.call(this,e,r,i);if(a)return a;var o=[{field:"actionBar",validators:[l.Validators.actionBarValidator]},{field:"statusBar",validators:[l.Validators.statusBarValidator]}];return new n.MultipleFieldsValidator(o).validate(e,r,i)},e}(o.ObjectValidator);e.ReportBarsValidator=s;var u=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return a(e,t),e.prototype.validate=function(e,r,i){if(null==e)return null;var a=t.prototype.validate.call(this,e,r,i);if(a)return a;var o=[{field:"visible",validators:[l.Validators.booleanValidator]}];return new n.MultipleFieldsValidator(o).validate(e,r,i)},e}(o.ObjectValidator);e.ActionBarValidator=u;var d=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return a(e,t),e.prototype.validate=function(e,r,i){if(null==e)return null;var a=t.prototype.validate.call(this,e,r,i);if(a)return a;var o=[{field:"visible",validators:[l.Validators.booleanValidator]}];return new n.MultipleFieldsValidator(o).validate(e,r,i)},e}(o.ObjectValidator);e.StatusBarValidator=d},(t,e)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.MultipleFieldsValidator=void 0;var r=function(){function t(t){this.fieldValidatorsPairs=t}return t.prototype.validate=function(t,e,r){if(!this.fieldValidatorsPairs)return null;for(var i=e?e+"."+r:r,a=0,n=this.fieldValidatorsPairs;athis.maxValue||e{Object.defineProperty(e,"__esModule",{value:!0}),e.AnyOfValidator=void 0;var r=function(){function t(t){this.validators=t}return t.prototype.validate=function(t,e,r){if(null==t)return null;for(var i=!1,a=0,n=this.validators;a{Object.defineProperty(e,"__esModule",{value:!0}),e.FieldForbiddenValidator=void 0;var r=function(){function t(){}return t.prototype.validate=function(t,e,r){return void 0!==t?[{message:r+" is forbidden",path:(e?e+".":"")+r,keyword:"forbidden"}]:null},t}();e.FieldForbiddenValidator=r},(t,e)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.FieldRequiredValidator=void 0;var r=function(){function t(){}return t.prototype.validate=function(t,e,r){return null==t?[{message:r+" is required",path:(e?e+".":"")+r,keyword:"required"}]:null},t}();e.FieldRequiredValidator=r},function(t,e,r){var i,a=this&&this.__extends||(i=function(t,e){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])})(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.MapValidator=void 0;var n=function(t){function e(e,r){var i=t.call(this)||this;return i.keyValidators=e,i.valueValidators=r,i}return a(e,t),e.prototype.validate=function(e,r,i){if(null==e)return null;var a=t.prototype.validate.call(this,e,r,i);if(a)return a;for(var n in e)if(e.hasOwnProperty(n)){for(var o=(r?r+".":"")+i+"."+n,l=0,s=this.keyValidators;l0&&a[a.length-1])||6!==n[0]&&2!==n[0])){o=0;continue}if(3===n[0]&&(!a||n[1]>a[0]&&n[1]0&&a[a.length-1])||6!==n[0]&&2!==n[0])){o=0;continue}if(3===n[0]&&(!a||n[1]>a[0]&&n[1]0?"&":"?";return t+=i+e+"="+r},e.isSavedInternal=function(t,e,a){return r(this,void 0,void 0,(function(){return i(this,(function(r){switch(r.label){case 0:return r.trys.push([0,2,,3]),[4,t.get("/report/hasUnsavedChanges",{uid:e},a)];case 1:return[2,!r.sent().body];case 2:throw r.sent().body;case 3:return[2]}}))}))},e.isRDLEmbed=function(t){return t&&t.toLowerCase().indexOf("/rdlembed?")>=0},e.autoAuthInEmbedUrl=function(t){return t&&decodeURIComponent(t).toLowerCase().indexOf("autoauth=true")>=0},e.getRandomValue=n,e.getTimeDiffInMilliseconds=function(t,e){return Math.abs(t.getTime()-e.getTime())},e.isCreate=function(t){return"create"===t||"quickcreate"===t}},function(t,e){Object.defineProperty(e,"__esModule",{value:!0}),e.FilterBuilder=void 0;var r=function(){function t(){}return t.prototype.withTargetObject=function(t){return this.target=t,this},t.prototype.withColumnTarget=function(t,e){return this.target={table:t,column:e},this},t.prototype.withMeasureTarget=function(t,e){return this.target={table:t,measure:e},this},t.prototype.withHierarchyLevelTarget=function(t,e,r){return this.target={table:t,hierarchy:e,hierarchyLevel:r},this},t.prototype.withColumnAggregation=function(t,e,r){return this.target={table:t,column:e,aggregationFunction:r},this},t.prototype.withHierarchyLevelAggregationTarget=function(t,e,r,i){return this.target={table:t,hierarchy:e,hierarchyLevel:r,aggregationFunction:i},this},t}();e.FilterBuilder=r},function(t,e){Object.defineProperty(e,"__esModule",{value:!0}),e.EmbedUrlNotSupported=e.APINotSupportedForRDLError=void 0,e.APINotSupportedForRDLError="This API is currently not supported for RDL reports",e.EmbedUrlNotSupported="Embed URL is invalid for this scenario. Please use Power BI REST APIs to get the valid URL"},function(t,e){Object.defineProperty(e,"__esModule",{value:!0});e.default={version:"2.22.0",type:"js"}},function(t,e,r){var i,a=this&&this.__extends||(i=function(t,e){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])})(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}),n=this&&this.__awaiter||function(t,e,r,i){return new(r||(r=Promise))((function(a,n){function o(t){try{s(i.next(t))}catch(t){n(t)}}function l(t){try{s(i.throw(t))}catch(t){n(t)}}function s(t){var e;t.done?a(t.value):(e=t.value,e instanceof r?e:new r((function(t){t(e)}))).then(o,l)}s((i=i.apply(t,e||[])).next())}))},o=this&&this.__generator||function(t,e){var r,i,a,n,o={label:0,sent:function(){if(1&a[0])throw a[1];return a[1]},trys:[],ops:[]};return n={next:l(0),throw:l(1),return:l(2)},"function"==typeof Symbol&&(n[Symbol.iterator]=function(){return this}),n;function l(n){return function(l){return function(n){if(r)throw new TypeError("Generator is already executing.");for(;o;)try{if(r=1,i&&(a=2&n[0]?i.return:n[0]?i.throw||((a=i.return)&&a.call(i),0):i.next)&&!(a=a.call(i,n[1])).done)return a;switch(i=0,a&&(n=[2&n[0],a.value]),n[0]){case 0:case 1:a=n;break;case 4:return o.label++,{value:n[1],done:!1};case 5:o.label++,i=n[1],n=[0];continue;case 7:n=o.ops.pop(),o.trys.pop();continue;default:if(!(a=o.trys,(a=a.length>0&&a[a.length-1])||6!==n[0]&&2!==n[0])){o=0;continue}if(3===n[0]&&(!a||n[1]>a[0]&&n[1]0&&a[a.length-1])||6!==n[0]&&2!==n[0])){o=0;continue}if(3===n[0]&&(!a||n[1]>a[0]&&n[1]0&&a[a.length-1])||6!==n[0]&&2!==n[0])){o=0;continue}if(3===n[0]&&(!a||n[1]>a[0]&&n[1]{return t=[function(t,e,r){var i,a=this&&this.__extends||(i=function(t,e){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])})(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.SortDirection=e.LegendPosition=e.TextAlignment=e.CommonErrorCodes=e.BookmarksPlayMode=e.ExportDataType=e.QnaMode=e.PageNavigationPosition=e.DataCacheMode=e.CredentialType=e.isPercentOfGrandTotal=e.isColumnAggr=e.isHierarchyLevelAggr=e.isHierarchyLevel=e.isColumn=e.isMeasure=e.getFilterType=e.isBasicFilterWithKeys=e.isFilterKeyColumnsTarget=e.HierarchyFilter=e.AdvancedFilter=e.TupleFilter=e.IdentityFilter=e.BasicFilterWithKeys=e.BasicFilter=e.RelativeTimeFilter=e.RelativeDateFilter=e.TopNFilter=e.IncludeExcludeFilter=e.NotSupportedFilter=e.Filter=e.RelativeDateOperators=e.RelativeDateFilterTimeUnit=e.FilterType=e.FiltersLevel=e.FiltersOperations=e.MenuLocation=e.ContrastMode=e.TokenType=e.ViewMode=e.Permissions=e.SectionVisibility=e.ReportAlignment=e.HyperlinkClickBehavior=e.LayoutType=e.VisualContainerDisplayMode=e.BackgroundType=e.DisplayOption=e.PageSizeType=e.TraceType=void 0,e.validateCommandsSettings=e.validateVisualSettings=e.validateVisualHeader=e.validateExportDataRequest=e.validateQnaInterpretInputData=e.validateLoadQnaConfiguration=e.validateSaveAsParameters=e.validateUpdateFiltersRequest=e.validateFilter=e.validatePage=e.validateTileLoad=e.validateDashboardLoad=e.validateQuickCreate=e.validateCreateReport=e.validatePaginatedReportLoad=e.validateReportLoad=e.validateMenuGroupExtension=e.validateExtension=e.validateCustomPageSize=e.validateVisualizationsPane=e.validateSyncSlicersPane=e.validateSelectionPane=e.validatePageNavigationPane=e.validateFieldsPane=e.validateFiltersPane=e.validateBookmarksPane=e.validatePanes=e.validateSettings=e.validateCaptureBookmarkRequest=e.validateApplyBookmarkStateRequest=e.validateApplyBookmarkByNameRequest=e.validateAddBookmarkRequest=e.validatePlayBookmarkRequest=e.validateSlicerState=e.validateSlicer=e.validateVisualSelector=e.isIExtensionArray=e.isIExtensions=e.isGroupedMenuExtension=e.isFlatMenuExtension=e.isReportFiltersArray=e.isOnLoadFilters=e.VisualDataRoleKindPreference=e.VisualDataRoleKind=e.CommandDisplayOption=e.SlicerTargetSelector=e.VisualTypeSelector=e.VisualSelector=e.PageSelector=e.Selector=void 0,e.validateZoomLevel=e.validateCustomTheme=void 0;var n,o=r(1);!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"}(e.TraceType||(e.TraceType={})),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",t[t.Mobile=5]="Mobile"}(e.PageSizeType||(e.PageSizeType={})),function(t){t[t.FitToPage=0]="FitToPage",t[t.FitToWidth=1]="FitToWidth",t[t.ActualSize=2]="ActualSize"}(e.DisplayOption||(e.DisplayOption={})),function(t){t[t.Default=0]="Default",t[t.Transparent=1]="Transparent"}(e.BackgroundType||(e.BackgroundType={})),function(t){t[t.Visible=0]="Visible",t[t.Hidden=1]="Hidden"}(e.VisualContainerDisplayMode||(e.VisualContainerDisplayMode={})),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={})),function(t){t[t.Navigate=0]="Navigate",t[t.NavigateAndRaiseEvent=1]="NavigateAndRaiseEvent",t[t.RaiseEvent=2]="RaiseEvent"}(e.HyperlinkClickBehavior||(e.HyperlinkClickBehavior={})),function(t){t[t.Left=0]="Left",t[t.Center=1]="Center",t[t.Right=2]="Right",t[t.None=3]="None"}(e.ReportAlignment||(e.ReportAlignment={})),function(t){t[t.AlwaysVisible=0]="AlwaysVisible",t[t.HiddenInViewMode=1]="HiddenInViewMode"}(e.SectionVisibility||(e.SectionVisibility={})),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"}(e.Permissions||(e.Permissions={})),function(t){t[t.View=0]="View",t[t.Edit=1]="Edit"}(e.ViewMode||(e.ViewMode={})),function(t){t[t.Aad=0]="Aad",t[t.Embed=1]="Embed"}(e.TokenType||(e.TokenType={})),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"}(e.ContrastMode||(e.ContrastMode={})),function(t){t[t.Bottom=0]="Bottom",t[t.Top=1]="Top"}(e.MenuLocation||(e.MenuLocation={})),function(t){t[t.RemoveAll=0]="RemoveAll",t[t.ReplaceAll=1]="ReplaceAll",t[t.Add=2]="Add",t[t.Replace=3]="Replace"}(e.FiltersOperations||(e.FiltersOperations={})),function(t){t[t.Report=0]="Report",t[t.Page=1]="Page",t[t.Visual=2]="Visual"}(e.FiltersLevel||(e.FiltersLevel={})),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",t[t.Identity=8]="Identity",t[t.Hierarchy=9]="Hierarchy"}(n=e.FilterType||(e.FilterType={})),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"}(e.RelativeDateFilterTimeUnit||(e.RelativeDateFilterTimeUnit={})),function(t){t[t.InLast=0]="InLast",t[t.InThis=1]="InThis",t[t.InNext=2]="InNext"}(e.RelativeDateOperators||(e.RelativeDateOperators={}));var l=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=l;var s=function(t){function e(r,i,a){var o=t.call(this,r,n.Unknown)||this;return o.message=i,o.notSupportedTypeName=a,o.schemaUrl=e.schemaUrl,o}return a(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}(l);e.NotSupportedFilter=s;var u=function(t){function e(r,i,a){var o=t.call(this,r,n.IncludeExclude)||this;return o.values=a,o.isExclude=i,o.schemaUrl=e.schemaUrl,o}return a(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}(l);e.IncludeExcludeFilter=u;var d=function(t){function e(r,i,a,o){var l=t.call(this,r,n.TopN)||this;return l.operator=i,l.itemCount=a,l.schemaUrl=e.schemaUrl,l.orderBy=o,l}return a(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}(l);e.TopNFilter=d;var c=function(t){function e(r,i,a,o,l){var s=t.call(this,r,n.RelativeDate)||this;return s.operator=i,s.timeUnitsCount=a,s.timeUnitType=o,s.includeToday=l,s.schemaUrl=e.schemaUrl,s}return a(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}(l);e.RelativeDateFilter=c;var p=function(t){function e(r,i,a,o){var l=t.call(this,r,n.RelativeTime)||this;return l.operator=i,l.timeUnitsCount=a,l.timeUnitType=o,l.schemaUrl=e.schemaUrl,l}return a(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}(l);e.RelativeTimeFilter=p;var f=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 ".concat(o," keys"));if(0===o&&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,s=n.keyValues;l2)throw new Error("AdvancedFilters may not have more than two conditions. You passed: ".concat(a.length));if(1===l.length&&"And"!==i)throw new Error('Logical Operator must be "And" when there is only one condition provided');return s.conditions=l,s}return a(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}(l);e.AdvancedFilter=m;var V=function(t){function e(r,i){var a=t.call(this,r,n.Hierarchy)||this;return a.schemaUrl=e.schemaUrl,a.hierarchyData=i,a}return a(e,t),e.prototype.toJSON=function(){var e=t.prototype.toJSON.call(this);return e.hierarchyData=this.hierarchyData,e.target=this.target,e},e.schemaUrl="http://powerbi.com/product/schema#hierarchy",e}(l);function g(t){if(t.filterType)return t.filterType;var e=t,r=t;return"string"==typeof e.operator&&Array.isArray(e.values)?n.Basic:"string"==typeof r.logicalOperator&&Array.isArray(r.conditions)?n.Advanced:n.Unknown}function b(t){return!(!t.table||!t.column||t.aggregationFunction)}e.HierarchyFilter=V,e.isFilterKeyColumnsTarget=function(t){return b(t)&&!!t.keys},e.isBasicFilterWithKeys=function(t){return g(t)===n.Basic&&!!t.keyValues},e.getFilterType=g,e.isMeasure=function(t){return void 0!==t.table&&void 0!==t.measure},e.isColumn=b,e.isHierarchyLevel=function(t){return!(!(t.table&&t.hierarchy&&t.hierarchyLevel)||t.aggregationFunction)},e.isHierarchyLevelAggr=function(t){return!!(t.table&&t.hierarchy&&t.hierarchyLevel&&t.aggregationFunction)},e.isColumnAggr=function(t){return!!(t.table&&t.column&&t.aggregationFunction)},e.isPercentOfGrandTotal=function(t){return!!t.percentOfGrandTotal},function(t){t[t.NoConnection=0]="NoConnection",t[t.OnBehalfOf=1]="OnBehalfOf",t[t.Anonymous=2]="Anonymous"}(e.CredentialType||(e.CredentialType={})),function(t){t[t.Import=0]="Import",t[t.DirectQuery=1]="DirectQuery"}(e.DataCacheMode||(e.DataCacheMode={})),function(t){t[t.Bottom=0]="Bottom",t[t.Left=1]="Left"}(e.PageNavigationPosition||(e.PageNavigationPosition={})),function(t){t[t.Interactive=0]="Interactive",t[t.ResultOnly=1]="ResultOnly"}(e.QnaMode||(e.QnaMode={})),function(t){t[t.Summarized=0]="Summarized",t[t.Underlying=1]="Underlying"}(e.ExportDataType||(e.ExportDataType={})),function(t){t[t.Off=0]="Off",t[t.Presentation=1]="Presentation"}(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"},function(t){t[t.Ascending=1]="Ascending",t[t.Descending=2]="Descending"}(e.SortDirection||(e.SortDirection={}));var w=function(){function t(t){this.$schema=t}return t.prototype.toJSON=function(){return{$schema:this.$schema}},t}();e.Selector=w;var O=function(t){function e(r){var i=t.call(this,e.schemaUrl)||this;return i.pageName=r,i}return a(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}(w);e.PageSelector=O;var S=function(t){function e(r){var i=t.call(this,e.schemaUrl)||this;return i.visualName=r,i}return a(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}(w);e.VisualSelector=S;var P=function(t){function e(e){var r=t.call(this,S.schemaUrl)||this;return r.visualType=e,r}return a(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}(w);e.VisualTypeSelector=P;var _=function(t){function e(e){var r=t.call(this,S.schemaUrl)||this;return r.target=e,r}return a(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}(w);function T(t){return Array.isArray(t)}function E(t){return t&&!!t.groupName}function F(t){return Array.isArray(t)}function x(t){var e=t.message;return e||(e="".concat(t.path," is invalid. Not meeting ").concat(t.keyword," constraint")),{message:e}}e.SlicerTargetSelector=_,function(t){t[t.Enabled=0]="Enabled",t[t.Disabled=1]="Disabled",t[t.Hidden=2]="Hidden"}(e.CommandDisplayOption||(e.CommandDisplayOption={})),function(t){t[t.Grouping=0]="Grouping",t[t.Measure=1]="Measure",t[t.GroupingOrMeasure=2]="GroupingOrMeasure"}(e.VisualDataRoleKind||(e.VisualDataRoleKind={})),function(t){t[t.Measure=0]="Measure",t[t.Grouping=1]="Grouping"}(e.VisualDataRoleKindPreference||(e.VisualDataRoleKindPreference={})),e.isOnLoadFilters=function(t){return t&&!T(t)},e.isReportFiltersArray=T,e.isFlatMenuExtension=function(t){return t&&!E(t)},e.isGroupedMenuExtension=E,e.isIExtensions=function(t){return t&&!F(t)},e.isIExtensionArray=F,e.validateVisualSelector=function(t){var e=o.Validators.visualSelectorValidator.validate(t);return e?e.map(x):void 0},e.validateSlicer=function(t){var e=o.Validators.slicerValidator.validate(t);return e?e.map(x):void 0},e.validateSlicerState=function(t){var e=o.Validators.slicerStateValidator.validate(t);return e?e.map(x):void 0},e.validatePlayBookmarkRequest=function(t){var e=o.Validators.playBookmarkRequestValidator.validate(t);return e?e.map(x):void 0},e.validateAddBookmarkRequest=function(t){var e=o.Validators.addBookmarkRequestValidator.validate(t);return e?e.map(x):void 0},e.validateApplyBookmarkByNameRequest=function(t){var e=o.Validators.applyBookmarkByNameRequestValidator.validate(t);return e?e.map(x):void 0},e.validateApplyBookmarkStateRequest=function(t){var e=o.Validators.applyBookmarkStateRequestValidator.validate(t);return e?e.map(x):void 0},e.validateCaptureBookmarkRequest=function(t){var e=o.Validators.captureBookmarkRequestValidator.validate(t);return e?e.map(x):void 0},e.validateSettings=function(t){var e=o.Validators.settingsValidator.validate(t);return e?e.map(x):void 0},e.validatePanes=function(t){var e=o.Validators.reportPanesValidator.validate(t);return e?e.map(x):void 0},e.validateBookmarksPane=function(t){var e=o.Validators.bookmarksPaneValidator.validate(t);return e?e.map(x):void 0},e.validateFiltersPane=function(t){var e=o.Validators.filtersPaneValidator.validate(t);return e?e.map(x):void 0},e.validateFieldsPane=function(t){var e=o.Validators.fieldsPaneValidator.validate(t);return e?e.map(x):void 0},e.validatePageNavigationPane=function(t){var e=o.Validators.pageNavigationPaneValidator.validate(t);return e?e.map(x):void 0},e.validateSelectionPane=function(t){var e=o.Validators.selectionPaneValidator.validate(t);return e?e.map(x):void 0},e.validateSyncSlicersPane=function(t){var e=o.Validators.syncSlicersPaneValidator.validate(t);return e?e.map(x):void 0},e.validateVisualizationsPane=function(t){var e=o.Validators.visualizationsPaneValidator.validate(t);return e?e.map(x):void 0},e.validateCustomPageSize=function(t){var e=o.Validators.customPageSizeValidator.validate(t);return e?e.map(x):void 0},e.validateExtension=function(t){var e=o.Validators.extensionValidator.validate(t);return e?e.map(x):void 0},e.validateMenuGroupExtension=function(t){var e=o.Validators.menuGroupExtensionValidator.validate(t);return e?e.map(x):void 0},e.validateReportLoad=function(t){var e=o.Validators.reportLoadValidator.validate(t);return e?e.map(x):void 0},e.validatePaginatedReportLoad=function(t){var e=o.Validators.paginatedReportLoadValidator.validate(t);return e?e.map(x):void 0},e.validateCreateReport=function(t){var e=o.Validators.reportCreateValidator.validate(t);return e?e.map(x):void 0},e.validateQuickCreate=function(t){var e=o.Validators.quickCreateValidator.validate(t);return e?e.map(x):void 0},e.validateDashboardLoad=function(t){var e=o.Validators.dashboardLoadValidator.validate(t);return e?e.map(x):void 0},e.validateTileLoad=function(t){var e=o.Validators.tileLoadValidator.validate(t);return e?e.map(x):void 0},e.validatePage=function(t){var e=o.Validators.pageValidator.validate(t);return e?e.map(x):void 0},e.validateFilter=function(t){var e=o.Validators.filterValidator.validate(t);return e?e.map(x):void 0},e.validateUpdateFiltersRequest=function(t){var e=o.Validators.updateFiltersRequestValidator.validate(t);return e?e.map(x):void 0},e.validateSaveAsParameters=function(t){var e=o.Validators.saveAsParametersValidator.validate(t);return e?e.map(x):void 0},e.validateLoadQnaConfiguration=function(t){var e=o.Validators.loadQnaValidator.validate(t);return e?e.map(x):void 0},e.validateQnaInterpretInputData=function(t){var e=o.Validators.qnaInterpretInputDataValidator.validate(t);return e?e.map(x):void 0},e.validateExportDataRequest=function(t){var e=o.Validators.exportDataRequestValidator.validate(t);return e?e.map(x):void 0},e.validateVisualHeader=function(t){var e=o.Validators.visualHeaderValidator.validate(t);return e?e.map(x):void 0},e.validateVisualSettings=function(t){var e=o.Validators.visualSettingsValidator.validate(t);return e?e.map(x):void 0},e.validateCommandsSettings=function(t){var e=o.Validators.commandsSettingsValidator.validate(t);return e?e.map(x):void 0},e.validateCustomTheme=function(t){var e=o.Validators.customThemeValidator.validate(t);return e?e.map(x):void 0},e.validateZoomLevel=function(t){var e=o.Validators.zoomLevelValidator.validate(t);return e?e.map(x):void 0}},(t,e,r)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.Validators=void 0;var i=r(2),a=r(5),n=r(6),o=r(7),l=r(8),s=r(9),u=r(10),d=r(11),c=r(12),p=r(13),f=r(14),h=r(15),v=r(16),y=r(17),m=r(18),V=r(19),g=r(20),b=r(21),w=r(22),O=r(23),S=r(24),P=r(25),_=r(26),T=r(27),E=r(28),F=r(29),x=r(4),C=r(30),k=r(31),R=r(32);e.Validators={addBookmarkRequestValidator:new a.AddBookmarkRequestValidator,advancedFilterTypeValidator:new x.EnumValidator([0]),advancedFilterValidator:new c.AdvancedFilterValidator,anyArrayValidator:new x.ArrayValidator([new _.AnyOfValidator([new x.StringValidator,new x.NumberValidator,new x.BooleanValidator])]),anyFilterValidator:new _.AnyOfValidator([new c.BasicFilterValidator,new c.AdvancedFilterValidator,new c.IncludeExcludeFilterValidator,new c.NotSupportedFilterValidator,new c.RelativeDateFilterValidator,new c.TopNFilterValidator,new c.RelativeTimeFilterValidator,new c.HierarchyFilterValidator]),anyValueValidator:new _.AnyOfValidator([new x.StringValidator,new x.NumberValidator,new x.BooleanValidator]),actionBarValidator:new i.ActionBarValidator,statusBarValidator:new i.StatusBarValidator,applyBookmarkByNameRequestValidator:new a.ApplyBookmarkByNameRequestValidator,applyBookmarkStateRequestValidator:new a.ApplyBookmarkStateRequestValidator,applyBookmarkValidator:new _.AnyOfValidator([new a.ApplyBookmarkByNameRequestValidator,new a.ApplyBookmarkStateRequestValidator]),backgroundValidator:new x.EnumValidator([0,1]),basicFilterTypeValidator:new x.EnumValidator([1]),basicFilterValidator:new c.BasicFilterValidator,booleanArrayValidator:new x.BooleanArrayValidator,booleanValidator:new x.BooleanValidator,bookmarksPaneValidator:new h.BookmarksPaneValidator,captureBookmarkOptionsValidator:new a.CaptureBookmarkOptionsValidator,captureBookmarkRequestValidator:new a.CaptureBookmarkRequestValidator,columnSchemaArrayValidator:new x.ArrayValidator([new k.ColumnSchemaValidator]),commandDisplayOptionValidator:new x.EnumValidator([0,1,2]),commandExtensionSelectorValidator:new _.AnyOfValidator([new b.VisualSelectorValidator,new b.VisualTypeSelectorValidator]),commandExtensionArrayValidator:new x.ArrayValidator([new d.CommandExtensionValidator]),commandExtensionValidator:new d.CommandExtensionValidator,commandsSettingsArrayValidator:new x.ArrayValidator([new n.CommandsSettingsValidator]),commandsSettingsValidator:new n.CommandsSettingsValidator,conditionItemValidator:new c.ConditionItemValidator,contrastModeValidator:new x.EnumValidator([0,1,2,3,4]),credentialDetailsValidator:new F.MapValidator([new x.StringValidator],[new x.StringValidator]),credentialsValidator:new k.CredentialsValidator,credentialTypeValidator:new x.EnumValidator([0,1,2]),customLayoutDisplayOptionValidator:new x.EnumValidator([0,1,2]),customLayoutValidator:new p.CustomLayoutValidator,customPageSizeValidator:new f.CustomPageSizeValidator,customThemeValidator:new o.CustomThemeValidator,dashboardLoadValidator:new l.DashboardLoadValidator,dataCacheModeValidator:new x.EnumValidator([0,1]),datasetBindingValidator:new s.DatasetBindingValidator,datasetCreateConfigValidator:new k.DatasetCreateConfigValidator,datasourceConnectionConfigValidator:new k.DatasourceConnectionConfigValidator,displayStateModeValidator:new x.EnumValidator([0,1]),displayStateValidator:new p.DisplayStateValidator,exportDataRequestValidator:new u.ExportDataRequestValidator,extensionArrayValidator:new x.ArrayValidator([new d.ExtensionValidator]),extensionsValidator:new _.AnyOfValidator([new x.ArrayValidator([new d.ExtensionValidator]),new d.ExtensionsValidator]),extensionPointsValidator:new d.ExtensionPointsValidator,extensionValidator:new d.ExtensionValidator,fieldForbiddenValidator:new T.FieldForbiddenValidator,fieldRequiredValidator:new E.FieldRequiredValidator,fieldsPaneValidator:new h.FieldsPaneValidator,filterColumnTargetValidator:new c.FilterColumnTargetValidator,filterDisplaySettingsValidator:new c.FilterDisplaySettingsValidator,filterConditionsValidator:new x.ArrayValidator([new c.ConditionItemValidator]),filterHierarchyTargetValidator:new c.FilterHierarchyTargetValidator,filterMeasureTargetValidator:new c.FilterMeasureTargetValidator,filterTargetValidator:new _.AnyOfValidator([new c.FilterColumnTargetValidator,new c.FilterHierarchyTargetValidator,new c.FilterMeasureTargetValidator,new x.ArrayValidator([new _.AnyOfValidator([new c.FilterColumnTargetValidator,new c.FilterHierarchyTargetValidator,new c.FilterMeasureTargetValidator,new c.FilterKeyColumnsTargetValidator,new c.FilterKeyHierarchyTargetValidator])])]),filterValidator:new c.FilterValidator,filterTypeValidator:new x.EnumValidator([0,1,2,3,4,5,6,7,9]),filtersArrayValidator:new x.ArrayValidator([new c.FilterValidator]),filtersOperationsUpdateValidator:new x.EnumValidator([1,2,3]),filtersOperationsRemoveAllValidator:new x.EnumValidator([0]),filtersPaneValidator:new h.FiltersPaneValidator,hyperlinkClickBehaviorValidator:new x.EnumValidator([0,1,2]),includeExcludeFilterValidator:new c.IncludeExcludeFilterValidator,includeExludeFilterTypeValidator:new x.EnumValidator([3]),hierarchyFilterTypeValidator:new x.EnumValidator([9]),hierarchyFilterValuesValidator:new x.ArrayValidator([new c.HierarchyFilterNodeValidator]),layoutTypeValidator:new x.EnumValidator([0,1,2,3]),loadQnaValidator:new v.LoadQnaValidator,menuExtensionValidator:new _.AnyOfValidator([new d.FlatMenuExtensionValidator,new d.GroupedMenuExtensionValidator]),menuGroupExtensionArrayValidator:new x.ArrayValidator([new d.MenuGroupExtensionValidator]),menuGroupExtensionValidator:new d.MenuGroupExtensionValidator,menuLocationValidator:new x.EnumValidator([0,1]),notSupportedFilterTypeValidator:new x.EnumValidator([2]),notSupportedFilterValidator:new c.NotSupportedFilterValidator,numberArrayValidator:new x.NumberArrayValidator,numberValidator:new x.NumberValidator,onLoadFiltersBaseValidator:new _.AnyOfValidator([new c.OnLoadFiltersBaseValidator,new c.OnLoadFiltersBaseRemoveOperationValidator]),pageLayoutValidator:new F.MapValidator([new x.StringValidator],[new p.VisualLayoutValidator]),pageNavigationPaneValidator:new h.PageNavigationPaneValidator,pageNavigationPositionValidator:new x.EnumValidator([0,1]),pageSizeTypeValidator:new x.EnumValidator([0,1,2,3,4,5]),pageSizeValidator:new f.PageSizeValidator,pageValidator:new f.PageValidator,pageViewFieldValidator:new f.PageViewFieldValidator,pagesLayoutValidator:new F.MapValidator([new x.StringValidator],[new p.PageLayoutValidator]),paginatedReportCommandsValidator:new n.PaginatedReportCommandsValidator,paginatedReportLoadValidator:new V.PaginatedReportLoadValidator,paginatedReportsettingsValidator:new w.PaginatedReportSettingsValidator,parameterValuesArrayValidator:new x.ArrayValidator([new V.ReportParameterFieldsValidator]),parametersPanelValidator:new C.ParametersPanelValidator,permissionsValidator:new x.EnumValidator([0,1,2,4,7]),playBookmarkRequestValidator:new a.PlayBookmarkRequestValidator,qnaInterpretInputDataValidator:new v.QnaInterpretInputDataValidator,qnaPanesValidator:new h.QnaPanesValidator,qnaSettingValidator:new v.QnaSettingsValidator,quickCreateValidator:new R.QuickCreateValidator,rawDataValidator:new x.ArrayValidator([new x.ArrayValidator([new x.StringValidator])]),relativeDateFilterOperatorValidator:new x.EnumValidator([0,1,2]),relativeDateFilterTimeUnitTypeValidator:new x.EnumValidator([0,1,2,3,4,5,6]),relativeDateFilterTypeValidator:new x.EnumValidator([4]),relativeDateFilterValidator:new c.RelativeDateFilterValidator,relativeDateTimeFilterTypeValidator:new x.EnumValidator([4,7]),relativeDateTimeFilterUnitTypeValidator:new x.EnumValidator([0,1,2,3,4,5,6,7,8]),relativeTimeFilterTimeUnitTypeValidator:new x.EnumValidator([7,8]),relativeTimeFilterTypeValidator:new x.EnumValidator([7]),relativeTimeFilterValidator:new c.RelativeTimeFilterValidator,reportBarsValidator:new i.ReportBarsValidator,reportCreateValidator:new y.ReportCreateValidator,reportLoadFiltersValidator:new _.AnyOfValidator([new x.ArrayValidator([new c.FilterValidator]),new c.OnLoadFiltersValidator]),reportLoadValidator:new m.ReportLoadValidator,reportPanesValidator:new h.ReportPanesValidator,saveAsParametersValidator:new g.SaveAsParametersValidator,selectionPaneValidator:new h.SelectionPaneValidator,settingsValidator:new w.SettingsValidator,singleCommandSettingsValidator:new n.SingleCommandSettingsValidator,slicerSelectorValidator:new _.AnyOfValidator([new b.VisualSelectorValidator,new b.SlicerTargetSelectorValidator]),slicerStateValidator:new O.SlicerStateValidator,slicerTargetValidator:new _.AnyOfValidator([new c.FilterColumnTargetValidator,new c.FilterHierarchyTargetValidator,new c.FilterMeasureTargetValidator,new c.FilterKeyColumnsTargetValidator,new c.FilterKeyHierarchyTargetValidator]),slicerValidator:new O.SlicerValidator,stringArrayValidator:new x.StringArrayValidator,stringValidator:new x.StringValidator,syncSlicersPaneValidator:new h.SyncSlicersPaneValidator,tableDataArrayValidator:new x.ArrayValidator([new k.TableDataValidator]),tableSchemaListValidator:new x.ArrayValidator([new k.TableSchemaValidator]),tileLoadValidator:new S.TileLoadValidator,tokenTypeValidator:new x.EnumValidator([0,1]),topNFilterTypeValidator:new x.EnumValidator([5]),topNFilterValidator:new c.TopNFilterValidator,updateFiltersRequestValidator:new _.AnyOfValidator([new c.UpdateFiltersRequestValidator,new c.RemoveFiltersRequestValidator]),viewModeValidator:new x.EnumValidator([0,1]),visualCommandSelectorValidator:new _.AnyOfValidator([new b.VisualSelectorValidator,new b.VisualTypeSelectorValidator]),visualHeaderSelectorValidator:new _.AnyOfValidator([new b.VisualSelectorValidator,new b.VisualTypeSelectorValidator]),visualHeaderSettingsValidator:new P.VisualHeaderSettingsValidator,visualHeaderValidator:new P.VisualHeaderValidator,visualHeadersValidator:new x.ArrayValidator([new P.VisualHeaderValidator]),visualizationsPaneValidator:new h.VisualizationsPaneValidator,visualLayoutValidator:new p.VisualLayoutValidator,visualSelectorValidator:new b.VisualSelectorValidator,visualSettingsValidator:new P.VisualSettingsValidator,visualTypeSelectorValidator:new b.VisualTypeSelectorValidator,zoomLevelValidator:new x.RangeValidator(.25,4)}},function(t,e,r){var i,a=this&&this.__extends||(i=function(t,e){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])})(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.StatusBarValidator=e.ActionBarValidator=e.ReportBarsValidator=void 0;var n=r(3),o=r(4),l=r(1),s=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return a(e,t),e.prototype.validate=function(e,r,i){if(null==e)return null;var a=t.prototype.validate.call(this,e,r,i);if(a)return a;var o=[{field:"actionBar",validators:[l.Validators.actionBarValidator]},{field:"statusBar",validators:[l.Validators.statusBarValidator]}];return new n.MultipleFieldsValidator(o).validate(e,r,i)},e}(o.ObjectValidator);e.ReportBarsValidator=s;var u=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return a(e,t),e.prototype.validate=function(e,r,i){if(null==e)return null;var a=t.prototype.validate.call(this,e,r,i);if(a)return a;var o=[{field:"visible",validators:[l.Validators.booleanValidator]}];return new n.MultipleFieldsValidator(o).validate(e,r,i)},e}(o.ObjectValidator);e.ActionBarValidator=u;var d=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return a(e,t),e.prototype.validate=function(e,r,i){if(null==e)return null;var a=t.prototype.validate.call(this,e,r,i);if(a)return a;var o=[{field:"visible",validators:[l.Validators.booleanValidator]}];return new n.MultipleFieldsValidator(o).validate(e,r,i)},e}(o.ObjectValidator);e.StatusBarValidator=d},(t,e)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.MultipleFieldsValidator=void 0;var r=function(){function t(t){this.fieldValidatorsPairs=t}return t.prototype.validate=function(t,e,r){if(!this.fieldValidatorsPairs)return null;for(var i=e?e+"."+r:r,a=0,n=this.fieldValidatorsPairs;athis.maxValue||e{Object.defineProperty(e,"__esModule",{value:!0}),e.AnyOfValidator=void 0;var r=function(){function t(t){this.validators=t}return t.prototype.validate=function(t,e,r){if(null==t)return null;for(var i=!1,a=0,n=this.validators;a{Object.defineProperty(e,"__esModule",{value:!0}),e.FieldForbiddenValidator=void 0;var r=function(){function t(){}return t.prototype.validate=function(t,e,r){return void 0!==t?[{message:r+" is forbidden",path:(e?e+".":"")+r,keyword:"forbidden"}]:null},t}();e.FieldForbiddenValidator=r},(t,e)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.FieldRequiredValidator=void 0;var r=function(){function t(){}return t.prototype.validate=function(t,e,r){return null==t?[{message:r+" is required",path:(e?e+".":"")+r,keyword:"required"}]:null},t}();e.FieldRequiredValidator=r},function(t,e,r){var i,a=this&&this.__extends||(i=function(t,e){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])})(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.MapValidator=void 0;var n=function(t){function e(e,r){var i=t.call(this)||this;return i.keyValidators=e,i.valueValidators=r,i}return a(e,t),e.prototype.validate=function(e,r,i){if(null==e)return null;var a=t.prototype.validate.call(this,e,r,i);if(a)return a;for(var n in e)if(e.hasOwnProperty(n)){for(var o=(r?r+".":"")+i+"."+n,l=0,s=this.keyValidators;l0&&a[a.length-1])||6!==n[0]&&2!==n[0])){o=0;continue}if(3===n[0]&&(!a||n[1]>a[0]&&n[1]0&&a[a.length-1])||6!==n[0]&&2!==n[0])){o=0;continue}if(3===n[0]&&(!a||n[1]>a[0]&&n[1]0?"&":"?";return t+=i+e+"="+r},e.isSavedInternal=function(t,e,a){return r(this,void 0,void 0,(function(){return i(this,(function(r){switch(r.label){case 0:return r.trys.push([0,2,,3]),[4,t.get("/report/hasUnsavedChanges",{uid:e},a)];case 1:return[2,!r.sent().body];case 2:throw r.sent().body;case 3:return[2]}}))}))},e.isRDLEmbed=function(t){return t&&t.toLowerCase().indexOf("/rdlembed?")>=0},e.autoAuthInEmbedUrl=function(t){return t&&decodeURIComponent(t).toLowerCase().indexOf("autoauth=true")>=0},e.getRandomValue=n,e.getTimeDiffInMilliseconds=function(t,e){return Math.abs(t.getTime()-e.getTime())},e.isCreate=function(t){return"create"===t||"quickcreate"===t}},function(t,e){Object.defineProperty(e,"__esModule",{value:!0}),e.FilterBuilder=void 0;var r=function(){function t(){}return t.prototype.withTargetObject=function(t){return this.target=t,this},t.prototype.withColumnTarget=function(t,e){return this.target={table:t,column:e},this},t.prototype.withMeasureTarget=function(t,e){return this.target={table:t,measure:e},this},t.prototype.withHierarchyLevelTarget=function(t,e,r){return this.target={table:t,hierarchy:e,hierarchyLevel:r},this},t.prototype.withColumnAggregation=function(t,e,r){return this.target={table:t,column:e,aggregationFunction:r},this},t.prototype.withHierarchyLevelAggregationTarget=function(t,e,r,i){return this.target={table:t,hierarchy:e,hierarchyLevel:r,aggregationFunction:i},this},t}();e.FilterBuilder=r},function(t,e){Object.defineProperty(e,"__esModule",{value:!0}),e.EmbedUrlNotSupported=e.APINotSupportedForRDLError=void 0,e.APINotSupportedForRDLError="This API is currently not supported for RDL reports",e.EmbedUrlNotSupported="Embed URL is invalid for this scenario. Please use Power BI REST APIs to get the valid URL"},function(t,e){Object.defineProperty(e,"__esModule",{value:!0});e.default={version:"2.22.0",type:"js"}},function(t,e,r){var i,a=this&&this.__extends||(i=function(t,e){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])})(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}),n=this&&this.__awaiter||function(t,e,r,i){return new(r||(r=Promise))((function(a,n){function o(t){try{s(i.next(t))}catch(t){n(t)}}function l(t){try{s(i.throw(t))}catch(t){n(t)}}function s(t){var e;t.done?a(t.value):(e=t.value,e instanceof r?e:new r((function(t){t(e)}))).then(o,l)}s((i=i.apply(t,e||[])).next())}))},o=this&&this.__generator||function(t,e){var r,i,a,n,o={label:0,sent:function(){if(1&a[0])throw a[1];return a[1]},trys:[],ops:[]};return n={next:l(0),throw:l(1),return:l(2)},"function"==typeof Symbol&&(n[Symbol.iterator]=function(){return this}),n;function l(n){return function(l){return function(n){if(r)throw new TypeError("Generator is already executing.");for(;o;)try{if(r=1,i&&(a=2&n[0]?i.return:n[0]?i.throw||((a=i.return)&&a.call(i),0):i.next)&&!(a=a.call(i,n[1])).done)return a;switch(i=0,a&&(n=[2&n[0],a.value]),n[0]){case 0:case 1:a=n;break;case 4:return o.label++,{value:n[1],done:!1};case 5:o.label++,i=n[1],n=[0];continue;case 7:n=o.ops.pop(),o.trys.pop();continue;default:if(!(a=o.trys,(a=a.length>0&&a[a.length-1])||6!==n[0]&&2!==n[0])){o=0;continue}if(3===n[0]&&(!a||n[1]>a[0]&&n[1]0&&a[a.length-1])||6!==n[0]&&2!==n[0])){o=0;continue}if(3===n[0]&&(!a||n[1]>a[0]&&n[1]0&&a[a.length-1])||6!==n[0]&&2!==n[0])){o=0;continue}if(3===n[0]&&(!a||n[1]>a[0]&&n[1] * @license MIT - */function a(t,e){if(t===e)return 0;for(var r=t.length,i=e.length,a=0,n=Math.min(r,i);a=0;u--)if(d[u]!==c[u])return!1;for(u=d.length-1;u>=0;u--)if(l=d[u],!g(t[l],e[l],r,i))return!1;return!0}(t,e,r,i))}return r?t===e:t==e}function b(t){return"[object Arguments]"==Object.prototype.toString.call(t)}function w(t,e){if(!t||!e)return!1;if("[object RegExp]"==Object.prototype.toString.call(e))return e.test(t);try{if(t instanceof e)return!0}catch(t){}return!Error.isPrototypeOf(e)&&!0===e.call({},t)}function O(t,e,r,i){var a;if("function"!=typeof e)throw new TypeError('"block" argument must be a function');"string"==typeof r&&(i=r,r=null),a=function(t){var e;try{t()}catch(t){e=t}return e}(e),i=(r&&r.name?" ("+r.name+").":".")+(i?" "+i:"."),t&&!a&&m(a,r,"Missing expected exception"+i);var n="string"==typeof i,l=!t&&a&&!r;if((!t&&o.isError(a)&&n&&w(a,r)||l)&&m(a,r,"Got unwanted exception"+i),t&&a&&r&&!w(a,r)||!t&&a)throw a}p.AssertionError=function(t){var e;this.name="AssertionError",this.actual=t.actual,this.expected=t.expected,this.operator=t.operator,t.message?(this.message=t.message,this.generatedMessage=!1):(this.message=v(y((e=this).actual),128)+" "+e.operator+" "+v(y(e.expected),128),this.generatedMessage=!0);var r=t.stackStartFunction||m;if(Error.captureStackTrace)Error.captureStackTrace(this,r);else{var i=new Error;if(i.stack){var a=i.stack,n=h(r),o=a.indexOf("\n"+n);if(o>=0){var l=a.indexOf("\n",o+1);a=a.substring(l+1)}this.stack=a}}},o.inherits(p.AssertionError,Error),p.fail=m,p.ok=V,p.equal=function(t,e,r){t!=e&&m(t,e,r,"==",p.equal)},p.notEqual=function(t,e,r){t==e&&m(t,e,r,"!=",p.notEqual)},p.deepEqual=function(t,e,r){g(t,e,!1)||m(t,e,r,"deepEqual",p.deepEqual)},p.deepStrictEqual=function(t,e,r){g(t,e,!0)||m(t,e,r,"deepStrictEqual",p.deepStrictEqual)},p.notDeepEqual=function(t,e,r){g(t,e,!1)&&m(t,e,r,"notDeepEqual",p.notDeepEqual)},p.notDeepStrictEqual=function t(e,r,i){g(e,r,!0)&&m(e,r,i,"notDeepStrictEqual",t)},p.strictEqual=function(t,e,r){t!==e&&m(t,e,r,"===",p.strictEqual)},p.notStrictEqual=function(t,e,r){t===e&&m(t,e,r,"!==",p.notStrictEqual)},p.throws=function(t,e,r){O(!0,t,e,r)},p.doesNotThrow=function(t,e,r){O(!1,t,e,r)},p.ifError=function(t){if(t)throw t},p.strict=i((function t(e,r){e||m(e,!0,r,"==",t)}),p,{equal:p.strictEqual,deepEqual:p.deepStrictEqual,notEqual:p.notStrictEqual,notDeepEqual:p.notDeepStrictEqual}),p.strict.strict=p.strict;var S=Object.keys||function(t){var e=[];for(var r in t)l.call(t,r)&&e.push(r);return e}}).call(this,r(17))},function(t,e,r){var i,a=this&&this.__extends||(i=function(t,e){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])})(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.Dashboard=void 0;var n=r(0),o=function(t){function e(r,i,a,n,o){var l=t.call(this,r,i,a,void 0,n,o)||this;return l.loadPath="/dashboard/load",l.phasedLoadPath="/dashboard/prepare",Array.prototype.push.apply(l.allowedEvents,e.allowedEvents),l}return a(e,t),e.findIdFromEmbedUrl=function(t){var e,r=t.match(/dashboardId="?([^&]+)"?/);return r&&(e=r[1]),e},e.prototype.getId=function(){var t=this.config,r=t.id||this.element.getAttribute(e.dashboardIdAttribute)||e.findIdFromEmbedUrl(t.embedUrl);if("string"!=typeof r||0===r.length)throw new Error("Dashboard id is required, but it was not found. You must provide an id either as part of embed configuration or as attribute '".concat(e.dashboardIdAttribute,"'."));return r},e.prototype.validate=function(t){var e=t,r=(0,n.validateDashboardLoad)(e);return r||this.validatePageView(e.pageView)},e.prototype.configChanged=function(t){t||(this.config.id=this.getId())},e.prototype.getDefaultEmbedUrlEndpoint=function(){return"dashboardEmbed"},e.prototype.validatePageView=function(t){if(t&&"fitToWidth"!==t&&"oneColumn"!==t&&"actualSize"!==t)return[{message:"pageView must be one of the followings: fitToWidth, oneColumn, actualSize"}]},e.allowedEvents=["tileClicked","error"],e.dashboardIdAttribute="powerbi-dashboard-id",e.typeAttribute="powerbi-type",e.type="Dashboard",e}(r(1).Embed);e.Dashboard=o},function(t,e,r){var i,a=this&&this.__extends||(i=function(t,e){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])})(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.Tile=void 0;var n=r(0),o=function(t){function e(r,i,a,n,o){var l=this,s=a;return(l=t.call(this,r,i,s,void 0,n,o)||this).loadPath="/tile/load",Array.prototype.push.apply(l.allowedEvents,e.allowedEvents),l}return a(e,t),e.prototype.getId=function(){var t=this.config.id||e.findIdFromEmbedUrl(this.config.embedUrl);if("string"!=typeof t||0===t.length)throw new Error("Tile id is required, but it was not found. You must provide an id either as part of embed configuration.");return t},e.prototype.validate=function(t){var e=t;return(0,n.validateTileLoad)(e)},e.prototype.configChanged=function(t){t||(this.config.id=this.getId())},e.prototype.getDefaultEmbedUrlEndpoint=function(){return"tileEmbed"},e.findIdFromEmbedUrl=function(t){var e,r=t.match(/tileId="?([^&]+)"?/);return r&&(e=r[1]),e},e.type="Tile",e.allowedEvents=["tileClicked","tileLoaded"],e}(r(1).Embed);e.Tile=o},function(t,e,r){var i,a=this&&this.__extends||(i=function(t,e){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])})(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}),n=this&&this.__awaiter||function(t,e,r,i){return new(r||(r=Promise))((function(a,n){function o(t){try{s(i.next(t))}catch(t){n(t)}}function l(t){try{s(i.throw(t))}catch(t){n(t)}}function s(t){var e;t.done?a(t.value):(e=t.value,e instanceof r?e:new r((function(t){t(e)}))).then(o,l)}s((i=i.apply(t,e||[])).next())}))},o=this&&this.__generator||function(t,e){var r,i,a,n,o={label:0,sent:function(){if(1&a[0])throw a[1];return a[1]},trys:[],ops:[]};return n={next:l(0),throw:l(1),return:l(2)},"function"==typeof Symbol&&(n[Symbol.iterator]=function(){return this}),n;function l(n){return function(l){return function(n){if(r)throw new TypeError("Generator is already executing.");for(;o;)try{if(r=1,i&&(a=2&n[0]?i.return:n[0]?i.throw||((a=i.return)&&a.call(i),0):i.next)&&!(a=a.call(i,n[1])).done)return a;switch(i=0,a&&(n=[2&n[0],a.value]),n[0]){case 0:case 1:a=n;break;case 4:return o.label++,{value:n[1],done:!1};case 5:o.label++,i=n[1],n=[0];continue;case 7:n=o.ops.pop(),o.trys.pop();continue;default:if(!(a=o.trys,(a=a.length>0&&a[a.length-1])||6!==n[0]&&2!==n[0])){o=0;continue}if(3===n[0]&&(!a||n[1]>a[0]&&n[1]0&&a[a.length-1])||6!==n[0]&&2!==n[0])){o=0;continue}if(3===n[0]&&(!a||n[1]>a[0]&&n[1]0&&a[a.length-1])||6!==n[0]&&2!==n[0])){o=0;continue}if(3===n[0]&&(!a||n[1]>a[0]&&n[1]0&&a[a.length-1])||6!==n[0]&&2!==n[0])){o=0;continue}if(3===n[0]&&(!a||n[1]>a[0]&&n[1]=0;u--)if(d[u]!==c[u])return!1;for(u=d.length-1;u>=0;u--)if(l=d[u],!g(t[l],e[l],r,i))return!1;return!0}(t,e,r,i))}return r?t===e:t==e}function b(t){return"[object Arguments]"==Object.prototype.toString.call(t)}function w(t,e){if(!t||!e)return!1;if("[object RegExp]"==Object.prototype.toString.call(e))return e.test(t);try{if(t instanceof e)return!0}catch(t){}return!Error.isPrototypeOf(e)&&!0===e.call({},t)}function O(t,e,r,i){var a;if("function"!=typeof e)throw new TypeError('"block" argument must be a function');"string"==typeof r&&(i=r,r=null),a=function(t){var e;try{t()}catch(t){e=t}return e}(e),i=(r&&r.name?" ("+r.name+").":".")+(i?" "+i:"."),t&&!a&&m(a,r,"Missing expected exception"+i);var n="string"==typeof i,l=!t&&a&&!r;if((!t&&o.isError(a)&&n&&w(a,r)||l)&&m(a,r,"Got unwanted exception"+i),t&&a&&r&&!w(a,r)||!t&&a)throw a}p.AssertionError=function(t){var e;this.name="AssertionError",this.actual=t.actual,this.expected=t.expected,this.operator=t.operator,t.message?(this.message=t.message,this.generatedMessage=!1):(this.message=v(y((e=this).actual),128)+" "+e.operator+" "+v(y(e.expected),128),this.generatedMessage=!0);var r=t.stackStartFunction||m;if(Error.captureStackTrace)Error.captureStackTrace(this,r);else{var i=new Error;if(i.stack){var a=i.stack,n=h(r),o=a.indexOf("\n"+n);if(o>=0){var l=a.indexOf("\n",o+1);a=a.substring(l+1)}this.stack=a}}},o.inherits(p.AssertionError,Error),p.fail=m,p.ok=V,p.equal=function(t,e,r){t!=e&&m(t,e,r,"==",p.equal)},p.notEqual=function(t,e,r){t==e&&m(t,e,r,"!=",p.notEqual)},p.deepEqual=function(t,e,r){g(t,e,!1)||m(t,e,r,"deepEqual",p.deepEqual)},p.deepStrictEqual=function(t,e,r){g(t,e,!0)||m(t,e,r,"deepStrictEqual",p.deepStrictEqual)},p.notDeepEqual=function(t,e,r){g(t,e,!1)&&m(t,e,r,"notDeepEqual",p.notDeepEqual)},p.notDeepStrictEqual=function t(e,r,i){g(e,r,!0)&&m(e,r,i,"notDeepStrictEqual",t)},p.strictEqual=function(t,e,r){t!==e&&m(t,e,r,"===",p.strictEqual)},p.notStrictEqual=function(t,e,r){t===e&&m(t,e,r,"!==",p.notStrictEqual)},p.throws=function(t,e,r){O(!0,t,e,r)},p.doesNotThrow=function(t,e,r){O(!1,t,e,r)},p.ifError=function(t){if(t)throw t},p.strict=i((function t(e,r){e||m(e,!0,r,"==",t)}),p,{equal:p.strictEqual,deepEqual:p.deepStrictEqual,notEqual:p.notStrictEqual,notDeepEqual:p.notDeepStrictEqual}),p.strict.strict=p.strict;var S=Object.keys||function(t){var e=[];for(var r in t)l.call(t,r)&&e.push(r);return e}}).call(this,r(18))},function(t,e,r){var i,a=this&&this.__extends||(i=function(t,e){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])})(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.Dashboard=void 0;var n=r(0),o=function(t){function e(r,i,a,n,o){var l=t.call(this,r,i,a,void 0,n,o)||this;return l.loadPath="/dashboard/load",l.phasedLoadPath="/dashboard/prepare",Array.prototype.push.apply(l.allowedEvents,e.allowedEvents),l}return a(e,t),e.findIdFromEmbedUrl=function(t){var e,r=t.match(/dashboardId="?([^&]+)"?/);return r&&(e=r[1]),e},e.prototype.getId=function(){var t=this.config,r=t.id||this.element.getAttribute(e.dashboardIdAttribute)||e.findIdFromEmbedUrl(t.embedUrl);if("string"!=typeof r||0===r.length)throw new Error("Dashboard id is required, but it was not found. You must provide an id either as part of embed configuration or as attribute '".concat(e.dashboardIdAttribute,"'."));return r},e.prototype.validate=function(t){var e=t,r=(0,n.validateDashboardLoad)(e);return r||this.validatePageView(e.pageView)},e.prototype.configChanged=function(t){t||(this.config.id=this.getId())},e.prototype.getDefaultEmbedUrlEndpoint=function(){return"dashboardEmbed"},e.prototype.validatePageView=function(t){if(t&&"fitToWidth"!==t&&"oneColumn"!==t&&"actualSize"!==t)return[{message:"pageView must be one of the followings: fitToWidth, oneColumn, actualSize"}]},e.allowedEvents=["tileClicked","error"],e.dashboardIdAttribute="powerbi-dashboard-id",e.typeAttribute="powerbi-type",e.type="Dashboard",e}(r(1).Embed);e.Dashboard=o},function(t,e,r){var i,a=this&&this.__extends||(i=function(t,e){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])})(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.Tile=void 0;var n=r(0),o=function(t){function e(r,i,a,n,o){var l=this,s=a;return(l=t.call(this,r,i,s,void 0,n,o)||this).loadPath="/tile/load",Array.prototype.push.apply(l.allowedEvents,e.allowedEvents),l}return a(e,t),e.prototype.getId=function(){var t=this.config.id||e.findIdFromEmbedUrl(this.config.embedUrl);if("string"!=typeof t||0===t.length)throw new Error("Tile id is required, but it was not found. You must provide an id either as part of embed configuration.");return t},e.prototype.validate=function(t){var e=t;return(0,n.validateTileLoad)(e)},e.prototype.configChanged=function(t){t||(this.config.id=this.getId())},e.prototype.getDefaultEmbedUrlEndpoint=function(){return"tileEmbed"},e.findIdFromEmbedUrl=function(t){var e,r=t.match(/tileId="?([^&]+)"?/);return r&&(e=r[1]),e},e.type="Tile",e.allowedEvents=["tileClicked","tileLoaded"],e}(r(1).Embed);e.Tile=o},function(t,e,r){var i,a=this&&this.__extends||(i=function(t,e){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])})(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}),n=this&&this.__awaiter||function(t,e,r,i){return new(r||(r=Promise))((function(a,n){function o(t){try{s(i.next(t))}catch(t){n(t)}}function l(t){try{s(i.throw(t))}catch(t){n(t)}}function s(t){var e;t.done?a(t.value):(e=t.value,e instanceof r?e:new r((function(t){t(e)}))).then(o,l)}s((i=i.apply(t,e||[])).next())}))},o=this&&this.__generator||function(t,e){var r,i,a,n,o={label:0,sent:function(){if(1&a[0])throw a[1];return a[1]},trys:[],ops:[]};return n={next:l(0),throw:l(1),return:l(2)},"function"==typeof Symbol&&(n[Symbol.iterator]=function(){return this}),n;function l(n){return function(l){return function(n){if(r)throw new TypeError("Generator is already executing.");for(;o;)try{if(r=1,i&&(a=2&n[0]?i.return:n[0]?i.throw||((a=i.return)&&a.call(i),0):i.next)&&!(a=a.call(i,n[1])).done)return a;switch(i=0,a&&(n=[2&n[0],a.value]),n[0]){case 0:case 1:a=n;break;case 4:return o.label++,{value:n[1],done:!1};case 5:o.label++,i=n[1],n=[0];continue;case 7:n=o.ops.pop(),o.trys.pop();continue;default:if(!(a=o.trys,(a=a.length>0&&a[a.length-1])||6!==n[0]&&2!==n[0])){o=0;continue}if(3===n[0]&&(!a||n[1]>a[0]&&n[1]0&&a[a.length-1])||6!==n[0]&&2!==n[0])){o=0;continue}if(3===n[0]&&(!a||n[1]>a[0]&&n[1]0&&a[a.length-1])||6!==n[0]&&2!==n[0])){o=0;continue}if(3===n[0]&&(!a||n[1]>a[0]&&n[1]0&&a[a.length-1])||6!==n[0]&&2!==n[0])){o=0;continue}if(3===n[0]&&(!a||n[1]>a[0]&&n[1]0&&a[a.length-1])||6!==n[0]&&2!==n[0])){o=0;continue}if(3===n[0]&&(!a||n[1]>a[0]&&n[1]=n)return t;switch(t){case"%s":return String(i[r++]);case"%d":return Number(i[r++]);case"%j":try{return JSON.stringify(i[r++])}catch(t){return"[Circular]"}default:return t}})),s=i[r];r=3&&(i.depth=arguments[2]),arguments.length>=4&&(i.colors=arguments[3]),h(r)?i.showHidden=r:r&&e._extend(i,r),V(i.showHidden)&&(i.showHidden=!1),V(i.depth)&&(i.depth=2),V(i.colors)&&(i.colors=!1),V(i.customInspect)&&(i.customInspect=!0),i.colors&&(i.stylize=s),d(i,t,i.depth)}function s(t,e){var r=l.styles[e];return r?"["+l.colors[r][0]+"m"+t+"["+l.colors[r][1]+"m":t}function u(t,e){return t}function d(t,r,i){if(t.customInspect&&r&&S(r.inspect)&&r.inspect!==e.inspect&&(!r.constructor||r.constructor.prototype!==r)){var a=r.inspect(i,t);return m(a)||(a=d(t,a,i)),a}var n=function(t,e){if(V(e))return t.stylize("undefined","undefined");if(m(e)){var r="'"+JSON.stringify(e).replace(/^"|"$/g,"").replace(/'/g,"\\'").replace(/\\"/g,'"')+"'";return t.stylize(r,"string")}if(y(e))return t.stylize(""+e,"number");if(h(e))return t.stylize(""+e,"boolean");if(v(e))return t.stylize("null","null")}(t,r);if(n)return n;var o=Object.keys(r),l=function(t){var e={};return t.forEach((function(t,r){e[t]=!0})),e}(o);if(t.showHidden&&(o=Object.getOwnPropertyNames(r)),O(r)&&(o.indexOf("message")>=0||o.indexOf("description")>=0))return c(r);if(0===o.length){if(S(r)){var s=r.name?": "+r.name:"";return t.stylize("[Function"+s+"]","special")}if(g(r))return t.stylize(RegExp.prototype.toString.call(r),"regexp");if(w(r))return t.stylize(Date.prototype.toString.call(r),"date");if(O(r))return c(r)}var u,b="",P=!1,_=["{","}"];(f(r)&&(P=!0,_=["[","]"]),S(r))&&(b=" [Function"+(r.name?": "+r.name:"")+"]");return g(r)&&(b=" "+RegExp.prototype.toString.call(r)),w(r)&&(b=" "+Date.prototype.toUTCString.call(r)),O(r)&&(b=" "+c(r)),0!==o.length||P&&0!=r.length?i<0?g(r)?t.stylize(RegExp.prototype.toString.call(r),"regexp"):t.stylize("[Object]","special"):(t.seen.push(r),u=P?function(t,e,r,i,a){for(var n=[],o=0,l=e.length;o=0&&0,t+e.replace(/\u001b\[\d\d?m/g,"").length+1}),0)>60)return r[0]+(""===e?"":e+"\n ")+" "+t.join(",\n ")+" "+r[1];return r[0]+e+" "+t.join(", ")+" "+r[1]}(u,b,_)):_[0]+b+_[1]}function c(t){return"["+Error.prototype.toString.call(t)+"]"}function p(t,e,r,i,a,n){var o,l,s;if((s=Object.getOwnPropertyDescriptor(e,a)||{value:e[a]}).get?l=s.set?t.stylize("[Getter/Setter]","special"):t.stylize("[Getter]","special"):s.set&&(l=t.stylize("[Setter]","special")),F(i,a)||(o="["+a+"]"),l||(t.seen.indexOf(s.value)<0?(l=v(r)?d(t,s.value,null):d(t,s.value,r-1)).indexOf("\n")>-1&&(l=n?l.split("\n").map((function(t){return" "+t})).join("\n").substr(2):"\n"+l.split("\n").map((function(t){return" "+t})).join("\n")):l=t.stylize("[Circular]","special")),V(o)){if(n&&a.match(/^\d+$/))return l;(o=JSON.stringify(""+a)).match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/)?(o=o.substr(1,o.length-2),o=t.stylize(o,"name")):(o=o.replace(/'/g,"\\'").replace(/\\"/g,'"').replace(/(^"|"$)/g,"'"),o=t.stylize(o,"string"))}return o+": "+l}function f(t){return Array.isArray(t)}function h(t){return"boolean"==typeof t}function v(t){return null===t}function y(t){return"number"==typeof t}function m(t){return"string"==typeof t}function V(t){return void 0===t}function g(t){return b(t)&&"[object RegExp]"===P(t)}function b(t){return"object"==typeof t&&null!==t}function w(t){return b(t)&&"[object Date]"===P(t)}function O(t){return b(t)&&("[object Error]"===P(t)||t instanceof Error)}function S(t){return"function"==typeof t}function P(t){return Object.prototype.toString.call(t)}function _(t){return t<10?"0"+t.toString(10):t.toString(10)}e.debuglog=function(r){if(V(n)&&(n=t.env.NODE_DEBUG||""),r=r.toUpperCase(),!o[r])if(new RegExp("\\b"+r+"\\b","i").test(n)){var i=t.pid;o[r]=function(){var t=e.format.apply(e,arguments);console.error("%s %d: %s",r,i,t)}}else o[r]=function(){};return o[r]},e.inspect=l,l.colors={bold:[1,22],italic:[3,23],underline:[4,24],inverse:[7,27],white:[37,39],grey:[90,39],black:[30,39],blue:[34,39],cyan:[36,39],green:[32,39],magenta:[35,39],red:[31,39],yellow:[33,39]},l.styles={special:"cyan",number:"yellow",boolean:"yellow",undefined:"grey",null:"bold",string:"green",date:"magenta",regexp:"red"},e.isArray=f,e.isBoolean=h,e.isNull=v,e.isNullOrUndefined=function(t){return null==t},e.isNumber=y,e.isString=m,e.isSymbol=function(t){return"symbol"==typeof t},e.isUndefined=V,e.isRegExp=g,e.isObject=b,e.isDate=w,e.isError=O,e.isFunction=S,e.isPrimitive=function(t){return null===t||"boolean"==typeof t||"number"==typeof t||"string"==typeof t||"symbol"==typeof t||void 0===t},e.isBuffer=r(21);var T=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];function E(){var t=new Date,e=[_(t.getHours()),_(t.getMinutes()),_(t.getSeconds())].join(":");return[t.getDate(),T[t.getMonth()],e].join(" ")}function F(t,e){return Object.prototype.hasOwnProperty.call(t,e)}e.log=function(){console.log("%s - %s",E(),e.format.apply(e,arguments))},e.inherits=r(22),e._extend=function(t,e){if(!e||!b(e))return t;for(var r=Object.keys(e),i=r.length;i--;)t[r[i]]=e[r[i]];return t};var x="undefined"!=typeof Symbol?Symbol("util.promisify.custom"):void 0;function C(t,e){if(!t){var r=new Error("Promise was rejected with a falsy value");r.reason=t,t=r}return e(t)}e.promisify=function(t){if("function"!=typeof t)throw new TypeError('The "original" argument must be of type Function');if(x&&t[x]){var e;if("function"!=typeof(e=t[x]))throw new TypeError('The "util.promisify.custom" argument must be of type Function');return Object.defineProperty(e,x,{value:e,enumerable:!1,writable:!1,configurable:!0}),e}function e(){for(var e,r,i=new Promise((function(t,i){e=t,r=i})),a=[],n=0;n1)for(var r=1;r0&&a[a.length-1])||6!==n[0]&&2!==n[0])){o=0;continue}if(3===n[0]&&(!a||n[1]>a[0]&&n[1]0&&a[a.length-1])||6!==n[0]&&2!==n[0])){o=0;continue}if(3===n[0]&&(!a||n[1]>a[0]&&n[1]=n)return t;switch(t){case"%s":return String(i[r++]);case"%d":return Number(i[r++]);case"%j":try{return JSON.stringify(i[r++])}catch(t){return"[Circular]"}default:return t}})),s=i[r];r=3&&(i.depth=arguments[2]),arguments.length>=4&&(i.colors=arguments[3]),h(r)?i.showHidden=r:r&&e._extend(i,r),V(i.showHidden)&&(i.showHidden=!1),V(i.depth)&&(i.depth=2),V(i.colors)&&(i.colors=!1),V(i.customInspect)&&(i.customInspect=!0),i.colors&&(i.stylize=s),d(i,t,i.depth)}function s(t,e){var r=l.styles[e];return r?"["+l.colors[r][0]+"m"+t+"["+l.colors[r][1]+"m":t}function u(t,e){return t}function d(t,r,i){if(t.customInspect&&r&&S(r.inspect)&&r.inspect!==e.inspect&&(!r.constructor||r.constructor.prototype!==r)){var a=r.inspect(i,t);return m(a)||(a=d(t,a,i)),a}var n=function(t,e){if(V(e))return t.stylize("undefined","undefined");if(m(e)){var r="'"+JSON.stringify(e).replace(/^"|"$/g,"").replace(/'/g,"\\'").replace(/\\"/g,'"')+"'";return t.stylize(r,"string")}if(y(e))return t.stylize(""+e,"number");if(h(e))return t.stylize(""+e,"boolean");if(v(e))return t.stylize("null","null")}(t,r);if(n)return n;var o=Object.keys(r),l=function(t){var e={};return t.forEach((function(t,r){e[t]=!0})),e}(o);if(t.showHidden&&(o=Object.getOwnPropertyNames(r)),O(r)&&(o.indexOf("message")>=0||o.indexOf("description")>=0))return c(r);if(0===o.length){if(S(r)){var s=r.name?": "+r.name:"";return t.stylize("[Function"+s+"]","special")}if(g(r))return t.stylize(RegExp.prototype.toString.call(r),"regexp");if(w(r))return t.stylize(Date.prototype.toString.call(r),"date");if(O(r))return c(r)}var u,b="",P=!1,_=["{","}"];(f(r)&&(P=!0,_=["[","]"]),S(r))&&(b=" [Function"+(r.name?": "+r.name:"")+"]");return g(r)&&(b=" "+RegExp.prototype.toString.call(r)),w(r)&&(b=" "+Date.prototype.toUTCString.call(r)),O(r)&&(b=" "+c(r)),0!==o.length||P&&0!=r.length?i<0?g(r)?t.stylize(RegExp.prototype.toString.call(r),"regexp"):t.stylize("[Object]","special"):(t.seen.push(r),u=P?function(t,e,r,i,a){for(var n=[],o=0,l=e.length;o=0&&0,t+e.replace(/\u001b\[\d\d?m/g,"").length+1}),0)>60)return r[0]+(""===e?"":e+"\n ")+" "+t.join(",\n ")+" "+r[1];return r[0]+e+" "+t.join(", ")+" "+r[1]}(u,b,_)):_[0]+b+_[1]}function c(t){return"["+Error.prototype.toString.call(t)+"]"}function p(t,e,r,i,a,n){var o,l,s;if((s=Object.getOwnPropertyDescriptor(e,a)||{value:e[a]}).get?l=s.set?t.stylize("[Getter/Setter]","special"):t.stylize("[Getter]","special"):s.set&&(l=t.stylize("[Setter]","special")),F(i,a)||(o="["+a+"]"),l||(t.seen.indexOf(s.value)<0?(l=v(r)?d(t,s.value,null):d(t,s.value,r-1)).indexOf("\n")>-1&&(l=n?l.split("\n").map((function(t){return" "+t})).join("\n").substr(2):"\n"+l.split("\n").map((function(t){return" "+t})).join("\n")):l=t.stylize("[Circular]","special")),V(o)){if(n&&a.match(/^\d+$/))return l;(o=JSON.stringify(""+a)).match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/)?(o=o.substr(1,o.length-2),o=t.stylize(o,"name")):(o=o.replace(/'/g,"\\'").replace(/\\"/g,'"').replace(/(^"|"$)/g,"'"),o=t.stylize(o,"string"))}return o+": "+l}function f(t){return Array.isArray(t)}function h(t){return"boolean"==typeof t}function v(t){return null===t}function y(t){return"number"==typeof t}function m(t){return"string"==typeof t}function V(t){return void 0===t}function g(t){return b(t)&&"[object RegExp]"===P(t)}function b(t){return"object"==typeof t&&null!==t}function w(t){return b(t)&&"[object Date]"===P(t)}function O(t){return b(t)&&("[object Error]"===P(t)||t instanceof Error)}function S(t){return"function"==typeof t}function P(t){return Object.prototype.toString.call(t)}function _(t){return t<10?"0"+t.toString(10):t.toString(10)}e.debuglog=function(r){if(V(n)&&(n=t.env.NODE_DEBUG||""),r=r.toUpperCase(),!o[r])if(new RegExp("\\b"+r+"\\b","i").test(n)){var i=t.pid;o[r]=function(){var t=e.format.apply(e,arguments);console.error("%s %d: %s",r,i,t)}}else o[r]=function(){};return o[r]},e.inspect=l,l.colors={bold:[1,22],italic:[3,23],underline:[4,24],inverse:[7,27],white:[37,39],grey:[90,39],black:[30,39],blue:[34,39],cyan:[36,39],green:[32,39],magenta:[35,39],red:[31,39],yellow:[33,39]},l.styles={special:"cyan",number:"yellow",boolean:"yellow",undefined:"grey",null:"bold",string:"green",date:"magenta",regexp:"red"},e.isArray=f,e.isBoolean=h,e.isNull=v,e.isNullOrUndefined=function(t){return null==t},e.isNumber=y,e.isString=m,e.isSymbol=function(t){return"symbol"==typeof t},e.isUndefined=V,e.isRegExp=g,e.isObject=b,e.isDate=w,e.isError=O,e.isFunction=S,e.isPrimitive=function(t){return null===t||"boolean"==typeof t||"number"==typeof t||"string"==typeof t||"symbol"==typeof t||void 0===t},e.isBuffer=r(22);var T=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];function E(){var t=new Date,e=[_(t.getHours()),_(t.getMinutes()),_(t.getSeconds())].join(":");return[t.getDate(),T[t.getMonth()],e].join(" ")}function F(t,e){return Object.prototype.hasOwnProperty.call(t,e)}e.log=function(){console.log("%s - %s",E(),e.format.apply(e,arguments))},e.inherits=r(23),e._extend=function(t,e){if(!e||!b(e))return t;for(var r=Object.keys(e),i=r.length;i--;)t[r[i]]=e[r[i]];return t};var x="undefined"!=typeof Symbol?Symbol("util.promisify.custom"):void 0;function C(t,e){if(!t){var r=new Error("Promise was rejected with a falsy value");r.reason=t,t=r}return e(t)}e.promisify=function(t){if("function"!=typeof t)throw new TypeError('The "original" argument must be of type Function');if(x&&t[x]){var e;if("function"!=typeof(e=t[x]))throw new TypeError('The "util.promisify.custom" argument must be of type Function');return Object.defineProperty(e,x,{value:e,enumerable:!1,writable:!1,configurable:!0}),e}function e(){for(var e,r,i=new Promise((function(t,i){e=t,r=i})),a=[],n=0;n1)for(var r=1;r0&&a[a.length-1])||6!==n[0]&&2!==n[0])){o=0;continue}if(3===n[0]&&(!a||n[1]>a[0]&&n[1] Date: Wed, 7 Dec 2022 07:06:45 +0000 Subject: [PATCH 103/125] Merged PR 331401: bump version to 2.22.1 bump version to 2.22.1 Includes minor bug fix and model version update Related work items: #930573 --- dist/powerbi-client.d.ts | 2 +- dist/powerbi.js | 4 ++-- dist/powerbi.min.js | 4 ++-- package.json | 2 +- src/config.ts | 2 +- 5 files changed, 7 insertions(+), 7 deletions(-) diff --git a/dist/powerbi-client.d.ts b/dist/powerbi-client.d.ts index d5d4d22a..06d9f3ef 100644 --- a/dist/powerbi-client.d.ts +++ b/dist/powerbi-client.d.ts @@ -1,4 +1,4 @@ -// powerbi-client v2.22.0 +// powerbi-client v2.22.1 // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. declare module "config" { diff --git a/dist/powerbi.js b/dist/powerbi.js index 1e5f9b28..6134954b 100644 --- a/dist/powerbi.js +++ b/dist/powerbi.js @@ -1,4 +1,4 @@ -// powerbi-client v2.22.0 +// powerbi-client v2.22.1 // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. (function webpackUniversalModuleDefinition(root, factory) { @@ -9292,7 +9292,7 @@ exports.BookmarksManager = BookmarksManager; Object.defineProperty(exports, "__esModule", { value: true }); /** @ignore */ /** */ var config = { - version: '2.22.0', + version: '2.22.1', type: 'js' }; exports.default = config; diff --git a/dist/powerbi.min.js b/dist/powerbi.min.js index 6fa1e471..61077977 100644 --- a/dist/powerbi.min.js +++ b/dist/powerbi.min.js @@ -1,7 +1,7 @@ -// powerbi-client v2.22.0 +// powerbi-client v2.22.1 // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. -!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){var e={};function r(i){if(e[i])return e[i].exports;var a=e[i]={i:i,l:!1,exports:{}};return t[i].call(a.exports,a,a.exports,r),a.l=!0,a.exports}return r.m=t,r.c=e,r.d=function(t,e,i){r.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:i})},r.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},r.t=function(t,e){if(1&e&&(t=r(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var i=Object.create(null);if(r.r(i),Object.defineProperty(i,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var a in t)r.d(i,a,function(e){return t[e]}.bind(null,a));return i},r.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return r.d(e,"a",e),e},r.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},r.p="",r(r.s=15)}([function(t,e,r){var i;i=()=>{return t=[function(t,e,r){var i,a=this&&this.__extends||(i=function(t,e){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])})(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.SortDirection=e.LegendPosition=e.TextAlignment=e.CommonErrorCodes=e.BookmarksPlayMode=e.ExportDataType=e.QnaMode=e.PageNavigationPosition=e.DataCacheMode=e.CredentialType=e.isPercentOfGrandTotal=e.isColumnAggr=e.isHierarchyLevelAggr=e.isHierarchyLevel=e.isColumn=e.isMeasure=e.getFilterType=e.isBasicFilterWithKeys=e.isFilterKeyColumnsTarget=e.HierarchyFilter=e.AdvancedFilter=e.TupleFilter=e.IdentityFilter=e.BasicFilterWithKeys=e.BasicFilter=e.RelativeTimeFilter=e.RelativeDateFilter=e.TopNFilter=e.IncludeExcludeFilter=e.NotSupportedFilter=e.Filter=e.RelativeDateOperators=e.RelativeDateFilterTimeUnit=e.FilterType=e.FiltersLevel=e.FiltersOperations=e.MenuLocation=e.ContrastMode=e.TokenType=e.ViewMode=e.Permissions=e.SectionVisibility=e.ReportAlignment=e.HyperlinkClickBehavior=e.LayoutType=e.VisualContainerDisplayMode=e.BackgroundType=e.DisplayOption=e.PageSizeType=e.TraceType=void 0,e.validateCommandsSettings=e.validateVisualSettings=e.validateVisualHeader=e.validateExportDataRequest=e.validateQnaInterpretInputData=e.validateLoadQnaConfiguration=e.validateSaveAsParameters=e.validateUpdateFiltersRequest=e.validateFilter=e.validatePage=e.validateTileLoad=e.validateDashboardLoad=e.validateQuickCreate=e.validateCreateReport=e.validatePaginatedReportLoad=e.validateReportLoad=e.validateMenuGroupExtension=e.validateExtension=e.validateCustomPageSize=e.validateVisualizationsPane=e.validateSyncSlicersPane=e.validateSelectionPane=e.validatePageNavigationPane=e.validateFieldsPane=e.validateFiltersPane=e.validateBookmarksPane=e.validatePanes=e.validateSettings=e.validateCaptureBookmarkRequest=e.validateApplyBookmarkStateRequest=e.validateApplyBookmarkByNameRequest=e.validateAddBookmarkRequest=e.validatePlayBookmarkRequest=e.validateSlicerState=e.validateSlicer=e.validateVisualSelector=e.isIExtensionArray=e.isIExtensions=e.isGroupedMenuExtension=e.isFlatMenuExtension=e.isReportFiltersArray=e.isOnLoadFilters=e.VisualDataRoleKindPreference=e.VisualDataRoleKind=e.CommandDisplayOption=e.SlicerTargetSelector=e.VisualTypeSelector=e.VisualSelector=e.PageSelector=e.Selector=void 0,e.validateZoomLevel=e.validateCustomTheme=void 0;var n,o=r(1);!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"}(e.TraceType||(e.TraceType={})),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",t[t.Mobile=5]="Mobile"}(e.PageSizeType||(e.PageSizeType={})),function(t){t[t.FitToPage=0]="FitToPage",t[t.FitToWidth=1]="FitToWidth",t[t.ActualSize=2]="ActualSize"}(e.DisplayOption||(e.DisplayOption={})),function(t){t[t.Default=0]="Default",t[t.Transparent=1]="Transparent"}(e.BackgroundType||(e.BackgroundType={})),function(t){t[t.Visible=0]="Visible",t[t.Hidden=1]="Hidden"}(e.VisualContainerDisplayMode||(e.VisualContainerDisplayMode={})),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={})),function(t){t[t.Navigate=0]="Navigate",t[t.NavigateAndRaiseEvent=1]="NavigateAndRaiseEvent",t[t.RaiseEvent=2]="RaiseEvent"}(e.HyperlinkClickBehavior||(e.HyperlinkClickBehavior={})),function(t){t[t.Left=0]="Left",t[t.Center=1]="Center",t[t.Right=2]="Right",t[t.None=3]="None"}(e.ReportAlignment||(e.ReportAlignment={})),function(t){t[t.AlwaysVisible=0]="AlwaysVisible",t[t.HiddenInViewMode=1]="HiddenInViewMode"}(e.SectionVisibility||(e.SectionVisibility={})),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"}(e.Permissions||(e.Permissions={})),function(t){t[t.View=0]="View",t[t.Edit=1]="Edit"}(e.ViewMode||(e.ViewMode={})),function(t){t[t.Aad=0]="Aad",t[t.Embed=1]="Embed"}(e.TokenType||(e.TokenType={})),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"}(e.ContrastMode||(e.ContrastMode={})),function(t){t[t.Bottom=0]="Bottom",t[t.Top=1]="Top"}(e.MenuLocation||(e.MenuLocation={})),function(t){t[t.RemoveAll=0]="RemoveAll",t[t.ReplaceAll=1]="ReplaceAll",t[t.Add=2]="Add",t[t.Replace=3]="Replace"}(e.FiltersOperations||(e.FiltersOperations={})),function(t){t[t.Report=0]="Report",t[t.Page=1]="Page",t[t.Visual=2]="Visual"}(e.FiltersLevel||(e.FiltersLevel={})),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",t[t.Identity=8]="Identity",t[t.Hierarchy=9]="Hierarchy"}(n=e.FilterType||(e.FilterType={})),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"}(e.RelativeDateFilterTimeUnit||(e.RelativeDateFilterTimeUnit={})),function(t){t[t.InLast=0]="InLast",t[t.InThis=1]="InThis",t[t.InNext=2]="InNext"}(e.RelativeDateOperators||(e.RelativeDateOperators={}));var l=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=l;var s=function(t){function e(r,i,a){var o=t.call(this,r,n.Unknown)||this;return o.message=i,o.notSupportedTypeName=a,o.schemaUrl=e.schemaUrl,o}return a(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}(l);e.NotSupportedFilter=s;var u=function(t){function e(r,i,a){var o=t.call(this,r,n.IncludeExclude)||this;return o.values=a,o.isExclude=i,o.schemaUrl=e.schemaUrl,o}return a(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}(l);e.IncludeExcludeFilter=u;var d=function(t){function e(r,i,a,o){var l=t.call(this,r,n.TopN)||this;return l.operator=i,l.itemCount=a,l.schemaUrl=e.schemaUrl,l.orderBy=o,l}return a(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}(l);e.TopNFilter=d;var c=function(t){function e(r,i,a,o,l){var s=t.call(this,r,n.RelativeDate)||this;return s.operator=i,s.timeUnitsCount=a,s.timeUnitType=o,s.includeToday=l,s.schemaUrl=e.schemaUrl,s}return a(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}(l);e.RelativeDateFilter=c;var p=function(t){function e(r,i,a,o){var l=t.call(this,r,n.RelativeTime)||this;return l.operator=i,l.timeUnitsCount=a,l.timeUnitType=o,l.schemaUrl=e.schemaUrl,l}return a(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}(l);e.RelativeTimeFilter=p;var f=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 ".concat(o," keys"));if(0===o&&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,s=n.keyValues;l2)throw new Error("AdvancedFilters may not have more than two conditions. You passed: ".concat(a.length));if(1===l.length&&"And"!==i)throw new Error('Logical Operator must be "And" when there is only one condition provided');return s.conditions=l,s}return a(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}(l);e.AdvancedFilter=m;var V=function(t){function e(r,i){var a=t.call(this,r,n.Hierarchy)||this;return a.schemaUrl=e.schemaUrl,a.hierarchyData=i,a}return a(e,t),e.prototype.toJSON=function(){var e=t.prototype.toJSON.call(this);return e.hierarchyData=this.hierarchyData,e.target=this.target,e},e.schemaUrl="http://powerbi.com/product/schema#hierarchy",e}(l);function g(t){if(t.filterType)return t.filterType;var e=t,r=t;return"string"==typeof e.operator&&Array.isArray(e.values)?n.Basic:"string"==typeof r.logicalOperator&&Array.isArray(r.conditions)?n.Advanced:n.Unknown}function b(t){return!(!t.table||!t.column||t.aggregationFunction)}e.HierarchyFilter=V,e.isFilterKeyColumnsTarget=function(t){return b(t)&&!!t.keys},e.isBasicFilterWithKeys=function(t){return g(t)===n.Basic&&!!t.keyValues},e.getFilterType=g,e.isMeasure=function(t){return void 0!==t.table&&void 0!==t.measure},e.isColumn=b,e.isHierarchyLevel=function(t){return!(!(t.table&&t.hierarchy&&t.hierarchyLevel)||t.aggregationFunction)},e.isHierarchyLevelAggr=function(t){return!!(t.table&&t.hierarchy&&t.hierarchyLevel&&t.aggregationFunction)},e.isColumnAggr=function(t){return!!(t.table&&t.column&&t.aggregationFunction)},e.isPercentOfGrandTotal=function(t){return!!t.percentOfGrandTotal},function(t){t[t.NoConnection=0]="NoConnection",t[t.OnBehalfOf=1]="OnBehalfOf",t[t.Anonymous=2]="Anonymous"}(e.CredentialType||(e.CredentialType={})),function(t){t[t.Import=0]="Import",t[t.DirectQuery=1]="DirectQuery"}(e.DataCacheMode||(e.DataCacheMode={})),function(t){t[t.Bottom=0]="Bottom",t[t.Left=1]="Left"}(e.PageNavigationPosition||(e.PageNavigationPosition={})),function(t){t[t.Interactive=0]="Interactive",t[t.ResultOnly=1]="ResultOnly"}(e.QnaMode||(e.QnaMode={})),function(t){t[t.Summarized=0]="Summarized",t[t.Underlying=1]="Underlying"}(e.ExportDataType||(e.ExportDataType={})),function(t){t[t.Off=0]="Off",t[t.Presentation=1]="Presentation"}(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"},function(t){t[t.Ascending=1]="Ascending",t[t.Descending=2]="Descending"}(e.SortDirection||(e.SortDirection={}));var w=function(){function t(t){this.$schema=t}return t.prototype.toJSON=function(){return{$schema:this.$schema}},t}();e.Selector=w;var O=function(t){function e(r){var i=t.call(this,e.schemaUrl)||this;return i.pageName=r,i}return a(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}(w);e.PageSelector=O;var S=function(t){function e(r){var i=t.call(this,e.schemaUrl)||this;return i.visualName=r,i}return a(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}(w);e.VisualSelector=S;var P=function(t){function e(e){var r=t.call(this,S.schemaUrl)||this;return r.visualType=e,r}return a(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}(w);e.VisualTypeSelector=P;var _=function(t){function e(e){var r=t.call(this,S.schemaUrl)||this;return r.target=e,r}return a(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}(w);function T(t){return Array.isArray(t)}function E(t){return t&&!!t.groupName}function F(t){return Array.isArray(t)}function x(t){var e=t.message;return e||(e="".concat(t.path," is invalid. Not meeting ").concat(t.keyword," constraint")),{message:e}}e.SlicerTargetSelector=_,function(t){t[t.Enabled=0]="Enabled",t[t.Disabled=1]="Disabled",t[t.Hidden=2]="Hidden"}(e.CommandDisplayOption||(e.CommandDisplayOption={})),function(t){t[t.Grouping=0]="Grouping",t[t.Measure=1]="Measure",t[t.GroupingOrMeasure=2]="GroupingOrMeasure"}(e.VisualDataRoleKind||(e.VisualDataRoleKind={})),function(t){t[t.Measure=0]="Measure",t[t.Grouping=1]="Grouping"}(e.VisualDataRoleKindPreference||(e.VisualDataRoleKindPreference={})),e.isOnLoadFilters=function(t){return t&&!T(t)},e.isReportFiltersArray=T,e.isFlatMenuExtension=function(t){return t&&!E(t)},e.isGroupedMenuExtension=E,e.isIExtensions=function(t){return t&&!F(t)},e.isIExtensionArray=F,e.validateVisualSelector=function(t){var e=o.Validators.visualSelectorValidator.validate(t);return e?e.map(x):void 0},e.validateSlicer=function(t){var e=o.Validators.slicerValidator.validate(t);return e?e.map(x):void 0},e.validateSlicerState=function(t){var e=o.Validators.slicerStateValidator.validate(t);return e?e.map(x):void 0},e.validatePlayBookmarkRequest=function(t){var e=o.Validators.playBookmarkRequestValidator.validate(t);return e?e.map(x):void 0},e.validateAddBookmarkRequest=function(t){var e=o.Validators.addBookmarkRequestValidator.validate(t);return e?e.map(x):void 0},e.validateApplyBookmarkByNameRequest=function(t){var e=o.Validators.applyBookmarkByNameRequestValidator.validate(t);return e?e.map(x):void 0},e.validateApplyBookmarkStateRequest=function(t){var e=o.Validators.applyBookmarkStateRequestValidator.validate(t);return e?e.map(x):void 0},e.validateCaptureBookmarkRequest=function(t){var e=o.Validators.captureBookmarkRequestValidator.validate(t);return e?e.map(x):void 0},e.validateSettings=function(t){var e=o.Validators.settingsValidator.validate(t);return e?e.map(x):void 0},e.validatePanes=function(t){var e=o.Validators.reportPanesValidator.validate(t);return e?e.map(x):void 0},e.validateBookmarksPane=function(t){var e=o.Validators.bookmarksPaneValidator.validate(t);return e?e.map(x):void 0},e.validateFiltersPane=function(t){var e=o.Validators.filtersPaneValidator.validate(t);return e?e.map(x):void 0},e.validateFieldsPane=function(t){var e=o.Validators.fieldsPaneValidator.validate(t);return e?e.map(x):void 0},e.validatePageNavigationPane=function(t){var e=o.Validators.pageNavigationPaneValidator.validate(t);return e?e.map(x):void 0},e.validateSelectionPane=function(t){var e=o.Validators.selectionPaneValidator.validate(t);return e?e.map(x):void 0},e.validateSyncSlicersPane=function(t){var e=o.Validators.syncSlicersPaneValidator.validate(t);return e?e.map(x):void 0},e.validateVisualizationsPane=function(t){var e=o.Validators.visualizationsPaneValidator.validate(t);return e?e.map(x):void 0},e.validateCustomPageSize=function(t){var e=o.Validators.customPageSizeValidator.validate(t);return e?e.map(x):void 0},e.validateExtension=function(t){var e=o.Validators.extensionValidator.validate(t);return e?e.map(x):void 0},e.validateMenuGroupExtension=function(t){var e=o.Validators.menuGroupExtensionValidator.validate(t);return e?e.map(x):void 0},e.validateReportLoad=function(t){var e=o.Validators.reportLoadValidator.validate(t);return e?e.map(x):void 0},e.validatePaginatedReportLoad=function(t){var e=o.Validators.paginatedReportLoadValidator.validate(t);return e?e.map(x):void 0},e.validateCreateReport=function(t){var e=o.Validators.reportCreateValidator.validate(t);return e?e.map(x):void 0},e.validateQuickCreate=function(t){var e=o.Validators.quickCreateValidator.validate(t);return e?e.map(x):void 0},e.validateDashboardLoad=function(t){var e=o.Validators.dashboardLoadValidator.validate(t);return e?e.map(x):void 0},e.validateTileLoad=function(t){var e=o.Validators.tileLoadValidator.validate(t);return e?e.map(x):void 0},e.validatePage=function(t){var e=o.Validators.pageValidator.validate(t);return e?e.map(x):void 0},e.validateFilter=function(t){var e=o.Validators.filterValidator.validate(t);return e?e.map(x):void 0},e.validateUpdateFiltersRequest=function(t){var e=o.Validators.updateFiltersRequestValidator.validate(t);return e?e.map(x):void 0},e.validateSaveAsParameters=function(t){var e=o.Validators.saveAsParametersValidator.validate(t);return e?e.map(x):void 0},e.validateLoadQnaConfiguration=function(t){var e=o.Validators.loadQnaValidator.validate(t);return e?e.map(x):void 0},e.validateQnaInterpretInputData=function(t){var e=o.Validators.qnaInterpretInputDataValidator.validate(t);return e?e.map(x):void 0},e.validateExportDataRequest=function(t){var e=o.Validators.exportDataRequestValidator.validate(t);return e?e.map(x):void 0},e.validateVisualHeader=function(t){var e=o.Validators.visualHeaderValidator.validate(t);return e?e.map(x):void 0},e.validateVisualSettings=function(t){var e=o.Validators.visualSettingsValidator.validate(t);return e?e.map(x):void 0},e.validateCommandsSettings=function(t){var e=o.Validators.commandsSettingsValidator.validate(t);return e?e.map(x):void 0},e.validateCustomTheme=function(t){var e=o.Validators.customThemeValidator.validate(t);return e?e.map(x):void 0},e.validateZoomLevel=function(t){var e=o.Validators.zoomLevelValidator.validate(t);return e?e.map(x):void 0}},(t,e,r)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.Validators=void 0;var i=r(2),a=r(5),n=r(6),o=r(7),l=r(8),s=r(9),u=r(10),d=r(11),c=r(12),p=r(13),f=r(14),h=r(15),v=r(16),y=r(17),m=r(18),V=r(19),g=r(20),b=r(21),w=r(22),O=r(23),S=r(24),P=r(25),_=r(26),T=r(27),E=r(28),F=r(29),x=r(4),C=r(30),k=r(31),R=r(32);e.Validators={addBookmarkRequestValidator:new a.AddBookmarkRequestValidator,advancedFilterTypeValidator:new x.EnumValidator([0]),advancedFilterValidator:new c.AdvancedFilterValidator,anyArrayValidator:new x.ArrayValidator([new _.AnyOfValidator([new x.StringValidator,new x.NumberValidator,new x.BooleanValidator])]),anyFilterValidator:new _.AnyOfValidator([new c.BasicFilterValidator,new c.AdvancedFilterValidator,new c.IncludeExcludeFilterValidator,new c.NotSupportedFilterValidator,new c.RelativeDateFilterValidator,new c.TopNFilterValidator,new c.RelativeTimeFilterValidator,new c.HierarchyFilterValidator]),anyValueValidator:new _.AnyOfValidator([new x.StringValidator,new x.NumberValidator,new x.BooleanValidator]),actionBarValidator:new i.ActionBarValidator,statusBarValidator:new i.StatusBarValidator,applyBookmarkByNameRequestValidator:new a.ApplyBookmarkByNameRequestValidator,applyBookmarkStateRequestValidator:new a.ApplyBookmarkStateRequestValidator,applyBookmarkValidator:new _.AnyOfValidator([new a.ApplyBookmarkByNameRequestValidator,new a.ApplyBookmarkStateRequestValidator]),backgroundValidator:new x.EnumValidator([0,1]),basicFilterTypeValidator:new x.EnumValidator([1]),basicFilterValidator:new c.BasicFilterValidator,booleanArrayValidator:new x.BooleanArrayValidator,booleanValidator:new x.BooleanValidator,bookmarksPaneValidator:new h.BookmarksPaneValidator,captureBookmarkOptionsValidator:new a.CaptureBookmarkOptionsValidator,captureBookmarkRequestValidator:new a.CaptureBookmarkRequestValidator,columnSchemaArrayValidator:new x.ArrayValidator([new k.ColumnSchemaValidator]),commandDisplayOptionValidator:new x.EnumValidator([0,1,2]),commandExtensionSelectorValidator:new _.AnyOfValidator([new b.VisualSelectorValidator,new b.VisualTypeSelectorValidator]),commandExtensionArrayValidator:new x.ArrayValidator([new d.CommandExtensionValidator]),commandExtensionValidator:new d.CommandExtensionValidator,commandsSettingsArrayValidator:new x.ArrayValidator([new n.CommandsSettingsValidator]),commandsSettingsValidator:new n.CommandsSettingsValidator,conditionItemValidator:new c.ConditionItemValidator,contrastModeValidator:new x.EnumValidator([0,1,2,3,4]),credentialDetailsValidator:new F.MapValidator([new x.StringValidator],[new x.StringValidator]),credentialsValidator:new k.CredentialsValidator,credentialTypeValidator:new x.EnumValidator([0,1,2]),customLayoutDisplayOptionValidator:new x.EnumValidator([0,1,2]),customLayoutValidator:new p.CustomLayoutValidator,customPageSizeValidator:new f.CustomPageSizeValidator,customThemeValidator:new o.CustomThemeValidator,dashboardLoadValidator:new l.DashboardLoadValidator,dataCacheModeValidator:new x.EnumValidator([0,1]),datasetBindingValidator:new s.DatasetBindingValidator,datasetCreateConfigValidator:new k.DatasetCreateConfigValidator,datasourceConnectionConfigValidator:new k.DatasourceConnectionConfigValidator,displayStateModeValidator:new x.EnumValidator([0,1]),displayStateValidator:new p.DisplayStateValidator,exportDataRequestValidator:new u.ExportDataRequestValidator,extensionArrayValidator:new x.ArrayValidator([new d.ExtensionValidator]),extensionsValidator:new _.AnyOfValidator([new x.ArrayValidator([new d.ExtensionValidator]),new d.ExtensionsValidator]),extensionPointsValidator:new d.ExtensionPointsValidator,extensionValidator:new d.ExtensionValidator,fieldForbiddenValidator:new T.FieldForbiddenValidator,fieldRequiredValidator:new E.FieldRequiredValidator,fieldsPaneValidator:new h.FieldsPaneValidator,filterColumnTargetValidator:new c.FilterColumnTargetValidator,filterDisplaySettingsValidator:new c.FilterDisplaySettingsValidator,filterConditionsValidator:new x.ArrayValidator([new c.ConditionItemValidator]),filterHierarchyTargetValidator:new c.FilterHierarchyTargetValidator,filterMeasureTargetValidator:new c.FilterMeasureTargetValidator,filterTargetValidator:new _.AnyOfValidator([new c.FilterColumnTargetValidator,new c.FilterHierarchyTargetValidator,new c.FilterMeasureTargetValidator,new x.ArrayValidator([new _.AnyOfValidator([new c.FilterColumnTargetValidator,new c.FilterHierarchyTargetValidator,new c.FilterMeasureTargetValidator,new c.FilterKeyColumnsTargetValidator,new c.FilterKeyHierarchyTargetValidator])])]),filterValidator:new c.FilterValidator,filterTypeValidator:new x.EnumValidator([0,1,2,3,4,5,6,7,9]),filtersArrayValidator:new x.ArrayValidator([new c.FilterValidator]),filtersOperationsUpdateValidator:new x.EnumValidator([1,2,3]),filtersOperationsRemoveAllValidator:new x.EnumValidator([0]),filtersPaneValidator:new h.FiltersPaneValidator,hyperlinkClickBehaviorValidator:new x.EnumValidator([0,1,2]),includeExcludeFilterValidator:new c.IncludeExcludeFilterValidator,includeExludeFilterTypeValidator:new x.EnumValidator([3]),hierarchyFilterTypeValidator:new x.EnumValidator([9]),hierarchyFilterValuesValidator:new x.ArrayValidator([new c.HierarchyFilterNodeValidator]),layoutTypeValidator:new x.EnumValidator([0,1,2,3]),loadQnaValidator:new v.LoadQnaValidator,menuExtensionValidator:new _.AnyOfValidator([new d.FlatMenuExtensionValidator,new d.GroupedMenuExtensionValidator]),menuGroupExtensionArrayValidator:new x.ArrayValidator([new d.MenuGroupExtensionValidator]),menuGroupExtensionValidator:new d.MenuGroupExtensionValidator,menuLocationValidator:new x.EnumValidator([0,1]),notSupportedFilterTypeValidator:new x.EnumValidator([2]),notSupportedFilterValidator:new c.NotSupportedFilterValidator,numberArrayValidator:new x.NumberArrayValidator,numberValidator:new x.NumberValidator,onLoadFiltersBaseValidator:new _.AnyOfValidator([new c.OnLoadFiltersBaseValidator,new c.OnLoadFiltersBaseRemoveOperationValidator]),pageLayoutValidator:new F.MapValidator([new x.StringValidator],[new p.VisualLayoutValidator]),pageNavigationPaneValidator:new h.PageNavigationPaneValidator,pageNavigationPositionValidator:new x.EnumValidator([0,1]),pageSizeTypeValidator:new x.EnumValidator([0,1,2,3,4,5]),pageSizeValidator:new f.PageSizeValidator,pageValidator:new f.PageValidator,pageViewFieldValidator:new f.PageViewFieldValidator,pagesLayoutValidator:new F.MapValidator([new x.StringValidator],[new p.PageLayoutValidator]),paginatedReportCommandsValidator:new n.PaginatedReportCommandsValidator,paginatedReportLoadValidator:new V.PaginatedReportLoadValidator,paginatedReportsettingsValidator:new w.PaginatedReportSettingsValidator,parameterValuesArrayValidator:new x.ArrayValidator([new V.ReportParameterFieldsValidator]),parametersPanelValidator:new C.ParametersPanelValidator,permissionsValidator:new x.EnumValidator([0,1,2,4,7]),playBookmarkRequestValidator:new a.PlayBookmarkRequestValidator,qnaInterpretInputDataValidator:new v.QnaInterpretInputDataValidator,qnaPanesValidator:new h.QnaPanesValidator,qnaSettingValidator:new v.QnaSettingsValidator,quickCreateValidator:new R.QuickCreateValidator,rawDataValidator:new x.ArrayValidator([new x.ArrayValidator([new x.StringValidator])]),relativeDateFilterOperatorValidator:new x.EnumValidator([0,1,2]),relativeDateFilterTimeUnitTypeValidator:new x.EnumValidator([0,1,2,3,4,5,6]),relativeDateFilterTypeValidator:new x.EnumValidator([4]),relativeDateFilterValidator:new c.RelativeDateFilterValidator,relativeDateTimeFilterTypeValidator:new x.EnumValidator([4,7]),relativeDateTimeFilterUnitTypeValidator:new x.EnumValidator([0,1,2,3,4,5,6,7,8]),relativeTimeFilterTimeUnitTypeValidator:new x.EnumValidator([7,8]),relativeTimeFilterTypeValidator:new x.EnumValidator([7]),relativeTimeFilterValidator:new c.RelativeTimeFilterValidator,reportBarsValidator:new i.ReportBarsValidator,reportCreateValidator:new y.ReportCreateValidator,reportLoadFiltersValidator:new _.AnyOfValidator([new x.ArrayValidator([new c.FilterValidator]),new c.OnLoadFiltersValidator]),reportLoadValidator:new m.ReportLoadValidator,reportPanesValidator:new h.ReportPanesValidator,saveAsParametersValidator:new g.SaveAsParametersValidator,selectionPaneValidator:new h.SelectionPaneValidator,settingsValidator:new w.SettingsValidator,singleCommandSettingsValidator:new n.SingleCommandSettingsValidator,slicerSelectorValidator:new _.AnyOfValidator([new b.VisualSelectorValidator,new b.SlicerTargetSelectorValidator]),slicerStateValidator:new O.SlicerStateValidator,slicerTargetValidator:new _.AnyOfValidator([new c.FilterColumnTargetValidator,new c.FilterHierarchyTargetValidator,new c.FilterMeasureTargetValidator,new c.FilterKeyColumnsTargetValidator,new c.FilterKeyHierarchyTargetValidator]),slicerValidator:new O.SlicerValidator,stringArrayValidator:new x.StringArrayValidator,stringValidator:new x.StringValidator,syncSlicersPaneValidator:new h.SyncSlicersPaneValidator,tableDataArrayValidator:new x.ArrayValidator([new k.TableDataValidator]),tableSchemaListValidator:new x.ArrayValidator([new k.TableSchemaValidator]),tileLoadValidator:new S.TileLoadValidator,tokenTypeValidator:new x.EnumValidator([0,1]),topNFilterTypeValidator:new x.EnumValidator([5]),topNFilterValidator:new c.TopNFilterValidator,updateFiltersRequestValidator:new _.AnyOfValidator([new c.UpdateFiltersRequestValidator,new c.RemoveFiltersRequestValidator]),viewModeValidator:new x.EnumValidator([0,1]),visualCommandSelectorValidator:new _.AnyOfValidator([new b.VisualSelectorValidator,new b.VisualTypeSelectorValidator]),visualHeaderSelectorValidator:new _.AnyOfValidator([new b.VisualSelectorValidator,new b.VisualTypeSelectorValidator]),visualHeaderSettingsValidator:new P.VisualHeaderSettingsValidator,visualHeaderValidator:new P.VisualHeaderValidator,visualHeadersValidator:new x.ArrayValidator([new P.VisualHeaderValidator]),visualizationsPaneValidator:new h.VisualizationsPaneValidator,visualLayoutValidator:new p.VisualLayoutValidator,visualSelectorValidator:new b.VisualSelectorValidator,visualSettingsValidator:new P.VisualSettingsValidator,visualTypeSelectorValidator:new b.VisualTypeSelectorValidator,zoomLevelValidator:new x.RangeValidator(.25,4)}},function(t,e,r){var i,a=this&&this.__extends||(i=function(t,e){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])})(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.StatusBarValidator=e.ActionBarValidator=e.ReportBarsValidator=void 0;var n=r(3),o=r(4),l=r(1),s=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return a(e,t),e.prototype.validate=function(e,r,i){if(null==e)return null;var a=t.prototype.validate.call(this,e,r,i);if(a)return a;var o=[{field:"actionBar",validators:[l.Validators.actionBarValidator]},{field:"statusBar",validators:[l.Validators.statusBarValidator]}];return new n.MultipleFieldsValidator(o).validate(e,r,i)},e}(o.ObjectValidator);e.ReportBarsValidator=s;var u=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return a(e,t),e.prototype.validate=function(e,r,i){if(null==e)return null;var a=t.prototype.validate.call(this,e,r,i);if(a)return a;var o=[{field:"visible",validators:[l.Validators.booleanValidator]}];return new n.MultipleFieldsValidator(o).validate(e,r,i)},e}(o.ObjectValidator);e.ActionBarValidator=u;var d=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return a(e,t),e.prototype.validate=function(e,r,i){if(null==e)return null;var a=t.prototype.validate.call(this,e,r,i);if(a)return a;var o=[{field:"visible",validators:[l.Validators.booleanValidator]}];return new n.MultipleFieldsValidator(o).validate(e,r,i)},e}(o.ObjectValidator);e.StatusBarValidator=d},(t,e)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.MultipleFieldsValidator=void 0;var r=function(){function t(t){this.fieldValidatorsPairs=t}return t.prototype.validate=function(t,e,r){if(!this.fieldValidatorsPairs)return null;for(var i=e?e+"."+r:r,a=0,n=this.fieldValidatorsPairs;athis.maxValue||e{Object.defineProperty(e,"__esModule",{value:!0}),e.AnyOfValidator=void 0;var r=function(){function t(t){this.validators=t}return t.prototype.validate=function(t,e,r){if(null==t)return null;for(var i=!1,a=0,n=this.validators;a{Object.defineProperty(e,"__esModule",{value:!0}),e.FieldForbiddenValidator=void 0;var r=function(){function t(){}return t.prototype.validate=function(t,e,r){return void 0!==t?[{message:r+" is forbidden",path:(e?e+".":"")+r,keyword:"forbidden"}]:null},t}();e.FieldForbiddenValidator=r},(t,e)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.FieldRequiredValidator=void 0;var r=function(){function t(){}return t.prototype.validate=function(t,e,r){return null==t?[{message:r+" is required",path:(e?e+".":"")+r,keyword:"required"}]:null},t}();e.FieldRequiredValidator=r},function(t,e,r){var i,a=this&&this.__extends||(i=function(t,e){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])})(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.MapValidator=void 0;var n=function(t){function e(e,r){var i=t.call(this)||this;return i.keyValidators=e,i.valueValidators=r,i}return a(e,t),e.prototype.validate=function(e,r,i){if(null==e)return null;var a=t.prototype.validate.call(this,e,r,i);if(a)return a;for(var n in e)if(e.hasOwnProperty(n)){for(var o=(r?r+".":"")+i+"."+n,l=0,s=this.keyValidators;l0&&a[a.length-1])||6!==n[0]&&2!==n[0])){o=0;continue}if(3===n[0]&&(!a||n[1]>a[0]&&n[1]0&&a[a.length-1])||6!==n[0]&&2!==n[0])){o=0;continue}if(3===n[0]&&(!a||n[1]>a[0]&&n[1]0?"&":"?";return t+=i+e+"="+r},e.isSavedInternal=function(t,e,a){return r(this,void 0,void 0,(function(){return i(this,(function(r){switch(r.label){case 0:return r.trys.push([0,2,,3]),[4,t.get("/report/hasUnsavedChanges",{uid:e},a)];case 1:return[2,!r.sent().body];case 2:throw r.sent().body;case 3:return[2]}}))}))},e.isRDLEmbed=function(t){return t&&t.toLowerCase().indexOf("/rdlembed?")>=0},e.autoAuthInEmbedUrl=function(t){return t&&decodeURIComponent(t).toLowerCase().indexOf("autoauth=true")>=0},e.getRandomValue=n,e.getTimeDiffInMilliseconds=function(t,e){return Math.abs(t.getTime()-e.getTime())},e.isCreate=function(t){return"create"===t||"quickcreate"===t}},function(t,e){Object.defineProperty(e,"__esModule",{value:!0}),e.FilterBuilder=void 0;var r=function(){function t(){}return t.prototype.withTargetObject=function(t){return this.target=t,this},t.prototype.withColumnTarget=function(t,e){return this.target={table:t,column:e},this},t.prototype.withMeasureTarget=function(t,e){return this.target={table:t,measure:e},this},t.prototype.withHierarchyLevelTarget=function(t,e,r){return this.target={table:t,hierarchy:e,hierarchyLevel:r},this},t.prototype.withColumnAggregation=function(t,e,r){return this.target={table:t,column:e,aggregationFunction:r},this},t.prototype.withHierarchyLevelAggregationTarget=function(t,e,r,i){return this.target={table:t,hierarchy:e,hierarchyLevel:r,aggregationFunction:i},this},t}();e.FilterBuilder=r},function(t,e){Object.defineProperty(e,"__esModule",{value:!0}),e.EmbedUrlNotSupported=e.APINotSupportedForRDLError=void 0,e.APINotSupportedForRDLError="This API is currently not supported for RDL reports",e.EmbedUrlNotSupported="Embed URL is invalid for this scenario. Please use Power BI REST APIs to get the valid URL"},function(t,e){Object.defineProperty(e,"__esModule",{value:!0});e.default={version:"2.22.0",type:"js"}},function(t,e,r){var i,a=this&&this.__extends||(i=function(t,e){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])})(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}),n=this&&this.__awaiter||function(t,e,r,i){return new(r||(r=Promise))((function(a,n){function o(t){try{s(i.next(t))}catch(t){n(t)}}function l(t){try{s(i.throw(t))}catch(t){n(t)}}function s(t){var e;t.done?a(t.value):(e=t.value,e instanceof r?e:new r((function(t){t(e)}))).then(o,l)}s((i=i.apply(t,e||[])).next())}))},o=this&&this.__generator||function(t,e){var r,i,a,n,o={label:0,sent:function(){if(1&a[0])throw a[1];return a[1]},trys:[],ops:[]};return n={next:l(0),throw:l(1),return:l(2)},"function"==typeof Symbol&&(n[Symbol.iterator]=function(){return this}),n;function l(n){return function(l){return function(n){if(r)throw new TypeError("Generator is already executing.");for(;o;)try{if(r=1,i&&(a=2&n[0]?i.return:n[0]?i.throw||((a=i.return)&&a.call(i),0):i.next)&&!(a=a.call(i,n[1])).done)return a;switch(i=0,a&&(n=[2&n[0],a.value]),n[0]){case 0:case 1:a=n;break;case 4:return o.label++,{value:n[1],done:!1};case 5:o.label++,i=n[1],n=[0];continue;case 7:n=o.ops.pop(),o.trys.pop();continue;default:if(!(a=o.trys,(a=a.length>0&&a[a.length-1])||6!==n[0]&&2!==n[0])){o=0;continue}if(3===n[0]&&(!a||n[1]>a[0]&&n[1]0&&a[a.length-1])||6!==n[0]&&2!==n[0])){o=0;continue}if(3===n[0]&&(!a||n[1]>a[0]&&n[1]0&&a[a.length-1])||6!==n[0]&&2!==n[0])){o=0;continue}if(3===n[0]&&(!a||n[1]>a[0]&&n[1]{return t=[function(t,e,r){var i,a=this&&this.__extends||(i=function(t,e){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])})(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.SortDirection=e.LegendPosition=e.TextAlignment=e.CommonErrorCodes=e.BookmarksPlayMode=e.ExportDataType=e.QnaMode=e.PageNavigationPosition=e.DataCacheMode=e.CredentialType=e.isPercentOfGrandTotal=e.isColumnAggr=e.isHierarchyLevelAggr=e.isHierarchyLevel=e.isColumn=e.isMeasure=e.getFilterType=e.isBasicFilterWithKeys=e.isFilterKeyColumnsTarget=e.HierarchyFilter=e.AdvancedFilter=e.TupleFilter=e.IdentityFilter=e.BasicFilterWithKeys=e.BasicFilter=e.RelativeTimeFilter=e.RelativeDateFilter=e.TopNFilter=e.IncludeExcludeFilter=e.NotSupportedFilter=e.Filter=e.RelativeDateOperators=e.RelativeDateFilterTimeUnit=e.FilterType=e.FiltersLevel=e.FiltersOperations=e.MenuLocation=e.ContrastMode=e.TokenType=e.ViewMode=e.Permissions=e.SectionVisibility=e.ReportAlignment=e.HyperlinkClickBehavior=e.LayoutType=e.VisualContainerDisplayMode=e.BackgroundType=e.DisplayOption=e.PageSizeType=e.TraceType=void 0,e.validateCommandsSettings=e.validateVisualSettings=e.validateVisualHeader=e.validateExportDataRequest=e.validateQnaInterpretInputData=e.validateLoadQnaConfiguration=e.validateSaveAsParameters=e.validateUpdateFiltersRequest=e.validateFilter=e.validatePage=e.validateTileLoad=e.validateDashboardLoad=e.validateQuickCreate=e.validateCreateReport=e.validatePaginatedReportLoad=e.validateReportLoad=e.validateMenuGroupExtension=e.validateExtension=e.validateCustomPageSize=e.validateVisualizationsPane=e.validateSyncSlicersPane=e.validateSelectionPane=e.validatePageNavigationPane=e.validateFieldsPane=e.validateFiltersPane=e.validateBookmarksPane=e.validatePanes=e.validateSettings=e.validateCaptureBookmarkRequest=e.validateApplyBookmarkStateRequest=e.validateApplyBookmarkByNameRequest=e.validateAddBookmarkRequest=e.validatePlayBookmarkRequest=e.validateSlicerState=e.validateSlicer=e.validateVisualSelector=e.isIExtensionArray=e.isIExtensions=e.isGroupedMenuExtension=e.isFlatMenuExtension=e.isReportFiltersArray=e.isOnLoadFilters=e.VisualDataRoleKindPreference=e.VisualDataRoleKind=e.CommandDisplayOption=e.SlicerTargetSelector=e.VisualTypeSelector=e.VisualSelector=e.PageSelector=e.Selector=void 0,e.validateZoomLevel=e.validateCustomTheme=void 0;var n,o=r(1);!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"}(e.TraceType||(e.TraceType={})),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",t[t.Mobile=5]="Mobile"}(e.PageSizeType||(e.PageSizeType={})),function(t){t[t.FitToPage=0]="FitToPage",t[t.FitToWidth=1]="FitToWidth",t[t.ActualSize=2]="ActualSize"}(e.DisplayOption||(e.DisplayOption={})),function(t){t[t.Default=0]="Default",t[t.Transparent=1]="Transparent"}(e.BackgroundType||(e.BackgroundType={})),function(t){t[t.Visible=0]="Visible",t[t.Hidden=1]="Hidden"}(e.VisualContainerDisplayMode||(e.VisualContainerDisplayMode={})),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={})),function(t){t[t.Navigate=0]="Navigate",t[t.NavigateAndRaiseEvent=1]="NavigateAndRaiseEvent",t[t.RaiseEvent=2]="RaiseEvent"}(e.HyperlinkClickBehavior||(e.HyperlinkClickBehavior={})),function(t){t[t.Left=0]="Left",t[t.Center=1]="Center",t[t.Right=2]="Right",t[t.None=3]="None"}(e.ReportAlignment||(e.ReportAlignment={})),function(t){t[t.AlwaysVisible=0]="AlwaysVisible",t[t.HiddenInViewMode=1]="HiddenInViewMode"}(e.SectionVisibility||(e.SectionVisibility={})),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"}(e.Permissions||(e.Permissions={})),function(t){t[t.View=0]="View",t[t.Edit=1]="Edit"}(e.ViewMode||(e.ViewMode={})),function(t){t[t.Aad=0]="Aad",t[t.Embed=1]="Embed"}(e.TokenType||(e.TokenType={})),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"}(e.ContrastMode||(e.ContrastMode={})),function(t){t[t.Bottom=0]="Bottom",t[t.Top=1]="Top"}(e.MenuLocation||(e.MenuLocation={})),function(t){t[t.RemoveAll=0]="RemoveAll",t[t.ReplaceAll=1]="ReplaceAll",t[t.Add=2]="Add",t[t.Replace=3]="Replace"}(e.FiltersOperations||(e.FiltersOperations={})),function(t){t[t.Report=0]="Report",t[t.Page=1]="Page",t[t.Visual=2]="Visual"}(e.FiltersLevel||(e.FiltersLevel={})),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",t[t.Identity=8]="Identity",t[t.Hierarchy=9]="Hierarchy"}(n=e.FilterType||(e.FilterType={})),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"}(e.RelativeDateFilterTimeUnit||(e.RelativeDateFilterTimeUnit={})),function(t){t[t.InLast=0]="InLast",t[t.InThis=1]="InThis",t[t.InNext=2]="InNext"}(e.RelativeDateOperators||(e.RelativeDateOperators={}));var l=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=l;var s=function(t){function e(r,i,a){var o=t.call(this,r,n.Unknown)||this;return o.message=i,o.notSupportedTypeName=a,o.schemaUrl=e.schemaUrl,o}return a(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}(l);e.NotSupportedFilter=s;var u=function(t){function e(r,i,a){var o=t.call(this,r,n.IncludeExclude)||this;return o.values=a,o.isExclude=i,o.schemaUrl=e.schemaUrl,o}return a(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}(l);e.IncludeExcludeFilter=u;var d=function(t){function e(r,i,a,o){var l=t.call(this,r,n.TopN)||this;return l.operator=i,l.itemCount=a,l.schemaUrl=e.schemaUrl,l.orderBy=o,l}return a(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}(l);e.TopNFilter=d;var c=function(t){function e(r,i,a,o,l){var s=t.call(this,r,n.RelativeDate)||this;return s.operator=i,s.timeUnitsCount=a,s.timeUnitType=o,s.includeToday=l,s.schemaUrl=e.schemaUrl,s}return a(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}(l);e.RelativeDateFilter=c;var p=function(t){function e(r,i,a,o){var l=t.call(this,r,n.RelativeTime)||this;return l.operator=i,l.timeUnitsCount=a,l.timeUnitType=o,l.schemaUrl=e.schemaUrl,l}return a(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}(l);e.RelativeTimeFilter=p;var f=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 ".concat(o," keys"));if(0===o&&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,s=n.keyValues;l2)throw new Error("AdvancedFilters may not have more than two conditions. You passed: ".concat(a.length));if(1===l.length&&"And"!==i)throw new Error('Logical Operator must be "And" when there is only one condition provided');return s.conditions=l,s}return a(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}(l);e.AdvancedFilter=m;var V=function(t){function e(r,i){var a=t.call(this,r,n.Hierarchy)||this;return a.schemaUrl=e.schemaUrl,a.hierarchyData=i,a}return a(e,t),e.prototype.toJSON=function(){var e=t.prototype.toJSON.call(this);return e.hierarchyData=this.hierarchyData,e.target=this.target,e},e.schemaUrl="http://powerbi.com/product/schema#hierarchy",e}(l);function g(t){if(t.filterType)return t.filterType;var e=t,r=t;return"string"==typeof e.operator&&Array.isArray(e.values)?n.Basic:"string"==typeof r.logicalOperator&&Array.isArray(r.conditions)?n.Advanced:n.Unknown}function b(t){return!(!t.table||!t.column||t.aggregationFunction)}e.HierarchyFilter=V,e.isFilterKeyColumnsTarget=function(t){return b(t)&&!!t.keys},e.isBasicFilterWithKeys=function(t){return g(t)===n.Basic&&!!t.keyValues},e.getFilterType=g,e.isMeasure=function(t){return void 0!==t.table&&void 0!==t.measure},e.isColumn=b,e.isHierarchyLevel=function(t){return!(!(t.table&&t.hierarchy&&t.hierarchyLevel)||t.aggregationFunction)},e.isHierarchyLevelAggr=function(t){return!!(t.table&&t.hierarchy&&t.hierarchyLevel&&t.aggregationFunction)},e.isColumnAggr=function(t){return!!(t.table&&t.column&&t.aggregationFunction)},e.isPercentOfGrandTotal=function(t){return!!t.percentOfGrandTotal},function(t){t[t.NoConnection=0]="NoConnection",t[t.OnBehalfOf=1]="OnBehalfOf",t[t.Anonymous=2]="Anonymous"}(e.CredentialType||(e.CredentialType={})),function(t){t[t.Import=0]="Import",t[t.DirectQuery=1]="DirectQuery"}(e.DataCacheMode||(e.DataCacheMode={})),function(t){t[t.Bottom=0]="Bottom",t[t.Left=1]="Left"}(e.PageNavigationPosition||(e.PageNavigationPosition={})),function(t){t[t.Interactive=0]="Interactive",t[t.ResultOnly=1]="ResultOnly"}(e.QnaMode||(e.QnaMode={})),function(t){t[t.Summarized=0]="Summarized",t[t.Underlying=1]="Underlying"}(e.ExportDataType||(e.ExportDataType={})),function(t){t[t.Off=0]="Off",t[t.Presentation=1]="Presentation"}(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"},function(t){t[t.Ascending=1]="Ascending",t[t.Descending=2]="Descending"}(e.SortDirection||(e.SortDirection={}));var w=function(){function t(t){this.$schema=t}return t.prototype.toJSON=function(){return{$schema:this.$schema}},t}();e.Selector=w;var O=function(t){function e(r){var i=t.call(this,e.schemaUrl)||this;return i.pageName=r,i}return a(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}(w);e.PageSelector=O;var S=function(t){function e(r){var i=t.call(this,e.schemaUrl)||this;return i.visualName=r,i}return a(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}(w);e.VisualSelector=S;var P=function(t){function e(e){var r=t.call(this,S.schemaUrl)||this;return r.visualType=e,r}return a(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}(w);e.VisualTypeSelector=P;var _=function(t){function e(e){var r=t.call(this,S.schemaUrl)||this;return r.target=e,r}return a(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}(w);function T(t){return Array.isArray(t)}function E(t){return t&&!!t.groupName}function F(t){return Array.isArray(t)}function x(t){var e=t.message;return e||(e="".concat(t.path," is invalid. Not meeting ").concat(t.keyword," constraint")),{message:e}}e.SlicerTargetSelector=_,function(t){t[t.Enabled=0]="Enabled",t[t.Disabled=1]="Disabled",t[t.Hidden=2]="Hidden"}(e.CommandDisplayOption||(e.CommandDisplayOption={})),function(t){t[t.Grouping=0]="Grouping",t[t.Measure=1]="Measure",t[t.GroupingOrMeasure=2]="GroupingOrMeasure"}(e.VisualDataRoleKind||(e.VisualDataRoleKind={})),function(t){t[t.Measure=0]="Measure",t[t.Grouping=1]="Grouping"}(e.VisualDataRoleKindPreference||(e.VisualDataRoleKindPreference={})),e.isOnLoadFilters=function(t){return t&&!T(t)},e.isReportFiltersArray=T,e.isFlatMenuExtension=function(t){return t&&!E(t)},e.isGroupedMenuExtension=E,e.isIExtensions=function(t){return t&&!F(t)},e.isIExtensionArray=F,e.validateVisualSelector=function(t){var e=o.Validators.visualSelectorValidator.validate(t);return e?e.map(x):void 0},e.validateSlicer=function(t){var e=o.Validators.slicerValidator.validate(t);return e?e.map(x):void 0},e.validateSlicerState=function(t){var e=o.Validators.slicerStateValidator.validate(t);return e?e.map(x):void 0},e.validatePlayBookmarkRequest=function(t){var e=o.Validators.playBookmarkRequestValidator.validate(t);return e?e.map(x):void 0},e.validateAddBookmarkRequest=function(t){var e=o.Validators.addBookmarkRequestValidator.validate(t);return e?e.map(x):void 0},e.validateApplyBookmarkByNameRequest=function(t){var e=o.Validators.applyBookmarkByNameRequestValidator.validate(t);return e?e.map(x):void 0},e.validateApplyBookmarkStateRequest=function(t){var e=o.Validators.applyBookmarkStateRequestValidator.validate(t);return e?e.map(x):void 0},e.validateCaptureBookmarkRequest=function(t){var e=o.Validators.captureBookmarkRequestValidator.validate(t);return e?e.map(x):void 0},e.validateSettings=function(t){var e=o.Validators.settingsValidator.validate(t);return e?e.map(x):void 0},e.validatePanes=function(t){var e=o.Validators.reportPanesValidator.validate(t);return e?e.map(x):void 0},e.validateBookmarksPane=function(t){var e=o.Validators.bookmarksPaneValidator.validate(t);return e?e.map(x):void 0},e.validateFiltersPane=function(t){var e=o.Validators.filtersPaneValidator.validate(t);return e?e.map(x):void 0},e.validateFieldsPane=function(t){var e=o.Validators.fieldsPaneValidator.validate(t);return e?e.map(x):void 0},e.validatePageNavigationPane=function(t){var e=o.Validators.pageNavigationPaneValidator.validate(t);return e?e.map(x):void 0},e.validateSelectionPane=function(t){var e=o.Validators.selectionPaneValidator.validate(t);return e?e.map(x):void 0},e.validateSyncSlicersPane=function(t){var e=o.Validators.syncSlicersPaneValidator.validate(t);return e?e.map(x):void 0},e.validateVisualizationsPane=function(t){var e=o.Validators.visualizationsPaneValidator.validate(t);return e?e.map(x):void 0},e.validateCustomPageSize=function(t){var e=o.Validators.customPageSizeValidator.validate(t);return e?e.map(x):void 0},e.validateExtension=function(t){var e=o.Validators.extensionValidator.validate(t);return e?e.map(x):void 0},e.validateMenuGroupExtension=function(t){var e=o.Validators.menuGroupExtensionValidator.validate(t);return e?e.map(x):void 0},e.validateReportLoad=function(t){var e=o.Validators.reportLoadValidator.validate(t);return e?e.map(x):void 0},e.validatePaginatedReportLoad=function(t){var e=o.Validators.paginatedReportLoadValidator.validate(t);return e?e.map(x):void 0},e.validateCreateReport=function(t){var e=o.Validators.reportCreateValidator.validate(t);return e?e.map(x):void 0},e.validateQuickCreate=function(t){var e=o.Validators.quickCreateValidator.validate(t);return e?e.map(x):void 0},e.validateDashboardLoad=function(t){var e=o.Validators.dashboardLoadValidator.validate(t);return e?e.map(x):void 0},e.validateTileLoad=function(t){var e=o.Validators.tileLoadValidator.validate(t);return e?e.map(x):void 0},e.validatePage=function(t){var e=o.Validators.pageValidator.validate(t);return e?e.map(x):void 0},e.validateFilter=function(t){var e=o.Validators.filterValidator.validate(t);return e?e.map(x):void 0},e.validateUpdateFiltersRequest=function(t){var e=o.Validators.updateFiltersRequestValidator.validate(t);return e?e.map(x):void 0},e.validateSaveAsParameters=function(t){var e=o.Validators.saveAsParametersValidator.validate(t);return e?e.map(x):void 0},e.validateLoadQnaConfiguration=function(t){var e=o.Validators.loadQnaValidator.validate(t);return e?e.map(x):void 0},e.validateQnaInterpretInputData=function(t){var e=o.Validators.qnaInterpretInputDataValidator.validate(t);return e?e.map(x):void 0},e.validateExportDataRequest=function(t){var e=o.Validators.exportDataRequestValidator.validate(t);return e?e.map(x):void 0},e.validateVisualHeader=function(t){var e=o.Validators.visualHeaderValidator.validate(t);return e?e.map(x):void 0},e.validateVisualSettings=function(t){var e=o.Validators.visualSettingsValidator.validate(t);return e?e.map(x):void 0},e.validateCommandsSettings=function(t){var e=o.Validators.commandsSettingsValidator.validate(t);return e?e.map(x):void 0},e.validateCustomTheme=function(t){var e=o.Validators.customThemeValidator.validate(t);return e?e.map(x):void 0},e.validateZoomLevel=function(t){var e=o.Validators.zoomLevelValidator.validate(t);return e?e.map(x):void 0}},(t,e,r)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.Validators=void 0;var i=r(2),a=r(5),n=r(6),o=r(7),l=r(8),s=r(9),u=r(10),d=r(11),c=r(12),p=r(13),f=r(14),h=r(15),v=r(16),y=r(17),m=r(18),V=r(19),g=r(20),b=r(21),w=r(22),O=r(23),S=r(24),P=r(25),_=r(26),T=r(27),E=r(28),F=r(29),x=r(4),C=r(30),k=r(31),R=r(32);e.Validators={addBookmarkRequestValidator:new a.AddBookmarkRequestValidator,advancedFilterTypeValidator:new x.EnumValidator([0]),advancedFilterValidator:new c.AdvancedFilterValidator,anyArrayValidator:new x.ArrayValidator([new _.AnyOfValidator([new x.StringValidator,new x.NumberValidator,new x.BooleanValidator])]),anyFilterValidator:new _.AnyOfValidator([new c.BasicFilterValidator,new c.AdvancedFilterValidator,new c.IncludeExcludeFilterValidator,new c.NotSupportedFilterValidator,new c.RelativeDateFilterValidator,new c.TopNFilterValidator,new c.RelativeTimeFilterValidator,new c.HierarchyFilterValidator]),anyValueValidator:new _.AnyOfValidator([new x.StringValidator,new x.NumberValidator,new x.BooleanValidator]),actionBarValidator:new i.ActionBarValidator,statusBarValidator:new i.StatusBarValidator,applyBookmarkByNameRequestValidator:new a.ApplyBookmarkByNameRequestValidator,applyBookmarkStateRequestValidator:new a.ApplyBookmarkStateRequestValidator,applyBookmarkValidator:new _.AnyOfValidator([new a.ApplyBookmarkByNameRequestValidator,new a.ApplyBookmarkStateRequestValidator]),backgroundValidator:new x.EnumValidator([0,1]),basicFilterTypeValidator:new x.EnumValidator([1]),basicFilterValidator:new c.BasicFilterValidator,booleanArrayValidator:new x.BooleanArrayValidator,booleanValidator:new x.BooleanValidator,bookmarksPaneValidator:new h.BookmarksPaneValidator,captureBookmarkOptionsValidator:new a.CaptureBookmarkOptionsValidator,captureBookmarkRequestValidator:new a.CaptureBookmarkRequestValidator,columnSchemaArrayValidator:new x.ArrayValidator([new k.ColumnSchemaValidator]),commandDisplayOptionValidator:new x.EnumValidator([0,1,2]),commandExtensionSelectorValidator:new _.AnyOfValidator([new b.VisualSelectorValidator,new b.VisualTypeSelectorValidator]),commandExtensionArrayValidator:new x.ArrayValidator([new d.CommandExtensionValidator]),commandExtensionValidator:new d.CommandExtensionValidator,commandsSettingsArrayValidator:new x.ArrayValidator([new n.CommandsSettingsValidator]),commandsSettingsValidator:new n.CommandsSettingsValidator,conditionItemValidator:new c.ConditionItemValidator,contrastModeValidator:new x.EnumValidator([0,1,2,3,4]),credentialDetailsValidator:new F.MapValidator([new x.StringValidator],[new x.StringValidator]),credentialsValidator:new k.CredentialsValidator,credentialTypeValidator:new x.EnumValidator([0,1,2]),customLayoutDisplayOptionValidator:new x.EnumValidator([0,1,2]),customLayoutValidator:new p.CustomLayoutValidator,customPageSizeValidator:new f.CustomPageSizeValidator,customThemeValidator:new o.CustomThemeValidator,dashboardLoadValidator:new l.DashboardLoadValidator,dataCacheModeValidator:new x.EnumValidator([0,1]),datasetBindingValidator:new s.DatasetBindingValidator,datasetCreateConfigValidator:new k.DatasetCreateConfigValidator,datasourceConnectionConfigValidator:new k.DatasourceConnectionConfigValidator,displayStateModeValidator:new x.EnumValidator([0,1]),displayStateValidator:new p.DisplayStateValidator,exportDataRequestValidator:new u.ExportDataRequestValidator,extensionArrayValidator:new x.ArrayValidator([new d.ExtensionValidator]),extensionsValidator:new _.AnyOfValidator([new x.ArrayValidator([new d.ExtensionValidator]),new d.ExtensionsValidator]),extensionPointsValidator:new d.ExtensionPointsValidator,extensionValidator:new d.ExtensionValidator,fieldForbiddenValidator:new T.FieldForbiddenValidator,fieldRequiredValidator:new E.FieldRequiredValidator,fieldsPaneValidator:new h.FieldsPaneValidator,filterColumnTargetValidator:new c.FilterColumnTargetValidator,filterDisplaySettingsValidator:new c.FilterDisplaySettingsValidator,filterConditionsValidator:new x.ArrayValidator([new c.ConditionItemValidator]),filterHierarchyTargetValidator:new c.FilterHierarchyTargetValidator,filterMeasureTargetValidator:new c.FilterMeasureTargetValidator,filterTargetValidator:new _.AnyOfValidator([new c.FilterColumnTargetValidator,new c.FilterHierarchyTargetValidator,new c.FilterMeasureTargetValidator,new x.ArrayValidator([new _.AnyOfValidator([new c.FilterColumnTargetValidator,new c.FilterHierarchyTargetValidator,new c.FilterMeasureTargetValidator,new c.FilterKeyColumnsTargetValidator,new c.FilterKeyHierarchyTargetValidator])])]),filterValidator:new c.FilterValidator,filterTypeValidator:new x.EnumValidator([0,1,2,3,4,5,6,7,9]),filtersArrayValidator:new x.ArrayValidator([new c.FilterValidator]),filtersOperationsUpdateValidator:new x.EnumValidator([1,2,3]),filtersOperationsRemoveAllValidator:new x.EnumValidator([0]),filtersPaneValidator:new h.FiltersPaneValidator,hyperlinkClickBehaviorValidator:new x.EnumValidator([0,1,2]),includeExcludeFilterValidator:new c.IncludeExcludeFilterValidator,includeExludeFilterTypeValidator:new x.EnumValidator([3]),hierarchyFilterTypeValidator:new x.EnumValidator([9]),hierarchyFilterValuesValidator:new x.ArrayValidator([new c.HierarchyFilterNodeValidator]),layoutTypeValidator:new x.EnumValidator([0,1,2,3]),loadQnaValidator:new v.LoadQnaValidator,menuExtensionValidator:new _.AnyOfValidator([new d.FlatMenuExtensionValidator,new d.GroupedMenuExtensionValidator]),menuGroupExtensionArrayValidator:new x.ArrayValidator([new d.MenuGroupExtensionValidator]),menuGroupExtensionValidator:new d.MenuGroupExtensionValidator,menuLocationValidator:new x.EnumValidator([0,1]),notSupportedFilterTypeValidator:new x.EnumValidator([2]),notSupportedFilterValidator:new c.NotSupportedFilterValidator,numberArrayValidator:new x.NumberArrayValidator,numberValidator:new x.NumberValidator,onLoadFiltersBaseValidator:new _.AnyOfValidator([new c.OnLoadFiltersBaseValidator,new c.OnLoadFiltersBaseRemoveOperationValidator]),pageLayoutValidator:new F.MapValidator([new x.StringValidator],[new p.VisualLayoutValidator]),pageNavigationPaneValidator:new h.PageNavigationPaneValidator,pageNavigationPositionValidator:new x.EnumValidator([0,1]),pageSizeTypeValidator:new x.EnumValidator([0,1,2,3,4,5]),pageSizeValidator:new f.PageSizeValidator,pageValidator:new f.PageValidator,pageViewFieldValidator:new f.PageViewFieldValidator,pagesLayoutValidator:new F.MapValidator([new x.StringValidator],[new p.PageLayoutValidator]),paginatedReportCommandsValidator:new n.PaginatedReportCommandsValidator,paginatedReportLoadValidator:new V.PaginatedReportLoadValidator,paginatedReportsettingsValidator:new w.PaginatedReportSettingsValidator,parameterValuesArrayValidator:new x.ArrayValidator([new V.ReportParameterFieldsValidator]),parametersPanelValidator:new C.ParametersPanelValidator,permissionsValidator:new x.EnumValidator([0,1,2,4,7]),playBookmarkRequestValidator:new a.PlayBookmarkRequestValidator,qnaInterpretInputDataValidator:new v.QnaInterpretInputDataValidator,qnaPanesValidator:new h.QnaPanesValidator,qnaSettingValidator:new v.QnaSettingsValidator,quickCreateValidator:new R.QuickCreateValidator,rawDataValidator:new x.ArrayValidator([new x.ArrayValidator([new x.StringValidator])]),relativeDateFilterOperatorValidator:new x.EnumValidator([0,1,2]),relativeDateFilterTimeUnitTypeValidator:new x.EnumValidator([0,1,2,3,4,5,6]),relativeDateFilterTypeValidator:new x.EnumValidator([4]),relativeDateFilterValidator:new c.RelativeDateFilterValidator,relativeDateTimeFilterTypeValidator:new x.EnumValidator([4,7]),relativeDateTimeFilterUnitTypeValidator:new x.EnumValidator([0,1,2,3,4,5,6,7,8]),relativeTimeFilterTimeUnitTypeValidator:new x.EnumValidator([7,8]),relativeTimeFilterTypeValidator:new x.EnumValidator([7]),relativeTimeFilterValidator:new c.RelativeTimeFilterValidator,reportBarsValidator:new i.ReportBarsValidator,reportCreateValidator:new y.ReportCreateValidator,reportLoadFiltersValidator:new _.AnyOfValidator([new x.ArrayValidator([new c.FilterValidator]),new c.OnLoadFiltersValidator]),reportLoadValidator:new m.ReportLoadValidator,reportPanesValidator:new h.ReportPanesValidator,saveAsParametersValidator:new g.SaveAsParametersValidator,selectionPaneValidator:new h.SelectionPaneValidator,settingsValidator:new w.SettingsValidator,singleCommandSettingsValidator:new n.SingleCommandSettingsValidator,slicerSelectorValidator:new _.AnyOfValidator([new b.VisualSelectorValidator,new b.SlicerTargetSelectorValidator]),slicerStateValidator:new O.SlicerStateValidator,slicerTargetValidator:new _.AnyOfValidator([new c.FilterColumnTargetValidator,new c.FilterHierarchyTargetValidator,new c.FilterMeasureTargetValidator,new c.FilterKeyColumnsTargetValidator,new c.FilterKeyHierarchyTargetValidator]),slicerValidator:new O.SlicerValidator,stringArrayValidator:new x.StringArrayValidator,stringValidator:new x.StringValidator,syncSlicersPaneValidator:new h.SyncSlicersPaneValidator,tableDataArrayValidator:new x.ArrayValidator([new k.TableDataValidator]),tableSchemaListValidator:new x.ArrayValidator([new k.TableSchemaValidator]),tileLoadValidator:new S.TileLoadValidator,tokenTypeValidator:new x.EnumValidator([0,1]),topNFilterTypeValidator:new x.EnumValidator([5]),topNFilterValidator:new c.TopNFilterValidator,updateFiltersRequestValidator:new _.AnyOfValidator([new c.UpdateFiltersRequestValidator,new c.RemoveFiltersRequestValidator]),viewModeValidator:new x.EnumValidator([0,1]),visualCommandSelectorValidator:new _.AnyOfValidator([new b.VisualSelectorValidator,new b.VisualTypeSelectorValidator]),visualHeaderSelectorValidator:new _.AnyOfValidator([new b.VisualSelectorValidator,new b.VisualTypeSelectorValidator]),visualHeaderSettingsValidator:new P.VisualHeaderSettingsValidator,visualHeaderValidator:new P.VisualHeaderValidator,visualHeadersValidator:new x.ArrayValidator([new P.VisualHeaderValidator]),visualizationsPaneValidator:new h.VisualizationsPaneValidator,visualLayoutValidator:new p.VisualLayoutValidator,visualSelectorValidator:new b.VisualSelectorValidator,visualSettingsValidator:new P.VisualSettingsValidator,visualTypeSelectorValidator:new b.VisualTypeSelectorValidator,zoomLevelValidator:new x.RangeValidator(.25,4)}},function(t,e,r){var i,a=this&&this.__extends||(i=function(t,e){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])})(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.StatusBarValidator=e.ActionBarValidator=e.ReportBarsValidator=void 0;var n=r(3),o=r(4),l=r(1),s=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return a(e,t),e.prototype.validate=function(e,r,i){if(null==e)return null;var a=t.prototype.validate.call(this,e,r,i);if(a)return a;var o=[{field:"actionBar",validators:[l.Validators.actionBarValidator]},{field:"statusBar",validators:[l.Validators.statusBarValidator]}];return new n.MultipleFieldsValidator(o).validate(e,r,i)},e}(o.ObjectValidator);e.ReportBarsValidator=s;var u=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return a(e,t),e.prototype.validate=function(e,r,i){if(null==e)return null;var a=t.prototype.validate.call(this,e,r,i);if(a)return a;var o=[{field:"visible",validators:[l.Validators.booleanValidator]}];return new n.MultipleFieldsValidator(o).validate(e,r,i)},e}(o.ObjectValidator);e.ActionBarValidator=u;var d=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return a(e,t),e.prototype.validate=function(e,r,i){if(null==e)return null;var a=t.prototype.validate.call(this,e,r,i);if(a)return a;var o=[{field:"visible",validators:[l.Validators.booleanValidator]}];return new n.MultipleFieldsValidator(o).validate(e,r,i)},e}(o.ObjectValidator);e.StatusBarValidator=d},(t,e)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.MultipleFieldsValidator=void 0;var r=function(){function t(t){this.fieldValidatorsPairs=t}return t.prototype.validate=function(t,e,r){if(!this.fieldValidatorsPairs)return null;for(var i=e?e+"."+r:r,a=0,n=this.fieldValidatorsPairs;athis.maxValue||e{Object.defineProperty(e,"__esModule",{value:!0}),e.AnyOfValidator=void 0;var r=function(){function t(t){this.validators=t}return t.prototype.validate=function(t,e,r){if(null==t)return null;for(var i=!1,a=0,n=this.validators;a{Object.defineProperty(e,"__esModule",{value:!0}),e.FieldForbiddenValidator=void 0;var r=function(){function t(){}return t.prototype.validate=function(t,e,r){return void 0!==t?[{message:r+" is forbidden",path:(e?e+".":"")+r,keyword:"forbidden"}]:null},t}();e.FieldForbiddenValidator=r},(t,e)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.FieldRequiredValidator=void 0;var r=function(){function t(){}return t.prototype.validate=function(t,e,r){return null==t?[{message:r+" is required",path:(e?e+".":"")+r,keyword:"required"}]:null},t}();e.FieldRequiredValidator=r},function(t,e,r){var i,a=this&&this.__extends||(i=function(t,e){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])})(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.MapValidator=void 0;var n=function(t){function e(e,r){var i=t.call(this)||this;return i.keyValidators=e,i.valueValidators=r,i}return a(e,t),e.prototype.validate=function(e,r,i){if(null==e)return null;var a=t.prototype.validate.call(this,e,r,i);if(a)return a;for(var n in e)if(e.hasOwnProperty(n)){for(var o=(r?r+".":"")+i+"."+n,l=0,s=this.keyValidators;l0&&a[a.length-1])||6!==n[0]&&2!==n[0])){o=0;continue}if(3===n[0]&&(!a||n[1]>a[0]&&n[1]0&&a[a.length-1])||6!==n[0]&&2!==n[0])){o=0;continue}if(3===n[0]&&(!a||n[1]>a[0]&&n[1]0?"&":"?";return t+=i+e+"="+r},e.isSavedInternal=function(t,e,a){return r(this,void 0,void 0,(function(){return i(this,(function(r){switch(r.label){case 0:return r.trys.push([0,2,,3]),[4,t.get("/report/hasUnsavedChanges",{uid:e},a)];case 1:return[2,!r.sent().body];case 2:throw r.sent().body;case 3:return[2]}}))}))},e.isRDLEmbed=function(t){return t&&t.toLowerCase().indexOf("/rdlembed?")>=0},e.autoAuthInEmbedUrl=function(t){return t&&decodeURIComponent(t).toLowerCase().indexOf("autoauth=true")>=0},e.getRandomValue=n,e.getTimeDiffInMilliseconds=function(t,e){return Math.abs(t.getTime()-e.getTime())},e.isCreate=function(t){return"create"===t||"quickcreate"===t}},function(t,e){Object.defineProperty(e,"__esModule",{value:!0}),e.FilterBuilder=void 0;var r=function(){function t(){}return t.prototype.withTargetObject=function(t){return this.target=t,this},t.prototype.withColumnTarget=function(t,e){return this.target={table:t,column:e},this},t.prototype.withMeasureTarget=function(t,e){return this.target={table:t,measure:e},this},t.prototype.withHierarchyLevelTarget=function(t,e,r){return this.target={table:t,hierarchy:e,hierarchyLevel:r},this},t.prototype.withColumnAggregation=function(t,e,r){return this.target={table:t,column:e,aggregationFunction:r},this},t.prototype.withHierarchyLevelAggregationTarget=function(t,e,r,i){return this.target={table:t,hierarchy:e,hierarchyLevel:r,aggregationFunction:i},this},t}();e.FilterBuilder=r},function(t,e){Object.defineProperty(e,"__esModule",{value:!0}),e.EmbedUrlNotSupported=e.APINotSupportedForRDLError=void 0,e.APINotSupportedForRDLError="This API is currently not supported for RDL reports",e.EmbedUrlNotSupported="Embed URL is invalid for this scenario. Please use Power BI REST APIs to get the valid URL"},function(t,e){Object.defineProperty(e,"__esModule",{value:!0});e.default={version:"2.22.1",type:"js"}},function(t,e,r){var i,a=this&&this.__extends||(i=function(t,e){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])})(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}),n=this&&this.__awaiter||function(t,e,r,i){return new(r||(r=Promise))((function(a,n){function o(t){try{s(i.next(t))}catch(t){n(t)}}function l(t){try{s(i.throw(t))}catch(t){n(t)}}function s(t){var e;t.done?a(t.value):(e=t.value,e instanceof r?e:new r((function(t){t(e)}))).then(o,l)}s((i=i.apply(t,e||[])).next())}))},o=this&&this.__generator||function(t,e){var r,i,a,n,o={label:0,sent:function(){if(1&a[0])throw a[1];return a[1]},trys:[],ops:[]};return n={next:l(0),throw:l(1),return:l(2)},"function"==typeof Symbol&&(n[Symbol.iterator]=function(){return this}),n;function l(n){return function(l){return function(n){if(r)throw new TypeError("Generator is already executing.");for(;o;)try{if(r=1,i&&(a=2&n[0]?i.return:n[0]?i.throw||((a=i.return)&&a.call(i),0):i.next)&&!(a=a.call(i,n[1])).done)return a;switch(i=0,a&&(n=[2&n[0],a.value]),n[0]){case 0:case 1:a=n;break;case 4:return o.label++,{value:n[1],done:!1};case 5:o.label++,i=n[1],n=[0];continue;case 7:n=o.ops.pop(),o.trys.pop();continue;default:if(!(a=o.trys,(a=a.length>0&&a[a.length-1])||6!==n[0]&&2!==n[0])){o=0;continue}if(3===n[0]&&(!a||n[1]>a[0]&&n[1]0&&a[a.length-1])||6!==n[0]&&2!==n[0])){o=0;continue}if(3===n[0]&&(!a||n[1]>a[0]&&n[1]0&&a[a.length-1])||6!==n[0]&&2!==n[0])){o=0;continue}if(3===n[0]&&(!a||n[1]>a[0]&&n[1] Date: Wed, 21 Dec 2022 03:33:24 +0000 Subject: [PATCH 104/125] Merged PR 309731: Adding OneBranch pipeline YAML config file for powerbi-javascript-Buddy Generate OneBranch Pipeline YAML config files. This pull request is initially auto-generated by Easy Start, for more details, please visit our [wiki](https://aka.ms/easystart). **Difference Compared to powerbi-models repo PR:** 1. In the PR of powerbi-models, we ran power script files in CmdLine@2 using onebranch_run_ps.cmd file. But after May comment, in all the following PR we are using PowerShell@2 task to run our power script files and deleted onebranch_run_ps.cmd file. 2. In powerbi-javascript we also have a task to copy source artifacts to Output folder. Took a reference of this task from CDPx pipelines 3. We also have nuget_pack, so Added nugetInstaller task and to run nuget_pack.ps file and copy nugetpack to output folder **Result of OneBranch Buddy Pipeline** https://dev.azure.com/powerbi/Embedded/_build/results?buildId=5886126&view=results **Drop Folder from OneBranch** ![image (3).png](https://dev.azure.com/powerbi/4c7b5adb-c2d0-4f18-b23c-edc4ac30f4e1/_apis/git/repositories/1dd63332-e003-46a3-ac6f-70213a1bcc2e/pullRequests/309731/attachments/image%20%283%29.png) **Drop Folder from CDPx** ![image (2).png](https://dev.azure.com/powerbi/4c7b5adb-c2d0-4f18-b23c-edc4ac30f4e1/_apis/git/repositories/1dd63332-e003-46a3-ac6f-70213a1bcc2e/pullRequests/309731/attachments/image%20%282%29.png) --- .pipelines/OneBranch.Buddy.yml | 174 +++++++++++++++++++++++++++ .pipelines/cdpx_run_ps.cmd | 6 - .pipelines/nuget_pack.ps1 | 6 +- .pipelines/pipeline.user.windows.yml | 113 ----------------- .pipelines/version.ps1 | 3 +- 5 files changed, 178 insertions(+), 124 deletions(-) create mode 100644 .pipelines/OneBranch.Buddy.yml delete mode 100644 .pipelines/cdpx_run_ps.cmd delete mode 100644 .pipelines/pipeline.user.windows.yml diff --git a/.pipelines/OneBranch.Buddy.yml b/.pipelines/OneBranch.Buddy.yml new file mode 100644 index 00000000..394ee1ed --- /dev/null +++ b/.pipelines/OneBranch.Buddy.yml @@ -0,0 +1,174 @@ +################################################################################# +# Onebranch Pipelines - Buddy MSBuild (CDPXMigrated) # +# This pipeline was created by EasyStart from a sample located at: # +# https://aka.ms/obpipelines/easystart/samples # +# Documentation: https://aka.ms/obpipelines # +# Yaml Schema: https://aka.ms/obpipelines/yaml/schema # +# Retail Tasks: https://aka.ms/obpipelines/tasks # +# Support: https://aka.ms/onebranchsup # +################################################################################# + +trigger: none # https://aka.ms/obpipelines/triggers + +parameters: # parameters are shown up in ADO UI in a build queue time +- name: 'debug' + displayName: 'Enable debug output' + type: boolean + default: false + +variables: + CDP_DEFINITION_BUILD_COUNT: $[counter('', 0)] # needed for onebranch.pipeline.version task https://aka.ms/obpipelines/versioning + system.debug: ${{ parameters.debug }} + ENABLE_PRS_DELAYSIGN: 1 + ROOT: $(Build.SourcesDirectory) + REPOROOT: $(Build.SourcesDirectory) + OUTPUTROOT: $(REPOROOT)\out + NUGET_XMLDOC_MODE: skip + + WindowsContainerImage: 'cdpxwin1809.azurecr.io/global/obinfra/windows/1809/vs2019:latest' # Docker image which is used to build the project https://aka.ms/obpipelines/containers + +resources: + repositories: + - repository: templates + type: git + name: OneBranch.Pipelines/GovernedTemplates + ref: refs/heads/main + +extends: + template: v2/OneBranch.NonOfficial.CrossPlat.yml@templates # https://aka.ms/obpipelines/templates + parameters: + globalSdl: # https://aka.ms/obpipelines/sdl + tsa: + enabled: false # onebranch publish all sdl results to TSA. If TSA is disabled all SDL tools will forced into 'break' build mode. + cg: + failOnAlert: false + + stages: + - stage: build + jobs: + - job: main + pool: + type: windows # read more about custom job pool types at https://aka.ms/obpipelines/yaml/jobs + + variables: # More settings at https://aka.ms/obpipelines/yaml/jobs + ob_outputDirectory: '$(OUTPUTROOT)' # this directory is uploaded to pipeline artifacts, reddog and cloudvault. More info at https://aka.ms/obpipelines/artifacts + ob_sdl_binskim_break: true # https://aka.ms/obpipelines/sd + ob_artifactBaseName: 'drop' + ob_sdl_cg_failOnAlert: false + + steps: + # Custom Versioning - we will build the version using package.json in versioning commands. + - task: PowerShell@2 + displayName: 'Set Version' + inputs: + targetType: 'filePath' + filePath: '$(Build.SourcesDirectory)\.pipelines\version.ps1' + workingDirectory: '$(Build.SourcesDirectory)' + + # Add the versioning task after running Version script + - task: onebranch.pipeline.version@1 + inputs: + system: 'Custom' + customVersion: '$(CustomBuildNumber)' + + - task: NodeTool@0 + displayName: 'Install Node.js' + inputs: + versionSpec: '16.x' + + - task: npmAuthenticate@0 + displayName: 'NPM Authenticate' + inputs: + workingFile: '$(Build.SourcesDirectory)/.npmrc' + + - task: PowerShell@2 + displayName: 'Restore' + inputs: + targetType: 'filePath' + filePath: '$(Build.SourcesDirectory)\.pipelines\restore.ps1' + workingDirectory: '$(Build.SourcesDirectory)' + + - task: PowerShell@2 + displayName: 'Build' + inputs: + targetType: 'filePath' + filePath: '$(Build.SourcesDirectory)\.pipelines\build.ps1' + workingDirectory: '$(Build.SourcesDirectory)' + + - task: PowerShell@2 + displayName: 'Package' + inputs: + targetType: 'filePath' + filePath: '$(Build.SourcesDirectory)\.pipelines\package.ps1' + workingDirectory: '$(Build.SourcesDirectory)' + + - task: NuGetToolInstaller@1 + displayName: 'Install Nuget' + inputs: + versionSpec: '*' + checkLatest: true + + - task: PowerShell@2 + displayName: 'Nuget Package' + inputs: + targetType: 'filePath' + filePath: '$(Build.SourcesDirectory)\.pipelines\nuget_pack.ps1' + workingDirectory: '$(Build.SourcesDirectory)' + + # Copying build artifacts to the Output folder + - task: CopyFiles@2 + displayName: 'Copy Dist to Output folder' + inputs: + SourceFolder: $(Build.SourcesDirectory) + Contents: | + dist\**\* + LICENSE.txt + package.json + README.md + TargetFolder: '$(OUTPUTROOT)\outputs\build\build_artifacts' + + # Copying source artifacts to the Output folder + - task: CopyFiles@2 + displayName: 'Copy source to Output folder' + inputs: + SourceFolder: $(Build.SourcesDirectory) + Contents: | + **\* + !**\.pipelines\**\* + !**\.vscode\**\* + !**\test\**\*.* + !**\demo\**\* + !**\dist\**\* + !**\out\**\* + !**\*.tgz + !**\**.nupkg + !**\node_modules\**\* + TargetFolder: '$(OUTPUTROOT)\outputs\build\source' + + # Copying tgz package to the Output folder + - task: CopyFiles@2 + displayName: 'Copy tgz-package to Output folder' + inputs: + SourceFolder: $(Build.SourcesDirectory) + Contents: | + *.tgz + TargetFolder: '$(OUTPUTROOT)\outputs\package\tgz-package' + + # Copying nuget pack to the Output folder + - task: CopyFiles@2 + displayName: 'Copy nuget pack to Output folder' + inputs: + SourceFolder: $(Build.SourcesDirectory) + Contents: | + Microsoft.PowerBI.JavaScript.*.nupkg + TargetFolder: '$(OUTPUTROOT)\outputs\package\Release' + + # Signing the files created by the build and packaging script + - task: onebranch.pipeline.signing@1 + displayName: 'Sign binaries' + inputs: + command: 'sign' + signing_environment: 'azure-ado' + signing_profile: 'internal_azure_service' + files_to_sign: '**' + search_root: '$(OUTPUTROOT)' diff --git a/.pipelines/cdpx_run_ps.cmd b/.pipelines/cdpx_run_ps.cmd deleted file mode 100644 index 64ddad9f..00000000 --- a/.pipelines/cdpx_run_ps.cmd +++ /dev/null @@ -1,6 +0,0 @@ -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 index a77d18f7..bb2a7021 100644 --- a/.pipelines/nuget_pack.ps1 +++ b/.pipelines/nuget_pack.ps1 @@ -1,10 +1,10 @@ Write-Host "Start running nuget_pack.ps1" -$versionNumber = [Environment]::GetEnvironmentVariable("CustomBuildNumber", "User"); +$versionNumber = (Get-Content "package.json") -join "`n" | ConvertFrom-Json | Select -ExpandProperty "version" $exitCode = 0; -Write-Host "Nuget Pack ..\PowerBI.JavaScript.nuspec -Version "$versionNumber -& nuget pack "..\PowerBI.JavaScript.nuspec" -Version $versionNumber +Write-Host "Nuget Pack PowerBI.JavaScript.nuspec -Version "$versionNumber +& nuget pack "PowerBI.JavaScript.nuspec" -Version $versionNumber $exitCode += $LASTEXITCODE; diff --git a/.pipelines/pipeline.user.windows.yml b/.pipelines/pipeline.user.windows.yml deleted file mode 100644 index 39b1205e..00000000 --- a/.pipelines/pipeline.user.windows.yml +++ /dev/null @@ -1,113 +0,0 @@ -environment: - host: - os: "windows" - runtime: - provider: "appcontainer" - image: "cdpxwinrs5.azurecr.io/global/vse2019:latest" - source_mode: "map" - -artifact_publish_options: - publish_to_legacy_artifacts: false - publish_to_pipeline_artifacts: true - publish_to_cloudvault_artifacts: false - -# Enable signing on all declared artifacts. -signing_options: - profile: 'external_distribution' - codesign_validation_glob_pattern: 'regex|.+(?:exe|dll)$;-|*.nd.dll;-|.gdn\\**' - -static_analysis_options: - moderncop_options: - files_to_scan: - - from: 'src\' - include: - - '**/*.*' - - policheck_options: - files_to_scan: - - exclude: - - 'demo\**\*' # Exclude path 'Localize'. - - 'test\**\*' - - 'node_modules\**\*' - - binskim_options: - files_to_scan: - - exclude: - - 'demo\**\*' # Exclude path 'Localize'. - - 'test\**\*' - - 'node_modules\**\*' - -package_sources: - npm: - config_files: - - include: - - ".npmrc" - 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: - - to: 'build_artifacts' - include: - - 'dist/**/*' - - 'LICENSE.txt' - - 'package.json' - - 'README.md' - - - to: 'source' - include: - - '**/*' - exclude: - - '**/.pipelines/**/*.*' - - '**/.vscode/**/*.*' - - '**/test/**/*.*' - - '**/demo/**/*.*' - - '**/dist/**/*.*' - - '**/node_modules/**/*.*' - -# All build stage artifacts get signed right after the build stage -# because the global signing profile is defined. - -package: - commands: - - !!buildcommand - name: 'Package' - arguments: 'package.ps1' - command: '.pipelines\cdpx_run_ps.cmd' - artifacts: - - to: 'tgz-package' - include: - - "**/*.tgz" - - - !!buildcommand - name: 'Nuget Pack' - arguments: 'nuget_pack.ps1' - command: '.pipelines\cdpx_run_ps.cmd' - artifacts: - - to: 'Release' - include: - - "**/Microsoft.PowerBI.JavaScript.*.nupkg" \ No newline at end of file diff --git a/.pipelines/version.ps1 b/.pipelines/version.ps1 index 6bcbae19..505b262c 100644 --- a/.pipelines/version.ps1 +++ b/.pipelines/version.ps1 @@ -5,8 +5,7 @@ try { 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 + Write-Host "##vso[task.setvariable variable=CustomBuildNumber]${buildNumber}" # This will allow you to use it from env var in later steps of the same phase } catch { Write-Error $_.Exception From 9e65b279421273d49e773226cea66355a3e8a9f1 Mon Sep 17 00:00:00 2001 From: PIE Easy Start Date: Mon, 26 Dec 2022 07:19:54 +0000 Subject: [PATCH 105/125] Merged PR 309729: Adding OneBranch pipeline YAML config file for powerbi-javascript-Official Generate OneBranch Pipeline YAML config files. This pull request is initially auto-generated by Easy Start, for more details, please visit our [wiki](https://aka.ms/easystart). **Result of OneBranch Official Pipeline** https://dev.azure.com/powerbi/Embedded/_build/results?buildId=6042686&view=results Related work items: #972391 --- .pipelines/OneBranch.Buddy.yml | 15 ++- .pipelines/OneBranch.Official.yml | 186 ++++++++++++++++++++++++++++++ 2 files changed, 198 insertions(+), 3 deletions(-) create mode 100644 .pipelines/OneBranch.Official.yml diff --git a/.pipelines/OneBranch.Buddy.yml b/.pipelines/OneBranch.Buddy.yml index 394ee1ed..1eb690db 100644 --- a/.pipelines/OneBranch.Buddy.yml +++ b/.pipelines/OneBranch.Buddy.yml @@ -17,7 +17,6 @@ parameters: # parameters are shown up in ADO UI in a build queue time default: false variables: - CDP_DEFINITION_BUILD_COUNT: $[counter('', 0)] # needed for onebranch.pipeline.version task https://aka.ms/obpipelines/versioning system.debug: ${{ parameters.debug }} ENABLE_PRS_DELAYSIGN: 1 ROOT: $(Build.SourcesDirectory) @@ -25,7 +24,7 @@ variables: OUTPUTROOT: $(REPOROOT)\out NUGET_XMLDOC_MODE: skip - WindowsContainerImage: 'cdpxwin1809.azurecr.io/global/obinfra/windows/1809/vs2019:latest' # Docker image which is used to build the project https://aka.ms/obpipelines/containers + WindowsContainerImage: 'onebranch.azurecr.io/windows/ltsc2019/vse2022:latest' # Docker image which is used to build the project https://aka.ms/obpipelines/containers resources: repositories: @@ -52,9 +51,10 @@ extends: variables: # More settings at https://aka.ms/obpipelines/yaml/jobs ob_outputDirectory: '$(OUTPUTROOT)' # this directory is uploaded to pipeline artifacts, reddog and cloudvault. More info at https://aka.ms/obpipelines/artifacts - ob_sdl_binskim_break: true # https://aka.ms/obpipelines/sd + ob_sdl_binskim_break: true # https://aka.ms/obpipelines/sdl ob_artifactBaseName: 'drop' ob_sdl_cg_failOnAlert: false + ob_sdl_codeSignValidation_excludes: 'regex|.+(?:exe|dll)$;-|*.nd.dll;-|.gdn\**' steps: # Custom Versioning - we will build the version using package.json in versioning commands. @@ -95,6 +95,15 @@ extends: filePath: '$(Build.SourcesDirectory)\.pipelines\build.ps1' workingDirectory: '$(Build.SourcesDirectory)' + - task: onebranch.pipeline.signing@1 + displayName: 'Sign binaries' + inputs: + command: 'sign' + signing_environment: 'azure-ado' + signing_profile: 'internal_azure_service' + files_to_sign: 'dist\**\*' + search_root: '$(Build.SourcesDirectory)' + - task: PowerShell@2 displayName: 'Package' inputs: diff --git a/.pipelines/OneBranch.Official.yml b/.pipelines/OneBranch.Official.yml new file mode 100644 index 00000000..a8f25504 --- /dev/null +++ b/.pipelines/OneBranch.Official.yml @@ -0,0 +1,186 @@ +################################################################################# +# Onebranch Pipelines - Official MSBuild (CDPXMigrated) # +# This pipeline was created by EasyStart from a sample located at: # +# https://aka.ms/obpipelines/easystart/samples # +# Documentation: https://aka.ms/obpipelines # +# Yaml Schema: https://aka.ms/obpipelines/yaml/schema # +# Retail Tasks: https://aka.ms/obpipelines/tasks # +# Support: https://aka.ms/onebranchsup # +################################################################################# + +trigger: none # https://aka.ms/obpipelines/triggers + +parameters: # parameters are shown up in ADO UI in a build queue time +- name: 'debug' + displayName: 'Enable debug output' + type: boolean + default: false + +variables: + system.debug: ${{ parameters.debug }} + ENABLE_PRS_DELAYSIGN: 1 + ROOT: $(Build.SourcesDirectory) + REPOROOT: $(Build.SourcesDirectory) + OUTPUTROOT: $(REPOROOT)\out + NUGET_XMLDOC_MODE: skip + ${{ if eq(variables['Build.DefinitionName'], 'powerbi-javascript-Official') }}: + obpTemplate: v2/OneBranch.Official.CrossPlat.yml@templates # https://aka.ms/obpipelines/templates + ${{ else }}: + obpTemplate: v2/OneBranch.NonOfficial.CrossPlat.yml@templates # https://aka.ms/obpipelines/templates + WindowsContainerImage: 'onebranch.azurecr.io/windows/ltsc2019/vse2022:latest' # Docker image which is used to build the project https://aka.ms/obpipelines/containers + +resources: + repositories: + - repository: templates + type: git + name: OneBranch.Pipelines/GovernedTemplates + ref: refs/heads/main + +extends: + template: ${{ variables.obpTemplate }} + parameters: + globalSdl: # https://aka.ms/obpipelines/sdl + tsa: + enabled: false + cg: + failOnAlert: false + + stages: + - stage: build + jobs: + - job: main + pool: + type: windows # read more about custom job pool types at https://aka.ms/obpipelines/yaml/jobs + + variables: + ob_outputDirectory: '$(OUTPUTROOT)' # this directory is uploaded to pipeline artifacts, reddog and cloudvault. More info at https://aka.ms/obpipelines/artifacts + ob_sdl_binskim_break: true # https://aka.ms/obpipelines/sdl + ob_artifactBaseName: 'drop' + ob_sdl_cg_failOnAlert: false + ob_sdl_codeSignValidation_excludes: 'regex|.+(?:exe|dll)$;-|*.nd.dll;-|.gdn\**' + + steps: + # Custom Versioning - we will build the version using package.json in versioning commands. + - task: PowerShell@2 + displayName: 'Set Version' + inputs: + targetType: 'filePath' + filePath: '$(Build.SourcesDirectory)\.pipelines\version.ps1' + workingDirectory: '$(Build.SourcesDirectory)' + + # Add the versioning task after running Version script + - task: onebranch.pipeline.version@1 + inputs: + system: 'Custom' + customVersion: '$(CustomBuildNumber)' + + - task: NodeTool@0 + displayName: 'Install Node.js' + inputs: + versionSpec: '16.x' + + - task: npmAuthenticate@0 + displayName: 'NPM Authenticate' + inputs: + workingFile: '$(Build.SourcesDirectory)/.npmrc' + + - task: PowerShell@2 + displayName: 'Restore' + inputs: + targetType: 'filePath' + filePath: '$(Build.SourcesDirectory)\.pipelines\restore.ps1' + workingDirectory: '$(Build.SourcesDirectory)' + + - task: PowerShell@2 + displayName: 'Build' + inputs: + targetType: 'filePath' + filePath: '$(Build.SourcesDirectory)\.pipelines\build.ps1' + workingDirectory: '$(Build.SourcesDirectory)' + + - task: onebranch.pipeline.signing@1 + displayName: 'Sign binaries' + inputs: + command: 'sign' + signing_environment: 'azure-ado' + signing_profile: 'internal_azure_service' + files_to_sign: 'dist\**\*' + search_root: '$(Build.SourcesDirectory)' + + - task: PowerShell@2 + displayName: 'Package' + inputs: + targetType: 'filePath' + filePath: '$(Build.SourcesDirectory)\.pipelines\package.ps1' + workingDirectory: '$(Build.SourcesDirectory)' + + - task: NuGetToolInstaller@1 + displayName: 'Install Nuget' + inputs: + versionSpec: '*' + checkLatest: true + + - task: PowerShell@2 + displayName: 'Nuget Package' + inputs: + targetType: 'filePath' + filePath: '$(Build.SourcesDirectory)\.pipelines\nuget_pack.ps1' + workingDirectory: '$(Build.SourcesDirectory)' + + # Copying build artifacts to the Output folder + - task: CopyFiles@2 + displayName: 'Copy Dist to Output folder' + inputs: + SourceFolder: $(Build.SourcesDirectory) + Contents: | + dist\**\* + LICENSE.txt + package.json + README.md + TargetFolder: '$(OUTPUTROOT)\outputs\build\build_artifacts' + + # Copying source artifacts to the Output folder + - task: CopyFiles@2 + displayName: 'Copy source to Output folder' + inputs: + SourceFolder: $(Build.SourcesDirectory) + Contents: | + **\* + !.pipelines\**\* + !.vscode\**\* + !demo\**\* + !dist\**\* + !node_modules\**\* + !**\out\**\* + !**\test\**\*.* + !**\*.tgz + !**\**.nupkg + TargetFolder: '$(OUTPUTROOT)\outputs\build\source' + + # Copying tgz package to the Output folder. + - task: CopyFiles@2 + displayName: 'Copy tgz-package to Output folder' + inputs: + SourceFolder: $(Build.SourcesDirectory) + Contents: | + *.tgz + TargetFolder: '$(OUTPUTROOT)\outputs\package\tgz-package' + + # Copying nuget pack to the Output folder + - task: CopyFiles@2 + displayName: 'Copy nuget pack to Output folder' + inputs: + SourceFolder: $(Build.SourcesDirectory) + Contents: | + Microsoft.PowerBI.JavaScript.*.nupkg + TargetFolder: '$(OUTPUTROOT)\outputs\package\Release' + + # Signing the files created by the build and packaging script + - task: onebranch.pipeline.signing@1 + displayName: 'Sign binaries' + inputs: + command: 'sign' + signing_environment: 'azure-ado' + signing_profile: 'internal_azure_service' + files_to_sign: '**' + search_root: '$(OUTPUTROOT)' \ No newline at end of file From 3153b72fcca294129cb960fe8f293530e76ae46b Mon Sep 17 00:00:00 2001 From: Or Shemesh Date: Mon, 2 Jan 2023 11:39:28 +0000 Subject: [PATCH 106/125] Merged PR 320270: Add support of registering external components to SDK Add support of registering external components to SDK How does it work? 1. User creates a new embed component extending `Embed` in his project 2. User implements the necessary code in FE to support hosting of the new component and handling events 3. Needed code to embed the new component: `powerbi.register(componentType, embedComponentFactory, routerEventUrls);` `powerbi.embed(embedContainer, config);` powerbi.register: - `componentType`: string representing the component type in embed configuration interface - `embedComponentFactory`: function that returns a new instance of the embed component. - `routerEventUrls`: list of urls to register, must use uniqueId and eventName as keys. something like that: `/componentName/:uniqueId/events/:eventName` Example of calling powerbi.register for metric-picker component: ``` this.register( 'metric_picker', (service, element, config, phasedRender, isBootstrap) => new MetricPicker(service, element, config, phasedRender, isBootstrap), ['/metricPicker/:uniqueId/events/:eventName'] ); ``` --- dist/powerbi-client.d.ts | 34 +++- dist/powerbi.js | 414 ++++++++++++++++++++++++++++++++++++++- dist/powerbi.min.js | 6 +- src/service.ts | 87 +++++++- test/service.spec.ts | 57 +++++- 5 files changed, 577 insertions(+), 21 deletions(-) diff --git a/dist/powerbi-client.d.ts b/dist/powerbi-client.d.ts index 06d9f3ef..b9b483b1 100644 --- a/dist/powerbi-client.d.ts +++ b/dist/powerbi-client.d.ts @@ -2137,6 +2137,10 @@ declare module "service" { hpm: HttpPostMessage; } export type IComponentEmbedConfiguration = IReportEmbedConfiguration | IDashboardEmbedConfiguration | ITileEmbedConfiguration | IVisualEmbedConfiguration | IQnaEmbedConfiguration; + /** + * @hidden + */ + export type EmbedComponentFactory = (service: Service, element: HTMLElement, config: IEmbedConfigurationBase, phasedRender?: boolean, isBootstrap?: boolean) => Embed; /** * The Power BI Service embed component, which is the entry point to embed all other Power BI components into your application * @@ -2162,7 +2166,7 @@ declare module "service" { 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. */ + /** A list of Power BI components that have been embedded using this service instance. */ private embeds; /** TODO: Look for way to make hpm private without sacrificing ease of maintenance. This should be private but in embed needs to call methods. * @@ -2176,6 +2180,10 @@ declare module "service" { wpmp: WindowPostMessageProxy; router: Router; private uniqueSessionId; + /** + * @hidden + */ + private registeredComponents; /** * Creates an instance of a Power BI Service. * @@ -2257,10 +2265,25 @@ declare module "service" { * @private * @param {IPowerBiElement} element * @param {IEmbedConfigurationBase} config + * @param {boolean} phasedRender + * @param {boolean} isBootstrap * @returns {Embed} * @hidden */ private embedNew; + /** + * Given component type, creates embed component instance + * + * @private + * @param {string} componentType + * @param {HTMLElement} element + * @param {IEmbedConfigurationBase} config + * @param {boolean} phasedRender + * @param {boolean} isBootstrap + * @returns {Embed} + * @hidden + */ + private createEmbedComponent; /** * Given an element that already contains an embed component, load with a new configuration. * @@ -2345,6 +2368,15 @@ declare module "service" { * @returns {void} */ setSdkInfo(type: string, version: string): void; + /** + * API for registering external components + * + * @hidden + * @param {string} componentType + * @param {EmbedComponentFactory} embedComponentFactory + * @param {string[]} routerEventUrls + */ + register(componentType: string, embedComponentFactory: EmbedComponentFactory, routerEventUrls: string[]): void; } } declare module "bookmarksManager" { diff --git a/dist/powerbi.js b/dist/powerbi.js index 6134954b..a4645368 100644 --- a/dist/powerbi.js +++ b/dist/powerbi.js @@ -911,7 +911,7 @@ module.exports = shouldUseNative() ? Object.assign : function (target, source) { /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { -// powerbi-models v1.12.1 +// powerbi-models v1.12.3 // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. (function webpackUniversalModuleDefinition(root, factory) { @@ -6008,6 +6008,10 @@ var ColumnSchemaValidator = /** @class */ (function (_super) { field: "name", validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.stringValidator] }, + { + field: "displayName", + validators: [validator_1.Validators.stringValidator] + }, { field: "dataType", validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.stringValidator] @@ -6187,6 +6191,346 @@ exports.QuickCreateValidator = QuickCreateValidator; ; }); //# sourceMappingURL=models.js.map +// SIG // Begin signature block +// SIG // MIIrVgYJKoZIhvcNAQcCoIIrRzCCK0MCAQExDzANBglg +// SIG // hkgBZQMEAgEFADB3BgorBgEEAYI3AgEEoGkwZzAyBgor +// SIG // BgEEAYI3AgEeMCQCAQEEEBDgyQbOONQRoqMAEEvTUJAC +// SIG // AQACAQACAQACAQACAQAwMTANBglghkgBZQMEAgEFAAQg +// SIG // /i51IdNsxTS0JqJprFGAbZKQWzw3aaJrQs6hvB+vKCig +// SIG // ghF5MIIIiTCCB3GgAwIBAgITNgAAAanWkDBmQ9sfggAC +// SIG // AAABqTANBgkqhkiG9w0BAQsFADBBMRMwEQYKCZImiZPy +// SIG // LGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRUw +// SIG // EwYDVQQDEwxBTUUgQ1MgQ0EgMDEwHhcNMjIwNjEwMTgy +// SIG // NzA0WhcNMjMwNjEwMTgyNzA0WjAkMSIwIAYDVQQDExlN +// SIG // aWNyb3NvZnQgQXp1cmUgQ29kZSBTaWduMIIBIjANBgkq +// SIG // hkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAuLvS3Hq6XM6N +// SIG // 5ZVPdqZQQbTo4WFo9Ar6TqyLpZIqQpNoW9ZG58deayDX +// SIG // VV7wKgn0IAjewM3VfPGtiX8jjOz4VtelbCYnbV9zrqqU +// SIG // rtTlqTbFB1L+UWQO2DLhxB8QybLxi38KaiY1DC6DL5xK +// SIG // uAnIGWnVNS168FihSxIPneGKfG3nJH1CgSA/rJ7w7tnY +// SIG // 8hHlpPpMia6oKVAZSvos9/fDpBmX+cru3sXfEv19s+4O +// SIG // JKLoPlJiNR0PhsqW5hChTn+tjVOBu8Td7tcb+jf9QQs1 +// SIG // 2HPBtx3nMNhNlYZQrqXJMUy65RH2zAYAd9N9tdo6VRU/ +// SIG // 8vRYzYOrWHSulDVtMn2cjwIDAQABo4IFlTCCBZEwKQYJ +// SIG // KwYBBAGCNxUKBBwwGjAMBgorBgEEAYI3WwEBMAoGCCsG +// SIG // AQUFBwMDMD0GCSsGAQQBgjcVBwQwMC4GJisGAQQBgjcV +// SIG // CIaQ4w2E1bR4hPGLPoWb3RbOnRKBYIPdzWaGlIwyAgFk +// SIG // AgEMMIICdgYIKwYBBQUHAQEEggJoMIICZDBiBggrBgEF +// SIG // BQcwAoZWaHR0cDovL2NybC5taWNyb3NvZnQuY29tL3Br +// SIG // aWluZnJhL0NlcnRzL0JZMlBLSUNTQ0EwMS5BTUUuR0JM +// SIG // X0FNRSUyMENTJTIwQ0ElMjAwMSgyKS5jcnQwUgYIKwYB +// SIG // BQUHMAKGRmh0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0JZ +// SIG // MlBLSUNTQ0EwMS5BTUUuR0JMX0FNRSUyMENTJTIwQ0El +// SIG // MjAwMSgyKS5jcnQwUgYIKwYBBQUHMAKGRmh0dHA6Ly9j +// SIG // cmwyLmFtZS5nYmwvYWlhL0JZMlBLSUNTQ0EwMS5BTUUu +// SIG // R0JMX0FNRSUyMENTJTIwQ0ElMjAwMSgyKS5jcnQwUgYI +// SIG // KwYBBQUHMAKGRmh0dHA6Ly9jcmwzLmFtZS5nYmwvYWlh +// SIG // L0JZMlBLSUNTQ0EwMS5BTUUuR0JMX0FNRSUyMENTJTIw +// SIG // Q0ElMjAwMSgyKS5jcnQwUgYIKwYBBQUHMAKGRmh0dHA6 +// SIG // Ly9jcmw0LmFtZS5nYmwvYWlhL0JZMlBLSUNTQ0EwMS5B +// SIG // TUUuR0JMX0FNRSUyMENTJTIwQ0ElMjAwMSgyKS5jcnQw +// SIG // ga0GCCsGAQUFBzAChoGgbGRhcDovLy9DTj1BTUUlMjBD +// SIG // UyUyMENBJTIwMDEsQ049QUlBLENOPVB1YmxpYyUyMEtl +// SIG // eSUyMFNlcnZpY2VzLENOPVNlcnZpY2VzLENOPUNvbmZp +// SIG // Z3VyYXRpb24sREM9QU1FLERDPUdCTD9jQUNlcnRpZmlj +// SIG // YXRlP2Jhc2U/b2JqZWN0Q2xhc3M9Y2VydGlmaWNhdGlv +// SIG // bkF1dGhvcml0eTAdBgNVHQ4EFgQUj5gJWFiDzm06yLnX +// SIG // Wf2V9PM6+1cwDgYDVR0PAQH/BAQDAgeAMFAGA1UdEQRJ +// SIG // MEekRTBDMSkwJwYDVQQLEyBNaWNyb3NvZnQgT3BlcmF0 +// SIG // aW9ucyBQdWVydG8gUmljbzEWMBQGA1UEBRMNMjM2MTY3 +// SIG // KzQ3MDg2MTCCAeYGA1UdHwSCAd0wggHZMIIB1aCCAdGg +// SIG // ggHNhj9odHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtp +// SIG // aW5mcmEvQ1JML0FNRSUyMENTJTIwQ0ElMjAwMSgyKS5j +// SIG // cmyGMWh0dHA6Ly9jcmwxLmFtZS5nYmwvY3JsL0FNRSUy +// SIG // MENTJTIwQ0ElMjAwMSgyKS5jcmyGMWh0dHA6Ly9jcmwy +// SIG // LmFtZS5nYmwvY3JsL0FNRSUyMENTJTIwQ0ElMjAwMSgy +// SIG // KS5jcmyGMWh0dHA6Ly9jcmwzLmFtZS5nYmwvY3JsL0FN +// SIG // RSUyMENTJTIwQ0ElMjAwMSgyKS5jcmyGMWh0dHA6Ly9j +// SIG // cmw0LmFtZS5nYmwvY3JsL0FNRSUyMENTJTIwQ0ElMjAw +// SIG // MSgyKS5jcmyGgb1sZGFwOi8vL0NOPUFNRSUyMENTJTIw +// SIG // Q0ElMjAwMSgyKSxDTj1CWTJQS0lDU0NBMDEsQ049Q0RQ +// SIG // LENOPVB1YmxpYyUyMEtleSUyMFNlcnZpY2VzLENOPVNl +// SIG // cnZpY2VzLENOPUNvbmZpZ3VyYXRpb24sREM9QU1FLERD +// SIG // PUdCTD9jZXJ0aWZpY2F0ZVJldm9jYXRpb25MaXN0P2Jh +// SIG // c2U/b2JqZWN0Q2xhc3M9Y1JMRGlzdHJpYnV0aW9uUG9p +// SIG // bnQwHwYDVR0jBBgwFoAUllGE4Gtve/7YBqvD8oXmKa5q +// SIG // +dQwHwYDVR0lBBgwFgYKKwYBBAGCN1sBAQYIKwYBBQUH +// SIG // AwMwDQYJKoZIhvcNAQELBQADggEBAHD1OJbFZ/tIa5Zp +// SIG // DzeU+mqWHOdF2htAZKicRfNYhaajjyYRvCTUKn/5SZGU +// SIG // KKdVmsxiFtCOp2lJ2+C3b7IJukkqC9SmpIkQLhBuz7uK +// SIG // 4NsXB6Xn3Iv32YuKeH4sqdRqJMCezhsale/Sh6fecsVW +// SIG // pJnsvfXxdXBCyoVbAZCZCQN3dOXUz4DtEfV2fxhRzTfS +// SIG // UhKsr1VSY9HC/myediSqvqd3zfgK9j6IR0DcL3WkKiV0 +// SIG // B/dnYwntnntrhFxGYQuPPXBA7xX10SB/8CVA8V1NovOk +// SIG // tGO5cgvmVMe5pA2m9M7sOBgFkjXgPD7i4PoL5X0mK+6b +// SIG // nchiEZj1C5l1X6LzJH4wggjoMIIG0KADAgECAhMfAAAA +// SIG // UeqP9pxzDKg7AAAAAABRMA0GCSqGSIb3DQEBCwUAMDwx +// SIG // EzARBgoJkiaJk/IsZAEZFgNHQkwxEzARBgoJkiaJk/Is +// SIG // ZAEZFgNBTUUxEDAOBgNVBAMTB2FtZXJvb3QwHhcNMjEw +// SIG // NTIxMTg0NDE0WhcNMjYwNTIxMTg1NDE0WjBBMRMwEQYK +// SIG // CZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYD +// SIG // QU1FMRUwEwYDVQQDEwxBTUUgQ1MgQ0EgMDEwggEiMA0G +// SIG // CSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDJmlIJfQGe +// SIG // jVbXKpcyFPoFSUllalrinfEV6JMc7i+bZDoL9rNHnHDG +// SIG // fJgeuRIYO1LY/1f4oMTrhXbSaYRCS5vGc8145WcTZG90 +// SIG // 8bGDCWr4GFLc411WxA+Pv2rteAcz0eHMH36qTQ8L0o3X +// SIG // Ob2n+x7KJFLokXV1s6pF/WlSXsUBXGaCIIWBXyEchv+s +// SIG // M9eKDsUOLdLTITHYJQNWkiryMSEbxqdQUTVZjEz6eLRL +// SIG // kofDAo8pXirIYOgM770CYOiZrcKHK7lYOVblx22pdNaw +// SIG // Y8Te6a2dfoCaWV1QUuazg5VHiC4p/6fksgEILptOKhx9 +// SIG // c+iapiNhMrHsAYx9pUtppeaFAgMBAAGjggTcMIIE2DAS +// SIG // BgkrBgEEAYI3FQEEBQIDAgACMCMGCSsGAQQBgjcVAgQW +// SIG // BBQSaCRCIUfL1Gu+Mc8gpMALI38/RzAdBgNVHQ4EFgQU +// SIG // llGE4Gtve/7YBqvD8oXmKa5q+dQwggEEBgNVHSUEgfww +// SIG // gfkGBysGAQUCAwUGCCsGAQUFBwMBBggrBgEFBQcDAgYK +// SIG // KwYBBAGCNxQCAQYJKwYBBAGCNxUGBgorBgEEAYI3CgMM +// SIG // BgkrBgEEAYI3FQYGCCsGAQUFBwMJBggrBgEFBQgCAgYK +// SIG // KwYBBAGCN0ABAQYLKwYBBAGCNwoDBAEGCisGAQQBgjcK +// SIG // AwQGCSsGAQQBgjcVBQYKKwYBBAGCNxQCAgYKKwYBBAGC +// SIG // NxQCAwYIKwYBBQUHAwMGCisGAQQBgjdbAQEGCisGAQQB +// SIG // gjdbAgEGCisGAQQBgjdbAwEGCisGAQQBgjdbBQEGCisG +// SIG // AQQBgjdbBAEGCisGAQQBgjdbBAIwGQYJKwYBBAGCNxQC +// SIG // BAweCgBTAHUAYgBDAEEwCwYDVR0PBAQDAgGGMBIGA1Ud +// SIG // EwEB/wQIMAYBAf8CAQAwHwYDVR0jBBgwFoAUKV5RXmSu +// SIG // NLnrrJwNp4x1AdEJCygwggFoBgNVHR8EggFfMIIBWzCC +// SIG // AVegggFToIIBT4YxaHR0cDovL2NybC5taWNyb3NvZnQu +// SIG // Y29tL3BraWluZnJhL2NybC9hbWVyb290LmNybIYjaHR0 +// SIG // cDovL2NybDIuYW1lLmdibC9jcmwvYW1lcm9vdC5jcmyG +// SIG // I2h0dHA6Ly9jcmwzLmFtZS5nYmwvY3JsL2FtZXJvb3Qu +// SIG // Y3JshiNodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9hbWVy +// SIG // b290LmNybIaBqmxkYXA6Ly8vQ049YW1lcm9vdCxDTj1B +// SIG // TUVSb290LENOPUNEUCxDTj1QdWJsaWMlMjBLZXklMjBT +// SIG // ZXJ2aWNlcyxDTj1TZXJ2aWNlcyxDTj1Db25maWd1cmF0 +// SIG // aW9uLERDPUFNRSxEQz1HQkw/Y2VydGlmaWNhdGVSZXZv +// SIG // Y2F0aW9uTGlzdD9iYXNlP29iamVjdENsYXNzPWNSTERp +// SIG // c3RyaWJ1dGlvblBvaW50MIIBqwYIKwYBBQUHAQEEggGd +// SIG // MIIBmTBHBggrBgEFBQcwAoY7aHR0cDovL2NybC5taWNy +// SIG // b3NvZnQuY29tL3BraWluZnJhL2NlcnRzL0FNRVJvb3Rf +// SIG // YW1lcm9vdC5jcnQwNwYIKwYBBQUHMAKGK2h0dHA6Ly9j +// SIG // cmwyLmFtZS5nYmwvYWlhL0FNRVJvb3RfYW1lcm9vdC5j +// SIG // cnQwNwYIKwYBBQUHMAKGK2h0dHA6Ly9jcmwzLmFtZS5n +// SIG // YmwvYWlhL0FNRVJvb3RfYW1lcm9vdC5jcnQwNwYIKwYB +// SIG // BQUHMAKGK2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0FN +// SIG // RVJvb3RfYW1lcm9vdC5jcnQwgaIGCCsGAQUFBzAChoGV +// SIG // bGRhcDovLy9DTj1hbWVyb290LENOPUFJQSxDTj1QdWJs +// SIG // aWMlMjBLZXklMjBTZXJ2aWNlcyxDTj1TZXJ2aWNlcyxD +// SIG // Tj1Db25maWd1cmF0aW9uLERDPUFNRSxEQz1HQkw/Y0FD +// SIG // ZXJ0aWZpY2F0ZT9iYXNlP29iamVjdENsYXNzPWNlcnRp +// SIG // ZmljYXRpb25BdXRob3JpdHkwDQYJKoZIhvcNAQELBQAD +// SIG // ggIBAFAQI7dPD+jfXtGt3vJp2pyzA/HUu8hjKaRpM3op +// SIG // ya5G3ocprRd7vdTHb8BDfRN+AD0YEmeDB5HKQoG6xHPI +// SIG // 5TXuIi5sm/LeADbV3C2q0HQOygS/VT+m1W7a/752hMIn +// SIG // +L4ZuyxVeSBpfwf7oQ4YSZPh6+ngZvBHgfBaVz4O9/wc +// SIG // fw91QDZnTgK9zAh9yRKKls2bziPEnxeOZMVNaxyV0v15 +// SIG // 2PY2xjqIafIkUjK6vY9LtVFjJXenVUAmn3WCPWNFC1YT +// SIG // IIHw/mD2cTfPy7QA1pT+GPARAKt0bKtq9aCd/Ym0b5tP +// SIG // bpgCiRtzyb7fbNS1dE740re0COE67YV2wbeo2sXixzvL +// SIG // ftH8L7s9xv9wV+G22qyKt6lmKLjFK1yMw4Ni5fMabcgm +// SIG // zRvSjAcbqgp3tk4a8emaaH0rz8MuuIP+yrxtREPXSqL/ +// SIG // C5bzMzsikuDW9xH10graZzSmPjilzpRfRdu20/9UQmC7 +// SIG // eVPZ4j1WNa1oqPHfzET3ChIzJ6Q9G3NPCB+7KwX0OQmK +// SIG // yv7IDimj8U/GlsHD1z+EF/fYMf8YXG15LamaOAohsw/y +// SIG // wO6SYSreVW+5Y0mzJutnBC9Cm9ozj1+/4kqksrlhZgR/ +// SIG // CSxhFH3BTweH8gP2FEISRtShDZbuYymynY1un+RyfiK9 +// SIG // +iVTLdD1h/SxyxDpZMtimb4CgJQlMYIZNTCCGTECAQEw +// SIG // WDBBMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZIm +// SIG // iZPyLGQBGRYDQU1FMRUwEwYDVQQDEwxBTUUgQ1MgQ0Eg +// SIG // MDECEzYAAAGp1pAwZkPbH4IAAgAAAakwDQYJYIZIAWUD +// SIG // BAIBBQCgga4wGQYJKoZIhvcNAQkDMQwGCisGAQQBgjcC +// SIG // AQQwHAYKKwYBBAGCNwIBCzEOMAwGCisGAQQBgjcCARUw +// SIG // LwYJKoZIhvcNAQkEMSIEIEgzLPlSRdtRALewHjk0YF65 +// SIG // k1BN+zhlWpF7dpatkUNNMEIGCisGAQQBgjcCAQwxNDAy +// SIG // oBSAEgBNAGkAYwByAG8AcwBvAGYAdKEagBhodHRwOi8v +// SIG // d3d3Lm1pY3Jvc29mdC5jb20wDQYJKoZIhvcNAQEBBQAE +// SIG // ggEAo7s9H4+5ZCFpGU+mzKmSZNKGszg3RSKhV5NPmrAP +// SIG // MIUNLJvqKkNJ/782HHPkUqa5fxJpeKTY4oRyv2Jr8Edf +// SIG // eB/84/cwhtKbj+TLdHX4mro+OKoQmOC6MvxT3Jg/lWsT +// SIG // qiYJoRQ1hajAdRsZ8ukon3JoSdQRTcQOjchiX5p+VarN +// SIG // LQlesuKl8srWej8Col6ASZNierCPh7Zep+8YnDQGxwXt +// SIG // 9PvGetnUTF/4kw42UQNn8kABdhJYfpuveqXIfAarCLgG +// SIG // Ev3PTG0dA/c2oqHlqwZw/BBOL4LbVEbGFGfY4L3j8Pgc +// SIG // axN+CvwzXA6YQWIRcrp+KnTSQoenP051gteIhaGCFv0w +// SIG // ghb5BgorBgEEAYI3AwMBMYIW6TCCFuUGCSqGSIb3DQEH +// SIG // AqCCFtYwghbSAgEDMQ8wDQYJYIZIAWUDBAIBBQAwggFR +// SIG // BgsqhkiG9w0BCRABBKCCAUAEggE8MIIBOAIBAQYKKwYB +// SIG // BAGEWQoDATAxMA0GCWCGSAFlAwQCAQUABCC3cDSDpi62 +// SIG // ZHR/9yf8bEyPbB6XeS1AF23Ph/1CEGjCVAIGY2z2CHbT +// SIG // GBMyMDIyMTEyMDA3NDQ0NC4xMzVaMASAAgH0oIHQpIHN +// SIG // MIHKMQswCQYDVQQGEwJVUzETMBEGA1UECBMKV2FzaGlu +// SIG // Z3RvbjEQMA4GA1UEBxMHUmVkbW9uZDEeMBwGA1UEChMV +// SIG // TWljcm9zb2Z0IENvcnBvcmF0aW9uMSUwIwYDVQQLExxN +// SIG // aWNyb3NvZnQgQW1lcmljYSBPcGVyYXRpb25zMSYwJAYD +// SIG // VQQLEx1UaGFsZXMgVFNTIEVTTjpENkJELUUzRTctMTY4 +// SIG // NTElMCMGA1UEAxMcTWljcm9zb2Z0IFRpbWUtU3RhbXAg +// SIG // U2VydmljZaCCEVQwggcMMIIE9KADAgECAhMzAAABx/sA +// SIG // oEpb8ifcAAEAAAHHMA0GCSqGSIb3DQEBCwUAMHwxCzAJ +// SIG // BgNVBAYTAlVTMRMwEQYDVQQIEwpXYXNoaW5ndG9uMRAw +// SIG // DgYDVQQHEwdSZWRtb25kMR4wHAYDVQQKExVNaWNyb3Nv +// SIG // ZnQgQ29ycG9yYXRpb24xJjAkBgNVBAMTHU1pY3Jvc29m +// SIG // dCBUaW1lLVN0YW1wIFBDQSAyMDEwMB4XDTIyMTEwNDE5 +// SIG // MDEzNVoXDTI0MDIwMjE5MDEzNVowgcoxCzAJBgNVBAYT +// SIG // AlVTMRMwEQYDVQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQH +// SIG // EwdSZWRtb25kMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29y +// SIG // cG9yYXRpb24xJTAjBgNVBAsTHE1pY3Jvc29mdCBBbWVy +// SIG // aWNhIE9wZXJhdGlvbnMxJjAkBgNVBAsTHVRoYWxlcyBU +// SIG // U1MgRVNOOkQ2QkQtRTNFNy0xNjg1MSUwIwYDVQQDExxN +// SIG // aWNyb3NvZnQgVGltZS1TdGFtcCBTZXJ2aWNlMIICIjAN +// SIG // BgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAr0LcVtna +// SIG // tNFMBrQTtG9P8ISAPyyGmxNfhEzaOVlt088pBUFAIasm +// SIG // N/eOijE6Ucaf3c2bVnN/02ih0smSqYkm5P3ZwU7ZW202 +// SIG // b6cPDJjXcrjJj0qfnuccBtE3WU0vZ8CiQD7qrKxeF8YB +// SIG // NcS+PVtvsqhd5YW6AwhWqhjw1mYuLetF5b6aPif/3Rzl +// SIG // yqG3SV7QPiSJends7gG435Rsy1HJ4XnqztOJR41I0j3E +// SIG // Q05JMF5QNRi7kT6vXTT+MHVj27FVQ7bef/U+2EAbFj2X +// SIG // 2AOWbvglYaYnM3m/I/OWDHUgGw8KIdsDh3W1eusnF2D7 +// SIG // oenGgtahs+S1G5Uolf5ESg/9Z+38rhQwLgokY5k6p8k5 +// SIG // arYWtszdJK6JiIRl843H74k7+QqlT2LbAQPq8ivQv0gd +// SIG // clW2aJun1KrW+v52R3vAHCOtbUmxvD1eNGHqGqLagtlq +// SIG // 9UFXKXuXnqXJqruCYmfwdFMD0UP6ii1lFdeKL87PdjdA +// SIG // wyCiVcCEoLnvDzyvjNjxtkTdz6R4yF1N/X4PSQH4Flgs +// SIG // lyBIXggaSlPtvPuxAtuac/ITj4k0IRShGiYLBM2Dw6oe +// SIG // sLOoxe07OUPO+qXXOcJMVHhE0MlhhnxfN2B1JWFPWwQ6 +// SIG // ooWiqAOQDqzcDx+79shxA1Cx0K70eOBplMog27gYoLpB +// SIG // v7nRz4tHqoTyvA0CAwEAAaOCATYwggEyMB0GA1UdDgQW +// SIG // BBQFUNLdHD7BAF/VU/X/eEHLiUSSIDAfBgNVHSMEGDAW +// SIG // gBSfpxVdAF5iXYP05dJlpxtTNRnpcjBfBgNVHR8EWDBW +// SIG // MFSgUqBQhk5odHRwOi8vd3d3Lm1pY3Jvc29mdC5jb20v +// SIG // cGtpb3BzL2NybC9NaWNyb3NvZnQlMjBUaW1lLVN0YW1w +// SIG // JTIwUENBJTIwMjAxMCgxKS5jcmwwbAYIKwYBBQUHAQEE +// SIG // YDBeMFwGCCsGAQUFBzAChlBodHRwOi8vd3d3Lm1pY3Jv +// SIG // c29mdC5jb20vcGtpb3BzL2NlcnRzL01pY3Jvc29mdCUy +// SIG // MFRpbWUtU3RhbXAlMjBQQ0ElMjAyMDEwKDEpLmNydDAM +// SIG // BgNVHRMBAf8EAjAAMBMGA1UdJQQMMAoGCCsGAQUFBwMI +// SIG // MA0GCSqGSIb3DQEBCwUAA4ICAQDQy5c8ogP0y8xAsLVc +// SIG // a07wWy1mT+nqYgAFnz2972kNO+KJ7AE4f+SVbvOnkeeu +// SIG // OPq3xc+6TS8g3FuKKYEwYqvnRHxX58tjlscZsZeKnu7f +// SIG // GNUlpNT9bOQFHWALURuoXp8TLHhxj3PEq9jzFYBP2YNM +// SIG // Lol70ojY1qpze3nMMJfpdurdBBpaOLlJmRNTLhxd+RJG +// SIG // JQbY1XAcx6p/FigwqBasSDUxp+0yFPEBB9uBE3KILAtq +// SIG // 6fczGp4EMeon6YmkyCGAtXMKDFQQgdP/ITe7VghAVbPT +// SIG // VlP3hY1dFgc+t8YK2obFSFVKslkASATDHulCMht+WrIs +// SIG // ukclEUP9DaMmpq7S0RLODMicI6PtqqGOhdnaRltA0d+W +// SIG // f+0tPt9SUVtrPJyO7WMPKbykCRXzmHK06zr0kn1YiUYN +// SIG // XCsOgaHF5ImO2ZwQ54UE1I55jjUdldyjy/UPJgxRm9Ny +// SIG // XeO7adYr8K8f6Q2nPF0vWqFG7ewwaAl5ClKerzshfhB8 +// SIG // zujVR0d1Ra7Z01lnXYhWuPqVZayFl7JHr6i6huhpU6BQ +// SIG // 6/VgY0cBiksX4mNM+ISY81T1RYt7fWATNu/zkjINczip +// SIG // zbfg5S+3fCAo8gVB6+6A5L0vBg39dsFITv6MWJuQ8ZZy +// SIG // 7fwlFBZE4d5IFbRudakNwKGdyLGM2otaNq7wm3ku7x41 +// SIG // UGAmkDCCB3EwggVZoAMCAQICEzMAAAAVxedrngKbSZkA +// SIG // AAAAABUwDQYJKoZIhvcNAQELBQAwgYgxCzAJBgNVBAYT +// SIG // AlVTMRMwEQYDVQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQH +// SIG // EwdSZWRtb25kMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29y +// SIG // cG9yYXRpb24xMjAwBgNVBAMTKU1pY3Jvc29mdCBSb290 +// SIG // IENlcnRpZmljYXRlIEF1dGhvcml0eSAyMDEwMB4XDTIx +// SIG // MDkzMDE4MjIyNVoXDTMwMDkzMDE4MzIyNVowfDELMAkG +// SIG // A1UEBhMCVVMxEzARBgNVBAgTCldhc2hpbmd0b24xEDAO +// SIG // BgNVBAcTB1JlZG1vbmQxHjAcBgNVBAoTFU1pY3Jvc29m +// SIG // dCBDb3Jwb3JhdGlvbjEmMCQGA1UEAxMdTWljcm9zb2Z0 +// SIG // IFRpbWUtU3RhbXAgUENBIDIwMTAwggIiMA0GCSqGSIb3 +// SIG // DQEBAQUAA4ICDwAwggIKAoICAQDk4aZM57RyIQt5osvX +// SIG // JHm9DtWC0/3unAcH0qlsTnXIyjVX9gF/bErg4r25Phdg +// SIG // M/9cT8dm95VTcVrifkpa/rg2Z4VGIwy1jRPPdzLAEBjo +// SIG // YH1qUoNEt6aORmsHFPPFdvWGUNzBRMhxXFExN6AKOG6N +// SIG // 7dcP2CZTfDlhAnrEqv1yaa8dq6z2Nr41JmTamDu6Gnsz +// SIG // rYBbfowQHJ1S/rboYiXcag/PXfT+jlPP1uyFVk3v3byN +// SIG // pOORj7I5LFGc6XBpDco2LXCOMcg1KL3jtIckw+DJj361 +// SIG // VI/c+gVVmG1oO5pGve2krnopN6zL64NF50ZuyjLVwIYw +// SIG // XE8s4mKyzbnijYjklqwBSru+cakXW2dg3viSkR4dPf0g +// SIG // z3N9QZpGdc3EXzTdEonW/aUgfX782Z5F37ZyL9t9X4C6 +// SIG // 26p+Nuw2TPYrbqgSUei/BQOj0XOmTTd0lBw0gg/wEPK3 +// SIG // Rxjtp+iZfD9M269ewvPV2HM9Q07BMzlMjgK8QmguEOqE +// SIG // UUbi0b1qGFphAXPKZ6Je1yh2AuIzGHLXpyDwwvoSCtdj +// SIG // bwzJNmSLW6CmgyFdXzB0kZSU2LlQ+QuJYfM2BjUYhEfb +// SIG // 3BvR/bLUHMVr9lxSUV0S2yW6r1AFemzFER1y7435UsSF +// SIG // F5PAPBXbGjfHCBUYP3irRbb1Hode2o+eFnJpxq57t7c+ +// SIG // auIurQIDAQABo4IB3TCCAdkwEgYJKwYBBAGCNxUBBAUC +// SIG // AwEAATAjBgkrBgEEAYI3FQIEFgQUKqdS/mTEmr6CkTxG +// SIG // NSnPEP8vBO4wHQYDVR0OBBYEFJ+nFV0AXmJdg/Tl0mWn +// SIG // G1M1GelyMFwGA1UdIARVMFMwUQYMKwYBBAGCN0yDfQEB +// SIG // MEEwPwYIKwYBBQUHAgEWM2h0dHA6Ly93d3cubWljcm9z +// SIG // b2Z0LmNvbS9wa2lvcHMvRG9jcy9SZXBvc2l0b3J5Lmh0 +// SIG // bTATBgNVHSUEDDAKBggrBgEFBQcDCDAZBgkrBgEEAYI3 +// SIG // FAIEDB4KAFMAdQBiAEMAQTALBgNVHQ8EBAMCAYYwDwYD +// SIG // VR0TAQH/BAUwAwEB/zAfBgNVHSMEGDAWgBTV9lbLj+ii +// SIG // XGJo0T2UkFvXzpoYxDBWBgNVHR8ETzBNMEugSaBHhkVo +// SIG // dHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpL2NybC9w +// SIG // cm9kdWN0cy9NaWNSb29DZXJBdXRfMjAxMC0wNi0yMy5j +// SIG // cmwwWgYIKwYBBQUHAQEETjBMMEoGCCsGAQUFBzAChj5o +// SIG // dHRwOi8vd3d3Lm1pY3Jvc29mdC5jb20vcGtpL2NlcnRz +// SIG // L01pY1Jvb0NlckF1dF8yMDEwLTA2LTIzLmNydDANBgkq +// SIG // hkiG9w0BAQsFAAOCAgEAnVV9/Cqt4SwfZwExJFvhnnJL +// SIG // /Klv6lwUtj5OR2R4sQaTlz0xM7U518JxNj/aZGx80HU5 +// SIG // bbsPMeTCj/ts0aGUGCLu6WZnOlNN3Zi6th542DYunKmC +// SIG // VgADsAW+iehp4LoJ7nvfam++Kctu2D9IdQHZGN5tggz1 +// SIG // bSNU5HhTdSRXud2f8449xvNo32X2pFaq95W2KFUn0CS9 +// SIG // QKC/GbYSEhFdPSfgQJY4rPf5KYnDvBewVIVCs/wMnosZ +// SIG // iefwC2qBwoEZQhlSdYo2wh3DYXMuLGt7bj8sCXgU6ZGy +// SIG // qVvfSaN0DLzskYDSPeZKPmY7T7uG+jIa2Zb0j/aRAfbO +// SIG // xnT99kxybxCrdTDFNLB62FD+CljdQDzHVG2dY3RILLFO +// SIG // Ry3BFARxv2T5JL5zbcqOCb2zAVdJVGTZc9d/HltEAY5a +// SIG // GZFrDZ+kKNxnGSgkujhLmm77IVRrakURR6nxt67I6Ile +// SIG // T53S0Ex2tVdUCbFpAUR+fKFhbHP+CrvsQWY9af3LwUFJ +// SIG // fn6Tvsv4O+S3Fb+0zj6lMVGEvL8CwYKiexcdFYmNcP7n +// SIG // tdAoGokLjzbaukz5m/8K6TT4JDVnK+ANuOaMmdbhIurw +// SIG // J0I9JZTmdHRbatGePu1+oDEzfbzL6Xu/OHBE0ZDxyKs6 +// SIG // ijoIYn/ZcGNTTY3ugm2lBRDBcQZqELQdVTNYs6FwZvKh +// SIG // ggLLMIICNAIBATCB+KGB0KSBzTCByjELMAkGA1UEBhMC +// SIG // VVMxEzARBgNVBAgTCldhc2hpbmd0b24xEDAOBgNVBAcT +// SIG // B1JlZG1vbmQxHjAcBgNVBAoTFU1pY3Jvc29mdCBDb3Jw +// SIG // b3JhdGlvbjElMCMGA1UECxMcTWljcm9zb2Z0IEFtZXJp +// SIG // Y2EgT3BlcmF0aW9uczEmMCQGA1UECxMdVGhhbGVzIFRT +// SIG // UyBFU046RDZCRC1FM0U3LTE2ODUxJTAjBgNVBAMTHE1p +// SIG // Y3Jvc29mdCBUaW1lLVN0YW1wIFNlcnZpY2WiIwoBATAH +// SIG // BgUrDgMCGgMVAOIASP0JSbv5R23wxciQivHyckYooIGD +// SIG // MIGApH4wfDELMAkGA1UEBhMCVVMxEzARBgNVBAgTCldh +// SIG // c2hpbmd0b24xEDAOBgNVBAcTB1JlZG1vbmQxHjAcBgNV +// SIG // BAoTFU1pY3Jvc29mdCBDb3Jwb3JhdGlvbjEmMCQGA1UE +// SIG // AxMdTWljcm9zb2Z0IFRpbWUtU3RhbXAgUENBIDIwMTAw +// SIG // DQYJKoZIhvcNAQEFBQACBQDnI/oLMCIYDzIwMjIxMTIw +// SIG // MDg1NzQ3WhgPMjAyMjExMjEwODU3NDdaMHQwOgYKKwYB +// SIG // BAGEWQoEATEsMCowCgIFAOcj+gsCAQAwBwIBAAICHBww +// SIG // BwIBAAICEiowCgIFAOclS4sCAQAwNgYKKwYBBAGEWQoE +// SIG // AjEoMCYwDAYKKwYBBAGEWQoDAqAKMAgCAQACAwehIKEK +// SIG // MAgCAQACAwGGoDANBgkqhkiG9w0BAQUFAAOBgQBT0J06 +// SIG // x6PZG4//134XJhg5O4xmWeRezqg2dN507dbDtSo+CLxX +// SIG // H9ES2gCO7yF0PiYpmHD3wCISVhYOqZUQS8fyttZ0c0y3 +// SIG // SxBg3p+areajBqCwlAsA1Jj0P9xFZcIjdKHDmQdLmFV+ +// SIG // PSh+rV/X12A3iS9ApYPkJS3yIjXP4HfR+zGCBA0wggQJ +// SIG // AgEBMIGTMHwxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpX +// SIG // YXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRtb25kMR4wHAYD +// SIG // VQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xJjAkBgNV +// SIG // BAMTHU1pY3Jvc29mdCBUaW1lLVN0YW1wIFBDQSAyMDEw +// SIG // AhMzAAABx/sAoEpb8ifcAAEAAAHHMA0GCWCGSAFlAwQC +// SIG // AQUAoIIBSjAaBgkqhkiG9w0BCQMxDQYLKoZIhvcNAQkQ +// SIG // AQQwLwYJKoZIhvcNAQkEMSIEIDPjs8coVkVPbRmBuFRv +// SIG // rxI3sUvngRnt3OBZCvmJPX/xMIH6BgsqhkiG9w0BCRAC +// SIG // LzGB6jCB5zCB5DCBvQQgR+fl2+JSskULOeVYLbeMgk7H +// SIG // dIbREmAsjwtcy6MJkskwgZgwgYCkfjB8MQswCQYDVQQG +// SIG // EwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UE +// SIG // BxMHUmVkbW9uZDEeMBwGA1UEChMVTWljcm9zb2Z0IENv +// SIG // cnBvcmF0aW9uMSYwJAYDVQQDEx1NaWNyb3NvZnQgVGlt +// SIG // ZS1TdGFtcCBQQ0EgMjAxMAITMwAAAcf7AKBKW/In3AAB +// SIG // AAABxzAiBCAc2zxBUP4w0UoaCVlGQTdUxjMV2MuJl3TI +// SIG // Mgs34gPuaDANBgkqhkiG9w0BAQsFAASCAgBlUsc9c0V+ +// SIG // HDcIQQj9Y4Ub2P93+r/Fy4A32eL7fUnyD19zSC5bvD/r +// SIG // 3HIwoFg+19MJhmHovw3hFs5k5pyehwoSjA3yUX71kjbq +// SIG // QiqUTL1A6XomxjRp74fT+Q0b/CztpyB5OLRH3b3dd/Bi +// SIG // CofsDPzhsJdNxhWrLZQjD4/cbetxXMvN6kbXepug/nqD +// SIG // iloPxzy9hAjHLRo9ontyG5qkM365aNOc3gULdNuvCEiw +// SIG // /qJ3XF/3OcLVaPtL4FLsLBZKWZK0DE92rj66HhjSTiP7 +// SIG // JeC5dJKvU3PwafqiaAuK+UTxWKFo/Pc38d5LONVO3F/S +// SIG // XNlywNSaqTc46cd3a6V/QISNhQvM9G1gPGoK1pW1czlK +// SIG // +upSR4bdf18EQZNr81B9zkN1RK8Qo3kyAxT42Pq+GktX +// SIG // pz2jRRCOnWBcL+JFE2Jwf3vsg9zLPGDrfSsPGdcz3WiE +// SIG // ZchATs23Qv+789h1PFBWXCS6HA2sOgFMyW92i/xj0xPW +// SIG // OpGuXoV3Sz2CpdhB5rVLNvdFiKluwcI3svDTvS5G8vrs +// SIG // te0ZnWIz8BtYigYGWaDIlSo8Dm+kbxM5Y7rYLho3ZHB0 +// SIG // DMnWzJoJko1oX+6n7/L5oyCmE9WVialEn2JNL6Dn852n +// SIG // o497Zeqt9f8oj2UtHJvzxAhHvq1/fNNqdlY1Ws7WlDr2 +// SIG // 9tddA7XPj/kzLA== +// SIG // End signature block + /***/ }), @@ -12975,6 +13319,10 @@ var Service = /** @class */ (function () { function Service(hpmFactory, wpmpFactory, routerFactory, config) { if (config === void 0) { config = {}; } var _this = this; + /** + * @hidden + */ + this.registeredComponents = {}; this.wpmp = wpmpFactory(config.wpmpName, config.logMessages); this.hpm = hpmFactory(this.wpmp, null, config.version, config.type, config.sdkWrapperVersion); this.router = routerFactory(this.wpmp); @@ -13180,6 +13528,8 @@ var Service = /** @class */ (function () { * @private * @param {IPowerBiElement} element * @param {IEmbedConfigurationBase} config + * @param {boolean} phasedRender + * @param {boolean} isBootstrap * @returns {Embed} * @hidden */ @@ -13191,15 +13541,35 @@ var Service = /** @class */ (function () { } // Saves the type as part of the configuration so that it can be referenced later at a known location. config.type = componentType; - var Component = utils.find(function (embedComponent) { return componentType === embedComponent.type.toLowerCase(); }, Service.components); - if (!Component) { - throw new Error("Attempted to embed component of type: ".concat(componentType, " but did not find any matching component. Please verify the type you specified is intended.")); - } - var component = new Component(this, element, config, phasedRender, isBootstrap); + var component = this.createEmbedComponent(componentType, element, config, phasedRender, isBootstrap); element.powerBiEmbed = component; this.addOrOverwriteEmbed(component, element); return component; }; + /** + * Given component type, creates embed component instance + * + * @private + * @param {string} componentType + * @param {HTMLElement} element + * @param {IEmbedConfigurationBase} config + * @param {boolean} phasedRender + * @param {boolean} isBootstrap + * @returns {Embed} + * @hidden + */ + Service.prototype.createEmbedComponent = function (componentType, element, config, phasedRender, isBootstrap) { + var Component = utils.find(function (embedComponent) { return componentType === embedComponent.type.toLowerCase(); }, Service.components); + if (Component) { + return new Component(this, element, config, phasedRender, isBootstrap); + } + // If component type is not legacy, search in registered components + var registeredComponent = utils.find(function (registeredComponentType) { return componentType.toLowerCase() === registeredComponentType.toLowerCase(); }, Object.keys(this.registeredComponents)); + if (!registeredComponent) { + throw new Error("Attempted to embed component of type: ".concat(componentType, " but did not find any matching component. Please verify the type you specified is intended.")); + } + return this.registeredComponents[registeredComponent](this, element, config, phasedRender, isBootstrap); + }; /** * Given an element that already contains an embed component, load with a new configuration. * @@ -13428,6 +13798,38 @@ var Service = /** @class */ (function () { this.hpm.defaultHeaders['x-sdk-type'] = type; this.hpm.defaultHeaders['x-sdk-wrapper-version'] = version; }; + /** + * API for registering external components + * + * @hidden + * @param {string} componentType + * @param {EmbedComponentFactory} embedComponentFactory + * @param {string[]} routerEventUrls + */ + Service.prototype.register = function (componentType, embedComponentFactory, routerEventUrls) { + var _this = this; + if (utils.find(function (embedComponent) { return componentType.toLowerCase() === embedComponent.type.toLowerCase(); }, Service.components)) { + throw new Error('The component name is reserved. Cannot register a component with this name.'); + } + if (utils.find(function (registeredComponentType) { return componentType.toLowerCase() === registeredComponentType.toLowerCase(); }, Object.keys(this.registeredComponents))) { + throw new Error('A component with this type is already registered.'); + } + this.registeredComponents[componentType] = embedComponentFactory; + routerEventUrls.forEach(function (url) { + if (!url.includes(':uniqueId') || !url.includes(':eventName')) { + throw new Error('Invalid router event URL'); + } + _this.router.post(url, function (req, _res) { + var event = { + type: componentType, + id: req.params.uniqueId, + name: req.params.eventName, + value: req.body + }; + _this.handleEvent(event); + }); + }); + }; /** * A list of components that this service can embed */ diff --git a/dist/powerbi.min.js b/dist/powerbi.min.js index 61077977..16b74bfc 100644 --- a/dist/powerbi.min.js +++ b/dist/powerbi.min.js @@ -1,18 +1,18 @@ // powerbi-client v2.22.1 // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. -!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){var e={};function r(i){if(e[i])return e[i].exports;var a=e[i]={i:i,l:!1,exports:{}};return t[i].call(a.exports,a,a.exports,r),a.l=!0,a.exports}return r.m=t,r.c=e,r.d=function(t,e,i){r.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:i})},r.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},r.t=function(t,e){if(1&e&&(t=r(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var i=Object.create(null);if(r.r(i),Object.defineProperty(i,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var a in t)r.d(i,a,function(e){return t[e]}.bind(null,a));return i},r.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return r.d(e,"a",e),e},r.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},r.p="",r(r.s=15)}([function(t,e,r){var i;i=()=>{return t=[function(t,e,r){var i,a=this&&this.__extends||(i=function(t,e){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])})(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.SortDirection=e.LegendPosition=e.TextAlignment=e.CommonErrorCodes=e.BookmarksPlayMode=e.ExportDataType=e.QnaMode=e.PageNavigationPosition=e.DataCacheMode=e.CredentialType=e.isPercentOfGrandTotal=e.isColumnAggr=e.isHierarchyLevelAggr=e.isHierarchyLevel=e.isColumn=e.isMeasure=e.getFilterType=e.isBasicFilterWithKeys=e.isFilterKeyColumnsTarget=e.HierarchyFilter=e.AdvancedFilter=e.TupleFilter=e.IdentityFilter=e.BasicFilterWithKeys=e.BasicFilter=e.RelativeTimeFilter=e.RelativeDateFilter=e.TopNFilter=e.IncludeExcludeFilter=e.NotSupportedFilter=e.Filter=e.RelativeDateOperators=e.RelativeDateFilterTimeUnit=e.FilterType=e.FiltersLevel=e.FiltersOperations=e.MenuLocation=e.ContrastMode=e.TokenType=e.ViewMode=e.Permissions=e.SectionVisibility=e.ReportAlignment=e.HyperlinkClickBehavior=e.LayoutType=e.VisualContainerDisplayMode=e.BackgroundType=e.DisplayOption=e.PageSizeType=e.TraceType=void 0,e.validateCommandsSettings=e.validateVisualSettings=e.validateVisualHeader=e.validateExportDataRequest=e.validateQnaInterpretInputData=e.validateLoadQnaConfiguration=e.validateSaveAsParameters=e.validateUpdateFiltersRequest=e.validateFilter=e.validatePage=e.validateTileLoad=e.validateDashboardLoad=e.validateQuickCreate=e.validateCreateReport=e.validatePaginatedReportLoad=e.validateReportLoad=e.validateMenuGroupExtension=e.validateExtension=e.validateCustomPageSize=e.validateVisualizationsPane=e.validateSyncSlicersPane=e.validateSelectionPane=e.validatePageNavigationPane=e.validateFieldsPane=e.validateFiltersPane=e.validateBookmarksPane=e.validatePanes=e.validateSettings=e.validateCaptureBookmarkRequest=e.validateApplyBookmarkStateRequest=e.validateApplyBookmarkByNameRequest=e.validateAddBookmarkRequest=e.validatePlayBookmarkRequest=e.validateSlicerState=e.validateSlicer=e.validateVisualSelector=e.isIExtensionArray=e.isIExtensions=e.isGroupedMenuExtension=e.isFlatMenuExtension=e.isReportFiltersArray=e.isOnLoadFilters=e.VisualDataRoleKindPreference=e.VisualDataRoleKind=e.CommandDisplayOption=e.SlicerTargetSelector=e.VisualTypeSelector=e.VisualSelector=e.PageSelector=e.Selector=void 0,e.validateZoomLevel=e.validateCustomTheme=void 0;var n,o=r(1);!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"}(e.TraceType||(e.TraceType={})),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",t[t.Mobile=5]="Mobile"}(e.PageSizeType||(e.PageSizeType={})),function(t){t[t.FitToPage=0]="FitToPage",t[t.FitToWidth=1]="FitToWidth",t[t.ActualSize=2]="ActualSize"}(e.DisplayOption||(e.DisplayOption={})),function(t){t[t.Default=0]="Default",t[t.Transparent=1]="Transparent"}(e.BackgroundType||(e.BackgroundType={})),function(t){t[t.Visible=0]="Visible",t[t.Hidden=1]="Hidden"}(e.VisualContainerDisplayMode||(e.VisualContainerDisplayMode={})),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={})),function(t){t[t.Navigate=0]="Navigate",t[t.NavigateAndRaiseEvent=1]="NavigateAndRaiseEvent",t[t.RaiseEvent=2]="RaiseEvent"}(e.HyperlinkClickBehavior||(e.HyperlinkClickBehavior={})),function(t){t[t.Left=0]="Left",t[t.Center=1]="Center",t[t.Right=2]="Right",t[t.None=3]="None"}(e.ReportAlignment||(e.ReportAlignment={})),function(t){t[t.AlwaysVisible=0]="AlwaysVisible",t[t.HiddenInViewMode=1]="HiddenInViewMode"}(e.SectionVisibility||(e.SectionVisibility={})),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"}(e.Permissions||(e.Permissions={})),function(t){t[t.View=0]="View",t[t.Edit=1]="Edit"}(e.ViewMode||(e.ViewMode={})),function(t){t[t.Aad=0]="Aad",t[t.Embed=1]="Embed"}(e.TokenType||(e.TokenType={})),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"}(e.ContrastMode||(e.ContrastMode={})),function(t){t[t.Bottom=0]="Bottom",t[t.Top=1]="Top"}(e.MenuLocation||(e.MenuLocation={})),function(t){t[t.RemoveAll=0]="RemoveAll",t[t.ReplaceAll=1]="ReplaceAll",t[t.Add=2]="Add",t[t.Replace=3]="Replace"}(e.FiltersOperations||(e.FiltersOperations={})),function(t){t[t.Report=0]="Report",t[t.Page=1]="Page",t[t.Visual=2]="Visual"}(e.FiltersLevel||(e.FiltersLevel={})),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",t[t.Identity=8]="Identity",t[t.Hierarchy=9]="Hierarchy"}(n=e.FilterType||(e.FilterType={})),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"}(e.RelativeDateFilterTimeUnit||(e.RelativeDateFilterTimeUnit={})),function(t){t[t.InLast=0]="InLast",t[t.InThis=1]="InThis",t[t.InNext=2]="InNext"}(e.RelativeDateOperators||(e.RelativeDateOperators={}));var l=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=l;var s=function(t){function e(r,i,a){var o=t.call(this,r,n.Unknown)||this;return o.message=i,o.notSupportedTypeName=a,o.schemaUrl=e.schemaUrl,o}return a(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}(l);e.NotSupportedFilter=s;var u=function(t){function e(r,i,a){var o=t.call(this,r,n.IncludeExclude)||this;return o.values=a,o.isExclude=i,o.schemaUrl=e.schemaUrl,o}return a(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}(l);e.IncludeExcludeFilter=u;var d=function(t){function e(r,i,a,o){var l=t.call(this,r,n.TopN)||this;return l.operator=i,l.itemCount=a,l.schemaUrl=e.schemaUrl,l.orderBy=o,l}return a(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}(l);e.TopNFilter=d;var c=function(t){function e(r,i,a,o,l){var s=t.call(this,r,n.RelativeDate)||this;return s.operator=i,s.timeUnitsCount=a,s.timeUnitType=o,s.includeToday=l,s.schemaUrl=e.schemaUrl,s}return a(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}(l);e.RelativeDateFilter=c;var p=function(t){function e(r,i,a,o){var l=t.call(this,r,n.RelativeTime)||this;return l.operator=i,l.timeUnitsCount=a,l.timeUnitType=o,l.schemaUrl=e.schemaUrl,l}return a(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}(l);e.RelativeTimeFilter=p;var f=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 ".concat(o," keys"));if(0===o&&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,s=n.keyValues;l2)throw new Error("AdvancedFilters may not have more than two conditions. You passed: ".concat(a.length));if(1===l.length&&"And"!==i)throw new Error('Logical Operator must be "And" when there is only one condition provided');return s.conditions=l,s}return a(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}(l);e.AdvancedFilter=m;var V=function(t){function e(r,i){var a=t.call(this,r,n.Hierarchy)||this;return a.schemaUrl=e.schemaUrl,a.hierarchyData=i,a}return a(e,t),e.prototype.toJSON=function(){var e=t.prototype.toJSON.call(this);return e.hierarchyData=this.hierarchyData,e.target=this.target,e},e.schemaUrl="http://powerbi.com/product/schema#hierarchy",e}(l);function g(t){if(t.filterType)return t.filterType;var e=t,r=t;return"string"==typeof e.operator&&Array.isArray(e.values)?n.Basic:"string"==typeof r.logicalOperator&&Array.isArray(r.conditions)?n.Advanced:n.Unknown}function b(t){return!(!t.table||!t.column||t.aggregationFunction)}e.HierarchyFilter=V,e.isFilterKeyColumnsTarget=function(t){return b(t)&&!!t.keys},e.isBasicFilterWithKeys=function(t){return g(t)===n.Basic&&!!t.keyValues},e.getFilterType=g,e.isMeasure=function(t){return void 0!==t.table&&void 0!==t.measure},e.isColumn=b,e.isHierarchyLevel=function(t){return!(!(t.table&&t.hierarchy&&t.hierarchyLevel)||t.aggregationFunction)},e.isHierarchyLevelAggr=function(t){return!!(t.table&&t.hierarchy&&t.hierarchyLevel&&t.aggregationFunction)},e.isColumnAggr=function(t){return!!(t.table&&t.column&&t.aggregationFunction)},e.isPercentOfGrandTotal=function(t){return!!t.percentOfGrandTotal},function(t){t[t.NoConnection=0]="NoConnection",t[t.OnBehalfOf=1]="OnBehalfOf",t[t.Anonymous=2]="Anonymous"}(e.CredentialType||(e.CredentialType={})),function(t){t[t.Import=0]="Import",t[t.DirectQuery=1]="DirectQuery"}(e.DataCacheMode||(e.DataCacheMode={})),function(t){t[t.Bottom=0]="Bottom",t[t.Left=1]="Left"}(e.PageNavigationPosition||(e.PageNavigationPosition={})),function(t){t[t.Interactive=0]="Interactive",t[t.ResultOnly=1]="ResultOnly"}(e.QnaMode||(e.QnaMode={})),function(t){t[t.Summarized=0]="Summarized",t[t.Underlying=1]="Underlying"}(e.ExportDataType||(e.ExportDataType={})),function(t){t[t.Off=0]="Off",t[t.Presentation=1]="Presentation"}(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"},function(t){t[t.Ascending=1]="Ascending",t[t.Descending=2]="Descending"}(e.SortDirection||(e.SortDirection={}));var w=function(){function t(t){this.$schema=t}return t.prototype.toJSON=function(){return{$schema:this.$schema}},t}();e.Selector=w;var O=function(t){function e(r){var i=t.call(this,e.schemaUrl)||this;return i.pageName=r,i}return a(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}(w);e.PageSelector=O;var S=function(t){function e(r){var i=t.call(this,e.schemaUrl)||this;return i.visualName=r,i}return a(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}(w);e.VisualSelector=S;var P=function(t){function e(e){var r=t.call(this,S.schemaUrl)||this;return r.visualType=e,r}return a(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}(w);e.VisualTypeSelector=P;var _=function(t){function e(e){var r=t.call(this,S.schemaUrl)||this;return r.target=e,r}return a(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}(w);function T(t){return Array.isArray(t)}function E(t){return t&&!!t.groupName}function F(t){return Array.isArray(t)}function x(t){var e=t.message;return e||(e="".concat(t.path," is invalid. Not meeting ").concat(t.keyword," constraint")),{message:e}}e.SlicerTargetSelector=_,function(t){t[t.Enabled=0]="Enabled",t[t.Disabled=1]="Disabled",t[t.Hidden=2]="Hidden"}(e.CommandDisplayOption||(e.CommandDisplayOption={})),function(t){t[t.Grouping=0]="Grouping",t[t.Measure=1]="Measure",t[t.GroupingOrMeasure=2]="GroupingOrMeasure"}(e.VisualDataRoleKind||(e.VisualDataRoleKind={})),function(t){t[t.Measure=0]="Measure",t[t.Grouping=1]="Grouping"}(e.VisualDataRoleKindPreference||(e.VisualDataRoleKindPreference={})),e.isOnLoadFilters=function(t){return t&&!T(t)},e.isReportFiltersArray=T,e.isFlatMenuExtension=function(t){return t&&!E(t)},e.isGroupedMenuExtension=E,e.isIExtensions=function(t){return t&&!F(t)},e.isIExtensionArray=F,e.validateVisualSelector=function(t){var e=o.Validators.visualSelectorValidator.validate(t);return e?e.map(x):void 0},e.validateSlicer=function(t){var e=o.Validators.slicerValidator.validate(t);return e?e.map(x):void 0},e.validateSlicerState=function(t){var e=o.Validators.slicerStateValidator.validate(t);return e?e.map(x):void 0},e.validatePlayBookmarkRequest=function(t){var e=o.Validators.playBookmarkRequestValidator.validate(t);return e?e.map(x):void 0},e.validateAddBookmarkRequest=function(t){var e=o.Validators.addBookmarkRequestValidator.validate(t);return e?e.map(x):void 0},e.validateApplyBookmarkByNameRequest=function(t){var e=o.Validators.applyBookmarkByNameRequestValidator.validate(t);return e?e.map(x):void 0},e.validateApplyBookmarkStateRequest=function(t){var e=o.Validators.applyBookmarkStateRequestValidator.validate(t);return e?e.map(x):void 0},e.validateCaptureBookmarkRequest=function(t){var e=o.Validators.captureBookmarkRequestValidator.validate(t);return e?e.map(x):void 0},e.validateSettings=function(t){var e=o.Validators.settingsValidator.validate(t);return e?e.map(x):void 0},e.validatePanes=function(t){var e=o.Validators.reportPanesValidator.validate(t);return e?e.map(x):void 0},e.validateBookmarksPane=function(t){var e=o.Validators.bookmarksPaneValidator.validate(t);return e?e.map(x):void 0},e.validateFiltersPane=function(t){var e=o.Validators.filtersPaneValidator.validate(t);return e?e.map(x):void 0},e.validateFieldsPane=function(t){var e=o.Validators.fieldsPaneValidator.validate(t);return e?e.map(x):void 0},e.validatePageNavigationPane=function(t){var e=o.Validators.pageNavigationPaneValidator.validate(t);return e?e.map(x):void 0},e.validateSelectionPane=function(t){var e=o.Validators.selectionPaneValidator.validate(t);return e?e.map(x):void 0},e.validateSyncSlicersPane=function(t){var e=o.Validators.syncSlicersPaneValidator.validate(t);return e?e.map(x):void 0},e.validateVisualizationsPane=function(t){var e=o.Validators.visualizationsPaneValidator.validate(t);return e?e.map(x):void 0},e.validateCustomPageSize=function(t){var e=o.Validators.customPageSizeValidator.validate(t);return e?e.map(x):void 0},e.validateExtension=function(t){var e=o.Validators.extensionValidator.validate(t);return e?e.map(x):void 0},e.validateMenuGroupExtension=function(t){var e=o.Validators.menuGroupExtensionValidator.validate(t);return e?e.map(x):void 0},e.validateReportLoad=function(t){var e=o.Validators.reportLoadValidator.validate(t);return e?e.map(x):void 0},e.validatePaginatedReportLoad=function(t){var e=o.Validators.paginatedReportLoadValidator.validate(t);return e?e.map(x):void 0},e.validateCreateReport=function(t){var e=o.Validators.reportCreateValidator.validate(t);return e?e.map(x):void 0},e.validateQuickCreate=function(t){var e=o.Validators.quickCreateValidator.validate(t);return e?e.map(x):void 0},e.validateDashboardLoad=function(t){var e=o.Validators.dashboardLoadValidator.validate(t);return e?e.map(x):void 0},e.validateTileLoad=function(t){var e=o.Validators.tileLoadValidator.validate(t);return e?e.map(x):void 0},e.validatePage=function(t){var e=o.Validators.pageValidator.validate(t);return e?e.map(x):void 0},e.validateFilter=function(t){var e=o.Validators.filterValidator.validate(t);return e?e.map(x):void 0},e.validateUpdateFiltersRequest=function(t){var e=o.Validators.updateFiltersRequestValidator.validate(t);return e?e.map(x):void 0},e.validateSaveAsParameters=function(t){var e=o.Validators.saveAsParametersValidator.validate(t);return e?e.map(x):void 0},e.validateLoadQnaConfiguration=function(t){var e=o.Validators.loadQnaValidator.validate(t);return e?e.map(x):void 0},e.validateQnaInterpretInputData=function(t){var e=o.Validators.qnaInterpretInputDataValidator.validate(t);return e?e.map(x):void 0},e.validateExportDataRequest=function(t){var e=o.Validators.exportDataRequestValidator.validate(t);return e?e.map(x):void 0},e.validateVisualHeader=function(t){var e=o.Validators.visualHeaderValidator.validate(t);return e?e.map(x):void 0},e.validateVisualSettings=function(t){var e=o.Validators.visualSettingsValidator.validate(t);return e?e.map(x):void 0},e.validateCommandsSettings=function(t){var e=o.Validators.commandsSettingsValidator.validate(t);return e?e.map(x):void 0},e.validateCustomTheme=function(t){var e=o.Validators.customThemeValidator.validate(t);return e?e.map(x):void 0},e.validateZoomLevel=function(t){var e=o.Validators.zoomLevelValidator.validate(t);return e?e.map(x):void 0}},(t,e,r)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.Validators=void 0;var i=r(2),a=r(5),n=r(6),o=r(7),l=r(8),s=r(9),u=r(10),d=r(11),c=r(12),p=r(13),f=r(14),h=r(15),v=r(16),y=r(17),m=r(18),V=r(19),g=r(20),b=r(21),w=r(22),O=r(23),S=r(24),P=r(25),_=r(26),T=r(27),E=r(28),F=r(29),x=r(4),C=r(30),k=r(31),R=r(32);e.Validators={addBookmarkRequestValidator:new a.AddBookmarkRequestValidator,advancedFilterTypeValidator:new x.EnumValidator([0]),advancedFilterValidator:new c.AdvancedFilterValidator,anyArrayValidator:new x.ArrayValidator([new _.AnyOfValidator([new x.StringValidator,new x.NumberValidator,new x.BooleanValidator])]),anyFilterValidator:new _.AnyOfValidator([new c.BasicFilterValidator,new c.AdvancedFilterValidator,new c.IncludeExcludeFilterValidator,new c.NotSupportedFilterValidator,new c.RelativeDateFilterValidator,new c.TopNFilterValidator,new c.RelativeTimeFilterValidator,new c.HierarchyFilterValidator]),anyValueValidator:new _.AnyOfValidator([new x.StringValidator,new x.NumberValidator,new x.BooleanValidator]),actionBarValidator:new i.ActionBarValidator,statusBarValidator:new i.StatusBarValidator,applyBookmarkByNameRequestValidator:new a.ApplyBookmarkByNameRequestValidator,applyBookmarkStateRequestValidator:new a.ApplyBookmarkStateRequestValidator,applyBookmarkValidator:new _.AnyOfValidator([new a.ApplyBookmarkByNameRequestValidator,new a.ApplyBookmarkStateRequestValidator]),backgroundValidator:new x.EnumValidator([0,1]),basicFilterTypeValidator:new x.EnumValidator([1]),basicFilterValidator:new c.BasicFilterValidator,booleanArrayValidator:new x.BooleanArrayValidator,booleanValidator:new x.BooleanValidator,bookmarksPaneValidator:new h.BookmarksPaneValidator,captureBookmarkOptionsValidator:new a.CaptureBookmarkOptionsValidator,captureBookmarkRequestValidator:new a.CaptureBookmarkRequestValidator,columnSchemaArrayValidator:new x.ArrayValidator([new k.ColumnSchemaValidator]),commandDisplayOptionValidator:new x.EnumValidator([0,1,2]),commandExtensionSelectorValidator:new _.AnyOfValidator([new b.VisualSelectorValidator,new b.VisualTypeSelectorValidator]),commandExtensionArrayValidator:new x.ArrayValidator([new d.CommandExtensionValidator]),commandExtensionValidator:new d.CommandExtensionValidator,commandsSettingsArrayValidator:new x.ArrayValidator([new n.CommandsSettingsValidator]),commandsSettingsValidator:new n.CommandsSettingsValidator,conditionItemValidator:new c.ConditionItemValidator,contrastModeValidator:new x.EnumValidator([0,1,2,3,4]),credentialDetailsValidator:new F.MapValidator([new x.StringValidator],[new x.StringValidator]),credentialsValidator:new k.CredentialsValidator,credentialTypeValidator:new x.EnumValidator([0,1,2]),customLayoutDisplayOptionValidator:new x.EnumValidator([0,1,2]),customLayoutValidator:new p.CustomLayoutValidator,customPageSizeValidator:new f.CustomPageSizeValidator,customThemeValidator:new o.CustomThemeValidator,dashboardLoadValidator:new l.DashboardLoadValidator,dataCacheModeValidator:new x.EnumValidator([0,1]),datasetBindingValidator:new s.DatasetBindingValidator,datasetCreateConfigValidator:new k.DatasetCreateConfigValidator,datasourceConnectionConfigValidator:new k.DatasourceConnectionConfigValidator,displayStateModeValidator:new x.EnumValidator([0,1]),displayStateValidator:new p.DisplayStateValidator,exportDataRequestValidator:new u.ExportDataRequestValidator,extensionArrayValidator:new x.ArrayValidator([new d.ExtensionValidator]),extensionsValidator:new _.AnyOfValidator([new x.ArrayValidator([new d.ExtensionValidator]),new d.ExtensionsValidator]),extensionPointsValidator:new d.ExtensionPointsValidator,extensionValidator:new d.ExtensionValidator,fieldForbiddenValidator:new T.FieldForbiddenValidator,fieldRequiredValidator:new E.FieldRequiredValidator,fieldsPaneValidator:new h.FieldsPaneValidator,filterColumnTargetValidator:new c.FilterColumnTargetValidator,filterDisplaySettingsValidator:new c.FilterDisplaySettingsValidator,filterConditionsValidator:new x.ArrayValidator([new c.ConditionItemValidator]),filterHierarchyTargetValidator:new c.FilterHierarchyTargetValidator,filterMeasureTargetValidator:new c.FilterMeasureTargetValidator,filterTargetValidator:new _.AnyOfValidator([new c.FilterColumnTargetValidator,new c.FilterHierarchyTargetValidator,new c.FilterMeasureTargetValidator,new x.ArrayValidator([new _.AnyOfValidator([new c.FilterColumnTargetValidator,new c.FilterHierarchyTargetValidator,new c.FilterMeasureTargetValidator,new c.FilterKeyColumnsTargetValidator,new c.FilterKeyHierarchyTargetValidator])])]),filterValidator:new c.FilterValidator,filterTypeValidator:new x.EnumValidator([0,1,2,3,4,5,6,7,9]),filtersArrayValidator:new x.ArrayValidator([new c.FilterValidator]),filtersOperationsUpdateValidator:new x.EnumValidator([1,2,3]),filtersOperationsRemoveAllValidator:new x.EnumValidator([0]),filtersPaneValidator:new h.FiltersPaneValidator,hyperlinkClickBehaviorValidator:new x.EnumValidator([0,1,2]),includeExcludeFilterValidator:new c.IncludeExcludeFilterValidator,includeExludeFilterTypeValidator:new x.EnumValidator([3]),hierarchyFilterTypeValidator:new x.EnumValidator([9]),hierarchyFilterValuesValidator:new x.ArrayValidator([new c.HierarchyFilterNodeValidator]),layoutTypeValidator:new x.EnumValidator([0,1,2,3]),loadQnaValidator:new v.LoadQnaValidator,menuExtensionValidator:new _.AnyOfValidator([new d.FlatMenuExtensionValidator,new d.GroupedMenuExtensionValidator]),menuGroupExtensionArrayValidator:new x.ArrayValidator([new d.MenuGroupExtensionValidator]),menuGroupExtensionValidator:new d.MenuGroupExtensionValidator,menuLocationValidator:new x.EnumValidator([0,1]),notSupportedFilterTypeValidator:new x.EnumValidator([2]),notSupportedFilterValidator:new c.NotSupportedFilterValidator,numberArrayValidator:new x.NumberArrayValidator,numberValidator:new x.NumberValidator,onLoadFiltersBaseValidator:new _.AnyOfValidator([new c.OnLoadFiltersBaseValidator,new c.OnLoadFiltersBaseRemoveOperationValidator]),pageLayoutValidator:new F.MapValidator([new x.StringValidator],[new p.VisualLayoutValidator]),pageNavigationPaneValidator:new h.PageNavigationPaneValidator,pageNavigationPositionValidator:new x.EnumValidator([0,1]),pageSizeTypeValidator:new x.EnumValidator([0,1,2,3,4,5]),pageSizeValidator:new f.PageSizeValidator,pageValidator:new f.PageValidator,pageViewFieldValidator:new f.PageViewFieldValidator,pagesLayoutValidator:new F.MapValidator([new x.StringValidator],[new p.PageLayoutValidator]),paginatedReportCommandsValidator:new n.PaginatedReportCommandsValidator,paginatedReportLoadValidator:new V.PaginatedReportLoadValidator,paginatedReportsettingsValidator:new w.PaginatedReportSettingsValidator,parameterValuesArrayValidator:new x.ArrayValidator([new V.ReportParameterFieldsValidator]),parametersPanelValidator:new C.ParametersPanelValidator,permissionsValidator:new x.EnumValidator([0,1,2,4,7]),playBookmarkRequestValidator:new a.PlayBookmarkRequestValidator,qnaInterpretInputDataValidator:new v.QnaInterpretInputDataValidator,qnaPanesValidator:new h.QnaPanesValidator,qnaSettingValidator:new v.QnaSettingsValidator,quickCreateValidator:new R.QuickCreateValidator,rawDataValidator:new x.ArrayValidator([new x.ArrayValidator([new x.StringValidator])]),relativeDateFilterOperatorValidator:new x.EnumValidator([0,1,2]),relativeDateFilterTimeUnitTypeValidator:new x.EnumValidator([0,1,2,3,4,5,6]),relativeDateFilterTypeValidator:new x.EnumValidator([4]),relativeDateFilterValidator:new c.RelativeDateFilterValidator,relativeDateTimeFilterTypeValidator:new x.EnumValidator([4,7]),relativeDateTimeFilterUnitTypeValidator:new x.EnumValidator([0,1,2,3,4,5,6,7,8]),relativeTimeFilterTimeUnitTypeValidator:new x.EnumValidator([7,8]),relativeTimeFilterTypeValidator:new x.EnumValidator([7]),relativeTimeFilterValidator:new c.RelativeTimeFilterValidator,reportBarsValidator:new i.ReportBarsValidator,reportCreateValidator:new y.ReportCreateValidator,reportLoadFiltersValidator:new _.AnyOfValidator([new x.ArrayValidator([new c.FilterValidator]),new c.OnLoadFiltersValidator]),reportLoadValidator:new m.ReportLoadValidator,reportPanesValidator:new h.ReportPanesValidator,saveAsParametersValidator:new g.SaveAsParametersValidator,selectionPaneValidator:new h.SelectionPaneValidator,settingsValidator:new w.SettingsValidator,singleCommandSettingsValidator:new n.SingleCommandSettingsValidator,slicerSelectorValidator:new _.AnyOfValidator([new b.VisualSelectorValidator,new b.SlicerTargetSelectorValidator]),slicerStateValidator:new O.SlicerStateValidator,slicerTargetValidator:new _.AnyOfValidator([new c.FilterColumnTargetValidator,new c.FilterHierarchyTargetValidator,new c.FilterMeasureTargetValidator,new c.FilterKeyColumnsTargetValidator,new c.FilterKeyHierarchyTargetValidator]),slicerValidator:new O.SlicerValidator,stringArrayValidator:new x.StringArrayValidator,stringValidator:new x.StringValidator,syncSlicersPaneValidator:new h.SyncSlicersPaneValidator,tableDataArrayValidator:new x.ArrayValidator([new k.TableDataValidator]),tableSchemaListValidator:new x.ArrayValidator([new k.TableSchemaValidator]),tileLoadValidator:new S.TileLoadValidator,tokenTypeValidator:new x.EnumValidator([0,1]),topNFilterTypeValidator:new x.EnumValidator([5]),topNFilterValidator:new c.TopNFilterValidator,updateFiltersRequestValidator:new _.AnyOfValidator([new c.UpdateFiltersRequestValidator,new c.RemoveFiltersRequestValidator]),viewModeValidator:new x.EnumValidator([0,1]),visualCommandSelectorValidator:new _.AnyOfValidator([new b.VisualSelectorValidator,new b.VisualTypeSelectorValidator]),visualHeaderSelectorValidator:new _.AnyOfValidator([new b.VisualSelectorValidator,new b.VisualTypeSelectorValidator]),visualHeaderSettingsValidator:new P.VisualHeaderSettingsValidator,visualHeaderValidator:new P.VisualHeaderValidator,visualHeadersValidator:new x.ArrayValidator([new P.VisualHeaderValidator]),visualizationsPaneValidator:new h.VisualizationsPaneValidator,visualLayoutValidator:new p.VisualLayoutValidator,visualSelectorValidator:new b.VisualSelectorValidator,visualSettingsValidator:new P.VisualSettingsValidator,visualTypeSelectorValidator:new b.VisualTypeSelectorValidator,zoomLevelValidator:new x.RangeValidator(.25,4)}},function(t,e,r){var i,a=this&&this.__extends||(i=function(t,e){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])})(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.StatusBarValidator=e.ActionBarValidator=e.ReportBarsValidator=void 0;var n=r(3),o=r(4),l=r(1),s=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return a(e,t),e.prototype.validate=function(e,r,i){if(null==e)return null;var a=t.prototype.validate.call(this,e,r,i);if(a)return a;var o=[{field:"actionBar",validators:[l.Validators.actionBarValidator]},{field:"statusBar",validators:[l.Validators.statusBarValidator]}];return new n.MultipleFieldsValidator(o).validate(e,r,i)},e}(o.ObjectValidator);e.ReportBarsValidator=s;var u=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return a(e,t),e.prototype.validate=function(e,r,i){if(null==e)return null;var a=t.prototype.validate.call(this,e,r,i);if(a)return a;var o=[{field:"visible",validators:[l.Validators.booleanValidator]}];return new n.MultipleFieldsValidator(o).validate(e,r,i)},e}(o.ObjectValidator);e.ActionBarValidator=u;var d=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return a(e,t),e.prototype.validate=function(e,r,i){if(null==e)return null;var a=t.prototype.validate.call(this,e,r,i);if(a)return a;var o=[{field:"visible",validators:[l.Validators.booleanValidator]}];return new n.MultipleFieldsValidator(o).validate(e,r,i)},e}(o.ObjectValidator);e.StatusBarValidator=d},(t,e)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.MultipleFieldsValidator=void 0;var r=function(){function t(t){this.fieldValidatorsPairs=t}return t.prototype.validate=function(t,e,r){if(!this.fieldValidatorsPairs)return null;for(var i=e?e+"."+r:r,a=0,n=this.fieldValidatorsPairs;athis.maxValue||e{Object.defineProperty(e,"__esModule",{value:!0}),e.AnyOfValidator=void 0;var r=function(){function t(t){this.validators=t}return t.prototype.validate=function(t,e,r){if(null==t)return null;for(var i=!1,a=0,n=this.validators;a{Object.defineProperty(e,"__esModule",{value:!0}),e.FieldForbiddenValidator=void 0;var r=function(){function t(){}return t.prototype.validate=function(t,e,r){return void 0!==t?[{message:r+" is forbidden",path:(e?e+".":"")+r,keyword:"forbidden"}]:null},t}();e.FieldForbiddenValidator=r},(t,e)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.FieldRequiredValidator=void 0;var r=function(){function t(){}return t.prototype.validate=function(t,e,r){return null==t?[{message:r+" is required",path:(e?e+".":"")+r,keyword:"required"}]:null},t}();e.FieldRequiredValidator=r},function(t,e,r){var i,a=this&&this.__extends||(i=function(t,e){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])})(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.MapValidator=void 0;var n=function(t){function e(e,r){var i=t.call(this)||this;return i.keyValidators=e,i.valueValidators=r,i}return a(e,t),e.prototype.validate=function(e,r,i){if(null==e)return null;var a=t.prototype.validate.call(this,e,r,i);if(a)return a;for(var n in e)if(e.hasOwnProperty(n)){for(var o=(r?r+".":"")+i+"."+n,l=0,s=this.keyValidators;l0&&a[a.length-1])||6!==n[0]&&2!==n[0])){o=0;continue}if(3===n[0]&&(!a||n[1]>a[0]&&n[1]0&&a[a.length-1])||6!==n[0]&&2!==n[0])){o=0;continue}if(3===n[0]&&(!a||n[1]>a[0]&&n[1]0?"&":"?";return t+=i+e+"="+r},e.isSavedInternal=function(t,e,a){return r(this,void 0,void 0,(function(){return i(this,(function(r){switch(r.label){case 0:return r.trys.push([0,2,,3]),[4,t.get("/report/hasUnsavedChanges",{uid:e},a)];case 1:return[2,!r.sent().body];case 2:throw r.sent().body;case 3:return[2]}}))}))},e.isRDLEmbed=function(t){return t&&t.toLowerCase().indexOf("/rdlembed?")>=0},e.autoAuthInEmbedUrl=function(t){return t&&decodeURIComponent(t).toLowerCase().indexOf("autoauth=true")>=0},e.getRandomValue=n,e.getTimeDiffInMilliseconds=function(t,e){return Math.abs(t.getTime()-e.getTime())},e.isCreate=function(t){return"create"===t||"quickcreate"===t}},function(t,e){Object.defineProperty(e,"__esModule",{value:!0}),e.FilterBuilder=void 0;var r=function(){function t(){}return t.prototype.withTargetObject=function(t){return this.target=t,this},t.prototype.withColumnTarget=function(t,e){return this.target={table:t,column:e},this},t.prototype.withMeasureTarget=function(t,e){return this.target={table:t,measure:e},this},t.prototype.withHierarchyLevelTarget=function(t,e,r){return this.target={table:t,hierarchy:e,hierarchyLevel:r},this},t.prototype.withColumnAggregation=function(t,e,r){return this.target={table:t,column:e,aggregationFunction:r},this},t.prototype.withHierarchyLevelAggregationTarget=function(t,e,r,i){return this.target={table:t,hierarchy:e,hierarchyLevel:r,aggregationFunction:i},this},t}();e.FilterBuilder=r},function(t,e){Object.defineProperty(e,"__esModule",{value:!0}),e.EmbedUrlNotSupported=e.APINotSupportedForRDLError=void 0,e.APINotSupportedForRDLError="This API is currently not supported for RDL reports",e.EmbedUrlNotSupported="Embed URL is invalid for this scenario. Please use Power BI REST APIs to get the valid URL"},function(t,e){Object.defineProperty(e,"__esModule",{value:!0});e.default={version:"2.22.1",type:"js"}},function(t,e,r){var i,a=this&&this.__extends||(i=function(t,e){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])})(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}),n=this&&this.__awaiter||function(t,e,r,i){return new(r||(r=Promise))((function(a,n){function o(t){try{s(i.next(t))}catch(t){n(t)}}function l(t){try{s(i.throw(t))}catch(t){n(t)}}function s(t){var e;t.done?a(t.value):(e=t.value,e instanceof r?e:new r((function(t){t(e)}))).then(o,l)}s((i=i.apply(t,e||[])).next())}))},o=this&&this.__generator||function(t,e){var r,i,a,n,o={label:0,sent:function(){if(1&a[0])throw a[1];return a[1]},trys:[],ops:[]};return n={next:l(0),throw:l(1),return:l(2)},"function"==typeof Symbol&&(n[Symbol.iterator]=function(){return this}),n;function l(n){return function(l){return function(n){if(r)throw new TypeError("Generator is already executing.");for(;o;)try{if(r=1,i&&(a=2&n[0]?i.return:n[0]?i.throw||((a=i.return)&&a.call(i),0):i.next)&&!(a=a.call(i,n[1])).done)return a;switch(i=0,a&&(n=[2&n[0],a.value]),n[0]){case 0:case 1:a=n;break;case 4:return o.label++,{value:n[1],done:!1};case 5:o.label++,i=n[1],n=[0];continue;case 7:n=o.ops.pop(),o.trys.pop();continue;default:if(!(a=o.trys,(a=a.length>0&&a[a.length-1])||6!==n[0]&&2!==n[0])){o=0;continue}if(3===n[0]&&(!a||n[1]>a[0]&&n[1]0&&a[a.length-1])||6!==n[0]&&2!==n[0])){o=0;continue}if(3===n[0]&&(!a||n[1]>a[0]&&n[1]0&&a[a.length-1])||6!==n[0]&&2!==n[0])){o=0;continue}if(3===n[0]&&(!a||n[1]>a[0]&&n[1]{return t=[function(t,e,r){var i,a=this&&this.__extends||(i=function(t,e){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])})(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.SortDirection=e.LegendPosition=e.TextAlignment=e.CommonErrorCodes=e.BookmarksPlayMode=e.ExportDataType=e.QnaMode=e.PageNavigationPosition=e.DataCacheMode=e.CredentialType=e.isPercentOfGrandTotal=e.isColumnAggr=e.isHierarchyLevelAggr=e.isHierarchyLevel=e.isColumn=e.isMeasure=e.getFilterType=e.isBasicFilterWithKeys=e.isFilterKeyColumnsTarget=e.HierarchyFilter=e.AdvancedFilter=e.TupleFilter=e.IdentityFilter=e.BasicFilterWithKeys=e.BasicFilter=e.RelativeTimeFilter=e.RelativeDateFilter=e.TopNFilter=e.IncludeExcludeFilter=e.NotSupportedFilter=e.Filter=e.RelativeDateOperators=e.RelativeDateFilterTimeUnit=e.FilterType=e.FiltersLevel=e.FiltersOperations=e.MenuLocation=e.ContrastMode=e.TokenType=e.ViewMode=e.Permissions=e.SectionVisibility=e.ReportAlignment=e.HyperlinkClickBehavior=e.LayoutType=e.VisualContainerDisplayMode=e.BackgroundType=e.DisplayOption=e.PageSizeType=e.TraceType=void 0,e.validateCommandsSettings=e.validateVisualSettings=e.validateVisualHeader=e.validateExportDataRequest=e.validateQnaInterpretInputData=e.validateLoadQnaConfiguration=e.validateSaveAsParameters=e.validateUpdateFiltersRequest=e.validateFilter=e.validatePage=e.validateTileLoad=e.validateDashboardLoad=e.validateQuickCreate=e.validateCreateReport=e.validatePaginatedReportLoad=e.validateReportLoad=e.validateMenuGroupExtension=e.validateExtension=e.validateCustomPageSize=e.validateVisualizationsPane=e.validateSyncSlicersPane=e.validateSelectionPane=e.validatePageNavigationPane=e.validateFieldsPane=e.validateFiltersPane=e.validateBookmarksPane=e.validatePanes=e.validateSettings=e.validateCaptureBookmarkRequest=e.validateApplyBookmarkStateRequest=e.validateApplyBookmarkByNameRequest=e.validateAddBookmarkRequest=e.validatePlayBookmarkRequest=e.validateSlicerState=e.validateSlicer=e.validateVisualSelector=e.isIExtensionArray=e.isIExtensions=e.isGroupedMenuExtension=e.isFlatMenuExtension=e.isReportFiltersArray=e.isOnLoadFilters=e.VisualDataRoleKindPreference=e.VisualDataRoleKind=e.CommandDisplayOption=e.SlicerTargetSelector=e.VisualTypeSelector=e.VisualSelector=e.PageSelector=e.Selector=void 0,e.validateZoomLevel=e.validateCustomTheme=void 0;var n,o=r(1);!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"}(e.TraceType||(e.TraceType={})),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",t[t.Mobile=5]="Mobile"}(e.PageSizeType||(e.PageSizeType={})),function(t){t[t.FitToPage=0]="FitToPage",t[t.FitToWidth=1]="FitToWidth",t[t.ActualSize=2]="ActualSize"}(e.DisplayOption||(e.DisplayOption={})),function(t){t[t.Default=0]="Default",t[t.Transparent=1]="Transparent"}(e.BackgroundType||(e.BackgroundType={})),function(t){t[t.Visible=0]="Visible",t[t.Hidden=1]="Hidden"}(e.VisualContainerDisplayMode||(e.VisualContainerDisplayMode={})),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={})),function(t){t[t.Navigate=0]="Navigate",t[t.NavigateAndRaiseEvent=1]="NavigateAndRaiseEvent",t[t.RaiseEvent=2]="RaiseEvent"}(e.HyperlinkClickBehavior||(e.HyperlinkClickBehavior={})),function(t){t[t.Left=0]="Left",t[t.Center=1]="Center",t[t.Right=2]="Right",t[t.None=3]="None"}(e.ReportAlignment||(e.ReportAlignment={})),function(t){t[t.AlwaysVisible=0]="AlwaysVisible",t[t.HiddenInViewMode=1]="HiddenInViewMode"}(e.SectionVisibility||(e.SectionVisibility={})),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"}(e.Permissions||(e.Permissions={})),function(t){t[t.View=0]="View",t[t.Edit=1]="Edit"}(e.ViewMode||(e.ViewMode={})),function(t){t[t.Aad=0]="Aad",t[t.Embed=1]="Embed"}(e.TokenType||(e.TokenType={})),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"}(e.ContrastMode||(e.ContrastMode={})),function(t){t[t.Bottom=0]="Bottom",t[t.Top=1]="Top"}(e.MenuLocation||(e.MenuLocation={})),function(t){t[t.RemoveAll=0]="RemoveAll",t[t.ReplaceAll=1]="ReplaceAll",t[t.Add=2]="Add",t[t.Replace=3]="Replace"}(e.FiltersOperations||(e.FiltersOperations={})),function(t){t[t.Report=0]="Report",t[t.Page=1]="Page",t[t.Visual=2]="Visual"}(e.FiltersLevel||(e.FiltersLevel={})),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",t[t.Identity=8]="Identity",t[t.Hierarchy=9]="Hierarchy"}(n=e.FilterType||(e.FilterType={})),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"}(e.RelativeDateFilterTimeUnit||(e.RelativeDateFilterTimeUnit={})),function(t){t[t.InLast=0]="InLast",t[t.InThis=1]="InThis",t[t.InNext=2]="InNext"}(e.RelativeDateOperators||(e.RelativeDateOperators={}));var l=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=l;var s=function(t){function e(r,i,a){var o=t.call(this,r,n.Unknown)||this;return o.message=i,o.notSupportedTypeName=a,o.schemaUrl=e.schemaUrl,o}return a(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}(l);e.NotSupportedFilter=s;var u=function(t){function e(r,i,a){var o=t.call(this,r,n.IncludeExclude)||this;return o.values=a,o.isExclude=i,o.schemaUrl=e.schemaUrl,o}return a(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}(l);e.IncludeExcludeFilter=u;var d=function(t){function e(r,i,a,o){var l=t.call(this,r,n.TopN)||this;return l.operator=i,l.itemCount=a,l.schemaUrl=e.schemaUrl,l.orderBy=o,l}return a(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}(l);e.TopNFilter=d;var c=function(t){function e(r,i,a,o,l){var s=t.call(this,r,n.RelativeDate)||this;return s.operator=i,s.timeUnitsCount=a,s.timeUnitType=o,s.includeToday=l,s.schemaUrl=e.schemaUrl,s}return a(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}(l);e.RelativeDateFilter=c;var p=function(t){function e(r,i,a,o){var l=t.call(this,r,n.RelativeTime)||this;return l.operator=i,l.timeUnitsCount=a,l.timeUnitType=o,l.schemaUrl=e.schemaUrl,l}return a(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}(l);e.RelativeTimeFilter=p;var f=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 ".concat(o," keys"));if(0===o&&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,s=n.keyValues;l2)throw new Error("AdvancedFilters may not have more than two conditions. You passed: ".concat(a.length));if(1===l.length&&"And"!==i)throw new Error('Logical Operator must be "And" when there is only one condition provided');return s.conditions=l,s}return a(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}(l);e.AdvancedFilter=m;var V=function(t){function e(r,i){var a=t.call(this,r,n.Hierarchy)||this;return a.schemaUrl=e.schemaUrl,a.hierarchyData=i,a}return a(e,t),e.prototype.toJSON=function(){var e=t.prototype.toJSON.call(this);return e.hierarchyData=this.hierarchyData,e.target=this.target,e},e.schemaUrl="http://powerbi.com/product/schema#hierarchy",e}(l);function g(t){if(t.filterType)return t.filterType;var e=t,r=t;return"string"==typeof e.operator&&Array.isArray(e.values)?n.Basic:"string"==typeof r.logicalOperator&&Array.isArray(r.conditions)?n.Advanced:n.Unknown}function b(t){return!(!t.table||!t.column||t.aggregationFunction)}e.HierarchyFilter=V,e.isFilterKeyColumnsTarget=function(t){return b(t)&&!!t.keys},e.isBasicFilterWithKeys=function(t){return g(t)===n.Basic&&!!t.keyValues},e.getFilterType=g,e.isMeasure=function(t){return void 0!==t.table&&void 0!==t.measure},e.isColumn=b,e.isHierarchyLevel=function(t){return!(!(t.table&&t.hierarchy&&t.hierarchyLevel)||t.aggregationFunction)},e.isHierarchyLevelAggr=function(t){return!!(t.table&&t.hierarchy&&t.hierarchyLevel&&t.aggregationFunction)},e.isColumnAggr=function(t){return!!(t.table&&t.column&&t.aggregationFunction)},e.isPercentOfGrandTotal=function(t){return!!t.percentOfGrandTotal},function(t){t[t.NoConnection=0]="NoConnection",t[t.OnBehalfOf=1]="OnBehalfOf",t[t.Anonymous=2]="Anonymous"}(e.CredentialType||(e.CredentialType={})),function(t){t[t.Import=0]="Import",t[t.DirectQuery=1]="DirectQuery"}(e.DataCacheMode||(e.DataCacheMode={})),function(t){t[t.Bottom=0]="Bottom",t[t.Left=1]="Left"}(e.PageNavigationPosition||(e.PageNavigationPosition={})),function(t){t[t.Interactive=0]="Interactive",t[t.ResultOnly=1]="ResultOnly"}(e.QnaMode||(e.QnaMode={})),function(t){t[t.Summarized=0]="Summarized",t[t.Underlying=1]="Underlying"}(e.ExportDataType||(e.ExportDataType={})),function(t){t[t.Off=0]="Off",t[t.Presentation=1]="Presentation"}(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"},function(t){t[t.Ascending=1]="Ascending",t[t.Descending=2]="Descending"}(e.SortDirection||(e.SortDirection={}));var w=function(){function t(t){this.$schema=t}return t.prototype.toJSON=function(){return{$schema:this.$schema}},t}();e.Selector=w;var O=function(t){function e(r){var i=t.call(this,e.schemaUrl)||this;return i.pageName=r,i}return a(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}(w);e.PageSelector=O;var S=function(t){function e(r){var i=t.call(this,e.schemaUrl)||this;return i.visualName=r,i}return a(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}(w);e.VisualSelector=S;var P=function(t){function e(e){var r=t.call(this,S.schemaUrl)||this;return r.visualType=e,r}return a(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}(w);e.VisualTypeSelector=P;var _=function(t){function e(e){var r=t.call(this,S.schemaUrl)||this;return r.target=e,r}return a(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}(w);function E(t){return Array.isArray(t)}function T(t){return t&&!!t.groupName}function F(t){return Array.isArray(t)}function C(t){var e=t.message;return e||(e="".concat(t.path," is invalid. Not meeting ").concat(t.keyword," constraint")),{message:e}}e.SlicerTargetSelector=_,function(t){t[t.Enabled=0]="Enabled",t[t.Disabled=1]="Disabled",t[t.Hidden=2]="Hidden"}(e.CommandDisplayOption||(e.CommandDisplayOption={})),function(t){t[t.Grouping=0]="Grouping",t[t.Measure=1]="Measure",t[t.GroupingOrMeasure=2]="GroupingOrMeasure"}(e.VisualDataRoleKind||(e.VisualDataRoleKind={})),function(t){t[t.Measure=0]="Measure",t[t.Grouping=1]="Grouping"}(e.VisualDataRoleKindPreference||(e.VisualDataRoleKindPreference={})),e.isOnLoadFilters=function(t){return t&&!E(t)},e.isReportFiltersArray=E,e.isFlatMenuExtension=function(t){return t&&!T(t)},e.isGroupedMenuExtension=T,e.isIExtensions=function(t){return t&&!F(t)},e.isIExtensionArray=F,e.validateVisualSelector=function(t){var e=o.Validators.visualSelectorValidator.validate(t);return e?e.map(C):void 0},e.validateSlicer=function(t){var e=o.Validators.slicerValidator.validate(t);return e?e.map(C):void 0},e.validateSlicerState=function(t){var e=o.Validators.slicerStateValidator.validate(t);return e?e.map(C):void 0},e.validatePlayBookmarkRequest=function(t){var e=o.Validators.playBookmarkRequestValidator.validate(t);return e?e.map(C):void 0},e.validateAddBookmarkRequest=function(t){var e=o.Validators.addBookmarkRequestValidator.validate(t);return e?e.map(C):void 0},e.validateApplyBookmarkByNameRequest=function(t){var e=o.Validators.applyBookmarkByNameRequestValidator.validate(t);return e?e.map(C):void 0},e.validateApplyBookmarkStateRequest=function(t){var e=o.Validators.applyBookmarkStateRequestValidator.validate(t);return e?e.map(C):void 0},e.validateCaptureBookmarkRequest=function(t){var e=o.Validators.captureBookmarkRequestValidator.validate(t);return e?e.map(C):void 0},e.validateSettings=function(t){var e=o.Validators.settingsValidator.validate(t);return e?e.map(C):void 0},e.validatePanes=function(t){var e=o.Validators.reportPanesValidator.validate(t);return e?e.map(C):void 0},e.validateBookmarksPane=function(t){var e=o.Validators.bookmarksPaneValidator.validate(t);return e?e.map(C):void 0},e.validateFiltersPane=function(t){var e=o.Validators.filtersPaneValidator.validate(t);return e?e.map(C):void 0},e.validateFieldsPane=function(t){var e=o.Validators.fieldsPaneValidator.validate(t);return e?e.map(C):void 0},e.validatePageNavigationPane=function(t){var e=o.Validators.pageNavigationPaneValidator.validate(t);return e?e.map(C):void 0},e.validateSelectionPane=function(t){var e=o.Validators.selectionPaneValidator.validate(t);return e?e.map(C):void 0},e.validateSyncSlicersPane=function(t){var e=o.Validators.syncSlicersPaneValidator.validate(t);return e?e.map(C):void 0},e.validateVisualizationsPane=function(t){var e=o.Validators.visualizationsPaneValidator.validate(t);return e?e.map(C):void 0},e.validateCustomPageSize=function(t){var e=o.Validators.customPageSizeValidator.validate(t);return e?e.map(C):void 0},e.validateExtension=function(t){var e=o.Validators.extensionValidator.validate(t);return e?e.map(C):void 0},e.validateMenuGroupExtension=function(t){var e=o.Validators.menuGroupExtensionValidator.validate(t);return e?e.map(C):void 0},e.validateReportLoad=function(t){var e=o.Validators.reportLoadValidator.validate(t);return e?e.map(C):void 0},e.validatePaginatedReportLoad=function(t){var e=o.Validators.paginatedReportLoadValidator.validate(t);return e?e.map(C):void 0},e.validateCreateReport=function(t){var e=o.Validators.reportCreateValidator.validate(t);return e?e.map(C):void 0},e.validateQuickCreate=function(t){var e=o.Validators.quickCreateValidator.validate(t);return e?e.map(C):void 0},e.validateDashboardLoad=function(t){var e=o.Validators.dashboardLoadValidator.validate(t);return e?e.map(C):void 0},e.validateTileLoad=function(t){var e=o.Validators.tileLoadValidator.validate(t);return e?e.map(C):void 0},e.validatePage=function(t){var e=o.Validators.pageValidator.validate(t);return e?e.map(C):void 0},e.validateFilter=function(t){var e=o.Validators.filterValidator.validate(t);return e?e.map(C):void 0},e.validateUpdateFiltersRequest=function(t){var e=o.Validators.updateFiltersRequestValidator.validate(t);return e?e.map(C):void 0},e.validateSaveAsParameters=function(t){var e=o.Validators.saveAsParametersValidator.validate(t);return e?e.map(C):void 0},e.validateLoadQnaConfiguration=function(t){var e=o.Validators.loadQnaValidator.validate(t);return e?e.map(C):void 0},e.validateQnaInterpretInputData=function(t){var e=o.Validators.qnaInterpretInputDataValidator.validate(t);return e?e.map(C):void 0},e.validateExportDataRequest=function(t){var e=o.Validators.exportDataRequestValidator.validate(t);return e?e.map(C):void 0},e.validateVisualHeader=function(t){var e=o.Validators.visualHeaderValidator.validate(t);return e?e.map(C):void 0},e.validateVisualSettings=function(t){var e=o.Validators.visualSettingsValidator.validate(t);return e?e.map(C):void 0},e.validateCommandsSettings=function(t){var e=o.Validators.commandsSettingsValidator.validate(t);return e?e.map(C):void 0},e.validateCustomTheme=function(t){var e=o.Validators.customThemeValidator.validate(t);return e?e.map(C):void 0},e.validateZoomLevel=function(t){var e=o.Validators.zoomLevelValidator.validate(t);return e?e.map(C):void 0}},(t,e,r)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.Validators=void 0;var i=r(2),a=r(5),n=r(6),o=r(7),l=r(8),s=r(9),u=r(10),d=r(11),c=r(12),p=r(13),f=r(14),h=r(15),v=r(16),y=r(17),m=r(18),V=r(19),g=r(20),b=r(21),w=r(22),O=r(23),S=r(24),P=r(25),_=r(26),E=r(27),T=r(28),F=r(29),C=r(4),x=r(30),k=r(31),R=r(32);e.Validators={addBookmarkRequestValidator:new a.AddBookmarkRequestValidator,advancedFilterTypeValidator:new C.EnumValidator([0]),advancedFilterValidator:new c.AdvancedFilterValidator,anyArrayValidator:new C.ArrayValidator([new _.AnyOfValidator([new C.StringValidator,new C.NumberValidator,new C.BooleanValidator])]),anyFilterValidator:new _.AnyOfValidator([new c.BasicFilterValidator,new c.AdvancedFilterValidator,new c.IncludeExcludeFilterValidator,new c.NotSupportedFilterValidator,new c.RelativeDateFilterValidator,new c.TopNFilterValidator,new c.RelativeTimeFilterValidator,new c.HierarchyFilterValidator]),anyValueValidator:new _.AnyOfValidator([new C.StringValidator,new C.NumberValidator,new C.BooleanValidator]),actionBarValidator:new i.ActionBarValidator,statusBarValidator:new i.StatusBarValidator,applyBookmarkByNameRequestValidator:new a.ApplyBookmarkByNameRequestValidator,applyBookmarkStateRequestValidator:new a.ApplyBookmarkStateRequestValidator,applyBookmarkValidator:new _.AnyOfValidator([new a.ApplyBookmarkByNameRequestValidator,new a.ApplyBookmarkStateRequestValidator]),backgroundValidator:new C.EnumValidator([0,1]),basicFilterTypeValidator:new C.EnumValidator([1]),basicFilterValidator:new c.BasicFilterValidator,booleanArrayValidator:new C.BooleanArrayValidator,booleanValidator:new C.BooleanValidator,bookmarksPaneValidator:new h.BookmarksPaneValidator,captureBookmarkOptionsValidator:new a.CaptureBookmarkOptionsValidator,captureBookmarkRequestValidator:new a.CaptureBookmarkRequestValidator,columnSchemaArrayValidator:new C.ArrayValidator([new k.ColumnSchemaValidator]),commandDisplayOptionValidator:new C.EnumValidator([0,1,2]),commandExtensionSelectorValidator:new _.AnyOfValidator([new b.VisualSelectorValidator,new b.VisualTypeSelectorValidator]),commandExtensionArrayValidator:new C.ArrayValidator([new d.CommandExtensionValidator]),commandExtensionValidator:new d.CommandExtensionValidator,commandsSettingsArrayValidator:new C.ArrayValidator([new n.CommandsSettingsValidator]),commandsSettingsValidator:new n.CommandsSettingsValidator,conditionItemValidator:new c.ConditionItemValidator,contrastModeValidator:new C.EnumValidator([0,1,2,3,4]),credentialDetailsValidator:new F.MapValidator([new C.StringValidator],[new C.StringValidator]),credentialsValidator:new k.CredentialsValidator,credentialTypeValidator:new C.EnumValidator([0,1,2]),customLayoutDisplayOptionValidator:new C.EnumValidator([0,1,2]),customLayoutValidator:new p.CustomLayoutValidator,customPageSizeValidator:new f.CustomPageSizeValidator,customThemeValidator:new o.CustomThemeValidator,dashboardLoadValidator:new l.DashboardLoadValidator,dataCacheModeValidator:new C.EnumValidator([0,1]),datasetBindingValidator:new s.DatasetBindingValidator,datasetCreateConfigValidator:new k.DatasetCreateConfigValidator,datasourceConnectionConfigValidator:new k.DatasourceConnectionConfigValidator,displayStateModeValidator:new C.EnumValidator([0,1]),displayStateValidator:new p.DisplayStateValidator,exportDataRequestValidator:new u.ExportDataRequestValidator,extensionArrayValidator:new C.ArrayValidator([new d.ExtensionValidator]),extensionsValidator:new _.AnyOfValidator([new C.ArrayValidator([new d.ExtensionValidator]),new d.ExtensionsValidator]),extensionPointsValidator:new d.ExtensionPointsValidator,extensionValidator:new d.ExtensionValidator,fieldForbiddenValidator:new E.FieldForbiddenValidator,fieldRequiredValidator:new T.FieldRequiredValidator,fieldsPaneValidator:new h.FieldsPaneValidator,filterColumnTargetValidator:new c.FilterColumnTargetValidator,filterDisplaySettingsValidator:new c.FilterDisplaySettingsValidator,filterConditionsValidator:new C.ArrayValidator([new c.ConditionItemValidator]),filterHierarchyTargetValidator:new c.FilterHierarchyTargetValidator,filterMeasureTargetValidator:new c.FilterMeasureTargetValidator,filterTargetValidator:new _.AnyOfValidator([new c.FilterColumnTargetValidator,new c.FilterHierarchyTargetValidator,new c.FilterMeasureTargetValidator,new C.ArrayValidator([new _.AnyOfValidator([new c.FilterColumnTargetValidator,new c.FilterHierarchyTargetValidator,new c.FilterMeasureTargetValidator,new c.FilterKeyColumnsTargetValidator,new c.FilterKeyHierarchyTargetValidator])])]),filterValidator:new c.FilterValidator,filterTypeValidator:new C.EnumValidator([0,1,2,3,4,5,6,7,9]),filtersArrayValidator:new C.ArrayValidator([new c.FilterValidator]),filtersOperationsUpdateValidator:new C.EnumValidator([1,2,3]),filtersOperationsRemoveAllValidator:new C.EnumValidator([0]),filtersPaneValidator:new h.FiltersPaneValidator,hyperlinkClickBehaviorValidator:new C.EnumValidator([0,1,2]),includeExcludeFilterValidator:new c.IncludeExcludeFilterValidator,includeExludeFilterTypeValidator:new C.EnumValidator([3]),hierarchyFilterTypeValidator:new C.EnumValidator([9]),hierarchyFilterValuesValidator:new C.ArrayValidator([new c.HierarchyFilterNodeValidator]),layoutTypeValidator:new C.EnumValidator([0,1,2,3]),loadQnaValidator:new v.LoadQnaValidator,menuExtensionValidator:new _.AnyOfValidator([new d.FlatMenuExtensionValidator,new d.GroupedMenuExtensionValidator]),menuGroupExtensionArrayValidator:new C.ArrayValidator([new d.MenuGroupExtensionValidator]),menuGroupExtensionValidator:new d.MenuGroupExtensionValidator,menuLocationValidator:new C.EnumValidator([0,1]),notSupportedFilterTypeValidator:new C.EnumValidator([2]),notSupportedFilterValidator:new c.NotSupportedFilterValidator,numberArrayValidator:new C.NumberArrayValidator,numberValidator:new C.NumberValidator,onLoadFiltersBaseValidator:new _.AnyOfValidator([new c.OnLoadFiltersBaseValidator,new c.OnLoadFiltersBaseRemoveOperationValidator]),pageLayoutValidator:new F.MapValidator([new C.StringValidator],[new p.VisualLayoutValidator]),pageNavigationPaneValidator:new h.PageNavigationPaneValidator,pageNavigationPositionValidator:new C.EnumValidator([0,1]),pageSizeTypeValidator:new C.EnumValidator([0,1,2,3,4,5]),pageSizeValidator:new f.PageSizeValidator,pageValidator:new f.PageValidator,pageViewFieldValidator:new f.PageViewFieldValidator,pagesLayoutValidator:new F.MapValidator([new C.StringValidator],[new p.PageLayoutValidator]),paginatedReportCommandsValidator:new n.PaginatedReportCommandsValidator,paginatedReportLoadValidator:new V.PaginatedReportLoadValidator,paginatedReportsettingsValidator:new w.PaginatedReportSettingsValidator,parameterValuesArrayValidator:new C.ArrayValidator([new V.ReportParameterFieldsValidator]),parametersPanelValidator:new x.ParametersPanelValidator,permissionsValidator:new C.EnumValidator([0,1,2,4,7]),playBookmarkRequestValidator:new a.PlayBookmarkRequestValidator,qnaInterpretInputDataValidator:new v.QnaInterpretInputDataValidator,qnaPanesValidator:new h.QnaPanesValidator,qnaSettingValidator:new v.QnaSettingsValidator,quickCreateValidator:new R.QuickCreateValidator,rawDataValidator:new C.ArrayValidator([new C.ArrayValidator([new C.StringValidator])]),relativeDateFilterOperatorValidator:new C.EnumValidator([0,1,2]),relativeDateFilterTimeUnitTypeValidator:new C.EnumValidator([0,1,2,3,4,5,6]),relativeDateFilterTypeValidator:new C.EnumValidator([4]),relativeDateFilterValidator:new c.RelativeDateFilterValidator,relativeDateTimeFilterTypeValidator:new C.EnumValidator([4,7]),relativeDateTimeFilterUnitTypeValidator:new C.EnumValidator([0,1,2,3,4,5,6,7,8]),relativeTimeFilterTimeUnitTypeValidator:new C.EnumValidator([7,8]),relativeTimeFilterTypeValidator:new C.EnumValidator([7]),relativeTimeFilterValidator:new c.RelativeTimeFilterValidator,reportBarsValidator:new i.ReportBarsValidator,reportCreateValidator:new y.ReportCreateValidator,reportLoadFiltersValidator:new _.AnyOfValidator([new C.ArrayValidator([new c.FilterValidator]),new c.OnLoadFiltersValidator]),reportLoadValidator:new m.ReportLoadValidator,reportPanesValidator:new h.ReportPanesValidator,saveAsParametersValidator:new g.SaveAsParametersValidator,selectionPaneValidator:new h.SelectionPaneValidator,settingsValidator:new w.SettingsValidator,singleCommandSettingsValidator:new n.SingleCommandSettingsValidator,slicerSelectorValidator:new _.AnyOfValidator([new b.VisualSelectorValidator,new b.SlicerTargetSelectorValidator]),slicerStateValidator:new O.SlicerStateValidator,slicerTargetValidator:new _.AnyOfValidator([new c.FilterColumnTargetValidator,new c.FilterHierarchyTargetValidator,new c.FilterMeasureTargetValidator,new c.FilterKeyColumnsTargetValidator,new c.FilterKeyHierarchyTargetValidator]),slicerValidator:new O.SlicerValidator,stringArrayValidator:new C.StringArrayValidator,stringValidator:new C.StringValidator,syncSlicersPaneValidator:new h.SyncSlicersPaneValidator,tableDataArrayValidator:new C.ArrayValidator([new k.TableDataValidator]),tableSchemaListValidator:new C.ArrayValidator([new k.TableSchemaValidator]),tileLoadValidator:new S.TileLoadValidator,tokenTypeValidator:new C.EnumValidator([0,1]),topNFilterTypeValidator:new C.EnumValidator([5]),topNFilterValidator:new c.TopNFilterValidator,updateFiltersRequestValidator:new _.AnyOfValidator([new c.UpdateFiltersRequestValidator,new c.RemoveFiltersRequestValidator]),viewModeValidator:new C.EnumValidator([0,1]),visualCommandSelectorValidator:new _.AnyOfValidator([new b.VisualSelectorValidator,new b.VisualTypeSelectorValidator]),visualHeaderSelectorValidator:new _.AnyOfValidator([new b.VisualSelectorValidator,new b.VisualTypeSelectorValidator]),visualHeaderSettingsValidator:new P.VisualHeaderSettingsValidator,visualHeaderValidator:new P.VisualHeaderValidator,visualHeadersValidator:new C.ArrayValidator([new P.VisualHeaderValidator]),visualizationsPaneValidator:new h.VisualizationsPaneValidator,visualLayoutValidator:new p.VisualLayoutValidator,visualSelectorValidator:new b.VisualSelectorValidator,visualSettingsValidator:new P.VisualSettingsValidator,visualTypeSelectorValidator:new b.VisualTypeSelectorValidator,zoomLevelValidator:new C.RangeValidator(.25,4)}},function(t,e,r){var i,a=this&&this.__extends||(i=function(t,e){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])})(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.StatusBarValidator=e.ActionBarValidator=e.ReportBarsValidator=void 0;var n=r(3),o=r(4),l=r(1),s=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return a(e,t),e.prototype.validate=function(e,r,i){if(null==e)return null;var a=t.prototype.validate.call(this,e,r,i);if(a)return a;var o=[{field:"actionBar",validators:[l.Validators.actionBarValidator]},{field:"statusBar",validators:[l.Validators.statusBarValidator]}];return new n.MultipleFieldsValidator(o).validate(e,r,i)},e}(o.ObjectValidator);e.ReportBarsValidator=s;var u=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return a(e,t),e.prototype.validate=function(e,r,i){if(null==e)return null;var a=t.prototype.validate.call(this,e,r,i);if(a)return a;var o=[{field:"visible",validators:[l.Validators.booleanValidator]}];return new n.MultipleFieldsValidator(o).validate(e,r,i)},e}(o.ObjectValidator);e.ActionBarValidator=u;var d=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return a(e,t),e.prototype.validate=function(e,r,i){if(null==e)return null;var a=t.prototype.validate.call(this,e,r,i);if(a)return a;var o=[{field:"visible",validators:[l.Validators.booleanValidator]}];return new n.MultipleFieldsValidator(o).validate(e,r,i)},e}(o.ObjectValidator);e.StatusBarValidator=d},(t,e)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.MultipleFieldsValidator=void 0;var r=function(){function t(t){this.fieldValidatorsPairs=t}return t.prototype.validate=function(t,e,r){if(!this.fieldValidatorsPairs)return null;for(var i=e?e+"."+r:r,a=0,n=this.fieldValidatorsPairs;athis.maxValue||e{Object.defineProperty(e,"__esModule",{value:!0}),e.AnyOfValidator=void 0;var r=function(){function t(t){this.validators=t}return t.prototype.validate=function(t,e,r){if(null==t)return null;for(var i=!1,a=0,n=this.validators;a{Object.defineProperty(e,"__esModule",{value:!0}),e.FieldForbiddenValidator=void 0;var r=function(){function t(){}return t.prototype.validate=function(t,e,r){return void 0!==t?[{message:r+" is forbidden",path:(e?e+".":"")+r,keyword:"forbidden"}]:null},t}();e.FieldForbiddenValidator=r},(t,e)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.FieldRequiredValidator=void 0;var r=function(){function t(){}return t.prototype.validate=function(t,e,r){return null==t?[{message:r+" is required",path:(e?e+".":"")+r,keyword:"required"}]:null},t}();e.FieldRequiredValidator=r},function(t,e,r){var i,a=this&&this.__extends||(i=function(t,e){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])})(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.MapValidator=void 0;var n=function(t){function e(e,r){var i=t.call(this)||this;return i.keyValidators=e,i.valueValidators=r,i}return a(e,t),e.prototype.validate=function(e,r,i){if(null==e)return null;var a=t.prototype.validate.call(this,e,r,i);if(a)return a;for(var n in e)if(e.hasOwnProperty(n)){for(var o=(r?r+".":"")+i+"."+n,l=0,s=this.keyValidators;l0&&a[a.length-1])||6!==n[0]&&2!==n[0])){o=0;continue}if(3===n[0]&&(!a||n[1]>a[0]&&n[1]0&&a[a.length-1])||6!==n[0]&&2!==n[0])){o=0;continue}if(3===n[0]&&(!a||n[1]>a[0]&&n[1]0?"&":"?";return t+=i+e+"="+r},e.isSavedInternal=function(t,e,a){return r(this,void 0,void 0,(function(){return i(this,(function(r){switch(r.label){case 0:return r.trys.push([0,2,,3]),[4,t.get("/report/hasUnsavedChanges",{uid:e},a)];case 1:return[2,!r.sent().body];case 2:throw r.sent().body;case 3:return[2]}}))}))},e.isRDLEmbed=function(t){return t&&t.toLowerCase().indexOf("/rdlembed?")>=0},e.autoAuthInEmbedUrl=function(t){return t&&decodeURIComponent(t).toLowerCase().indexOf("autoauth=true")>=0},e.getRandomValue=n,e.getTimeDiffInMilliseconds=function(t,e){return Math.abs(t.getTime()-e.getTime())},e.isCreate=function(t){return"create"===t||"quickcreate"===t}},function(t,e){Object.defineProperty(e,"__esModule",{value:!0}),e.FilterBuilder=void 0;var r=function(){function t(){}return t.prototype.withTargetObject=function(t){return this.target=t,this},t.prototype.withColumnTarget=function(t,e){return this.target={table:t,column:e},this},t.prototype.withMeasureTarget=function(t,e){return this.target={table:t,measure:e},this},t.prototype.withHierarchyLevelTarget=function(t,e,r){return this.target={table:t,hierarchy:e,hierarchyLevel:r},this},t.prototype.withColumnAggregation=function(t,e,r){return this.target={table:t,column:e,aggregationFunction:r},this},t.prototype.withHierarchyLevelAggregationTarget=function(t,e,r,i){return this.target={table:t,hierarchy:e,hierarchyLevel:r,aggregationFunction:i},this},t}();e.FilterBuilder=r},function(t,e){Object.defineProperty(e,"__esModule",{value:!0}),e.EmbedUrlNotSupported=e.APINotSupportedForRDLError=void 0,e.APINotSupportedForRDLError="This API is currently not supported for RDL reports",e.EmbedUrlNotSupported="Embed URL is invalid for this scenario. Please use Power BI REST APIs to get the valid URL"},function(t,e){Object.defineProperty(e,"__esModule",{value:!0});e.default={version:"2.22.1",type:"js"}},function(t,e,r){var i,a=this&&this.__extends||(i=function(t,e){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])})(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}),n=this&&this.__awaiter||function(t,e,r,i){return new(r||(r=Promise))((function(a,n){function o(t){try{s(i.next(t))}catch(t){n(t)}}function l(t){try{s(i.throw(t))}catch(t){n(t)}}function s(t){var e;t.done?a(t.value):(e=t.value,e instanceof r?e:new r((function(t){t(e)}))).then(o,l)}s((i=i.apply(t,e||[])).next())}))},o=this&&this.__generator||function(t,e){var r,i,a,n,o={label:0,sent:function(){if(1&a[0])throw a[1];return a[1]},trys:[],ops:[]};return n={next:l(0),throw:l(1),return:l(2)},"function"==typeof Symbol&&(n[Symbol.iterator]=function(){return this}),n;function l(n){return function(l){return function(n){if(r)throw new TypeError("Generator is already executing.");for(;o;)try{if(r=1,i&&(a=2&n[0]?i.return:n[0]?i.throw||((a=i.return)&&a.call(i),0):i.next)&&!(a=a.call(i,n[1])).done)return a;switch(i=0,a&&(n=[2&n[0],a.value]),n[0]){case 0:case 1:a=n;break;case 4:return o.label++,{value:n[1],done:!1};case 5:o.label++,i=n[1],n=[0];continue;case 7:n=o.ops.pop(),o.trys.pop();continue;default:if(!(a=o.trys,(a=a.length>0&&a[a.length-1])||6!==n[0]&&2!==n[0])){o=0;continue}if(3===n[0]&&(!a||n[1]>a[0]&&n[1]0&&a[a.length-1])||6!==n[0]&&2!==n[0])){o=0;continue}if(3===n[0]&&(!a||n[1]>a[0]&&n[1]0&&a[a.length-1])||6!==n[0]&&2!==n[0])){o=0;continue}if(3===n[0]&&(!a||n[1]>a[0]&&n[1] * @license MIT - */function a(t,e){if(t===e)return 0;for(var r=t.length,i=e.length,a=0,n=Math.min(r,i);a=0;u--)if(d[u]!==c[u])return!1;for(u=d.length-1;u>=0;u--)if(l=d[u],!g(t[l],e[l],r,i))return!1;return!0}(t,e,r,i))}return r?t===e:t==e}function b(t){return"[object Arguments]"==Object.prototype.toString.call(t)}function w(t,e){if(!t||!e)return!1;if("[object RegExp]"==Object.prototype.toString.call(e))return e.test(t);try{if(t instanceof e)return!0}catch(t){}return!Error.isPrototypeOf(e)&&!0===e.call({},t)}function O(t,e,r,i){var a;if("function"!=typeof e)throw new TypeError('"block" argument must be a function');"string"==typeof r&&(i=r,r=null),a=function(t){var e;try{t()}catch(t){e=t}return e}(e),i=(r&&r.name?" ("+r.name+").":".")+(i?" "+i:"."),t&&!a&&m(a,r,"Missing expected exception"+i);var n="string"==typeof i,l=!t&&a&&!r;if((!t&&o.isError(a)&&n&&w(a,r)||l)&&m(a,r,"Got unwanted exception"+i),t&&a&&r&&!w(a,r)||!t&&a)throw a}p.AssertionError=function(t){var e;this.name="AssertionError",this.actual=t.actual,this.expected=t.expected,this.operator=t.operator,t.message?(this.message=t.message,this.generatedMessage=!1):(this.message=v(y((e=this).actual),128)+" "+e.operator+" "+v(y(e.expected),128),this.generatedMessage=!0);var r=t.stackStartFunction||m;if(Error.captureStackTrace)Error.captureStackTrace(this,r);else{var i=new Error;if(i.stack){var a=i.stack,n=h(r),o=a.indexOf("\n"+n);if(o>=0){var l=a.indexOf("\n",o+1);a=a.substring(l+1)}this.stack=a}}},o.inherits(p.AssertionError,Error),p.fail=m,p.ok=V,p.equal=function(t,e,r){t!=e&&m(t,e,r,"==",p.equal)},p.notEqual=function(t,e,r){t==e&&m(t,e,r,"!=",p.notEqual)},p.deepEqual=function(t,e,r){g(t,e,!1)||m(t,e,r,"deepEqual",p.deepEqual)},p.deepStrictEqual=function(t,e,r){g(t,e,!0)||m(t,e,r,"deepStrictEqual",p.deepStrictEqual)},p.notDeepEqual=function(t,e,r){g(t,e,!1)&&m(t,e,r,"notDeepEqual",p.notDeepEqual)},p.notDeepStrictEqual=function t(e,r,i){g(e,r,!0)&&m(e,r,i,"notDeepStrictEqual",t)},p.strictEqual=function(t,e,r){t!==e&&m(t,e,r,"===",p.strictEqual)},p.notStrictEqual=function(t,e,r){t===e&&m(t,e,r,"!==",p.notStrictEqual)},p.throws=function(t,e,r){O(!0,t,e,r)},p.doesNotThrow=function(t,e,r){O(!1,t,e,r)},p.ifError=function(t){if(t)throw t},p.strict=i((function t(e,r){e||m(e,!0,r,"==",t)}),p,{equal:p.strictEqual,deepEqual:p.deepStrictEqual,notEqual:p.notStrictEqual,notDeepEqual:p.notDeepStrictEqual}),p.strict.strict=p.strict;var S=Object.keys||function(t){var e=[];for(var r in t)l.call(t,r)&&e.push(r);return e}}).call(this,r(18))},function(t,e,r){var i,a=this&&this.__extends||(i=function(t,e){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])})(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.Dashboard=void 0;var n=r(0),o=function(t){function e(r,i,a,n,o){var l=t.call(this,r,i,a,void 0,n,o)||this;return l.loadPath="/dashboard/load",l.phasedLoadPath="/dashboard/prepare",Array.prototype.push.apply(l.allowedEvents,e.allowedEvents),l}return a(e,t),e.findIdFromEmbedUrl=function(t){var e,r=t.match(/dashboardId="?([^&]+)"?/);return r&&(e=r[1]),e},e.prototype.getId=function(){var t=this.config,r=t.id||this.element.getAttribute(e.dashboardIdAttribute)||e.findIdFromEmbedUrl(t.embedUrl);if("string"!=typeof r||0===r.length)throw new Error("Dashboard id is required, but it was not found. You must provide an id either as part of embed configuration or as attribute '".concat(e.dashboardIdAttribute,"'."));return r},e.prototype.validate=function(t){var e=t,r=(0,n.validateDashboardLoad)(e);return r||this.validatePageView(e.pageView)},e.prototype.configChanged=function(t){t||(this.config.id=this.getId())},e.prototype.getDefaultEmbedUrlEndpoint=function(){return"dashboardEmbed"},e.prototype.validatePageView=function(t){if(t&&"fitToWidth"!==t&&"oneColumn"!==t&&"actualSize"!==t)return[{message:"pageView must be one of the followings: fitToWidth, oneColumn, actualSize"}]},e.allowedEvents=["tileClicked","error"],e.dashboardIdAttribute="powerbi-dashboard-id",e.typeAttribute="powerbi-type",e.type="Dashboard",e}(r(1).Embed);e.Dashboard=o},function(t,e,r){var i,a=this&&this.__extends||(i=function(t,e){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])})(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.Tile=void 0;var n=r(0),o=function(t){function e(r,i,a,n,o){var l=this,s=a;return(l=t.call(this,r,i,s,void 0,n,o)||this).loadPath="/tile/load",Array.prototype.push.apply(l.allowedEvents,e.allowedEvents),l}return a(e,t),e.prototype.getId=function(){var t=this.config.id||e.findIdFromEmbedUrl(this.config.embedUrl);if("string"!=typeof t||0===t.length)throw new Error("Tile id is required, but it was not found. You must provide an id either as part of embed configuration.");return t},e.prototype.validate=function(t){var e=t;return(0,n.validateTileLoad)(e)},e.prototype.configChanged=function(t){t||(this.config.id=this.getId())},e.prototype.getDefaultEmbedUrlEndpoint=function(){return"tileEmbed"},e.findIdFromEmbedUrl=function(t){var e,r=t.match(/tileId="?([^&]+)"?/);return r&&(e=r[1]),e},e.type="Tile",e.allowedEvents=["tileClicked","tileLoaded"],e}(r(1).Embed);e.Tile=o},function(t,e,r){var i,a=this&&this.__extends||(i=function(t,e){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])})(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}),n=this&&this.__awaiter||function(t,e,r,i){return new(r||(r=Promise))((function(a,n){function o(t){try{s(i.next(t))}catch(t){n(t)}}function l(t){try{s(i.throw(t))}catch(t){n(t)}}function s(t){var e;t.done?a(t.value):(e=t.value,e instanceof r?e:new r((function(t){t(e)}))).then(o,l)}s((i=i.apply(t,e||[])).next())}))},o=this&&this.__generator||function(t,e){var r,i,a,n,o={label:0,sent:function(){if(1&a[0])throw a[1];return a[1]},trys:[],ops:[]};return n={next:l(0),throw:l(1),return:l(2)},"function"==typeof Symbol&&(n[Symbol.iterator]=function(){return this}),n;function l(n){return function(l){return function(n){if(r)throw new TypeError("Generator is already executing.");for(;o;)try{if(r=1,i&&(a=2&n[0]?i.return:n[0]?i.throw||((a=i.return)&&a.call(i),0):i.next)&&!(a=a.call(i,n[1])).done)return a;switch(i=0,a&&(n=[2&n[0],a.value]),n[0]){case 0:case 1:a=n;break;case 4:return o.label++,{value:n[1],done:!1};case 5:o.label++,i=n[1],n=[0];continue;case 7:n=o.ops.pop(),o.trys.pop();continue;default:if(!(a=o.trys,(a=a.length>0&&a[a.length-1])||6!==n[0]&&2!==n[0])){o=0;continue}if(3===n[0]&&(!a||n[1]>a[0]&&n[1]0&&a[a.length-1])||6!==n[0]&&2!==n[0])){o=0;continue}if(3===n[0]&&(!a||n[1]>a[0]&&n[1]0&&a[a.length-1])||6!==n[0]&&2!==n[0])){o=0;continue}if(3===n[0]&&(!a||n[1]>a[0]&&n[1]0&&a[a.length-1])||6!==n[0]&&2!==n[0])){o=0;continue}if(3===n[0]&&(!a||n[1]>a[0]&&n[1]0&&a[a.length-1])||6!==n[0]&&2!==n[0])){o=0;continue}if(3===n[0]&&(!a||n[1]>a[0]&&n[1]=0;u--)if(d[u]!==c[u])return!1;for(u=d.length-1;u>=0;u--)if(l=d[u],!g(t[l],e[l],r,i))return!1;return!0}(t,e,r,i))}return r?t===e:t==e}function b(t){return"[object Arguments]"==Object.prototype.toString.call(t)}function w(t,e){if(!t||!e)return!1;if("[object RegExp]"==Object.prototype.toString.call(e))return e.test(t);try{if(t instanceof e)return!0}catch(t){}return!Error.isPrototypeOf(e)&&!0===e.call({},t)}function O(t,e,r,i){var a;if("function"!=typeof e)throw new TypeError('"block" argument must be a function');"string"==typeof r&&(i=r,r=null),a=function(t){var e;try{t()}catch(t){e=t}return e}(e),i=(r&&r.name?" ("+r.name+").":".")+(i?" "+i:"."),t&&!a&&m(a,r,"Missing expected exception"+i);var n="string"==typeof i,l=!t&&a&&!r;if((!t&&o.isError(a)&&n&&w(a,r)||l)&&m(a,r,"Got unwanted exception"+i),t&&a&&r&&!w(a,r)||!t&&a)throw a}p.AssertionError=function(t){var e;this.name="AssertionError",this.actual=t.actual,this.expected=t.expected,this.operator=t.operator,t.message?(this.message=t.message,this.generatedMessage=!1):(this.message=v(y((e=this).actual),128)+" "+e.operator+" "+v(y(e.expected),128),this.generatedMessage=!0);var r=t.stackStartFunction||m;if(Error.captureStackTrace)Error.captureStackTrace(this,r);else{var i=new Error;if(i.stack){var a=i.stack,n=h(r),o=a.indexOf("\n"+n);if(o>=0){var l=a.indexOf("\n",o+1);a=a.substring(l+1)}this.stack=a}}},o.inherits(p.AssertionError,Error),p.fail=m,p.ok=V,p.equal=function(t,e,r){t!=e&&m(t,e,r,"==",p.equal)},p.notEqual=function(t,e,r){t==e&&m(t,e,r,"!=",p.notEqual)},p.deepEqual=function(t,e,r){g(t,e,!1)||m(t,e,r,"deepEqual",p.deepEqual)},p.deepStrictEqual=function(t,e,r){g(t,e,!0)||m(t,e,r,"deepStrictEqual",p.deepStrictEqual)},p.notDeepEqual=function(t,e,r){g(t,e,!1)&&m(t,e,r,"notDeepEqual",p.notDeepEqual)},p.notDeepStrictEqual=function t(e,r,i){g(e,r,!0)&&m(e,r,i,"notDeepStrictEqual",t)},p.strictEqual=function(t,e,r){t!==e&&m(t,e,r,"===",p.strictEqual)},p.notStrictEqual=function(t,e,r){t===e&&m(t,e,r,"!==",p.notStrictEqual)},p.throws=function(t,e,r){O(!0,t,e,r)},p.doesNotThrow=function(t,e,r){O(!1,t,e,r)},p.ifError=function(t){if(t)throw t},p.strict=i((function t(e,r){e||m(e,!0,r,"==",t)}),p,{equal:p.strictEqual,deepEqual:p.deepStrictEqual,notEqual:p.notStrictEqual,notDeepEqual:p.notDeepStrictEqual}),p.strict.strict=p.strict;var S=Object.keys||function(t){var e=[];for(var r in t)l.call(t,r)&&e.push(r);return e}}).call(this,r(18))},function(t,e,r){var i,a=this&&this.__extends||(i=function(t,e){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])})(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.Dashboard=void 0;var n=r(0),o=function(t){function e(r,i,a,n,o){var l=t.call(this,r,i,a,void 0,n,o)||this;return l.loadPath="/dashboard/load",l.phasedLoadPath="/dashboard/prepare",Array.prototype.push.apply(l.allowedEvents,e.allowedEvents),l}return a(e,t),e.findIdFromEmbedUrl=function(t){var e,r=t.match(/dashboardId="?([^&]+)"?/);return r&&(e=r[1]),e},e.prototype.getId=function(){var t=this.config,r=t.id||this.element.getAttribute(e.dashboardIdAttribute)||e.findIdFromEmbedUrl(t.embedUrl);if("string"!=typeof r||0===r.length)throw new Error("Dashboard id is required, but it was not found. You must provide an id either as part of embed configuration or as attribute '".concat(e.dashboardIdAttribute,"'."));return r},e.prototype.validate=function(t){var e=t,r=(0,n.validateDashboardLoad)(e);return r||this.validatePageView(e.pageView)},e.prototype.configChanged=function(t){t||(this.config.id=this.getId())},e.prototype.getDefaultEmbedUrlEndpoint=function(){return"dashboardEmbed"},e.prototype.validatePageView=function(t){if(t&&"fitToWidth"!==t&&"oneColumn"!==t&&"actualSize"!==t)return[{message:"pageView must be one of the followings: fitToWidth, oneColumn, actualSize"}]},e.allowedEvents=["tileClicked","error"],e.dashboardIdAttribute="powerbi-dashboard-id",e.typeAttribute="powerbi-type",e.type="Dashboard",e}(r(1).Embed);e.Dashboard=o},function(t,e,r){var i,a=this&&this.__extends||(i=function(t,e){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])})(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.Tile=void 0;var n=r(0),o=function(t){function e(r,i,a,n,o){var l=this,s=a;return(l=t.call(this,r,i,s,void 0,n,o)||this).loadPath="/tile/load",Array.prototype.push.apply(l.allowedEvents,e.allowedEvents),l}return a(e,t),e.prototype.getId=function(){var t=this.config.id||e.findIdFromEmbedUrl(this.config.embedUrl);if("string"!=typeof t||0===t.length)throw new Error("Tile id is required, but it was not found. You must provide an id either as part of embed configuration.");return t},e.prototype.validate=function(t){var e=t;return(0,n.validateTileLoad)(e)},e.prototype.configChanged=function(t){t||(this.config.id=this.getId())},e.prototype.getDefaultEmbedUrlEndpoint=function(){return"tileEmbed"},e.findIdFromEmbedUrl=function(t){var e,r=t.match(/tileId="?([^&]+)"?/);return r&&(e=r[1]),e},e.type="Tile",e.allowedEvents=["tileClicked","tileLoaded"],e}(r(1).Embed);e.Tile=o},function(t,e,r){var i,a=this&&this.__extends||(i=function(t,e){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])})(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}),n=this&&this.__awaiter||function(t,e,r,i){return new(r||(r=Promise))((function(a,n){function o(t){try{s(i.next(t))}catch(t){n(t)}}function l(t){try{s(i.throw(t))}catch(t){n(t)}}function s(t){var e;t.done?a(t.value):(e=t.value,e instanceof r?e:new r((function(t){t(e)}))).then(o,l)}s((i=i.apply(t,e||[])).next())}))},o=this&&this.__generator||function(t,e){var r,i,a,n,o={label:0,sent:function(){if(1&a[0])throw a[1];return a[1]},trys:[],ops:[]};return n={next:l(0),throw:l(1),return:l(2)},"function"==typeof Symbol&&(n[Symbol.iterator]=function(){return this}),n;function l(n){return function(l){return function(n){if(r)throw new TypeError("Generator is already executing.");for(;o;)try{if(r=1,i&&(a=2&n[0]?i.return:n[0]?i.throw||((a=i.return)&&a.call(i),0):i.next)&&!(a=a.call(i,n[1])).done)return a;switch(i=0,a&&(n=[2&n[0],a.value]),n[0]){case 0:case 1:a=n;break;case 4:return o.label++,{value:n[1],done:!1};case 5:o.label++,i=n[1],n=[0];continue;case 7:n=o.ops.pop(),o.trys.pop();continue;default:if(!(a=o.trys,(a=a.length>0&&a[a.length-1])||6!==n[0]&&2!==n[0])){o=0;continue}if(3===n[0]&&(!a||n[1]>a[0]&&n[1]0&&a[a.length-1])||6!==n[0]&&2!==n[0])){o=0;continue}if(3===n[0]&&(!a||n[1]>a[0]&&n[1]0&&a[a.length-1])||6!==n[0]&&2!==n[0])){o=0;continue}if(3===n[0]&&(!a||n[1]>a[0]&&n[1]0&&a[a.length-1])||6!==n[0]&&2!==n[0])){o=0;continue}if(3===n[0]&&(!a||n[1]>a[0]&&n[1]0&&a[a.length-1])||6!==n[0]&&2!==n[0])){o=0;continue}if(3===n[0]&&(!a||n[1]>a[0]&&n[1]=n)return t;switch(t){case"%s":return String(i[r++]);case"%d":return Number(i[r++]);case"%j":try{return JSON.stringify(i[r++])}catch(t){return"[Circular]"}default:return t}})),s=i[r];r=3&&(i.depth=arguments[2]),arguments.length>=4&&(i.colors=arguments[3]),h(r)?i.showHidden=r:r&&e._extend(i,r),V(i.showHidden)&&(i.showHidden=!1),V(i.depth)&&(i.depth=2),V(i.colors)&&(i.colors=!1),V(i.customInspect)&&(i.customInspect=!0),i.colors&&(i.stylize=s),d(i,t,i.depth)}function s(t,e){var r=l.styles[e];return r?"["+l.colors[r][0]+"m"+t+"["+l.colors[r][1]+"m":t}function u(t,e){return t}function d(t,r,i){if(t.customInspect&&r&&S(r.inspect)&&r.inspect!==e.inspect&&(!r.constructor||r.constructor.prototype!==r)){var a=r.inspect(i,t);return m(a)||(a=d(t,a,i)),a}var n=function(t,e){if(V(e))return t.stylize("undefined","undefined");if(m(e)){var r="'"+JSON.stringify(e).replace(/^"|"$/g,"").replace(/'/g,"\\'").replace(/\\"/g,'"')+"'";return t.stylize(r,"string")}if(y(e))return t.stylize(""+e,"number");if(h(e))return t.stylize(""+e,"boolean");if(v(e))return t.stylize("null","null")}(t,r);if(n)return n;var o=Object.keys(r),l=function(t){var e={};return t.forEach((function(t,r){e[t]=!0})),e}(o);if(t.showHidden&&(o=Object.getOwnPropertyNames(r)),O(r)&&(o.indexOf("message")>=0||o.indexOf("description")>=0))return c(r);if(0===o.length){if(S(r)){var s=r.name?": "+r.name:"";return t.stylize("[Function"+s+"]","special")}if(g(r))return t.stylize(RegExp.prototype.toString.call(r),"regexp");if(w(r))return t.stylize(Date.prototype.toString.call(r),"date");if(O(r))return c(r)}var u,b="",P=!1,_=["{","}"];(f(r)&&(P=!0,_=["[","]"]),S(r))&&(b=" [Function"+(r.name?": "+r.name:"")+"]");return g(r)&&(b=" "+RegExp.prototype.toString.call(r)),w(r)&&(b=" "+Date.prototype.toUTCString.call(r)),O(r)&&(b=" "+c(r)),0!==o.length||P&&0!=r.length?i<0?g(r)?t.stylize(RegExp.prototype.toString.call(r),"regexp"):t.stylize("[Object]","special"):(t.seen.push(r),u=P?function(t,e,r,i,a){for(var n=[],o=0,l=e.length;o=0&&0,t+e.replace(/\u001b\[\d\d?m/g,"").length+1}),0)>60)return r[0]+(""===e?"":e+"\n ")+" "+t.join(",\n ")+" "+r[1];return r[0]+e+" "+t.join(", ")+" "+r[1]}(u,b,_)):_[0]+b+_[1]}function c(t){return"["+Error.prototype.toString.call(t)+"]"}function p(t,e,r,i,a,n){var o,l,s;if((s=Object.getOwnPropertyDescriptor(e,a)||{value:e[a]}).get?l=s.set?t.stylize("[Getter/Setter]","special"):t.stylize("[Getter]","special"):s.set&&(l=t.stylize("[Setter]","special")),F(i,a)||(o="["+a+"]"),l||(t.seen.indexOf(s.value)<0?(l=v(r)?d(t,s.value,null):d(t,s.value,r-1)).indexOf("\n")>-1&&(l=n?l.split("\n").map((function(t){return" "+t})).join("\n").substr(2):"\n"+l.split("\n").map((function(t){return" "+t})).join("\n")):l=t.stylize("[Circular]","special")),V(o)){if(n&&a.match(/^\d+$/))return l;(o=JSON.stringify(""+a)).match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/)?(o=o.substr(1,o.length-2),o=t.stylize(o,"name")):(o=o.replace(/'/g,"\\'").replace(/\\"/g,'"').replace(/(^"|"$)/g,"'"),o=t.stylize(o,"string"))}return o+": "+l}function f(t){return Array.isArray(t)}function h(t){return"boolean"==typeof t}function v(t){return null===t}function y(t){return"number"==typeof t}function m(t){return"string"==typeof t}function V(t){return void 0===t}function g(t){return b(t)&&"[object RegExp]"===P(t)}function b(t){return"object"==typeof t&&null!==t}function w(t){return b(t)&&"[object Date]"===P(t)}function O(t){return b(t)&&("[object Error]"===P(t)||t instanceof Error)}function S(t){return"function"==typeof t}function P(t){return Object.prototype.toString.call(t)}function _(t){return t<10?"0"+t.toString(10):t.toString(10)}e.debuglog=function(r){if(V(n)&&(n=t.env.NODE_DEBUG||""),r=r.toUpperCase(),!o[r])if(new RegExp("\\b"+r+"\\b","i").test(n)){var i=t.pid;o[r]=function(){var t=e.format.apply(e,arguments);console.error("%s %d: %s",r,i,t)}}else o[r]=function(){};return o[r]},e.inspect=l,l.colors={bold:[1,22],italic:[3,23],underline:[4,24],inverse:[7,27],white:[37,39],grey:[90,39],black:[30,39],blue:[34,39],cyan:[36,39],green:[32,39],magenta:[35,39],red:[31,39],yellow:[33,39]},l.styles={special:"cyan",number:"yellow",boolean:"yellow",undefined:"grey",null:"bold",string:"green",date:"magenta",regexp:"red"},e.isArray=f,e.isBoolean=h,e.isNull=v,e.isNullOrUndefined=function(t){return null==t},e.isNumber=y,e.isString=m,e.isSymbol=function(t){return"symbol"==typeof t},e.isUndefined=V,e.isRegExp=g,e.isObject=b,e.isDate=w,e.isError=O,e.isFunction=S,e.isPrimitive=function(t){return null===t||"boolean"==typeof t||"number"==typeof t||"string"==typeof t||"symbol"==typeof t||void 0===t},e.isBuffer=r(22);var T=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];function E(){var t=new Date,e=[_(t.getHours()),_(t.getMinutes()),_(t.getSeconds())].join(":");return[t.getDate(),T[t.getMonth()],e].join(" ")}function F(t,e){return Object.prototype.hasOwnProperty.call(t,e)}e.log=function(){console.log("%s - %s",E(),e.format.apply(e,arguments))},e.inherits=r(23),e._extend=function(t,e){if(!e||!b(e))return t;for(var r=Object.keys(e),i=r.length;i--;)t[r[i]]=e[r[i]];return t};var x="undefined"!=typeof Symbol?Symbol("util.promisify.custom"):void 0;function C(t,e){if(!t){var r=new Error("Promise was rejected with a falsy value");r.reason=t,t=r}return e(t)}e.promisify=function(t){if("function"!=typeof t)throw new TypeError('The "original" argument must be of type Function');if(x&&t[x]){var e;if("function"!=typeof(e=t[x]))throw new TypeError('The "util.promisify.custom" argument must be of type Function');return Object.defineProperty(e,x,{value:e,enumerable:!1,writable:!1,configurable:!0}),e}function e(){for(var e,r,i=new Promise((function(t,i){e=t,r=i})),a=[],n=0;n1)for(var r=1;r0&&a[a.length-1])||6!==n[0]&&2!==n[0])){o=0;continue}if(3===n[0]&&(!a||n[1]>a[0]&&n[1]=n)return t;switch(t){case"%s":return String(i[r++]);case"%d":return Number(i[r++]);case"%j":try{return JSON.stringify(i[r++])}catch(t){return"[Circular]"}default:return t}})),s=i[r];r=3&&(i.depth=arguments[2]),arguments.length>=4&&(i.colors=arguments[3]),h(r)?i.showHidden=r:r&&e._extend(i,r),V(i.showHidden)&&(i.showHidden=!1),V(i.depth)&&(i.depth=2),V(i.colors)&&(i.colors=!1),V(i.customInspect)&&(i.customInspect=!0),i.colors&&(i.stylize=s),d(i,t,i.depth)}function s(t,e){var r=l.styles[e];return r?"["+l.colors[r][0]+"m"+t+"["+l.colors[r][1]+"m":t}function u(t,e){return t}function d(t,r,i){if(t.customInspect&&r&&S(r.inspect)&&r.inspect!==e.inspect&&(!r.constructor||r.constructor.prototype!==r)){var a=r.inspect(i,t);return m(a)||(a=d(t,a,i)),a}var n=function(t,e){if(V(e))return t.stylize("undefined","undefined");if(m(e)){var r="'"+JSON.stringify(e).replace(/^"|"$/g,"").replace(/'/g,"\\'").replace(/\\"/g,'"')+"'";return t.stylize(r,"string")}if(y(e))return t.stylize(""+e,"number");if(h(e))return t.stylize(""+e,"boolean");if(v(e))return t.stylize("null","null")}(t,r);if(n)return n;var o=Object.keys(r),l=function(t){var e={};return t.forEach((function(t,r){e[t]=!0})),e}(o);if(t.showHidden&&(o=Object.getOwnPropertyNames(r)),O(r)&&(o.indexOf("message")>=0||o.indexOf("description")>=0))return c(r);if(0===o.length){if(S(r)){var s=r.name?": "+r.name:"";return t.stylize("[Function"+s+"]","special")}if(g(r))return t.stylize(RegExp.prototype.toString.call(r),"regexp");if(w(r))return t.stylize(Date.prototype.toString.call(r),"date");if(O(r))return c(r)}var u,b="",P=!1,_=["{","}"];(f(r)&&(P=!0,_=["[","]"]),S(r))&&(b=" [Function"+(r.name?": "+r.name:"")+"]");return g(r)&&(b=" "+RegExp.prototype.toString.call(r)),w(r)&&(b=" "+Date.prototype.toUTCString.call(r)),O(r)&&(b=" "+c(r)),0!==o.length||P&&0!=r.length?i<0?g(r)?t.stylize(RegExp.prototype.toString.call(r),"regexp"):t.stylize("[Object]","special"):(t.seen.push(r),u=P?function(t,e,r,i,a){for(var n=[],o=0,l=e.length;o=0&&0,t+e.replace(/\u001b\[\d\d?m/g,"").length+1}),0)>60)return r[0]+(""===e?"":e+"\n ")+" "+t.join(",\n ")+" "+r[1];return r[0]+e+" "+t.join(", ")+" "+r[1]}(u,b,_)):_[0]+b+_[1]}function c(t){return"["+Error.prototype.toString.call(t)+"]"}function p(t,e,r,i,a,n){var o,l,s;if((s=Object.getOwnPropertyDescriptor(e,a)||{value:e[a]}).get?l=s.set?t.stylize("[Getter/Setter]","special"):t.stylize("[Getter]","special"):s.set&&(l=t.stylize("[Setter]","special")),F(i,a)||(o="["+a+"]"),l||(t.seen.indexOf(s.value)<0?(l=v(r)?d(t,s.value,null):d(t,s.value,r-1)).indexOf("\n")>-1&&(l=n?l.split("\n").map((function(t){return" "+t})).join("\n").substr(2):"\n"+l.split("\n").map((function(t){return" "+t})).join("\n")):l=t.stylize("[Circular]","special")),V(o)){if(n&&a.match(/^\d+$/))return l;(o=JSON.stringify(""+a)).match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/)?(o=o.substr(1,o.length-2),o=t.stylize(o,"name")):(o=o.replace(/'/g,"\\'").replace(/\\"/g,'"').replace(/(^"|"$)/g,"'"),o=t.stylize(o,"string"))}return o+": "+l}function f(t){return Array.isArray(t)}function h(t){return"boolean"==typeof t}function v(t){return null===t}function y(t){return"number"==typeof t}function m(t){return"string"==typeof t}function V(t){return void 0===t}function g(t){return b(t)&&"[object RegExp]"===P(t)}function b(t){return"object"==typeof t&&null!==t}function w(t){return b(t)&&"[object Date]"===P(t)}function O(t){return b(t)&&("[object Error]"===P(t)||t instanceof Error)}function S(t){return"function"==typeof t}function P(t){return Object.prototype.toString.call(t)}function _(t){return t<10?"0"+t.toString(10):t.toString(10)}e.debuglog=function(r){if(V(n)&&(n=t.env.NODE_DEBUG||""),r=r.toUpperCase(),!o[r])if(new RegExp("\\b"+r+"\\b","i").test(n)){var i=t.pid;o[r]=function(){var t=e.format.apply(e,arguments);console.error("%s %d: %s",r,i,t)}}else o[r]=function(){};return o[r]},e.inspect=l,l.colors={bold:[1,22],italic:[3,23],underline:[4,24],inverse:[7,27],white:[37,39],grey:[90,39],black:[30,39],blue:[34,39],cyan:[36,39],green:[32,39],magenta:[35,39],red:[31,39],yellow:[33,39]},l.styles={special:"cyan",number:"yellow",boolean:"yellow",undefined:"grey",null:"bold",string:"green",date:"magenta",regexp:"red"},e.isArray=f,e.isBoolean=h,e.isNull=v,e.isNullOrUndefined=function(t){return null==t},e.isNumber=y,e.isString=m,e.isSymbol=function(t){return"symbol"==typeof t},e.isUndefined=V,e.isRegExp=g,e.isObject=b,e.isDate=w,e.isError=O,e.isFunction=S,e.isPrimitive=function(t){return null===t||"boolean"==typeof t||"number"==typeof t||"string"==typeof t||"symbol"==typeof t||void 0===t},e.isBuffer=r(22);var E=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];function T(){var t=new Date,e=[_(t.getHours()),_(t.getMinutes()),_(t.getSeconds())].join(":");return[t.getDate(),E[t.getMonth()],e].join(" ")}function F(t,e){return Object.prototype.hasOwnProperty.call(t,e)}e.log=function(){console.log("%s - %s",T(),e.format.apply(e,arguments))},e.inherits=r(23),e._extend=function(t,e){if(!e||!b(e))return t;for(var r=Object.keys(e),i=r.length;i--;)t[r[i]]=e[r[i]];return t};var C="undefined"!=typeof Symbol?Symbol("util.promisify.custom"):void 0;function x(t,e){if(!t){var r=new Error("Promise was rejected with a falsy value");r.reason=t,t=r}return e(t)}e.promisify=function(t){if("function"!=typeof t)throw new TypeError('The "original" argument must be of type Function');if(C&&t[C]){var e;if("function"!=typeof(e=t[C]))throw new TypeError('The "util.promisify.custom" argument must be of type Function');return Object.defineProperty(e,C,{value:e,enumerable:!1,writable:!1,configurable:!0}),e}function e(){for(var e,r,i=new Promise((function(t,i){e=t,r=i})),a=[],n=0;n1)for(var r=1;r0&&a[a.length-1])||6!==n[0]&&2!==n[0])){o=0;continue}if(3===n[0]&&(!a||n[1]>a[0]&&n[1] Embed; + /** * The Power BI Service embed component, which is the entry point to embed all other Power BI components into your application * @@ -134,7 +139,7 @@ export class Service implements IService { /** The Configuration object for the service*/ private config: IServiceConfiguration; - /** A list of Dashboard, Report and Tile components that have been embedded using this service instance. */ + /** A list of Power BI components that have been embedded using this service instance. */ private embeds: Embed[]; /** TODO: Look for way to make hpm private without sacrificing ease of maintenance. This should be private but in embed needs to call methods. @@ -150,6 +155,11 @@ export class Service implements IService { router: Router; private uniqueSessionId: string; + /** + * @hidden + */ + private registeredComponents: { [componentType: string]: EmbedComponentFactory } = {}; + /** * Creates an instance of a Power BI Service. * @@ -395,6 +405,8 @@ export class Service implements IService { * @private * @param {IPowerBiElement} element * @param {IEmbedConfigurationBase} config + * @param {boolean} phasedRender + * @param {boolean} isBootstrap * @returns {Embed} * @hidden */ @@ -408,18 +420,40 @@ export class Service implements IService { // Saves the type as part of the configuration so that it can be referenced later at a known location. config.type = componentType; - const Component = utils.find((embedComponent) => componentType === embedComponent.type.toLowerCase(), Service.components); - if (!Component) { - throw new Error(`Attempted to embed component of type: ${componentType} but did not find any matching component. Please verify the type you specified is intended.`); - } - - const component = new Component(this, element, config, phasedRender, isBootstrap); + const component = this.createEmbedComponent(componentType, element, config, phasedRender, isBootstrap); element.powerBiEmbed = component; this.addOrOverwriteEmbed(component, element); return component; } + /** + * Given component type, creates embed component instance + * + * @private + * @param {string} componentType + * @param {HTMLElement} element + * @param {IEmbedConfigurationBase} config + * @param {boolean} phasedRender + * @param {boolean} isBootstrap + * @returns {Embed} + * @hidden + */ + private createEmbedComponent(componentType: string, element: HTMLElement, config: IEmbedConfigurationBase, phasedRender?: boolean, isBootstrap?: boolean): Embed { + const Component = utils.find((embedComponent) => componentType === embedComponent.type.toLowerCase(), Service.components); + if (Component) { + return new Component(this, element, config, phasedRender, isBootstrap); + } + + // If component type is not legacy, search in registered components + const registeredComponent = utils.find((registeredComponentType) => componentType.toLowerCase() === registeredComponentType.toLowerCase(), Object.keys(this.registeredComponents)); + if (!registeredComponent) { + throw new Error(`Attempted to embed component of type: ${componentType} but did not find any matching component. Please verify the type you specified is intended.`); + } + + return this.registeredComponents[registeredComponent](this, element, config, phasedRender, isBootstrap); + } + /** * Given an element that already contains an embed component, load with a new configuration. * @@ -521,7 +555,7 @@ export class Service implements IService { */ addOrOverwriteEmbed(component: Embed, element: HTMLElement): void { // remove embeds over the same div element. - this.embeds = this.embeds.filter(function(embed) { + this.embeds = this.embeds.filter(function (embed) { return embed.element !== element; }); @@ -663,4 +697,41 @@ export class Service implements IService { this.hpm.defaultHeaders['x-sdk-type'] = type; this.hpm.defaultHeaders['x-sdk-wrapper-version'] = version; } + + /** + * API for registering external components + * + * @hidden + * @param {string} componentType + * @param {EmbedComponentFactory} embedComponentFactory + * @param {string[]} routerEventUrls + */ + register(componentType: string, embedComponentFactory: EmbedComponentFactory, routerEventUrls: string[]): void { + if (utils.find((embedComponent) => componentType.toLowerCase() === embedComponent.type.toLowerCase(), Service.components)) { + throw new Error('The component name is reserved. Cannot register a component with this name.'); + } + + if (utils.find((registeredComponentType) => componentType.toLowerCase() === registeredComponentType.toLowerCase(), Object.keys(this.registeredComponents))) { + throw new Error('A component with this type is already registered.'); + } + + this.registeredComponents[componentType] = embedComponentFactory; + + routerEventUrls.forEach(url => { + if (!url.includes(':uniqueId') || !url.includes(':eventName')) { + throw new Error('Invalid router event URL'); + } + + this.router.post(url, (req, _res) => { + const event: IEvent = { + type: componentType, + id: req.params.uniqueId as string, + name: req.params.eventName as string, + value: req.body + }; + + this.handleEvent(event); + }); + }); + } } diff --git a/test/service.spec.ts b/test/service.spec.ts index b03b4ec5..d135b76b 100644 --- a/test/service.spec.ts +++ b/test/service.spec.ts @@ -1059,7 +1059,8 @@ describe('service', function () { datasetCreateConfig: { locale: "fakeLocale", mashupDocument: "fakeMashup", - }}); + } + }); }; // Assert @@ -1074,7 +1075,7 @@ describe('service', function () { // Act const attemptCreate = (): void => { powerbi.quickCreate(component[0], { - embedUrl: null, + embedUrl: null, accessToken: accessToken, datasetCreateConfig: { locale: "fakeLocale", @@ -1103,7 +1104,8 @@ describe('service', function () { datasetCreateConfig: { locale: "fakeLocale", mashupDocument: "fakeMashup", - }}); + } + }); }; // Assert @@ -1113,4 +1115,53 @@ describe('service', function () { powerbi.accessToken = originalToken; }); }); + + describe('register components', function () { + const registeredComponentType = 'fakeType'; + const embedConfig = { + type: registeredComponentType, + accessToken: "fakeAccessToken", + embedUrl: "fakeEmbedUrl", + id: "fakeReportId" + }; + const createComponentFunc = (service, element, config): report.Report => new report.Report(service, element, config); + const event = { + type: registeredComponentType, + id: 'fakeId', + name: 'fakeName', + value: 'fakeValue' + }; + const routerEventUrls = ['/fakeComponent/:uniqueId/events/:eventName']; + + it('happy path: register new component and then successfully embed', function () { + powerbi.register(registeredComponentType, createComponentFunc, routerEventUrls); + const myComponent = powerbi.embed(element, embedConfig); + expect(myComponent).toBeDefined(); + }); + + it('should throw error if registering a component with legacy component type', function () { + const attemptEmbed = (): void => { + powerbi.register('report', createComponentFunc, routerEventUrls); + }; + + expect(attemptEmbed).toThrowError(Error, 'The component name is reserved. Cannot register a component with this name.'); + }); + + it('should throw error if registering a component with existing type', function () { + powerbi.register(registeredComponentType, createComponentFunc, routerEventUrls); + const attemptEmbed = (): void => { + powerbi.register(registeredComponentType, createComponentFunc, routerEventUrls); + }; + + expect(attemptEmbed).toThrowError(Error, 'A component with this type is already registered.'); + }); + + it('should throw error if registering a component with invalid router event url', function () { + const attemptEmbed = (): void => { + powerbi.register(registeredComponentType, createComponentFunc, ['/fakeComponent/:invalidUniqueId/events/:eventName']); + }; + + expect(attemptEmbed).toThrowError(Error, 'Invalid router event URL'); + }); + }); }); From e7638e941d9a65bc9d6d146b915a61006cca89d2 Mon Sep 17 00:00:00 2001 From: Atharva Bapat Date: Thu, 19 Jan 2023 05:45:48 +0000 Subject: [PATCH 107/125] Merged PR 342570: [PBI JS]: Fix npm vulnerabilities 1. Updated vulnerable packages 2. Update webpack config devtool value to false which is equivalent to none of the lower versions Related work items: #978292, #982650, #986527, #988932 --- .gitignore | 1 + dist/powerbi.js | 3678 ++++++++++++------------------------------- dist/powerbi.min.js | 20 +- gulpfile.js | 2 +- package.json | 19 +- src/quickCreate.ts | 2 - src/report.ts | 2 - 7 files changed, 1004 insertions(+), 2720 deletions(-) diff --git a/.gitignore b/.gitignore index 75dcda63..47ea4ce3 100644 --- a/.gitignore +++ b/.gitignore @@ -10,3 +10,4 @@ dist/powerbi.js.map package-lock.json demo/package-lock.json .vscode +dist/powerbi.js.LICENSE.min.txt \ No newline at end of file diff --git a/dist/powerbi.js b/dist/powerbi.js index a4645368..4e0d4d67 100644 --- a/dist/powerbi.js +++ b/dist/powerbi.js @@ -10,620 +10,15 @@ exports["powerbi-client"] = factory(); else root["powerbi-client"] = factory(); -})(this, function() { -return /******/ (function(modules) { // webpackBootstrap -/******/ // The module cache -/******/ var installedModules = {}; -/******/ -/******/ // The require function -/******/ function __webpack_require__(moduleId) { -/******/ -/******/ // Check if module is in cache -/******/ if(installedModules[moduleId]) { -/******/ return installedModules[moduleId].exports; -/******/ } -/******/ // Create a new module (and put it into the cache) -/******/ var module = installedModules[moduleId] = { -/******/ 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.l = true; -/******/ -/******/ // Return the exports of the module -/******/ return module.exports; -/******/ } -/******/ -/******/ -/******/ // expose the modules object (__webpack_modules__) -/******/ __webpack_require__.m = modules; -/******/ -/******/ // 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__(__webpack_require__.s = "./src/powerbi-client.ts"); -/******/ }) -/************************************************************************/ -/******/ ({ - -/***/ "./node_modules/assert/assert.js": -/*!***************************************!*\ - !*** ./node_modules/assert/assert.js ***! - \***************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -/* WEBPACK VAR INJECTION */(function(global) { - -var objectAssign = __webpack_require__(/*! object-assign */ "./node_modules/object-assign/index.js"); - -// compare and isBuffer taken from https://github.com/feross/buffer/blob/680e9e5e488f22aac27599a57dc844a6315928dd/index.js -// original notice: - -/*! - * The buffer module from node.js, for the browser. - * - * @author Feross Aboukhadijeh - * @license MIT - */ -function compare(a, b) { - if (a === b) { - return 0; - } - - var x = a.length; - var y = b.length; - - for (var i = 0, len = Math.min(x, y); i < len; ++i) { - if (a[i] !== b[i]) { - x = a[i]; - y = b[i]; - break; - } - } - - if (x < y) { - return -1; - } - if (y < x) { - return 1; - } - return 0; -} -function isBuffer(b) { - if (global.Buffer && typeof global.Buffer.isBuffer === 'function') { - return global.Buffer.isBuffer(b); - } - return !!(b != null && b._isBuffer); -} - -// based on node assert, original notice: -// NB: The URL to the CommonJS spec is kept just for tradition. -// node-assert has evolved a lot since then, both in API and behavior. - -// http://wiki.commonjs.org/wiki/Unit_Testing/1.0 -// -// THIS IS NOT TESTED NOR LIKELY TO WORK OUTSIDE V8! -// -// Originally from narwhal.js (http://narwhaljs.org) -// Copyright (c) 2009 Thomas Robinson <280north.com> -// -// Permission is hereby granted, free of charge, to any person obtaining a copy -// of this software and associated documentation files (the 'Software'), to -// deal in the Software without restriction, including without limitation the -// rights to use, copy, modify, merge, publish, distribute, sublicense, and/or -// sell copies of the Software, and to permit persons to whom the Software is -// furnished to do so, subject to the following conditions: -// -// The above copyright notice and this permission notice shall be included in -// all copies or substantial portions of the Software. -// -// THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -// AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN -// ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION -// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - -var util = __webpack_require__(/*! util/ */ "./node_modules/util/util.js"); -var hasOwn = Object.prototype.hasOwnProperty; -var pSlice = Array.prototype.slice; -var functionsHaveNames = (function () { - return function foo() {}.name === 'foo'; -}()); -function pToString (obj) { - return Object.prototype.toString.call(obj); -} -function isView(arrbuf) { - if (isBuffer(arrbuf)) { - return false; - } - if (typeof global.ArrayBuffer !== 'function') { - return false; - } - if (typeof ArrayBuffer.isView === 'function') { - return ArrayBuffer.isView(arrbuf); - } - if (!arrbuf) { - return false; - } - if (arrbuf instanceof DataView) { - return true; - } - if (arrbuf.buffer && arrbuf.buffer instanceof ArrayBuffer) { - return true; - } - return false; -} -// 1. The assert module provides functions that throw -// AssertionError's when particular conditions are not met. The -// assert module must conform to the following interface. - -var assert = module.exports = ok; - -// 2. The AssertionError is defined in assert. -// new assert.AssertionError({ message: message, -// actual: actual, -// expected: expected }) - -var regex = /\s*function\s+([^\(\s]*)\s*/; -// based on https://github.com/ljharb/function.prototype.name/blob/adeeeec8bfcc6068b187d7d9fb3d5bb1d3a30899/implementation.js -function getName(func) { - if (!util.isFunction(func)) { - return; - } - if (functionsHaveNames) { - return func.name; - } - var str = func.toString(); - var match = str.match(regex); - return match && match[1]; -} -assert.AssertionError = function AssertionError(options) { - this.name = 'AssertionError'; - this.actual = options.actual; - this.expected = options.expected; - this.operator = options.operator; - if (options.message) { - this.message = options.message; - this.generatedMessage = false; - } else { - this.message = getMessage(this); - this.generatedMessage = true; - } - var stackStartFunction = options.stackStartFunction || fail; - if (Error.captureStackTrace) { - Error.captureStackTrace(this, stackStartFunction); - } else { - // non v8 browsers so we can have a stacktrace - var err = new Error(); - if (err.stack) { - var out = err.stack; - - // try to strip useless frames - var fn_name = getName(stackStartFunction); - var idx = out.indexOf('\n' + fn_name); - if (idx >= 0) { - // once we have located the function frame - // we need to strip out everything before it (and its line) - var next_line = out.indexOf('\n', idx + 1); - out = out.substring(next_line + 1); - } - - this.stack = out; - } - } -}; - -// assert.AssertionError instanceof Error -util.inherits(assert.AssertionError, Error); - -function truncate(s, n) { - if (typeof s === 'string') { - return s.length < n ? s : s.slice(0, n); - } else { - return s; - } -} -function inspect(something) { - if (functionsHaveNames || !util.isFunction(something)) { - return util.inspect(something); - } - var rawname = getName(something); - var name = rawname ? ': ' + rawname : ''; - return '[Function' + name + ']'; -} -function getMessage(self) { - return truncate(inspect(self.actual), 128) + ' ' + - self.operator + ' ' + - truncate(inspect(self.expected), 128); -} - -// At present only the three keys mentioned above are used and -// understood by the spec. Implementations or sub modules can pass -// other keys to the AssertionError's constructor - they will be -// ignored. - -// 3. All of the following functions must throw an AssertionError -// when a corresponding condition is not met, with a message that -// may be undefined if not provided. All assertion methods provide -// both the actual and expected values to the assertion error for -// display purposes. - -function fail(actual, expected, message, operator, stackStartFunction) { - throw new assert.AssertionError({ - message: message, - actual: actual, - expected: expected, - operator: operator, - stackStartFunction: stackStartFunction - }); -} - -// EXTENSION! allows for well behaved errors defined elsewhere. -assert.fail = fail; - -// 4. Pure assertion tests whether a value is truthy, as determined -// by !!guard. -// assert.ok(guard, message_opt); -// This statement is equivalent to assert.equal(true, !!guard, -// message_opt);. To test strictly for the value true, use -// assert.strictEqual(true, guard, message_opt);. - -function ok(value, message) { - if (!value) fail(value, true, message, '==', assert.ok); -} -assert.ok = ok; - -// 5. The equality assertion tests shallow, coercive equality with -// ==. -// assert.equal(actual, expected, message_opt); - -assert.equal = function equal(actual, expected, message) { - if (actual != expected) fail(actual, expected, message, '==', assert.equal); -}; - -// 6. The non-equality assertion tests for whether two objects are not equal -// with != assert.notEqual(actual, expected, message_opt); - -assert.notEqual = function notEqual(actual, expected, message) { - if (actual == expected) { - fail(actual, expected, message, '!=', assert.notEqual); - } -}; - -// 7. The equivalence assertion tests a deep equality relation. -// assert.deepEqual(actual, expected, message_opt); - -assert.deepEqual = function deepEqual(actual, expected, message) { - if (!_deepEqual(actual, expected, false)) { - fail(actual, expected, message, 'deepEqual', assert.deepEqual); - } -}; - -assert.deepStrictEqual = function deepStrictEqual(actual, expected, message) { - if (!_deepEqual(actual, expected, true)) { - fail(actual, expected, message, 'deepStrictEqual', assert.deepStrictEqual); - } -}; - -function _deepEqual(actual, expected, strict, memos) { - // 7.1. All identical values are equivalent, as determined by ===. - if (actual === expected) { - return true; - } else if (isBuffer(actual) && isBuffer(expected)) { - return compare(actual, expected) === 0; - - // 7.2. If the expected value is a Date object, the actual value is - // equivalent if it is also a Date object that refers to the same time. - } else if (util.isDate(actual) && util.isDate(expected)) { - return actual.getTime() === expected.getTime(); - - // 7.3 If the expected value is a RegExp object, the actual value is - // equivalent if it is also a RegExp object with the same source and - // properties (`global`, `multiline`, `lastIndex`, `ignoreCase`). - } else if (util.isRegExp(actual) && util.isRegExp(expected)) { - return actual.source === expected.source && - actual.global === expected.global && - actual.multiline === expected.multiline && - actual.lastIndex === expected.lastIndex && - actual.ignoreCase === expected.ignoreCase; - - // 7.4. Other pairs that do not both pass typeof value == 'object', - // equivalence is determined by ==. - } else if ((actual === null || typeof actual !== 'object') && - (expected === null || typeof expected !== 'object')) { - return strict ? actual === expected : actual == expected; - - // If both values are instances of typed arrays, wrap their underlying - // ArrayBuffers in a Buffer each to increase performance - // This optimization requires the arrays to have the same type as checked by - // Object.prototype.toString (aka pToString). Never perform binary - // comparisons for Float*Arrays, though, since e.g. +0 === -0 but their - // bit patterns are not identical. - } else if (isView(actual) && isView(expected) && - pToString(actual) === pToString(expected) && - !(actual instanceof Float32Array || - actual instanceof Float64Array)) { - return compare(new Uint8Array(actual.buffer), - new Uint8Array(expected.buffer)) === 0; - - // 7.5 For all other Object pairs, including Array objects, equivalence is - // determined by having the same number of owned properties (as verified - // with Object.prototype.hasOwnProperty.call), the same set of keys - // (although not necessarily the same order), equivalent values for every - // corresponding key, and an identical 'prototype' property. Note: this - // accounts for both named and indexed properties on Arrays. - } else if (isBuffer(actual) !== isBuffer(expected)) { - return false; - } else { - memos = memos || {actual: [], expected: []}; - - var actualIndex = memos.actual.indexOf(actual); - if (actualIndex !== -1) { - if (actualIndex === memos.expected.indexOf(expected)) { - return true; - } - } - - memos.actual.push(actual); - memos.expected.push(expected); - - return objEquiv(actual, expected, strict, memos); - } -} - -function isArguments(object) { - return Object.prototype.toString.call(object) == '[object Arguments]'; -} - -function objEquiv(a, b, strict, actualVisitedObjects) { - if (a === null || a === undefined || b === null || b === undefined) - return false; - // if one is a primitive, the other must be same - if (util.isPrimitive(a) || util.isPrimitive(b)) - return a === b; - if (strict && Object.getPrototypeOf(a) !== Object.getPrototypeOf(b)) - return false; - var aIsArgs = isArguments(a); - var bIsArgs = isArguments(b); - if ((aIsArgs && !bIsArgs) || (!aIsArgs && bIsArgs)) - return false; - if (aIsArgs) { - a = pSlice.call(a); - b = pSlice.call(b); - return _deepEqual(a, b, strict); - } - var ka = objectKeys(a); - var kb = objectKeys(b); - var key, i; - // having the same number of owned properties (keys incorporates - // hasOwnProperty) - if (ka.length !== kb.length) - return false; - //the same set of keys (although not necessarily the same order), - ka.sort(); - kb.sort(); - //~~~cheap key test - for (i = ka.length - 1; i >= 0; i--) { - if (ka[i] !== kb[i]) - return false; - } - //equivalent values for every corresponding key, and - //~~~possibly expensive deep test - for (i = ka.length - 1; i >= 0; i--) { - key = ka[i]; - if (!_deepEqual(a[key], b[key], strict, actualVisitedObjects)) - return false; - } - return true; -} - -// 8. The non-equivalence assertion tests for any deep inequality. -// assert.notDeepEqual(actual, expected, message_opt); - -assert.notDeepEqual = function notDeepEqual(actual, expected, message) { - if (_deepEqual(actual, expected, false)) { - fail(actual, expected, message, 'notDeepEqual', assert.notDeepEqual); - } -}; - -assert.notDeepStrictEqual = notDeepStrictEqual; -function notDeepStrictEqual(actual, expected, message) { - if (_deepEqual(actual, expected, true)) { - fail(actual, expected, message, 'notDeepStrictEqual', notDeepStrictEqual); - } -} - - -// 9. The strict equality assertion tests strict equality, as determined by ===. -// assert.strictEqual(actual, expected, message_opt); - -assert.strictEqual = function strictEqual(actual, expected, message) { - if (actual !== expected) { - fail(actual, expected, message, '===', assert.strictEqual); - } -}; - -// 10. The strict non-equality assertion tests for strict inequality, as -// determined by !==. assert.notStrictEqual(actual, expected, message_opt); - -assert.notStrictEqual = function notStrictEqual(actual, expected, message) { - if (actual === expected) { - fail(actual, expected, message, '!==', assert.notStrictEqual); - } -}; - -function expectedException(actual, expected) { - if (!actual || !expected) { - return false; - } - - if (Object.prototype.toString.call(expected) == '[object RegExp]') { - return expected.test(actual); - } - - try { - if (actual instanceof expected) { - return true; - } - } catch (e) { - // Ignore. The instanceof check doesn't work for arrow functions. - } - - if (Error.isPrototypeOf(expected)) { - return false; - } - - return expected.call({}, actual) === true; -} - -function _tryBlock(block) { - var error; - try { - block(); - } catch (e) { - error = e; - } - return error; -} - -function _throws(shouldThrow, block, expected, message) { - var actual; - - if (typeof block !== 'function') { - throw new TypeError('"block" argument must be a function'); - } - - if (typeof expected === 'string') { - message = expected; - expected = null; - } - - actual = _tryBlock(block); - - message = (expected && expected.name ? ' (' + expected.name + ').' : '.') + - (message ? ' ' + message : '.'); - - if (shouldThrow && !actual) { - fail(actual, expected, 'Missing expected exception' + message); - } - - var userProvidedMessage = typeof message === 'string'; - var isUnwantedException = !shouldThrow && util.isError(actual); - var isUnexpectedException = !shouldThrow && actual && !expected; - - if ((isUnwantedException && - userProvidedMessage && - expectedException(actual, expected)) || - isUnexpectedException) { - fail(actual, expected, 'Got unwanted exception' + message); - } - - if ((shouldThrow && actual && expected && - !expectedException(actual, expected)) || (!shouldThrow && actual)) { - throw actual; - } -} - -// 11. Expected to throw an error: -// assert.throws(block, Error_opt, message_opt); - -assert.throws = function(block, /*optional*/error, /*optional*/message) { - _throws(true, block, error, message); -}; - -// EXTENSION! This is annoying to write outside this module. -assert.doesNotThrow = function(block, /*optional*/error, /*optional*/message) { - _throws(false, block, error, message); -}; - -assert.ifError = function(err) { if (err) throw err; }; - -// Expose a strict only variant of assert -function strict(value, message) { - if (!value) fail(value, true, message, '==', strict); -} -assert.strict = objectAssign(strict, assert, { - equal: assert.strictEqual, - deepEqual: assert.deepStrictEqual, - notEqual: assert.notStrictEqual, - notDeepEqual: assert.notDeepStrictEqual -}); -assert.strict.strict = assert.strict; - -var objectKeys = Object.keys || function (obj) { - var keys = []; - for (var key in obj) { - if (hasOwn.call(obj, key)) keys.push(key); - } - return keys; -}; - -/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./../webpack/buildin/global.js */ "./node_modules/webpack/buildin/global.js"))) - -/***/ }), +})(this, () => { +return /******/ (() => { // webpackBootstrap +/******/ var __webpack_modules__ = ({ /***/ "./node_modules/http-post-message/dist/httpPostMessage.js": /*!****************************************************************!*\ !*** ./node_modules/http-post-message/dist/httpPostMessage.js ***! \****************************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { +/***/ (function(module) { /*! http-post-message v0.2.3 | (c) 2016 Microsoft Corporation MIT */ (function webpackUniversalModuleDefinition(root, factory) { @@ -636,7 +31,7 @@ return /******/ (function(modules) { // webpackBootstrap /******/ var installedModules = {}; /******/ /******/ // The require function -/******/ function __webpack_require__(moduleId) { +/******/ function __nested_webpack_require_626__(moduleId) { /******/ /******/ // Check if module is in cache /******/ if(installedModules[moduleId]) @@ -650,7 +45,7 @@ return /******/ (function(modules) { // webpackBootstrap /******/ }; /******/ /******/ // Execute the module function -/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); +/******/ modules[moduleId].call(module.exports, module, module.exports, __nested_webpack_require_626__); /******/ /******/ // Flag the module as loaded /******/ module.loaded = true; @@ -661,16 +56,16 @@ return /******/ (function(modules) { // webpackBootstrap /******/ /******/ /******/ // expose the modules object (__webpack_modules__) -/******/ __webpack_require__.m = modules; +/******/ __nested_webpack_require_626__.m = modules; /******/ /******/ // expose the module cache -/******/ __webpack_require__.c = installedModules; +/******/ __nested_webpack_require_626__.c = installedModules; /******/ /******/ // __webpack_public_path__ -/******/ __webpack_require__.p = ""; +/******/ __nested_webpack_require_626__.p = ""; /******/ /******/ // Load entry module and return exports -/******/ return __webpack_require__(0); +/******/ return __nested_webpack_require_626__(0); /******/ }) /************************************************************************/ /******/ ([ @@ -800,116 +195,13 @@ return /******/ (function(modules) { // webpackBootstrap ; //# sourceMappingURL=httpPostMessage.js.map -/***/ }), - -/***/ "./node_modules/object-assign/index.js": -/*!*********************************************!*\ - !*** ./node_modules/object-assign/index.js ***! - \*********************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -/* -object-assign -(c) Sindre Sorhus -@license MIT -*/ - - -/* eslint-disable no-unused-vars */ -var getOwnPropertySymbols = Object.getOwnPropertySymbols; -var hasOwnProperty = Object.prototype.hasOwnProperty; -var propIsEnumerable = Object.prototype.propertyIsEnumerable; - -function toObject(val) { - if (val === null || val === undefined) { - throw new TypeError('Object.assign cannot be called with null or undefined'); - } - - return Object(val); -} - -function shouldUseNative() { - try { - if (!Object.assign) { - return false; - } - - // Detect buggy property enumeration order in older V8 versions. - - // https://bugs.chromium.org/p/v8/issues/detail?id=4118 - var test1 = new String('abc'); // eslint-disable-line no-new-wrappers - test1[5] = 'de'; - if (Object.getOwnPropertyNames(test1)[0] === '5') { - return false; - } - - // https://bugs.chromium.org/p/v8/issues/detail?id=3056 - var test2 = {}; - for (var i = 0; i < 10; i++) { - test2['_' + String.fromCharCode(i)] = i; - } - var order2 = Object.getOwnPropertyNames(test2).map(function (n) { - return test2[n]; - }); - if (order2.join('') !== '0123456789') { - return false; - } - - // https://bugs.chromium.org/p/v8/issues/detail?id=3056 - var test3 = {}; - 'abcdefghijklmnopqrst'.split('').forEach(function (letter) { - test3[letter] = letter; - }); - if (Object.keys(Object.assign({}, test3)).join('') !== - 'abcdefghijklmnopqrst') { - return false; - } - - return true; - } catch (err) { - // We don't expect any of the above to throw, but better to be safe. - return false; - } -} - -module.exports = shouldUseNative() ? Object.assign : function (target, source) { - var from; - var to = toObject(target); - var symbols; - - for (var s = 1; s < arguments.length; s++) { - from = Object(arguments[s]); - - for (var key in from) { - if (hasOwnProperty.call(from, key)) { - to[key] = from[key]; - } - } - - if (getOwnPropertySymbols) { - symbols = getOwnPropertySymbols(from); - for (var i = 0; i < symbols.length; i++) { - if (propIsEnumerable.call(from, symbols[i])) { - to[symbols[i]] = from[symbols[i]]; - } - } - } - } - - return to; -}; - - /***/ }), /***/ "./node_modules/powerbi-models/dist/models.js": /*!****************************************************!*\ !*** ./node_modules/powerbi-models/dist/models.js ***! \****************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { +/***/ (function(module) { // powerbi-models v1.12.3 // Copyright (c) Microsoft Corporation. @@ -922,7 +214,7 @@ module.exports = shouldUseNative() ? Object.assign : function (target, source) { return /******/ (() => { // webpackBootstrap /******/ var __webpack_modules__ = ([ /* 0 */ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { +/***/ (function(__unused_webpack_module, exports, __nested_webpack_require_612__) { // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. @@ -945,7 +237,7 @@ Object.defineProperty(exports, "__esModule", ({ value: true })); exports.SortDirection = exports.LegendPosition = exports.TextAlignment = exports.CommonErrorCodes = exports.BookmarksPlayMode = exports.ExportDataType = exports.QnaMode = exports.PageNavigationPosition = exports.DataCacheMode = exports.CredentialType = exports.isPercentOfGrandTotal = exports.isColumnAggr = exports.isHierarchyLevelAggr = exports.isHierarchyLevel = exports.isColumn = exports.isMeasure = exports.getFilterType = exports.isBasicFilterWithKeys = exports.isFilterKeyColumnsTarget = exports.HierarchyFilter = exports.AdvancedFilter = exports.TupleFilter = exports.IdentityFilter = exports.BasicFilterWithKeys = exports.BasicFilter = exports.RelativeTimeFilter = exports.RelativeDateFilter = exports.TopNFilter = exports.IncludeExcludeFilter = exports.NotSupportedFilter = exports.Filter = exports.RelativeDateOperators = exports.RelativeDateFilterTimeUnit = exports.FilterType = exports.FiltersLevel = exports.FiltersOperations = exports.MenuLocation = exports.ContrastMode = exports.TokenType = exports.ViewMode = exports.Permissions = exports.SectionVisibility = exports.ReportAlignment = exports.HyperlinkClickBehavior = exports.LayoutType = exports.VisualContainerDisplayMode = exports.BackgroundType = exports.DisplayOption = exports.PageSizeType = exports.TraceType = void 0; exports.validateCommandsSettings = exports.validateVisualSettings = exports.validateVisualHeader = exports.validateExportDataRequest = exports.validateQnaInterpretInputData = exports.validateLoadQnaConfiguration = exports.validateSaveAsParameters = exports.validateUpdateFiltersRequest = exports.validateFilter = exports.validatePage = exports.validateTileLoad = exports.validateDashboardLoad = exports.validateQuickCreate = exports.validateCreateReport = exports.validatePaginatedReportLoad = exports.validateReportLoad = exports.validateMenuGroupExtension = exports.validateExtension = exports.validateCustomPageSize = exports.validateVisualizationsPane = exports.validateSyncSlicersPane = exports.validateSelectionPane = exports.validatePageNavigationPane = exports.validateFieldsPane = exports.validateFiltersPane = exports.validateBookmarksPane = exports.validatePanes = exports.validateSettings = exports.validateCaptureBookmarkRequest = exports.validateApplyBookmarkStateRequest = exports.validateApplyBookmarkByNameRequest = exports.validateAddBookmarkRequest = exports.validatePlayBookmarkRequest = exports.validateSlicerState = exports.validateSlicer = exports.validateVisualSelector = exports.isIExtensionArray = exports.isIExtensions = exports.isGroupedMenuExtension = exports.isFlatMenuExtension = exports.isReportFiltersArray = exports.isOnLoadFilters = exports.VisualDataRoleKindPreference = exports.VisualDataRoleKind = exports.CommandDisplayOption = exports.SlicerTargetSelector = exports.VisualTypeSelector = exports.VisualSelector = exports.PageSelector = exports.Selector = void 0; exports.validateZoomLevel = exports.validateCustomTheme = void 0; -var validator_1 = __webpack_require__(1); +var validator_1 = __nested_webpack_require_612__(1); var TraceType; (function (TraceType) { TraceType[TraceType["Information"] = 0] = "Information"; @@ -1816,42 +1108,42 @@ exports.validateZoomLevel = validateZoomLevel; /***/ }), /* 1 */ -/***/ ((__unused_webpack_module, exports, __webpack_require__) => { +/***/ ((__unused_webpack_module, exports, __nested_webpack_require_44757__) => { // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. Object.defineProperty(exports, "__esModule", ({ value: true })); exports.Validators = void 0; -var barsValidator_1 = __webpack_require__(2); -var bookmarkValidator_1 = __webpack_require__(5); -var commandsSettingsValidator_1 = __webpack_require__(6); -var customThemeValidator_1 = __webpack_require__(7); -var dashboardLoadValidator_1 = __webpack_require__(8); -var datasetBindingValidator_1 = __webpack_require__(9); -var exportDataValidator_1 = __webpack_require__(10); -var extensionsValidator_1 = __webpack_require__(11); -var filtersValidator_1 = __webpack_require__(12); -var layoutValidator_1 = __webpack_require__(13); -var pageValidator_1 = __webpack_require__(14); -var panesValidator_1 = __webpack_require__(15); -var qnaValidator_1 = __webpack_require__(16); -var reportCreateValidator_1 = __webpack_require__(17); -var reportLoadValidator_1 = __webpack_require__(18); -var paginatedReportLoadValidator_1 = __webpack_require__(19); -var saveAsParametersValidator_1 = __webpack_require__(20); -var selectorsValidator_1 = __webpack_require__(21); -var settingsValidator_1 = __webpack_require__(22); -var slicersValidator_1 = __webpack_require__(23); -var tileLoadValidator_1 = __webpack_require__(24); -var visualSettingsValidator_1 = __webpack_require__(25); -var anyOfValidator_1 = __webpack_require__(26); -var fieldForbiddenValidator_1 = __webpack_require__(27); -var fieldRequiredValidator_1 = __webpack_require__(28); -var mapValidator_1 = __webpack_require__(29); -var typeValidator_1 = __webpack_require__(4); -var parameterPanelValidator_1 = __webpack_require__(30); -var datasetCreateConfigValidator_1 = __webpack_require__(31); -var quickCreateValidator_1 = __webpack_require__(32); +var barsValidator_1 = __nested_webpack_require_44757__(2); +var bookmarkValidator_1 = __nested_webpack_require_44757__(5); +var commandsSettingsValidator_1 = __nested_webpack_require_44757__(6); +var customThemeValidator_1 = __nested_webpack_require_44757__(7); +var dashboardLoadValidator_1 = __nested_webpack_require_44757__(8); +var datasetBindingValidator_1 = __nested_webpack_require_44757__(9); +var exportDataValidator_1 = __nested_webpack_require_44757__(10); +var extensionsValidator_1 = __nested_webpack_require_44757__(11); +var filtersValidator_1 = __nested_webpack_require_44757__(12); +var layoutValidator_1 = __nested_webpack_require_44757__(13); +var pageValidator_1 = __nested_webpack_require_44757__(14); +var panesValidator_1 = __nested_webpack_require_44757__(15); +var qnaValidator_1 = __nested_webpack_require_44757__(16); +var reportCreateValidator_1 = __nested_webpack_require_44757__(17); +var reportLoadValidator_1 = __nested_webpack_require_44757__(18); +var paginatedReportLoadValidator_1 = __nested_webpack_require_44757__(19); +var saveAsParametersValidator_1 = __nested_webpack_require_44757__(20); +var selectorsValidator_1 = __nested_webpack_require_44757__(21); +var settingsValidator_1 = __nested_webpack_require_44757__(22); +var slicersValidator_1 = __nested_webpack_require_44757__(23); +var tileLoadValidator_1 = __nested_webpack_require_44757__(24); +var visualSettingsValidator_1 = __nested_webpack_require_44757__(25); +var anyOfValidator_1 = __nested_webpack_require_44757__(26); +var fieldForbiddenValidator_1 = __nested_webpack_require_44757__(27); +var fieldRequiredValidator_1 = __nested_webpack_require_44757__(28); +var mapValidator_1 = __nested_webpack_require_44757__(29); +var typeValidator_1 = __nested_webpack_require_44757__(4); +var parameterPanelValidator_1 = __nested_webpack_require_44757__(30); +var datasetCreateConfigValidator_1 = __nested_webpack_require_44757__(31); +var quickCreateValidator_1 = __nested_webpack_require_44757__(32); exports.Validators = { addBookmarkRequestValidator: new bookmarkValidator_1.AddBookmarkRequestValidator(), advancedFilterTypeValidator: new typeValidator_1.EnumValidator([0]), @@ -2000,7 +1292,7 @@ exports.Validators = { /***/ }), /* 2 */ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { +/***/ (function(__unused_webpack_module, exports, __nested_webpack_require_61501__) { // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. @@ -2021,9 +1313,9 @@ var __extends = (this && this.__extends) || (function () { })(); Object.defineProperty(exports, "__esModule", ({ value: true })); exports.StatusBarValidator = exports.ActionBarValidator = exports.ReportBarsValidator = void 0; -var multipleFieldsValidator_1 = __webpack_require__(3); -var typeValidator_1 = __webpack_require__(4); -var validator_1 = __webpack_require__(1); +var multipleFieldsValidator_1 = __nested_webpack_require_61501__(3); +var typeValidator_1 = __nested_webpack_require_61501__(4); +var validator_1 = __nested_webpack_require_61501__(1); var ReportBarsValidator = /** @class */ (function (_super) { __extends(ReportBarsValidator, _super); function ReportBarsValidator() { @@ -2403,7 +1695,7 @@ exports.RangeValidator = RangeValidator; /***/ }), /* 5 */ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { +/***/ (function(__unused_webpack_module, exports, __nested_webpack_require_77380__) { // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. @@ -2424,9 +1716,9 @@ var __extends = (this && this.__extends) || (function () { })(); Object.defineProperty(exports, "__esModule", ({ value: true })); exports.CaptureBookmarkRequestValidator = exports.CaptureBookmarkOptionsValidator = exports.ApplyBookmarkStateRequestValidator = exports.ApplyBookmarkByNameRequestValidator = exports.AddBookmarkRequestValidator = exports.PlayBookmarkRequestValidator = void 0; -var multipleFieldsValidator_1 = __webpack_require__(3); -var typeValidator_1 = __webpack_require__(4); -var validator_1 = __webpack_require__(1); +var multipleFieldsValidator_1 = __nested_webpack_require_77380__(3); +var typeValidator_1 = __nested_webpack_require_77380__(4); +var validator_1 = __nested_webpack_require_77380__(1); var PlayBookmarkRequestValidator = /** @class */ (function (_super) { __extends(PlayBookmarkRequestValidator, _super); function PlayBookmarkRequestValidator() { @@ -2593,7 +1885,7 @@ exports.CaptureBookmarkRequestValidator = CaptureBookmarkRequestValidator; /***/ }), /* 6 */ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { +/***/ (function(__unused_webpack_module, exports, __nested_webpack_require_85856__) { // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. @@ -2614,9 +1906,9 @@ var __extends = (this && this.__extends) || (function () { })(); Object.defineProperty(exports, "__esModule", ({ value: true })); exports.PaginatedReportCommandsValidator = exports.SingleCommandSettingsValidator = exports.CommandsSettingsValidator = void 0; -var multipleFieldsValidator_1 = __webpack_require__(3); -var typeValidator_1 = __webpack_require__(4); -var validator_1 = __webpack_require__(1); +var multipleFieldsValidator_1 = __nested_webpack_require_85856__(3); +var typeValidator_1 = __nested_webpack_require_85856__(4); +var validator_1 = __nested_webpack_require_85856__(1); var CommandsSettingsValidator = /** @class */ (function (_super) { __extends(CommandsSettingsValidator, _super); function CommandsSettingsValidator() { @@ -2760,7 +2052,7 @@ exports.PaginatedReportCommandsValidator = PaginatedReportCommandsValidator; /***/ }), /* 7 */ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { +/***/ (function(__unused_webpack_module, exports, __nested_webpack_require_92889__) { // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. @@ -2781,8 +2073,8 @@ var __extends = (this && this.__extends) || (function () { })(); Object.defineProperty(exports, "__esModule", ({ value: true })); exports.CustomThemeValidator = void 0; -var multipleFieldsValidator_1 = __webpack_require__(3); -var typeValidator_1 = __webpack_require__(4); +var multipleFieldsValidator_1 = __nested_webpack_require_92889__(3); +var typeValidator_1 = __nested_webpack_require_92889__(4); var CustomThemeValidator = /** @class */ (function (_super) { __extends(CustomThemeValidator, _super); function CustomThemeValidator() { @@ -2812,7 +2104,7 @@ exports.CustomThemeValidator = CustomThemeValidator; /***/ }), /* 8 */ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { +/***/ (function(__unused_webpack_module, exports, __nested_webpack_require_95043__) { // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. @@ -2833,9 +2125,9 @@ var __extends = (this && this.__extends) || (function () { })(); Object.defineProperty(exports, "__esModule", ({ value: true })); exports.DashboardLoadValidator = void 0; -var multipleFieldsValidator_1 = __webpack_require__(3); -var typeValidator_1 = __webpack_require__(4); -var validator_1 = __webpack_require__(1); +var multipleFieldsValidator_1 = __nested_webpack_require_95043__(3); +var typeValidator_1 = __nested_webpack_require_95043__(4); +var validator_1 = __nested_webpack_require_95043__(1); var DashboardLoadValidator = /** @class */ (function (_super) { __extends(DashboardLoadValidator, _super); function DashboardLoadValidator() { @@ -2885,7 +2177,7 @@ exports.DashboardLoadValidator = DashboardLoadValidator; /***/ }), /* 9 */ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { +/***/ (function(__unused_webpack_module, exports, __nested_webpack_require_98042__) { // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. @@ -2906,9 +2198,9 @@ var __extends = (this && this.__extends) || (function () { })(); Object.defineProperty(exports, "__esModule", ({ value: true })); exports.DatasetBindingValidator = void 0; -var multipleFieldsValidator_1 = __webpack_require__(3); -var typeValidator_1 = __webpack_require__(4); -var validator_1 = __webpack_require__(1); +var multipleFieldsValidator_1 = __nested_webpack_require_98042__(3); +var typeValidator_1 = __nested_webpack_require_98042__(4); +var validator_1 = __nested_webpack_require_98042__(1); var DatasetBindingValidator = /** @class */ (function (_super) { __extends(DatasetBindingValidator, _super); function DatasetBindingValidator() { @@ -2938,7 +2230,7 @@ exports.DatasetBindingValidator = DatasetBindingValidator; /***/ }), /* 10 */ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { +/***/ (function(__unused_webpack_module, exports, __nested_webpack_require_100312__) { // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. @@ -2959,8 +2251,8 @@ var __extends = (this && this.__extends) || (function () { })(); Object.defineProperty(exports, "__esModule", ({ value: true })); exports.ExportDataRequestValidator = void 0; -var multipleFieldsValidator_1 = __webpack_require__(3); -var typeValidator_1 = __webpack_require__(4); +var multipleFieldsValidator_1 = __nested_webpack_require_100312__(3); +var typeValidator_1 = __nested_webpack_require_100312__(4); var ExportDataRequestValidator = /** @class */ (function (_super) { __extends(ExportDataRequestValidator, _super); function ExportDataRequestValidator() { @@ -2994,7 +2286,7 @@ exports.ExportDataRequestValidator = ExportDataRequestValidator; /***/ }), /* 11 */ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { +/***/ (function(__unused_webpack_module, exports, __nested_webpack_require_102656__) { // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. @@ -3015,9 +2307,9 @@ var __extends = (this && this.__extends) || (function () { })(); Object.defineProperty(exports, "__esModule", ({ value: true })); exports.ExtensionsValidator = exports.MenuGroupExtensionValidator = exports.ExtensionValidator = exports.CommandExtensionValidator = exports.ExtensionItemValidator = exports.ExtensionPointsValidator = exports.GroupedMenuExtensionValidator = exports.FlatMenuExtensionValidator = exports.MenuExtensionBaseValidator = void 0; -var multipleFieldsValidator_1 = __webpack_require__(3); -var typeValidator_1 = __webpack_require__(4); -var validator_1 = __webpack_require__(1); +var multipleFieldsValidator_1 = __nested_webpack_require_102656__(3); +var typeValidator_1 = __nested_webpack_require_102656__(4); +var validator_1 = __nested_webpack_require_102656__(1); var MenuExtensionBaseValidator = /** @class */ (function (_super) { __extends(MenuExtensionBaseValidator, _super); function MenuExtensionBaseValidator() { @@ -3287,7 +2579,7 @@ exports.ExtensionsValidator = ExtensionsValidator; /***/ }), /* 12 */ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { +/***/ (function(__unused_webpack_module, exports, __nested_webpack_require_115147__) { // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. @@ -3308,9 +2600,9 @@ var __extends = (this && this.__extends) || (function () { })(); Object.defineProperty(exports, "__esModule", ({ value: true })); exports.OnLoadFiltersValidator = exports.OnLoadFiltersBaseRemoveOperationValidator = exports.OnLoadFiltersBaseValidator = exports.ConditionItemValidator = exports.RemoveFiltersRequestValidator = exports.UpdateFiltersRequestValidator = exports.FilterValidator = exports.HierarchyFilterNodeValidator = exports.HierarchyFilterValidator = exports.IncludeExcludeFilterValidator = exports.NotSupportedFilterValidator = exports.TopNFilterValidator = exports.RelativeTimeFilterValidator = exports.RelativeDateFilterValidator = exports.RelativeDateTimeFilterValidator = exports.AdvancedFilterValidator = exports.BasicFilterValidator = exports.FilterValidatorBase = exports.FilterDisplaySettingsValidator = exports.FilterMeasureTargetValidator = exports.FilterKeyHierarchyTargetValidator = exports.FilterHierarchyTargetValidator = exports.FilterKeyColumnsTargetValidator = exports.FilterColumnTargetValidator = void 0; -var multipleFieldsValidator_1 = __webpack_require__(3); -var typeValidator_1 = __webpack_require__(4); -var validator_1 = __webpack_require__(1); +var multipleFieldsValidator_1 = __nested_webpack_require_115147__(3); +var typeValidator_1 = __nested_webpack_require_115147__(4); +var validator_1 = __nested_webpack_require_115147__(1); var FilterColumnTargetValidator = /** @class */ (function (_super) { __extends(FilterColumnTargetValidator, _super); function FilterColumnTargetValidator() { @@ -4056,7 +3348,7 @@ exports.OnLoadFiltersValidator = OnLoadFiltersValidator; /***/ }), /* 13 */ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { +/***/ (function(__unused_webpack_module, exports, __nested_webpack_require_149119__) { // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. @@ -4077,9 +3369,9 @@ var __extends = (this && this.__extends) || (function () { })(); Object.defineProperty(exports, "__esModule", ({ value: true })); exports.PageLayoutValidator = exports.DisplayStateValidator = exports.VisualLayoutValidator = exports.CustomLayoutValidator = void 0; -var multipleFieldsValidator_1 = __webpack_require__(3); -var typeValidator_1 = __webpack_require__(4); -var validator_1 = __webpack_require__(1); +var multipleFieldsValidator_1 = __nested_webpack_require_149119__(3); +var typeValidator_1 = __nested_webpack_require_149119__(4); +var validator_1 = __nested_webpack_require_149119__(1); var CustomLayoutValidator = /** @class */ (function (_super) { __extends(CustomLayoutValidator, _super); function CustomLayoutValidator() { @@ -4216,7 +3508,7 @@ exports.PageLayoutValidator = PageLayoutValidator; /***/ }), /* 14 */ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { +/***/ (function(__unused_webpack_module, exports, __nested_webpack_require_155598__) { // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. @@ -4237,9 +3529,9 @@ var __extends = (this && this.__extends) || (function () { })(); Object.defineProperty(exports, "__esModule", ({ value: true })); exports.PageViewFieldValidator = exports.PageValidator = exports.CustomPageSizeValidator = exports.PageSizeValidator = void 0; -var multipleFieldsValidator_1 = __webpack_require__(3); -var typeValidator_1 = __webpack_require__(4); -var validator_1 = __webpack_require__(1); +var multipleFieldsValidator_1 = __nested_webpack_require_155598__(3); +var typeValidator_1 = __nested_webpack_require_155598__(4); +var validator_1 = __nested_webpack_require_155598__(1); var PageSizeValidator = /** @class */ (function (_super) { __extends(PageSizeValidator, _super); function PageSizeValidator() { @@ -4347,7 +3639,7 @@ exports.PageViewFieldValidator = PageViewFieldValidator; /***/ }), /* 15 */ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { +/***/ (function(__unused_webpack_module, exports, __nested_webpack_require_161038__) { // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. @@ -4368,9 +3660,9 @@ var __extends = (this && this.__extends) || (function () { })(); Object.defineProperty(exports, "__esModule", ({ value: true })); exports.VisualizationsPaneValidator = exports.SyncSlicersPaneValidator = exports.SelectionPaneValidator = exports.PageNavigationPaneValidator = exports.FiltersPaneValidator = exports.FieldsPaneValidator = exports.BookmarksPaneValidator = exports.QnaPanesValidator = exports.ReportPanesValidator = void 0; -var multipleFieldsValidator_1 = __webpack_require__(3); -var typeValidator_1 = __webpack_require__(4); -var validator_1 = __webpack_require__(1); +var multipleFieldsValidator_1 = __nested_webpack_require_161038__(3); +var typeValidator_1 = __nested_webpack_require_161038__(4); +var validator_1 = __nested_webpack_require_161038__(1); var ReportPanesValidator = /** @class */ (function (_super) { __extends(ReportPanesValidator, _super); function ReportPanesValidator() { @@ -4632,7 +3924,7 @@ exports.VisualizationsPaneValidator = VisualizationsPaneValidator; /***/ }), /* 16 */ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { +/***/ (function(__unused_webpack_module, exports, __nested_webpack_require_172784__) { // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. @@ -4653,9 +3945,9 @@ var __extends = (this && this.__extends) || (function () { })(); Object.defineProperty(exports, "__esModule", ({ value: true })); exports.QnaInterpretInputDataValidator = exports.QnaSettingsValidator = exports.LoadQnaValidator = void 0; -var multipleFieldsValidator_1 = __webpack_require__(3); -var typeValidator_1 = __webpack_require__(4); -var validator_1 = __webpack_require__(1); +var multipleFieldsValidator_1 = __nested_webpack_require_172784__(3); +var typeValidator_1 = __nested_webpack_require_172784__(4); +var validator_1 = __nested_webpack_require_172784__(1); var LoadQnaValidator = /** @class */ (function (_super) { __extends(LoadQnaValidator, _super); function LoadQnaValidator() { @@ -4771,7 +4063,7 @@ exports.QnaInterpretInputDataValidator = QnaInterpretInputDataValidator; /***/ }), /* 17 */ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { +/***/ (function(__unused_webpack_module, exports, __nested_webpack_require_178495__) { // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. @@ -4792,9 +4084,9 @@ var __extends = (this && this.__extends) || (function () { })(); Object.defineProperty(exports, "__esModule", ({ value: true })); exports.ReportCreateValidator = void 0; -var multipleFieldsValidator_1 = __webpack_require__(3); -var typeValidator_1 = __webpack_require__(4); -var validator_1 = __webpack_require__(1); +var multipleFieldsValidator_1 = __nested_webpack_require_178495__(3); +var typeValidator_1 = __nested_webpack_require_178495__(4); +var validator_1 = __nested_webpack_require_178495__(1); var ReportCreateValidator = /** @class */ (function (_super) { __extends(ReportCreateValidator, _super); function ReportCreateValidator() { @@ -4840,7 +4132,7 @@ exports.ReportCreateValidator = ReportCreateValidator; /***/ }), /* 18 */ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { +/***/ (function(__unused_webpack_module, exports, __nested_webpack_require_181353__) { // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. @@ -4861,9 +4153,9 @@ var __extends = (this && this.__extends) || (function () { })(); Object.defineProperty(exports, "__esModule", ({ value: true })); exports.ReportLoadValidator = void 0; -var multipleFieldsValidator_1 = __webpack_require__(3); -var typeValidator_1 = __webpack_require__(4); -var validator_1 = __webpack_require__(1); +var multipleFieldsValidator_1 = __nested_webpack_require_181353__(3); +var typeValidator_1 = __nested_webpack_require_181353__(4); +var validator_1 = __nested_webpack_require_181353__(1); var ReportLoadValidator = /** @class */ (function (_super) { __extends(ReportLoadValidator, _super); function ReportLoadValidator() { @@ -4945,7 +4237,7 @@ exports.ReportLoadValidator = ReportLoadValidator; /***/ }), /* 19 */ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { +/***/ (function(__unused_webpack_module, exports, __nested_webpack_require_185474__) { // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. @@ -4966,9 +4258,9 @@ var __extends = (this && this.__extends) || (function () { })(); Object.defineProperty(exports, "__esModule", ({ value: true })); exports.ReportParameterFieldsValidator = exports.PaginatedReportLoadValidator = void 0; -var multipleFieldsValidator_1 = __webpack_require__(3); -var typeValidator_1 = __webpack_require__(4); -var validator_1 = __webpack_require__(1); +var multipleFieldsValidator_1 = __nested_webpack_require_185474__(3); +var typeValidator_1 = __nested_webpack_require_185474__(4); +var validator_1 = __nested_webpack_require_185474__(1); var PaginatedReportLoadValidator = /** @class */ (function (_super) { __extends(PaginatedReportLoadValidator, _super); function PaginatedReportLoadValidator() { @@ -5049,7 +4341,7 @@ exports.ReportParameterFieldsValidator = ReportParameterFieldsValidator; /***/ }), /* 20 */ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { +/***/ (function(__unused_webpack_module, exports, __nested_webpack_require_189798__) { // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. @@ -5070,9 +4362,9 @@ var __extends = (this && this.__extends) || (function () { })(); Object.defineProperty(exports, "__esModule", ({ value: true })); exports.SaveAsParametersValidator = void 0; -var multipleFieldsValidator_1 = __webpack_require__(3); -var typeValidator_1 = __webpack_require__(4); -var validator_1 = __webpack_require__(1); +var multipleFieldsValidator_1 = __nested_webpack_require_189798__(3); +var typeValidator_1 = __nested_webpack_require_189798__(4); +var validator_1 = __nested_webpack_require_189798__(1); var SaveAsParametersValidator = /** @class */ (function (_super) { __extends(SaveAsParametersValidator, _super); function SaveAsParametersValidator() { @@ -5102,7 +4394,7 @@ exports.SaveAsParametersValidator = SaveAsParametersValidator; /***/ }), /* 21 */ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { +/***/ (function(__unused_webpack_module, exports, __nested_webpack_require_192079__) { // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. @@ -5123,10 +4415,10 @@ var __extends = (this && this.__extends) || (function () { })(); Object.defineProperty(exports, "__esModule", ({ value: true })); exports.SlicerTargetSelectorValidator = exports.VisualTypeSelectorValidator = exports.VisualSelectorValidator = void 0; -var multipleFieldsValidator_1 = __webpack_require__(3); -var typeValidator_1 = __webpack_require__(4); -var typeValidator_2 = __webpack_require__(4); -var validator_1 = __webpack_require__(1); +var multipleFieldsValidator_1 = __nested_webpack_require_192079__(3); +var typeValidator_1 = __nested_webpack_require_192079__(4); +var typeValidator_2 = __nested_webpack_require_192079__(4); +var validator_1 = __nested_webpack_require_192079__(1); var VisualSelectorValidator = /** @class */ (function (_super) { __extends(VisualSelectorValidator, _super); function VisualSelectorValidator() { @@ -5219,7 +4511,7 @@ exports.SlicerTargetSelectorValidator = SlicerTargetSelectorValidator; /***/ }), /* 22 */ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { +/***/ (function(__unused_webpack_module, exports, __nested_webpack_require_197537__) { // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. @@ -5240,9 +4532,9 @@ var __extends = (this && this.__extends) || (function () { })(); Object.defineProperty(exports, "__esModule", ({ value: true })); exports.PaginatedReportSettingsValidator = exports.SettingsValidator = void 0; -var multipleFieldsValidator_1 = __webpack_require__(3); -var typeValidator_1 = __webpack_require__(4); -var validator_1 = __webpack_require__(1); +var multipleFieldsValidator_1 = __nested_webpack_require_197537__(3); +var typeValidator_1 = __nested_webpack_require_197537__(4); +var validator_1 = __nested_webpack_require_197537__(1); var SettingsValidator = /** @class */ (function (_super) { __extends(SettingsValidator, _super); function SettingsValidator() { @@ -5365,7 +4657,7 @@ exports.PaginatedReportSettingsValidator = PaginatedReportSettingsValidator; /***/ }), /* 23 */ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { +/***/ (function(__unused_webpack_module, exports, __nested_webpack_require_203384__) { // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. @@ -5386,9 +4678,9 @@ var __extends = (this && this.__extends) || (function () { })(); Object.defineProperty(exports, "__esModule", ({ value: true })); exports.SlicerStateValidator = exports.SlicerValidator = void 0; -var multipleFieldsValidator_1 = __webpack_require__(3); -var typeValidator_1 = __webpack_require__(4); -var validator_1 = __webpack_require__(1); +var multipleFieldsValidator_1 = __nested_webpack_require_203384__(3); +var typeValidator_1 = __nested_webpack_require_203384__(4); +var validator_1 = __nested_webpack_require_203384__(1); var SlicerValidator = /** @class */ (function (_super) { __extends(SlicerValidator, _super); function SlicerValidator() { @@ -5447,7 +4739,7 @@ exports.SlicerStateValidator = SlicerStateValidator; /***/ }), /* 24 */ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { +/***/ (function(__unused_webpack_module, exports, __nested_webpack_require_206814__) { // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. @@ -5468,9 +4760,9 @@ var __extends = (this && this.__extends) || (function () { })(); Object.defineProperty(exports, "__esModule", ({ value: true })); exports.TileLoadValidator = void 0; -var multipleFieldsValidator_1 = __webpack_require__(3); -var typeValidator_1 = __webpack_require__(4); -var validator_1 = __webpack_require__(1); +var multipleFieldsValidator_1 = __nested_webpack_require_206814__(3); +var typeValidator_1 = __nested_webpack_require_206814__(4); +var validator_1 = __nested_webpack_require_206814__(1); var TileLoadValidator = /** @class */ (function (_super) { __extends(TileLoadValidator, _super); function TileLoadValidator() { @@ -5528,7 +4820,7 @@ exports.TileLoadValidator = TileLoadValidator; /***/ }), /* 25 */ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { +/***/ (function(__unused_webpack_module, exports, __nested_webpack_require_210086__) { // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. @@ -5549,9 +4841,9 @@ var __extends = (this && this.__extends) || (function () { })(); Object.defineProperty(exports, "__esModule", ({ value: true })); exports.VisualHeaderValidator = exports.VisualHeaderSettingsValidator = exports.VisualSettingsValidator = void 0; -var multipleFieldsValidator_1 = __webpack_require__(3); -var typeValidator_1 = __webpack_require__(4); -var validator_1 = __webpack_require__(1); +var multipleFieldsValidator_1 = __nested_webpack_require_210086__(3); +var typeValidator_1 = __nested_webpack_require_210086__(4); +var validator_1 = __nested_webpack_require_210086__(1); var VisualSettingsValidator = /** @class */ (function (_super) { __extends(VisualSettingsValidator, _super); function VisualSettingsValidator() { @@ -5726,7 +5018,7 @@ exports.FieldRequiredValidator = FieldRequiredValidator; /***/ }), /* 29 */ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { +/***/ (function(__unused_webpack_module, exports, __nested_webpack_require_217495__) { // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. @@ -5747,7 +5039,7 @@ var __extends = (this && this.__extends) || (function () { })(); Object.defineProperty(exports, "__esModule", ({ value: true })); exports.MapValidator = void 0; -var typeValidator_1 = __webpack_require__(4); +var typeValidator_1 = __nested_webpack_require_217495__(4); var MapValidator = /** @class */ (function (_super) { __extends(MapValidator, _super); function MapValidator(keyValidators, valueValidators) { @@ -5792,7 +5084,7 @@ exports.MapValidator = MapValidator; /***/ }), /* 30 */ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { +/***/ (function(__unused_webpack_module, exports, __nested_webpack_require_220179__) { // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. @@ -5813,9 +5105,9 @@ var __extends = (this && this.__extends) || (function () { })(); Object.defineProperty(exports, "__esModule", ({ value: true })); exports.ParametersPanelValidator = void 0; -var multipleFieldsValidator_1 = __webpack_require__(3); -var typeValidator_1 = __webpack_require__(4); -var validator_1 = __webpack_require__(1); +var multipleFieldsValidator_1 = __nested_webpack_require_220179__(3); +var typeValidator_1 = __nested_webpack_require_220179__(4); +var validator_1 = __nested_webpack_require_220179__(1); var ParametersPanelValidator = /** @class */ (function (_super) { __extends(ParametersPanelValidator, _super); function ParametersPanelValidator() { @@ -5849,7 +5141,7 @@ exports.ParametersPanelValidator = ParametersPanelValidator; /***/ }), /* 31 */ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { +/***/ (function(__unused_webpack_module, exports, __nested_webpack_require_222547__) { // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. @@ -5870,9 +5162,9 @@ var __extends = (this && this.__extends) || (function () { })(); Object.defineProperty(exports, "__esModule", ({ value: true })); exports.TableDataValidator = exports.TableSchemaValidator = exports.ColumnSchemaValidator = exports.CredentialsValidator = exports.DatasourceConnectionConfigValidator = exports.DatasetCreateConfigValidator = void 0; -var multipleFieldsValidator_1 = __webpack_require__(3); -var typeValidator_1 = __webpack_require__(4); -var validator_1 = __webpack_require__(1); +var multipleFieldsValidator_1 = __nested_webpack_require_222547__(3); +var typeValidator_1 = __nested_webpack_require_222547__(4); +var validator_1 = __nested_webpack_require_222547__(1); var DatasetCreateConfigValidator = /** @class */ (function (_super) { __extends(DatasetCreateConfigValidator, _super); function DatasetCreateConfigValidator() { @@ -6085,7 +5377,7 @@ exports.TableDataValidator = TableDataValidator; /***/ }), /* 32 */ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { +/***/ (function(__unused_webpack_module, exports, __nested_webpack_require_232602__) { // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. @@ -6106,9 +5398,9 @@ var __extends = (this && this.__extends) || (function () { })(); Object.defineProperty(exports, "__esModule", ({ value: true })); exports.QuickCreateValidator = void 0; -var multipleFieldsValidator_1 = __webpack_require__(3); -var typeValidator_1 = __webpack_require__(4); -var validator_1 = __webpack_require__(1); +var multipleFieldsValidator_1 = __nested_webpack_require_232602__(3); +var typeValidator_1 = __nested_webpack_require_232602__(4); +var validator_1 = __nested_webpack_require_232602__(1); var QuickCreateValidator = /** @class */ (function (_super) { __extends(QuickCreateValidator, _super); function QuickCreateValidator() { @@ -6159,7 +5451,7 @@ exports.QuickCreateValidator = QuickCreateValidator; /******/ var __webpack_module_cache__ = {}; /******/ /******/ // The require function -/******/ function __webpack_require__(moduleId) { +/******/ function __nested_webpack_require_235634__(moduleId) { /******/ // Check if module is in cache /******/ var cachedModule = __webpack_module_cache__[moduleId]; /******/ if (cachedModule !== undefined) { @@ -6173,7 +5465,7 @@ exports.QuickCreateValidator = QuickCreateValidator; /******/ }; /******/ /******/ // Execute the module function -/******/ __webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__); +/******/ __webpack_modules__[moduleId].call(module.exports, module, module.exports, __nested_webpack_require_235634__); /******/ /******/ // Return the exports of the module /******/ return module.exports; @@ -6184,7 +5476,7 @@ exports.QuickCreateValidator = QuickCreateValidator; /******/ // startup /******/ // Load entry module and return exports /******/ // This entry module is referenced by other modules so it can't be inlined -/******/ var __webpack_exports__ = __webpack_require__(0); +/******/ var __webpack_exports__ = __nested_webpack_require_235634__(0); /******/ /******/ return __webpack_exports__; /******/ })() @@ -6538,8 +5830,7 @@ exports.QuickCreateValidator = QuickCreateValidator; /*!****************************************************!*\ !*** ./node_modules/powerbi-router/dist/router.js ***! \****************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { +/***/ (function(module) { /*! powerbi-router v0.1.5 | (c) 2016 Microsoft Corporation MIT */ (function webpackUniversalModuleDefinition(root, factory) { @@ -6552,7 +5843,7 @@ return /******/ (function(modules) { // webpackBootstrap /******/ var installedModules = {}; /******/ /******/ // The require function -/******/ function __webpack_require__(moduleId) { +/******/ function __nested_webpack_require_617__(moduleId) { /******/ /******/ // Check if module is in cache /******/ if(installedModules[moduleId]) @@ -6566,7 +5857,7 @@ return /******/ (function(modules) { // webpackBootstrap /******/ }; /******/ /******/ // Execute the module function -/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); +/******/ modules[moduleId].call(module.exports, module, module.exports, __nested_webpack_require_617__); /******/ /******/ // Flag the module as loaded /******/ module.loaded = true; @@ -6577,24 +5868,24 @@ return /******/ (function(modules) { // webpackBootstrap /******/ /******/ /******/ // expose the modules object (__webpack_modules__) -/******/ __webpack_require__.m = modules; +/******/ __nested_webpack_require_617__.m = modules; /******/ /******/ // expose the module cache -/******/ __webpack_require__.c = installedModules; +/******/ __nested_webpack_require_617__.c = installedModules; /******/ /******/ // __webpack_public_path__ -/******/ __webpack_require__.p = ""; +/******/ __nested_webpack_require_617__.p = ""; /******/ /******/ // Load entry module and return exports -/******/ return __webpack_require__(0); +/******/ return __nested_webpack_require_617__(0); /******/ }) /************************************************************************/ /******/ ([ /* 0 */ -/***/ function(module, exports, __webpack_require__) { +/***/ function(module, exports, __nested_webpack_require_1897__) { "use strict"; - var RouteRecognizer = __webpack_require__(1); + var RouteRecognizer = __nested_webpack_require_1897__(1); var Router = (function () { function Router(handlers) { this.handlers = handlers; @@ -6690,7 +5981,7 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, /* 1 */ -/***/ function(module, exports, __webpack_require__) { +/***/ function(module, exports, __nested_webpack_require_6218__) { var __WEBPACK_AMD_DEFINE_RESULT__;/* WEBPACK VAR INJECTION */(function(module) {(function() { "use strict"; @@ -7314,8 +6605,8 @@ return /******/ (function(modules) { // webpackBootstrap var $$route$recognizer$$default = $$route$recognizer$$RouteRecognizer; /* global define:true module:true window: true */ - if ( true && __webpack_require__(3)['amd']) { - !(__WEBPACK_AMD_DEFINE_RESULT__ = function() { return $$route$recognizer$$default; }.call(exports, __webpack_require__, exports, module), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); + if ( true && __nested_webpack_require_6218__(3)['amd']) { + !(__WEBPACK_AMD_DEFINE_RESULT__ = function() { return $$route$recognizer$$default; }.call(exports, __nested_webpack_require_6218__, exports, module), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); } else if (typeof module !== 'undefined' && module['exports']) { module['exports'] = $$route$recognizer$$default; } else if (typeof this !== 'undefined') { @@ -7324,7 +6615,7 @@ return /******/ (function(modules) { // webpackBootstrap }).call(this); //# sourceMappingURL=route-recognizer.js.map - /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(2)(module))) + /* WEBPACK VAR INJECTION */}.call(exports, __nested_webpack_require_6218__(2)(module))) /***/ }, /* 2 */ @@ -7357,1728 +6648,428 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }), -/***/ "./node_modules/process/browser.js": -/*!*****************************************!*\ - !*** ./node_modules/process/browser.js ***! - \*****************************************/ -/*! no static exports found */ -/***/ (function(module, exports) { - -// shim for using process in browser -var process = module.exports = {}; - -// cached from whatever global is present so that test runners that stub it -// don't break things. But we need to wrap it in a try catch in case it is -// wrapped in strict mode code which doesn't define any globals. It's inside a -// function because try/catches deoptimize in certain engines. - -var cachedSetTimeout; -var cachedClearTimeout; - -function defaultSetTimout() { - throw new Error('setTimeout has not been defined'); -} -function defaultClearTimeout () { - throw new Error('clearTimeout has not been defined'); -} -(function () { - try { - if (typeof setTimeout === 'function') { - cachedSetTimeout = setTimeout; - } else { - cachedSetTimeout = defaultSetTimout; - } - } catch (e) { - cachedSetTimeout = defaultSetTimout; - } - try { - if (typeof clearTimeout === 'function') { - cachedClearTimeout = clearTimeout; - } else { - cachedClearTimeout = defaultClearTimeout; - } - } catch (e) { - cachedClearTimeout = defaultClearTimeout; - } -} ()) -function runTimeout(fun) { - if (cachedSetTimeout === setTimeout) { - //normal enviroments in sane situations - return setTimeout(fun, 0); - } - // if setTimeout wasn't available but was latter defined - if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) { - cachedSetTimeout = setTimeout; - return setTimeout(fun, 0); - } - try { - // when when somebody has screwed with setTimeout but no I.E. maddness - return cachedSetTimeout(fun, 0); - } catch(e){ - try { - // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally - return cachedSetTimeout.call(null, fun, 0); - } catch(e){ - // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error - return cachedSetTimeout.call(this, fun, 0); - } - } - +/***/ "./src/FilterBuilders/advancedFilterBuilder.ts": +/*!*****************************************************!*\ + !*** ./src/FilterBuilders/advancedFilterBuilder.ts ***! + \*****************************************************/ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { -} -function runClearTimeout(marker) { - if (cachedClearTimeout === clearTimeout) { - //normal enviroments in sane situations - return clearTimeout(marker); - } - // if clearTimeout wasn't available but was latter defined - if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) { - cachedClearTimeout = clearTimeout; - return clearTimeout(marker); - } - try { - // when when somebody has screwed with setTimeout but no I.E. maddness - return cachedClearTimeout(marker); - } catch (e){ - try { - // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally - return cachedClearTimeout.call(null, marker); - } catch (e){ - // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error. - // Some versions of I.E. have different rules for clearTimeout vs setTimeout - return cachedClearTimeout.call(this, marker); - } +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. +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 (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; }; + return extendStatics(d, b); + }; + return function (d, b) { + if (typeof b !== "function" && b !== null) + throw new TypeError("Class extends value " + String(b) + " is not a constructor or null"); + 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.AdvancedFilterBuilder = void 0; +var powerbi_models_1 = __webpack_require__(/*! powerbi-models */ "./node_modules/powerbi-models/dist/models.js"); +var filterBuilder_1 = __webpack_require__(/*! ./filterBuilder */ "./src/FilterBuilders/filterBuilder.ts"); +/** + * Power BI Advanced filter builder component + * + * @export + * @class AdvancedFilterBuilder + * @extends {FilterBuilder} + */ +var AdvancedFilterBuilder = /** @class */ (function (_super) { + __extends(AdvancedFilterBuilder, _super); + function AdvancedFilterBuilder() { + var _this = _super !== null && _super.apply(this, arguments) || this; + _this.conditions = []; + return _this; } - - - -} -var queue = []; -var draining = false; -var currentQueue; -var queueIndex = -1; - -function cleanUpNextTick() { - if (!draining || !currentQueue) { - return; - } - draining = false; - if (currentQueue.length) { - queue = currentQueue.concat(queue); - } else { - queueIndex = -1; - } - if (queue.length) { - drainQueue(); - } -} - -function drainQueue() { - if (draining) { - return; - } - var timeout = runTimeout(cleanUpNextTick); - draining = true; - - var len = queue.length; - while(len) { - currentQueue = queue; - queue = []; - while (++queueIndex < len) { - if (currentQueue) { - currentQueue[queueIndex].run(); - } - } - queueIndex = -1; - len = queue.length; - } - currentQueue = null; - draining = false; - runClearTimeout(timeout); -} - -process.nextTick = function (fun) { - var args = new Array(arguments.length - 1); - if (arguments.length > 1) { - for (var i = 1; i < arguments.length; i++) { - args[i - 1] = arguments[i]; - } - } - queue.push(new Item(fun, args)); - if (queue.length === 1 && !draining) { - runTimeout(drainQueue); - } -}; - -// v8 likes predictible objects -function Item(fun, array) { - this.fun = fun; - this.array = array; -} -Item.prototype.run = function () { - this.fun.apply(null, this.array); -}; -process.title = 'browser'; -process.browser = true; -process.env = {}; -process.argv = []; -process.version = ''; // empty string to avoid regexp issues -process.versions = {}; - -function noop() {} - -process.on = noop; -process.addListener = noop; -process.once = noop; -process.off = noop; -process.removeListener = noop; -process.removeAllListeners = noop; -process.emit = noop; -process.prependListener = noop; -process.prependOnceListener = noop; - -process.listeners = function (name) { return [] } - -process.binding = function (name) { - throw new Error('process.binding is not supported'); -}; - -process.cwd = function () { return '/' }; -process.chdir = function (dir) { - throw new Error('process.chdir is not supported'); -}; -process.umask = function() { return 0; }; + /** + * Sets And as logical operator for Advanced filter + * + * ```javascript + * + * const advancedFilterBuilder = new AdvancedFilterBuilder().and(); + * ``` + * + * @returns {AdvancedFilterBuilder} + */ + AdvancedFilterBuilder.prototype.and = function () { + this.logicalOperator = "And"; + return this; + }; + /** + * Sets Or as logical operator for Advanced filter + * + * ```javascript + * + * const advancedFilterBuilder = new AdvancedFilterBuilder().or(); + * ``` + * + * @returns {AdvancedFilterBuilder} + */ + AdvancedFilterBuilder.prototype.or = function () { + this.logicalOperator = "Or"; + return this; + }; + /** + * Adds a condition in Advanced filter + * + * ```javascript + * + * // Add two conditions + * const advancedFilterBuilder = new AdvancedFilterBuilder().addCondition("Contains", "Wash").addCondition("Contains", "Park"); + * ``` + * + * @returns {AdvancedFilterBuilder} + */ + AdvancedFilterBuilder.prototype.addCondition = function (operator, value) { + var condition = { + operator: operator, + value: value + }; + this.conditions.push(condition); + return this; + }; + /** + * Creates Advanced filter + * + * ```javascript + * + * const advancedFilterBuilder = new AdvancedFilterBuilder().build(); + * ``` + * + * @returns {AdvancedFilter} + */ + AdvancedFilterBuilder.prototype.build = function () { + var advancedFilter = new powerbi_models_1.AdvancedFilter(this.target, this.logicalOperator, this.conditions); + return advancedFilter; + }; + return AdvancedFilterBuilder; +}(filterBuilder_1.FilterBuilder)); +exports.AdvancedFilterBuilder = AdvancedFilterBuilder; /***/ }), -/***/ "./node_modules/util/node_modules/inherits/inherits_browser.js": -/*!*********************************************************************!*\ - !*** ./node_modules/util/node_modules/inherits/inherits_browser.js ***! - \*********************************************************************/ -/*! no static exports found */ -/***/ (function(module, exports) { - -if (typeof Object.create === 'function') { - // implementation from standard node.js 'util' module - module.exports = function inherits(ctor, superCtor) { - ctor.super_ = superCtor - ctor.prototype = Object.create(superCtor.prototype, { - constructor: { - value: ctor, - enumerable: false, - writable: true, - configurable: true - } - }); - }; -} else { - // old school shim for old browsers - module.exports = function inherits(ctor, superCtor) { - ctor.super_ = superCtor - var TempCtor = function () {} - TempCtor.prototype = superCtor.prototype - ctor.prototype = new TempCtor() - ctor.prototype.constructor = ctor - } -} - - -/***/ }), +/***/ "./src/FilterBuilders/basicFilterBuilder.ts": +/*!**************************************************!*\ + !*** ./src/FilterBuilders/basicFilterBuilder.ts ***! + \**************************************************/ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { -/***/ "./node_modules/util/support/isBufferBrowser.js": -/*!******************************************************!*\ - !*** ./node_modules/util/support/isBufferBrowser.js ***! - \******************************************************/ -/*! no static exports found */ -/***/ (function(module, exports) { +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. +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 (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; }; + return extendStatics(d, b); + }; + return function (d, b) { + if (typeof b !== "function" && b !== null) + throw new TypeError("Class extends value " + String(b) + " is not a constructor or null"); + 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.BasicFilterBuilder = void 0; +var powerbi_models_1 = __webpack_require__(/*! powerbi-models */ "./node_modules/powerbi-models/dist/models.js"); +var filterBuilder_1 = __webpack_require__(/*! ./filterBuilder */ "./src/FilterBuilders/filterBuilder.ts"); +/** + * Power BI Basic filter builder component + * + * @export + * @class BasicFilterBuilder + * @extends {FilterBuilder} + */ +var BasicFilterBuilder = /** @class */ (function (_super) { + __extends(BasicFilterBuilder, _super); + function BasicFilterBuilder() { + var _this = _super !== null && _super.apply(this, arguments) || this; + _this.isRequireSingleSelection = false; + return _this; + } + /** + * Sets In as operator for Basic filter + * + * ```javascript + * + * const basicFilterBuilder = new BasicFilterBuilder().in([values]); + * ``` + * + * @returns {BasicFilterBuilder} + */ + BasicFilterBuilder.prototype.in = function (values) { + this.operator = "In"; + this.values = values; + return this; + }; + /** + * Sets NotIn as operator for Basic filter + * + * ```javascript + * + * const basicFilterBuilder = new BasicFilterBuilder().notIn([values]); + * ``` + * + * @returns {BasicFilterBuilder} + */ + BasicFilterBuilder.prototype.notIn = function (values) { + this.operator = "NotIn"; + this.values = values; + return this; + }; + /** + * Sets All as operator for Basic filter + * + * ```javascript + * + * const basicFilterBuilder = new BasicFilterBuilder().all(); + * ``` + * + * @returns {BasicFilterBuilder} + */ + BasicFilterBuilder.prototype.all = function () { + this.operator = "All"; + this.values = []; + return this; + }; + /** + * Sets required single selection property for Basic filter + * + * ```javascript + * + * const basicFilterBuilder = new BasicFilterBuilder().requireSingleSelection(isRequireSingleSelection); + * ``` + * + * @returns {BasicFilterBuilder} + */ + BasicFilterBuilder.prototype.requireSingleSelection = function (isRequireSingleSelection) { + if (isRequireSingleSelection === void 0) { isRequireSingleSelection = false; } + this.isRequireSingleSelection = isRequireSingleSelection; + return this; + }; + /** + * Creates Basic filter + * + * ```javascript + * + * const basicFilterBuilder = new BasicFilterBuilder().build(); + * ``` + * + * @returns {BasicFilter} + */ + BasicFilterBuilder.prototype.build = function () { + var basicFilter = new powerbi_models_1.BasicFilter(this.target, this.operator, this.values); + basicFilter.requireSingleSelection = this.isRequireSingleSelection; + return basicFilter; + }; + return BasicFilterBuilder; +}(filterBuilder_1.FilterBuilder)); +exports.BasicFilterBuilder = BasicFilterBuilder; -module.exports = function isBuffer(arg) { - return arg && typeof arg === 'object' - && typeof arg.copy === 'function' - && typeof arg.fill === 'function' - && typeof arg.readUInt8 === 'function'; -} /***/ }), -/***/ "./node_modules/util/util.js": -/*!***********************************!*\ - !*** ./node_modules/util/util.js ***! - \***********************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -/* WEBPACK VAR INJECTION */(function(process) {// Copyright Joyent, Inc. and other Node contributors. -// -// Permission is hereby granted, free of charge, to any person obtaining a -// copy of this software and associated documentation files (the -// "Software"), to deal in the Software without restriction, including -// without limitation the rights to use, copy, modify, merge, publish, -// distribute, sublicense, and/or sell copies of the Software, and to permit -// persons to whom the Software is furnished to do so, subject to the -// following conditions: -// -// The above copyright notice and this permission notice shall be included -// in all copies or substantial portions of the Software. -// -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN -// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, -// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR -// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE -// USE OR OTHER DEALINGS IN THE SOFTWARE. - -var getOwnPropertyDescriptors = Object.getOwnPropertyDescriptors || - function getOwnPropertyDescriptors(obj) { - var keys = Object.keys(obj); - var descriptors = {}; - for (var i = 0; i < keys.length; i++) { - descriptors[keys[i]] = Object.getOwnPropertyDescriptor(obj, keys[i]); - } - return descriptors; - }; - -var formatRegExp = /%[sdj%]/g; -exports.format = function(f) { - if (!isString(f)) { - var objects = []; - for (var i = 0; i < arguments.length; i++) { - objects.push(inspect(arguments[i])); - } - return objects.join(' '); - } - - var i = 1; - var args = arguments; - var len = args.length; - var str = String(f).replace(formatRegExp, function(x) { - if (x === '%%') return '%'; - if (i >= len) return x; - switch (x) { - case '%s': return String(args[i++]); - case '%d': return Number(args[i++]); - case '%j': - try { - return JSON.stringify(args[i++]); - } catch (_) { - return '[Circular]'; - } - default: - return x; - } - }); - for (var x = args[i]; i < len; x = args[++i]) { - if (isNull(x) || !isObject(x)) { - str += ' ' + x; - } else { - str += ' ' + inspect(x); - } - } - return str; -}; - - -// Mark that a method should not be used. -// Returns a modified function which warns once by default. -// If --no-deprecation is set, then it is a no-op. -exports.deprecate = function(fn, msg) { - if (typeof process !== 'undefined' && process.noDeprecation === true) { - return fn; - } - - // Allow for deprecating things in the process of starting up. - if (typeof process === 'undefined') { - return function() { - return exports.deprecate(fn, msg).apply(this, arguments); - }; - } - - var warned = false; - function deprecated() { - if (!warned) { - if (process.throwDeprecation) { - throw new Error(msg); - } else if (process.traceDeprecation) { - console.trace(msg); - } else { - console.error(msg); - } - warned = true; - } - return fn.apply(this, arguments); - } - - return deprecated; -}; - - -var debugs = {}; -var debugEnviron; -exports.debuglog = function(set) { - if (isUndefined(debugEnviron)) - debugEnviron = process.env.NODE_DEBUG || ''; - set = set.toUpperCase(); - if (!debugs[set]) { - if (new RegExp('\\b' + set + '\\b', 'i').test(debugEnviron)) { - var pid = process.pid; - debugs[set] = function() { - var msg = exports.format.apply(exports, arguments); - console.error('%s %d: %s', set, pid, msg); - }; - } else { - debugs[set] = function() {}; - } - } - return debugs[set]; -}; - +/***/ "./src/FilterBuilders/filterBuilder.ts": +/*!*********************************************!*\ + !*** ./src/FilterBuilders/filterBuilder.ts ***! + \*********************************************/ +/***/ ((__unused_webpack_module, exports) => { +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.FilterBuilder = void 0; /** - * Echos the value of a value. Trys to print the value out - * in the best way possible given the different types. + * Generic filter builder for BasicFilter, AdvancedFilter, RelativeDate, RelativeTime and TopN * - * @param {Object} obj The object to print out. - * @param {Object} opts Optional options object that alters the output. + * @class */ -/* legacy: obj, showHidden, depth, colors*/ -function inspect(obj, opts) { - // default options - var ctx = { - seen: [], - stylize: stylizeNoColor - }; - // legacy... - if (arguments.length >= 3) ctx.depth = arguments[2]; - if (arguments.length >= 4) ctx.colors = arguments[3]; - if (isBoolean(opts)) { - // legacy... - ctx.showHidden = opts; - } else if (opts) { - // got an "options" object - exports._extend(ctx, opts); - } - // set default options - if (isUndefined(ctx.showHidden)) ctx.showHidden = false; - if (isUndefined(ctx.depth)) ctx.depth = 2; - if (isUndefined(ctx.colors)) ctx.colors = false; - if (isUndefined(ctx.customInspect)) ctx.customInspect = true; - if (ctx.colors) ctx.stylize = stylizeWithColor; - return formatValue(ctx, obj, ctx.depth); -} -exports.inspect = inspect; - - -// http://en.wikipedia.org/wiki/ANSI_escape_code#graphics -inspect.colors = { - 'bold' : [1, 22], - 'italic' : [3, 23], - 'underline' : [4, 24], - 'inverse' : [7, 27], - 'white' : [37, 39], - 'grey' : [90, 39], - 'black' : [30, 39], - 'blue' : [34, 39], - 'cyan' : [36, 39], - 'green' : [32, 39], - 'magenta' : [35, 39], - 'red' : [31, 39], - 'yellow' : [33, 39] -}; - -// Don't use 'blue' not visible on cmd.exe -inspect.styles = { - 'special': 'cyan', - 'number': 'yellow', - 'boolean': 'yellow', - 'undefined': 'grey', - 'null': 'bold', - 'string': 'green', - 'date': 'magenta', - // "name": intentionally not styling - 'regexp': 'red' -}; - - -function stylizeWithColor(str, styleType) { - var style = inspect.styles[styleType]; - - if (style) { - return '\u001b[' + inspect.colors[style][0] + 'm' + str + - '\u001b[' + inspect.colors[style][1] + 'm'; - } else { - return str; - } -} - - -function stylizeNoColor(str, styleType) { - return str; -} - - -function arrayToHash(array) { - var hash = {}; - - array.forEach(function(val, idx) { - hash[val] = true; - }); - - return hash; -} - - -function formatValue(ctx, value, recurseTimes) { - // Provide a hook for user-specified inspect functions. - // Check that value is an object with an inspect function on it - if (ctx.customInspect && - value && - isFunction(value.inspect) && - // Filter out the util module, it's inspect function is special - value.inspect !== exports.inspect && - // Also filter out any prototype objects using the circular check. - !(value.constructor && value.constructor.prototype === value)) { - var ret = value.inspect(recurseTimes, ctx); - if (!isString(ret)) { - ret = formatValue(ctx, ret, recurseTimes); - } - return ret; - } - - // Primitive types cannot have properties - var primitive = formatPrimitive(ctx, value); - if (primitive) { - return primitive; - } - - // Look up the keys of the object. - var keys = Object.keys(value); - var visibleKeys = arrayToHash(keys); - - if (ctx.showHidden) { - keys = Object.getOwnPropertyNames(value); - } - - // IE doesn't make error fields non-enumerable - // http://msdn.microsoft.com/en-us/library/ie/dww52sbt(v=vs.94).aspx - if (isError(value) - && (keys.indexOf('message') >= 0 || keys.indexOf('description') >= 0)) { - return formatError(value); - } - - // Some type of object without properties can be shortcutted. - if (keys.length === 0) { - if (isFunction(value)) { - var name = value.name ? ': ' + value.name : ''; - return ctx.stylize('[Function' + name + ']', 'special'); - } - if (isRegExp(value)) { - return ctx.stylize(RegExp.prototype.toString.call(value), 'regexp'); - } - if (isDate(value)) { - return ctx.stylize(Date.prototype.toString.call(value), 'date'); - } - if (isError(value)) { - return formatError(value); - } - } - - var base = '', array = false, braces = ['{', '}']; - - // Make Array say that they are Array - if (isArray(value)) { - array = true; - braces = ['[', ']']; - } - - // Make functions say that they are functions - if (isFunction(value)) { - var n = value.name ? ': ' + value.name : ''; - base = ' [Function' + n + ']'; - } - - // Make RegExps say that they are RegExps - if (isRegExp(value)) { - base = ' ' + RegExp.prototype.toString.call(value); - } - - // Make dates with properties first say the date - if (isDate(value)) { - base = ' ' + Date.prototype.toUTCString.call(value); - } - - // Make error with message first say the error - if (isError(value)) { - base = ' ' + formatError(value); - } - - if (keys.length === 0 && (!array || value.length == 0)) { - return braces[0] + base + braces[1]; - } - - if (recurseTimes < 0) { - if (isRegExp(value)) { - return ctx.stylize(RegExp.prototype.toString.call(value), 'regexp'); - } else { - return ctx.stylize('[Object]', 'special'); - } - } - - ctx.seen.push(value); - - var output; - if (array) { - output = formatArray(ctx, value, recurseTimes, visibleKeys, keys); - } else { - output = keys.map(function(key) { - return formatProperty(ctx, value, recurseTimes, visibleKeys, key, array); - }); - } - - ctx.seen.pop(); - - return reduceToSingleString(output, base, braces); -} - - -function formatPrimitive(ctx, value) { - if (isUndefined(value)) - return ctx.stylize('undefined', 'undefined'); - if (isString(value)) { - var simple = '\'' + JSON.stringify(value).replace(/^"|"$/g, '') - .replace(/'/g, "\\'") - .replace(/\\"/g, '"') + '\''; - return ctx.stylize(simple, 'string'); - } - if (isNumber(value)) - return ctx.stylize('' + value, 'number'); - if (isBoolean(value)) - return ctx.stylize('' + value, 'boolean'); - // For some reason typeof null is "object", so special case here. - if (isNull(value)) - return ctx.stylize('null', 'null'); -} - - -function formatError(value) { - return '[' + Error.prototype.toString.call(value) + ']'; -} - - -function formatArray(ctx, value, recurseTimes, visibleKeys, keys) { - var output = []; - for (var i = 0, l = value.length; i < l; ++i) { - if (hasOwnProperty(value, String(i))) { - output.push(formatProperty(ctx, value, recurseTimes, visibleKeys, - String(i), true)); - } else { - output.push(''); - } - } - keys.forEach(function(key) { - if (!key.match(/^\d+$/)) { - output.push(formatProperty(ctx, value, recurseTimes, visibleKeys, - key, true)); +var FilterBuilder = /** @class */ (function () { + function FilterBuilder() { } - }); - return output; -} - - -function formatProperty(ctx, value, recurseTimes, visibleKeys, key, array) { - var name, str, desc; - desc = Object.getOwnPropertyDescriptor(value, key) || { value: value[key] }; - if (desc.get) { - if (desc.set) { - str = ctx.stylize('[Getter/Setter]', 'special'); - } else { - str = ctx.stylize('[Getter]', 'special'); - } - } else { - if (desc.set) { - str = ctx.stylize('[Setter]', 'special'); - } - } - if (!hasOwnProperty(visibleKeys, key)) { - name = '[' + key + ']'; - } - if (!str) { - if (ctx.seen.indexOf(desc.value) < 0) { - if (isNull(recurseTimes)) { - str = formatValue(ctx, desc.value, null); - } else { - str = formatValue(ctx, desc.value, recurseTimes - 1); - } - if (str.indexOf('\n') > -1) { - if (array) { - str = str.split('\n').map(function(line) { - return ' ' + line; - }).join('\n').substr(2); - } else { - str = '\n' + str.split('\n').map(function(line) { - return ' ' + line; - }).join('\n'); - } - } - } else { - str = ctx.stylize('[Circular]', 'special'); - } - } - if (isUndefined(name)) { - if (array && key.match(/^\d+$/)) { - return str; - } - name = JSON.stringify('' + key); - if (name.match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/)) { - name = name.substr(1, name.length - 2); - name = ctx.stylize(name, 'name'); - } else { - name = name.replace(/'/g, "\\'") - .replace(/\\"/g, '"') - .replace(/(^"|"$)/g, "'"); - name = ctx.stylize(name, 'string'); - } - } - - return name + ': ' + str; -} - - -function reduceToSingleString(output, base, braces) { - var numLinesEst = 0; - var length = output.reduce(function(prev, cur) { - numLinesEst++; - if (cur.indexOf('\n') >= 0) numLinesEst++; - return prev + cur.replace(/\u001b\[\d\d?m/g, '').length + 1; - }, 0); - - if (length > 60) { - return braces[0] + - (base === '' ? '' : base + '\n ') + - ' ' + - output.join(',\n ') + - ' ' + - braces[1]; - } - - return braces[0] + base + ' ' + output.join(', ') + ' ' + braces[1]; -} - - -// NOTE: These type checking functions intentionally don't use `instanceof` -// because it is fragile and can be easily faked with `Object.create()`. -function isArray(ar) { - return Array.isArray(ar); -} -exports.isArray = isArray; - -function isBoolean(arg) { - return typeof arg === 'boolean'; -} -exports.isBoolean = isBoolean; - -function isNull(arg) { - return arg === null; -} -exports.isNull = isNull; - -function isNullOrUndefined(arg) { - return arg == null; -} -exports.isNullOrUndefined = isNullOrUndefined; - -function isNumber(arg) { - return typeof arg === 'number'; -} -exports.isNumber = isNumber; - -function isString(arg) { - return typeof arg === 'string'; -} -exports.isString = isString; - -function isSymbol(arg) { - return typeof arg === 'symbol'; -} -exports.isSymbol = isSymbol; - -function isUndefined(arg) { - return arg === void 0; -} -exports.isUndefined = isUndefined; - -function isRegExp(re) { - return isObject(re) && objectToString(re) === '[object RegExp]'; -} -exports.isRegExp = isRegExp; - -function isObject(arg) { - return typeof arg === 'object' && arg !== null; -} -exports.isObject = isObject; - -function isDate(d) { - return isObject(d) && objectToString(d) === '[object Date]'; -} -exports.isDate = isDate; - -function isError(e) { - return isObject(e) && - (objectToString(e) === '[object Error]' || e instanceof Error); -} -exports.isError = isError; - -function isFunction(arg) { - return typeof arg === 'function'; -} -exports.isFunction = isFunction; - -function isPrimitive(arg) { - return arg === null || - typeof arg === 'boolean' || - typeof arg === 'number' || - typeof arg === 'string' || - typeof arg === 'symbol' || // ES6 symbol - typeof arg === 'undefined'; -} -exports.isPrimitive = isPrimitive; - -exports.isBuffer = __webpack_require__(/*! ./support/isBuffer */ "./node_modules/util/support/isBufferBrowser.js"); - -function objectToString(o) { - return Object.prototype.toString.call(o); -} - + /** + * Sets target property for filter with target object + * + * ```javascript + * const target = { + * table: 'table1', + * column: 'column1' + * }; + * + * const filterBuilder = new FilterBuilder().withTargetObject(target); + * ``` + * + * @returns {FilterBuilder} + */ + FilterBuilder.prototype.withTargetObject = function (target) { + this.target = target; + return this; + }; + /** + * Sets target property for filter with column target object + * + * ``` + * const filterBuilder = new FilterBuilder().withColumnTarget(tableName, columnName); + * ``` + * + * @returns {FilterBuilder} + */ + FilterBuilder.prototype.withColumnTarget = function (tableName, columnName) { + this.target = { table: tableName, column: columnName }; + return this; + }; + /** + * Sets target property for filter with measure target object + * + * ``` + * const filterBuilder = new FilterBuilder().withMeasureTarget(tableName, measure); + * ``` + * + * @returns {FilterBuilder} + */ + FilterBuilder.prototype.withMeasureTarget = function (tableName, measure) { + this.target = { table: tableName, measure: measure }; + return this; + }; + /** + * Sets target property for filter with hierarchy level target object + * + * ``` + * const filterBuilder = new FilterBuilder().withHierarchyLevelTarget(tableName, hierarchy, hierarchyLevel); + * ``` + * + * @returns {FilterBuilder} + */ + FilterBuilder.prototype.withHierarchyLevelTarget = function (tableName, hierarchy, hierarchyLevel) { + this.target = { table: tableName, hierarchy: hierarchy, hierarchyLevel: hierarchyLevel }; + return this; + }; + /** + * Sets target property for filter with column aggregation target object + * + * ``` + * const filterBuilder = new FilterBuilder().withColumnAggregation(tableName, columnName, aggregationFunction); + * ``` + * + * @returns {FilterBuilder} + */ + FilterBuilder.prototype.withColumnAggregation = function (tableName, columnName, aggregationFunction) { + this.target = { table: tableName, column: columnName, aggregationFunction: aggregationFunction }; + return this; + }; + /** + * Sets target property for filter with hierarchy level aggregation target object + * + * ``` + * const filterBuilder = new FilterBuilder().withHierarchyLevelAggregationTarget(tableName, hierarchy, hierarchyLevel, aggregationFunction); + * ``` + * + * @returns {FilterBuilder} + */ + FilterBuilder.prototype.withHierarchyLevelAggregationTarget = function (tableName, hierarchy, hierarchyLevel, aggregationFunction) { + this.target = { table: tableName, hierarchy: hierarchy, hierarchyLevel: hierarchyLevel, aggregationFunction: aggregationFunction }; + return this; + }; + return FilterBuilder; +}()); +exports.FilterBuilder = FilterBuilder; -function pad(n) { - return n < 10 ? '0' + n.toString(10) : n.toString(10); -} +/***/ }), -var months = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', - 'Oct', 'Nov', 'Dec']; +/***/ "./src/FilterBuilders/index.ts": +/*!*************************************!*\ + !*** ./src/FilterBuilders/index.ts ***! + \*************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { -// 26 Feb 16:19:34 -function timestamp() { - var d = new Date(); - var time = [pad(d.getHours()), - pad(d.getMinutes()), - pad(d.getSeconds())].join(':'); - return [d.getDate(), months[d.getMonth()], time].join(' '); -} +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.RelativeTimeFilterBuilder = exports.RelativeDateFilterBuilder = exports.TopNFilterBuilder = exports.AdvancedFilterBuilder = exports.BasicFilterBuilder = void 0; +var basicFilterBuilder_1 = __webpack_require__(/*! ./basicFilterBuilder */ "./src/FilterBuilders/basicFilterBuilder.ts"); +Object.defineProperty(exports, "BasicFilterBuilder", ({ enumerable: true, get: function () { return basicFilterBuilder_1.BasicFilterBuilder; } })); +var advancedFilterBuilder_1 = __webpack_require__(/*! ./advancedFilterBuilder */ "./src/FilterBuilders/advancedFilterBuilder.ts"); +Object.defineProperty(exports, "AdvancedFilterBuilder", ({ enumerable: true, get: function () { return advancedFilterBuilder_1.AdvancedFilterBuilder; } })); +var topNFilterBuilder_1 = __webpack_require__(/*! ./topNFilterBuilder */ "./src/FilterBuilders/topNFilterBuilder.ts"); +Object.defineProperty(exports, "TopNFilterBuilder", ({ enumerable: true, get: function () { return topNFilterBuilder_1.TopNFilterBuilder; } })); +var relativeDateFilterBuilder_1 = __webpack_require__(/*! ./relativeDateFilterBuilder */ "./src/FilterBuilders/relativeDateFilterBuilder.ts"); +Object.defineProperty(exports, "RelativeDateFilterBuilder", ({ enumerable: true, get: function () { return relativeDateFilterBuilder_1.RelativeDateFilterBuilder; } })); +var relativeTimeFilterBuilder_1 = __webpack_require__(/*! ./relativeTimeFilterBuilder */ "./src/FilterBuilders/relativeTimeFilterBuilder.ts"); +Object.defineProperty(exports, "RelativeTimeFilterBuilder", ({ enumerable: true, get: function () { return relativeTimeFilterBuilder_1.RelativeTimeFilterBuilder; } })); -// log is just a thin wrapper to console.log that prepends a timestamp -exports.log = function() { - console.log('%s - %s', timestamp(), exports.format.apply(exports, arguments)); -}; +/***/ }), +/***/ "./src/FilterBuilders/relativeDateFilterBuilder.ts": +/*!*********************************************************!*\ + !*** ./src/FilterBuilders/relativeDateFilterBuilder.ts ***! + \*********************************************************/ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. +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 (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; }; + return extendStatics(d, b); + }; + return function (d, b) { + if (typeof b !== "function" && b !== null) + throw new TypeError("Class extends value " + String(b) + " is not a constructor or null"); + 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.RelativeDateFilterBuilder = void 0; +var powerbi_models_1 = __webpack_require__(/*! powerbi-models */ "./node_modules/powerbi-models/dist/models.js"); +var filterBuilder_1 = __webpack_require__(/*! ./filterBuilder */ "./src/FilterBuilders/filterBuilder.ts"); /** - * Inherit the prototype methods from one constructor into another. - * - * The Function.prototype.inherits from lang.js rewritten as a standalone - * function (not on Function.prototype). NOTE: If this file is to be loaded - * during bootstrapping this function needs to be rewritten using some native - * functions as prototype setup using normal JavaScript does not work as - * expected during bootstrapping (see mirror.js in r114903). + * Power BI Relative Date filter builder component * - * @param {function} ctor Constructor function which needs to inherit the - * prototype. - * @param {function} superCtor Constructor function to inherit prototype from. + * @export + * @class RelativeDateFilterBuilder + * @extends {FilterBuilder} */ -exports.inherits = __webpack_require__(/*! inherits */ "./node_modules/util/node_modules/inherits/inherits_browser.js"); - -exports._extend = function(origin, add) { - // Don't do anything if add isn't an object - if (!add || !isObject(add)) return origin; - - var keys = Object.keys(add); - var i = keys.length; - while (i--) { - origin[keys[i]] = add[keys[i]]; - } - return origin; -}; - -function hasOwnProperty(obj, prop) { - return Object.prototype.hasOwnProperty.call(obj, prop); -} - -var kCustomPromisifiedSymbol = typeof Symbol !== 'undefined' ? Symbol('util.promisify.custom') : undefined; - -exports.promisify = function promisify(original) { - if (typeof original !== 'function') - throw new TypeError('The "original" argument must be of type Function'); - - if (kCustomPromisifiedSymbol && original[kCustomPromisifiedSymbol]) { - var fn = original[kCustomPromisifiedSymbol]; - if (typeof fn !== 'function') { - throw new TypeError('The "util.promisify.custom" argument must be of type Function'); - } - Object.defineProperty(fn, kCustomPromisifiedSymbol, { - value: fn, enumerable: false, writable: false, configurable: true - }); - return fn; - } - - function fn() { - var promiseResolve, promiseReject; - var promise = new Promise(function (resolve, reject) { - promiseResolve = resolve; - promiseReject = reject; - }); - - var args = []; - for (var i = 0; i < arguments.length; i++) { - args.push(arguments[i]); - } - args.push(function (err, value) { - if (err) { - promiseReject(err); - } else { - promiseResolve(value); - } - }); - - try { - original.apply(this, args); - } catch (err) { - promiseReject(err); - } - - return promise; - } - - Object.setPrototypeOf(fn, Object.getPrototypeOf(original)); - - if (kCustomPromisifiedSymbol) Object.defineProperty(fn, kCustomPromisifiedSymbol, { - value: fn, enumerable: false, writable: false, configurable: true - }); - return Object.defineProperties( - fn, - getOwnPropertyDescriptors(original) - ); -} - -exports.promisify.custom = kCustomPromisifiedSymbol - -function callbackifyOnRejected(reason, cb) { - // `!reason` guard inspired by bluebird (Ref: https://goo.gl/t5IS6M). - // Because `null` is a special error value in callbacks which means "no error - // occurred", we error-wrap so the callback consumer can distinguish between - // "the promise rejected with null" or "the promise fulfilled with undefined". - if (!reason) { - var newReason = new Error('Promise was rejected with a falsy value'); - newReason.reason = reason; - reason = newReason; - } - return cb(reason); -} - -function callbackify(original) { - if (typeof original !== 'function') { - throw new TypeError('The "original" argument must be of type Function'); - } - - // We DO NOT return the promise as it gives the user a false sense that - // the promise is actually somehow related to the callback's execution - // and that the callback throwing will reject the promise. - function callbackified() { - var args = []; - for (var i = 0; i < arguments.length; i++) { - args.push(arguments[i]); - } - - var maybeCb = args.pop(); - if (typeof maybeCb !== 'function') { - throw new TypeError('The last argument must be of type Function'); +var RelativeDateFilterBuilder = /** @class */ (function (_super) { + __extends(RelativeDateFilterBuilder, _super); + function RelativeDateFilterBuilder() { + var _this = _super !== null && _super.apply(this, arguments) || this; + _this.isTodayIncluded = true; + return _this; } - var self = this; - var cb = function() { - return maybeCb.apply(self, arguments); - }; - // In true node style we process the callback on `nextTick` with all the - // implications (stack, `uncaughtException`, `async_hooks`) - original.apply(this, args) - .then(function(ret) { process.nextTick(cb, null, ret) }, - function(rej) { process.nextTick(callbackifyOnRejected, rej, cb) }); - } - - Object.setPrototypeOf(callbackified, Object.getPrototypeOf(original)); - Object.defineProperties(callbackified, - getOwnPropertyDescriptors(original)); - return callbackified; -} -exports.callbackify = callbackify; - -/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./../process/browser.js */ "./node_modules/process/browser.js"))) - -/***/ }), - -/***/ "./node_modules/webpack/buildin/global.js": -/*!***********************************!*\ - !*** (webpack)/buildin/global.js ***! - \***********************************/ -/*! no static exports found */ -/***/ (function(module, exports) { - -var g; - -// This works in non-strict mode -g = (function() { - return this; -})(); - -try { - // This works if eval is allowed (see CSP) - g = g || new Function("return this")(); -} catch (e) { - // This works if the window reference is available - if (typeof window === "object") g = window; -} - -// g can still be undefined, but nothing to do about it... -// We return undefined, instead of nothing here, so it's -// easier to handle this case. if(!global) { ...} - -module.exports = g; - - -/***/ }), - -/***/ "./node_modules/window-post-message-proxy/dist/windowPostMessageProxy.js": -/*!*******************************************************************************!*\ - !*** ./node_modules/window-post-message-proxy/dist/windowPostMessageProxy.js ***! - \*******************************************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -/*! window-post-message-proxy v0.2.6 | (c) 2016 Microsoft Corporation MIT */ -(function webpackUniversalModuleDefinition(root, factory) { - if(true) - module.exports = factory(); - else {} -})(this, function() { -return /******/ (function(modules) { // webpackBootstrap -/******/ // The module cache -/******/ var installedModules = {}; -/******/ -/******/ // The require function -/******/ function __webpack_require__(moduleId) { -/******/ -/******/ // Check if module is in cache -/******/ 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 -/******/ }; -/******/ -/******/ // Execute the module function -/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); -/******/ -/******/ // Flag the module as loaded -/******/ module.loaded = true; -/******/ -/******/ // Return the exports of the module -/******/ return module.exports; -/******/ } -/******/ -/******/ -/******/ // expose the modules object (__webpack_modules__) -/******/ __webpack_require__.m = modules; -/******/ -/******/ // expose the module cache -/******/ __webpack_require__.c = installedModules; -/******/ -/******/ // __webpack_public_path__ -/******/ __webpack_require__.p = ""; -/******/ -/******/ // Load entry module and return exports -/******/ return __webpack_require__(0); -/******/ }) -/************************************************************************/ -/******/ ([ -/* 0 */ -/***/ (function(module, exports) { - - "use strict"; - var WindowPostMessageProxy = (function () { - function WindowPostMessageProxy(options) { - var _this = this; - if (options === void 0) { options = { - processTrackingProperties: { - addTrackingProperties: WindowPostMessageProxy.defaultAddTrackingProperties, - getTrackingProperties: WindowPostMessageProxy.defaultGetTrackingProperties - }, - isErrorMessage: WindowPostMessageProxy.defaultIsErrorMessage, - receiveWindow: window, - name: WindowPostMessageProxy.createRandomString() - }; } - this.pendingRequestPromises = {}; - // save options with defaults - this.addTrackingProperties = (options.processTrackingProperties && options.processTrackingProperties.addTrackingProperties) || WindowPostMessageProxy.defaultAddTrackingProperties; - this.getTrackingProperties = (options.processTrackingProperties && options.processTrackingProperties.getTrackingProperties) || WindowPostMessageProxy.defaultGetTrackingProperties; - this.isErrorMessage = options.isErrorMessage || WindowPostMessageProxy.defaultIsErrorMessage; - this.receiveWindow = options.receiveWindow || window; - this.name = options.name || WindowPostMessageProxy.createRandomString(); - this.logMessages = options.logMessages || false; - this.eventSourceOverrideWindow = options.eventSourceOverrideWindow; - this.suppressWarnings = options.suppressWarnings || false; - if (this.logMessages) { - console.log("new WindowPostMessageProxy created with name: " + this.name + " receiving on window: " + this.receiveWindow.document.title); - } - // Initialize - this.handlers = []; - this.windowMessageHandler = function (event) { return _this.onMessageReceived(event); }; - this.start(); - } - // Static - WindowPostMessageProxy.defaultAddTrackingProperties = function (message, trackingProperties) { - message[WindowPostMessageProxy.messagePropertyName] = trackingProperties; - return message; - }; - WindowPostMessageProxy.defaultGetTrackingProperties = function (message) { - return message[WindowPostMessageProxy.messagePropertyName]; - }; - WindowPostMessageProxy.defaultIsErrorMessage = function (message) { - return !!message.error; - }; - /** - * Utility to create a deferred object. - */ - // TODO: Look to use RSVP library instead of doing this manually. - // From what I searched RSVP would work better because it has .finally and .deferred; however, it doesn't have Typings information. - WindowPostMessageProxy.createDeferred = function () { - var deferred = { - resolve: null, - reject: null, - promise: null - }; - var promise = new Promise(function (resolve, reject) { - deferred.resolve = resolve; - deferred.reject = reject; - }); - deferred.promise = promise; - return deferred; - }; - /** - * Utility to generate random sequence of characters used as tracking id for promises. - */ - WindowPostMessageProxy.createRandomString = function () { - // window.msCrypto for IE - var cryptoObj = window.crypto || window.msCrypto; - var randomValueArray = new Uint32Array(1); - cryptoObj.getRandomValues(randomValueArray); - return randomValueArray[0].toString(36).substring(1); - }; - /** - * Adds handler. - * If the first handler whose test method returns true will handle the message and provide a response. - */ - WindowPostMessageProxy.prototype.addHandler = function (handler) { - this.handlers.push(handler); - }; - /** - * Removes handler. - * The reference must match the original object that was provided when adding the handler. - */ - WindowPostMessageProxy.prototype.removeHandler = function (handler) { - var handlerIndex = this.handlers.indexOf(handler); - if (handlerIndex === -1) { - throw new Error("You attempted to remove a handler but no matching handler was found."); - } - this.handlers.splice(handlerIndex, 1); - }; - /** - * Start listening to message events. - */ - WindowPostMessageProxy.prototype.start = function () { - this.receiveWindow.addEventListener('message', this.windowMessageHandler); - }; - /** - * Stops listening to message events. - */ - WindowPostMessageProxy.prototype.stop = function () { - this.receiveWindow.removeEventListener('message', this.windowMessageHandler); - }; - /** - * Post message to target window with tracking properties added and save deferred object referenced by tracking id. - */ - WindowPostMessageProxy.prototype.postMessage = function (targetWindow, message) { - // Add tracking properties to indicate message came from this proxy - var trackingProperties = { id: WindowPostMessageProxy.createRandomString() }; - this.addTrackingProperties(message, trackingProperties); - if (this.logMessages) { - console.log(this.name + " Posting message:"); - console.log(JSON.stringify(message, null, ' ')); - } - targetWindow.postMessage(message, "*"); - var deferred = WindowPostMessageProxy.createDeferred(); - this.pendingRequestPromises[trackingProperties.id] = deferred; - return deferred.promise; - }; - /** - * Send response message to target window. - * Response messages re-use tracking properties from a previous request message. - */ - WindowPostMessageProxy.prototype.sendResponse = function (targetWindow, message, trackingProperties) { - this.addTrackingProperties(message, trackingProperties); - if (this.logMessages) { - console.log(this.name + " Sending response:"); - console.log(JSON.stringify(message, null, ' ')); - } - targetWindow.postMessage(message, "*"); - }; - /** - * Message handler. - */ - WindowPostMessageProxy.prototype.onMessageReceived = function (event) { - var _this = this; - if (this.logMessages) { - console.log(this.name + " Received message:"); - console.log("type: " + event.type); - console.log(JSON.stringify(event.data, null, ' ')); - } - var sendingWindow = this.eventSourceOverrideWindow || event.source; - var message = event.data; - if (typeof message !== "object") { - if (!this.suppressWarnings) { - console.warn("Proxy(" + this.name + "): Received message that was not an object. Discarding message"); - } - return; - } - var trackingProperties; - try { - trackingProperties = this.getTrackingProperties(message); - } - catch (e) { - if (!this.suppressWarnings) { - console.warn("Proxy(" + this.name + "): Error occurred when attempting to get tracking properties from incoming message:", JSON.stringify(message, null, ' '), "Error: ", e); - } - } - var deferred; - if (trackingProperties) { - deferred = this.pendingRequestPromises[trackingProperties.id]; - } - // If message does not have a known ID, treat it as a request - // Otherwise, treat message as response - if (!deferred) { - var handled = this.handlers.some(function (handler) { - var canMessageBeHandled = false; - try { - canMessageBeHandled = handler.test(message); - } - catch (e) { - if (!_this.suppressWarnings) { - console.warn("Proxy(" + _this.name + "): Error occurred when handler was testing incoming message:", JSON.stringify(message, null, ' '), "Error: ", e); - } - } - if (canMessageBeHandled) { - var responseMessagePromise = void 0; - try { - responseMessagePromise = Promise.resolve(handler.handle(message)); - } - catch (e) { - if (!_this.suppressWarnings) { - console.warn("Proxy(" + _this.name + "): Error occurred when handler was processing incoming message:", JSON.stringify(message, null, ' '), "Error: ", e); - } - responseMessagePromise = Promise.resolve(); - } - responseMessagePromise - .then(function (responseMessage) { - if (!responseMessage) { - var warningMessage = "Handler for message: " + JSON.stringify(message, null, ' ') + " did not return a response message. The default response message will be returned instead."; - if (!_this.suppressWarnings) { - console.warn("Proxy(" + _this.name + "): " + warningMessage); - } - responseMessage = { - warning: warningMessage - }; - } - _this.sendResponse(sendingWindow, responseMessage, trackingProperties); - }); - return true; - } - }); - /** - * TODO: Consider returning an error message if nothing handled the message. - * In the case of the Report receiving messages all of them should be handled, - * however, in the case of the SDK receiving messages it's likely it won't register handlers - * for all events. Perhaps make this an option at construction time. - */ - if (!handled && !this.suppressWarnings) { - console.warn("Proxy(" + this.name + ") did not handle message. Handlers: " + this.handlers.length + " Message: " + JSON.stringify(message, null, '') + "."); - } - } - else { - /** - * If error message reject promise, - * Otherwise, resolve promise - */ - var isErrorMessage = true; - try { - isErrorMessage = this.isErrorMessage(message); - } - catch (e) { - console.warn("Proxy(" + this.name + ") Error occurred when trying to determine if message is consider an error response. Message: ", JSON.stringify(message, null, ''), 'Error: ', e); - } - if (isErrorMessage) { - deferred.reject(message); - } - else { - deferred.resolve(message); - } - // TODO: Move to .finally clause up where promise is created for better maitenance like original proxy code. - delete this.pendingRequestPromises[trackingProperties.id]; - } - }; - WindowPostMessageProxy.messagePropertyName = "windowPostMessageProxy"; - return WindowPostMessageProxy; - }()); - exports.WindowPostMessageProxy = WindowPostMessageProxy; - - -/***/ }) -/******/ ]) -}); -; -//# sourceMappingURL=windowPostMessageProxy.js.map - -/***/ }), - -/***/ "./src/FilterBuilders/advancedFilterBuilder.ts": -/*!*****************************************************!*\ - !*** ./src/FilterBuilders/advancedFilterBuilder.ts ***! - \*****************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -// Copyright (c) Microsoft Corporation. -// Licensed under the MIT License. -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 (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; }; - return extendStatics(d, b); - }; - return function (d, b) { - if (typeof b !== "function" && b !== null) - throw new TypeError("Class extends value " + String(b) + " is not a constructor or null"); - 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.AdvancedFilterBuilder = void 0; -var powerbi_models_1 = __webpack_require__(/*! powerbi-models */ "./node_modules/powerbi-models/dist/models.js"); -var filterBuilder_1 = __webpack_require__(/*! ./filterBuilder */ "./src/FilterBuilders/filterBuilder.ts"); -/** - * Power BI Advanced filter builder component - * - * @export - * @class AdvancedFilterBuilder - * @extends {FilterBuilder} - */ -var AdvancedFilterBuilder = /** @class */ (function (_super) { - __extends(AdvancedFilterBuilder, _super); - function AdvancedFilterBuilder() { - var _this = _super !== null && _super.apply(this, arguments) || this; - _this.conditions = []; - return _this; - } - /** - * Sets And as logical operator for Advanced filter - * - * ```javascript - * - * const advancedFilterBuilder = new AdvancedFilterBuilder().and(); - * ``` - * - * @returns {AdvancedFilterBuilder} - */ - AdvancedFilterBuilder.prototype.and = function () { - this.logicalOperator = "And"; - return this; - }; - /** - * Sets Or as logical operator for Advanced filter - * - * ```javascript - * - * const advancedFilterBuilder = new AdvancedFilterBuilder().or(); - * ``` - * - * @returns {AdvancedFilterBuilder} - */ - AdvancedFilterBuilder.prototype.or = function () { - this.logicalOperator = "Or"; - return this; - }; - /** - * Adds a condition in Advanced filter - * - * ```javascript - * - * // Add two conditions - * const advancedFilterBuilder = new AdvancedFilterBuilder().addCondition("Contains", "Wash").addCondition("Contains", "Park"); - * ``` - * - * @returns {AdvancedFilterBuilder} - */ - AdvancedFilterBuilder.prototype.addCondition = function (operator, value) { - var condition = { - operator: operator, - value: value - }; - this.conditions.push(condition); - return this; - }; - /** - * Creates Advanced filter - * - * ```javascript - * - * const advancedFilterBuilder = new AdvancedFilterBuilder().build(); - * ``` - * - * @returns {AdvancedFilter} - */ - AdvancedFilterBuilder.prototype.build = function () { - var advancedFilter = new powerbi_models_1.AdvancedFilter(this.target, this.logicalOperator, this.conditions); - return advancedFilter; - }; - return AdvancedFilterBuilder; -}(filterBuilder_1.FilterBuilder)); -exports.AdvancedFilterBuilder = AdvancedFilterBuilder; - - -/***/ }), - -/***/ "./src/FilterBuilders/basicFilterBuilder.ts": -/*!**************************************************!*\ - !*** ./src/FilterBuilders/basicFilterBuilder.ts ***! - \**************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -// Copyright (c) Microsoft Corporation. -// Licensed under the MIT License. -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 (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; }; - return extendStatics(d, b); - }; - return function (d, b) { - if (typeof b !== "function" && b !== null) - throw new TypeError("Class extends value " + String(b) + " is not a constructor or null"); - 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.BasicFilterBuilder = void 0; -var powerbi_models_1 = __webpack_require__(/*! powerbi-models */ "./node_modules/powerbi-models/dist/models.js"); -var filterBuilder_1 = __webpack_require__(/*! ./filterBuilder */ "./src/FilterBuilders/filterBuilder.ts"); -/** - * Power BI Basic filter builder component - * - * @export - * @class BasicFilterBuilder - * @extends {FilterBuilder} - */ -var BasicFilterBuilder = /** @class */ (function (_super) { - __extends(BasicFilterBuilder, _super); - function BasicFilterBuilder() { - var _this = _super !== null && _super.apply(this, arguments) || this; - _this.isRequireSingleSelection = false; - return _this; - } - /** - * Sets In as operator for Basic filter - * - * ```javascript - * - * const basicFilterBuilder = new BasicFilterBuilder().in([values]); - * ``` - * - * @returns {BasicFilterBuilder} - */ - BasicFilterBuilder.prototype.in = function (values) { - this.operator = "In"; - this.values = values; - return this; - }; - /** - * Sets NotIn as operator for Basic filter - * - * ```javascript - * - * const basicFilterBuilder = new BasicFilterBuilder().notIn([values]); - * ``` - * - * @returns {BasicFilterBuilder} - */ - BasicFilterBuilder.prototype.notIn = function (values) { - this.operator = "NotIn"; - this.values = values; - return this; - }; - /** - * Sets All as operator for Basic filter - * - * ```javascript - * - * const basicFilterBuilder = new BasicFilterBuilder().all(); - * ``` - * - * @returns {BasicFilterBuilder} - */ - BasicFilterBuilder.prototype.all = function () { - this.operator = "All"; - this.values = []; - return this; - }; - /** - * Sets required single selection property for Basic filter - * - * ```javascript - * - * const basicFilterBuilder = new BasicFilterBuilder().requireSingleSelection(isRequireSingleSelection); - * ``` - * - * @returns {BasicFilterBuilder} - */ - BasicFilterBuilder.prototype.requireSingleSelection = function (isRequireSingleSelection) { - if (isRequireSingleSelection === void 0) { isRequireSingleSelection = false; } - this.isRequireSingleSelection = isRequireSingleSelection; - return this; - }; - /** - * Creates Basic filter - * - * ```javascript - * - * const basicFilterBuilder = new BasicFilterBuilder().build(); - * ``` - * - * @returns {BasicFilter} - */ - BasicFilterBuilder.prototype.build = function () { - var basicFilter = new powerbi_models_1.BasicFilter(this.target, this.operator, this.values); - basicFilter.requireSingleSelection = this.isRequireSingleSelection; - return basicFilter; - }; - return BasicFilterBuilder; -}(filterBuilder_1.FilterBuilder)); -exports.BasicFilterBuilder = BasicFilterBuilder; - - -/***/ }), - -/***/ "./src/FilterBuilders/filterBuilder.ts": -/*!*********************************************!*\ - !*** ./src/FilterBuilders/filterBuilder.ts ***! - \*********************************************/ -/*! no static exports found */ -/***/ (function(module, exports) { - -// Copyright (c) Microsoft Corporation. -// Licensed under the MIT License. -Object.defineProperty(exports, "__esModule", { value: true }); -exports.FilterBuilder = void 0; -/** - * Generic filter builder for BasicFilter, AdvancedFilter, RelativeDate, RelativeTime and TopN - * - * @class - */ -var FilterBuilder = /** @class */ (function () { - function FilterBuilder() { - } - /** - * Sets target property for filter with target object - * - * ```javascript - * const target = { - * table: 'table1', - * column: 'column1' - * }; - * - * const filterBuilder = new FilterBuilder().withTargetObject(target); - * ``` - * - * @returns {FilterBuilder} - */ - FilterBuilder.prototype.withTargetObject = function (target) { - this.target = target; - return this; - }; - /** - * Sets target property for filter with column target object - * - * ``` - * const filterBuilder = new FilterBuilder().withColumnTarget(tableName, columnName); - * ``` - * - * @returns {FilterBuilder} - */ - FilterBuilder.prototype.withColumnTarget = function (tableName, columnName) { - this.target = { table: tableName, column: columnName }; - return this; - }; - /** - * Sets target property for filter with measure target object - * - * ``` - * const filterBuilder = new FilterBuilder().withMeasureTarget(tableName, measure); - * ``` - * - * @returns {FilterBuilder} - */ - FilterBuilder.prototype.withMeasureTarget = function (tableName, measure) { - this.target = { table: tableName, measure: measure }; - return this; - }; - /** - * Sets target property for filter with hierarchy level target object - * - * ``` - * const filterBuilder = new FilterBuilder().withHierarchyLevelTarget(tableName, hierarchy, hierarchyLevel); - * ``` - * - * @returns {FilterBuilder} - */ - FilterBuilder.prototype.withHierarchyLevelTarget = function (tableName, hierarchy, hierarchyLevel) { - this.target = { table: tableName, hierarchy: hierarchy, hierarchyLevel: hierarchyLevel }; - return this; - }; - /** - * Sets target property for filter with column aggregation target object - * - * ``` - * const filterBuilder = new FilterBuilder().withColumnAggregation(tableName, columnName, aggregationFunction); - * ``` - * - * @returns {FilterBuilder} - */ - FilterBuilder.prototype.withColumnAggregation = function (tableName, columnName, aggregationFunction) { - this.target = { table: tableName, column: columnName, aggregationFunction: aggregationFunction }; - return this; - }; - /** - * Sets target property for filter with hierarchy level aggregation target object - * - * ``` - * const filterBuilder = new FilterBuilder().withHierarchyLevelAggregationTarget(tableName, hierarchy, hierarchyLevel, aggregationFunction); - * ``` - * - * @returns {FilterBuilder} - */ - FilterBuilder.prototype.withHierarchyLevelAggregationTarget = function (tableName, hierarchy, hierarchyLevel, aggregationFunction) { - this.target = { table: tableName, hierarchy: hierarchy, hierarchyLevel: hierarchyLevel, aggregationFunction: aggregationFunction }; - return this; - }; - return FilterBuilder; -}()); -exports.FilterBuilder = FilterBuilder; - - -/***/ }), - -/***/ "./src/FilterBuilders/index.ts": -/*!*************************************!*\ - !*** ./src/FilterBuilders/index.ts ***! - \*************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -// Copyright (c) Microsoft Corporation. -// Licensed under the MIT License. -Object.defineProperty(exports, "__esModule", { value: true }); -exports.RelativeTimeFilterBuilder = exports.RelativeDateFilterBuilder = exports.TopNFilterBuilder = exports.AdvancedFilterBuilder = exports.BasicFilterBuilder = void 0; -var basicFilterBuilder_1 = __webpack_require__(/*! ./basicFilterBuilder */ "./src/FilterBuilders/basicFilterBuilder.ts"); -Object.defineProperty(exports, "BasicFilterBuilder", { enumerable: true, get: function () { return basicFilterBuilder_1.BasicFilterBuilder; } }); -var advancedFilterBuilder_1 = __webpack_require__(/*! ./advancedFilterBuilder */ "./src/FilterBuilders/advancedFilterBuilder.ts"); -Object.defineProperty(exports, "AdvancedFilterBuilder", { enumerable: true, get: function () { return advancedFilterBuilder_1.AdvancedFilterBuilder; } }); -var topNFilterBuilder_1 = __webpack_require__(/*! ./topNFilterBuilder */ "./src/FilterBuilders/topNFilterBuilder.ts"); -Object.defineProperty(exports, "TopNFilterBuilder", { enumerable: true, get: function () { return topNFilterBuilder_1.TopNFilterBuilder; } }); -var relativeDateFilterBuilder_1 = __webpack_require__(/*! ./relativeDateFilterBuilder */ "./src/FilterBuilders/relativeDateFilterBuilder.ts"); -Object.defineProperty(exports, "RelativeDateFilterBuilder", { enumerable: true, get: function () { return relativeDateFilterBuilder_1.RelativeDateFilterBuilder; } }); -var relativeTimeFilterBuilder_1 = __webpack_require__(/*! ./relativeTimeFilterBuilder */ "./src/FilterBuilders/relativeTimeFilterBuilder.ts"); -Object.defineProperty(exports, "RelativeTimeFilterBuilder", { enumerable: true, get: function () { return relativeTimeFilterBuilder_1.RelativeTimeFilterBuilder; } }); - - -/***/ }), - -/***/ "./src/FilterBuilders/relativeDateFilterBuilder.ts": -/*!*********************************************************!*\ - !*** ./src/FilterBuilders/relativeDateFilterBuilder.ts ***! - \*********************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -// Copyright (c) Microsoft Corporation. -// Licensed under the MIT License. -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 (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; }; - return extendStatics(d, b); - }; - return function (d, b) { - if (typeof b !== "function" && b !== null) - throw new TypeError("Class extends value " + String(b) + " is not a constructor or null"); - 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.RelativeDateFilterBuilder = void 0; -var powerbi_models_1 = __webpack_require__(/*! powerbi-models */ "./node_modules/powerbi-models/dist/models.js"); -var filterBuilder_1 = __webpack_require__(/*! ./filterBuilder */ "./src/FilterBuilders/filterBuilder.ts"); -/** - * Power BI Relative Date filter builder component - * - * @export - * @class RelativeDateFilterBuilder - * @extends {FilterBuilder} - */ -var RelativeDateFilterBuilder = /** @class */ (function (_super) { - __extends(RelativeDateFilterBuilder, _super); - function RelativeDateFilterBuilder() { - var _this = _super !== null && _super.apply(this, arguments) || this; - _this.isTodayIncluded = true; - return _this; - } - /** - * Sets inLast as operator for Relative Date filter - * - * ```javascript - * - * const relativeDateFilterBuilder = new RelativeDateFilterBuilder().inLast(timeUnitsCount, timeUnitType); - * ``` - * - * @param {number} timeUnitsCount - The amount of time units - * @param {RelativeDateFilterTimeUnit} timeUnitType - Defines the unit of time the filter is using - * @returns {RelativeDateFilterBuilder} - */ - RelativeDateFilterBuilder.prototype.inLast = function (timeUnitsCount, timeUnitType) { - this.operator = powerbi_models_1.RelativeDateOperators.InLast; - this.timeUnitsCount = timeUnitsCount; - this.timeUnitType = timeUnitType; - return this; + /** + * Sets inLast as operator for Relative Date filter + * + * ```javascript + * + * const relativeDateFilterBuilder = new RelativeDateFilterBuilder().inLast(timeUnitsCount, timeUnitType); + * ``` + * + * @param {number} timeUnitsCount - The amount of time units + * @param {RelativeDateFilterTimeUnit} timeUnitType - Defines the unit of time the filter is using + * @returns {RelativeDateFilterBuilder} + */ + RelativeDateFilterBuilder.prototype.inLast = function (timeUnitsCount, timeUnitType) { + this.operator = powerbi_models_1.RelativeDateOperators.InLast; + this.timeUnitsCount = timeUnitsCount; + this.timeUnitType = timeUnitType; + return this; }; /** * Sets inThis as operator for Relative Date filter @@ -9156,8 +7147,7 @@ exports.RelativeDateFilterBuilder = RelativeDateFilterBuilder; /*!*********************************************************!*\ !*** ./src/FilterBuilders/relativeTimeFilterBuilder.ts ***! \*********************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. @@ -9176,7 +7166,7 @@ var __extends = (this && this.__extends) || (function () { d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); }; })(); -Object.defineProperty(exports, "__esModule", { value: true }); +Object.defineProperty(exports, "__esModule", ({ value: true })); exports.RelativeTimeFilterBuilder = void 0; var powerbi_models_1 = __webpack_require__(/*! powerbi-models */ "./node_modules/powerbi-models/dist/models.js"); var filterBuilder_1 = __webpack_require__(/*! ./filterBuilder */ "./src/FilterBuilders/filterBuilder.ts"); @@ -9271,8 +7261,7 @@ exports.RelativeTimeFilterBuilder = RelativeTimeFilterBuilder; /*!*************************************************!*\ !*** ./src/FilterBuilders/topNFilterBuilder.ts ***! \*************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. @@ -9291,7 +7280,7 @@ var __extends = (this && this.__extends) || (function () { d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); }; })(); -Object.defineProperty(exports, "__esModule", { value: true }); +Object.defineProperty(exports, "__esModule", ({ value: true })); exports.TopNFilterBuilder = void 0; var powerbi_models_1 = __webpack_require__(/*! powerbi-models */ "./node_modules/powerbi-models/dist/models.js"); var filterBuilder_1 = __webpack_require__(/*! ./filterBuilder */ "./src/FilterBuilders/filterBuilder.ts"); @@ -9376,8 +7365,7 @@ exports.TopNFilterBuilder = TopNFilterBuilder; /*!*********************************!*\ !*** ./src/bookmarksManager.ts ***! \*********************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. @@ -9417,7 +7405,7 @@ var __generator = (this && this.__generator) || function (thisArg, body) { if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true }; } }; -Object.defineProperty(exports, "__esModule", { value: true }); +Object.defineProperty(exports, "__esModule", ({ value: true })); exports.BookmarksManager = void 0; var util_1 = __webpack_require__(/*! ./util */ "./src/util.ts"); var errors_1 = __webpack_require__(/*! ./errors */ "./src/errors.ts"); @@ -9628,18 +7616,17 @@ exports.BookmarksManager = BookmarksManager; /*!***********************!*\ !*** ./src/config.ts ***! \***********************/ -/*! no static exports found */ -/***/ (function(module, exports) { +/***/ ((__unused_webpack_module, exports) => { // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. -Object.defineProperty(exports, "__esModule", { value: true }); +Object.defineProperty(exports, "__esModule", ({ value: true })); /** @ignore */ /** */ var config = { version: '2.22.1', type: 'js' }; -exports.default = config; +exports["default"] = config; /***/ }), @@ -9648,8 +7635,7 @@ exports.default = config; /*!***********************!*\ !*** ./src/create.ts ***! \***********************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. @@ -9704,7 +7690,7 @@ var __generator = (this && this.__generator) || function (thisArg, body) { if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true }; } }; -Object.defineProperty(exports, "__esModule", { value: true }); +Object.defineProperty(exports, "__esModule", ({ value: true })); exports.Create = void 0; var powerbi_models_1 = __webpack_require__(/*! powerbi-models */ "./node_modules/powerbi-models/dist/models.js"); var embed_1 = __webpack_require__(/*! ./embed */ "./src/embed.ts"); @@ -9864,8 +7850,7 @@ exports.Create = Create; /*!**************************!*\ !*** ./src/dashboard.ts ***! \**************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. @@ -9884,7 +7869,7 @@ var __extends = (this && this.__extends) || (function () { d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); }; })(); -Object.defineProperty(exports, "__esModule", { value: true }); +Object.defineProperty(exports, "__esModule", ({ value: true })); exports.Dashboard = void 0; var powerbi_models_1 = __webpack_require__(/*! powerbi-models */ "./node_modules/powerbi-models/dist/models.js"); var embed_1 = __webpack_require__(/*! ./embed */ "./src/embed.ts"); @@ -10004,8 +7989,7 @@ exports.Dashboard = Dashboard; /*!**********************!*\ !*** ./src/embed.ts ***! \**********************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. @@ -10045,7 +8029,7 @@ var __generator = (this && this.__generator) || function (thisArg, body) { if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true }; } }; -Object.defineProperty(exports, "__esModule", { value: true }); +Object.defineProperty(exports, "__esModule", ({ value: true })); exports.Embed = void 0; var models = __webpack_require__(/*! powerbi-models */ "./node_modules/powerbi-models/dist/models.js"); var sdkConfig = __webpack_require__(/*! ./config */ "./src/config.ts"); @@ -10726,12 +8710,11 @@ exports.Embed = Embed; /*!***********************!*\ !*** ./src/errors.ts ***! \***********************/ -/*! no static exports found */ -/***/ (function(module, exports) { +/***/ ((__unused_webpack_module, exports) => { // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. -Object.defineProperty(exports, "__esModule", { value: true }); +Object.defineProperty(exports, "__esModule", ({ value: true })); exports.EmbedUrlNotSupported = exports.APINotSupportedForRDLError = void 0; 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"; @@ -10743,12 +8726,11 @@ exports.EmbedUrlNotSupported = "Embed URL is invalid for this scenario. Please u /*!**************************!*\ !*** ./src/factories.ts ***! \**************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. -Object.defineProperty(exports, "__esModule", { value: true }); +Object.defineProperty(exports, "__esModule", ({ value: true })); exports.routerFactory = exports.wpmpFactory = exports.hpmFactory = void 0; /** * TODO: Need to find better place for these factory functions or refactor how we handle dependency injection @@ -10793,8 +8775,7 @@ exports.routerFactory = routerFactory; /*!*********************!*\ !*** ./src/page.ts ***! \*********************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. @@ -10834,7 +8815,7 @@ var __generator = (this && this.__generator) || function (thisArg, body) { if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true }; } }; -Object.defineProperty(exports, "__esModule", { value: true }); +Object.defineProperty(exports, "__esModule", ({ value: true })); exports.Page = void 0; var powerbi_models_1 = __webpack_require__(/*! powerbi-models */ "./node_modules/powerbi-models/dist/models.js"); var visualDescriptor_1 = __webpack_require__(/*! ./visualDescriptor */ "./src/visualDescriptor.ts"); @@ -11325,76 +9306,13 @@ var Page = /** @class */ (function () { exports.Page = Page; -/***/ }), - -/***/ "./src/powerbi-client.ts": -/*!*******************************!*\ - !*** ./src/powerbi-client.ts ***! - \*******************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -// Copyright (c) Microsoft Corporation. -// Licensed under the MIT License. -Object.defineProperty(exports, "__esModule", { value: true }); -exports.RelativeTimeFilterBuilder = exports.RelativeDateFilterBuilder = exports.TopNFilterBuilder = exports.AdvancedFilterBuilder = exports.BasicFilterBuilder = exports.QuickCreate = exports.VisualDescriptor = exports.Visual = exports.Qna = exports.Page = exports.Embed = exports.Tile = exports.Dashboard = exports.Report = exports.models = exports.factories = exports.service = void 0; -/** - * @hidden - */ -var models = __webpack_require__(/*! powerbi-models */ "./node_modules/powerbi-models/dist/models.js"); -exports.models = models; -var service = __webpack_require__(/*! ./service */ "./src/service.ts"); -exports.service = service; -var factories = __webpack_require__(/*! ./factories */ "./src/factories.ts"); -exports.factories = factories; -var report_1 = __webpack_require__(/*! ./report */ "./src/report.ts"); -Object.defineProperty(exports, "Report", { enumerable: true, get: function () { return report_1.Report; } }); -var dashboard_1 = __webpack_require__(/*! ./dashboard */ "./src/dashboard.ts"); -Object.defineProperty(exports, "Dashboard", { enumerable: true, get: function () { return dashboard_1.Dashboard; } }); -var tile_1 = __webpack_require__(/*! ./tile */ "./src/tile.ts"); -Object.defineProperty(exports, "Tile", { enumerable: true, get: function () { return tile_1.Tile; } }); -var embed_1 = __webpack_require__(/*! ./embed */ "./src/embed.ts"); -Object.defineProperty(exports, "Embed", { enumerable: true, get: function () { return embed_1.Embed; } }); -var page_1 = __webpack_require__(/*! ./page */ "./src/page.ts"); -Object.defineProperty(exports, "Page", { enumerable: true, get: function () { return page_1.Page; } }); -var qna_1 = __webpack_require__(/*! ./qna */ "./src/qna.ts"); -Object.defineProperty(exports, "Qna", { enumerable: true, get: function () { return qna_1.Qna; } }); -var visual_1 = __webpack_require__(/*! ./visual */ "./src/visual.ts"); -Object.defineProperty(exports, "Visual", { enumerable: true, get: function () { return visual_1.Visual; } }); -var visualDescriptor_1 = __webpack_require__(/*! ./visualDescriptor */ "./src/visualDescriptor.ts"); -Object.defineProperty(exports, "VisualDescriptor", { enumerable: true, get: function () { return visualDescriptor_1.VisualDescriptor; } }); -var quickCreate_1 = __webpack_require__(/*! ./quickCreate */ "./src/quickCreate.ts"); -Object.defineProperty(exports, "QuickCreate", { enumerable: true, get: function () { return quickCreate_1.QuickCreate; } }); -var FilterBuilders_1 = __webpack_require__(/*! ./FilterBuilders */ "./src/FilterBuilders/index.ts"); -Object.defineProperty(exports, "BasicFilterBuilder", { enumerable: true, get: function () { return FilterBuilders_1.BasicFilterBuilder; } }); -Object.defineProperty(exports, "AdvancedFilterBuilder", { enumerable: true, get: function () { return FilterBuilders_1.AdvancedFilterBuilder; } }); -Object.defineProperty(exports, "TopNFilterBuilder", { enumerable: true, get: function () { return FilterBuilders_1.TopNFilterBuilder; } }); -Object.defineProperty(exports, "RelativeDateFilterBuilder", { enumerable: true, get: function () { return FilterBuilders_1.RelativeDateFilterBuilder; } }); -Object.defineProperty(exports, "RelativeTimeFilterBuilder", { enumerable: true, get: function () { return FilterBuilders_1.RelativeTimeFilterBuilder; } }); -/** - * Makes Power BI available to the global object for use in applications that don't have module loading support. - * - * Note: create an instance of the class with the default configuration for normal usage, or save the class so that you can create an instance of the service. - */ -var powerbi = new service.Service(factories.hpmFactory, factories.wpmpFactory, factories.routerFactory); -// powerBI SDK may use Power BI object under different key, in order to avoid name collisions -if (window.powerbi && window.powerBISDKGlobalServiceInstanceName) { - window[window.powerBISDKGlobalServiceInstanceName] = powerbi; -} -else { - // Default to Power BI. - window.powerbi = powerbi; -} - - /***/ }), /***/ "./src/qna.ts": /*!********************!*\ !*** ./src/qna.ts ***! \********************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. @@ -11449,7 +9367,7 @@ var __generator = (this && this.__generator) || function (thisArg, body) { if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true }; } }; -Object.defineProperty(exports, "__esModule", { value: true }); +Object.defineProperty(exports, "__esModule", ({ value: true })); exports.Qna = void 0; var powerbi_models_1 = __webpack_require__(/*! powerbi-models */ "./node_modules/powerbi-models/dist/models.js"); var embed_1 = __webpack_require__(/*! ./embed */ "./src/embed.ts"); @@ -11544,8 +9462,7 @@ exports.Qna = Qna; /*!****************************!*\ !*** ./src/quickCreate.ts ***! \****************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. @@ -11600,11 +9517,10 @@ var __generator = (this && this.__generator) || function (thisArg, body) { if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true }; } }; -Object.defineProperty(exports, "__esModule", { value: true }); +Object.defineProperty(exports, "__esModule", ({ value: true })); exports.QuickCreate = void 0; var powerbi_models_1 = __webpack_require__(/*! powerbi-models */ "./node_modules/powerbi-models/dist/models.js"); var embed_1 = __webpack_require__(/*! ./embed */ "./src/embed.ts"); -var assert = __webpack_require__(/*! assert */ "./node_modules/assert/assert.js"); /** * A Power BI Quick Create component * @@ -11637,9 +9553,7 @@ var QuickCreate = /** @class */ (function (_super) { case 2: _c.sent(); return [3 /*break*/, 4]; - case 3: - assert(false, "".concat(req.params.eventName, " eventHook is not supported")); - return [3 /*break*/, 4]; + case 3: return [3 /*break*/, 4]; case 4: return [2 /*return*/]; } }); @@ -11737,8 +9651,7 @@ exports.QuickCreate = QuickCreate; /*!***********************!*\ !*** ./src/report.ts ***! \***********************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. @@ -11802,7 +9715,7 @@ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) { } return to.concat(ar || Array.prototype.slice.call(from)); }; -Object.defineProperty(exports, "__esModule", { value: true }); +Object.defineProperty(exports, "__esModule", ({ value: true })); exports.Report = void 0; var powerbi_models_1 = __webpack_require__(/*! powerbi-models */ "./node_modules/powerbi-models/dist/models.js"); var embed_1 = __webpack_require__(/*! ./embed */ "./src/embed.ts"); @@ -11810,7 +9723,6 @@ var util_1 = __webpack_require__(/*! ./util */ "./src/util.ts"); var errors_1 = __webpack_require__(/*! ./errors */ "./src/errors.ts"); var page_1 = __webpack_require__(/*! ./page */ "./src/page.ts"); var bookmarksManager_1 = __webpack_require__(/*! ./bookmarksManager */ "./src/bookmarksManager.ts"); -var assert = __webpack_require__(/*! assert */ "./node_modules/assert/assert.js"); /** * The Power BI Report embed component * @@ -11864,9 +9776,7 @@ var Report = /** @class */ (function (_super) { case 4: _d.sent(); return [3 /*break*/, 6]; - case 5: - assert(false, "".concat(req.params.eventName, " eventHook is not supported")); - return [3 /*break*/, 6]; + case 5: return [3 /*break*/, 6]; case 6: return [2 /*return*/]; } }); @@ -13234,8 +11144,7 @@ exports.Report = Report; /*!************************!*\ !*** ./src/service.ts ***! \************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. @@ -13286,7 +11195,7 @@ var __generator = (this && this.__generator) || function (thisArg, body) { if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true }; } }; -Object.defineProperty(exports, "__esModule", { value: true }); +Object.defineProperty(exports, "__esModule", ({ value: true })); exports.Service = void 0; var embed_1 = __webpack_require__(/*! ./embed */ "./src/embed.ts"); var report_1 = __webpack_require__(/*! ./report */ "./src/report.ts"); @@ -13864,8 +11773,7 @@ exports.Service = Service; /*!*********************!*\ !*** ./src/tile.ts ***! \*********************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. @@ -13884,7 +11792,7 @@ var __extends = (this && this.__extends) || (function () { d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); }; })(); -Object.defineProperty(exports, "__esModule", { value: true }); +Object.defineProperty(exports, "__esModule", ({ value: true })); exports.Tile = void 0; var powerbi_models_1 = __webpack_require__(/*! powerbi-models */ "./node_modules/powerbi-models/dist/models.js"); var embed_1 = __webpack_require__(/*! ./embed */ "./src/embed.ts"); @@ -13980,8 +11888,7 @@ exports.Tile = Tile; /*!*********************!*\ !*** ./src/util.ts ***! \*********************/ -/*! no static exports found */ -/***/ (function(module, exports) { +/***/ (function(__unused_webpack_module, exports) { // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. @@ -14021,7 +11928,7 @@ var __generator = (this && this.__generator) || function (thisArg, body) { if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true }; } }; -Object.defineProperty(exports, "__esModule", { value: true }); +Object.defineProperty(exports, "__esModule", ({ value: true })); exports.isCreate = exports.getTimeDiffInMilliseconds = exports.getRandomValue = exports.autoAuthInEmbedUrl = exports.isRDLEmbed = exports.isSavedInternal = exports.addParamToUrl = exports.generateUUID = exports.createRandomString = exports.assign = exports.remove = exports.find = exports.findIndex = exports.raiseCustomEvent = void 0; /** * Raises a custom event with event data on the specified HTML element. @@ -14260,8 +12167,7 @@ exports.isCreate = isCreate; /*!***********************!*\ !*** ./src/visual.ts ***! \***********************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. @@ -14316,7 +12222,7 @@ var __generator = (this && this.__generator) || function (thisArg, body) { if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true }; } }; -Object.defineProperty(exports, "__esModule", { value: true }); +Object.defineProperty(exports, "__esModule", ({ value: true })); exports.Visual = void 0; var powerbi_models_1 = __webpack_require__(/*! powerbi-models */ "./node_modules/powerbi-models/dist/models.js"); var report_1 = __webpack_require__(/*! ./report */ "./src/report.ts"); @@ -14634,8 +12540,7 @@ exports.Visual = Visual; /*!*********************************!*\ !*** ./src/visualDescriptor.ts ***! \*********************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. @@ -14675,7 +12580,7 @@ var __generator = (this && this.__generator) || function (thisArg, body) { if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true }; } }; -Object.defineProperty(exports, "__esModule", { value: true }); +Object.defineProperty(exports, "__esModule", ({ value: true })); exports.VisualDescriptor = void 0; var powerbi_models_1 = __webpack_require__(/*! powerbi-models */ "./node_modules/powerbi-models/dist/models.js"); /** @@ -15027,8 +12932,401 @@ var VisualDescriptor = /** @class */ (function () { exports.VisualDescriptor = VisualDescriptor; +/***/ }), + +/***/ "./node_modules/window-post-message-proxy/dist/windowPostMessageProxy.js": +/*!*******************************************************************************!*\ + !*** ./node_modules/window-post-message-proxy/dist/windowPostMessageProxy.js ***! + \*******************************************************************************/ +/***/ (function(module) { + +/*! window-post-message-proxy v0.2.6 | (c) 2016 Microsoft Corporation MIT */ +(function webpackUniversalModuleDefinition(root, factory) { + if(true) + module.exports = factory(); + else {} +})(this, function() { +return /******/ (function(modules) { // webpackBootstrap +/******/ // The module cache +/******/ var installedModules = {}; +/******/ +/******/ // The require function +/******/ function __nested_webpack_require_650__(moduleId) { +/******/ +/******/ // Check if module is in cache +/******/ 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 +/******/ }; +/******/ +/******/ // Execute the module function +/******/ modules[moduleId].call(module.exports, module, module.exports, __nested_webpack_require_650__); +/******/ +/******/ // Flag the module as loaded +/******/ module.loaded = true; +/******/ +/******/ // Return the exports of the module +/******/ return module.exports; +/******/ } +/******/ +/******/ +/******/ // expose the modules object (__webpack_modules__) +/******/ __nested_webpack_require_650__.m = modules; +/******/ +/******/ // expose the module cache +/******/ __nested_webpack_require_650__.c = installedModules; +/******/ +/******/ // __webpack_public_path__ +/******/ __nested_webpack_require_650__.p = ""; +/******/ +/******/ // Load entry module and return exports +/******/ return __nested_webpack_require_650__(0); +/******/ }) +/************************************************************************/ +/******/ ([ +/* 0 */ +/***/ (function(module, exports) { + + "use strict"; + var WindowPostMessageProxy = (function () { + function WindowPostMessageProxy(options) { + var _this = this; + if (options === void 0) { options = { + processTrackingProperties: { + addTrackingProperties: WindowPostMessageProxy.defaultAddTrackingProperties, + getTrackingProperties: WindowPostMessageProxy.defaultGetTrackingProperties + }, + isErrorMessage: WindowPostMessageProxy.defaultIsErrorMessage, + receiveWindow: window, + name: WindowPostMessageProxy.createRandomString() + }; } + this.pendingRequestPromises = {}; + // save options with defaults + this.addTrackingProperties = (options.processTrackingProperties && options.processTrackingProperties.addTrackingProperties) || WindowPostMessageProxy.defaultAddTrackingProperties; + this.getTrackingProperties = (options.processTrackingProperties && options.processTrackingProperties.getTrackingProperties) || WindowPostMessageProxy.defaultGetTrackingProperties; + this.isErrorMessage = options.isErrorMessage || WindowPostMessageProxy.defaultIsErrorMessage; + this.receiveWindow = options.receiveWindow || window; + this.name = options.name || WindowPostMessageProxy.createRandomString(); + this.logMessages = options.logMessages || false; + this.eventSourceOverrideWindow = options.eventSourceOverrideWindow; + this.suppressWarnings = options.suppressWarnings || false; + if (this.logMessages) { + console.log("new WindowPostMessageProxy created with name: " + this.name + " receiving on window: " + this.receiveWindow.document.title); + } + // Initialize + this.handlers = []; + this.windowMessageHandler = function (event) { return _this.onMessageReceived(event); }; + this.start(); + } + // Static + WindowPostMessageProxy.defaultAddTrackingProperties = function (message, trackingProperties) { + message[WindowPostMessageProxy.messagePropertyName] = trackingProperties; + return message; + }; + WindowPostMessageProxy.defaultGetTrackingProperties = function (message) { + return message[WindowPostMessageProxy.messagePropertyName]; + }; + WindowPostMessageProxy.defaultIsErrorMessage = function (message) { + return !!message.error; + }; + /** + * Utility to create a deferred object. + */ + // TODO: Look to use RSVP library instead of doing this manually. + // From what I searched RSVP would work better because it has .finally and .deferred; however, it doesn't have Typings information. + WindowPostMessageProxy.createDeferred = function () { + var deferred = { + resolve: null, + reject: null, + promise: null + }; + var promise = new Promise(function (resolve, reject) { + deferred.resolve = resolve; + deferred.reject = reject; + }); + deferred.promise = promise; + return deferred; + }; + /** + * Utility to generate random sequence of characters used as tracking id for promises. + */ + WindowPostMessageProxy.createRandomString = function () { + // window.msCrypto for IE + var cryptoObj = window.crypto || window.msCrypto; + var randomValueArray = new Uint32Array(1); + cryptoObj.getRandomValues(randomValueArray); + return randomValueArray[0].toString(36).substring(1); + }; + /** + * Adds handler. + * If the first handler whose test method returns true will handle the message and provide a response. + */ + WindowPostMessageProxy.prototype.addHandler = function (handler) { + this.handlers.push(handler); + }; + /** + * Removes handler. + * The reference must match the original object that was provided when adding the handler. + */ + WindowPostMessageProxy.prototype.removeHandler = function (handler) { + var handlerIndex = this.handlers.indexOf(handler); + if (handlerIndex === -1) { + throw new Error("You attempted to remove a handler but no matching handler was found."); + } + this.handlers.splice(handlerIndex, 1); + }; + /** + * Start listening to message events. + */ + WindowPostMessageProxy.prototype.start = function () { + this.receiveWindow.addEventListener('message', this.windowMessageHandler); + }; + /** + * Stops listening to message events. + */ + WindowPostMessageProxy.prototype.stop = function () { + this.receiveWindow.removeEventListener('message', this.windowMessageHandler); + }; + /** + * Post message to target window with tracking properties added and save deferred object referenced by tracking id. + */ + WindowPostMessageProxy.prototype.postMessage = function (targetWindow, message) { + // Add tracking properties to indicate message came from this proxy + var trackingProperties = { id: WindowPostMessageProxy.createRandomString() }; + this.addTrackingProperties(message, trackingProperties); + if (this.logMessages) { + console.log(this.name + " Posting message:"); + console.log(JSON.stringify(message, null, ' ')); + } + targetWindow.postMessage(message, "*"); + var deferred = WindowPostMessageProxy.createDeferred(); + this.pendingRequestPromises[trackingProperties.id] = deferred; + return deferred.promise; + }; + /** + * Send response message to target window. + * Response messages re-use tracking properties from a previous request message. + */ + WindowPostMessageProxy.prototype.sendResponse = function (targetWindow, message, trackingProperties) { + this.addTrackingProperties(message, trackingProperties); + if (this.logMessages) { + console.log(this.name + " Sending response:"); + console.log(JSON.stringify(message, null, ' ')); + } + targetWindow.postMessage(message, "*"); + }; + /** + * Message handler. + */ + WindowPostMessageProxy.prototype.onMessageReceived = function (event) { + var _this = this; + if (this.logMessages) { + console.log(this.name + " Received message:"); + console.log("type: " + event.type); + console.log(JSON.stringify(event.data, null, ' ')); + } + var sendingWindow = this.eventSourceOverrideWindow || event.source; + var message = event.data; + if (typeof message !== "object") { + if (!this.suppressWarnings) { + console.warn("Proxy(" + this.name + "): Received message that was not an object. Discarding message"); + } + return; + } + var trackingProperties; + try { + trackingProperties = this.getTrackingProperties(message); + } + catch (e) { + if (!this.suppressWarnings) { + console.warn("Proxy(" + this.name + "): Error occurred when attempting to get tracking properties from incoming message:", JSON.stringify(message, null, ' '), "Error: ", e); + } + } + var deferred; + if (trackingProperties) { + deferred = this.pendingRequestPromises[trackingProperties.id]; + } + // If message does not have a known ID, treat it as a request + // Otherwise, treat message as response + if (!deferred) { + var handled = this.handlers.some(function (handler) { + var canMessageBeHandled = false; + try { + canMessageBeHandled = handler.test(message); + } + catch (e) { + if (!_this.suppressWarnings) { + console.warn("Proxy(" + _this.name + "): Error occurred when handler was testing incoming message:", JSON.stringify(message, null, ' '), "Error: ", e); + } + } + if (canMessageBeHandled) { + var responseMessagePromise = void 0; + try { + responseMessagePromise = Promise.resolve(handler.handle(message)); + } + catch (e) { + if (!_this.suppressWarnings) { + console.warn("Proxy(" + _this.name + "): Error occurred when handler was processing incoming message:", JSON.stringify(message, null, ' '), "Error: ", e); + } + responseMessagePromise = Promise.resolve(); + } + responseMessagePromise + .then(function (responseMessage) { + if (!responseMessage) { + var warningMessage = "Handler for message: " + JSON.stringify(message, null, ' ') + " did not return a response message. The default response message will be returned instead."; + if (!_this.suppressWarnings) { + console.warn("Proxy(" + _this.name + "): " + warningMessage); + } + responseMessage = { + warning: warningMessage + }; + } + _this.sendResponse(sendingWindow, responseMessage, trackingProperties); + }); + return true; + } + }); + /** + * TODO: Consider returning an error message if nothing handled the message. + * In the case of the Report receiving messages all of them should be handled, + * however, in the case of the SDK receiving messages it's likely it won't register handlers + * for all events. Perhaps make this an option at construction time. + */ + if (!handled && !this.suppressWarnings) { + console.warn("Proxy(" + this.name + ") did not handle message. Handlers: " + this.handlers.length + " Message: " + JSON.stringify(message, null, '') + "."); + } + } + else { + /** + * If error message reject promise, + * Otherwise, resolve promise + */ + var isErrorMessage = true; + try { + isErrorMessage = this.isErrorMessage(message); + } + catch (e) { + console.warn("Proxy(" + this.name + ") Error occurred when trying to determine if message is consider an error response. Message: ", JSON.stringify(message, null, ''), 'Error: ', e); + } + if (isErrorMessage) { + deferred.reject(message); + } + else { + deferred.resolve(message); + } + // TODO: Move to .finally clause up where promise is created for better maitenance like original proxy code. + delete this.pendingRequestPromises[trackingProperties.id]; + } + }; + WindowPostMessageProxy.messagePropertyName = "windowPostMessageProxy"; + return WindowPostMessageProxy; + }()); + exports.WindowPostMessageProxy = WindowPostMessageProxy; + + +/***/ }) +/******/ ]) +}); +; +//# sourceMappingURL=windowPostMessageProxy.js.map + /***/ }) -/******/ }); +/******/ }); +/************************************************************************/ +/******/ // The module cache +/******/ var __webpack_module_cache__ = {}; +/******/ +/******/ // The require function +/******/ function __webpack_require__(moduleId) { +/******/ // Check if module is in cache +/******/ var cachedModule = __webpack_module_cache__[moduleId]; +/******/ if (cachedModule !== undefined) { +/******/ return cachedModule.exports; +/******/ } +/******/ // Create a new module (and put it into the cache) +/******/ var module = __webpack_module_cache__[moduleId] = { +/******/ // no module.id needed +/******/ // no module.loaded needed +/******/ exports: {} +/******/ }; +/******/ +/******/ // Execute the module function +/******/ __webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__); +/******/ +/******/ // Return the exports of the module +/******/ return module.exports; +/******/ } +/******/ +/************************************************************************/ +var __webpack_exports__ = {}; +// This entry need to be wrapped in an IIFE because it need to be isolated against other modules in the chunk. +(() => { +var exports = __webpack_exports__; +/*!*******************************!*\ + !*** ./src/powerbi-client.ts ***! + \*******************************/ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.RelativeTimeFilterBuilder = exports.RelativeDateFilterBuilder = exports.TopNFilterBuilder = exports.AdvancedFilterBuilder = exports.BasicFilterBuilder = exports.QuickCreate = exports.VisualDescriptor = exports.Visual = exports.Qna = exports.Page = exports.Embed = exports.Tile = exports.Dashboard = exports.Report = exports.models = exports.factories = exports.service = void 0; +/** + * @hidden + */ +var models = __webpack_require__(/*! powerbi-models */ "./node_modules/powerbi-models/dist/models.js"); +exports.models = models; +var service = __webpack_require__(/*! ./service */ "./src/service.ts"); +exports.service = service; +var factories = __webpack_require__(/*! ./factories */ "./src/factories.ts"); +exports.factories = factories; +var report_1 = __webpack_require__(/*! ./report */ "./src/report.ts"); +Object.defineProperty(exports, "Report", ({ enumerable: true, get: function () { return report_1.Report; } })); +var dashboard_1 = __webpack_require__(/*! ./dashboard */ "./src/dashboard.ts"); +Object.defineProperty(exports, "Dashboard", ({ enumerable: true, get: function () { return dashboard_1.Dashboard; } })); +var tile_1 = __webpack_require__(/*! ./tile */ "./src/tile.ts"); +Object.defineProperty(exports, "Tile", ({ enumerable: true, get: function () { return tile_1.Tile; } })); +var embed_1 = __webpack_require__(/*! ./embed */ "./src/embed.ts"); +Object.defineProperty(exports, "Embed", ({ enumerable: true, get: function () { return embed_1.Embed; } })); +var page_1 = __webpack_require__(/*! ./page */ "./src/page.ts"); +Object.defineProperty(exports, "Page", ({ enumerable: true, get: function () { return page_1.Page; } })); +var qna_1 = __webpack_require__(/*! ./qna */ "./src/qna.ts"); +Object.defineProperty(exports, "Qna", ({ enumerable: true, get: function () { return qna_1.Qna; } })); +var visual_1 = __webpack_require__(/*! ./visual */ "./src/visual.ts"); +Object.defineProperty(exports, "Visual", ({ enumerable: true, get: function () { return visual_1.Visual; } })); +var visualDescriptor_1 = __webpack_require__(/*! ./visualDescriptor */ "./src/visualDescriptor.ts"); +Object.defineProperty(exports, "VisualDescriptor", ({ enumerable: true, get: function () { return visualDescriptor_1.VisualDescriptor; } })); +var quickCreate_1 = __webpack_require__(/*! ./quickCreate */ "./src/quickCreate.ts"); +Object.defineProperty(exports, "QuickCreate", ({ enumerable: true, get: function () { return quickCreate_1.QuickCreate; } })); +var FilterBuilders_1 = __webpack_require__(/*! ./FilterBuilders */ "./src/FilterBuilders/index.ts"); +Object.defineProperty(exports, "BasicFilterBuilder", ({ enumerable: true, get: function () { return FilterBuilders_1.BasicFilterBuilder; } })); +Object.defineProperty(exports, "AdvancedFilterBuilder", ({ enumerable: true, get: function () { return FilterBuilders_1.AdvancedFilterBuilder; } })); +Object.defineProperty(exports, "TopNFilterBuilder", ({ enumerable: true, get: function () { return FilterBuilders_1.TopNFilterBuilder; } })); +Object.defineProperty(exports, "RelativeDateFilterBuilder", ({ enumerable: true, get: function () { return FilterBuilders_1.RelativeDateFilterBuilder; } })); +Object.defineProperty(exports, "RelativeTimeFilterBuilder", ({ enumerable: true, get: function () { return FilterBuilders_1.RelativeTimeFilterBuilder; } })); +/** + * Makes Power BI available to the global object for use in applications that don't have module loading support. + * + * Note: create an instance of the class with the default configuration for normal usage, or save the class so that you can create an instance of the service. + */ +var powerbi = new service.Service(factories.hpmFactory, factories.wpmpFactory, factories.routerFactory); +// powerBI SDK may use Power BI object under different key, in order to avoid name collisions +if (window.powerbi && window.powerBISDKGlobalServiceInstanceName) { + window[window.powerBISDKGlobalServiceInstanceName] = powerbi; +} +else { + // Default to Power BI. + window.powerbi = powerbi; +} + +})(); + +/******/ return __webpack_exports__; +/******/ })() +; }); //# sourceMappingURL=powerbi.js.map \ No newline at end of file diff --git a/dist/powerbi.min.js b/dist/powerbi.min.js index 16b74bfc..4853e5c8 100644 --- a/dist/powerbi.min.js +++ b/dist/powerbi.min.js @@ -1,21 +1,5 @@ // powerbi-client v2.22.1 // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. -!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){var e={};function r(i){if(e[i])return e[i].exports;var a=e[i]={i:i,l:!1,exports:{}};return t[i].call(a.exports,a,a.exports,r),a.l=!0,a.exports}return r.m=t,r.c=e,r.d=function(t,e,i){r.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:i})},r.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},r.t=function(t,e){if(1&e&&(t=r(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var i=Object.create(null);if(r.r(i),Object.defineProperty(i,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var a in t)r.d(i,a,function(e){return t[e]}.bind(null,a));return i},r.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return r.d(e,"a",e),e},r.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},r.p="",r(r.s=15)}([function(t,e,r){var i;i=()=>{return t=[function(t,e,r){var i,a=this&&this.__extends||(i=function(t,e){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])})(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.SortDirection=e.LegendPosition=e.TextAlignment=e.CommonErrorCodes=e.BookmarksPlayMode=e.ExportDataType=e.QnaMode=e.PageNavigationPosition=e.DataCacheMode=e.CredentialType=e.isPercentOfGrandTotal=e.isColumnAggr=e.isHierarchyLevelAggr=e.isHierarchyLevel=e.isColumn=e.isMeasure=e.getFilterType=e.isBasicFilterWithKeys=e.isFilterKeyColumnsTarget=e.HierarchyFilter=e.AdvancedFilter=e.TupleFilter=e.IdentityFilter=e.BasicFilterWithKeys=e.BasicFilter=e.RelativeTimeFilter=e.RelativeDateFilter=e.TopNFilter=e.IncludeExcludeFilter=e.NotSupportedFilter=e.Filter=e.RelativeDateOperators=e.RelativeDateFilterTimeUnit=e.FilterType=e.FiltersLevel=e.FiltersOperations=e.MenuLocation=e.ContrastMode=e.TokenType=e.ViewMode=e.Permissions=e.SectionVisibility=e.ReportAlignment=e.HyperlinkClickBehavior=e.LayoutType=e.VisualContainerDisplayMode=e.BackgroundType=e.DisplayOption=e.PageSizeType=e.TraceType=void 0,e.validateCommandsSettings=e.validateVisualSettings=e.validateVisualHeader=e.validateExportDataRequest=e.validateQnaInterpretInputData=e.validateLoadQnaConfiguration=e.validateSaveAsParameters=e.validateUpdateFiltersRequest=e.validateFilter=e.validatePage=e.validateTileLoad=e.validateDashboardLoad=e.validateQuickCreate=e.validateCreateReport=e.validatePaginatedReportLoad=e.validateReportLoad=e.validateMenuGroupExtension=e.validateExtension=e.validateCustomPageSize=e.validateVisualizationsPane=e.validateSyncSlicersPane=e.validateSelectionPane=e.validatePageNavigationPane=e.validateFieldsPane=e.validateFiltersPane=e.validateBookmarksPane=e.validatePanes=e.validateSettings=e.validateCaptureBookmarkRequest=e.validateApplyBookmarkStateRequest=e.validateApplyBookmarkByNameRequest=e.validateAddBookmarkRequest=e.validatePlayBookmarkRequest=e.validateSlicerState=e.validateSlicer=e.validateVisualSelector=e.isIExtensionArray=e.isIExtensions=e.isGroupedMenuExtension=e.isFlatMenuExtension=e.isReportFiltersArray=e.isOnLoadFilters=e.VisualDataRoleKindPreference=e.VisualDataRoleKind=e.CommandDisplayOption=e.SlicerTargetSelector=e.VisualTypeSelector=e.VisualSelector=e.PageSelector=e.Selector=void 0,e.validateZoomLevel=e.validateCustomTheme=void 0;var n,o=r(1);!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"}(e.TraceType||(e.TraceType={})),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",t[t.Mobile=5]="Mobile"}(e.PageSizeType||(e.PageSizeType={})),function(t){t[t.FitToPage=0]="FitToPage",t[t.FitToWidth=1]="FitToWidth",t[t.ActualSize=2]="ActualSize"}(e.DisplayOption||(e.DisplayOption={})),function(t){t[t.Default=0]="Default",t[t.Transparent=1]="Transparent"}(e.BackgroundType||(e.BackgroundType={})),function(t){t[t.Visible=0]="Visible",t[t.Hidden=1]="Hidden"}(e.VisualContainerDisplayMode||(e.VisualContainerDisplayMode={})),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={})),function(t){t[t.Navigate=0]="Navigate",t[t.NavigateAndRaiseEvent=1]="NavigateAndRaiseEvent",t[t.RaiseEvent=2]="RaiseEvent"}(e.HyperlinkClickBehavior||(e.HyperlinkClickBehavior={})),function(t){t[t.Left=0]="Left",t[t.Center=1]="Center",t[t.Right=2]="Right",t[t.None=3]="None"}(e.ReportAlignment||(e.ReportAlignment={})),function(t){t[t.AlwaysVisible=0]="AlwaysVisible",t[t.HiddenInViewMode=1]="HiddenInViewMode"}(e.SectionVisibility||(e.SectionVisibility={})),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"}(e.Permissions||(e.Permissions={})),function(t){t[t.View=0]="View",t[t.Edit=1]="Edit"}(e.ViewMode||(e.ViewMode={})),function(t){t[t.Aad=0]="Aad",t[t.Embed=1]="Embed"}(e.TokenType||(e.TokenType={})),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"}(e.ContrastMode||(e.ContrastMode={})),function(t){t[t.Bottom=0]="Bottom",t[t.Top=1]="Top"}(e.MenuLocation||(e.MenuLocation={})),function(t){t[t.RemoveAll=0]="RemoveAll",t[t.ReplaceAll=1]="ReplaceAll",t[t.Add=2]="Add",t[t.Replace=3]="Replace"}(e.FiltersOperations||(e.FiltersOperations={})),function(t){t[t.Report=0]="Report",t[t.Page=1]="Page",t[t.Visual=2]="Visual"}(e.FiltersLevel||(e.FiltersLevel={})),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",t[t.Identity=8]="Identity",t[t.Hierarchy=9]="Hierarchy"}(n=e.FilterType||(e.FilterType={})),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"}(e.RelativeDateFilterTimeUnit||(e.RelativeDateFilterTimeUnit={})),function(t){t[t.InLast=0]="InLast",t[t.InThis=1]="InThis",t[t.InNext=2]="InNext"}(e.RelativeDateOperators||(e.RelativeDateOperators={}));var l=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=l;var s=function(t){function e(r,i,a){var o=t.call(this,r,n.Unknown)||this;return o.message=i,o.notSupportedTypeName=a,o.schemaUrl=e.schemaUrl,o}return a(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}(l);e.NotSupportedFilter=s;var u=function(t){function e(r,i,a){var o=t.call(this,r,n.IncludeExclude)||this;return o.values=a,o.isExclude=i,o.schemaUrl=e.schemaUrl,o}return a(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}(l);e.IncludeExcludeFilter=u;var d=function(t){function e(r,i,a,o){var l=t.call(this,r,n.TopN)||this;return l.operator=i,l.itemCount=a,l.schemaUrl=e.schemaUrl,l.orderBy=o,l}return a(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}(l);e.TopNFilter=d;var c=function(t){function e(r,i,a,o,l){var s=t.call(this,r,n.RelativeDate)||this;return s.operator=i,s.timeUnitsCount=a,s.timeUnitType=o,s.includeToday=l,s.schemaUrl=e.schemaUrl,s}return a(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}(l);e.RelativeDateFilter=c;var p=function(t){function e(r,i,a,o){var l=t.call(this,r,n.RelativeTime)||this;return l.operator=i,l.timeUnitsCount=a,l.timeUnitType=o,l.schemaUrl=e.schemaUrl,l}return a(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}(l);e.RelativeTimeFilter=p;var f=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 ".concat(o," keys"));if(0===o&&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,s=n.keyValues;l2)throw new Error("AdvancedFilters may not have more than two conditions. You passed: ".concat(a.length));if(1===l.length&&"And"!==i)throw new Error('Logical Operator must be "And" when there is only one condition provided');return s.conditions=l,s}return a(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}(l);e.AdvancedFilter=m;var V=function(t){function e(r,i){var a=t.call(this,r,n.Hierarchy)||this;return a.schemaUrl=e.schemaUrl,a.hierarchyData=i,a}return a(e,t),e.prototype.toJSON=function(){var e=t.prototype.toJSON.call(this);return e.hierarchyData=this.hierarchyData,e.target=this.target,e},e.schemaUrl="http://powerbi.com/product/schema#hierarchy",e}(l);function g(t){if(t.filterType)return t.filterType;var e=t,r=t;return"string"==typeof e.operator&&Array.isArray(e.values)?n.Basic:"string"==typeof r.logicalOperator&&Array.isArray(r.conditions)?n.Advanced:n.Unknown}function b(t){return!(!t.table||!t.column||t.aggregationFunction)}e.HierarchyFilter=V,e.isFilterKeyColumnsTarget=function(t){return b(t)&&!!t.keys},e.isBasicFilterWithKeys=function(t){return g(t)===n.Basic&&!!t.keyValues},e.getFilterType=g,e.isMeasure=function(t){return void 0!==t.table&&void 0!==t.measure},e.isColumn=b,e.isHierarchyLevel=function(t){return!(!(t.table&&t.hierarchy&&t.hierarchyLevel)||t.aggregationFunction)},e.isHierarchyLevelAggr=function(t){return!!(t.table&&t.hierarchy&&t.hierarchyLevel&&t.aggregationFunction)},e.isColumnAggr=function(t){return!!(t.table&&t.column&&t.aggregationFunction)},e.isPercentOfGrandTotal=function(t){return!!t.percentOfGrandTotal},function(t){t[t.NoConnection=0]="NoConnection",t[t.OnBehalfOf=1]="OnBehalfOf",t[t.Anonymous=2]="Anonymous"}(e.CredentialType||(e.CredentialType={})),function(t){t[t.Import=0]="Import",t[t.DirectQuery=1]="DirectQuery"}(e.DataCacheMode||(e.DataCacheMode={})),function(t){t[t.Bottom=0]="Bottom",t[t.Left=1]="Left"}(e.PageNavigationPosition||(e.PageNavigationPosition={})),function(t){t[t.Interactive=0]="Interactive",t[t.ResultOnly=1]="ResultOnly"}(e.QnaMode||(e.QnaMode={})),function(t){t[t.Summarized=0]="Summarized",t[t.Underlying=1]="Underlying"}(e.ExportDataType||(e.ExportDataType={})),function(t){t[t.Off=0]="Off",t[t.Presentation=1]="Presentation"}(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"},function(t){t[t.Ascending=1]="Ascending",t[t.Descending=2]="Descending"}(e.SortDirection||(e.SortDirection={}));var w=function(){function t(t){this.$schema=t}return t.prototype.toJSON=function(){return{$schema:this.$schema}},t}();e.Selector=w;var O=function(t){function e(r){var i=t.call(this,e.schemaUrl)||this;return i.pageName=r,i}return a(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}(w);e.PageSelector=O;var S=function(t){function e(r){var i=t.call(this,e.schemaUrl)||this;return i.visualName=r,i}return a(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}(w);e.VisualSelector=S;var P=function(t){function e(e){var r=t.call(this,S.schemaUrl)||this;return r.visualType=e,r}return a(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}(w);e.VisualTypeSelector=P;var _=function(t){function e(e){var r=t.call(this,S.schemaUrl)||this;return r.target=e,r}return a(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}(w);function E(t){return Array.isArray(t)}function T(t){return t&&!!t.groupName}function F(t){return Array.isArray(t)}function C(t){var e=t.message;return e||(e="".concat(t.path," is invalid. Not meeting ").concat(t.keyword," constraint")),{message:e}}e.SlicerTargetSelector=_,function(t){t[t.Enabled=0]="Enabled",t[t.Disabled=1]="Disabled",t[t.Hidden=2]="Hidden"}(e.CommandDisplayOption||(e.CommandDisplayOption={})),function(t){t[t.Grouping=0]="Grouping",t[t.Measure=1]="Measure",t[t.GroupingOrMeasure=2]="GroupingOrMeasure"}(e.VisualDataRoleKind||(e.VisualDataRoleKind={})),function(t){t[t.Measure=0]="Measure",t[t.Grouping=1]="Grouping"}(e.VisualDataRoleKindPreference||(e.VisualDataRoleKindPreference={})),e.isOnLoadFilters=function(t){return t&&!E(t)},e.isReportFiltersArray=E,e.isFlatMenuExtension=function(t){return t&&!T(t)},e.isGroupedMenuExtension=T,e.isIExtensions=function(t){return t&&!F(t)},e.isIExtensionArray=F,e.validateVisualSelector=function(t){var e=o.Validators.visualSelectorValidator.validate(t);return e?e.map(C):void 0},e.validateSlicer=function(t){var e=o.Validators.slicerValidator.validate(t);return e?e.map(C):void 0},e.validateSlicerState=function(t){var e=o.Validators.slicerStateValidator.validate(t);return e?e.map(C):void 0},e.validatePlayBookmarkRequest=function(t){var e=o.Validators.playBookmarkRequestValidator.validate(t);return e?e.map(C):void 0},e.validateAddBookmarkRequest=function(t){var e=o.Validators.addBookmarkRequestValidator.validate(t);return e?e.map(C):void 0},e.validateApplyBookmarkByNameRequest=function(t){var e=o.Validators.applyBookmarkByNameRequestValidator.validate(t);return e?e.map(C):void 0},e.validateApplyBookmarkStateRequest=function(t){var e=o.Validators.applyBookmarkStateRequestValidator.validate(t);return e?e.map(C):void 0},e.validateCaptureBookmarkRequest=function(t){var e=o.Validators.captureBookmarkRequestValidator.validate(t);return e?e.map(C):void 0},e.validateSettings=function(t){var e=o.Validators.settingsValidator.validate(t);return e?e.map(C):void 0},e.validatePanes=function(t){var e=o.Validators.reportPanesValidator.validate(t);return e?e.map(C):void 0},e.validateBookmarksPane=function(t){var e=o.Validators.bookmarksPaneValidator.validate(t);return e?e.map(C):void 0},e.validateFiltersPane=function(t){var e=o.Validators.filtersPaneValidator.validate(t);return e?e.map(C):void 0},e.validateFieldsPane=function(t){var e=o.Validators.fieldsPaneValidator.validate(t);return e?e.map(C):void 0},e.validatePageNavigationPane=function(t){var e=o.Validators.pageNavigationPaneValidator.validate(t);return e?e.map(C):void 0},e.validateSelectionPane=function(t){var e=o.Validators.selectionPaneValidator.validate(t);return e?e.map(C):void 0},e.validateSyncSlicersPane=function(t){var e=o.Validators.syncSlicersPaneValidator.validate(t);return e?e.map(C):void 0},e.validateVisualizationsPane=function(t){var e=o.Validators.visualizationsPaneValidator.validate(t);return e?e.map(C):void 0},e.validateCustomPageSize=function(t){var e=o.Validators.customPageSizeValidator.validate(t);return e?e.map(C):void 0},e.validateExtension=function(t){var e=o.Validators.extensionValidator.validate(t);return e?e.map(C):void 0},e.validateMenuGroupExtension=function(t){var e=o.Validators.menuGroupExtensionValidator.validate(t);return e?e.map(C):void 0},e.validateReportLoad=function(t){var e=o.Validators.reportLoadValidator.validate(t);return e?e.map(C):void 0},e.validatePaginatedReportLoad=function(t){var e=o.Validators.paginatedReportLoadValidator.validate(t);return e?e.map(C):void 0},e.validateCreateReport=function(t){var e=o.Validators.reportCreateValidator.validate(t);return e?e.map(C):void 0},e.validateQuickCreate=function(t){var e=o.Validators.quickCreateValidator.validate(t);return e?e.map(C):void 0},e.validateDashboardLoad=function(t){var e=o.Validators.dashboardLoadValidator.validate(t);return e?e.map(C):void 0},e.validateTileLoad=function(t){var e=o.Validators.tileLoadValidator.validate(t);return e?e.map(C):void 0},e.validatePage=function(t){var e=o.Validators.pageValidator.validate(t);return e?e.map(C):void 0},e.validateFilter=function(t){var e=o.Validators.filterValidator.validate(t);return e?e.map(C):void 0},e.validateUpdateFiltersRequest=function(t){var e=o.Validators.updateFiltersRequestValidator.validate(t);return e?e.map(C):void 0},e.validateSaveAsParameters=function(t){var e=o.Validators.saveAsParametersValidator.validate(t);return e?e.map(C):void 0},e.validateLoadQnaConfiguration=function(t){var e=o.Validators.loadQnaValidator.validate(t);return e?e.map(C):void 0},e.validateQnaInterpretInputData=function(t){var e=o.Validators.qnaInterpretInputDataValidator.validate(t);return e?e.map(C):void 0},e.validateExportDataRequest=function(t){var e=o.Validators.exportDataRequestValidator.validate(t);return e?e.map(C):void 0},e.validateVisualHeader=function(t){var e=o.Validators.visualHeaderValidator.validate(t);return e?e.map(C):void 0},e.validateVisualSettings=function(t){var e=o.Validators.visualSettingsValidator.validate(t);return e?e.map(C):void 0},e.validateCommandsSettings=function(t){var e=o.Validators.commandsSettingsValidator.validate(t);return e?e.map(C):void 0},e.validateCustomTheme=function(t){var e=o.Validators.customThemeValidator.validate(t);return e?e.map(C):void 0},e.validateZoomLevel=function(t){var e=o.Validators.zoomLevelValidator.validate(t);return e?e.map(C):void 0}},(t,e,r)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.Validators=void 0;var i=r(2),a=r(5),n=r(6),o=r(7),l=r(8),s=r(9),u=r(10),d=r(11),c=r(12),p=r(13),f=r(14),h=r(15),v=r(16),y=r(17),m=r(18),V=r(19),g=r(20),b=r(21),w=r(22),O=r(23),S=r(24),P=r(25),_=r(26),E=r(27),T=r(28),F=r(29),C=r(4),x=r(30),k=r(31),R=r(32);e.Validators={addBookmarkRequestValidator:new a.AddBookmarkRequestValidator,advancedFilterTypeValidator:new C.EnumValidator([0]),advancedFilterValidator:new c.AdvancedFilterValidator,anyArrayValidator:new C.ArrayValidator([new _.AnyOfValidator([new C.StringValidator,new C.NumberValidator,new C.BooleanValidator])]),anyFilterValidator:new _.AnyOfValidator([new c.BasicFilterValidator,new c.AdvancedFilterValidator,new c.IncludeExcludeFilterValidator,new c.NotSupportedFilterValidator,new c.RelativeDateFilterValidator,new c.TopNFilterValidator,new c.RelativeTimeFilterValidator,new c.HierarchyFilterValidator]),anyValueValidator:new _.AnyOfValidator([new C.StringValidator,new C.NumberValidator,new C.BooleanValidator]),actionBarValidator:new i.ActionBarValidator,statusBarValidator:new i.StatusBarValidator,applyBookmarkByNameRequestValidator:new a.ApplyBookmarkByNameRequestValidator,applyBookmarkStateRequestValidator:new a.ApplyBookmarkStateRequestValidator,applyBookmarkValidator:new _.AnyOfValidator([new a.ApplyBookmarkByNameRequestValidator,new a.ApplyBookmarkStateRequestValidator]),backgroundValidator:new C.EnumValidator([0,1]),basicFilterTypeValidator:new C.EnumValidator([1]),basicFilterValidator:new c.BasicFilterValidator,booleanArrayValidator:new C.BooleanArrayValidator,booleanValidator:new C.BooleanValidator,bookmarksPaneValidator:new h.BookmarksPaneValidator,captureBookmarkOptionsValidator:new a.CaptureBookmarkOptionsValidator,captureBookmarkRequestValidator:new a.CaptureBookmarkRequestValidator,columnSchemaArrayValidator:new C.ArrayValidator([new k.ColumnSchemaValidator]),commandDisplayOptionValidator:new C.EnumValidator([0,1,2]),commandExtensionSelectorValidator:new _.AnyOfValidator([new b.VisualSelectorValidator,new b.VisualTypeSelectorValidator]),commandExtensionArrayValidator:new C.ArrayValidator([new d.CommandExtensionValidator]),commandExtensionValidator:new d.CommandExtensionValidator,commandsSettingsArrayValidator:new C.ArrayValidator([new n.CommandsSettingsValidator]),commandsSettingsValidator:new n.CommandsSettingsValidator,conditionItemValidator:new c.ConditionItemValidator,contrastModeValidator:new C.EnumValidator([0,1,2,3,4]),credentialDetailsValidator:new F.MapValidator([new C.StringValidator],[new C.StringValidator]),credentialsValidator:new k.CredentialsValidator,credentialTypeValidator:new C.EnumValidator([0,1,2]),customLayoutDisplayOptionValidator:new C.EnumValidator([0,1,2]),customLayoutValidator:new p.CustomLayoutValidator,customPageSizeValidator:new f.CustomPageSizeValidator,customThemeValidator:new o.CustomThemeValidator,dashboardLoadValidator:new l.DashboardLoadValidator,dataCacheModeValidator:new C.EnumValidator([0,1]),datasetBindingValidator:new s.DatasetBindingValidator,datasetCreateConfigValidator:new k.DatasetCreateConfigValidator,datasourceConnectionConfigValidator:new k.DatasourceConnectionConfigValidator,displayStateModeValidator:new C.EnumValidator([0,1]),displayStateValidator:new p.DisplayStateValidator,exportDataRequestValidator:new u.ExportDataRequestValidator,extensionArrayValidator:new C.ArrayValidator([new d.ExtensionValidator]),extensionsValidator:new _.AnyOfValidator([new C.ArrayValidator([new d.ExtensionValidator]),new d.ExtensionsValidator]),extensionPointsValidator:new d.ExtensionPointsValidator,extensionValidator:new d.ExtensionValidator,fieldForbiddenValidator:new E.FieldForbiddenValidator,fieldRequiredValidator:new T.FieldRequiredValidator,fieldsPaneValidator:new h.FieldsPaneValidator,filterColumnTargetValidator:new c.FilterColumnTargetValidator,filterDisplaySettingsValidator:new c.FilterDisplaySettingsValidator,filterConditionsValidator:new C.ArrayValidator([new c.ConditionItemValidator]),filterHierarchyTargetValidator:new c.FilterHierarchyTargetValidator,filterMeasureTargetValidator:new c.FilterMeasureTargetValidator,filterTargetValidator:new _.AnyOfValidator([new c.FilterColumnTargetValidator,new c.FilterHierarchyTargetValidator,new c.FilterMeasureTargetValidator,new C.ArrayValidator([new _.AnyOfValidator([new c.FilterColumnTargetValidator,new c.FilterHierarchyTargetValidator,new c.FilterMeasureTargetValidator,new c.FilterKeyColumnsTargetValidator,new c.FilterKeyHierarchyTargetValidator])])]),filterValidator:new c.FilterValidator,filterTypeValidator:new C.EnumValidator([0,1,2,3,4,5,6,7,9]),filtersArrayValidator:new C.ArrayValidator([new c.FilterValidator]),filtersOperationsUpdateValidator:new C.EnumValidator([1,2,3]),filtersOperationsRemoveAllValidator:new C.EnumValidator([0]),filtersPaneValidator:new h.FiltersPaneValidator,hyperlinkClickBehaviorValidator:new C.EnumValidator([0,1,2]),includeExcludeFilterValidator:new c.IncludeExcludeFilterValidator,includeExludeFilterTypeValidator:new C.EnumValidator([3]),hierarchyFilterTypeValidator:new C.EnumValidator([9]),hierarchyFilterValuesValidator:new C.ArrayValidator([new c.HierarchyFilterNodeValidator]),layoutTypeValidator:new C.EnumValidator([0,1,2,3]),loadQnaValidator:new v.LoadQnaValidator,menuExtensionValidator:new _.AnyOfValidator([new d.FlatMenuExtensionValidator,new d.GroupedMenuExtensionValidator]),menuGroupExtensionArrayValidator:new C.ArrayValidator([new d.MenuGroupExtensionValidator]),menuGroupExtensionValidator:new d.MenuGroupExtensionValidator,menuLocationValidator:new C.EnumValidator([0,1]),notSupportedFilterTypeValidator:new C.EnumValidator([2]),notSupportedFilterValidator:new c.NotSupportedFilterValidator,numberArrayValidator:new C.NumberArrayValidator,numberValidator:new C.NumberValidator,onLoadFiltersBaseValidator:new _.AnyOfValidator([new c.OnLoadFiltersBaseValidator,new c.OnLoadFiltersBaseRemoveOperationValidator]),pageLayoutValidator:new F.MapValidator([new C.StringValidator],[new p.VisualLayoutValidator]),pageNavigationPaneValidator:new h.PageNavigationPaneValidator,pageNavigationPositionValidator:new C.EnumValidator([0,1]),pageSizeTypeValidator:new C.EnumValidator([0,1,2,3,4,5]),pageSizeValidator:new f.PageSizeValidator,pageValidator:new f.PageValidator,pageViewFieldValidator:new f.PageViewFieldValidator,pagesLayoutValidator:new F.MapValidator([new C.StringValidator],[new p.PageLayoutValidator]),paginatedReportCommandsValidator:new n.PaginatedReportCommandsValidator,paginatedReportLoadValidator:new V.PaginatedReportLoadValidator,paginatedReportsettingsValidator:new w.PaginatedReportSettingsValidator,parameterValuesArrayValidator:new C.ArrayValidator([new V.ReportParameterFieldsValidator]),parametersPanelValidator:new x.ParametersPanelValidator,permissionsValidator:new C.EnumValidator([0,1,2,4,7]),playBookmarkRequestValidator:new a.PlayBookmarkRequestValidator,qnaInterpretInputDataValidator:new v.QnaInterpretInputDataValidator,qnaPanesValidator:new h.QnaPanesValidator,qnaSettingValidator:new v.QnaSettingsValidator,quickCreateValidator:new R.QuickCreateValidator,rawDataValidator:new C.ArrayValidator([new C.ArrayValidator([new C.StringValidator])]),relativeDateFilterOperatorValidator:new C.EnumValidator([0,1,2]),relativeDateFilterTimeUnitTypeValidator:new C.EnumValidator([0,1,2,3,4,5,6]),relativeDateFilterTypeValidator:new C.EnumValidator([4]),relativeDateFilterValidator:new c.RelativeDateFilterValidator,relativeDateTimeFilterTypeValidator:new C.EnumValidator([4,7]),relativeDateTimeFilterUnitTypeValidator:new C.EnumValidator([0,1,2,3,4,5,6,7,8]),relativeTimeFilterTimeUnitTypeValidator:new C.EnumValidator([7,8]),relativeTimeFilterTypeValidator:new C.EnumValidator([7]),relativeTimeFilterValidator:new c.RelativeTimeFilterValidator,reportBarsValidator:new i.ReportBarsValidator,reportCreateValidator:new y.ReportCreateValidator,reportLoadFiltersValidator:new _.AnyOfValidator([new C.ArrayValidator([new c.FilterValidator]),new c.OnLoadFiltersValidator]),reportLoadValidator:new m.ReportLoadValidator,reportPanesValidator:new h.ReportPanesValidator,saveAsParametersValidator:new g.SaveAsParametersValidator,selectionPaneValidator:new h.SelectionPaneValidator,settingsValidator:new w.SettingsValidator,singleCommandSettingsValidator:new n.SingleCommandSettingsValidator,slicerSelectorValidator:new _.AnyOfValidator([new b.VisualSelectorValidator,new b.SlicerTargetSelectorValidator]),slicerStateValidator:new O.SlicerStateValidator,slicerTargetValidator:new _.AnyOfValidator([new c.FilterColumnTargetValidator,new c.FilterHierarchyTargetValidator,new c.FilterMeasureTargetValidator,new c.FilterKeyColumnsTargetValidator,new c.FilterKeyHierarchyTargetValidator]),slicerValidator:new O.SlicerValidator,stringArrayValidator:new C.StringArrayValidator,stringValidator:new C.StringValidator,syncSlicersPaneValidator:new h.SyncSlicersPaneValidator,tableDataArrayValidator:new C.ArrayValidator([new k.TableDataValidator]),tableSchemaListValidator:new C.ArrayValidator([new k.TableSchemaValidator]),tileLoadValidator:new S.TileLoadValidator,tokenTypeValidator:new C.EnumValidator([0,1]),topNFilterTypeValidator:new C.EnumValidator([5]),topNFilterValidator:new c.TopNFilterValidator,updateFiltersRequestValidator:new _.AnyOfValidator([new c.UpdateFiltersRequestValidator,new c.RemoveFiltersRequestValidator]),viewModeValidator:new C.EnumValidator([0,1]),visualCommandSelectorValidator:new _.AnyOfValidator([new b.VisualSelectorValidator,new b.VisualTypeSelectorValidator]),visualHeaderSelectorValidator:new _.AnyOfValidator([new b.VisualSelectorValidator,new b.VisualTypeSelectorValidator]),visualHeaderSettingsValidator:new P.VisualHeaderSettingsValidator,visualHeaderValidator:new P.VisualHeaderValidator,visualHeadersValidator:new C.ArrayValidator([new P.VisualHeaderValidator]),visualizationsPaneValidator:new h.VisualizationsPaneValidator,visualLayoutValidator:new p.VisualLayoutValidator,visualSelectorValidator:new b.VisualSelectorValidator,visualSettingsValidator:new P.VisualSettingsValidator,visualTypeSelectorValidator:new b.VisualTypeSelectorValidator,zoomLevelValidator:new C.RangeValidator(.25,4)}},function(t,e,r){var i,a=this&&this.__extends||(i=function(t,e){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])})(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.StatusBarValidator=e.ActionBarValidator=e.ReportBarsValidator=void 0;var n=r(3),o=r(4),l=r(1),s=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return a(e,t),e.prototype.validate=function(e,r,i){if(null==e)return null;var a=t.prototype.validate.call(this,e,r,i);if(a)return a;var o=[{field:"actionBar",validators:[l.Validators.actionBarValidator]},{field:"statusBar",validators:[l.Validators.statusBarValidator]}];return new n.MultipleFieldsValidator(o).validate(e,r,i)},e}(o.ObjectValidator);e.ReportBarsValidator=s;var u=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return a(e,t),e.prototype.validate=function(e,r,i){if(null==e)return null;var a=t.prototype.validate.call(this,e,r,i);if(a)return a;var o=[{field:"visible",validators:[l.Validators.booleanValidator]}];return new n.MultipleFieldsValidator(o).validate(e,r,i)},e}(o.ObjectValidator);e.ActionBarValidator=u;var d=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return a(e,t),e.prototype.validate=function(e,r,i){if(null==e)return null;var a=t.prototype.validate.call(this,e,r,i);if(a)return a;var o=[{field:"visible",validators:[l.Validators.booleanValidator]}];return new n.MultipleFieldsValidator(o).validate(e,r,i)},e}(o.ObjectValidator);e.StatusBarValidator=d},(t,e)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.MultipleFieldsValidator=void 0;var r=function(){function t(t){this.fieldValidatorsPairs=t}return t.prototype.validate=function(t,e,r){if(!this.fieldValidatorsPairs)return null;for(var i=e?e+"."+r:r,a=0,n=this.fieldValidatorsPairs;athis.maxValue||e{Object.defineProperty(e,"__esModule",{value:!0}),e.AnyOfValidator=void 0;var r=function(){function t(t){this.validators=t}return t.prototype.validate=function(t,e,r){if(null==t)return null;for(var i=!1,a=0,n=this.validators;a{Object.defineProperty(e,"__esModule",{value:!0}),e.FieldForbiddenValidator=void 0;var r=function(){function t(){}return t.prototype.validate=function(t,e,r){return void 0!==t?[{message:r+" is forbidden",path:(e?e+".":"")+r,keyword:"forbidden"}]:null},t}();e.FieldForbiddenValidator=r},(t,e)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.FieldRequiredValidator=void 0;var r=function(){function t(){}return t.prototype.validate=function(t,e,r){return null==t?[{message:r+" is required",path:(e?e+".":"")+r,keyword:"required"}]:null},t}();e.FieldRequiredValidator=r},function(t,e,r){var i,a=this&&this.__extends||(i=function(t,e){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])})(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.MapValidator=void 0;var n=function(t){function e(e,r){var i=t.call(this)||this;return i.keyValidators=e,i.valueValidators=r,i}return a(e,t),e.prototype.validate=function(e,r,i){if(null==e)return null;var a=t.prototype.validate.call(this,e,r,i);if(a)return a;for(var n in e)if(e.hasOwnProperty(n)){for(var o=(r?r+".":"")+i+"."+n,l=0,s=this.keyValidators;l0&&a[a.length-1])||6!==n[0]&&2!==n[0])){o=0;continue}if(3===n[0]&&(!a||n[1]>a[0]&&n[1]0&&a[a.length-1])||6!==n[0]&&2!==n[0])){o=0;continue}if(3===n[0]&&(!a||n[1]>a[0]&&n[1]0?"&":"?";return t+=i+e+"="+r},e.isSavedInternal=function(t,e,a){return r(this,void 0,void 0,(function(){return i(this,(function(r){switch(r.label){case 0:return r.trys.push([0,2,,3]),[4,t.get("/report/hasUnsavedChanges",{uid:e},a)];case 1:return[2,!r.sent().body];case 2:throw r.sent().body;case 3:return[2]}}))}))},e.isRDLEmbed=function(t){return t&&t.toLowerCase().indexOf("/rdlembed?")>=0},e.autoAuthInEmbedUrl=function(t){return t&&decodeURIComponent(t).toLowerCase().indexOf("autoauth=true")>=0},e.getRandomValue=n,e.getTimeDiffInMilliseconds=function(t,e){return Math.abs(t.getTime()-e.getTime())},e.isCreate=function(t){return"create"===t||"quickcreate"===t}},function(t,e){Object.defineProperty(e,"__esModule",{value:!0}),e.FilterBuilder=void 0;var r=function(){function t(){}return t.prototype.withTargetObject=function(t){return this.target=t,this},t.prototype.withColumnTarget=function(t,e){return this.target={table:t,column:e},this},t.prototype.withMeasureTarget=function(t,e){return this.target={table:t,measure:e},this},t.prototype.withHierarchyLevelTarget=function(t,e,r){return this.target={table:t,hierarchy:e,hierarchyLevel:r},this},t.prototype.withColumnAggregation=function(t,e,r){return this.target={table:t,column:e,aggregationFunction:r},this},t.prototype.withHierarchyLevelAggregationTarget=function(t,e,r,i){return this.target={table:t,hierarchy:e,hierarchyLevel:r,aggregationFunction:i},this},t}();e.FilterBuilder=r},function(t,e){Object.defineProperty(e,"__esModule",{value:!0}),e.EmbedUrlNotSupported=e.APINotSupportedForRDLError=void 0,e.APINotSupportedForRDLError="This API is currently not supported for RDL reports",e.EmbedUrlNotSupported="Embed URL is invalid for this scenario. Please use Power BI REST APIs to get the valid URL"},function(t,e){Object.defineProperty(e,"__esModule",{value:!0});e.default={version:"2.22.1",type:"js"}},function(t,e,r){var i,a=this&&this.__extends||(i=function(t,e){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])})(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}),n=this&&this.__awaiter||function(t,e,r,i){return new(r||(r=Promise))((function(a,n){function o(t){try{s(i.next(t))}catch(t){n(t)}}function l(t){try{s(i.throw(t))}catch(t){n(t)}}function s(t){var e;t.done?a(t.value):(e=t.value,e instanceof r?e:new r((function(t){t(e)}))).then(o,l)}s((i=i.apply(t,e||[])).next())}))},o=this&&this.__generator||function(t,e){var r,i,a,n,o={label:0,sent:function(){if(1&a[0])throw a[1];return a[1]},trys:[],ops:[]};return n={next:l(0),throw:l(1),return:l(2)},"function"==typeof Symbol&&(n[Symbol.iterator]=function(){return this}),n;function l(n){return function(l){return function(n){if(r)throw new TypeError("Generator is already executing.");for(;o;)try{if(r=1,i&&(a=2&n[0]?i.return:n[0]?i.throw||((a=i.return)&&a.call(i),0):i.next)&&!(a=a.call(i,n[1])).done)return a;switch(i=0,a&&(n=[2&n[0],a.value]),n[0]){case 0:case 1:a=n;break;case 4:return o.label++,{value:n[1],done:!1};case 5:o.label++,i=n[1],n=[0];continue;case 7:n=o.ops.pop(),o.trys.pop();continue;default:if(!(a=o.trys,(a=a.length>0&&a[a.length-1])||6!==n[0]&&2!==n[0])){o=0;continue}if(3===n[0]&&(!a||n[1]>a[0]&&n[1]0&&a[a.length-1])||6!==n[0]&&2!==n[0])){o=0;continue}if(3===n[0]&&(!a||n[1]>a[0]&&n[1]0&&a[a.length-1])||6!==n[0]&&2!==n[0])){o=0;continue}if(3===n[0]&&(!a||n[1]>a[0]&&n[1] - * @license MIT - */function a(t,e){if(t===e)return 0;for(var r=t.length,i=e.length,a=0,n=Math.min(r,i);a=0;u--)if(d[u]!==c[u])return!1;for(u=d.length-1;u>=0;u--)if(l=d[u],!g(t[l],e[l],r,i))return!1;return!0}(t,e,r,i))}return r?t===e:t==e}function b(t){return"[object Arguments]"==Object.prototype.toString.call(t)}function w(t,e){if(!t||!e)return!1;if("[object RegExp]"==Object.prototype.toString.call(e))return e.test(t);try{if(t instanceof e)return!0}catch(t){}return!Error.isPrototypeOf(e)&&!0===e.call({},t)}function O(t,e,r,i){var a;if("function"!=typeof e)throw new TypeError('"block" argument must be a function');"string"==typeof r&&(i=r,r=null),a=function(t){var e;try{t()}catch(t){e=t}return e}(e),i=(r&&r.name?" ("+r.name+").":".")+(i?" "+i:"."),t&&!a&&m(a,r,"Missing expected exception"+i);var n="string"==typeof i,l=!t&&a&&!r;if((!t&&o.isError(a)&&n&&w(a,r)||l)&&m(a,r,"Got unwanted exception"+i),t&&a&&r&&!w(a,r)||!t&&a)throw a}p.AssertionError=function(t){var e;this.name="AssertionError",this.actual=t.actual,this.expected=t.expected,this.operator=t.operator,t.message?(this.message=t.message,this.generatedMessage=!1):(this.message=v(y((e=this).actual),128)+" "+e.operator+" "+v(y(e.expected),128),this.generatedMessage=!0);var r=t.stackStartFunction||m;if(Error.captureStackTrace)Error.captureStackTrace(this,r);else{var i=new Error;if(i.stack){var a=i.stack,n=h(r),o=a.indexOf("\n"+n);if(o>=0){var l=a.indexOf("\n",o+1);a=a.substring(l+1)}this.stack=a}}},o.inherits(p.AssertionError,Error),p.fail=m,p.ok=V,p.equal=function(t,e,r){t!=e&&m(t,e,r,"==",p.equal)},p.notEqual=function(t,e,r){t==e&&m(t,e,r,"!=",p.notEqual)},p.deepEqual=function(t,e,r){g(t,e,!1)||m(t,e,r,"deepEqual",p.deepEqual)},p.deepStrictEqual=function(t,e,r){g(t,e,!0)||m(t,e,r,"deepStrictEqual",p.deepStrictEqual)},p.notDeepEqual=function(t,e,r){g(t,e,!1)&&m(t,e,r,"notDeepEqual",p.notDeepEqual)},p.notDeepStrictEqual=function t(e,r,i){g(e,r,!0)&&m(e,r,i,"notDeepStrictEqual",t)},p.strictEqual=function(t,e,r){t!==e&&m(t,e,r,"===",p.strictEqual)},p.notStrictEqual=function(t,e,r){t===e&&m(t,e,r,"!==",p.notStrictEqual)},p.throws=function(t,e,r){O(!0,t,e,r)},p.doesNotThrow=function(t,e,r){O(!1,t,e,r)},p.ifError=function(t){if(t)throw t},p.strict=i((function t(e,r){e||m(e,!0,r,"==",t)}),p,{equal:p.strictEqual,deepEqual:p.deepStrictEqual,notEqual:p.notStrictEqual,notDeepEqual:p.notDeepStrictEqual}),p.strict.strict=p.strict;var S=Object.keys||function(t){var e=[];for(var r in t)l.call(t,r)&&e.push(r);return e}}).call(this,r(18))},function(t,e,r){var i,a=this&&this.__extends||(i=function(t,e){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])})(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.Dashboard=void 0;var n=r(0),o=function(t){function e(r,i,a,n,o){var l=t.call(this,r,i,a,void 0,n,o)||this;return l.loadPath="/dashboard/load",l.phasedLoadPath="/dashboard/prepare",Array.prototype.push.apply(l.allowedEvents,e.allowedEvents),l}return a(e,t),e.findIdFromEmbedUrl=function(t){var e,r=t.match(/dashboardId="?([^&]+)"?/);return r&&(e=r[1]),e},e.prototype.getId=function(){var t=this.config,r=t.id||this.element.getAttribute(e.dashboardIdAttribute)||e.findIdFromEmbedUrl(t.embedUrl);if("string"!=typeof r||0===r.length)throw new Error("Dashboard id is required, but it was not found. You must provide an id either as part of embed configuration or as attribute '".concat(e.dashboardIdAttribute,"'."));return r},e.prototype.validate=function(t){var e=t,r=(0,n.validateDashboardLoad)(e);return r||this.validatePageView(e.pageView)},e.prototype.configChanged=function(t){t||(this.config.id=this.getId())},e.prototype.getDefaultEmbedUrlEndpoint=function(){return"dashboardEmbed"},e.prototype.validatePageView=function(t){if(t&&"fitToWidth"!==t&&"oneColumn"!==t&&"actualSize"!==t)return[{message:"pageView must be one of the followings: fitToWidth, oneColumn, actualSize"}]},e.allowedEvents=["tileClicked","error"],e.dashboardIdAttribute="powerbi-dashboard-id",e.typeAttribute="powerbi-type",e.type="Dashboard",e}(r(1).Embed);e.Dashboard=o},function(t,e,r){var i,a=this&&this.__extends||(i=function(t,e){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])})(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.Tile=void 0;var n=r(0),o=function(t){function e(r,i,a,n,o){var l=this,s=a;return(l=t.call(this,r,i,s,void 0,n,o)||this).loadPath="/tile/load",Array.prototype.push.apply(l.allowedEvents,e.allowedEvents),l}return a(e,t),e.prototype.getId=function(){var t=this.config.id||e.findIdFromEmbedUrl(this.config.embedUrl);if("string"!=typeof t||0===t.length)throw new Error("Tile id is required, but it was not found. You must provide an id either as part of embed configuration.");return t},e.prototype.validate=function(t){var e=t;return(0,n.validateTileLoad)(e)},e.prototype.configChanged=function(t){t||(this.config.id=this.getId())},e.prototype.getDefaultEmbedUrlEndpoint=function(){return"tileEmbed"},e.findIdFromEmbedUrl=function(t){var e,r=t.match(/tileId="?([^&]+)"?/);return r&&(e=r[1]),e},e.type="Tile",e.allowedEvents=["tileClicked","tileLoaded"],e}(r(1).Embed);e.Tile=o},function(t,e,r){var i,a=this&&this.__extends||(i=function(t,e){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])})(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}),n=this&&this.__awaiter||function(t,e,r,i){return new(r||(r=Promise))((function(a,n){function o(t){try{s(i.next(t))}catch(t){n(t)}}function l(t){try{s(i.throw(t))}catch(t){n(t)}}function s(t){var e;t.done?a(t.value):(e=t.value,e instanceof r?e:new r((function(t){t(e)}))).then(o,l)}s((i=i.apply(t,e||[])).next())}))},o=this&&this.__generator||function(t,e){var r,i,a,n,o={label:0,sent:function(){if(1&a[0])throw a[1];return a[1]},trys:[],ops:[]};return n={next:l(0),throw:l(1),return:l(2)},"function"==typeof Symbol&&(n[Symbol.iterator]=function(){return this}),n;function l(n){return function(l){return function(n){if(r)throw new TypeError("Generator is already executing.");for(;o;)try{if(r=1,i&&(a=2&n[0]?i.return:n[0]?i.throw||((a=i.return)&&a.call(i),0):i.next)&&!(a=a.call(i,n[1])).done)return a;switch(i=0,a&&(n=[2&n[0],a.value]),n[0]){case 0:case 1:a=n;break;case 4:return o.label++,{value:n[1],done:!1};case 5:o.label++,i=n[1],n=[0];continue;case 7:n=o.ops.pop(),o.trys.pop();continue;default:if(!(a=o.trys,(a=a.length>0&&a[a.length-1])||6!==n[0]&&2!==n[0])){o=0;continue}if(3===n[0]&&(!a||n[1]>a[0]&&n[1]0&&a[a.length-1])||6!==n[0]&&2!==n[0])){o=0;continue}if(3===n[0]&&(!a||n[1]>a[0]&&n[1]0&&a[a.length-1])||6!==n[0]&&2!==n[0])){o=0;continue}if(3===n[0]&&(!a||n[1]>a[0]&&n[1]0&&a[a.length-1])||6!==n[0]&&2!==n[0])){o=0;continue}if(3===n[0]&&(!a||n[1]>a[0]&&n[1]0&&a[a.length-1])||6!==n[0]&&2!==n[0])){o=0;continue}if(3===n[0]&&(!a||n[1]>a[0]&&n[1]=n)return t;switch(t){case"%s":return String(i[r++]);case"%d":return Number(i[r++]);case"%j":try{return JSON.stringify(i[r++])}catch(t){return"[Circular]"}default:return t}})),s=i[r];r=3&&(i.depth=arguments[2]),arguments.length>=4&&(i.colors=arguments[3]),h(r)?i.showHidden=r:r&&e._extend(i,r),V(i.showHidden)&&(i.showHidden=!1),V(i.depth)&&(i.depth=2),V(i.colors)&&(i.colors=!1),V(i.customInspect)&&(i.customInspect=!0),i.colors&&(i.stylize=s),d(i,t,i.depth)}function s(t,e){var r=l.styles[e];return r?"["+l.colors[r][0]+"m"+t+"["+l.colors[r][1]+"m":t}function u(t,e){return t}function d(t,r,i){if(t.customInspect&&r&&S(r.inspect)&&r.inspect!==e.inspect&&(!r.constructor||r.constructor.prototype!==r)){var a=r.inspect(i,t);return m(a)||(a=d(t,a,i)),a}var n=function(t,e){if(V(e))return t.stylize("undefined","undefined");if(m(e)){var r="'"+JSON.stringify(e).replace(/^"|"$/g,"").replace(/'/g,"\\'").replace(/\\"/g,'"')+"'";return t.stylize(r,"string")}if(y(e))return t.stylize(""+e,"number");if(h(e))return t.stylize(""+e,"boolean");if(v(e))return t.stylize("null","null")}(t,r);if(n)return n;var o=Object.keys(r),l=function(t){var e={};return t.forEach((function(t,r){e[t]=!0})),e}(o);if(t.showHidden&&(o=Object.getOwnPropertyNames(r)),O(r)&&(o.indexOf("message")>=0||o.indexOf("description")>=0))return c(r);if(0===o.length){if(S(r)){var s=r.name?": "+r.name:"";return t.stylize("[Function"+s+"]","special")}if(g(r))return t.stylize(RegExp.prototype.toString.call(r),"regexp");if(w(r))return t.stylize(Date.prototype.toString.call(r),"date");if(O(r))return c(r)}var u,b="",P=!1,_=["{","}"];(f(r)&&(P=!0,_=["[","]"]),S(r))&&(b=" [Function"+(r.name?": "+r.name:"")+"]");return g(r)&&(b=" "+RegExp.prototype.toString.call(r)),w(r)&&(b=" "+Date.prototype.toUTCString.call(r)),O(r)&&(b=" "+c(r)),0!==o.length||P&&0!=r.length?i<0?g(r)?t.stylize(RegExp.prototype.toString.call(r),"regexp"):t.stylize("[Object]","special"):(t.seen.push(r),u=P?function(t,e,r,i,a){for(var n=[],o=0,l=e.length;o=0&&0,t+e.replace(/\u001b\[\d\d?m/g,"").length+1}),0)>60)return r[0]+(""===e?"":e+"\n ")+" "+t.join(",\n ")+" "+r[1];return r[0]+e+" "+t.join(", ")+" "+r[1]}(u,b,_)):_[0]+b+_[1]}function c(t){return"["+Error.prototype.toString.call(t)+"]"}function p(t,e,r,i,a,n){var o,l,s;if((s=Object.getOwnPropertyDescriptor(e,a)||{value:e[a]}).get?l=s.set?t.stylize("[Getter/Setter]","special"):t.stylize("[Getter]","special"):s.set&&(l=t.stylize("[Setter]","special")),F(i,a)||(o="["+a+"]"),l||(t.seen.indexOf(s.value)<0?(l=v(r)?d(t,s.value,null):d(t,s.value,r-1)).indexOf("\n")>-1&&(l=n?l.split("\n").map((function(t){return" "+t})).join("\n").substr(2):"\n"+l.split("\n").map((function(t){return" "+t})).join("\n")):l=t.stylize("[Circular]","special")),V(o)){if(n&&a.match(/^\d+$/))return l;(o=JSON.stringify(""+a)).match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/)?(o=o.substr(1,o.length-2),o=t.stylize(o,"name")):(o=o.replace(/'/g,"\\'").replace(/\\"/g,'"').replace(/(^"|"$)/g,"'"),o=t.stylize(o,"string"))}return o+": "+l}function f(t){return Array.isArray(t)}function h(t){return"boolean"==typeof t}function v(t){return null===t}function y(t){return"number"==typeof t}function m(t){return"string"==typeof t}function V(t){return void 0===t}function g(t){return b(t)&&"[object RegExp]"===P(t)}function b(t){return"object"==typeof t&&null!==t}function w(t){return b(t)&&"[object Date]"===P(t)}function O(t){return b(t)&&("[object Error]"===P(t)||t instanceof Error)}function S(t){return"function"==typeof t}function P(t){return Object.prototype.toString.call(t)}function _(t){return t<10?"0"+t.toString(10):t.toString(10)}e.debuglog=function(r){if(V(n)&&(n=t.env.NODE_DEBUG||""),r=r.toUpperCase(),!o[r])if(new RegExp("\\b"+r+"\\b","i").test(n)){var i=t.pid;o[r]=function(){var t=e.format.apply(e,arguments);console.error("%s %d: %s",r,i,t)}}else o[r]=function(){};return o[r]},e.inspect=l,l.colors={bold:[1,22],italic:[3,23],underline:[4,24],inverse:[7,27],white:[37,39],grey:[90,39],black:[30,39],blue:[34,39],cyan:[36,39],green:[32,39],magenta:[35,39],red:[31,39],yellow:[33,39]},l.styles={special:"cyan",number:"yellow",boolean:"yellow",undefined:"grey",null:"bold",string:"green",date:"magenta",regexp:"red"},e.isArray=f,e.isBoolean=h,e.isNull=v,e.isNullOrUndefined=function(t){return null==t},e.isNumber=y,e.isString=m,e.isSymbol=function(t){return"symbol"==typeof t},e.isUndefined=V,e.isRegExp=g,e.isObject=b,e.isDate=w,e.isError=O,e.isFunction=S,e.isPrimitive=function(t){return null===t||"boolean"==typeof t||"number"==typeof t||"string"==typeof t||"symbol"==typeof t||void 0===t},e.isBuffer=r(22);var E=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];function T(){var t=new Date,e=[_(t.getHours()),_(t.getMinutes()),_(t.getSeconds())].join(":");return[t.getDate(),E[t.getMonth()],e].join(" ")}function F(t,e){return Object.prototype.hasOwnProperty.call(t,e)}e.log=function(){console.log("%s - %s",T(),e.format.apply(e,arguments))},e.inherits=r(23),e._extend=function(t,e){if(!e||!b(e))return t;for(var r=Object.keys(e),i=r.length;i--;)t[r[i]]=e[r[i]];return t};var C="undefined"!=typeof Symbol?Symbol("util.promisify.custom"):void 0;function x(t,e){if(!t){var r=new Error("Promise was rejected with a falsy value");r.reason=t,t=r}return e(t)}e.promisify=function(t){if("function"!=typeof t)throw new TypeError('The "original" argument must be of type Function');if(C&&t[C]){var e;if("function"!=typeof(e=t[C]))throw new TypeError('The "util.promisify.custom" argument must be of type Function');return Object.defineProperty(e,C,{value:e,enumerable:!1,writable:!1,configurable:!0}),e}function e(){for(var e,r,i=new Promise((function(t,i){e=t,r=i})),a=[],n=0;n1)for(var r=1;r0&&a[a.length-1])||6!==n[0]&&2!==n[0])){o=0;continue}if(3===n[0]&&(!a||n[1]>a[0]&&n[1]2&&"[]"===o.slice(l-2)&&(s=!0,r[o=o.slice(0,l-2)]||(r[o]=[])),a=n[1]?V(n[1]):""),s?r[o].push(a):r[o]=a}return r},recognize:function(t){var e,r,i,a=[this.rootState],n={},o=!1;if(-1!==(i=t.indexOf("?"))){var l=t.substr(i+1,t.length);t=t.substr(0,i),n=this.parseQueryString(l)}for("/"!==(t=decodeURI(t)).charAt(0)&&(t="/"+t),(e=t.length)>1&&"/"===t.charAt(e-1)&&(t=t.substr(0,e-1),o=!0),r=0;r(()=>{var t={615:function(t){var e;e=function(){return function(t){var e={};function r(i){if(e[i])return e[i].exports;var a=e[i]={exports:{},id:i,loaded:!1};return t[i].call(a.exports,a,a.exports,r),a.loaded=!0,a.exports}return r.m=t,r.c=e,r.p="",r(0)}([function(t,e){"use strict";var r=function(){function t(t,e,r){void 0===e&&(e={}),this.defaultHeaders=e,this.defaultTargetWindow=r,this.windowPostMessageProxy=t}return t.addTrackingProperties=function(t,e){return t.headers=t.headers||{},e&&e.id&&(t.headers.id=e.id),t},t.getTrackingProperties=function(t){return{id:t.headers&&t.headers.id}},t.isErrorMessage=function(t){return"number"==typeof(t&&t.statusCode)&&!(200<=t.statusCode&&t.statusCode<300)},t.prototype.get=function(t,e,r){return void 0===e&&(e={}),void 0===r&&(r=this.defaultTargetWindow),this.send({method:"GET",url:t,headers:e},r)},t.prototype.post=function(t,e,r,i){return void 0===r&&(r={}),void 0===i&&(i=this.defaultTargetWindow),this.send({method:"POST",url:t,headers:r,body:e},i)},t.prototype.put=function(t,e,r,i){return void 0===r&&(r={}),void 0===i&&(i=this.defaultTargetWindow),this.send({method:"PUT",url:t,headers:r,body:e},i)},t.prototype.patch=function(t,e,r,i){return void 0===r&&(r={}),void 0===i&&(i=this.defaultTargetWindow),this.send({method:"PATCH",url:t,headers:r,body:e},i)},t.prototype.delete=function(t,e,r,i){return void 0===e&&(e=null),void 0===r&&(r={}),void 0===i&&(i=this.defaultTargetWindow),this.send({method:"DELETE",url:t,headers:r,body:e},i)},t.prototype.send=function(t,e){if(void 0===e&&(e=this.defaultTargetWindow),t.headers=this.assign({},this.defaultHeaders,t.headers),!e)throw new Error("target window is not provided. You must either provide the target window explicitly as argument to request, or specify default target window when constructing instance of this class.");return this.windowPostMessageProxy.postMessage(e,t)},t.prototype.assign=function(t){for(var e=[],r=1;r(()=>{var t=[function(t,e,r){var i,a=this&&this.__extends||(i=function(t,e){return i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},i(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.SortDirection=e.LegendPosition=e.TextAlignment=e.CommonErrorCodes=e.BookmarksPlayMode=e.ExportDataType=e.QnaMode=e.PageNavigationPosition=e.DataCacheMode=e.CredentialType=e.isPercentOfGrandTotal=e.isColumnAggr=e.isHierarchyLevelAggr=e.isHierarchyLevel=e.isColumn=e.isMeasure=e.getFilterType=e.isBasicFilterWithKeys=e.isFilterKeyColumnsTarget=e.HierarchyFilter=e.AdvancedFilter=e.TupleFilter=e.IdentityFilter=e.BasicFilterWithKeys=e.BasicFilter=e.RelativeTimeFilter=e.RelativeDateFilter=e.TopNFilter=e.IncludeExcludeFilter=e.NotSupportedFilter=e.Filter=e.RelativeDateOperators=e.RelativeDateFilterTimeUnit=e.FilterType=e.FiltersLevel=e.FiltersOperations=e.MenuLocation=e.ContrastMode=e.TokenType=e.ViewMode=e.Permissions=e.SectionVisibility=e.ReportAlignment=e.HyperlinkClickBehavior=e.LayoutType=e.VisualContainerDisplayMode=e.BackgroundType=e.DisplayOption=e.PageSizeType=e.TraceType=void 0,e.validateCommandsSettings=e.validateVisualSettings=e.validateVisualHeader=e.validateExportDataRequest=e.validateQnaInterpretInputData=e.validateLoadQnaConfiguration=e.validateSaveAsParameters=e.validateUpdateFiltersRequest=e.validateFilter=e.validatePage=e.validateTileLoad=e.validateDashboardLoad=e.validateQuickCreate=e.validateCreateReport=e.validatePaginatedReportLoad=e.validateReportLoad=e.validateMenuGroupExtension=e.validateExtension=e.validateCustomPageSize=e.validateVisualizationsPane=e.validateSyncSlicersPane=e.validateSelectionPane=e.validatePageNavigationPane=e.validateFieldsPane=e.validateFiltersPane=e.validateBookmarksPane=e.validatePanes=e.validateSettings=e.validateCaptureBookmarkRequest=e.validateApplyBookmarkStateRequest=e.validateApplyBookmarkByNameRequest=e.validateAddBookmarkRequest=e.validatePlayBookmarkRequest=e.validateSlicerState=e.validateSlicer=e.validateVisualSelector=e.isIExtensionArray=e.isIExtensions=e.isGroupedMenuExtension=e.isFlatMenuExtension=e.isReportFiltersArray=e.isOnLoadFilters=e.VisualDataRoleKindPreference=e.VisualDataRoleKind=e.CommandDisplayOption=e.SlicerTargetSelector=e.VisualTypeSelector=e.VisualSelector=e.PageSelector=e.Selector=void 0,e.validateZoomLevel=e.validateCustomTheme=void 0;var o,n,l,s,u,d,c,p,f,h,v,y,m,V,g,b,w,P,O,S=r(1);(O=e.TraceType||(e.TraceType={}))[O.Information=0]="Information",O[O.Verbose=1]="Verbose",O[O.Warning=2]="Warning",O[O.Error=3]="Error",O[O.ExpectedError=4]="ExpectedError",O[O.UnexpectedError=5]="UnexpectedError",O[O.Fatal=6]="Fatal",(P=e.PageSizeType||(e.PageSizeType={}))[P.Widescreen=0]="Widescreen",P[P.Standard=1]="Standard",P[P.Cortana=2]="Cortana",P[P.Letter=3]="Letter",P[P.Custom=4]="Custom",P[P.Mobile=5]="Mobile",(w=e.DisplayOption||(e.DisplayOption={}))[w.FitToPage=0]="FitToPage",w[w.FitToWidth=1]="FitToWidth",w[w.ActualSize=2]="ActualSize",(b=e.BackgroundType||(e.BackgroundType={}))[b.Default=0]="Default",b[b.Transparent=1]="Transparent",(g=e.VisualContainerDisplayMode||(e.VisualContainerDisplayMode={}))[g.Visible=0]="Visible",g[g.Hidden=1]="Hidden",(V=e.LayoutType||(e.LayoutType={}))[V.Master=0]="Master",V[V.Custom=1]="Custom",V[V.MobilePortrait=2]="MobilePortrait",V[V.MobileLandscape=3]="MobileLandscape",(m=e.HyperlinkClickBehavior||(e.HyperlinkClickBehavior={}))[m.Navigate=0]="Navigate",m[m.NavigateAndRaiseEvent=1]="NavigateAndRaiseEvent",m[m.RaiseEvent=2]="RaiseEvent",(y=e.ReportAlignment||(e.ReportAlignment={}))[y.Left=0]="Left",y[y.Center=1]="Center",y[y.Right=2]="Right",y[y.None=3]="None",(v=e.SectionVisibility||(e.SectionVisibility={}))[v.AlwaysVisible=0]="AlwaysVisible",v[v.HiddenInViewMode=1]="HiddenInViewMode",(h=e.Permissions||(e.Permissions={}))[h.Read=0]="Read",h[h.ReadWrite=1]="ReadWrite",h[h.Copy=2]="Copy",h[h.Create=4]="Create",h[h.All=7]="All",(f=e.ViewMode||(e.ViewMode={}))[f.View=0]="View",f[f.Edit=1]="Edit",(p=e.TokenType||(e.TokenType={}))[p.Aad=0]="Aad",p[p.Embed=1]="Embed",(c=e.ContrastMode||(e.ContrastMode={}))[c.None=0]="None",c[c.HighContrast1=1]="HighContrast1",c[c.HighContrast2=2]="HighContrast2",c[c.HighContrastBlack=3]="HighContrastBlack",c[c.HighContrastWhite=4]="HighContrastWhite",(d=e.MenuLocation||(e.MenuLocation={}))[d.Bottom=0]="Bottom",d[d.Top=1]="Top",(u=e.FiltersOperations||(e.FiltersOperations={}))[u.RemoveAll=0]="RemoveAll",u[u.ReplaceAll=1]="ReplaceAll",u[u.Add=2]="Add",u[u.Replace=3]="Replace",(s=e.FiltersLevel||(e.FiltersLevel={}))[s.Report=0]="Report",s[s.Page=1]="Page",s[s.Visual=2]="Visual",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",t[t.Identity=8]="Identity",t[t.Hierarchy=9]="Hierarchy"}(o=e.FilterType||(e.FilterType={})),(l=e.RelativeDateFilterTimeUnit||(e.RelativeDateFilterTimeUnit={}))[l.Days=0]="Days",l[l.Weeks=1]="Weeks",l[l.CalendarWeeks=2]="CalendarWeeks",l[l.Months=3]="Months",l[l.CalendarMonths=4]="CalendarMonths",l[l.Years=5]="Years",l[l.CalendarYears=6]="CalendarYears",l[l.Minutes=7]="Minutes",l[l.Hours=8]="Hours",(n=e.RelativeDateOperators||(e.RelativeDateOperators={}))[n.InLast=0]="InLast",n[n.InThis=1]="InThis",n[n.InNext=2]="InNext";var _=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=_;var T=function(t){function e(r,i,a){var n=t.call(this,r,o.Unknown)||this;return n.message=i,n.notSupportedTypeName=a,n.schemaUrl=e.schemaUrl,n}return a(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}(_);e.NotSupportedFilter=T;var E=function(t){function e(r,i,a){var n=t.call(this,r,o.IncludeExclude)||this;return n.values=a,n.isExclude=i,n.schemaUrl=e.schemaUrl,n}return a(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}(_);e.IncludeExcludeFilter=E;var F=function(t){function e(r,i,a,n){var l=t.call(this,r,o.TopN)||this;return l.operator=i,l.itemCount=a,l.schemaUrl=e.schemaUrl,l.orderBy=n,l}return a(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}(_);e.TopNFilter=F;var C=function(t){function e(r,i,a,n,l){var s=t.call(this,r,o.RelativeDate)||this;return s.operator=i,s.timeUnitsCount=a,s.timeUnitType=n,s.includeToday=l,s.schemaUrl=e.schemaUrl,s}return a(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}(_);e.RelativeDateFilter=C;var R=function(t){function e(r,i,a,n){var l=t.call(this,r,o.RelativeTime)||this;return l.operator=i,l.timeUnitsCount=a,l.timeUnitType=n,l.schemaUrl=e.schemaUrl,l}return a(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}(_);e.RelativeTimeFilter=R;var k=function(t){function e(r,i){for(var a=[],n=2;n0&&!a)throw new Error("You should pass the values to be filtered for each key. You passed: no values and ".concat(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,s=o.keyValues;l2)throw new Error("AdvancedFilters may not have more than two conditions. You passed: ".concat(a.length));if(1===l.length&&"And"!==i)throw new Error('Logical Operator must be "And" when there is only one condition provided');return s.conditions=l,s}return a(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}(_);e.AdvancedFilter=j;var L,I,q,D,N,B,U,H=function(t){function e(r,i){var a=t.call(this,r,o.Hierarchy)||this;return a.schemaUrl=e.schemaUrl,a.hierarchyData=i,a}return a(e,t),e.prototype.toJSON=function(){var e=t.prototype.toJSON.call(this);return e.hierarchyData=this.hierarchyData,e.target=this.target,e},e.schemaUrl="http://powerbi.com/product/schema#hierarchy",e}(_);function W(t){if(t.filterType)return t.filterType;var e=t,r=t;return"string"==typeof e.operator&&Array.isArray(e.values)?o.Basic:"string"==typeof r.logicalOperator&&Array.isArray(r.conditions)?o.Advanced:o.Unknown}function z(t){return!(!t.table||!t.column||t.aggregationFunction)}e.HierarchyFilter=H,e.isFilterKeyColumnsTarget=function(t){return z(t)&&!!t.keys},e.isBasicFilterWithKeys=function(t){return W(t)===o.Basic&&!!t.keyValues},e.getFilterType=W,e.isMeasure=function(t){return void 0!==t.table&&void 0!==t.measure},e.isColumn=z,e.isHierarchyLevel=function(t){return!(!(t.table&&t.hierarchy&&t.hierarchyLevel)||t.aggregationFunction)},e.isHierarchyLevelAggr=function(t){return!!(t.table&&t.hierarchy&&t.hierarchyLevel&&t.aggregationFunction)},e.isColumnAggr=function(t){return!!(t.table&&t.column&&t.aggregationFunction)},e.isPercentOfGrandTotal=function(t){return!!t.percentOfGrandTotal},(U=e.CredentialType||(e.CredentialType={}))[U.NoConnection=0]="NoConnection",U[U.OnBehalfOf=1]="OnBehalfOf",U[U.Anonymous=2]="Anonymous",(B=e.DataCacheMode||(e.DataCacheMode={}))[B.Import=0]="Import",B[B.DirectQuery=1]="DirectQuery",(N=e.PageNavigationPosition||(e.PageNavigationPosition={}))[N.Bottom=0]="Bottom",N[N.Left=1]="Left",(D=e.QnaMode||(e.QnaMode={}))[D.Interactive=0]="Interactive",D[D.ResultOnly=1]="ResultOnly",(q=e.ExportDataType||(e.ExportDataType={}))[q.Summarized=0]="Summarized",q[q.Underlying=1]="Underlying",(I=e.BookmarksPlayMode||(e.BookmarksPlayMode={}))[I.Off=0]="Off",I[I.Presentation=1]="Presentation",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"},(L=e.SortDirection||(e.SortDirection={}))[L.Ascending=1]="Ascending",L[L.Descending=2]="Descending";var Q=function(){function t(t){this.$schema=t}return t.prototype.toJSON=function(){return{$schema:this.$schema}},t}();e.Selector=Q;var G=function(t){function e(r){var i=t.call(this,e.schemaUrl)||this;return i.pageName=r,i}return a(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}(Q);e.PageSelector=G;var J=function(t){function e(r){var i=t.call(this,e.schemaUrl)||this;return i.visualName=r,i}return a(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}(Q);e.VisualSelector=J;var K=function(t){function e(e){var r=t.call(this,J.schemaUrl)||this;return r.visualType=e,r}return a(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}(Q);e.VisualTypeSelector=K;var Y,$,Z,X=function(t){function e(e){var r=t.call(this,J.schemaUrl)||this;return r.target=e,r}return a(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}(Q);function tt(t){return Array.isArray(t)}function et(t){return t&&!!t.groupName}function rt(t){return Array.isArray(t)}function it(t){var e=t.message;return e||(e="".concat(t.path," is invalid. Not meeting ").concat(t.keyword," constraint")),{message:e}}e.SlicerTargetSelector=X,(Z=e.CommandDisplayOption||(e.CommandDisplayOption={}))[Z.Enabled=0]="Enabled",Z[Z.Disabled=1]="Disabled",Z[Z.Hidden=2]="Hidden",($=e.VisualDataRoleKind||(e.VisualDataRoleKind={}))[$.Grouping=0]="Grouping",$[$.Measure=1]="Measure",$[$.GroupingOrMeasure=2]="GroupingOrMeasure",(Y=e.VisualDataRoleKindPreference||(e.VisualDataRoleKindPreference={}))[Y.Measure=0]="Measure",Y[Y.Grouping=1]="Grouping",e.isOnLoadFilters=function(t){return t&&!tt(t)},e.isReportFiltersArray=tt,e.isFlatMenuExtension=function(t){return t&&!et(t)},e.isGroupedMenuExtension=et,e.isIExtensions=function(t){return t&&!rt(t)},e.isIExtensionArray=rt,e.validateVisualSelector=function(t){var e=S.Validators.visualSelectorValidator.validate(t);return e?e.map(it):void 0},e.validateSlicer=function(t){var e=S.Validators.slicerValidator.validate(t);return e?e.map(it):void 0},e.validateSlicerState=function(t){var e=S.Validators.slicerStateValidator.validate(t);return e?e.map(it):void 0},e.validatePlayBookmarkRequest=function(t){var e=S.Validators.playBookmarkRequestValidator.validate(t);return e?e.map(it):void 0},e.validateAddBookmarkRequest=function(t){var e=S.Validators.addBookmarkRequestValidator.validate(t);return e?e.map(it):void 0},e.validateApplyBookmarkByNameRequest=function(t){var e=S.Validators.applyBookmarkByNameRequestValidator.validate(t);return e?e.map(it):void 0},e.validateApplyBookmarkStateRequest=function(t){var e=S.Validators.applyBookmarkStateRequestValidator.validate(t);return e?e.map(it):void 0},e.validateCaptureBookmarkRequest=function(t){var e=S.Validators.captureBookmarkRequestValidator.validate(t);return e?e.map(it):void 0},e.validateSettings=function(t){var e=S.Validators.settingsValidator.validate(t);return e?e.map(it):void 0},e.validatePanes=function(t){var e=S.Validators.reportPanesValidator.validate(t);return e?e.map(it):void 0},e.validateBookmarksPane=function(t){var e=S.Validators.bookmarksPaneValidator.validate(t);return e?e.map(it):void 0},e.validateFiltersPane=function(t){var e=S.Validators.filtersPaneValidator.validate(t);return e?e.map(it):void 0},e.validateFieldsPane=function(t){var e=S.Validators.fieldsPaneValidator.validate(t);return e?e.map(it):void 0},e.validatePageNavigationPane=function(t){var e=S.Validators.pageNavigationPaneValidator.validate(t);return e?e.map(it):void 0},e.validateSelectionPane=function(t){var e=S.Validators.selectionPaneValidator.validate(t);return e?e.map(it):void 0},e.validateSyncSlicersPane=function(t){var e=S.Validators.syncSlicersPaneValidator.validate(t);return e?e.map(it):void 0},e.validateVisualizationsPane=function(t){var e=S.Validators.visualizationsPaneValidator.validate(t);return e?e.map(it):void 0},e.validateCustomPageSize=function(t){var e=S.Validators.customPageSizeValidator.validate(t);return e?e.map(it):void 0},e.validateExtension=function(t){var e=S.Validators.extensionValidator.validate(t);return e?e.map(it):void 0},e.validateMenuGroupExtension=function(t){var e=S.Validators.menuGroupExtensionValidator.validate(t);return e?e.map(it):void 0},e.validateReportLoad=function(t){var e=S.Validators.reportLoadValidator.validate(t);return e?e.map(it):void 0},e.validatePaginatedReportLoad=function(t){var e=S.Validators.paginatedReportLoadValidator.validate(t);return e?e.map(it):void 0},e.validateCreateReport=function(t){var e=S.Validators.reportCreateValidator.validate(t);return e?e.map(it):void 0},e.validateQuickCreate=function(t){var e=S.Validators.quickCreateValidator.validate(t);return e?e.map(it):void 0},e.validateDashboardLoad=function(t){var e=S.Validators.dashboardLoadValidator.validate(t);return e?e.map(it):void 0},e.validateTileLoad=function(t){var e=S.Validators.tileLoadValidator.validate(t);return e?e.map(it):void 0},e.validatePage=function(t){var e=S.Validators.pageValidator.validate(t);return e?e.map(it):void 0},e.validateFilter=function(t){var e=S.Validators.filterValidator.validate(t);return e?e.map(it):void 0},e.validateUpdateFiltersRequest=function(t){var e=S.Validators.updateFiltersRequestValidator.validate(t);return e?e.map(it):void 0},e.validateSaveAsParameters=function(t){var e=S.Validators.saveAsParametersValidator.validate(t);return e?e.map(it):void 0},e.validateLoadQnaConfiguration=function(t){var e=S.Validators.loadQnaValidator.validate(t);return e?e.map(it):void 0},e.validateQnaInterpretInputData=function(t){var e=S.Validators.qnaInterpretInputDataValidator.validate(t);return e?e.map(it):void 0},e.validateExportDataRequest=function(t){var e=S.Validators.exportDataRequestValidator.validate(t);return e?e.map(it):void 0},e.validateVisualHeader=function(t){var e=S.Validators.visualHeaderValidator.validate(t);return e?e.map(it):void 0},e.validateVisualSettings=function(t){var e=S.Validators.visualSettingsValidator.validate(t);return e?e.map(it):void 0},e.validateCommandsSettings=function(t){var e=S.Validators.commandsSettingsValidator.validate(t);return e?e.map(it):void 0},e.validateCustomTheme=function(t){var e=S.Validators.customThemeValidator.validate(t);return e?e.map(it):void 0},e.validateZoomLevel=function(t){var e=S.Validators.zoomLevelValidator.validate(t);return e?e.map(it):void 0}},(t,e,r)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.Validators=void 0;var i=r(2),a=r(5),o=r(6),n=r(7),l=r(8),s=r(9),u=r(10),d=r(11),c=r(12),p=r(13),f=r(14),h=r(15),v=r(16),y=r(17),m=r(18),V=r(19),g=r(20),b=r(21),w=r(22),P=r(23),O=r(24),S=r(25),_=r(26),T=r(27),E=r(28),F=r(29),C=r(4),R=r(30),k=r(31),x=r(32);e.Validators={addBookmarkRequestValidator:new a.AddBookmarkRequestValidator,advancedFilterTypeValidator:new C.EnumValidator([0]),advancedFilterValidator:new c.AdvancedFilterValidator,anyArrayValidator:new C.ArrayValidator([new _.AnyOfValidator([new C.StringValidator,new C.NumberValidator,new C.BooleanValidator])]),anyFilterValidator:new _.AnyOfValidator([new c.BasicFilterValidator,new c.AdvancedFilterValidator,new c.IncludeExcludeFilterValidator,new c.NotSupportedFilterValidator,new c.RelativeDateFilterValidator,new c.TopNFilterValidator,new c.RelativeTimeFilterValidator,new c.HierarchyFilterValidator]),anyValueValidator:new _.AnyOfValidator([new C.StringValidator,new C.NumberValidator,new C.BooleanValidator]),actionBarValidator:new i.ActionBarValidator,statusBarValidator:new i.StatusBarValidator,applyBookmarkByNameRequestValidator:new a.ApplyBookmarkByNameRequestValidator,applyBookmarkStateRequestValidator:new a.ApplyBookmarkStateRequestValidator,applyBookmarkValidator:new _.AnyOfValidator([new a.ApplyBookmarkByNameRequestValidator,new a.ApplyBookmarkStateRequestValidator]),backgroundValidator:new C.EnumValidator([0,1]),basicFilterTypeValidator:new C.EnumValidator([1]),basicFilterValidator:new c.BasicFilterValidator,booleanArrayValidator:new C.BooleanArrayValidator,booleanValidator:new C.BooleanValidator,bookmarksPaneValidator:new h.BookmarksPaneValidator,captureBookmarkOptionsValidator:new a.CaptureBookmarkOptionsValidator,captureBookmarkRequestValidator:new a.CaptureBookmarkRequestValidator,columnSchemaArrayValidator:new C.ArrayValidator([new k.ColumnSchemaValidator]),commandDisplayOptionValidator:new C.EnumValidator([0,1,2]),commandExtensionSelectorValidator:new _.AnyOfValidator([new b.VisualSelectorValidator,new b.VisualTypeSelectorValidator]),commandExtensionArrayValidator:new C.ArrayValidator([new d.CommandExtensionValidator]),commandExtensionValidator:new d.CommandExtensionValidator,commandsSettingsArrayValidator:new C.ArrayValidator([new o.CommandsSettingsValidator]),commandsSettingsValidator:new o.CommandsSettingsValidator,conditionItemValidator:new c.ConditionItemValidator,contrastModeValidator:new C.EnumValidator([0,1,2,3,4]),credentialDetailsValidator:new F.MapValidator([new C.StringValidator],[new C.StringValidator]),credentialsValidator:new k.CredentialsValidator,credentialTypeValidator:new C.EnumValidator([0,1,2]),customLayoutDisplayOptionValidator:new C.EnumValidator([0,1,2]),customLayoutValidator:new p.CustomLayoutValidator,customPageSizeValidator:new f.CustomPageSizeValidator,customThemeValidator:new n.CustomThemeValidator,dashboardLoadValidator:new l.DashboardLoadValidator,dataCacheModeValidator:new C.EnumValidator([0,1]),datasetBindingValidator:new s.DatasetBindingValidator,datasetCreateConfigValidator:new k.DatasetCreateConfigValidator,datasourceConnectionConfigValidator:new k.DatasourceConnectionConfigValidator,displayStateModeValidator:new C.EnumValidator([0,1]),displayStateValidator:new p.DisplayStateValidator,exportDataRequestValidator:new u.ExportDataRequestValidator,extensionArrayValidator:new C.ArrayValidator([new d.ExtensionValidator]),extensionsValidator:new _.AnyOfValidator([new C.ArrayValidator([new d.ExtensionValidator]),new d.ExtensionsValidator]),extensionPointsValidator:new d.ExtensionPointsValidator,extensionValidator:new d.ExtensionValidator,fieldForbiddenValidator:new T.FieldForbiddenValidator,fieldRequiredValidator:new E.FieldRequiredValidator,fieldsPaneValidator:new h.FieldsPaneValidator,filterColumnTargetValidator:new c.FilterColumnTargetValidator,filterDisplaySettingsValidator:new c.FilterDisplaySettingsValidator,filterConditionsValidator:new C.ArrayValidator([new c.ConditionItemValidator]),filterHierarchyTargetValidator:new c.FilterHierarchyTargetValidator,filterMeasureTargetValidator:new c.FilterMeasureTargetValidator,filterTargetValidator:new _.AnyOfValidator([new c.FilterColumnTargetValidator,new c.FilterHierarchyTargetValidator,new c.FilterMeasureTargetValidator,new C.ArrayValidator([new _.AnyOfValidator([new c.FilterColumnTargetValidator,new c.FilterHierarchyTargetValidator,new c.FilterMeasureTargetValidator,new c.FilterKeyColumnsTargetValidator,new c.FilterKeyHierarchyTargetValidator])])]),filterValidator:new c.FilterValidator,filterTypeValidator:new C.EnumValidator([0,1,2,3,4,5,6,7,9]),filtersArrayValidator:new C.ArrayValidator([new c.FilterValidator]),filtersOperationsUpdateValidator:new C.EnumValidator([1,2,3]),filtersOperationsRemoveAllValidator:new C.EnumValidator([0]),filtersPaneValidator:new h.FiltersPaneValidator,hyperlinkClickBehaviorValidator:new C.EnumValidator([0,1,2]),includeExcludeFilterValidator:new c.IncludeExcludeFilterValidator,includeExludeFilterTypeValidator:new C.EnumValidator([3]),hierarchyFilterTypeValidator:new C.EnumValidator([9]),hierarchyFilterValuesValidator:new C.ArrayValidator([new c.HierarchyFilterNodeValidator]),layoutTypeValidator:new C.EnumValidator([0,1,2,3]),loadQnaValidator:new v.LoadQnaValidator,menuExtensionValidator:new _.AnyOfValidator([new d.FlatMenuExtensionValidator,new d.GroupedMenuExtensionValidator]),menuGroupExtensionArrayValidator:new C.ArrayValidator([new d.MenuGroupExtensionValidator]),menuGroupExtensionValidator:new d.MenuGroupExtensionValidator,menuLocationValidator:new C.EnumValidator([0,1]),notSupportedFilterTypeValidator:new C.EnumValidator([2]),notSupportedFilterValidator:new c.NotSupportedFilterValidator,numberArrayValidator:new C.NumberArrayValidator,numberValidator:new C.NumberValidator,onLoadFiltersBaseValidator:new _.AnyOfValidator([new c.OnLoadFiltersBaseValidator,new c.OnLoadFiltersBaseRemoveOperationValidator]),pageLayoutValidator:new F.MapValidator([new C.StringValidator],[new p.VisualLayoutValidator]),pageNavigationPaneValidator:new h.PageNavigationPaneValidator,pageNavigationPositionValidator:new C.EnumValidator([0,1]),pageSizeTypeValidator:new C.EnumValidator([0,1,2,3,4,5]),pageSizeValidator:new f.PageSizeValidator,pageValidator:new f.PageValidator,pageViewFieldValidator:new f.PageViewFieldValidator,pagesLayoutValidator:new F.MapValidator([new C.StringValidator],[new p.PageLayoutValidator]),paginatedReportCommandsValidator:new o.PaginatedReportCommandsValidator,paginatedReportLoadValidator:new V.PaginatedReportLoadValidator,paginatedReportsettingsValidator:new w.PaginatedReportSettingsValidator,parameterValuesArrayValidator:new C.ArrayValidator([new V.ReportParameterFieldsValidator]),parametersPanelValidator:new R.ParametersPanelValidator,permissionsValidator:new C.EnumValidator([0,1,2,4,7]),playBookmarkRequestValidator:new a.PlayBookmarkRequestValidator,qnaInterpretInputDataValidator:new v.QnaInterpretInputDataValidator,qnaPanesValidator:new h.QnaPanesValidator,qnaSettingValidator:new v.QnaSettingsValidator,quickCreateValidator:new x.QuickCreateValidator,rawDataValidator:new C.ArrayValidator([new C.ArrayValidator([new C.StringValidator])]),relativeDateFilterOperatorValidator:new C.EnumValidator([0,1,2]),relativeDateFilterTimeUnitTypeValidator:new C.EnumValidator([0,1,2,3,4,5,6]),relativeDateFilterTypeValidator:new C.EnumValidator([4]),relativeDateFilterValidator:new c.RelativeDateFilterValidator,relativeDateTimeFilterTypeValidator:new C.EnumValidator([4,7]),relativeDateTimeFilterUnitTypeValidator:new C.EnumValidator([0,1,2,3,4,5,6,7,8]),relativeTimeFilterTimeUnitTypeValidator:new C.EnumValidator([7,8]),relativeTimeFilterTypeValidator:new C.EnumValidator([7]),relativeTimeFilterValidator:new c.RelativeTimeFilterValidator,reportBarsValidator:new i.ReportBarsValidator,reportCreateValidator:new y.ReportCreateValidator,reportLoadFiltersValidator:new _.AnyOfValidator([new C.ArrayValidator([new c.FilterValidator]),new c.OnLoadFiltersValidator]),reportLoadValidator:new m.ReportLoadValidator,reportPanesValidator:new h.ReportPanesValidator,saveAsParametersValidator:new g.SaveAsParametersValidator,selectionPaneValidator:new h.SelectionPaneValidator,settingsValidator:new w.SettingsValidator,singleCommandSettingsValidator:new o.SingleCommandSettingsValidator,slicerSelectorValidator:new _.AnyOfValidator([new b.VisualSelectorValidator,new b.SlicerTargetSelectorValidator]),slicerStateValidator:new P.SlicerStateValidator,slicerTargetValidator:new _.AnyOfValidator([new c.FilterColumnTargetValidator,new c.FilterHierarchyTargetValidator,new c.FilterMeasureTargetValidator,new c.FilterKeyColumnsTargetValidator,new c.FilterKeyHierarchyTargetValidator]),slicerValidator:new P.SlicerValidator,stringArrayValidator:new C.StringArrayValidator,stringValidator:new C.StringValidator,syncSlicersPaneValidator:new h.SyncSlicersPaneValidator,tableDataArrayValidator:new C.ArrayValidator([new k.TableDataValidator]),tableSchemaListValidator:new C.ArrayValidator([new k.TableSchemaValidator]),tileLoadValidator:new O.TileLoadValidator,tokenTypeValidator:new C.EnumValidator([0,1]),topNFilterTypeValidator:new C.EnumValidator([5]),topNFilterValidator:new c.TopNFilterValidator,updateFiltersRequestValidator:new _.AnyOfValidator([new c.UpdateFiltersRequestValidator,new c.RemoveFiltersRequestValidator]),viewModeValidator:new C.EnumValidator([0,1]),visualCommandSelectorValidator:new _.AnyOfValidator([new b.VisualSelectorValidator,new b.VisualTypeSelectorValidator]),visualHeaderSelectorValidator:new _.AnyOfValidator([new b.VisualSelectorValidator,new b.VisualTypeSelectorValidator]),visualHeaderSettingsValidator:new S.VisualHeaderSettingsValidator,visualHeaderValidator:new S.VisualHeaderValidator,visualHeadersValidator:new C.ArrayValidator([new S.VisualHeaderValidator]),visualizationsPaneValidator:new h.VisualizationsPaneValidator,visualLayoutValidator:new p.VisualLayoutValidator,visualSelectorValidator:new b.VisualSelectorValidator,visualSettingsValidator:new S.VisualSettingsValidator,visualTypeSelectorValidator:new b.VisualTypeSelectorValidator,zoomLevelValidator:new C.RangeValidator(.25,4)}},function(t,e,r){var i,a=this&&this.__extends||(i=function(t,e){return i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},i(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.StatusBarValidator=e.ActionBarValidator=e.ReportBarsValidator=void 0;var o=r(3),n=r(4),l=r(1),s=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return a(e,t),e.prototype.validate=function(e,r,i){if(null==e)return null;var a=t.prototype.validate.call(this,e,r,i);if(a)return a;var n=[{field:"actionBar",validators:[l.Validators.actionBarValidator]},{field:"statusBar",validators:[l.Validators.statusBarValidator]}];return new o.MultipleFieldsValidator(n).validate(e,r,i)},e}(n.ObjectValidator);e.ReportBarsValidator=s;var u=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return a(e,t),e.prototype.validate=function(e,r,i){if(null==e)return null;var a=t.prototype.validate.call(this,e,r,i);if(a)return a;var n=[{field:"visible",validators:[l.Validators.booleanValidator]}];return new o.MultipleFieldsValidator(n).validate(e,r,i)},e}(n.ObjectValidator);e.ActionBarValidator=u;var d=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return a(e,t),e.prototype.validate=function(e,r,i){if(null==e)return null;var a=t.prototype.validate.call(this,e,r,i);if(a)return a;var n=[{field:"visible",validators:[l.Validators.booleanValidator]}];return new o.MultipleFieldsValidator(n).validate(e,r,i)},e}(n.ObjectValidator);e.StatusBarValidator=d},(t,e)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.MultipleFieldsValidator=void 0;var r=function(){function t(t){this.fieldValidatorsPairs=t}return t.prototype.validate=function(t,e,r){if(!this.fieldValidatorsPairs)return null;for(var i=e?e+"."+r:r,a=0,o=this.fieldValidatorsPairs;athis.maxValue||e{Object.defineProperty(e,"__esModule",{value:!0}),e.AnyOfValidator=void 0;var r=function(){function t(t){this.validators=t}return t.prototype.validate=function(t,e,r){if(null==t)return null;for(var i=!1,a=0,o=this.validators;a{Object.defineProperty(e,"__esModule",{value:!0}),e.FieldForbiddenValidator=void 0;var r=function(){function t(){}return t.prototype.validate=function(t,e,r){return void 0!==t?[{message:r+" is forbidden",path:(e?e+".":"")+r,keyword:"forbidden"}]:null},t}();e.FieldForbiddenValidator=r},(t,e)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.FieldRequiredValidator=void 0;var r=function(){function t(){}return t.prototype.validate=function(t,e,r){return null==t?[{message:r+" is required",path:(e?e+".":"")+r,keyword:"required"}]:null},t}();e.FieldRequiredValidator=r},function(t,e,r){var i,a=this&&this.__extends||(i=function(t,e){return i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},i(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.MapValidator=void 0;var o=function(t){function e(e,r){var i=t.call(this)||this;return i.keyValidators=e,i.valueValidators=r,i}return a(e,t),e.prototype.validate=function(e,r,i){if(null==e)return null;var a=t.prototype.validate.call(this,e,r,i);if(a)return a;for(var o in e)if(e.hasOwnProperty(o)){for(var n=(r?r+".":"")+i+"."+o,l=0,s=this.keyValidators;l2&&"[]"===n.slice(l-2)&&(s=!0,r[n=n.slice(0,l-2)]||(r[n]=[])),a=o[1]?g(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(-1!==(i=t.indexOf("?"))){var l=t.substr(i+1,t.length);t=t.substr(0,i),o=this.parseQueryString(l)}for("/"!==(t=decodeURI(t)).charAt(0)&&(t="/"+t),(e=t.length)>1&&"/"===t.charAt(e-1)&&(t=t.substr(0,e-1),n=!0),r=0;r{Object.defineProperty(e,"__esModule",{value:!0}),e.FilterBuilder=void 0;var r=function(){function t(){}return t.prototype.withTargetObject=function(t){return this.target=t,this},t.prototype.withColumnTarget=function(t,e){return this.target={table:t,column:e},this},t.prototype.withMeasureTarget=function(t,e){return this.target={table:t,measure:e},this},t.prototype.withHierarchyLevelTarget=function(t,e,r){return this.target={table:t,hierarchy:e,hierarchyLevel:r},this},t.prototype.withColumnAggregation=function(t,e,r){return this.target={table:t,column:e,aggregationFunction:r},this},t.prototype.withHierarchyLevelAggregationTarget=function(t,e,r,i){return this.target={table:t,hierarchy:e,hierarchyLevel:r,aggregationFunction:i},this},t}();e.FilterBuilder=r},567:(t,e,r)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.RelativeTimeFilterBuilder=e.RelativeDateFilterBuilder=e.TopNFilterBuilder=e.AdvancedFilterBuilder=e.BasicFilterBuilder=void 0;var i=r(153);Object.defineProperty(e,"BasicFilterBuilder",{enumerable:!0,get:function(){return i.BasicFilterBuilder}});var a=r(674);Object.defineProperty(e,"AdvancedFilterBuilder",{enumerable:!0,get:function(){return a.AdvancedFilterBuilder}});var o=r(664);Object.defineProperty(e,"TopNFilterBuilder",{enumerable:!0,get:function(){return o.TopNFilterBuilder}});var n=r(844);Object.defineProperty(e,"RelativeDateFilterBuilder",{enumerable:!0,get:function(){return n.RelativeDateFilterBuilder}});var l=r(275);Object.defineProperty(e,"RelativeTimeFilterBuilder",{enumerable:!0,get:function(){return l.RelativeTimeFilterBuilder}})},844:function(t,e,r){var i,a=this&&this.__extends||(i=function(t,e){return i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},i(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.RelativeDateFilterBuilder=void 0;var o=r(149),n=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.isTodayIncluded=!0,e}return a(e,t),e.prototype.inLast=function(t,e){return this.operator=o.RelativeDateOperators.InLast,this.timeUnitsCount=t,this.timeUnitType=e,this},e.prototype.inThis=function(t,e){return this.operator=o.RelativeDateOperators.InThis,this.timeUnitsCount=t,this.timeUnitType=e,this},e.prototype.inNext=function(t,e){return this.operator=o.RelativeDateOperators.InNext,this.timeUnitsCount=t,this.timeUnitType=e,this},e.prototype.includeToday=function(t){return this.isTodayIncluded=t,this},e.prototype.build=function(){return new o.RelativeDateFilter(this.target,this.operator,this.timeUnitsCount,this.timeUnitType,this.isTodayIncluded)},e}(r(277).FilterBuilder);e.RelativeDateFilterBuilder=n},275:function(t,e,r){var i,a=this&&this.__extends||(i=function(t,e){return i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},i(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.RelativeTimeFilterBuilder=void 0;var o=r(149),n=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return a(e,t),e.prototype.inLast=function(t,e){return this.operator=o.RelativeDateOperators.InLast,this.timeUnitsCount=t,this.timeUnitType=e,this},e.prototype.inThis=function(t,e){return this.operator=o.RelativeDateOperators.InThis,this.timeUnitsCount=t,this.timeUnitType=e,this},e.prototype.inNext=function(t,e){return this.operator=o.RelativeDateOperators.InNext,this.timeUnitsCount=t,this.timeUnitType=e,this},e.prototype.build=function(){return new o.RelativeTimeFilter(this.target,this.operator,this.timeUnitsCount,this.timeUnitType)},e}(r(277).FilterBuilder);e.RelativeTimeFilterBuilder=n},664:function(t,e,r){var i,a=this&&this.__extends||(i=function(t,e){return i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},i(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.TopNFilterBuilder=void 0;var o=r(149),n=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return a(e,t),e.prototype.top=function(t){return this.operator="Top",this.itemCount=t,this},e.prototype.bottom=function(t){return this.operator="Bottom",this.itemCount=t,this},e.prototype.orderByTarget=function(t){return this.orderByTargetValue=t,this},e.prototype.build=function(){return new o.TopNFilter(this.target,this.operator,this.itemCount,this.orderByTargetValue)},e}(r(277).FilterBuilder);e.TopNFilterBuilder=n},460:function(t,e,r){var i=this&&this.__awaiter||function(t,e,r,i){return new(r||(r=Promise))((function(a,o){function n(t){try{s(i.next(t))}catch(t){o(t)}}function l(t){try{s(i.throw(t))}catch(t){o(t)}}function s(t){var e;t.done?a(t.value):(e=t.value,e instanceof r?e:new r((function(t){t(e)}))).then(n,l)}s((i=i.apply(t,e||[])).next())}))},a=this&&this.__generator||function(t,e){var r,i,a,o,n={label:0,sent:function(){if(1&a[0])throw a[1];return a[1]},trys:[],ops:[]};return o={next:l(0),throw:l(1),return:l(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function l(o){return function(l){return function(o){if(r)throw new TypeError("Generator is already executing.");for(;n;)try{if(r=1,i&&(a=2&o[0]?i.return:o[0]?i.throw||((a=i.return)&&a.call(i),0):i.next)&&!(a=a.call(i,o[1])).done)return a;switch(i=0,a&&(o=[2&o[0],a.value]),o[0]){case 0:case 1:a=o;break;case 4:return n.label++,{value:o[1],done:!1};case 5:n.label++,i=o[1],o=[0];continue;case 7:o=n.ops.pop(),n.trys.pop();continue;default:if(!((a=(a=n.trys).length>0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]{Object.defineProperty(e,"__esModule",{value:!0}),e.default={version:"2.22.1",type:"js"}},536:function(t,e,r){var i,a=this&&this.__extends||(i=function(t,e){return i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},i(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}),o=this&&this.__awaiter||function(t,e,r,i){return new(r||(r=Promise))((function(a,o){function n(t){try{s(i.next(t))}catch(t){o(t)}}function l(t){try{s(i.throw(t))}catch(t){o(t)}}function s(t){var e;t.done?a(t.value):(e=t.value,e instanceof r?e:new r((function(t){t(e)}))).then(n,l)}s((i=i.apply(t,e||[])).next())}))},n=this&&this.__generator||function(t,e){var r,i,a,o,n={label:0,sent:function(){if(1&a[0])throw a[1];return a[1]},trys:[],ops:[]};return o={next:l(0),throw:l(1),return:l(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function l(o){return function(l){return function(o){if(r)throw new TypeError("Generator is already executing.");for(;n;)try{if(r=1,i&&(a=2&o[0]?i.return:o[0]?i.throw||((a=i.return)&&a.call(i),0):i.next)&&!(a=a.call(i,o[1])).done)return a;switch(i=0,a&&(o=[2&o[0],a.value]),o[0]){case 0:case 1:a=o;break;case 4:return n.label++,{value:o[1],done:!1};case 5:n.label++,i=o[1],o=[0];continue;case 7:o=n.ops.pop(),n.trys.pop();continue;default:if(!((a=(a=n.trys).length>0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]{Object.defineProperty(e,"__esModule",{value:!0}),e.EmbedUrlNotSupported=e.APINotSupportedForRDLError=void 0,e.APINotSupportedForRDLError="This API is currently not supported for RDL reports",e.EmbedUrlNotSupported="Embed URL is invalid for this scenario. Please use Power BI REST APIs to get the valid URL"},357:(t,e,r)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.routerFactory=e.wpmpFactory=e.hpmFactory=void 0;var i=r(903),a=r(615),o=r(891),n=r(913);e.hpmFactory=function(t,e,r,i,o){return void 0===r&&(r=n.default.version),void 0===i&&(i=n.default.type),new a.HttpPostMessage(t,{"x-sdk-type":i,"x-sdk-version":r,"x-sdk-wrapper-version":o},e)},e.wpmpFactory=function(t,e,r){return new i.WindowPostMessageProxy({processTrackingProperties:{addTrackingProperties:a.HttpPostMessage.addTrackingProperties,getTrackingProperties:a.HttpPostMessage.getTrackingProperties},isErrorMessage:a.HttpPostMessage.isErrorMessage,suppressWarnings:!0,name:t,logMessages:e,eventSourceOverrideWindow:r})},e.routerFactory=function(t){return new o.Router(t)}},220:function(t,e,r){var i=this&&this.__awaiter||function(t,e,r,i){return new(r||(r=Promise))((function(a,o){function n(t){try{s(i.next(t))}catch(t){o(t)}}function l(t){try{s(i.throw(t))}catch(t){o(t)}}function s(t){var e;t.done?a(t.value):(e=t.value,e instanceof r?e:new r((function(t){t(e)}))).then(n,l)}s((i=i.apply(t,e||[])).next())}))},a=this&&this.__generator||function(t,e){var r,i,a,o,n={label:0,sent:function(){if(1&a[0])throw a[1];return a[1]},trys:[],ops:[]};return o={next:l(0),throw:l(1),return:l(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function l(o){return function(l){return function(o){if(r)throw new TypeError("Generator is already executing.");for(;n;)try{if(r=1,i&&(a=2&o[0]?i.return:o[0]?i.throw||((a=i.return)&&a.call(i),0):i.next)&&!(a=a.call(i,o[1])).done)return a;switch(i=0,a&&(o=[2&o[0],a.value]),o[0]){case 0:case 1:a=o;break;case 4:return n.label++,{value:o[1],done:!1};case 5:n.label++,i=o[1],o=[0];continue;case 7:o=n.ops.pop(),n.trys.pop();continue;default:if(!((a=(a=n.trys).length>0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0?"&":"?";return t+(i+e+"=")+r},e.isSavedInternal=function(t,e,a){return r(this,void 0,void 0,(function(){return i(this,(function(r){switch(r.label){case 0:return r.trys.push([0,2,,3]),[4,t.get("/report/hasUnsavedChanges",{uid:e},a)];case 1:return[2,!r.sent().body];case 2:throw r.sent().body;case 3:return[2]}}))}))},e.isRDLEmbed=function(t){return t&&t.toLowerCase().indexOf("/rdlembed?")>=0},e.autoAuthInEmbedUrl=function(t){return t&&decodeURIComponent(t).toLowerCase().indexOf("autoauth=true")>=0},e.getRandomValue=o,e.getTimeDiffInMilliseconds=function(t,e){return Math.abs(t.getTime()-e.getTime())},e.isCreate=function(t){return"create"===t||"quickcreate"===t}},23:function(t,e,r){var i,a=this&&this.__extends||(i=function(t,e){return i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},i(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}),o=this&&this.__awaiter||function(t,e,r,i){return new(r||(r=Promise))((function(a,o){function n(t){try{s(i.next(t))}catch(t){o(t)}}function l(t){try{s(i.throw(t))}catch(t){o(t)}}function s(t){var e;t.done?a(t.value):(e=t.value,e instanceof r?e:new r((function(t){t(e)}))).then(n,l)}s((i=i.apply(t,e||[])).next())}))},n=this&&this.__generator||function(t,e){var r,i,a,o,n={label:0,sent:function(){if(1&a[0])throw a[1];return a[1]},trys:[],ops:[]};return o={next:l(0),throw:l(1),return:l(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function l(o){return function(l){return function(o){if(r)throw new TypeError("Generator is already executing.");for(;n;)try{if(r=1,i&&(a=2&o[0]?i.return:o[0]?i.throw||((a=i.return)&&a.call(i),0):i.next)&&!(a=a.call(i,o[1])).done)return a;switch(i=0,a&&(o=[2&o[0],a.value]),o[0]){case 0:case 1:a=o;break;case 4:return n.label++,{value:o[1],done:!1};case 5:n.label++,i=o[1],o=[0];continue;case 7:o=n.ops.pop(),n.trys.pop();continue;default:if(!((a=(a=n.trys).length>0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]{var t=i;Object.defineProperty(t,"__esModule",{value:!0}),t.RelativeTimeFilterBuilder=t.RelativeDateFilterBuilder=t.TopNFilterBuilder=t.AdvancedFilterBuilder=t.BasicFilterBuilder=t.QuickCreate=t.VisualDescriptor=t.Visual=t.Qna=t.Page=t.Embed=t.Tile=t.Dashboard=t.Report=t.models=t.factories=t.service=void 0;var e=r(149);t.models=e;var a=r(562);t.service=a;var o=r(357);t.factories=o;var n=r(125);Object.defineProperty(t,"Report",{enumerable:!0,get:function(){return n.Report}});var l=r(365);Object.defineProperty(t,"Dashboard",{enumerable:!0,get:function(){return l.Dashboard}});var s=r(43);Object.defineProperty(t,"Tile",{enumerable:!0,get:function(){return s.Tile}});var u=r(932);Object.defineProperty(t,"Embed",{enumerable:!0,get:function(){return u.Embed}});var d=r(220);Object.defineProperty(t,"Page",{enumerable:!0,get:function(){return d.Page}});var c=r(148);Object.defineProperty(t,"Qna",{enumerable:!0,get:function(){return c.Qna}});var p=r(23);Object.defineProperty(t,"Visual",{enumerable:!0,get:function(){return p.Visual}});var f=r(558);Object.defineProperty(t,"VisualDescriptor",{enumerable:!0,get:function(){return f.VisualDescriptor}});var h=r(714);Object.defineProperty(t,"QuickCreate",{enumerable:!0,get:function(){return h.QuickCreate}});var v=r(567);Object.defineProperty(t,"BasicFilterBuilder",{enumerable:!0,get:function(){return v.BasicFilterBuilder}}),Object.defineProperty(t,"AdvancedFilterBuilder",{enumerable:!0,get:function(){return v.AdvancedFilterBuilder}}),Object.defineProperty(t,"TopNFilterBuilder",{enumerable:!0,get:function(){return v.TopNFilterBuilder}}),Object.defineProperty(t,"RelativeDateFilterBuilder",{enumerable:!0,get:function(){return v.RelativeDateFilterBuilder}}),Object.defineProperty(t,"RelativeTimeFilterBuilder",{enumerable:!0,get:function(){return v.RelativeTimeFilterBuilder}});var y=new a.Service(o.hpmFactory,o.wpmpFactory,o.routerFactory);window.powerbi&&window.powerBISDKGlobalServiceInstanceName?window[window.powerBISDKGlobalServiceInstanceName]=y:window.powerbi=y})(),i})())); \ No newline at end of file diff --git a/gulpfile.js b/gulpfile.js index 23b8aad9..1c372f30 100644 --- a/gulpfile.js +++ b/gulpfile.js @@ -161,7 +161,7 @@ gulp.task('min:js', 'Creates minified JavaScript file', function () { // Create minified bundle without source map webpackConfig.mode = 'production'; - webpackConfig.devtool = 'none'; + webpackConfig.devtool = false; return gulp.src(['./src/powerbi-client.ts']) .pipe(webpackStream({ diff --git a/package.json b/package.json index 35caa00a..355c5eba 100644 --- a/package.json +++ b/package.json @@ -47,17 +47,17 @@ "eslint-plugin-prefer-arrow": "^1.2.2", "gulp": "^4.0.2", "gulp-eslint": "^6.0.0", - "gulp-flatten": "^0.2.0", + "gulp-flatten": "^0.4.0", "gulp-gh-pages": "^0.5.4", - "gulp-header": "^1.8.7", + "gulp-header": "^2.0.9", "gulp-help-four": "^0.2.3", "gulp-rename": "^1.2.2", "gulp-replace": "^0.5.4", "gulp-typedoc": "^2.0.0", - "gulp-typescript": "^4.0.1", + "gulp-typescript": "^6.0.0-alpha.1", "gulp-watch": "^5.0.1", "gulp4-run-sequence": "^1.0.0", - "http-server": "^0.12.1", + "http-server": "^14.1.1", "ignore-loader": "^0.1.1", "jasmine-core": "3.10.1", "jquery": "^3.3.1", @@ -71,10 +71,10 @@ "karma-spec-reporter": "0.0.32", "moment": "^2.14.1", "ts-loader": "^6.2.2", - "typedoc": "^0.15.0", + "typedoc": "^0.23.23", "typescript": "~4.6.0", - "webpack": "^4.44.2", - "webpack-stream": "^5.2.1", + "webpack": "^5.75.0", + "webpack-stream": "^7.0.0", "yargs": "^16.1.0" }, "dependencies": { @@ -85,5 +85,10 @@ }, "publishConfig": { "tag": "beta" + }, + "overrides": { + "glob-parent": "^6.0.2", + "lodash.template": "^4.5.0", + "micromatch": "^4.0.5" } } diff --git a/src/quickCreate.ts b/src/quickCreate.ts index ddf0fc18..ae80bf4d 100644 --- a/src/quickCreate.ts +++ b/src/quickCreate.ts @@ -4,7 +4,6 @@ import { IError, IQuickCreateConfiguration, validateQuickCreate } from 'powerbi-models'; import { Service } from './service'; import { Embed, IEmbedConfigurationBase, ISessionHeaders } from './embed'; -import * as assert from 'assert'; /** * A Power BI Quick Create component @@ -38,7 +37,6 @@ export class QuickCreate extends Embed { break; default: - assert(false, `${req.params.eventName} eventHook is not supported`); break; } }); diff --git a/src/report.ts b/src/report.ts index d8de371c..becdb8ab 100644 --- a/src/report.ts +++ b/src/report.ts @@ -40,7 +40,6 @@ import { IFilterable } from './ifilterable'; import { Page } from './page'; import { BookmarksManager } from './bookmarksManager'; import { VisualDescriptor } from './visualDescriptor'; -import * as assert from 'assert'; /** * A Report node within a report hierarchy @@ -111,7 +110,6 @@ export class Report extends Embed implements IReportNode, IFilterable { break; default: - assert(false, `${req.params.eventName} eventHook is not supported`); break; } }); From 588e53e0fc9c033d6f7c0355227ada1c3da65d0b Mon Sep 17 00:00:00 2001 From: Andriy Malish Date: Sun, 22 Jan 2023 10:00:02 +0000 Subject: [PATCH 108/125] Merged PR 280202: [Storytelling] - Add report on blur event - lose focus Add report on blur event - lose focus Two new methods added: - clearVisualsSelection() -- Clears selected not popped out visuals, if flag is passed, all visuals selections will be cleared. - closeAllOverlays() -- Closes all open PBI overlays (context menus, tooltips...) --- dist/powerbi-client.d.ts | 29 +++++++++++++++ dist/powerbi.js | 78 +++++++++++++++++++++++++++++++++++++++- dist/powerbi.min.js | 2 +- src/report.ts | 61 ++++++++++++++++++++++++++++++- 4 files changed, 167 insertions(+), 3 deletions(-) diff --git a/dist/powerbi-client.d.ts b/dist/powerbi-client.d.ts index b9b483b1..e39a95f2 100644 --- a/dist/powerbi-client.d.ts +++ b/dist/powerbi-client.d.ts @@ -1614,6 +1614,35 @@ declare module "report" { * @param zoomLevel zoom level to set */ setZoom(zoomLevel: number): Promise; + /** + * Closes all open context menus and tooltips. + * + * ```javascript + * report.closeAllOverlays() + * .then(() => { + * ... + * }); + * ``` + * + * @returns {Promise} + */ + closeAllOverlays(): Promise; + /** + * Clears selected not popped out visuals, if flag is passed, all visuals selections will be cleared. + * + * ```javascript + * report.clearSelectedVisuals() + * .then(() => { + * ... + * }); + * ``` + * + * @param {Boolean} [clearPopOutState=false] + * If false / undefined visuals selection will not be cleared if one of visuals + * is in popped out state (in focus, show as table, spotlight...) + * @returns {Promise} + */ + clearSelectedVisuals(clearPopOutState?: boolean): Promise; } } declare module "create" { diff --git a/dist/powerbi.js b/dist/powerbi.js index 4e0d4d67..633256e8 100644 --- a/dist/powerbi.js +++ b/dist/powerbi.js @@ -11121,8 +11121,84 @@ var Report = /** @class */ (function (_super) { }); }); }; + /** + * Closes all open context menus and tooltips. + * + * ```javascript + * report.closeAllOverlays() + * .then(() => { + * ... + * }); + * ``` + * + * @returns {Promise} + */ + Report.prototype.closeAllOverlays = function () { + return __awaiter(this, void 0, void 0, function () { + var response, error_1; + return __generator(this, function (_a) { + switch (_a.label) { + case 0: + if ((0, util_1.isRDLEmbed)(this.config.embedUrl)) { + return [2 /*return*/, Promise.reject(errors_1.APINotSupportedForRDLError)]; + } + _a.label = 1; + case 1: + _a.trys.push([1, 3, , 4]); + return [4 /*yield*/, this.service.hpm.post('/report/closeAllOverlays', null, { uid: this.config.uniqueId }, this.iframe.contentWindow)]; + case 2: + response = _a.sent(); + return [2 /*return*/, response.body]; + case 3: + error_1 = _a.sent(); + return [2 /*return*/, Promise.reject(error_1)]; + case 4: return [2 /*return*/]; + } + }); + }); + }; + /** + * Clears selected not popped out visuals, if flag is passed, all visuals selections will be cleared. + * + * ```javascript + * report.clearSelectedVisuals() + * .then(() => { + * ... + * }); + * ``` + * + * @param {Boolean} [clearPopOutState=false] + * If false / undefined visuals selection will not be cleared if one of visuals + * is in popped out state (in focus, show as table, spotlight...) + * @returns {Promise} + */ + Report.prototype.clearSelectedVisuals = function (clearPopOutState) { + return __awaiter(this, void 0, void 0, function () { + var response, error_2; + return __generator(this, function (_a) { + switch (_a.label) { + case 0: + clearPopOutState = clearPopOutState === true; + if ((0, util_1.isRDLEmbed)(this.config.embedUrl)) { + return [2 /*return*/, Promise.reject(errors_1.APINotSupportedForRDLError)]; + } + _a.label = 1; + case 1: + _a.trys.push([1, 3, , 4]); + return [4 /*yield*/, this.service.hpm.post("/report/clearSelectedVisuals/".concat(clearPopOutState.toString()), null, { uid: this.config.uniqueId }, this.iframe.contentWindow)]; + case 2: + response = _a.sent(); + return [2 /*return*/, response.body]; + case 3: + error_2 = _a.sent(); + return [2 /*return*/, Promise.reject(error_2)]; + case 4: return [2 /*return*/]; + } + }); + }); + }; /** @hidden */ - Report.allowedEvents = ["filtersApplied", "pageChanged", "commandTriggered", "swipeStart", "swipeEnd", "bookmarkApplied", "dataHyperlinkClicked", "visualRendered", "visualClicked", "selectionChanged", "renderingStarted"]; + Report.allowedEvents = ["filtersApplied", "pageChanged", "commandTriggered", "swipeStart", "swipeEnd", "bookmarkApplied", "dataHyperlinkClicked", "visualRendered", "visualClicked", "selectionChanged", "renderingStarted", "blur"]; /** @hidden */ Report.reportIdAttribute = 'powerbi-report-id'; /** @hidden */ diff --git a/dist/powerbi.min.js b/dist/powerbi.min.js index 4853e5c8..2212b2ba 100644 --- a/dist/powerbi.min.js +++ b/dist/powerbi.min.js @@ -2,4 +2,4 @@ // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. /*! For license information please see powerbi.js.LICENSE.txt */ -!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,(()=>(()=>{var t={615:function(t){var e;e=function(){return function(t){var e={};function r(i){if(e[i])return e[i].exports;var a=e[i]={exports:{},id:i,loaded:!1};return t[i].call(a.exports,a,a.exports,r),a.loaded=!0,a.exports}return r.m=t,r.c=e,r.p="",r(0)}([function(t,e){"use strict";var r=function(){function t(t,e,r){void 0===e&&(e={}),this.defaultHeaders=e,this.defaultTargetWindow=r,this.windowPostMessageProxy=t}return t.addTrackingProperties=function(t,e){return t.headers=t.headers||{},e&&e.id&&(t.headers.id=e.id),t},t.getTrackingProperties=function(t){return{id:t.headers&&t.headers.id}},t.isErrorMessage=function(t){return"number"==typeof(t&&t.statusCode)&&!(200<=t.statusCode&&t.statusCode<300)},t.prototype.get=function(t,e,r){return void 0===e&&(e={}),void 0===r&&(r=this.defaultTargetWindow),this.send({method:"GET",url:t,headers:e},r)},t.prototype.post=function(t,e,r,i){return void 0===r&&(r={}),void 0===i&&(i=this.defaultTargetWindow),this.send({method:"POST",url:t,headers:r,body:e},i)},t.prototype.put=function(t,e,r,i){return void 0===r&&(r={}),void 0===i&&(i=this.defaultTargetWindow),this.send({method:"PUT",url:t,headers:r,body:e},i)},t.prototype.patch=function(t,e,r,i){return void 0===r&&(r={}),void 0===i&&(i=this.defaultTargetWindow),this.send({method:"PATCH",url:t,headers:r,body:e},i)},t.prototype.delete=function(t,e,r,i){return void 0===e&&(e=null),void 0===r&&(r={}),void 0===i&&(i=this.defaultTargetWindow),this.send({method:"DELETE",url:t,headers:r,body:e},i)},t.prototype.send=function(t,e){if(void 0===e&&(e=this.defaultTargetWindow),t.headers=this.assign({},this.defaultHeaders,t.headers),!e)throw new Error("target window is not provided. You must either provide the target window explicitly as argument to request, or specify default target window when constructing instance of this class.");return this.windowPostMessageProxy.postMessage(e,t)},t.prototype.assign=function(t){for(var e=[],r=1;r(()=>{var t=[function(t,e,r){var i,a=this&&this.__extends||(i=function(t,e){return i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},i(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.SortDirection=e.LegendPosition=e.TextAlignment=e.CommonErrorCodes=e.BookmarksPlayMode=e.ExportDataType=e.QnaMode=e.PageNavigationPosition=e.DataCacheMode=e.CredentialType=e.isPercentOfGrandTotal=e.isColumnAggr=e.isHierarchyLevelAggr=e.isHierarchyLevel=e.isColumn=e.isMeasure=e.getFilterType=e.isBasicFilterWithKeys=e.isFilterKeyColumnsTarget=e.HierarchyFilter=e.AdvancedFilter=e.TupleFilter=e.IdentityFilter=e.BasicFilterWithKeys=e.BasicFilter=e.RelativeTimeFilter=e.RelativeDateFilter=e.TopNFilter=e.IncludeExcludeFilter=e.NotSupportedFilter=e.Filter=e.RelativeDateOperators=e.RelativeDateFilterTimeUnit=e.FilterType=e.FiltersLevel=e.FiltersOperations=e.MenuLocation=e.ContrastMode=e.TokenType=e.ViewMode=e.Permissions=e.SectionVisibility=e.ReportAlignment=e.HyperlinkClickBehavior=e.LayoutType=e.VisualContainerDisplayMode=e.BackgroundType=e.DisplayOption=e.PageSizeType=e.TraceType=void 0,e.validateCommandsSettings=e.validateVisualSettings=e.validateVisualHeader=e.validateExportDataRequest=e.validateQnaInterpretInputData=e.validateLoadQnaConfiguration=e.validateSaveAsParameters=e.validateUpdateFiltersRequest=e.validateFilter=e.validatePage=e.validateTileLoad=e.validateDashboardLoad=e.validateQuickCreate=e.validateCreateReport=e.validatePaginatedReportLoad=e.validateReportLoad=e.validateMenuGroupExtension=e.validateExtension=e.validateCustomPageSize=e.validateVisualizationsPane=e.validateSyncSlicersPane=e.validateSelectionPane=e.validatePageNavigationPane=e.validateFieldsPane=e.validateFiltersPane=e.validateBookmarksPane=e.validatePanes=e.validateSettings=e.validateCaptureBookmarkRequest=e.validateApplyBookmarkStateRequest=e.validateApplyBookmarkByNameRequest=e.validateAddBookmarkRequest=e.validatePlayBookmarkRequest=e.validateSlicerState=e.validateSlicer=e.validateVisualSelector=e.isIExtensionArray=e.isIExtensions=e.isGroupedMenuExtension=e.isFlatMenuExtension=e.isReportFiltersArray=e.isOnLoadFilters=e.VisualDataRoleKindPreference=e.VisualDataRoleKind=e.CommandDisplayOption=e.SlicerTargetSelector=e.VisualTypeSelector=e.VisualSelector=e.PageSelector=e.Selector=void 0,e.validateZoomLevel=e.validateCustomTheme=void 0;var o,n,l,s,u,d,c,p,f,h,v,y,m,V,g,b,w,P,O,S=r(1);(O=e.TraceType||(e.TraceType={}))[O.Information=0]="Information",O[O.Verbose=1]="Verbose",O[O.Warning=2]="Warning",O[O.Error=3]="Error",O[O.ExpectedError=4]="ExpectedError",O[O.UnexpectedError=5]="UnexpectedError",O[O.Fatal=6]="Fatal",(P=e.PageSizeType||(e.PageSizeType={}))[P.Widescreen=0]="Widescreen",P[P.Standard=1]="Standard",P[P.Cortana=2]="Cortana",P[P.Letter=3]="Letter",P[P.Custom=4]="Custom",P[P.Mobile=5]="Mobile",(w=e.DisplayOption||(e.DisplayOption={}))[w.FitToPage=0]="FitToPage",w[w.FitToWidth=1]="FitToWidth",w[w.ActualSize=2]="ActualSize",(b=e.BackgroundType||(e.BackgroundType={}))[b.Default=0]="Default",b[b.Transparent=1]="Transparent",(g=e.VisualContainerDisplayMode||(e.VisualContainerDisplayMode={}))[g.Visible=0]="Visible",g[g.Hidden=1]="Hidden",(V=e.LayoutType||(e.LayoutType={}))[V.Master=0]="Master",V[V.Custom=1]="Custom",V[V.MobilePortrait=2]="MobilePortrait",V[V.MobileLandscape=3]="MobileLandscape",(m=e.HyperlinkClickBehavior||(e.HyperlinkClickBehavior={}))[m.Navigate=0]="Navigate",m[m.NavigateAndRaiseEvent=1]="NavigateAndRaiseEvent",m[m.RaiseEvent=2]="RaiseEvent",(y=e.ReportAlignment||(e.ReportAlignment={}))[y.Left=0]="Left",y[y.Center=1]="Center",y[y.Right=2]="Right",y[y.None=3]="None",(v=e.SectionVisibility||(e.SectionVisibility={}))[v.AlwaysVisible=0]="AlwaysVisible",v[v.HiddenInViewMode=1]="HiddenInViewMode",(h=e.Permissions||(e.Permissions={}))[h.Read=0]="Read",h[h.ReadWrite=1]="ReadWrite",h[h.Copy=2]="Copy",h[h.Create=4]="Create",h[h.All=7]="All",(f=e.ViewMode||(e.ViewMode={}))[f.View=0]="View",f[f.Edit=1]="Edit",(p=e.TokenType||(e.TokenType={}))[p.Aad=0]="Aad",p[p.Embed=1]="Embed",(c=e.ContrastMode||(e.ContrastMode={}))[c.None=0]="None",c[c.HighContrast1=1]="HighContrast1",c[c.HighContrast2=2]="HighContrast2",c[c.HighContrastBlack=3]="HighContrastBlack",c[c.HighContrastWhite=4]="HighContrastWhite",(d=e.MenuLocation||(e.MenuLocation={}))[d.Bottom=0]="Bottom",d[d.Top=1]="Top",(u=e.FiltersOperations||(e.FiltersOperations={}))[u.RemoveAll=0]="RemoveAll",u[u.ReplaceAll=1]="ReplaceAll",u[u.Add=2]="Add",u[u.Replace=3]="Replace",(s=e.FiltersLevel||(e.FiltersLevel={}))[s.Report=0]="Report",s[s.Page=1]="Page",s[s.Visual=2]="Visual",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",t[t.Identity=8]="Identity",t[t.Hierarchy=9]="Hierarchy"}(o=e.FilterType||(e.FilterType={})),(l=e.RelativeDateFilterTimeUnit||(e.RelativeDateFilterTimeUnit={}))[l.Days=0]="Days",l[l.Weeks=1]="Weeks",l[l.CalendarWeeks=2]="CalendarWeeks",l[l.Months=3]="Months",l[l.CalendarMonths=4]="CalendarMonths",l[l.Years=5]="Years",l[l.CalendarYears=6]="CalendarYears",l[l.Minutes=7]="Minutes",l[l.Hours=8]="Hours",(n=e.RelativeDateOperators||(e.RelativeDateOperators={}))[n.InLast=0]="InLast",n[n.InThis=1]="InThis",n[n.InNext=2]="InNext";var _=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=_;var T=function(t){function e(r,i,a){var n=t.call(this,r,o.Unknown)||this;return n.message=i,n.notSupportedTypeName=a,n.schemaUrl=e.schemaUrl,n}return a(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}(_);e.NotSupportedFilter=T;var E=function(t){function e(r,i,a){var n=t.call(this,r,o.IncludeExclude)||this;return n.values=a,n.isExclude=i,n.schemaUrl=e.schemaUrl,n}return a(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}(_);e.IncludeExcludeFilter=E;var F=function(t){function e(r,i,a,n){var l=t.call(this,r,o.TopN)||this;return l.operator=i,l.itemCount=a,l.schemaUrl=e.schemaUrl,l.orderBy=n,l}return a(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}(_);e.TopNFilter=F;var C=function(t){function e(r,i,a,n,l){var s=t.call(this,r,o.RelativeDate)||this;return s.operator=i,s.timeUnitsCount=a,s.timeUnitType=n,s.includeToday=l,s.schemaUrl=e.schemaUrl,s}return a(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}(_);e.RelativeDateFilter=C;var R=function(t){function e(r,i,a,n){var l=t.call(this,r,o.RelativeTime)||this;return l.operator=i,l.timeUnitsCount=a,l.timeUnitType=n,l.schemaUrl=e.schemaUrl,l}return a(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}(_);e.RelativeTimeFilter=R;var k=function(t){function e(r,i){for(var a=[],n=2;n0&&!a)throw new Error("You should pass the values to be filtered for each key. You passed: no values and ".concat(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,s=o.keyValues;l2)throw new Error("AdvancedFilters may not have more than two conditions. You passed: ".concat(a.length));if(1===l.length&&"And"!==i)throw new Error('Logical Operator must be "And" when there is only one condition provided');return s.conditions=l,s}return a(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}(_);e.AdvancedFilter=j;var L,I,q,D,N,B,U,H=function(t){function e(r,i){var a=t.call(this,r,o.Hierarchy)||this;return a.schemaUrl=e.schemaUrl,a.hierarchyData=i,a}return a(e,t),e.prototype.toJSON=function(){var e=t.prototype.toJSON.call(this);return e.hierarchyData=this.hierarchyData,e.target=this.target,e},e.schemaUrl="http://powerbi.com/product/schema#hierarchy",e}(_);function W(t){if(t.filterType)return t.filterType;var e=t,r=t;return"string"==typeof e.operator&&Array.isArray(e.values)?o.Basic:"string"==typeof r.logicalOperator&&Array.isArray(r.conditions)?o.Advanced:o.Unknown}function z(t){return!(!t.table||!t.column||t.aggregationFunction)}e.HierarchyFilter=H,e.isFilterKeyColumnsTarget=function(t){return z(t)&&!!t.keys},e.isBasicFilterWithKeys=function(t){return W(t)===o.Basic&&!!t.keyValues},e.getFilterType=W,e.isMeasure=function(t){return void 0!==t.table&&void 0!==t.measure},e.isColumn=z,e.isHierarchyLevel=function(t){return!(!(t.table&&t.hierarchy&&t.hierarchyLevel)||t.aggregationFunction)},e.isHierarchyLevelAggr=function(t){return!!(t.table&&t.hierarchy&&t.hierarchyLevel&&t.aggregationFunction)},e.isColumnAggr=function(t){return!!(t.table&&t.column&&t.aggregationFunction)},e.isPercentOfGrandTotal=function(t){return!!t.percentOfGrandTotal},(U=e.CredentialType||(e.CredentialType={}))[U.NoConnection=0]="NoConnection",U[U.OnBehalfOf=1]="OnBehalfOf",U[U.Anonymous=2]="Anonymous",(B=e.DataCacheMode||(e.DataCacheMode={}))[B.Import=0]="Import",B[B.DirectQuery=1]="DirectQuery",(N=e.PageNavigationPosition||(e.PageNavigationPosition={}))[N.Bottom=0]="Bottom",N[N.Left=1]="Left",(D=e.QnaMode||(e.QnaMode={}))[D.Interactive=0]="Interactive",D[D.ResultOnly=1]="ResultOnly",(q=e.ExportDataType||(e.ExportDataType={}))[q.Summarized=0]="Summarized",q[q.Underlying=1]="Underlying",(I=e.BookmarksPlayMode||(e.BookmarksPlayMode={}))[I.Off=0]="Off",I[I.Presentation=1]="Presentation",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"},(L=e.SortDirection||(e.SortDirection={}))[L.Ascending=1]="Ascending",L[L.Descending=2]="Descending";var Q=function(){function t(t){this.$schema=t}return t.prototype.toJSON=function(){return{$schema:this.$schema}},t}();e.Selector=Q;var G=function(t){function e(r){var i=t.call(this,e.schemaUrl)||this;return i.pageName=r,i}return a(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}(Q);e.PageSelector=G;var J=function(t){function e(r){var i=t.call(this,e.schemaUrl)||this;return i.visualName=r,i}return a(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}(Q);e.VisualSelector=J;var K=function(t){function e(e){var r=t.call(this,J.schemaUrl)||this;return r.visualType=e,r}return a(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}(Q);e.VisualTypeSelector=K;var Y,$,Z,X=function(t){function e(e){var r=t.call(this,J.schemaUrl)||this;return r.target=e,r}return a(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}(Q);function tt(t){return Array.isArray(t)}function et(t){return t&&!!t.groupName}function rt(t){return Array.isArray(t)}function it(t){var e=t.message;return e||(e="".concat(t.path," is invalid. Not meeting ").concat(t.keyword," constraint")),{message:e}}e.SlicerTargetSelector=X,(Z=e.CommandDisplayOption||(e.CommandDisplayOption={}))[Z.Enabled=0]="Enabled",Z[Z.Disabled=1]="Disabled",Z[Z.Hidden=2]="Hidden",($=e.VisualDataRoleKind||(e.VisualDataRoleKind={}))[$.Grouping=0]="Grouping",$[$.Measure=1]="Measure",$[$.GroupingOrMeasure=2]="GroupingOrMeasure",(Y=e.VisualDataRoleKindPreference||(e.VisualDataRoleKindPreference={}))[Y.Measure=0]="Measure",Y[Y.Grouping=1]="Grouping",e.isOnLoadFilters=function(t){return t&&!tt(t)},e.isReportFiltersArray=tt,e.isFlatMenuExtension=function(t){return t&&!et(t)},e.isGroupedMenuExtension=et,e.isIExtensions=function(t){return t&&!rt(t)},e.isIExtensionArray=rt,e.validateVisualSelector=function(t){var e=S.Validators.visualSelectorValidator.validate(t);return e?e.map(it):void 0},e.validateSlicer=function(t){var e=S.Validators.slicerValidator.validate(t);return e?e.map(it):void 0},e.validateSlicerState=function(t){var e=S.Validators.slicerStateValidator.validate(t);return e?e.map(it):void 0},e.validatePlayBookmarkRequest=function(t){var e=S.Validators.playBookmarkRequestValidator.validate(t);return e?e.map(it):void 0},e.validateAddBookmarkRequest=function(t){var e=S.Validators.addBookmarkRequestValidator.validate(t);return e?e.map(it):void 0},e.validateApplyBookmarkByNameRequest=function(t){var e=S.Validators.applyBookmarkByNameRequestValidator.validate(t);return e?e.map(it):void 0},e.validateApplyBookmarkStateRequest=function(t){var e=S.Validators.applyBookmarkStateRequestValidator.validate(t);return e?e.map(it):void 0},e.validateCaptureBookmarkRequest=function(t){var e=S.Validators.captureBookmarkRequestValidator.validate(t);return e?e.map(it):void 0},e.validateSettings=function(t){var e=S.Validators.settingsValidator.validate(t);return e?e.map(it):void 0},e.validatePanes=function(t){var e=S.Validators.reportPanesValidator.validate(t);return e?e.map(it):void 0},e.validateBookmarksPane=function(t){var e=S.Validators.bookmarksPaneValidator.validate(t);return e?e.map(it):void 0},e.validateFiltersPane=function(t){var e=S.Validators.filtersPaneValidator.validate(t);return e?e.map(it):void 0},e.validateFieldsPane=function(t){var e=S.Validators.fieldsPaneValidator.validate(t);return e?e.map(it):void 0},e.validatePageNavigationPane=function(t){var e=S.Validators.pageNavigationPaneValidator.validate(t);return e?e.map(it):void 0},e.validateSelectionPane=function(t){var e=S.Validators.selectionPaneValidator.validate(t);return e?e.map(it):void 0},e.validateSyncSlicersPane=function(t){var e=S.Validators.syncSlicersPaneValidator.validate(t);return e?e.map(it):void 0},e.validateVisualizationsPane=function(t){var e=S.Validators.visualizationsPaneValidator.validate(t);return e?e.map(it):void 0},e.validateCustomPageSize=function(t){var e=S.Validators.customPageSizeValidator.validate(t);return e?e.map(it):void 0},e.validateExtension=function(t){var e=S.Validators.extensionValidator.validate(t);return e?e.map(it):void 0},e.validateMenuGroupExtension=function(t){var e=S.Validators.menuGroupExtensionValidator.validate(t);return e?e.map(it):void 0},e.validateReportLoad=function(t){var e=S.Validators.reportLoadValidator.validate(t);return e?e.map(it):void 0},e.validatePaginatedReportLoad=function(t){var e=S.Validators.paginatedReportLoadValidator.validate(t);return e?e.map(it):void 0},e.validateCreateReport=function(t){var e=S.Validators.reportCreateValidator.validate(t);return e?e.map(it):void 0},e.validateQuickCreate=function(t){var e=S.Validators.quickCreateValidator.validate(t);return e?e.map(it):void 0},e.validateDashboardLoad=function(t){var e=S.Validators.dashboardLoadValidator.validate(t);return e?e.map(it):void 0},e.validateTileLoad=function(t){var e=S.Validators.tileLoadValidator.validate(t);return e?e.map(it):void 0},e.validatePage=function(t){var e=S.Validators.pageValidator.validate(t);return e?e.map(it):void 0},e.validateFilter=function(t){var e=S.Validators.filterValidator.validate(t);return e?e.map(it):void 0},e.validateUpdateFiltersRequest=function(t){var e=S.Validators.updateFiltersRequestValidator.validate(t);return e?e.map(it):void 0},e.validateSaveAsParameters=function(t){var e=S.Validators.saveAsParametersValidator.validate(t);return e?e.map(it):void 0},e.validateLoadQnaConfiguration=function(t){var e=S.Validators.loadQnaValidator.validate(t);return e?e.map(it):void 0},e.validateQnaInterpretInputData=function(t){var e=S.Validators.qnaInterpretInputDataValidator.validate(t);return e?e.map(it):void 0},e.validateExportDataRequest=function(t){var e=S.Validators.exportDataRequestValidator.validate(t);return e?e.map(it):void 0},e.validateVisualHeader=function(t){var e=S.Validators.visualHeaderValidator.validate(t);return e?e.map(it):void 0},e.validateVisualSettings=function(t){var e=S.Validators.visualSettingsValidator.validate(t);return e?e.map(it):void 0},e.validateCommandsSettings=function(t){var e=S.Validators.commandsSettingsValidator.validate(t);return e?e.map(it):void 0},e.validateCustomTheme=function(t){var e=S.Validators.customThemeValidator.validate(t);return e?e.map(it):void 0},e.validateZoomLevel=function(t){var e=S.Validators.zoomLevelValidator.validate(t);return e?e.map(it):void 0}},(t,e,r)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.Validators=void 0;var i=r(2),a=r(5),o=r(6),n=r(7),l=r(8),s=r(9),u=r(10),d=r(11),c=r(12),p=r(13),f=r(14),h=r(15),v=r(16),y=r(17),m=r(18),V=r(19),g=r(20),b=r(21),w=r(22),P=r(23),O=r(24),S=r(25),_=r(26),T=r(27),E=r(28),F=r(29),C=r(4),R=r(30),k=r(31),x=r(32);e.Validators={addBookmarkRequestValidator:new a.AddBookmarkRequestValidator,advancedFilterTypeValidator:new C.EnumValidator([0]),advancedFilterValidator:new c.AdvancedFilterValidator,anyArrayValidator:new C.ArrayValidator([new _.AnyOfValidator([new C.StringValidator,new C.NumberValidator,new C.BooleanValidator])]),anyFilterValidator:new _.AnyOfValidator([new c.BasicFilterValidator,new c.AdvancedFilterValidator,new c.IncludeExcludeFilterValidator,new c.NotSupportedFilterValidator,new c.RelativeDateFilterValidator,new c.TopNFilterValidator,new c.RelativeTimeFilterValidator,new c.HierarchyFilterValidator]),anyValueValidator:new _.AnyOfValidator([new C.StringValidator,new C.NumberValidator,new C.BooleanValidator]),actionBarValidator:new i.ActionBarValidator,statusBarValidator:new i.StatusBarValidator,applyBookmarkByNameRequestValidator:new a.ApplyBookmarkByNameRequestValidator,applyBookmarkStateRequestValidator:new a.ApplyBookmarkStateRequestValidator,applyBookmarkValidator:new _.AnyOfValidator([new a.ApplyBookmarkByNameRequestValidator,new a.ApplyBookmarkStateRequestValidator]),backgroundValidator:new C.EnumValidator([0,1]),basicFilterTypeValidator:new C.EnumValidator([1]),basicFilterValidator:new c.BasicFilterValidator,booleanArrayValidator:new C.BooleanArrayValidator,booleanValidator:new C.BooleanValidator,bookmarksPaneValidator:new h.BookmarksPaneValidator,captureBookmarkOptionsValidator:new a.CaptureBookmarkOptionsValidator,captureBookmarkRequestValidator:new a.CaptureBookmarkRequestValidator,columnSchemaArrayValidator:new C.ArrayValidator([new k.ColumnSchemaValidator]),commandDisplayOptionValidator:new C.EnumValidator([0,1,2]),commandExtensionSelectorValidator:new _.AnyOfValidator([new b.VisualSelectorValidator,new b.VisualTypeSelectorValidator]),commandExtensionArrayValidator:new C.ArrayValidator([new d.CommandExtensionValidator]),commandExtensionValidator:new d.CommandExtensionValidator,commandsSettingsArrayValidator:new C.ArrayValidator([new o.CommandsSettingsValidator]),commandsSettingsValidator:new o.CommandsSettingsValidator,conditionItemValidator:new c.ConditionItemValidator,contrastModeValidator:new C.EnumValidator([0,1,2,3,4]),credentialDetailsValidator:new F.MapValidator([new C.StringValidator],[new C.StringValidator]),credentialsValidator:new k.CredentialsValidator,credentialTypeValidator:new C.EnumValidator([0,1,2]),customLayoutDisplayOptionValidator:new C.EnumValidator([0,1,2]),customLayoutValidator:new p.CustomLayoutValidator,customPageSizeValidator:new f.CustomPageSizeValidator,customThemeValidator:new n.CustomThemeValidator,dashboardLoadValidator:new l.DashboardLoadValidator,dataCacheModeValidator:new C.EnumValidator([0,1]),datasetBindingValidator:new s.DatasetBindingValidator,datasetCreateConfigValidator:new k.DatasetCreateConfigValidator,datasourceConnectionConfigValidator:new k.DatasourceConnectionConfigValidator,displayStateModeValidator:new C.EnumValidator([0,1]),displayStateValidator:new p.DisplayStateValidator,exportDataRequestValidator:new u.ExportDataRequestValidator,extensionArrayValidator:new C.ArrayValidator([new d.ExtensionValidator]),extensionsValidator:new _.AnyOfValidator([new C.ArrayValidator([new d.ExtensionValidator]),new d.ExtensionsValidator]),extensionPointsValidator:new d.ExtensionPointsValidator,extensionValidator:new d.ExtensionValidator,fieldForbiddenValidator:new T.FieldForbiddenValidator,fieldRequiredValidator:new E.FieldRequiredValidator,fieldsPaneValidator:new h.FieldsPaneValidator,filterColumnTargetValidator:new c.FilterColumnTargetValidator,filterDisplaySettingsValidator:new c.FilterDisplaySettingsValidator,filterConditionsValidator:new C.ArrayValidator([new c.ConditionItemValidator]),filterHierarchyTargetValidator:new c.FilterHierarchyTargetValidator,filterMeasureTargetValidator:new c.FilterMeasureTargetValidator,filterTargetValidator:new _.AnyOfValidator([new c.FilterColumnTargetValidator,new c.FilterHierarchyTargetValidator,new c.FilterMeasureTargetValidator,new C.ArrayValidator([new _.AnyOfValidator([new c.FilterColumnTargetValidator,new c.FilterHierarchyTargetValidator,new c.FilterMeasureTargetValidator,new c.FilterKeyColumnsTargetValidator,new c.FilterKeyHierarchyTargetValidator])])]),filterValidator:new c.FilterValidator,filterTypeValidator:new C.EnumValidator([0,1,2,3,4,5,6,7,9]),filtersArrayValidator:new C.ArrayValidator([new c.FilterValidator]),filtersOperationsUpdateValidator:new C.EnumValidator([1,2,3]),filtersOperationsRemoveAllValidator:new C.EnumValidator([0]),filtersPaneValidator:new h.FiltersPaneValidator,hyperlinkClickBehaviorValidator:new C.EnumValidator([0,1,2]),includeExcludeFilterValidator:new c.IncludeExcludeFilterValidator,includeExludeFilterTypeValidator:new C.EnumValidator([3]),hierarchyFilterTypeValidator:new C.EnumValidator([9]),hierarchyFilterValuesValidator:new C.ArrayValidator([new c.HierarchyFilterNodeValidator]),layoutTypeValidator:new C.EnumValidator([0,1,2,3]),loadQnaValidator:new v.LoadQnaValidator,menuExtensionValidator:new _.AnyOfValidator([new d.FlatMenuExtensionValidator,new d.GroupedMenuExtensionValidator]),menuGroupExtensionArrayValidator:new C.ArrayValidator([new d.MenuGroupExtensionValidator]),menuGroupExtensionValidator:new d.MenuGroupExtensionValidator,menuLocationValidator:new C.EnumValidator([0,1]),notSupportedFilterTypeValidator:new C.EnumValidator([2]),notSupportedFilterValidator:new c.NotSupportedFilterValidator,numberArrayValidator:new C.NumberArrayValidator,numberValidator:new C.NumberValidator,onLoadFiltersBaseValidator:new _.AnyOfValidator([new c.OnLoadFiltersBaseValidator,new c.OnLoadFiltersBaseRemoveOperationValidator]),pageLayoutValidator:new F.MapValidator([new C.StringValidator],[new p.VisualLayoutValidator]),pageNavigationPaneValidator:new h.PageNavigationPaneValidator,pageNavigationPositionValidator:new C.EnumValidator([0,1]),pageSizeTypeValidator:new C.EnumValidator([0,1,2,3,4,5]),pageSizeValidator:new f.PageSizeValidator,pageValidator:new f.PageValidator,pageViewFieldValidator:new f.PageViewFieldValidator,pagesLayoutValidator:new F.MapValidator([new C.StringValidator],[new p.PageLayoutValidator]),paginatedReportCommandsValidator:new o.PaginatedReportCommandsValidator,paginatedReportLoadValidator:new V.PaginatedReportLoadValidator,paginatedReportsettingsValidator:new w.PaginatedReportSettingsValidator,parameterValuesArrayValidator:new C.ArrayValidator([new V.ReportParameterFieldsValidator]),parametersPanelValidator:new R.ParametersPanelValidator,permissionsValidator:new C.EnumValidator([0,1,2,4,7]),playBookmarkRequestValidator:new a.PlayBookmarkRequestValidator,qnaInterpretInputDataValidator:new v.QnaInterpretInputDataValidator,qnaPanesValidator:new h.QnaPanesValidator,qnaSettingValidator:new v.QnaSettingsValidator,quickCreateValidator:new x.QuickCreateValidator,rawDataValidator:new C.ArrayValidator([new C.ArrayValidator([new C.StringValidator])]),relativeDateFilterOperatorValidator:new C.EnumValidator([0,1,2]),relativeDateFilterTimeUnitTypeValidator:new C.EnumValidator([0,1,2,3,4,5,6]),relativeDateFilterTypeValidator:new C.EnumValidator([4]),relativeDateFilterValidator:new c.RelativeDateFilterValidator,relativeDateTimeFilterTypeValidator:new C.EnumValidator([4,7]),relativeDateTimeFilterUnitTypeValidator:new C.EnumValidator([0,1,2,3,4,5,6,7,8]),relativeTimeFilterTimeUnitTypeValidator:new C.EnumValidator([7,8]),relativeTimeFilterTypeValidator:new C.EnumValidator([7]),relativeTimeFilterValidator:new c.RelativeTimeFilterValidator,reportBarsValidator:new i.ReportBarsValidator,reportCreateValidator:new y.ReportCreateValidator,reportLoadFiltersValidator:new _.AnyOfValidator([new C.ArrayValidator([new c.FilterValidator]),new c.OnLoadFiltersValidator]),reportLoadValidator:new m.ReportLoadValidator,reportPanesValidator:new h.ReportPanesValidator,saveAsParametersValidator:new g.SaveAsParametersValidator,selectionPaneValidator:new h.SelectionPaneValidator,settingsValidator:new w.SettingsValidator,singleCommandSettingsValidator:new o.SingleCommandSettingsValidator,slicerSelectorValidator:new _.AnyOfValidator([new b.VisualSelectorValidator,new b.SlicerTargetSelectorValidator]),slicerStateValidator:new P.SlicerStateValidator,slicerTargetValidator:new _.AnyOfValidator([new c.FilterColumnTargetValidator,new c.FilterHierarchyTargetValidator,new c.FilterMeasureTargetValidator,new c.FilterKeyColumnsTargetValidator,new c.FilterKeyHierarchyTargetValidator]),slicerValidator:new P.SlicerValidator,stringArrayValidator:new C.StringArrayValidator,stringValidator:new C.StringValidator,syncSlicersPaneValidator:new h.SyncSlicersPaneValidator,tableDataArrayValidator:new C.ArrayValidator([new k.TableDataValidator]),tableSchemaListValidator:new C.ArrayValidator([new k.TableSchemaValidator]),tileLoadValidator:new O.TileLoadValidator,tokenTypeValidator:new C.EnumValidator([0,1]),topNFilterTypeValidator:new C.EnumValidator([5]),topNFilterValidator:new c.TopNFilterValidator,updateFiltersRequestValidator:new _.AnyOfValidator([new c.UpdateFiltersRequestValidator,new c.RemoveFiltersRequestValidator]),viewModeValidator:new C.EnumValidator([0,1]),visualCommandSelectorValidator:new _.AnyOfValidator([new b.VisualSelectorValidator,new b.VisualTypeSelectorValidator]),visualHeaderSelectorValidator:new _.AnyOfValidator([new b.VisualSelectorValidator,new b.VisualTypeSelectorValidator]),visualHeaderSettingsValidator:new S.VisualHeaderSettingsValidator,visualHeaderValidator:new S.VisualHeaderValidator,visualHeadersValidator:new C.ArrayValidator([new S.VisualHeaderValidator]),visualizationsPaneValidator:new h.VisualizationsPaneValidator,visualLayoutValidator:new p.VisualLayoutValidator,visualSelectorValidator:new b.VisualSelectorValidator,visualSettingsValidator:new S.VisualSettingsValidator,visualTypeSelectorValidator:new b.VisualTypeSelectorValidator,zoomLevelValidator:new C.RangeValidator(.25,4)}},function(t,e,r){var i,a=this&&this.__extends||(i=function(t,e){return i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},i(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.StatusBarValidator=e.ActionBarValidator=e.ReportBarsValidator=void 0;var o=r(3),n=r(4),l=r(1),s=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return a(e,t),e.prototype.validate=function(e,r,i){if(null==e)return null;var a=t.prototype.validate.call(this,e,r,i);if(a)return a;var n=[{field:"actionBar",validators:[l.Validators.actionBarValidator]},{field:"statusBar",validators:[l.Validators.statusBarValidator]}];return new o.MultipleFieldsValidator(n).validate(e,r,i)},e}(n.ObjectValidator);e.ReportBarsValidator=s;var u=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return a(e,t),e.prototype.validate=function(e,r,i){if(null==e)return null;var a=t.prototype.validate.call(this,e,r,i);if(a)return a;var n=[{field:"visible",validators:[l.Validators.booleanValidator]}];return new o.MultipleFieldsValidator(n).validate(e,r,i)},e}(n.ObjectValidator);e.ActionBarValidator=u;var d=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return a(e,t),e.prototype.validate=function(e,r,i){if(null==e)return null;var a=t.prototype.validate.call(this,e,r,i);if(a)return a;var n=[{field:"visible",validators:[l.Validators.booleanValidator]}];return new o.MultipleFieldsValidator(n).validate(e,r,i)},e}(n.ObjectValidator);e.StatusBarValidator=d},(t,e)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.MultipleFieldsValidator=void 0;var r=function(){function t(t){this.fieldValidatorsPairs=t}return t.prototype.validate=function(t,e,r){if(!this.fieldValidatorsPairs)return null;for(var i=e?e+"."+r:r,a=0,o=this.fieldValidatorsPairs;athis.maxValue||e{Object.defineProperty(e,"__esModule",{value:!0}),e.AnyOfValidator=void 0;var r=function(){function t(t){this.validators=t}return t.prototype.validate=function(t,e,r){if(null==t)return null;for(var i=!1,a=0,o=this.validators;a{Object.defineProperty(e,"__esModule",{value:!0}),e.FieldForbiddenValidator=void 0;var r=function(){function t(){}return t.prototype.validate=function(t,e,r){return void 0!==t?[{message:r+" is forbidden",path:(e?e+".":"")+r,keyword:"forbidden"}]:null},t}();e.FieldForbiddenValidator=r},(t,e)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.FieldRequiredValidator=void 0;var r=function(){function t(){}return t.prototype.validate=function(t,e,r){return null==t?[{message:r+" is required",path:(e?e+".":"")+r,keyword:"required"}]:null},t}();e.FieldRequiredValidator=r},function(t,e,r){var i,a=this&&this.__extends||(i=function(t,e){return i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},i(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.MapValidator=void 0;var o=function(t){function e(e,r){var i=t.call(this)||this;return i.keyValidators=e,i.valueValidators=r,i}return a(e,t),e.prototype.validate=function(e,r,i){if(null==e)return null;var a=t.prototype.validate.call(this,e,r,i);if(a)return a;for(var o in e)if(e.hasOwnProperty(o)){for(var n=(r?r+".":"")+i+"."+o,l=0,s=this.keyValidators;l2&&"[]"===n.slice(l-2)&&(s=!0,r[n=n.slice(0,l-2)]||(r[n]=[])),a=o[1]?g(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(-1!==(i=t.indexOf("?"))){var l=t.substr(i+1,t.length);t=t.substr(0,i),o=this.parseQueryString(l)}for("/"!==(t=decodeURI(t)).charAt(0)&&(t="/"+t),(e=t.length)>1&&"/"===t.charAt(e-1)&&(t=t.substr(0,e-1),n=!0),r=0;r{Object.defineProperty(e,"__esModule",{value:!0}),e.FilterBuilder=void 0;var r=function(){function t(){}return t.prototype.withTargetObject=function(t){return this.target=t,this},t.prototype.withColumnTarget=function(t,e){return this.target={table:t,column:e},this},t.prototype.withMeasureTarget=function(t,e){return this.target={table:t,measure:e},this},t.prototype.withHierarchyLevelTarget=function(t,e,r){return this.target={table:t,hierarchy:e,hierarchyLevel:r},this},t.prototype.withColumnAggregation=function(t,e,r){return this.target={table:t,column:e,aggregationFunction:r},this},t.prototype.withHierarchyLevelAggregationTarget=function(t,e,r,i){return this.target={table:t,hierarchy:e,hierarchyLevel:r,aggregationFunction:i},this},t}();e.FilterBuilder=r},567:(t,e,r)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.RelativeTimeFilterBuilder=e.RelativeDateFilterBuilder=e.TopNFilterBuilder=e.AdvancedFilterBuilder=e.BasicFilterBuilder=void 0;var i=r(153);Object.defineProperty(e,"BasicFilterBuilder",{enumerable:!0,get:function(){return i.BasicFilterBuilder}});var a=r(674);Object.defineProperty(e,"AdvancedFilterBuilder",{enumerable:!0,get:function(){return a.AdvancedFilterBuilder}});var o=r(664);Object.defineProperty(e,"TopNFilterBuilder",{enumerable:!0,get:function(){return o.TopNFilterBuilder}});var n=r(844);Object.defineProperty(e,"RelativeDateFilterBuilder",{enumerable:!0,get:function(){return n.RelativeDateFilterBuilder}});var l=r(275);Object.defineProperty(e,"RelativeTimeFilterBuilder",{enumerable:!0,get:function(){return l.RelativeTimeFilterBuilder}})},844:function(t,e,r){var i,a=this&&this.__extends||(i=function(t,e){return i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},i(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.RelativeDateFilterBuilder=void 0;var o=r(149),n=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.isTodayIncluded=!0,e}return a(e,t),e.prototype.inLast=function(t,e){return this.operator=o.RelativeDateOperators.InLast,this.timeUnitsCount=t,this.timeUnitType=e,this},e.prototype.inThis=function(t,e){return this.operator=o.RelativeDateOperators.InThis,this.timeUnitsCount=t,this.timeUnitType=e,this},e.prototype.inNext=function(t,e){return this.operator=o.RelativeDateOperators.InNext,this.timeUnitsCount=t,this.timeUnitType=e,this},e.prototype.includeToday=function(t){return this.isTodayIncluded=t,this},e.prototype.build=function(){return new o.RelativeDateFilter(this.target,this.operator,this.timeUnitsCount,this.timeUnitType,this.isTodayIncluded)},e}(r(277).FilterBuilder);e.RelativeDateFilterBuilder=n},275:function(t,e,r){var i,a=this&&this.__extends||(i=function(t,e){return i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},i(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.RelativeTimeFilterBuilder=void 0;var o=r(149),n=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return a(e,t),e.prototype.inLast=function(t,e){return this.operator=o.RelativeDateOperators.InLast,this.timeUnitsCount=t,this.timeUnitType=e,this},e.prototype.inThis=function(t,e){return this.operator=o.RelativeDateOperators.InThis,this.timeUnitsCount=t,this.timeUnitType=e,this},e.prototype.inNext=function(t,e){return this.operator=o.RelativeDateOperators.InNext,this.timeUnitsCount=t,this.timeUnitType=e,this},e.prototype.build=function(){return new o.RelativeTimeFilter(this.target,this.operator,this.timeUnitsCount,this.timeUnitType)},e}(r(277).FilterBuilder);e.RelativeTimeFilterBuilder=n},664:function(t,e,r){var i,a=this&&this.__extends||(i=function(t,e){return i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},i(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.TopNFilterBuilder=void 0;var o=r(149),n=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return a(e,t),e.prototype.top=function(t){return this.operator="Top",this.itemCount=t,this},e.prototype.bottom=function(t){return this.operator="Bottom",this.itemCount=t,this},e.prototype.orderByTarget=function(t){return this.orderByTargetValue=t,this},e.prototype.build=function(){return new o.TopNFilter(this.target,this.operator,this.itemCount,this.orderByTargetValue)},e}(r(277).FilterBuilder);e.TopNFilterBuilder=n},460:function(t,e,r){var i=this&&this.__awaiter||function(t,e,r,i){return new(r||(r=Promise))((function(a,o){function n(t){try{s(i.next(t))}catch(t){o(t)}}function l(t){try{s(i.throw(t))}catch(t){o(t)}}function s(t){var e;t.done?a(t.value):(e=t.value,e instanceof r?e:new r((function(t){t(e)}))).then(n,l)}s((i=i.apply(t,e||[])).next())}))},a=this&&this.__generator||function(t,e){var r,i,a,o,n={label:0,sent:function(){if(1&a[0])throw a[1];return a[1]},trys:[],ops:[]};return o={next:l(0),throw:l(1),return:l(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function l(o){return function(l){return function(o){if(r)throw new TypeError("Generator is already executing.");for(;n;)try{if(r=1,i&&(a=2&o[0]?i.return:o[0]?i.throw||((a=i.return)&&a.call(i),0):i.next)&&!(a=a.call(i,o[1])).done)return a;switch(i=0,a&&(o=[2&o[0],a.value]),o[0]){case 0:case 1:a=o;break;case 4:return n.label++,{value:o[1],done:!1};case 5:n.label++,i=o[1],o=[0];continue;case 7:o=n.ops.pop(),n.trys.pop();continue;default:if(!((a=(a=n.trys).length>0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]{Object.defineProperty(e,"__esModule",{value:!0}),e.default={version:"2.22.1",type:"js"}},536:function(t,e,r){var i,a=this&&this.__extends||(i=function(t,e){return i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},i(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}),o=this&&this.__awaiter||function(t,e,r,i){return new(r||(r=Promise))((function(a,o){function n(t){try{s(i.next(t))}catch(t){o(t)}}function l(t){try{s(i.throw(t))}catch(t){o(t)}}function s(t){var e;t.done?a(t.value):(e=t.value,e instanceof r?e:new r((function(t){t(e)}))).then(n,l)}s((i=i.apply(t,e||[])).next())}))},n=this&&this.__generator||function(t,e){var r,i,a,o,n={label:0,sent:function(){if(1&a[0])throw a[1];return a[1]},trys:[],ops:[]};return o={next:l(0),throw:l(1),return:l(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function l(o){return function(l){return function(o){if(r)throw new TypeError("Generator is already executing.");for(;n;)try{if(r=1,i&&(a=2&o[0]?i.return:o[0]?i.throw||((a=i.return)&&a.call(i),0):i.next)&&!(a=a.call(i,o[1])).done)return a;switch(i=0,a&&(o=[2&o[0],a.value]),o[0]){case 0:case 1:a=o;break;case 4:return n.label++,{value:o[1],done:!1};case 5:n.label++,i=o[1],o=[0];continue;case 7:o=n.ops.pop(),n.trys.pop();continue;default:if(!((a=(a=n.trys).length>0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]{Object.defineProperty(e,"__esModule",{value:!0}),e.EmbedUrlNotSupported=e.APINotSupportedForRDLError=void 0,e.APINotSupportedForRDLError="This API is currently not supported for RDL reports",e.EmbedUrlNotSupported="Embed URL is invalid for this scenario. Please use Power BI REST APIs to get the valid URL"},357:(t,e,r)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.routerFactory=e.wpmpFactory=e.hpmFactory=void 0;var i=r(903),a=r(615),o=r(891),n=r(913);e.hpmFactory=function(t,e,r,i,o){return void 0===r&&(r=n.default.version),void 0===i&&(i=n.default.type),new a.HttpPostMessage(t,{"x-sdk-type":i,"x-sdk-version":r,"x-sdk-wrapper-version":o},e)},e.wpmpFactory=function(t,e,r){return new i.WindowPostMessageProxy({processTrackingProperties:{addTrackingProperties:a.HttpPostMessage.addTrackingProperties,getTrackingProperties:a.HttpPostMessage.getTrackingProperties},isErrorMessage:a.HttpPostMessage.isErrorMessage,suppressWarnings:!0,name:t,logMessages:e,eventSourceOverrideWindow:r})},e.routerFactory=function(t){return new o.Router(t)}},220:function(t,e,r){var i=this&&this.__awaiter||function(t,e,r,i){return new(r||(r=Promise))((function(a,o){function n(t){try{s(i.next(t))}catch(t){o(t)}}function l(t){try{s(i.throw(t))}catch(t){o(t)}}function s(t){var e;t.done?a(t.value):(e=t.value,e instanceof r?e:new r((function(t){t(e)}))).then(n,l)}s((i=i.apply(t,e||[])).next())}))},a=this&&this.__generator||function(t,e){var r,i,a,o,n={label:0,sent:function(){if(1&a[0])throw a[1];return a[1]},trys:[],ops:[]};return o={next:l(0),throw:l(1),return:l(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function l(o){return function(l){return function(o){if(r)throw new TypeError("Generator is already executing.");for(;n;)try{if(r=1,i&&(a=2&o[0]?i.return:o[0]?i.throw||((a=i.return)&&a.call(i),0):i.next)&&!(a=a.call(i,o[1])).done)return a;switch(i=0,a&&(o=[2&o[0],a.value]),o[0]){case 0:case 1:a=o;break;case 4:return n.label++,{value:o[1],done:!1};case 5:n.label++,i=o[1],o=[0];continue;case 7:o=n.ops.pop(),n.trys.pop();continue;default:if(!((a=(a=n.trys).length>0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0?"&":"?";return t+(i+e+"=")+r},e.isSavedInternal=function(t,e,a){return r(this,void 0,void 0,(function(){return i(this,(function(r){switch(r.label){case 0:return r.trys.push([0,2,,3]),[4,t.get("/report/hasUnsavedChanges",{uid:e},a)];case 1:return[2,!r.sent().body];case 2:throw r.sent().body;case 3:return[2]}}))}))},e.isRDLEmbed=function(t){return t&&t.toLowerCase().indexOf("/rdlembed?")>=0},e.autoAuthInEmbedUrl=function(t){return t&&decodeURIComponent(t).toLowerCase().indexOf("autoauth=true")>=0},e.getRandomValue=o,e.getTimeDiffInMilliseconds=function(t,e){return Math.abs(t.getTime()-e.getTime())},e.isCreate=function(t){return"create"===t||"quickcreate"===t}},23:function(t,e,r){var i,a=this&&this.__extends||(i=function(t,e){return i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},i(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}),o=this&&this.__awaiter||function(t,e,r,i){return new(r||(r=Promise))((function(a,o){function n(t){try{s(i.next(t))}catch(t){o(t)}}function l(t){try{s(i.throw(t))}catch(t){o(t)}}function s(t){var e;t.done?a(t.value):(e=t.value,e instanceof r?e:new r((function(t){t(e)}))).then(n,l)}s((i=i.apply(t,e||[])).next())}))},n=this&&this.__generator||function(t,e){var r,i,a,o,n={label:0,sent:function(){if(1&a[0])throw a[1];return a[1]},trys:[],ops:[]};return o={next:l(0),throw:l(1),return:l(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function l(o){return function(l){return function(o){if(r)throw new TypeError("Generator is already executing.");for(;n;)try{if(r=1,i&&(a=2&o[0]?i.return:o[0]?i.throw||((a=i.return)&&a.call(i),0):i.next)&&!(a=a.call(i,o[1])).done)return a;switch(i=0,a&&(o=[2&o[0],a.value]),o[0]){case 0:case 1:a=o;break;case 4:return n.label++,{value:o[1],done:!1};case 5:n.label++,i=o[1],o=[0];continue;case 7:o=n.ops.pop(),n.trys.pop();continue;default:if(!((a=(a=n.trys).length>0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]{var t=i;Object.defineProperty(t,"__esModule",{value:!0}),t.RelativeTimeFilterBuilder=t.RelativeDateFilterBuilder=t.TopNFilterBuilder=t.AdvancedFilterBuilder=t.BasicFilterBuilder=t.QuickCreate=t.VisualDescriptor=t.Visual=t.Qna=t.Page=t.Embed=t.Tile=t.Dashboard=t.Report=t.models=t.factories=t.service=void 0;var e=r(149);t.models=e;var a=r(562);t.service=a;var o=r(357);t.factories=o;var n=r(125);Object.defineProperty(t,"Report",{enumerable:!0,get:function(){return n.Report}});var l=r(365);Object.defineProperty(t,"Dashboard",{enumerable:!0,get:function(){return l.Dashboard}});var s=r(43);Object.defineProperty(t,"Tile",{enumerable:!0,get:function(){return s.Tile}});var u=r(932);Object.defineProperty(t,"Embed",{enumerable:!0,get:function(){return u.Embed}});var d=r(220);Object.defineProperty(t,"Page",{enumerable:!0,get:function(){return d.Page}});var c=r(148);Object.defineProperty(t,"Qna",{enumerable:!0,get:function(){return c.Qna}});var p=r(23);Object.defineProperty(t,"Visual",{enumerable:!0,get:function(){return p.Visual}});var f=r(558);Object.defineProperty(t,"VisualDescriptor",{enumerable:!0,get:function(){return f.VisualDescriptor}});var h=r(714);Object.defineProperty(t,"QuickCreate",{enumerable:!0,get:function(){return h.QuickCreate}});var v=r(567);Object.defineProperty(t,"BasicFilterBuilder",{enumerable:!0,get:function(){return v.BasicFilterBuilder}}),Object.defineProperty(t,"AdvancedFilterBuilder",{enumerable:!0,get:function(){return v.AdvancedFilterBuilder}}),Object.defineProperty(t,"TopNFilterBuilder",{enumerable:!0,get:function(){return v.TopNFilterBuilder}}),Object.defineProperty(t,"RelativeDateFilterBuilder",{enumerable:!0,get:function(){return v.RelativeDateFilterBuilder}}),Object.defineProperty(t,"RelativeTimeFilterBuilder",{enumerable:!0,get:function(){return v.RelativeTimeFilterBuilder}});var y=new a.Service(o.hpmFactory,o.wpmpFactory,o.routerFactory);window.powerbi&&window.powerBISDKGlobalServiceInstanceName?window[window.powerBISDKGlobalServiceInstanceName]=y:window.powerbi=y})(),i})())); \ No newline at end of file +!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,(()=>(()=>{var t={615:function(t){var e;e=function(){return function(t){var e={};function r(i){if(e[i])return e[i].exports;var a=e[i]={exports:{},id:i,loaded:!1};return t[i].call(a.exports,a,a.exports,r),a.loaded=!0,a.exports}return r.m=t,r.c=e,r.p="",r(0)}([function(t,e){"use strict";var r=function(){function t(t,e,r){void 0===e&&(e={}),this.defaultHeaders=e,this.defaultTargetWindow=r,this.windowPostMessageProxy=t}return t.addTrackingProperties=function(t,e){return t.headers=t.headers||{},e&&e.id&&(t.headers.id=e.id),t},t.getTrackingProperties=function(t){return{id:t.headers&&t.headers.id}},t.isErrorMessage=function(t){return"number"==typeof(t&&t.statusCode)&&!(200<=t.statusCode&&t.statusCode<300)},t.prototype.get=function(t,e,r){return void 0===e&&(e={}),void 0===r&&(r=this.defaultTargetWindow),this.send({method:"GET",url:t,headers:e},r)},t.prototype.post=function(t,e,r,i){return void 0===r&&(r={}),void 0===i&&(i=this.defaultTargetWindow),this.send({method:"POST",url:t,headers:r,body:e},i)},t.prototype.put=function(t,e,r,i){return void 0===r&&(r={}),void 0===i&&(i=this.defaultTargetWindow),this.send({method:"PUT",url:t,headers:r,body:e},i)},t.prototype.patch=function(t,e,r,i){return void 0===r&&(r={}),void 0===i&&(i=this.defaultTargetWindow),this.send({method:"PATCH",url:t,headers:r,body:e},i)},t.prototype.delete=function(t,e,r,i){return void 0===e&&(e=null),void 0===r&&(r={}),void 0===i&&(i=this.defaultTargetWindow),this.send({method:"DELETE",url:t,headers:r,body:e},i)},t.prototype.send=function(t,e){if(void 0===e&&(e=this.defaultTargetWindow),t.headers=this.assign({},this.defaultHeaders,t.headers),!e)throw new Error("target window is not provided. You must either provide the target window explicitly as argument to request, or specify default target window when constructing instance of this class.");return this.windowPostMessageProxy.postMessage(e,t)},t.prototype.assign=function(t){for(var e=[],r=1;r(()=>{var t=[function(t,e,r){var i,a=this&&this.__extends||(i=function(t,e){return i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},i(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.SortDirection=e.LegendPosition=e.TextAlignment=e.CommonErrorCodes=e.BookmarksPlayMode=e.ExportDataType=e.QnaMode=e.PageNavigationPosition=e.DataCacheMode=e.CredentialType=e.isPercentOfGrandTotal=e.isColumnAggr=e.isHierarchyLevelAggr=e.isHierarchyLevel=e.isColumn=e.isMeasure=e.getFilterType=e.isBasicFilterWithKeys=e.isFilterKeyColumnsTarget=e.HierarchyFilter=e.AdvancedFilter=e.TupleFilter=e.IdentityFilter=e.BasicFilterWithKeys=e.BasicFilter=e.RelativeTimeFilter=e.RelativeDateFilter=e.TopNFilter=e.IncludeExcludeFilter=e.NotSupportedFilter=e.Filter=e.RelativeDateOperators=e.RelativeDateFilterTimeUnit=e.FilterType=e.FiltersLevel=e.FiltersOperations=e.MenuLocation=e.ContrastMode=e.TokenType=e.ViewMode=e.Permissions=e.SectionVisibility=e.ReportAlignment=e.HyperlinkClickBehavior=e.LayoutType=e.VisualContainerDisplayMode=e.BackgroundType=e.DisplayOption=e.PageSizeType=e.TraceType=void 0,e.validateCommandsSettings=e.validateVisualSettings=e.validateVisualHeader=e.validateExportDataRequest=e.validateQnaInterpretInputData=e.validateLoadQnaConfiguration=e.validateSaveAsParameters=e.validateUpdateFiltersRequest=e.validateFilter=e.validatePage=e.validateTileLoad=e.validateDashboardLoad=e.validateQuickCreate=e.validateCreateReport=e.validatePaginatedReportLoad=e.validateReportLoad=e.validateMenuGroupExtension=e.validateExtension=e.validateCustomPageSize=e.validateVisualizationsPane=e.validateSyncSlicersPane=e.validateSelectionPane=e.validatePageNavigationPane=e.validateFieldsPane=e.validateFiltersPane=e.validateBookmarksPane=e.validatePanes=e.validateSettings=e.validateCaptureBookmarkRequest=e.validateApplyBookmarkStateRequest=e.validateApplyBookmarkByNameRequest=e.validateAddBookmarkRequest=e.validatePlayBookmarkRequest=e.validateSlicerState=e.validateSlicer=e.validateVisualSelector=e.isIExtensionArray=e.isIExtensions=e.isGroupedMenuExtension=e.isFlatMenuExtension=e.isReportFiltersArray=e.isOnLoadFilters=e.VisualDataRoleKindPreference=e.VisualDataRoleKind=e.CommandDisplayOption=e.SlicerTargetSelector=e.VisualTypeSelector=e.VisualSelector=e.PageSelector=e.Selector=void 0,e.validateZoomLevel=e.validateCustomTheme=void 0;var o,n,l,s,u,d,c,p,f,h,v,y,m,V,g,b,w,P,S,O=r(1);(S=e.TraceType||(e.TraceType={}))[S.Information=0]="Information",S[S.Verbose=1]="Verbose",S[S.Warning=2]="Warning",S[S.Error=3]="Error",S[S.ExpectedError=4]="ExpectedError",S[S.UnexpectedError=5]="UnexpectedError",S[S.Fatal=6]="Fatal",(P=e.PageSizeType||(e.PageSizeType={}))[P.Widescreen=0]="Widescreen",P[P.Standard=1]="Standard",P[P.Cortana=2]="Cortana",P[P.Letter=3]="Letter",P[P.Custom=4]="Custom",P[P.Mobile=5]="Mobile",(w=e.DisplayOption||(e.DisplayOption={}))[w.FitToPage=0]="FitToPage",w[w.FitToWidth=1]="FitToWidth",w[w.ActualSize=2]="ActualSize",(b=e.BackgroundType||(e.BackgroundType={}))[b.Default=0]="Default",b[b.Transparent=1]="Transparent",(g=e.VisualContainerDisplayMode||(e.VisualContainerDisplayMode={}))[g.Visible=0]="Visible",g[g.Hidden=1]="Hidden",(V=e.LayoutType||(e.LayoutType={}))[V.Master=0]="Master",V[V.Custom=1]="Custom",V[V.MobilePortrait=2]="MobilePortrait",V[V.MobileLandscape=3]="MobileLandscape",(m=e.HyperlinkClickBehavior||(e.HyperlinkClickBehavior={}))[m.Navigate=0]="Navigate",m[m.NavigateAndRaiseEvent=1]="NavigateAndRaiseEvent",m[m.RaiseEvent=2]="RaiseEvent",(y=e.ReportAlignment||(e.ReportAlignment={}))[y.Left=0]="Left",y[y.Center=1]="Center",y[y.Right=2]="Right",y[y.None=3]="None",(v=e.SectionVisibility||(e.SectionVisibility={}))[v.AlwaysVisible=0]="AlwaysVisible",v[v.HiddenInViewMode=1]="HiddenInViewMode",(h=e.Permissions||(e.Permissions={}))[h.Read=0]="Read",h[h.ReadWrite=1]="ReadWrite",h[h.Copy=2]="Copy",h[h.Create=4]="Create",h[h.All=7]="All",(f=e.ViewMode||(e.ViewMode={}))[f.View=0]="View",f[f.Edit=1]="Edit",(p=e.TokenType||(e.TokenType={}))[p.Aad=0]="Aad",p[p.Embed=1]="Embed",(c=e.ContrastMode||(e.ContrastMode={}))[c.None=0]="None",c[c.HighContrast1=1]="HighContrast1",c[c.HighContrast2=2]="HighContrast2",c[c.HighContrastBlack=3]="HighContrastBlack",c[c.HighContrastWhite=4]="HighContrastWhite",(d=e.MenuLocation||(e.MenuLocation={}))[d.Bottom=0]="Bottom",d[d.Top=1]="Top",(u=e.FiltersOperations||(e.FiltersOperations={}))[u.RemoveAll=0]="RemoveAll",u[u.ReplaceAll=1]="ReplaceAll",u[u.Add=2]="Add",u[u.Replace=3]="Replace",(s=e.FiltersLevel||(e.FiltersLevel={}))[s.Report=0]="Report",s[s.Page=1]="Page",s[s.Visual=2]="Visual",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",t[t.Identity=8]="Identity",t[t.Hierarchy=9]="Hierarchy"}(o=e.FilterType||(e.FilterType={})),(l=e.RelativeDateFilterTimeUnit||(e.RelativeDateFilterTimeUnit={}))[l.Days=0]="Days",l[l.Weeks=1]="Weeks",l[l.CalendarWeeks=2]="CalendarWeeks",l[l.Months=3]="Months",l[l.CalendarMonths=4]="CalendarMonths",l[l.Years=5]="Years",l[l.CalendarYears=6]="CalendarYears",l[l.Minutes=7]="Minutes",l[l.Hours=8]="Hours",(n=e.RelativeDateOperators||(e.RelativeDateOperators={}))[n.InLast=0]="InLast",n[n.InThis=1]="InThis",n[n.InNext=2]="InNext";var _=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=_;var T=function(t){function e(r,i,a){var n=t.call(this,r,o.Unknown)||this;return n.message=i,n.notSupportedTypeName=a,n.schemaUrl=e.schemaUrl,n}return a(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}(_);e.NotSupportedFilter=T;var E=function(t){function e(r,i,a){var n=t.call(this,r,o.IncludeExclude)||this;return n.values=a,n.isExclude=i,n.schemaUrl=e.schemaUrl,n}return a(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}(_);e.IncludeExcludeFilter=E;var F=function(t){function e(r,i,a,n){var l=t.call(this,r,o.TopN)||this;return l.operator=i,l.itemCount=a,l.schemaUrl=e.schemaUrl,l.orderBy=n,l}return a(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}(_);e.TopNFilter=F;var C=function(t){function e(r,i,a,n,l){var s=t.call(this,r,o.RelativeDate)||this;return s.operator=i,s.timeUnitsCount=a,s.timeUnitType=n,s.includeToday=l,s.schemaUrl=e.schemaUrl,s}return a(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}(_);e.RelativeDateFilter=C;var R=function(t){function e(r,i,a,n){var l=t.call(this,r,o.RelativeTime)||this;return l.operator=i,l.timeUnitsCount=a,l.timeUnitType=n,l.schemaUrl=e.schemaUrl,l}return a(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}(_);e.RelativeTimeFilter=R;var k=function(t){function e(r,i){for(var a=[],n=2;n0&&!a)throw new Error("You should pass the values to be filtered for each key. You passed: no values and ".concat(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,s=o.keyValues;l2)throw new Error("AdvancedFilters may not have more than two conditions. You passed: ".concat(a.length));if(1===l.length&&"And"!==i)throw new Error('Logical Operator must be "And" when there is only one condition provided');return s.conditions=l,s}return a(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}(_);e.AdvancedFilter=M;var L,I,q,D,N,B,U,H=function(t){function e(r,i){var a=t.call(this,r,o.Hierarchy)||this;return a.schemaUrl=e.schemaUrl,a.hierarchyData=i,a}return a(e,t),e.prototype.toJSON=function(){var e=t.prototype.toJSON.call(this);return e.hierarchyData=this.hierarchyData,e.target=this.target,e},e.schemaUrl="http://powerbi.com/product/schema#hierarchy",e}(_);function W(t){if(t.filterType)return t.filterType;var e=t,r=t;return"string"==typeof e.operator&&Array.isArray(e.values)?o.Basic:"string"==typeof r.logicalOperator&&Array.isArray(r.conditions)?o.Advanced:o.Unknown}function z(t){return!(!t.table||!t.column||t.aggregationFunction)}e.HierarchyFilter=H,e.isFilterKeyColumnsTarget=function(t){return z(t)&&!!t.keys},e.isBasicFilterWithKeys=function(t){return W(t)===o.Basic&&!!t.keyValues},e.getFilterType=W,e.isMeasure=function(t){return void 0!==t.table&&void 0!==t.measure},e.isColumn=z,e.isHierarchyLevel=function(t){return!(!(t.table&&t.hierarchy&&t.hierarchyLevel)||t.aggregationFunction)},e.isHierarchyLevelAggr=function(t){return!!(t.table&&t.hierarchy&&t.hierarchyLevel&&t.aggregationFunction)},e.isColumnAggr=function(t){return!!(t.table&&t.column&&t.aggregationFunction)},e.isPercentOfGrandTotal=function(t){return!!t.percentOfGrandTotal},(U=e.CredentialType||(e.CredentialType={}))[U.NoConnection=0]="NoConnection",U[U.OnBehalfOf=1]="OnBehalfOf",U[U.Anonymous=2]="Anonymous",(B=e.DataCacheMode||(e.DataCacheMode={}))[B.Import=0]="Import",B[B.DirectQuery=1]="DirectQuery",(N=e.PageNavigationPosition||(e.PageNavigationPosition={}))[N.Bottom=0]="Bottom",N[N.Left=1]="Left",(D=e.QnaMode||(e.QnaMode={}))[D.Interactive=0]="Interactive",D[D.ResultOnly=1]="ResultOnly",(q=e.ExportDataType||(e.ExportDataType={}))[q.Summarized=0]="Summarized",q[q.Underlying=1]="Underlying",(I=e.BookmarksPlayMode||(e.BookmarksPlayMode={}))[I.Off=0]="Off",I[I.Presentation=1]="Presentation",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"},(L=e.SortDirection||(e.SortDirection={}))[L.Ascending=1]="Ascending",L[L.Descending=2]="Descending";var Q=function(){function t(t){this.$schema=t}return t.prototype.toJSON=function(){return{$schema:this.$schema}},t}();e.Selector=Q;var G=function(t){function e(r){var i=t.call(this,e.schemaUrl)||this;return i.pageName=r,i}return a(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}(Q);e.PageSelector=G;var J=function(t){function e(r){var i=t.call(this,e.schemaUrl)||this;return i.visualName=r,i}return a(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}(Q);e.VisualSelector=J;var K=function(t){function e(e){var r=t.call(this,J.schemaUrl)||this;return r.visualType=e,r}return a(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}(Q);e.VisualTypeSelector=K;var Y,$,Z,X=function(t){function e(e){var r=t.call(this,J.schemaUrl)||this;return r.target=e,r}return a(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}(Q);function tt(t){return Array.isArray(t)}function et(t){return t&&!!t.groupName}function rt(t){return Array.isArray(t)}function it(t){var e=t.message;return e||(e="".concat(t.path," is invalid. Not meeting ").concat(t.keyword," constraint")),{message:e}}e.SlicerTargetSelector=X,(Z=e.CommandDisplayOption||(e.CommandDisplayOption={}))[Z.Enabled=0]="Enabled",Z[Z.Disabled=1]="Disabled",Z[Z.Hidden=2]="Hidden",($=e.VisualDataRoleKind||(e.VisualDataRoleKind={}))[$.Grouping=0]="Grouping",$[$.Measure=1]="Measure",$[$.GroupingOrMeasure=2]="GroupingOrMeasure",(Y=e.VisualDataRoleKindPreference||(e.VisualDataRoleKindPreference={}))[Y.Measure=0]="Measure",Y[Y.Grouping=1]="Grouping",e.isOnLoadFilters=function(t){return t&&!tt(t)},e.isReportFiltersArray=tt,e.isFlatMenuExtension=function(t){return t&&!et(t)},e.isGroupedMenuExtension=et,e.isIExtensions=function(t){return t&&!rt(t)},e.isIExtensionArray=rt,e.validateVisualSelector=function(t){var e=O.Validators.visualSelectorValidator.validate(t);return e?e.map(it):void 0},e.validateSlicer=function(t){var e=O.Validators.slicerValidator.validate(t);return e?e.map(it):void 0},e.validateSlicerState=function(t){var e=O.Validators.slicerStateValidator.validate(t);return e?e.map(it):void 0},e.validatePlayBookmarkRequest=function(t){var e=O.Validators.playBookmarkRequestValidator.validate(t);return e?e.map(it):void 0},e.validateAddBookmarkRequest=function(t){var e=O.Validators.addBookmarkRequestValidator.validate(t);return e?e.map(it):void 0},e.validateApplyBookmarkByNameRequest=function(t){var e=O.Validators.applyBookmarkByNameRequestValidator.validate(t);return e?e.map(it):void 0},e.validateApplyBookmarkStateRequest=function(t){var e=O.Validators.applyBookmarkStateRequestValidator.validate(t);return e?e.map(it):void 0},e.validateCaptureBookmarkRequest=function(t){var e=O.Validators.captureBookmarkRequestValidator.validate(t);return e?e.map(it):void 0},e.validateSettings=function(t){var e=O.Validators.settingsValidator.validate(t);return e?e.map(it):void 0},e.validatePanes=function(t){var e=O.Validators.reportPanesValidator.validate(t);return e?e.map(it):void 0},e.validateBookmarksPane=function(t){var e=O.Validators.bookmarksPaneValidator.validate(t);return e?e.map(it):void 0},e.validateFiltersPane=function(t){var e=O.Validators.filtersPaneValidator.validate(t);return e?e.map(it):void 0},e.validateFieldsPane=function(t){var e=O.Validators.fieldsPaneValidator.validate(t);return e?e.map(it):void 0},e.validatePageNavigationPane=function(t){var e=O.Validators.pageNavigationPaneValidator.validate(t);return e?e.map(it):void 0},e.validateSelectionPane=function(t){var e=O.Validators.selectionPaneValidator.validate(t);return e?e.map(it):void 0},e.validateSyncSlicersPane=function(t){var e=O.Validators.syncSlicersPaneValidator.validate(t);return e?e.map(it):void 0},e.validateVisualizationsPane=function(t){var e=O.Validators.visualizationsPaneValidator.validate(t);return e?e.map(it):void 0},e.validateCustomPageSize=function(t){var e=O.Validators.customPageSizeValidator.validate(t);return e?e.map(it):void 0},e.validateExtension=function(t){var e=O.Validators.extensionValidator.validate(t);return e?e.map(it):void 0},e.validateMenuGroupExtension=function(t){var e=O.Validators.menuGroupExtensionValidator.validate(t);return e?e.map(it):void 0},e.validateReportLoad=function(t){var e=O.Validators.reportLoadValidator.validate(t);return e?e.map(it):void 0},e.validatePaginatedReportLoad=function(t){var e=O.Validators.paginatedReportLoadValidator.validate(t);return e?e.map(it):void 0},e.validateCreateReport=function(t){var e=O.Validators.reportCreateValidator.validate(t);return e?e.map(it):void 0},e.validateQuickCreate=function(t){var e=O.Validators.quickCreateValidator.validate(t);return e?e.map(it):void 0},e.validateDashboardLoad=function(t){var e=O.Validators.dashboardLoadValidator.validate(t);return e?e.map(it):void 0},e.validateTileLoad=function(t){var e=O.Validators.tileLoadValidator.validate(t);return e?e.map(it):void 0},e.validatePage=function(t){var e=O.Validators.pageValidator.validate(t);return e?e.map(it):void 0},e.validateFilter=function(t){var e=O.Validators.filterValidator.validate(t);return e?e.map(it):void 0},e.validateUpdateFiltersRequest=function(t){var e=O.Validators.updateFiltersRequestValidator.validate(t);return e?e.map(it):void 0},e.validateSaveAsParameters=function(t){var e=O.Validators.saveAsParametersValidator.validate(t);return e?e.map(it):void 0},e.validateLoadQnaConfiguration=function(t){var e=O.Validators.loadQnaValidator.validate(t);return e?e.map(it):void 0},e.validateQnaInterpretInputData=function(t){var e=O.Validators.qnaInterpretInputDataValidator.validate(t);return e?e.map(it):void 0},e.validateExportDataRequest=function(t){var e=O.Validators.exportDataRequestValidator.validate(t);return e?e.map(it):void 0},e.validateVisualHeader=function(t){var e=O.Validators.visualHeaderValidator.validate(t);return e?e.map(it):void 0},e.validateVisualSettings=function(t){var e=O.Validators.visualSettingsValidator.validate(t);return e?e.map(it):void 0},e.validateCommandsSettings=function(t){var e=O.Validators.commandsSettingsValidator.validate(t);return e?e.map(it):void 0},e.validateCustomTheme=function(t){var e=O.Validators.customThemeValidator.validate(t);return e?e.map(it):void 0},e.validateZoomLevel=function(t){var e=O.Validators.zoomLevelValidator.validate(t);return e?e.map(it):void 0}},(t,e,r)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.Validators=void 0;var i=r(2),a=r(5),o=r(6),n=r(7),l=r(8),s=r(9),u=r(10),d=r(11),c=r(12),p=r(13),f=r(14),h=r(15),v=r(16),y=r(17),m=r(18),V=r(19),g=r(20),b=r(21),w=r(22),P=r(23),S=r(24),O=r(25),_=r(26),T=r(27),E=r(28),F=r(29),C=r(4),R=r(30),k=r(31),x=r(32);e.Validators={addBookmarkRequestValidator:new a.AddBookmarkRequestValidator,advancedFilterTypeValidator:new C.EnumValidator([0]),advancedFilterValidator:new c.AdvancedFilterValidator,anyArrayValidator:new C.ArrayValidator([new _.AnyOfValidator([new C.StringValidator,new C.NumberValidator,new C.BooleanValidator])]),anyFilterValidator:new _.AnyOfValidator([new c.BasicFilterValidator,new c.AdvancedFilterValidator,new c.IncludeExcludeFilterValidator,new c.NotSupportedFilterValidator,new c.RelativeDateFilterValidator,new c.TopNFilterValidator,new c.RelativeTimeFilterValidator,new c.HierarchyFilterValidator]),anyValueValidator:new _.AnyOfValidator([new C.StringValidator,new C.NumberValidator,new C.BooleanValidator]),actionBarValidator:new i.ActionBarValidator,statusBarValidator:new i.StatusBarValidator,applyBookmarkByNameRequestValidator:new a.ApplyBookmarkByNameRequestValidator,applyBookmarkStateRequestValidator:new a.ApplyBookmarkStateRequestValidator,applyBookmarkValidator:new _.AnyOfValidator([new a.ApplyBookmarkByNameRequestValidator,new a.ApplyBookmarkStateRequestValidator]),backgroundValidator:new C.EnumValidator([0,1]),basicFilterTypeValidator:new C.EnumValidator([1]),basicFilterValidator:new c.BasicFilterValidator,booleanArrayValidator:new C.BooleanArrayValidator,booleanValidator:new C.BooleanValidator,bookmarksPaneValidator:new h.BookmarksPaneValidator,captureBookmarkOptionsValidator:new a.CaptureBookmarkOptionsValidator,captureBookmarkRequestValidator:new a.CaptureBookmarkRequestValidator,columnSchemaArrayValidator:new C.ArrayValidator([new k.ColumnSchemaValidator]),commandDisplayOptionValidator:new C.EnumValidator([0,1,2]),commandExtensionSelectorValidator:new _.AnyOfValidator([new b.VisualSelectorValidator,new b.VisualTypeSelectorValidator]),commandExtensionArrayValidator:new C.ArrayValidator([new d.CommandExtensionValidator]),commandExtensionValidator:new d.CommandExtensionValidator,commandsSettingsArrayValidator:new C.ArrayValidator([new o.CommandsSettingsValidator]),commandsSettingsValidator:new o.CommandsSettingsValidator,conditionItemValidator:new c.ConditionItemValidator,contrastModeValidator:new C.EnumValidator([0,1,2,3,4]),credentialDetailsValidator:new F.MapValidator([new C.StringValidator],[new C.StringValidator]),credentialsValidator:new k.CredentialsValidator,credentialTypeValidator:new C.EnumValidator([0,1,2]),customLayoutDisplayOptionValidator:new C.EnumValidator([0,1,2]),customLayoutValidator:new p.CustomLayoutValidator,customPageSizeValidator:new f.CustomPageSizeValidator,customThemeValidator:new n.CustomThemeValidator,dashboardLoadValidator:new l.DashboardLoadValidator,dataCacheModeValidator:new C.EnumValidator([0,1]),datasetBindingValidator:new s.DatasetBindingValidator,datasetCreateConfigValidator:new k.DatasetCreateConfigValidator,datasourceConnectionConfigValidator:new k.DatasourceConnectionConfigValidator,displayStateModeValidator:new C.EnumValidator([0,1]),displayStateValidator:new p.DisplayStateValidator,exportDataRequestValidator:new u.ExportDataRequestValidator,extensionArrayValidator:new C.ArrayValidator([new d.ExtensionValidator]),extensionsValidator:new _.AnyOfValidator([new C.ArrayValidator([new d.ExtensionValidator]),new d.ExtensionsValidator]),extensionPointsValidator:new d.ExtensionPointsValidator,extensionValidator:new d.ExtensionValidator,fieldForbiddenValidator:new T.FieldForbiddenValidator,fieldRequiredValidator:new E.FieldRequiredValidator,fieldsPaneValidator:new h.FieldsPaneValidator,filterColumnTargetValidator:new c.FilterColumnTargetValidator,filterDisplaySettingsValidator:new c.FilterDisplaySettingsValidator,filterConditionsValidator:new C.ArrayValidator([new c.ConditionItemValidator]),filterHierarchyTargetValidator:new c.FilterHierarchyTargetValidator,filterMeasureTargetValidator:new c.FilterMeasureTargetValidator,filterTargetValidator:new _.AnyOfValidator([new c.FilterColumnTargetValidator,new c.FilterHierarchyTargetValidator,new c.FilterMeasureTargetValidator,new C.ArrayValidator([new _.AnyOfValidator([new c.FilterColumnTargetValidator,new c.FilterHierarchyTargetValidator,new c.FilterMeasureTargetValidator,new c.FilterKeyColumnsTargetValidator,new c.FilterKeyHierarchyTargetValidator])])]),filterValidator:new c.FilterValidator,filterTypeValidator:new C.EnumValidator([0,1,2,3,4,5,6,7,9]),filtersArrayValidator:new C.ArrayValidator([new c.FilterValidator]),filtersOperationsUpdateValidator:new C.EnumValidator([1,2,3]),filtersOperationsRemoveAllValidator:new C.EnumValidator([0]),filtersPaneValidator:new h.FiltersPaneValidator,hyperlinkClickBehaviorValidator:new C.EnumValidator([0,1,2]),includeExcludeFilterValidator:new c.IncludeExcludeFilterValidator,includeExludeFilterTypeValidator:new C.EnumValidator([3]),hierarchyFilterTypeValidator:new C.EnumValidator([9]),hierarchyFilterValuesValidator:new C.ArrayValidator([new c.HierarchyFilterNodeValidator]),layoutTypeValidator:new C.EnumValidator([0,1,2,3]),loadQnaValidator:new v.LoadQnaValidator,menuExtensionValidator:new _.AnyOfValidator([new d.FlatMenuExtensionValidator,new d.GroupedMenuExtensionValidator]),menuGroupExtensionArrayValidator:new C.ArrayValidator([new d.MenuGroupExtensionValidator]),menuGroupExtensionValidator:new d.MenuGroupExtensionValidator,menuLocationValidator:new C.EnumValidator([0,1]),notSupportedFilterTypeValidator:new C.EnumValidator([2]),notSupportedFilterValidator:new c.NotSupportedFilterValidator,numberArrayValidator:new C.NumberArrayValidator,numberValidator:new C.NumberValidator,onLoadFiltersBaseValidator:new _.AnyOfValidator([new c.OnLoadFiltersBaseValidator,new c.OnLoadFiltersBaseRemoveOperationValidator]),pageLayoutValidator:new F.MapValidator([new C.StringValidator],[new p.VisualLayoutValidator]),pageNavigationPaneValidator:new h.PageNavigationPaneValidator,pageNavigationPositionValidator:new C.EnumValidator([0,1]),pageSizeTypeValidator:new C.EnumValidator([0,1,2,3,4,5]),pageSizeValidator:new f.PageSizeValidator,pageValidator:new f.PageValidator,pageViewFieldValidator:new f.PageViewFieldValidator,pagesLayoutValidator:new F.MapValidator([new C.StringValidator],[new p.PageLayoutValidator]),paginatedReportCommandsValidator:new o.PaginatedReportCommandsValidator,paginatedReportLoadValidator:new V.PaginatedReportLoadValidator,paginatedReportsettingsValidator:new w.PaginatedReportSettingsValidator,parameterValuesArrayValidator:new C.ArrayValidator([new V.ReportParameterFieldsValidator]),parametersPanelValidator:new R.ParametersPanelValidator,permissionsValidator:new C.EnumValidator([0,1,2,4,7]),playBookmarkRequestValidator:new a.PlayBookmarkRequestValidator,qnaInterpretInputDataValidator:new v.QnaInterpretInputDataValidator,qnaPanesValidator:new h.QnaPanesValidator,qnaSettingValidator:new v.QnaSettingsValidator,quickCreateValidator:new x.QuickCreateValidator,rawDataValidator:new C.ArrayValidator([new C.ArrayValidator([new C.StringValidator])]),relativeDateFilterOperatorValidator:new C.EnumValidator([0,1,2]),relativeDateFilterTimeUnitTypeValidator:new C.EnumValidator([0,1,2,3,4,5,6]),relativeDateFilterTypeValidator:new C.EnumValidator([4]),relativeDateFilterValidator:new c.RelativeDateFilterValidator,relativeDateTimeFilterTypeValidator:new C.EnumValidator([4,7]),relativeDateTimeFilterUnitTypeValidator:new C.EnumValidator([0,1,2,3,4,5,6,7,8]),relativeTimeFilterTimeUnitTypeValidator:new C.EnumValidator([7,8]),relativeTimeFilterTypeValidator:new C.EnumValidator([7]),relativeTimeFilterValidator:new c.RelativeTimeFilterValidator,reportBarsValidator:new i.ReportBarsValidator,reportCreateValidator:new y.ReportCreateValidator,reportLoadFiltersValidator:new _.AnyOfValidator([new C.ArrayValidator([new c.FilterValidator]),new c.OnLoadFiltersValidator]),reportLoadValidator:new m.ReportLoadValidator,reportPanesValidator:new h.ReportPanesValidator,saveAsParametersValidator:new g.SaveAsParametersValidator,selectionPaneValidator:new h.SelectionPaneValidator,settingsValidator:new w.SettingsValidator,singleCommandSettingsValidator:new o.SingleCommandSettingsValidator,slicerSelectorValidator:new _.AnyOfValidator([new b.VisualSelectorValidator,new b.SlicerTargetSelectorValidator]),slicerStateValidator:new P.SlicerStateValidator,slicerTargetValidator:new _.AnyOfValidator([new c.FilterColumnTargetValidator,new c.FilterHierarchyTargetValidator,new c.FilterMeasureTargetValidator,new c.FilterKeyColumnsTargetValidator,new c.FilterKeyHierarchyTargetValidator]),slicerValidator:new P.SlicerValidator,stringArrayValidator:new C.StringArrayValidator,stringValidator:new C.StringValidator,syncSlicersPaneValidator:new h.SyncSlicersPaneValidator,tableDataArrayValidator:new C.ArrayValidator([new k.TableDataValidator]),tableSchemaListValidator:new C.ArrayValidator([new k.TableSchemaValidator]),tileLoadValidator:new S.TileLoadValidator,tokenTypeValidator:new C.EnumValidator([0,1]),topNFilterTypeValidator:new C.EnumValidator([5]),topNFilterValidator:new c.TopNFilterValidator,updateFiltersRequestValidator:new _.AnyOfValidator([new c.UpdateFiltersRequestValidator,new c.RemoveFiltersRequestValidator]),viewModeValidator:new C.EnumValidator([0,1]),visualCommandSelectorValidator:new _.AnyOfValidator([new b.VisualSelectorValidator,new b.VisualTypeSelectorValidator]),visualHeaderSelectorValidator:new _.AnyOfValidator([new b.VisualSelectorValidator,new b.VisualTypeSelectorValidator]),visualHeaderSettingsValidator:new O.VisualHeaderSettingsValidator,visualHeaderValidator:new O.VisualHeaderValidator,visualHeadersValidator:new C.ArrayValidator([new O.VisualHeaderValidator]),visualizationsPaneValidator:new h.VisualizationsPaneValidator,visualLayoutValidator:new p.VisualLayoutValidator,visualSelectorValidator:new b.VisualSelectorValidator,visualSettingsValidator:new O.VisualSettingsValidator,visualTypeSelectorValidator:new b.VisualTypeSelectorValidator,zoomLevelValidator:new C.RangeValidator(.25,4)}},function(t,e,r){var i,a=this&&this.__extends||(i=function(t,e){return i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},i(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.StatusBarValidator=e.ActionBarValidator=e.ReportBarsValidator=void 0;var o=r(3),n=r(4),l=r(1),s=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return a(e,t),e.prototype.validate=function(e,r,i){if(null==e)return null;var a=t.prototype.validate.call(this,e,r,i);if(a)return a;var n=[{field:"actionBar",validators:[l.Validators.actionBarValidator]},{field:"statusBar",validators:[l.Validators.statusBarValidator]}];return new o.MultipleFieldsValidator(n).validate(e,r,i)},e}(n.ObjectValidator);e.ReportBarsValidator=s;var u=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return a(e,t),e.prototype.validate=function(e,r,i){if(null==e)return null;var a=t.prototype.validate.call(this,e,r,i);if(a)return a;var n=[{field:"visible",validators:[l.Validators.booleanValidator]}];return new o.MultipleFieldsValidator(n).validate(e,r,i)},e}(n.ObjectValidator);e.ActionBarValidator=u;var d=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return a(e,t),e.prototype.validate=function(e,r,i){if(null==e)return null;var a=t.prototype.validate.call(this,e,r,i);if(a)return a;var n=[{field:"visible",validators:[l.Validators.booleanValidator]}];return new o.MultipleFieldsValidator(n).validate(e,r,i)},e}(n.ObjectValidator);e.StatusBarValidator=d},(t,e)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.MultipleFieldsValidator=void 0;var r=function(){function t(t){this.fieldValidatorsPairs=t}return t.prototype.validate=function(t,e,r){if(!this.fieldValidatorsPairs)return null;for(var i=e?e+"."+r:r,a=0,o=this.fieldValidatorsPairs;athis.maxValue||e{Object.defineProperty(e,"__esModule",{value:!0}),e.AnyOfValidator=void 0;var r=function(){function t(t){this.validators=t}return t.prototype.validate=function(t,e,r){if(null==t)return null;for(var i=!1,a=0,o=this.validators;a{Object.defineProperty(e,"__esModule",{value:!0}),e.FieldForbiddenValidator=void 0;var r=function(){function t(){}return t.prototype.validate=function(t,e,r){return void 0!==t?[{message:r+" is forbidden",path:(e?e+".":"")+r,keyword:"forbidden"}]:null},t}();e.FieldForbiddenValidator=r},(t,e)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.FieldRequiredValidator=void 0;var r=function(){function t(){}return t.prototype.validate=function(t,e,r){return null==t?[{message:r+" is required",path:(e?e+".":"")+r,keyword:"required"}]:null},t}();e.FieldRequiredValidator=r},function(t,e,r){var i,a=this&&this.__extends||(i=function(t,e){return i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},i(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.MapValidator=void 0;var o=function(t){function e(e,r){var i=t.call(this)||this;return i.keyValidators=e,i.valueValidators=r,i}return a(e,t),e.prototype.validate=function(e,r,i){if(null==e)return null;var a=t.prototype.validate.call(this,e,r,i);if(a)return a;for(var o in e)if(e.hasOwnProperty(o)){for(var n=(r?r+".":"")+i+"."+o,l=0,s=this.keyValidators;l2&&"[]"===n.slice(l-2)&&(s=!0,r[n=n.slice(0,l-2)]||(r[n]=[])),a=o[1]?g(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(-1!==(i=t.indexOf("?"))){var l=t.substr(i+1,t.length);t=t.substr(0,i),o=this.parseQueryString(l)}for("/"!==(t=decodeURI(t)).charAt(0)&&(t="/"+t),(e=t.length)>1&&"/"===t.charAt(e-1)&&(t=t.substr(0,e-1),n=!0),r=0;r{Object.defineProperty(e,"__esModule",{value:!0}),e.FilterBuilder=void 0;var r=function(){function t(){}return t.prototype.withTargetObject=function(t){return this.target=t,this},t.prototype.withColumnTarget=function(t,e){return this.target={table:t,column:e},this},t.prototype.withMeasureTarget=function(t,e){return this.target={table:t,measure:e},this},t.prototype.withHierarchyLevelTarget=function(t,e,r){return this.target={table:t,hierarchy:e,hierarchyLevel:r},this},t.prototype.withColumnAggregation=function(t,e,r){return this.target={table:t,column:e,aggregationFunction:r},this},t.prototype.withHierarchyLevelAggregationTarget=function(t,e,r,i){return this.target={table:t,hierarchy:e,hierarchyLevel:r,aggregationFunction:i},this},t}();e.FilterBuilder=r},567:(t,e,r)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.RelativeTimeFilterBuilder=e.RelativeDateFilterBuilder=e.TopNFilterBuilder=e.AdvancedFilterBuilder=e.BasicFilterBuilder=void 0;var i=r(153);Object.defineProperty(e,"BasicFilterBuilder",{enumerable:!0,get:function(){return i.BasicFilterBuilder}});var a=r(674);Object.defineProperty(e,"AdvancedFilterBuilder",{enumerable:!0,get:function(){return a.AdvancedFilterBuilder}});var o=r(664);Object.defineProperty(e,"TopNFilterBuilder",{enumerable:!0,get:function(){return o.TopNFilterBuilder}});var n=r(844);Object.defineProperty(e,"RelativeDateFilterBuilder",{enumerable:!0,get:function(){return n.RelativeDateFilterBuilder}});var l=r(275);Object.defineProperty(e,"RelativeTimeFilterBuilder",{enumerable:!0,get:function(){return l.RelativeTimeFilterBuilder}})},844:function(t,e,r){var i,a=this&&this.__extends||(i=function(t,e){return i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},i(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.RelativeDateFilterBuilder=void 0;var o=r(149),n=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.isTodayIncluded=!0,e}return a(e,t),e.prototype.inLast=function(t,e){return this.operator=o.RelativeDateOperators.InLast,this.timeUnitsCount=t,this.timeUnitType=e,this},e.prototype.inThis=function(t,e){return this.operator=o.RelativeDateOperators.InThis,this.timeUnitsCount=t,this.timeUnitType=e,this},e.prototype.inNext=function(t,e){return this.operator=o.RelativeDateOperators.InNext,this.timeUnitsCount=t,this.timeUnitType=e,this},e.prototype.includeToday=function(t){return this.isTodayIncluded=t,this},e.prototype.build=function(){return new o.RelativeDateFilter(this.target,this.operator,this.timeUnitsCount,this.timeUnitType,this.isTodayIncluded)},e}(r(277).FilterBuilder);e.RelativeDateFilterBuilder=n},275:function(t,e,r){var i,a=this&&this.__extends||(i=function(t,e){return i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},i(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.RelativeTimeFilterBuilder=void 0;var o=r(149),n=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return a(e,t),e.prototype.inLast=function(t,e){return this.operator=o.RelativeDateOperators.InLast,this.timeUnitsCount=t,this.timeUnitType=e,this},e.prototype.inThis=function(t,e){return this.operator=o.RelativeDateOperators.InThis,this.timeUnitsCount=t,this.timeUnitType=e,this},e.prototype.inNext=function(t,e){return this.operator=o.RelativeDateOperators.InNext,this.timeUnitsCount=t,this.timeUnitType=e,this},e.prototype.build=function(){return new o.RelativeTimeFilter(this.target,this.operator,this.timeUnitsCount,this.timeUnitType)},e}(r(277).FilterBuilder);e.RelativeTimeFilterBuilder=n},664:function(t,e,r){var i,a=this&&this.__extends||(i=function(t,e){return i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},i(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.TopNFilterBuilder=void 0;var o=r(149),n=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return a(e,t),e.prototype.top=function(t){return this.operator="Top",this.itemCount=t,this},e.prototype.bottom=function(t){return this.operator="Bottom",this.itemCount=t,this},e.prototype.orderByTarget=function(t){return this.orderByTargetValue=t,this},e.prototype.build=function(){return new o.TopNFilter(this.target,this.operator,this.itemCount,this.orderByTargetValue)},e}(r(277).FilterBuilder);e.TopNFilterBuilder=n},460:function(t,e,r){var i=this&&this.__awaiter||function(t,e,r,i){return new(r||(r=Promise))((function(a,o){function n(t){try{s(i.next(t))}catch(t){o(t)}}function l(t){try{s(i.throw(t))}catch(t){o(t)}}function s(t){var e;t.done?a(t.value):(e=t.value,e instanceof r?e:new r((function(t){t(e)}))).then(n,l)}s((i=i.apply(t,e||[])).next())}))},a=this&&this.__generator||function(t,e){var r,i,a,o,n={label:0,sent:function(){if(1&a[0])throw a[1];return a[1]},trys:[],ops:[]};return o={next:l(0),throw:l(1),return:l(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function l(o){return function(l){return function(o){if(r)throw new TypeError("Generator is already executing.");for(;n;)try{if(r=1,i&&(a=2&o[0]?i.return:o[0]?i.throw||((a=i.return)&&a.call(i),0):i.next)&&!(a=a.call(i,o[1])).done)return a;switch(i=0,a&&(o=[2&o[0],a.value]),o[0]){case 0:case 1:a=o;break;case 4:return n.label++,{value:o[1],done:!1};case 5:n.label++,i=o[1],o=[0];continue;case 7:o=n.ops.pop(),n.trys.pop();continue;default:if(!((a=(a=n.trys).length>0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]{Object.defineProperty(e,"__esModule",{value:!0}),e.default={version:"2.22.1",type:"js"}},536:function(t,e,r){var i,a=this&&this.__extends||(i=function(t,e){return i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},i(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}),o=this&&this.__awaiter||function(t,e,r,i){return new(r||(r=Promise))((function(a,o){function n(t){try{s(i.next(t))}catch(t){o(t)}}function l(t){try{s(i.throw(t))}catch(t){o(t)}}function s(t){var e;t.done?a(t.value):(e=t.value,e instanceof r?e:new r((function(t){t(e)}))).then(n,l)}s((i=i.apply(t,e||[])).next())}))},n=this&&this.__generator||function(t,e){var r,i,a,o,n={label:0,sent:function(){if(1&a[0])throw a[1];return a[1]},trys:[],ops:[]};return o={next:l(0),throw:l(1),return:l(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function l(o){return function(l){return function(o){if(r)throw new TypeError("Generator is already executing.");for(;n;)try{if(r=1,i&&(a=2&o[0]?i.return:o[0]?i.throw||((a=i.return)&&a.call(i),0):i.next)&&!(a=a.call(i,o[1])).done)return a;switch(i=0,a&&(o=[2&o[0],a.value]),o[0]){case 0:case 1:a=o;break;case 4:return n.label++,{value:o[1],done:!1};case 5:n.label++,i=o[1],o=[0];continue;case 7:o=n.ops.pop(),n.trys.pop();continue;default:if(!((a=(a=n.trys).length>0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]{Object.defineProperty(e,"__esModule",{value:!0}),e.EmbedUrlNotSupported=e.APINotSupportedForRDLError=void 0,e.APINotSupportedForRDLError="This API is currently not supported for RDL reports",e.EmbedUrlNotSupported="Embed URL is invalid for this scenario. Please use Power BI REST APIs to get the valid URL"},357:(t,e,r)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.routerFactory=e.wpmpFactory=e.hpmFactory=void 0;var i=r(903),a=r(615),o=r(891),n=r(913);e.hpmFactory=function(t,e,r,i,o){return void 0===r&&(r=n.default.version),void 0===i&&(i=n.default.type),new a.HttpPostMessage(t,{"x-sdk-type":i,"x-sdk-version":r,"x-sdk-wrapper-version":o},e)},e.wpmpFactory=function(t,e,r){return new i.WindowPostMessageProxy({processTrackingProperties:{addTrackingProperties:a.HttpPostMessage.addTrackingProperties,getTrackingProperties:a.HttpPostMessage.getTrackingProperties},isErrorMessage:a.HttpPostMessage.isErrorMessage,suppressWarnings:!0,name:t,logMessages:e,eventSourceOverrideWindow:r})},e.routerFactory=function(t){return new o.Router(t)}},220:function(t,e,r){var i=this&&this.__awaiter||function(t,e,r,i){return new(r||(r=Promise))((function(a,o){function n(t){try{s(i.next(t))}catch(t){o(t)}}function l(t){try{s(i.throw(t))}catch(t){o(t)}}function s(t){var e;t.done?a(t.value):(e=t.value,e instanceof r?e:new r((function(t){t(e)}))).then(n,l)}s((i=i.apply(t,e||[])).next())}))},a=this&&this.__generator||function(t,e){var r,i,a,o,n={label:0,sent:function(){if(1&a[0])throw a[1];return a[1]},trys:[],ops:[]};return o={next:l(0),throw:l(1),return:l(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function l(o){return function(l){return function(o){if(r)throw new TypeError("Generator is already executing.");for(;n;)try{if(r=1,i&&(a=2&o[0]?i.return:o[0]?i.throw||((a=i.return)&&a.call(i),0):i.next)&&!(a=a.call(i,o[1])).done)return a;switch(i=0,a&&(o=[2&o[0],a.value]),o[0]){case 0:case 1:a=o;break;case 4:return n.label++,{value:o[1],done:!1};case 5:n.label++,i=o[1],o=[0];continue;case 7:o=n.ops.pop(),n.trys.pop();continue;default:if(!((a=(a=n.trys).length>0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0?"&":"?";return t+(i+e+"=")+r},e.isSavedInternal=function(t,e,a){return r(this,void 0,void 0,(function(){return i(this,(function(r){switch(r.label){case 0:return r.trys.push([0,2,,3]),[4,t.get("/report/hasUnsavedChanges",{uid:e},a)];case 1:return[2,!r.sent().body];case 2:throw r.sent().body;case 3:return[2]}}))}))},e.isRDLEmbed=function(t){return t&&t.toLowerCase().indexOf("/rdlembed?")>=0},e.autoAuthInEmbedUrl=function(t){return t&&decodeURIComponent(t).toLowerCase().indexOf("autoauth=true")>=0},e.getRandomValue=o,e.getTimeDiffInMilliseconds=function(t,e){return Math.abs(t.getTime()-e.getTime())},e.isCreate=function(t){return"create"===t||"quickcreate"===t}},23:function(t,e,r){var i,a=this&&this.__extends||(i=function(t,e){return i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},i(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}),o=this&&this.__awaiter||function(t,e,r,i){return new(r||(r=Promise))((function(a,o){function n(t){try{s(i.next(t))}catch(t){o(t)}}function l(t){try{s(i.throw(t))}catch(t){o(t)}}function s(t){var e;t.done?a(t.value):(e=t.value,e instanceof r?e:new r((function(t){t(e)}))).then(n,l)}s((i=i.apply(t,e||[])).next())}))},n=this&&this.__generator||function(t,e){var r,i,a,o,n={label:0,sent:function(){if(1&a[0])throw a[1];return a[1]},trys:[],ops:[]};return o={next:l(0),throw:l(1),return:l(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function l(o){return function(l){return function(o){if(r)throw new TypeError("Generator is already executing.");for(;n;)try{if(r=1,i&&(a=2&o[0]?i.return:o[0]?i.throw||((a=i.return)&&a.call(i),0):i.next)&&!(a=a.call(i,o[1])).done)return a;switch(i=0,a&&(o=[2&o[0],a.value]),o[0]){case 0:case 1:a=o;break;case 4:return n.label++,{value:o[1],done:!1};case 5:n.label++,i=o[1],o=[0];continue;case 7:o=n.ops.pop(),n.trys.pop();continue;default:if(!((a=(a=n.trys).length>0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]{var t=i;Object.defineProperty(t,"__esModule",{value:!0}),t.RelativeTimeFilterBuilder=t.RelativeDateFilterBuilder=t.TopNFilterBuilder=t.AdvancedFilterBuilder=t.BasicFilterBuilder=t.QuickCreate=t.VisualDescriptor=t.Visual=t.Qna=t.Page=t.Embed=t.Tile=t.Dashboard=t.Report=t.models=t.factories=t.service=void 0;var e=r(149);t.models=e;var a=r(562);t.service=a;var o=r(357);t.factories=o;var n=r(125);Object.defineProperty(t,"Report",{enumerable:!0,get:function(){return n.Report}});var l=r(365);Object.defineProperty(t,"Dashboard",{enumerable:!0,get:function(){return l.Dashboard}});var s=r(43);Object.defineProperty(t,"Tile",{enumerable:!0,get:function(){return s.Tile}});var u=r(932);Object.defineProperty(t,"Embed",{enumerable:!0,get:function(){return u.Embed}});var d=r(220);Object.defineProperty(t,"Page",{enumerable:!0,get:function(){return d.Page}});var c=r(148);Object.defineProperty(t,"Qna",{enumerable:!0,get:function(){return c.Qna}});var p=r(23);Object.defineProperty(t,"Visual",{enumerable:!0,get:function(){return p.Visual}});var f=r(558);Object.defineProperty(t,"VisualDescriptor",{enumerable:!0,get:function(){return f.VisualDescriptor}});var h=r(714);Object.defineProperty(t,"QuickCreate",{enumerable:!0,get:function(){return h.QuickCreate}});var v=r(567);Object.defineProperty(t,"BasicFilterBuilder",{enumerable:!0,get:function(){return v.BasicFilterBuilder}}),Object.defineProperty(t,"AdvancedFilterBuilder",{enumerable:!0,get:function(){return v.AdvancedFilterBuilder}}),Object.defineProperty(t,"TopNFilterBuilder",{enumerable:!0,get:function(){return v.TopNFilterBuilder}}),Object.defineProperty(t,"RelativeDateFilterBuilder",{enumerable:!0,get:function(){return v.RelativeDateFilterBuilder}}),Object.defineProperty(t,"RelativeTimeFilterBuilder",{enumerable:!0,get:function(){return v.RelativeTimeFilterBuilder}});var y=new a.Service(o.hpmFactory,o.wpmpFactory,o.routerFactory);window.powerbi&&window.powerBISDKGlobalServiceInstanceName?window[window.powerBISDKGlobalServiceInstanceName]=y:window.powerbi=y})(),i})())); \ No newline at end of file diff --git a/src/report.ts b/src/report.ts index becdb8ab..fd8ef078 100644 --- a/src/report.ts +++ b/src/report.ts @@ -64,7 +64,7 @@ export interface IReportNode { */ export class Report extends Embed implements IReportNode, IFilterable { /** @hidden */ - static allowedEvents = ["filtersApplied", "pageChanged", "commandTriggered", "swipeStart", "swipeEnd", "bookmarkApplied", "dataHyperlinkClicked", "visualRendered", "visualClicked", "selectionChanged", "renderingStarted"]; + static allowedEvents = ["filtersApplied", "pageChanged", "commandTriggered", "swipeStart", "swipeEnd", "bookmarkApplied", "dataHyperlinkClicked", "visualRendered", "visualClicked", "selectionChanged", "renderingStarted", "blur"]; /** @hidden */ static reportIdAttribute = 'powerbi-report-id'; /** @hidden */ @@ -1177,4 +1177,63 @@ export class Report extends Embed implements IReportNode, IFilterable { async setZoom(zoomLevel: number): Promise { await this.updateSettings({ zoomLevel: zoomLevel }); } + + /** + * Closes all open context menus and tooltips. + * + * ```javascript + * report.closeAllOverlays() + * .then(() => { + * ... + * }); + * ``` + * + * @returns {Promise} + */ + async closeAllOverlays(): Promise { + if (isRDLEmbed(this.config.embedUrl)) { + return Promise.reject(APINotSupportedForRDLError); + } + + try { + const response = await this.service.hpm.post('/report/closeAllOverlays', null, { uid: this.config.uniqueId }, this.iframe.contentWindow); + return response.body; + } catch (error) { + return Promise.reject(error); + } + } + + /** + * Clears selected not popped out visuals, if flag is passed, all visuals selections will be cleared. + * + * ```javascript + * report.clearSelectedVisuals() + * .then(() => { + * ... + * }); + * ``` + * + * @param {Boolean} [clearPopOutState=false] + * If false / undefined visuals selection will not be cleared if one of visuals + * is in popped out state (in focus, show as table, spotlight...) + * @returns {Promise} + */ + async clearSelectedVisuals(clearPopOutState?: boolean): Promise { + clearPopOutState = clearPopOutState === true; + if (isRDLEmbed(this.config.embedUrl)) { + return Promise.reject(APINotSupportedForRDLError); + } + + try { + const response = await this.service.hpm.post( + `/report/clearSelectedVisuals/${clearPopOutState.toString()}`, + null, + { uid: this.config.uniqueId }, + this.iframe.contentWindow + ); + return response.body; + } catch (error) { + return Promise.reject(error); + } + } } From 456463b094a4d7ce2f4e6ecc7c4d76d22e918f89 Mon Sep 17 00:00:00 2001 From: Or Shemesh Date: Sun, 22 Jan 2023 11:57:29 +0000 Subject: [PATCH 109/125] Merged PR 345077: Version bump 2.22.2 Version bump 2.22.2 --- dist/powerbi-client.d.ts | 2 +- dist/powerbi.js | 4 ++-- dist/powerbi.min.js | 4 ++-- package.json | 2 +- src/config.ts | 2 +- 5 files changed, 7 insertions(+), 7 deletions(-) diff --git a/dist/powerbi-client.d.ts b/dist/powerbi-client.d.ts index e39a95f2..57993540 100644 --- a/dist/powerbi-client.d.ts +++ b/dist/powerbi-client.d.ts @@ -1,4 +1,4 @@ -// powerbi-client v2.22.1 +// powerbi-client v2.22.2 // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. declare module "config" { diff --git a/dist/powerbi.js b/dist/powerbi.js index 633256e8..cea00724 100644 --- a/dist/powerbi.js +++ b/dist/powerbi.js @@ -1,4 +1,4 @@ -// powerbi-client v2.22.1 +// powerbi-client v2.22.2 // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. (function webpackUniversalModuleDefinition(root, factory) { @@ -7623,7 +7623,7 @@ exports.BookmarksManager = BookmarksManager; Object.defineProperty(exports, "__esModule", ({ value: true })); /** @ignore */ /** */ var config = { - version: '2.22.1', + version: '2.22.2', type: 'js' }; exports["default"] = config; diff --git a/dist/powerbi.min.js b/dist/powerbi.min.js index 2212b2ba..b19ddba9 100644 --- a/dist/powerbi.min.js +++ b/dist/powerbi.min.js @@ -1,5 +1,5 @@ -// powerbi-client v2.22.1 +// powerbi-client v2.22.2 // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. /*! For license information please see powerbi.js.LICENSE.txt */ -!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,(()=>(()=>{var t={615:function(t){var e;e=function(){return function(t){var e={};function r(i){if(e[i])return e[i].exports;var a=e[i]={exports:{},id:i,loaded:!1};return t[i].call(a.exports,a,a.exports,r),a.loaded=!0,a.exports}return r.m=t,r.c=e,r.p="",r(0)}([function(t,e){"use strict";var r=function(){function t(t,e,r){void 0===e&&(e={}),this.defaultHeaders=e,this.defaultTargetWindow=r,this.windowPostMessageProxy=t}return t.addTrackingProperties=function(t,e){return t.headers=t.headers||{},e&&e.id&&(t.headers.id=e.id),t},t.getTrackingProperties=function(t){return{id:t.headers&&t.headers.id}},t.isErrorMessage=function(t){return"number"==typeof(t&&t.statusCode)&&!(200<=t.statusCode&&t.statusCode<300)},t.prototype.get=function(t,e,r){return void 0===e&&(e={}),void 0===r&&(r=this.defaultTargetWindow),this.send({method:"GET",url:t,headers:e},r)},t.prototype.post=function(t,e,r,i){return void 0===r&&(r={}),void 0===i&&(i=this.defaultTargetWindow),this.send({method:"POST",url:t,headers:r,body:e},i)},t.prototype.put=function(t,e,r,i){return void 0===r&&(r={}),void 0===i&&(i=this.defaultTargetWindow),this.send({method:"PUT",url:t,headers:r,body:e},i)},t.prototype.patch=function(t,e,r,i){return void 0===r&&(r={}),void 0===i&&(i=this.defaultTargetWindow),this.send({method:"PATCH",url:t,headers:r,body:e},i)},t.prototype.delete=function(t,e,r,i){return void 0===e&&(e=null),void 0===r&&(r={}),void 0===i&&(i=this.defaultTargetWindow),this.send({method:"DELETE",url:t,headers:r,body:e},i)},t.prototype.send=function(t,e){if(void 0===e&&(e=this.defaultTargetWindow),t.headers=this.assign({},this.defaultHeaders,t.headers),!e)throw new Error("target window is not provided. You must either provide the target window explicitly as argument to request, or specify default target window when constructing instance of this class.");return this.windowPostMessageProxy.postMessage(e,t)},t.prototype.assign=function(t){for(var e=[],r=1;r(()=>{var t=[function(t,e,r){var i,a=this&&this.__extends||(i=function(t,e){return i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},i(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.SortDirection=e.LegendPosition=e.TextAlignment=e.CommonErrorCodes=e.BookmarksPlayMode=e.ExportDataType=e.QnaMode=e.PageNavigationPosition=e.DataCacheMode=e.CredentialType=e.isPercentOfGrandTotal=e.isColumnAggr=e.isHierarchyLevelAggr=e.isHierarchyLevel=e.isColumn=e.isMeasure=e.getFilterType=e.isBasicFilterWithKeys=e.isFilterKeyColumnsTarget=e.HierarchyFilter=e.AdvancedFilter=e.TupleFilter=e.IdentityFilter=e.BasicFilterWithKeys=e.BasicFilter=e.RelativeTimeFilter=e.RelativeDateFilter=e.TopNFilter=e.IncludeExcludeFilter=e.NotSupportedFilter=e.Filter=e.RelativeDateOperators=e.RelativeDateFilterTimeUnit=e.FilterType=e.FiltersLevel=e.FiltersOperations=e.MenuLocation=e.ContrastMode=e.TokenType=e.ViewMode=e.Permissions=e.SectionVisibility=e.ReportAlignment=e.HyperlinkClickBehavior=e.LayoutType=e.VisualContainerDisplayMode=e.BackgroundType=e.DisplayOption=e.PageSizeType=e.TraceType=void 0,e.validateCommandsSettings=e.validateVisualSettings=e.validateVisualHeader=e.validateExportDataRequest=e.validateQnaInterpretInputData=e.validateLoadQnaConfiguration=e.validateSaveAsParameters=e.validateUpdateFiltersRequest=e.validateFilter=e.validatePage=e.validateTileLoad=e.validateDashboardLoad=e.validateQuickCreate=e.validateCreateReport=e.validatePaginatedReportLoad=e.validateReportLoad=e.validateMenuGroupExtension=e.validateExtension=e.validateCustomPageSize=e.validateVisualizationsPane=e.validateSyncSlicersPane=e.validateSelectionPane=e.validatePageNavigationPane=e.validateFieldsPane=e.validateFiltersPane=e.validateBookmarksPane=e.validatePanes=e.validateSettings=e.validateCaptureBookmarkRequest=e.validateApplyBookmarkStateRequest=e.validateApplyBookmarkByNameRequest=e.validateAddBookmarkRequest=e.validatePlayBookmarkRequest=e.validateSlicerState=e.validateSlicer=e.validateVisualSelector=e.isIExtensionArray=e.isIExtensions=e.isGroupedMenuExtension=e.isFlatMenuExtension=e.isReportFiltersArray=e.isOnLoadFilters=e.VisualDataRoleKindPreference=e.VisualDataRoleKind=e.CommandDisplayOption=e.SlicerTargetSelector=e.VisualTypeSelector=e.VisualSelector=e.PageSelector=e.Selector=void 0,e.validateZoomLevel=e.validateCustomTheme=void 0;var o,n,l,s,u,d,c,p,f,h,v,y,m,V,g,b,w,P,S,O=r(1);(S=e.TraceType||(e.TraceType={}))[S.Information=0]="Information",S[S.Verbose=1]="Verbose",S[S.Warning=2]="Warning",S[S.Error=3]="Error",S[S.ExpectedError=4]="ExpectedError",S[S.UnexpectedError=5]="UnexpectedError",S[S.Fatal=6]="Fatal",(P=e.PageSizeType||(e.PageSizeType={}))[P.Widescreen=0]="Widescreen",P[P.Standard=1]="Standard",P[P.Cortana=2]="Cortana",P[P.Letter=3]="Letter",P[P.Custom=4]="Custom",P[P.Mobile=5]="Mobile",(w=e.DisplayOption||(e.DisplayOption={}))[w.FitToPage=0]="FitToPage",w[w.FitToWidth=1]="FitToWidth",w[w.ActualSize=2]="ActualSize",(b=e.BackgroundType||(e.BackgroundType={}))[b.Default=0]="Default",b[b.Transparent=1]="Transparent",(g=e.VisualContainerDisplayMode||(e.VisualContainerDisplayMode={}))[g.Visible=0]="Visible",g[g.Hidden=1]="Hidden",(V=e.LayoutType||(e.LayoutType={}))[V.Master=0]="Master",V[V.Custom=1]="Custom",V[V.MobilePortrait=2]="MobilePortrait",V[V.MobileLandscape=3]="MobileLandscape",(m=e.HyperlinkClickBehavior||(e.HyperlinkClickBehavior={}))[m.Navigate=0]="Navigate",m[m.NavigateAndRaiseEvent=1]="NavigateAndRaiseEvent",m[m.RaiseEvent=2]="RaiseEvent",(y=e.ReportAlignment||(e.ReportAlignment={}))[y.Left=0]="Left",y[y.Center=1]="Center",y[y.Right=2]="Right",y[y.None=3]="None",(v=e.SectionVisibility||(e.SectionVisibility={}))[v.AlwaysVisible=0]="AlwaysVisible",v[v.HiddenInViewMode=1]="HiddenInViewMode",(h=e.Permissions||(e.Permissions={}))[h.Read=0]="Read",h[h.ReadWrite=1]="ReadWrite",h[h.Copy=2]="Copy",h[h.Create=4]="Create",h[h.All=7]="All",(f=e.ViewMode||(e.ViewMode={}))[f.View=0]="View",f[f.Edit=1]="Edit",(p=e.TokenType||(e.TokenType={}))[p.Aad=0]="Aad",p[p.Embed=1]="Embed",(c=e.ContrastMode||(e.ContrastMode={}))[c.None=0]="None",c[c.HighContrast1=1]="HighContrast1",c[c.HighContrast2=2]="HighContrast2",c[c.HighContrastBlack=3]="HighContrastBlack",c[c.HighContrastWhite=4]="HighContrastWhite",(d=e.MenuLocation||(e.MenuLocation={}))[d.Bottom=0]="Bottom",d[d.Top=1]="Top",(u=e.FiltersOperations||(e.FiltersOperations={}))[u.RemoveAll=0]="RemoveAll",u[u.ReplaceAll=1]="ReplaceAll",u[u.Add=2]="Add",u[u.Replace=3]="Replace",(s=e.FiltersLevel||(e.FiltersLevel={}))[s.Report=0]="Report",s[s.Page=1]="Page",s[s.Visual=2]="Visual",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",t[t.Identity=8]="Identity",t[t.Hierarchy=9]="Hierarchy"}(o=e.FilterType||(e.FilterType={})),(l=e.RelativeDateFilterTimeUnit||(e.RelativeDateFilterTimeUnit={}))[l.Days=0]="Days",l[l.Weeks=1]="Weeks",l[l.CalendarWeeks=2]="CalendarWeeks",l[l.Months=3]="Months",l[l.CalendarMonths=4]="CalendarMonths",l[l.Years=5]="Years",l[l.CalendarYears=6]="CalendarYears",l[l.Minutes=7]="Minutes",l[l.Hours=8]="Hours",(n=e.RelativeDateOperators||(e.RelativeDateOperators={}))[n.InLast=0]="InLast",n[n.InThis=1]="InThis",n[n.InNext=2]="InNext";var _=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=_;var T=function(t){function e(r,i,a){var n=t.call(this,r,o.Unknown)||this;return n.message=i,n.notSupportedTypeName=a,n.schemaUrl=e.schemaUrl,n}return a(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}(_);e.NotSupportedFilter=T;var E=function(t){function e(r,i,a){var n=t.call(this,r,o.IncludeExclude)||this;return n.values=a,n.isExclude=i,n.schemaUrl=e.schemaUrl,n}return a(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}(_);e.IncludeExcludeFilter=E;var F=function(t){function e(r,i,a,n){var l=t.call(this,r,o.TopN)||this;return l.operator=i,l.itemCount=a,l.schemaUrl=e.schemaUrl,l.orderBy=n,l}return a(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}(_);e.TopNFilter=F;var C=function(t){function e(r,i,a,n,l){var s=t.call(this,r,o.RelativeDate)||this;return s.operator=i,s.timeUnitsCount=a,s.timeUnitType=n,s.includeToday=l,s.schemaUrl=e.schemaUrl,s}return a(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}(_);e.RelativeDateFilter=C;var R=function(t){function e(r,i,a,n){var l=t.call(this,r,o.RelativeTime)||this;return l.operator=i,l.timeUnitsCount=a,l.timeUnitType=n,l.schemaUrl=e.schemaUrl,l}return a(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}(_);e.RelativeTimeFilter=R;var k=function(t){function e(r,i){for(var a=[],n=2;n0&&!a)throw new Error("You should pass the values to be filtered for each key. You passed: no values and ".concat(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,s=o.keyValues;l2)throw new Error("AdvancedFilters may not have more than two conditions. You passed: ".concat(a.length));if(1===l.length&&"And"!==i)throw new Error('Logical Operator must be "And" when there is only one condition provided');return s.conditions=l,s}return a(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}(_);e.AdvancedFilter=M;var L,I,q,D,N,B,U,H=function(t){function e(r,i){var a=t.call(this,r,o.Hierarchy)||this;return a.schemaUrl=e.schemaUrl,a.hierarchyData=i,a}return a(e,t),e.prototype.toJSON=function(){var e=t.prototype.toJSON.call(this);return e.hierarchyData=this.hierarchyData,e.target=this.target,e},e.schemaUrl="http://powerbi.com/product/schema#hierarchy",e}(_);function W(t){if(t.filterType)return t.filterType;var e=t,r=t;return"string"==typeof e.operator&&Array.isArray(e.values)?o.Basic:"string"==typeof r.logicalOperator&&Array.isArray(r.conditions)?o.Advanced:o.Unknown}function z(t){return!(!t.table||!t.column||t.aggregationFunction)}e.HierarchyFilter=H,e.isFilterKeyColumnsTarget=function(t){return z(t)&&!!t.keys},e.isBasicFilterWithKeys=function(t){return W(t)===o.Basic&&!!t.keyValues},e.getFilterType=W,e.isMeasure=function(t){return void 0!==t.table&&void 0!==t.measure},e.isColumn=z,e.isHierarchyLevel=function(t){return!(!(t.table&&t.hierarchy&&t.hierarchyLevel)||t.aggregationFunction)},e.isHierarchyLevelAggr=function(t){return!!(t.table&&t.hierarchy&&t.hierarchyLevel&&t.aggregationFunction)},e.isColumnAggr=function(t){return!!(t.table&&t.column&&t.aggregationFunction)},e.isPercentOfGrandTotal=function(t){return!!t.percentOfGrandTotal},(U=e.CredentialType||(e.CredentialType={}))[U.NoConnection=0]="NoConnection",U[U.OnBehalfOf=1]="OnBehalfOf",U[U.Anonymous=2]="Anonymous",(B=e.DataCacheMode||(e.DataCacheMode={}))[B.Import=0]="Import",B[B.DirectQuery=1]="DirectQuery",(N=e.PageNavigationPosition||(e.PageNavigationPosition={}))[N.Bottom=0]="Bottom",N[N.Left=1]="Left",(D=e.QnaMode||(e.QnaMode={}))[D.Interactive=0]="Interactive",D[D.ResultOnly=1]="ResultOnly",(q=e.ExportDataType||(e.ExportDataType={}))[q.Summarized=0]="Summarized",q[q.Underlying=1]="Underlying",(I=e.BookmarksPlayMode||(e.BookmarksPlayMode={}))[I.Off=0]="Off",I[I.Presentation=1]="Presentation",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"},(L=e.SortDirection||(e.SortDirection={}))[L.Ascending=1]="Ascending",L[L.Descending=2]="Descending";var Q=function(){function t(t){this.$schema=t}return t.prototype.toJSON=function(){return{$schema:this.$schema}},t}();e.Selector=Q;var G=function(t){function e(r){var i=t.call(this,e.schemaUrl)||this;return i.pageName=r,i}return a(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}(Q);e.PageSelector=G;var J=function(t){function e(r){var i=t.call(this,e.schemaUrl)||this;return i.visualName=r,i}return a(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}(Q);e.VisualSelector=J;var K=function(t){function e(e){var r=t.call(this,J.schemaUrl)||this;return r.visualType=e,r}return a(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}(Q);e.VisualTypeSelector=K;var Y,$,Z,X=function(t){function e(e){var r=t.call(this,J.schemaUrl)||this;return r.target=e,r}return a(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}(Q);function tt(t){return Array.isArray(t)}function et(t){return t&&!!t.groupName}function rt(t){return Array.isArray(t)}function it(t){var e=t.message;return e||(e="".concat(t.path," is invalid. Not meeting ").concat(t.keyword," constraint")),{message:e}}e.SlicerTargetSelector=X,(Z=e.CommandDisplayOption||(e.CommandDisplayOption={}))[Z.Enabled=0]="Enabled",Z[Z.Disabled=1]="Disabled",Z[Z.Hidden=2]="Hidden",($=e.VisualDataRoleKind||(e.VisualDataRoleKind={}))[$.Grouping=0]="Grouping",$[$.Measure=1]="Measure",$[$.GroupingOrMeasure=2]="GroupingOrMeasure",(Y=e.VisualDataRoleKindPreference||(e.VisualDataRoleKindPreference={}))[Y.Measure=0]="Measure",Y[Y.Grouping=1]="Grouping",e.isOnLoadFilters=function(t){return t&&!tt(t)},e.isReportFiltersArray=tt,e.isFlatMenuExtension=function(t){return t&&!et(t)},e.isGroupedMenuExtension=et,e.isIExtensions=function(t){return t&&!rt(t)},e.isIExtensionArray=rt,e.validateVisualSelector=function(t){var e=O.Validators.visualSelectorValidator.validate(t);return e?e.map(it):void 0},e.validateSlicer=function(t){var e=O.Validators.slicerValidator.validate(t);return e?e.map(it):void 0},e.validateSlicerState=function(t){var e=O.Validators.slicerStateValidator.validate(t);return e?e.map(it):void 0},e.validatePlayBookmarkRequest=function(t){var e=O.Validators.playBookmarkRequestValidator.validate(t);return e?e.map(it):void 0},e.validateAddBookmarkRequest=function(t){var e=O.Validators.addBookmarkRequestValidator.validate(t);return e?e.map(it):void 0},e.validateApplyBookmarkByNameRequest=function(t){var e=O.Validators.applyBookmarkByNameRequestValidator.validate(t);return e?e.map(it):void 0},e.validateApplyBookmarkStateRequest=function(t){var e=O.Validators.applyBookmarkStateRequestValidator.validate(t);return e?e.map(it):void 0},e.validateCaptureBookmarkRequest=function(t){var e=O.Validators.captureBookmarkRequestValidator.validate(t);return e?e.map(it):void 0},e.validateSettings=function(t){var e=O.Validators.settingsValidator.validate(t);return e?e.map(it):void 0},e.validatePanes=function(t){var e=O.Validators.reportPanesValidator.validate(t);return e?e.map(it):void 0},e.validateBookmarksPane=function(t){var e=O.Validators.bookmarksPaneValidator.validate(t);return e?e.map(it):void 0},e.validateFiltersPane=function(t){var e=O.Validators.filtersPaneValidator.validate(t);return e?e.map(it):void 0},e.validateFieldsPane=function(t){var e=O.Validators.fieldsPaneValidator.validate(t);return e?e.map(it):void 0},e.validatePageNavigationPane=function(t){var e=O.Validators.pageNavigationPaneValidator.validate(t);return e?e.map(it):void 0},e.validateSelectionPane=function(t){var e=O.Validators.selectionPaneValidator.validate(t);return e?e.map(it):void 0},e.validateSyncSlicersPane=function(t){var e=O.Validators.syncSlicersPaneValidator.validate(t);return e?e.map(it):void 0},e.validateVisualizationsPane=function(t){var e=O.Validators.visualizationsPaneValidator.validate(t);return e?e.map(it):void 0},e.validateCustomPageSize=function(t){var e=O.Validators.customPageSizeValidator.validate(t);return e?e.map(it):void 0},e.validateExtension=function(t){var e=O.Validators.extensionValidator.validate(t);return e?e.map(it):void 0},e.validateMenuGroupExtension=function(t){var e=O.Validators.menuGroupExtensionValidator.validate(t);return e?e.map(it):void 0},e.validateReportLoad=function(t){var e=O.Validators.reportLoadValidator.validate(t);return e?e.map(it):void 0},e.validatePaginatedReportLoad=function(t){var e=O.Validators.paginatedReportLoadValidator.validate(t);return e?e.map(it):void 0},e.validateCreateReport=function(t){var e=O.Validators.reportCreateValidator.validate(t);return e?e.map(it):void 0},e.validateQuickCreate=function(t){var e=O.Validators.quickCreateValidator.validate(t);return e?e.map(it):void 0},e.validateDashboardLoad=function(t){var e=O.Validators.dashboardLoadValidator.validate(t);return e?e.map(it):void 0},e.validateTileLoad=function(t){var e=O.Validators.tileLoadValidator.validate(t);return e?e.map(it):void 0},e.validatePage=function(t){var e=O.Validators.pageValidator.validate(t);return e?e.map(it):void 0},e.validateFilter=function(t){var e=O.Validators.filterValidator.validate(t);return e?e.map(it):void 0},e.validateUpdateFiltersRequest=function(t){var e=O.Validators.updateFiltersRequestValidator.validate(t);return e?e.map(it):void 0},e.validateSaveAsParameters=function(t){var e=O.Validators.saveAsParametersValidator.validate(t);return e?e.map(it):void 0},e.validateLoadQnaConfiguration=function(t){var e=O.Validators.loadQnaValidator.validate(t);return e?e.map(it):void 0},e.validateQnaInterpretInputData=function(t){var e=O.Validators.qnaInterpretInputDataValidator.validate(t);return e?e.map(it):void 0},e.validateExportDataRequest=function(t){var e=O.Validators.exportDataRequestValidator.validate(t);return e?e.map(it):void 0},e.validateVisualHeader=function(t){var e=O.Validators.visualHeaderValidator.validate(t);return e?e.map(it):void 0},e.validateVisualSettings=function(t){var e=O.Validators.visualSettingsValidator.validate(t);return e?e.map(it):void 0},e.validateCommandsSettings=function(t){var e=O.Validators.commandsSettingsValidator.validate(t);return e?e.map(it):void 0},e.validateCustomTheme=function(t){var e=O.Validators.customThemeValidator.validate(t);return e?e.map(it):void 0},e.validateZoomLevel=function(t){var e=O.Validators.zoomLevelValidator.validate(t);return e?e.map(it):void 0}},(t,e,r)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.Validators=void 0;var i=r(2),a=r(5),o=r(6),n=r(7),l=r(8),s=r(9),u=r(10),d=r(11),c=r(12),p=r(13),f=r(14),h=r(15),v=r(16),y=r(17),m=r(18),V=r(19),g=r(20),b=r(21),w=r(22),P=r(23),S=r(24),O=r(25),_=r(26),T=r(27),E=r(28),F=r(29),C=r(4),R=r(30),k=r(31),x=r(32);e.Validators={addBookmarkRequestValidator:new a.AddBookmarkRequestValidator,advancedFilterTypeValidator:new C.EnumValidator([0]),advancedFilterValidator:new c.AdvancedFilterValidator,anyArrayValidator:new C.ArrayValidator([new _.AnyOfValidator([new C.StringValidator,new C.NumberValidator,new C.BooleanValidator])]),anyFilterValidator:new _.AnyOfValidator([new c.BasicFilterValidator,new c.AdvancedFilterValidator,new c.IncludeExcludeFilterValidator,new c.NotSupportedFilterValidator,new c.RelativeDateFilterValidator,new c.TopNFilterValidator,new c.RelativeTimeFilterValidator,new c.HierarchyFilterValidator]),anyValueValidator:new _.AnyOfValidator([new C.StringValidator,new C.NumberValidator,new C.BooleanValidator]),actionBarValidator:new i.ActionBarValidator,statusBarValidator:new i.StatusBarValidator,applyBookmarkByNameRequestValidator:new a.ApplyBookmarkByNameRequestValidator,applyBookmarkStateRequestValidator:new a.ApplyBookmarkStateRequestValidator,applyBookmarkValidator:new _.AnyOfValidator([new a.ApplyBookmarkByNameRequestValidator,new a.ApplyBookmarkStateRequestValidator]),backgroundValidator:new C.EnumValidator([0,1]),basicFilterTypeValidator:new C.EnumValidator([1]),basicFilterValidator:new c.BasicFilterValidator,booleanArrayValidator:new C.BooleanArrayValidator,booleanValidator:new C.BooleanValidator,bookmarksPaneValidator:new h.BookmarksPaneValidator,captureBookmarkOptionsValidator:new a.CaptureBookmarkOptionsValidator,captureBookmarkRequestValidator:new a.CaptureBookmarkRequestValidator,columnSchemaArrayValidator:new C.ArrayValidator([new k.ColumnSchemaValidator]),commandDisplayOptionValidator:new C.EnumValidator([0,1,2]),commandExtensionSelectorValidator:new _.AnyOfValidator([new b.VisualSelectorValidator,new b.VisualTypeSelectorValidator]),commandExtensionArrayValidator:new C.ArrayValidator([new d.CommandExtensionValidator]),commandExtensionValidator:new d.CommandExtensionValidator,commandsSettingsArrayValidator:new C.ArrayValidator([new o.CommandsSettingsValidator]),commandsSettingsValidator:new o.CommandsSettingsValidator,conditionItemValidator:new c.ConditionItemValidator,contrastModeValidator:new C.EnumValidator([0,1,2,3,4]),credentialDetailsValidator:new F.MapValidator([new C.StringValidator],[new C.StringValidator]),credentialsValidator:new k.CredentialsValidator,credentialTypeValidator:new C.EnumValidator([0,1,2]),customLayoutDisplayOptionValidator:new C.EnumValidator([0,1,2]),customLayoutValidator:new p.CustomLayoutValidator,customPageSizeValidator:new f.CustomPageSizeValidator,customThemeValidator:new n.CustomThemeValidator,dashboardLoadValidator:new l.DashboardLoadValidator,dataCacheModeValidator:new C.EnumValidator([0,1]),datasetBindingValidator:new s.DatasetBindingValidator,datasetCreateConfigValidator:new k.DatasetCreateConfigValidator,datasourceConnectionConfigValidator:new k.DatasourceConnectionConfigValidator,displayStateModeValidator:new C.EnumValidator([0,1]),displayStateValidator:new p.DisplayStateValidator,exportDataRequestValidator:new u.ExportDataRequestValidator,extensionArrayValidator:new C.ArrayValidator([new d.ExtensionValidator]),extensionsValidator:new _.AnyOfValidator([new C.ArrayValidator([new d.ExtensionValidator]),new d.ExtensionsValidator]),extensionPointsValidator:new d.ExtensionPointsValidator,extensionValidator:new d.ExtensionValidator,fieldForbiddenValidator:new T.FieldForbiddenValidator,fieldRequiredValidator:new E.FieldRequiredValidator,fieldsPaneValidator:new h.FieldsPaneValidator,filterColumnTargetValidator:new c.FilterColumnTargetValidator,filterDisplaySettingsValidator:new c.FilterDisplaySettingsValidator,filterConditionsValidator:new C.ArrayValidator([new c.ConditionItemValidator]),filterHierarchyTargetValidator:new c.FilterHierarchyTargetValidator,filterMeasureTargetValidator:new c.FilterMeasureTargetValidator,filterTargetValidator:new _.AnyOfValidator([new c.FilterColumnTargetValidator,new c.FilterHierarchyTargetValidator,new c.FilterMeasureTargetValidator,new C.ArrayValidator([new _.AnyOfValidator([new c.FilterColumnTargetValidator,new c.FilterHierarchyTargetValidator,new c.FilterMeasureTargetValidator,new c.FilterKeyColumnsTargetValidator,new c.FilterKeyHierarchyTargetValidator])])]),filterValidator:new c.FilterValidator,filterTypeValidator:new C.EnumValidator([0,1,2,3,4,5,6,7,9]),filtersArrayValidator:new C.ArrayValidator([new c.FilterValidator]),filtersOperationsUpdateValidator:new C.EnumValidator([1,2,3]),filtersOperationsRemoveAllValidator:new C.EnumValidator([0]),filtersPaneValidator:new h.FiltersPaneValidator,hyperlinkClickBehaviorValidator:new C.EnumValidator([0,1,2]),includeExcludeFilterValidator:new c.IncludeExcludeFilterValidator,includeExludeFilterTypeValidator:new C.EnumValidator([3]),hierarchyFilterTypeValidator:new C.EnumValidator([9]),hierarchyFilterValuesValidator:new C.ArrayValidator([new c.HierarchyFilterNodeValidator]),layoutTypeValidator:new C.EnumValidator([0,1,2,3]),loadQnaValidator:new v.LoadQnaValidator,menuExtensionValidator:new _.AnyOfValidator([new d.FlatMenuExtensionValidator,new d.GroupedMenuExtensionValidator]),menuGroupExtensionArrayValidator:new C.ArrayValidator([new d.MenuGroupExtensionValidator]),menuGroupExtensionValidator:new d.MenuGroupExtensionValidator,menuLocationValidator:new C.EnumValidator([0,1]),notSupportedFilterTypeValidator:new C.EnumValidator([2]),notSupportedFilterValidator:new c.NotSupportedFilterValidator,numberArrayValidator:new C.NumberArrayValidator,numberValidator:new C.NumberValidator,onLoadFiltersBaseValidator:new _.AnyOfValidator([new c.OnLoadFiltersBaseValidator,new c.OnLoadFiltersBaseRemoveOperationValidator]),pageLayoutValidator:new F.MapValidator([new C.StringValidator],[new p.VisualLayoutValidator]),pageNavigationPaneValidator:new h.PageNavigationPaneValidator,pageNavigationPositionValidator:new C.EnumValidator([0,1]),pageSizeTypeValidator:new C.EnumValidator([0,1,2,3,4,5]),pageSizeValidator:new f.PageSizeValidator,pageValidator:new f.PageValidator,pageViewFieldValidator:new f.PageViewFieldValidator,pagesLayoutValidator:new F.MapValidator([new C.StringValidator],[new p.PageLayoutValidator]),paginatedReportCommandsValidator:new o.PaginatedReportCommandsValidator,paginatedReportLoadValidator:new V.PaginatedReportLoadValidator,paginatedReportsettingsValidator:new w.PaginatedReportSettingsValidator,parameterValuesArrayValidator:new C.ArrayValidator([new V.ReportParameterFieldsValidator]),parametersPanelValidator:new R.ParametersPanelValidator,permissionsValidator:new C.EnumValidator([0,1,2,4,7]),playBookmarkRequestValidator:new a.PlayBookmarkRequestValidator,qnaInterpretInputDataValidator:new v.QnaInterpretInputDataValidator,qnaPanesValidator:new h.QnaPanesValidator,qnaSettingValidator:new v.QnaSettingsValidator,quickCreateValidator:new x.QuickCreateValidator,rawDataValidator:new C.ArrayValidator([new C.ArrayValidator([new C.StringValidator])]),relativeDateFilterOperatorValidator:new C.EnumValidator([0,1,2]),relativeDateFilterTimeUnitTypeValidator:new C.EnumValidator([0,1,2,3,4,5,6]),relativeDateFilterTypeValidator:new C.EnumValidator([4]),relativeDateFilterValidator:new c.RelativeDateFilterValidator,relativeDateTimeFilterTypeValidator:new C.EnumValidator([4,7]),relativeDateTimeFilterUnitTypeValidator:new C.EnumValidator([0,1,2,3,4,5,6,7,8]),relativeTimeFilterTimeUnitTypeValidator:new C.EnumValidator([7,8]),relativeTimeFilterTypeValidator:new C.EnumValidator([7]),relativeTimeFilterValidator:new c.RelativeTimeFilterValidator,reportBarsValidator:new i.ReportBarsValidator,reportCreateValidator:new y.ReportCreateValidator,reportLoadFiltersValidator:new _.AnyOfValidator([new C.ArrayValidator([new c.FilterValidator]),new c.OnLoadFiltersValidator]),reportLoadValidator:new m.ReportLoadValidator,reportPanesValidator:new h.ReportPanesValidator,saveAsParametersValidator:new g.SaveAsParametersValidator,selectionPaneValidator:new h.SelectionPaneValidator,settingsValidator:new w.SettingsValidator,singleCommandSettingsValidator:new o.SingleCommandSettingsValidator,slicerSelectorValidator:new _.AnyOfValidator([new b.VisualSelectorValidator,new b.SlicerTargetSelectorValidator]),slicerStateValidator:new P.SlicerStateValidator,slicerTargetValidator:new _.AnyOfValidator([new c.FilterColumnTargetValidator,new c.FilterHierarchyTargetValidator,new c.FilterMeasureTargetValidator,new c.FilterKeyColumnsTargetValidator,new c.FilterKeyHierarchyTargetValidator]),slicerValidator:new P.SlicerValidator,stringArrayValidator:new C.StringArrayValidator,stringValidator:new C.StringValidator,syncSlicersPaneValidator:new h.SyncSlicersPaneValidator,tableDataArrayValidator:new C.ArrayValidator([new k.TableDataValidator]),tableSchemaListValidator:new C.ArrayValidator([new k.TableSchemaValidator]),tileLoadValidator:new S.TileLoadValidator,tokenTypeValidator:new C.EnumValidator([0,1]),topNFilterTypeValidator:new C.EnumValidator([5]),topNFilterValidator:new c.TopNFilterValidator,updateFiltersRequestValidator:new _.AnyOfValidator([new c.UpdateFiltersRequestValidator,new c.RemoveFiltersRequestValidator]),viewModeValidator:new C.EnumValidator([0,1]),visualCommandSelectorValidator:new _.AnyOfValidator([new b.VisualSelectorValidator,new b.VisualTypeSelectorValidator]),visualHeaderSelectorValidator:new _.AnyOfValidator([new b.VisualSelectorValidator,new b.VisualTypeSelectorValidator]),visualHeaderSettingsValidator:new O.VisualHeaderSettingsValidator,visualHeaderValidator:new O.VisualHeaderValidator,visualHeadersValidator:new C.ArrayValidator([new O.VisualHeaderValidator]),visualizationsPaneValidator:new h.VisualizationsPaneValidator,visualLayoutValidator:new p.VisualLayoutValidator,visualSelectorValidator:new b.VisualSelectorValidator,visualSettingsValidator:new O.VisualSettingsValidator,visualTypeSelectorValidator:new b.VisualTypeSelectorValidator,zoomLevelValidator:new C.RangeValidator(.25,4)}},function(t,e,r){var i,a=this&&this.__extends||(i=function(t,e){return i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},i(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.StatusBarValidator=e.ActionBarValidator=e.ReportBarsValidator=void 0;var o=r(3),n=r(4),l=r(1),s=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return a(e,t),e.prototype.validate=function(e,r,i){if(null==e)return null;var a=t.prototype.validate.call(this,e,r,i);if(a)return a;var n=[{field:"actionBar",validators:[l.Validators.actionBarValidator]},{field:"statusBar",validators:[l.Validators.statusBarValidator]}];return new o.MultipleFieldsValidator(n).validate(e,r,i)},e}(n.ObjectValidator);e.ReportBarsValidator=s;var u=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return a(e,t),e.prototype.validate=function(e,r,i){if(null==e)return null;var a=t.prototype.validate.call(this,e,r,i);if(a)return a;var n=[{field:"visible",validators:[l.Validators.booleanValidator]}];return new o.MultipleFieldsValidator(n).validate(e,r,i)},e}(n.ObjectValidator);e.ActionBarValidator=u;var d=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return a(e,t),e.prototype.validate=function(e,r,i){if(null==e)return null;var a=t.prototype.validate.call(this,e,r,i);if(a)return a;var n=[{field:"visible",validators:[l.Validators.booleanValidator]}];return new o.MultipleFieldsValidator(n).validate(e,r,i)},e}(n.ObjectValidator);e.StatusBarValidator=d},(t,e)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.MultipleFieldsValidator=void 0;var r=function(){function t(t){this.fieldValidatorsPairs=t}return t.prototype.validate=function(t,e,r){if(!this.fieldValidatorsPairs)return null;for(var i=e?e+"."+r:r,a=0,o=this.fieldValidatorsPairs;athis.maxValue||e{Object.defineProperty(e,"__esModule",{value:!0}),e.AnyOfValidator=void 0;var r=function(){function t(t){this.validators=t}return t.prototype.validate=function(t,e,r){if(null==t)return null;for(var i=!1,a=0,o=this.validators;a{Object.defineProperty(e,"__esModule",{value:!0}),e.FieldForbiddenValidator=void 0;var r=function(){function t(){}return t.prototype.validate=function(t,e,r){return void 0!==t?[{message:r+" is forbidden",path:(e?e+".":"")+r,keyword:"forbidden"}]:null},t}();e.FieldForbiddenValidator=r},(t,e)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.FieldRequiredValidator=void 0;var r=function(){function t(){}return t.prototype.validate=function(t,e,r){return null==t?[{message:r+" is required",path:(e?e+".":"")+r,keyword:"required"}]:null},t}();e.FieldRequiredValidator=r},function(t,e,r){var i,a=this&&this.__extends||(i=function(t,e){return i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},i(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.MapValidator=void 0;var o=function(t){function e(e,r){var i=t.call(this)||this;return i.keyValidators=e,i.valueValidators=r,i}return a(e,t),e.prototype.validate=function(e,r,i){if(null==e)return null;var a=t.prototype.validate.call(this,e,r,i);if(a)return a;for(var o in e)if(e.hasOwnProperty(o)){for(var n=(r?r+".":"")+i+"."+o,l=0,s=this.keyValidators;l2&&"[]"===n.slice(l-2)&&(s=!0,r[n=n.slice(0,l-2)]||(r[n]=[])),a=o[1]?g(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(-1!==(i=t.indexOf("?"))){var l=t.substr(i+1,t.length);t=t.substr(0,i),o=this.parseQueryString(l)}for("/"!==(t=decodeURI(t)).charAt(0)&&(t="/"+t),(e=t.length)>1&&"/"===t.charAt(e-1)&&(t=t.substr(0,e-1),n=!0),r=0;r{Object.defineProperty(e,"__esModule",{value:!0}),e.FilterBuilder=void 0;var r=function(){function t(){}return t.prototype.withTargetObject=function(t){return this.target=t,this},t.prototype.withColumnTarget=function(t,e){return this.target={table:t,column:e},this},t.prototype.withMeasureTarget=function(t,e){return this.target={table:t,measure:e},this},t.prototype.withHierarchyLevelTarget=function(t,e,r){return this.target={table:t,hierarchy:e,hierarchyLevel:r},this},t.prototype.withColumnAggregation=function(t,e,r){return this.target={table:t,column:e,aggregationFunction:r},this},t.prototype.withHierarchyLevelAggregationTarget=function(t,e,r,i){return this.target={table:t,hierarchy:e,hierarchyLevel:r,aggregationFunction:i},this},t}();e.FilterBuilder=r},567:(t,e,r)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.RelativeTimeFilterBuilder=e.RelativeDateFilterBuilder=e.TopNFilterBuilder=e.AdvancedFilterBuilder=e.BasicFilterBuilder=void 0;var i=r(153);Object.defineProperty(e,"BasicFilterBuilder",{enumerable:!0,get:function(){return i.BasicFilterBuilder}});var a=r(674);Object.defineProperty(e,"AdvancedFilterBuilder",{enumerable:!0,get:function(){return a.AdvancedFilterBuilder}});var o=r(664);Object.defineProperty(e,"TopNFilterBuilder",{enumerable:!0,get:function(){return o.TopNFilterBuilder}});var n=r(844);Object.defineProperty(e,"RelativeDateFilterBuilder",{enumerable:!0,get:function(){return n.RelativeDateFilterBuilder}});var l=r(275);Object.defineProperty(e,"RelativeTimeFilterBuilder",{enumerable:!0,get:function(){return l.RelativeTimeFilterBuilder}})},844:function(t,e,r){var i,a=this&&this.__extends||(i=function(t,e){return i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},i(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.RelativeDateFilterBuilder=void 0;var o=r(149),n=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.isTodayIncluded=!0,e}return a(e,t),e.prototype.inLast=function(t,e){return this.operator=o.RelativeDateOperators.InLast,this.timeUnitsCount=t,this.timeUnitType=e,this},e.prototype.inThis=function(t,e){return this.operator=o.RelativeDateOperators.InThis,this.timeUnitsCount=t,this.timeUnitType=e,this},e.prototype.inNext=function(t,e){return this.operator=o.RelativeDateOperators.InNext,this.timeUnitsCount=t,this.timeUnitType=e,this},e.prototype.includeToday=function(t){return this.isTodayIncluded=t,this},e.prototype.build=function(){return new o.RelativeDateFilter(this.target,this.operator,this.timeUnitsCount,this.timeUnitType,this.isTodayIncluded)},e}(r(277).FilterBuilder);e.RelativeDateFilterBuilder=n},275:function(t,e,r){var i,a=this&&this.__extends||(i=function(t,e){return i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},i(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.RelativeTimeFilterBuilder=void 0;var o=r(149),n=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return a(e,t),e.prototype.inLast=function(t,e){return this.operator=o.RelativeDateOperators.InLast,this.timeUnitsCount=t,this.timeUnitType=e,this},e.prototype.inThis=function(t,e){return this.operator=o.RelativeDateOperators.InThis,this.timeUnitsCount=t,this.timeUnitType=e,this},e.prototype.inNext=function(t,e){return this.operator=o.RelativeDateOperators.InNext,this.timeUnitsCount=t,this.timeUnitType=e,this},e.prototype.build=function(){return new o.RelativeTimeFilter(this.target,this.operator,this.timeUnitsCount,this.timeUnitType)},e}(r(277).FilterBuilder);e.RelativeTimeFilterBuilder=n},664:function(t,e,r){var i,a=this&&this.__extends||(i=function(t,e){return i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},i(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.TopNFilterBuilder=void 0;var o=r(149),n=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return a(e,t),e.prototype.top=function(t){return this.operator="Top",this.itemCount=t,this},e.prototype.bottom=function(t){return this.operator="Bottom",this.itemCount=t,this},e.prototype.orderByTarget=function(t){return this.orderByTargetValue=t,this},e.prototype.build=function(){return new o.TopNFilter(this.target,this.operator,this.itemCount,this.orderByTargetValue)},e}(r(277).FilterBuilder);e.TopNFilterBuilder=n},460:function(t,e,r){var i=this&&this.__awaiter||function(t,e,r,i){return new(r||(r=Promise))((function(a,o){function n(t){try{s(i.next(t))}catch(t){o(t)}}function l(t){try{s(i.throw(t))}catch(t){o(t)}}function s(t){var e;t.done?a(t.value):(e=t.value,e instanceof r?e:new r((function(t){t(e)}))).then(n,l)}s((i=i.apply(t,e||[])).next())}))},a=this&&this.__generator||function(t,e){var r,i,a,o,n={label:0,sent:function(){if(1&a[0])throw a[1];return a[1]},trys:[],ops:[]};return o={next:l(0),throw:l(1),return:l(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function l(o){return function(l){return function(o){if(r)throw new TypeError("Generator is already executing.");for(;n;)try{if(r=1,i&&(a=2&o[0]?i.return:o[0]?i.throw||((a=i.return)&&a.call(i),0):i.next)&&!(a=a.call(i,o[1])).done)return a;switch(i=0,a&&(o=[2&o[0],a.value]),o[0]){case 0:case 1:a=o;break;case 4:return n.label++,{value:o[1],done:!1};case 5:n.label++,i=o[1],o=[0];continue;case 7:o=n.ops.pop(),n.trys.pop();continue;default:if(!((a=(a=n.trys).length>0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]{Object.defineProperty(e,"__esModule",{value:!0}),e.default={version:"2.22.1",type:"js"}},536:function(t,e,r){var i,a=this&&this.__extends||(i=function(t,e){return i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},i(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}),o=this&&this.__awaiter||function(t,e,r,i){return new(r||(r=Promise))((function(a,o){function n(t){try{s(i.next(t))}catch(t){o(t)}}function l(t){try{s(i.throw(t))}catch(t){o(t)}}function s(t){var e;t.done?a(t.value):(e=t.value,e instanceof r?e:new r((function(t){t(e)}))).then(n,l)}s((i=i.apply(t,e||[])).next())}))},n=this&&this.__generator||function(t,e){var r,i,a,o,n={label:0,sent:function(){if(1&a[0])throw a[1];return a[1]},trys:[],ops:[]};return o={next:l(0),throw:l(1),return:l(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function l(o){return function(l){return function(o){if(r)throw new TypeError("Generator is already executing.");for(;n;)try{if(r=1,i&&(a=2&o[0]?i.return:o[0]?i.throw||((a=i.return)&&a.call(i),0):i.next)&&!(a=a.call(i,o[1])).done)return a;switch(i=0,a&&(o=[2&o[0],a.value]),o[0]){case 0:case 1:a=o;break;case 4:return n.label++,{value:o[1],done:!1};case 5:n.label++,i=o[1],o=[0];continue;case 7:o=n.ops.pop(),n.trys.pop();continue;default:if(!((a=(a=n.trys).length>0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]{Object.defineProperty(e,"__esModule",{value:!0}),e.EmbedUrlNotSupported=e.APINotSupportedForRDLError=void 0,e.APINotSupportedForRDLError="This API is currently not supported for RDL reports",e.EmbedUrlNotSupported="Embed URL is invalid for this scenario. Please use Power BI REST APIs to get the valid URL"},357:(t,e,r)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.routerFactory=e.wpmpFactory=e.hpmFactory=void 0;var i=r(903),a=r(615),o=r(891),n=r(913);e.hpmFactory=function(t,e,r,i,o){return void 0===r&&(r=n.default.version),void 0===i&&(i=n.default.type),new a.HttpPostMessage(t,{"x-sdk-type":i,"x-sdk-version":r,"x-sdk-wrapper-version":o},e)},e.wpmpFactory=function(t,e,r){return new i.WindowPostMessageProxy({processTrackingProperties:{addTrackingProperties:a.HttpPostMessage.addTrackingProperties,getTrackingProperties:a.HttpPostMessage.getTrackingProperties},isErrorMessage:a.HttpPostMessage.isErrorMessage,suppressWarnings:!0,name:t,logMessages:e,eventSourceOverrideWindow:r})},e.routerFactory=function(t){return new o.Router(t)}},220:function(t,e,r){var i=this&&this.__awaiter||function(t,e,r,i){return new(r||(r=Promise))((function(a,o){function n(t){try{s(i.next(t))}catch(t){o(t)}}function l(t){try{s(i.throw(t))}catch(t){o(t)}}function s(t){var e;t.done?a(t.value):(e=t.value,e instanceof r?e:new r((function(t){t(e)}))).then(n,l)}s((i=i.apply(t,e||[])).next())}))},a=this&&this.__generator||function(t,e){var r,i,a,o,n={label:0,sent:function(){if(1&a[0])throw a[1];return a[1]},trys:[],ops:[]};return o={next:l(0),throw:l(1),return:l(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function l(o){return function(l){return function(o){if(r)throw new TypeError("Generator is already executing.");for(;n;)try{if(r=1,i&&(a=2&o[0]?i.return:o[0]?i.throw||((a=i.return)&&a.call(i),0):i.next)&&!(a=a.call(i,o[1])).done)return a;switch(i=0,a&&(o=[2&o[0],a.value]),o[0]){case 0:case 1:a=o;break;case 4:return n.label++,{value:o[1],done:!1};case 5:n.label++,i=o[1],o=[0];continue;case 7:o=n.ops.pop(),n.trys.pop();continue;default:if(!((a=(a=n.trys).length>0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0?"&":"?";return t+(i+e+"=")+r},e.isSavedInternal=function(t,e,a){return r(this,void 0,void 0,(function(){return i(this,(function(r){switch(r.label){case 0:return r.trys.push([0,2,,3]),[4,t.get("/report/hasUnsavedChanges",{uid:e},a)];case 1:return[2,!r.sent().body];case 2:throw r.sent().body;case 3:return[2]}}))}))},e.isRDLEmbed=function(t){return t&&t.toLowerCase().indexOf("/rdlembed?")>=0},e.autoAuthInEmbedUrl=function(t){return t&&decodeURIComponent(t).toLowerCase().indexOf("autoauth=true")>=0},e.getRandomValue=o,e.getTimeDiffInMilliseconds=function(t,e){return Math.abs(t.getTime()-e.getTime())},e.isCreate=function(t){return"create"===t||"quickcreate"===t}},23:function(t,e,r){var i,a=this&&this.__extends||(i=function(t,e){return i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},i(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}),o=this&&this.__awaiter||function(t,e,r,i){return new(r||(r=Promise))((function(a,o){function n(t){try{s(i.next(t))}catch(t){o(t)}}function l(t){try{s(i.throw(t))}catch(t){o(t)}}function s(t){var e;t.done?a(t.value):(e=t.value,e instanceof r?e:new r((function(t){t(e)}))).then(n,l)}s((i=i.apply(t,e||[])).next())}))},n=this&&this.__generator||function(t,e){var r,i,a,o,n={label:0,sent:function(){if(1&a[0])throw a[1];return a[1]},trys:[],ops:[]};return o={next:l(0),throw:l(1),return:l(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function l(o){return function(l){return function(o){if(r)throw new TypeError("Generator is already executing.");for(;n;)try{if(r=1,i&&(a=2&o[0]?i.return:o[0]?i.throw||((a=i.return)&&a.call(i),0):i.next)&&!(a=a.call(i,o[1])).done)return a;switch(i=0,a&&(o=[2&o[0],a.value]),o[0]){case 0:case 1:a=o;break;case 4:return n.label++,{value:o[1],done:!1};case 5:n.label++,i=o[1],o=[0];continue;case 7:o=n.ops.pop(),n.trys.pop();continue;default:if(!((a=(a=n.trys).length>0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]{var t=i;Object.defineProperty(t,"__esModule",{value:!0}),t.RelativeTimeFilterBuilder=t.RelativeDateFilterBuilder=t.TopNFilterBuilder=t.AdvancedFilterBuilder=t.BasicFilterBuilder=t.QuickCreate=t.VisualDescriptor=t.Visual=t.Qna=t.Page=t.Embed=t.Tile=t.Dashboard=t.Report=t.models=t.factories=t.service=void 0;var e=r(149);t.models=e;var a=r(562);t.service=a;var o=r(357);t.factories=o;var n=r(125);Object.defineProperty(t,"Report",{enumerable:!0,get:function(){return n.Report}});var l=r(365);Object.defineProperty(t,"Dashboard",{enumerable:!0,get:function(){return l.Dashboard}});var s=r(43);Object.defineProperty(t,"Tile",{enumerable:!0,get:function(){return s.Tile}});var u=r(932);Object.defineProperty(t,"Embed",{enumerable:!0,get:function(){return u.Embed}});var d=r(220);Object.defineProperty(t,"Page",{enumerable:!0,get:function(){return d.Page}});var c=r(148);Object.defineProperty(t,"Qna",{enumerable:!0,get:function(){return c.Qna}});var p=r(23);Object.defineProperty(t,"Visual",{enumerable:!0,get:function(){return p.Visual}});var f=r(558);Object.defineProperty(t,"VisualDescriptor",{enumerable:!0,get:function(){return f.VisualDescriptor}});var h=r(714);Object.defineProperty(t,"QuickCreate",{enumerable:!0,get:function(){return h.QuickCreate}});var v=r(567);Object.defineProperty(t,"BasicFilterBuilder",{enumerable:!0,get:function(){return v.BasicFilterBuilder}}),Object.defineProperty(t,"AdvancedFilterBuilder",{enumerable:!0,get:function(){return v.AdvancedFilterBuilder}}),Object.defineProperty(t,"TopNFilterBuilder",{enumerable:!0,get:function(){return v.TopNFilterBuilder}}),Object.defineProperty(t,"RelativeDateFilterBuilder",{enumerable:!0,get:function(){return v.RelativeDateFilterBuilder}}),Object.defineProperty(t,"RelativeTimeFilterBuilder",{enumerable:!0,get:function(){return v.RelativeTimeFilterBuilder}});var y=new a.Service(o.hpmFactory,o.wpmpFactory,o.routerFactory);window.powerbi&&window.powerBISDKGlobalServiceInstanceName?window[window.powerBISDKGlobalServiceInstanceName]=y:window.powerbi=y})(),i})())); \ No newline at end of file +!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,(()=>(()=>{var t={615:function(t){var e;e=function(){return function(t){var e={};function r(i){if(e[i])return e[i].exports;var a=e[i]={exports:{},id:i,loaded:!1};return t[i].call(a.exports,a,a.exports,r),a.loaded=!0,a.exports}return r.m=t,r.c=e,r.p="",r(0)}([function(t,e){"use strict";var r=function(){function t(t,e,r){void 0===e&&(e={}),this.defaultHeaders=e,this.defaultTargetWindow=r,this.windowPostMessageProxy=t}return t.addTrackingProperties=function(t,e){return t.headers=t.headers||{},e&&e.id&&(t.headers.id=e.id),t},t.getTrackingProperties=function(t){return{id:t.headers&&t.headers.id}},t.isErrorMessage=function(t){return"number"==typeof(t&&t.statusCode)&&!(200<=t.statusCode&&t.statusCode<300)},t.prototype.get=function(t,e,r){return void 0===e&&(e={}),void 0===r&&(r=this.defaultTargetWindow),this.send({method:"GET",url:t,headers:e},r)},t.prototype.post=function(t,e,r,i){return void 0===r&&(r={}),void 0===i&&(i=this.defaultTargetWindow),this.send({method:"POST",url:t,headers:r,body:e},i)},t.prototype.put=function(t,e,r,i){return void 0===r&&(r={}),void 0===i&&(i=this.defaultTargetWindow),this.send({method:"PUT",url:t,headers:r,body:e},i)},t.prototype.patch=function(t,e,r,i){return void 0===r&&(r={}),void 0===i&&(i=this.defaultTargetWindow),this.send({method:"PATCH",url:t,headers:r,body:e},i)},t.prototype.delete=function(t,e,r,i){return void 0===e&&(e=null),void 0===r&&(r={}),void 0===i&&(i=this.defaultTargetWindow),this.send({method:"DELETE",url:t,headers:r,body:e},i)},t.prototype.send=function(t,e){if(void 0===e&&(e=this.defaultTargetWindow),t.headers=this.assign({},this.defaultHeaders,t.headers),!e)throw new Error("target window is not provided. You must either provide the target window explicitly as argument to request, or specify default target window when constructing instance of this class.");return this.windowPostMessageProxy.postMessage(e,t)},t.prototype.assign=function(t){for(var e=[],r=1;r(()=>{var t=[function(t,e,r){var i,a=this&&this.__extends||(i=function(t,e){return i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},i(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.SortDirection=e.LegendPosition=e.TextAlignment=e.CommonErrorCodes=e.BookmarksPlayMode=e.ExportDataType=e.QnaMode=e.PageNavigationPosition=e.DataCacheMode=e.CredentialType=e.isPercentOfGrandTotal=e.isColumnAggr=e.isHierarchyLevelAggr=e.isHierarchyLevel=e.isColumn=e.isMeasure=e.getFilterType=e.isBasicFilterWithKeys=e.isFilterKeyColumnsTarget=e.HierarchyFilter=e.AdvancedFilter=e.TupleFilter=e.IdentityFilter=e.BasicFilterWithKeys=e.BasicFilter=e.RelativeTimeFilter=e.RelativeDateFilter=e.TopNFilter=e.IncludeExcludeFilter=e.NotSupportedFilter=e.Filter=e.RelativeDateOperators=e.RelativeDateFilterTimeUnit=e.FilterType=e.FiltersLevel=e.FiltersOperations=e.MenuLocation=e.ContrastMode=e.TokenType=e.ViewMode=e.Permissions=e.SectionVisibility=e.ReportAlignment=e.HyperlinkClickBehavior=e.LayoutType=e.VisualContainerDisplayMode=e.BackgroundType=e.DisplayOption=e.PageSizeType=e.TraceType=void 0,e.validateCommandsSettings=e.validateVisualSettings=e.validateVisualHeader=e.validateExportDataRequest=e.validateQnaInterpretInputData=e.validateLoadQnaConfiguration=e.validateSaveAsParameters=e.validateUpdateFiltersRequest=e.validateFilter=e.validatePage=e.validateTileLoad=e.validateDashboardLoad=e.validateQuickCreate=e.validateCreateReport=e.validatePaginatedReportLoad=e.validateReportLoad=e.validateMenuGroupExtension=e.validateExtension=e.validateCustomPageSize=e.validateVisualizationsPane=e.validateSyncSlicersPane=e.validateSelectionPane=e.validatePageNavigationPane=e.validateFieldsPane=e.validateFiltersPane=e.validateBookmarksPane=e.validatePanes=e.validateSettings=e.validateCaptureBookmarkRequest=e.validateApplyBookmarkStateRequest=e.validateApplyBookmarkByNameRequest=e.validateAddBookmarkRequest=e.validatePlayBookmarkRequest=e.validateSlicerState=e.validateSlicer=e.validateVisualSelector=e.isIExtensionArray=e.isIExtensions=e.isGroupedMenuExtension=e.isFlatMenuExtension=e.isReportFiltersArray=e.isOnLoadFilters=e.VisualDataRoleKindPreference=e.VisualDataRoleKind=e.CommandDisplayOption=e.SlicerTargetSelector=e.VisualTypeSelector=e.VisualSelector=e.PageSelector=e.Selector=void 0,e.validateZoomLevel=e.validateCustomTheme=void 0;var o,n,l,s,u,d,c,p,f,h,v,y,m,V,g,b,w,P,S,O=r(1);(S=e.TraceType||(e.TraceType={}))[S.Information=0]="Information",S[S.Verbose=1]="Verbose",S[S.Warning=2]="Warning",S[S.Error=3]="Error",S[S.ExpectedError=4]="ExpectedError",S[S.UnexpectedError=5]="UnexpectedError",S[S.Fatal=6]="Fatal",(P=e.PageSizeType||(e.PageSizeType={}))[P.Widescreen=0]="Widescreen",P[P.Standard=1]="Standard",P[P.Cortana=2]="Cortana",P[P.Letter=3]="Letter",P[P.Custom=4]="Custom",P[P.Mobile=5]="Mobile",(w=e.DisplayOption||(e.DisplayOption={}))[w.FitToPage=0]="FitToPage",w[w.FitToWidth=1]="FitToWidth",w[w.ActualSize=2]="ActualSize",(b=e.BackgroundType||(e.BackgroundType={}))[b.Default=0]="Default",b[b.Transparent=1]="Transparent",(g=e.VisualContainerDisplayMode||(e.VisualContainerDisplayMode={}))[g.Visible=0]="Visible",g[g.Hidden=1]="Hidden",(V=e.LayoutType||(e.LayoutType={}))[V.Master=0]="Master",V[V.Custom=1]="Custom",V[V.MobilePortrait=2]="MobilePortrait",V[V.MobileLandscape=3]="MobileLandscape",(m=e.HyperlinkClickBehavior||(e.HyperlinkClickBehavior={}))[m.Navigate=0]="Navigate",m[m.NavigateAndRaiseEvent=1]="NavigateAndRaiseEvent",m[m.RaiseEvent=2]="RaiseEvent",(y=e.ReportAlignment||(e.ReportAlignment={}))[y.Left=0]="Left",y[y.Center=1]="Center",y[y.Right=2]="Right",y[y.None=3]="None",(v=e.SectionVisibility||(e.SectionVisibility={}))[v.AlwaysVisible=0]="AlwaysVisible",v[v.HiddenInViewMode=1]="HiddenInViewMode",(h=e.Permissions||(e.Permissions={}))[h.Read=0]="Read",h[h.ReadWrite=1]="ReadWrite",h[h.Copy=2]="Copy",h[h.Create=4]="Create",h[h.All=7]="All",(f=e.ViewMode||(e.ViewMode={}))[f.View=0]="View",f[f.Edit=1]="Edit",(p=e.TokenType||(e.TokenType={}))[p.Aad=0]="Aad",p[p.Embed=1]="Embed",(c=e.ContrastMode||(e.ContrastMode={}))[c.None=0]="None",c[c.HighContrast1=1]="HighContrast1",c[c.HighContrast2=2]="HighContrast2",c[c.HighContrastBlack=3]="HighContrastBlack",c[c.HighContrastWhite=4]="HighContrastWhite",(d=e.MenuLocation||(e.MenuLocation={}))[d.Bottom=0]="Bottom",d[d.Top=1]="Top",(u=e.FiltersOperations||(e.FiltersOperations={}))[u.RemoveAll=0]="RemoveAll",u[u.ReplaceAll=1]="ReplaceAll",u[u.Add=2]="Add",u[u.Replace=3]="Replace",(s=e.FiltersLevel||(e.FiltersLevel={}))[s.Report=0]="Report",s[s.Page=1]="Page",s[s.Visual=2]="Visual",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",t[t.Identity=8]="Identity",t[t.Hierarchy=9]="Hierarchy"}(o=e.FilterType||(e.FilterType={})),(l=e.RelativeDateFilterTimeUnit||(e.RelativeDateFilterTimeUnit={}))[l.Days=0]="Days",l[l.Weeks=1]="Weeks",l[l.CalendarWeeks=2]="CalendarWeeks",l[l.Months=3]="Months",l[l.CalendarMonths=4]="CalendarMonths",l[l.Years=5]="Years",l[l.CalendarYears=6]="CalendarYears",l[l.Minutes=7]="Minutes",l[l.Hours=8]="Hours",(n=e.RelativeDateOperators||(e.RelativeDateOperators={}))[n.InLast=0]="InLast",n[n.InThis=1]="InThis",n[n.InNext=2]="InNext";var _=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=_;var T=function(t){function e(r,i,a){var n=t.call(this,r,o.Unknown)||this;return n.message=i,n.notSupportedTypeName=a,n.schemaUrl=e.schemaUrl,n}return a(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}(_);e.NotSupportedFilter=T;var E=function(t){function e(r,i,a){var n=t.call(this,r,o.IncludeExclude)||this;return n.values=a,n.isExclude=i,n.schemaUrl=e.schemaUrl,n}return a(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}(_);e.IncludeExcludeFilter=E;var F=function(t){function e(r,i,a,n){var l=t.call(this,r,o.TopN)||this;return l.operator=i,l.itemCount=a,l.schemaUrl=e.schemaUrl,l.orderBy=n,l}return a(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}(_);e.TopNFilter=F;var C=function(t){function e(r,i,a,n,l){var s=t.call(this,r,o.RelativeDate)||this;return s.operator=i,s.timeUnitsCount=a,s.timeUnitType=n,s.includeToday=l,s.schemaUrl=e.schemaUrl,s}return a(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}(_);e.RelativeDateFilter=C;var R=function(t){function e(r,i,a,n){var l=t.call(this,r,o.RelativeTime)||this;return l.operator=i,l.timeUnitsCount=a,l.timeUnitType=n,l.schemaUrl=e.schemaUrl,l}return a(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}(_);e.RelativeTimeFilter=R;var k=function(t){function e(r,i){for(var a=[],n=2;n0&&!a)throw new Error("You should pass the values to be filtered for each key. You passed: no values and ".concat(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,s=o.keyValues;l2)throw new Error("AdvancedFilters may not have more than two conditions. You passed: ".concat(a.length));if(1===l.length&&"And"!==i)throw new Error('Logical Operator must be "And" when there is only one condition provided');return s.conditions=l,s}return a(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}(_);e.AdvancedFilter=M;var L,I,q,D,N,B,U,H=function(t){function e(r,i){var a=t.call(this,r,o.Hierarchy)||this;return a.schemaUrl=e.schemaUrl,a.hierarchyData=i,a}return a(e,t),e.prototype.toJSON=function(){var e=t.prototype.toJSON.call(this);return e.hierarchyData=this.hierarchyData,e.target=this.target,e},e.schemaUrl="http://powerbi.com/product/schema#hierarchy",e}(_);function W(t){if(t.filterType)return t.filterType;var e=t,r=t;return"string"==typeof e.operator&&Array.isArray(e.values)?o.Basic:"string"==typeof r.logicalOperator&&Array.isArray(r.conditions)?o.Advanced:o.Unknown}function z(t){return!(!t.table||!t.column||t.aggregationFunction)}e.HierarchyFilter=H,e.isFilterKeyColumnsTarget=function(t){return z(t)&&!!t.keys},e.isBasicFilterWithKeys=function(t){return W(t)===o.Basic&&!!t.keyValues},e.getFilterType=W,e.isMeasure=function(t){return void 0!==t.table&&void 0!==t.measure},e.isColumn=z,e.isHierarchyLevel=function(t){return!(!(t.table&&t.hierarchy&&t.hierarchyLevel)||t.aggregationFunction)},e.isHierarchyLevelAggr=function(t){return!!(t.table&&t.hierarchy&&t.hierarchyLevel&&t.aggregationFunction)},e.isColumnAggr=function(t){return!!(t.table&&t.column&&t.aggregationFunction)},e.isPercentOfGrandTotal=function(t){return!!t.percentOfGrandTotal},(U=e.CredentialType||(e.CredentialType={}))[U.NoConnection=0]="NoConnection",U[U.OnBehalfOf=1]="OnBehalfOf",U[U.Anonymous=2]="Anonymous",(B=e.DataCacheMode||(e.DataCacheMode={}))[B.Import=0]="Import",B[B.DirectQuery=1]="DirectQuery",(N=e.PageNavigationPosition||(e.PageNavigationPosition={}))[N.Bottom=0]="Bottom",N[N.Left=1]="Left",(D=e.QnaMode||(e.QnaMode={}))[D.Interactive=0]="Interactive",D[D.ResultOnly=1]="ResultOnly",(q=e.ExportDataType||(e.ExportDataType={}))[q.Summarized=0]="Summarized",q[q.Underlying=1]="Underlying",(I=e.BookmarksPlayMode||(e.BookmarksPlayMode={}))[I.Off=0]="Off",I[I.Presentation=1]="Presentation",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"},(L=e.SortDirection||(e.SortDirection={}))[L.Ascending=1]="Ascending",L[L.Descending=2]="Descending";var Q=function(){function t(t){this.$schema=t}return t.prototype.toJSON=function(){return{$schema:this.$schema}},t}();e.Selector=Q;var G=function(t){function e(r){var i=t.call(this,e.schemaUrl)||this;return i.pageName=r,i}return a(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}(Q);e.PageSelector=G;var J=function(t){function e(r){var i=t.call(this,e.schemaUrl)||this;return i.visualName=r,i}return a(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}(Q);e.VisualSelector=J;var K=function(t){function e(e){var r=t.call(this,J.schemaUrl)||this;return r.visualType=e,r}return a(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}(Q);e.VisualTypeSelector=K;var Y,$,Z,X=function(t){function e(e){var r=t.call(this,J.schemaUrl)||this;return r.target=e,r}return a(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}(Q);function tt(t){return Array.isArray(t)}function et(t){return t&&!!t.groupName}function rt(t){return Array.isArray(t)}function it(t){var e=t.message;return e||(e="".concat(t.path," is invalid. Not meeting ").concat(t.keyword," constraint")),{message:e}}e.SlicerTargetSelector=X,(Z=e.CommandDisplayOption||(e.CommandDisplayOption={}))[Z.Enabled=0]="Enabled",Z[Z.Disabled=1]="Disabled",Z[Z.Hidden=2]="Hidden",($=e.VisualDataRoleKind||(e.VisualDataRoleKind={}))[$.Grouping=0]="Grouping",$[$.Measure=1]="Measure",$[$.GroupingOrMeasure=2]="GroupingOrMeasure",(Y=e.VisualDataRoleKindPreference||(e.VisualDataRoleKindPreference={}))[Y.Measure=0]="Measure",Y[Y.Grouping=1]="Grouping",e.isOnLoadFilters=function(t){return t&&!tt(t)},e.isReportFiltersArray=tt,e.isFlatMenuExtension=function(t){return t&&!et(t)},e.isGroupedMenuExtension=et,e.isIExtensions=function(t){return t&&!rt(t)},e.isIExtensionArray=rt,e.validateVisualSelector=function(t){var e=O.Validators.visualSelectorValidator.validate(t);return e?e.map(it):void 0},e.validateSlicer=function(t){var e=O.Validators.slicerValidator.validate(t);return e?e.map(it):void 0},e.validateSlicerState=function(t){var e=O.Validators.slicerStateValidator.validate(t);return e?e.map(it):void 0},e.validatePlayBookmarkRequest=function(t){var e=O.Validators.playBookmarkRequestValidator.validate(t);return e?e.map(it):void 0},e.validateAddBookmarkRequest=function(t){var e=O.Validators.addBookmarkRequestValidator.validate(t);return e?e.map(it):void 0},e.validateApplyBookmarkByNameRequest=function(t){var e=O.Validators.applyBookmarkByNameRequestValidator.validate(t);return e?e.map(it):void 0},e.validateApplyBookmarkStateRequest=function(t){var e=O.Validators.applyBookmarkStateRequestValidator.validate(t);return e?e.map(it):void 0},e.validateCaptureBookmarkRequest=function(t){var e=O.Validators.captureBookmarkRequestValidator.validate(t);return e?e.map(it):void 0},e.validateSettings=function(t){var e=O.Validators.settingsValidator.validate(t);return e?e.map(it):void 0},e.validatePanes=function(t){var e=O.Validators.reportPanesValidator.validate(t);return e?e.map(it):void 0},e.validateBookmarksPane=function(t){var e=O.Validators.bookmarksPaneValidator.validate(t);return e?e.map(it):void 0},e.validateFiltersPane=function(t){var e=O.Validators.filtersPaneValidator.validate(t);return e?e.map(it):void 0},e.validateFieldsPane=function(t){var e=O.Validators.fieldsPaneValidator.validate(t);return e?e.map(it):void 0},e.validatePageNavigationPane=function(t){var e=O.Validators.pageNavigationPaneValidator.validate(t);return e?e.map(it):void 0},e.validateSelectionPane=function(t){var e=O.Validators.selectionPaneValidator.validate(t);return e?e.map(it):void 0},e.validateSyncSlicersPane=function(t){var e=O.Validators.syncSlicersPaneValidator.validate(t);return e?e.map(it):void 0},e.validateVisualizationsPane=function(t){var e=O.Validators.visualizationsPaneValidator.validate(t);return e?e.map(it):void 0},e.validateCustomPageSize=function(t){var e=O.Validators.customPageSizeValidator.validate(t);return e?e.map(it):void 0},e.validateExtension=function(t){var e=O.Validators.extensionValidator.validate(t);return e?e.map(it):void 0},e.validateMenuGroupExtension=function(t){var e=O.Validators.menuGroupExtensionValidator.validate(t);return e?e.map(it):void 0},e.validateReportLoad=function(t){var e=O.Validators.reportLoadValidator.validate(t);return e?e.map(it):void 0},e.validatePaginatedReportLoad=function(t){var e=O.Validators.paginatedReportLoadValidator.validate(t);return e?e.map(it):void 0},e.validateCreateReport=function(t){var e=O.Validators.reportCreateValidator.validate(t);return e?e.map(it):void 0},e.validateQuickCreate=function(t){var e=O.Validators.quickCreateValidator.validate(t);return e?e.map(it):void 0},e.validateDashboardLoad=function(t){var e=O.Validators.dashboardLoadValidator.validate(t);return e?e.map(it):void 0},e.validateTileLoad=function(t){var e=O.Validators.tileLoadValidator.validate(t);return e?e.map(it):void 0},e.validatePage=function(t){var e=O.Validators.pageValidator.validate(t);return e?e.map(it):void 0},e.validateFilter=function(t){var e=O.Validators.filterValidator.validate(t);return e?e.map(it):void 0},e.validateUpdateFiltersRequest=function(t){var e=O.Validators.updateFiltersRequestValidator.validate(t);return e?e.map(it):void 0},e.validateSaveAsParameters=function(t){var e=O.Validators.saveAsParametersValidator.validate(t);return e?e.map(it):void 0},e.validateLoadQnaConfiguration=function(t){var e=O.Validators.loadQnaValidator.validate(t);return e?e.map(it):void 0},e.validateQnaInterpretInputData=function(t){var e=O.Validators.qnaInterpretInputDataValidator.validate(t);return e?e.map(it):void 0},e.validateExportDataRequest=function(t){var e=O.Validators.exportDataRequestValidator.validate(t);return e?e.map(it):void 0},e.validateVisualHeader=function(t){var e=O.Validators.visualHeaderValidator.validate(t);return e?e.map(it):void 0},e.validateVisualSettings=function(t){var e=O.Validators.visualSettingsValidator.validate(t);return e?e.map(it):void 0},e.validateCommandsSettings=function(t){var e=O.Validators.commandsSettingsValidator.validate(t);return e?e.map(it):void 0},e.validateCustomTheme=function(t){var e=O.Validators.customThemeValidator.validate(t);return e?e.map(it):void 0},e.validateZoomLevel=function(t){var e=O.Validators.zoomLevelValidator.validate(t);return e?e.map(it):void 0}},(t,e,r)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.Validators=void 0;var i=r(2),a=r(5),o=r(6),n=r(7),l=r(8),s=r(9),u=r(10),d=r(11),c=r(12),p=r(13),f=r(14),h=r(15),v=r(16),y=r(17),m=r(18),V=r(19),g=r(20),b=r(21),w=r(22),P=r(23),S=r(24),O=r(25),_=r(26),T=r(27),E=r(28),F=r(29),C=r(4),R=r(30),k=r(31),x=r(32);e.Validators={addBookmarkRequestValidator:new a.AddBookmarkRequestValidator,advancedFilterTypeValidator:new C.EnumValidator([0]),advancedFilterValidator:new c.AdvancedFilterValidator,anyArrayValidator:new C.ArrayValidator([new _.AnyOfValidator([new C.StringValidator,new C.NumberValidator,new C.BooleanValidator])]),anyFilterValidator:new _.AnyOfValidator([new c.BasicFilterValidator,new c.AdvancedFilterValidator,new c.IncludeExcludeFilterValidator,new c.NotSupportedFilterValidator,new c.RelativeDateFilterValidator,new c.TopNFilterValidator,new c.RelativeTimeFilterValidator,new c.HierarchyFilterValidator]),anyValueValidator:new _.AnyOfValidator([new C.StringValidator,new C.NumberValidator,new C.BooleanValidator]),actionBarValidator:new i.ActionBarValidator,statusBarValidator:new i.StatusBarValidator,applyBookmarkByNameRequestValidator:new a.ApplyBookmarkByNameRequestValidator,applyBookmarkStateRequestValidator:new a.ApplyBookmarkStateRequestValidator,applyBookmarkValidator:new _.AnyOfValidator([new a.ApplyBookmarkByNameRequestValidator,new a.ApplyBookmarkStateRequestValidator]),backgroundValidator:new C.EnumValidator([0,1]),basicFilterTypeValidator:new C.EnumValidator([1]),basicFilterValidator:new c.BasicFilterValidator,booleanArrayValidator:new C.BooleanArrayValidator,booleanValidator:new C.BooleanValidator,bookmarksPaneValidator:new h.BookmarksPaneValidator,captureBookmarkOptionsValidator:new a.CaptureBookmarkOptionsValidator,captureBookmarkRequestValidator:new a.CaptureBookmarkRequestValidator,columnSchemaArrayValidator:new C.ArrayValidator([new k.ColumnSchemaValidator]),commandDisplayOptionValidator:new C.EnumValidator([0,1,2]),commandExtensionSelectorValidator:new _.AnyOfValidator([new b.VisualSelectorValidator,new b.VisualTypeSelectorValidator]),commandExtensionArrayValidator:new C.ArrayValidator([new d.CommandExtensionValidator]),commandExtensionValidator:new d.CommandExtensionValidator,commandsSettingsArrayValidator:new C.ArrayValidator([new o.CommandsSettingsValidator]),commandsSettingsValidator:new o.CommandsSettingsValidator,conditionItemValidator:new c.ConditionItemValidator,contrastModeValidator:new C.EnumValidator([0,1,2,3,4]),credentialDetailsValidator:new F.MapValidator([new C.StringValidator],[new C.StringValidator]),credentialsValidator:new k.CredentialsValidator,credentialTypeValidator:new C.EnumValidator([0,1,2]),customLayoutDisplayOptionValidator:new C.EnumValidator([0,1,2]),customLayoutValidator:new p.CustomLayoutValidator,customPageSizeValidator:new f.CustomPageSizeValidator,customThemeValidator:new n.CustomThemeValidator,dashboardLoadValidator:new l.DashboardLoadValidator,dataCacheModeValidator:new C.EnumValidator([0,1]),datasetBindingValidator:new s.DatasetBindingValidator,datasetCreateConfigValidator:new k.DatasetCreateConfigValidator,datasourceConnectionConfigValidator:new k.DatasourceConnectionConfigValidator,displayStateModeValidator:new C.EnumValidator([0,1]),displayStateValidator:new p.DisplayStateValidator,exportDataRequestValidator:new u.ExportDataRequestValidator,extensionArrayValidator:new C.ArrayValidator([new d.ExtensionValidator]),extensionsValidator:new _.AnyOfValidator([new C.ArrayValidator([new d.ExtensionValidator]),new d.ExtensionsValidator]),extensionPointsValidator:new d.ExtensionPointsValidator,extensionValidator:new d.ExtensionValidator,fieldForbiddenValidator:new T.FieldForbiddenValidator,fieldRequiredValidator:new E.FieldRequiredValidator,fieldsPaneValidator:new h.FieldsPaneValidator,filterColumnTargetValidator:new c.FilterColumnTargetValidator,filterDisplaySettingsValidator:new c.FilterDisplaySettingsValidator,filterConditionsValidator:new C.ArrayValidator([new c.ConditionItemValidator]),filterHierarchyTargetValidator:new c.FilterHierarchyTargetValidator,filterMeasureTargetValidator:new c.FilterMeasureTargetValidator,filterTargetValidator:new _.AnyOfValidator([new c.FilterColumnTargetValidator,new c.FilterHierarchyTargetValidator,new c.FilterMeasureTargetValidator,new C.ArrayValidator([new _.AnyOfValidator([new c.FilterColumnTargetValidator,new c.FilterHierarchyTargetValidator,new c.FilterMeasureTargetValidator,new c.FilterKeyColumnsTargetValidator,new c.FilterKeyHierarchyTargetValidator])])]),filterValidator:new c.FilterValidator,filterTypeValidator:new C.EnumValidator([0,1,2,3,4,5,6,7,9]),filtersArrayValidator:new C.ArrayValidator([new c.FilterValidator]),filtersOperationsUpdateValidator:new C.EnumValidator([1,2,3]),filtersOperationsRemoveAllValidator:new C.EnumValidator([0]),filtersPaneValidator:new h.FiltersPaneValidator,hyperlinkClickBehaviorValidator:new C.EnumValidator([0,1,2]),includeExcludeFilterValidator:new c.IncludeExcludeFilterValidator,includeExludeFilterTypeValidator:new C.EnumValidator([3]),hierarchyFilterTypeValidator:new C.EnumValidator([9]),hierarchyFilterValuesValidator:new C.ArrayValidator([new c.HierarchyFilterNodeValidator]),layoutTypeValidator:new C.EnumValidator([0,1,2,3]),loadQnaValidator:new v.LoadQnaValidator,menuExtensionValidator:new _.AnyOfValidator([new d.FlatMenuExtensionValidator,new d.GroupedMenuExtensionValidator]),menuGroupExtensionArrayValidator:new C.ArrayValidator([new d.MenuGroupExtensionValidator]),menuGroupExtensionValidator:new d.MenuGroupExtensionValidator,menuLocationValidator:new C.EnumValidator([0,1]),notSupportedFilterTypeValidator:new C.EnumValidator([2]),notSupportedFilterValidator:new c.NotSupportedFilterValidator,numberArrayValidator:new C.NumberArrayValidator,numberValidator:new C.NumberValidator,onLoadFiltersBaseValidator:new _.AnyOfValidator([new c.OnLoadFiltersBaseValidator,new c.OnLoadFiltersBaseRemoveOperationValidator]),pageLayoutValidator:new F.MapValidator([new C.StringValidator],[new p.VisualLayoutValidator]),pageNavigationPaneValidator:new h.PageNavigationPaneValidator,pageNavigationPositionValidator:new C.EnumValidator([0,1]),pageSizeTypeValidator:new C.EnumValidator([0,1,2,3,4,5]),pageSizeValidator:new f.PageSizeValidator,pageValidator:new f.PageValidator,pageViewFieldValidator:new f.PageViewFieldValidator,pagesLayoutValidator:new F.MapValidator([new C.StringValidator],[new p.PageLayoutValidator]),paginatedReportCommandsValidator:new o.PaginatedReportCommandsValidator,paginatedReportLoadValidator:new V.PaginatedReportLoadValidator,paginatedReportsettingsValidator:new w.PaginatedReportSettingsValidator,parameterValuesArrayValidator:new C.ArrayValidator([new V.ReportParameterFieldsValidator]),parametersPanelValidator:new R.ParametersPanelValidator,permissionsValidator:new C.EnumValidator([0,1,2,4,7]),playBookmarkRequestValidator:new a.PlayBookmarkRequestValidator,qnaInterpretInputDataValidator:new v.QnaInterpretInputDataValidator,qnaPanesValidator:new h.QnaPanesValidator,qnaSettingValidator:new v.QnaSettingsValidator,quickCreateValidator:new x.QuickCreateValidator,rawDataValidator:new C.ArrayValidator([new C.ArrayValidator([new C.StringValidator])]),relativeDateFilterOperatorValidator:new C.EnumValidator([0,1,2]),relativeDateFilterTimeUnitTypeValidator:new C.EnumValidator([0,1,2,3,4,5,6]),relativeDateFilterTypeValidator:new C.EnumValidator([4]),relativeDateFilterValidator:new c.RelativeDateFilterValidator,relativeDateTimeFilterTypeValidator:new C.EnumValidator([4,7]),relativeDateTimeFilterUnitTypeValidator:new C.EnumValidator([0,1,2,3,4,5,6,7,8]),relativeTimeFilterTimeUnitTypeValidator:new C.EnumValidator([7,8]),relativeTimeFilterTypeValidator:new C.EnumValidator([7]),relativeTimeFilterValidator:new c.RelativeTimeFilterValidator,reportBarsValidator:new i.ReportBarsValidator,reportCreateValidator:new y.ReportCreateValidator,reportLoadFiltersValidator:new _.AnyOfValidator([new C.ArrayValidator([new c.FilterValidator]),new c.OnLoadFiltersValidator]),reportLoadValidator:new m.ReportLoadValidator,reportPanesValidator:new h.ReportPanesValidator,saveAsParametersValidator:new g.SaveAsParametersValidator,selectionPaneValidator:new h.SelectionPaneValidator,settingsValidator:new w.SettingsValidator,singleCommandSettingsValidator:new o.SingleCommandSettingsValidator,slicerSelectorValidator:new _.AnyOfValidator([new b.VisualSelectorValidator,new b.SlicerTargetSelectorValidator]),slicerStateValidator:new P.SlicerStateValidator,slicerTargetValidator:new _.AnyOfValidator([new c.FilterColumnTargetValidator,new c.FilterHierarchyTargetValidator,new c.FilterMeasureTargetValidator,new c.FilterKeyColumnsTargetValidator,new c.FilterKeyHierarchyTargetValidator]),slicerValidator:new P.SlicerValidator,stringArrayValidator:new C.StringArrayValidator,stringValidator:new C.StringValidator,syncSlicersPaneValidator:new h.SyncSlicersPaneValidator,tableDataArrayValidator:new C.ArrayValidator([new k.TableDataValidator]),tableSchemaListValidator:new C.ArrayValidator([new k.TableSchemaValidator]),tileLoadValidator:new S.TileLoadValidator,tokenTypeValidator:new C.EnumValidator([0,1]),topNFilterTypeValidator:new C.EnumValidator([5]),topNFilterValidator:new c.TopNFilterValidator,updateFiltersRequestValidator:new _.AnyOfValidator([new c.UpdateFiltersRequestValidator,new c.RemoveFiltersRequestValidator]),viewModeValidator:new C.EnumValidator([0,1]),visualCommandSelectorValidator:new _.AnyOfValidator([new b.VisualSelectorValidator,new b.VisualTypeSelectorValidator]),visualHeaderSelectorValidator:new _.AnyOfValidator([new b.VisualSelectorValidator,new b.VisualTypeSelectorValidator]),visualHeaderSettingsValidator:new O.VisualHeaderSettingsValidator,visualHeaderValidator:new O.VisualHeaderValidator,visualHeadersValidator:new C.ArrayValidator([new O.VisualHeaderValidator]),visualizationsPaneValidator:new h.VisualizationsPaneValidator,visualLayoutValidator:new p.VisualLayoutValidator,visualSelectorValidator:new b.VisualSelectorValidator,visualSettingsValidator:new O.VisualSettingsValidator,visualTypeSelectorValidator:new b.VisualTypeSelectorValidator,zoomLevelValidator:new C.RangeValidator(.25,4)}},function(t,e,r){var i,a=this&&this.__extends||(i=function(t,e){return i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},i(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.StatusBarValidator=e.ActionBarValidator=e.ReportBarsValidator=void 0;var o=r(3),n=r(4),l=r(1),s=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return a(e,t),e.prototype.validate=function(e,r,i){if(null==e)return null;var a=t.prototype.validate.call(this,e,r,i);if(a)return a;var n=[{field:"actionBar",validators:[l.Validators.actionBarValidator]},{field:"statusBar",validators:[l.Validators.statusBarValidator]}];return new o.MultipleFieldsValidator(n).validate(e,r,i)},e}(n.ObjectValidator);e.ReportBarsValidator=s;var u=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return a(e,t),e.prototype.validate=function(e,r,i){if(null==e)return null;var a=t.prototype.validate.call(this,e,r,i);if(a)return a;var n=[{field:"visible",validators:[l.Validators.booleanValidator]}];return new o.MultipleFieldsValidator(n).validate(e,r,i)},e}(n.ObjectValidator);e.ActionBarValidator=u;var d=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return a(e,t),e.prototype.validate=function(e,r,i){if(null==e)return null;var a=t.prototype.validate.call(this,e,r,i);if(a)return a;var n=[{field:"visible",validators:[l.Validators.booleanValidator]}];return new o.MultipleFieldsValidator(n).validate(e,r,i)},e}(n.ObjectValidator);e.StatusBarValidator=d},(t,e)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.MultipleFieldsValidator=void 0;var r=function(){function t(t){this.fieldValidatorsPairs=t}return t.prototype.validate=function(t,e,r){if(!this.fieldValidatorsPairs)return null;for(var i=e?e+"."+r:r,a=0,o=this.fieldValidatorsPairs;athis.maxValue||e{Object.defineProperty(e,"__esModule",{value:!0}),e.AnyOfValidator=void 0;var r=function(){function t(t){this.validators=t}return t.prototype.validate=function(t,e,r){if(null==t)return null;for(var i=!1,a=0,o=this.validators;a{Object.defineProperty(e,"__esModule",{value:!0}),e.FieldForbiddenValidator=void 0;var r=function(){function t(){}return t.prototype.validate=function(t,e,r){return void 0!==t?[{message:r+" is forbidden",path:(e?e+".":"")+r,keyword:"forbidden"}]:null},t}();e.FieldForbiddenValidator=r},(t,e)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.FieldRequiredValidator=void 0;var r=function(){function t(){}return t.prototype.validate=function(t,e,r){return null==t?[{message:r+" is required",path:(e?e+".":"")+r,keyword:"required"}]:null},t}();e.FieldRequiredValidator=r},function(t,e,r){var i,a=this&&this.__extends||(i=function(t,e){return i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},i(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.MapValidator=void 0;var o=function(t){function e(e,r){var i=t.call(this)||this;return i.keyValidators=e,i.valueValidators=r,i}return a(e,t),e.prototype.validate=function(e,r,i){if(null==e)return null;var a=t.prototype.validate.call(this,e,r,i);if(a)return a;for(var o in e)if(e.hasOwnProperty(o)){for(var n=(r?r+".":"")+i+"."+o,l=0,s=this.keyValidators;l2&&"[]"===n.slice(l-2)&&(s=!0,r[n=n.slice(0,l-2)]||(r[n]=[])),a=o[1]?g(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(-1!==(i=t.indexOf("?"))){var l=t.substr(i+1,t.length);t=t.substr(0,i),o=this.parseQueryString(l)}for("/"!==(t=decodeURI(t)).charAt(0)&&(t="/"+t),(e=t.length)>1&&"/"===t.charAt(e-1)&&(t=t.substr(0,e-1),n=!0),r=0;r{Object.defineProperty(e,"__esModule",{value:!0}),e.FilterBuilder=void 0;var r=function(){function t(){}return t.prototype.withTargetObject=function(t){return this.target=t,this},t.prototype.withColumnTarget=function(t,e){return this.target={table:t,column:e},this},t.prototype.withMeasureTarget=function(t,e){return this.target={table:t,measure:e},this},t.prototype.withHierarchyLevelTarget=function(t,e,r){return this.target={table:t,hierarchy:e,hierarchyLevel:r},this},t.prototype.withColumnAggregation=function(t,e,r){return this.target={table:t,column:e,aggregationFunction:r},this},t.prototype.withHierarchyLevelAggregationTarget=function(t,e,r,i){return this.target={table:t,hierarchy:e,hierarchyLevel:r,aggregationFunction:i},this},t}();e.FilterBuilder=r},567:(t,e,r)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.RelativeTimeFilterBuilder=e.RelativeDateFilterBuilder=e.TopNFilterBuilder=e.AdvancedFilterBuilder=e.BasicFilterBuilder=void 0;var i=r(153);Object.defineProperty(e,"BasicFilterBuilder",{enumerable:!0,get:function(){return i.BasicFilterBuilder}});var a=r(674);Object.defineProperty(e,"AdvancedFilterBuilder",{enumerable:!0,get:function(){return a.AdvancedFilterBuilder}});var o=r(664);Object.defineProperty(e,"TopNFilterBuilder",{enumerable:!0,get:function(){return o.TopNFilterBuilder}});var n=r(844);Object.defineProperty(e,"RelativeDateFilterBuilder",{enumerable:!0,get:function(){return n.RelativeDateFilterBuilder}});var l=r(275);Object.defineProperty(e,"RelativeTimeFilterBuilder",{enumerable:!0,get:function(){return l.RelativeTimeFilterBuilder}})},844:function(t,e,r){var i,a=this&&this.__extends||(i=function(t,e){return i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},i(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.RelativeDateFilterBuilder=void 0;var o=r(149),n=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.isTodayIncluded=!0,e}return a(e,t),e.prototype.inLast=function(t,e){return this.operator=o.RelativeDateOperators.InLast,this.timeUnitsCount=t,this.timeUnitType=e,this},e.prototype.inThis=function(t,e){return this.operator=o.RelativeDateOperators.InThis,this.timeUnitsCount=t,this.timeUnitType=e,this},e.prototype.inNext=function(t,e){return this.operator=o.RelativeDateOperators.InNext,this.timeUnitsCount=t,this.timeUnitType=e,this},e.prototype.includeToday=function(t){return this.isTodayIncluded=t,this},e.prototype.build=function(){return new o.RelativeDateFilter(this.target,this.operator,this.timeUnitsCount,this.timeUnitType,this.isTodayIncluded)},e}(r(277).FilterBuilder);e.RelativeDateFilterBuilder=n},275:function(t,e,r){var i,a=this&&this.__extends||(i=function(t,e){return i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},i(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.RelativeTimeFilterBuilder=void 0;var o=r(149),n=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return a(e,t),e.prototype.inLast=function(t,e){return this.operator=o.RelativeDateOperators.InLast,this.timeUnitsCount=t,this.timeUnitType=e,this},e.prototype.inThis=function(t,e){return this.operator=o.RelativeDateOperators.InThis,this.timeUnitsCount=t,this.timeUnitType=e,this},e.prototype.inNext=function(t,e){return this.operator=o.RelativeDateOperators.InNext,this.timeUnitsCount=t,this.timeUnitType=e,this},e.prototype.build=function(){return new o.RelativeTimeFilter(this.target,this.operator,this.timeUnitsCount,this.timeUnitType)},e}(r(277).FilterBuilder);e.RelativeTimeFilterBuilder=n},664:function(t,e,r){var i,a=this&&this.__extends||(i=function(t,e){return i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},i(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.TopNFilterBuilder=void 0;var o=r(149),n=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return a(e,t),e.prototype.top=function(t){return this.operator="Top",this.itemCount=t,this},e.prototype.bottom=function(t){return this.operator="Bottom",this.itemCount=t,this},e.prototype.orderByTarget=function(t){return this.orderByTargetValue=t,this},e.prototype.build=function(){return new o.TopNFilter(this.target,this.operator,this.itemCount,this.orderByTargetValue)},e}(r(277).FilterBuilder);e.TopNFilterBuilder=n},460:function(t,e,r){var i=this&&this.__awaiter||function(t,e,r,i){return new(r||(r=Promise))((function(a,o){function n(t){try{s(i.next(t))}catch(t){o(t)}}function l(t){try{s(i.throw(t))}catch(t){o(t)}}function s(t){var e;t.done?a(t.value):(e=t.value,e instanceof r?e:new r((function(t){t(e)}))).then(n,l)}s((i=i.apply(t,e||[])).next())}))},a=this&&this.__generator||function(t,e){var r,i,a,o,n={label:0,sent:function(){if(1&a[0])throw a[1];return a[1]},trys:[],ops:[]};return o={next:l(0),throw:l(1),return:l(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function l(o){return function(l){return function(o){if(r)throw new TypeError("Generator is already executing.");for(;n;)try{if(r=1,i&&(a=2&o[0]?i.return:o[0]?i.throw||((a=i.return)&&a.call(i),0):i.next)&&!(a=a.call(i,o[1])).done)return a;switch(i=0,a&&(o=[2&o[0],a.value]),o[0]){case 0:case 1:a=o;break;case 4:return n.label++,{value:o[1],done:!1};case 5:n.label++,i=o[1],o=[0];continue;case 7:o=n.ops.pop(),n.trys.pop();continue;default:if(!((a=(a=n.trys).length>0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]{Object.defineProperty(e,"__esModule",{value:!0}),e.default={version:"2.22.2",type:"js"}},536:function(t,e,r){var i,a=this&&this.__extends||(i=function(t,e){return i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},i(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}),o=this&&this.__awaiter||function(t,e,r,i){return new(r||(r=Promise))((function(a,o){function n(t){try{s(i.next(t))}catch(t){o(t)}}function l(t){try{s(i.throw(t))}catch(t){o(t)}}function s(t){var e;t.done?a(t.value):(e=t.value,e instanceof r?e:new r((function(t){t(e)}))).then(n,l)}s((i=i.apply(t,e||[])).next())}))},n=this&&this.__generator||function(t,e){var r,i,a,o,n={label:0,sent:function(){if(1&a[0])throw a[1];return a[1]},trys:[],ops:[]};return o={next:l(0),throw:l(1),return:l(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function l(o){return function(l){return function(o){if(r)throw new TypeError("Generator is already executing.");for(;n;)try{if(r=1,i&&(a=2&o[0]?i.return:o[0]?i.throw||((a=i.return)&&a.call(i),0):i.next)&&!(a=a.call(i,o[1])).done)return a;switch(i=0,a&&(o=[2&o[0],a.value]),o[0]){case 0:case 1:a=o;break;case 4:return n.label++,{value:o[1],done:!1};case 5:n.label++,i=o[1],o=[0];continue;case 7:o=n.ops.pop(),n.trys.pop();continue;default:if(!((a=(a=n.trys).length>0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]{Object.defineProperty(e,"__esModule",{value:!0}),e.EmbedUrlNotSupported=e.APINotSupportedForRDLError=void 0,e.APINotSupportedForRDLError="This API is currently not supported for RDL reports",e.EmbedUrlNotSupported="Embed URL is invalid for this scenario. Please use Power BI REST APIs to get the valid URL"},357:(t,e,r)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.routerFactory=e.wpmpFactory=e.hpmFactory=void 0;var i=r(903),a=r(615),o=r(891),n=r(913);e.hpmFactory=function(t,e,r,i,o){return void 0===r&&(r=n.default.version),void 0===i&&(i=n.default.type),new a.HttpPostMessage(t,{"x-sdk-type":i,"x-sdk-version":r,"x-sdk-wrapper-version":o},e)},e.wpmpFactory=function(t,e,r){return new i.WindowPostMessageProxy({processTrackingProperties:{addTrackingProperties:a.HttpPostMessage.addTrackingProperties,getTrackingProperties:a.HttpPostMessage.getTrackingProperties},isErrorMessage:a.HttpPostMessage.isErrorMessage,suppressWarnings:!0,name:t,logMessages:e,eventSourceOverrideWindow:r})},e.routerFactory=function(t){return new o.Router(t)}},220:function(t,e,r){var i=this&&this.__awaiter||function(t,e,r,i){return new(r||(r=Promise))((function(a,o){function n(t){try{s(i.next(t))}catch(t){o(t)}}function l(t){try{s(i.throw(t))}catch(t){o(t)}}function s(t){var e;t.done?a(t.value):(e=t.value,e instanceof r?e:new r((function(t){t(e)}))).then(n,l)}s((i=i.apply(t,e||[])).next())}))},a=this&&this.__generator||function(t,e){var r,i,a,o,n={label:0,sent:function(){if(1&a[0])throw a[1];return a[1]},trys:[],ops:[]};return o={next:l(0),throw:l(1),return:l(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function l(o){return function(l){return function(o){if(r)throw new TypeError("Generator is already executing.");for(;n;)try{if(r=1,i&&(a=2&o[0]?i.return:o[0]?i.throw||((a=i.return)&&a.call(i),0):i.next)&&!(a=a.call(i,o[1])).done)return a;switch(i=0,a&&(o=[2&o[0],a.value]),o[0]){case 0:case 1:a=o;break;case 4:return n.label++,{value:o[1],done:!1};case 5:n.label++,i=o[1],o=[0];continue;case 7:o=n.ops.pop(),n.trys.pop();continue;default:if(!((a=(a=n.trys).length>0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0?"&":"?";return t+(i+e+"=")+r},e.isSavedInternal=function(t,e,a){return r(this,void 0,void 0,(function(){return i(this,(function(r){switch(r.label){case 0:return r.trys.push([0,2,,3]),[4,t.get("/report/hasUnsavedChanges",{uid:e},a)];case 1:return[2,!r.sent().body];case 2:throw r.sent().body;case 3:return[2]}}))}))},e.isRDLEmbed=function(t){return t&&t.toLowerCase().indexOf("/rdlembed?")>=0},e.autoAuthInEmbedUrl=function(t){return t&&decodeURIComponent(t).toLowerCase().indexOf("autoauth=true")>=0},e.getRandomValue=o,e.getTimeDiffInMilliseconds=function(t,e){return Math.abs(t.getTime()-e.getTime())},e.isCreate=function(t){return"create"===t||"quickcreate"===t}},23:function(t,e,r){var i,a=this&&this.__extends||(i=function(t,e){return i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},i(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}),o=this&&this.__awaiter||function(t,e,r,i){return new(r||(r=Promise))((function(a,o){function n(t){try{s(i.next(t))}catch(t){o(t)}}function l(t){try{s(i.throw(t))}catch(t){o(t)}}function s(t){var e;t.done?a(t.value):(e=t.value,e instanceof r?e:new r((function(t){t(e)}))).then(n,l)}s((i=i.apply(t,e||[])).next())}))},n=this&&this.__generator||function(t,e){var r,i,a,o,n={label:0,sent:function(){if(1&a[0])throw a[1];return a[1]},trys:[],ops:[]};return o={next:l(0),throw:l(1),return:l(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function l(o){return function(l){return function(o){if(r)throw new TypeError("Generator is already executing.");for(;n;)try{if(r=1,i&&(a=2&o[0]?i.return:o[0]?i.throw||((a=i.return)&&a.call(i),0):i.next)&&!(a=a.call(i,o[1])).done)return a;switch(i=0,a&&(o=[2&o[0],a.value]),o[0]){case 0:case 1:a=o;break;case 4:return n.label++,{value:o[1],done:!1};case 5:n.label++,i=o[1],o=[0];continue;case 7:o=n.ops.pop(),n.trys.pop();continue;default:if(!((a=(a=n.trys).length>0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]{var t=i;Object.defineProperty(t,"__esModule",{value:!0}),t.RelativeTimeFilterBuilder=t.RelativeDateFilterBuilder=t.TopNFilterBuilder=t.AdvancedFilterBuilder=t.BasicFilterBuilder=t.QuickCreate=t.VisualDescriptor=t.Visual=t.Qna=t.Page=t.Embed=t.Tile=t.Dashboard=t.Report=t.models=t.factories=t.service=void 0;var e=r(149);t.models=e;var a=r(562);t.service=a;var o=r(357);t.factories=o;var n=r(125);Object.defineProperty(t,"Report",{enumerable:!0,get:function(){return n.Report}});var l=r(365);Object.defineProperty(t,"Dashboard",{enumerable:!0,get:function(){return l.Dashboard}});var s=r(43);Object.defineProperty(t,"Tile",{enumerable:!0,get:function(){return s.Tile}});var u=r(932);Object.defineProperty(t,"Embed",{enumerable:!0,get:function(){return u.Embed}});var d=r(220);Object.defineProperty(t,"Page",{enumerable:!0,get:function(){return d.Page}});var c=r(148);Object.defineProperty(t,"Qna",{enumerable:!0,get:function(){return c.Qna}});var p=r(23);Object.defineProperty(t,"Visual",{enumerable:!0,get:function(){return p.Visual}});var f=r(558);Object.defineProperty(t,"VisualDescriptor",{enumerable:!0,get:function(){return f.VisualDescriptor}});var h=r(714);Object.defineProperty(t,"QuickCreate",{enumerable:!0,get:function(){return h.QuickCreate}});var v=r(567);Object.defineProperty(t,"BasicFilterBuilder",{enumerable:!0,get:function(){return v.BasicFilterBuilder}}),Object.defineProperty(t,"AdvancedFilterBuilder",{enumerable:!0,get:function(){return v.AdvancedFilterBuilder}}),Object.defineProperty(t,"TopNFilterBuilder",{enumerable:!0,get:function(){return v.TopNFilterBuilder}}),Object.defineProperty(t,"RelativeDateFilterBuilder",{enumerable:!0,get:function(){return v.RelativeDateFilterBuilder}}),Object.defineProperty(t,"RelativeTimeFilterBuilder",{enumerable:!0,get:function(){return v.RelativeTimeFilterBuilder}});var y=new a.Service(o.hpmFactory,o.wpmpFactory,o.routerFactory);window.powerbi&&window.powerBISDKGlobalServiceInstanceName?window[window.powerBISDKGlobalServiceInstanceName]=y:window.powerbi=y})(),i})())); \ No newline at end of file diff --git a/package.json b/package.json index 355c5eba..82d8514e 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "powerbi-client", - "version": "2.22.1", + "version": "2.22.2", "description": "JavaScript library for embedding Power BI into your apps. Provides service which makes it easy to embed different types of components and an object model which allows easy interaction with these components such as changing pages, applying filters, and responding to data selection.", "main": "dist/powerbi.js", "types": "dist/powerbi-client.d.ts", diff --git a/src/config.ts b/src/config.ts index 01ab2fa3..c9df6127 100644 --- a/src/config.ts +++ b/src/config.ts @@ -3,7 +3,7 @@ /** @ignore *//** */ const config = { - version: '2.22.1', + version: '2.22.2', type: 'js' }; From addc9bc2a79d564f3b13aa586672e5824f852c11 Mon Sep 17 00:00:00 2001 From: Or Shemesh <38721429+orshemesh16@users.noreply.github.com> Date: Tue, 31 Jan 2023 13:08:10 +0200 Subject: [PATCH 110/125] Update .gitignore --- .gitignore | 1 - 1 file changed, 1 deletion(-) diff --git a/.gitignore b/.gitignore index fb3bfaa4..10454d6f 100644 --- a/.gitignore +++ b/.gitignore @@ -11,4 +11,3 @@ package-lock.json demo/package-lock.json .vscode owners.txt -dist/powerbi.js.LICENSE.min.txt From 7a11e9649dee32fa2db60548ec9d1dba64180ff6 Mon Sep 17 00:00:00 2001 From: Kotana Sai Date: Mon, 24 Apr 2023 11:28:22 +0000 Subject: [PATCH 111/125] Merged PR 383914: [JavaScript SDK]: Add Create export in the JavaScript SDK **Issue:** `powerbi-client` library has no exported member `Create` ![image.png](https://dev.azure.com/powerbi/4c7b5adb-c2d0-4f18-b23c-edc4ac30f4e1/_apis/git/repositories/1dd63332-e003-46a3-ac6f-70213a1bcc2e/pullRequests/383914/attachments/image.png) **Changes in this PR:** 1. Added `Create` export from `create.ts` module in `powerbi-client.ts` file. ![image (2).png](https://dev.azure.com/powerbi/4c7b5adb-c2d0-4f18-b23c-edc4ac30f4e1/_apis/git/repositories/1dd63332-e003-46a3-ac6f-70213a1bcc2e/pullRequests/383914/attachments/image%20%282%29.png) Related work items: #1076058 --- src/embed.ts | 2 ++ src/powerbi-client.ts | 4 ++++ 2 files changed, 6 insertions(+) diff --git a/src/embed.ts b/src/embed.ts index 1d769492..744837cc 100644 --- a/src/embed.ts +++ b/src/embed.ts @@ -50,6 +50,8 @@ export type IQnaEmbedConfiguration = models.IQnaEmbedConfiguration; export type IQuickCreateConfiguration = models.IQuickCreateConfiguration; +export type IReportCreateConfiguration = models.IReportCreateConfiguration; + export type ILocaleSettings = models.ILocaleSettings; export type IQnaSettings = models.IQnaSettings; diff --git a/src/powerbi-client.ts b/src/powerbi-client.ts index a1b34a1a..df31f5e8 100644 --- a/src/powerbi-client.ts +++ b/src/powerbi-client.ts @@ -32,6 +32,7 @@ export { IDashboardEmbedConfiguration, ITileEmbedConfiguration, IQuickCreateConfiguration, + IReportCreateConfiguration, Embed, ILocaleSettings, IEmbedSettings, @@ -52,6 +53,9 @@ export { export { QuickCreate } from './quickCreate'; +export { + Create +} from './create'; export { BasicFilterBuilder, AdvancedFilterBuilder, From beb9496fb4eb472bd5b308d2d09c99f2e5fa748c Mon Sep 17 00:00:00 2001 From: May Hartov Date: Sun, 14 May 2023 10:33:37 +0000 Subject: [PATCH 112/125] Merged PR 395869: Minor version bump 2.22.3 Minor version bump 2.22.3 This release will contain 1 change: Pull Request 383914: [JavaScript SDK]: Add Create export in the JavaScript SDK We need to release the export of create interface so we can consume it in SDK wrppers --- dist/powerbi-client.d.ts | 6 +- dist/powerbi.js | 978 +++++++++++++++++++++------------------ dist/powerbi.min.js | 4 +- package.json | 2 +- src/config.ts | 2 +- 5 files changed, 537 insertions(+), 455 deletions(-) diff --git a/dist/powerbi-client.d.ts b/dist/powerbi-client.d.ts index 57993540..7524d46e 100644 --- a/dist/powerbi-client.d.ts +++ b/dist/powerbi-client.d.ts @@ -1,4 +1,4 @@ -// powerbi-client v2.22.2 +// powerbi-client v2.22.3 // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. declare module "config" { @@ -151,6 +151,7 @@ declare module "embed" { export type ITileEmbedConfiguration = models.ITileEmbedConfiguration; export type IQnaEmbedConfiguration = models.IQnaEmbedConfiguration; export type IQuickCreateConfiguration = models.IQuickCreateConfiguration; + export type IReportCreateConfiguration = models.IReportCreateConfiguration; export type ILocaleSettings = models.ILocaleSettings; export type IQnaSettings = models.IQnaSettings; export type IEmbedSettings = models.ISettings; @@ -2940,12 +2941,13 @@ declare module "powerbi-client" { export { Report } from "report"; export { Dashboard } from "dashboard"; export { Tile } from "tile"; - export { IEmbedConfiguration, IQnaEmbedConfiguration, IVisualEmbedConfiguration, IReportEmbedConfiguration, IDashboardEmbedConfiguration, ITileEmbedConfiguration, IQuickCreateConfiguration, Embed, ILocaleSettings, IEmbedSettings, IQnaSettings, } from "embed"; + export { IEmbedConfiguration, IQnaEmbedConfiguration, IVisualEmbedConfiguration, IReportEmbedConfiguration, IDashboardEmbedConfiguration, ITileEmbedConfiguration, IQuickCreateConfiguration, IReportCreateConfiguration, Embed, ILocaleSettings, IEmbedSettings, IQnaSettings, } from "embed"; export { Page } from "page"; export { Qna } from "qna"; export { Visual } from "visual"; export { VisualDescriptor } from "visualDescriptor"; export { QuickCreate } from "quickCreate"; + export { Create } from "create"; export { BasicFilterBuilder, AdvancedFilterBuilder, TopNFilterBuilder, RelativeDateFilterBuilder, RelativeTimeFilterBuilder } from "FilterBuilders/index"; global { interface Window { diff --git a/dist/powerbi.js b/dist/powerbi.js index cea00724..56ba7753 100644 --- a/dist/powerbi.js +++ b/dist/powerbi.js @@ -1,4 +1,4 @@ -// powerbi-client v2.22.2 +// powerbi-client v2.22.3 // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. (function webpackUniversalModuleDefinition(root, factory) { @@ -203,7 +203,7 @@ return /******/ (function(modules) { // webpackBootstrap \****************************************************/ /***/ (function(module) { -// powerbi-models v1.12.3 +// powerbi-models v1.12.6 // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. (function webpackUniversalModuleDefinition(root, factory) { @@ -234,9 +234,9 @@ var __extends = (this && this.__extends) || (function () { }; })(); Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.SortDirection = exports.LegendPosition = exports.TextAlignment = exports.CommonErrorCodes = exports.BookmarksPlayMode = exports.ExportDataType = exports.QnaMode = exports.PageNavigationPosition = exports.DataCacheMode = exports.CredentialType = exports.isPercentOfGrandTotal = exports.isColumnAggr = exports.isHierarchyLevelAggr = exports.isHierarchyLevel = exports.isColumn = exports.isMeasure = exports.getFilterType = exports.isBasicFilterWithKeys = exports.isFilterKeyColumnsTarget = exports.HierarchyFilter = exports.AdvancedFilter = exports.TupleFilter = exports.IdentityFilter = exports.BasicFilterWithKeys = exports.BasicFilter = exports.RelativeTimeFilter = exports.RelativeDateFilter = exports.TopNFilter = exports.IncludeExcludeFilter = exports.NotSupportedFilter = exports.Filter = exports.RelativeDateOperators = exports.RelativeDateFilterTimeUnit = exports.FilterType = exports.FiltersLevel = exports.FiltersOperations = exports.MenuLocation = exports.ContrastMode = exports.TokenType = exports.ViewMode = exports.Permissions = exports.SectionVisibility = exports.ReportAlignment = exports.HyperlinkClickBehavior = exports.LayoutType = exports.VisualContainerDisplayMode = exports.BackgroundType = exports.DisplayOption = exports.PageSizeType = exports.TraceType = void 0; -exports.validateCommandsSettings = exports.validateVisualSettings = exports.validateVisualHeader = exports.validateExportDataRequest = exports.validateQnaInterpretInputData = exports.validateLoadQnaConfiguration = exports.validateSaveAsParameters = exports.validateUpdateFiltersRequest = exports.validateFilter = exports.validatePage = exports.validateTileLoad = exports.validateDashboardLoad = exports.validateQuickCreate = exports.validateCreateReport = exports.validatePaginatedReportLoad = exports.validateReportLoad = exports.validateMenuGroupExtension = exports.validateExtension = exports.validateCustomPageSize = exports.validateVisualizationsPane = exports.validateSyncSlicersPane = exports.validateSelectionPane = exports.validatePageNavigationPane = exports.validateFieldsPane = exports.validateFiltersPane = exports.validateBookmarksPane = exports.validatePanes = exports.validateSettings = exports.validateCaptureBookmarkRequest = exports.validateApplyBookmarkStateRequest = exports.validateApplyBookmarkByNameRequest = exports.validateAddBookmarkRequest = exports.validatePlayBookmarkRequest = exports.validateSlicerState = exports.validateSlicer = exports.validateVisualSelector = exports.isIExtensionArray = exports.isIExtensions = exports.isGroupedMenuExtension = exports.isFlatMenuExtension = exports.isReportFiltersArray = exports.isOnLoadFilters = exports.VisualDataRoleKindPreference = exports.VisualDataRoleKind = exports.CommandDisplayOption = exports.SlicerTargetSelector = exports.VisualTypeSelector = exports.VisualSelector = exports.PageSelector = exports.Selector = void 0; -exports.validateZoomLevel = exports.validateCustomTheme = void 0; +exports.TextAlignment = exports.CommonErrorCodes = exports.BookmarksPlayMode = exports.ExportDataType = exports.QnaMode = exports.PageNavigationPosition = exports.BrowserPrintAdjustmentsMode = exports.AggregateFunction = exports.DataCacheMode = exports.CredentialType = exports.isPercentOfGrandTotal = exports.isColumnAggr = exports.isHierarchyLevelAggr = exports.isHierarchyLevel = exports.isColumn = exports.isMeasure = exports.getFilterType = exports.isBasicFilterWithKeys = exports.isFilterKeyColumnsTarget = exports.HierarchyFilter = exports.AdvancedFilter = exports.TupleFilter = exports.IdentityFilter = exports.BasicFilterWithKeys = exports.BasicFilter = exports.RelativeTimeFilter = exports.RelativeDateFilter = exports.TopNFilter = exports.IncludeExcludeFilter = exports.NotSupportedFilter = exports.Filter = exports.RelativeDateOperators = exports.RelativeDateFilterTimeUnit = exports.FilterType = exports.FiltersLevel = exports.FiltersOperations = exports.MenuLocation = exports.ContrastMode = exports.TokenType = exports.ViewMode = exports.Permissions = exports.SectionVisibility = exports.ReportAlignment = exports.HyperlinkClickBehavior = exports.LayoutType = exports.VisualContainerDisplayMode = exports.BackgroundType = exports.DisplayOption = exports.PageSizeType = exports.TraceType = void 0; +exports.validateVisualHeader = exports.validateExportDataRequest = exports.validateQnaInterpretInputData = exports.validateLoadQnaConfiguration = exports.validateSaveAsParameters = exports.validateUpdateFiltersRequest = exports.validateFilter = exports.validatePage = exports.validateTileLoad = exports.validateDashboardLoad = exports.validateQuickCreate = exports.validateCreateReport = exports.validatePaginatedReportLoad = exports.validateReportLoad = exports.validateMenuGroupExtension = exports.validateExtension = exports.validateCustomPageSize = exports.validateVisualizationsPane = exports.validateSyncSlicersPane = exports.validateSelectionPane = exports.validatePageNavigationPane = exports.validateFieldsPane = exports.validateFiltersPane = exports.validateBookmarksPane = exports.validatePanes = exports.validateSettings = exports.validateCaptureBookmarkRequest = exports.validateApplyBookmarkStateRequest = exports.validateApplyBookmarkByNameRequest = exports.validateAddBookmarkRequest = exports.validatePlayBookmarkRequest = exports.validateSlicerState = exports.validateSlicer = exports.validateVisualSelector = exports.isIExtensionArray = exports.isIExtensions = exports.isGroupedMenuExtension = exports.isFlatMenuExtension = exports.isReportFiltersArray = exports.isOnLoadFilters = exports.VisualDataRoleKindPreference = exports.VisualDataRoleKind = exports.CommandDisplayOption = exports.SlicerTargetSelector = exports.VisualTypeSelector = exports.VisualSelector = exports.PageSelector = exports.Selector = exports.SortDirection = exports.LegendPosition = void 0; +exports.validatePrintSettings = exports.validateZoomLevel = exports.validateCustomTheme = exports.validateCommandsSettings = exports.validateVisualSettings = void 0; var validator_1 = __nested_webpack_require_612__(1); var TraceType; (function (TraceType) { @@ -731,6 +731,22 @@ var DataCacheMode; DataCacheMode[DataCacheMode["Import"] = 0] = "Import"; DataCacheMode[DataCacheMode["DirectQuery"] = 1] = "DirectQuery"; })(DataCacheMode = exports.DataCacheMode || (exports.DataCacheMode = {})); +var AggregateFunction; +(function (AggregateFunction) { + AggregateFunction[AggregateFunction["Default"] = 1] = "Default"; + AggregateFunction[AggregateFunction["None"] = 2] = "None"; + AggregateFunction[AggregateFunction["Sum"] = 3] = "Sum"; + AggregateFunction[AggregateFunction["Min"] = 4] = "Min"; + AggregateFunction[AggregateFunction["Max"] = 5] = "Max"; + AggregateFunction[AggregateFunction["Count"] = 6] = "Count"; + AggregateFunction[AggregateFunction["Average"] = 7] = "Average"; + AggregateFunction[AggregateFunction["DistinctCount"] = 8] = "DistinctCount"; +})(AggregateFunction = exports.AggregateFunction || (exports.AggregateFunction = {})); +var BrowserPrintAdjustmentsMode; +(function (BrowserPrintAdjustmentsMode) { + BrowserPrintAdjustmentsMode[BrowserPrintAdjustmentsMode["Default"] = 0] = "Default"; + BrowserPrintAdjustmentsMode[BrowserPrintAdjustmentsMode["NoAdjustments"] = 1] = "NoAdjustments"; +})(BrowserPrintAdjustmentsMode = exports.BrowserPrintAdjustmentsMode || (exports.BrowserPrintAdjustmentsMode = {})); var PageNavigationPosition; (function (PageNavigationPosition) { PageNavigationPosition[PageNavigationPosition["Bottom"] = 0] = "Bottom"; @@ -1104,46 +1120,52 @@ function validateZoomLevel(input) { return errors ? errors.map(normalizeError) : undefined; } exports.validateZoomLevel = validateZoomLevel; +function validatePrintSettings(input) { + var errors = validator_1.Validators.printSettingsValidator.validate(input); + return errors ? errors.map(normalizeError) : undefined; +} +exports.validatePrintSettings = validatePrintSettings; /***/ }), /* 1 */ -/***/ ((__unused_webpack_module, exports, __nested_webpack_require_44757__) => { +/***/ ((__unused_webpack_module, exports, __nested_webpack_require_46167__) => { // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. Object.defineProperty(exports, "__esModule", ({ value: true })); exports.Validators = void 0; -var barsValidator_1 = __nested_webpack_require_44757__(2); -var bookmarkValidator_1 = __nested_webpack_require_44757__(5); -var commandsSettingsValidator_1 = __nested_webpack_require_44757__(6); -var customThemeValidator_1 = __nested_webpack_require_44757__(7); -var dashboardLoadValidator_1 = __nested_webpack_require_44757__(8); -var datasetBindingValidator_1 = __nested_webpack_require_44757__(9); -var exportDataValidator_1 = __nested_webpack_require_44757__(10); -var extensionsValidator_1 = __nested_webpack_require_44757__(11); -var filtersValidator_1 = __nested_webpack_require_44757__(12); -var layoutValidator_1 = __nested_webpack_require_44757__(13); -var pageValidator_1 = __nested_webpack_require_44757__(14); -var panesValidator_1 = __nested_webpack_require_44757__(15); -var qnaValidator_1 = __nested_webpack_require_44757__(16); -var reportCreateValidator_1 = __nested_webpack_require_44757__(17); -var reportLoadValidator_1 = __nested_webpack_require_44757__(18); -var paginatedReportLoadValidator_1 = __nested_webpack_require_44757__(19); -var saveAsParametersValidator_1 = __nested_webpack_require_44757__(20); -var selectorsValidator_1 = __nested_webpack_require_44757__(21); -var settingsValidator_1 = __nested_webpack_require_44757__(22); -var slicersValidator_1 = __nested_webpack_require_44757__(23); -var tileLoadValidator_1 = __nested_webpack_require_44757__(24); -var visualSettingsValidator_1 = __nested_webpack_require_44757__(25); -var anyOfValidator_1 = __nested_webpack_require_44757__(26); -var fieldForbiddenValidator_1 = __nested_webpack_require_44757__(27); -var fieldRequiredValidator_1 = __nested_webpack_require_44757__(28); -var mapValidator_1 = __nested_webpack_require_44757__(29); -var typeValidator_1 = __nested_webpack_require_44757__(4); -var parameterPanelValidator_1 = __nested_webpack_require_44757__(30); -var datasetCreateConfigValidator_1 = __nested_webpack_require_44757__(31); -var quickCreateValidator_1 = __nested_webpack_require_44757__(32); +var barsValidator_1 = __nested_webpack_require_46167__(2); +var bookmarkValidator_1 = __nested_webpack_require_46167__(5); +var commandsSettingsValidator_1 = __nested_webpack_require_46167__(6); +var customThemeValidator_1 = __nested_webpack_require_46167__(7); +var dashboardLoadValidator_1 = __nested_webpack_require_46167__(8); +var datasetBindingValidator_1 = __nested_webpack_require_46167__(9); +var exportDataValidator_1 = __nested_webpack_require_46167__(10); +var extensionsValidator_1 = __nested_webpack_require_46167__(11); +var filtersValidator_1 = __nested_webpack_require_46167__(12); +var layoutValidator_1 = __nested_webpack_require_46167__(13); +var pageValidator_1 = __nested_webpack_require_46167__(14); +var panesValidator_1 = __nested_webpack_require_46167__(15); +var qnaValidator_1 = __nested_webpack_require_46167__(16); +var reportCreateValidator_1 = __nested_webpack_require_46167__(17); +var reportLoadValidator_1 = __nested_webpack_require_46167__(18); +var paginatedReportLoadValidator_1 = __nested_webpack_require_46167__(19); +var saveAsParametersValidator_1 = __nested_webpack_require_46167__(20); +var selectorsValidator_1 = __nested_webpack_require_46167__(21); +var settingsValidator_1 = __nested_webpack_require_46167__(22); +var slicersValidator_1 = __nested_webpack_require_46167__(23); +var tileLoadValidator_1 = __nested_webpack_require_46167__(24); +var visualSettingsValidator_1 = __nested_webpack_require_46167__(25); +var anyOfValidator_1 = __nested_webpack_require_46167__(26); +var fieldForbiddenValidator_1 = __nested_webpack_require_46167__(27); +var fieldRequiredValidator_1 = __nested_webpack_require_46167__(28); +var mapValidator_1 = __nested_webpack_require_46167__(29); +var typeValidator_1 = __nested_webpack_require_46167__(4); +var parameterPanelValidator_1 = __nested_webpack_require_46167__(30); +var datasetCreateConfigValidator_1 = __nested_webpack_require_46167__(31); +var quickCreateValidator_1 = __nested_webpack_require_46167__(32); +var printSettingsValidator_1 = __nested_webpack_require_46167__(33); exports.Validators = { addBookmarkRequestValidator: new bookmarkValidator_1.AddBookmarkRequestValidator(), advancedFilterTypeValidator: new typeValidator_1.EnumValidator([0]), @@ -1238,6 +1260,7 @@ exports.Validators = { parametersPanelValidator: new parameterPanelValidator_1.ParametersPanelValidator(), permissionsValidator: new typeValidator_1.EnumValidator([0, 1, 2, 4, 7]), playBookmarkRequestValidator: new bookmarkValidator_1.PlayBookmarkRequestValidator(), + printSettingsValidator: new printSettingsValidator_1.PrintSettingsValidator(), qnaInterpretInputDataValidator: new qnaValidator_1.QnaInterpretInputDataValidator(), qnaPanesValidator: new panesValidator_1.QnaPanesValidator(), qnaSettingValidator: new qnaValidator_1.QnaSettingsValidator(), @@ -1292,7 +1315,7 @@ exports.Validators = { /***/ }), /* 2 */ -/***/ (function(__unused_webpack_module, exports, __nested_webpack_require_61501__) { +/***/ (function(__unused_webpack_module, exports, __nested_webpack_require_63052__) { // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. @@ -1313,9 +1336,9 @@ var __extends = (this && this.__extends) || (function () { })(); Object.defineProperty(exports, "__esModule", ({ value: true })); exports.StatusBarValidator = exports.ActionBarValidator = exports.ReportBarsValidator = void 0; -var multipleFieldsValidator_1 = __nested_webpack_require_61501__(3); -var typeValidator_1 = __nested_webpack_require_61501__(4); -var validator_1 = __nested_webpack_require_61501__(1); +var multipleFieldsValidator_1 = __nested_webpack_require_63052__(3); +var typeValidator_1 = __nested_webpack_require_63052__(4); +var validator_1 = __nested_webpack_require_63052__(1); var ReportBarsValidator = /** @class */ (function (_super) { __extends(ReportBarsValidator, _super); function ReportBarsValidator() { @@ -1695,7 +1718,7 @@ exports.RangeValidator = RangeValidator; /***/ }), /* 5 */ -/***/ (function(__unused_webpack_module, exports, __nested_webpack_require_77380__) { +/***/ (function(__unused_webpack_module, exports, __nested_webpack_require_78931__) { // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. @@ -1716,9 +1739,9 @@ var __extends = (this && this.__extends) || (function () { })(); Object.defineProperty(exports, "__esModule", ({ value: true })); exports.CaptureBookmarkRequestValidator = exports.CaptureBookmarkOptionsValidator = exports.ApplyBookmarkStateRequestValidator = exports.ApplyBookmarkByNameRequestValidator = exports.AddBookmarkRequestValidator = exports.PlayBookmarkRequestValidator = void 0; -var multipleFieldsValidator_1 = __nested_webpack_require_77380__(3); -var typeValidator_1 = __nested_webpack_require_77380__(4); -var validator_1 = __nested_webpack_require_77380__(1); +var multipleFieldsValidator_1 = __nested_webpack_require_78931__(3); +var typeValidator_1 = __nested_webpack_require_78931__(4); +var validator_1 = __nested_webpack_require_78931__(1); var PlayBookmarkRequestValidator = /** @class */ (function (_super) { __extends(PlayBookmarkRequestValidator, _super); function PlayBookmarkRequestValidator() { @@ -1885,7 +1908,7 @@ exports.CaptureBookmarkRequestValidator = CaptureBookmarkRequestValidator; /***/ }), /* 6 */ -/***/ (function(__unused_webpack_module, exports, __nested_webpack_require_85856__) { +/***/ (function(__unused_webpack_module, exports, __nested_webpack_require_87407__) { // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. @@ -1906,9 +1929,9 @@ var __extends = (this && this.__extends) || (function () { })(); Object.defineProperty(exports, "__esModule", ({ value: true })); exports.PaginatedReportCommandsValidator = exports.SingleCommandSettingsValidator = exports.CommandsSettingsValidator = void 0; -var multipleFieldsValidator_1 = __nested_webpack_require_85856__(3); -var typeValidator_1 = __nested_webpack_require_85856__(4); -var validator_1 = __nested_webpack_require_85856__(1); +var multipleFieldsValidator_1 = __nested_webpack_require_87407__(3); +var typeValidator_1 = __nested_webpack_require_87407__(4); +var validator_1 = __nested_webpack_require_87407__(1); var CommandsSettingsValidator = /** @class */ (function (_super) { __extends(CommandsSettingsValidator, _super); function CommandsSettingsValidator() { @@ -2052,7 +2075,7 @@ exports.PaginatedReportCommandsValidator = PaginatedReportCommandsValidator; /***/ }), /* 7 */ -/***/ (function(__unused_webpack_module, exports, __nested_webpack_require_92889__) { +/***/ (function(__unused_webpack_module, exports, __nested_webpack_require_94440__) { // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. @@ -2073,8 +2096,8 @@ var __extends = (this && this.__extends) || (function () { })(); Object.defineProperty(exports, "__esModule", ({ value: true })); exports.CustomThemeValidator = void 0; -var multipleFieldsValidator_1 = __nested_webpack_require_92889__(3); -var typeValidator_1 = __nested_webpack_require_92889__(4); +var multipleFieldsValidator_1 = __nested_webpack_require_94440__(3); +var typeValidator_1 = __nested_webpack_require_94440__(4); var CustomThemeValidator = /** @class */ (function (_super) { __extends(CustomThemeValidator, _super); function CustomThemeValidator() { @@ -2104,7 +2127,7 @@ exports.CustomThemeValidator = CustomThemeValidator; /***/ }), /* 8 */ -/***/ (function(__unused_webpack_module, exports, __nested_webpack_require_95043__) { +/***/ (function(__unused_webpack_module, exports, __nested_webpack_require_96594__) { // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. @@ -2125,9 +2148,9 @@ var __extends = (this && this.__extends) || (function () { })(); Object.defineProperty(exports, "__esModule", ({ value: true })); exports.DashboardLoadValidator = void 0; -var multipleFieldsValidator_1 = __nested_webpack_require_95043__(3); -var typeValidator_1 = __nested_webpack_require_95043__(4); -var validator_1 = __nested_webpack_require_95043__(1); +var multipleFieldsValidator_1 = __nested_webpack_require_96594__(3); +var typeValidator_1 = __nested_webpack_require_96594__(4); +var validator_1 = __nested_webpack_require_96594__(1); var DashboardLoadValidator = /** @class */ (function (_super) { __extends(DashboardLoadValidator, _super); function DashboardLoadValidator() { @@ -2177,7 +2200,7 @@ exports.DashboardLoadValidator = DashboardLoadValidator; /***/ }), /* 9 */ -/***/ (function(__unused_webpack_module, exports, __nested_webpack_require_98042__) { +/***/ (function(__unused_webpack_module, exports, __nested_webpack_require_99593__) { // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. @@ -2198,9 +2221,9 @@ var __extends = (this && this.__extends) || (function () { })(); Object.defineProperty(exports, "__esModule", ({ value: true })); exports.DatasetBindingValidator = void 0; -var multipleFieldsValidator_1 = __nested_webpack_require_98042__(3); -var typeValidator_1 = __nested_webpack_require_98042__(4); -var validator_1 = __nested_webpack_require_98042__(1); +var multipleFieldsValidator_1 = __nested_webpack_require_99593__(3); +var typeValidator_1 = __nested_webpack_require_99593__(4); +var validator_1 = __nested_webpack_require_99593__(1); var DatasetBindingValidator = /** @class */ (function (_super) { __extends(DatasetBindingValidator, _super); function DatasetBindingValidator() { @@ -2230,7 +2253,7 @@ exports.DatasetBindingValidator = DatasetBindingValidator; /***/ }), /* 10 */ -/***/ (function(__unused_webpack_module, exports, __nested_webpack_require_100312__) { +/***/ (function(__unused_webpack_module, exports, __nested_webpack_require_101863__) { // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. @@ -2251,8 +2274,8 @@ var __extends = (this && this.__extends) || (function () { })(); Object.defineProperty(exports, "__esModule", ({ value: true })); exports.ExportDataRequestValidator = void 0; -var multipleFieldsValidator_1 = __nested_webpack_require_100312__(3); -var typeValidator_1 = __nested_webpack_require_100312__(4); +var multipleFieldsValidator_1 = __nested_webpack_require_101863__(3); +var typeValidator_1 = __nested_webpack_require_101863__(4); var ExportDataRequestValidator = /** @class */ (function (_super) { __extends(ExportDataRequestValidator, _super); function ExportDataRequestValidator() { @@ -2286,7 +2309,7 @@ exports.ExportDataRequestValidator = ExportDataRequestValidator; /***/ }), /* 11 */ -/***/ (function(__unused_webpack_module, exports, __nested_webpack_require_102656__) { +/***/ (function(__unused_webpack_module, exports, __nested_webpack_require_104207__) { // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. @@ -2307,9 +2330,9 @@ var __extends = (this && this.__extends) || (function () { })(); Object.defineProperty(exports, "__esModule", ({ value: true })); exports.ExtensionsValidator = exports.MenuGroupExtensionValidator = exports.ExtensionValidator = exports.CommandExtensionValidator = exports.ExtensionItemValidator = exports.ExtensionPointsValidator = exports.GroupedMenuExtensionValidator = exports.FlatMenuExtensionValidator = exports.MenuExtensionBaseValidator = void 0; -var multipleFieldsValidator_1 = __nested_webpack_require_102656__(3); -var typeValidator_1 = __nested_webpack_require_102656__(4); -var validator_1 = __nested_webpack_require_102656__(1); +var multipleFieldsValidator_1 = __nested_webpack_require_104207__(3); +var typeValidator_1 = __nested_webpack_require_104207__(4); +var validator_1 = __nested_webpack_require_104207__(1); var MenuExtensionBaseValidator = /** @class */ (function (_super) { __extends(MenuExtensionBaseValidator, _super); function MenuExtensionBaseValidator() { @@ -2579,7 +2602,7 @@ exports.ExtensionsValidator = ExtensionsValidator; /***/ }), /* 12 */ -/***/ (function(__unused_webpack_module, exports, __nested_webpack_require_115147__) { +/***/ (function(__unused_webpack_module, exports, __nested_webpack_require_116698__) { // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. @@ -2600,9 +2623,9 @@ var __extends = (this && this.__extends) || (function () { })(); Object.defineProperty(exports, "__esModule", ({ value: true })); exports.OnLoadFiltersValidator = exports.OnLoadFiltersBaseRemoveOperationValidator = exports.OnLoadFiltersBaseValidator = exports.ConditionItemValidator = exports.RemoveFiltersRequestValidator = exports.UpdateFiltersRequestValidator = exports.FilterValidator = exports.HierarchyFilterNodeValidator = exports.HierarchyFilterValidator = exports.IncludeExcludeFilterValidator = exports.NotSupportedFilterValidator = exports.TopNFilterValidator = exports.RelativeTimeFilterValidator = exports.RelativeDateFilterValidator = exports.RelativeDateTimeFilterValidator = exports.AdvancedFilterValidator = exports.BasicFilterValidator = exports.FilterValidatorBase = exports.FilterDisplaySettingsValidator = exports.FilterMeasureTargetValidator = exports.FilterKeyHierarchyTargetValidator = exports.FilterHierarchyTargetValidator = exports.FilterKeyColumnsTargetValidator = exports.FilterColumnTargetValidator = void 0; -var multipleFieldsValidator_1 = __nested_webpack_require_115147__(3); -var typeValidator_1 = __nested_webpack_require_115147__(4); -var validator_1 = __nested_webpack_require_115147__(1); +var multipleFieldsValidator_1 = __nested_webpack_require_116698__(3); +var typeValidator_1 = __nested_webpack_require_116698__(4); +var validator_1 = __nested_webpack_require_116698__(1); var FilterColumnTargetValidator = /** @class */ (function (_super) { __extends(FilterColumnTargetValidator, _super); function FilterColumnTargetValidator() { @@ -3348,7 +3371,7 @@ exports.OnLoadFiltersValidator = OnLoadFiltersValidator; /***/ }), /* 13 */ -/***/ (function(__unused_webpack_module, exports, __nested_webpack_require_149119__) { +/***/ (function(__unused_webpack_module, exports, __nested_webpack_require_150670__) { // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. @@ -3369,9 +3392,9 @@ var __extends = (this && this.__extends) || (function () { })(); Object.defineProperty(exports, "__esModule", ({ value: true })); exports.PageLayoutValidator = exports.DisplayStateValidator = exports.VisualLayoutValidator = exports.CustomLayoutValidator = void 0; -var multipleFieldsValidator_1 = __nested_webpack_require_149119__(3); -var typeValidator_1 = __nested_webpack_require_149119__(4); -var validator_1 = __nested_webpack_require_149119__(1); +var multipleFieldsValidator_1 = __nested_webpack_require_150670__(3); +var typeValidator_1 = __nested_webpack_require_150670__(4); +var validator_1 = __nested_webpack_require_150670__(1); var CustomLayoutValidator = /** @class */ (function (_super) { __extends(CustomLayoutValidator, _super); function CustomLayoutValidator() { @@ -3508,7 +3531,7 @@ exports.PageLayoutValidator = PageLayoutValidator; /***/ }), /* 14 */ -/***/ (function(__unused_webpack_module, exports, __nested_webpack_require_155598__) { +/***/ (function(__unused_webpack_module, exports, __nested_webpack_require_157149__) { // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. @@ -3529,9 +3552,9 @@ var __extends = (this && this.__extends) || (function () { })(); Object.defineProperty(exports, "__esModule", ({ value: true })); exports.PageViewFieldValidator = exports.PageValidator = exports.CustomPageSizeValidator = exports.PageSizeValidator = void 0; -var multipleFieldsValidator_1 = __nested_webpack_require_155598__(3); -var typeValidator_1 = __nested_webpack_require_155598__(4); -var validator_1 = __nested_webpack_require_155598__(1); +var multipleFieldsValidator_1 = __nested_webpack_require_157149__(3); +var typeValidator_1 = __nested_webpack_require_157149__(4); +var validator_1 = __nested_webpack_require_157149__(1); var PageSizeValidator = /** @class */ (function (_super) { __extends(PageSizeValidator, _super); function PageSizeValidator() { @@ -3639,7 +3662,7 @@ exports.PageViewFieldValidator = PageViewFieldValidator; /***/ }), /* 15 */ -/***/ (function(__unused_webpack_module, exports, __nested_webpack_require_161038__) { +/***/ (function(__unused_webpack_module, exports, __nested_webpack_require_162589__) { // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. @@ -3660,9 +3683,9 @@ var __extends = (this && this.__extends) || (function () { })(); Object.defineProperty(exports, "__esModule", ({ value: true })); exports.VisualizationsPaneValidator = exports.SyncSlicersPaneValidator = exports.SelectionPaneValidator = exports.PageNavigationPaneValidator = exports.FiltersPaneValidator = exports.FieldsPaneValidator = exports.BookmarksPaneValidator = exports.QnaPanesValidator = exports.ReportPanesValidator = void 0; -var multipleFieldsValidator_1 = __nested_webpack_require_161038__(3); -var typeValidator_1 = __nested_webpack_require_161038__(4); -var validator_1 = __nested_webpack_require_161038__(1); +var multipleFieldsValidator_1 = __nested_webpack_require_162589__(3); +var typeValidator_1 = __nested_webpack_require_162589__(4); +var validator_1 = __nested_webpack_require_162589__(1); var ReportPanesValidator = /** @class */ (function (_super) { __extends(ReportPanesValidator, _super); function ReportPanesValidator() { @@ -3924,7 +3947,7 @@ exports.VisualizationsPaneValidator = VisualizationsPaneValidator; /***/ }), /* 16 */ -/***/ (function(__unused_webpack_module, exports, __nested_webpack_require_172784__) { +/***/ (function(__unused_webpack_module, exports, __nested_webpack_require_174335__) { // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. @@ -3945,9 +3968,9 @@ var __extends = (this && this.__extends) || (function () { })(); Object.defineProperty(exports, "__esModule", ({ value: true })); exports.QnaInterpretInputDataValidator = exports.QnaSettingsValidator = exports.LoadQnaValidator = void 0; -var multipleFieldsValidator_1 = __nested_webpack_require_172784__(3); -var typeValidator_1 = __nested_webpack_require_172784__(4); -var validator_1 = __nested_webpack_require_172784__(1); +var multipleFieldsValidator_1 = __nested_webpack_require_174335__(3); +var typeValidator_1 = __nested_webpack_require_174335__(4); +var validator_1 = __nested_webpack_require_174335__(1); var LoadQnaValidator = /** @class */ (function (_super) { __extends(LoadQnaValidator, _super); function LoadQnaValidator() { @@ -4063,7 +4086,7 @@ exports.QnaInterpretInputDataValidator = QnaInterpretInputDataValidator; /***/ }), /* 17 */ -/***/ (function(__unused_webpack_module, exports, __nested_webpack_require_178495__) { +/***/ (function(__unused_webpack_module, exports, __nested_webpack_require_180046__) { // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. @@ -4084,9 +4107,9 @@ var __extends = (this && this.__extends) || (function () { })(); Object.defineProperty(exports, "__esModule", ({ value: true })); exports.ReportCreateValidator = void 0; -var multipleFieldsValidator_1 = __nested_webpack_require_178495__(3); -var typeValidator_1 = __nested_webpack_require_178495__(4); -var validator_1 = __nested_webpack_require_178495__(1); +var multipleFieldsValidator_1 = __nested_webpack_require_180046__(3); +var typeValidator_1 = __nested_webpack_require_180046__(4); +var validator_1 = __nested_webpack_require_180046__(1); var ReportCreateValidator = /** @class */ (function (_super) { __extends(ReportCreateValidator, _super); function ReportCreateValidator() { @@ -4132,7 +4155,7 @@ exports.ReportCreateValidator = ReportCreateValidator; /***/ }), /* 18 */ -/***/ (function(__unused_webpack_module, exports, __nested_webpack_require_181353__) { +/***/ (function(__unused_webpack_module, exports, __nested_webpack_require_182904__) { // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. @@ -4153,9 +4176,9 @@ var __extends = (this && this.__extends) || (function () { })(); Object.defineProperty(exports, "__esModule", ({ value: true })); exports.ReportLoadValidator = void 0; -var multipleFieldsValidator_1 = __nested_webpack_require_181353__(3); -var typeValidator_1 = __nested_webpack_require_181353__(4); -var validator_1 = __nested_webpack_require_181353__(1); +var multipleFieldsValidator_1 = __nested_webpack_require_182904__(3); +var typeValidator_1 = __nested_webpack_require_182904__(4); +var validator_1 = __nested_webpack_require_182904__(1); var ReportLoadValidator = /** @class */ (function (_super) { __extends(ReportLoadValidator, _super); function ReportLoadValidator() { @@ -4237,7 +4260,7 @@ exports.ReportLoadValidator = ReportLoadValidator; /***/ }), /* 19 */ -/***/ (function(__unused_webpack_module, exports, __nested_webpack_require_185474__) { +/***/ (function(__unused_webpack_module, exports, __nested_webpack_require_187025__) { // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. @@ -4258,9 +4281,9 @@ var __extends = (this && this.__extends) || (function () { })(); Object.defineProperty(exports, "__esModule", ({ value: true })); exports.ReportParameterFieldsValidator = exports.PaginatedReportLoadValidator = void 0; -var multipleFieldsValidator_1 = __nested_webpack_require_185474__(3); -var typeValidator_1 = __nested_webpack_require_185474__(4); -var validator_1 = __nested_webpack_require_185474__(1); +var multipleFieldsValidator_1 = __nested_webpack_require_187025__(3); +var typeValidator_1 = __nested_webpack_require_187025__(4); +var validator_1 = __nested_webpack_require_187025__(1); var PaginatedReportLoadValidator = /** @class */ (function (_super) { __extends(PaginatedReportLoadValidator, _super); function PaginatedReportLoadValidator() { @@ -4341,7 +4364,7 @@ exports.ReportParameterFieldsValidator = ReportParameterFieldsValidator; /***/ }), /* 20 */ -/***/ (function(__unused_webpack_module, exports, __nested_webpack_require_189798__) { +/***/ (function(__unused_webpack_module, exports, __nested_webpack_require_191349__) { // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. @@ -4362,9 +4385,9 @@ var __extends = (this && this.__extends) || (function () { })(); Object.defineProperty(exports, "__esModule", ({ value: true })); exports.SaveAsParametersValidator = void 0; -var multipleFieldsValidator_1 = __nested_webpack_require_189798__(3); -var typeValidator_1 = __nested_webpack_require_189798__(4); -var validator_1 = __nested_webpack_require_189798__(1); +var multipleFieldsValidator_1 = __nested_webpack_require_191349__(3); +var typeValidator_1 = __nested_webpack_require_191349__(4); +var validator_1 = __nested_webpack_require_191349__(1); var SaveAsParametersValidator = /** @class */ (function (_super) { __extends(SaveAsParametersValidator, _super); function SaveAsParametersValidator() { @@ -4394,7 +4417,7 @@ exports.SaveAsParametersValidator = SaveAsParametersValidator; /***/ }), /* 21 */ -/***/ (function(__unused_webpack_module, exports, __nested_webpack_require_192079__) { +/***/ (function(__unused_webpack_module, exports, __nested_webpack_require_193630__) { // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. @@ -4415,10 +4438,10 @@ var __extends = (this && this.__extends) || (function () { })(); Object.defineProperty(exports, "__esModule", ({ value: true })); exports.SlicerTargetSelectorValidator = exports.VisualTypeSelectorValidator = exports.VisualSelectorValidator = void 0; -var multipleFieldsValidator_1 = __nested_webpack_require_192079__(3); -var typeValidator_1 = __nested_webpack_require_192079__(4); -var typeValidator_2 = __nested_webpack_require_192079__(4); -var validator_1 = __nested_webpack_require_192079__(1); +var multipleFieldsValidator_1 = __nested_webpack_require_193630__(3); +var typeValidator_1 = __nested_webpack_require_193630__(4); +var typeValidator_2 = __nested_webpack_require_193630__(4); +var validator_1 = __nested_webpack_require_193630__(1); var VisualSelectorValidator = /** @class */ (function (_super) { __extends(VisualSelectorValidator, _super); function VisualSelectorValidator() { @@ -4511,7 +4534,7 @@ exports.SlicerTargetSelectorValidator = SlicerTargetSelectorValidator; /***/ }), /* 22 */ -/***/ (function(__unused_webpack_module, exports, __nested_webpack_require_197537__) { +/***/ (function(__unused_webpack_module, exports, __nested_webpack_require_199088__) { // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. @@ -4532,9 +4555,9 @@ var __extends = (this && this.__extends) || (function () { })(); Object.defineProperty(exports, "__esModule", ({ value: true })); exports.PaginatedReportSettingsValidator = exports.SettingsValidator = void 0; -var multipleFieldsValidator_1 = __nested_webpack_require_197537__(3); -var typeValidator_1 = __nested_webpack_require_197537__(4); -var validator_1 = __nested_webpack_require_197537__(1); +var multipleFieldsValidator_1 = __nested_webpack_require_199088__(3); +var typeValidator_1 = __nested_webpack_require_199088__(4); +var validator_1 = __nested_webpack_require_199088__(1); var SettingsValidator = /** @class */ (function (_super) { __extends(SettingsValidator, _super); function SettingsValidator() { @@ -4620,6 +4643,10 @@ var SettingsValidator = /** @class */ (function (_super) { { field: "authoringHintsEnabled", validators: [validator_1.Validators.booleanValidator] + }, + { + field: "printSettings", + validators: [validator_1.Validators.printSettingsValidator] } ]; var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields); @@ -4657,7 +4684,7 @@ exports.PaginatedReportSettingsValidator = PaginatedReportSettingsValidator; /***/ }), /* 23 */ -/***/ (function(__unused_webpack_module, exports, __nested_webpack_require_203384__) { +/***/ (function(__unused_webpack_module, exports, __nested_webpack_require_205084__) { // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. @@ -4678,9 +4705,9 @@ var __extends = (this && this.__extends) || (function () { })(); Object.defineProperty(exports, "__esModule", ({ value: true })); exports.SlicerStateValidator = exports.SlicerValidator = void 0; -var multipleFieldsValidator_1 = __nested_webpack_require_203384__(3); -var typeValidator_1 = __nested_webpack_require_203384__(4); -var validator_1 = __nested_webpack_require_203384__(1); +var multipleFieldsValidator_1 = __nested_webpack_require_205084__(3); +var typeValidator_1 = __nested_webpack_require_205084__(4); +var validator_1 = __nested_webpack_require_205084__(1); var SlicerValidator = /** @class */ (function (_super) { __extends(SlicerValidator, _super); function SlicerValidator() { @@ -4739,7 +4766,7 @@ exports.SlicerStateValidator = SlicerStateValidator; /***/ }), /* 24 */ -/***/ (function(__unused_webpack_module, exports, __nested_webpack_require_206814__) { +/***/ (function(__unused_webpack_module, exports, __nested_webpack_require_208514__) { // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. @@ -4760,9 +4787,9 @@ var __extends = (this && this.__extends) || (function () { })(); Object.defineProperty(exports, "__esModule", ({ value: true })); exports.TileLoadValidator = void 0; -var multipleFieldsValidator_1 = __nested_webpack_require_206814__(3); -var typeValidator_1 = __nested_webpack_require_206814__(4); -var validator_1 = __nested_webpack_require_206814__(1); +var multipleFieldsValidator_1 = __nested_webpack_require_208514__(3); +var typeValidator_1 = __nested_webpack_require_208514__(4); +var validator_1 = __nested_webpack_require_208514__(1); var TileLoadValidator = /** @class */ (function (_super) { __extends(TileLoadValidator, _super); function TileLoadValidator() { @@ -4820,7 +4847,7 @@ exports.TileLoadValidator = TileLoadValidator; /***/ }), /* 25 */ -/***/ (function(__unused_webpack_module, exports, __nested_webpack_require_210086__) { +/***/ (function(__unused_webpack_module, exports, __nested_webpack_require_211786__) { // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. @@ -4841,9 +4868,9 @@ var __extends = (this && this.__extends) || (function () { })(); Object.defineProperty(exports, "__esModule", ({ value: true })); exports.VisualHeaderValidator = exports.VisualHeaderSettingsValidator = exports.VisualSettingsValidator = void 0; -var multipleFieldsValidator_1 = __nested_webpack_require_210086__(3); -var typeValidator_1 = __nested_webpack_require_210086__(4); -var validator_1 = __nested_webpack_require_210086__(1); +var multipleFieldsValidator_1 = __nested_webpack_require_211786__(3); +var typeValidator_1 = __nested_webpack_require_211786__(4); +var validator_1 = __nested_webpack_require_211786__(1); var VisualSettingsValidator = /** @class */ (function (_super) { __extends(VisualSettingsValidator, _super); function VisualSettingsValidator() { @@ -5018,7 +5045,7 @@ exports.FieldRequiredValidator = FieldRequiredValidator; /***/ }), /* 29 */ -/***/ (function(__unused_webpack_module, exports, __nested_webpack_require_217495__) { +/***/ (function(__unused_webpack_module, exports, __nested_webpack_require_219195__) { // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. @@ -5039,7 +5066,7 @@ var __extends = (this && this.__extends) || (function () { })(); Object.defineProperty(exports, "__esModule", ({ value: true })); exports.MapValidator = void 0; -var typeValidator_1 = __nested_webpack_require_217495__(4); +var typeValidator_1 = __nested_webpack_require_219195__(4); var MapValidator = /** @class */ (function (_super) { __extends(MapValidator, _super); function MapValidator(keyValidators, valueValidators) { @@ -5084,7 +5111,7 @@ exports.MapValidator = MapValidator; /***/ }), /* 30 */ -/***/ (function(__unused_webpack_module, exports, __nested_webpack_require_220179__) { +/***/ (function(__unused_webpack_module, exports, __nested_webpack_require_221879__) { // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. @@ -5105,9 +5132,9 @@ var __extends = (this && this.__extends) || (function () { })(); Object.defineProperty(exports, "__esModule", ({ value: true })); exports.ParametersPanelValidator = void 0; -var multipleFieldsValidator_1 = __nested_webpack_require_220179__(3); -var typeValidator_1 = __nested_webpack_require_220179__(4); -var validator_1 = __nested_webpack_require_220179__(1); +var multipleFieldsValidator_1 = __nested_webpack_require_221879__(3); +var typeValidator_1 = __nested_webpack_require_221879__(4); +var validator_1 = __nested_webpack_require_221879__(1); var ParametersPanelValidator = /** @class */ (function (_super) { __extends(ParametersPanelValidator, _super); function ParametersPanelValidator() { @@ -5141,7 +5168,7 @@ exports.ParametersPanelValidator = ParametersPanelValidator; /***/ }), /* 31 */ -/***/ (function(__unused_webpack_module, exports, __nested_webpack_require_222547__) { +/***/ (function(__unused_webpack_module, exports, __nested_webpack_require_224247__) { // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. @@ -5162,9 +5189,9 @@ var __extends = (this && this.__extends) || (function () { })(); Object.defineProperty(exports, "__esModule", ({ value: true })); exports.TableDataValidator = exports.TableSchemaValidator = exports.ColumnSchemaValidator = exports.CredentialsValidator = exports.DatasourceConnectionConfigValidator = exports.DatasetCreateConfigValidator = void 0; -var multipleFieldsValidator_1 = __nested_webpack_require_222547__(3); -var typeValidator_1 = __nested_webpack_require_222547__(4); -var validator_1 = __nested_webpack_require_222547__(1); +var multipleFieldsValidator_1 = __nested_webpack_require_224247__(3); +var typeValidator_1 = __nested_webpack_require_224247__(4); +var validator_1 = __nested_webpack_require_224247__(1); var DatasetCreateConfigValidator = /** @class */ (function (_super) { __extends(DatasetCreateConfigValidator, _super); function DatasetCreateConfigValidator() { @@ -5377,7 +5404,7 @@ exports.TableDataValidator = TableDataValidator; /***/ }), /* 32 */ -/***/ (function(__unused_webpack_module, exports, __nested_webpack_require_232602__) { +/***/ (function(__unused_webpack_module, exports, __nested_webpack_require_234302__) { // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. @@ -5398,9 +5425,9 @@ var __extends = (this && this.__extends) || (function () { })(); Object.defineProperty(exports, "__esModule", ({ value: true })); exports.QuickCreateValidator = void 0; -var multipleFieldsValidator_1 = __nested_webpack_require_232602__(3); -var typeValidator_1 = __nested_webpack_require_232602__(4); -var validator_1 = __nested_webpack_require_232602__(1); +var multipleFieldsValidator_1 = __nested_webpack_require_234302__(3); +var typeValidator_1 = __nested_webpack_require_234302__(4); +var validator_1 = __nested_webpack_require_234302__(1); var QuickCreateValidator = /** @class */ (function (_super) { __extends(QuickCreateValidator, _super); function QuickCreateValidator() { @@ -5444,6 +5471,58 @@ var QuickCreateValidator = /** @class */ (function (_super) { exports.QuickCreateValidator = QuickCreateValidator; +/***/ }), +/* 33 */ +/***/ (function(__unused_webpack_module, exports, __nested_webpack_require_237175__) { + +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. +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 (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; }; + return extendStatics(d, b); + }; + return function (d, b) { + if (typeof b !== "function" && b !== null) + throw new TypeError("Class extends value " + String(b) + " is not a constructor or null"); + 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.PrintSettingsValidator = void 0; +var multipleFieldsValidator_1 = __nested_webpack_require_237175__(3); +var typeValidator_1 = __nested_webpack_require_237175__(4); +var PrintSettingsValidator = /** @class */ (function (_super) { + __extends(PrintSettingsValidator, _super); + function PrintSettingsValidator() { + return _super !== null && _super.apply(this, arguments) || this; + } + PrintSettingsValidator.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: "browserPrintAdjustmentsMode", + validators: [new typeValidator_1.EnumValidator([0, 1])] + } + ]; + var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields); + return multipleFieldsValidator.validate(input, path, field); + }; + return PrintSettingsValidator; +}(typeValidator_1.ObjectValidator)); +exports.PrintSettingsValidator = PrintSettingsValidator; + + /***/ }) /******/ ]); /************************************************************************/ @@ -5451,7 +5530,7 @@ exports.QuickCreateValidator = QuickCreateValidator; /******/ var __webpack_module_cache__ = {}; /******/ /******/ // The require function -/******/ function __nested_webpack_require_235634__(moduleId) { +/******/ function __nested_webpack_require_239527__(moduleId) { /******/ // Check if module is in cache /******/ var cachedModule = __webpack_module_cache__[moduleId]; /******/ if (cachedModule !== undefined) { @@ -5465,7 +5544,7 @@ exports.QuickCreateValidator = QuickCreateValidator; /******/ }; /******/ /******/ // Execute the module function -/******/ __webpack_modules__[moduleId].call(module.exports, module, module.exports, __nested_webpack_require_235634__); +/******/ __webpack_modules__[moduleId].call(module.exports, module, module.exports, __nested_webpack_require_239527__); /******/ /******/ // Return the exports of the module /******/ return module.exports; @@ -5476,34 +5555,34 @@ exports.QuickCreateValidator = QuickCreateValidator; /******/ // startup /******/ // Load entry module and return exports /******/ // This entry module is referenced by other modules so it can't be inlined -/******/ var __webpack_exports__ = __nested_webpack_require_235634__(0); +/******/ var __nested_webpack_exports__ = __nested_webpack_require_239527__(0); /******/ -/******/ return __webpack_exports__; +/******/ return __nested_webpack_exports__; /******/ })() ; }); //# sourceMappingURL=models.js.map // SIG // Begin signature block -// SIG // MIIrVgYJKoZIhvcNAQcCoIIrRzCCK0MCAQExDzANBglg +// SIG // MIIrSwYJKoZIhvcNAQcCoIIrPDCCKzgCAQExDzANBglg // SIG // hkgBZQMEAgEFADB3BgorBgEEAYI3AgEEoGkwZzAyBgor // SIG // BgEEAYI3AgEeMCQCAQEEEBDgyQbOONQRoqMAEEvTUJAC // SIG // AQACAQACAQACAQACAQAwMTANBglghkgBZQMEAgEFAAQg -// SIG // /i51IdNsxTS0JqJprFGAbZKQWzw3aaJrQs6hvB+vKCig -// SIG // ghF5MIIIiTCCB3GgAwIBAgITNgAAAanWkDBmQ9sfggAC -// SIG // AAABqTANBgkqhkiG9w0BAQsFADBBMRMwEQYKCZImiZPy +// SIG // xLtrVunVRrJVSWB0LPK/F3mt1yXA1Ex5UedxSKIGn6Kg +// SIG // ghFuMIIIfjCCB2agAwIBAgITNgAAAahTK9ZQq6y5UwAC +// SIG // AAABqDANBgkqhkiG9w0BAQsFADBBMRMwEQYKCZImiZPy // SIG // LGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRUw // SIG // EwYDVQQDEwxBTUUgQ1MgQ0EgMDEwHhcNMjIwNjEwMTgy -// SIG // NzA0WhcNMjMwNjEwMTgyNzA0WjAkMSIwIAYDVQQDExlN +// SIG // NzAzWhcNMjMwNjEwMTgyNzAzWjAkMSIwIAYDVQQDExlN // SIG // aWNyb3NvZnQgQXp1cmUgQ29kZSBTaWduMIIBIjANBgkq -// SIG // hkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAuLvS3Hq6XM6N -// SIG // 5ZVPdqZQQbTo4WFo9Ar6TqyLpZIqQpNoW9ZG58deayDX -// SIG // VV7wKgn0IAjewM3VfPGtiX8jjOz4VtelbCYnbV9zrqqU -// SIG // rtTlqTbFB1L+UWQO2DLhxB8QybLxi38KaiY1DC6DL5xK -// SIG // uAnIGWnVNS168FihSxIPneGKfG3nJH1CgSA/rJ7w7tnY -// SIG // 8hHlpPpMia6oKVAZSvos9/fDpBmX+cru3sXfEv19s+4O -// SIG // JKLoPlJiNR0PhsqW5hChTn+tjVOBu8Td7tcb+jf9QQs1 -// SIG // 2HPBtx3nMNhNlYZQrqXJMUy65RH2zAYAd9N9tdo6VRU/ -// SIG // 8vRYzYOrWHSulDVtMn2cjwIDAQABo4IFlTCCBZEwKQYJ +// SIG // hkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAnEdeHxP889b7 +// SIG // mrwL0Z0koWl4LoJ+zeHJ7UDmhaQAxyRIIw9tXSK910U/ +// SIG // pTle2lfbvL9vZR1U8zyRwy6WaVNT/rh+wOm9AKqrsbaB +// SIG // qlCsTRliD/TIgibyDuKIf/aV+Aok1yvoWVg2eNn/06XE +// SIG // bXA/k554/MzRFwxHJNnO9dGc8hke+UZxb94AZB6JWfXQ +// SIG // 3xzYYQtPQmVsTI2iQ/aDYkkS+nIgs/IjbConhB93V4oc +// SIG // 4rL8r9C5D29kDOZRQ2Y2/1eqXV5wb7QSdahpxk3457cf +// SIG // caTGsmz6nPQq7DqO9RqDO5dYD22V5bGQkf5wMhC0jlQq +// SIG // 1qFAhbD3nkXka5eErruzcwIDAQABo4IFijCCBYYwKQYJ // SIG // KwYBBAGCNxUKBBwwGjAMBgorBgEEAYI3WwEBMAoGCCsG // SIG // AQUFBwMDMD0GCSsGAQQBgjcVBwQwMC4GJisGAQQBgjcV // SIG // CIaQ4w2E1bR4hPGLPoWb3RbOnRKBYIPdzWaGlIwyAgFk @@ -5526,301 +5605,300 @@ exports.QuickCreateValidator = QuickCreateValidator; // SIG // eSUyMFNlcnZpY2VzLENOPVNlcnZpY2VzLENOPUNvbmZp // SIG // Z3VyYXRpb24sREM9QU1FLERDPUdCTD9jQUNlcnRpZmlj // SIG // YXRlP2Jhc2U/b2JqZWN0Q2xhc3M9Y2VydGlmaWNhdGlv -// SIG // bkF1dGhvcml0eTAdBgNVHQ4EFgQUj5gJWFiDzm06yLnX -// SIG // Wf2V9PM6+1cwDgYDVR0PAQH/BAQDAgeAMFAGA1UdEQRJ -// SIG // MEekRTBDMSkwJwYDVQQLEyBNaWNyb3NvZnQgT3BlcmF0 -// SIG // aW9ucyBQdWVydG8gUmljbzEWMBQGA1UEBRMNMjM2MTY3 -// SIG // KzQ3MDg2MTCCAeYGA1UdHwSCAd0wggHZMIIB1aCCAdGg -// SIG // ggHNhj9odHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtp -// SIG // aW5mcmEvQ1JML0FNRSUyMENTJTIwQ0ElMjAwMSgyKS5j -// SIG // cmyGMWh0dHA6Ly9jcmwxLmFtZS5nYmwvY3JsL0FNRSUy -// SIG // MENTJTIwQ0ElMjAwMSgyKS5jcmyGMWh0dHA6Ly9jcmwy -// SIG // LmFtZS5nYmwvY3JsL0FNRSUyMENTJTIwQ0ElMjAwMSgy -// SIG // KS5jcmyGMWh0dHA6Ly9jcmwzLmFtZS5nYmwvY3JsL0FN -// SIG // RSUyMENTJTIwQ0ElMjAwMSgyKS5jcmyGMWh0dHA6Ly9j -// SIG // cmw0LmFtZS5nYmwvY3JsL0FNRSUyMENTJTIwQ0ElMjAw -// SIG // MSgyKS5jcmyGgb1sZGFwOi8vL0NOPUFNRSUyMENTJTIw -// SIG // Q0ElMjAwMSgyKSxDTj1CWTJQS0lDU0NBMDEsQ049Q0RQ -// SIG // LENOPVB1YmxpYyUyMEtleSUyMFNlcnZpY2VzLENOPVNl -// SIG // cnZpY2VzLENOPUNvbmZpZ3VyYXRpb24sREM9QU1FLERD -// SIG // PUdCTD9jZXJ0aWZpY2F0ZVJldm9jYXRpb25MaXN0P2Jh -// SIG // c2U/b2JqZWN0Q2xhc3M9Y1JMRGlzdHJpYnV0aW9uUG9p -// SIG // bnQwHwYDVR0jBBgwFoAUllGE4Gtve/7YBqvD8oXmKa5q -// SIG // +dQwHwYDVR0lBBgwFgYKKwYBBAGCN1sBAQYIKwYBBQUH -// SIG // AwMwDQYJKoZIhvcNAQELBQADggEBAHD1OJbFZ/tIa5Zp -// SIG // DzeU+mqWHOdF2htAZKicRfNYhaajjyYRvCTUKn/5SZGU -// SIG // KKdVmsxiFtCOp2lJ2+C3b7IJukkqC9SmpIkQLhBuz7uK -// SIG // 4NsXB6Xn3Iv32YuKeH4sqdRqJMCezhsale/Sh6fecsVW -// SIG // pJnsvfXxdXBCyoVbAZCZCQN3dOXUz4DtEfV2fxhRzTfS -// SIG // UhKsr1VSY9HC/myediSqvqd3zfgK9j6IR0DcL3WkKiV0 -// SIG // B/dnYwntnntrhFxGYQuPPXBA7xX10SB/8CVA8V1NovOk -// SIG // tGO5cgvmVMe5pA2m9M7sOBgFkjXgPD7i4PoL5X0mK+6b -// SIG // nchiEZj1C5l1X6LzJH4wggjoMIIG0KADAgECAhMfAAAA -// SIG // UeqP9pxzDKg7AAAAAABRMA0GCSqGSIb3DQEBCwUAMDwx -// SIG // EzARBgoJkiaJk/IsZAEZFgNHQkwxEzARBgoJkiaJk/Is -// SIG // ZAEZFgNBTUUxEDAOBgNVBAMTB2FtZXJvb3QwHhcNMjEw -// SIG // NTIxMTg0NDE0WhcNMjYwNTIxMTg1NDE0WjBBMRMwEQYK -// SIG // CZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYD -// SIG // QU1FMRUwEwYDVQQDEwxBTUUgQ1MgQ0EgMDEwggEiMA0G -// SIG // CSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDJmlIJfQGe -// SIG // jVbXKpcyFPoFSUllalrinfEV6JMc7i+bZDoL9rNHnHDG -// SIG // fJgeuRIYO1LY/1f4oMTrhXbSaYRCS5vGc8145WcTZG90 -// SIG // 8bGDCWr4GFLc411WxA+Pv2rteAcz0eHMH36qTQ8L0o3X -// SIG // Ob2n+x7KJFLokXV1s6pF/WlSXsUBXGaCIIWBXyEchv+s -// SIG // M9eKDsUOLdLTITHYJQNWkiryMSEbxqdQUTVZjEz6eLRL -// SIG // kofDAo8pXirIYOgM770CYOiZrcKHK7lYOVblx22pdNaw -// SIG // Y8Te6a2dfoCaWV1QUuazg5VHiC4p/6fksgEILptOKhx9 -// SIG // c+iapiNhMrHsAYx9pUtppeaFAgMBAAGjggTcMIIE2DAS -// SIG // BgkrBgEEAYI3FQEEBQIDAgACMCMGCSsGAQQBgjcVAgQW -// SIG // BBQSaCRCIUfL1Gu+Mc8gpMALI38/RzAdBgNVHQ4EFgQU -// SIG // llGE4Gtve/7YBqvD8oXmKa5q+dQwggEEBgNVHSUEgfww -// SIG // gfkGBysGAQUCAwUGCCsGAQUFBwMBBggrBgEFBQcDAgYK -// SIG // KwYBBAGCNxQCAQYJKwYBBAGCNxUGBgorBgEEAYI3CgMM -// SIG // BgkrBgEEAYI3FQYGCCsGAQUFBwMJBggrBgEFBQgCAgYK -// SIG // KwYBBAGCN0ABAQYLKwYBBAGCNwoDBAEGCisGAQQBgjcK -// SIG // AwQGCSsGAQQBgjcVBQYKKwYBBAGCNxQCAgYKKwYBBAGC -// SIG // NxQCAwYIKwYBBQUHAwMGCisGAQQBgjdbAQEGCisGAQQB -// SIG // gjdbAgEGCisGAQQBgjdbAwEGCisGAQQBgjdbBQEGCisG -// SIG // AQQBgjdbBAEGCisGAQQBgjdbBAIwGQYJKwYBBAGCNxQC -// SIG // BAweCgBTAHUAYgBDAEEwCwYDVR0PBAQDAgGGMBIGA1Ud -// SIG // EwEB/wQIMAYBAf8CAQAwHwYDVR0jBBgwFoAUKV5RXmSu -// SIG // NLnrrJwNp4x1AdEJCygwggFoBgNVHR8EggFfMIIBWzCC -// SIG // AVegggFToIIBT4YxaHR0cDovL2NybC5taWNyb3NvZnQu -// SIG // Y29tL3BraWluZnJhL2NybC9hbWVyb290LmNybIYjaHR0 -// SIG // cDovL2NybDIuYW1lLmdibC9jcmwvYW1lcm9vdC5jcmyG -// SIG // I2h0dHA6Ly9jcmwzLmFtZS5nYmwvY3JsL2FtZXJvb3Qu -// SIG // Y3JshiNodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9hbWVy -// SIG // b290LmNybIaBqmxkYXA6Ly8vQ049YW1lcm9vdCxDTj1B -// SIG // TUVSb290LENOPUNEUCxDTj1QdWJsaWMlMjBLZXklMjBT -// SIG // ZXJ2aWNlcyxDTj1TZXJ2aWNlcyxDTj1Db25maWd1cmF0 -// SIG // aW9uLERDPUFNRSxEQz1HQkw/Y2VydGlmaWNhdGVSZXZv -// SIG // Y2F0aW9uTGlzdD9iYXNlP29iamVjdENsYXNzPWNSTERp -// SIG // c3RyaWJ1dGlvblBvaW50MIIBqwYIKwYBBQUHAQEEggGd -// SIG // MIIBmTBHBggrBgEFBQcwAoY7aHR0cDovL2NybC5taWNy -// SIG // b3NvZnQuY29tL3BraWluZnJhL2NlcnRzL0FNRVJvb3Rf -// SIG // YW1lcm9vdC5jcnQwNwYIKwYBBQUHMAKGK2h0dHA6Ly9j -// SIG // cmwyLmFtZS5nYmwvYWlhL0FNRVJvb3RfYW1lcm9vdC5j -// SIG // cnQwNwYIKwYBBQUHMAKGK2h0dHA6Ly9jcmwzLmFtZS5n -// SIG // YmwvYWlhL0FNRVJvb3RfYW1lcm9vdC5jcnQwNwYIKwYB -// SIG // BQUHMAKGK2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0FN -// SIG // RVJvb3RfYW1lcm9vdC5jcnQwgaIGCCsGAQUFBzAChoGV -// SIG // bGRhcDovLy9DTj1hbWVyb290LENOPUFJQSxDTj1QdWJs -// SIG // aWMlMjBLZXklMjBTZXJ2aWNlcyxDTj1TZXJ2aWNlcyxD -// SIG // Tj1Db25maWd1cmF0aW9uLERDPUFNRSxEQz1HQkw/Y0FD -// SIG // ZXJ0aWZpY2F0ZT9iYXNlP29iamVjdENsYXNzPWNlcnRp -// SIG // ZmljYXRpb25BdXRob3JpdHkwDQYJKoZIhvcNAQELBQAD -// SIG // ggIBAFAQI7dPD+jfXtGt3vJp2pyzA/HUu8hjKaRpM3op -// SIG // ya5G3ocprRd7vdTHb8BDfRN+AD0YEmeDB5HKQoG6xHPI -// SIG // 5TXuIi5sm/LeADbV3C2q0HQOygS/VT+m1W7a/752hMIn -// SIG // +L4ZuyxVeSBpfwf7oQ4YSZPh6+ngZvBHgfBaVz4O9/wc -// SIG // fw91QDZnTgK9zAh9yRKKls2bziPEnxeOZMVNaxyV0v15 -// SIG // 2PY2xjqIafIkUjK6vY9LtVFjJXenVUAmn3WCPWNFC1YT -// SIG // IIHw/mD2cTfPy7QA1pT+GPARAKt0bKtq9aCd/Ym0b5tP -// SIG // bpgCiRtzyb7fbNS1dE740re0COE67YV2wbeo2sXixzvL -// SIG // ftH8L7s9xv9wV+G22qyKt6lmKLjFK1yMw4Ni5fMabcgm -// SIG // zRvSjAcbqgp3tk4a8emaaH0rz8MuuIP+yrxtREPXSqL/ -// SIG // C5bzMzsikuDW9xH10graZzSmPjilzpRfRdu20/9UQmC7 -// SIG // eVPZ4j1WNa1oqPHfzET3ChIzJ6Q9G3NPCB+7KwX0OQmK -// SIG // yv7IDimj8U/GlsHD1z+EF/fYMf8YXG15LamaOAohsw/y -// SIG // wO6SYSreVW+5Y0mzJutnBC9Cm9ozj1+/4kqksrlhZgR/ -// SIG // CSxhFH3BTweH8gP2FEISRtShDZbuYymynY1un+RyfiK9 -// SIG // +iVTLdD1h/SxyxDpZMtimb4CgJQlMYIZNTCCGTECAQEw -// SIG // WDBBMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZIm -// SIG // iZPyLGQBGRYDQU1FMRUwEwYDVQQDEwxBTUUgQ1MgQ0Eg -// SIG // MDECEzYAAAGp1pAwZkPbH4IAAgAAAakwDQYJYIZIAWUD -// SIG // BAIBBQCgga4wGQYJKoZIhvcNAQkDMQwGCisGAQQBgjcC -// SIG // AQQwHAYKKwYBBAGCNwIBCzEOMAwGCisGAQQBgjcCARUw -// SIG // LwYJKoZIhvcNAQkEMSIEIEgzLPlSRdtRALewHjk0YF65 -// SIG // k1BN+zhlWpF7dpatkUNNMEIGCisGAQQBgjcCAQwxNDAy -// SIG // oBSAEgBNAGkAYwByAG8AcwBvAGYAdKEagBhodHRwOi8v -// SIG // d3d3Lm1pY3Jvc29mdC5jb20wDQYJKoZIhvcNAQEBBQAE -// SIG // ggEAo7s9H4+5ZCFpGU+mzKmSZNKGszg3RSKhV5NPmrAP -// SIG // MIUNLJvqKkNJ/782HHPkUqa5fxJpeKTY4oRyv2Jr8Edf -// SIG // eB/84/cwhtKbj+TLdHX4mro+OKoQmOC6MvxT3Jg/lWsT -// SIG // qiYJoRQ1hajAdRsZ8ukon3JoSdQRTcQOjchiX5p+VarN -// SIG // LQlesuKl8srWej8Col6ASZNierCPh7Zep+8YnDQGxwXt -// SIG // 9PvGetnUTF/4kw42UQNn8kABdhJYfpuveqXIfAarCLgG -// SIG // Ev3PTG0dA/c2oqHlqwZw/BBOL4LbVEbGFGfY4L3j8Pgc -// SIG // axN+CvwzXA6YQWIRcrp+KnTSQoenP051gteIhaGCFv0w -// SIG // ghb5BgorBgEEAYI3AwMBMYIW6TCCFuUGCSqGSIb3DQEH -// SIG // AqCCFtYwghbSAgEDMQ8wDQYJYIZIAWUDBAIBBQAwggFR -// SIG // BgsqhkiG9w0BCRABBKCCAUAEggE8MIIBOAIBAQYKKwYB -// SIG // BAGEWQoDATAxMA0GCWCGSAFlAwQCAQUABCC3cDSDpi62 -// SIG // ZHR/9yf8bEyPbB6XeS1AF23Ph/1CEGjCVAIGY2z2CHbT -// SIG // GBMyMDIyMTEyMDA3NDQ0NC4xMzVaMASAAgH0oIHQpIHN -// SIG // MIHKMQswCQYDVQQGEwJVUzETMBEGA1UECBMKV2FzaGlu -// SIG // Z3RvbjEQMA4GA1UEBxMHUmVkbW9uZDEeMBwGA1UEChMV -// SIG // TWljcm9zb2Z0IENvcnBvcmF0aW9uMSUwIwYDVQQLExxN -// SIG // aWNyb3NvZnQgQW1lcmljYSBPcGVyYXRpb25zMSYwJAYD -// SIG // VQQLEx1UaGFsZXMgVFNTIEVTTjpENkJELUUzRTctMTY4 -// SIG // NTElMCMGA1UEAxMcTWljcm9zb2Z0IFRpbWUtU3RhbXAg -// SIG // U2VydmljZaCCEVQwggcMMIIE9KADAgECAhMzAAABx/sA -// SIG // oEpb8ifcAAEAAAHHMA0GCSqGSIb3DQEBCwUAMHwxCzAJ +// SIG // bkF1dGhvcml0eTAdBgNVHQ4EFgQUUchb+1j7hxhVLQdr +// SIG // TBwsRVxqi/IwDgYDVR0PAQH/BAQDAgeAMEUGA1UdEQQ+ +// SIG // MDykOjA4MR4wHAYDVQQLExVNaWNyb3NvZnQgQ29ycG9y +// SIG // YXRpb24xFjAUBgNVBAUTDTIzNjE2Nys0NzA4NjAwggHm +// SIG // BgNVHR8EggHdMIIB2TCCAdWgggHRoIIBzYY/aHR0cDov +// SIG // L2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9B +// SIG // TUUlMjBDUyUyMENBJTIwMDEoMikuY3JshjFodHRwOi8v +// SIG // Y3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBDUyUyMENBJTIw +// SIG // MDEoMikuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2Ny +// SIG // bC9BTUUlMjBDUyUyMENBJTIwMDEoMikuY3JshjFodHRw +// SIG // Oi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBDUyUyMENB +// SIG // JTIwMDEoMikuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2Js +// SIG // L2NybC9BTUUlMjBDUyUyMENBJTIwMDEoMikuY3JshoG9 +// SIG // bGRhcDovLy9DTj1BTUUlMjBDUyUyMENBJTIwMDEoMiks +// SIG // Q049QlkyUEtJQ1NDQTAxLENOPUNEUCxDTj1QdWJsaWMl +// SIG // MjBLZXklMjBTZXJ2aWNlcyxDTj1TZXJ2aWNlcyxDTj1D +// SIG // b25maWd1cmF0aW9uLERDPUFNRSxEQz1HQkw/Y2VydGlm +// SIG // aWNhdGVSZXZvY2F0aW9uTGlzdD9iYXNlP29iamVjdENs +// SIG // YXNzPWNSTERpc3RyaWJ1dGlvblBvaW50MB8GA1UdIwQY +// SIG // MBaAFJZRhOBrb3v+2Aarw/KF5imuavnUMB8GA1UdJQQY +// SIG // MBYGCisGAQQBgjdbAQEGCCsGAQUFBwMDMA0GCSqGSIb3 +// SIG // DQEBCwUAA4IBAQAOoFAbE6qv+1RAKHjMn56sREYNiKvh +// SIG // i11baGKOgpeVXuKztX5x9fQ2/DpXdUOkVe0w6cVoute2 +// SIG // 4WQACXKU+8ANjEMqaJq5DqsR52Q86V6LvjUQwMSfNgnj +// SIG // nb+mktUX1s8gNAQ2NUWsqG+Q0cmKbEGNFjnbsFvCKgDH +// SIG // OFHVJaYb5tNCU0nkWkMn1aA0y78u2wLvaQhSSx3I2A8O +// SIG // WLXWXahlAhV8ZEF04UatM/QwA5DubCgiUwK/TCXfRohY +// SIG // IouOD4h4MQ533o0sC3kVzvhSXdk2DXmgyBqzHrP+tJPQ +// SIG // A8IK5AJweyeJrKpdN39ZxV961rru4GXgQMfZ4L6+5v09 +// SIG // zP/7MIII6DCCBtCgAwIBAgITHwAAAFHqj/accwyoOwAA +// SIG // AAAAUTANBgkqhkiG9w0BAQsFADA8MRMwEQYKCZImiZPy +// SIG // LGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRAw +// SIG // DgYDVQQDEwdhbWVyb290MB4XDTIxMDUyMTE4NDQxNFoX +// SIG // DTI2MDUyMTE4NTQxNFowQTETMBEGCgmSJomT8ixkARkW +// SIG // A0dCTDETMBEGCgmSJomT8ixkARkWA0FNRTEVMBMGA1UE +// SIG // AxMMQU1FIENTIENBIDAxMIIBIjANBgkqhkiG9w0BAQEF +// SIG // AAOCAQ8AMIIBCgKCAQEAyZpSCX0Bno1W1yqXMhT6BUlJ +// SIG // ZWpa4p3xFeiTHO4vm2Q6C/azR5xwxnyYHrkSGDtS2P9X +// SIG // +KDE64V20mmEQkubxnPNeOVnE2RvdPGxgwlq+BhS3ONd +// SIG // VsQPj79q7XgHM9HhzB9+qk0PC9KN1zm9p/seyiRS6JF1 +// SIG // dbOqRf1pUl7FAVxmgiCFgV8hHIb/rDPXig7FDi3S0yEx +// SIG // 2CUDVpIq8jEhG8anUFE1WYxM+ni0S5KHwwKPKV4qyGDo +// SIG // DO+9AmDoma3Chyu5WDlW5cdtqXTWsGPE3umtnX6Amlld +// SIG // UFLms4OVR4guKf+n5LIBCC6bTiocfXPomqYjYTKx7AGM +// SIG // faVLaaXmhQIDAQABo4IE3DCCBNgwEgYJKwYBBAGCNxUB +// SIG // BAUCAwIAAjAjBgkrBgEEAYI3FQIEFgQUEmgkQiFHy9Rr +// SIG // vjHPIKTACyN/P0cwHQYDVR0OBBYEFJZRhOBrb3v+2Aar +// SIG // w/KF5imuavnUMIIBBAYDVR0lBIH8MIH5BgcrBgEFAgMF +// SIG // BggrBgEFBQcDAQYIKwYBBQUHAwIGCisGAQQBgjcUAgEG +// SIG // CSsGAQQBgjcVBgYKKwYBBAGCNwoDDAYJKwYBBAGCNxUG +// SIG // BggrBgEFBQcDCQYIKwYBBQUIAgIGCisGAQQBgjdAAQEG +// SIG // CysGAQQBgjcKAwQBBgorBgEEAYI3CgMEBgkrBgEEAYI3 +// SIG // FQUGCisGAQQBgjcUAgIGCisGAQQBgjcUAgMGCCsGAQUF +// SIG // BwMDBgorBgEEAYI3WwEBBgorBgEEAYI3WwIBBgorBgEE +// SIG // AYI3WwMBBgorBgEEAYI3WwUBBgorBgEEAYI3WwQBBgor +// SIG // BgEEAYI3WwQCMBkGCSsGAQQBgjcUAgQMHgoAUwB1AGIA +// SIG // QwBBMAsGA1UdDwQEAwIBhjASBgNVHRMBAf8ECDAGAQH/ +// SIG // AgEAMB8GA1UdIwQYMBaAFCleUV5krjS566ycDaeMdQHR +// SIG // CQsoMIIBaAYDVR0fBIIBXzCCAVswggFXoIIBU6CCAU+G +// SIG // MWh0dHA6Ly9jcmwubWljcm9zb2Z0LmNvbS9wa2lpbmZy +// SIG // YS9jcmwvYW1lcm9vdC5jcmyGI2h0dHA6Ly9jcmwyLmFt +// SIG // ZS5nYmwvY3JsL2FtZXJvb3QuY3JshiNodHRwOi8vY3Js +// SIG // My5hbWUuZ2JsL2NybC9hbWVyb290LmNybIYjaHR0cDov +// SIG // L2NybDEuYW1lLmdibC9jcmwvYW1lcm9vdC5jcmyGgaps +// SIG // ZGFwOi8vL0NOPWFtZXJvb3QsQ049QU1FUm9vdCxDTj1D +// SIG // RFAsQ049UHVibGljJTIwS2V5JTIwU2VydmljZXMsQ049 +// SIG // U2VydmljZXMsQ049Q29uZmlndXJhdGlvbixEQz1BTUUs +// SIG // REM9R0JMP2NlcnRpZmljYXRlUmV2b2NhdGlvbkxpc3Q/ +// SIG // YmFzZT9vYmplY3RDbGFzcz1jUkxEaXN0cmlidXRpb25Q +// SIG // b2ludDCCAasGCCsGAQUFBwEBBIIBnTCCAZkwRwYIKwYB +// SIG // BQUHMAKGO2h0dHA6Ly9jcmwubWljcm9zb2Z0LmNvbS9w +// SIG // a2lpbmZyYS9jZXJ0cy9BTUVSb290X2FtZXJvb3QuY3J0 +// SIG // MDcGCCsGAQUFBzAChitodHRwOi8vY3JsMi5hbWUuZ2Js +// SIG // L2FpYS9BTUVSb290X2FtZXJvb3QuY3J0MDcGCCsGAQUF +// SIG // BzAChitodHRwOi8vY3JsMy5hbWUuZ2JsL2FpYS9BTUVS +// SIG // b290X2FtZXJvb3QuY3J0MDcGCCsGAQUFBzAChitodHRw +// SIG // Oi8vY3JsMS5hbWUuZ2JsL2FpYS9BTUVSb290X2FtZXJv +// SIG // b3QuY3J0MIGiBggrBgEFBQcwAoaBlWxkYXA6Ly8vQ049 +// SIG // YW1lcm9vdCxDTj1BSUEsQ049UHVibGljJTIwS2V5JTIw +// SIG // U2VydmljZXMsQ049U2VydmljZXMsQ049Q29uZmlndXJh +// SIG // dGlvbixEQz1BTUUsREM9R0JMP2NBQ2VydGlmaWNhdGU/ +// SIG // YmFzZT9vYmplY3RDbGFzcz1jZXJ0aWZpY2F0aW9uQXV0 +// SIG // aG9yaXR5MA0GCSqGSIb3DQEBCwUAA4ICAQBQECO3Tw/o +// SIG // 317Rrd7yadqcswPx1LvIYymkaTN6KcmuRt6HKa0Xe73U +// SIG // x2/AQ30TfgA9GBJngweRykKBusRzyOU17iIubJvy3gA2 +// SIG // 1dwtqtB0DsoEv1U/ptVu2v++doTCJ/i+GbssVXkgaX8H +// SIG // +6EOGEmT4evp4GbwR4HwWlc+Dvf8HH8PdUA2Z04CvcwI +// SIG // fckSipbNm84jxJ8XjmTFTWscldL9edj2NsY6iGnyJFIy +// SIG // ur2PS7VRYyV3p1VAJp91gj1jRQtWEyCB8P5g9nE3z8u0 +// SIG // ANaU/hjwEQCrdGyravWgnf2JtG+bT26YAokbc8m+32zU +// SIG // tXRO+NK3tAjhOu2FdsG3qNrF4sc7y37R/C+7Pcb/cFfh +// SIG // ttqsirepZii4xStcjMODYuXzGm3IJs0b0owHG6oKd7ZO +// SIG // GvHpmmh9K8/DLriD/sq8bURD10qi/wuW8zM7IpLg1vcR +// SIG // 9dIK2mc0pj44pc6UX0XbttP/VEJgu3lT2eI9VjWtaKjx +// SIG // 38xE9woSMyekPRtzTwgfuysF9DkJisr+yA4po/FPxpbB +// SIG // w9c/hBf32DH/GFxteS2pmjgKIbMP8sDukmEq3lVvuWNJ +// SIG // sybrZwQvQpvaM49fv+JKpLK5YWYEfwksYRR9wU8Hh/ID +// SIG // 9hRCEkbUoQ2W7mMpsp2Nbp/kcn4ivfolUy3Q9Yf0scsQ +// SIG // 6WTLYpm+AoCUJTGCGTUwghkxAgEBMFgwQTETMBEGCgmS +// SIG // JomT8ixkARkWA0dCTDETMBEGCgmSJomT8ixkARkWA0FN +// SIG // RTEVMBMGA1UEAxMMQU1FIENTIENBIDAxAhM2AAABqFMr +// SIG // 1lCrrLlTAAIAAAGoMA0GCWCGSAFlAwQCAQUAoIGuMBkG +// SIG // CSqGSIb3DQEJAzEMBgorBgEEAYI3AgEEMBwGCisGAQQB +// SIG // gjcCAQsxDjAMBgorBgEEAYI3AgEVMC8GCSqGSIb3DQEJ +// SIG // BDEiBCBjRLYF14HDc56jvQAj1c/QH6Ok/nZz0hMCsCKZ +// SIG // Z76EhDBCBgorBgEEAYI3AgEMMTQwMqAUgBIATQBpAGMA +// SIG // cgBvAHMAbwBmAHShGoAYaHR0cDovL3d3dy5taWNyb3Nv +// SIG // ZnQuY29tMA0GCSqGSIb3DQEBAQUABIIBAIS+c42bOiEJ +// SIG // uQm4GLm2goBw8vLg23FrpNm95muZplv7Z1kIND9FN4kM +// SIG // K78rEpqfFgsz9PDvRpKDp0p/gmDaAeNcaDerca2Rfsab +// SIG // uyk4cHU2FHvRka1LuJewRO1n7W92FbeDdN/WrR81VSLq +// SIG // 5FaWCXH+GdIRXVM4inLo22uVhxBn5Oyn4SxVuSuBFPSN +// SIG // q2jz7kYlOTSCkQVmj2CnyHVzwUov4r5RCJGTWQW6j4lb +// SIG // UXPhKvoP2Tjtp+MC29DWJFgO60lYe3ihsUtdOb21KHg1 +// SIG // lPWovJIb8BtQTwbcidFV3WAFUFwS2hHJ/X6pEZ9W4Jks +// SIG // bHdP2S0bd/U8xg17TUuSQyChghb9MIIW+QYKKwYBBAGC +// SIG // NwMDATGCFukwghblBgkqhkiG9w0BBwKgghbWMIIW0gIB +// SIG // AzEPMA0GCWCGSAFlAwQCAQUAMIIBUQYLKoZIhvcNAQkQ +// SIG // AQSgggFABIIBPDCCATgCAQEGCisGAQQBhFkKAwEwMTAN +// SIG // BglghkgBZQMEAgEFAAQg/ZMAqe6x9fkTf00oQUJdUGoT +// SIG // oUvevXnPC0muAJQCF6YCBmPmYpKr+BgTMjAyMzAyMTMx +// SIG // MjIzNDMuNjcxWjAEgAIB9KCB0KSBzTCByjELMAkGA1UE +// SIG // BhMCVVMxEzARBgNVBAgTCldhc2hpbmd0b24xEDAOBgNV +// SIG // BAcTB1JlZG1vbmQxHjAcBgNVBAoTFU1pY3Jvc29mdCBD +// SIG // b3Jwb3JhdGlvbjElMCMGA1UECxMcTWljcm9zb2Z0IEFt +// SIG // ZXJpY2EgT3BlcmF0aW9uczEmMCQGA1UECxMdVGhhbGVz +// SIG // IFRTUyBFU046M0U3QS1FMzU5LUEyNUQxJTAjBgNVBAMT +// SIG // HE1pY3Jvc29mdCBUaW1lLVN0YW1wIFNlcnZpY2WgghFU +// SIG // MIIHDDCCBPSgAwIBAgITMwAAAcn61Y4lIHQCXgABAAAB +// SIG // yTANBgkqhkiG9w0BAQsFADB8MQswCQYDVQQGEwJVUzET +// SIG // MBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVk +// SIG // bW9uZDEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0 +// SIG // aW9uMSYwJAYDVQQDEx1NaWNyb3NvZnQgVGltZS1TdGFt +// SIG // cCBQQ0EgMjAxMDAeFw0yMjExMDQxOTAxMzhaFw0yNDAy +// SIG // MDIxOTAxMzhaMIHKMQswCQYDVQQGEwJVUzETMBEGA1UE +// SIG // CBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9uZDEe +// SIG // MBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMSUw +// SIG // IwYDVQQLExxNaWNyb3NvZnQgQW1lcmljYSBPcGVyYXRp +// SIG // b25zMSYwJAYDVQQLEx1UaGFsZXMgVFNTIEVTTjozRTdB +// SIG // LUUzNTktQTI1RDElMCMGA1UEAxMcTWljcm9zb2Z0IFRp +// SIG // bWUtU3RhbXAgU2VydmljZTCCAiIwDQYJKoZIhvcNAQEB +// SIG // BQADggIPADCCAgoCggIBANZy4uWOb8/CvlqMYZO6hlv7 +// SIG // wsYuXrkzNNU4hGxThvIO0hQdFTI2IKOk4kc4DkPgjedz +// SIG // gTipcjB1s0S+Mb2ktN2ZSIHrSCC2IgEqILBLZY8xJURz +// SIG // u3wxgxVnHc/pQjWJiaM7WxtzzK58W5VBx1JK+AuxAR29 +// SIG // mNOxneRiQYD/PuQGTbE5bBxnMx7OOZpj+61IHDJ//3PE +// SIG // PxmEqnU+DlxC6ed4ffRJ8heM3LHdmRY8XY9ZT/EBsGWU +// SIG // uBfNiQRntqQq0mpMhY08cxSlDsHEHq8AUf2GkJcu5rQq +// SIG // 2uDzXMhEJvp/yw3Hv1VYkGvDjNpwWRysOgsjKhMxSScu +// SIG // R4s8/Gesa6qiyrYvL4iVENBbapE10kd//8PDwCsgZbyG +// SIG // ExRfy8tyYd3G1XjoEprmzlcL/JzHoXEG9gLcXFP5XchF +// SIG // KsvP7YRByFjWm8x18eTvQ+G7UuqCXYC5h8a0wbRrHFUK +// SIG // sdM+f31CJCxO7W8H6KvOHBf1ESxMsN6ueyldlOIDoXN+ +// SIG // el2BFUHSV6OlRVgUA2G82p0Nuc2NtVApI/NtQsg/dIKq +// SIG // zt60D5XEKOnq8Ftgxdn7JoAG1as0LM+kZJmn8+K3te5J +// SIG // u6ntPT7sB8OXt8eWSBhKFZXzZyb+vvOdbsCl+gKWRcT8 +// SIG // 3kKO1v+QbWk5pGRIcGOQHQj4D79GmiBEJ9qhezLxcAnL +// SIG // AgMBAAGjggE2MIIBMjAdBgNVHQ4EFgQUBW+dZ0bCPKG+ +// SIG // eDoUxXlRe0QuMsswHwYDVR0jBBgwFoAUn6cVXQBeYl2D +// SIG // 9OXSZacbUzUZ6XIwXwYDVR0fBFgwVjBUoFKgUIZOaHR0 +// SIG // cDovL3d3dy5taWNyb3NvZnQuY29tL3BraW9wcy9jcmwv +// SIG // TWljcm9zb2Z0JTIwVGltZS1TdGFtcCUyMFBDQSUyMDIw +// SIG // MTAoMSkuY3JsMGwGCCsGAQUFBwEBBGAwXjBcBggrBgEF +// SIG // BQcwAoZQaHR0cDovL3d3dy5taWNyb3NvZnQuY29tL3Br +// SIG // aW9wcy9jZXJ0cy9NaWNyb3NvZnQlMjBUaW1lLVN0YW1w +// SIG // JTIwUENBJTIwMjAxMCgxKS5jcnQwDAYDVR0TAQH/BAIw +// SIG // ADATBgNVHSUEDDAKBggrBgEFBQcDCDANBgkqhkiG9w0B +// SIG // AQsFAAOCAgEANqi6nGbfR4pCB3I+wJZx4Y6LsUozngWk +// SIG // xPhCvGl3FS5vXAPA9v2WNjlKWLznYbgxFfYRJVZs6KYi +// SIG // bpP8QWIenViU0YZku4VY6xras0hVtC337EcrI8ZKbqso +// SIG // R4gQ8TFzBmehnc1H6lT9mXdjvifwWECYLPTR2M/wjOF2 +// SIG // kT/k9lTNyRNZkjtai2vpnweNu0Ii4/yQu01GIIeEWPqC +// SIG // zBVbkCWb12Jf4yExX1KaSaAGpAa9FXNq9ZD+Q4iWjb2V +// SIG // if3LmGolkOJPcacOsBs96qu8QFp5Rs7GsMBYY7cKuRB/ +// SIG // 7N+ywn3ocrgsPGUSfVt7YEhXqQFTO7FBPj691Lvoj7wV +// SIG // eE7EwzRS9AlSD1/tVziemERmCdpBxqaBnP+bIANiCkHJ +// SIG // fe2Q2CSKosYMCjX7cje9DtAE26U1YbGzdNRVZYtB/r4H +// SIG // Bocs5Oo6QMsBzw0kP8aBHhlOPujxU1zETv3zMxnFHH9G +// SIG // R6mTJtFIaB/LTrZNfJOge+SiV07WN2TO6U37q0r9kK7+ +// SIG // c8wgYssrLTj8PyCSPpPaKU4Grawt/S+vfysMrQ9Me7dI +// SIG // 5k17ZS2Whr6EpY3csq+kA0VZKrAmi1EkrAIlnmr+aoOu +// SIG // FN5i5nnpKNBPUyecs7Tf43Is5R8dF7IDrjerLm9wj1ew +// SIG // ADDIiqKXUGKoj17vSMb6l0+whP0jAtqXDckwggdxMIIF +// SIG // WaADAgECAhMzAAAAFcXna54Cm0mZAAAAAAAVMA0GCSqG +// SIG // SIb3DQEBCwUAMIGIMQswCQYDVQQGEwJVUzETMBEGA1UE +// SIG // CBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9uZDEe +// SIG // MBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMTIw +// SIG // MAYDVQQDEylNaWNyb3NvZnQgUm9vdCBDZXJ0aWZpY2F0 +// SIG // ZSBBdXRob3JpdHkgMjAxMDAeFw0yMTA5MzAxODIyMjVa +// SIG // Fw0zMDA5MzAxODMyMjVaMHwxCzAJBgNVBAYTAlVTMRMw +// SIG // EQYDVQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRt +// SIG // b25kMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRp +// SIG // b24xJjAkBgNVBAMTHU1pY3Jvc29mdCBUaW1lLVN0YW1w +// SIG // IFBDQSAyMDEwMIICIjANBgkqhkiG9w0BAQEFAAOCAg8A +// SIG // MIICCgKCAgEA5OGmTOe0ciELeaLL1yR5vQ7VgtP97pwH +// SIG // B9KpbE51yMo1V/YBf2xK4OK9uT4XYDP/XE/HZveVU3Fa +// SIG // 4n5KWv64NmeFRiMMtY0Tz3cywBAY6GB9alKDRLemjkZr +// SIG // BxTzxXb1hlDcwUTIcVxRMTegCjhuje3XD9gmU3w5YQJ6 +// SIG // xKr9cmmvHaus9ja+NSZk2pg7uhp7M62AW36MEBydUv62 +// SIG // 6GIl3GoPz130/o5Tz9bshVZN7928jaTjkY+yOSxRnOlw +// SIG // aQ3KNi1wjjHINSi947SHJMPgyY9+tVSP3PoFVZhtaDua +// SIG // Rr3tpK56KTesy+uDRedGbsoy1cCGMFxPLOJiss254o2I +// SIG // 5JasAUq7vnGpF1tnYN74kpEeHT39IM9zfUGaRnXNxF80 +// SIG // 3RKJ1v2lIH1+/NmeRd+2ci/bfV+AutuqfjbsNkz2K26o +// SIG // ElHovwUDo9Fzpk03dJQcNIIP8BDyt0cY7afomXw/TNuv +// SIG // XsLz1dhzPUNOwTM5TI4CvEJoLhDqhFFG4tG9ahhaYQFz +// SIG // ymeiXtcodgLiMxhy16cg8ML6EgrXY28MyTZki1ugpoMh +// SIG // XV8wdJGUlNi5UPkLiWHzNgY1GIRH29wb0f2y1BzFa/Zc +// SIG // UlFdEtsluq9QBXpsxREdcu+N+VLEhReTwDwV2xo3xwgV +// SIG // GD94q0W29R6HXtqPnhZyacaue7e3PmriLq0CAwEAAaOC +// SIG // Ad0wggHZMBIGCSsGAQQBgjcVAQQFAgMBAAEwIwYJKwYB +// SIG // BAGCNxUCBBYEFCqnUv5kxJq+gpE8RjUpzxD/LwTuMB0G +// SIG // A1UdDgQWBBSfpxVdAF5iXYP05dJlpxtTNRnpcjBcBgNV +// SIG // HSAEVTBTMFEGDCsGAQQBgjdMg30BATBBMD8GCCsGAQUF +// SIG // BwIBFjNodHRwOi8vd3d3Lm1pY3Jvc29mdC5jb20vcGtp +// SIG // b3BzL0RvY3MvUmVwb3NpdG9yeS5odG0wEwYDVR0lBAww +// SIG // CgYIKwYBBQUHAwgwGQYJKwYBBAGCNxQCBAweCgBTAHUA +// SIG // YgBDAEEwCwYDVR0PBAQDAgGGMA8GA1UdEwEB/wQFMAMB +// SIG // Af8wHwYDVR0jBBgwFoAU1fZWy4/oolxiaNE9lJBb186a +// SIG // GMQwVgYDVR0fBE8wTTBLoEmgR4ZFaHR0cDovL2NybC5t +// SIG // aWNyb3NvZnQuY29tL3BraS9jcmwvcHJvZHVjdHMvTWlj +// SIG // Um9vQ2VyQXV0XzIwMTAtMDYtMjMuY3JsMFoGCCsGAQUF +// SIG // BwEBBE4wTDBKBggrBgEFBQcwAoY+aHR0cDovL3d3dy5t +// SIG // aWNyb3NvZnQuY29tL3BraS9jZXJ0cy9NaWNSb29DZXJB +// SIG // dXRfMjAxMC0wNi0yMy5jcnQwDQYJKoZIhvcNAQELBQAD +// SIG // ggIBAJ1VffwqreEsH2cBMSRb4Z5yS/ypb+pcFLY+Tkdk +// SIG // eLEGk5c9MTO1OdfCcTY/2mRsfNB1OW27DzHkwo/7bNGh +// SIG // lBgi7ulmZzpTTd2YurYeeNg2LpypglYAA7AFvonoaeC6 +// SIG // Ce5732pvvinLbtg/SHUB2RjebYIM9W0jVOR4U3UkV7nd +// SIG // n/OOPcbzaN9l9qRWqveVtihVJ9AkvUCgvxm2EhIRXT0n +// SIG // 4ECWOKz3+SmJw7wXsFSFQrP8DJ6LGYnn8AtqgcKBGUIZ +// SIG // UnWKNsIdw2FzLixre24/LAl4FOmRsqlb30mjdAy87JGA +// SIG // 0j3mSj5mO0+7hvoyGtmW9I/2kQH2zsZ0/fZMcm8Qq3Uw +// SIG // xTSwethQ/gpY3UA8x1RtnWN0SCyxTkctwRQEcb9k+SS+ +// SIG // c23Kjgm9swFXSVRk2XPXfx5bRAGOWhmRaw2fpCjcZxko +// SIG // JLo4S5pu+yFUa2pFEUep8beuyOiJXk+d0tBMdrVXVAmx +// SIG // aQFEfnyhYWxz/gq77EFmPWn9y8FBSX5+k77L+DvktxW/ +// SIG // tM4+pTFRhLy/AsGConsXHRWJjXD+57XQKBqJC4822rpM +// SIG // +Zv/Cuk0+CQ1ZyvgDbjmjJnW4SLq8CdCPSWU5nR0W2rR +// SIG // nj7tfqAxM328y+l7vzhwRNGQ8cirOoo6CGJ/2XBjU02N +// SIG // 7oJtpQUQwXEGahC0HVUzWLOhcGbyoYICyzCCAjQCAQEw +// SIG // gfihgdCkgc0wgcoxCzAJBgNVBAYTAlVTMRMwEQYDVQQI +// SIG // EwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRtb25kMR4w +// SIG // HAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xJTAj +// SIG // BgNVBAsTHE1pY3Jvc29mdCBBbWVyaWNhIE9wZXJhdGlv +// SIG // bnMxJjAkBgNVBAsTHVRoYWxlcyBUU1MgRVNOOjNFN0Et +// SIG // RTM1OS1BMjVEMSUwIwYDVQQDExxNaWNyb3NvZnQgVGlt +// SIG // ZS1TdGFtcCBTZXJ2aWNloiMKAQEwBwYFKw4DAhoDFQB9 +// SIG // 6YvL/h4Bm41ULOBt+nUcVgbdDqCBgzCBgKR+MHwxCzAJ // SIG // BgNVBAYTAlVTMRMwEQYDVQQIEwpXYXNoaW5ndG9uMRAw // SIG // DgYDVQQHEwdSZWRtb25kMR4wHAYDVQQKExVNaWNyb3Nv // SIG // ZnQgQ29ycG9yYXRpb24xJjAkBgNVBAMTHU1pY3Jvc29m -// SIG // dCBUaW1lLVN0YW1wIFBDQSAyMDEwMB4XDTIyMTEwNDE5 -// SIG // MDEzNVoXDTI0MDIwMjE5MDEzNVowgcoxCzAJBgNVBAYT -// SIG // AlVTMRMwEQYDVQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQH -// SIG // EwdSZWRtb25kMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29y -// SIG // cG9yYXRpb24xJTAjBgNVBAsTHE1pY3Jvc29mdCBBbWVy -// SIG // aWNhIE9wZXJhdGlvbnMxJjAkBgNVBAsTHVRoYWxlcyBU -// SIG // U1MgRVNOOkQ2QkQtRTNFNy0xNjg1MSUwIwYDVQQDExxN -// SIG // aWNyb3NvZnQgVGltZS1TdGFtcCBTZXJ2aWNlMIICIjAN -// SIG // BgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAr0LcVtna -// SIG // tNFMBrQTtG9P8ISAPyyGmxNfhEzaOVlt088pBUFAIasm -// SIG // N/eOijE6Ucaf3c2bVnN/02ih0smSqYkm5P3ZwU7ZW202 -// SIG // b6cPDJjXcrjJj0qfnuccBtE3WU0vZ8CiQD7qrKxeF8YB -// SIG // NcS+PVtvsqhd5YW6AwhWqhjw1mYuLetF5b6aPif/3Rzl -// SIG // yqG3SV7QPiSJends7gG435Rsy1HJ4XnqztOJR41I0j3E -// SIG // Q05JMF5QNRi7kT6vXTT+MHVj27FVQ7bef/U+2EAbFj2X -// SIG // 2AOWbvglYaYnM3m/I/OWDHUgGw8KIdsDh3W1eusnF2D7 -// SIG // oenGgtahs+S1G5Uolf5ESg/9Z+38rhQwLgokY5k6p8k5 -// SIG // arYWtszdJK6JiIRl843H74k7+QqlT2LbAQPq8ivQv0gd -// SIG // clW2aJun1KrW+v52R3vAHCOtbUmxvD1eNGHqGqLagtlq -// SIG // 9UFXKXuXnqXJqruCYmfwdFMD0UP6ii1lFdeKL87PdjdA -// SIG // wyCiVcCEoLnvDzyvjNjxtkTdz6R4yF1N/X4PSQH4Flgs -// SIG // lyBIXggaSlPtvPuxAtuac/ITj4k0IRShGiYLBM2Dw6oe -// SIG // sLOoxe07OUPO+qXXOcJMVHhE0MlhhnxfN2B1JWFPWwQ6 -// SIG // ooWiqAOQDqzcDx+79shxA1Cx0K70eOBplMog27gYoLpB -// SIG // v7nRz4tHqoTyvA0CAwEAAaOCATYwggEyMB0GA1UdDgQW -// SIG // BBQFUNLdHD7BAF/VU/X/eEHLiUSSIDAfBgNVHSMEGDAW -// SIG // gBSfpxVdAF5iXYP05dJlpxtTNRnpcjBfBgNVHR8EWDBW -// SIG // MFSgUqBQhk5odHRwOi8vd3d3Lm1pY3Jvc29mdC5jb20v -// SIG // cGtpb3BzL2NybC9NaWNyb3NvZnQlMjBUaW1lLVN0YW1w -// SIG // JTIwUENBJTIwMjAxMCgxKS5jcmwwbAYIKwYBBQUHAQEE -// SIG // YDBeMFwGCCsGAQUFBzAChlBodHRwOi8vd3d3Lm1pY3Jv -// SIG // c29mdC5jb20vcGtpb3BzL2NlcnRzL01pY3Jvc29mdCUy -// SIG // MFRpbWUtU3RhbXAlMjBQQ0ElMjAyMDEwKDEpLmNydDAM -// SIG // BgNVHRMBAf8EAjAAMBMGA1UdJQQMMAoGCCsGAQUFBwMI -// SIG // MA0GCSqGSIb3DQEBCwUAA4ICAQDQy5c8ogP0y8xAsLVc -// SIG // a07wWy1mT+nqYgAFnz2972kNO+KJ7AE4f+SVbvOnkeeu -// SIG // OPq3xc+6TS8g3FuKKYEwYqvnRHxX58tjlscZsZeKnu7f -// SIG // GNUlpNT9bOQFHWALURuoXp8TLHhxj3PEq9jzFYBP2YNM -// SIG // Lol70ojY1qpze3nMMJfpdurdBBpaOLlJmRNTLhxd+RJG -// SIG // JQbY1XAcx6p/FigwqBasSDUxp+0yFPEBB9uBE3KILAtq -// SIG // 6fczGp4EMeon6YmkyCGAtXMKDFQQgdP/ITe7VghAVbPT -// SIG // VlP3hY1dFgc+t8YK2obFSFVKslkASATDHulCMht+WrIs -// SIG // ukclEUP9DaMmpq7S0RLODMicI6PtqqGOhdnaRltA0d+W -// SIG // f+0tPt9SUVtrPJyO7WMPKbykCRXzmHK06zr0kn1YiUYN -// SIG // XCsOgaHF5ImO2ZwQ54UE1I55jjUdldyjy/UPJgxRm9Ny -// SIG // XeO7adYr8K8f6Q2nPF0vWqFG7ewwaAl5ClKerzshfhB8 -// SIG // zujVR0d1Ra7Z01lnXYhWuPqVZayFl7JHr6i6huhpU6BQ -// SIG // 6/VgY0cBiksX4mNM+ISY81T1RYt7fWATNu/zkjINczip -// SIG // zbfg5S+3fCAo8gVB6+6A5L0vBg39dsFITv6MWJuQ8ZZy -// SIG // 7fwlFBZE4d5IFbRudakNwKGdyLGM2otaNq7wm3ku7x41 -// SIG // UGAmkDCCB3EwggVZoAMCAQICEzMAAAAVxedrngKbSZkA -// SIG // AAAAABUwDQYJKoZIhvcNAQELBQAwgYgxCzAJBgNVBAYT -// SIG // AlVTMRMwEQYDVQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQH -// SIG // EwdSZWRtb25kMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29y -// SIG // cG9yYXRpb24xMjAwBgNVBAMTKU1pY3Jvc29mdCBSb290 -// SIG // IENlcnRpZmljYXRlIEF1dGhvcml0eSAyMDEwMB4XDTIx -// SIG // MDkzMDE4MjIyNVoXDTMwMDkzMDE4MzIyNVowfDELMAkG -// SIG // A1UEBhMCVVMxEzARBgNVBAgTCldhc2hpbmd0b24xEDAO -// SIG // BgNVBAcTB1JlZG1vbmQxHjAcBgNVBAoTFU1pY3Jvc29m -// SIG // dCBDb3Jwb3JhdGlvbjEmMCQGA1UEAxMdTWljcm9zb2Z0 -// SIG // IFRpbWUtU3RhbXAgUENBIDIwMTAwggIiMA0GCSqGSIb3 -// SIG // DQEBAQUAA4ICDwAwggIKAoICAQDk4aZM57RyIQt5osvX -// SIG // JHm9DtWC0/3unAcH0qlsTnXIyjVX9gF/bErg4r25Phdg -// SIG // M/9cT8dm95VTcVrifkpa/rg2Z4VGIwy1jRPPdzLAEBjo -// SIG // YH1qUoNEt6aORmsHFPPFdvWGUNzBRMhxXFExN6AKOG6N -// SIG // 7dcP2CZTfDlhAnrEqv1yaa8dq6z2Nr41JmTamDu6Gnsz -// SIG // rYBbfowQHJ1S/rboYiXcag/PXfT+jlPP1uyFVk3v3byN -// SIG // pOORj7I5LFGc6XBpDco2LXCOMcg1KL3jtIckw+DJj361 -// SIG // VI/c+gVVmG1oO5pGve2krnopN6zL64NF50ZuyjLVwIYw -// SIG // XE8s4mKyzbnijYjklqwBSru+cakXW2dg3viSkR4dPf0g -// SIG // z3N9QZpGdc3EXzTdEonW/aUgfX782Z5F37ZyL9t9X4C6 -// SIG // 26p+Nuw2TPYrbqgSUei/BQOj0XOmTTd0lBw0gg/wEPK3 -// SIG // Rxjtp+iZfD9M269ewvPV2HM9Q07BMzlMjgK8QmguEOqE -// SIG // UUbi0b1qGFphAXPKZ6Je1yh2AuIzGHLXpyDwwvoSCtdj -// SIG // bwzJNmSLW6CmgyFdXzB0kZSU2LlQ+QuJYfM2BjUYhEfb -// SIG // 3BvR/bLUHMVr9lxSUV0S2yW6r1AFemzFER1y7435UsSF -// SIG // F5PAPBXbGjfHCBUYP3irRbb1Hode2o+eFnJpxq57t7c+ -// SIG // auIurQIDAQABo4IB3TCCAdkwEgYJKwYBBAGCNxUBBAUC -// SIG // AwEAATAjBgkrBgEEAYI3FQIEFgQUKqdS/mTEmr6CkTxG -// SIG // NSnPEP8vBO4wHQYDVR0OBBYEFJ+nFV0AXmJdg/Tl0mWn -// SIG // G1M1GelyMFwGA1UdIARVMFMwUQYMKwYBBAGCN0yDfQEB -// SIG // MEEwPwYIKwYBBQUHAgEWM2h0dHA6Ly93d3cubWljcm9z -// SIG // b2Z0LmNvbS9wa2lvcHMvRG9jcy9SZXBvc2l0b3J5Lmh0 -// SIG // bTATBgNVHSUEDDAKBggrBgEFBQcDCDAZBgkrBgEEAYI3 -// SIG // FAIEDB4KAFMAdQBiAEMAQTALBgNVHQ8EBAMCAYYwDwYD -// SIG // VR0TAQH/BAUwAwEB/zAfBgNVHSMEGDAWgBTV9lbLj+ii -// SIG // XGJo0T2UkFvXzpoYxDBWBgNVHR8ETzBNMEugSaBHhkVo -// SIG // dHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpL2NybC9w -// SIG // cm9kdWN0cy9NaWNSb29DZXJBdXRfMjAxMC0wNi0yMy5j -// SIG // cmwwWgYIKwYBBQUHAQEETjBMMEoGCCsGAQUFBzAChj5o -// SIG // dHRwOi8vd3d3Lm1pY3Jvc29mdC5jb20vcGtpL2NlcnRz -// SIG // L01pY1Jvb0NlckF1dF8yMDEwLTA2LTIzLmNydDANBgkq -// SIG // hkiG9w0BAQsFAAOCAgEAnVV9/Cqt4SwfZwExJFvhnnJL -// SIG // /Klv6lwUtj5OR2R4sQaTlz0xM7U518JxNj/aZGx80HU5 -// SIG // bbsPMeTCj/ts0aGUGCLu6WZnOlNN3Zi6th542DYunKmC -// SIG // VgADsAW+iehp4LoJ7nvfam++Kctu2D9IdQHZGN5tggz1 -// SIG // bSNU5HhTdSRXud2f8449xvNo32X2pFaq95W2KFUn0CS9 -// SIG // QKC/GbYSEhFdPSfgQJY4rPf5KYnDvBewVIVCs/wMnosZ -// SIG // iefwC2qBwoEZQhlSdYo2wh3DYXMuLGt7bj8sCXgU6ZGy -// SIG // qVvfSaN0DLzskYDSPeZKPmY7T7uG+jIa2Zb0j/aRAfbO -// SIG // xnT99kxybxCrdTDFNLB62FD+CljdQDzHVG2dY3RILLFO -// SIG // Ry3BFARxv2T5JL5zbcqOCb2zAVdJVGTZc9d/HltEAY5a -// SIG // GZFrDZ+kKNxnGSgkujhLmm77IVRrakURR6nxt67I6Ile -// SIG // T53S0Ex2tVdUCbFpAUR+fKFhbHP+CrvsQWY9af3LwUFJ -// SIG // fn6Tvsv4O+S3Fb+0zj6lMVGEvL8CwYKiexcdFYmNcP7n -// SIG // tdAoGokLjzbaukz5m/8K6TT4JDVnK+ANuOaMmdbhIurw -// SIG // J0I9JZTmdHRbatGePu1+oDEzfbzL6Xu/OHBE0ZDxyKs6 -// SIG // ijoIYn/ZcGNTTY3ugm2lBRDBcQZqELQdVTNYs6FwZvKh -// SIG // ggLLMIICNAIBATCB+KGB0KSBzTCByjELMAkGA1UEBhMC -// SIG // VVMxEzARBgNVBAgTCldhc2hpbmd0b24xEDAOBgNVBAcT -// SIG // B1JlZG1vbmQxHjAcBgNVBAoTFU1pY3Jvc29mdCBDb3Jw -// SIG // b3JhdGlvbjElMCMGA1UECxMcTWljcm9zb2Z0IEFtZXJp -// SIG // Y2EgT3BlcmF0aW9uczEmMCQGA1UECxMdVGhhbGVzIFRT -// SIG // UyBFU046RDZCRC1FM0U3LTE2ODUxJTAjBgNVBAMTHE1p -// SIG // Y3Jvc29mdCBUaW1lLVN0YW1wIFNlcnZpY2WiIwoBATAH -// SIG // BgUrDgMCGgMVAOIASP0JSbv5R23wxciQivHyckYooIGD -// SIG // MIGApH4wfDELMAkGA1UEBhMCVVMxEzARBgNVBAgTCldh -// SIG // c2hpbmd0b24xEDAOBgNVBAcTB1JlZG1vbmQxHjAcBgNV -// SIG // BAoTFU1pY3Jvc29mdCBDb3Jwb3JhdGlvbjEmMCQGA1UE -// SIG // AxMdTWljcm9zb2Z0IFRpbWUtU3RhbXAgUENBIDIwMTAw -// SIG // DQYJKoZIhvcNAQEFBQACBQDnI/oLMCIYDzIwMjIxMTIw -// SIG // MDg1NzQ3WhgPMjAyMjExMjEwODU3NDdaMHQwOgYKKwYB -// SIG // BAGEWQoEATEsMCowCgIFAOcj+gsCAQAwBwIBAAICHBww -// SIG // BwIBAAICEiowCgIFAOclS4sCAQAwNgYKKwYBBAGEWQoE -// SIG // AjEoMCYwDAYKKwYBBAGEWQoDAqAKMAgCAQACAwehIKEK -// SIG // MAgCAQACAwGGoDANBgkqhkiG9w0BAQUFAAOBgQBT0J06 -// SIG // x6PZG4//134XJhg5O4xmWeRezqg2dN507dbDtSo+CLxX -// SIG // H9ES2gCO7yF0PiYpmHD3wCISVhYOqZUQS8fyttZ0c0y3 -// SIG // SxBg3p+areajBqCwlAsA1Jj0P9xFZcIjdKHDmQdLmFV+ -// SIG // PSh+rV/X12A3iS9ApYPkJS3yIjXP4HfR+zGCBA0wggQJ -// SIG // AgEBMIGTMHwxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpX -// SIG // YXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRtb25kMR4wHAYD -// SIG // VQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xJjAkBgNV -// SIG // BAMTHU1pY3Jvc29mdCBUaW1lLVN0YW1wIFBDQSAyMDEw -// SIG // AhMzAAABx/sAoEpb8ifcAAEAAAHHMA0GCWCGSAFlAwQC -// SIG // AQUAoIIBSjAaBgkqhkiG9w0BCQMxDQYLKoZIhvcNAQkQ -// SIG // AQQwLwYJKoZIhvcNAQkEMSIEIDPjs8coVkVPbRmBuFRv -// SIG // rxI3sUvngRnt3OBZCvmJPX/xMIH6BgsqhkiG9w0BCRAC -// SIG // LzGB6jCB5zCB5DCBvQQgR+fl2+JSskULOeVYLbeMgk7H -// SIG // dIbREmAsjwtcy6MJkskwgZgwgYCkfjB8MQswCQYDVQQG -// SIG // EwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UE -// SIG // BxMHUmVkbW9uZDEeMBwGA1UEChMVTWljcm9zb2Z0IENv -// SIG // cnBvcmF0aW9uMSYwJAYDVQQDEx1NaWNyb3NvZnQgVGlt -// SIG // ZS1TdGFtcCBQQ0EgMjAxMAITMwAAAcf7AKBKW/In3AAB -// SIG // AAABxzAiBCAc2zxBUP4w0UoaCVlGQTdUxjMV2MuJl3TI -// SIG // Mgs34gPuaDANBgkqhkiG9w0BAQsFAASCAgBlUsc9c0V+ -// SIG // HDcIQQj9Y4Ub2P93+r/Fy4A32eL7fUnyD19zSC5bvD/r -// SIG // 3HIwoFg+19MJhmHovw3hFs5k5pyehwoSjA3yUX71kjbq -// SIG // QiqUTL1A6XomxjRp74fT+Q0b/CztpyB5OLRH3b3dd/Bi -// SIG // CofsDPzhsJdNxhWrLZQjD4/cbetxXMvN6kbXepug/nqD -// SIG // iloPxzy9hAjHLRo9ontyG5qkM365aNOc3gULdNuvCEiw -// SIG // /qJ3XF/3OcLVaPtL4FLsLBZKWZK0DE92rj66HhjSTiP7 -// SIG // JeC5dJKvU3PwafqiaAuK+UTxWKFo/Pc38d5LONVO3F/S -// SIG // XNlywNSaqTc46cd3a6V/QISNhQvM9G1gPGoK1pW1czlK -// SIG // +upSR4bdf18EQZNr81B9zkN1RK8Qo3kyAxT42Pq+GktX -// SIG // pz2jRRCOnWBcL+JFE2Jwf3vsg9zLPGDrfSsPGdcz3WiE -// SIG // ZchATs23Qv+789h1PFBWXCS6HA2sOgFMyW92i/xj0xPW -// SIG // OpGuXoV3Sz2CpdhB5rVLNvdFiKluwcI3svDTvS5G8vrs -// SIG // te0ZnWIz8BtYigYGWaDIlSo8Dm+kbxM5Y7rYLho3ZHB0 -// SIG // DMnWzJoJko1oX+6n7/L5oyCmE9WVialEn2JNL6Dn852n -// SIG // o497Zeqt9f8oj2UtHJvzxAhHvq1/fNNqdlY1Ws7WlDr2 -// SIG // 9tddA7XPj/kzLA== +// SIG // dCBUaW1lLVN0YW1wIFBDQSAyMDEwMA0GCSqGSIb3DQEB +// SIG // BQUAAgUA55QsqjAiGA8yMDIzMDIxMzExMjczOFoYDzIw +// SIG // MjMwMjE0MTEyNzM4WjB0MDoGCisGAQQBhFkKBAExLDAq +// SIG // MAoCBQDnlCyqAgEAMAcCAQACAgotMAcCAQACAhKYMAoC +// SIG // BQDnlX4qAgEAMDYGCisGAQQBhFkKBAIxKDAmMAwGCisG +// SIG // AQQBhFkKAwKgCjAIAgEAAgMHoSChCjAIAgEAAgMBhqAw +// SIG // DQYJKoZIhvcNAQEFBQADgYEAWH/j3j4dJ+ftP/fpoWoM +// SIG // dzibyxT1Zfv0jP4VCw+AbG/qhdm7YFDjP6GJ9O09OcZ4 +// SIG // zmDEgjxkHVolakT2bZOHlYG+QgPpxg5OUMCSh+hM1coP +// SIG // 2bOl1w3Iq4jd8xeqxJvSjMqr52k4DsSS0C36LFViRllf +// SIG // eBrKC2GbnA6OYDxbBJcxggQNMIIECQIBATCBkzB8MQsw +// SIG // CQYDVQQGEwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQ +// SIG // MA4GA1UEBxMHUmVkbW9uZDEeMBwGA1UEChMVTWljcm9z +// SIG // b2Z0IENvcnBvcmF0aW9uMSYwJAYDVQQDEx1NaWNyb3Nv +// SIG // ZnQgVGltZS1TdGFtcCBQQ0EgMjAxMAITMwAAAcn61Y4l +// SIG // IHQCXgABAAAByTANBglghkgBZQMEAgEFAKCCAUowGgYJ +// SIG // KoZIhvcNAQkDMQ0GCyqGSIb3DQEJEAEEMC8GCSqGSIb3 +// SIG // DQEJBDEiBCAnSycMArNSomfY7ha5/0IoVSwgYJe4NIr2 +// SIG // Zu5PXklibDCB+gYLKoZIhvcNAQkQAi8xgeowgecwgeQw +// SIG // gb0EIIF1zn9S3VFLECd4Kdh/YA0jIYkA/8194V184dk5 +// SIG // dv2BMIGYMIGApH4wfDELMAkGA1UEBhMCVVMxEzARBgNV +// SIG // BAgTCldhc2hpbmd0b24xEDAOBgNVBAcTB1JlZG1vbmQx +// SIG // HjAcBgNVBAoTFU1pY3Jvc29mdCBDb3Jwb3JhdGlvbjEm +// SIG // MCQGA1UEAxMdTWljcm9zb2Z0IFRpbWUtU3RhbXAgUENB +// SIG // IDIwMTACEzMAAAHJ+tWOJSB0Al4AAQAAAckwIgQgKq8V +// SIG // K74aQfHbKF2QOPZa23JRXUDLBs1wVRbiih+lxsYwDQYJ +// SIG // KoZIhvcNAQELBQAEggIAaQM4H0gzID/OUj2Z+WkvozrL +// SIG // o97FygMaSQb/5DkaODPJvQ7uIRVGirFDK+DEB7glUz4B +// SIG // pIbDxQw6Tdqy8krkgOcNtuIp48VBFRlyss6jqKWbXk7o +// SIG // zrLuRVw2AdsZtR2jV1aIQYOuz+EA+Vmn0udsq7y1nxKr +// SIG // ahZHYQqud2qw/l92C8XAqBExEtaP5+dAjz1jS27vAkAi +// SIG // sL/yI5mGd73pixoE6if2phYBF0KoqJyFQkFLfSuMRQ7L +// SIG // 4gA3di+jAz5BRx2MxbdyV3qqmvC4NbQFZBN9P4RxYx3l +// SIG // HeR+Tg2znNl87bfr+pjues0sbO7lloeMPF2lthrp7Kdw +// SIG // nUSGBMnhW691Z9Q5xLVuaEfIQogWr3IZlkA4sKuP1PyM +// SIG // XUMfLcqBuSVRz1+ryjN2jQxgS1WRQvvGxPDtpVOPXVo3 +// SIG // /bQ04B61Pi6Wh6d1XqXuFsKy7nISwvMXLPp/gVgYNdCg +// SIG // hgS8BnnzbzeythHPLddnHBECwjF7PSs2AKT/chMKpfK/ +// SIG // odvm6dnJDz81VMCZ0IvhlvISBAULam8DaC5pieM7mXCR +// SIG // ZeTgaWO+7U2kJIKopIsD3ZjBIYLV2EeulhwDPp0JPit3 +// SIG // bZ/ISGcvQeP0cEuozPBAOzbdEYxB2tM4i2Ucu3P7NeUW +// SIG // LWdEXlwm5ZIsOkBR1wPzOc2wU97v17qo/aIKOhVTjHQ= // SIG // End signature block @@ -7623,7 +7701,7 @@ exports.BookmarksManager = BookmarksManager; Object.defineProperty(exports, "__esModule", ({ value: true })); /** @ignore */ /** */ var config = { - version: '2.22.2', + version: '2.22.3', type: 'js' }; exports["default"] = config; @@ -13350,7 +13428,7 @@ var exports = __webpack_exports__; // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.RelativeTimeFilterBuilder = exports.RelativeDateFilterBuilder = exports.TopNFilterBuilder = exports.AdvancedFilterBuilder = exports.BasicFilterBuilder = exports.QuickCreate = exports.VisualDescriptor = exports.Visual = exports.Qna = exports.Page = exports.Embed = exports.Tile = exports.Dashboard = exports.Report = exports.models = exports.factories = exports.service = void 0; +exports.RelativeTimeFilterBuilder = exports.RelativeDateFilterBuilder = exports.TopNFilterBuilder = exports.AdvancedFilterBuilder = exports.BasicFilterBuilder = exports.Create = exports.QuickCreate = exports.VisualDescriptor = exports.Visual = exports.Qna = exports.Page = exports.Embed = exports.Tile = exports.Dashboard = exports.Report = exports.models = exports.factories = exports.service = void 0; /** * @hidden */ @@ -13378,6 +13456,8 @@ var visualDescriptor_1 = __webpack_require__(/*! ./visualDescriptor */ "./src/vi Object.defineProperty(exports, "VisualDescriptor", ({ enumerable: true, get: function () { return visualDescriptor_1.VisualDescriptor; } })); var quickCreate_1 = __webpack_require__(/*! ./quickCreate */ "./src/quickCreate.ts"); Object.defineProperty(exports, "QuickCreate", ({ enumerable: true, get: function () { return quickCreate_1.QuickCreate; } })); +var create_1 = __webpack_require__(/*! ./create */ "./src/create.ts"); +Object.defineProperty(exports, "Create", ({ enumerable: true, get: function () { return create_1.Create; } })); var FilterBuilders_1 = __webpack_require__(/*! ./FilterBuilders */ "./src/FilterBuilders/index.ts"); Object.defineProperty(exports, "BasicFilterBuilder", ({ enumerable: true, get: function () { return FilterBuilders_1.BasicFilterBuilder; } })); Object.defineProperty(exports, "AdvancedFilterBuilder", ({ enumerable: true, get: function () { return FilterBuilders_1.AdvancedFilterBuilder; } })); diff --git a/dist/powerbi.min.js b/dist/powerbi.min.js index b19ddba9..3458d4b8 100644 --- a/dist/powerbi.min.js +++ b/dist/powerbi.min.js @@ -1,5 +1,5 @@ -// powerbi-client v2.22.2 +// powerbi-client v2.22.3 // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. /*! For license information please see powerbi.js.LICENSE.txt */ -!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,(()=>(()=>{var t={615:function(t){var e;e=function(){return function(t){var e={};function r(i){if(e[i])return e[i].exports;var a=e[i]={exports:{},id:i,loaded:!1};return t[i].call(a.exports,a,a.exports,r),a.loaded=!0,a.exports}return r.m=t,r.c=e,r.p="",r(0)}([function(t,e){"use strict";var r=function(){function t(t,e,r){void 0===e&&(e={}),this.defaultHeaders=e,this.defaultTargetWindow=r,this.windowPostMessageProxy=t}return t.addTrackingProperties=function(t,e){return t.headers=t.headers||{},e&&e.id&&(t.headers.id=e.id),t},t.getTrackingProperties=function(t){return{id:t.headers&&t.headers.id}},t.isErrorMessage=function(t){return"number"==typeof(t&&t.statusCode)&&!(200<=t.statusCode&&t.statusCode<300)},t.prototype.get=function(t,e,r){return void 0===e&&(e={}),void 0===r&&(r=this.defaultTargetWindow),this.send({method:"GET",url:t,headers:e},r)},t.prototype.post=function(t,e,r,i){return void 0===r&&(r={}),void 0===i&&(i=this.defaultTargetWindow),this.send({method:"POST",url:t,headers:r,body:e},i)},t.prototype.put=function(t,e,r,i){return void 0===r&&(r={}),void 0===i&&(i=this.defaultTargetWindow),this.send({method:"PUT",url:t,headers:r,body:e},i)},t.prototype.patch=function(t,e,r,i){return void 0===r&&(r={}),void 0===i&&(i=this.defaultTargetWindow),this.send({method:"PATCH",url:t,headers:r,body:e},i)},t.prototype.delete=function(t,e,r,i){return void 0===e&&(e=null),void 0===r&&(r={}),void 0===i&&(i=this.defaultTargetWindow),this.send({method:"DELETE",url:t,headers:r,body:e},i)},t.prototype.send=function(t,e){if(void 0===e&&(e=this.defaultTargetWindow),t.headers=this.assign({},this.defaultHeaders,t.headers),!e)throw new Error("target window is not provided. You must either provide the target window explicitly as argument to request, or specify default target window when constructing instance of this class.");return this.windowPostMessageProxy.postMessage(e,t)},t.prototype.assign=function(t){for(var e=[],r=1;r(()=>{var t=[function(t,e,r){var i,a=this&&this.__extends||(i=function(t,e){return i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},i(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.SortDirection=e.LegendPosition=e.TextAlignment=e.CommonErrorCodes=e.BookmarksPlayMode=e.ExportDataType=e.QnaMode=e.PageNavigationPosition=e.DataCacheMode=e.CredentialType=e.isPercentOfGrandTotal=e.isColumnAggr=e.isHierarchyLevelAggr=e.isHierarchyLevel=e.isColumn=e.isMeasure=e.getFilterType=e.isBasicFilterWithKeys=e.isFilterKeyColumnsTarget=e.HierarchyFilter=e.AdvancedFilter=e.TupleFilter=e.IdentityFilter=e.BasicFilterWithKeys=e.BasicFilter=e.RelativeTimeFilter=e.RelativeDateFilter=e.TopNFilter=e.IncludeExcludeFilter=e.NotSupportedFilter=e.Filter=e.RelativeDateOperators=e.RelativeDateFilterTimeUnit=e.FilterType=e.FiltersLevel=e.FiltersOperations=e.MenuLocation=e.ContrastMode=e.TokenType=e.ViewMode=e.Permissions=e.SectionVisibility=e.ReportAlignment=e.HyperlinkClickBehavior=e.LayoutType=e.VisualContainerDisplayMode=e.BackgroundType=e.DisplayOption=e.PageSizeType=e.TraceType=void 0,e.validateCommandsSettings=e.validateVisualSettings=e.validateVisualHeader=e.validateExportDataRequest=e.validateQnaInterpretInputData=e.validateLoadQnaConfiguration=e.validateSaveAsParameters=e.validateUpdateFiltersRequest=e.validateFilter=e.validatePage=e.validateTileLoad=e.validateDashboardLoad=e.validateQuickCreate=e.validateCreateReport=e.validatePaginatedReportLoad=e.validateReportLoad=e.validateMenuGroupExtension=e.validateExtension=e.validateCustomPageSize=e.validateVisualizationsPane=e.validateSyncSlicersPane=e.validateSelectionPane=e.validatePageNavigationPane=e.validateFieldsPane=e.validateFiltersPane=e.validateBookmarksPane=e.validatePanes=e.validateSettings=e.validateCaptureBookmarkRequest=e.validateApplyBookmarkStateRequest=e.validateApplyBookmarkByNameRequest=e.validateAddBookmarkRequest=e.validatePlayBookmarkRequest=e.validateSlicerState=e.validateSlicer=e.validateVisualSelector=e.isIExtensionArray=e.isIExtensions=e.isGroupedMenuExtension=e.isFlatMenuExtension=e.isReportFiltersArray=e.isOnLoadFilters=e.VisualDataRoleKindPreference=e.VisualDataRoleKind=e.CommandDisplayOption=e.SlicerTargetSelector=e.VisualTypeSelector=e.VisualSelector=e.PageSelector=e.Selector=void 0,e.validateZoomLevel=e.validateCustomTheme=void 0;var o,n,l,s,u,d,c,p,f,h,v,y,m,V,g,b,w,P,S,O=r(1);(S=e.TraceType||(e.TraceType={}))[S.Information=0]="Information",S[S.Verbose=1]="Verbose",S[S.Warning=2]="Warning",S[S.Error=3]="Error",S[S.ExpectedError=4]="ExpectedError",S[S.UnexpectedError=5]="UnexpectedError",S[S.Fatal=6]="Fatal",(P=e.PageSizeType||(e.PageSizeType={}))[P.Widescreen=0]="Widescreen",P[P.Standard=1]="Standard",P[P.Cortana=2]="Cortana",P[P.Letter=3]="Letter",P[P.Custom=4]="Custom",P[P.Mobile=5]="Mobile",(w=e.DisplayOption||(e.DisplayOption={}))[w.FitToPage=0]="FitToPage",w[w.FitToWidth=1]="FitToWidth",w[w.ActualSize=2]="ActualSize",(b=e.BackgroundType||(e.BackgroundType={}))[b.Default=0]="Default",b[b.Transparent=1]="Transparent",(g=e.VisualContainerDisplayMode||(e.VisualContainerDisplayMode={}))[g.Visible=0]="Visible",g[g.Hidden=1]="Hidden",(V=e.LayoutType||(e.LayoutType={}))[V.Master=0]="Master",V[V.Custom=1]="Custom",V[V.MobilePortrait=2]="MobilePortrait",V[V.MobileLandscape=3]="MobileLandscape",(m=e.HyperlinkClickBehavior||(e.HyperlinkClickBehavior={}))[m.Navigate=0]="Navigate",m[m.NavigateAndRaiseEvent=1]="NavigateAndRaiseEvent",m[m.RaiseEvent=2]="RaiseEvent",(y=e.ReportAlignment||(e.ReportAlignment={}))[y.Left=0]="Left",y[y.Center=1]="Center",y[y.Right=2]="Right",y[y.None=3]="None",(v=e.SectionVisibility||(e.SectionVisibility={}))[v.AlwaysVisible=0]="AlwaysVisible",v[v.HiddenInViewMode=1]="HiddenInViewMode",(h=e.Permissions||(e.Permissions={}))[h.Read=0]="Read",h[h.ReadWrite=1]="ReadWrite",h[h.Copy=2]="Copy",h[h.Create=4]="Create",h[h.All=7]="All",(f=e.ViewMode||(e.ViewMode={}))[f.View=0]="View",f[f.Edit=1]="Edit",(p=e.TokenType||(e.TokenType={}))[p.Aad=0]="Aad",p[p.Embed=1]="Embed",(c=e.ContrastMode||(e.ContrastMode={}))[c.None=0]="None",c[c.HighContrast1=1]="HighContrast1",c[c.HighContrast2=2]="HighContrast2",c[c.HighContrastBlack=3]="HighContrastBlack",c[c.HighContrastWhite=4]="HighContrastWhite",(d=e.MenuLocation||(e.MenuLocation={}))[d.Bottom=0]="Bottom",d[d.Top=1]="Top",(u=e.FiltersOperations||(e.FiltersOperations={}))[u.RemoveAll=0]="RemoveAll",u[u.ReplaceAll=1]="ReplaceAll",u[u.Add=2]="Add",u[u.Replace=3]="Replace",(s=e.FiltersLevel||(e.FiltersLevel={}))[s.Report=0]="Report",s[s.Page=1]="Page",s[s.Visual=2]="Visual",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",t[t.Identity=8]="Identity",t[t.Hierarchy=9]="Hierarchy"}(o=e.FilterType||(e.FilterType={})),(l=e.RelativeDateFilterTimeUnit||(e.RelativeDateFilterTimeUnit={}))[l.Days=0]="Days",l[l.Weeks=1]="Weeks",l[l.CalendarWeeks=2]="CalendarWeeks",l[l.Months=3]="Months",l[l.CalendarMonths=4]="CalendarMonths",l[l.Years=5]="Years",l[l.CalendarYears=6]="CalendarYears",l[l.Minutes=7]="Minutes",l[l.Hours=8]="Hours",(n=e.RelativeDateOperators||(e.RelativeDateOperators={}))[n.InLast=0]="InLast",n[n.InThis=1]="InThis",n[n.InNext=2]="InNext";var _=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=_;var T=function(t){function e(r,i,a){var n=t.call(this,r,o.Unknown)||this;return n.message=i,n.notSupportedTypeName=a,n.schemaUrl=e.schemaUrl,n}return a(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}(_);e.NotSupportedFilter=T;var E=function(t){function e(r,i,a){var n=t.call(this,r,o.IncludeExclude)||this;return n.values=a,n.isExclude=i,n.schemaUrl=e.schemaUrl,n}return a(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}(_);e.IncludeExcludeFilter=E;var F=function(t){function e(r,i,a,n){var l=t.call(this,r,o.TopN)||this;return l.operator=i,l.itemCount=a,l.schemaUrl=e.schemaUrl,l.orderBy=n,l}return a(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}(_);e.TopNFilter=F;var C=function(t){function e(r,i,a,n,l){var s=t.call(this,r,o.RelativeDate)||this;return s.operator=i,s.timeUnitsCount=a,s.timeUnitType=n,s.includeToday=l,s.schemaUrl=e.schemaUrl,s}return a(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}(_);e.RelativeDateFilter=C;var R=function(t){function e(r,i,a,n){var l=t.call(this,r,o.RelativeTime)||this;return l.operator=i,l.timeUnitsCount=a,l.timeUnitType=n,l.schemaUrl=e.schemaUrl,l}return a(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}(_);e.RelativeTimeFilter=R;var k=function(t){function e(r,i){for(var a=[],n=2;n0&&!a)throw new Error("You should pass the values to be filtered for each key. You passed: no values and ".concat(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,s=o.keyValues;l2)throw new Error("AdvancedFilters may not have more than two conditions. You passed: ".concat(a.length));if(1===l.length&&"And"!==i)throw new Error('Logical Operator must be "And" when there is only one condition provided');return s.conditions=l,s}return a(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}(_);e.AdvancedFilter=M;var L,I,q,D,N,B,U,H=function(t){function e(r,i){var a=t.call(this,r,o.Hierarchy)||this;return a.schemaUrl=e.schemaUrl,a.hierarchyData=i,a}return a(e,t),e.prototype.toJSON=function(){var e=t.prototype.toJSON.call(this);return e.hierarchyData=this.hierarchyData,e.target=this.target,e},e.schemaUrl="http://powerbi.com/product/schema#hierarchy",e}(_);function W(t){if(t.filterType)return t.filterType;var e=t,r=t;return"string"==typeof e.operator&&Array.isArray(e.values)?o.Basic:"string"==typeof r.logicalOperator&&Array.isArray(r.conditions)?o.Advanced:o.Unknown}function z(t){return!(!t.table||!t.column||t.aggregationFunction)}e.HierarchyFilter=H,e.isFilterKeyColumnsTarget=function(t){return z(t)&&!!t.keys},e.isBasicFilterWithKeys=function(t){return W(t)===o.Basic&&!!t.keyValues},e.getFilterType=W,e.isMeasure=function(t){return void 0!==t.table&&void 0!==t.measure},e.isColumn=z,e.isHierarchyLevel=function(t){return!(!(t.table&&t.hierarchy&&t.hierarchyLevel)||t.aggregationFunction)},e.isHierarchyLevelAggr=function(t){return!!(t.table&&t.hierarchy&&t.hierarchyLevel&&t.aggregationFunction)},e.isColumnAggr=function(t){return!!(t.table&&t.column&&t.aggregationFunction)},e.isPercentOfGrandTotal=function(t){return!!t.percentOfGrandTotal},(U=e.CredentialType||(e.CredentialType={}))[U.NoConnection=0]="NoConnection",U[U.OnBehalfOf=1]="OnBehalfOf",U[U.Anonymous=2]="Anonymous",(B=e.DataCacheMode||(e.DataCacheMode={}))[B.Import=0]="Import",B[B.DirectQuery=1]="DirectQuery",(N=e.PageNavigationPosition||(e.PageNavigationPosition={}))[N.Bottom=0]="Bottom",N[N.Left=1]="Left",(D=e.QnaMode||(e.QnaMode={}))[D.Interactive=0]="Interactive",D[D.ResultOnly=1]="ResultOnly",(q=e.ExportDataType||(e.ExportDataType={}))[q.Summarized=0]="Summarized",q[q.Underlying=1]="Underlying",(I=e.BookmarksPlayMode||(e.BookmarksPlayMode={}))[I.Off=0]="Off",I[I.Presentation=1]="Presentation",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"},(L=e.SortDirection||(e.SortDirection={}))[L.Ascending=1]="Ascending",L[L.Descending=2]="Descending";var Q=function(){function t(t){this.$schema=t}return t.prototype.toJSON=function(){return{$schema:this.$schema}},t}();e.Selector=Q;var G=function(t){function e(r){var i=t.call(this,e.schemaUrl)||this;return i.pageName=r,i}return a(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}(Q);e.PageSelector=G;var J=function(t){function e(r){var i=t.call(this,e.schemaUrl)||this;return i.visualName=r,i}return a(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}(Q);e.VisualSelector=J;var K=function(t){function e(e){var r=t.call(this,J.schemaUrl)||this;return r.visualType=e,r}return a(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}(Q);e.VisualTypeSelector=K;var Y,$,Z,X=function(t){function e(e){var r=t.call(this,J.schemaUrl)||this;return r.target=e,r}return a(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}(Q);function tt(t){return Array.isArray(t)}function et(t){return t&&!!t.groupName}function rt(t){return Array.isArray(t)}function it(t){var e=t.message;return e||(e="".concat(t.path," is invalid. Not meeting ").concat(t.keyword," constraint")),{message:e}}e.SlicerTargetSelector=X,(Z=e.CommandDisplayOption||(e.CommandDisplayOption={}))[Z.Enabled=0]="Enabled",Z[Z.Disabled=1]="Disabled",Z[Z.Hidden=2]="Hidden",($=e.VisualDataRoleKind||(e.VisualDataRoleKind={}))[$.Grouping=0]="Grouping",$[$.Measure=1]="Measure",$[$.GroupingOrMeasure=2]="GroupingOrMeasure",(Y=e.VisualDataRoleKindPreference||(e.VisualDataRoleKindPreference={}))[Y.Measure=0]="Measure",Y[Y.Grouping=1]="Grouping",e.isOnLoadFilters=function(t){return t&&!tt(t)},e.isReportFiltersArray=tt,e.isFlatMenuExtension=function(t){return t&&!et(t)},e.isGroupedMenuExtension=et,e.isIExtensions=function(t){return t&&!rt(t)},e.isIExtensionArray=rt,e.validateVisualSelector=function(t){var e=O.Validators.visualSelectorValidator.validate(t);return e?e.map(it):void 0},e.validateSlicer=function(t){var e=O.Validators.slicerValidator.validate(t);return e?e.map(it):void 0},e.validateSlicerState=function(t){var e=O.Validators.slicerStateValidator.validate(t);return e?e.map(it):void 0},e.validatePlayBookmarkRequest=function(t){var e=O.Validators.playBookmarkRequestValidator.validate(t);return e?e.map(it):void 0},e.validateAddBookmarkRequest=function(t){var e=O.Validators.addBookmarkRequestValidator.validate(t);return e?e.map(it):void 0},e.validateApplyBookmarkByNameRequest=function(t){var e=O.Validators.applyBookmarkByNameRequestValidator.validate(t);return e?e.map(it):void 0},e.validateApplyBookmarkStateRequest=function(t){var e=O.Validators.applyBookmarkStateRequestValidator.validate(t);return e?e.map(it):void 0},e.validateCaptureBookmarkRequest=function(t){var e=O.Validators.captureBookmarkRequestValidator.validate(t);return e?e.map(it):void 0},e.validateSettings=function(t){var e=O.Validators.settingsValidator.validate(t);return e?e.map(it):void 0},e.validatePanes=function(t){var e=O.Validators.reportPanesValidator.validate(t);return e?e.map(it):void 0},e.validateBookmarksPane=function(t){var e=O.Validators.bookmarksPaneValidator.validate(t);return e?e.map(it):void 0},e.validateFiltersPane=function(t){var e=O.Validators.filtersPaneValidator.validate(t);return e?e.map(it):void 0},e.validateFieldsPane=function(t){var e=O.Validators.fieldsPaneValidator.validate(t);return e?e.map(it):void 0},e.validatePageNavigationPane=function(t){var e=O.Validators.pageNavigationPaneValidator.validate(t);return e?e.map(it):void 0},e.validateSelectionPane=function(t){var e=O.Validators.selectionPaneValidator.validate(t);return e?e.map(it):void 0},e.validateSyncSlicersPane=function(t){var e=O.Validators.syncSlicersPaneValidator.validate(t);return e?e.map(it):void 0},e.validateVisualizationsPane=function(t){var e=O.Validators.visualizationsPaneValidator.validate(t);return e?e.map(it):void 0},e.validateCustomPageSize=function(t){var e=O.Validators.customPageSizeValidator.validate(t);return e?e.map(it):void 0},e.validateExtension=function(t){var e=O.Validators.extensionValidator.validate(t);return e?e.map(it):void 0},e.validateMenuGroupExtension=function(t){var e=O.Validators.menuGroupExtensionValidator.validate(t);return e?e.map(it):void 0},e.validateReportLoad=function(t){var e=O.Validators.reportLoadValidator.validate(t);return e?e.map(it):void 0},e.validatePaginatedReportLoad=function(t){var e=O.Validators.paginatedReportLoadValidator.validate(t);return e?e.map(it):void 0},e.validateCreateReport=function(t){var e=O.Validators.reportCreateValidator.validate(t);return e?e.map(it):void 0},e.validateQuickCreate=function(t){var e=O.Validators.quickCreateValidator.validate(t);return e?e.map(it):void 0},e.validateDashboardLoad=function(t){var e=O.Validators.dashboardLoadValidator.validate(t);return e?e.map(it):void 0},e.validateTileLoad=function(t){var e=O.Validators.tileLoadValidator.validate(t);return e?e.map(it):void 0},e.validatePage=function(t){var e=O.Validators.pageValidator.validate(t);return e?e.map(it):void 0},e.validateFilter=function(t){var e=O.Validators.filterValidator.validate(t);return e?e.map(it):void 0},e.validateUpdateFiltersRequest=function(t){var e=O.Validators.updateFiltersRequestValidator.validate(t);return e?e.map(it):void 0},e.validateSaveAsParameters=function(t){var e=O.Validators.saveAsParametersValidator.validate(t);return e?e.map(it):void 0},e.validateLoadQnaConfiguration=function(t){var e=O.Validators.loadQnaValidator.validate(t);return e?e.map(it):void 0},e.validateQnaInterpretInputData=function(t){var e=O.Validators.qnaInterpretInputDataValidator.validate(t);return e?e.map(it):void 0},e.validateExportDataRequest=function(t){var e=O.Validators.exportDataRequestValidator.validate(t);return e?e.map(it):void 0},e.validateVisualHeader=function(t){var e=O.Validators.visualHeaderValidator.validate(t);return e?e.map(it):void 0},e.validateVisualSettings=function(t){var e=O.Validators.visualSettingsValidator.validate(t);return e?e.map(it):void 0},e.validateCommandsSettings=function(t){var e=O.Validators.commandsSettingsValidator.validate(t);return e?e.map(it):void 0},e.validateCustomTheme=function(t){var e=O.Validators.customThemeValidator.validate(t);return e?e.map(it):void 0},e.validateZoomLevel=function(t){var e=O.Validators.zoomLevelValidator.validate(t);return e?e.map(it):void 0}},(t,e,r)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.Validators=void 0;var i=r(2),a=r(5),o=r(6),n=r(7),l=r(8),s=r(9),u=r(10),d=r(11),c=r(12),p=r(13),f=r(14),h=r(15),v=r(16),y=r(17),m=r(18),V=r(19),g=r(20),b=r(21),w=r(22),P=r(23),S=r(24),O=r(25),_=r(26),T=r(27),E=r(28),F=r(29),C=r(4),R=r(30),k=r(31),x=r(32);e.Validators={addBookmarkRequestValidator:new a.AddBookmarkRequestValidator,advancedFilterTypeValidator:new C.EnumValidator([0]),advancedFilterValidator:new c.AdvancedFilterValidator,anyArrayValidator:new C.ArrayValidator([new _.AnyOfValidator([new C.StringValidator,new C.NumberValidator,new C.BooleanValidator])]),anyFilterValidator:new _.AnyOfValidator([new c.BasicFilterValidator,new c.AdvancedFilterValidator,new c.IncludeExcludeFilterValidator,new c.NotSupportedFilterValidator,new c.RelativeDateFilterValidator,new c.TopNFilterValidator,new c.RelativeTimeFilterValidator,new c.HierarchyFilterValidator]),anyValueValidator:new _.AnyOfValidator([new C.StringValidator,new C.NumberValidator,new C.BooleanValidator]),actionBarValidator:new i.ActionBarValidator,statusBarValidator:new i.StatusBarValidator,applyBookmarkByNameRequestValidator:new a.ApplyBookmarkByNameRequestValidator,applyBookmarkStateRequestValidator:new a.ApplyBookmarkStateRequestValidator,applyBookmarkValidator:new _.AnyOfValidator([new a.ApplyBookmarkByNameRequestValidator,new a.ApplyBookmarkStateRequestValidator]),backgroundValidator:new C.EnumValidator([0,1]),basicFilterTypeValidator:new C.EnumValidator([1]),basicFilterValidator:new c.BasicFilterValidator,booleanArrayValidator:new C.BooleanArrayValidator,booleanValidator:new C.BooleanValidator,bookmarksPaneValidator:new h.BookmarksPaneValidator,captureBookmarkOptionsValidator:new a.CaptureBookmarkOptionsValidator,captureBookmarkRequestValidator:new a.CaptureBookmarkRequestValidator,columnSchemaArrayValidator:new C.ArrayValidator([new k.ColumnSchemaValidator]),commandDisplayOptionValidator:new C.EnumValidator([0,1,2]),commandExtensionSelectorValidator:new _.AnyOfValidator([new b.VisualSelectorValidator,new b.VisualTypeSelectorValidator]),commandExtensionArrayValidator:new C.ArrayValidator([new d.CommandExtensionValidator]),commandExtensionValidator:new d.CommandExtensionValidator,commandsSettingsArrayValidator:new C.ArrayValidator([new o.CommandsSettingsValidator]),commandsSettingsValidator:new o.CommandsSettingsValidator,conditionItemValidator:new c.ConditionItemValidator,contrastModeValidator:new C.EnumValidator([0,1,2,3,4]),credentialDetailsValidator:new F.MapValidator([new C.StringValidator],[new C.StringValidator]),credentialsValidator:new k.CredentialsValidator,credentialTypeValidator:new C.EnumValidator([0,1,2]),customLayoutDisplayOptionValidator:new C.EnumValidator([0,1,2]),customLayoutValidator:new p.CustomLayoutValidator,customPageSizeValidator:new f.CustomPageSizeValidator,customThemeValidator:new n.CustomThemeValidator,dashboardLoadValidator:new l.DashboardLoadValidator,dataCacheModeValidator:new C.EnumValidator([0,1]),datasetBindingValidator:new s.DatasetBindingValidator,datasetCreateConfigValidator:new k.DatasetCreateConfigValidator,datasourceConnectionConfigValidator:new k.DatasourceConnectionConfigValidator,displayStateModeValidator:new C.EnumValidator([0,1]),displayStateValidator:new p.DisplayStateValidator,exportDataRequestValidator:new u.ExportDataRequestValidator,extensionArrayValidator:new C.ArrayValidator([new d.ExtensionValidator]),extensionsValidator:new _.AnyOfValidator([new C.ArrayValidator([new d.ExtensionValidator]),new d.ExtensionsValidator]),extensionPointsValidator:new d.ExtensionPointsValidator,extensionValidator:new d.ExtensionValidator,fieldForbiddenValidator:new T.FieldForbiddenValidator,fieldRequiredValidator:new E.FieldRequiredValidator,fieldsPaneValidator:new h.FieldsPaneValidator,filterColumnTargetValidator:new c.FilterColumnTargetValidator,filterDisplaySettingsValidator:new c.FilterDisplaySettingsValidator,filterConditionsValidator:new C.ArrayValidator([new c.ConditionItemValidator]),filterHierarchyTargetValidator:new c.FilterHierarchyTargetValidator,filterMeasureTargetValidator:new c.FilterMeasureTargetValidator,filterTargetValidator:new _.AnyOfValidator([new c.FilterColumnTargetValidator,new c.FilterHierarchyTargetValidator,new c.FilterMeasureTargetValidator,new C.ArrayValidator([new _.AnyOfValidator([new c.FilterColumnTargetValidator,new c.FilterHierarchyTargetValidator,new c.FilterMeasureTargetValidator,new c.FilterKeyColumnsTargetValidator,new c.FilterKeyHierarchyTargetValidator])])]),filterValidator:new c.FilterValidator,filterTypeValidator:new C.EnumValidator([0,1,2,3,4,5,6,7,9]),filtersArrayValidator:new C.ArrayValidator([new c.FilterValidator]),filtersOperationsUpdateValidator:new C.EnumValidator([1,2,3]),filtersOperationsRemoveAllValidator:new C.EnumValidator([0]),filtersPaneValidator:new h.FiltersPaneValidator,hyperlinkClickBehaviorValidator:new C.EnumValidator([0,1,2]),includeExcludeFilterValidator:new c.IncludeExcludeFilterValidator,includeExludeFilterTypeValidator:new C.EnumValidator([3]),hierarchyFilterTypeValidator:new C.EnumValidator([9]),hierarchyFilterValuesValidator:new C.ArrayValidator([new c.HierarchyFilterNodeValidator]),layoutTypeValidator:new C.EnumValidator([0,1,2,3]),loadQnaValidator:new v.LoadQnaValidator,menuExtensionValidator:new _.AnyOfValidator([new d.FlatMenuExtensionValidator,new d.GroupedMenuExtensionValidator]),menuGroupExtensionArrayValidator:new C.ArrayValidator([new d.MenuGroupExtensionValidator]),menuGroupExtensionValidator:new d.MenuGroupExtensionValidator,menuLocationValidator:new C.EnumValidator([0,1]),notSupportedFilterTypeValidator:new C.EnumValidator([2]),notSupportedFilterValidator:new c.NotSupportedFilterValidator,numberArrayValidator:new C.NumberArrayValidator,numberValidator:new C.NumberValidator,onLoadFiltersBaseValidator:new _.AnyOfValidator([new c.OnLoadFiltersBaseValidator,new c.OnLoadFiltersBaseRemoveOperationValidator]),pageLayoutValidator:new F.MapValidator([new C.StringValidator],[new p.VisualLayoutValidator]),pageNavigationPaneValidator:new h.PageNavigationPaneValidator,pageNavigationPositionValidator:new C.EnumValidator([0,1]),pageSizeTypeValidator:new C.EnumValidator([0,1,2,3,4,5]),pageSizeValidator:new f.PageSizeValidator,pageValidator:new f.PageValidator,pageViewFieldValidator:new f.PageViewFieldValidator,pagesLayoutValidator:new F.MapValidator([new C.StringValidator],[new p.PageLayoutValidator]),paginatedReportCommandsValidator:new o.PaginatedReportCommandsValidator,paginatedReportLoadValidator:new V.PaginatedReportLoadValidator,paginatedReportsettingsValidator:new w.PaginatedReportSettingsValidator,parameterValuesArrayValidator:new C.ArrayValidator([new V.ReportParameterFieldsValidator]),parametersPanelValidator:new R.ParametersPanelValidator,permissionsValidator:new C.EnumValidator([0,1,2,4,7]),playBookmarkRequestValidator:new a.PlayBookmarkRequestValidator,qnaInterpretInputDataValidator:new v.QnaInterpretInputDataValidator,qnaPanesValidator:new h.QnaPanesValidator,qnaSettingValidator:new v.QnaSettingsValidator,quickCreateValidator:new x.QuickCreateValidator,rawDataValidator:new C.ArrayValidator([new C.ArrayValidator([new C.StringValidator])]),relativeDateFilterOperatorValidator:new C.EnumValidator([0,1,2]),relativeDateFilterTimeUnitTypeValidator:new C.EnumValidator([0,1,2,3,4,5,6]),relativeDateFilterTypeValidator:new C.EnumValidator([4]),relativeDateFilterValidator:new c.RelativeDateFilterValidator,relativeDateTimeFilterTypeValidator:new C.EnumValidator([4,7]),relativeDateTimeFilterUnitTypeValidator:new C.EnumValidator([0,1,2,3,4,5,6,7,8]),relativeTimeFilterTimeUnitTypeValidator:new C.EnumValidator([7,8]),relativeTimeFilterTypeValidator:new C.EnumValidator([7]),relativeTimeFilterValidator:new c.RelativeTimeFilterValidator,reportBarsValidator:new i.ReportBarsValidator,reportCreateValidator:new y.ReportCreateValidator,reportLoadFiltersValidator:new _.AnyOfValidator([new C.ArrayValidator([new c.FilterValidator]),new c.OnLoadFiltersValidator]),reportLoadValidator:new m.ReportLoadValidator,reportPanesValidator:new h.ReportPanesValidator,saveAsParametersValidator:new g.SaveAsParametersValidator,selectionPaneValidator:new h.SelectionPaneValidator,settingsValidator:new w.SettingsValidator,singleCommandSettingsValidator:new o.SingleCommandSettingsValidator,slicerSelectorValidator:new _.AnyOfValidator([new b.VisualSelectorValidator,new b.SlicerTargetSelectorValidator]),slicerStateValidator:new P.SlicerStateValidator,slicerTargetValidator:new _.AnyOfValidator([new c.FilterColumnTargetValidator,new c.FilterHierarchyTargetValidator,new c.FilterMeasureTargetValidator,new c.FilterKeyColumnsTargetValidator,new c.FilterKeyHierarchyTargetValidator]),slicerValidator:new P.SlicerValidator,stringArrayValidator:new C.StringArrayValidator,stringValidator:new C.StringValidator,syncSlicersPaneValidator:new h.SyncSlicersPaneValidator,tableDataArrayValidator:new C.ArrayValidator([new k.TableDataValidator]),tableSchemaListValidator:new C.ArrayValidator([new k.TableSchemaValidator]),tileLoadValidator:new S.TileLoadValidator,tokenTypeValidator:new C.EnumValidator([0,1]),topNFilterTypeValidator:new C.EnumValidator([5]),topNFilterValidator:new c.TopNFilterValidator,updateFiltersRequestValidator:new _.AnyOfValidator([new c.UpdateFiltersRequestValidator,new c.RemoveFiltersRequestValidator]),viewModeValidator:new C.EnumValidator([0,1]),visualCommandSelectorValidator:new _.AnyOfValidator([new b.VisualSelectorValidator,new b.VisualTypeSelectorValidator]),visualHeaderSelectorValidator:new _.AnyOfValidator([new b.VisualSelectorValidator,new b.VisualTypeSelectorValidator]),visualHeaderSettingsValidator:new O.VisualHeaderSettingsValidator,visualHeaderValidator:new O.VisualHeaderValidator,visualHeadersValidator:new C.ArrayValidator([new O.VisualHeaderValidator]),visualizationsPaneValidator:new h.VisualizationsPaneValidator,visualLayoutValidator:new p.VisualLayoutValidator,visualSelectorValidator:new b.VisualSelectorValidator,visualSettingsValidator:new O.VisualSettingsValidator,visualTypeSelectorValidator:new b.VisualTypeSelectorValidator,zoomLevelValidator:new C.RangeValidator(.25,4)}},function(t,e,r){var i,a=this&&this.__extends||(i=function(t,e){return i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},i(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.StatusBarValidator=e.ActionBarValidator=e.ReportBarsValidator=void 0;var o=r(3),n=r(4),l=r(1),s=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return a(e,t),e.prototype.validate=function(e,r,i){if(null==e)return null;var a=t.prototype.validate.call(this,e,r,i);if(a)return a;var n=[{field:"actionBar",validators:[l.Validators.actionBarValidator]},{field:"statusBar",validators:[l.Validators.statusBarValidator]}];return new o.MultipleFieldsValidator(n).validate(e,r,i)},e}(n.ObjectValidator);e.ReportBarsValidator=s;var u=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return a(e,t),e.prototype.validate=function(e,r,i){if(null==e)return null;var a=t.prototype.validate.call(this,e,r,i);if(a)return a;var n=[{field:"visible",validators:[l.Validators.booleanValidator]}];return new o.MultipleFieldsValidator(n).validate(e,r,i)},e}(n.ObjectValidator);e.ActionBarValidator=u;var d=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return a(e,t),e.prototype.validate=function(e,r,i){if(null==e)return null;var a=t.prototype.validate.call(this,e,r,i);if(a)return a;var n=[{field:"visible",validators:[l.Validators.booleanValidator]}];return new o.MultipleFieldsValidator(n).validate(e,r,i)},e}(n.ObjectValidator);e.StatusBarValidator=d},(t,e)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.MultipleFieldsValidator=void 0;var r=function(){function t(t){this.fieldValidatorsPairs=t}return t.prototype.validate=function(t,e,r){if(!this.fieldValidatorsPairs)return null;for(var i=e?e+"."+r:r,a=0,o=this.fieldValidatorsPairs;athis.maxValue||e{Object.defineProperty(e,"__esModule",{value:!0}),e.AnyOfValidator=void 0;var r=function(){function t(t){this.validators=t}return t.prototype.validate=function(t,e,r){if(null==t)return null;for(var i=!1,a=0,o=this.validators;a{Object.defineProperty(e,"__esModule",{value:!0}),e.FieldForbiddenValidator=void 0;var r=function(){function t(){}return t.prototype.validate=function(t,e,r){return void 0!==t?[{message:r+" is forbidden",path:(e?e+".":"")+r,keyword:"forbidden"}]:null},t}();e.FieldForbiddenValidator=r},(t,e)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.FieldRequiredValidator=void 0;var r=function(){function t(){}return t.prototype.validate=function(t,e,r){return null==t?[{message:r+" is required",path:(e?e+".":"")+r,keyword:"required"}]:null},t}();e.FieldRequiredValidator=r},function(t,e,r){var i,a=this&&this.__extends||(i=function(t,e){return i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},i(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.MapValidator=void 0;var o=function(t){function e(e,r){var i=t.call(this)||this;return i.keyValidators=e,i.valueValidators=r,i}return a(e,t),e.prototype.validate=function(e,r,i){if(null==e)return null;var a=t.prototype.validate.call(this,e,r,i);if(a)return a;for(var o in e)if(e.hasOwnProperty(o)){for(var n=(r?r+".":"")+i+"."+o,l=0,s=this.keyValidators;l2&&"[]"===n.slice(l-2)&&(s=!0,r[n=n.slice(0,l-2)]||(r[n]=[])),a=o[1]?g(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(-1!==(i=t.indexOf("?"))){var l=t.substr(i+1,t.length);t=t.substr(0,i),o=this.parseQueryString(l)}for("/"!==(t=decodeURI(t)).charAt(0)&&(t="/"+t),(e=t.length)>1&&"/"===t.charAt(e-1)&&(t=t.substr(0,e-1),n=!0),r=0;r{Object.defineProperty(e,"__esModule",{value:!0}),e.FilterBuilder=void 0;var r=function(){function t(){}return t.prototype.withTargetObject=function(t){return this.target=t,this},t.prototype.withColumnTarget=function(t,e){return this.target={table:t,column:e},this},t.prototype.withMeasureTarget=function(t,e){return this.target={table:t,measure:e},this},t.prototype.withHierarchyLevelTarget=function(t,e,r){return this.target={table:t,hierarchy:e,hierarchyLevel:r},this},t.prototype.withColumnAggregation=function(t,e,r){return this.target={table:t,column:e,aggregationFunction:r},this},t.prototype.withHierarchyLevelAggregationTarget=function(t,e,r,i){return this.target={table:t,hierarchy:e,hierarchyLevel:r,aggregationFunction:i},this},t}();e.FilterBuilder=r},567:(t,e,r)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.RelativeTimeFilterBuilder=e.RelativeDateFilterBuilder=e.TopNFilterBuilder=e.AdvancedFilterBuilder=e.BasicFilterBuilder=void 0;var i=r(153);Object.defineProperty(e,"BasicFilterBuilder",{enumerable:!0,get:function(){return i.BasicFilterBuilder}});var a=r(674);Object.defineProperty(e,"AdvancedFilterBuilder",{enumerable:!0,get:function(){return a.AdvancedFilterBuilder}});var o=r(664);Object.defineProperty(e,"TopNFilterBuilder",{enumerable:!0,get:function(){return o.TopNFilterBuilder}});var n=r(844);Object.defineProperty(e,"RelativeDateFilterBuilder",{enumerable:!0,get:function(){return n.RelativeDateFilterBuilder}});var l=r(275);Object.defineProperty(e,"RelativeTimeFilterBuilder",{enumerable:!0,get:function(){return l.RelativeTimeFilterBuilder}})},844:function(t,e,r){var i,a=this&&this.__extends||(i=function(t,e){return i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},i(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.RelativeDateFilterBuilder=void 0;var o=r(149),n=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.isTodayIncluded=!0,e}return a(e,t),e.prototype.inLast=function(t,e){return this.operator=o.RelativeDateOperators.InLast,this.timeUnitsCount=t,this.timeUnitType=e,this},e.prototype.inThis=function(t,e){return this.operator=o.RelativeDateOperators.InThis,this.timeUnitsCount=t,this.timeUnitType=e,this},e.prototype.inNext=function(t,e){return this.operator=o.RelativeDateOperators.InNext,this.timeUnitsCount=t,this.timeUnitType=e,this},e.prototype.includeToday=function(t){return this.isTodayIncluded=t,this},e.prototype.build=function(){return new o.RelativeDateFilter(this.target,this.operator,this.timeUnitsCount,this.timeUnitType,this.isTodayIncluded)},e}(r(277).FilterBuilder);e.RelativeDateFilterBuilder=n},275:function(t,e,r){var i,a=this&&this.__extends||(i=function(t,e){return i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},i(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.RelativeTimeFilterBuilder=void 0;var o=r(149),n=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return a(e,t),e.prototype.inLast=function(t,e){return this.operator=o.RelativeDateOperators.InLast,this.timeUnitsCount=t,this.timeUnitType=e,this},e.prototype.inThis=function(t,e){return this.operator=o.RelativeDateOperators.InThis,this.timeUnitsCount=t,this.timeUnitType=e,this},e.prototype.inNext=function(t,e){return this.operator=o.RelativeDateOperators.InNext,this.timeUnitsCount=t,this.timeUnitType=e,this},e.prototype.build=function(){return new o.RelativeTimeFilter(this.target,this.operator,this.timeUnitsCount,this.timeUnitType)},e}(r(277).FilterBuilder);e.RelativeTimeFilterBuilder=n},664:function(t,e,r){var i,a=this&&this.__extends||(i=function(t,e){return i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},i(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.TopNFilterBuilder=void 0;var o=r(149),n=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return a(e,t),e.prototype.top=function(t){return this.operator="Top",this.itemCount=t,this},e.prototype.bottom=function(t){return this.operator="Bottom",this.itemCount=t,this},e.prototype.orderByTarget=function(t){return this.orderByTargetValue=t,this},e.prototype.build=function(){return new o.TopNFilter(this.target,this.operator,this.itemCount,this.orderByTargetValue)},e}(r(277).FilterBuilder);e.TopNFilterBuilder=n},460:function(t,e,r){var i=this&&this.__awaiter||function(t,e,r,i){return new(r||(r=Promise))((function(a,o){function n(t){try{s(i.next(t))}catch(t){o(t)}}function l(t){try{s(i.throw(t))}catch(t){o(t)}}function s(t){var e;t.done?a(t.value):(e=t.value,e instanceof r?e:new r((function(t){t(e)}))).then(n,l)}s((i=i.apply(t,e||[])).next())}))},a=this&&this.__generator||function(t,e){var r,i,a,o,n={label:0,sent:function(){if(1&a[0])throw a[1];return a[1]},trys:[],ops:[]};return o={next:l(0),throw:l(1),return:l(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function l(o){return function(l){return function(o){if(r)throw new TypeError("Generator is already executing.");for(;n;)try{if(r=1,i&&(a=2&o[0]?i.return:o[0]?i.throw||((a=i.return)&&a.call(i),0):i.next)&&!(a=a.call(i,o[1])).done)return a;switch(i=0,a&&(o=[2&o[0],a.value]),o[0]){case 0:case 1:a=o;break;case 4:return n.label++,{value:o[1],done:!1};case 5:n.label++,i=o[1],o=[0];continue;case 7:o=n.ops.pop(),n.trys.pop();continue;default:if(!((a=(a=n.trys).length>0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]{Object.defineProperty(e,"__esModule",{value:!0}),e.default={version:"2.22.2",type:"js"}},536:function(t,e,r){var i,a=this&&this.__extends||(i=function(t,e){return i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},i(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}),o=this&&this.__awaiter||function(t,e,r,i){return new(r||(r=Promise))((function(a,o){function n(t){try{s(i.next(t))}catch(t){o(t)}}function l(t){try{s(i.throw(t))}catch(t){o(t)}}function s(t){var e;t.done?a(t.value):(e=t.value,e instanceof r?e:new r((function(t){t(e)}))).then(n,l)}s((i=i.apply(t,e||[])).next())}))},n=this&&this.__generator||function(t,e){var r,i,a,o,n={label:0,sent:function(){if(1&a[0])throw a[1];return a[1]},trys:[],ops:[]};return o={next:l(0),throw:l(1),return:l(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function l(o){return function(l){return function(o){if(r)throw new TypeError("Generator is already executing.");for(;n;)try{if(r=1,i&&(a=2&o[0]?i.return:o[0]?i.throw||((a=i.return)&&a.call(i),0):i.next)&&!(a=a.call(i,o[1])).done)return a;switch(i=0,a&&(o=[2&o[0],a.value]),o[0]){case 0:case 1:a=o;break;case 4:return n.label++,{value:o[1],done:!1};case 5:n.label++,i=o[1],o=[0];continue;case 7:o=n.ops.pop(),n.trys.pop();continue;default:if(!((a=(a=n.trys).length>0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]{Object.defineProperty(e,"__esModule",{value:!0}),e.EmbedUrlNotSupported=e.APINotSupportedForRDLError=void 0,e.APINotSupportedForRDLError="This API is currently not supported for RDL reports",e.EmbedUrlNotSupported="Embed URL is invalid for this scenario. Please use Power BI REST APIs to get the valid URL"},357:(t,e,r)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.routerFactory=e.wpmpFactory=e.hpmFactory=void 0;var i=r(903),a=r(615),o=r(891),n=r(913);e.hpmFactory=function(t,e,r,i,o){return void 0===r&&(r=n.default.version),void 0===i&&(i=n.default.type),new a.HttpPostMessage(t,{"x-sdk-type":i,"x-sdk-version":r,"x-sdk-wrapper-version":o},e)},e.wpmpFactory=function(t,e,r){return new i.WindowPostMessageProxy({processTrackingProperties:{addTrackingProperties:a.HttpPostMessage.addTrackingProperties,getTrackingProperties:a.HttpPostMessage.getTrackingProperties},isErrorMessage:a.HttpPostMessage.isErrorMessage,suppressWarnings:!0,name:t,logMessages:e,eventSourceOverrideWindow:r})},e.routerFactory=function(t){return new o.Router(t)}},220:function(t,e,r){var i=this&&this.__awaiter||function(t,e,r,i){return new(r||(r=Promise))((function(a,o){function n(t){try{s(i.next(t))}catch(t){o(t)}}function l(t){try{s(i.throw(t))}catch(t){o(t)}}function s(t){var e;t.done?a(t.value):(e=t.value,e instanceof r?e:new r((function(t){t(e)}))).then(n,l)}s((i=i.apply(t,e||[])).next())}))},a=this&&this.__generator||function(t,e){var r,i,a,o,n={label:0,sent:function(){if(1&a[0])throw a[1];return a[1]},trys:[],ops:[]};return o={next:l(0),throw:l(1),return:l(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function l(o){return function(l){return function(o){if(r)throw new TypeError("Generator is already executing.");for(;n;)try{if(r=1,i&&(a=2&o[0]?i.return:o[0]?i.throw||((a=i.return)&&a.call(i),0):i.next)&&!(a=a.call(i,o[1])).done)return a;switch(i=0,a&&(o=[2&o[0],a.value]),o[0]){case 0:case 1:a=o;break;case 4:return n.label++,{value:o[1],done:!1};case 5:n.label++,i=o[1],o=[0];continue;case 7:o=n.ops.pop(),n.trys.pop();continue;default:if(!((a=(a=n.trys).length>0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0?"&":"?";return t+(i+e+"=")+r},e.isSavedInternal=function(t,e,a){return r(this,void 0,void 0,(function(){return i(this,(function(r){switch(r.label){case 0:return r.trys.push([0,2,,3]),[4,t.get("/report/hasUnsavedChanges",{uid:e},a)];case 1:return[2,!r.sent().body];case 2:throw r.sent().body;case 3:return[2]}}))}))},e.isRDLEmbed=function(t){return t&&t.toLowerCase().indexOf("/rdlembed?")>=0},e.autoAuthInEmbedUrl=function(t){return t&&decodeURIComponent(t).toLowerCase().indexOf("autoauth=true")>=0},e.getRandomValue=o,e.getTimeDiffInMilliseconds=function(t,e){return Math.abs(t.getTime()-e.getTime())},e.isCreate=function(t){return"create"===t||"quickcreate"===t}},23:function(t,e,r){var i,a=this&&this.__extends||(i=function(t,e){return i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},i(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}),o=this&&this.__awaiter||function(t,e,r,i){return new(r||(r=Promise))((function(a,o){function n(t){try{s(i.next(t))}catch(t){o(t)}}function l(t){try{s(i.throw(t))}catch(t){o(t)}}function s(t){var e;t.done?a(t.value):(e=t.value,e instanceof r?e:new r((function(t){t(e)}))).then(n,l)}s((i=i.apply(t,e||[])).next())}))},n=this&&this.__generator||function(t,e){var r,i,a,o,n={label:0,sent:function(){if(1&a[0])throw a[1];return a[1]},trys:[],ops:[]};return o={next:l(0),throw:l(1),return:l(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function l(o){return function(l){return function(o){if(r)throw new TypeError("Generator is already executing.");for(;n;)try{if(r=1,i&&(a=2&o[0]?i.return:o[0]?i.throw||((a=i.return)&&a.call(i),0):i.next)&&!(a=a.call(i,o[1])).done)return a;switch(i=0,a&&(o=[2&o[0],a.value]),o[0]){case 0:case 1:a=o;break;case 4:return n.label++,{value:o[1],done:!1};case 5:n.label++,i=o[1],o=[0];continue;case 7:o=n.ops.pop(),n.trys.pop();continue;default:if(!((a=(a=n.trys).length>0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]{var t=i;Object.defineProperty(t,"__esModule",{value:!0}),t.RelativeTimeFilterBuilder=t.RelativeDateFilterBuilder=t.TopNFilterBuilder=t.AdvancedFilterBuilder=t.BasicFilterBuilder=t.QuickCreate=t.VisualDescriptor=t.Visual=t.Qna=t.Page=t.Embed=t.Tile=t.Dashboard=t.Report=t.models=t.factories=t.service=void 0;var e=r(149);t.models=e;var a=r(562);t.service=a;var o=r(357);t.factories=o;var n=r(125);Object.defineProperty(t,"Report",{enumerable:!0,get:function(){return n.Report}});var l=r(365);Object.defineProperty(t,"Dashboard",{enumerable:!0,get:function(){return l.Dashboard}});var s=r(43);Object.defineProperty(t,"Tile",{enumerable:!0,get:function(){return s.Tile}});var u=r(932);Object.defineProperty(t,"Embed",{enumerable:!0,get:function(){return u.Embed}});var d=r(220);Object.defineProperty(t,"Page",{enumerable:!0,get:function(){return d.Page}});var c=r(148);Object.defineProperty(t,"Qna",{enumerable:!0,get:function(){return c.Qna}});var p=r(23);Object.defineProperty(t,"Visual",{enumerable:!0,get:function(){return p.Visual}});var f=r(558);Object.defineProperty(t,"VisualDescriptor",{enumerable:!0,get:function(){return f.VisualDescriptor}});var h=r(714);Object.defineProperty(t,"QuickCreate",{enumerable:!0,get:function(){return h.QuickCreate}});var v=r(567);Object.defineProperty(t,"BasicFilterBuilder",{enumerable:!0,get:function(){return v.BasicFilterBuilder}}),Object.defineProperty(t,"AdvancedFilterBuilder",{enumerable:!0,get:function(){return v.AdvancedFilterBuilder}}),Object.defineProperty(t,"TopNFilterBuilder",{enumerable:!0,get:function(){return v.TopNFilterBuilder}}),Object.defineProperty(t,"RelativeDateFilterBuilder",{enumerable:!0,get:function(){return v.RelativeDateFilterBuilder}}),Object.defineProperty(t,"RelativeTimeFilterBuilder",{enumerable:!0,get:function(){return v.RelativeTimeFilterBuilder}});var y=new a.Service(o.hpmFactory,o.wpmpFactory,o.routerFactory);window.powerbi&&window.powerBISDKGlobalServiceInstanceName?window[window.powerBISDKGlobalServiceInstanceName]=y:window.powerbi=y})(),i})())); \ No newline at end of file +!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,(()=>(()=>{var t={615:function(t){var e;e=function(){return function(t){var e={};function r(i){if(e[i])return e[i].exports;var a=e[i]={exports:{},id:i,loaded:!1};return t[i].call(a.exports,a,a.exports,r),a.loaded=!0,a.exports}return r.m=t,r.c=e,r.p="",r(0)}([function(t,e){"use strict";var r=function(){function t(t,e,r){void 0===e&&(e={}),this.defaultHeaders=e,this.defaultTargetWindow=r,this.windowPostMessageProxy=t}return t.addTrackingProperties=function(t,e){return t.headers=t.headers||{},e&&e.id&&(t.headers.id=e.id),t},t.getTrackingProperties=function(t){return{id:t.headers&&t.headers.id}},t.isErrorMessage=function(t){return"number"==typeof(t&&t.statusCode)&&!(200<=t.statusCode&&t.statusCode<300)},t.prototype.get=function(t,e,r){return void 0===e&&(e={}),void 0===r&&(r=this.defaultTargetWindow),this.send({method:"GET",url:t,headers:e},r)},t.prototype.post=function(t,e,r,i){return void 0===r&&(r={}),void 0===i&&(i=this.defaultTargetWindow),this.send({method:"POST",url:t,headers:r,body:e},i)},t.prototype.put=function(t,e,r,i){return void 0===r&&(r={}),void 0===i&&(i=this.defaultTargetWindow),this.send({method:"PUT",url:t,headers:r,body:e},i)},t.prototype.patch=function(t,e,r,i){return void 0===r&&(r={}),void 0===i&&(i=this.defaultTargetWindow),this.send({method:"PATCH",url:t,headers:r,body:e},i)},t.prototype.delete=function(t,e,r,i){return void 0===e&&(e=null),void 0===r&&(r={}),void 0===i&&(i=this.defaultTargetWindow),this.send({method:"DELETE",url:t,headers:r,body:e},i)},t.prototype.send=function(t,e){if(void 0===e&&(e=this.defaultTargetWindow),t.headers=this.assign({},this.defaultHeaders,t.headers),!e)throw new Error("target window is not provided. You must either provide the target window explicitly as argument to request, or specify default target window when constructing instance of this class.");return this.windowPostMessageProxy.postMessage(e,t)},t.prototype.assign=function(t){for(var e=[],r=1;r(()=>{var t=[function(t,e,r){var i,a=this&&this.__extends||(i=function(t,e){return i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},i(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.TextAlignment=e.CommonErrorCodes=e.BookmarksPlayMode=e.ExportDataType=e.QnaMode=e.PageNavigationPosition=e.BrowserPrintAdjustmentsMode=e.AggregateFunction=e.DataCacheMode=e.CredentialType=e.isPercentOfGrandTotal=e.isColumnAggr=e.isHierarchyLevelAggr=e.isHierarchyLevel=e.isColumn=e.isMeasure=e.getFilterType=e.isBasicFilterWithKeys=e.isFilterKeyColumnsTarget=e.HierarchyFilter=e.AdvancedFilter=e.TupleFilter=e.IdentityFilter=e.BasicFilterWithKeys=e.BasicFilter=e.RelativeTimeFilter=e.RelativeDateFilter=e.TopNFilter=e.IncludeExcludeFilter=e.NotSupportedFilter=e.Filter=e.RelativeDateOperators=e.RelativeDateFilterTimeUnit=e.FilterType=e.FiltersLevel=e.FiltersOperations=e.MenuLocation=e.ContrastMode=e.TokenType=e.ViewMode=e.Permissions=e.SectionVisibility=e.ReportAlignment=e.HyperlinkClickBehavior=e.LayoutType=e.VisualContainerDisplayMode=e.BackgroundType=e.DisplayOption=e.PageSizeType=e.TraceType=void 0,e.validateVisualHeader=e.validateExportDataRequest=e.validateQnaInterpretInputData=e.validateLoadQnaConfiguration=e.validateSaveAsParameters=e.validateUpdateFiltersRequest=e.validateFilter=e.validatePage=e.validateTileLoad=e.validateDashboardLoad=e.validateQuickCreate=e.validateCreateReport=e.validatePaginatedReportLoad=e.validateReportLoad=e.validateMenuGroupExtension=e.validateExtension=e.validateCustomPageSize=e.validateVisualizationsPane=e.validateSyncSlicersPane=e.validateSelectionPane=e.validatePageNavigationPane=e.validateFieldsPane=e.validateFiltersPane=e.validateBookmarksPane=e.validatePanes=e.validateSettings=e.validateCaptureBookmarkRequest=e.validateApplyBookmarkStateRequest=e.validateApplyBookmarkByNameRequest=e.validateAddBookmarkRequest=e.validatePlayBookmarkRequest=e.validateSlicerState=e.validateSlicer=e.validateVisualSelector=e.isIExtensionArray=e.isIExtensions=e.isGroupedMenuExtension=e.isFlatMenuExtension=e.isReportFiltersArray=e.isOnLoadFilters=e.VisualDataRoleKindPreference=e.VisualDataRoleKind=e.CommandDisplayOption=e.SlicerTargetSelector=e.VisualTypeSelector=e.VisualSelector=e.PageSelector=e.Selector=e.SortDirection=e.LegendPosition=void 0,e.validatePrintSettings=e.validateZoomLevel=e.validateCustomTheme=e.validateCommandsSettings=e.validateVisualSettings=void 0;var o,n,l,s,u,d,c,p,f,h,v,y,m,V,g,b,w,P,S,O=r(1);(S=e.TraceType||(e.TraceType={}))[S.Information=0]="Information",S[S.Verbose=1]="Verbose",S[S.Warning=2]="Warning",S[S.Error=3]="Error",S[S.ExpectedError=4]="ExpectedError",S[S.UnexpectedError=5]="UnexpectedError",S[S.Fatal=6]="Fatal",(P=e.PageSizeType||(e.PageSizeType={}))[P.Widescreen=0]="Widescreen",P[P.Standard=1]="Standard",P[P.Cortana=2]="Cortana",P[P.Letter=3]="Letter",P[P.Custom=4]="Custom",P[P.Mobile=5]="Mobile",(w=e.DisplayOption||(e.DisplayOption={}))[w.FitToPage=0]="FitToPage",w[w.FitToWidth=1]="FitToWidth",w[w.ActualSize=2]="ActualSize",(b=e.BackgroundType||(e.BackgroundType={}))[b.Default=0]="Default",b[b.Transparent=1]="Transparent",(g=e.VisualContainerDisplayMode||(e.VisualContainerDisplayMode={}))[g.Visible=0]="Visible",g[g.Hidden=1]="Hidden",(V=e.LayoutType||(e.LayoutType={}))[V.Master=0]="Master",V[V.Custom=1]="Custom",V[V.MobilePortrait=2]="MobilePortrait",V[V.MobileLandscape=3]="MobileLandscape",(m=e.HyperlinkClickBehavior||(e.HyperlinkClickBehavior={}))[m.Navigate=0]="Navigate",m[m.NavigateAndRaiseEvent=1]="NavigateAndRaiseEvent",m[m.RaiseEvent=2]="RaiseEvent",(y=e.ReportAlignment||(e.ReportAlignment={}))[y.Left=0]="Left",y[y.Center=1]="Center",y[y.Right=2]="Right",y[y.None=3]="None",(v=e.SectionVisibility||(e.SectionVisibility={}))[v.AlwaysVisible=0]="AlwaysVisible",v[v.HiddenInViewMode=1]="HiddenInViewMode",(h=e.Permissions||(e.Permissions={}))[h.Read=0]="Read",h[h.ReadWrite=1]="ReadWrite",h[h.Copy=2]="Copy",h[h.Create=4]="Create",h[h.All=7]="All",(f=e.ViewMode||(e.ViewMode={}))[f.View=0]="View",f[f.Edit=1]="Edit",(p=e.TokenType||(e.TokenType={}))[p.Aad=0]="Aad",p[p.Embed=1]="Embed",(c=e.ContrastMode||(e.ContrastMode={}))[c.None=0]="None",c[c.HighContrast1=1]="HighContrast1",c[c.HighContrast2=2]="HighContrast2",c[c.HighContrastBlack=3]="HighContrastBlack",c[c.HighContrastWhite=4]="HighContrastWhite",(d=e.MenuLocation||(e.MenuLocation={}))[d.Bottom=0]="Bottom",d[d.Top=1]="Top",(u=e.FiltersOperations||(e.FiltersOperations={}))[u.RemoveAll=0]="RemoveAll",u[u.ReplaceAll=1]="ReplaceAll",u[u.Add=2]="Add",u[u.Replace=3]="Replace",(s=e.FiltersLevel||(e.FiltersLevel={}))[s.Report=0]="Report",s[s.Page=1]="Page",s[s.Visual=2]="Visual",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",t[t.Identity=8]="Identity",t[t.Hierarchy=9]="Hierarchy"}(o=e.FilterType||(e.FilterType={})),(l=e.RelativeDateFilterTimeUnit||(e.RelativeDateFilterTimeUnit={}))[l.Days=0]="Days",l[l.Weeks=1]="Weeks",l[l.CalendarWeeks=2]="CalendarWeeks",l[l.Months=3]="Months",l[l.CalendarMonths=4]="CalendarMonths",l[l.Years=5]="Years",l[l.CalendarYears=6]="CalendarYears",l[l.Minutes=7]="Minutes",l[l.Hours=8]="Hours",(n=e.RelativeDateOperators||(e.RelativeDateOperators={}))[n.InLast=0]="InLast",n[n.InThis=1]="InThis",n[n.InNext=2]="InNext";var _=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=_;var T=function(t){function e(r,i,a){var n=t.call(this,r,o.Unknown)||this;return n.message=i,n.notSupportedTypeName=a,n.schemaUrl=e.schemaUrl,n}return a(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}(_);e.NotSupportedFilter=T;var E=function(t){function e(r,i,a){var n=t.call(this,r,o.IncludeExclude)||this;return n.values=a,n.isExclude=i,n.schemaUrl=e.schemaUrl,n}return a(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}(_);e.IncludeExcludeFilter=E;var F=function(t){function e(r,i,a,n){var l=t.call(this,r,o.TopN)||this;return l.operator=i,l.itemCount=a,l.schemaUrl=e.schemaUrl,l.orderBy=n,l}return a(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}(_);e.TopNFilter=F;var C=function(t){function e(r,i,a,n,l){var s=t.call(this,r,o.RelativeDate)||this;return s.operator=i,s.timeUnitsCount=a,s.timeUnitType=n,s.includeToday=l,s.schemaUrl=e.schemaUrl,s}return a(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}(_);e.RelativeDateFilter=C;var R=function(t){function e(r,i,a,n){var l=t.call(this,r,o.RelativeTime)||this;return l.operator=i,l.timeUnitsCount=a,l.timeUnitType=n,l.schemaUrl=e.schemaUrl,l}return a(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}(_);e.RelativeTimeFilter=R;var k=function(t){function e(r,i){for(var a=[],n=2;n0&&!a)throw new Error("You should pass the values to be filtered for each key. You passed: no values and ".concat(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,s=o.keyValues;l2)throw new Error("AdvancedFilters may not have more than two conditions. You passed: ".concat(a.length));if(1===l.length&&"And"!==i)throw new Error('Logical Operator must be "And" when there is only one condition provided');return s.conditions=l,s}return a(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}(_);e.AdvancedFilter=M;var L,I,q,D,N,B,U,H,W,z=function(t){function e(r,i){var a=t.call(this,r,o.Hierarchy)||this;return a.schemaUrl=e.schemaUrl,a.hierarchyData=i,a}return a(e,t),e.prototype.toJSON=function(){var e=t.prototype.toJSON.call(this);return e.hierarchyData=this.hierarchyData,e.target=this.target,e},e.schemaUrl="http://powerbi.com/product/schema#hierarchy",e}(_);function Q(t){if(t.filterType)return t.filterType;var e=t,r=t;return"string"==typeof e.operator&&Array.isArray(e.values)?o.Basic:"string"==typeof r.logicalOperator&&Array.isArray(r.conditions)?o.Advanced:o.Unknown}function G(t){return!(!t.table||!t.column||t.aggregationFunction)}e.HierarchyFilter=z,e.isFilterKeyColumnsTarget=function(t){return G(t)&&!!t.keys},e.isBasicFilterWithKeys=function(t){return Q(t)===o.Basic&&!!t.keyValues},e.getFilterType=Q,e.isMeasure=function(t){return void 0!==t.table&&void 0!==t.measure},e.isColumn=G,e.isHierarchyLevel=function(t){return!(!(t.table&&t.hierarchy&&t.hierarchyLevel)||t.aggregationFunction)},e.isHierarchyLevelAggr=function(t){return!!(t.table&&t.hierarchy&&t.hierarchyLevel&&t.aggregationFunction)},e.isColumnAggr=function(t){return!!(t.table&&t.column&&t.aggregationFunction)},e.isPercentOfGrandTotal=function(t){return!!t.percentOfGrandTotal},(W=e.CredentialType||(e.CredentialType={}))[W.NoConnection=0]="NoConnection",W[W.OnBehalfOf=1]="OnBehalfOf",W[W.Anonymous=2]="Anonymous",(H=e.DataCacheMode||(e.DataCacheMode={}))[H.Import=0]="Import",H[H.DirectQuery=1]="DirectQuery",(U=e.AggregateFunction||(e.AggregateFunction={}))[U.Default=1]="Default",U[U.None=2]="None",U[U.Sum=3]="Sum",U[U.Min=4]="Min",U[U.Max=5]="Max",U[U.Count=6]="Count",U[U.Average=7]="Average",U[U.DistinctCount=8]="DistinctCount",(B=e.BrowserPrintAdjustmentsMode||(e.BrowserPrintAdjustmentsMode={}))[B.Default=0]="Default",B[B.NoAdjustments=1]="NoAdjustments",(N=e.PageNavigationPosition||(e.PageNavigationPosition={}))[N.Bottom=0]="Bottom",N[N.Left=1]="Left",(D=e.QnaMode||(e.QnaMode={}))[D.Interactive=0]="Interactive",D[D.ResultOnly=1]="ResultOnly",(q=e.ExportDataType||(e.ExportDataType={}))[q.Summarized=0]="Summarized",q[q.Underlying=1]="Underlying",(I=e.BookmarksPlayMode||(e.BookmarksPlayMode={}))[I.Off=0]="Off",I[I.Presentation=1]="Presentation",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"},(L=e.SortDirection||(e.SortDirection={}))[L.Ascending=1]="Ascending",L[L.Descending=2]="Descending";var J=function(){function t(t){this.$schema=t}return t.prototype.toJSON=function(){return{$schema:this.$schema}},t}();e.Selector=J;var K=function(t){function e(r){var i=t.call(this,e.schemaUrl)||this;return i.pageName=r,i}return a(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}(J);e.PageSelector=K;var Y=function(t){function e(r){var i=t.call(this,e.schemaUrl)||this;return i.visualName=r,i}return a(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}(J);e.VisualSelector=Y;var $=function(t){function e(e){var r=t.call(this,Y.schemaUrl)||this;return r.visualType=e,r}return a(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}(J);e.VisualTypeSelector=$;var Z,X,tt,et=function(t){function e(e){var r=t.call(this,Y.schemaUrl)||this;return r.target=e,r}return a(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}(J);function rt(t){return Array.isArray(t)}function it(t){return t&&!!t.groupName}function at(t){return Array.isArray(t)}function ot(t){var e=t.message;return e||(e="".concat(t.path," is invalid. Not meeting ").concat(t.keyword," constraint")),{message:e}}e.SlicerTargetSelector=et,(tt=e.CommandDisplayOption||(e.CommandDisplayOption={}))[tt.Enabled=0]="Enabled",tt[tt.Disabled=1]="Disabled",tt[tt.Hidden=2]="Hidden",(X=e.VisualDataRoleKind||(e.VisualDataRoleKind={}))[X.Grouping=0]="Grouping",X[X.Measure=1]="Measure",X[X.GroupingOrMeasure=2]="GroupingOrMeasure",(Z=e.VisualDataRoleKindPreference||(e.VisualDataRoleKindPreference={}))[Z.Measure=0]="Measure",Z[Z.Grouping=1]="Grouping",e.isOnLoadFilters=function(t){return t&&!rt(t)},e.isReportFiltersArray=rt,e.isFlatMenuExtension=function(t){return t&&!it(t)},e.isGroupedMenuExtension=it,e.isIExtensions=function(t){return t&&!at(t)},e.isIExtensionArray=at,e.validateVisualSelector=function(t){var e=O.Validators.visualSelectorValidator.validate(t);return e?e.map(ot):void 0},e.validateSlicer=function(t){var e=O.Validators.slicerValidator.validate(t);return e?e.map(ot):void 0},e.validateSlicerState=function(t){var e=O.Validators.slicerStateValidator.validate(t);return e?e.map(ot):void 0},e.validatePlayBookmarkRequest=function(t){var e=O.Validators.playBookmarkRequestValidator.validate(t);return e?e.map(ot):void 0},e.validateAddBookmarkRequest=function(t){var e=O.Validators.addBookmarkRequestValidator.validate(t);return e?e.map(ot):void 0},e.validateApplyBookmarkByNameRequest=function(t){var e=O.Validators.applyBookmarkByNameRequestValidator.validate(t);return e?e.map(ot):void 0},e.validateApplyBookmarkStateRequest=function(t){var e=O.Validators.applyBookmarkStateRequestValidator.validate(t);return e?e.map(ot):void 0},e.validateCaptureBookmarkRequest=function(t){var e=O.Validators.captureBookmarkRequestValidator.validate(t);return e?e.map(ot):void 0},e.validateSettings=function(t){var e=O.Validators.settingsValidator.validate(t);return e?e.map(ot):void 0},e.validatePanes=function(t){var e=O.Validators.reportPanesValidator.validate(t);return e?e.map(ot):void 0},e.validateBookmarksPane=function(t){var e=O.Validators.bookmarksPaneValidator.validate(t);return e?e.map(ot):void 0},e.validateFiltersPane=function(t){var e=O.Validators.filtersPaneValidator.validate(t);return e?e.map(ot):void 0},e.validateFieldsPane=function(t){var e=O.Validators.fieldsPaneValidator.validate(t);return e?e.map(ot):void 0},e.validatePageNavigationPane=function(t){var e=O.Validators.pageNavigationPaneValidator.validate(t);return e?e.map(ot):void 0},e.validateSelectionPane=function(t){var e=O.Validators.selectionPaneValidator.validate(t);return e?e.map(ot):void 0},e.validateSyncSlicersPane=function(t){var e=O.Validators.syncSlicersPaneValidator.validate(t);return e?e.map(ot):void 0},e.validateVisualizationsPane=function(t){var e=O.Validators.visualizationsPaneValidator.validate(t);return e?e.map(ot):void 0},e.validateCustomPageSize=function(t){var e=O.Validators.customPageSizeValidator.validate(t);return e?e.map(ot):void 0},e.validateExtension=function(t){var e=O.Validators.extensionValidator.validate(t);return e?e.map(ot):void 0},e.validateMenuGroupExtension=function(t){var e=O.Validators.menuGroupExtensionValidator.validate(t);return e?e.map(ot):void 0},e.validateReportLoad=function(t){var e=O.Validators.reportLoadValidator.validate(t);return e?e.map(ot):void 0},e.validatePaginatedReportLoad=function(t){var e=O.Validators.paginatedReportLoadValidator.validate(t);return e?e.map(ot):void 0},e.validateCreateReport=function(t){var e=O.Validators.reportCreateValidator.validate(t);return e?e.map(ot):void 0},e.validateQuickCreate=function(t){var e=O.Validators.quickCreateValidator.validate(t);return e?e.map(ot):void 0},e.validateDashboardLoad=function(t){var e=O.Validators.dashboardLoadValidator.validate(t);return e?e.map(ot):void 0},e.validateTileLoad=function(t){var e=O.Validators.tileLoadValidator.validate(t);return e?e.map(ot):void 0},e.validatePage=function(t){var e=O.Validators.pageValidator.validate(t);return e?e.map(ot):void 0},e.validateFilter=function(t){var e=O.Validators.filterValidator.validate(t);return e?e.map(ot):void 0},e.validateUpdateFiltersRequest=function(t){var e=O.Validators.updateFiltersRequestValidator.validate(t);return e?e.map(ot):void 0},e.validateSaveAsParameters=function(t){var e=O.Validators.saveAsParametersValidator.validate(t);return e?e.map(ot):void 0},e.validateLoadQnaConfiguration=function(t){var e=O.Validators.loadQnaValidator.validate(t);return e?e.map(ot):void 0},e.validateQnaInterpretInputData=function(t){var e=O.Validators.qnaInterpretInputDataValidator.validate(t);return e?e.map(ot):void 0},e.validateExportDataRequest=function(t){var e=O.Validators.exportDataRequestValidator.validate(t);return e?e.map(ot):void 0},e.validateVisualHeader=function(t){var e=O.Validators.visualHeaderValidator.validate(t);return e?e.map(ot):void 0},e.validateVisualSettings=function(t){var e=O.Validators.visualSettingsValidator.validate(t);return e?e.map(ot):void 0},e.validateCommandsSettings=function(t){var e=O.Validators.commandsSettingsValidator.validate(t);return e?e.map(ot):void 0},e.validateCustomTheme=function(t){var e=O.Validators.customThemeValidator.validate(t);return e?e.map(ot):void 0},e.validateZoomLevel=function(t){var e=O.Validators.zoomLevelValidator.validate(t);return e?e.map(ot):void 0},e.validatePrintSettings=function(t){var e=O.Validators.printSettingsValidator.validate(t);return e?e.map(ot):void 0}},(t,e,r)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.Validators=void 0;var i=r(2),a=r(5),o=r(6),n=r(7),l=r(8),s=r(9),u=r(10),d=r(11),c=r(12),p=r(13),f=r(14),h=r(15),v=r(16),y=r(17),m=r(18),V=r(19),g=r(20),b=r(21),w=r(22),P=r(23),S=r(24),O=r(25),_=r(26),T=r(27),E=r(28),F=r(29),C=r(4),R=r(30),k=r(31),x=r(32),A=r(33);e.Validators={addBookmarkRequestValidator:new a.AddBookmarkRequestValidator,advancedFilterTypeValidator:new C.EnumValidator([0]),advancedFilterValidator:new c.AdvancedFilterValidator,anyArrayValidator:new C.ArrayValidator([new _.AnyOfValidator([new C.StringValidator,new C.NumberValidator,new C.BooleanValidator])]),anyFilterValidator:new _.AnyOfValidator([new c.BasicFilterValidator,new c.AdvancedFilterValidator,new c.IncludeExcludeFilterValidator,new c.NotSupportedFilterValidator,new c.RelativeDateFilterValidator,new c.TopNFilterValidator,new c.RelativeTimeFilterValidator,new c.HierarchyFilterValidator]),anyValueValidator:new _.AnyOfValidator([new C.StringValidator,new C.NumberValidator,new C.BooleanValidator]),actionBarValidator:new i.ActionBarValidator,statusBarValidator:new i.StatusBarValidator,applyBookmarkByNameRequestValidator:new a.ApplyBookmarkByNameRequestValidator,applyBookmarkStateRequestValidator:new a.ApplyBookmarkStateRequestValidator,applyBookmarkValidator:new _.AnyOfValidator([new a.ApplyBookmarkByNameRequestValidator,new a.ApplyBookmarkStateRequestValidator]),backgroundValidator:new C.EnumValidator([0,1]),basicFilterTypeValidator:new C.EnumValidator([1]),basicFilterValidator:new c.BasicFilterValidator,booleanArrayValidator:new C.BooleanArrayValidator,booleanValidator:new C.BooleanValidator,bookmarksPaneValidator:new h.BookmarksPaneValidator,captureBookmarkOptionsValidator:new a.CaptureBookmarkOptionsValidator,captureBookmarkRequestValidator:new a.CaptureBookmarkRequestValidator,columnSchemaArrayValidator:new C.ArrayValidator([new k.ColumnSchemaValidator]),commandDisplayOptionValidator:new C.EnumValidator([0,1,2]),commandExtensionSelectorValidator:new _.AnyOfValidator([new b.VisualSelectorValidator,new b.VisualTypeSelectorValidator]),commandExtensionArrayValidator:new C.ArrayValidator([new d.CommandExtensionValidator]),commandExtensionValidator:new d.CommandExtensionValidator,commandsSettingsArrayValidator:new C.ArrayValidator([new o.CommandsSettingsValidator]),commandsSettingsValidator:new o.CommandsSettingsValidator,conditionItemValidator:new c.ConditionItemValidator,contrastModeValidator:new C.EnumValidator([0,1,2,3,4]),credentialDetailsValidator:new F.MapValidator([new C.StringValidator],[new C.StringValidator]),credentialsValidator:new k.CredentialsValidator,credentialTypeValidator:new C.EnumValidator([0,1,2]),customLayoutDisplayOptionValidator:new C.EnumValidator([0,1,2]),customLayoutValidator:new p.CustomLayoutValidator,customPageSizeValidator:new f.CustomPageSizeValidator,customThemeValidator:new n.CustomThemeValidator,dashboardLoadValidator:new l.DashboardLoadValidator,dataCacheModeValidator:new C.EnumValidator([0,1]),datasetBindingValidator:new s.DatasetBindingValidator,datasetCreateConfigValidator:new k.DatasetCreateConfigValidator,datasourceConnectionConfigValidator:new k.DatasourceConnectionConfigValidator,displayStateModeValidator:new C.EnumValidator([0,1]),displayStateValidator:new p.DisplayStateValidator,exportDataRequestValidator:new u.ExportDataRequestValidator,extensionArrayValidator:new C.ArrayValidator([new d.ExtensionValidator]),extensionsValidator:new _.AnyOfValidator([new C.ArrayValidator([new d.ExtensionValidator]),new d.ExtensionsValidator]),extensionPointsValidator:new d.ExtensionPointsValidator,extensionValidator:new d.ExtensionValidator,fieldForbiddenValidator:new T.FieldForbiddenValidator,fieldRequiredValidator:new E.FieldRequiredValidator,fieldsPaneValidator:new h.FieldsPaneValidator,filterColumnTargetValidator:new c.FilterColumnTargetValidator,filterDisplaySettingsValidator:new c.FilterDisplaySettingsValidator,filterConditionsValidator:new C.ArrayValidator([new c.ConditionItemValidator]),filterHierarchyTargetValidator:new c.FilterHierarchyTargetValidator,filterMeasureTargetValidator:new c.FilterMeasureTargetValidator,filterTargetValidator:new _.AnyOfValidator([new c.FilterColumnTargetValidator,new c.FilterHierarchyTargetValidator,new c.FilterMeasureTargetValidator,new C.ArrayValidator([new _.AnyOfValidator([new c.FilterColumnTargetValidator,new c.FilterHierarchyTargetValidator,new c.FilterMeasureTargetValidator,new c.FilterKeyColumnsTargetValidator,new c.FilterKeyHierarchyTargetValidator])])]),filterValidator:new c.FilterValidator,filterTypeValidator:new C.EnumValidator([0,1,2,3,4,5,6,7,9]),filtersArrayValidator:new C.ArrayValidator([new c.FilterValidator]),filtersOperationsUpdateValidator:new C.EnumValidator([1,2,3]),filtersOperationsRemoveAllValidator:new C.EnumValidator([0]),filtersPaneValidator:new h.FiltersPaneValidator,hyperlinkClickBehaviorValidator:new C.EnumValidator([0,1,2]),includeExcludeFilterValidator:new c.IncludeExcludeFilterValidator,includeExludeFilterTypeValidator:new C.EnumValidator([3]),hierarchyFilterTypeValidator:new C.EnumValidator([9]),hierarchyFilterValuesValidator:new C.ArrayValidator([new c.HierarchyFilterNodeValidator]),layoutTypeValidator:new C.EnumValidator([0,1,2,3]),loadQnaValidator:new v.LoadQnaValidator,menuExtensionValidator:new _.AnyOfValidator([new d.FlatMenuExtensionValidator,new d.GroupedMenuExtensionValidator]),menuGroupExtensionArrayValidator:new C.ArrayValidator([new d.MenuGroupExtensionValidator]),menuGroupExtensionValidator:new d.MenuGroupExtensionValidator,menuLocationValidator:new C.EnumValidator([0,1]),notSupportedFilterTypeValidator:new C.EnumValidator([2]),notSupportedFilterValidator:new c.NotSupportedFilterValidator,numberArrayValidator:new C.NumberArrayValidator,numberValidator:new C.NumberValidator,onLoadFiltersBaseValidator:new _.AnyOfValidator([new c.OnLoadFiltersBaseValidator,new c.OnLoadFiltersBaseRemoveOperationValidator]),pageLayoutValidator:new F.MapValidator([new C.StringValidator],[new p.VisualLayoutValidator]),pageNavigationPaneValidator:new h.PageNavigationPaneValidator,pageNavigationPositionValidator:new C.EnumValidator([0,1]),pageSizeTypeValidator:new C.EnumValidator([0,1,2,3,4,5]),pageSizeValidator:new f.PageSizeValidator,pageValidator:new f.PageValidator,pageViewFieldValidator:new f.PageViewFieldValidator,pagesLayoutValidator:new F.MapValidator([new C.StringValidator],[new p.PageLayoutValidator]),paginatedReportCommandsValidator:new o.PaginatedReportCommandsValidator,paginatedReportLoadValidator:new V.PaginatedReportLoadValidator,paginatedReportsettingsValidator:new w.PaginatedReportSettingsValidator,parameterValuesArrayValidator:new C.ArrayValidator([new V.ReportParameterFieldsValidator]),parametersPanelValidator:new R.ParametersPanelValidator,permissionsValidator:new C.EnumValidator([0,1,2,4,7]),playBookmarkRequestValidator:new a.PlayBookmarkRequestValidator,printSettingsValidator:new A.PrintSettingsValidator,qnaInterpretInputDataValidator:new v.QnaInterpretInputDataValidator,qnaPanesValidator:new h.QnaPanesValidator,qnaSettingValidator:new v.QnaSettingsValidator,quickCreateValidator:new x.QuickCreateValidator,rawDataValidator:new C.ArrayValidator([new C.ArrayValidator([new C.StringValidator])]),relativeDateFilterOperatorValidator:new C.EnumValidator([0,1,2]),relativeDateFilterTimeUnitTypeValidator:new C.EnumValidator([0,1,2,3,4,5,6]),relativeDateFilterTypeValidator:new C.EnumValidator([4]),relativeDateFilterValidator:new c.RelativeDateFilterValidator,relativeDateTimeFilterTypeValidator:new C.EnumValidator([4,7]),relativeDateTimeFilterUnitTypeValidator:new C.EnumValidator([0,1,2,3,4,5,6,7,8]),relativeTimeFilterTimeUnitTypeValidator:new C.EnumValidator([7,8]),relativeTimeFilterTypeValidator:new C.EnumValidator([7]),relativeTimeFilterValidator:new c.RelativeTimeFilterValidator,reportBarsValidator:new i.ReportBarsValidator,reportCreateValidator:new y.ReportCreateValidator,reportLoadFiltersValidator:new _.AnyOfValidator([new C.ArrayValidator([new c.FilterValidator]),new c.OnLoadFiltersValidator]),reportLoadValidator:new m.ReportLoadValidator,reportPanesValidator:new h.ReportPanesValidator,saveAsParametersValidator:new g.SaveAsParametersValidator,selectionPaneValidator:new h.SelectionPaneValidator,settingsValidator:new w.SettingsValidator,singleCommandSettingsValidator:new o.SingleCommandSettingsValidator,slicerSelectorValidator:new _.AnyOfValidator([new b.VisualSelectorValidator,new b.SlicerTargetSelectorValidator]),slicerStateValidator:new P.SlicerStateValidator,slicerTargetValidator:new _.AnyOfValidator([new c.FilterColumnTargetValidator,new c.FilterHierarchyTargetValidator,new c.FilterMeasureTargetValidator,new c.FilterKeyColumnsTargetValidator,new c.FilterKeyHierarchyTargetValidator]),slicerValidator:new P.SlicerValidator,stringArrayValidator:new C.StringArrayValidator,stringValidator:new C.StringValidator,syncSlicersPaneValidator:new h.SyncSlicersPaneValidator,tableDataArrayValidator:new C.ArrayValidator([new k.TableDataValidator]),tableSchemaListValidator:new C.ArrayValidator([new k.TableSchemaValidator]),tileLoadValidator:new S.TileLoadValidator,tokenTypeValidator:new C.EnumValidator([0,1]),topNFilterTypeValidator:new C.EnumValidator([5]),topNFilterValidator:new c.TopNFilterValidator,updateFiltersRequestValidator:new _.AnyOfValidator([new c.UpdateFiltersRequestValidator,new c.RemoveFiltersRequestValidator]),viewModeValidator:new C.EnumValidator([0,1]),visualCommandSelectorValidator:new _.AnyOfValidator([new b.VisualSelectorValidator,new b.VisualTypeSelectorValidator]),visualHeaderSelectorValidator:new _.AnyOfValidator([new b.VisualSelectorValidator,new b.VisualTypeSelectorValidator]),visualHeaderSettingsValidator:new O.VisualHeaderSettingsValidator,visualHeaderValidator:new O.VisualHeaderValidator,visualHeadersValidator:new C.ArrayValidator([new O.VisualHeaderValidator]),visualizationsPaneValidator:new h.VisualizationsPaneValidator,visualLayoutValidator:new p.VisualLayoutValidator,visualSelectorValidator:new b.VisualSelectorValidator,visualSettingsValidator:new O.VisualSettingsValidator,visualTypeSelectorValidator:new b.VisualTypeSelectorValidator,zoomLevelValidator:new C.RangeValidator(.25,4)}},function(t,e,r){var i,a=this&&this.__extends||(i=function(t,e){return i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},i(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.StatusBarValidator=e.ActionBarValidator=e.ReportBarsValidator=void 0;var o=r(3),n=r(4),l=r(1),s=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return a(e,t),e.prototype.validate=function(e,r,i){if(null==e)return null;var a=t.prototype.validate.call(this,e,r,i);if(a)return a;var n=[{field:"actionBar",validators:[l.Validators.actionBarValidator]},{field:"statusBar",validators:[l.Validators.statusBarValidator]}];return new o.MultipleFieldsValidator(n).validate(e,r,i)},e}(n.ObjectValidator);e.ReportBarsValidator=s;var u=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return a(e,t),e.prototype.validate=function(e,r,i){if(null==e)return null;var a=t.prototype.validate.call(this,e,r,i);if(a)return a;var n=[{field:"visible",validators:[l.Validators.booleanValidator]}];return new o.MultipleFieldsValidator(n).validate(e,r,i)},e}(n.ObjectValidator);e.ActionBarValidator=u;var d=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return a(e,t),e.prototype.validate=function(e,r,i){if(null==e)return null;var a=t.prototype.validate.call(this,e,r,i);if(a)return a;var n=[{field:"visible",validators:[l.Validators.booleanValidator]}];return new o.MultipleFieldsValidator(n).validate(e,r,i)},e}(n.ObjectValidator);e.StatusBarValidator=d},(t,e)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.MultipleFieldsValidator=void 0;var r=function(){function t(t){this.fieldValidatorsPairs=t}return t.prototype.validate=function(t,e,r){if(!this.fieldValidatorsPairs)return null;for(var i=e?e+"."+r:r,a=0,o=this.fieldValidatorsPairs;athis.maxValue||e{Object.defineProperty(e,"__esModule",{value:!0}),e.AnyOfValidator=void 0;var r=function(){function t(t){this.validators=t}return t.prototype.validate=function(t,e,r){if(null==t)return null;for(var i=!1,a=0,o=this.validators;a{Object.defineProperty(e,"__esModule",{value:!0}),e.FieldForbiddenValidator=void 0;var r=function(){function t(){}return t.prototype.validate=function(t,e,r){return void 0!==t?[{message:r+" is forbidden",path:(e?e+".":"")+r,keyword:"forbidden"}]:null},t}();e.FieldForbiddenValidator=r},(t,e)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.FieldRequiredValidator=void 0;var r=function(){function t(){}return t.prototype.validate=function(t,e,r){return null==t?[{message:r+" is required",path:(e?e+".":"")+r,keyword:"required"}]:null},t}();e.FieldRequiredValidator=r},function(t,e,r){var i,a=this&&this.__extends||(i=function(t,e){return i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},i(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.MapValidator=void 0;var o=function(t){function e(e,r){var i=t.call(this)||this;return i.keyValidators=e,i.valueValidators=r,i}return a(e,t),e.prototype.validate=function(e,r,i){if(null==e)return null;var a=t.prototype.validate.call(this,e,r,i);if(a)return a;for(var o in e)if(e.hasOwnProperty(o)){for(var n=(r?r+".":"")+i+"."+o,l=0,s=this.keyValidators;l2&&"[]"===n.slice(l-2)&&(s=!0,r[n=n.slice(0,l-2)]||(r[n]=[])),a=o[1]?g(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(-1!==(i=t.indexOf("?"))){var l=t.substr(i+1,t.length);t=t.substr(0,i),o=this.parseQueryString(l)}for("/"!==(t=decodeURI(t)).charAt(0)&&(t="/"+t),(e=t.length)>1&&"/"===t.charAt(e-1)&&(t=t.substr(0,e-1),n=!0),r=0;r{Object.defineProperty(e,"__esModule",{value:!0}),e.FilterBuilder=void 0;var r=function(){function t(){}return t.prototype.withTargetObject=function(t){return this.target=t,this},t.prototype.withColumnTarget=function(t,e){return this.target={table:t,column:e},this},t.prototype.withMeasureTarget=function(t,e){return this.target={table:t,measure:e},this},t.prototype.withHierarchyLevelTarget=function(t,e,r){return this.target={table:t,hierarchy:e,hierarchyLevel:r},this},t.prototype.withColumnAggregation=function(t,e,r){return this.target={table:t,column:e,aggregationFunction:r},this},t.prototype.withHierarchyLevelAggregationTarget=function(t,e,r,i){return this.target={table:t,hierarchy:e,hierarchyLevel:r,aggregationFunction:i},this},t}();e.FilterBuilder=r},567:(t,e,r)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.RelativeTimeFilterBuilder=e.RelativeDateFilterBuilder=e.TopNFilterBuilder=e.AdvancedFilterBuilder=e.BasicFilterBuilder=void 0;var i=r(153);Object.defineProperty(e,"BasicFilterBuilder",{enumerable:!0,get:function(){return i.BasicFilterBuilder}});var a=r(674);Object.defineProperty(e,"AdvancedFilterBuilder",{enumerable:!0,get:function(){return a.AdvancedFilterBuilder}});var o=r(664);Object.defineProperty(e,"TopNFilterBuilder",{enumerable:!0,get:function(){return o.TopNFilterBuilder}});var n=r(844);Object.defineProperty(e,"RelativeDateFilterBuilder",{enumerable:!0,get:function(){return n.RelativeDateFilterBuilder}});var l=r(275);Object.defineProperty(e,"RelativeTimeFilterBuilder",{enumerable:!0,get:function(){return l.RelativeTimeFilterBuilder}})},844:function(t,e,r){var i,a=this&&this.__extends||(i=function(t,e){return i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},i(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.RelativeDateFilterBuilder=void 0;var o=r(149),n=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.isTodayIncluded=!0,e}return a(e,t),e.prototype.inLast=function(t,e){return this.operator=o.RelativeDateOperators.InLast,this.timeUnitsCount=t,this.timeUnitType=e,this},e.prototype.inThis=function(t,e){return this.operator=o.RelativeDateOperators.InThis,this.timeUnitsCount=t,this.timeUnitType=e,this},e.prototype.inNext=function(t,e){return this.operator=o.RelativeDateOperators.InNext,this.timeUnitsCount=t,this.timeUnitType=e,this},e.prototype.includeToday=function(t){return this.isTodayIncluded=t,this},e.prototype.build=function(){return new o.RelativeDateFilter(this.target,this.operator,this.timeUnitsCount,this.timeUnitType,this.isTodayIncluded)},e}(r(277).FilterBuilder);e.RelativeDateFilterBuilder=n},275:function(t,e,r){var i,a=this&&this.__extends||(i=function(t,e){return i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},i(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.RelativeTimeFilterBuilder=void 0;var o=r(149),n=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return a(e,t),e.prototype.inLast=function(t,e){return this.operator=o.RelativeDateOperators.InLast,this.timeUnitsCount=t,this.timeUnitType=e,this},e.prototype.inThis=function(t,e){return this.operator=o.RelativeDateOperators.InThis,this.timeUnitsCount=t,this.timeUnitType=e,this},e.prototype.inNext=function(t,e){return this.operator=o.RelativeDateOperators.InNext,this.timeUnitsCount=t,this.timeUnitType=e,this},e.prototype.build=function(){return new o.RelativeTimeFilter(this.target,this.operator,this.timeUnitsCount,this.timeUnitType)},e}(r(277).FilterBuilder);e.RelativeTimeFilterBuilder=n},664:function(t,e,r){var i,a=this&&this.__extends||(i=function(t,e){return i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},i(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.TopNFilterBuilder=void 0;var o=r(149),n=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return a(e,t),e.prototype.top=function(t){return this.operator="Top",this.itemCount=t,this},e.prototype.bottom=function(t){return this.operator="Bottom",this.itemCount=t,this},e.prototype.orderByTarget=function(t){return this.orderByTargetValue=t,this},e.prototype.build=function(){return new o.TopNFilter(this.target,this.operator,this.itemCount,this.orderByTargetValue)},e}(r(277).FilterBuilder);e.TopNFilterBuilder=n},460:function(t,e,r){var i=this&&this.__awaiter||function(t,e,r,i){return new(r||(r=Promise))((function(a,o){function n(t){try{s(i.next(t))}catch(t){o(t)}}function l(t){try{s(i.throw(t))}catch(t){o(t)}}function s(t){var e;t.done?a(t.value):(e=t.value,e instanceof r?e:new r((function(t){t(e)}))).then(n,l)}s((i=i.apply(t,e||[])).next())}))},a=this&&this.__generator||function(t,e){var r,i,a,o,n={label:0,sent:function(){if(1&a[0])throw a[1];return a[1]},trys:[],ops:[]};return o={next:l(0),throw:l(1),return:l(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function l(o){return function(l){return function(o){if(r)throw new TypeError("Generator is already executing.");for(;n;)try{if(r=1,i&&(a=2&o[0]?i.return:o[0]?i.throw||((a=i.return)&&a.call(i),0):i.next)&&!(a=a.call(i,o[1])).done)return a;switch(i=0,a&&(o=[2&o[0],a.value]),o[0]){case 0:case 1:a=o;break;case 4:return n.label++,{value:o[1],done:!1};case 5:n.label++,i=o[1],o=[0];continue;case 7:o=n.ops.pop(),n.trys.pop();continue;default:if(!((a=(a=n.trys).length>0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]{Object.defineProperty(e,"__esModule",{value:!0}),e.default={version:"2.22.3",type:"js"}},536:function(t,e,r){var i,a=this&&this.__extends||(i=function(t,e){return i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},i(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}),o=this&&this.__awaiter||function(t,e,r,i){return new(r||(r=Promise))((function(a,o){function n(t){try{s(i.next(t))}catch(t){o(t)}}function l(t){try{s(i.throw(t))}catch(t){o(t)}}function s(t){var e;t.done?a(t.value):(e=t.value,e instanceof r?e:new r((function(t){t(e)}))).then(n,l)}s((i=i.apply(t,e||[])).next())}))},n=this&&this.__generator||function(t,e){var r,i,a,o,n={label:0,sent:function(){if(1&a[0])throw a[1];return a[1]},trys:[],ops:[]};return o={next:l(0),throw:l(1),return:l(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function l(o){return function(l){return function(o){if(r)throw new TypeError("Generator is already executing.");for(;n;)try{if(r=1,i&&(a=2&o[0]?i.return:o[0]?i.throw||((a=i.return)&&a.call(i),0):i.next)&&!(a=a.call(i,o[1])).done)return a;switch(i=0,a&&(o=[2&o[0],a.value]),o[0]){case 0:case 1:a=o;break;case 4:return n.label++,{value:o[1],done:!1};case 5:n.label++,i=o[1],o=[0];continue;case 7:o=n.ops.pop(),n.trys.pop();continue;default:if(!((a=(a=n.trys).length>0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]{Object.defineProperty(e,"__esModule",{value:!0}),e.EmbedUrlNotSupported=e.APINotSupportedForRDLError=void 0,e.APINotSupportedForRDLError="This API is currently not supported for RDL reports",e.EmbedUrlNotSupported="Embed URL is invalid for this scenario. Please use Power BI REST APIs to get the valid URL"},357:(t,e,r)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.routerFactory=e.wpmpFactory=e.hpmFactory=void 0;var i=r(903),a=r(615),o=r(891),n=r(913);e.hpmFactory=function(t,e,r,i,o){return void 0===r&&(r=n.default.version),void 0===i&&(i=n.default.type),new a.HttpPostMessage(t,{"x-sdk-type":i,"x-sdk-version":r,"x-sdk-wrapper-version":o},e)},e.wpmpFactory=function(t,e,r){return new i.WindowPostMessageProxy({processTrackingProperties:{addTrackingProperties:a.HttpPostMessage.addTrackingProperties,getTrackingProperties:a.HttpPostMessage.getTrackingProperties},isErrorMessage:a.HttpPostMessage.isErrorMessage,suppressWarnings:!0,name:t,logMessages:e,eventSourceOverrideWindow:r})},e.routerFactory=function(t){return new o.Router(t)}},220:function(t,e,r){var i=this&&this.__awaiter||function(t,e,r,i){return new(r||(r=Promise))((function(a,o){function n(t){try{s(i.next(t))}catch(t){o(t)}}function l(t){try{s(i.throw(t))}catch(t){o(t)}}function s(t){var e;t.done?a(t.value):(e=t.value,e instanceof r?e:new r((function(t){t(e)}))).then(n,l)}s((i=i.apply(t,e||[])).next())}))},a=this&&this.__generator||function(t,e){var r,i,a,o,n={label:0,sent:function(){if(1&a[0])throw a[1];return a[1]},trys:[],ops:[]};return o={next:l(0),throw:l(1),return:l(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function l(o){return function(l){return function(o){if(r)throw new TypeError("Generator is already executing.");for(;n;)try{if(r=1,i&&(a=2&o[0]?i.return:o[0]?i.throw||((a=i.return)&&a.call(i),0):i.next)&&!(a=a.call(i,o[1])).done)return a;switch(i=0,a&&(o=[2&o[0],a.value]),o[0]){case 0:case 1:a=o;break;case 4:return n.label++,{value:o[1],done:!1};case 5:n.label++,i=o[1],o=[0];continue;case 7:o=n.ops.pop(),n.trys.pop();continue;default:if(!((a=(a=n.trys).length>0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0?"&":"?";return t+(i+e+"=")+r},e.isSavedInternal=function(t,e,a){return r(this,void 0,void 0,(function(){return i(this,(function(r){switch(r.label){case 0:return r.trys.push([0,2,,3]),[4,t.get("/report/hasUnsavedChanges",{uid:e},a)];case 1:return[2,!r.sent().body];case 2:throw r.sent().body;case 3:return[2]}}))}))},e.isRDLEmbed=function(t){return t&&t.toLowerCase().indexOf("/rdlembed?")>=0},e.autoAuthInEmbedUrl=function(t){return t&&decodeURIComponent(t).toLowerCase().indexOf("autoauth=true")>=0},e.getRandomValue=o,e.getTimeDiffInMilliseconds=function(t,e){return Math.abs(t.getTime()-e.getTime())},e.isCreate=function(t){return"create"===t||"quickcreate"===t}},23:function(t,e,r){var i,a=this&&this.__extends||(i=function(t,e){return i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},i(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}),o=this&&this.__awaiter||function(t,e,r,i){return new(r||(r=Promise))((function(a,o){function n(t){try{s(i.next(t))}catch(t){o(t)}}function l(t){try{s(i.throw(t))}catch(t){o(t)}}function s(t){var e;t.done?a(t.value):(e=t.value,e instanceof r?e:new r((function(t){t(e)}))).then(n,l)}s((i=i.apply(t,e||[])).next())}))},n=this&&this.__generator||function(t,e){var r,i,a,o,n={label:0,sent:function(){if(1&a[0])throw a[1];return a[1]},trys:[],ops:[]};return o={next:l(0),throw:l(1),return:l(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function l(o){return function(l){return function(o){if(r)throw new TypeError("Generator is already executing.");for(;n;)try{if(r=1,i&&(a=2&o[0]?i.return:o[0]?i.throw||((a=i.return)&&a.call(i),0):i.next)&&!(a=a.call(i,o[1])).done)return a;switch(i=0,a&&(o=[2&o[0],a.value]),o[0]){case 0:case 1:a=o;break;case 4:return n.label++,{value:o[1],done:!1};case 5:n.label++,i=o[1],o=[0];continue;case 7:o=n.ops.pop(),n.trys.pop();continue;default:if(!((a=(a=n.trys).length>0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]{var t=i;Object.defineProperty(t,"__esModule",{value:!0}),t.RelativeTimeFilterBuilder=t.RelativeDateFilterBuilder=t.TopNFilterBuilder=t.AdvancedFilterBuilder=t.BasicFilterBuilder=t.Create=t.QuickCreate=t.VisualDescriptor=t.Visual=t.Qna=t.Page=t.Embed=t.Tile=t.Dashboard=t.Report=t.models=t.factories=t.service=void 0;var e=r(149);t.models=e;var a=r(562);t.service=a;var o=r(357);t.factories=o;var n=r(125);Object.defineProperty(t,"Report",{enumerable:!0,get:function(){return n.Report}});var l=r(365);Object.defineProperty(t,"Dashboard",{enumerable:!0,get:function(){return l.Dashboard}});var s=r(43);Object.defineProperty(t,"Tile",{enumerable:!0,get:function(){return s.Tile}});var u=r(932);Object.defineProperty(t,"Embed",{enumerable:!0,get:function(){return u.Embed}});var d=r(220);Object.defineProperty(t,"Page",{enumerable:!0,get:function(){return d.Page}});var c=r(148);Object.defineProperty(t,"Qna",{enumerable:!0,get:function(){return c.Qna}});var p=r(23);Object.defineProperty(t,"Visual",{enumerable:!0,get:function(){return p.Visual}});var f=r(558);Object.defineProperty(t,"VisualDescriptor",{enumerable:!0,get:function(){return f.VisualDescriptor}});var h=r(714);Object.defineProperty(t,"QuickCreate",{enumerable:!0,get:function(){return h.QuickCreate}});var v=r(536);Object.defineProperty(t,"Create",{enumerable:!0,get:function(){return v.Create}});var y=r(567);Object.defineProperty(t,"BasicFilterBuilder",{enumerable:!0,get:function(){return y.BasicFilterBuilder}}),Object.defineProperty(t,"AdvancedFilterBuilder",{enumerable:!0,get:function(){return y.AdvancedFilterBuilder}}),Object.defineProperty(t,"TopNFilterBuilder",{enumerable:!0,get:function(){return y.TopNFilterBuilder}}),Object.defineProperty(t,"RelativeDateFilterBuilder",{enumerable:!0,get:function(){return y.RelativeDateFilterBuilder}}),Object.defineProperty(t,"RelativeTimeFilterBuilder",{enumerable:!0,get:function(){return y.RelativeTimeFilterBuilder}});var m=new a.Service(o.hpmFactory,o.wpmpFactory,o.routerFactory);window.powerbi&&window.powerBISDKGlobalServiceInstanceName?window[window.powerBISDKGlobalServiceInstanceName]=m:window.powerbi=m})(),i})())); \ No newline at end of file diff --git a/package.json b/package.json index 82d8514e..3a9139a5 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "powerbi-client", - "version": "2.22.2", + "version": "2.22.3", "description": "JavaScript library for embedding Power BI into your apps. Provides service which makes it easy to embed different types of components and an object model which allows easy interaction with these components such as changing pages, applying filters, and responding to data selection.", "main": "dist/powerbi.js", "types": "dist/powerbi-client.d.ts", diff --git a/src/config.ts b/src/config.ts index c9df6127..a06b52e7 100644 --- a/src/config.ts +++ b/src/config.ts @@ -3,7 +3,7 @@ /** @ignore *//** */ const config = { - version: '2.22.2', + version: '2.22.3', type: 'js' }; From 2782914b27b15cf584e7021c3a79b4ecd5f93f03 Mon Sep 17 00:00:00 2001 From: Or Shemesh Date: Tue, 23 May 2023 16:33:38 +0000 Subject: [PATCH 113/125] Merged PR 399642: Upgrade wpmp version Upgrade wpmp version --- dist/powerbi.js | 1267 +++++++++++++++---------------------------- dist/powerbi.min.js | 2 +- package.json | 2 +- src/util.ts | 2 +- 4 files changed, 452 insertions(+), 821 deletions(-) diff --git a/dist/powerbi.js b/dist/powerbi.js index 56ba7753..0d9c8a68 100644 --- a/dist/powerbi.js +++ b/dist/powerbi.js @@ -203,7 +203,7 @@ return /******/ (function(modules) { // webpackBootstrap \****************************************************/ /***/ (function(module) { -// powerbi-models v1.12.6 +// powerbi-models v1.12.3 // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. (function webpackUniversalModuleDefinition(root, factory) { @@ -234,9 +234,9 @@ var __extends = (this && this.__extends) || (function () { }; })(); Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.TextAlignment = exports.CommonErrorCodes = exports.BookmarksPlayMode = exports.ExportDataType = exports.QnaMode = exports.PageNavigationPosition = exports.BrowserPrintAdjustmentsMode = exports.AggregateFunction = exports.DataCacheMode = exports.CredentialType = exports.isPercentOfGrandTotal = exports.isColumnAggr = exports.isHierarchyLevelAggr = exports.isHierarchyLevel = exports.isColumn = exports.isMeasure = exports.getFilterType = exports.isBasicFilterWithKeys = exports.isFilterKeyColumnsTarget = exports.HierarchyFilter = exports.AdvancedFilter = exports.TupleFilter = exports.IdentityFilter = exports.BasicFilterWithKeys = exports.BasicFilter = exports.RelativeTimeFilter = exports.RelativeDateFilter = exports.TopNFilter = exports.IncludeExcludeFilter = exports.NotSupportedFilter = exports.Filter = exports.RelativeDateOperators = exports.RelativeDateFilterTimeUnit = exports.FilterType = exports.FiltersLevel = exports.FiltersOperations = exports.MenuLocation = exports.ContrastMode = exports.TokenType = exports.ViewMode = exports.Permissions = exports.SectionVisibility = exports.ReportAlignment = exports.HyperlinkClickBehavior = exports.LayoutType = exports.VisualContainerDisplayMode = exports.BackgroundType = exports.DisplayOption = exports.PageSizeType = exports.TraceType = void 0; -exports.validateVisualHeader = exports.validateExportDataRequest = exports.validateQnaInterpretInputData = exports.validateLoadQnaConfiguration = exports.validateSaveAsParameters = exports.validateUpdateFiltersRequest = exports.validateFilter = exports.validatePage = exports.validateTileLoad = exports.validateDashboardLoad = exports.validateQuickCreate = exports.validateCreateReport = exports.validatePaginatedReportLoad = exports.validateReportLoad = exports.validateMenuGroupExtension = exports.validateExtension = exports.validateCustomPageSize = exports.validateVisualizationsPane = exports.validateSyncSlicersPane = exports.validateSelectionPane = exports.validatePageNavigationPane = exports.validateFieldsPane = exports.validateFiltersPane = exports.validateBookmarksPane = exports.validatePanes = exports.validateSettings = exports.validateCaptureBookmarkRequest = exports.validateApplyBookmarkStateRequest = exports.validateApplyBookmarkByNameRequest = exports.validateAddBookmarkRequest = exports.validatePlayBookmarkRequest = exports.validateSlicerState = exports.validateSlicer = exports.validateVisualSelector = exports.isIExtensionArray = exports.isIExtensions = exports.isGroupedMenuExtension = exports.isFlatMenuExtension = exports.isReportFiltersArray = exports.isOnLoadFilters = exports.VisualDataRoleKindPreference = exports.VisualDataRoleKind = exports.CommandDisplayOption = exports.SlicerTargetSelector = exports.VisualTypeSelector = exports.VisualSelector = exports.PageSelector = exports.Selector = exports.SortDirection = exports.LegendPosition = void 0; -exports.validatePrintSettings = exports.validateZoomLevel = exports.validateCustomTheme = exports.validateCommandsSettings = exports.validateVisualSettings = void 0; +exports.SortDirection = exports.LegendPosition = exports.TextAlignment = exports.CommonErrorCodes = exports.BookmarksPlayMode = exports.ExportDataType = exports.QnaMode = exports.PageNavigationPosition = exports.DataCacheMode = exports.CredentialType = exports.isPercentOfGrandTotal = exports.isColumnAggr = exports.isHierarchyLevelAggr = exports.isHierarchyLevel = exports.isColumn = exports.isMeasure = exports.getFilterType = exports.isBasicFilterWithKeys = exports.isFilterKeyColumnsTarget = exports.HierarchyFilter = exports.AdvancedFilter = exports.TupleFilter = exports.IdentityFilter = exports.BasicFilterWithKeys = exports.BasicFilter = exports.RelativeTimeFilter = exports.RelativeDateFilter = exports.TopNFilter = exports.IncludeExcludeFilter = exports.NotSupportedFilter = exports.Filter = exports.RelativeDateOperators = exports.RelativeDateFilterTimeUnit = exports.FilterType = exports.FiltersLevel = exports.FiltersOperations = exports.MenuLocation = exports.ContrastMode = exports.TokenType = exports.ViewMode = exports.Permissions = exports.SectionVisibility = exports.ReportAlignment = exports.HyperlinkClickBehavior = exports.LayoutType = exports.VisualContainerDisplayMode = exports.BackgroundType = exports.DisplayOption = exports.PageSizeType = exports.TraceType = void 0; +exports.validateCommandsSettings = exports.validateVisualSettings = exports.validateVisualHeader = exports.validateExportDataRequest = exports.validateQnaInterpretInputData = exports.validateLoadQnaConfiguration = exports.validateSaveAsParameters = exports.validateUpdateFiltersRequest = exports.validateFilter = exports.validatePage = exports.validateTileLoad = exports.validateDashboardLoad = exports.validateQuickCreate = exports.validateCreateReport = exports.validatePaginatedReportLoad = exports.validateReportLoad = exports.validateMenuGroupExtension = exports.validateExtension = exports.validateCustomPageSize = exports.validateVisualizationsPane = exports.validateSyncSlicersPane = exports.validateSelectionPane = exports.validatePageNavigationPane = exports.validateFieldsPane = exports.validateFiltersPane = exports.validateBookmarksPane = exports.validatePanes = exports.validateSettings = exports.validateCaptureBookmarkRequest = exports.validateApplyBookmarkStateRequest = exports.validateApplyBookmarkByNameRequest = exports.validateAddBookmarkRequest = exports.validatePlayBookmarkRequest = exports.validateSlicerState = exports.validateSlicer = exports.validateVisualSelector = exports.isIExtensionArray = exports.isIExtensions = exports.isGroupedMenuExtension = exports.isFlatMenuExtension = exports.isReportFiltersArray = exports.isOnLoadFilters = exports.VisualDataRoleKindPreference = exports.VisualDataRoleKind = exports.CommandDisplayOption = exports.SlicerTargetSelector = exports.VisualTypeSelector = exports.VisualSelector = exports.PageSelector = exports.Selector = void 0; +exports.validateZoomLevel = exports.validateCustomTheme = void 0; var validator_1 = __nested_webpack_require_612__(1); var TraceType; (function (TraceType) { @@ -731,22 +731,6 @@ var DataCacheMode; DataCacheMode[DataCacheMode["Import"] = 0] = "Import"; DataCacheMode[DataCacheMode["DirectQuery"] = 1] = "DirectQuery"; })(DataCacheMode = exports.DataCacheMode || (exports.DataCacheMode = {})); -var AggregateFunction; -(function (AggregateFunction) { - AggregateFunction[AggregateFunction["Default"] = 1] = "Default"; - AggregateFunction[AggregateFunction["None"] = 2] = "None"; - AggregateFunction[AggregateFunction["Sum"] = 3] = "Sum"; - AggregateFunction[AggregateFunction["Min"] = 4] = "Min"; - AggregateFunction[AggregateFunction["Max"] = 5] = "Max"; - AggregateFunction[AggregateFunction["Count"] = 6] = "Count"; - AggregateFunction[AggregateFunction["Average"] = 7] = "Average"; - AggregateFunction[AggregateFunction["DistinctCount"] = 8] = "DistinctCount"; -})(AggregateFunction = exports.AggregateFunction || (exports.AggregateFunction = {})); -var BrowserPrintAdjustmentsMode; -(function (BrowserPrintAdjustmentsMode) { - BrowserPrintAdjustmentsMode[BrowserPrintAdjustmentsMode["Default"] = 0] = "Default"; - BrowserPrintAdjustmentsMode[BrowserPrintAdjustmentsMode["NoAdjustments"] = 1] = "NoAdjustments"; -})(BrowserPrintAdjustmentsMode = exports.BrowserPrintAdjustmentsMode || (exports.BrowserPrintAdjustmentsMode = {})); var PageNavigationPosition; (function (PageNavigationPosition) { PageNavigationPosition[PageNavigationPosition["Bottom"] = 0] = "Bottom"; @@ -1120,52 +1104,46 @@ function validateZoomLevel(input) { return errors ? errors.map(normalizeError) : undefined; } exports.validateZoomLevel = validateZoomLevel; -function validatePrintSettings(input) { - var errors = validator_1.Validators.printSettingsValidator.validate(input); - return errors ? errors.map(normalizeError) : undefined; -} -exports.validatePrintSettings = validatePrintSettings; /***/ }), /* 1 */ -/***/ ((__unused_webpack_module, exports, __nested_webpack_require_46167__) => { +/***/ ((__unused_webpack_module, exports, __nested_webpack_require_44757__) => { // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. Object.defineProperty(exports, "__esModule", ({ value: true })); exports.Validators = void 0; -var barsValidator_1 = __nested_webpack_require_46167__(2); -var bookmarkValidator_1 = __nested_webpack_require_46167__(5); -var commandsSettingsValidator_1 = __nested_webpack_require_46167__(6); -var customThemeValidator_1 = __nested_webpack_require_46167__(7); -var dashboardLoadValidator_1 = __nested_webpack_require_46167__(8); -var datasetBindingValidator_1 = __nested_webpack_require_46167__(9); -var exportDataValidator_1 = __nested_webpack_require_46167__(10); -var extensionsValidator_1 = __nested_webpack_require_46167__(11); -var filtersValidator_1 = __nested_webpack_require_46167__(12); -var layoutValidator_1 = __nested_webpack_require_46167__(13); -var pageValidator_1 = __nested_webpack_require_46167__(14); -var panesValidator_1 = __nested_webpack_require_46167__(15); -var qnaValidator_1 = __nested_webpack_require_46167__(16); -var reportCreateValidator_1 = __nested_webpack_require_46167__(17); -var reportLoadValidator_1 = __nested_webpack_require_46167__(18); -var paginatedReportLoadValidator_1 = __nested_webpack_require_46167__(19); -var saveAsParametersValidator_1 = __nested_webpack_require_46167__(20); -var selectorsValidator_1 = __nested_webpack_require_46167__(21); -var settingsValidator_1 = __nested_webpack_require_46167__(22); -var slicersValidator_1 = __nested_webpack_require_46167__(23); -var tileLoadValidator_1 = __nested_webpack_require_46167__(24); -var visualSettingsValidator_1 = __nested_webpack_require_46167__(25); -var anyOfValidator_1 = __nested_webpack_require_46167__(26); -var fieldForbiddenValidator_1 = __nested_webpack_require_46167__(27); -var fieldRequiredValidator_1 = __nested_webpack_require_46167__(28); -var mapValidator_1 = __nested_webpack_require_46167__(29); -var typeValidator_1 = __nested_webpack_require_46167__(4); -var parameterPanelValidator_1 = __nested_webpack_require_46167__(30); -var datasetCreateConfigValidator_1 = __nested_webpack_require_46167__(31); -var quickCreateValidator_1 = __nested_webpack_require_46167__(32); -var printSettingsValidator_1 = __nested_webpack_require_46167__(33); +var barsValidator_1 = __nested_webpack_require_44757__(2); +var bookmarkValidator_1 = __nested_webpack_require_44757__(5); +var commandsSettingsValidator_1 = __nested_webpack_require_44757__(6); +var customThemeValidator_1 = __nested_webpack_require_44757__(7); +var dashboardLoadValidator_1 = __nested_webpack_require_44757__(8); +var datasetBindingValidator_1 = __nested_webpack_require_44757__(9); +var exportDataValidator_1 = __nested_webpack_require_44757__(10); +var extensionsValidator_1 = __nested_webpack_require_44757__(11); +var filtersValidator_1 = __nested_webpack_require_44757__(12); +var layoutValidator_1 = __nested_webpack_require_44757__(13); +var pageValidator_1 = __nested_webpack_require_44757__(14); +var panesValidator_1 = __nested_webpack_require_44757__(15); +var qnaValidator_1 = __nested_webpack_require_44757__(16); +var reportCreateValidator_1 = __nested_webpack_require_44757__(17); +var reportLoadValidator_1 = __nested_webpack_require_44757__(18); +var paginatedReportLoadValidator_1 = __nested_webpack_require_44757__(19); +var saveAsParametersValidator_1 = __nested_webpack_require_44757__(20); +var selectorsValidator_1 = __nested_webpack_require_44757__(21); +var settingsValidator_1 = __nested_webpack_require_44757__(22); +var slicersValidator_1 = __nested_webpack_require_44757__(23); +var tileLoadValidator_1 = __nested_webpack_require_44757__(24); +var visualSettingsValidator_1 = __nested_webpack_require_44757__(25); +var anyOfValidator_1 = __nested_webpack_require_44757__(26); +var fieldForbiddenValidator_1 = __nested_webpack_require_44757__(27); +var fieldRequiredValidator_1 = __nested_webpack_require_44757__(28); +var mapValidator_1 = __nested_webpack_require_44757__(29); +var typeValidator_1 = __nested_webpack_require_44757__(4); +var parameterPanelValidator_1 = __nested_webpack_require_44757__(30); +var datasetCreateConfigValidator_1 = __nested_webpack_require_44757__(31); +var quickCreateValidator_1 = __nested_webpack_require_44757__(32); exports.Validators = { addBookmarkRequestValidator: new bookmarkValidator_1.AddBookmarkRequestValidator(), advancedFilterTypeValidator: new typeValidator_1.EnumValidator([0]), @@ -1260,7 +1238,6 @@ exports.Validators = { parametersPanelValidator: new parameterPanelValidator_1.ParametersPanelValidator(), permissionsValidator: new typeValidator_1.EnumValidator([0, 1, 2, 4, 7]), playBookmarkRequestValidator: new bookmarkValidator_1.PlayBookmarkRequestValidator(), - printSettingsValidator: new printSettingsValidator_1.PrintSettingsValidator(), qnaInterpretInputDataValidator: new qnaValidator_1.QnaInterpretInputDataValidator(), qnaPanesValidator: new panesValidator_1.QnaPanesValidator(), qnaSettingValidator: new qnaValidator_1.QnaSettingsValidator(), @@ -1315,7 +1292,7 @@ exports.Validators = { /***/ }), /* 2 */ -/***/ (function(__unused_webpack_module, exports, __nested_webpack_require_63052__) { +/***/ (function(__unused_webpack_module, exports, __nested_webpack_require_61501__) { // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. @@ -1336,9 +1313,9 @@ var __extends = (this && this.__extends) || (function () { })(); Object.defineProperty(exports, "__esModule", ({ value: true })); exports.StatusBarValidator = exports.ActionBarValidator = exports.ReportBarsValidator = void 0; -var multipleFieldsValidator_1 = __nested_webpack_require_63052__(3); -var typeValidator_1 = __nested_webpack_require_63052__(4); -var validator_1 = __nested_webpack_require_63052__(1); +var multipleFieldsValidator_1 = __nested_webpack_require_61501__(3); +var typeValidator_1 = __nested_webpack_require_61501__(4); +var validator_1 = __nested_webpack_require_61501__(1); var ReportBarsValidator = /** @class */ (function (_super) { __extends(ReportBarsValidator, _super); function ReportBarsValidator() { @@ -1718,7 +1695,7 @@ exports.RangeValidator = RangeValidator; /***/ }), /* 5 */ -/***/ (function(__unused_webpack_module, exports, __nested_webpack_require_78931__) { +/***/ (function(__unused_webpack_module, exports, __nested_webpack_require_77380__) { // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. @@ -1739,9 +1716,9 @@ var __extends = (this && this.__extends) || (function () { })(); Object.defineProperty(exports, "__esModule", ({ value: true })); exports.CaptureBookmarkRequestValidator = exports.CaptureBookmarkOptionsValidator = exports.ApplyBookmarkStateRequestValidator = exports.ApplyBookmarkByNameRequestValidator = exports.AddBookmarkRequestValidator = exports.PlayBookmarkRequestValidator = void 0; -var multipleFieldsValidator_1 = __nested_webpack_require_78931__(3); -var typeValidator_1 = __nested_webpack_require_78931__(4); -var validator_1 = __nested_webpack_require_78931__(1); +var multipleFieldsValidator_1 = __nested_webpack_require_77380__(3); +var typeValidator_1 = __nested_webpack_require_77380__(4); +var validator_1 = __nested_webpack_require_77380__(1); var PlayBookmarkRequestValidator = /** @class */ (function (_super) { __extends(PlayBookmarkRequestValidator, _super); function PlayBookmarkRequestValidator() { @@ -1908,7 +1885,7 @@ exports.CaptureBookmarkRequestValidator = CaptureBookmarkRequestValidator; /***/ }), /* 6 */ -/***/ (function(__unused_webpack_module, exports, __nested_webpack_require_87407__) { +/***/ (function(__unused_webpack_module, exports, __nested_webpack_require_85856__) { // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. @@ -1929,9 +1906,9 @@ var __extends = (this && this.__extends) || (function () { })(); Object.defineProperty(exports, "__esModule", ({ value: true })); exports.PaginatedReportCommandsValidator = exports.SingleCommandSettingsValidator = exports.CommandsSettingsValidator = void 0; -var multipleFieldsValidator_1 = __nested_webpack_require_87407__(3); -var typeValidator_1 = __nested_webpack_require_87407__(4); -var validator_1 = __nested_webpack_require_87407__(1); +var multipleFieldsValidator_1 = __nested_webpack_require_85856__(3); +var typeValidator_1 = __nested_webpack_require_85856__(4); +var validator_1 = __nested_webpack_require_85856__(1); var CommandsSettingsValidator = /** @class */ (function (_super) { __extends(CommandsSettingsValidator, _super); function CommandsSettingsValidator() { @@ -2075,7 +2052,7 @@ exports.PaginatedReportCommandsValidator = PaginatedReportCommandsValidator; /***/ }), /* 7 */ -/***/ (function(__unused_webpack_module, exports, __nested_webpack_require_94440__) { +/***/ (function(__unused_webpack_module, exports, __nested_webpack_require_92889__) { // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. @@ -2096,8 +2073,8 @@ var __extends = (this && this.__extends) || (function () { })(); Object.defineProperty(exports, "__esModule", ({ value: true })); exports.CustomThemeValidator = void 0; -var multipleFieldsValidator_1 = __nested_webpack_require_94440__(3); -var typeValidator_1 = __nested_webpack_require_94440__(4); +var multipleFieldsValidator_1 = __nested_webpack_require_92889__(3); +var typeValidator_1 = __nested_webpack_require_92889__(4); var CustomThemeValidator = /** @class */ (function (_super) { __extends(CustomThemeValidator, _super); function CustomThemeValidator() { @@ -2127,7 +2104,7 @@ exports.CustomThemeValidator = CustomThemeValidator; /***/ }), /* 8 */ -/***/ (function(__unused_webpack_module, exports, __nested_webpack_require_96594__) { +/***/ (function(__unused_webpack_module, exports, __nested_webpack_require_95043__) { // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. @@ -2148,9 +2125,9 @@ var __extends = (this && this.__extends) || (function () { })(); Object.defineProperty(exports, "__esModule", ({ value: true })); exports.DashboardLoadValidator = void 0; -var multipleFieldsValidator_1 = __nested_webpack_require_96594__(3); -var typeValidator_1 = __nested_webpack_require_96594__(4); -var validator_1 = __nested_webpack_require_96594__(1); +var multipleFieldsValidator_1 = __nested_webpack_require_95043__(3); +var typeValidator_1 = __nested_webpack_require_95043__(4); +var validator_1 = __nested_webpack_require_95043__(1); var DashboardLoadValidator = /** @class */ (function (_super) { __extends(DashboardLoadValidator, _super); function DashboardLoadValidator() { @@ -2200,7 +2177,7 @@ exports.DashboardLoadValidator = DashboardLoadValidator; /***/ }), /* 9 */ -/***/ (function(__unused_webpack_module, exports, __nested_webpack_require_99593__) { +/***/ (function(__unused_webpack_module, exports, __nested_webpack_require_98042__) { // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. @@ -2221,9 +2198,9 @@ var __extends = (this && this.__extends) || (function () { })(); Object.defineProperty(exports, "__esModule", ({ value: true })); exports.DatasetBindingValidator = void 0; -var multipleFieldsValidator_1 = __nested_webpack_require_99593__(3); -var typeValidator_1 = __nested_webpack_require_99593__(4); -var validator_1 = __nested_webpack_require_99593__(1); +var multipleFieldsValidator_1 = __nested_webpack_require_98042__(3); +var typeValidator_1 = __nested_webpack_require_98042__(4); +var validator_1 = __nested_webpack_require_98042__(1); var DatasetBindingValidator = /** @class */ (function (_super) { __extends(DatasetBindingValidator, _super); function DatasetBindingValidator() { @@ -2253,7 +2230,7 @@ exports.DatasetBindingValidator = DatasetBindingValidator; /***/ }), /* 10 */ -/***/ (function(__unused_webpack_module, exports, __nested_webpack_require_101863__) { +/***/ (function(__unused_webpack_module, exports, __nested_webpack_require_100312__) { // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. @@ -2274,8 +2251,8 @@ var __extends = (this && this.__extends) || (function () { })(); Object.defineProperty(exports, "__esModule", ({ value: true })); exports.ExportDataRequestValidator = void 0; -var multipleFieldsValidator_1 = __nested_webpack_require_101863__(3); -var typeValidator_1 = __nested_webpack_require_101863__(4); +var multipleFieldsValidator_1 = __nested_webpack_require_100312__(3); +var typeValidator_1 = __nested_webpack_require_100312__(4); var ExportDataRequestValidator = /** @class */ (function (_super) { __extends(ExportDataRequestValidator, _super); function ExportDataRequestValidator() { @@ -2309,7 +2286,7 @@ exports.ExportDataRequestValidator = ExportDataRequestValidator; /***/ }), /* 11 */ -/***/ (function(__unused_webpack_module, exports, __nested_webpack_require_104207__) { +/***/ (function(__unused_webpack_module, exports, __nested_webpack_require_102656__) { // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. @@ -2330,9 +2307,9 @@ var __extends = (this && this.__extends) || (function () { })(); Object.defineProperty(exports, "__esModule", ({ value: true })); exports.ExtensionsValidator = exports.MenuGroupExtensionValidator = exports.ExtensionValidator = exports.CommandExtensionValidator = exports.ExtensionItemValidator = exports.ExtensionPointsValidator = exports.GroupedMenuExtensionValidator = exports.FlatMenuExtensionValidator = exports.MenuExtensionBaseValidator = void 0; -var multipleFieldsValidator_1 = __nested_webpack_require_104207__(3); -var typeValidator_1 = __nested_webpack_require_104207__(4); -var validator_1 = __nested_webpack_require_104207__(1); +var multipleFieldsValidator_1 = __nested_webpack_require_102656__(3); +var typeValidator_1 = __nested_webpack_require_102656__(4); +var validator_1 = __nested_webpack_require_102656__(1); var MenuExtensionBaseValidator = /** @class */ (function (_super) { __extends(MenuExtensionBaseValidator, _super); function MenuExtensionBaseValidator() { @@ -2602,7 +2579,7 @@ exports.ExtensionsValidator = ExtensionsValidator; /***/ }), /* 12 */ -/***/ (function(__unused_webpack_module, exports, __nested_webpack_require_116698__) { +/***/ (function(__unused_webpack_module, exports, __nested_webpack_require_115147__) { // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. @@ -2623,9 +2600,9 @@ var __extends = (this && this.__extends) || (function () { })(); Object.defineProperty(exports, "__esModule", ({ value: true })); exports.OnLoadFiltersValidator = exports.OnLoadFiltersBaseRemoveOperationValidator = exports.OnLoadFiltersBaseValidator = exports.ConditionItemValidator = exports.RemoveFiltersRequestValidator = exports.UpdateFiltersRequestValidator = exports.FilterValidator = exports.HierarchyFilterNodeValidator = exports.HierarchyFilterValidator = exports.IncludeExcludeFilterValidator = exports.NotSupportedFilterValidator = exports.TopNFilterValidator = exports.RelativeTimeFilterValidator = exports.RelativeDateFilterValidator = exports.RelativeDateTimeFilterValidator = exports.AdvancedFilterValidator = exports.BasicFilterValidator = exports.FilterValidatorBase = exports.FilterDisplaySettingsValidator = exports.FilterMeasureTargetValidator = exports.FilterKeyHierarchyTargetValidator = exports.FilterHierarchyTargetValidator = exports.FilterKeyColumnsTargetValidator = exports.FilterColumnTargetValidator = void 0; -var multipleFieldsValidator_1 = __nested_webpack_require_116698__(3); -var typeValidator_1 = __nested_webpack_require_116698__(4); -var validator_1 = __nested_webpack_require_116698__(1); +var multipleFieldsValidator_1 = __nested_webpack_require_115147__(3); +var typeValidator_1 = __nested_webpack_require_115147__(4); +var validator_1 = __nested_webpack_require_115147__(1); var FilterColumnTargetValidator = /** @class */ (function (_super) { __extends(FilterColumnTargetValidator, _super); function FilterColumnTargetValidator() { @@ -3371,7 +3348,7 @@ exports.OnLoadFiltersValidator = OnLoadFiltersValidator; /***/ }), /* 13 */ -/***/ (function(__unused_webpack_module, exports, __nested_webpack_require_150670__) { +/***/ (function(__unused_webpack_module, exports, __nested_webpack_require_149119__) { // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. @@ -3392,9 +3369,9 @@ var __extends = (this && this.__extends) || (function () { })(); Object.defineProperty(exports, "__esModule", ({ value: true })); exports.PageLayoutValidator = exports.DisplayStateValidator = exports.VisualLayoutValidator = exports.CustomLayoutValidator = void 0; -var multipleFieldsValidator_1 = __nested_webpack_require_150670__(3); -var typeValidator_1 = __nested_webpack_require_150670__(4); -var validator_1 = __nested_webpack_require_150670__(1); +var multipleFieldsValidator_1 = __nested_webpack_require_149119__(3); +var typeValidator_1 = __nested_webpack_require_149119__(4); +var validator_1 = __nested_webpack_require_149119__(1); var CustomLayoutValidator = /** @class */ (function (_super) { __extends(CustomLayoutValidator, _super); function CustomLayoutValidator() { @@ -3531,7 +3508,7 @@ exports.PageLayoutValidator = PageLayoutValidator; /***/ }), /* 14 */ -/***/ (function(__unused_webpack_module, exports, __nested_webpack_require_157149__) { +/***/ (function(__unused_webpack_module, exports, __nested_webpack_require_155598__) { // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. @@ -3552,9 +3529,9 @@ var __extends = (this && this.__extends) || (function () { })(); Object.defineProperty(exports, "__esModule", ({ value: true })); exports.PageViewFieldValidator = exports.PageValidator = exports.CustomPageSizeValidator = exports.PageSizeValidator = void 0; -var multipleFieldsValidator_1 = __nested_webpack_require_157149__(3); -var typeValidator_1 = __nested_webpack_require_157149__(4); -var validator_1 = __nested_webpack_require_157149__(1); +var multipleFieldsValidator_1 = __nested_webpack_require_155598__(3); +var typeValidator_1 = __nested_webpack_require_155598__(4); +var validator_1 = __nested_webpack_require_155598__(1); var PageSizeValidator = /** @class */ (function (_super) { __extends(PageSizeValidator, _super); function PageSizeValidator() { @@ -3662,7 +3639,7 @@ exports.PageViewFieldValidator = PageViewFieldValidator; /***/ }), /* 15 */ -/***/ (function(__unused_webpack_module, exports, __nested_webpack_require_162589__) { +/***/ (function(__unused_webpack_module, exports, __nested_webpack_require_161038__) { // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. @@ -3683,9 +3660,9 @@ var __extends = (this && this.__extends) || (function () { })(); Object.defineProperty(exports, "__esModule", ({ value: true })); exports.VisualizationsPaneValidator = exports.SyncSlicersPaneValidator = exports.SelectionPaneValidator = exports.PageNavigationPaneValidator = exports.FiltersPaneValidator = exports.FieldsPaneValidator = exports.BookmarksPaneValidator = exports.QnaPanesValidator = exports.ReportPanesValidator = void 0; -var multipleFieldsValidator_1 = __nested_webpack_require_162589__(3); -var typeValidator_1 = __nested_webpack_require_162589__(4); -var validator_1 = __nested_webpack_require_162589__(1); +var multipleFieldsValidator_1 = __nested_webpack_require_161038__(3); +var typeValidator_1 = __nested_webpack_require_161038__(4); +var validator_1 = __nested_webpack_require_161038__(1); var ReportPanesValidator = /** @class */ (function (_super) { __extends(ReportPanesValidator, _super); function ReportPanesValidator() { @@ -3947,7 +3924,7 @@ exports.VisualizationsPaneValidator = VisualizationsPaneValidator; /***/ }), /* 16 */ -/***/ (function(__unused_webpack_module, exports, __nested_webpack_require_174335__) { +/***/ (function(__unused_webpack_module, exports, __nested_webpack_require_172784__) { // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. @@ -3968,9 +3945,9 @@ var __extends = (this && this.__extends) || (function () { })(); Object.defineProperty(exports, "__esModule", ({ value: true })); exports.QnaInterpretInputDataValidator = exports.QnaSettingsValidator = exports.LoadQnaValidator = void 0; -var multipleFieldsValidator_1 = __nested_webpack_require_174335__(3); -var typeValidator_1 = __nested_webpack_require_174335__(4); -var validator_1 = __nested_webpack_require_174335__(1); +var multipleFieldsValidator_1 = __nested_webpack_require_172784__(3); +var typeValidator_1 = __nested_webpack_require_172784__(4); +var validator_1 = __nested_webpack_require_172784__(1); var LoadQnaValidator = /** @class */ (function (_super) { __extends(LoadQnaValidator, _super); function LoadQnaValidator() { @@ -4086,7 +4063,7 @@ exports.QnaInterpretInputDataValidator = QnaInterpretInputDataValidator; /***/ }), /* 17 */ -/***/ (function(__unused_webpack_module, exports, __nested_webpack_require_180046__) { +/***/ (function(__unused_webpack_module, exports, __nested_webpack_require_178495__) { // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. @@ -4107,9 +4084,9 @@ var __extends = (this && this.__extends) || (function () { })(); Object.defineProperty(exports, "__esModule", ({ value: true })); exports.ReportCreateValidator = void 0; -var multipleFieldsValidator_1 = __nested_webpack_require_180046__(3); -var typeValidator_1 = __nested_webpack_require_180046__(4); -var validator_1 = __nested_webpack_require_180046__(1); +var multipleFieldsValidator_1 = __nested_webpack_require_178495__(3); +var typeValidator_1 = __nested_webpack_require_178495__(4); +var validator_1 = __nested_webpack_require_178495__(1); var ReportCreateValidator = /** @class */ (function (_super) { __extends(ReportCreateValidator, _super); function ReportCreateValidator() { @@ -4155,7 +4132,7 @@ exports.ReportCreateValidator = ReportCreateValidator; /***/ }), /* 18 */ -/***/ (function(__unused_webpack_module, exports, __nested_webpack_require_182904__) { +/***/ (function(__unused_webpack_module, exports, __nested_webpack_require_181353__) { // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. @@ -4176,9 +4153,9 @@ var __extends = (this && this.__extends) || (function () { })(); Object.defineProperty(exports, "__esModule", ({ value: true })); exports.ReportLoadValidator = void 0; -var multipleFieldsValidator_1 = __nested_webpack_require_182904__(3); -var typeValidator_1 = __nested_webpack_require_182904__(4); -var validator_1 = __nested_webpack_require_182904__(1); +var multipleFieldsValidator_1 = __nested_webpack_require_181353__(3); +var typeValidator_1 = __nested_webpack_require_181353__(4); +var validator_1 = __nested_webpack_require_181353__(1); var ReportLoadValidator = /** @class */ (function (_super) { __extends(ReportLoadValidator, _super); function ReportLoadValidator() { @@ -4260,7 +4237,7 @@ exports.ReportLoadValidator = ReportLoadValidator; /***/ }), /* 19 */ -/***/ (function(__unused_webpack_module, exports, __nested_webpack_require_187025__) { +/***/ (function(__unused_webpack_module, exports, __nested_webpack_require_185474__) { // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. @@ -4281,9 +4258,9 @@ var __extends = (this && this.__extends) || (function () { })(); Object.defineProperty(exports, "__esModule", ({ value: true })); exports.ReportParameterFieldsValidator = exports.PaginatedReportLoadValidator = void 0; -var multipleFieldsValidator_1 = __nested_webpack_require_187025__(3); -var typeValidator_1 = __nested_webpack_require_187025__(4); -var validator_1 = __nested_webpack_require_187025__(1); +var multipleFieldsValidator_1 = __nested_webpack_require_185474__(3); +var typeValidator_1 = __nested_webpack_require_185474__(4); +var validator_1 = __nested_webpack_require_185474__(1); var PaginatedReportLoadValidator = /** @class */ (function (_super) { __extends(PaginatedReportLoadValidator, _super); function PaginatedReportLoadValidator() { @@ -4364,7 +4341,7 @@ exports.ReportParameterFieldsValidator = ReportParameterFieldsValidator; /***/ }), /* 20 */ -/***/ (function(__unused_webpack_module, exports, __nested_webpack_require_191349__) { +/***/ (function(__unused_webpack_module, exports, __nested_webpack_require_189798__) { // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. @@ -4385,9 +4362,9 @@ var __extends = (this && this.__extends) || (function () { })(); Object.defineProperty(exports, "__esModule", ({ value: true })); exports.SaveAsParametersValidator = void 0; -var multipleFieldsValidator_1 = __nested_webpack_require_191349__(3); -var typeValidator_1 = __nested_webpack_require_191349__(4); -var validator_1 = __nested_webpack_require_191349__(1); +var multipleFieldsValidator_1 = __nested_webpack_require_189798__(3); +var typeValidator_1 = __nested_webpack_require_189798__(4); +var validator_1 = __nested_webpack_require_189798__(1); var SaveAsParametersValidator = /** @class */ (function (_super) { __extends(SaveAsParametersValidator, _super); function SaveAsParametersValidator() { @@ -4417,7 +4394,7 @@ exports.SaveAsParametersValidator = SaveAsParametersValidator; /***/ }), /* 21 */ -/***/ (function(__unused_webpack_module, exports, __nested_webpack_require_193630__) { +/***/ (function(__unused_webpack_module, exports, __nested_webpack_require_192079__) { // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. @@ -4438,10 +4415,10 @@ var __extends = (this && this.__extends) || (function () { })(); Object.defineProperty(exports, "__esModule", ({ value: true })); exports.SlicerTargetSelectorValidator = exports.VisualTypeSelectorValidator = exports.VisualSelectorValidator = void 0; -var multipleFieldsValidator_1 = __nested_webpack_require_193630__(3); -var typeValidator_1 = __nested_webpack_require_193630__(4); -var typeValidator_2 = __nested_webpack_require_193630__(4); -var validator_1 = __nested_webpack_require_193630__(1); +var multipleFieldsValidator_1 = __nested_webpack_require_192079__(3); +var typeValidator_1 = __nested_webpack_require_192079__(4); +var typeValidator_2 = __nested_webpack_require_192079__(4); +var validator_1 = __nested_webpack_require_192079__(1); var VisualSelectorValidator = /** @class */ (function (_super) { __extends(VisualSelectorValidator, _super); function VisualSelectorValidator() { @@ -4534,7 +4511,7 @@ exports.SlicerTargetSelectorValidator = SlicerTargetSelectorValidator; /***/ }), /* 22 */ -/***/ (function(__unused_webpack_module, exports, __nested_webpack_require_199088__) { +/***/ (function(__unused_webpack_module, exports, __nested_webpack_require_197537__) { // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. @@ -4555,9 +4532,9 @@ var __extends = (this && this.__extends) || (function () { })(); Object.defineProperty(exports, "__esModule", ({ value: true })); exports.PaginatedReportSettingsValidator = exports.SettingsValidator = void 0; -var multipleFieldsValidator_1 = __nested_webpack_require_199088__(3); -var typeValidator_1 = __nested_webpack_require_199088__(4); -var validator_1 = __nested_webpack_require_199088__(1); +var multipleFieldsValidator_1 = __nested_webpack_require_197537__(3); +var typeValidator_1 = __nested_webpack_require_197537__(4); +var validator_1 = __nested_webpack_require_197537__(1); var SettingsValidator = /** @class */ (function (_super) { __extends(SettingsValidator, _super); function SettingsValidator() { @@ -4643,10 +4620,6 @@ var SettingsValidator = /** @class */ (function (_super) { { field: "authoringHintsEnabled", validators: [validator_1.Validators.booleanValidator] - }, - { - field: "printSettings", - validators: [validator_1.Validators.printSettingsValidator] } ]; var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields); @@ -4684,7 +4657,7 @@ exports.PaginatedReportSettingsValidator = PaginatedReportSettingsValidator; /***/ }), /* 23 */ -/***/ (function(__unused_webpack_module, exports, __nested_webpack_require_205084__) { +/***/ (function(__unused_webpack_module, exports, __nested_webpack_require_203384__) { // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. @@ -4705,9 +4678,9 @@ var __extends = (this && this.__extends) || (function () { })(); Object.defineProperty(exports, "__esModule", ({ value: true })); exports.SlicerStateValidator = exports.SlicerValidator = void 0; -var multipleFieldsValidator_1 = __nested_webpack_require_205084__(3); -var typeValidator_1 = __nested_webpack_require_205084__(4); -var validator_1 = __nested_webpack_require_205084__(1); +var multipleFieldsValidator_1 = __nested_webpack_require_203384__(3); +var typeValidator_1 = __nested_webpack_require_203384__(4); +var validator_1 = __nested_webpack_require_203384__(1); var SlicerValidator = /** @class */ (function (_super) { __extends(SlicerValidator, _super); function SlicerValidator() { @@ -4766,7 +4739,7 @@ exports.SlicerStateValidator = SlicerStateValidator; /***/ }), /* 24 */ -/***/ (function(__unused_webpack_module, exports, __nested_webpack_require_208514__) { +/***/ (function(__unused_webpack_module, exports, __nested_webpack_require_206814__) { // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. @@ -4787,9 +4760,9 @@ var __extends = (this && this.__extends) || (function () { })(); Object.defineProperty(exports, "__esModule", ({ value: true })); exports.TileLoadValidator = void 0; -var multipleFieldsValidator_1 = __nested_webpack_require_208514__(3); -var typeValidator_1 = __nested_webpack_require_208514__(4); -var validator_1 = __nested_webpack_require_208514__(1); +var multipleFieldsValidator_1 = __nested_webpack_require_206814__(3); +var typeValidator_1 = __nested_webpack_require_206814__(4); +var validator_1 = __nested_webpack_require_206814__(1); var TileLoadValidator = /** @class */ (function (_super) { __extends(TileLoadValidator, _super); function TileLoadValidator() { @@ -4847,7 +4820,7 @@ exports.TileLoadValidator = TileLoadValidator; /***/ }), /* 25 */ -/***/ (function(__unused_webpack_module, exports, __nested_webpack_require_211786__) { +/***/ (function(__unused_webpack_module, exports, __nested_webpack_require_210086__) { // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. @@ -4868,9 +4841,9 @@ var __extends = (this && this.__extends) || (function () { })(); Object.defineProperty(exports, "__esModule", ({ value: true })); exports.VisualHeaderValidator = exports.VisualHeaderSettingsValidator = exports.VisualSettingsValidator = void 0; -var multipleFieldsValidator_1 = __nested_webpack_require_211786__(3); -var typeValidator_1 = __nested_webpack_require_211786__(4); -var validator_1 = __nested_webpack_require_211786__(1); +var multipleFieldsValidator_1 = __nested_webpack_require_210086__(3); +var typeValidator_1 = __nested_webpack_require_210086__(4); +var validator_1 = __nested_webpack_require_210086__(1); var VisualSettingsValidator = /** @class */ (function (_super) { __extends(VisualSettingsValidator, _super); function VisualSettingsValidator() { @@ -5045,7 +5018,7 @@ exports.FieldRequiredValidator = FieldRequiredValidator; /***/ }), /* 29 */ -/***/ (function(__unused_webpack_module, exports, __nested_webpack_require_219195__) { +/***/ (function(__unused_webpack_module, exports, __nested_webpack_require_217495__) { // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. @@ -5066,7 +5039,7 @@ var __extends = (this && this.__extends) || (function () { })(); Object.defineProperty(exports, "__esModule", ({ value: true })); exports.MapValidator = void 0; -var typeValidator_1 = __nested_webpack_require_219195__(4); +var typeValidator_1 = __nested_webpack_require_217495__(4); var MapValidator = /** @class */ (function (_super) { __extends(MapValidator, _super); function MapValidator(keyValidators, valueValidators) { @@ -5111,7 +5084,7 @@ exports.MapValidator = MapValidator; /***/ }), /* 30 */ -/***/ (function(__unused_webpack_module, exports, __nested_webpack_require_221879__) { +/***/ (function(__unused_webpack_module, exports, __nested_webpack_require_220179__) { // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. @@ -5132,9 +5105,9 @@ var __extends = (this && this.__extends) || (function () { })(); Object.defineProperty(exports, "__esModule", ({ value: true })); exports.ParametersPanelValidator = void 0; -var multipleFieldsValidator_1 = __nested_webpack_require_221879__(3); -var typeValidator_1 = __nested_webpack_require_221879__(4); -var validator_1 = __nested_webpack_require_221879__(1); +var multipleFieldsValidator_1 = __nested_webpack_require_220179__(3); +var typeValidator_1 = __nested_webpack_require_220179__(4); +var validator_1 = __nested_webpack_require_220179__(1); var ParametersPanelValidator = /** @class */ (function (_super) { __extends(ParametersPanelValidator, _super); function ParametersPanelValidator() { @@ -5168,7 +5141,7 @@ exports.ParametersPanelValidator = ParametersPanelValidator; /***/ }), /* 31 */ -/***/ (function(__unused_webpack_module, exports, __nested_webpack_require_224247__) { +/***/ (function(__unused_webpack_module, exports, __nested_webpack_require_222547__) { // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. @@ -5189,9 +5162,9 @@ var __extends = (this && this.__extends) || (function () { })(); Object.defineProperty(exports, "__esModule", ({ value: true })); exports.TableDataValidator = exports.TableSchemaValidator = exports.ColumnSchemaValidator = exports.CredentialsValidator = exports.DatasourceConnectionConfigValidator = exports.DatasetCreateConfigValidator = void 0; -var multipleFieldsValidator_1 = __nested_webpack_require_224247__(3); -var typeValidator_1 = __nested_webpack_require_224247__(4); -var validator_1 = __nested_webpack_require_224247__(1); +var multipleFieldsValidator_1 = __nested_webpack_require_222547__(3); +var typeValidator_1 = __nested_webpack_require_222547__(4); +var validator_1 = __nested_webpack_require_222547__(1); var DatasetCreateConfigValidator = /** @class */ (function (_super) { __extends(DatasetCreateConfigValidator, _super); function DatasetCreateConfigValidator() { @@ -5404,7 +5377,7 @@ exports.TableDataValidator = TableDataValidator; /***/ }), /* 32 */ -/***/ (function(__unused_webpack_module, exports, __nested_webpack_require_234302__) { +/***/ (function(__unused_webpack_module, exports, __nested_webpack_require_232602__) { // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. @@ -5425,9 +5398,9 @@ var __extends = (this && this.__extends) || (function () { })(); Object.defineProperty(exports, "__esModule", ({ value: true })); exports.QuickCreateValidator = void 0; -var multipleFieldsValidator_1 = __nested_webpack_require_234302__(3); -var typeValidator_1 = __nested_webpack_require_234302__(4); -var validator_1 = __nested_webpack_require_234302__(1); +var multipleFieldsValidator_1 = __nested_webpack_require_232602__(3); +var typeValidator_1 = __nested_webpack_require_232602__(4); +var validator_1 = __nested_webpack_require_232602__(1); var QuickCreateValidator = /** @class */ (function (_super) { __extends(QuickCreateValidator, _super); function QuickCreateValidator() { @@ -5471,58 +5444,6 @@ var QuickCreateValidator = /** @class */ (function (_super) { exports.QuickCreateValidator = QuickCreateValidator; -/***/ }), -/* 33 */ -/***/ (function(__unused_webpack_module, exports, __nested_webpack_require_237175__) { - -// Copyright (c) Microsoft Corporation. -// Licensed under the MIT License. -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 (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; }; - return extendStatics(d, b); - }; - return function (d, b) { - if (typeof b !== "function" && b !== null) - throw new TypeError("Class extends value " + String(b) + " is not a constructor or null"); - 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.PrintSettingsValidator = void 0; -var multipleFieldsValidator_1 = __nested_webpack_require_237175__(3); -var typeValidator_1 = __nested_webpack_require_237175__(4); -var PrintSettingsValidator = /** @class */ (function (_super) { - __extends(PrintSettingsValidator, _super); - function PrintSettingsValidator() { - return _super !== null && _super.apply(this, arguments) || this; - } - PrintSettingsValidator.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: "browserPrintAdjustmentsMode", - validators: [new typeValidator_1.EnumValidator([0, 1])] - } - ]; - var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields); - return multipleFieldsValidator.validate(input, path, field); - }; - return PrintSettingsValidator; -}(typeValidator_1.ObjectValidator)); -exports.PrintSettingsValidator = PrintSettingsValidator; - - /***/ }) /******/ ]); /************************************************************************/ @@ -5530,7 +5451,7 @@ exports.PrintSettingsValidator = PrintSettingsValidator; /******/ var __webpack_module_cache__ = {}; /******/ /******/ // The require function -/******/ function __nested_webpack_require_239527__(moduleId) { +/******/ function __nested_webpack_require_235634__(moduleId) { /******/ // Check if module is in cache /******/ var cachedModule = __webpack_module_cache__[moduleId]; /******/ if (cachedModule !== undefined) { @@ -5544,7 +5465,7 @@ exports.PrintSettingsValidator = PrintSettingsValidator; /******/ }; /******/ /******/ // Execute the module function -/******/ __webpack_modules__[moduleId].call(module.exports, module, module.exports, __nested_webpack_require_239527__); +/******/ __webpack_modules__[moduleId].call(module.exports, module, module.exports, __nested_webpack_require_235634__); /******/ /******/ // Return the exports of the module /******/ return module.exports; @@ -5555,34 +5476,34 @@ exports.PrintSettingsValidator = PrintSettingsValidator; /******/ // startup /******/ // Load entry module and return exports /******/ // This entry module is referenced by other modules so it can't be inlined -/******/ var __nested_webpack_exports__ = __nested_webpack_require_239527__(0); +/******/ var __webpack_exports__ = __nested_webpack_require_235634__(0); /******/ -/******/ return __nested_webpack_exports__; +/******/ return __webpack_exports__; /******/ })() ; }); //# sourceMappingURL=models.js.map // SIG // Begin signature block -// SIG // MIIrSwYJKoZIhvcNAQcCoIIrPDCCKzgCAQExDzANBglg +// SIG // MIIrVgYJKoZIhvcNAQcCoIIrRzCCK0MCAQExDzANBglg // SIG // hkgBZQMEAgEFADB3BgorBgEEAYI3AgEEoGkwZzAyBgor // SIG // BgEEAYI3AgEeMCQCAQEEEBDgyQbOONQRoqMAEEvTUJAC // SIG // AQACAQACAQACAQACAQAwMTANBglghkgBZQMEAgEFAAQg -// SIG // xLtrVunVRrJVSWB0LPK/F3mt1yXA1Ex5UedxSKIGn6Kg -// SIG // ghFuMIIIfjCCB2agAwIBAgITNgAAAahTK9ZQq6y5UwAC -// SIG // AAABqDANBgkqhkiG9w0BAQsFADBBMRMwEQYKCZImiZPy +// SIG // /i51IdNsxTS0JqJprFGAbZKQWzw3aaJrQs6hvB+vKCig +// SIG // ghF5MIIIiTCCB3GgAwIBAgITNgAAAanWkDBmQ9sfggAC +// SIG // AAABqTANBgkqhkiG9w0BAQsFADBBMRMwEQYKCZImiZPy // SIG // LGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRUw // SIG // EwYDVQQDEwxBTUUgQ1MgQ0EgMDEwHhcNMjIwNjEwMTgy -// SIG // NzAzWhcNMjMwNjEwMTgyNzAzWjAkMSIwIAYDVQQDExlN +// SIG // NzA0WhcNMjMwNjEwMTgyNzA0WjAkMSIwIAYDVQQDExlN // SIG // aWNyb3NvZnQgQXp1cmUgQ29kZSBTaWduMIIBIjANBgkq -// SIG // hkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAnEdeHxP889b7 -// SIG // mrwL0Z0koWl4LoJ+zeHJ7UDmhaQAxyRIIw9tXSK910U/ -// SIG // pTle2lfbvL9vZR1U8zyRwy6WaVNT/rh+wOm9AKqrsbaB -// SIG // qlCsTRliD/TIgibyDuKIf/aV+Aok1yvoWVg2eNn/06XE -// SIG // bXA/k554/MzRFwxHJNnO9dGc8hke+UZxb94AZB6JWfXQ -// SIG // 3xzYYQtPQmVsTI2iQ/aDYkkS+nIgs/IjbConhB93V4oc -// SIG // 4rL8r9C5D29kDOZRQ2Y2/1eqXV5wb7QSdahpxk3457cf -// SIG // caTGsmz6nPQq7DqO9RqDO5dYD22V5bGQkf5wMhC0jlQq -// SIG // 1qFAhbD3nkXka5eErruzcwIDAQABo4IFijCCBYYwKQYJ +// SIG // hkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAuLvS3Hq6XM6N +// SIG // 5ZVPdqZQQbTo4WFo9Ar6TqyLpZIqQpNoW9ZG58deayDX +// SIG // VV7wKgn0IAjewM3VfPGtiX8jjOz4VtelbCYnbV9zrqqU +// SIG // rtTlqTbFB1L+UWQO2DLhxB8QybLxi38KaiY1DC6DL5xK +// SIG // uAnIGWnVNS168FihSxIPneGKfG3nJH1CgSA/rJ7w7tnY +// SIG // 8hHlpPpMia6oKVAZSvos9/fDpBmX+cru3sXfEv19s+4O +// SIG // JKLoPlJiNR0PhsqW5hChTn+tjVOBu8Td7tcb+jf9QQs1 +// SIG // 2HPBtx3nMNhNlYZQrqXJMUy65RH2zAYAd9N9tdo6VRU/ +// SIG // 8vRYzYOrWHSulDVtMn2cjwIDAQABo4IFlTCCBZEwKQYJ // SIG // KwYBBAGCNxUKBBwwGjAMBgorBgEEAYI3WwEBMAoGCCsG // SIG // AQUFBwMDMD0GCSsGAQQBgjcVBwQwMC4GJisGAQQBgjcV // SIG // CIaQ4w2E1bR4hPGLPoWb3RbOnRKBYIPdzWaGlIwyAgFk @@ -5605,300 +5526,301 @@ exports.PrintSettingsValidator = PrintSettingsValidator; // SIG // eSUyMFNlcnZpY2VzLENOPVNlcnZpY2VzLENOPUNvbmZp // SIG // Z3VyYXRpb24sREM9QU1FLERDPUdCTD9jQUNlcnRpZmlj // SIG // YXRlP2Jhc2U/b2JqZWN0Q2xhc3M9Y2VydGlmaWNhdGlv -// SIG // bkF1dGhvcml0eTAdBgNVHQ4EFgQUUchb+1j7hxhVLQdr -// SIG // TBwsRVxqi/IwDgYDVR0PAQH/BAQDAgeAMEUGA1UdEQQ+ -// SIG // MDykOjA4MR4wHAYDVQQLExVNaWNyb3NvZnQgQ29ycG9y -// SIG // YXRpb24xFjAUBgNVBAUTDTIzNjE2Nys0NzA4NjAwggHm -// SIG // BgNVHR8EggHdMIIB2TCCAdWgggHRoIIBzYY/aHR0cDov -// SIG // L2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9B -// SIG // TUUlMjBDUyUyMENBJTIwMDEoMikuY3JshjFodHRwOi8v -// SIG // Y3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBDUyUyMENBJTIw -// SIG // MDEoMikuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2Ny -// SIG // bC9BTUUlMjBDUyUyMENBJTIwMDEoMikuY3JshjFodHRw -// SIG // Oi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBDUyUyMENB -// SIG // JTIwMDEoMikuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2Js -// SIG // L2NybC9BTUUlMjBDUyUyMENBJTIwMDEoMikuY3JshoG9 -// SIG // bGRhcDovLy9DTj1BTUUlMjBDUyUyMENBJTIwMDEoMiks -// SIG // Q049QlkyUEtJQ1NDQTAxLENOPUNEUCxDTj1QdWJsaWMl -// SIG // MjBLZXklMjBTZXJ2aWNlcyxDTj1TZXJ2aWNlcyxDTj1D -// SIG // b25maWd1cmF0aW9uLERDPUFNRSxEQz1HQkw/Y2VydGlm -// SIG // aWNhdGVSZXZvY2F0aW9uTGlzdD9iYXNlP29iamVjdENs -// SIG // YXNzPWNSTERpc3RyaWJ1dGlvblBvaW50MB8GA1UdIwQY -// SIG // MBaAFJZRhOBrb3v+2Aarw/KF5imuavnUMB8GA1UdJQQY -// SIG // MBYGCisGAQQBgjdbAQEGCCsGAQUFBwMDMA0GCSqGSIb3 -// SIG // DQEBCwUAA4IBAQAOoFAbE6qv+1RAKHjMn56sREYNiKvh -// SIG // i11baGKOgpeVXuKztX5x9fQ2/DpXdUOkVe0w6cVoute2 -// SIG // 4WQACXKU+8ANjEMqaJq5DqsR52Q86V6LvjUQwMSfNgnj -// SIG // nb+mktUX1s8gNAQ2NUWsqG+Q0cmKbEGNFjnbsFvCKgDH -// SIG // OFHVJaYb5tNCU0nkWkMn1aA0y78u2wLvaQhSSx3I2A8O -// SIG // WLXWXahlAhV8ZEF04UatM/QwA5DubCgiUwK/TCXfRohY -// SIG // IouOD4h4MQ533o0sC3kVzvhSXdk2DXmgyBqzHrP+tJPQ -// SIG // A8IK5AJweyeJrKpdN39ZxV961rru4GXgQMfZ4L6+5v09 -// SIG // zP/7MIII6DCCBtCgAwIBAgITHwAAAFHqj/accwyoOwAA -// SIG // AAAAUTANBgkqhkiG9w0BAQsFADA8MRMwEQYKCZImiZPy -// SIG // LGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRAw -// SIG // DgYDVQQDEwdhbWVyb290MB4XDTIxMDUyMTE4NDQxNFoX -// SIG // DTI2MDUyMTE4NTQxNFowQTETMBEGCgmSJomT8ixkARkW -// SIG // A0dCTDETMBEGCgmSJomT8ixkARkWA0FNRTEVMBMGA1UE -// SIG // AxMMQU1FIENTIENBIDAxMIIBIjANBgkqhkiG9w0BAQEF -// SIG // AAOCAQ8AMIIBCgKCAQEAyZpSCX0Bno1W1yqXMhT6BUlJ -// SIG // ZWpa4p3xFeiTHO4vm2Q6C/azR5xwxnyYHrkSGDtS2P9X -// SIG // +KDE64V20mmEQkubxnPNeOVnE2RvdPGxgwlq+BhS3ONd -// SIG // VsQPj79q7XgHM9HhzB9+qk0PC9KN1zm9p/seyiRS6JF1 -// SIG // dbOqRf1pUl7FAVxmgiCFgV8hHIb/rDPXig7FDi3S0yEx -// SIG // 2CUDVpIq8jEhG8anUFE1WYxM+ni0S5KHwwKPKV4qyGDo -// SIG // DO+9AmDoma3Chyu5WDlW5cdtqXTWsGPE3umtnX6Amlld -// SIG // UFLms4OVR4guKf+n5LIBCC6bTiocfXPomqYjYTKx7AGM -// SIG // faVLaaXmhQIDAQABo4IE3DCCBNgwEgYJKwYBBAGCNxUB -// SIG // BAUCAwIAAjAjBgkrBgEEAYI3FQIEFgQUEmgkQiFHy9Rr -// SIG // vjHPIKTACyN/P0cwHQYDVR0OBBYEFJZRhOBrb3v+2Aar -// SIG // w/KF5imuavnUMIIBBAYDVR0lBIH8MIH5BgcrBgEFAgMF -// SIG // BggrBgEFBQcDAQYIKwYBBQUHAwIGCisGAQQBgjcUAgEG -// SIG // CSsGAQQBgjcVBgYKKwYBBAGCNwoDDAYJKwYBBAGCNxUG -// SIG // BggrBgEFBQcDCQYIKwYBBQUIAgIGCisGAQQBgjdAAQEG -// SIG // CysGAQQBgjcKAwQBBgorBgEEAYI3CgMEBgkrBgEEAYI3 -// SIG // FQUGCisGAQQBgjcUAgIGCisGAQQBgjcUAgMGCCsGAQUF -// SIG // BwMDBgorBgEEAYI3WwEBBgorBgEEAYI3WwIBBgorBgEE -// SIG // AYI3WwMBBgorBgEEAYI3WwUBBgorBgEEAYI3WwQBBgor -// SIG // BgEEAYI3WwQCMBkGCSsGAQQBgjcUAgQMHgoAUwB1AGIA -// SIG // QwBBMAsGA1UdDwQEAwIBhjASBgNVHRMBAf8ECDAGAQH/ -// SIG // AgEAMB8GA1UdIwQYMBaAFCleUV5krjS566ycDaeMdQHR -// SIG // CQsoMIIBaAYDVR0fBIIBXzCCAVswggFXoIIBU6CCAU+G -// SIG // MWh0dHA6Ly9jcmwubWljcm9zb2Z0LmNvbS9wa2lpbmZy -// SIG // YS9jcmwvYW1lcm9vdC5jcmyGI2h0dHA6Ly9jcmwyLmFt -// SIG // ZS5nYmwvY3JsL2FtZXJvb3QuY3JshiNodHRwOi8vY3Js -// SIG // My5hbWUuZ2JsL2NybC9hbWVyb290LmNybIYjaHR0cDov -// SIG // L2NybDEuYW1lLmdibC9jcmwvYW1lcm9vdC5jcmyGgaps -// SIG // ZGFwOi8vL0NOPWFtZXJvb3QsQ049QU1FUm9vdCxDTj1D -// SIG // RFAsQ049UHVibGljJTIwS2V5JTIwU2VydmljZXMsQ049 -// SIG // U2VydmljZXMsQ049Q29uZmlndXJhdGlvbixEQz1BTUUs -// SIG // REM9R0JMP2NlcnRpZmljYXRlUmV2b2NhdGlvbkxpc3Q/ -// SIG // YmFzZT9vYmplY3RDbGFzcz1jUkxEaXN0cmlidXRpb25Q -// SIG // b2ludDCCAasGCCsGAQUFBwEBBIIBnTCCAZkwRwYIKwYB -// SIG // BQUHMAKGO2h0dHA6Ly9jcmwubWljcm9zb2Z0LmNvbS9w -// SIG // a2lpbmZyYS9jZXJ0cy9BTUVSb290X2FtZXJvb3QuY3J0 -// SIG // MDcGCCsGAQUFBzAChitodHRwOi8vY3JsMi5hbWUuZ2Js -// SIG // L2FpYS9BTUVSb290X2FtZXJvb3QuY3J0MDcGCCsGAQUF -// SIG // BzAChitodHRwOi8vY3JsMy5hbWUuZ2JsL2FpYS9BTUVS -// SIG // b290X2FtZXJvb3QuY3J0MDcGCCsGAQUFBzAChitodHRw -// SIG // Oi8vY3JsMS5hbWUuZ2JsL2FpYS9BTUVSb290X2FtZXJv -// SIG // b3QuY3J0MIGiBggrBgEFBQcwAoaBlWxkYXA6Ly8vQ049 -// SIG // YW1lcm9vdCxDTj1BSUEsQ049UHVibGljJTIwS2V5JTIw -// SIG // U2VydmljZXMsQ049U2VydmljZXMsQ049Q29uZmlndXJh -// SIG // dGlvbixEQz1BTUUsREM9R0JMP2NBQ2VydGlmaWNhdGU/ -// SIG // YmFzZT9vYmplY3RDbGFzcz1jZXJ0aWZpY2F0aW9uQXV0 -// SIG // aG9yaXR5MA0GCSqGSIb3DQEBCwUAA4ICAQBQECO3Tw/o -// SIG // 317Rrd7yadqcswPx1LvIYymkaTN6KcmuRt6HKa0Xe73U -// SIG // x2/AQ30TfgA9GBJngweRykKBusRzyOU17iIubJvy3gA2 -// SIG // 1dwtqtB0DsoEv1U/ptVu2v++doTCJ/i+GbssVXkgaX8H -// SIG // +6EOGEmT4evp4GbwR4HwWlc+Dvf8HH8PdUA2Z04CvcwI -// SIG // fckSipbNm84jxJ8XjmTFTWscldL9edj2NsY6iGnyJFIy -// SIG // ur2PS7VRYyV3p1VAJp91gj1jRQtWEyCB8P5g9nE3z8u0 -// SIG // ANaU/hjwEQCrdGyravWgnf2JtG+bT26YAokbc8m+32zU -// SIG // tXRO+NK3tAjhOu2FdsG3qNrF4sc7y37R/C+7Pcb/cFfh -// SIG // ttqsirepZii4xStcjMODYuXzGm3IJs0b0owHG6oKd7ZO -// SIG // GvHpmmh9K8/DLriD/sq8bURD10qi/wuW8zM7IpLg1vcR -// SIG // 9dIK2mc0pj44pc6UX0XbttP/VEJgu3lT2eI9VjWtaKjx -// SIG // 38xE9woSMyekPRtzTwgfuysF9DkJisr+yA4po/FPxpbB -// SIG // w9c/hBf32DH/GFxteS2pmjgKIbMP8sDukmEq3lVvuWNJ -// SIG // sybrZwQvQpvaM49fv+JKpLK5YWYEfwksYRR9wU8Hh/ID -// SIG // 9hRCEkbUoQ2W7mMpsp2Nbp/kcn4ivfolUy3Q9Yf0scsQ -// SIG // 6WTLYpm+AoCUJTGCGTUwghkxAgEBMFgwQTETMBEGCgmS -// SIG // JomT8ixkARkWA0dCTDETMBEGCgmSJomT8ixkARkWA0FN -// SIG // RTEVMBMGA1UEAxMMQU1FIENTIENBIDAxAhM2AAABqFMr -// SIG // 1lCrrLlTAAIAAAGoMA0GCWCGSAFlAwQCAQUAoIGuMBkG -// SIG // CSqGSIb3DQEJAzEMBgorBgEEAYI3AgEEMBwGCisGAQQB -// SIG // gjcCAQsxDjAMBgorBgEEAYI3AgEVMC8GCSqGSIb3DQEJ -// SIG // BDEiBCBjRLYF14HDc56jvQAj1c/QH6Ok/nZz0hMCsCKZ -// SIG // Z76EhDBCBgorBgEEAYI3AgEMMTQwMqAUgBIATQBpAGMA -// SIG // cgBvAHMAbwBmAHShGoAYaHR0cDovL3d3dy5taWNyb3Nv -// SIG // ZnQuY29tMA0GCSqGSIb3DQEBAQUABIIBAIS+c42bOiEJ -// SIG // uQm4GLm2goBw8vLg23FrpNm95muZplv7Z1kIND9FN4kM -// SIG // K78rEpqfFgsz9PDvRpKDp0p/gmDaAeNcaDerca2Rfsab -// SIG // uyk4cHU2FHvRka1LuJewRO1n7W92FbeDdN/WrR81VSLq -// SIG // 5FaWCXH+GdIRXVM4inLo22uVhxBn5Oyn4SxVuSuBFPSN -// SIG // q2jz7kYlOTSCkQVmj2CnyHVzwUov4r5RCJGTWQW6j4lb -// SIG // UXPhKvoP2Tjtp+MC29DWJFgO60lYe3ihsUtdOb21KHg1 -// SIG // lPWovJIb8BtQTwbcidFV3WAFUFwS2hHJ/X6pEZ9W4Jks -// SIG // bHdP2S0bd/U8xg17TUuSQyChghb9MIIW+QYKKwYBBAGC -// SIG // NwMDATGCFukwghblBgkqhkiG9w0BBwKgghbWMIIW0gIB -// SIG // AzEPMA0GCWCGSAFlAwQCAQUAMIIBUQYLKoZIhvcNAQkQ -// SIG // AQSgggFABIIBPDCCATgCAQEGCisGAQQBhFkKAwEwMTAN -// SIG // BglghkgBZQMEAgEFAAQg/ZMAqe6x9fkTf00oQUJdUGoT -// SIG // oUvevXnPC0muAJQCF6YCBmPmYpKr+BgTMjAyMzAyMTMx -// SIG // MjIzNDMuNjcxWjAEgAIB9KCB0KSBzTCByjELMAkGA1UE -// SIG // BhMCVVMxEzARBgNVBAgTCldhc2hpbmd0b24xEDAOBgNV -// SIG // BAcTB1JlZG1vbmQxHjAcBgNVBAoTFU1pY3Jvc29mdCBD -// SIG // b3Jwb3JhdGlvbjElMCMGA1UECxMcTWljcm9zb2Z0IEFt -// SIG // ZXJpY2EgT3BlcmF0aW9uczEmMCQGA1UECxMdVGhhbGVz -// SIG // IFRTUyBFU046M0U3QS1FMzU5LUEyNUQxJTAjBgNVBAMT -// SIG // HE1pY3Jvc29mdCBUaW1lLVN0YW1wIFNlcnZpY2WgghFU -// SIG // MIIHDDCCBPSgAwIBAgITMwAAAcn61Y4lIHQCXgABAAAB -// SIG // yTANBgkqhkiG9w0BAQsFADB8MQswCQYDVQQGEwJVUzET -// SIG // MBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVk -// SIG // bW9uZDEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0 -// SIG // aW9uMSYwJAYDVQQDEx1NaWNyb3NvZnQgVGltZS1TdGFt -// SIG // cCBQQ0EgMjAxMDAeFw0yMjExMDQxOTAxMzhaFw0yNDAy -// SIG // MDIxOTAxMzhaMIHKMQswCQYDVQQGEwJVUzETMBEGA1UE -// SIG // CBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9uZDEe -// SIG // MBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMSUw -// SIG // IwYDVQQLExxNaWNyb3NvZnQgQW1lcmljYSBPcGVyYXRp -// SIG // b25zMSYwJAYDVQQLEx1UaGFsZXMgVFNTIEVTTjozRTdB -// SIG // LUUzNTktQTI1RDElMCMGA1UEAxMcTWljcm9zb2Z0IFRp -// SIG // bWUtU3RhbXAgU2VydmljZTCCAiIwDQYJKoZIhvcNAQEB -// SIG // BQADggIPADCCAgoCggIBANZy4uWOb8/CvlqMYZO6hlv7 -// SIG // wsYuXrkzNNU4hGxThvIO0hQdFTI2IKOk4kc4DkPgjedz -// SIG // gTipcjB1s0S+Mb2ktN2ZSIHrSCC2IgEqILBLZY8xJURz -// SIG // u3wxgxVnHc/pQjWJiaM7WxtzzK58W5VBx1JK+AuxAR29 -// SIG // mNOxneRiQYD/PuQGTbE5bBxnMx7OOZpj+61IHDJ//3PE -// SIG // PxmEqnU+DlxC6ed4ffRJ8heM3LHdmRY8XY9ZT/EBsGWU -// SIG // uBfNiQRntqQq0mpMhY08cxSlDsHEHq8AUf2GkJcu5rQq -// SIG // 2uDzXMhEJvp/yw3Hv1VYkGvDjNpwWRysOgsjKhMxSScu -// SIG // R4s8/Gesa6qiyrYvL4iVENBbapE10kd//8PDwCsgZbyG -// SIG // ExRfy8tyYd3G1XjoEprmzlcL/JzHoXEG9gLcXFP5XchF -// SIG // KsvP7YRByFjWm8x18eTvQ+G7UuqCXYC5h8a0wbRrHFUK -// SIG // sdM+f31CJCxO7W8H6KvOHBf1ESxMsN6ueyldlOIDoXN+ -// SIG // el2BFUHSV6OlRVgUA2G82p0Nuc2NtVApI/NtQsg/dIKq -// SIG // zt60D5XEKOnq8Ftgxdn7JoAG1as0LM+kZJmn8+K3te5J -// SIG // u6ntPT7sB8OXt8eWSBhKFZXzZyb+vvOdbsCl+gKWRcT8 -// SIG // 3kKO1v+QbWk5pGRIcGOQHQj4D79GmiBEJ9qhezLxcAnL -// SIG // AgMBAAGjggE2MIIBMjAdBgNVHQ4EFgQUBW+dZ0bCPKG+ -// SIG // eDoUxXlRe0QuMsswHwYDVR0jBBgwFoAUn6cVXQBeYl2D -// SIG // 9OXSZacbUzUZ6XIwXwYDVR0fBFgwVjBUoFKgUIZOaHR0 -// SIG // cDovL3d3dy5taWNyb3NvZnQuY29tL3BraW9wcy9jcmwv -// SIG // TWljcm9zb2Z0JTIwVGltZS1TdGFtcCUyMFBDQSUyMDIw -// SIG // MTAoMSkuY3JsMGwGCCsGAQUFBwEBBGAwXjBcBggrBgEF -// SIG // BQcwAoZQaHR0cDovL3d3dy5taWNyb3NvZnQuY29tL3Br -// SIG // aW9wcy9jZXJ0cy9NaWNyb3NvZnQlMjBUaW1lLVN0YW1w -// SIG // JTIwUENBJTIwMjAxMCgxKS5jcnQwDAYDVR0TAQH/BAIw -// SIG // ADATBgNVHSUEDDAKBggrBgEFBQcDCDANBgkqhkiG9w0B -// SIG // AQsFAAOCAgEANqi6nGbfR4pCB3I+wJZx4Y6LsUozngWk -// SIG // xPhCvGl3FS5vXAPA9v2WNjlKWLznYbgxFfYRJVZs6KYi -// SIG // bpP8QWIenViU0YZku4VY6xras0hVtC337EcrI8ZKbqso -// SIG // R4gQ8TFzBmehnc1H6lT9mXdjvifwWECYLPTR2M/wjOF2 -// SIG // kT/k9lTNyRNZkjtai2vpnweNu0Ii4/yQu01GIIeEWPqC -// SIG // zBVbkCWb12Jf4yExX1KaSaAGpAa9FXNq9ZD+Q4iWjb2V -// SIG // if3LmGolkOJPcacOsBs96qu8QFp5Rs7GsMBYY7cKuRB/ -// SIG // 7N+ywn3ocrgsPGUSfVt7YEhXqQFTO7FBPj691Lvoj7wV -// SIG // eE7EwzRS9AlSD1/tVziemERmCdpBxqaBnP+bIANiCkHJ -// SIG // fe2Q2CSKosYMCjX7cje9DtAE26U1YbGzdNRVZYtB/r4H -// SIG // Bocs5Oo6QMsBzw0kP8aBHhlOPujxU1zETv3zMxnFHH9G -// SIG // R6mTJtFIaB/LTrZNfJOge+SiV07WN2TO6U37q0r9kK7+ -// SIG // c8wgYssrLTj8PyCSPpPaKU4Grawt/S+vfysMrQ9Me7dI -// SIG // 5k17ZS2Whr6EpY3csq+kA0VZKrAmi1EkrAIlnmr+aoOu -// SIG // FN5i5nnpKNBPUyecs7Tf43Is5R8dF7IDrjerLm9wj1ew -// SIG // ADDIiqKXUGKoj17vSMb6l0+whP0jAtqXDckwggdxMIIF -// SIG // WaADAgECAhMzAAAAFcXna54Cm0mZAAAAAAAVMA0GCSqG -// SIG // SIb3DQEBCwUAMIGIMQswCQYDVQQGEwJVUzETMBEGA1UE -// SIG // CBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9uZDEe -// SIG // MBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMTIw -// SIG // MAYDVQQDEylNaWNyb3NvZnQgUm9vdCBDZXJ0aWZpY2F0 -// SIG // ZSBBdXRob3JpdHkgMjAxMDAeFw0yMTA5MzAxODIyMjVa -// SIG // Fw0zMDA5MzAxODMyMjVaMHwxCzAJBgNVBAYTAlVTMRMw -// SIG // EQYDVQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRt -// SIG // b25kMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRp -// SIG // b24xJjAkBgNVBAMTHU1pY3Jvc29mdCBUaW1lLVN0YW1w -// SIG // IFBDQSAyMDEwMIICIjANBgkqhkiG9w0BAQEFAAOCAg8A -// SIG // MIICCgKCAgEA5OGmTOe0ciELeaLL1yR5vQ7VgtP97pwH -// SIG // B9KpbE51yMo1V/YBf2xK4OK9uT4XYDP/XE/HZveVU3Fa -// SIG // 4n5KWv64NmeFRiMMtY0Tz3cywBAY6GB9alKDRLemjkZr -// SIG // BxTzxXb1hlDcwUTIcVxRMTegCjhuje3XD9gmU3w5YQJ6 -// SIG // xKr9cmmvHaus9ja+NSZk2pg7uhp7M62AW36MEBydUv62 -// SIG // 6GIl3GoPz130/o5Tz9bshVZN7928jaTjkY+yOSxRnOlw -// SIG // aQ3KNi1wjjHINSi947SHJMPgyY9+tVSP3PoFVZhtaDua -// SIG // Rr3tpK56KTesy+uDRedGbsoy1cCGMFxPLOJiss254o2I -// SIG // 5JasAUq7vnGpF1tnYN74kpEeHT39IM9zfUGaRnXNxF80 -// SIG // 3RKJ1v2lIH1+/NmeRd+2ci/bfV+AutuqfjbsNkz2K26o -// SIG // ElHovwUDo9Fzpk03dJQcNIIP8BDyt0cY7afomXw/TNuv -// SIG // XsLz1dhzPUNOwTM5TI4CvEJoLhDqhFFG4tG9ahhaYQFz -// SIG // ymeiXtcodgLiMxhy16cg8ML6EgrXY28MyTZki1ugpoMh -// SIG // XV8wdJGUlNi5UPkLiWHzNgY1GIRH29wb0f2y1BzFa/Zc -// SIG // UlFdEtsluq9QBXpsxREdcu+N+VLEhReTwDwV2xo3xwgV -// SIG // GD94q0W29R6HXtqPnhZyacaue7e3PmriLq0CAwEAAaOC -// SIG // Ad0wggHZMBIGCSsGAQQBgjcVAQQFAgMBAAEwIwYJKwYB -// SIG // BAGCNxUCBBYEFCqnUv5kxJq+gpE8RjUpzxD/LwTuMB0G -// SIG // A1UdDgQWBBSfpxVdAF5iXYP05dJlpxtTNRnpcjBcBgNV -// SIG // HSAEVTBTMFEGDCsGAQQBgjdMg30BATBBMD8GCCsGAQUF -// SIG // BwIBFjNodHRwOi8vd3d3Lm1pY3Jvc29mdC5jb20vcGtp -// SIG // b3BzL0RvY3MvUmVwb3NpdG9yeS5odG0wEwYDVR0lBAww -// SIG // CgYIKwYBBQUHAwgwGQYJKwYBBAGCNxQCBAweCgBTAHUA -// SIG // YgBDAEEwCwYDVR0PBAQDAgGGMA8GA1UdEwEB/wQFMAMB -// SIG // Af8wHwYDVR0jBBgwFoAU1fZWy4/oolxiaNE9lJBb186a -// SIG // GMQwVgYDVR0fBE8wTTBLoEmgR4ZFaHR0cDovL2NybC5t -// SIG // aWNyb3NvZnQuY29tL3BraS9jcmwvcHJvZHVjdHMvTWlj -// SIG // Um9vQ2VyQXV0XzIwMTAtMDYtMjMuY3JsMFoGCCsGAQUF -// SIG // BwEBBE4wTDBKBggrBgEFBQcwAoY+aHR0cDovL3d3dy5t -// SIG // aWNyb3NvZnQuY29tL3BraS9jZXJ0cy9NaWNSb29DZXJB -// SIG // dXRfMjAxMC0wNi0yMy5jcnQwDQYJKoZIhvcNAQELBQAD -// SIG // ggIBAJ1VffwqreEsH2cBMSRb4Z5yS/ypb+pcFLY+Tkdk -// SIG // eLEGk5c9MTO1OdfCcTY/2mRsfNB1OW27DzHkwo/7bNGh -// SIG // lBgi7ulmZzpTTd2YurYeeNg2LpypglYAA7AFvonoaeC6 -// SIG // Ce5732pvvinLbtg/SHUB2RjebYIM9W0jVOR4U3UkV7nd -// SIG // n/OOPcbzaN9l9qRWqveVtihVJ9AkvUCgvxm2EhIRXT0n -// SIG // 4ECWOKz3+SmJw7wXsFSFQrP8DJ6LGYnn8AtqgcKBGUIZ -// SIG // UnWKNsIdw2FzLixre24/LAl4FOmRsqlb30mjdAy87JGA -// SIG // 0j3mSj5mO0+7hvoyGtmW9I/2kQH2zsZ0/fZMcm8Qq3Uw -// SIG // xTSwethQ/gpY3UA8x1RtnWN0SCyxTkctwRQEcb9k+SS+ -// SIG // c23Kjgm9swFXSVRk2XPXfx5bRAGOWhmRaw2fpCjcZxko -// SIG // JLo4S5pu+yFUa2pFEUep8beuyOiJXk+d0tBMdrVXVAmx -// SIG // aQFEfnyhYWxz/gq77EFmPWn9y8FBSX5+k77L+DvktxW/ -// SIG // tM4+pTFRhLy/AsGConsXHRWJjXD+57XQKBqJC4822rpM -// SIG // +Zv/Cuk0+CQ1ZyvgDbjmjJnW4SLq8CdCPSWU5nR0W2rR -// SIG // nj7tfqAxM328y+l7vzhwRNGQ8cirOoo6CGJ/2XBjU02N -// SIG // 7oJtpQUQwXEGahC0HVUzWLOhcGbyoYICyzCCAjQCAQEw -// SIG // gfihgdCkgc0wgcoxCzAJBgNVBAYTAlVTMRMwEQYDVQQI -// SIG // EwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRtb25kMR4w -// SIG // HAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xJTAj -// SIG // BgNVBAsTHE1pY3Jvc29mdCBBbWVyaWNhIE9wZXJhdGlv -// SIG // bnMxJjAkBgNVBAsTHVRoYWxlcyBUU1MgRVNOOjNFN0Et -// SIG // RTM1OS1BMjVEMSUwIwYDVQQDExxNaWNyb3NvZnQgVGlt -// SIG // ZS1TdGFtcCBTZXJ2aWNloiMKAQEwBwYFKw4DAhoDFQB9 -// SIG // 6YvL/h4Bm41ULOBt+nUcVgbdDqCBgzCBgKR+MHwxCzAJ +// SIG // bkF1dGhvcml0eTAdBgNVHQ4EFgQUj5gJWFiDzm06yLnX +// SIG // Wf2V9PM6+1cwDgYDVR0PAQH/BAQDAgeAMFAGA1UdEQRJ +// SIG // MEekRTBDMSkwJwYDVQQLEyBNaWNyb3NvZnQgT3BlcmF0 +// SIG // aW9ucyBQdWVydG8gUmljbzEWMBQGA1UEBRMNMjM2MTY3 +// SIG // KzQ3MDg2MTCCAeYGA1UdHwSCAd0wggHZMIIB1aCCAdGg +// SIG // ggHNhj9odHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtp +// SIG // aW5mcmEvQ1JML0FNRSUyMENTJTIwQ0ElMjAwMSgyKS5j +// SIG // cmyGMWh0dHA6Ly9jcmwxLmFtZS5nYmwvY3JsL0FNRSUy +// SIG // MENTJTIwQ0ElMjAwMSgyKS5jcmyGMWh0dHA6Ly9jcmwy +// SIG // LmFtZS5nYmwvY3JsL0FNRSUyMENTJTIwQ0ElMjAwMSgy +// SIG // KS5jcmyGMWh0dHA6Ly9jcmwzLmFtZS5nYmwvY3JsL0FN +// SIG // RSUyMENTJTIwQ0ElMjAwMSgyKS5jcmyGMWh0dHA6Ly9j +// SIG // cmw0LmFtZS5nYmwvY3JsL0FNRSUyMENTJTIwQ0ElMjAw +// SIG // MSgyKS5jcmyGgb1sZGFwOi8vL0NOPUFNRSUyMENTJTIw +// SIG // Q0ElMjAwMSgyKSxDTj1CWTJQS0lDU0NBMDEsQ049Q0RQ +// SIG // LENOPVB1YmxpYyUyMEtleSUyMFNlcnZpY2VzLENOPVNl +// SIG // cnZpY2VzLENOPUNvbmZpZ3VyYXRpb24sREM9QU1FLERD +// SIG // PUdCTD9jZXJ0aWZpY2F0ZVJldm9jYXRpb25MaXN0P2Jh +// SIG // c2U/b2JqZWN0Q2xhc3M9Y1JMRGlzdHJpYnV0aW9uUG9p +// SIG // bnQwHwYDVR0jBBgwFoAUllGE4Gtve/7YBqvD8oXmKa5q +// SIG // +dQwHwYDVR0lBBgwFgYKKwYBBAGCN1sBAQYIKwYBBQUH +// SIG // AwMwDQYJKoZIhvcNAQELBQADggEBAHD1OJbFZ/tIa5Zp +// SIG // DzeU+mqWHOdF2htAZKicRfNYhaajjyYRvCTUKn/5SZGU +// SIG // KKdVmsxiFtCOp2lJ2+C3b7IJukkqC9SmpIkQLhBuz7uK +// SIG // 4NsXB6Xn3Iv32YuKeH4sqdRqJMCezhsale/Sh6fecsVW +// SIG // pJnsvfXxdXBCyoVbAZCZCQN3dOXUz4DtEfV2fxhRzTfS +// SIG // UhKsr1VSY9HC/myediSqvqd3zfgK9j6IR0DcL3WkKiV0 +// SIG // B/dnYwntnntrhFxGYQuPPXBA7xX10SB/8CVA8V1NovOk +// SIG // tGO5cgvmVMe5pA2m9M7sOBgFkjXgPD7i4PoL5X0mK+6b +// SIG // nchiEZj1C5l1X6LzJH4wggjoMIIG0KADAgECAhMfAAAA +// SIG // UeqP9pxzDKg7AAAAAABRMA0GCSqGSIb3DQEBCwUAMDwx +// SIG // EzARBgoJkiaJk/IsZAEZFgNHQkwxEzARBgoJkiaJk/Is +// SIG // ZAEZFgNBTUUxEDAOBgNVBAMTB2FtZXJvb3QwHhcNMjEw +// SIG // NTIxMTg0NDE0WhcNMjYwNTIxMTg1NDE0WjBBMRMwEQYK +// SIG // CZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYD +// SIG // QU1FMRUwEwYDVQQDEwxBTUUgQ1MgQ0EgMDEwggEiMA0G +// SIG // CSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDJmlIJfQGe +// SIG // jVbXKpcyFPoFSUllalrinfEV6JMc7i+bZDoL9rNHnHDG +// SIG // fJgeuRIYO1LY/1f4oMTrhXbSaYRCS5vGc8145WcTZG90 +// SIG // 8bGDCWr4GFLc411WxA+Pv2rteAcz0eHMH36qTQ8L0o3X +// SIG // Ob2n+x7KJFLokXV1s6pF/WlSXsUBXGaCIIWBXyEchv+s +// SIG // M9eKDsUOLdLTITHYJQNWkiryMSEbxqdQUTVZjEz6eLRL +// SIG // kofDAo8pXirIYOgM770CYOiZrcKHK7lYOVblx22pdNaw +// SIG // Y8Te6a2dfoCaWV1QUuazg5VHiC4p/6fksgEILptOKhx9 +// SIG // c+iapiNhMrHsAYx9pUtppeaFAgMBAAGjggTcMIIE2DAS +// SIG // BgkrBgEEAYI3FQEEBQIDAgACMCMGCSsGAQQBgjcVAgQW +// SIG // BBQSaCRCIUfL1Gu+Mc8gpMALI38/RzAdBgNVHQ4EFgQU +// SIG // llGE4Gtve/7YBqvD8oXmKa5q+dQwggEEBgNVHSUEgfww +// SIG // gfkGBysGAQUCAwUGCCsGAQUFBwMBBggrBgEFBQcDAgYK +// SIG // KwYBBAGCNxQCAQYJKwYBBAGCNxUGBgorBgEEAYI3CgMM +// SIG // BgkrBgEEAYI3FQYGCCsGAQUFBwMJBggrBgEFBQgCAgYK +// SIG // KwYBBAGCN0ABAQYLKwYBBAGCNwoDBAEGCisGAQQBgjcK +// SIG // AwQGCSsGAQQBgjcVBQYKKwYBBAGCNxQCAgYKKwYBBAGC +// SIG // NxQCAwYIKwYBBQUHAwMGCisGAQQBgjdbAQEGCisGAQQB +// SIG // gjdbAgEGCisGAQQBgjdbAwEGCisGAQQBgjdbBQEGCisG +// SIG // AQQBgjdbBAEGCisGAQQBgjdbBAIwGQYJKwYBBAGCNxQC +// SIG // BAweCgBTAHUAYgBDAEEwCwYDVR0PBAQDAgGGMBIGA1Ud +// SIG // EwEB/wQIMAYBAf8CAQAwHwYDVR0jBBgwFoAUKV5RXmSu +// SIG // NLnrrJwNp4x1AdEJCygwggFoBgNVHR8EggFfMIIBWzCC +// SIG // AVegggFToIIBT4YxaHR0cDovL2NybC5taWNyb3NvZnQu +// SIG // Y29tL3BraWluZnJhL2NybC9hbWVyb290LmNybIYjaHR0 +// SIG // cDovL2NybDIuYW1lLmdibC9jcmwvYW1lcm9vdC5jcmyG +// SIG // I2h0dHA6Ly9jcmwzLmFtZS5nYmwvY3JsL2FtZXJvb3Qu +// SIG // Y3JshiNodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9hbWVy +// SIG // b290LmNybIaBqmxkYXA6Ly8vQ049YW1lcm9vdCxDTj1B +// SIG // TUVSb290LENOPUNEUCxDTj1QdWJsaWMlMjBLZXklMjBT +// SIG // ZXJ2aWNlcyxDTj1TZXJ2aWNlcyxDTj1Db25maWd1cmF0 +// SIG // aW9uLERDPUFNRSxEQz1HQkw/Y2VydGlmaWNhdGVSZXZv +// SIG // Y2F0aW9uTGlzdD9iYXNlP29iamVjdENsYXNzPWNSTERp +// SIG // c3RyaWJ1dGlvblBvaW50MIIBqwYIKwYBBQUHAQEEggGd +// SIG // MIIBmTBHBggrBgEFBQcwAoY7aHR0cDovL2NybC5taWNy +// SIG // b3NvZnQuY29tL3BraWluZnJhL2NlcnRzL0FNRVJvb3Rf +// SIG // YW1lcm9vdC5jcnQwNwYIKwYBBQUHMAKGK2h0dHA6Ly9j +// SIG // cmwyLmFtZS5nYmwvYWlhL0FNRVJvb3RfYW1lcm9vdC5j +// SIG // cnQwNwYIKwYBBQUHMAKGK2h0dHA6Ly9jcmwzLmFtZS5n +// SIG // YmwvYWlhL0FNRVJvb3RfYW1lcm9vdC5jcnQwNwYIKwYB +// SIG // BQUHMAKGK2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0FN +// SIG // RVJvb3RfYW1lcm9vdC5jcnQwgaIGCCsGAQUFBzAChoGV +// SIG // bGRhcDovLy9DTj1hbWVyb290LENOPUFJQSxDTj1QdWJs +// SIG // aWMlMjBLZXklMjBTZXJ2aWNlcyxDTj1TZXJ2aWNlcyxD +// SIG // Tj1Db25maWd1cmF0aW9uLERDPUFNRSxEQz1HQkw/Y0FD +// SIG // ZXJ0aWZpY2F0ZT9iYXNlP29iamVjdENsYXNzPWNlcnRp +// SIG // ZmljYXRpb25BdXRob3JpdHkwDQYJKoZIhvcNAQELBQAD +// SIG // ggIBAFAQI7dPD+jfXtGt3vJp2pyzA/HUu8hjKaRpM3op +// SIG // ya5G3ocprRd7vdTHb8BDfRN+AD0YEmeDB5HKQoG6xHPI +// SIG // 5TXuIi5sm/LeADbV3C2q0HQOygS/VT+m1W7a/752hMIn +// SIG // +L4ZuyxVeSBpfwf7oQ4YSZPh6+ngZvBHgfBaVz4O9/wc +// SIG // fw91QDZnTgK9zAh9yRKKls2bziPEnxeOZMVNaxyV0v15 +// SIG // 2PY2xjqIafIkUjK6vY9LtVFjJXenVUAmn3WCPWNFC1YT +// SIG // IIHw/mD2cTfPy7QA1pT+GPARAKt0bKtq9aCd/Ym0b5tP +// SIG // bpgCiRtzyb7fbNS1dE740re0COE67YV2wbeo2sXixzvL +// SIG // ftH8L7s9xv9wV+G22qyKt6lmKLjFK1yMw4Ni5fMabcgm +// SIG // zRvSjAcbqgp3tk4a8emaaH0rz8MuuIP+yrxtREPXSqL/ +// SIG // C5bzMzsikuDW9xH10graZzSmPjilzpRfRdu20/9UQmC7 +// SIG // eVPZ4j1WNa1oqPHfzET3ChIzJ6Q9G3NPCB+7KwX0OQmK +// SIG // yv7IDimj8U/GlsHD1z+EF/fYMf8YXG15LamaOAohsw/y +// SIG // wO6SYSreVW+5Y0mzJutnBC9Cm9ozj1+/4kqksrlhZgR/ +// SIG // CSxhFH3BTweH8gP2FEISRtShDZbuYymynY1un+RyfiK9 +// SIG // +iVTLdD1h/SxyxDpZMtimb4CgJQlMYIZNTCCGTECAQEw +// SIG // WDBBMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZIm +// SIG // iZPyLGQBGRYDQU1FMRUwEwYDVQQDEwxBTUUgQ1MgQ0Eg +// SIG // MDECEzYAAAGp1pAwZkPbH4IAAgAAAakwDQYJYIZIAWUD +// SIG // BAIBBQCgga4wGQYJKoZIhvcNAQkDMQwGCisGAQQBgjcC +// SIG // AQQwHAYKKwYBBAGCNwIBCzEOMAwGCisGAQQBgjcCARUw +// SIG // LwYJKoZIhvcNAQkEMSIEIEgzLPlSRdtRALewHjk0YF65 +// SIG // k1BN+zhlWpF7dpatkUNNMEIGCisGAQQBgjcCAQwxNDAy +// SIG // oBSAEgBNAGkAYwByAG8AcwBvAGYAdKEagBhodHRwOi8v +// SIG // d3d3Lm1pY3Jvc29mdC5jb20wDQYJKoZIhvcNAQEBBQAE +// SIG // ggEAo7s9H4+5ZCFpGU+mzKmSZNKGszg3RSKhV5NPmrAP +// SIG // MIUNLJvqKkNJ/782HHPkUqa5fxJpeKTY4oRyv2Jr8Edf +// SIG // eB/84/cwhtKbj+TLdHX4mro+OKoQmOC6MvxT3Jg/lWsT +// SIG // qiYJoRQ1hajAdRsZ8ukon3JoSdQRTcQOjchiX5p+VarN +// SIG // LQlesuKl8srWej8Col6ASZNierCPh7Zep+8YnDQGxwXt +// SIG // 9PvGetnUTF/4kw42UQNn8kABdhJYfpuveqXIfAarCLgG +// SIG // Ev3PTG0dA/c2oqHlqwZw/BBOL4LbVEbGFGfY4L3j8Pgc +// SIG // axN+CvwzXA6YQWIRcrp+KnTSQoenP051gteIhaGCFv0w +// SIG // ghb5BgorBgEEAYI3AwMBMYIW6TCCFuUGCSqGSIb3DQEH +// SIG // AqCCFtYwghbSAgEDMQ8wDQYJYIZIAWUDBAIBBQAwggFR +// SIG // BgsqhkiG9w0BCRABBKCCAUAEggE8MIIBOAIBAQYKKwYB +// SIG // BAGEWQoDATAxMA0GCWCGSAFlAwQCAQUABCC3cDSDpi62 +// SIG // ZHR/9yf8bEyPbB6XeS1AF23Ph/1CEGjCVAIGY2z2CHbT +// SIG // GBMyMDIyMTEyMDA3NDQ0NC4xMzVaMASAAgH0oIHQpIHN +// SIG // MIHKMQswCQYDVQQGEwJVUzETMBEGA1UECBMKV2FzaGlu +// SIG // Z3RvbjEQMA4GA1UEBxMHUmVkbW9uZDEeMBwGA1UEChMV +// SIG // TWljcm9zb2Z0IENvcnBvcmF0aW9uMSUwIwYDVQQLExxN +// SIG // aWNyb3NvZnQgQW1lcmljYSBPcGVyYXRpb25zMSYwJAYD +// SIG // VQQLEx1UaGFsZXMgVFNTIEVTTjpENkJELUUzRTctMTY4 +// SIG // NTElMCMGA1UEAxMcTWljcm9zb2Z0IFRpbWUtU3RhbXAg +// SIG // U2VydmljZaCCEVQwggcMMIIE9KADAgECAhMzAAABx/sA +// SIG // oEpb8ifcAAEAAAHHMA0GCSqGSIb3DQEBCwUAMHwxCzAJ // SIG // BgNVBAYTAlVTMRMwEQYDVQQIEwpXYXNoaW5ndG9uMRAw // SIG // DgYDVQQHEwdSZWRtb25kMR4wHAYDVQQKExVNaWNyb3Nv // SIG // ZnQgQ29ycG9yYXRpb24xJjAkBgNVBAMTHU1pY3Jvc29m -// SIG // dCBUaW1lLVN0YW1wIFBDQSAyMDEwMA0GCSqGSIb3DQEB -// SIG // BQUAAgUA55QsqjAiGA8yMDIzMDIxMzExMjczOFoYDzIw -// SIG // MjMwMjE0MTEyNzM4WjB0MDoGCisGAQQBhFkKBAExLDAq -// SIG // MAoCBQDnlCyqAgEAMAcCAQACAgotMAcCAQACAhKYMAoC -// SIG // BQDnlX4qAgEAMDYGCisGAQQBhFkKBAIxKDAmMAwGCisG -// SIG // AQQBhFkKAwKgCjAIAgEAAgMHoSChCjAIAgEAAgMBhqAw -// SIG // DQYJKoZIhvcNAQEFBQADgYEAWH/j3j4dJ+ftP/fpoWoM -// SIG // dzibyxT1Zfv0jP4VCw+AbG/qhdm7YFDjP6GJ9O09OcZ4 -// SIG // zmDEgjxkHVolakT2bZOHlYG+QgPpxg5OUMCSh+hM1coP -// SIG // 2bOl1w3Iq4jd8xeqxJvSjMqr52k4DsSS0C36LFViRllf -// SIG // eBrKC2GbnA6OYDxbBJcxggQNMIIECQIBATCBkzB8MQsw -// SIG // CQYDVQQGEwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQ -// SIG // MA4GA1UEBxMHUmVkbW9uZDEeMBwGA1UEChMVTWljcm9z -// SIG // b2Z0IENvcnBvcmF0aW9uMSYwJAYDVQQDEx1NaWNyb3Nv -// SIG // ZnQgVGltZS1TdGFtcCBQQ0EgMjAxMAITMwAAAcn61Y4l -// SIG // IHQCXgABAAAByTANBglghkgBZQMEAgEFAKCCAUowGgYJ -// SIG // KoZIhvcNAQkDMQ0GCyqGSIb3DQEJEAEEMC8GCSqGSIb3 -// SIG // DQEJBDEiBCAnSycMArNSomfY7ha5/0IoVSwgYJe4NIr2 -// SIG // Zu5PXklibDCB+gYLKoZIhvcNAQkQAi8xgeowgecwgeQw -// SIG // gb0EIIF1zn9S3VFLECd4Kdh/YA0jIYkA/8194V184dk5 -// SIG // dv2BMIGYMIGApH4wfDELMAkGA1UEBhMCVVMxEzARBgNV -// SIG // BAgTCldhc2hpbmd0b24xEDAOBgNVBAcTB1JlZG1vbmQx -// SIG // HjAcBgNVBAoTFU1pY3Jvc29mdCBDb3Jwb3JhdGlvbjEm -// SIG // MCQGA1UEAxMdTWljcm9zb2Z0IFRpbWUtU3RhbXAgUENB -// SIG // IDIwMTACEzMAAAHJ+tWOJSB0Al4AAQAAAckwIgQgKq8V -// SIG // K74aQfHbKF2QOPZa23JRXUDLBs1wVRbiih+lxsYwDQYJ -// SIG // KoZIhvcNAQELBQAEggIAaQM4H0gzID/OUj2Z+WkvozrL -// SIG // o97FygMaSQb/5DkaODPJvQ7uIRVGirFDK+DEB7glUz4B -// SIG // pIbDxQw6Tdqy8krkgOcNtuIp48VBFRlyss6jqKWbXk7o -// SIG // zrLuRVw2AdsZtR2jV1aIQYOuz+EA+Vmn0udsq7y1nxKr -// SIG // ahZHYQqud2qw/l92C8XAqBExEtaP5+dAjz1jS27vAkAi -// SIG // sL/yI5mGd73pixoE6if2phYBF0KoqJyFQkFLfSuMRQ7L -// SIG // 4gA3di+jAz5BRx2MxbdyV3qqmvC4NbQFZBN9P4RxYx3l -// SIG // HeR+Tg2znNl87bfr+pjues0sbO7lloeMPF2lthrp7Kdw -// SIG // nUSGBMnhW691Z9Q5xLVuaEfIQogWr3IZlkA4sKuP1PyM -// SIG // XUMfLcqBuSVRz1+ryjN2jQxgS1WRQvvGxPDtpVOPXVo3 -// SIG // /bQ04B61Pi6Wh6d1XqXuFsKy7nISwvMXLPp/gVgYNdCg -// SIG // hgS8BnnzbzeythHPLddnHBECwjF7PSs2AKT/chMKpfK/ -// SIG // odvm6dnJDz81VMCZ0IvhlvISBAULam8DaC5pieM7mXCR -// SIG // ZeTgaWO+7U2kJIKopIsD3ZjBIYLV2EeulhwDPp0JPit3 -// SIG // bZ/ISGcvQeP0cEuozPBAOzbdEYxB2tM4i2Ucu3P7NeUW -// SIG // LWdEXlwm5ZIsOkBR1wPzOc2wU97v17qo/aIKOhVTjHQ= +// SIG // dCBUaW1lLVN0YW1wIFBDQSAyMDEwMB4XDTIyMTEwNDE5 +// SIG // MDEzNVoXDTI0MDIwMjE5MDEzNVowgcoxCzAJBgNVBAYT +// SIG // AlVTMRMwEQYDVQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQH +// SIG // EwdSZWRtb25kMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29y +// SIG // cG9yYXRpb24xJTAjBgNVBAsTHE1pY3Jvc29mdCBBbWVy +// SIG // aWNhIE9wZXJhdGlvbnMxJjAkBgNVBAsTHVRoYWxlcyBU +// SIG // U1MgRVNOOkQ2QkQtRTNFNy0xNjg1MSUwIwYDVQQDExxN +// SIG // aWNyb3NvZnQgVGltZS1TdGFtcCBTZXJ2aWNlMIICIjAN +// SIG // BgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAr0LcVtna +// SIG // tNFMBrQTtG9P8ISAPyyGmxNfhEzaOVlt088pBUFAIasm +// SIG // N/eOijE6Ucaf3c2bVnN/02ih0smSqYkm5P3ZwU7ZW202 +// SIG // b6cPDJjXcrjJj0qfnuccBtE3WU0vZ8CiQD7qrKxeF8YB +// SIG // NcS+PVtvsqhd5YW6AwhWqhjw1mYuLetF5b6aPif/3Rzl +// SIG // yqG3SV7QPiSJends7gG435Rsy1HJ4XnqztOJR41I0j3E +// SIG // Q05JMF5QNRi7kT6vXTT+MHVj27FVQ7bef/U+2EAbFj2X +// SIG // 2AOWbvglYaYnM3m/I/OWDHUgGw8KIdsDh3W1eusnF2D7 +// SIG // oenGgtahs+S1G5Uolf5ESg/9Z+38rhQwLgokY5k6p8k5 +// SIG // arYWtszdJK6JiIRl843H74k7+QqlT2LbAQPq8ivQv0gd +// SIG // clW2aJun1KrW+v52R3vAHCOtbUmxvD1eNGHqGqLagtlq +// SIG // 9UFXKXuXnqXJqruCYmfwdFMD0UP6ii1lFdeKL87PdjdA +// SIG // wyCiVcCEoLnvDzyvjNjxtkTdz6R4yF1N/X4PSQH4Flgs +// SIG // lyBIXggaSlPtvPuxAtuac/ITj4k0IRShGiYLBM2Dw6oe +// SIG // sLOoxe07OUPO+qXXOcJMVHhE0MlhhnxfN2B1JWFPWwQ6 +// SIG // ooWiqAOQDqzcDx+79shxA1Cx0K70eOBplMog27gYoLpB +// SIG // v7nRz4tHqoTyvA0CAwEAAaOCATYwggEyMB0GA1UdDgQW +// SIG // BBQFUNLdHD7BAF/VU/X/eEHLiUSSIDAfBgNVHSMEGDAW +// SIG // gBSfpxVdAF5iXYP05dJlpxtTNRnpcjBfBgNVHR8EWDBW +// SIG // MFSgUqBQhk5odHRwOi8vd3d3Lm1pY3Jvc29mdC5jb20v +// SIG // cGtpb3BzL2NybC9NaWNyb3NvZnQlMjBUaW1lLVN0YW1w +// SIG // JTIwUENBJTIwMjAxMCgxKS5jcmwwbAYIKwYBBQUHAQEE +// SIG // YDBeMFwGCCsGAQUFBzAChlBodHRwOi8vd3d3Lm1pY3Jv +// SIG // c29mdC5jb20vcGtpb3BzL2NlcnRzL01pY3Jvc29mdCUy +// SIG // MFRpbWUtU3RhbXAlMjBQQ0ElMjAyMDEwKDEpLmNydDAM +// SIG // BgNVHRMBAf8EAjAAMBMGA1UdJQQMMAoGCCsGAQUFBwMI +// SIG // MA0GCSqGSIb3DQEBCwUAA4ICAQDQy5c8ogP0y8xAsLVc +// SIG // a07wWy1mT+nqYgAFnz2972kNO+KJ7AE4f+SVbvOnkeeu +// SIG // OPq3xc+6TS8g3FuKKYEwYqvnRHxX58tjlscZsZeKnu7f +// SIG // GNUlpNT9bOQFHWALURuoXp8TLHhxj3PEq9jzFYBP2YNM +// SIG // Lol70ojY1qpze3nMMJfpdurdBBpaOLlJmRNTLhxd+RJG +// SIG // JQbY1XAcx6p/FigwqBasSDUxp+0yFPEBB9uBE3KILAtq +// SIG // 6fczGp4EMeon6YmkyCGAtXMKDFQQgdP/ITe7VghAVbPT +// SIG // VlP3hY1dFgc+t8YK2obFSFVKslkASATDHulCMht+WrIs +// SIG // ukclEUP9DaMmpq7S0RLODMicI6PtqqGOhdnaRltA0d+W +// SIG // f+0tPt9SUVtrPJyO7WMPKbykCRXzmHK06zr0kn1YiUYN +// SIG // XCsOgaHF5ImO2ZwQ54UE1I55jjUdldyjy/UPJgxRm9Ny +// SIG // XeO7adYr8K8f6Q2nPF0vWqFG7ewwaAl5ClKerzshfhB8 +// SIG // zujVR0d1Ra7Z01lnXYhWuPqVZayFl7JHr6i6huhpU6BQ +// SIG // 6/VgY0cBiksX4mNM+ISY81T1RYt7fWATNu/zkjINczip +// SIG // zbfg5S+3fCAo8gVB6+6A5L0vBg39dsFITv6MWJuQ8ZZy +// SIG // 7fwlFBZE4d5IFbRudakNwKGdyLGM2otaNq7wm3ku7x41 +// SIG // UGAmkDCCB3EwggVZoAMCAQICEzMAAAAVxedrngKbSZkA +// SIG // AAAAABUwDQYJKoZIhvcNAQELBQAwgYgxCzAJBgNVBAYT +// SIG // AlVTMRMwEQYDVQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQH +// SIG // EwdSZWRtb25kMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29y +// SIG // cG9yYXRpb24xMjAwBgNVBAMTKU1pY3Jvc29mdCBSb290 +// SIG // IENlcnRpZmljYXRlIEF1dGhvcml0eSAyMDEwMB4XDTIx +// SIG // MDkzMDE4MjIyNVoXDTMwMDkzMDE4MzIyNVowfDELMAkG +// SIG // A1UEBhMCVVMxEzARBgNVBAgTCldhc2hpbmd0b24xEDAO +// SIG // BgNVBAcTB1JlZG1vbmQxHjAcBgNVBAoTFU1pY3Jvc29m +// SIG // dCBDb3Jwb3JhdGlvbjEmMCQGA1UEAxMdTWljcm9zb2Z0 +// SIG // IFRpbWUtU3RhbXAgUENBIDIwMTAwggIiMA0GCSqGSIb3 +// SIG // DQEBAQUAA4ICDwAwggIKAoICAQDk4aZM57RyIQt5osvX +// SIG // JHm9DtWC0/3unAcH0qlsTnXIyjVX9gF/bErg4r25Phdg +// SIG // M/9cT8dm95VTcVrifkpa/rg2Z4VGIwy1jRPPdzLAEBjo +// SIG // YH1qUoNEt6aORmsHFPPFdvWGUNzBRMhxXFExN6AKOG6N +// SIG // 7dcP2CZTfDlhAnrEqv1yaa8dq6z2Nr41JmTamDu6Gnsz +// SIG // rYBbfowQHJ1S/rboYiXcag/PXfT+jlPP1uyFVk3v3byN +// SIG // pOORj7I5LFGc6XBpDco2LXCOMcg1KL3jtIckw+DJj361 +// SIG // VI/c+gVVmG1oO5pGve2krnopN6zL64NF50ZuyjLVwIYw +// SIG // XE8s4mKyzbnijYjklqwBSru+cakXW2dg3viSkR4dPf0g +// SIG // z3N9QZpGdc3EXzTdEonW/aUgfX782Z5F37ZyL9t9X4C6 +// SIG // 26p+Nuw2TPYrbqgSUei/BQOj0XOmTTd0lBw0gg/wEPK3 +// SIG // Rxjtp+iZfD9M269ewvPV2HM9Q07BMzlMjgK8QmguEOqE +// SIG // UUbi0b1qGFphAXPKZ6Je1yh2AuIzGHLXpyDwwvoSCtdj +// SIG // bwzJNmSLW6CmgyFdXzB0kZSU2LlQ+QuJYfM2BjUYhEfb +// SIG // 3BvR/bLUHMVr9lxSUV0S2yW6r1AFemzFER1y7435UsSF +// SIG // F5PAPBXbGjfHCBUYP3irRbb1Hode2o+eFnJpxq57t7c+ +// SIG // auIurQIDAQABo4IB3TCCAdkwEgYJKwYBBAGCNxUBBAUC +// SIG // AwEAATAjBgkrBgEEAYI3FQIEFgQUKqdS/mTEmr6CkTxG +// SIG // NSnPEP8vBO4wHQYDVR0OBBYEFJ+nFV0AXmJdg/Tl0mWn +// SIG // G1M1GelyMFwGA1UdIARVMFMwUQYMKwYBBAGCN0yDfQEB +// SIG // MEEwPwYIKwYBBQUHAgEWM2h0dHA6Ly93d3cubWljcm9z +// SIG // b2Z0LmNvbS9wa2lvcHMvRG9jcy9SZXBvc2l0b3J5Lmh0 +// SIG // bTATBgNVHSUEDDAKBggrBgEFBQcDCDAZBgkrBgEEAYI3 +// SIG // FAIEDB4KAFMAdQBiAEMAQTALBgNVHQ8EBAMCAYYwDwYD +// SIG // VR0TAQH/BAUwAwEB/zAfBgNVHSMEGDAWgBTV9lbLj+ii +// SIG // XGJo0T2UkFvXzpoYxDBWBgNVHR8ETzBNMEugSaBHhkVo +// SIG // dHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpL2NybC9w +// SIG // cm9kdWN0cy9NaWNSb29DZXJBdXRfMjAxMC0wNi0yMy5j +// SIG // cmwwWgYIKwYBBQUHAQEETjBMMEoGCCsGAQUFBzAChj5o +// SIG // dHRwOi8vd3d3Lm1pY3Jvc29mdC5jb20vcGtpL2NlcnRz +// SIG // L01pY1Jvb0NlckF1dF8yMDEwLTA2LTIzLmNydDANBgkq +// SIG // hkiG9w0BAQsFAAOCAgEAnVV9/Cqt4SwfZwExJFvhnnJL +// SIG // /Klv6lwUtj5OR2R4sQaTlz0xM7U518JxNj/aZGx80HU5 +// SIG // bbsPMeTCj/ts0aGUGCLu6WZnOlNN3Zi6th542DYunKmC +// SIG // VgADsAW+iehp4LoJ7nvfam++Kctu2D9IdQHZGN5tggz1 +// SIG // bSNU5HhTdSRXud2f8449xvNo32X2pFaq95W2KFUn0CS9 +// SIG // QKC/GbYSEhFdPSfgQJY4rPf5KYnDvBewVIVCs/wMnosZ +// SIG // iefwC2qBwoEZQhlSdYo2wh3DYXMuLGt7bj8sCXgU6ZGy +// SIG // qVvfSaN0DLzskYDSPeZKPmY7T7uG+jIa2Zb0j/aRAfbO +// SIG // xnT99kxybxCrdTDFNLB62FD+CljdQDzHVG2dY3RILLFO +// SIG // Ry3BFARxv2T5JL5zbcqOCb2zAVdJVGTZc9d/HltEAY5a +// SIG // GZFrDZ+kKNxnGSgkujhLmm77IVRrakURR6nxt67I6Ile +// SIG // T53S0Ex2tVdUCbFpAUR+fKFhbHP+CrvsQWY9af3LwUFJ +// SIG // fn6Tvsv4O+S3Fb+0zj6lMVGEvL8CwYKiexcdFYmNcP7n +// SIG // tdAoGokLjzbaukz5m/8K6TT4JDVnK+ANuOaMmdbhIurw +// SIG // J0I9JZTmdHRbatGePu1+oDEzfbzL6Xu/OHBE0ZDxyKs6 +// SIG // ijoIYn/ZcGNTTY3ugm2lBRDBcQZqELQdVTNYs6FwZvKh +// SIG // ggLLMIICNAIBATCB+KGB0KSBzTCByjELMAkGA1UEBhMC +// SIG // VVMxEzARBgNVBAgTCldhc2hpbmd0b24xEDAOBgNVBAcT +// SIG // B1JlZG1vbmQxHjAcBgNVBAoTFU1pY3Jvc29mdCBDb3Jw +// SIG // b3JhdGlvbjElMCMGA1UECxMcTWljcm9zb2Z0IEFtZXJp +// SIG // Y2EgT3BlcmF0aW9uczEmMCQGA1UECxMdVGhhbGVzIFRT +// SIG // UyBFU046RDZCRC1FM0U3LTE2ODUxJTAjBgNVBAMTHE1p +// SIG // Y3Jvc29mdCBUaW1lLVN0YW1wIFNlcnZpY2WiIwoBATAH +// SIG // BgUrDgMCGgMVAOIASP0JSbv5R23wxciQivHyckYooIGD +// SIG // MIGApH4wfDELMAkGA1UEBhMCVVMxEzARBgNVBAgTCldh +// SIG // c2hpbmd0b24xEDAOBgNVBAcTB1JlZG1vbmQxHjAcBgNV +// SIG // BAoTFU1pY3Jvc29mdCBDb3Jwb3JhdGlvbjEmMCQGA1UE +// SIG // AxMdTWljcm9zb2Z0IFRpbWUtU3RhbXAgUENBIDIwMTAw +// SIG // DQYJKoZIhvcNAQEFBQACBQDnI/oLMCIYDzIwMjIxMTIw +// SIG // MDg1NzQ3WhgPMjAyMjExMjEwODU3NDdaMHQwOgYKKwYB +// SIG // BAGEWQoEATEsMCowCgIFAOcj+gsCAQAwBwIBAAICHBww +// SIG // BwIBAAICEiowCgIFAOclS4sCAQAwNgYKKwYBBAGEWQoE +// SIG // AjEoMCYwDAYKKwYBBAGEWQoDAqAKMAgCAQACAwehIKEK +// SIG // MAgCAQACAwGGoDANBgkqhkiG9w0BAQUFAAOBgQBT0J06 +// SIG // x6PZG4//134XJhg5O4xmWeRezqg2dN507dbDtSo+CLxX +// SIG // H9ES2gCO7yF0PiYpmHD3wCISVhYOqZUQS8fyttZ0c0y3 +// SIG // SxBg3p+areajBqCwlAsA1Jj0P9xFZcIjdKHDmQdLmFV+ +// SIG // PSh+rV/X12A3iS9ApYPkJS3yIjXP4HfR+zGCBA0wggQJ +// SIG // AgEBMIGTMHwxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpX +// SIG // YXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRtb25kMR4wHAYD +// SIG // VQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xJjAkBgNV +// SIG // BAMTHU1pY3Jvc29mdCBUaW1lLVN0YW1wIFBDQSAyMDEw +// SIG // AhMzAAABx/sAoEpb8ifcAAEAAAHHMA0GCWCGSAFlAwQC +// SIG // AQUAoIIBSjAaBgkqhkiG9w0BCQMxDQYLKoZIhvcNAQkQ +// SIG // AQQwLwYJKoZIhvcNAQkEMSIEIDPjs8coVkVPbRmBuFRv +// SIG // rxI3sUvngRnt3OBZCvmJPX/xMIH6BgsqhkiG9w0BCRAC +// SIG // LzGB6jCB5zCB5DCBvQQgR+fl2+JSskULOeVYLbeMgk7H +// SIG // dIbREmAsjwtcy6MJkskwgZgwgYCkfjB8MQswCQYDVQQG +// SIG // EwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UE +// SIG // BxMHUmVkbW9uZDEeMBwGA1UEChMVTWljcm9zb2Z0IENv +// SIG // cnBvcmF0aW9uMSYwJAYDVQQDEx1NaWNyb3NvZnQgVGlt +// SIG // ZS1TdGFtcCBQQ0EgMjAxMAITMwAAAcf7AKBKW/In3AAB +// SIG // AAABxzAiBCAc2zxBUP4w0UoaCVlGQTdUxjMV2MuJl3TI +// SIG // Mgs34gPuaDANBgkqhkiG9w0BAQsFAASCAgBlUsc9c0V+ +// SIG // HDcIQQj9Y4Ub2P93+r/Fy4A32eL7fUnyD19zSC5bvD/r +// SIG // 3HIwoFg+19MJhmHovw3hFs5k5pyehwoSjA3yUX71kjbq +// SIG // QiqUTL1A6XomxjRp74fT+Q0b/CztpyB5OLRH3b3dd/Bi +// SIG // CofsDPzhsJdNxhWrLZQjD4/cbetxXMvN6kbXepug/nqD +// SIG // iloPxzy9hAjHLRo9ontyG5qkM365aNOc3gULdNuvCEiw +// SIG // /qJ3XF/3OcLVaPtL4FLsLBZKWZK0DE92rj66HhjSTiP7 +// SIG // JeC5dJKvU3PwafqiaAuK+UTxWKFo/Pc38d5LONVO3F/S +// SIG // XNlywNSaqTc46cd3a6V/QISNhQvM9G1gPGoK1pW1czlK +// SIG // +upSR4bdf18EQZNr81B9zkN1RK8Qo3kyAxT42Pq+GktX +// SIG // pz2jRRCOnWBcL+JFE2Jwf3vsg9zLPGDrfSsPGdcz3WiE +// SIG // ZchATs23Qv+789h1PFBWXCS6HA2sOgFMyW92i/xj0xPW +// SIG // OpGuXoV3Sz2CpdhB5rVLNvdFiKluwcI3svDTvS5G8vrs +// SIG // te0ZnWIz8BtYigYGWaDIlSo8Dm+kbxM5Y7rYLho3ZHB0 +// SIG // DMnWzJoJko1oX+6n7/L5oyCmE9WVialEn2JNL6Dn852n +// SIG // o497Zeqt9f8oj2UtHJvzxAhHvq1/fNNqdlY1Ws7WlDr2 +// SIG // 9tddA7XPj/kzLA== // SIG // End signature block @@ -13092,301 +13014,10 @@ exports.VisualDescriptor = VisualDescriptor; /*!*******************************************************************************!*\ !*** ./node_modules/window-post-message-proxy/dist/windowPostMessageProxy.js ***! \*******************************************************************************/ -/***/ (function(module) { +/***/ ((module) => { -/*! window-post-message-proxy v0.2.6 | (c) 2016 Microsoft Corporation MIT */ -(function webpackUniversalModuleDefinition(root, factory) { - if(true) - module.exports = factory(); - else {} -})(this, function() { -return /******/ (function(modules) { // webpackBootstrap -/******/ // The module cache -/******/ var installedModules = {}; -/******/ -/******/ // The require function -/******/ function __nested_webpack_require_650__(moduleId) { -/******/ -/******/ // Check if module is in cache -/******/ 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 -/******/ }; -/******/ -/******/ // Execute the module function -/******/ modules[moduleId].call(module.exports, module, module.exports, __nested_webpack_require_650__); -/******/ -/******/ // Flag the module as loaded -/******/ module.loaded = true; -/******/ -/******/ // Return the exports of the module -/******/ return module.exports; -/******/ } -/******/ -/******/ -/******/ // expose the modules object (__webpack_modules__) -/******/ __nested_webpack_require_650__.m = modules; -/******/ -/******/ // expose the module cache -/******/ __nested_webpack_require_650__.c = installedModules; -/******/ -/******/ // __webpack_public_path__ -/******/ __nested_webpack_require_650__.p = ""; -/******/ -/******/ // Load entry module and return exports -/******/ return __nested_webpack_require_650__(0); -/******/ }) -/************************************************************************/ -/******/ ([ -/* 0 */ -/***/ (function(module, exports) { - - "use strict"; - var WindowPostMessageProxy = (function () { - function WindowPostMessageProxy(options) { - var _this = this; - if (options === void 0) { options = { - processTrackingProperties: { - addTrackingProperties: WindowPostMessageProxy.defaultAddTrackingProperties, - getTrackingProperties: WindowPostMessageProxy.defaultGetTrackingProperties - }, - isErrorMessage: WindowPostMessageProxy.defaultIsErrorMessage, - receiveWindow: window, - name: WindowPostMessageProxy.createRandomString() - }; } - this.pendingRequestPromises = {}; - // save options with defaults - this.addTrackingProperties = (options.processTrackingProperties && options.processTrackingProperties.addTrackingProperties) || WindowPostMessageProxy.defaultAddTrackingProperties; - this.getTrackingProperties = (options.processTrackingProperties && options.processTrackingProperties.getTrackingProperties) || WindowPostMessageProxy.defaultGetTrackingProperties; - this.isErrorMessage = options.isErrorMessage || WindowPostMessageProxy.defaultIsErrorMessage; - this.receiveWindow = options.receiveWindow || window; - this.name = options.name || WindowPostMessageProxy.createRandomString(); - this.logMessages = options.logMessages || false; - this.eventSourceOverrideWindow = options.eventSourceOverrideWindow; - this.suppressWarnings = options.suppressWarnings || false; - if (this.logMessages) { - console.log("new WindowPostMessageProxy created with name: " + this.name + " receiving on window: " + this.receiveWindow.document.title); - } - // Initialize - this.handlers = []; - this.windowMessageHandler = function (event) { return _this.onMessageReceived(event); }; - this.start(); - } - // Static - WindowPostMessageProxy.defaultAddTrackingProperties = function (message, trackingProperties) { - message[WindowPostMessageProxy.messagePropertyName] = trackingProperties; - return message; - }; - WindowPostMessageProxy.defaultGetTrackingProperties = function (message) { - return message[WindowPostMessageProxy.messagePropertyName]; - }; - WindowPostMessageProxy.defaultIsErrorMessage = function (message) { - return !!message.error; - }; - /** - * Utility to create a deferred object. - */ - // TODO: Look to use RSVP library instead of doing this manually. - // From what I searched RSVP would work better because it has .finally and .deferred; however, it doesn't have Typings information. - WindowPostMessageProxy.createDeferred = function () { - var deferred = { - resolve: null, - reject: null, - promise: null - }; - var promise = new Promise(function (resolve, reject) { - deferred.resolve = resolve; - deferred.reject = reject; - }); - deferred.promise = promise; - return deferred; - }; - /** - * Utility to generate random sequence of characters used as tracking id for promises. - */ - WindowPostMessageProxy.createRandomString = function () { - // window.msCrypto for IE - var cryptoObj = window.crypto || window.msCrypto; - var randomValueArray = new Uint32Array(1); - cryptoObj.getRandomValues(randomValueArray); - return randomValueArray[0].toString(36).substring(1); - }; - /** - * Adds handler. - * If the first handler whose test method returns true will handle the message and provide a response. - */ - WindowPostMessageProxy.prototype.addHandler = function (handler) { - this.handlers.push(handler); - }; - /** - * Removes handler. - * The reference must match the original object that was provided when adding the handler. - */ - WindowPostMessageProxy.prototype.removeHandler = function (handler) { - var handlerIndex = this.handlers.indexOf(handler); - if (handlerIndex === -1) { - throw new Error("You attempted to remove a handler but no matching handler was found."); - } - this.handlers.splice(handlerIndex, 1); - }; - /** - * Start listening to message events. - */ - WindowPostMessageProxy.prototype.start = function () { - this.receiveWindow.addEventListener('message', this.windowMessageHandler); - }; - /** - * Stops listening to message events. - */ - WindowPostMessageProxy.prototype.stop = function () { - this.receiveWindow.removeEventListener('message', this.windowMessageHandler); - }; - /** - * Post message to target window with tracking properties added and save deferred object referenced by tracking id. - */ - WindowPostMessageProxy.prototype.postMessage = function (targetWindow, message) { - // Add tracking properties to indicate message came from this proxy - var trackingProperties = { id: WindowPostMessageProxy.createRandomString() }; - this.addTrackingProperties(message, trackingProperties); - if (this.logMessages) { - console.log(this.name + " Posting message:"); - console.log(JSON.stringify(message, null, ' ')); - } - targetWindow.postMessage(message, "*"); - var deferred = WindowPostMessageProxy.createDeferred(); - this.pendingRequestPromises[trackingProperties.id] = deferred; - return deferred.promise; - }; - /** - * Send response message to target window. - * Response messages re-use tracking properties from a previous request message. - */ - WindowPostMessageProxy.prototype.sendResponse = function (targetWindow, message, trackingProperties) { - this.addTrackingProperties(message, trackingProperties); - if (this.logMessages) { - console.log(this.name + " Sending response:"); - console.log(JSON.stringify(message, null, ' ')); - } - targetWindow.postMessage(message, "*"); - }; - /** - * Message handler. - */ - WindowPostMessageProxy.prototype.onMessageReceived = function (event) { - var _this = this; - if (this.logMessages) { - console.log(this.name + " Received message:"); - console.log("type: " + event.type); - console.log(JSON.stringify(event.data, null, ' ')); - } - var sendingWindow = this.eventSourceOverrideWindow || event.source; - var message = event.data; - if (typeof message !== "object") { - if (!this.suppressWarnings) { - console.warn("Proxy(" + this.name + "): Received message that was not an object. Discarding message"); - } - return; - } - var trackingProperties; - try { - trackingProperties = this.getTrackingProperties(message); - } - catch (e) { - if (!this.suppressWarnings) { - console.warn("Proxy(" + this.name + "): Error occurred when attempting to get tracking properties from incoming message:", JSON.stringify(message, null, ' '), "Error: ", e); - } - } - var deferred; - if (trackingProperties) { - deferred = this.pendingRequestPromises[trackingProperties.id]; - } - // If message does not have a known ID, treat it as a request - // Otherwise, treat message as response - if (!deferred) { - var handled = this.handlers.some(function (handler) { - var canMessageBeHandled = false; - try { - canMessageBeHandled = handler.test(message); - } - catch (e) { - if (!_this.suppressWarnings) { - console.warn("Proxy(" + _this.name + "): Error occurred when handler was testing incoming message:", JSON.stringify(message, null, ' '), "Error: ", e); - } - } - if (canMessageBeHandled) { - var responseMessagePromise = void 0; - try { - responseMessagePromise = Promise.resolve(handler.handle(message)); - } - catch (e) { - if (!_this.suppressWarnings) { - console.warn("Proxy(" + _this.name + "): Error occurred when handler was processing incoming message:", JSON.stringify(message, null, ' '), "Error: ", e); - } - responseMessagePromise = Promise.resolve(); - } - responseMessagePromise - .then(function (responseMessage) { - if (!responseMessage) { - var warningMessage = "Handler for message: " + JSON.stringify(message, null, ' ') + " did not return a response message. The default response message will be returned instead."; - if (!_this.suppressWarnings) { - console.warn("Proxy(" + _this.name + "): " + warningMessage); - } - responseMessage = { - warning: warningMessage - }; - } - _this.sendResponse(sendingWindow, responseMessage, trackingProperties); - }); - return true; - } - }); - /** - * TODO: Consider returning an error message if nothing handled the message. - * In the case of the Report receiving messages all of them should be handled, - * however, in the case of the SDK receiving messages it's likely it won't register handlers - * for all events. Perhaps make this an option at construction time. - */ - if (!handled && !this.suppressWarnings) { - console.warn("Proxy(" + this.name + ") did not handle message. Handlers: " + this.handlers.length + " Message: " + JSON.stringify(message, null, '') + "."); - } - } - else { - /** - * If error message reject promise, - * Otherwise, resolve promise - */ - var isErrorMessage = true; - try { - isErrorMessage = this.isErrorMessage(message); - } - catch (e) { - console.warn("Proxy(" + this.name + ") Error occurred when trying to determine if message is consider an error response. Message: ", JSON.stringify(message, null, ''), 'Error: ', e); - } - if (isErrorMessage) { - deferred.reject(message); - } - else { - deferred.resolve(message); - } - // TODO: Move to .finally clause up where promise is created for better maitenance like original proxy code. - delete this.pendingRequestPromises[trackingProperties.id]; - } - }; - WindowPostMessageProxy.messagePropertyName = "windowPostMessageProxy"; - return WindowPostMessageProxy; - }()); - exports.WindowPostMessageProxy = WindowPostMessageProxy; - - -/***/ }) -/******/ ]) -}); -; +/*! For license information please see windowPostMessageProxy.js.LICENSE.txt */ +!function(e,r){ true?module.exports=r():0}(self,(()=>(()=>{"use strict";var e={};return(()=>{var r=e;Object.defineProperty(r,"__esModule",{value:!0}),r.WindowPostMessageProxy=void 0;var s=function(){function e(r){void 0===r&&(r={processTrackingProperties:{addTrackingProperties:e.defaultAddTrackingProperties,getTrackingProperties:e.defaultGetTrackingProperties},isErrorMessage:e.defaultIsErrorMessage,receiveWindow:window,name:e.createRandomString()});var s=this;this.pendingRequestPromises={},this.addTrackingProperties=r.processTrackingProperties&&r.processTrackingProperties.addTrackingProperties||e.defaultAddTrackingProperties,this.getTrackingProperties=r.processTrackingProperties&&r.processTrackingProperties.getTrackingProperties||e.defaultGetTrackingProperties,this.isErrorMessage=r.isErrorMessage||e.defaultIsErrorMessage,this.receiveWindow=r.receiveWindow||window,this.name=r.name||e.createRandomString(),this.logMessages=r.logMessages||!1,this.eventSourceOverrideWindow=r.eventSourceOverrideWindow,this.suppressWarnings=r.suppressWarnings||!1,this.logMessages&&console.log("new WindowPostMessageProxy created with name: ".concat(this.name," receiving on window: ").concat(this.receiveWindow.document.title)),this.handlers=[],this.windowMessageHandler=function(e){return s.onMessageReceived(e)},this.start()}return e.defaultAddTrackingProperties=function(r,s){return r[e.messagePropertyName]=s,r},e.defaultGetTrackingProperties=function(r){return r[e.messagePropertyName]},e.defaultIsErrorMessage=function(e){return!!e.error},e.createDeferred=function(){var e={resolve:null,reject:null,promise:null},r=new Promise((function(r,s){e.resolve=r,e.reject=s}));return e.promise=r,e},e.createRandomString=function(){var e=window.crypto||window.msCrypto,r=new Uint32Array(1);return e.getRandomValues(r),r[0].toString(36).substring(1)},e.prototype.addHandler=function(e){this.handlers.push(e)},e.prototype.removeHandler=function(e){var r=this.handlers.indexOf(e);if(-1===r)throw new Error("You attempted to remove a handler but no matching handler was found.");this.handlers.splice(r,1)},e.prototype.start=function(){this.receiveWindow.addEventListener("message",this.windowMessageHandler)},e.prototype.stop=function(){this.receiveWindow.removeEventListener("message",this.windowMessageHandler)},e.prototype.postMessage=function(r,s){var n={id:e.createRandomString()};this.addTrackingProperties(s,n),this.logMessages&&(console.log("".concat(this.name," Posting message:")),console.log(JSON.stringify(s,null," "))),r.postMessage(s,"*");var o=e.createDeferred();return this.pendingRequestPromises[n.id]=o,o.promise},e.prototype.sendResponse=function(e,r,s){this.addTrackingProperties(r,s),this.logMessages&&(console.log("".concat(this.name," Sending response:")),console.log(JSON.stringify(r,null," "))),e.postMessage(r,"*")},e.prototype.onMessageReceived=function(e){var r=this;this.logMessages&&(console.log("".concat(this.name," Received message:")),console.log("type: ".concat(e.type)),console.log(JSON.stringify(e.data,null," ")));var s=this.eventSourceOverrideWindow||e.source;if(s){var n=e.data;if("object"==typeof n){var o,t;try{o=this.getTrackingProperties(n)}catch(e){this.suppressWarnings||console.warn("Proxy(".concat(this.name,"): Error occurred when attempting to get tracking properties from incoming message:"),JSON.stringify(n,null," "),"Error: ",e)}if(o&&(t=this.pendingRequestPromises[o.id]),t){var i=!0;try{i=this.isErrorMessage(n)}catch(e){console.warn("Proxy(".concat(this.name,") Error occurred when trying to determine if message is consider an error response. Message: "),JSON.stringify(n,null,""),"Error: ",e)}i?t.reject(n):t.resolve(n),delete this.pendingRequestPromises[o.id]}else this.handlers.some((function(e){var t=!1;try{t=e.test(n)}catch(e){r.suppressWarnings||console.warn("Proxy(".concat(r.name,"): Error occurred when handler was testing incoming message:"),JSON.stringify(n,null," "),"Error: ",e)}if(t){var i=void 0;try{i=Promise.resolve(e.handle(n))}catch(e){r.suppressWarnings||console.warn("Proxy(".concat(r.name,"): Error occurred when handler was processing incoming message:"),JSON.stringify(n,null," "),"Error: ",e),i=Promise.resolve()}return i.then((function(e){if(!e){var t="Handler for message: ".concat(JSON.stringify(n,null," ")," did not return a response message. The default response message will be returned instead.");r.suppressWarnings||console.warn("Proxy(".concat(r.name,"): ").concat(t)),e={warning:t}}r.sendResponse(s,e,o)})),!0}}))||this.suppressWarnings||console.warn("Proxy(".concat(this.name,") did not handle message. Handlers: ").concat(this.handlers.length," Message: ").concat(JSON.stringify(n,null,""),"."))}else this.suppressWarnings||console.warn("Proxy(".concat(this.name,"): Received message that was not an object. Discarding message"))}},e.messagePropertyName="windowPostMessageProxy",e}();r.WindowPostMessageProxy=s})(),e})())); //# sourceMappingURL=windowPostMessageProxy.js.map /***/ }) diff --git a/dist/powerbi.min.js b/dist/powerbi.min.js index 3458d4b8..311f1b0e 100644 --- a/dist/powerbi.min.js +++ b/dist/powerbi.min.js @@ -2,4 +2,4 @@ // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. /*! For license information please see powerbi.js.LICENSE.txt */ -!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,(()=>(()=>{var t={615:function(t){var e;e=function(){return function(t){var e={};function r(i){if(e[i])return e[i].exports;var a=e[i]={exports:{},id:i,loaded:!1};return t[i].call(a.exports,a,a.exports,r),a.loaded=!0,a.exports}return r.m=t,r.c=e,r.p="",r(0)}([function(t,e){"use strict";var r=function(){function t(t,e,r){void 0===e&&(e={}),this.defaultHeaders=e,this.defaultTargetWindow=r,this.windowPostMessageProxy=t}return t.addTrackingProperties=function(t,e){return t.headers=t.headers||{},e&&e.id&&(t.headers.id=e.id),t},t.getTrackingProperties=function(t){return{id:t.headers&&t.headers.id}},t.isErrorMessage=function(t){return"number"==typeof(t&&t.statusCode)&&!(200<=t.statusCode&&t.statusCode<300)},t.prototype.get=function(t,e,r){return void 0===e&&(e={}),void 0===r&&(r=this.defaultTargetWindow),this.send({method:"GET",url:t,headers:e},r)},t.prototype.post=function(t,e,r,i){return void 0===r&&(r={}),void 0===i&&(i=this.defaultTargetWindow),this.send({method:"POST",url:t,headers:r,body:e},i)},t.prototype.put=function(t,e,r,i){return void 0===r&&(r={}),void 0===i&&(i=this.defaultTargetWindow),this.send({method:"PUT",url:t,headers:r,body:e},i)},t.prototype.patch=function(t,e,r,i){return void 0===r&&(r={}),void 0===i&&(i=this.defaultTargetWindow),this.send({method:"PATCH",url:t,headers:r,body:e},i)},t.prototype.delete=function(t,e,r,i){return void 0===e&&(e=null),void 0===r&&(r={}),void 0===i&&(i=this.defaultTargetWindow),this.send({method:"DELETE",url:t,headers:r,body:e},i)},t.prototype.send=function(t,e){if(void 0===e&&(e=this.defaultTargetWindow),t.headers=this.assign({},this.defaultHeaders,t.headers),!e)throw new Error("target window is not provided. You must either provide the target window explicitly as argument to request, or specify default target window when constructing instance of this class.");return this.windowPostMessageProxy.postMessage(e,t)},t.prototype.assign=function(t){for(var e=[],r=1;r(()=>{var t=[function(t,e,r){var i,a=this&&this.__extends||(i=function(t,e){return i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},i(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.TextAlignment=e.CommonErrorCodes=e.BookmarksPlayMode=e.ExportDataType=e.QnaMode=e.PageNavigationPosition=e.BrowserPrintAdjustmentsMode=e.AggregateFunction=e.DataCacheMode=e.CredentialType=e.isPercentOfGrandTotal=e.isColumnAggr=e.isHierarchyLevelAggr=e.isHierarchyLevel=e.isColumn=e.isMeasure=e.getFilterType=e.isBasicFilterWithKeys=e.isFilterKeyColumnsTarget=e.HierarchyFilter=e.AdvancedFilter=e.TupleFilter=e.IdentityFilter=e.BasicFilterWithKeys=e.BasicFilter=e.RelativeTimeFilter=e.RelativeDateFilter=e.TopNFilter=e.IncludeExcludeFilter=e.NotSupportedFilter=e.Filter=e.RelativeDateOperators=e.RelativeDateFilterTimeUnit=e.FilterType=e.FiltersLevel=e.FiltersOperations=e.MenuLocation=e.ContrastMode=e.TokenType=e.ViewMode=e.Permissions=e.SectionVisibility=e.ReportAlignment=e.HyperlinkClickBehavior=e.LayoutType=e.VisualContainerDisplayMode=e.BackgroundType=e.DisplayOption=e.PageSizeType=e.TraceType=void 0,e.validateVisualHeader=e.validateExportDataRequest=e.validateQnaInterpretInputData=e.validateLoadQnaConfiguration=e.validateSaveAsParameters=e.validateUpdateFiltersRequest=e.validateFilter=e.validatePage=e.validateTileLoad=e.validateDashboardLoad=e.validateQuickCreate=e.validateCreateReport=e.validatePaginatedReportLoad=e.validateReportLoad=e.validateMenuGroupExtension=e.validateExtension=e.validateCustomPageSize=e.validateVisualizationsPane=e.validateSyncSlicersPane=e.validateSelectionPane=e.validatePageNavigationPane=e.validateFieldsPane=e.validateFiltersPane=e.validateBookmarksPane=e.validatePanes=e.validateSettings=e.validateCaptureBookmarkRequest=e.validateApplyBookmarkStateRequest=e.validateApplyBookmarkByNameRequest=e.validateAddBookmarkRequest=e.validatePlayBookmarkRequest=e.validateSlicerState=e.validateSlicer=e.validateVisualSelector=e.isIExtensionArray=e.isIExtensions=e.isGroupedMenuExtension=e.isFlatMenuExtension=e.isReportFiltersArray=e.isOnLoadFilters=e.VisualDataRoleKindPreference=e.VisualDataRoleKind=e.CommandDisplayOption=e.SlicerTargetSelector=e.VisualTypeSelector=e.VisualSelector=e.PageSelector=e.Selector=e.SortDirection=e.LegendPosition=void 0,e.validatePrintSettings=e.validateZoomLevel=e.validateCustomTheme=e.validateCommandsSettings=e.validateVisualSettings=void 0;var o,n,l,s,u,d,c,p,f,h,v,y,m,V,g,b,w,P,S,O=r(1);(S=e.TraceType||(e.TraceType={}))[S.Information=0]="Information",S[S.Verbose=1]="Verbose",S[S.Warning=2]="Warning",S[S.Error=3]="Error",S[S.ExpectedError=4]="ExpectedError",S[S.UnexpectedError=5]="UnexpectedError",S[S.Fatal=6]="Fatal",(P=e.PageSizeType||(e.PageSizeType={}))[P.Widescreen=0]="Widescreen",P[P.Standard=1]="Standard",P[P.Cortana=2]="Cortana",P[P.Letter=3]="Letter",P[P.Custom=4]="Custom",P[P.Mobile=5]="Mobile",(w=e.DisplayOption||(e.DisplayOption={}))[w.FitToPage=0]="FitToPage",w[w.FitToWidth=1]="FitToWidth",w[w.ActualSize=2]="ActualSize",(b=e.BackgroundType||(e.BackgroundType={}))[b.Default=0]="Default",b[b.Transparent=1]="Transparent",(g=e.VisualContainerDisplayMode||(e.VisualContainerDisplayMode={}))[g.Visible=0]="Visible",g[g.Hidden=1]="Hidden",(V=e.LayoutType||(e.LayoutType={}))[V.Master=0]="Master",V[V.Custom=1]="Custom",V[V.MobilePortrait=2]="MobilePortrait",V[V.MobileLandscape=3]="MobileLandscape",(m=e.HyperlinkClickBehavior||(e.HyperlinkClickBehavior={}))[m.Navigate=0]="Navigate",m[m.NavigateAndRaiseEvent=1]="NavigateAndRaiseEvent",m[m.RaiseEvent=2]="RaiseEvent",(y=e.ReportAlignment||(e.ReportAlignment={}))[y.Left=0]="Left",y[y.Center=1]="Center",y[y.Right=2]="Right",y[y.None=3]="None",(v=e.SectionVisibility||(e.SectionVisibility={}))[v.AlwaysVisible=0]="AlwaysVisible",v[v.HiddenInViewMode=1]="HiddenInViewMode",(h=e.Permissions||(e.Permissions={}))[h.Read=0]="Read",h[h.ReadWrite=1]="ReadWrite",h[h.Copy=2]="Copy",h[h.Create=4]="Create",h[h.All=7]="All",(f=e.ViewMode||(e.ViewMode={}))[f.View=0]="View",f[f.Edit=1]="Edit",(p=e.TokenType||(e.TokenType={}))[p.Aad=0]="Aad",p[p.Embed=1]="Embed",(c=e.ContrastMode||(e.ContrastMode={}))[c.None=0]="None",c[c.HighContrast1=1]="HighContrast1",c[c.HighContrast2=2]="HighContrast2",c[c.HighContrastBlack=3]="HighContrastBlack",c[c.HighContrastWhite=4]="HighContrastWhite",(d=e.MenuLocation||(e.MenuLocation={}))[d.Bottom=0]="Bottom",d[d.Top=1]="Top",(u=e.FiltersOperations||(e.FiltersOperations={}))[u.RemoveAll=0]="RemoveAll",u[u.ReplaceAll=1]="ReplaceAll",u[u.Add=2]="Add",u[u.Replace=3]="Replace",(s=e.FiltersLevel||(e.FiltersLevel={}))[s.Report=0]="Report",s[s.Page=1]="Page",s[s.Visual=2]="Visual",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",t[t.Identity=8]="Identity",t[t.Hierarchy=9]="Hierarchy"}(o=e.FilterType||(e.FilterType={})),(l=e.RelativeDateFilterTimeUnit||(e.RelativeDateFilterTimeUnit={}))[l.Days=0]="Days",l[l.Weeks=1]="Weeks",l[l.CalendarWeeks=2]="CalendarWeeks",l[l.Months=3]="Months",l[l.CalendarMonths=4]="CalendarMonths",l[l.Years=5]="Years",l[l.CalendarYears=6]="CalendarYears",l[l.Minutes=7]="Minutes",l[l.Hours=8]="Hours",(n=e.RelativeDateOperators||(e.RelativeDateOperators={}))[n.InLast=0]="InLast",n[n.InThis=1]="InThis",n[n.InNext=2]="InNext";var _=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=_;var T=function(t){function e(r,i,a){var n=t.call(this,r,o.Unknown)||this;return n.message=i,n.notSupportedTypeName=a,n.schemaUrl=e.schemaUrl,n}return a(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}(_);e.NotSupportedFilter=T;var E=function(t){function e(r,i,a){var n=t.call(this,r,o.IncludeExclude)||this;return n.values=a,n.isExclude=i,n.schemaUrl=e.schemaUrl,n}return a(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}(_);e.IncludeExcludeFilter=E;var F=function(t){function e(r,i,a,n){var l=t.call(this,r,o.TopN)||this;return l.operator=i,l.itemCount=a,l.schemaUrl=e.schemaUrl,l.orderBy=n,l}return a(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}(_);e.TopNFilter=F;var C=function(t){function e(r,i,a,n,l){var s=t.call(this,r,o.RelativeDate)||this;return s.operator=i,s.timeUnitsCount=a,s.timeUnitType=n,s.includeToday=l,s.schemaUrl=e.schemaUrl,s}return a(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}(_);e.RelativeDateFilter=C;var R=function(t){function e(r,i,a,n){var l=t.call(this,r,o.RelativeTime)||this;return l.operator=i,l.timeUnitsCount=a,l.timeUnitType=n,l.schemaUrl=e.schemaUrl,l}return a(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}(_);e.RelativeTimeFilter=R;var k=function(t){function e(r,i){for(var a=[],n=2;n0&&!a)throw new Error("You should pass the values to be filtered for each key. You passed: no values and ".concat(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,s=o.keyValues;l2)throw new Error("AdvancedFilters may not have more than two conditions. You passed: ".concat(a.length));if(1===l.length&&"And"!==i)throw new Error('Logical Operator must be "And" when there is only one condition provided');return s.conditions=l,s}return a(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}(_);e.AdvancedFilter=M;var L,I,q,D,N,B,U,H,W,z=function(t){function e(r,i){var a=t.call(this,r,o.Hierarchy)||this;return a.schemaUrl=e.schemaUrl,a.hierarchyData=i,a}return a(e,t),e.prototype.toJSON=function(){var e=t.prototype.toJSON.call(this);return e.hierarchyData=this.hierarchyData,e.target=this.target,e},e.schemaUrl="http://powerbi.com/product/schema#hierarchy",e}(_);function Q(t){if(t.filterType)return t.filterType;var e=t,r=t;return"string"==typeof e.operator&&Array.isArray(e.values)?o.Basic:"string"==typeof r.logicalOperator&&Array.isArray(r.conditions)?o.Advanced:o.Unknown}function G(t){return!(!t.table||!t.column||t.aggregationFunction)}e.HierarchyFilter=z,e.isFilterKeyColumnsTarget=function(t){return G(t)&&!!t.keys},e.isBasicFilterWithKeys=function(t){return Q(t)===o.Basic&&!!t.keyValues},e.getFilterType=Q,e.isMeasure=function(t){return void 0!==t.table&&void 0!==t.measure},e.isColumn=G,e.isHierarchyLevel=function(t){return!(!(t.table&&t.hierarchy&&t.hierarchyLevel)||t.aggregationFunction)},e.isHierarchyLevelAggr=function(t){return!!(t.table&&t.hierarchy&&t.hierarchyLevel&&t.aggregationFunction)},e.isColumnAggr=function(t){return!!(t.table&&t.column&&t.aggregationFunction)},e.isPercentOfGrandTotal=function(t){return!!t.percentOfGrandTotal},(W=e.CredentialType||(e.CredentialType={}))[W.NoConnection=0]="NoConnection",W[W.OnBehalfOf=1]="OnBehalfOf",W[W.Anonymous=2]="Anonymous",(H=e.DataCacheMode||(e.DataCacheMode={}))[H.Import=0]="Import",H[H.DirectQuery=1]="DirectQuery",(U=e.AggregateFunction||(e.AggregateFunction={}))[U.Default=1]="Default",U[U.None=2]="None",U[U.Sum=3]="Sum",U[U.Min=4]="Min",U[U.Max=5]="Max",U[U.Count=6]="Count",U[U.Average=7]="Average",U[U.DistinctCount=8]="DistinctCount",(B=e.BrowserPrintAdjustmentsMode||(e.BrowserPrintAdjustmentsMode={}))[B.Default=0]="Default",B[B.NoAdjustments=1]="NoAdjustments",(N=e.PageNavigationPosition||(e.PageNavigationPosition={}))[N.Bottom=0]="Bottom",N[N.Left=1]="Left",(D=e.QnaMode||(e.QnaMode={}))[D.Interactive=0]="Interactive",D[D.ResultOnly=1]="ResultOnly",(q=e.ExportDataType||(e.ExportDataType={}))[q.Summarized=0]="Summarized",q[q.Underlying=1]="Underlying",(I=e.BookmarksPlayMode||(e.BookmarksPlayMode={}))[I.Off=0]="Off",I[I.Presentation=1]="Presentation",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"},(L=e.SortDirection||(e.SortDirection={}))[L.Ascending=1]="Ascending",L[L.Descending=2]="Descending";var J=function(){function t(t){this.$schema=t}return t.prototype.toJSON=function(){return{$schema:this.$schema}},t}();e.Selector=J;var K=function(t){function e(r){var i=t.call(this,e.schemaUrl)||this;return i.pageName=r,i}return a(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}(J);e.PageSelector=K;var Y=function(t){function e(r){var i=t.call(this,e.schemaUrl)||this;return i.visualName=r,i}return a(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}(J);e.VisualSelector=Y;var $=function(t){function e(e){var r=t.call(this,Y.schemaUrl)||this;return r.visualType=e,r}return a(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}(J);e.VisualTypeSelector=$;var Z,X,tt,et=function(t){function e(e){var r=t.call(this,Y.schemaUrl)||this;return r.target=e,r}return a(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}(J);function rt(t){return Array.isArray(t)}function it(t){return t&&!!t.groupName}function at(t){return Array.isArray(t)}function ot(t){var e=t.message;return e||(e="".concat(t.path," is invalid. Not meeting ").concat(t.keyword," constraint")),{message:e}}e.SlicerTargetSelector=et,(tt=e.CommandDisplayOption||(e.CommandDisplayOption={}))[tt.Enabled=0]="Enabled",tt[tt.Disabled=1]="Disabled",tt[tt.Hidden=2]="Hidden",(X=e.VisualDataRoleKind||(e.VisualDataRoleKind={}))[X.Grouping=0]="Grouping",X[X.Measure=1]="Measure",X[X.GroupingOrMeasure=2]="GroupingOrMeasure",(Z=e.VisualDataRoleKindPreference||(e.VisualDataRoleKindPreference={}))[Z.Measure=0]="Measure",Z[Z.Grouping=1]="Grouping",e.isOnLoadFilters=function(t){return t&&!rt(t)},e.isReportFiltersArray=rt,e.isFlatMenuExtension=function(t){return t&&!it(t)},e.isGroupedMenuExtension=it,e.isIExtensions=function(t){return t&&!at(t)},e.isIExtensionArray=at,e.validateVisualSelector=function(t){var e=O.Validators.visualSelectorValidator.validate(t);return e?e.map(ot):void 0},e.validateSlicer=function(t){var e=O.Validators.slicerValidator.validate(t);return e?e.map(ot):void 0},e.validateSlicerState=function(t){var e=O.Validators.slicerStateValidator.validate(t);return e?e.map(ot):void 0},e.validatePlayBookmarkRequest=function(t){var e=O.Validators.playBookmarkRequestValidator.validate(t);return e?e.map(ot):void 0},e.validateAddBookmarkRequest=function(t){var e=O.Validators.addBookmarkRequestValidator.validate(t);return e?e.map(ot):void 0},e.validateApplyBookmarkByNameRequest=function(t){var e=O.Validators.applyBookmarkByNameRequestValidator.validate(t);return e?e.map(ot):void 0},e.validateApplyBookmarkStateRequest=function(t){var e=O.Validators.applyBookmarkStateRequestValidator.validate(t);return e?e.map(ot):void 0},e.validateCaptureBookmarkRequest=function(t){var e=O.Validators.captureBookmarkRequestValidator.validate(t);return e?e.map(ot):void 0},e.validateSettings=function(t){var e=O.Validators.settingsValidator.validate(t);return e?e.map(ot):void 0},e.validatePanes=function(t){var e=O.Validators.reportPanesValidator.validate(t);return e?e.map(ot):void 0},e.validateBookmarksPane=function(t){var e=O.Validators.bookmarksPaneValidator.validate(t);return e?e.map(ot):void 0},e.validateFiltersPane=function(t){var e=O.Validators.filtersPaneValidator.validate(t);return e?e.map(ot):void 0},e.validateFieldsPane=function(t){var e=O.Validators.fieldsPaneValidator.validate(t);return e?e.map(ot):void 0},e.validatePageNavigationPane=function(t){var e=O.Validators.pageNavigationPaneValidator.validate(t);return e?e.map(ot):void 0},e.validateSelectionPane=function(t){var e=O.Validators.selectionPaneValidator.validate(t);return e?e.map(ot):void 0},e.validateSyncSlicersPane=function(t){var e=O.Validators.syncSlicersPaneValidator.validate(t);return e?e.map(ot):void 0},e.validateVisualizationsPane=function(t){var e=O.Validators.visualizationsPaneValidator.validate(t);return e?e.map(ot):void 0},e.validateCustomPageSize=function(t){var e=O.Validators.customPageSizeValidator.validate(t);return e?e.map(ot):void 0},e.validateExtension=function(t){var e=O.Validators.extensionValidator.validate(t);return e?e.map(ot):void 0},e.validateMenuGroupExtension=function(t){var e=O.Validators.menuGroupExtensionValidator.validate(t);return e?e.map(ot):void 0},e.validateReportLoad=function(t){var e=O.Validators.reportLoadValidator.validate(t);return e?e.map(ot):void 0},e.validatePaginatedReportLoad=function(t){var e=O.Validators.paginatedReportLoadValidator.validate(t);return e?e.map(ot):void 0},e.validateCreateReport=function(t){var e=O.Validators.reportCreateValidator.validate(t);return e?e.map(ot):void 0},e.validateQuickCreate=function(t){var e=O.Validators.quickCreateValidator.validate(t);return e?e.map(ot):void 0},e.validateDashboardLoad=function(t){var e=O.Validators.dashboardLoadValidator.validate(t);return e?e.map(ot):void 0},e.validateTileLoad=function(t){var e=O.Validators.tileLoadValidator.validate(t);return e?e.map(ot):void 0},e.validatePage=function(t){var e=O.Validators.pageValidator.validate(t);return e?e.map(ot):void 0},e.validateFilter=function(t){var e=O.Validators.filterValidator.validate(t);return e?e.map(ot):void 0},e.validateUpdateFiltersRequest=function(t){var e=O.Validators.updateFiltersRequestValidator.validate(t);return e?e.map(ot):void 0},e.validateSaveAsParameters=function(t){var e=O.Validators.saveAsParametersValidator.validate(t);return e?e.map(ot):void 0},e.validateLoadQnaConfiguration=function(t){var e=O.Validators.loadQnaValidator.validate(t);return e?e.map(ot):void 0},e.validateQnaInterpretInputData=function(t){var e=O.Validators.qnaInterpretInputDataValidator.validate(t);return e?e.map(ot):void 0},e.validateExportDataRequest=function(t){var e=O.Validators.exportDataRequestValidator.validate(t);return e?e.map(ot):void 0},e.validateVisualHeader=function(t){var e=O.Validators.visualHeaderValidator.validate(t);return e?e.map(ot):void 0},e.validateVisualSettings=function(t){var e=O.Validators.visualSettingsValidator.validate(t);return e?e.map(ot):void 0},e.validateCommandsSettings=function(t){var e=O.Validators.commandsSettingsValidator.validate(t);return e?e.map(ot):void 0},e.validateCustomTheme=function(t){var e=O.Validators.customThemeValidator.validate(t);return e?e.map(ot):void 0},e.validateZoomLevel=function(t){var e=O.Validators.zoomLevelValidator.validate(t);return e?e.map(ot):void 0},e.validatePrintSettings=function(t){var e=O.Validators.printSettingsValidator.validate(t);return e?e.map(ot):void 0}},(t,e,r)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.Validators=void 0;var i=r(2),a=r(5),o=r(6),n=r(7),l=r(8),s=r(9),u=r(10),d=r(11),c=r(12),p=r(13),f=r(14),h=r(15),v=r(16),y=r(17),m=r(18),V=r(19),g=r(20),b=r(21),w=r(22),P=r(23),S=r(24),O=r(25),_=r(26),T=r(27),E=r(28),F=r(29),C=r(4),R=r(30),k=r(31),x=r(32),A=r(33);e.Validators={addBookmarkRequestValidator:new a.AddBookmarkRequestValidator,advancedFilterTypeValidator:new C.EnumValidator([0]),advancedFilterValidator:new c.AdvancedFilterValidator,anyArrayValidator:new C.ArrayValidator([new _.AnyOfValidator([new C.StringValidator,new C.NumberValidator,new C.BooleanValidator])]),anyFilterValidator:new _.AnyOfValidator([new c.BasicFilterValidator,new c.AdvancedFilterValidator,new c.IncludeExcludeFilterValidator,new c.NotSupportedFilterValidator,new c.RelativeDateFilterValidator,new c.TopNFilterValidator,new c.RelativeTimeFilterValidator,new c.HierarchyFilterValidator]),anyValueValidator:new _.AnyOfValidator([new C.StringValidator,new C.NumberValidator,new C.BooleanValidator]),actionBarValidator:new i.ActionBarValidator,statusBarValidator:new i.StatusBarValidator,applyBookmarkByNameRequestValidator:new a.ApplyBookmarkByNameRequestValidator,applyBookmarkStateRequestValidator:new a.ApplyBookmarkStateRequestValidator,applyBookmarkValidator:new _.AnyOfValidator([new a.ApplyBookmarkByNameRequestValidator,new a.ApplyBookmarkStateRequestValidator]),backgroundValidator:new C.EnumValidator([0,1]),basicFilterTypeValidator:new C.EnumValidator([1]),basicFilterValidator:new c.BasicFilterValidator,booleanArrayValidator:new C.BooleanArrayValidator,booleanValidator:new C.BooleanValidator,bookmarksPaneValidator:new h.BookmarksPaneValidator,captureBookmarkOptionsValidator:new a.CaptureBookmarkOptionsValidator,captureBookmarkRequestValidator:new a.CaptureBookmarkRequestValidator,columnSchemaArrayValidator:new C.ArrayValidator([new k.ColumnSchemaValidator]),commandDisplayOptionValidator:new C.EnumValidator([0,1,2]),commandExtensionSelectorValidator:new _.AnyOfValidator([new b.VisualSelectorValidator,new b.VisualTypeSelectorValidator]),commandExtensionArrayValidator:new C.ArrayValidator([new d.CommandExtensionValidator]),commandExtensionValidator:new d.CommandExtensionValidator,commandsSettingsArrayValidator:new C.ArrayValidator([new o.CommandsSettingsValidator]),commandsSettingsValidator:new o.CommandsSettingsValidator,conditionItemValidator:new c.ConditionItemValidator,contrastModeValidator:new C.EnumValidator([0,1,2,3,4]),credentialDetailsValidator:new F.MapValidator([new C.StringValidator],[new C.StringValidator]),credentialsValidator:new k.CredentialsValidator,credentialTypeValidator:new C.EnumValidator([0,1,2]),customLayoutDisplayOptionValidator:new C.EnumValidator([0,1,2]),customLayoutValidator:new p.CustomLayoutValidator,customPageSizeValidator:new f.CustomPageSizeValidator,customThemeValidator:new n.CustomThemeValidator,dashboardLoadValidator:new l.DashboardLoadValidator,dataCacheModeValidator:new C.EnumValidator([0,1]),datasetBindingValidator:new s.DatasetBindingValidator,datasetCreateConfigValidator:new k.DatasetCreateConfigValidator,datasourceConnectionConfigValidator:new k.DatasourceConnectionConfigValidator,displayStateModeValidator:new C.EnumValidator([0,1]),displayStateValidator:new p.DisplayStateValidator,exportDataRequestValidator:new u.ExportDataRequestValidator,extensionArrayValidator:new C.ArrayValidator([new d.ExtensionValidator]),extensionsValidator:new _.AnyOfValidator([new C.ArrayValidator([new d.ExtensionValidator]),new d.ExtensionsValidator]),extensionPointsValidator:new d.ExtensionPointsValidator,extensionValidator:new d.ExtensionValidator,fieldForbiddenValidator:new T.FieldForbiddenValidator,fieldRequiredValidator:new E.FieldRequiredValidator,fieldsPaneValidator:new h.FieldsPaneValidator,filterColumnTargetValidator:new c.FilterColumnTargetValidator,filterDisplaySettingsValidator:new c.FilterDisplaySettingsValidator,filterConditionsValidator:new C.ArrayValidator([new c.ConditionItemValidator]),filterHierarchyTargetValidator:new c.FilterHierarchyTargetValidator,filterMeasureTargetValidator:new c.FilterMeasureTargetValidator,filterTargetValidator:new _.AnyOfValidator([new c.FilterColumnTargetValidator,new c.FilterHierarchyTargetValidator,new c.FilterMeasureTargetValidator,new C.ArrayValidator([new _.AnyOfValidator([new c.FilterColumnTargetValidator,new c.FilterHierarchyTargetValidator,new c.FilterMeasureTargetValidator,new c.FilterKeyColumnsTargetValidator,new c.FilterKeyHierarchyTargetValidator])])]),filterValidator:new c.FilterValidator,filterTypeValidator:new C.EnumValidator([0,1,2,3,4,5,6,7,9]),filtersArrayValidator:new C.ArrayValidator([new c.FilterValidator]),filtersOperationsUpdateValidator:new C.EnumValidator([1,2,3]),filtersOperationsRemoveAllValidator:new C.EnumValidator([0]),filtersPaneValidator:new h.FiltersPaneValidator,hyperlinkClickBehaviorValidator:new C.EnumValidator([0,1,2]),includeExcludeFilterValidator:new c.IncludeExcludeFilterValidator,includeExludeFilterTypeValidator:new C.EnumValidator([3]),hierarchyFilterTypeValidator:new C.EnumValidator([9]),hierarchyFilterValuesValidator:new C.ArrayValidator([new c.HierarchyFilterNodeValidator]),layoutTypeValidator:new C.EnumValidator([0,1,2,3]),loadQnaValidator:new v.LoadQnaValidator,menuExtensionValidator:new _.AnyOfValidator([new d.FlatMenuExtensionValidator,new d.GroupedMenuExtensionValidator]),menuGroupExtensionArrayValidator:new C.ArrayValidator([new d.MenuGroupExtensionValidator]),menuGroupExtensionValidator:new d.MenuGroupExtensionValidator,menuLocationValidator:new C.EnumValidator([0,1]),notSupportedFilterTypeValidator:new C.EnumValidator([2]),notSupportedFilterValidator:new c.NotSupportedFilterValidator,numberArrayValidator:new C.NumberArrayValidator,numberValidator:new C.NumberValidator,onLoadFiltersBaseValidator:new _.AnyOfValidator([new c.OnLoadFiltersBaseValidator,new c.OnLoadFiltersBaseRemoveOperationValidator]),pageLayoutValidator:new F.MapValidator([new C.StringValidator],[new p.VisualLayoutValidator]),pageNavigationPaneValidator:new h.PageNavigationPaneValidator,pageNavigationPositionValidator:new C.EnumValidator([0,1]),pageSizeTypeValidator:new C.EnumValidator([0,1,2,3,4,5]),pageSizeValidator:new f.PageSizeValidator,pageValidator:new f.PageValidator,pageViewFieldValidator:new f.PageViewFieldValidator,pagesLayoutValidator:new F.MapValidator([new C.StringValidator],[new p.PageLayoutValidator]),paginatedReportCommandsValidator:new o.PaginatedReportCommandsValidator,paginatedReportLoadValidator:new V.PaginatedReportLoadValidator,paginatedReportsettingsValidator:new w.PaginatedReportSettingsValidator,parameterValuesArrayValidator:new C.ArrayValidator([new V.ReportParameterFieldsValidator]),parametersPanelValidator:new R.ParametersPanelValidator,permissionsValidator:new C.EnumValidator([0,1,2,4,7]),playBookmarkRequestValidator:new a.PlayBookmarkRequestValidator,printSettingsValidator:new A.PrintSettingsValidator,qnaInterpretInputDataValidator:new v.QnaInterpretInputDataValidator,qnaPanesValidator:new h.QnaPanesValidator,qnaSettingValidator:new v.QnaSettingsValidator,quickCreateValidator:new x.QuickCreateValidator,rawDataValidator:new C.ArrayValidator([new C.ArrayValidator([new C.StringValidator])]),relativeDateFilterOperatorValidator:new C.EnumValidator([0,1,2]),relativeDateFilterTimeUnitTypeValidator:new C.EnumValidator([0,1,2,3,4,5,6]),relativeDateFilterTypeValidator:new C.EnumValidator([4]),relativeDateFilterValidator:new c.RelativeDateFilterValidator,relativeDateTimeFilterTypeValidator:new C.EnumValidator([4,7]),relativeDateTimeFilterUnitTypeValidator:new C.EnumValidator([0,1,2,3,4,5,6,7,8]),relativeTimeFilterTimeUnitTypeValidator:new C.EnumValidator([7,8]),relativeTimeFilterTypeValidator:new C.EnumValidator([7]),relativeTimeFilterValidator:new c.RelativeTimeFilterValidator,reportBarsValidator:new i.ReportBarsValidator,reportCreateValidator:new y.ReportCreateValidator,reportLoadFiltersValidator:new _.AnyOfValidator([new C.ArrayValidator([new c.FilterValidator]),new c.OnLoadFiltersValidator]),reportLoadValidator:new m.ReportLoadValidator,reportPanesValidator:new h.ReportPanesValidator,saveAsParametersValidator:new g.SaveAsParametersValidator,selectionPaneValidator:new h.SelectionPaneValidator,settingsValidator:new w.SettingsValidator,singleCommandSettingsValidator:new o.SingleCommandSettingsValidator,slicerSelectorValidator:new _.AnyOfValidator([new b.VisualSelectorValidator,new b.SlicerTargetSelectorValidator]),slicerStateValidator:new P.SlicerStateValidator,slicerTargetValidator:new _.AnyOfValidator([new c.FilterColumnTargetValidator,new c.FilterHierarchyTargetValidator,new c.FilterMeasureTargetValidator,new c.FilterKeyColumnsTargetValidator,new c.FilterKeyHierarchyTargetValidator]),slicerValidator:new P.SlicerValidator,stringArrayValidator:new C.StringArrayValidator,stringValidator:new C.StringValidator,syncSlicersPaneValidator:new h.SyncSlicersPaneValidator,tableDataArrayValidator:new C.ArrayValidator([new k.TableDataValidator]),tableSchemaListValidator:new C.ArrayValidator([new k.TableSchemaValidator]),tileLoadValidator:new S.TileLoadValidator,tokenTypeValidator:new C.EnumValidator([0,1]),topNFilterTypeValidator:new C.EnumValidator([5]),topNFilterValidator:new c.TopNFilterValidator,updateFiltersRequestValidator:new _.AnyOfValidator([new c.UpdateFiltersRequestValidator,new c.RemoveFiltersRequestValidator]),viewModeValidator:new C.EnumValidator([0,1]),visualCommandSelectorValidator:new _.AnyOfValidator([new b.VisualSelectorValidator,new b.VisualTypeSelectorValidator]),visualHeaderSelectorValidator:new _.AnyOfValidator([new b.VisualSelectorValidator,new b.VisualTypeSelectorValidator]),visualHeaderSettingsValidator:new O.VisualHeaderSettingsValidator,visualHeaderValidator:new O.VisualHeaderValidator,visualHeadersValidator:new C.ArrayValidator([new O.VisualHeaderValidator]),visualizationsPaneValidator:new h.VisualizationsPaneValidator,visualLayoutValidator:new p.VisualLayoutValidator,visualSelectorValidator:new b.VisualSelectorValidator,visualSettingsValidator:new O.VisualSettingsValidator,visualTypeSelectorValidator:new b.VisualTypeSelectorValidator,zoomLevelValidator:new C.RangeValidator(.25,4)}},function(t,e,r){var i,a=this&&this.__extends||(i=function(t,e){return i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},i(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.StatusBarValidator=e.ActionBarValidator=e.ReportBarsValidator=void 0;var o=r(3),n=r(4),l=r(1),s=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return a(e,t),e.prototype.validate=function(e,r,i){if(null==e)return null;var a=t.prototype.validate.call(this,e,r,i);if(a)return a;var n=[{field:"actionBar",validators:[l.Validators.actionBarValidator]},{field:"statusBar",validators:[l.Validators.statusBarValidator]}];return new o.MultipleFieldsValidator(n).validate(e,r,i)},e}(n.ObjectValidator);e.ReportBarsValidator=s;var u=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return a(e,t),e.prototype.validate=function(e,r,i){if(null==e)return null;var a=t.prototype.validate.call(this,e,r,i);if(a)return a;var n=[{field:"visible",validators:[l.Validators.booleanValidator]}];return new o.MultipleFieldsValidator(n).validate(e,r,i)},e}(n.ObjectValidator);e.ActionBarValidator=u;var d=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return a(e,t),e.prototype.validate=function(e,r,i){if(null==e)return null;var a=t.prototype.validate.call(this,e,r,i);if(a)return a;var n=[{field:"visible",validators:[l.Validators.booleanValidator]}];return new o.MultipleFieldsValidator(n).validate(e,r,i)},e}(n.ObjectValidator);e.StatusBarValidator=d},(t,e)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.MultipleFieldsValidator=void 0;var r=function(){function t(t){this.fieldValidatorsPairs=t}return t.prototype.validate=function(t,e,r){if(!this.fieldValidatorsPairs)return null;for(var i=e?e+"."+r:r,a=0,o=this.fieldValidatorsPairs;athis.maxValue||e{Object.defineProperty(e,"__esModule",{value:!0}),e.AnyOfValidator=void 0;var r=function(){function t(t){this.validators=t}return t.prototype.validate=function(t,e,r){if(null==t)return null;for(var i=!1,a=0,o=this.validators;a{Object.defineProperty(e,"__esModule",{value:!0}),e.FieldForbiddenValidator=void 0;var r=function(){function t(){}return t.prototype.validate=function(t,e,r){return void 0!==t?[{message:r+" is forbidden",path:(e?e+".":"")+r,keyword:"forbidden"}]:null},t}();e.FieldForbiddenValidator=r},(t,e)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.FieldRequiredValidator=void 0;var r=function(){function t(){}return t.prototype.validate=function(t,e,r){return null==t?[{message:r+" is required",path:(e?e+".":"")+r,keyword:"required"}]:null},t}();e.FieldRequiredValidator=r},function(t,e,r){var i,a=this&&this.__extends||(i=function(t,e){return i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},i(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.MapValidator=void 0;var o=function(t){function e(e,r){var i=t.call(this)||this;return i.keyValidators=e,i.valueValidators=r,i}return a(e,t),e.prototype.validate=function(e,r,i){if(null==e)return null;var a=t.prototype.validate.call(this,e,r,i);if(a)return a;for(var o in e)if(e.hasOwnProperty(o)){for(var n=(r?r+".":"")+i+"."+o,l=0,s=this.keyValidators;l2&&"[]"===n.slice(l-2)&&(s=!0,r[n=n.slice(0,l-2)]||(r[n]=[])),a=o[1]?g(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(-1!==(i=t.indexOf("?"))){var l=t.substr(i+1,t.length);t=t.substr(0,i),o=this.parseQueryString(l)}for("/"!==(t=decodeURI(t)).charAt(0)&&(t="/"+t),(e=t.length)>1&&"/"===t.charAt(e-1)&&(t=t.substr(0,e-1),n=!0),r=0;r{Object.defineProperty(e,"__esModule",{value:!0}),e.FilterBuilder=void 0;var r=function(){function t(){}return t.prototype.withTargetObject=function(t){return this.target=t,this},t.prototype.withColumnTarget=function(t,e){return this.target={table:t,column:e},this},t.prototype.withMeasureTarget=function(t,e){return this.target={table:t,measure:e},this},t.prototype.withHierarchyLevelTarget=function(t,e,r){return this.target={table:t,hierarchy:e,hierarchyLevel:r},this},t.prototype.withColumnAggregation=function(t,e,r){return this.target={table:t,column:e,aggregationFunction:r},this},t.prototype.withHierarchyLevelAggregationTarget=function(t,e,r,i){return this.target={table:t,hierarchy:e,hierarchyLevel:r,aggregationFunction:i},this},t}();e.FilterBuilder=r},567:(t,e,r)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.RelativeTimeFilterBuilder=e.RelativeDateFilterBuilder=e.TopNFilterBuilder=e.AdvancedFilterBuilder=e.BasicFilterBuilder=void 0;var i=r(153);Object.defineProperty(e,"BasicFilterBuilder",{enumerable:!0,get:function(){return i.BasicFilterBuilder}});var a=r(674);Object.defineProperty(e,"AdvancedFilterBuilder",{enumerable:!0,get:function(){return a.AdvancedFilterBuilder}});var o=r(664);Object.defineProperty(e,"TopNFilterBuilder",{enumerable:!0,get:function(){return o.TopNFilterBuilder}});var n=r(844);Object.defineProperty(e,"RelativeDateFilterBuilder",{enumerable:!0,get:function(){return n.RelativeDateFilterBuilder}});var l=r(275);Object.defineProperty(e,"RelativeTimeFilterBuilder",{enumerable:!0,get:function(){return l.RelativeTimeFilterBuilder}})},844:function(t,e,r){var i,a=this&&this.__extends||(i=function(t,e){return i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},i(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.RelativeDateFilterBuilder=void 0;var o=r(149),n=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.isTodayIncluded=!0,e}return a(e,t),e.prototype.inLast=function(t,e){return this.operator=o.RelativeDateOperators.InLast,this.timeUnitsCount=t,this.timeUnitType=e,this},e.prototype.inThis=function(t,e){return this.operator=o.RelativeDateOperators.InThis,this.timeUnitsCount=t,this.timeUnitType=e,this},e.prototype.inNext=function(t,e){return this.operator=o.RelativeDateOperators.InNext,this.timeUnitsCount=t,this.timeUnitType=e,this},e.prototype.includeToday=function(t){return this.isTodayIncluded=t,this},e.prototype.build=function(){return new o.RelativeDateFilter(this.target,this.operator,this.timeUnitsCount,this.timeUnitType,this.isTodayIncluded)},e}(r(277).FilterBuilder);e.RelativeDateFilterBuilder=n},275:function(t,e,r){var i,a=this&&this.__extends||(i=function(t,e){return i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},i(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.RelativeTimeFilterBuilder=void 0;var o=r(149),n=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return a(e,t),e.prototype.inLast=function(t,e){return this.operator=o.RelativeDateOperators.InLast,this.timeUnitsCount=t,this.timeUnitType=e,this},e.prototype.inThis=function(t,e){return this.operator=o.RelativeDateOperators.InThis,this.timeUnitsCount=t,this.timeUnitType=e,this},e.prototype.inNext=function(t,e){return this.operator=o.RelativeDateOperators.InNext,this.timeUnitsCount=t,this.timeUnitType=e,this},e.prototype.build=function(){return new o.RelativeTimeFilter(this.target,this.operator,this.timeUnitsCount,this.timeUnitType)},e}(r(277).FilterBuilder);e.RelativeTimeFilterBuilder=n},664:function(t,e,r){var i,a=this&&this.__extends||(i=function(t,e){return i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},i(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.TopNFilterBuilder=void 0;var o=r(149),n=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return a(e,t),e.prototype.top=function(t){return this.operator="Top",this.itemCount=t,this},e.prototype.bottom=function(t){return this.operator="Bottom",this.itemCount=t,this},e.prototype.orderByTarget=function(t){return this.orderByTargetValue=t,this},e.prototype.build=function(){return new o.TopNFilter(this.target,this.operator,this.itemCount,this.orderByTargetValue)},e}(r(277).FilterBuilder);e.TopNFilterBuilder=n},460:function(t,e,r){var i=this&&this.__awaiter||function(t,e,r,i){return new(r||(r=Promise))((function(a,o){function n(t){try{s(i.next(t))}catch(t){o(t)}}function l(t){try{s(i.throw(t))}catch(t){o(t)}}function s(t){var e;t.done?a(t.value):(e=t.value,e instanceof r?e:new r((function(t){t(e)}))).then(n,l)}s((i=i.apply(t,e||[])).next())}))},a=this&&this.__generator||function(t,e){var r,i,a,o,n={label:0,sent:function(){if(1&a[0])throw a[1];return a[1]},trys:[],ops:[]};return o={next:l(0),throw:l(1),return:l(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function l(o){return function(l){return function(o){if(r)throw new TypeError("Generator is already executing.");for(;n;)try{if(r=1,i&&(a=2&o[0]?i.return:o[0]?i.throw||((a=i.return)&&a.call(i),0):i.next)&&!(a=a.call(i,o[1])).done)return a;switch(i=0,a&&(o=[2&o[0],a.value]),o[0]){case 0:case 1:a=o;break;case 4:return n.label++,{value:o[1],done:!1};case 5:n.label++,i=o[1],o=[0];continue;case 7:o=n.ops.pop(),n.trys.pop();continue;default:if(!((a=(a=n.trys).length>0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]{Object.defineProperty(e,"__esModule",{value:!0}),e.default={version:"2.22.3",type:"js"}},536:function(t,e,r){var i,a=this&&this.__extends||(i=function(t,e){return i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},i(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}),o=this&&this.__awaiter||function(t,e,r,i){return new(r||(r=Promise))((function(a,o){function n(t){try{s(i.next(t))}catch(t){o(t)}}function l(t){try{s(i.throw(t))}catch(t){o(t)}}function s(t){var e;t.done?a(t.value):(e=t.value,e instanceof r?e:new r((function(t){t(e)}))).then(n,l)}s((i=i.apply(t,e||[])).next())}))},n=this&&this.__generator||function(t,e){var r,i,a,o,n={label:0,sent:function(){if(1&a[0])throw a[1];return a[1]},trys:[],ops:[]};return o={next:l(0),throw:l(1),return:l(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function l(o){return function(l){return function(o){if(r)throw new TypeError("Generator is already executing.");for(;n;)try{if(r=1,i&&(a=2&o[0]?i.return:o[0]?i.throw||((a=i.return)&&a.call(i),0):i.next)&&!(a=a.call(i,o[1])).done)return a;switch(i=0,a&&(o=[2&o[0],a.value]),o[0]){case 0:case 1:a=o;break;case 4:return n.label++,{value:o[1],done:!1};case 5:n.label++,i=o[1],o=[0];continue;case 7:o=n.ops.pop(),n.trys.pop();continue;default:if(!((a=(a=n.trys).length>0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]{Object.defineProperty(e,"__esModule",{value:!0}),e.EmbedUrlNotSupported=e.APINotSupportedForRDLError=void 0,e.APINotSupportedForRDLError="This API is currently not supported for RDL reports",e.EmbedUrlNotSupported="Embed URL is invalid for this scenario. Please use Power BI REST APIs to get the valid URL"},357:(t,e,r)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.routerFactory=e.wpmpFactory=e.hpmFactory=void 0;var i=r(903),a=r(615),o=r(891),n=r(913);e.hpmFactory=function(t,e,r,i,o){return void 0===r&&(r=n.default.version),void 0===i&&(i=n.default.type),new a.HttpPostMessage(t,{"x-sdk-type":i,"x-sdk-version":r,"x-sdk-wrapper-version":o},e)},e.wpmpFactory=function(t,e,r){return new i.WindowPostMessageProxy({processTrackingProperties:{addTrackingProperties:a.HttpPostMessage.addTrackingProperties,getTrackingProperties:a.HttpPostMessage.getTrackingProperties},isErrorMessage:a.HttpPostMessage.isErrorMessage,suppressWarnings:!0,name:t,logMessages:e,eventSourceOverrideWindow:r})},e.routerFactory=function(t){return new o.Router(t)}},220:function(t,e,r){var i=this&&this.__awaiter||function(t,e,r,i){return new(r||(r=Promise))((function(a,o){function n(t){try{s(i.next(t))}catch(t){o(t)}}function l(t){try{s(i.throw(t))}catch(t){o(t)}}function s(t){var e;t.done?a(t.value):(e=t.value,e instanceof r?e:new r((function(t){t(e)}))).then(n,l)}s((i=i.apply(t,e||[])).next())}))},a=this&&this.__generator||function(t,e){var r,i,a,o,n={label:0,sent:function(){if(1&a[0])throw a[1];return a[1]},trys:[],ops:[]};return o={next:l(0),throw:l(1),return:l(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function l(o){return function(l){return function(o){if(r)throw new TypeError("Generator is already executing.");for(;n;)try{if(r=1,i&&(a=2&o[0]?i.return:o[0]?i.throw||((a=i.return)&&a.call(i),0):i.next)&&!(a=a.call(i,o[1])).done)return a;switch(i=0,a&&(o=[2&o[0],a.value]),o[0]){case 0:case 1:a=o;break;case 4:return n.label++,{value:o[1],done:!1};case 5:n.label++,i=o[1],o=[0];continue;case 7:o=n.ops.pop(),n.trys.pop();continue;default:if(!((a=(a=n.trys).length>0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0?"&":"?";return t+(i+e+"=")+r},e.isSavedInternal=function(t,e,a){return r(this,void 0,void 0,(function(){return i(this,(function(r){switch(r.label){case 0:return r.trys.push([0,2,,3]),[4,t.get("/report/hasUnsavedChanges",{uid:e},a)];case 1:return[2,!r.sent().body];case 2:throw r.sent().body;case 3:return[2]}}))}))},e.isRDLEmbed=function(t){return t&&t.toLowerCase().indexOf("/rdlembed?")>=0},e.autoAuthInEmbedUrl=function(t){return t&&decodeURIComponent(t).toLowerCase().indexOf("autoauth=true")>=0},e.getRandomValue=o,e.getTimeDiffInMilliseconds=function(t,e){return Math.abs(t.getTime()-e.getTime())},e.isCreate=function(t){return"create"===t||"quickcreate"===t}},23:function(t,e,r){var i,a=this&&this.__extends||(i=function(t,e){return i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},i(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}),o=this&&this.__awaiter||function(t,e,r,i){return new(r||(r=Promise))((function(a,o){function n(t){try{s(i.next(t))}catch(t){o(t)}}function l(t){try{s(i.throw(t))}catch(t){o(t)}}function s(t){var e;t.done?a(t.value):(e=t.value,e instanceof r?e:new r((function(t){t(e)}))).then(n,l)}s((i=i.apply(t,e||[])).next())}))},n=this&&this.__generator||function(t,e){var r,i,a,o,n={label:0,sent:function(){if(1&a[0])throw a[1];return a[1]},trys:[],ops:[]};return o={next:l(0),throw:l(1),return:l(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function l(o){return function(l){return function(o){if(r)throw new TypeError("Generator is already executing.");for(;n;)try{if(r=1,i&&(a=2&o[0]?i.return:o[0]?i.throw||((a=i.return)&&a.call(i),0):i.next)&&!(a=a.call(i,o[1])).done)return a;switch(i=0,a&&(o=[2&o[0],a.value]),o[0]){case 0:case 1:a=o;break;case 4:return n.label++,{value:o[1],done:!1};case 5:n.label++,i=o[1],o=[0];continue;case 7:o=n.ops.pop(),n.trys.pop();continue;default:if(!((a=(a=n.trys).length>0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]{var t=i;Object.defineProperty(t,"__esModule",{value:!0}),t.RelativeTimeFilterBuilder=t.RelativeDateFilterBuilder=t.TopNFilterBuilder=t.AdvancedFilterBuilder=t.BasicFilterBuilder=t.Create=t.QuickCreate=t.VisualDescriptor=t.Visual=t.Qna=t.Page=t.Embed=t.Tile=t.Dashboard=t.Report=t.models=t.factories=t.service=void 0;var e=r(149);t.models=e;var a=r(562);t.service=a;var o=r(357);t.factories=o;var n=r(125);Object.defineProperty(t,"Report",{enumerable:!0,get:function(){return n.Report}});var l=r(365);Object.defineProperty(t,"Dashboard",{enumerable:!0,get:function(){return l.Dashboard}});var s=r(43);Object.defineProperty(t,"Tile",{enumerable:!0,get:function(){return s.Tile}});var u=r(932);Object.defineProperty(t,"Embed",{enumerable:!0,get:function(){return u.Embed}});var d=r(220);Object.defineProperty(t,"Page",{enumerable:!0,get:function(){return d.Page}});var c=r(148);Object.defineProperty(t,"Qna",{enumerable:!0,get:function(){return c.Qna}});var p=r(23);Object.defineProperty(t,"Visual",{enumerable:!0,get:function(){return p.Visual}});var f=r(558);Object.defineProperty(t,"VisualDescriptor",{enumerable:!0,get:function(){return f.VisualDescriptor}});var h=r(714);Object.defineProperty(t,"QuickCreate",{enumerable:!0,get:function(){return h.QuickCreate}});var v=r(536);Object.defineProperty(t,"Create",{enumerable:!0,get:function(){return v.Create}});var y=r(567);Object.defineProperty(t,"BasicFilterBuilder",{enumerable:!0,get:function(){return y.BasicFilterBuilder}}),Object.defineProperty(t,"AdvancedFilterBuilder",{enumerable:!0,get:function(){return y.AdvancedFilterBuilder}}),Object.defineProperty(t,"TopNFilterBuilder",{enumerable:!0,get:function(){return y.TopNFilterBuilder}}),Object.defineProperty(t,"RelativeDateFilterBuilder",{enumerable:!0,get:function(){return y.RelativeDateFilterBuilder}}),Object.defineProperty(t,"RelativeTimeFilterBuilder",{enumerable:!0,get:function(){return y.RelativeTimeFilterBuilder}});var m=new a.Service(o.hpmFactory,o.wpmpFactory,o.routerFactory);window.powerbi&&window.powerBISDKGlobalServiceInstanceName?window[window.powerBISDKGlobalServiceInstanceName]=m:window.powerbi=m})(),i})())); \ No newline at end of file +!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,(()=>(()=>{var t={615:function(t){var e;e=function(){return function(t){var e={};function r(i){if(e[i])return e[i].exports;var a=e[i]={exports:{},id:i,loaded:!1};return t[i].call(a.exports,a,a.exports,r),a.loaded=!0,a.exports}return r.m=t,r.c=e,r.p="",r(0)}([function(t,e){"use strict";var r=function(){function t(t,e,r){void 0===e&&(e={}),this.defaultHeaders=e,this.defaultTargetWindow=r,this.windowPostMessageProxy=t}return t.addTrackingProperties=function(t,e){return t.headers=t.headers||{},e&&e.id&&(t.headers.id=e.id),t},t.getTrackingProperties=function(t){return{id:t.headers&&t.headers.id}},t.isErrorMessage=function(t){return"number"==typeof(t&&t.statusCode)&&!(200<=t.statusCode&&t.statusCode<300)},t.prototype.get=function(t,e,r){return void 0===e&&(e={}),void 0===r&&(r=this.defaultTargetWindow),this.send({method:"GET",url:t,headers:e},r)},t.prototype.post=function(t,e,r,i){return void 0===r&&(r={}),void 0===i&&(i=this.defaultTargetWindow),this.send({method:"POST",url:t,headers:r,body:e},i)},t.prototype.put=function(t,e,r,i){return void 0===r&&(r={}),void 0===i&&(i=this.defaultTargetWindow),this.send({method:"PUT",url:t,headers:r,body:e},i)},t.prototype.patch=function(t,e,r,i){return void 0===r&&(r={}),void 0===i&&(i=this.defaultTargetWindow),this.send({method:"PATCH",url:t,headers:r,body:e},i)},t.prototype.delete=function(t,e,r,i){return void 0===e&&(e=null),void 0===r&&(r={}),void 0===i&&(i=this.defaultTargetWindow),this.send({method:"DELETE",url:t,headers:r,body:e},i)},t.prototype.send=function(t,e){if(void 0===e&&(e=this.defaultTargetWindow),t.headers=this.assign({},this.defaultHeaders,t.headers),!e)throw new Error("target window is not provided. You must either provide the target window explicitly as argument to request, or specify default target window when constructing instance of this class.");return this.windowPostMessageProxy.postMessage(e,t)},t.prototype.assign=function(t){for(var e=[],r=1;r(()=>{var t=[function(t,e,r){var i,a=this&&this.__extends||(i=function(t,e){return i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},i(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.SortDirection=e.LegendPosition=e.TextAlignment=e.CommonErrorCodes=e.BookmarksPlayMode=e.ExportDataType=e.QnaMode=e.PageNavigationPosition=e.DataCacheMode=e.CredentialType=e.isPercentOfGrandTotal=e.isColumnAggr=e.isHierarchyLevelAggr=e.isHierarchyLevel=e.isColumn=e.isMeasure=e.getFilterType=e.isBasicFilterWithKeys=e.isFilterKeyColumnsTarget=e.HierarchyFilter=e.AdvancedFilter=e.TupleFilter=e.IdentityFilter=e.BasicFilterWithKeys=e.BasicFilter=e.RelativeTimeFilter=e.RelativeDateFilter=e.TopNFilter=e.IncludeExcludeFilter=e.NotSupportedFilter=e.Filter=e.RelativeDateOperators=e.RelativeDateFilterTimeUnit=e.FilterType=e.FiltersLevel=e.FiltersOperations=e.MenuLocation=e.ContrastMode=e.TokenType=e.ViewMode=e.Permissions=e.SectionVisibility=e.ReportAlignment=e.HyperlinkClickBehavior=e.LayoutType=e.VisualContainerDisplayMode=e.BackgroundType=e.DisplayOption=e.PageSizeType=e.TraceType=void 0,e.validateCommandsSettings=e.validateVisualSettings=e.validateVisualHeader=e.validateExportDataRequest=e.validateQnaInterpretInputData=e.validateLoadQnaConfiguration=e.validateSaveAsParameters=e.validateUpdateFiltersRequest=e.validateFilter=e.validatePage=e.validateTileLoad=e.validateDashboardLoad=e.validateQuickCreate=e.validateCreateReport=e.validatePaginatedReportLoad=e.validateReportLoad=e.validateMenuGroupExtension=e.validateExtension=e.validateCustomPageSize=e.validateVisualizationsPane=e.validateSyncSlicersPane=e.validateSelectionPane=e.validatePageNavigationPane=e.validateFieldsPane=e.validateFiltersPane=e.validateBookmarksPane=e.validatePanes=e.validateSettings=e.validateCaptureBookmarkRequest=e.validateApplyBookmarkStateRequest=e.validateApplyBookmarkByNameRequest=e.validateAddBookmarkRequest=e.validatePlayBookmarkRequest=e.validateSlicerState=e.validateSlicer=e.validateVisualSelector=e.isIExtensionArray=e.isIExtensions=e.isGroupedMenuExtension=e.isFlatMenuExtension=e.isReportFiltersArray=e.isOnLoadFilters=e.VisualDataRoleKindPreference=e.VisualDataRoleKind=e.CommandDisplayOption=e.SlicerTargetSelector=e.VisualTypeSelector=e.VisualSelector=e.PageSelector=e.Selector=void 0,e.validateZoomLevel=e.validateCustomTheme=void 0;var o,n,l,s,u,d,c,p,f,h,v,y,m,V,g,b,w,P,S,O=r(1);(S=e.TraceType||(e.TraceType={}))[S.Information=0]="Information",S[S.Verbose=1]="Verbose",S[S.Warning=2]="Warning",S[S.Error=3]="Error",S[S.ExpectedError=4]="ExpectedError",S[S.UnexpectedError=5]="UnexpectedError",S[S.Fatal=6]="Fatal",(P=e.PageSizeType||(e.PageSizeType={}))[P.Widescreen=0]="Widescreen",P[P.Standard=1]="Standard",P[P.Cortana=2]="Cortana",P[P.Letter=3]="Letter",P[P.Custom=4]="Custom",P[P.Mobile=5]="Mobile",(w=e.DisplayOption||(e.DisplayOption={}))[w.FitToPage=0]="FitToPage",w[w.FitToWidth=1]="FitToWidth",w[w.ActualSize=2]="ActualSize",(b=e.BackgroundType||(e.BackgroundType={}))[b.Default=0]="Default",b[b.Transparent=1]="Transparent",(g=e.VisualContainerDisplayMode||(e.VisualContainerDisplayMode={}))[g.Visible=0]="Visible",g[g.Hidden=1]="Hidden",(V=e.LayoutType||(e.LayoutType={}))[V.Master=0]="Master",V[V.Custom=1]="Custom",V[V.MobilePortrait=2]="MobilePortrait",V[V.MobileLandscape=3]="MobileLandscape",(m=e.HyperlinkClickBehavior||(e.HyperlinkClickBehavior={}))[m.Navigate=0]="Navigate",m[m.NavigateAndRaiseEvent=1]="NavigateAndRaiseEvent",m[m.RaiseEvent=2]="RaiseEvent",(y=e.ReportAlignment||(e.ReportAlignment={}))[y.Left=0]="Left",y[y.Center=1]="Center",y[y.Right=2]="Right",y[y.None=3]="None",(v=e.SectionVisibility||(e.SectionVisibility={}))[v.AlwaysVisible=0]="AlwaysVisible",v[v.HiddenInViewMode=1]="HiddenInViewMode",(h=e.Permissions||(e.Permissions={}))[h.Read=0]="Read",h[h.ReadWrite=1]="ReadWrite",h[h.Copy=2]="Copy",h[h.Create=4]="Create",h[h.All=7]="All",(f=e.ViewMode||(e.ViewMode={}))[f.View=0]="View",f[f.Edit=1]="Edit",(p=e.TokenType||(e.TokenType={}))[p.Aad=0]="Aad",p[p.Embed=1]="Embed",(c=e.ContrastMode||(e.ContrastMode={}))[c.None=0]="None",c[c.HighContrast1=1]="HighContrast1",c[c.HighContrast2=2]="HighContrast2",c[c.HighContrastBlack=3]="HighContrastBlack",c[c.HighContrastWhite=4]="HighContrastWhite",(d=e.MenuLocation||(e.MenuLocation={}))[d.Bottom=0]="Bottom",d[d.Top=1]="Top",(u=e.FiltersOperations||(e.FiltersOperations={}))[u.RemoveAll=0]="RemoveAll",u[u.ReplaceAll=1]="ReplaceAll",u[u.Add=2]="Add",u[u.Replace=3]="Replace",(s=e.FiltersLevel||(e.FiltersLevel={}))[s.Report=0]="Report",s[s.Page=1]="Page",s[s.Visual=2]="Visual",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",t[t.Identity=8]="Identity",t[t.Hierarchy=9]="Hierarchy"}(o=e.FilterType||(e.FilterType={})),(l=e.RelativeDateFilterTimeUnit||(e.RelativeDateFilterTimeUnit={}))[l.Days=0]="Days",l[l.Weeks=1]="Weeks",l[l.CalendarWeeks=2]="CalendarWeeks",l[l.Months=3]="Months",l[l.CalendarMonths=4]="CalendarMonths",l[l.Years=5]="Years",l[l.CalendarYears=6]="CalendarYears",l[l.Minutes=7]="Minutes",l[l.Hours=8]="Hours",(n=e.RelativeDateOperators||(e.RelativeDateOperators={}))[n.InLast=0]="InLast",n[n.InThis=1]="InThis",n[n.InNext=2]="InNext";var _=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=_;var T=function(t){function e(r,i,a){var n=t.call(this,r,o.Unknown)||this;return n.message=i,n.notSupportedTypeName=a,n.schemaUrl=e.schemaUrl,n}return a(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}(_);e.NotSupportedFilter=T;var E=function(t){function e(r,i,a){var n=t.call(this,r,o.IncludeExclude)||this;return n.values=a,n.isExclude=i,n.schemaUrl=e.schemaUrl,n}return a(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}(_);e.IncludeExcludeFilter=E;var F=function(t){function e(r,i,a,n){var l=t.call(this,r,o.TopN)||this;return l.operator=i,l.itemCount=a,l.schemaUrl=e.schemaUrl,l.orderBy=n,l}return a(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}(_);e.TopNFilter=F;var C=function(t){function e(r,i,a,n,l){var s=t.call(this,r,o.RelativeDate)||this;return s.operator=i,s.timeUnitsCount=a,s.timeUnitType=n,s.includeToday=l,s.schemaUrl=e.schemaUrl,s}return a(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}(_);e.RelativeDateFilter=C;var R=function(t){function e(r,i,a,n){var l=t.call(this,r,o.RelativeTime)||this;return l.operator=i,l.timeUnitsCount=a,l.timeUnitType=n,l.schemaUrl=e.schemaUrl,l}return a(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}(_);e.RelativeTimeFilter=R;var k=function(t){function e(r,i){for(var a=[],n=2;n0&&!a)throw new Error("You should pass the values to be filtered for each key. You passed: no values and ".concat(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,s=o.keyValues;l2)throw new Error("AdvancedFilters may not have more than two conditions. You passed: ".concat(a.length));if(1===l.length&&"And"!==i)throw new Error('Logical Operator must be "And" when there is only one condition provided');return s.conditions=l,s}return a(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}(_);e.AdvancedFilter=M;var L,I,q,D,N,B,U,H=function(t){function e(r,i){var a=t.call(this,r,o.Hierarchy)||this;return a.schemaUrl=e.schemaUrl,a.hierarchyData=i,a}return a(e,t),e.prototype.toJSON=function(){var e=t.prototype.toJSON.call(this);return e.hierarchyData=this.hierarchyData,e.target=this.target,e},e.schemaUrl="http://powerbi.com/product/schema#hierarchy",e}(_);function W(t){if(t.filterType)return t.filterType;var e=t,r=t;return"string"==typeof e.operator&&Array.isArray(e.values)?o.Basic:"string"==typeof r.logicalOperator&&Array.isArray(r.conditions)?o.Advanced:o.Unknown}function z(t){return!(!t.table||!t.column||t.aggregationFunction)}e.HierarchyFilter=H,e.isFilterKeyColumnsTarget=function(t){return z(t)&&!!t.keys},e.isBasicFilterWithKeys=function(t){return W(t)===o.Basic&&!!t.keyValues},e.getFilterType=W,e.isMeasure=function(t){return void 0!==t.table&&void 0!==t.measure},e.isColumn=z,e.isHierarchyLevel=function(t){return!(!(t.table&&t.hierarchy&&t.hierarchyLevel)||t.aggregationFunction)},e.isHierarchyLevelAggr=function(t){return!!(t.table&&t.hierarchy&&t.hierarchyLevel&&t.aggregationFunction)},e.isColumnAggr=function(t){return!!(t.table&&t.column&&t.aggregationFunction)},e.isPercentOfGrandTotal=function(t){return!!t.percentOfGrandTotal},(U=e.CredentialType||(e.CredentialType={}))[U.NoConnection=0]="NoConnection",U[U.OnBehalfOf=1]="OnBehalfOf",U[U.Anonymous=2]="Anonymous",(B=e.DataCacheMode||(e.DataCacheMode={}))[B.Import=0]="Import",B[B.DirectQuery=1]="DirectQuery",(N=e.PageNavigationPosition||(e.PageNavigationPosition={}))[N.Bottom=0]="Bottom",N[N.Left=1]="Left",(D=e.QnaMode||(e.QnaMode={}))[D.Interactive=0]="Interactive",D[D.ResultOnly=1]="ResultOnly",(q=e.ExportDataType||(e.ExportDataType={}))[q.Summarized=0]="Summarized",q[q.Underlying=1]="Underlying",(I=e.BookmarksPlayMode||(e.BookmarksPlayMode={}))[I.Off=0]="Off",I[I.Presentation=1]="Presentation",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"},(L=e.SortDirection||(e.SortDirection={}))[L.Ascending=1]="Ascending",L[L.Descending=2]="Descending";var Q=function(){function t(t){this.$schema=t}return t.prototype.toJSON=function(){return{$schema:this.$schema}},t}();e.Selector=Q;var G=function(t){function e(r){var i=t.call(this,e.schemaUrl)||this;return i.pageName=r,i}return a(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}(Q);e.PageSelector=G;var J=function(t){function e(r){var i=t.call(this,e.schemaUrl)||this;return i.visualName=r,i}return a(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}(Q);e.VisualSelector=J;var K=function(t){function e(e){var r=t.call(this,J.schemaUrl)||this;return r.visualType=e,r}return a(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}(Q);e.VisualTypeSelector=K;var Y,$,Z,X=function(t){function e(e){var r=t.call(this,J.schemaUrl)||this;return r.target=e,r}return a(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}(Q);function tt(t){return Array.isArray(t)}function et(t){return t&&!!t.groupName}function rt(t){return Array.isArray(t)}function it(t){var e=t.message;return e||(e="".concat(t.path," is invalid. Not meeting ").concat(t.keyword," constraint")),{message:e}}e.SlicerTargetSelector=X,(Z=e.CommandDisplayOption||(e.CommandDisplayOption={}))[Z.Enabled=0]="Enabled",Z[Z.Disabled=1]="Disabled",Z[Z.Hidden=2]="Hidden",($=e.VisualDataRoleKind||(e.VisualDataRoleKind={}))[$.Grouping=0]="Grouping",$[$.Measure=1]="Measure",$[$.GroupingOrMeasure=2]="GroupingOrMeasure",(Y=e.VisualDataRoleKindPreference||(e.VisualDataRoleKindPreference={}))[Y.Measure=0]="Measure",Y[Y.Grouping=1]="Grouping",e.isOnLoadFilters=function(t){return t&&!tt(t)},e.isReportFiltersArray=tt,e.isFlatMenuExtension=function(t){return t&&!et(t)},e.isGroupedMenuExtension=et,e.isIExtensions=function(t){return t&&!rt(t)},e.isIExtensionArray=rt,e.validateVisualSelector=function(t){var e=O.Validators.visualSelectorValidator.validate(t);return e?e.map(it):void 0},e.validateSlicer=function(t){var e=O.Validators.slicerValidator.validate(t);return e?e.map(it):void 0},e.validateSlicerState=function(t){var e=O.Validators.slicerStateValidator.validate(t);return e?e.map(it):void 0},e.validatePlayBookmarkRequest=function(t){var e=O.Validators.playBookmarkRequestValidator.validate(t);return e?e.map(it):void 0},e.validateAddBookmarkRequest=function(t){var e=O.Validators.addBookmarkRequestValidator.validate(t);return e?e.map(it):void 0},e.validateApplyBookmarkByNameRequest=function(t){var e=O.Validators.applyBookmarkByNameRequestValidator.validate(t);return e?e.map(it):void 0},e.validateApplyBookmarkStateRequest=function(t){var e=O.Validators.applyBookmarkStateRequestValidator.validate(t);return e?e.map(it):void 0},e.validateCaptureBookmarkRequest=function(t){var e=O.Validators.captureBookmarkRequestValidator.validate(t);return e?e.map(it):void 0},e.validateSettings=function(t){var e=O.Validators.settingsValidator.validate(t);return e?e.map(it):void 0},e.validatePanes=function(t){var e=O.Validators.reportPanesValidator.validate(t);return e?e.map(it):void 0},e.validateBookmarksPane=function(t){var e=O.Validators.bookmarksPaneValidator.validate(t);return e?e.map(it):void 0},e.validateFiltersPane=function(t){var e=O.Validators.filtersPaneValidator.validate(t);return e?e.map(it):void 0},e.validateFieldsPane=function(t){var e=O.Validators.fieldsPaneValidator.validate(t);return e?e.map(it):void 0},e.validatePageNavigationPane=function(t){var e=O.Validators.pageNavigationPaneValidator.validate(t);return e?e.map(it):void 0},e.validateSelectionPane=function(t){var e=O.Validators.selectionPaneValidator.validate(t);return e?e.map(it):void 0},e.validateSyncSlicersPane=function(t){var e=O.Validators.syncSlicersPaneValidator.validate(t);return e?e.map(it):void 0},e.validateVisualizationsPane=function(t){var e=O.Validators.visualizationsPaneValidator.validate(t);return e?e.map(it):void 0},e.validateCustomPageSize=function(t){var e=O.Validators.customPageSizeValidator.validate(t);return e?e.map(it):void 0},e.validateExtension=function(t){var e=O.Validators.extensionValidator.validate(t);return e?e.map(it):void 0},e.validateMenuGroupExtension=function(t){var e=O.Validators.menuGroupExtensionValidator.validate(t);return e?e.map(it):void 0},e.validateReportLoad=function(t){var e=O.Validators.reportLoadValidator.validate(t);return e?e.map(it):void 0},e.validatePaginatedReportLoad=function(t){var e=O.Validators.paginatedReportLoadValidator.validate(t);return e?e.map(it):void 0},e.validateCreateReport=function(t){var e=O.Validators.reportCreateValidator.validate(t);return e?e.map(it):void 0},e.validateQuickCreate=function(t){var e=O.Validators.quickCreateValidator.validate(t);return e?e.map(it):void 0},e.validateDashboardLoad=function(t){var e=O.Validators.dashboardLoadValidator.validate(t);return e?e.map(it):void 0},e.validateTileLoad=function(t){var e=O.Validators.tileLoadValidator.validate(t);return e?e.map(it):void 0},e.validatePage=function(t){var e=O.Validators.pageValidator.validate(t);return e?e.map(it):void 0},e.validateFilter=function(t){var e=O.Validators.filterValidator.validate(t);return e?e.map(it):void 0},e.validateUpdateFiltersRequest=function(t){var e=O.Validators.updateFiltersRequestValidator.validate(t);return e?e.map(it):void 0},e.validateSaveAsParameters=function(t){var e=O.Validators.saveAsParametersValidator.validate(t);return e?e.map(it):void 0},e.validateLoadQnaConfiguration=function(t){var e=O.Validators.loadQnaValidator.validate(t);return e?e.map(it):void 0},e.validateQnaInterpretInputData=function(t){var e=O.Validators.qnaInterpretInputDataValidator.validate(t);return e?e.map(it):void 0},e.validateExportDataRequest=function(t){var e=O.Validators.exportDataRequestValidator.validate(t);return e?e.map(it):void 0},e.validateVisualHeader=function(t){var e=O.Validators.visualHeaderValidator.validate(t);return e?e.map(it):void 0},e.validateVisualSettings=function(t){var e=O.Validators.visualSettingsValidator.validate(t);return e?e.map(it):void 0},e.validateCommandsSettings=function(t){var e=O.Validators.commandsSettingsValidator.validate(t);return e?e.map(it):void 0},e.validateCustomTheme=function(t){var e=O.Validators.customThemeValidator.validate(t);return e?e.map(it):void 0},e.validateZoomLevel=function(t){var e=O.Validators.zoomLevelValidator.validate(t);return e?e.map(it):void 0}},(t,e,r)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.Validators=void 0;var i=r(2),a=r(5),o=r(6),n=r(7),l=r(8),s=r(9),u=r(10),d=r(11),c=r(12),p=r(13),f=r(14),h=r(15),v=r(16),y=r(17),m=r(18),V=r(19),g=r(20),b=r(21),w=r(22),P=r(23),S=r(24),O=r(25),_=r(26),T=r(27),E=r(28),F=r(29),C=r(4),R=r(30),k=r(31),x=r(32);e.Validators={addBookmarkRequestValidator:new a.AddBookmarkRequestValidator,advancedFilterTypeValidator:new C.EnumValidator([0]),advancedFilterValidator:new c.AdvancedFilterValidator,anyArrayValidator:new C.ArrayValidator([new _.AnyOfValidator([new C.StringValidator,new C.NumberValidator,new C.BooleanValidator])]),anyFilterValidator:new _.AnyOfValidator([new c.BasicFilterValidator,new c.AdvancedFilterValidator,new c.IncludeExcludeFilterValidator,new c.NotSupportedFilterValidator,new c.RelativeDateFilterValidator,new c.TopNFilterValidator,new c.RelativeTimeFilterValidator,new c.HierarchyFilterValidator]),anyValueValidator:new _.AnyOfValidator([new C.StringValidator,new C.NumberValidator,new C.BooleanValidator]),actionBarValidator:new i.ActionBarValidator,statusBarValidator:new i.StatusBarValidator,applyBookmarkByNameRequestValidator:new a.ApplyBookmarkByNameRequestValidator,applyBookmarkStateRequestValidator:new a.ApplyBookmarkStateRequestValidator,applyBookmarkValidator:new _.AnyOfValidator([new a.ApplyBookmarkByNameRequestValidator,new a.ApplyBookmarkStateRequestValidator]),backgroundValidator:new C.EnumValidator([0,1]),basicFilterTypeValidator:new C.EnumValidator([1]),basicFilterValidator:new c.BasicFilterValidator,booleanArrayValidator:new C.BooleanArrayValidator,booleanValidator:new C.BooleanValidator,bookmarksPaneValidator:new h.BookmarksPaneValidator,captureBookmarkOptionsValidator:new a.CaptureBookmarkOptionsValidator,captureBookmarkRequestValidator:new a.CaptureBookmarkRequestValidator,columnSchemaArrayValidator:new C.ArrayValidator([new k.ColumnSchemaValidator]),commandDisplayOptionValidator:new C.EnumValidator([0,1,2]),commandExtensionSelectorValidator:new _.AnyOfValidator([new b.VisualSelectorValidator,new b.VisualTypeSelectorValidator]),commandExtensionArrayValidator:new C.ArrayValidator([new d.CommandExtensionValidator]),commandExtensionValidator:new d.CommandExtensionValidator,commandsSettingsArrayValidator:new C.ArrayValidator([new o.CommandsSettingsValidator]),commandsSettingsValidator:new o.CommandsSettingsValidator,conditionItemValidator:new c.ConditionItemValidator,contrastModeValidator:new C.EnumValidator([0,1,2,3,4]),credentialDetailsValidator:new F.MapValidator([new C.StringValidator],[new C.StringValidator]),credentialsValidator:new k.CredentialsValidator,credentialTypeValidator:new C.EnumValidator([0,1,2]),customLayoutDisplayOptionValidator:new C.EnumValidator([0,1,2]),customLayoutValidator:new p.CustomLayoutValidator,customPageSizeValidator:new f.CustomPageSizeValidator,customThemeValidator:new n.CustomThemeValidator,dashboardLoadValidator:new l.DashboardLoadValidator,dataCacheModeValidator:new C.EnumValidator([0,1]),datasetBindingValidator:new s.DatasetBindingValidator,datasetCreateConfigValidator:new k.DatasetCreateConfigValidator,datasourceConnectionConfigValidator:new k.DatasourceConnectionConfigValidator,displayStateModeValidator:new C.EnumValidator([0,1]),displayStateValidator:new p.DisplayStateValidator,exportDataRequestValidator:new u.ExportDataRequestValidator,extensionArrayValidator:new C.ArrayValidator([new d.ExtensionValidator]),extensionsValidator:new _.AnyOfValidator([new C.ArrayValidator([new d.ExtensionValidator]),new d.ExtensionsValidator]),extensionPointsValidator:new d.ExtensionPointsValidator,extensionValidator:new d.ExtensionValidator,fieldForbiddenValidator:new T.FieldForbiddenValidator,fieldRequiredValidator:new E.FieldRequiredValidator,fieldsPaneValidator:new h.FieldsPaneValidator,filterColumnTargetValidator:new c.FilterColumnTargetValidator,filterDisplaySettingsValidator:new c.FilterDisplaySettingsValidator,filterConditionsValidator:new C.ArrayValidator([new c.ConditionItemValidator]),filterHierarchyTargetValidator:new c.FilterHierarchyTargetValidator,filterMeasureTargetValidator:new c.FilterMeasureTargetValidator,filterTargetValidator:new _.AnyOfValidator([new c.FilterColumnTargetValidator,new c.FilterHierarchyTargetValidator,new c.FilterMeasureTargetValidator,new C.ArrayValidator([new _.AnyOfValidator([new c.FilterColumnTargetValidator,new c.FilterHierarchyTargetValidator,new c.FilterMeasureTargetValidator,new c.FilterKeyColumnsTargetValidator,new c.FilterKeyHierarchyTargetValidator])])]),filterValidator:new c.FilterValidator,filterTypeValidator:new C.EnumValidator([0,1,2,3,4,5,6,7,9]),filtersArrayValidator:new C.ArrayValidator([new c.FilterValidator]),filtersOperationsUpdateValidator:new C.EnumValidator([1,2,3]),filtersOperationsRemoveAllValidator:new C.EnumValidator([0]),filtersPaneValidator:new h.FiltersPaneValidator,hyperlinkClickBehaviorValidator:new C.EnumValidator([0,1,2]),includeExcludeFilterValidator:new c.IncludeExcludeFilterValidator,includeExludeFilterTypeValidator:new C.EnumValidator([3]),hierarchyFilterTypeValidator:new C.EnumValidator([9]),hierarchyFilterValuesValidator:new C.ArrayValidator([new c.HierarchyFilterNodeValidator]),layoutTypeValidator:new C.EnumValidator([0,1,2,3]),loadQnaValidator:new v.LoadQnaValidator,menuExtensionValidator:new _.AnyOfValidator([new d.FlatMenuExtensionValidator,new d.GroupedMenuExtensionValidator]),menuGroupExtensionArrayValidator:new C.ArrayValidator([new d.MenuGroupExtensionValidator]),menuGroupExtensionValidator:new d.MenuGroupExtensionValidator,menuLocationValidator:new C.EnumValidator([0,1]),notSupportedFilterTypeValidator:new C.EnumValidator([2]),notSupportedFilterValidator:new c.NotSupportedFilterValidator,numberArrayValidator:new C.NumberArrayValidator,numberValidator:new C.NumberValidator,onLoadFiltersBaseValidator:new _.AnyOfValidator([new c.OnLoadFiltersBaseValidator,new c.OnLoadFiltersBaseRemoveOperationValidator]),pageLayoutValidator:new F.MapValidator([new C.StringValidator],[new p.VisualLayoutValidator]),pageNavigationPaneValidator:new h.PageNavigationPaneValidator,pageNavigationPositionValidator:new C.EnumValidator([0,1]),pageSizeTypeValidator:new C.EnumValidator([0,1,2,3,4,5]),pageSizeValidator:new f.PageSizeValidator,pageValidator:new f.PageValidator,pageViewFieldValidator:new f.PageViewFieldValidator,pagesLayoutValidator:new F.MapValidator([new C.StringValidator],[new p.PageLayoutValidator]),paginatedReportCommandsValidator:new o.PaginatedReportCommandsValidator,paginatedReportLoadValidator:new V.PaginatedReportLoadValidator,paginatedReportsettingsValidator:new w.PaginatedReportSettingsValidator,parameterValuesArrayValidator:new C.ArrayValidator([new V.ReportParameterFieldsValidator]),parametersPanelValidator:new R.ParametersPanelValidator,permissionsValidator:new C.EnumValidator([0,1,2,4,7]),playBookmarkRequestValidator:new a.PlayBookmarkRequestValidator,qnaInterpretInputDataValidator:new v.QnaInterpretInputDataValidator,qnaPanesValidator:new h.QnaPanesValidator,qnaSettingValidator:new v.QnaSettingsValidator,quickCreateValidator:new x.QuickCreateValidator,rawDataValidator:new C.ArrayValidator([new C.ArrayValidator([new C.StringValidator])]),relativeDateFilterOperatorValidator:new C.EnumValidator([0,1,2]),relativeDateFilterTimeUnitTypeValidator:new C.EnumValidator([0,1,2,3,4,5,6]),relativeDateFilterTypeValidator:new C.EnumValidator([4]),relativeDateFilterValidator:new c.RelativeDateFilterValidator,relativeDateTimeFilterTypeValidator:new C.EnumValidator([4,7]),relativeDateTimeFilterUnitTypeValidator:new C.EnumValidator([0,1,2,3,4,5,6,7,8]),relativeTimeFilterTimeUnitTypeValidator:new C.EnumValidator([7,8]),relativeTimeFilterTypeValidator:new C.EnumValidator([7]),relativeTimeFilterValidator:new c.RelativeTimeFilterValidator,reportBarsValidator:new i.ReportBarsValidator,reportCreateValidator:new y.ReportCreateValidator,reportLoadFiltersValidator:new _.AnyOfValidator([new C.ArrayValidator([new c.FilterValidator]),new c.OnLoadFiltersValidator]),reportLoadValidator:new m.ReportLoadValidator,reportPanesValidator:new h.ReportPanesValidator,saveAsParametersValidator:new g.SaveAsParametersValidator,selectionPaneValidator:new h.SelectionPaneValidator,settingsValidator:new w.SettingsValidator,singleCommandSettingsValidator:new o.SingleCommandSettingsValidator,slicerSelectorValidator:new _.AnyOfValidator([new b.VisualSelectorValidator,new b.SlicerTargetSelectorValidator]),slicerStateValidator:new P.SlicerStateValidator,slicerTargetValidator:new _.AnyOfValidator([new c.FilterColumnTargetValidator,new c.FilterHierarchyTargetValidator,new c.FilterMeasureTargetValidator,new c.FilterKeyColumnsTargetValidator,new c.FilterKeyHierarchyTargetValidator]),slicerValidator:new P.SlicerValidator,stringArrayValidator:new C.StringArrayValidator,stringValidator:new C.StringValidator,syncSlicersPaneValidator:new h.SyncSlicersPaneValidator,tableDataArrayValidator:new C.ArrayValidator([new k.TableDataValidator]),tableSchemaListValidator:new C.ArrayValidator([new k.TableSchemaValidator]),tileLoadValidator:new S.TileLoadValidator,tokenTypeValidator:new C.EnumValidator([0,1]),topNFilterTypeValidator:new C.EnumValidator([5]),topNFilterValidator:new c.TopNFilterValidator,updateFiltersRequestValidator:new _.AnyOfValidator([new c.UpdateFiltersRequestValidator,new c.RemoveFiltersRequestValidator]),viewModeValidator:new C.EnumValidator([0,1]),visualCommandSelectorValidator:new _.AnyOfValidator([new b.VisualSelectorValidator,new b.VisualTypeSelectorValidator]),visualHeaderSelectorValidator:new _.AnyOfValidator([new b.VisualSelectorValidator,new b.VisualTypeSelectorValidator]),visualHeaderSettingsValidator:new O.VisualHeaderSettingsValidator,visualHeaderValidator:new O.VisualHeaderValidator,visualHeadersValidator:new C.ArrayValidator([new O.VisualHeaderValidator]),visualizationsPaneValidator:new h.VisualizationsPaneValidator,visualLayoutValidator:new p.VisualLayoutValidator,visualSelectorValidator:new b.VisualSelectorValidator,visualSettingsValidator:new O.VisualSettingsValidator,visualTypeSelectorValidator:new b.VisualTypeSelectorValidator,zoomLevelValidator:new C.RangeValidator(.25,4)}},function(t,e,r){var i,a=this&&this.__extends||(i=function(t,e){return i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},i(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.StatusBarValidator=e.ActionBarValidator=e.ReportBarsValidator=void 0;var o=r(3),n=r(4),l=r(1),s=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return a(e,t),e.prototype.validate=function(e,r,i){if(null==e)return null;var a=t.prototype.validate.call(this,e,r,i);if(a)return a;var n=[{field:"actionBar",validators:[l.Validators.actionBarValidator]},{field:"statusBar",validators:[l.Validators.statusBarValidator]}];return new o.MultipleFieldsValidator(n).validate(e,r,i)},e}(n.ObjectValidator);e.ReportBarsValidator=s;var u=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return a(e,t),e.prototype.validate=function(e,r,i){if(null==e)return null;var a=t.prototype.validate.call(this,e,r,i);if(a)return a;var n=[{field:"visible",validators:[l.Validators.booleanValidator]}];return new o.MultipleFieldsValidator(n).validate(e,r,i)},e}(n.ObjectValidator);e.ActionBarValidator=u;var d=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return a(e,t),e.prototype.validate=function(e,r,i){if(null==e)return null;var a=t.prototype.validate.call(this,e,r,i);if(a)return a;var n=[{field:"visible",validators:[l.Validators.booleanValidator]}];return new o.MultipleFieldsValidator(n).validate(e,r,i)},e}(n.ObjectValidator);e.StatusBarValidator=d},(t,e)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.MultipleFieldsValidator=void 0;var r=function(){function t(t){this.fieldValidatorsPairs=t}return t.prototype.validate=function(t,e,r){if(!this.fieldValidatorsPairs)return null;for(var i=e?e+"."+r:r,a=0,o=this.fieldValidatorsPairs;athis.maxValue||e{Object.defineProperty(e,"__esModule",{value:!0}),e.AnyOfValidator=void 0;var r=function(){function t(t){this.validators=t}return t.prototype.validate=function(t,e,r){if(null==t)return null;for(var i=!1,a=0,o=this.validators;a{Object.defineProperty(e,"__esModule",{value:!0}),e.FieldForbiddenValidator=void 0;var r=function(){function t(){}return t.prototype.validate=function(t,e,r){return void 0!==t?[{message:r+" is forbidden",path:(e?e+".":"")+r,keyword:"forbidden"}]:null},t}();e.FieldForbiddenValidator=r},(t,e)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.FieldRequiredValidator=void 0;var r=function(){function t(){}return t.prototype.validate=function(t,e,r){return null==t?[{message:r+" is required",path:(e?e+".":"")+r,keyword:"required"}]:null},t}();e.FieldRequiredValidator=r},function(t,e,r){var i,a=this&&this.__extends||(i=function(t,e){return i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},i(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.MapValidator=void 0;var o=function(t){function e(e,r){var i=t.call(this)||this;return i.keyValidators=e,i.valueValidators=r,i}return a(e,t),e.prototype.validate=function(e,r,i){if(null==e)return null;var a=t.prototype.validate.call(this,e,r,i);if(a)return a;for(var o in e)if(e.hasOwnProperty(o)){for(var n=(r?r+".":"")+i+"."+o,l=0,s=this.keyValidators;l2&&"[]"===n.slice(l-2)&&(s=!0,r[n=n.slice(0,l-2)]||(r[n]=[])),a=o[1]?g(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(-1!==(i=t.indexOf("?"))){var l=t.substr(i+1,t.length);t=t.substr(0,i),o=this.parseQueryString(l)}for("/"!==(t=decodeURI(t)).charAt(0)&&(t="/"+t),(e=t.length)>1&&"/"===t.charAt(e-1)&&(t=t.substr(0,e-1),n=!0),r=0;r{Object.defineProperty(e,"__esModule",{value:!0}),e.FilterBuilder=void 0;var r=function(){function t(){}return t.prototype.withTargetObject=function(t){return this.target=t,this},t.prototype.withColumnTarget=function(t,e){return this.target={table:t,column:e},this},t.prototype.withMeasureTarget=function(t,e){return this.target={table:t,measure:e},this},t.prototype.withHierarchyLevelTarget=function(t,e,r){return this.target={table:t,hierarchy:e,hierarchyLevel:r},this},t.prototype.withColumnAggregation=function(t,e,r){return this.target={table:t,column:e,aggregationFunction:r},this},t.prototype.withHierarchyLevelAggregationTarget=function(t,e,r,i){return this.target={table:t,hierarchy:e,hierarchyLevel:r,aggregationFunction:i},this},t}();e.FilterBuilder=r},567:(t,e,r)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.RelativeTimeFilterBuilder=e.RelativeDateFilterBuilder=e.TopNFilterBuilder=e.AdvancedFilterBuilder=e.BasicFilterBuilder=void 0;var i=r(153);Object.defineProperty(e,"BasicFilterBuilder",{enumerable:!0,get:function(){return i.BasicFilterBuilder}});var a=r(674);Object.defineProperty(e,"AdvancedFilterBuilder",{enumerable:!0,get:function(){return a.AdvancedFilterBuilder}});var o=r(664);Object.defineProperty(e,"TopNFilterBuilder",{enumerable:!0,get:function(){return o.TopNFilterBuilder}});var n=r(844);Object.defineProperty(e,"RelativeDateFilterBuilder",{enumerable:!0,get:function(){return n.RelativeDateFilterBuilder}});var l=r(275);Object.defineProperty(e,"RelativeTimeFilterBuilder",{enumerable:!0,get:function(){return l.RelativeTimeFilterBuilder}})},844:function(t,e,r){var i,a=this&&this.__extends||(i=function(t,e){return i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},i(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.RelativeDateFilterBuilder=void 0;var o=r(149),n=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.isTodayIncluded=!0,e}return a(e,t),e.prototype.inLast=function(t,e){return this.operator=o.RelativeDateOperators.InLast,this.timeUnitsCount=t,this.timeUnitType=e,this},e.prototype.inThis=function(t,e){return this.operator=o.RelativeDateOperators.InThis,this.timeUnitsCount=t,this.timeUnitType=e,this},e.prototype.inNext=function(t,e){return this.operator=o.RelativeDateOperators.InNext,this.timeUnitsCount=t,this.timeUnitType=e,this},e.prototype.includeToday=function(t){return this.isTodayIncluded=t,this},e.prototype.build=function(){return new o.RelativeDateFilter(this.target,this.operator,this.timeUnitsCount,this.timeUnitType,this.isTodayIncluded)},e}(r(277).FilterBuilder);e.RelativeDateFilterBuilder=n},275:function(t,e,r){var i,a=this&&this.__extends||(i=function(t,e){return i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},i(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.RelativeTimeFilterBuilder=void 0;var o=r(149),n=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return a(e,t),e.prototype.inLast=function(t,e){return this.operator=o.RelativeDateOperators.InLast,this.timeUnitsCount=t,this.timeUnitType=e,this},e.prototype.inThis=function(t,e){return this.operator=o.RelativeDateOperators.InThis,this.timeUnitsCount=t,this.timeUnitType=e,this},e.prototype.inNext=function(t,e){return this.operator=o.RelativeDateOperators.InNext,this.timeUnitsCount=t,this.timeUnitType=e,this},e.prototype.build=function(){return new o.RelativeTimeFilter(this.target,this.operator,this.timeUnitsCount,this.timeUnitType)},e}(r(277).FilterBuilder);e.RelativeTimeFilterBuilder=n},664:function(t,e,r){var i,a=this&&this.__extends||(i=function(t,e){return i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},i(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.TopNFilterBuilder=void 0;var o=r(149),n=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return a(e,t),e.prototype.top=function(t){return this.operator="Top",this.itemCount=t,this},e.prototype.bottom=function(t){return this.operator="Bottom",this.itemCount=t,this},e.prototype.orderByTarget=function(t){return this.orderByTargetValue=t,this},e.prototype.build=function(){return new o.TopNFilter(this.target,this.operator,this.itemCount,this.orderByTargetValue)},e}(r(277).FilterBuilder);e.TopNFilterBuilder=n},460:function(t,e,r){var i=this&&this.__awaiter||function(t,e,r,i){return new(r||(r=Promise))((function(a,o){function n(t){try{s(i.next(t))}catch(t){o(t)}}function l(t){try{s(i.throw(t))}catch(t){o(t)}}function s(t){var e;t.done?a(t.value):(e=t.value,e instanceof r?e:new r((function(t){t(e)}))).then(n,l)}s((i=i.apply(t,e||[])).next())}))},a=this&&this.__generator||function(t,e){var r,i,a,o,n={label:0,sent:function(){if(1&a[0])throw a[1];return a[1]},trys:[],ops:[]};return o={next:l(0),throw:l(1),return:l(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function l(o){return function(l){return function(o){if(r)throw new TypeError("Generator is already executing.");for(;n;)try{if(r=1,i&&(a=2&o[0]?i.return:o[0]?i.throw||((a=i.return)&&a.call(i),0):i.next)&&!(a=a.call(i,o[1])).done)return a;switch(i=0,a&&(o=[2&o[0],a.value]),o[0]){case 0:case 1:a=o;break;case 4:return n.label++,{value:o[1],done:!1};case 5:n.label++,i=o[1],o=[0];continue;case 7:o=n.ops.pop(),n.trys.pop();continue;default:if(!((a=(a=n.trys).length>0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]{Object.defineProperty(e,"__esModule",{value:!0}),e.default={version:"2.22.3",type:"js"}},536:function(t,e,r){var i,a=this&&this.__extends||(i=function(t,e){return i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},i(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}),o=this&&this.__awaiter||function(t,e,r,i){return new(r||(r=Promise))((function(a,o){function n(t){try{s(i.next(t))}catch(t){o(t)}}function l(t){try{s(i.throw(t))}catch(t){o(t)}}function s(t){var e;t.done?a(t.value):(e=t.value,e instanceof r?e:new r((function(t){t(e)}))).then(n,l)}s((i=i.apply(t,e||[])).next())}))},n=this&&this.__generator||function(t,e){var r,i,a,o,n={label:0,sent:function(){if(1&a[0])throw a[1];return a[1]},trys:[],ops:[]};return o={next:l(0),throw:l(1),return:l(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function l(o){return function(l){return function(o){if(r)throw new TypeError("Generator is already executing.");for(;n;)try{if(r=1,i&&(a=2&o[0]?i.return:o[0]?i.throw||((a=i.return)&&a.call(i),0):i.next)&&!(a=a.call(i,o[1])).done)return a;switch(i=0,a&&(o=[2&o[0],a.value]),o[0]){case 0:case 1:a=o;break;case 4:return n.label++,{value:o[1],done:!1};case 5:n.label++,i=o[1],o=[0];continue;case 7:o=n.ops.pop(),n.trys.pop();continue;default:if(!((a=(a=n.trys).length>0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]{Object.defineProperty(e,"__esModule",{value:!0}),e.EmbedUrlNotSupported=e.APINotSupportedForRDLError=void 0,e.APINotSupportedForRDLError="This API is currently not supported for RDL reports",e.EmbedUrlNotSupported="Embed URL is invalid for this scenario. Please use Power BI REST APIs to get the valid URL"},357:(t,e,r)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.routerFactory=e.wpmpFactory=e.hpmFactory=void 0;var i=r(903),a=r(615),o=r(891),n=r(913);e.hpmFactory=function(t,e,r,i,o){return void 0===r&&(r=n.default.version),void 0===i&&(i=n.default.type),new a.HttpPostMessage(t,{"x-sdk-type":i,"x-sdk-version":r,"x-sdk-wrapper-version":o},e)},e.wpmpFactory=function(t,e,r){return new i.WindowPostMessageProxy({processTrackingProperties:{addTrackingProperties:a.HttpPostMessage.addTrackingProperties,getTrackingProperties:a.HttpPostMessage.getTrackingProperties},isErrorMessage:a.HttpPostMessage.isErrorMessage,suppressWarnings:!0,name:t,logMessages:e,eventSourceOverrideWindow:r})},e.routerFactory=function(t){return new o.Router(t)}},220:function(t,e,r){var i=this&&this.__awaiter||function(t,e,r,i){return new(r||(r=Promise))((function(a,o){function n(t){try{s(i.next(t))}catch(t){o(t)}}function l(t){try{s(i.throw(t))}catch(t){o(t)}}function s(t){var e;t.done?a(t.value):(e=t.value,e instanceof r?e:new r((function(t){t(e)}))).then(n,l)}s((i=i.apply(t,e||[])).next())}))},a=this&&this.__generator||function(t,e){var r,i,a,o,n={label:0,sent:function(){if(1&a[0])throw a[1];return a[1]},trys:[],ops:[]};return o={next:l(0),throw:l(1),return:l(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function l(o){return function(l){return function(o){if(r)throw new TypeError("Generator is already executing.");for(;n;)try{if(r=1,i&&(a=2&o[0]?i.return:o[0]?i.throw||((a=i.return)&&a.call(i),0):i.next)&&!(a=a.call(i,o[1])).done)return a;switch(i=0,a&&(o=[2&o[0],a.value]),o[0]){case 0:case 1:a=o;break;case 4:return n.label++,{value:o[1],done:!1};case 5:n.label++,i=o[1],o=[0];continue;case 7:o=n.ops.pop(),n.trys.pop();continue;default:if(!((a=(a=n.trys).length>0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0?"&":"?";return t+(i+e+"=")+r},e.isSavedInternal=function(t,e,a){return r(this,void 0,void 0,(function(){return i(this,(function(r){switch(r.label){case 0:return r.trys.push([0,2,,3]),[4,t.get("/report/hasUnsavedChanges",{uid:e},a)];case 1:return[2,!r.sent().body];case 2:throw r.sent().body;case 3:return[2]}}))}))},e.isRDLEmbed=function(t){return t&&t.toLowerCase().indexOf("/rdlembed?")>=0},e.autoAuthInEmbedUrl=function(t){return t&&decodeURIComponent(t).toLowerCase().indexOf("autoauth=true")>=0},e.getRandomValue=o,e.getTimeDiffInMilliseconds=function(t,e){return Math.abs(t.getTime()-e.getTime())},e.isCreate=function(t){return"create"===t||"quickcreate"===t}},23:function(t,e,r){var i,a=this&&this.__extends||(i=function(t,e){return i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},i(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}),o=this&&this.__awaiter||function(t,e,r,i){return new(r||(r=Promise))((function(a,o){function n(t){try{s(i.next(t))}catch(t){o(t)}}function l(t){try{s(i.throw(t))}catch(t){o(t)}}function s(t){var e;t.done?a(t.value):(e=t.value,e instanceof r?e:new r((function(t){t(e)}))).then(n,l)}s((i=i.apply(t,e||[])).next())}))},n=this&&this.__generator||function(t,e){var r,i,a,o,n={label:0,sent:function(){if(1&a[0])throw a[1];return a[1]},trys:[],ops:[]};return o={next:l(0),throw:l(1),return:l(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function l(o){return function(l){return function(o){if(r)throw new TypeError("Generator is already executing.");for(;n;)try{if(r=1,i&&(a=2&o[0]?i.return:o[0]?i.throw||((a=i.return)&&a.call(i),0):i.next)&&!(a=a.call(i,o[1])).done)return a;switch(i=0,a&&(o=[2&o[0],a.value]),o[0]){case 0:case 1:a=o;break;case 4:return n.label++,{value:o[1],done:!1};case 5:n.label++,i=o[1],o=[0];continue;case 7:o=n.ops.pop(),n.trys.pop();continue;default:if(!((a=(a=n.trys).length>0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]{var e;self,e=()=>(()=>{"use strict";var t={};return(()=>{var e=t;Object.defineProperty(e,"__esModule",{value:!0}),e.WindowPostMessageProxy=void 0;var r=function(){function t(e){void 0===e&&(e={processTrackingProperties:{addTrackingProperties:t.defaultAddTrackingProperties,getTrackingProperties:t.defaultGetTrackingProperties},isErrorMessage:t.defaultIsErrorMessage,receiveWindow:window,name:t.createRandomString()});var r=this;this.pendingRequestPromises={},this.addTrackingProperties=e.processTrackingProperties&&e.processTrackingProperties.addTrackingProperties||t.defaultAddTrackingProperties,this.getTrackingProperties=e.processTrackingProperties&&e.processTrackingProperties.getTrackingProperties||t.defaultGetTrackingProperties,this.isErrorMessage=e.isErrorMessage||t.defaultIsErrorMessage,this.receiveWindow=e.receiveWindow||window,this.name=e.name||t.createRandomString(),this.logMessages=e.logMessages||!1,this.eventSourceOverrideWindow=e.eventSourceOverrideWindow,this.suppressWarnings=e.suppressWarnings||!1,this.logMessages&&console.log("new WindowPostMessageProxy created with name: ".concat(this.name," receiving on window: ").concat(this.receiveWindow.document.title)),this.handlers=[],this.windowMessageHandler=function(t){return r.onMessageReceived(t)},this.start()}return t.defaultAddTrackingProperties=function(e,r){return e[t.messagePropertyName]=r,e},t.defaultGetTrackingProperties=function(e){return e[t.messagePropertyName]},t.defaultIsErrorMessage=function(t){return!!t.error},t.createDeferred=function(){var t={resolve:null,reject:null,promise:null},e=new Promise((function(e,r){t.resolve=e,t.reject=r}));return t.promise=e,t},t.createRandomString=function(){var t=window.crypto||window.msCrypto,e=new Uint32Array(1);return t.getRandomValues(e),e[0].toString(36).substring(1)},t.prototype.addHandler=function(t){this.handlers.push(t)},t.prototype.removeHandler=function(t){var e=this.handlers.indexOf(t);if(-1===e)throw new Error("You attempted to remove a handler but no matching handler was found.");this.handlers.splice(e,1)},t.prototype.start=function(){this.receiveWindow.addEventListener("message",this.windowMessageHandler)},t.prototype.stop=function(){this.receiveWindow.removeEventListener("message",this.windowMessageHandler)},t.prototype.postMessage=function(e,r){var i={id:t.createRandomString()};this.addTrackingProperties(r,i),this.logMessages&&(console.log("".concat(this.name," Posting message:")),console.log(JSON.stringify(r,null," "))),e.postMessage(r,"*");var a=t.createDeferred();return this.pendingRequestPromises[i.id]=a,a.promise},t.prototype.sendResponse=function(t,e,r){this.addTrackingProperties(e,r),this.logMessages&&(console.log("".concat(this.name," Sending response:")),console.log(JSON.stringify(e,null," "))),t.postMessage(e,"*")},t.prototype.onMessageReceived=function(t){var e=this;this.logMessages&&(console.log("".concat(this.name," Received message:")),console.log("type: ".concat(t.type)),console.log(JSON.stringify(t.data,null," ")));var r=this.eventSourceOverrideWindow||t.source;if(r){var i=t.data;if("object"==typeof i){var a,o;try{a=this.getTrackingProperties(i)}catch(t){this.suppressWarnings||console.warn("Proxy(".concat(this.name,"): Error occurred when attempting to get tracking properties from incoming message:"),JSON.stringify(i,null," "),"Error: ",t)}if(a&&(o=this.pendingRequestPromises[a.id]),o){var n=!0;try{n=this.isErrorMessage(i)}catch(t){console.warn("Proxy(".concat(this.name,") Error occurred when trying to determine if message is consider an error response. Message: "),JSON.stringify(i,null,""),"Error: ",t)}n?o.reject(i):o.resolve(i),delete this.pendingRequestPromises[a.id]}else this.handlers.some((function(t){var o=!1;try{o=t.test(i)}catch(t){e.suppressWarnings||console.warn("Proxy(".concat(e.name,"): Error occurred when handler was testing incoming message:"),JSON.stringify(i,null," "),"Error: ",t)}if(o){var n=void 0;try{n=Promise.resolve(t.handle(i))}catch(t){e.suppressWarnings||console.warn("Proxy(".concat(e.name,"): Error occurred when handler was processing incoming message:"),JSON.stringify(i,null," "),"Error: ",t),n=Promise.resolve()}return n.then((function(t){if(!t){var o="Handler for message: ".concat(JSON.stringify(i,null," ")," did not return a response message. The default response message will be returned instead.");e.suppressWarnings||console.warn("Proxy(".concat(e.name,"): ").concat(o)),t={warning:o}}e.sendResponse(r,t,a)})),!0}}))||this.suppressWarnings||console.warn("Proxy(".concat(this.name,") did not handle message. Handlers: ").concat(this.handlers.length," Message: ").concat(JSON.stringify(i,null,""),"."))}else this.suppressWarnings||console.warn("Proxy(".concat(this.name,"): Received message that was not an object. Discarding message"))}},t.messagePropertyName="windowPostMessageProxy",t}();e.WindowPostMessageProxy=r})(),t})(),t.exports=e()}},e={};function r(i){var a=e[i];if(void 0!==a)return a.exports;var o=e[i]={exports:{}};return t[i].call(o.exports,o,o.exports,r),o.exports}var i={};return(()=>{var t=i;Object.defineProperty(t,"__esModule",{value:!0}),t.RelativeTimeFilterBuilder=t.RelativeDateFilterBuilder=t.TopNFilterBuilder=t.AdvancedFilterBuilder=t.BasicFilterBuilder=t.Create=t.QuickCreate=t.VisualDescriptor=t.Visual=t.Qna=t.Page=t.Embed=t.Tile=t.Dashboard=t.Report=t.models=t.factories=t.service=void 0;var e=r(149);t.models=e;var a=r(562);t.service=a;var o=r(357);t.factories=o;var n=r(125);Object.defineProperty(t,"Report",{enumerable:!0,get:function(){return n.Report}});var l=r(365);Object.defineProperty(t,"Dashboard",{enumerable:!0,get:function(){return l.Dashboard}});var s=r(43);Object.defineProperty(t,"Tile",{enumerable:!0,get:function(){return s.Tile}});var u=r(932);Object.defineProperty(t,"Embed",{enumerable:!0,get:function(){return u.Embed}});var d=r(220);Object.defineProperty(t,"Page",{enumerable:!0,get:function(){return d.Page}});var c=r(148);Object.defineProperty(t,"Qna",{enumerable:!0,get:function(){return c.Qna}});var p=r(23);Object.defineProperty(t,"Visual",{enumerable:!0,get:function(){return p.Visual}});var f=r(558);Object.defineProperty(t,"VisualDescriptor",{enumerable:!0,get:function(){return f.VisualDescriptor}});var h=r(714);Object.defineProperty(t,"QuickCreate",{enumerable:!0,get:function(){return h.QuickCreate}});var v=r(536);Object.defineProperty(t,"Create",{enumerable:!0,get:function(){return v.Create}});var y=r(567);Object.defineProperty(t,"BasicFilterBuilder",{enumerable:!0,get:function(){return y.BasicFilterBuilder}}),Object.defineProperty(t,"AdvancedFilterBuilder",{enumerable:!0,get:function(){return y.AdvancedFilterBuilder}}),Object.defineProperty(t,"TopNFilterBuilder",{enumerable:!0,get:function(){return y.TopNFilterBuilder}}),Object.defineProperty(t,"RelativeDateFilterBuilder",{enumerable:!0,get:function(){return y.RelativeDateFilterBuilder}}),Object.defineProperty(t,"RelativeTimeFilterBuilder",{enumerable:!0,get:function(){return y.RelativeTimeFilterBuilder}});var m=new a.Service(o.hpmFactory,o.wpmpFactory,o.routerFactory);window.powerbi&&window.powerBISDKGlobalServiceInstanceName?window[window.powerBISDKGlobalServiceInstanceName]=m:window.powerbi=m})(),i})())); \ No newline at end of file diff --git a/package.json b/package.json index 3a9139a5..fbfc27ab 100644 --- a/package.json +++ b/package.json @@ -81,7 +81,7 @@ "http-post-message": "^0.2", "powerbi-models": "^1.12.3", "powerbi-router": "^0.1", - "window-post-message-proxy": "^0.2" + "window-post-message-proxy": "^0.2.7" }, "publishConfig": { "tag": "beta" diff --git a/src/util.ts b/src/util.ts index d03e1ebf..061081ff 100644 --- a/src/util.ts +++ b/src/util.ts @@ -194,7 +194,7 @@ export function autoAuthInEmbedUrl(embedUrl: string): boolean { export function getRandomValue(): number { // window.msCrypto for IE - const cryptoObj = window.crypto || window.msCrypto; + const cryptoObj = window.crypto || (window as any).msCrypto; const randomValueArray = new Uint32Array(1); cryptoObj.getRandomValues(randomValueArray); From 0e09337d5af11e28242f96397d5ccd29898aef62 Mon Sep 17 00:00:00 2001 From: May Hartov Date: Wed, 24 May 2023 03:27:22 +0000 Subject: [PATCH 114/125] Merged PR 399733: [Version bump] 2.22.4 version bump 2.22.4 version bump This version bump includes the upgrade of WPMP from ^2 to ^2.7 --- dist/powerbi-client.d.ts | 2 +- dist/powerbi.js | 974 +++++++++++++++++++++------------------ dist/powerbi.min.js | 4 +- package.json | 2 +- src/config.ts | 2 +- 5 files changed, 531 insertions(+), 453 deletions(-) diff --git a/dist/powerbi-client.d.ts b/dist/powerbi-client.d.ts index 7524d46e..60504d51 100644 --- a/dist/powerbi-client.d.ts +++ b/dist/powerbi-client.d.ts @@ -1,4 +1,4 @@ -// powerbi-client v2.22.3 +// powerbi-client v2.22.4 // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. declare module "config" { diff --git a/dist/powerbi.js b/dist/powerbi.js index 0d9c8a68..067ce037 100644 --- a/dist/powerbi.js +++ b/dist/powerbi.js @@ -1,4 +1,4 @@ -// powerbi-client v2.22.3 +// powerbi-client v2.22.4 // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. (function webpackUniversalModuleDefinition(root, factory) { @@ -203,7 +203,7 @@ return /******/ (function(modules) { // webpackBootstrap \****************************************************/ /***/ (function(module) { -// powerbi-models v1.12.3 +// powerbi-models v1.12.6 // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. (function webpackUniversalModuleDefinition(root, factory) { @@ -234,9 +234,9 @@ var __extends = (this && this.__extends) || (function () { }; })(); Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.SortDirection = exports.LegendPosition = exports.TextAlignment = exports.CommonErrorCodes = exports.BookmarksPlayMode = exports.ExportDataType = exports.QnaMode = exports.PageNavigationPosition = exports.DataCacheMode = exports.CredentialType = exports.isPercentOfGrandTotal = exports.isColumnAggr = exports.isHierarchyLevelAggr = exports.isHierarchyLevel = exports.isColumn = exports.isMeasure = exports.getFilterType = exports.isBasicFilterWithKeys = exports.isFilterKeyColumnsTarget = exports.HierarchyFilter = exports.AdvancedFilter = exports.TupleFilter = exports.IdentityFilter = exports.BasicFilterWithKeys = exports.BasicFilter = exports.RelativeTimeFilter = exports.RelativeDateFilter = exports.TopNFilter = exports.IncludeExcludeFilter = exports.NotSupportedFilter = exports.Filter = exports.RelativeDateOperators = exports.RelativeDateFilterTimeUnit = exports.FilterType = exports.FiltersLevel = exports.FiltersOperations = exports.MenuLocation = exports.ContrastMode = exports.TokenType = exports.ViewMode = exports.Permissions = exports.SectionVisibility = exports.ReportAlignment = exports.HyperlinkClickBehavior = exports.LayoutType = exports.VisualContainerDisplayMode = exports.BackgroundType = exports.DisplayOption = exports.PageSizeType = exports.TraceType = void 0; -exports.validateCommandsSettings = exports.validateVisualSettings = exports.validateVisualHeader = exports.validateExportDataRequest = exports.validateQnaInterpretInputData = exports.validateLoadQnaConfiguration = exports.validateSaveAsParameters = exports.validateUpdateFiltersRequest = exports.validateFilter = exports.validatePage = exports.validateTileLoad = exports.validateDashboardLoad = exports.validateQuickCreate = exports.validateCreateReport = exports.validatePaginatedReportLoad = exports.validateReportLoad = exports.validateMenuGroupExtension = exports.validateExtension = exports.validateCustomPageSize = exports.validateVisualizationsPane = exports.validateSyncSlicersPane = exports.validateSelectionPane = exports.validatePageNavigationPane = exports.validateFieldsPane = exports.validateFiltersPane = exports.validateBookmarksPane = exports.validatePanes = exports.validateSettings = exports.validateCaptureBookmarkRequest = exports.validateApplyBookmarkStateRequest = exports.validateApplyBookmarkByNameRequest = exports.validateAddBookmarkRequest = exports.validatePlayBookmarkRequest = exports.validateSlicerState = exports.validateSlicer = exports.validateVisualSelector = exports.isIExtensionArray = exports.isIExtensions = exports.isGroupedMenuExtension = exports.isFlatMenuExtension = exports.isReportFiltersArray = exports.isOnLoadFilters = exports.VisualDataRoleKindPreference = exports.VisualDataRoleKind = exports.CommandDisplayOption = exports.SlicerTargetSelector = exports.VisualTypeSelector = exports.VisualSelector = exports.PageSelector = exports.Selector = void 0; -exports.validateZoomLevel = exports.validateCustomTheme = void 0; +exports.TextAlignment = exports.CommonErrorCodes = exports.BookmarksPlayMode = exports.ExportDataType = exports.QnaMode = exports.PageNavigationPosition = exports.BrowserPrintAdjustmentsMode = exports.AggregateFunction = exports.DataCacheMode = exports.CredentialType = exports.isPercentOfGrandTotal = exports.isColumnAggr = exports.isHierarchyLevelAggr = exports.isHierarchyLevel = exports.isColumn = exports.isMeasure = exports.getFilterType = exports.isBasicFilterWithKeys = exports.isFilterKeyColumnsTarget = exports.HierarchyFilter = exports.AdvancedFilter = exports.TupleFilter = exports.IdentityFilter = exports.BasicFilterWithKeys = exports.BasicFilter = exports.RelativeTimeFilter = exports.RelativeDateFilter = exports.TopNFilter = exports.IncludeExcludeFilter = exports.NotSupportedFilter = exports.Filter = exports.RelativeDateOperators = exports.RelativeDateFilterTimeUnit = exports.FilterType = exports.FiltersLevel = exports.FiltersOperations = exports.MenuLocation = exports.ContrastMode = exports.TokenType = exports.ViewMode = exports.Permissions = exports.SectionVisibility = exports.ReportAlignment = exports.HyperlinkClickBehavior = exports.LayoutType = exports.VisualContainerDisplayMode = exports.BackgroundType = exports.DisplayOption = exports.PageSizeType = exports.TraceType = void 0; +exports.validateVisualHeader = exports.validateExportDataRequest = exports.validateQnaInterpretInputData = exports.validateLoadQnaConfiguration = exports.validateSaveAsParameters = exports.validateUpdateFiltersRequest = exports.validateFilter = exports.validatePage = exports.validateTileLoad = exports.validateDashboardLoad = exports.validateQuickCreate = exports.validateCreateReport = exports.validatePaginatedReportLoad = exports.validateReportLoad = exports.validateMenuGroupExtension = exports.validateExtension = exports.validateCustomPageSize = exports.validateVisualizationsPane = exports.validateSyncSlicersPane = exports.validateSelectionPane = exports.validatePageNavigationPane = exports.validateFieldsPane = exports.validateFiltersPane = exports.validateBookmarksPane = exports.validatePanes = exports.validateSettings = exports.validateCaptureBookmarkRequest = exports.validateApplyBookmarkStateRequest = exports.validateApplyBookmarkByNameRequest = exports.validateAddBookmarkRequest = exports.validatePlayBookmarkRequest = exports.validateSlicerState = exports.validateSlicer = exports.validateVisualSelector = exports.isIExtensionArray = exports.isIExtensions = exports.isGroupedMenuExtension = exports.isFlatMenuExtension = exports.isReportFiltersArray = exports.isOnLoadFilters = exports.VisualDataRoleKindPreference = exports.VisualDataRoleKind = exports.CommandDisplayOption = exports.SlicerTargetSelector = exports.VisualTypeSelector = exports.VisualSelector = exports.PageSelector = exports.Selector = exports.SortDirection = exports.LegendPosition = void 0; +exports.validatePrintSettings = exports.validateZoomLevel = exports.validateCustomTheme = exports.validateCommandsSettings = exports.validateVisualSettings = void 0; var validator_1 = __nested_webpack_require_612__(1); var TraceType; (function (TraceType) { @@ -731,6 +731,22 @@ var DataCacheMode; DataCacheMode[DataCacheMode["Import"] = 0] = "Import"; DataCacheMode[DataCacheMode["DirectQuery"] = 1] = "DirectQuery"; })(DataCacheMode = exports.DataCacheMode || (exports.DataCacheMode = {})); +var AggregateFunction; +(function (AggregateFunction) { + AggregateFunction[AggregateFunction["Default"] = 1] = "Default"; + AggregateFunction[AggregateFunction["None"] = 2] = "None"; + AggregateFunction[AggregateFunction["Sum"] = 3] = "Sum"; + AggregateFunction[AggregateFunction["Min"] = 4] = "Min"; + AggregateFunction[AggregateFunction["Max"] = 5] = "Max"; + AggregateFunction[AggregateFunction["Count"] = 6] = "Count"; + AggregateFunction[AggregateFunction["Average"] = 7] = "Average"; + AggregateFunction[AggregateFunction["DistinctCount"] = 8] = "DistinctCount"; +})(AggregateFunction = exports.AggregateFunction || (exports.AggregateFunction = {})); +var BrowserPrintAdjustmentsMode; +(function (BrowserPrintAdjustmentsMode) { + BrowserPrintAdjustmentsMode[BrowserPrintAdjustmentsMode["Default"] = 0] = "Default"; + BrowserPrintAdjustmentsMode[BrowserPrintAdjustmentsMode["NoAdjustments"] = 1] = "NoAdjustments"; +})(BrowserPrintAdjustmentsMode = exports.BrowserPrintAdjustmentsMode || (exports.BrowserPrintAdjustmentsMode = {})); var PageNavigationPosition; (function (PageNavigationPosition) { PageNavigationPosition[PageNavigationPosition["Bottom"] = 0] = "Bottom"; @@ -1104,46 +1120,52 @@ function validateZoomLevel(input) { return errors ? errors.map(normalizeError) : undefined; } exports.validateZoomLevel = validateZoomLevel; +function validatePrintSettings(input) { + var errors = validator_1.Validators.printSettingsValidator.validate(input); + return errors ? errors.map(normalizeError) : undefined; +} +exports.validatePrintSettings = validatePrintSettings; /***/ }), /* 1 */ -/***/ ((__unused_webpack_module, exports, __nested_webpack_require_44757__) => { +/***/ ((__unused_webpack_module, exports, __nested_webpack_require_46167__) => { // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. Object.defineProperty(exports, "__esModule", ({ value: true })); exports.Validators = void 0; -var barsValidator_1 = __nested_webpack_require_44757__(2); -var bookmarkValidator_1 = __nested_webpack_require_44757__(5); -var commandsSettingsValidator_1 = __nested_webpack_require_44757__(6); -var customThemeValidator_1 = __nested_webpack_require_44757__(7); -var dashboardLoadValidator_1 = __nested_webpack_require_44757__(8); -var datasetBindingValidator_1 = __nested_webpack_require_44757__(9); -var exportDataValidator_1 = __nested_webpack_require_44757__(10); -var extensionsValidator_1 = __nested_webpack_require_44757__(11); -var filtersValidator_1 = __nested_webpack_require_44757__(12); -var layoutValidator_1 = __nested_webpack_require_44757__(13); -var pageValidator_1 = __nested_webpack_require_44757__(14); -var panesValidator_1 = __nested_webpack_require_44757__(15); -var qnaValidator_1 = __nested_webpack_require_44757__(16); -var reportCreateValidator_1 = __nested_webpack_require_44757__(17); -var reportLoadValidator_1 = __nested_webpack_require_44757__(18); -var paginatedReportLoadValidator_1 = __nested_webpack_require_44757__(19); -var saveAsParametersValidator_1 = __nested_webpack_require_44757__(20); -var selectorsValidator_1 = __nested_webpack_require_44757__(21); -var settingsValidator_1 = __nested_webpack_require_44757__(22); -var slicersValidator_1 = __nested_webpack_require_44757__(23); -var tileLoadValidator_1 = __nested_webpack_require_44757__(24); -var visualSettingsValidator_1 = __nested_webpack_require_44757__(25); -var anyOfValidator_1 = __nested_webpack_require_44757__(26); -var fieldForbiddenValidator_1 = __nested_webpack_require_44757__(27); -var fieldRequiredValidator_1 = __nested_webpack_require_44757__(28); -var mapValidator_1 = __nested_webpack_require_44757__(29); -var typeValidator_1 = __nested_webpack_require_44757__(4); -var parameterPanelValidator_1 = __nested_webpack_require_44757__(30); -var datasetCreateConfigValidator_1 = __nested_webpack_require_44757__(31); -var quickCreateValidator_1 = __nested_webpack_require_44757__(32); +var barsValidator_1 = __nested_webpack_require_46167__(2); +var bookmarkValidator_1 = __nested_webpack_require_46167__(5); +var commandsSettingsValidator_1 = __nested_webpack_require_46167__(6); +var customThemeValidator_1 = __nested_webpack_require_46167__(7); +var dashboardLoadValidator_1 = __nested_webpack_require_46167__(8); +var datasetBindingValidator_1 = __nested_webpack_require_46167__(9); +var exportDataValidator_1 = __nested_webpack_require_46167__(10); +var extensionsValidator_1 = __nested_webpack_require_46167__(11); +var filtersValidator_1 = __nested_webpack_require_46167__(12); +var layoutValidator_1 = __nested_webpack_require_46167__(13); +var pageValidator_1 = __nested_webpack_require_46167__(14); +var panesValidator_1 = __nested_webpack_require_46167__(15); +var qnaValidator_1 = __nested_webpack_require_46167__(16); +var reportCreateValidator_1 = __nested_webpack_require_46167__(17); +var reportLoadValidator_1 = __nested_webpack_require_46167__(18); +var paginatedReportLoadValidator_1 = __nested_webpack_require_46167__(19); +var saveAsParametersValidator_1 = __nested_webpack_require_46167__(20); +var selectorsValidator_1 = __nested_webpack_require_46167__(21); +var settingsValidator_1 = __nested_webpack_require_46167__(22); +var slicersValidator_1 = __nested_webpack_require_46167__(23); +var tileLoadValidator_1 = __nested_webpack_require_46167__(24); +var visualSettingsValidator_1 = __nested_webpack_require_46167__(25); +var anyOfValidator_1 = __nested_webpack_require_46167__(26); +var fieldForbiddenValidator_1 = __nested_webpack_require_46167__(27); +var fieldRequiredValidator_1 = __nested_webpack_require_46167__(28); +var mapValidator_1 = __nested_webpack_require_46167__(29); +var typeValidator_1 = __nested_webpack_require_46167__(4); +var parameterPanelValidator_1 = __nested_webpack_require_46167__(30); +var datasetCreateConfigValidator_1 = __nested_webpack_require_46167__(31); +var quickCreateValidator_1 = __nested_webpack_require_46167__(32); +var printSettingsValidator_1 = __nested_webpack_require_46167__(33); exports.Validators = { addBookmarkRequestValidator: new bookmarkValidator_1.AddBookmarkRequestValidator(), advancedFilterTypeValidator: new typeValidator_1.EnumValidator([0]), @@ -1238,6 +1260,7 @@ exports.Validators = { parametersPanelValidator: new parameterPanelValidator_1.ParametersPanelValidator(), permissionsValidator: new typeValidator_1.EnumValidator([0, 1, 2, 4, 7]), playBookmarkRequestValidator: new bookmarkValidator_1.PlayBookmarkRequestValidator(), + printSettingsValidator: new printSettingsValidator_1.PrintSettingsValidator(), qnaInterpretInputDataValidator: new qnaValidator_1.QnaInterpretInputDataValidator(), qnaPanesValidator: new panesValidator_1.QnaPanesValidator(), qnaSettingValidator: new qnaValidator_1.QnaSettingsValidator(), @@ -1292,7 +1315,7 @@ exports.Validators = { /***/ }), /* 2 */ -/***/ (function(__unused_webpack_module, exports, __nested_webpack_require_61501__) { +/***/ (function(__unused_webpack_module, exports, __nested_webpack_require_63052__) { // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. @@ -1313,9 +1336,9 @@ var __extends = (this && this.__extends) || (function () { })(); Object.defineProperty(exports, "__esModule", ({ value: true })); exports.StatusBarValidator = exports.ActionBarValidator = exports.ReportBarsValidator = void 0; -var multipleFieldsValidator_1 = __nested_webpack_require_61501__(3); -var typeValidator_1 = __nested_webpack_require_61501__(4); -var validator_1 = __nested_webpack_require_61501__(1); +var multipleFieldsValidator_1 = __nested_webpack_require_63052__(3); +var typeValidator_1 = __nested_webpack_require_63052__(4); +var validator_1 = __nested_webpack_require_63052__(1); var ReportBarsValidator = /** @class */ (function (_super) { __extends(ReportBarsValidator, _super); function ReportBarsValidator() { @@ -1695,7 +1718,7 @@ exports.RangeValidator = RangeValidator; /***/ }), /* 5 */ -/***/ (function(__unused_webpack_module, exports, __nested_webpack_require_77380__) { +/***/ (function(__unused_webpack_module, exports, __nested_webpack_require_78931__) { // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. @@ -1716,9 +1739,9 @@ var __extends = (this && this.__extends) || (function () { })(); Object.defineProperty(exports, "__esModule", ({ value: true })); exports.CaptureBookmarkRequestValidator = exports.CaptureBookmarkOptionsValidator = exports.ApplyBookmarkStateRequestValidator = exports.ApplyBookmarkByNameRequestValidator = exports.AddBookmarkRequestValidator = exports.PlayBookmarkRequestValidator = void 0; -var multipleFieldsValidator_1 = __nested_webpack_require_77380__(3); -var typeValidator_1 = __nested_webpack_require_77380__(4); -var validator_1 = __nested_webpack_require_77380__(1); +var multipleFieldsValidator_1 = __nested_webpack_require_78931__(3); +var typeValidator_1 = __nested_webpack_require_78931__(4); +var validator_1 = __nested_webpack_require_78931__(1); var PlayBookmarkRequestValidator = /** @class */ (function (_super) { __extends(PlayBookmarkRequestValidator, _super); function PlayBookmarkRequestValidator() { @@ -1885,7 +1908,7 @@ exports.CaptureBookmarkRequestValidator = CaptureBookmarkRequestValidator; /***/ }), /* 6 */ -/***/ (function(__unused_webpack_module, exports, __nested_webpack_require_85856__) { +/***/ (function(__unused_webpack_module, exports, __nested_webpack_require_87407__) { // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. @@ -1906,9 +1929,9 @@ var __extends = (this && this.__extends) || (function () { })(); Object.defineProperty(exports, "__esModule", ({ value: true })); exports.PaginatedReportCommandsValidator = exports.SingleCommandSettingsValidator = exports.CommandsSettingsValidator = void 0; -var multipleFieldsValidator_1 = __nested_webpack_require_85856__(3); -var typeValidator_1 = __nested_webpack_require_85856__(4); -var validator_1 = __nested_webpack_require_85856__(1); +var multipleFieldsValidator_1 = __nested_webpack_require_87407__(3); +var typeValidator_1 = __nested_webpack_require_87407__(4); +var validator_1 = __nested_webpack_require_87407__(1); var CommandsSettingsValidator = /** @class */ (function (_super) { __extends(CommandsSettingsValidator, _super); function CommandsSettingsValidator() { @@ -2052,7 +2075,7 @@ exports.PaginatedReportCommandsValidator = PaginatedReportCommandsValidator; /***/ }), /* 7 */ -/***/ (function(__unused_webpack_module, exports, __nested_webpack_require_92889__) { +/***/ (function(__unused_webpack_module, exports, __nested_webpack_require_94440__) { // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. @@ -2073,8 +2096,8 @@ var __extends = (this && this.__extends) || (function () { })(); Object.defineProperty(exports, "__esModule", ({ value: true })); exports.CustomThemeValidator = void 0; -var multipleFieldsValidator_1 = __nested_webpack_require_92889__(3); -var typeValidator_1 = __nested_webpack_require_92889__(4); +var multipleFieldsValidator_1 = __nested_webpack_require_94440__(3); +var typeValidator_1 = __nested_webpack_require_94440__(4); var CustomThemeValidator = /** @class */ (function (_super) { __extends(CustomThemeValidator, _super); function CustomThemeValidator() { @@ -2104,7 +2127,7 @@ exports.CustomThemeValidator = CustomThemeValidator; /***/ }), /* 8 */ -/***/ (function(__unused_webpack_module, exports, __nested_webpack_require_95043__) { +/***/ (function(__unused_webpack_module, exports, __nested_webpack_require_96594__) { // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. @@ -2125,9 +2148,9 @@ var __extends = (this && this.__extends) || (function () { })(); Object.defineProperty(exports, "__esModule", ({ value: true })); exports.DashboardLoadValidator = void 0; -var multipleFieldsValidator_1 = __nested_webpack_require_95043__(3); -var typeValidator_1 = __nested_webpack_require_95043__(4); -var validator_1 = __nested_webpack_require_95043__(1); +var multipleFieldsValidator_1 = __nested_webpack_require_96594__(3); +var typeValidator_1 = __nested_webpack_require_96594__(4); +var validator_1 = __nested_webpack_require_96594__(1); var DashboardLoadValidator = /** @class */ (function (_super) { __extends(DashboardLoadValidator, _super); function DashboardLoadValidator() { @@ -2177,7 +2200,7 @@ exports.DashboardLoadValidator = DashboardLoadValidator; /***/ }), /* 9 */ -/***/ (function(__unused_webpack_module, exports, __nested_webpack_require_98042__) { +/***/ (function(__unused_webpack_module, exports, __nested_webpack_require_99593__) { // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. @@ -2198,9 +2221,9 @@ var __extends = (this && this.__extends) || (function () { })(); Object.defineProperty(exports, "__esModule", ({ value: true })); exports.DatasetBindingValidator = void 0; -var multipleFieldsValidator_1 = __nested_webpack_require_98042__(3); -var typeValidator_1 = __nested_webpack_require_98042__(4); -var validator_1 = __nested_webpack_require_98042__(1); +var multipleFieldsValidator_1 = __nested_webpack_require_99593__(3); +var typeValidator_1 = __nested_webpack_require_99593__(4); +var validator_1 = __nested_webpack_require_99593__(1); var DatasetBindingValidator = /** @class */ (function (_super) { __extends(DatasetBindingValidator, _super); function DatasetBindingValidator() { @@ -2230,7 +2253,7 @@ exports.DatasetBindingValidator = DatasetBindingValidator; /***/ }), /* 10 */ -/***/ (function(__unused_webpack_module, exports, __nested_webpack_require_100312__) { +/***/ (function(__unused_webpack_module, exports, __nested_webpack_require_101863__) { // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. @@ -2251,8 +2274,8 @@ var __extends = (this && this.__extends) || (function () { })(); Object.defineProperty(exports, "__esModule", ({ value: true })); exports.ExportDataRequestValidator = void 0; -var multipleFieldsValidator_1 = __nested_webpack_require_100312__(3); -var typeValidator_1 = __nested_webpack_require_100312__(4); +var multipleFieldsValidator_1 = __nested_webpack_require_101863__(3); +var typeValidator_1 = __nested_webpack_require_101863__(4); var ExportDataRequestValidator = /** @class */ (function (_super) { __extends(ExportDataRequestValidator, _super); function ExportDataRequestValidator() { @@ -2286,7 +2309,7 @@ exports.ExportDataRequestValidator = ExportDataRequestValidator; /***/ }), /* 11 */ -/***/ (function(__unused_webpack_module, exports, __nested_webpack_require_102656__) { +/***/ (function(__unused_webpack_module, exports, __nested_webpack_require_104207__) { // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. @@ -2307,9 +2330,9 @@ var __extends = (this && this.__extends) || (function () { })(); Object.defineProperty(exports, "__esModule", ({ value: true })); exports.ExtensionsValidator = exports.MenuGroupExtensionValidator = exports.ExtensionValidator = exports.CommandExtensionValidator = exports.ExtensionItemValidator = exports.ExtensionPointsValidator = exports.GroupedMenuExtensionValidator = exports.FlatMenuExtensionValidator = exports.MenuExtensionBaseValidator = void 0; -var multipleFieldsValidator_1 = __nested_webpack_require_102656__(3); -var typeValidator_1 = __nested_webpack_require_102656__(4); -var validator_1 = __nested_webpack_require_102656__(1); +var multipleFieldsValidator_1 = __nested_webpack_require_104207__(3); +var typeValidator_1 = __nested_webpack_require_104207__(4); +var validator_1 = __nested_webpack_require_104207__(1); var MenuExtensionBaseValidator = /** @class */ (function (_super) { __extends(MenuExtensionBaseValidator, _super); function MenuExtensionBaseValidator() { @@ -2579,7 +2602,7 @@ exports.ExtensionsValidator = ExtensionsValidator; /***/ }), /* 12 */ -/***/ (function(__unused_webpack_module, exports, __nested_webpack_require_115147__) { +/***/ (function(__unused_webpack_module, exports, __nested_webpack_require_116698__) { // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. @@ -2600,9 +2623,9 @@ var __extends = (this && this.__extends) || (function () { })(); Object.defineProperty(exports, "__esModule", ({ value: true })); exports.OnLoadFiltersValidator = exports.OnLoadFiltersBaseRemoveOperationValidator = exports.OnLoadFiltersBaseValidator = exports.ConditionItemValidator = exports.RemoveFiltersRequestValidator = exports.UpdateFiltersRequestValidator = exports.FilterValidator = exports.HierarchyFilterNodeValidator = exports.HierarchyFilterValidator = exports.IncludeExcludeFilterValidator = exports.NotSupportedFilterValidator = exports.TopNFilterValidator = exports.RelativeTimeFilterValidator = exports.RelativeDateFilterValidator = exports.RelativeDateTimeFilterValidator = exports.AdvancedFilterValidator = exports.BasicFilterValidator = exports.FilterValidatorBase = exports.FilterDisplaySettingsValidator = exports.FilterMeasureTargetValidator = exports.FilterKeyHierarchyTargetValidator = exports.FilterHierarchyTargetValidator = exports.FilterKeyColumnsTargetValidator = exports.FilterColumnTargetValidator = void 0; -var multipleFieldsValidator_1 = __nested_webpack_require_115147__(3); -var typeValidator_1 = __nested_webpack_require_115147__(4); -var validator_1 = __nested_webpack_require_115147__(1); +var multipleFieldsValidator_1 = __nested_webpack_require_116698__(3); +var typeValidator_1 = __nested_webpack_require_116698__(4); +var validator_1 = __nested_webpack_require_116698__(1); var FilterColumnTargetValidator = /** @class */ (function (_super) { __extends(FilterColumnTargetValidator, _super); function FilterColumnTargetValidator() { @@ -3348,7 +3371,7 @@ exports.OnLoadFiltersValidator = OnLoadFiltersValidator; /***/ }), /* 13 */ -/***/ (function(__unused_webpack_module, exports, __nested_webpack_require_149119__) { +/***/ (function(__unused_webpack_module, exports, __nested_webpack_require_150670__) { // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. @@ -3369,9 +3392,9 @@ var __extends = (this && this.__extends) || (function () { })(); Object.defineProperty(exports, "__esModule", ({ value: true })); exports.PageLayoutValidator = exports.DisplayStateValidator = exports.VisualLayoutValidator = exports.CustomLayoutValidator = void 0; -var multipleFieldsValidator_1 = __nested_webpack_require_149119__(3); -var typeValidator_1 = __nested_webpack_require_149119__(4); -var validator_1 = __nested_webpack_require_149119__(1); +var multipleFieldsValidator_1 = __nested_webpack_require_150670__(3); +var typeValidator_1 = __nested_webpack_require_150670__(4); +var validator_1 = __nested_webpack_require_150670__(1); var CustomLayoutValidator = /** @class */ (function (_super) { __extends(CustomLayoutValidator, _super); function CustomLayoutValidator() { @@ -3508,7 +3531,7 @@ exports.PageLayoutValidator = PageLayoutValidator; /***/ }), /* 14 */ -/***/ (function(__unused_webpack_module, exports, __nested_webpack_require_155598__) { +/***/ (function(__unused_webpack_module, exports, __nested_webpack_require_157149__) { // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. @@ -3529,9 +3552,9 @@ var __extends = (this && this.__extends) || (function () { })(); Object.defineProperty(exports, "__esModule", ({ value: true })); exports.PageViewFieldValidator = exports.PageValidator = exports.CustomPageSizeValidator = exports.PageSizeValidator = void 0; -var multipleFieldsValidator_1 = __nested_webpack_require_155598__(3); -var typeValidator_1 = __nested_webpack_require_155598__(4); -var validator_1 = __nested_webpack_require_155598__(1); +var multipleFieldsValidator_1 = __nested_webpack_require_157149__(3); +var typeValidator_1 = __nested_webpack_require_157149__(4); +var validator_1 = __nested_webpack_require_157149__(1); var PageSizeValidator = /** @class */ (function (_super) { __extends(PageSizeValidator, _super); function PageSizeValidator() { @@ -3639,7 +3662,7 @@ exports.PageViewFieldValidator = PageViewFieldValidator; /***/ }), /* 15 */ -/***/ (function(__unused_webpack_module, exports, __nested_webpack_require_161038__) { +/***/ (function(__unused_webpack_module, exports, __nested_webpack_require_162589__) { // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. @@ -3660,9 +3683,9 @@ var __extends = (this && this.__extends) || (function () { })(); Object.defineProperty(exports, "__esModule", ({ value: true })); exports.VisualizationsPaneValidator = exports.SyncSlicersPaneValidator = exports.SelectionPaneValidator = exports.PageNavigationPaneValidator = exports.FiltersPaneValidator = exports.FieldsPaneValidator = exports.BookmarksPaneValidator = exports.QnaPanesValidator = exports.ReportPanesValidator = void 0; -var multipleFieldsValidator_1 = __nested_webpack_require_161038__(3); -var typeValidator_1 = __nested_webpack_require_161038__(4); -var validator_1 = __nested_webpack_require_161038__(1); +var multipleFieldsValidator_1 = __nested_webpack_require_162589__(3); +var typeValidator_1 = __nested_webpack_require_162589__(4); +var validator_1 = __nested_webpack_require_162589__(1); var ReportPanesValidator = /** @class */ (function (_super) { __extends(ReportPanesValidator, _super); function ReportPanesValidator() { @@ -3924,7 +3947,7 @@ exports.VisualizationsPaneValidator = VisualizationsPaneValidator; /***/ }), /* 16 */ -/***/ (function(__unused_webpack_module, exports, __nested_webpack_require_172784__) { +/***/ (function(__unused_webpack_module, exports, __nested_webpack_require_174335__) { // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. @@ -3945,9 +3968,9 @@ var __extends = (this && this.__extends) || (function () { })(); Object.defineProperty(exports, "__esModule", ({ value: true })); exports.QnaInterpretInputDataValidator = exports.QnaSettingsValidator = exports.LoadQnaValidator = void 0; -var multipleFieldsValidator_1 = __nested_webpack_require_172784__(3); -var typeValidator_1 = __nested_webpack_require_172784__(4); -var validator_1 = __nested_webpack_require_172784__(1); +var multipleFieldsValidator_1 = __nested_webpack_require_174335__(3); +var typeValidator_1 = __nested_webpack_require_174335__(4); +var validator_1 = __nested_webpack_require_174335__(1); var LoadQnaValidator = /** @class */ (function (_super) { __extends(LoadQnaValidator, _super); function LoadQnaValidator() { @@ -4063,7 +4086,7 @@ exports.QnaInterpretInputDataValidator = QnaInterpretInputDataValidator; /***/ }), /* 17 */ -/***/ (function(__unused_webpack_module, exports, __nested_webpack_require_178495__) { +/***/ (function(__unused_webpack_module, exports, __nested_webpack_require_180046__) { // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. @@ -4084,9 +4107,9 @@ var __extends = (this && this.__extends) || (function () { })(); Object.defineProperty(exports, "__esModule", ({ value: true })); exports.ReportCreateValidator = void 0; -var multipleFieldsValidator_1 = __nested_webpack_require_178495__(3); -var typeValidator_1 = __nested_webpack_require_178495__(4); -var validator_1 = __nested_webpack_require_178495__(1); +var multipleFieldsValidator_1 = __nested_webpack_require_180046__(3); +var typeValidator_1 = __nested_webpack_require_180046__(4); +var validator_1 = __nested_webpack_require_180046__(1); var ReportCreateValidator = /** @class */ (function (_super) { __extends(ReportCreateValidator, _super); function ReportCreateValidator() { @@ -4132,7 +4155,7 @@ exports.ReportCreateValidator = ReportCreateValidator; /***/ }), /* 18 */ -/***/ (function(__unused_webpack_module, exports, __nested_webpack_require_181353__) { +/***/ (function(__unused_webpack_module, exports, __nested_webpack_require_182904__) { // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. @@ -4153,9 +4176,9 @@ var __extends = (this && this.__extends) || (function () { })(); Object.defineProperty(exports, "__esModule", ({ value: true })); exports.ReportLoadValidator = void 0; -var multipleFieldsValidator_1 = __nested_webpack_require_181353__(3); -var typeValidator_1 = __nested_webpack_require_181353__(4); -var validator_1 = __nested_webpack_require_181353__(1); +var multipleFieldsValidator_1 = __nested_webpack_require_182904__(3); +var typeValidator_1 = __nested_webpack_require_182904__(4); +var validator_1 = __nested_webpack_require_182904__(1); var ReportLoadValidator = /** @class */ (function (_super) { __extends(ReportLoadValidator, _super); function ReportLoadValidator() { @@ -4237,7 +4260,7 @@ exports.ReportLoadValidator = ReportLoadValidator; /***/ }), /* 19 */ -/***/ (function(__unused_webpack_module, exports, __nested_webpack_require_185474__) { +/***/ (function(__unused_webpack_module, exports, __nested_webpack_require_187025__) { // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. @@ -4258,9 +4281,9 @@ var __extends = (this && this.__extends) || (function () { })(); Object.defineProperty(exports, "__esModule", ({ value: true })); exports.ReportParameterFieldsValidator = exports.PaginatedReportLoadValidator = void 0; -var multipleFieldsValidator_1 = __nested_webpack_require_185474__(3); -var typeValidator_1 = __nested_webpack_require_185474__(4); -var validator_1 = __nested_webpack_require_185474__(1); +var multipleFieldsValidator_1 = __nested_webpack_require_187025__(3); +var typeValidator_1 = __nested_webpack_require_187025__(4); +var validator_1 = __nested_webpack_require_187025__(1); var PaginatedReportLoadValidator = /** @class */ (function (_super) { __extends(PaginatedReportLoadValidator, _super); function PaginatedReportLoadValidator() { @@ -4341,7 +4364,7 @@ exports.ReportParameterFieldsValidator = ReportParameterFieldsValidator; /***/ }), /* 20 */ -/***/ (function(__unused_webpack_module, exports, __nested_webpack_require_189798__) { +/***/ (function(__unused_webpack_module, exports, __nested_webpack_require_191349__) { // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. @@ -4362,9 +4385,9 @@ var __extends = (this && this.__extends) || (function () { })(); Object.defineProperty(exports, "__esModule", ({ value: true })); exports.SaveAsParametersValidator = void 0; -var multipleFieldsValidator_1 = __nested_webpack_require_189798__(3); -var typeValidator_1 = __nested_webpack_require_189798__(4); -var validator_1 = __nested_webpack_require_189798__(1); +var multipleFieldsValidator_1 = __nested_webpack_require_191349__(3); +var typeValidator_1 = __nested_webpack_require_191349__(4); +var validator_1 = __nested_webpack_require_191349__(1); var SaveAsParametersValidator = /** @class */ (function (_super) { __extends(SaveAsParametersValidator, _super); function SaveAsParametersValidator() { @@ -4394,7 +4417,7 @@ exports.SaveAsParametersValidator = SaveAsParametersValidator; /***/ }), /* 21 */ -/***/ (function(__unused_webpack_module, exports, __nested_webpack_require_192079__) { +/***/ (function(__unused_webpack_module, exports, __nested_webpack_require_193630__) { // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. @@ -4415,10 +4438,10 @@ var __extends = (this && this.__extends) || (function () { })(); Object.defineProperty(exports, "__esModule", ({ value: true })); exports.SlicerTargetSelectorValidator = exports.VisualTypeSelectorValidator = exports.VisualSelectorValidator = void 0; -var multipleFieldsValidator_1 = __nested_webpack_require_192079__(3); -var typeValidator_1 = __nested_webpack_require_192079__(4); -var typeValidator_2 = __nested_webpack_require_192079__(4); -var validator_1 = __nested_webpack_require_192079__(1); +var multipleFieldsValidator_1 = __nested_webpack_require_193630__(3); +var typeValidator_1 = __nested_webpack_require_193630__(4); +var typeValidator_2 = __nested_webpack_require_193630__(4); +var validator_1 = __nested_webpack_require_193630__(1); var VisualSelectorValidator = /** @class */ (function (_super) { __extends(VisualSelectorValidator, _super); function VisualSelectorValidator() { @@ -4511,7 +4534,7 @@ exports.SlicerTargetSelectorValidator = SlicerTargetSelectorValidator; /***/ }), /* 22 */ -/***/ (function(__unused_webpack_module, exports, __nested_webpack_require_197537__) { +/***/ (function(__unused_webpack_module, exports, __nested_webpack_require_199088__) { // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. @@ -4532,9 +4555,9 @@ var __extends = (this && this.__extends) || (function () { })(); Object.defineProperty(exports, "__esModule", ({ value: true })); exports.PaginatedReportSettingsValidator = exports.SettingsValidator = void 0; -var multipleFieldsValidator_1 = __nested_webpack_require_197537__(3); -var typeValidator_1 = __nested_webpack_require_197537__(4); -var validator_1 = __nested_webpack_require_197537__(1); +var multipleFieldsValidator_1 = __nested_webpack_require_199088__(3); +var typeValidator_1 = __nested_webpack_require_199088__(4); +var validator_1 = __nested_webpack_require_199088__(1); var SettingsValidator = /** @class */ (function (_super) { __extends(SettingsValidator, _super); function SettingsValidator() { @@ -4620,6 +4643,10 @@ var SettingsValidator = /** @class */ (function (_super) { { field: "authoringHintsEnabled", validators: [validator_1.Validators.booleanValidator] + }, + { + field: "printSettings", + validators: [validator_1.Validators.printSettingsValidator] } ]; var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields); @@ -4657,7 +4684,7 @@ exports.PaginatedReportSettingsValidator = PaginatedReportSettingsValidator; /***/ }), /* 23 */ -/***/ (function(__unused_webpack_module, exports, __nested_webpack_require_203384__) { +/***/ (function(__unused_webpack_module, exports, __nested_webpack_require_205084__) { // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. @@ -4678,9 +4705,9 @@ var __extends = (this && this.__extends) || (function () { })(); Object.defineProperty(exports, "__esModule", ({ value: true })); exports.SlicerStateValidator = exports.SlicerValidator = void 0; -var multipleFieldsValidator_1 = __nested_webpack_require_203384__(3); -var typeValidator_1 = __nested_webpack_require_203384__(4); -var validator_1 = __nested_webpack_require_203384__(1); +var multipleFieldsValidator_1 = __nested_webpack_require_205084__(3); +var typeValidator_1 = __nested_webpack_require_205084__(4); +var validator_1 = __nested_webpack_require_205084__(1); var SlicerValidator = /** @class */ (function (_super) { __extends(SlicerValidator, _super); function SlicerValidator() { @@ -4739,7 +4766,7 @@ exports.SlicerStateValidator = SlicerStateValidator; /***/ }), /* 24 */ -/***/ (function(__unused_webpack_module, exports, __nested_webpack_require_206814__) { +/***/ (function(__unused_webpack_module, exports, __nested_webpack_require_208514__) { // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. @@ -4760,9 +4787,9 @@ var __extends = (this && this.__extends) || (function () { })(); Object.defineProperty(exports, "__esModule", ({ value: true })); exports.TileLoadValidator = void 0; -var multipleFieldsValidator_1 = __nested_webpack_require_206814__(3); -var typeValidator_1 = __nested_webpack_require_206814__(4); -var validator_1 = __nested_webpack_require_206814__(1); +var multipleFieldsValidator_1 = __nested_webpack_require_208514__(3); +var typeValidator_1 = __nested_webpack_require_208514__(4); +var validator_1 = __nested_webpack_require_208514__(1); var TileLoadValidator = /** @class */ (function (_super) { __extends(TileLoadValidator, _super); function TileLoadValidator() { @@ -4820,7 +4847,7 @@ exports.TileLoadValidator = TileLoadValidator; /***/ }), /* 25 */ -/***/ (function(__unused_webpack_module, exports, __nested_webpack_require_210086__) { +/***/ (function(__unused_webpack_module, exports, __nested_webpack_require_211786__) { // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. @@ -4841,9 +4868,9 @@ var __extends = (this && this.__extends) || (function () { })(); Object.defineProperty(exports, "__esModule", ({ value: true })); exports.VisualHeaderValidator = exports.VisualHeaderSettingsValidator = exports.VisualSettingsValidator = void 0; -var multipleFieldsValidator_1 = __nested_webpack_require_210086__(3); -var typeValidator_1 = __nested_webpack_require_210086__(4); -var validator_1 = __nested_webpack_require_210086__(1); +var multipleFieldsValidator_1 = __nested_webpack_require_211786__(3); +var typeValidator_1 = __nested_webpack_require_211786__(4); +var validator_1 = __nested_webpack_require_211786__(1); var VisualSettingsValidator = /** @class */ (function (_super) { __extends(VisualSettingsValidator, _super); function VisualSettingsValidator() { @@ -5018,7 +5045,7 @@ exports.FieldRequiredValidator = FieldRequiredValidator; /***/ }), /* 29 */ -/***/ (function(__unused_webpack_module, exports, __nested_webpack_require_217495__) { +/***/ (function(__unused_webpack_module, exports, __nested_webpack_require_219195__) { // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. @@ -5039,7 +5066,7 @@ var __extends = (this && this.__extends) || (function () { })(); Object.defineProperty(exports, "__esModule", ({ value: true })); exports.MapValidator = void 0; -var typeValidator_1 = __nested_webpack_require_217495__(4); +var typeValidator_1 = __nested_webpack_require_219195__(4); var MapValidator = /** @class */ (function (_super) { __extends(MapValidator, _super); function MapValidator(keyValidators, valueValidators) { @@ -5084,7 +5111,7 @@ exports.MapValidator = MapValidator; /***/ }), /* 30 */ -/***/ (function(__unused_webpack_module, exports, __nested_webpack_require_220179__) { +/***/ (function(__unused_webpack_module, exports, __nested_webpack_require_221879__) { // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. @@ -5105,9 +5132,9 @@ var __extends = (this && this.__extends) || (function () { })(); Object.defineProperty(exports, "__esModule", ({ value: true })); exports.ParametersPanelValidator = void 0; -var multipleFieldsValidator_1 = __nested_webpack_require_220179__(3); -var typeValidator_1 = __nested_webpack_require_220179__(4); -var validator_1 = __nested_webpack_require_220179__(1); +var multipleFieldsValidator_1 = __nested_webpack_require_221879__(3); +var typeValidator_1 = __nested_webpack_require_221879__(4); +var validator_1 = __nested_webpack_require_221879__(1); var ParametersPanelValidator = /** @class */ (function (_super) { __extends(ParametersPanelValidator, _super); function ParametersPanelValidator() { @@ -5141,7 +5168,7 @@ exports.ParametersPanelValidator = ParametersPanelValidator; /***/ }), /* 31 */ -/***/ (function(__unused_webpack_module, exports, __nested_webpack_require_222547__) { +/***/ (function(__unused_webpack_module, exports, __nested_webpack_require_224247__) { // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. @@ -5162,9 +5189,9 @@ var __extends = (this && this.__extends) || (function () { })(); Object.defineProperty(exports, "__esModule", ({ value: true })); exports.TableDataValidator = exports.TableSchemaValidator = exports.ColumnSchemaValidator = exports.CredentialsValidator = exports.DatasourceConnectionConfigValidator = exports.DatasetCreateConfigValidator = void 0; -var multipleFieldsValidator_1 = __nested_webpack_require_222547__(3); -var typeValidator_1 = __nested_webpack_require_222547__(4); -var validator_1 = __nested_webpack_require_222547__(1); +var multipleFieldsValidator_1 = __nested_webpack_require_224247__(3); +var typeValidator_1 = __nested_webpack_require_224247__(4); +var validator_1 = __nested_webpack_require_224247__(1); var DatasetCreateConfigValidator = /** @class */ (function (_super) { __extends(DatasetCreateConfigValidator, _super); function DatasetCreateConfigValidator() { @@ -5377,7 +5404,7 @@ exports.TableDataValidator = TableDataValidator; /***/ }), /* 32 */ -/***/ (function(__unused_webpack_module, exports, __nested_webpack_require_232602__) { +/***/ (function(__unused_webpack_module, exports, __nested_webpack_require_234302__) { // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. @@ -5398,9 +5425,9 @@ var __extends = (this && this.__extends) || (function () { })(); Object.defineProperty(exports, "__esModule", ({ value: true })); exports.QuickCreateValidator = void 0; -var multipleFieldsValidator_1 = __nested_webpack_require_232602__(3); -var typeValidator_1 = __nested_webpack_require_232602__(4); -var validator_1 = __nested_webpack_require_232602__(1); +var multipleFieldsValidator_1 = __nested_webpack_require_234302__(3); +var typeValidator_1 = __nested_webpack_require_234302__(4); +var validator_1 = __nested_webpack_require_234302__(1); var QuickCreateValidator = /** @class */ (function (_super) { __extends(QuickCreateValidator, _super); function QuickCreateValidator() { @@ -5444,6 +5471,58 @@ var QuickCreateValidator = /** @class */ (function (_super) { exports.QuickCreateValidator = QuickCreateValidator; +/***/ }), +/* 33 */ +/***/ (function(__unused_webpack_module, exports, __nested_webpack_require_237175__) { + +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. +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 (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; }; + return extendStatics(d, b); + }; + return function (d, b) { + if (typeof b !== "function" && b !== null) + throw new TypeError("Class extends value " + String(b) + " is not a constructor or null"); + 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.PrintSettingsValidator = void 0; +var multipleFieldsValidator_1 = __nested_webpack_require_237175__(3); +var typeValidator_1 = __nested_webpack_require_237175__(4); +var PrintSettingsValidator = /** @class */ (function (_super) { + __extends(PrintSettingsValidator, _super); + function PrintSettingsValidator() { + return _super !== null && _super.apply(this, arguments) || this; + } + PrintSettingsValidator.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: "browserPrintAdjustmentsMode", + validators: [new typeValidator_1.EnumValidator([0, 1])] + } + ]; + var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields); + return multipleFieldsValidator.validate(input, path, field); + }; + return PrintSettingsValidator; +}(typeValidator_1.ObjectValidator)); +exports.PrintSettingsValidator = PrintSettingsValidator; + + /***/ }) /******/ ]); /************************************************************************/ @@ -5451,7 +5530,7 @@ exports.QuickCreateValidator = QuickCreateValidator; /******/ var __webpack_module_cache__ = {}; /******/ /******/ // The require function -/******/ function __nested_webpack_require_235634__(moduleId) { +/******/ function __nested_webpack_require_239527__(moduleId) { /******/ // Check if module is in cache /******/ var cachedModule = __webpack_module_cache__[moduleId]; /******/ if (cachedModule !== undefined) { @@ -5465,7 +5544,7 @@ exports.QuickCreateValidator = QuickCreateValidator; /******/ }; /******/ /******/ // Execute the module function -/******/ __webpack_modules__[moduleId].call(module.exports, module, module.exports, __nested_webpack_require_235634__); +/******/ __webpack_modules__[moduleId].call(module.exports, module, module.exports, __nested_webpack_require_239527__); /******/ /******/ // Return the exports of the module /******/ return module.exports; @@ -5476,34 +5555,34 @@ exports.QuickCreateValidator = QuickCreateValidator; /******/ // startup /******/ // Load entry module and return exports /******/ // This entry module is referenced by other modules so it can't be inlined -/******/ var __webpack_exports__ = __nested_webpack_require_235634__(0); +/******/ var __nested_webpack_exports__ = __nested_webpack_require_239527__(0); /******/ -/******/ return __webpack_exports__; +/******/ return __nested_webpack_exports__; /******/ })() ; }); //# sourceMappingURL=models.js.map // SIG // Begin signature block -// SIG // MIIrVgYJKoZIhvcNAQcCoIIrRzCCK0MCAQExDzANBglg +// SIG // MIIrSwYJKoZIhvcNAQcCoIIrPDCCKzgCAQExDzANBglg // SIG // hkgBZQMEAgEFADB3BgorBgEEAYI3AgEEoGkwZzAyBgor // SIG // BgEEAYI3AgEeMCQCAQEEEBDgyQbOONQRoqMAEEvTUJAC // SIG // AQACAQACAQACAQACAQAwMTANBglghkgBZQMEAgEFAAQg -// SIG // /i51IdNsxTS0JqJprFGAbZKQWzw3aaJrQs6hvB+vKCig -// SIG // ghF5MIIIiTCCB3GgAwIBAgITNgAAAanWkDBmQ9sfggAC -// SIG // AAABqTANBgkqhkiG9w0BAQsFADBBMRMwEQYKCZImiZPy +// SIG // xLtrVunVRrJVSWB0LPK/F3mt1yXA1Ex5UedxSKIGn6Kg +// SIG // ghFuMIIIfjCCB2agAwIBAgITNgAAAahTK9ZQq6y5UwAC +// SIG // AAABqDANBgkqhkiG9w0BAQsFADBBMRMwEQYKCZImiZPy // SIG // LGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRUw // SIG // EwYDVQQDEwxBTUUgQ1MgQ0EgMDEwHhcNMjIwNjEwMTgy -// SIG // NzA0WhcNMjMwNjEwMTgyNzA0WjAkMSIwIAYDVQQDExlN +// SIG // NzAzWhcNMjMwNjEwMTgyNzAzWjAkMSIwIAYDVQQDExlN // SIG // aWNyb3NvZnQgQXp1cmUgQ29kZSBTaWduMIIBIjANBgkq -// SIG // hkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAuLvS3Hq6XM6N -// SIG // 5ZVPdqZQQbTo4WFo9Ar6TqyLpZIqQpNoW9ZG58deayDX -// SIG // VV7wKgn0IAjewM3VfPGtiX8jjOz4VtelbCYnbV9zrqqU -// SIG // rtTlqTbFB1L+UWQO2DLhxB8QybLxi38KaiY1DC6DL5xK -// SIG // uAnIGWnVNS168FihSxIPneGKfG3nJH1CgSA/rJ7w7tnY -// SIG // 8hHlpPpMia6oKVAZSvos9/fDpBmX+cru3sXfEv19s+4O -// SIG // JKLoPlJiNR0PhsqW5hChTn+tjVOBu8Td7tcb+jf9QQs1 -// SIG // 2HPBtx3nMNhNlYZQrqXJMUy65RH2zAYAd9N9tdo6VRU/ -// SIG // 8vRYzYOrWHSulDVtMn2cjwIDAQABo4IFlTCCBZEwKQYJ +// SIG // hkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAnEdeHxP889b7 +// SIG // mrwL0Z0koWl4LoJ+zeHJ7UDmhaQAxyRIIw9tXSK910U/ +// SIG // pTle2lfbvL9vZR1U8zyRwy6WaVNT/rh+wOm9AKqrsbaB +// SIG // qlCsTRliD/TIgibyDuKIf/aV+Aok1yvoWVg2eNn/06XE +// SIG // bXA/k554/MzRFwxHJNnO9dGc8hke+UZxb94AZB6JWfXQ +// SIG // 3xzYYQtPQmVsTI2iQ/aDYkkS+nIgs/IjbConhB93V4oc +// SIG // 4rL8r9C5D29kDOZRQ2Y2/1eqXV5wb7QSdahpxk3457cf +// SIG // caTGsmz6nPQq7DqO9RqDO5dYD22V5bGQkf5wMhC0jlQq +// SIG // 1qFAhbD3nkXka5eErruzcwIDAQABo4IFijCCBYYwKQYJ // SIG // KwYBBAGCNxUKBBwwGjAMBgorBgEEAYI3WwEBMAoGCCsG // SIG // AQUFBwMDMD0GCSsGAQQBgjcVBwQwMC4GJisGAQQBgjcV // SIG // CIaQ4w2E1bR4hPGLPoWb3RbOnRKBYIPdzWaGlIwyAgFk @@ -5526,301 +5605,300 @@ exports.QuickCreateValidator = QuickCreateValidator; // SIG // eSUyMFNlcnZpY2VzLENOPVNlcnZpY2VzLENOPUNvbmZp // SIG // Z3VyYXRpb24sREM9QU1FLERDPUdCTD9jQUNlcnRpZmlj // SIG // YXRlP2Jhc2U/b2JqZWN0Q2xhc3M9Y2VydGlmaWNhdGlv -// SIG // bkF1dGhvcml0eTAdBgNVHQ4EFgQUj5gJWFiDzm06yLnX -// SIG // Wf2V9PM6+1cwDgYDVR0PAQH/BAQDAgeAMFAGA1UdEQRJ -// SIG // MEekRTBDMSkwJwYDVQQLEyBNaWNyb3NvZnQgT3BlcmF0 -// SIG // aW9ucyBQdWVydG8gUmljbzEWMBQGA1UEBRMNMjM2MTY3 -// SIG // KzQ3MDg2MTCCAeYGA1UdHwSCAd0wggHZMIIB1aCCAdGg -// SIG // ggHNhj9odHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtp -// SIG // aW5mcmEvQ1JML0FNRSUyMENTJTIwQ0ElMjAwMSgyKS5j -// SIG // cmyGMWh0dHA6Ly9jcmwxLmFtZS5nYmwvY3JsL0FNRSUy -// SIG // MENTJTIwQ0ElMjAwMSgyKS5jcmyGMWh0dHA6Ly9jcmwy -// SIG // LmFtZS5nYmwvY3JsL0FNRSUyMENTJTIwQ0ElMjAwMSgy -// SIG // KS5jcmyGMWh0dHA6Ly9jcmwzLmFtZS5nYmwvY3JsL0FN -// SIG // RSUyMENTJTIwQ0ElMjAwMSgyKS5jcmyGMWh0dHA6Ly9j -// SIG // cmw0LmFtZS5nYmwvY3JsL0FNRSUyMENTJTIwQ0ElMjAw -// SIG // MSgyKS5jcmyGgb1sZGFwOi8vL0NOPUFNRSUyMENTJTIw -// SIG // Q0ElMjAwMSgyKSxDTj1CWTJQS0lDU0NBMDEsQ049Q0RQ -// SIG // LENOPVB1YmxpYyUyMEtleSUyMFNlcnZpY2VzLENOPVNl -// SIG // cnZpY2VzLENOPUNvbmZpZ3VyYXRpb24sREM9QU1FLERD -// SIG // PUdCTD9jZXJ0aWZpY2F0ZVJldm9jYXRpb25MaXN0P2Jh -// SIG // c2U/b2JqZWN0Q2xhc3M9Y1JMRGlzdHJpYnV0aW9uUG9p -// SIG // bnQwHwYDVR0jBBgwFoAUllGE4Gtve/7YBqvD8oXmKa5q -// SIG // +dQwHwYDVR0lBBgwFgYKKwYBBAGCN1sBAQYIKwYBBQUH -// SIG // AwMwDQYJKoZIhvcNAQELBQADggEBAHD1OJbFZ/tIa5Zp -// SIG // DzeU+mqWHOdF2htAZKicRfNYhaajjyYRvCTUKn/5SZGU -// SIG // KKdVmsxiFtCOp2lJ2+C3b7IJukkqC9SmpIkQLhBuz7uK -// SIG // 4NsXB6Xn3Iv32YuKeH4sqdRqJMCezhsale/Sh6fecsVW -// SIG // pJnsvfXxdXBCyoVbAZCZCQN3dOXUz4DtEfV2fxhRzTfS -// SIG // UhKsr1VSY9HC/myediSqvqd3zfgK9j6IR0DcL3WkKiV0 -// SIG // B/dnYwntnntrhFxGYQuPPXBA7xX10SB/8CVA8V1NovOk -// SIG // tGO5cgvmVMe5pA2m9M7sOBgFkjXgPD7i4PoL5X0mK+6b -// SIG // nchiEZj1C5l1X6LzJH4wggjoMIIG0KADAgECAhMfAAAA -// SIG // UeqP9pxzDKg7AAAAAABRMA0GCSqGSIb3DQEBCwUAMDwx -// SIG // EzARBgoJkiaJk/IsZAEZFgNHQkwxEzARBgoJkiaJk/Is -// SIG // ZAEZFgNBTUUxEDAOBgNVBAMTB2FtZXJvb3QwHhcNMjEw -// SIG // NTIxMTg0NDE0WhcNMjYwNTIxMTg1NDE0WjBBMRMwEQYK -// SIG // CZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYD -// SIG // QU1FMRUwEwYDVQQDEwxBTUUgQ1MgQ0EgMDEwggEiMA0G -// SIG // CSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDJmlIJfQGe -// SIG // jVbXKpcyFPoFSUllalrinfEV6JMc7i+bZDoL9rNHnHDG -// SIG // fJgeuRIYO1LY/1f4oMTrhXbSaYRCS5vGc8145WcTZG90 -// SIG // 8bGDCWr4GFLc411WxA+Pv2rteAcz0eHMH36qTQ8L0o3X -// SIG // Ob2n+x7KJFLokXV1s6pF/WlSXsUBXGaCIIWBXyEchv+s -// SIG // M9eKDsUOLdLTITHYJQNWkiryMSEbxqdQUTVZjEz6eLRL -// SIG // kofDAo8pXirIYOgM770CYOiZrcKHK7lYOVblx22pdNaw -// SIG // Y8Te6a2dfoCaWV1QUuazg5VHiC4p/6fksgEILptOKhx9 -// SIG // c+iapiNhMrHsAYx9pUtppeaFAgMBAAGjggTcMIIE2DAS -// SIG // BgkrBgEEAYI3FQEEBQIDAgACMCMGCSsGAQQBgjcVAgQW -// SIG // BBQSaCRCIUfL1Gu+Mc8gpMALI38/RzAdBgNVHQ4EFgQU -// SIG // llGE4Gtve/7YBqvD8oXmKa5q+dQwggEEBgNVHSUEgfww -// SIG // gfkGBysGAQUCAwUGCCsGAQUFBwMBBggrBgEFBQcDAgYK -// SIG // KwYBBAGCNxQCAQYJKwYBBAGCNxUGBgorBgEEAYI3CgMM -// SIG // BgkrBgEEAYI3FQYGCCsGAQUFBwMJBggrBgEFBQgCAgYK -// SIG // KwYBBAGCN0ABAQYLKwYBBAGCNwoDBAEGCisGAQQBgjcK -// SIG // AwQGCSsGAQQBgjcVBQYKKwYBBAGCNxQCAgYKKwYBBAGC -// SIG // NxQCAwYIKwYBBQUHAwMGCisGAQQBgjdbAQEGCisGAQQB -// SIG // gjdbAgEGCisGAQQBgjdbAwEGCisGAQQBgjdbBQEGCisG -// SIG // AQQBgjdbBAEGCisGAQQBgjdbBAIwGQYJKwYBBAGCNxQC -// SIG // BAweCgBTAHUAYgBDAEEwCwYDVR0PBAQDAgGGMBIGA1Ud -// SIG // EwEB/wQIMAYBAf8CAQAwHwYDVR0jBBgwFoAUKV5RXmSu -// SIG // NLnrrJwNp4x1AdEJCygwggFoBgNVHR8EggFfMIIBWzCC -// SIG // AVegggFToIIBT4YxaHR0cDovL2NybC5taWNyb3NvZnQu -// SIG // Y29tL3BraWluZnJhL2NybC9hbWVyb290LmNybIYjaHR0 -// SIG // cDovL2NybDIuYW1lLmdibC9jcmwvYW1lcm9vdC5jcmyG -// SIG // I2h0dHA6Ly9jcmwzLmFtZS5nYmwvY3JsL2FtZXJvb3Qu -// SIG // Y3JshiNodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9hbWVy -// SIG // b290LmNybIaBqmxkYXA6Ly8vQ049YW1lcm9vdCxDTj1B -// SIG // TUVSb290LENOPUNEUCxDTj1QdWJsaWMlMjBLZXklMjBT -// SIG // ZXJ2aWNlcyxDTj1TZXJ2aWNlcyxDTj1Db25maWd1cmF0 -// SIG // aW9uLERDPUFNRSxEQz1HQkw/Y2VydGlmaWNhdGVSZXZv -// SIG // Y2F0aW9uTGlzdD9iYXNlP29iamVjdENsYXNzPWNSTERp -// SIG // c3RyaWJ1dGlvblBvaW50MIIBqwYIKwYBBQUHAQEEggGd -// SIG // MIIBmTBHBggrBgEFBQcwAoY7aHR0cDovL2NybC5taWNy -// SIG // b3NvZnQuY29tL3BraWluZnJhL2NlcnRzL0FNRVJvb3Rf -// SIG // YW1lcm9vdC5jcnQwNwYIKwYBBQUHMAKGK2h0dHA6Ly9j -// SIG // cmwyLmFtZS5nYmwvYWlhL0FNRVJvb3RfYW1lcm9vdC5j -// SIG // cnQwNwYIKwYBBQUHMAKGK2h0dHA6Ly9jcmwzLmFtZS5n -// SIG // YmwvYWlhL0FNRVJvb3RfYW1lcm9vdC5jcnQwNwYIKwYB -// SIG // BQUHMAKGK2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0FN -// SIG // RVJvb3RfYW1lcm9vdC5jcnQwgaIGCCsGAQUFBzAChoGV -// SIG // bGRhcDovLy9DTj1hbWVyb290LENOPUFJQSxDTj1QdWJs -// SIG // aWMlMjBLZXklMjBTZXJ2aWNlcyxDTj1TZXJ2aWNlcyxD -// SIG // Tj1Db25maWd1cmF0aW9uLERDPUFNRSxEQz1HQkw/Y0FD -// SIG // ZXJ0aWZpY2F0ZT9iYXNlP29iamVjdENsYXNzPWNlcnRp -// SIG // ZmljYXRpb25BdXRob3JpdHkwDQYJKoZIhvcNAQELBQAD -// SIG // ggIBAFAQI7dPD+jfXtGt3vJp2pyzA/HUu8hjKaRpM3op -// SIG // ya5G3ocprRd7vdTHb8BDfRN+AD0YEmeDB5HKQoG6xHPI -// SIG // 5TXuIi5sm/LeADbV3C2q0HQOygS/VT+m1W7a/752hMIn -// SIG // +L4ZuyxVeSBpfwf7oQ4YSZPh6+ngZvBHgfBaVz4O9/wc -// SIG // fw91QDZnTgK9zAh9yRKKls2bziPEnxeOZMVNaxyV0v15 -// SIG // 2PY2xjqIafIkUjK6vY9LtVFjJXenVUAmn3WCPWNFC1YT -// SIG // IIHw/mD2cTfPy7QA1pT+GPARAKt0bKtq9aCd/Ym0b5tP -// SIG // bpgCiRtzyb7fbNS1dE740re0COE67YV2wbeo2sXixzvL -// SIG // ftH8L7s9xv9wV+G22qyKt6lmKLjFK1yMw4Ni5fMabcgm -// SIG // zRvSjAcbqgp3tk4a8emaaH0rz8MuuIP+yrxtREPXSqL/ -// SIG // C5bzMzsikuDW9xH10graZzSmPjilzpRfRdu20/9UQmC7 -// SIG // eVPZ4j1WNa1oqPHfzET3ChIzJ6Q9G3NPCB+7KwX0OQmK -// SIG // yv7IDimj8U/GlsHD1z+EF/fYMf8YXG15LamaOAohsw/y -// SIG // wO6SYSreVW+5Y0mzJutnBC9Cm9ozj1+/4kqksrlhZgR/ -// SIG // CSxhFH3BTweH8gP2FEISRtShDZbuYymynY1un+RyfiK9 -// SIG // +iVTLdD1h/SxyxDpZMtimb4CgJQlMYIZNTCCGTECAQEw -// SIG // WDBBMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZIm -// SIG // iZPyLGQBGRYDQU1FMRUwEwYDVQQDEwxBTUUgQ1MgQ0Eg -// SIG // MDECEzYAAAGp1pAwZkPbH4IAAgAAAakwDQYJYIZIAWUD -// SIG // BAIBBQCgga4wGQYJKoZIhvcNAQkDMQwGCisGAQQBgjcC -// SIG // AQQwHAYKKwYBBAGCNwIBCzEOMAwGCisGAQQBgjcCARUw -// SIG // LwYJKoZIhvcNAQkEMSIEIEgzLPlSRdtRALewHjk0YF65 -// SIG // k1BN+zhlWpF7dpatkUNNMEIGCisGAQQBgjcCAQwxNDAy -// SIG // oBSAEgBNAGkAYwByAG8AcwBvAGYAdKEagBhodHRwOi8v -// SIG // d3d3Lm1pY3Jvc29mdC5jb20wDQYJKoZIhvcNAQEBBQAE -// SIG // ggEAo7s9H4+5ZCFpGU+mzKmSZNKGszg3RSKhV5NPmrAP -// SIG // MIUNLJvqKkNJ/782HHPkUqa5fxJpeKTY4oRyv2Jr8Edf -// SIG // eB/84/cwhtKbj+TLdHX4mro+OKoQmOC6MvxT3Jg/lWsT -// SIG // qiYJoRQ1hajAdRsZ8ukon3JoSdQRTcQOjchiX5p+VarN -// SIG // LQlesuKl8srWej8Col6ASZNierCPh7Zep+8YnDQGxwXt -// SIG // 9PvGetnUTF/4kw42UQNn8kABdhJYfpuveqXIfAarCLgG -// SIG // Ev3PTG0dA/c2oqHlqwZw/BBOL4LbVEbGFGfY4L3j8Pgc -// SIG // axN+CvwzXA6YQWIRcrp+KnTSQoenP051gteIhaGCFv0w -// SIG // ghb5BgorBgEEAYI3AwMBMYIW6TCCFuUGCSqGSIb3DQEH -// SIG // AqCCFtYwghbSAgEDMQ8wDQYJYIZIAWUDBAIBBQAwggFR -// SIG // BgsqhkiG9w0BCRABBKCCAUAEggE8MIIBOAIBAQYKKwYB -// SIG // BAGEWQoDATAxMA0GCWCGSAFlAwQCAQUABCC3cDSDpi62 -// SIG // ZHR/9yf8bEyPbB6XeS1AF23Ph/1CEGjCVAIGY2z2CHbT -// SIG // GBMyMDIyMTEyMDA3NDQ0NC4xMzVaMASAAgH0oIHQpIHN -// SIG // MIHKMQswCQYDVQQGEwJVUzETMBEGA1UECBMKV2FzaGlu -// SIG // Z3RvbjEQMA4GA1UEBxMHUmVkbW9uZDEeMBwGA1UEChMV -// SIG // TWljcm9zb2Z0IENvcnBvcmF0aW9uMSUwIwYDVQQLExxN -// SIG // aWNyb3NvZnQgQW1lcmljYSBPcGVyYXRpb25zMSYwJAYD -// SIG // VQQLEx1UaGFsZXMgVFNTIEVTTjpENkJELUUzRTctMTY4 -// SIG // NTElMCMGA1UEAxMcTWljcm9zb2Z0IFRpbWUtU3RhbXAg -// SIG // U2VydmljZaCCEVQwggcMMIIE9KADAgECAhMzAAABx/sA -// SIG // oEpb8ifcAAEAAAHHMA0GCSqGSIb3DQEBCwUAMHwxCzAJ +// SIG // bkF1dGhvcml0eTAdBgNVHQ4EFgQUUchb+1j7hxhVLQdr +// SIG // TBwsRVxqi/IwDgYDVR0PAQH/BAQDAgeAMEUGA1UdEQQ+ +// SIG // MDykOjA4MR4wHAYDVQQLExVNaWNyb3NvZnQgQ29ycG9y +// SIG // YXRpb24xFjAUBgNVBAUTDTIzNjE2Nys0NzA4NjAwggHm +// SIG // BgNVHR8EggHdMIIB2TCCAdWgggHRoIIBzYY/aHR0cDov +// SIG // L2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9B +// SIG // TUUlMjBDUyUyMENBJTIwMDEoMikuY3JshjFodHRwOi8v +// SIG // Y3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBDUyUyMENBJTIw +// SIG // MDEoMikuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2Ny +// SIG // bC9BTUUlMjBDUyUyMENBJTIwMDEoMikuY3JshjFodHRw +// SIG // Oi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBDUyUyMENB +// SIG // JTIwMDEoMikuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2Js +// SIG // L2NybC9BTUUlMjBDUyUyMENBJTIwMDEoMikuY3JshoG9 +// SIG // bGRhcDovLy9DTj1BTUUlMjBDUyUyMENBJTIwMDEoMiks +// SIG // Q049QlkyUEtJQ1NDQTAxLENOPUNEUCxDTj1QdWJsaWMl +// SIG // MjBLZXklMjBTZXJ2aWNlcyxDTj1TZXJ2aWNlcyxDTj1D +// SIG // b25maWd1cmF0aW9uLERDPUFNRSxEQz1HQkw/Y2VydGlm +// SIG // aWNhdGVSZXZvY2F0aW9uTGlzdD9iYXNlP29iamVjdENs +// SIG // YXNzPWNSTERpc3RyaWJ1dGlvblBvaW50MB8GA1UdIwQY +// SIG // MBaAFJZRhOBrb3v+2Aarw/KF5imuavnUMB8GA1UdJQQY +// SIG // MBYGCisGAQQBgjdbAQEGCCsGAQUFBwMDMA0GCSqGSIb3 +// SIG // DQEBCwUAA4IBAQAOoFAbE6qv+1RAKHjMn56sREYNiKvh +// SIG // i11baGKOgpeVXuKztX5x9fQ2/DpXdUOkVe0w6cVoute2 +// SIG // 4WQACXKU+8ANjEMqaJq5DqsR52Q86V6LvjUQwMSfNgnj +// SIG // nb+mktUX1s8gNAQ2NUWsqG+Q0cmKbEGNFjnbsFvCKgDH +// SIG // OFHVJaYb5tNCU0nkWkMn1aA0y78u2wLvaQhSSx3I2A8O +// SIG // WLXWXahlAhV8ZEF04UatM/QwA5DubCgiUwK/TCXfRohY +// SIG // IouOD4h4MQ533o0sC3kVzvhSXdk2DXmgyBqzHrP+tJPQ +// SIG // A8IK5AJweyeJrKpdN39ZxV961rru4GXgQMfZ4L6+5v09 +// SIG // zP/7MIII6DCCBtCgAwIBAgITHwAAAFHqj/accwyoOwAA +// SIG // AAAAUTANBgkqhkiG9w0BAQsFADA8MRMwEQYKCZImiZPy +// SIG // LGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRAw +// SIG // DgYDVQQDEwdhbWVyb290MB4XDTIxMDUyMTE4NDQxNFoX +// SIG // DTI2MDUyMTE4NTQxNFowQTETMBEGCgmSJomT8ixkARkW +// SIG // A0dCTDETMBEGCgmSJomT8ixkARkWA0FNRTEVMBMGA1UE +// SIG // AxMMQU1FIENTIENBIDAxMIIBIjANBgkqhkiG9w0BAQEF +// SIG // AAOCAQ8AMIIBCgKCAQEAyZpSCX0Bno1W1yqXMhT6BUlJ +// SIG // ZWpa4p3xFeiTHO4vm2Q6C/azR5xwxnyYHrkSGDtS2P9X +// SIG // +KDE64V20mmEQkubxnPNeOVnE2RvdPGxgwlq+BhS3ONd +// SIG // VsQPj79q7XgHM9HhzB9+qk0PC9KN1zm9p/seyiRS6JF1 +// SIG // dbOqRf1pUl7FAVxmgiCFgV8hHIb/rDPXig7FDi3S0yEx +// SIG // 2CUDVpIq8jEhG8anUFE1WYxM+ni0S5KHwwKPKV4qyGDo +// SIG // DO+9AmDoma3Chyu5WDlW5cdtqXTWsGPE3umtnX6Amlld +// SIG // UFLms4OVR4guKf+n5LIBCC6bTiocfXPomqYjYTKx7AGM +// SIG // faVLaaXmhQIDAQABo4IE3DCCBNgwEgYJKwYBBAGCNxUB +// SIG // BAUCAwIAAjAjBgkrBgEEAYI3FQIEFgQUEmgkQiFHy9Rr +// SIG // vjHPIKTACyN/P0cwHQYDVR0OBBYEFJZRhOBrb3v+2Aar +// SIG // w/KF5imuavnUMIIBBAYDVR0lBIH8MIH5BgcrBgEFAgMF +// SIG // BggrBgEFBQcDAQYIKwYBBQUHAwIGCisGAQQBgjcUAgEG +// SIG // CSsGAQQBgjcVBgYKKwYBBAGCNwoDDAYJKwYBBAGCNxUG +// SIG // BggrBgEFBQcDCQYIKwYBBQUIAgIGCisGAQQBgjdAAQEG +// SIG // CysGAQQBgjcKAwQBBgorBgEEAYI3CgMEBgkrBgEEAYI3 +// SIG // FQUGCisGAQQBgjcUAgIGCisGAQQBgjcUAgMGCCsGAQUF +// SIG // BwMDBgorBgEEAYI3WwEBBgorBgEEAYI3WwIBBgorBgEE +// SIG // AYI3WwMBBgorBgEEAYI3WwUBBgorBgEEAYI3WwQBBgor +// SIG // BgEEAYI3WwQCMBkGCSsGAQQBgjcUAgQMHgoAUwB1AGIA +// SIG // QwBBMAsGA1UdDwQEAwIBhjASBgNVHRMBAf8ECDAGAQH/ +// SIG // AgEAMB8GA1UdIwQYMBaAFCleUV5krjS566ycDaeMdQHR +// SIG // CQsoMIIBaAYDVR0fBIIBXzCCAVswggFXoIIBU6CCAU+G +// SIG // MWh0dHA6Ly9jcmwubWljcm9zb2Z0LmNvbS9wa2lpbmZy +// SIG // YS9jcmwvYW1lcm9vdC5jcmyGI2h0dHA6Ly9jcmwyLmFt +// SIG // ZS5nYmwvY3JsL2FtZXJvb3QuY3JshiNodHRwOi8vY3Js +// SIG // My5hbWUuZ2JsL2NybC9hbWVyb290LmNybIYjaHR0cDov +// SIG // L2NybDEuYW1lLmdibC9jcmwvYW1lcm9vdC5jcmyGgaps +// SIG // ZGFwOi8vL0NOPWFtZXJvb3QsQ049QU1FUm9vdCxDTj1D +// SIG // RFAsQ049UHVibGljJTIwS2V5JTIwU2VydmljZXMsQ049 +// SIG // U2VydmljZXMsQ049Q29uZmlndXJhdGlvbixEQz1BTUUs +// SIG // REM9R0JMP2NlcnRpZmljYXRlUmV2b2NhdGlvbkxpc3Q/ +// SIG // YmFzZT9vYmplY3RDbGFzcz1jUkxEaXN0cmlidXRpb25Q +// SIG // b2ludDCCAasGCCsGAQUFBwEBBIIBnTCCAZkwRwYIKwYB +// SIG // BQUHMAKGO2h0dHA6Ly9jcmwubWljcm9zb2Z0LmNvbS9w +// SIG // a2lpbmZyYS9jZXJ0cy9BTUVSb290X2FtZXJvb3QuY3J0 +// SIG // MDcGCCsGAQUFBzAChitodHRwOi8vY3JsMi5hbWUuZ2Js +// SIG // L2FpYS9BTUVSb290X2FtZXJvb3QuY3J0MDcGCCsGAQUF +// SIG // BzAChitodHRwOi8vY3JsMy5hbWUuZ2JsL2FpYS9BTUVS +// SIG // b290X2FtZXJvb3QuY3J0MDcGCCsGAQUFBzAChitodHRw +// SIG // Oi8vY3JsMS5hbWUuZ2JsL2FpYS9BTUVSb290X2FtZXJv +// SIG // b3QuY3J0MIGiBggrBgEFBQcwAoaBlWxkYXA6Ly8vQ049 +// SIG // YW1lcm9vdCxDTj1BSUEsQ049UHVibGljJTIwS2V5JTIw +// SIG // U2VydmljZXMsQ049U2VydmljZXMsQ049Q29uZmlndXJh +// SIG // dGlvbixEQz1BTUUsREM9R0JMP2NBQ2VydGlmaWNhdGU/ +// SIG // YmFzZT9vYmplY3RDbGFzcz1jZXJ0aWZpY2F0aW9uQXV0 +// SIG // aG9yaXR5MA0GCSqGSIb3DQEBCwUAA4ICAQBQECO3Tw/o +// SIG // 317Rrd7yadqcswPx1LvIYymkaTN6KcmuRt6HKa0Xe73U +// SIG // x2/AQ30TfgA9GBJngweRykKBusRzyOU17iIubJvy3gA2 +// SIG // 1dwtqtB0DsoEv1U/ptVu2v++doTCJ/i+GbssVXkgaX8H +// SIG // +6EOGEmT4evp4GbwR4HwWlc+Dvf8HH8PdUA2Z04CvcwI +// SIG // fckSipbNm84jxJ8XjmTFTWscldL9edj2NsY6iGnyJFIy +// SIG // ur2PS7VRYyV3p1VAJp91gj1jRQtWEyCB8P5g9nE3z8u0 +// SIG // ANaU/hjwEQCrdGyravWgnf2JtG+bT26YAokbc8m+32zU +// SIG // tXRO+NK3tAjhOu2FdsG3qNrF4sc7y37R/C+7Pcb/cFfh +// SIG // ttqsirepZii4xStcjMODYuXzGm3IJs0b0owHG6oKd7ZO +// SIG // GvHpmmh9K8/DLriD/sq8bURD10qi/wuW8zM7IpLg1vcR +// SIG // 9dIK2mc0pj44pc6UX0XbttP/VEJgu3lT2eI9VjWtaKjx +// SIG // 38xE9woSMyekPRtzTwgfuysF9DkJisr+yA4po/FPxpbB +// SIG // w9c/hBf32DH/GFxteS2pmjgKIbMP8sDukmEq3lVvuWNJ +// SIG // sybrZwQvQpvaM49fv+JKpLK5YWYEfwksYRR9wU8Hh/ID +// SIG // 9hRCEkbUoQ2W7mMpsp2Nbp/kcn4ivfolUy3Q9Yf0scsQ +// SIG // 6WTLYpm+AoCUJTGCGTUwghkxAgEBMFgwQTETMBEGCgmS +// SIG // JomT8ixkARkWA0dCTDETMBEGCgmSJomT8ixkARkWA0FN +// SIG // RTEVMBMGA1UEAxMMQU1FIENTIENBIDAxAhM2AAABqFMr +// SIG // 1lCrrLlTAAIAAAGoMA0GCWCGSAFlAwQCAQUAoIGuMBkG +// SIG // CSqGSIb3DQEJAzEMBgorBgEEAYI3AgEEMBwGCisGAQQB +// SIG // gjcCAQsxDjAMBgorBgEEAYI3AgEVMC8GCSqGSIb3DQEJ +// SIG // BDEiBCBjRLYF14HDc56jvQAj1c/QH6Ok/nZz0hMCsCKZ +// SIG // Z76EhDBCBgorBgEEAYI3AgEMMTQwMqAUgBIATQBpAGMA +// SIG // cgBvAHMAbwBmAHShGoAYaHR0cDovL3d3dy5taWNyb3Nv +// SIG // ZnQuY29tMA0GCSqGSIb3DQEBAQUABIIBAIS+c42bOiEJ +// SIG // uQm4GLm2goBw8vLg23FrpNm95muZplv7Z1kIND9FN4kM +// SIG // K78rEpqfFgsz9PDvRpKDp0p/gmDaAeNcaDerca2Rfsab +// SIG // uyk4cHU2FHvRka1LuJewRO1n7W92FbeDdN/WrR81VSLq +// SIG // 5FaWCXH+GdIRXVM4inLo22uVhxBn5Oyn4SxVuSuBFPSN +// SIG // q2jz7kYlOTSCkQVmj2CnyHVzwUov4r5RCJGTWQW6j4lb +// SIG // UXPhKvoP2Tjtp+MC29DWJFgO60lYe3ihsUtdOb21KHg1 +// SIG // lPWovJIb8BtQTwbcidFV3WAFUFwS2hHJ/X6pEZ9W4Jks +// SIG // bHdP2S0bd/U8xg17TUuSQyChghb9MIIW+QYKKwYBBAGC +// SIG // NwMDATGCFukwghblBgkqhkiG9w0BBwKgghbWMIIW0gIB +// SIG // AzEPMA0GCWCGSAFlAwQCAQUAMIIBUQYLKoZIhvcNAQkQ +// SIG // AQSgggFABIIBPDCCATgCAQEGCisGAQQBhFkKAwEwMTAN +// SIG // BglghkgBZQMEAgEFAAQg/ZMAqe6x9fkTf00oQUJdUGoT +// SIG // oUvevXnPC0muAJQCF6YCBmPmYpKr+BgTMjAyMzAyMTMx +// SIG // MjIzNDMuNjcxWjAEgAIB9KCB0KSBzTCByjELMAkGA1UE +// SIG // BhMCVVMxEzARBgNVBAgTCldhc2hpbmd0b24xEDAOBgNV +// SIG // BAcTB1JlZG1vbmQxHjAcBgNVBAoTFU1pY3Jvc29mdCBD +// SIG // b3Jwb3JhdGlvbjElMCMGA1UECxMcTWljcm9zb2Z0IEFt +// SIG // ZXJpY2EgT3BlcmF0aW9uczEmMCQGA1UECxMdVGhhbGVz +// SIG // IFRTUyBFU046M0U3QS1FMzU5LUEyNUQxJTAjBgNVBAMT +// SIG // HE1pY3Jvc29mdCBUaW1lLVN0YW1wIFNlcnZpY2WgghFU +// SIG // MIIHDDCCBPSgAwIBAgITMwAAAcn61Y4lIHQCXgABAAAB +// SIG // yTANBgkqhkiG9w0BAQsFADB8MQswCQYDVQQGEwJVUzET +// SIG // MBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVk +// SIG // bW9uZDEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0 +// SIG // aW9uMSYwJAYDVQQDEx1NaWNyb3NvZnQgVGltZS1TdGFt +// SIG // cCBQQ0EgMjAxMDAeFw0yMjExMDQxOTAxMzhaFw0yNDAy +// SIG // MDIxOTAxMzhaMIHKMQswCQYDVQQGEwJVUzETMBEGA1UE +// SIG // CBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9uZDEe +// SIG // MBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMSUw +// SIG // IwYDVQQLExxNaWNyb3NvZnQgQW1lcmljYSBPcGVyYXRp +// SIG // b25zMSYwJAYDVQQLEx1UaGFsZXMgVFNTIEVTTjozRTdB +// SIG // LUUzNTktQTI1RDElMCMGA1UEAxMcTWljcm9zb2Z0IFRp +// SIG // bWUtU3RhbXAgU2VydmljZTCCAiIwDQYJKoZIhvcNAQEB +// SIG // BQADggIPADCCAgoCggIBANZy4uWOb8/CvlqMYZO6hlv7 +// SIG // wsYuXrkzNNU4hGxThvIO0hQdFTI2IKOk4kc4DkPgjedz +// SIG // gTipcjB1s0S+Mb2ktN2ZSIHrSCC2IgEqILBLZY8xJURz +// SIG // u3wxgxVnHc/pQjWJiaM7WxtzzK58W5VBx1JK+AuxAR29 +// SIG // mNOxneRiQYD/PuQGTbE5bBxnMx7OOZpj+61IHDJ//3PE +// SIG // PxmEqnU+DlxC6ed4ffRJ8heM3LHdmRY8XY9ZT/EBsGWU +// SIG // uBfNiQRntqQq0mpMhY08cxSlDsHEHq8AUf2GkJcu5rQq +// SIG // 2uDzXMhEJvp/yw3Hv1VYkGvDjNpwWRysOgsjKhMxSScu +// SIG // R4s8/Gesa6qiyrYvL4iVENBbapE10kd//8PDwCsgZbyG +// SIG // ExRfy8tyYd3G1XjoEprmzlcL/JzHoXEG9gLcXFP5XchF +// SIG // KsvP7YRByFjWm8x18eTvQ+G7UuqCXYC5h8a0wbRrHFUK +// SIG // sdM+f31CJCxO7W8H6KvOHBf1ESxMsN6ueyldlOIDoXN+ +// SIG // el2BFUHSV6OlRVgUA2G82p0Nuc2NtVApI/NtQsg/dIKq +// SIG // zt60D5XEKOnq8Ftgxdn7JoAG1as0LM+kZJmn8+K3te5J +// SIG // u6ntPT7sB8OXt8eWSBhKFZXzZyb+vvOdbsCl+gKWRcT8 +// SIG // 3kKO1v+QbWk5pGRIcGOQHQj4D79GmiBEJ9qhezLxcAnL +// SIG // AgMBAAGjggE2MIIBMjAdBgNVHQ4EFgQUBW+dZ0bCPKG+ +// SIG // eDoUxXlRe0QuMsswHwYDVR0jBBgwFoAUn6cVXQBeYl2D +// SIG // 9OXSZacbUzUZ6XIwXwYDVR0fBFgwVjBUoFKgUIZOaHR0 +// SIG // cDovL3d3dy5taWNyb3NvZnQuY29tL3BraW9wcy9jcmwv +// SIG // TWljcm9zb2Z0JTIwVGltZS1TdGFtcCUyMFBDQSUyMDIw +// SIG // MTAoMSkuY3JsMGwGCCsGAQUFBwEBBGAwXjBcBggrBgEF +// SIG // BQcwAoZQaHR0cDovL3d3dy5taWNyb3NvZnQuY29tL3Br +// SIG // aW9wcy9jZXJ0cy9NaWNyb3NvZnQlMjBUaW1lLVN0YW1w +// SIG // JTIwUENBJTIwMjAxMCgxKS5jcnQwDAYDVR0TAQH/BAIw +// SIG // ADATBgNVHSUEDDAKBggrBgEFBQcDCDANBgkqhkiG9w0B +// SIG // AQsFAAOCAgEANqi6nGbfR4pCB3I+wJZx4Y6LsUozngWk +// SIG // xPhCvGl3FS5vXAPA9v2WNjlKWLznYbgxFfYRJVZs6KYi +// SIG // bpP8QWIenViU0YZku4VY6xras0hVtC337EcrI8ZKbqso +// SIG // R4gQ8TFzBmehnc1H6lT9mXdjvifwWECYLPTR2M/wjOF2 +// SIG // kT/k9lTNyRNZkjtai2vpnweNu0Ii4/yQu01GIIeEWPqC +// SIG // zBVbkCWb12Jf4yExX1KaSaAGpAa9FXNq9ZD+Q4iWjb2V +// SIG // if3LmGolkOJPcacOsBs96qu8QFp5Rs7GsMBYY7cKuRB/ +// SIG // 7N+ywn3ocrgsPGUSfVt7YEhXqQFTO7FBPj691Lvoj7wV +// SIG // eE7EwzRS9AlSD1/tVziemERmCdpBxqaBnP+bIANiCkHJ +// SIG // fe2Q2CSKosYMCjX7cje9DtAE26U1YbGzdNRVZYtB/r4H +// SIG // Bocs5Oo6QMsBzw0kP8aBHhlOPujxU1zETv3zMxnFHH9G +// SIG // R6mTJtFIaB/LTrZNfJOge+SiV07WN2TO6U37q0r9kK7+ +// SIG // c8wgYssrLTj8PyCSPpPaKU4Grawt/S+vfysMrQ9Me7dI +// SIG // 5k17ZS2Whr6EpY3csq+kA0VZKrAmi1EkrAIlnmr+aoOu +// SIG // FN5i5nnpKNBPUyecs7Tf43Is5R8dF7IDrjerLm9wj1ew +// SIG // ADDIiqKXUGKoj17vSMb6l0+whP0jAtqXDckwggdxMIIF +// SIG // WaADAgECAhMzAAAAFcXna54Cm0mZAAAAAAAVMA0GCSqG +// SIG // SIb3DQEBCwUAMIGIMQswCQYDVQQGEwJVUzETMBEGA1UE +// SIG // CBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9uZDEe +// SIG // MBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMTIw +// SIG // MAYDVQQDEylNaWNyb3NvZnQgUm9vdCBDZXJ0aWZpY2F0 +// SIG // ZSBBdXRob3JpdHkgMjAxMDAeFw0yMTA5MzAxODIyMjVa +// SIG // Fw0zMDA5MzAxODMyMjVaMHwxCzAJBgNVBAYTAlVTMRMw +// SIG // EQYDVQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRt +// SIG // b25kMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRp +// SIG // b24xJjAkBgNVBAMTHU1pY3Jvc29mdCBUaW1lLVN0YW1w +// SIG // IFBDQSAyMDEwMIICIjANBgkqhkiG9w0BAQEFAAOCAg8A +// SIG // MIICCgKCAgEA5OGmTOe0ciELeaLL1yR5vQ7VgtP97pwH +// SIG // B9KpbE51yMo1V/YBf2xK4OK9uT4XYDP/XE/HZveVU3Fa +// SIG // 4n5KWv64NmeFRiMMtY0Tz3cywBAY6GB9alKDRLemjkZr +// SIG // BxTzxXb1hlDcwUTIcVxRMTegCjhuje3XD9gmU3w5YQJ6 +// SIG // xKr9cmmvHaus9ja+NSZk2pg7uhp7M62AW36MEBydUv62 +// SIG // 6GIl3GoPz130/o5Tz9bshVZN7928jaTjkY+yOSxRnOlw +// SIG // aQ3KNi1wjjHINSi947SHJMPgyY9+tVSP3PoFVZhtaDua +// SIG // Rr3tpK56KTesy+uDRedGbsoy1cCGMFxPLOJiss254o2I +// SIG // 5JasAUq7vnGpF1tnYN74kpEeHT39IM9zfUGaRnXNxF80 +// SIG // 3RKJ1v2lIH1+/NmeRd+2ci/bfV+AutuqfjbsNkz2K26o +// SIG // ElHovwUDo9Fzpk03dJQcNIIP8BDyt0cY7afomXw/TNuv +// SIG // XsLz1dhzPUNOwTM5TI4CvEJoLhDqhFFG4tG9ahhaYQFz +// SIG // ymeiXtcodgLiMxhy16cg8ML6EgrXY28MyTZki1ugpoMh +// SIG // XV8wdJGUlNi5UPkLiWHzNgY1GIRH29wb0f2y1BzFa/Zc +// SIG // UlFdEtsluq9QBXpsxREdcu+N+VLEhReTwDwV2xo3xwgV +// SIG // GD94q0W29R6HXtqPnhZyacaue7e3PmriLq0CAwEAAaOC +// SIG // Ad0wggHZMBIGCSsGAQQBgjcVAQQFAgMBAAEwIwYJKwYB +// SIG // BAGCNxUCBBYEFCqnUv5kxJq+gpE8RjUpzxD/LwTuMB0G +// SIG // A1UdDgQWBBSfpxVdAF5iXYP05dJlpxtTNRnpcjBcBgNV +// SIG // HSAEVTBTMFEGDCsGAQQBgjdMg30BATBBMD8GCCsGAQUF +// SIG // BwIBFjNodHRwOi8vd3d3Lm1pY3Jvc29mdC5jb20vcGtp +// SIG // b3BzL0RvY3MvUmVwb3NpdG9yeS5odG0wEwYDVR0lBAww +// SIG // CgYIKwYBBQUHAwgwGQYJKwYBBAGCNxQCBAweCgBTAHUA +// SIG // YgBDAEEwCwYDVR0PBAQDAgGGMA8GA1UdEwEB/wQFMAMB +// SIG // Af8wHwYDVR0jBBgwFoAU1fZWy4/oolxiaNE9lJBb186a +// SIG // GMQwVgYDVR0fBE8wTTBLoEmgR4ZFaHR0cDovL2NybC5t +// SIG // aWNyb3NvZnQuY29tL3BraS9jcmwvcHJvZHVjdHMvTWlj +// SIG // Um9vQ2VyQXV0XzIwMTAtMDYtMjMuY3JsMFoGCCsGAQUF +// SIG // BwEBBE4wTDBKBggrBgEFBQcwAoY+aHR0cDovL3d3dy5t +// SIG // aWNyb3NvZnQuY29tL3BraS9jZXJ0cy9NaWNSb29DZXJB +// SIG // dXRfMjAxMC0wNi0yMy5jcnQwDQYJKoZIhvcNAQELBQAD +// SIG // ggIBAJ1VffwqreEsH2cBMSRb4Z5yS/ypb+pcFLY+Tkdk +// SIG // eLEGk5c9MTO1OdfCcTY/2mRsfNB1OW27DzHkwo/7bNGh +// SIG // lBgi7ulmZzpTTd2YurYeeNg2LpypglYAA7AFvonoaeC6 +// SIG // Ce5732pvvinLbtg/SHUB2RjebYIM9W0jVOR4U3UkV7nd +// SIG // n/OOPcbzaN9l9qRWqveVtihVJ9AkvUCgvxm2EhIRXT0n +// SIG // 4ECWOKz3+SmJw7wXsFSFQrP8DJ6LGYnn8AtqgcKBGUIZ +// SIG // UnWKNsIdw2FzLixre24/LAl4FOmRsqlb30mjdAy87JGA +// SIG // 0j3mSj5mO0+7hvoyGtmW9I/2kQH2zsZ0/fZMcm8Qq3Uw +// SIG // xTSwethQ/gpY3UA8x1RtnWN0SCyxTkctwRQEcb9k+SS+ +// SIG // c23Kjgm9swFXSVRk2XPXfx5bRAGOWhmRaw2fpCjcZxko +// SIG // JLo4S5pu+yFUa2pFEUep8beuyOiJXk+d0tBMdrVXVAmx +// SIG // aQFEfnyhYWxz/gq77EFmPWn9y8FBSX5+k77L+DvktxW/ +// SIG // tM4+pTFRhLy/AsGConsXHRWJjXD+57XQKBqJC4822rpM +// SIG // +Zv/Cuk0+CQ1ZyvgDbjmjJnW4SLq8CdCPSWU5nR0W2rR +// SIG // nj7tfqAxM328y+l7vzhwRNGQ8cirOoo6CGJ/2XBjU02N +// SIG // 7oJtpQUQwXEGahC0HVUzWLOhcGbyoYICyzCCAjQCAQEw +// SIG // gfihgdCkgc0wgcoxCzAJBgNVBAYTAlVTMRMwEQYDVQQI +// SIG // EwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRtb25kMR4w +// SIG // HAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xJTAj +// SIG // BgNVBAsTHE1pY3Jvc29mdCBBbWVyaWNhIE9wZXJhdGlv +// SIG // bnMxJjAkBgNVBAsTHVRoYWxlcyBUU1MgRVNOOjNFN0Et +// SIG // RTM1OS1BMjVEMSUwIwYDVQQDExxNaWNyb3NvZnQgVGlt +// SIG // ZS1TdGFtcCBTZXJ2aWNloiMKAQEwBwYFKw4DAhoDFQB9 +// SIG // 6YvL/h4Bm41ULOBt+nUcVgbdDqCBgzCBgKR+MHwxCzAJ // SIG // BgNVBAYTAlVTMRMwEQYDVQQIEwpXYXNoaW5ndG9uMRAw // SIG // DgYDVQQHEwdSZWRtb25kMR4wHAYDVQQKExVNaWNyb3Nv // SIG // ZnQgQ29ycG9yYXRpb24xJjAkBgNVBAMTHU1pY3Jvc29m -// SIG // dCBUaW1lLVN0YW1wIFBDQSAyMDEwMB4XDTIyMTEwNDE5 -// SIG // MDEzNVoXDTI0MDIwMjE5MDEzNVowgcoxCzAJBgNVBAYT -// SIG // AlVTMRMwEQYDVQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQH -// SIG // EwdSZWRtb25kMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29y -// SIG // cG9yYXRpb24xJTAjBgNVBAsTHE1pY3Jvc29mdCBBbWVy -// SIG // aWNhIE9wZXJhdGlvbnMxJjAkBgNVBAsTHVRoYWxlcyBU -// SIG // U1MgRVNOOkQ2QkQtRTNFNy0xNjg1MSUwIwYDVQQDExxN -// SIG // aWNyb3NvZnQgVGltZS1TdGFtcCBTZXJ2aWNlMIICIjAN -// SIG // BgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAr0LcVtna -// SIG // tNFMBrQTtG9P8ISAPyyGmxNfhEzaOVlt088pBUFAIasm -// SIG // N/eOijE6Ucaf3c2bVnN/02ih0smSqYkm5P3ZwU7ZW202 -// SIG // b6cPDJjXcrjJj0qfnuccBtE3WU0vZ8CiQD7qrKxeF8YB -// SIG // NcS+PVtvsqhd5YW6AwhWqhjw1mYuLetF5b6aPif/3Rzl -// SIG // yqG3SV7QPiSJends7gG435Rsy1HJ4XnqztOJR41I0j3E -// SIG // Q05JMF5QNRi7kT6vXTT+MHVj27FVQ7bef/U+2EAbFj2X -// SIG // 2AOWbvglYaYnM3m/I/OWDHUgGw8KIdsDh3W1eusnF2D7 -// SIG // oenGgtahs+S1G5Uolf5ESg/9Z+38rhQwLgokY5k6p8k5 -// SIG // arYWtszdJK6JiIRl843H74k7+QqlT2LbAQPq8ivQv0gd -// SIG // clW2aJun1KrW+v52R3vAHCOtbUmxvD1eNGHqGqLagtlq -// SIG // 9UFXKXuXnqXJqruCYmfwdFMD0UP6ii1lFdeKL87PdjdA -// SIG // wyCiVcCEoLnvDzyvjNjxtkTdz6R4yF1N/X4PSQH4Flgs -// SIG // lyBIXggaSlPtvPuxAtuac/ITj4k0IRShGiYLBM2Dw6oe -// SIG // sLOoxe07OUPO+qXXOcJMVHhE0MlhhnxfN2B1JWFPWwQ6 -// SIG // ooWiqAOQDqzcDx+79shxA1Cx0K70eOBplMog27gYoLpB -// SIG // v7nRz4tHqoTyvA0CAwEAAaOCATYwggEyMB0GA1UdDgQW -// SIG // BBQFUNLdHD7BAF/VU/X/eEHLiUSSIDAfBgNVHSMEGDAW -// SIG // gBSfpxVdAF5iXYP05dJlpxtTNRnpcjBfBgNVHR8EWDBW -// SIG // MFSgUqBQhk5odHRwOi8vd3d3Lm1pY3Jvc29mdC5jb20v -// SIG // cGtpb3BzL2NybC9NaWNyb3NvZnQlMjBUaW1lLVN0YW1w -// SIG // JTIwUENBJTIwMjAxMCgxKS5jcmwwbAYIKwYBBQUHAQEE -// SIG // YDBeMFwGCCsGAQUFBzAChlBodHRwOi8vd3d3Lm1pY3Jv -// SIG // c29mdC5jb20vcGtpb3BzL2NlcnRzL01pY3Jvc29mdCUy -// SIG // MFRpbWUtU3RhbXAlMjBQQ0ElMjAyMDEwKDEpLmNydDAM -// SIG // BgNVHRMBAf8EAjAAMBMGA1UdJQQMMAoGCCsGAQUFBwMI -// SIG // MA0GCSqGSIb3DQEBCwUAA4ICAQDQy5c8ogP0y8xAsLVc -// SIG // a07wWy1mT+nqYgAFnz2972kNO+KJ7AE4f+SVbvOnkeeu -// SIG // OPq3xc+6TS8g3FuKKYEwYqvnRHxX58tjlscZsZeKnu7f -// SIG // GNUlpNT9bOQFHWALURuoXp8TLHhxj3PEq9jzFYBP2YNM -// SIG // Lol70ojY1qpze3nMMJfpdurdBBpaOLlJmRNTLhxd+RJG -// SIG // JQbY1XAcx6p/FigwqBasSDUxp+0yFPEBB9uBE3KILAtq -// SIG // 6fczGp4EMeon6YmkyCGAtXMKDFQQgdP/ITe7VghAVbPT -// SIG // VlP3hY1dFgc+t8YK2obFSFVKslkASATDHulCMht+WrIs -// SIG // ukclEUP9DaMmpq7S0RLODMicI6PtqqGOhdnaRltA0d+W -// SIG // f+0tPt9SUVtrPJyO7WMPKbykCRXzmHK06zr0kn1YiUYN -// SIG // XCsOgaHF5ImO2ZwQ54UE1I55jjUdldyjy/UPJgxRm9Ny -// SIG // XeO7adYr8K8f6Q2nPF0vWqFG7ewwaAl5ClKerzshfhB8 -// SIG // zujVR0d1Ra7Z01lnXYhWuPqVZayFl7JHr6i6huhpU6BQ -// SIG // 6/VgY0cBiksX4mNM+ISY81T1RYt7fWATNu/zkjINczip -// SIG // zbfg5S+3fCAo8gVB6+6A5L0vBg39dsFITv6MWJuQ8ZZy -// SIG // 7fwlFBZE4d5IFbRudakNwKGdyLGM2otaNq7wm3ku7x41 -// SIG // UGAmkDCCB3EwggVZoAMCAQICEzMAAAAVxedrngKbSZkA -// SIG // AAAAABUwDQYJKoZIhvcNAQELBQAwgYgxCzAJBgNVBAYT -// SIG // AlVTMRMwEQYDVQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQH -// SIG // EwdSZWRtb25kMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29y -// SIG // cG9yYXRpb24xMjAwBgNVBAMTKU1pY3Jvc29mdCBSb290 -// SIG // IENlcnRpZmljYXRlIEF1dGhvcml0eSAyMDEwMB4XDTIx -// SIG // MDkzMDE4MjIyNVoXDTMwMDkzMDE4MzIyNVowfDELMAkG -// SIG // A1UEBhMCVVMxEzARBgNVBAgTCldhc2hpbmd0b24xEDAO -// SIG // BgNVBAcTB1JlZG1vbmQxHjAcBgNVBAoTFU1pY3Jvc29m -// SIG // dCBDb3Jwb3JhdGlvbjEmMCQGA1UEAxMdTWljcm9zb2Z0 -// SIG // IFRpbWUtU3RhbXAgUENBIDIwMTAwggIiMA0GCSqGSIb3 -// SIG // DQEBAQUAA4ICDwAwggIKAoICAQDk4aZM57RyIQt5osvX -// SIG // JHm9DtWC0/3unAcH0qlsTnXIyjVX9gF/bErg4r25Phdg -// SIG // M/9cT8dm95VTcVrifkpa/rg2Z4VGIwy1jRPPdzLAEBjo -// SIG // YH1qUoNEt6aORmsHFPPFdvWGUNzBRMhxXFExN6AKOG6N -// SIG // 7dcP2CZTfDlhAnrEqv1yaa8dq6z2Nr41JmTamDu6Gnsz -// SIG // rYBbfowQHJ1S/rboYiXcag/PXfT+jlPP1uyFVk3v3byN -// SIG // pOORj7I5LFGc6XBpDco2LXCOMcg1KL3jtIckw+DJj361 -// SIG // VI/c+gVVmG1oO5pGve2krnopN6zL64NF50ZuyjLVwIYw -// SIG // XE8s4mKyzbnijYjklqwBSru+cakXW2dg3viSkR4dPf0g -// SIG // z3N9QZpGdc3EXzTdEonW/aUgfX782Z5F37ZyL9t9X4C6 -// SIG // 26p+Nuw2TPYrbqgSUei/BQOj0XOmTTd0lBw0gg/wEPK3 -// SIG // Rxjtp+iZfD9M269ewvPV2HM9Q07BMzlMjgK8QmguEOqE -// SIG // UUbi0b1qGFphAXPKZ6Je1yh2AuIzGHLXpyDwwvoSCtdj -// SIG // bwzJNmSLW6CmgyFdXzB0kZSU2LlQ+QuJYfM2BjUYhEfb -// SIG // 3BvR/bLUHMVr9lxSUV0S2yW6r1AFemzFER1y7435UsSF -// SIG // F5PAPBXbGjfHCBUYP3irRbb1Hode2o+eFnJpxq57t7c+ -// SIG // auIurQIDAQABo4IB3TCCAdkwEgYJKwYBBAGCNxUBBAUC -// SIG // AwEAATAjBgkrBgEEAYI3FQIEFgQUKqdS/mTEmr6CkTxG -// SIG // NSnPEP8vBO4wHQYDVR0OBBYEFJ+nFV0AXmJdg/Tl0mWn -// SIG // G1M1GelyMFwGA1UdIARVMFMwUQYMKwYBBAGCN0yDfQEB -// SIG // MEEwPwYIKwYBBQUHAgEWM2h0dHA6Ly93d3cubWljcm9z -// SIG // b2Z0LmNvbS9wa2lvcHMvRG9jcy9SZXBvc2l0b3J5Lmh0 -// SIG // bTATBgNVHSUEDDAKBggrBgEFBQcDCDAZBgkrBgEEAYI3 -// SIG // FAIEDB4KAFMAdQBiAEMAQTALBgNVHQ8EBAMCAYYwDwYD -// SIG // VR0TAQH/BAUwAwEB/zAfBgNVHSMEGDAWgBTV9lbLj+ii -// SIG // XGJo0T2UkFvXzpoYxDBWBgNVHR8ETzBNMEugSaBHhkVo -// SIG // dHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpL2NybC9w -// SIG // cm9kdWN0cy9NaWNSb29DZXJBdXRfMjAxMC0wNi0yMy5j -// SIG // cmwwWgYIKwYBBQUHAQEETjBMMEoGCCsGAQUFBzAChj5o -// SIG // dHRwOi8vd3d3Lm1pY3Jvc29mdC5jb20vcGtpL2NlcnRz -// SIG // L01pY1Jvb0NlckF1dF8yMDEwLTA2LTIzLmNydDANBgkq -// SIG // hkiG9w0BAQsFAAOCAgEAnVV9/Cqt4SwfZwExJFvhnnJL -// SIG // /Klv6lwUtj5OR2R4sQaTlz0xM7U518JxNj/aZGx80HU5 -// SIG // bbsPMeTCj/ts0aGUGCLu6WZnOlNN3Zi6th542DYunKmC -// SIG // VgADsAW+iehp4LoJ7nvfam++Kctu2D9IdQHZGN5tggz1 -// SIG // bSNU5HhTdSRXud2f8449xvNo32X2pFaq95W2KFUn0CS9 -// SIG // QKC/GbYSEhFdPSfgQJY4rPf5KYnDvBewVIVCs/wMnosZ -// SIG // iefwC2qBwoEZQhlSdYo2wh3DYXMuLGt7bj8sCXgU6ZGy -// SIG // qVvfSaN0DLzskYDSPeZKPmY7T7uG+jIa2Zb0j/aRAfbO -// SIG // xnT99kxybxCrdTDFNLB62FD+CljdQDzHVG2dY3RILLFO -// SIG // Ry3BFARxv2T5JL5zbcqOCb2zAVdJVGTZc9d/HltEAY5a -// SIG // GZFrDZ+kKNxnGSgkujhLmm77IVRrakURR6nxt67I6Ile -// SIG // T53S0Ex2tVdUCbFpAUR+fKFhbHP+CrvsQWY9af3LwUFJ -// SIG // fn6Tvsv4O+S3Fb+0zj6lMVGEvL8CwYKiexcdFYmNcP7n -// SIG // tdAoGokLjzbaukz5m/8K6TT4JDVnK+ANuOaMmdbhIurw -// SIG // J0I9JZTmdHRbatGePu1+oDEzfbzL6Xu/OHBE0ZDxyKs6 -// SIG // ijoIYn/ZcGNTTY3ugm2lBRDBcQZqELQdVTNYs6FwZvKh -// SIG // ggLLMIICNAIBATCB+KGB0KSBzTCByjELMAkGA1UEBhMC -// SIG // VVMxEzARBgNVBAgTCldhc2hpbmd0b24xEDAOBgNVBAcT -// SIG // B1JlZG1vbmQxHjAcBgNVBAoTFU1pY3Jvc29mdCBDb3Jw -// SIG // b3JhdGlvbjElMCMGA1UECxMcTWljcm9zb2Z0IEFtZXJp -// SIG // Y2EgT3BlcmF0aW9uczEmMCQGA1UECxMdVGhhbGVzIFRT -// SIG // UyBFU046RDZCRC1FM0U3LTE2ODUxJTAjBgNVBAMTHE1p -// SIG // Y3Jvc29mdCBUaW1lLVN0YW1wIFNlcnZpY2WiIwoBATAH -// SIG // BgUrDgMCGgMVAOIASP0JSbv5R23wxciQivHyckYooIGD -// SIG // MIGApH4wfDELMAkGA1UEBhMCVVMxEzARBgNVBAgTCldh -// SIG // c2hpbmd0b24xEDAOBgNVBAcTB1JlZG1vbmQxHjAcBgNV -// SIG // BAoTFU1pY3Jvc29mdCBDb3Jwb3JhdGlvbjEmMCQGA1UE -// SIG // AxMdTWljcm9zb2Z0IFRpbWUtU3RhbXAgUENBIDIwMTAw -// SIG // DQYJKoZIhvcNAQEFBQACBQDnI/oLMCIYDzIwMjIxMTIw -// SIG // MDg1NzQ3WhgPMjAyMjExMjEwODU3NDdaMHQwOgYKKwYB -// SIG // BAGEWQoEATEsMCowCgIFAOcj+gsCAQAwBwIBAAICHBww -// SIG // BwIBAAICEiowCgIFAOclS4sCAQAwNgYKKwYBBAGEWQoE -// SIG // AjEoMCYwDAYKKwYBBAGEWQoDAqAKMAgCAQACAwehIKEK -// SIG // MAgCAQACAwGGoDANBgkqhkiG9w0BAQUFAAOBgQBT0J06 -// SIG // x6PZG4//134XJhg5O4xmWeRezqg2dN507dbDtSo+CLxX -// SIG // H9ES2gCO7yF0PiYpmHD3wCISVhYOqZUQS8fyttZ0c0y3 -// SIG // SxBg3p+areajBqCwlAsA1Jj0P9xFZcIjdKHDmQdLmFV+ -// SIG // PSh+rV/X12A3iS9ApYPkJS3yIjXP4HfR+zGCBA0wggQJ -// SIG // AgEBMIGTMHwxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpX -// SIG // YXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRtb25kMR4wHAYD -// SIG // VQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xJjAkBgNV -// SIG // BAMTHU1pY3Jvc29mdCBUaW1lLVN0YW1wIFBDQSAyMDEw -// SIG // AhMzAAABx/sAoEpb8ifcAAEAAAHHMA0GCWCGSAFlAwQC -// SIG // AQUAoIIBSjAaBgkqhkiG9w0BCQMxDQYLKoZIhvcNAQkQ -// SIG // AQQwLwYJKoZIhvcNAQkEMSIEIDPjs8coVkVPbRmBuFRv -// SIG // rxI3sUvngRnt3OBZCvmJPX/xMIH6BgsqhkiG9w0BCRAC -// SIG // LzGB6jCB5zCB5DCBvQQgR+fl2+JSskULOeVYLbeMgk7H -// SIG // dIbREmAsjwtcy6MJkskwgZgwgYCkfjB8MQswCQYDVQQG -// SIG // EwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UE -// SIG // BxMHUmVkbW9uZDEeMBwGA1UEChMVTWljcm9zb2Z0IENv -// SIG // cnBvcmF0aW9uMSYwJAYDVQQDEx1NaWNyb3NvZnQgVGlt -// SIG // ZS1TdGFtcCBQQ0EgMjAxMAITMwAAAcf7AKBKW/In3AAB -// SIG // AAABxzAiBCAc2zxBUP4w0UoaCVlGQTdUxjMV2MuJl3TI -// SIG // Mgs34gPuaDANBgkqhkiG9w0BAQsFAASCAgBlUsc9c0V+ -// SIG // HDcIQQj9Y4Ub2P93+r/Fy4A32eL7fUnyD19zSC5bvD/r -// SIG // 3HIwoFg+19MJhmHovw3hFs5k5pyehwoSjA3yUX71kjbq -// SIG // QiqUTL1A6XomxjRp74fT+Q0b/CztpyB5OLRH3b3dd/Bi -// SIG // CofsDPzhsJdNxhWrLZQjD4/cbetxXMvN6kbXepug/nqD -// SIG // iloPxzy9hAjHLRo9ontyG5qkM365aNOc3gULdNuvCEiw -// SIG // /qJ3XF/3OcLVaPtL4FLsLBZKWZK0DE92rj66HhjSTiP7 -// SIG // JeC5dJKvU3PwafqiaAuK+UTxWKFo/Pc38d5LONVO3F/S -// SIG // XNlywNSaqTc46cd3a6V/QISNhQvM9G1gPGoK1pW1czlK -// SIG // +upSR4bdf18EQZNr81B9zkN1RK8Qo3kyAxT42Pq+GktX -// SIG // pz2jRRCOnWBcL+JFE2Jwf3vsg9zLPGDrfSsPGdcz3WiE -// SIG // ZchATs23Qv+789h1PFBWXCS6HA2sOgFMyW92i/xj0xPW -// SIG // OpGuXoV3Sz2CpdhB5rVLNvdFiKluwcI3svDTvS5G8vrs -// SIG // te0ZnWIz8BtYigYGWaDIlSo8Dm+kbxM5Y7rYLho3ZHB0 -// SIG // DMnWzJoJko1oX+6n7/L5oyCmE9WVialEn2JNL6Dn852n -// SIG // o497Zeqt9f8oj2UtHJvzxAhHvq1/fNNqdlY1Ws7WlDr2 -// SIG // 9tddA7XPj/kzLA== +// SIG // dCBUaW1lLVN0YW1wIFBDQSAyMDEwMA0GCSqGSIb3DQEB +// SIG // BQUAAgUA55QsqjAiGA8yMDIzMDIxMzExMjczOFoYDzIw +// SIG // MjMwMjE0MTEyNzM4WjB0MDoGCisGAQQBhFkKBAExLDAq +// SIG // MAoCBQDnlCyqAgEAMAcCAQACAgotMAcCAQACAhKYMAoC +// SIG // BQDnlX4qAgEAMDYGCisGAQQBhFkKBAIxKDAmMAwGCisG +// SIG // AQQBhFkKAwKgCjAIAgEAAgMHoSChCjAIAgEAAgMBhqAw +// SIG // DQYJKoZIhvcNAQEFBQADgYEAWH/j3j4dJ+ftP/fpoWoM +// SIG // dzibyxT1Zfv0jP4VCw+AbG/qhdm7YFDjP6GJ9O09OcZ4 +// SIG // zmDEgjxkHVolakT2bZOHlYG+QgPpxg5OUMCSh+hM1coP +// SIG // 2bOl1w3Iq4jd8xeqxJvSjMqr52k4DsSS0C36LFViRllf +// SIG // eBrKC2GbnA6OYDxbBJcxggQNMIIECQIBATCBkzB8MQsw +// SIG // CQYDVQQGEwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQ +// SIG // MA4GA1UEBxMHUmVkbW9uZDEeMBwGA1UEChMVTWljcm9z +// SIG // b2Z0IENvcnBvcmF0aW9uMSYwJAYDVQQDEx1NaWNyb3Nv +// SIG // ZnQgVGltZS1TdGFtcCBQQ0EgMjAxMAITMwAAAcn61Y4l +// SIG // IHQCXgABAAAByTANBglghkgBZQMEAgEFAKCCAUowGgYJ +// SIG // KoZIhvcNAQkDMQ0GCyqGSIb3DQEJEAEEMC8GCSqGSIb3 +// SIG // DQEJBDEiBCAnSycMArNSomfY7ha5/0IoVSwgYJe4NIr2 +// SIG // Zu5PXklibDCB+gYLKoZIhvcNAQkQAi8xgeowgecwgeQw +// SIG // gb0EIIF1zn9S3VFLECd4Kdh/YA0jIYkA/8194V184dk5 +// SIG // dv2BMIGYMIGApH4wfDELMAkGA1UEBhMCVVMxEzARBgNV +// SIG // BAgTCldhc2hpbmd0b24xEDAOBgNVBAcTB1JlZG1vbmQx +// SIG // HjAcBgNVBAoTFU1pY3Jvc29mdCBDb3Jwb3JhdGlvbjEm +// SIG // MCQGA1UEAxMdTWljcm9zb2Z0IFRpbWUtU3RhbXAgUENB +// SIG // IDIwMTACEzMAAAHJ+tWOJSB0Al4AAQAAAckwIgQgKq8V +// SIG // K74aQfHbKF2QOPZa23JRXUDLBs1wVRbiih+lxsYwDQYJ +// SIG // KoZIhvcNAQELBQAEggIAaQM4H0gzID/OUj2Z+WkvozrL +// SIG // o97FygMaSQb/5DkaODPJvQ7uIRVGirFDK+DEB7glUz4B +// SIG // pIbDxQw6Tdqy8krkgOcNtuIp48VBFRlyss6jqKWbXk7o +// SIG // zrLuRVw2AdsZtR2jV1aIQYOuz+EA+Vmn0udsq7y1nxKr +// SIG // ahZHYQqud2qw/l92C8XAqBExEtaP5+dAjz1jS27vAkAi +// SIG // sL/yI5mGd73pixoE6if2phYBF0KoqJyFQkFLfSuMRQ7L +// SIG // 4gA3di+jAz5BRx2MxbdyV3qqmvC4NbQFZBN9P4RxYx3l +// SIG // HeR+Tg2znNl87bfr+pjues0sbO7lloeMPF2lthrp7Kdw +// SIG // nUSGBMnhW691Z9Q5xLVuaEfIQogWr3IZlkA4sKuP1PyM +// SIG // XUMfLcqBuSVRz1+ryjN2jQxgS1WRQvvGxPDtpVOPXVo3 +// SIG // /bQ04B61Pi6Wh6d1XqXuFsKy7nISwvMXLPp/gVgYNdCg +// SIG // hgS8BnnzbzeythHPLddnHBECwjF7PSs2AKT/chMKpfK/ +// SIG // odvm6dnJDz81VMCZ0IvhlvISBAULam8DaC5pieM7mXCR +// SIG // ZeTgaWO+7U2kJIKopIsD3ZjBIYLV2EeulhwDPp0JPit3 +// SIG // bZ/ISGcvQeP0cEuozPBAOzbdEYxB2tM4i2Ucu3P7NeUW +// SIG // LWdEXlwm5ZIsOkBR1wPzOc2wU97v17qo/aIKOhVTjHQ= // SIG // End signature block @@ -7623,7 +7701,7 @@ exports.BookmarksManager = BookmarksManager; Object.defineProperty(exports, "__esModule", ({ value: true })); /** @ignore */ /** */ var config = { - version: '2.22.3', + version: '2.22.4', type: 'js' }; exports["default"] = config; diff --git a/dist/powerbi.min.js b/dist/powerbi.min.js index 311f1b0e..12f2bd98 100644 --- a/dist/powerbi.min.js +++ b/dist/powerbi.min.js @@ -1,5 +1,5 @@ -// powerbi-client v2.22.3 +// powerbi-client v2.22.4 // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. /*! For license information please see powerbi.js.LICENSE.txt */ -!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,(()=>(()=>{var t={615:function(t){var e;e=function(){return function(t){var e={};function r(i){if(e[i])return e[i].exports;var a=e[i]={exports:{},id:i,loaded:!1};return t[i].call(a.exports,a,a.exports,r),a.loaded=!0,a.exports}return r.m=t,r.c=e,r.p="",r(0)}([function(t,e){"use strict";var r=function(){function t(t,e,r){void 0===e&&(e={}),this.defaultHeaders=e,this.defaultTargetWindow=r,this.windowPostMessageProxy=t}return t.addTrackingProperties=function(t,e){return t.headers=t.headers||{},e&&e.id&&(t.headers.id=e.id),t},t.getTrackingProperties=function(t){return{id:t.headers&&t.headers.id}},t.isErrorMessage=function(t){return"number"==typeof(t&&t.statusCode)&&!(200<=t.statusCode&&t.statusCode<300)},t.prototype.get=function(t,e,r){return void 0===e&&(e={}),void 0===r&&(r=this.defaultTargetWindow),this.send({method:"GET",url:t,headers:e},r)},t.prototype.post=function(t,e,r,i){return void 0===r&&(r={}),void 0===i&&(i=this.defaultTargetWindow),this.send({method:"POST",url:t,headers:r,body:e},i)},t.prototype.put=function(t,e,r,i){return void 0===r&&(r={}),void 0===i&&(i=this.defaultTargetWindow),this.send({method:"PUT",url:t,headers:r,body:e},i)},t.prototype.patch=function(t,e,r,i){return void 0===r&&(r={}),void 0===i&&(i=this.defaultTargetWindow),this.send({method:"PATCH",url:t,headers:r,body:e},i)},t.prototype.delete=function(t,e,r,i){return void 0===e&&(e=null),void 0===r&&(r={}),void 0===i&&(i=this.defaultTargetWindow),this.send({method:"DELETE",url:t,headers:r,body:e},i)},t.prototype.send=function(t,e){if(void 0===e&&(e=this.defaultTargetWindow),t.headers=this.assign({},this.defaultHeaders,t.headers),!e)throw new Error("target window is not provided. You must either provide the target window explicitly as argument to request, or specify default target window when constructing instance of this class.");return this.windowPostMessageProxy.postMessage(e,t)},t.prototype.assign=function(t){for(var e=[],r=1;r(()=>{var t=[function(t,e,r){var i,a=this&&this.__extends||(i=function(t,e){return i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},i(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.SortDirection=e.LegendPosition=e.TextAlignment=e.CommonErrorCodes=e.BookmarksPlayMode=e.ExportDataType=e.QnaMode=e.PageNavigationPosition=e.DataCacheMode=e.CredentialType=e.isPercentOfGrandTotal=e.isColumnAggr=e.isHierarchyLevelAggr=e.isHierarchyLevel=e.isColumn=e.isMeasure=e.getFilterType=e.isBasicFilterWithKeys=e.isFilterKeyColumnsTarget=e.HierarchyFilter=e.AdvancedFilter=e.TupleFilter=e.IdentityFilter=e.BasicFilterWithKeys=e.BasicFilter=e.RelativeTimeFilter=e.RelativeDateFilter=e.TopNFilter=e.IncludeExcludeFilter=e.NotSupportedFilter=e.Filter=e.RelativeDateOperators=e.RelativeDateFilterTimeUnit=e.FilterType=e.FiltersLevel=e.FiltersOperations=e.MenuLocation=e.ContrastMode=e.TokenType=e.ViewMode=e.Permissions=e.SectionVisibility=e.ReportAlignment=e.HyperlinkClickBehavior=e.LayoutType=e.VisualContainerDisplayMode=e.BackgroundType=e.DisplayOption=e.PageSizeType=e.TraceType=void 0,e.validateCommandsSettings=e.validateVisualSettings=e.validateVisualHeader=e.validateExportDataRequest=e.validateQnaInterpretInputData=e.validateLoadQnaConfiguration=e.validateSaveAsParameters=e.validateUpdateFiltersRequest=e.validateFilter=e.validatePage=e.validateTileLoad=e.validateDashboardLoad=e.validateQuickCreate=e.validateCreateReport=e.validatePaginatedReportLoad=e.validateReportLoad=e.validateMenuGroupExtension=e.validateExtension=e.validateCustomPageSize=e.validateVisualizationsPane=e.validateSyncSlicersPane=e.validateSelectionPane=e.validatePageNavigationPane=e.validateFieldsPane=e.validateFiltersPane=e.validateBookmarksPane=e.validatePanes=e.validateSettings=e.validateCaptureBookmarkRequest=e.validateApplyBookmarkStateRequest=e.validateApplyBookmarkByNameRequest=e.validateAddBookmarkRequest=e.validatePlayBookmarkRequest=e.validateSlicerState=e.validateSlicer=e.validateVisualSelector=e.isIExtensionArray=e.isIExtensions=e.isGroupedMenuExtension=e.isFlatMenuExtension=e.isReportFiltersArray=e.isOnLoadFilters=e.VisualDataRoleKindPreference=e.VisualDataRoleKind=e.CommandDisplayOption=e.SlicerTargetSelector=e.VisualTypeSelector=e.VisualSelector=e.PageSelector=e.Selector=void 0,e.validateZoomLevel=e.validateCustomTheme=void 0;var o,n,l,s,u,d,c,p,f,h,v,y,m,V,g,b,w,P,S,O=r(1);(S=e.TraceType||(e.TraceType={}))[S.Information=0]="Information",S[S.Verbose=1]="Verbose",S[S.Warning=2]="Warning",S[S.Error=3]="Error",S[S.ExpectedError=4]="ExpectedError",S[S.UnexpectedError=5]="UnexpectedError",S[S.Fatal=6]="Fatal",(P=e.PageSizeType||(e.PageSizeType={}))[P.Widescreen=0]="Widescreen",P[P.Standard=1]="Standard",P[P.Cortana=2]="Cortana",P[P.Letter=3]="Letter",P[P.Custom=4]="Custom",P[P.Mobile=5]="Mobile",(w=e.DisplayOption||(e.DisplayOption={}))[w.FitToPage=0]="FitToPage",w[w.FitToWidth=1]="FitToWidth",w[w.ActualSize=2]="ActualSize",(b=e.BackgroundType||(e.BackgroundType={}))[b.Default=0]="Default",b[b.Transparent=1]="Transparent",(g=e.VisualContainerDisplayMode||(e.VisualContainerDisplayMode={}))[g.Visible=0]="Visible",g[g.Hidden=1]="Hidden",(V=e.LayoutType||(e.LayoutType={}))[V.Master=0]="Master",V[V.Custom=1]="Custom",V[V.MobilePortrait=2]="MobilePortrait",V[V.MobileLandscape=3]="MobileLandscape",(m=e.HyperlinkClickBehavior||(e.HyperlinkClickBehavior={}))[m.Navigate=0]="Navigate",m[m.NavigateAndRaiseEvent=1]="NavigateAndRaiseEvent",m[m.RaiseEvent=2]="RaiseEvent",(y=e.ReportAlignment||(e.ReportAlignment={}))[y.Left=0]="Left",y[y.Center=1]="Center",y[y.Right=2]="Right",y[y.None=3]="None",(v=e.SectionVisibility||(e.SectionVisibility={}))[v.AlwaysVisible=0]="AlwaysVisible",v[v.HiddenInViewMode=1]="HiddenInViewMode",(h=e.Permissions||(e.Permissions={}))[h.Read=0]="Read",h[h.ReadWrite=1]="ReadWrite",h[h.Copy=2]="Copy",h[h.Create=4]="Create",h[h.All=7]="All",(f=e.ViewMode||(e.ViewMode={}))[f.View=0]="View",f[f.Edit=1]="Edit",(p=e.TokenType||(e.TokenType={}))[p.Aad=0]="Aad",p[p.Embed=1]="Embed",(c=e.ContrastMode||(e.ContrastMode={}))[c.None=0]="None",c[c.HighContrast1=1]="HighContrast1",c[c.HighContrast2=2]="HighContrast2",c[c.HighContrastBlack=3]="HighContrastBlack",c[c.HighContrastWhite=4]="HighContrastWhite",(d=e.MenuLocation||(e.MenuLocation={}))[d.Bottom=0]="Bottom",d[d.Top=1]="Top",(u=e.FiltersOperations||(e.FiltersOperations={}))[u.RemoveAll=0]="RemoveAll",u[u.ReplaceAll=1]="ReplaceAll",u[u.Add=2]="Add",u[u.Replace=3]="Replace",(s=e.FiltersLevel||(e.FiltersLevel={}))[s.Report=0]="Report",s[s.Page=1]="Page",s[s.Visual=2]="Visual",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",t[t.Identity=8]="Identity",t[t.Hierarchy=9]="Hierarchy"}(o=e.FilterType||(e.FilterType={})),(l=e.RelativeDateFilterTimeUnit||(e.RelativeDateFilterTimeUnit={}))[l.Days=0]="Days",l[l.Weeks=1]="Weeks",l[l.CalendarWeeks=2]="CalendarWeeks",l[l.Months=3]="Months",l[l.CalendarMonths=4]="CalendarMonths",l[l.Years=5]="Years",l[l.CalendarYears=6]="CalendarYears",l[l.Minutes=7]="Minutes",l[l.Hours=8]="Hours",(n=e.RelativeDateOperators||(e.RelativeDateOperators={}))[n.InLast=0]="InLast",n[n.InThis=1]="InThis",n[n.InNext=2]="InNext";var _=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=_;var T=function(t){function e(r,i,a){var n=t.call(this,r,o.Unknown)||this;return n.message=i,n.notSupportedTypeName=a,n.schemaUrl=e.schemaUrl,n}return a(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}(_);e.NotSupportedFilter=T;var E=function(t){function e(r,i,a){var n=t.call(this,r,o.IncludeExclude)||this;return n.values=a,n.isExclude=i,n.schemaUrl=e.schemaUrl,n}return a(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}(_);e.IncludeExcludeFilter=E;var F=function(t){function e(r,i,a,n){var l=t.call(this,r,o.TopN)||this;return l.operator=i,l.itemCount=a,l.schemaUrl=e.schemaUrl,l.orderBy=n,l}return a(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}(_);e.TopNFilter=F;var C=function(t){function e(r,i,a,n,l){var s=t.call(this,r,o.RelativeDate)||this;return s.operator=i,s.timeUnitsCount=a,s.timeUnitType=n,s.includeToday=l,s.schemaUrl=e.schemaUrl,s}return a(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}(_);e.RelativeDateFilter=C;var R=function(t){function e(r,i,a,n){var l=t.call(this,r,o.RelativeTime)||this;return l.operator=i,l.timeUnitsCount=a,l.timeUnitType=n,l.schemaUrl=e.schemaUrl,l}return a(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}(_);e.RelativeTimeFilter=R;var k=function(t){function e(r,i){for(var a=[],n=2;n0&&!a)throw new Error("You should pass the values to be filtered for each key. You passed: no values and ".concat(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,s=o.keyValues;l2)throw new Error("AdvancedFilters may not have more than two conditions. You passed: ".concat(a.length));if(1===l.length&&"And"!==i)throw new Error('Logical Operator must be "And" when there is only one condition provided');return s.conditions=l,s}return a(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}(_);e.AdvancedFilter=M;var L,I,q,D,N,B,U,H=function(t){function e(r,i){var a=t.call(this,r,o.Hierarchy)||this;return a.schemaUrl=e.schemaUrl,a.hierarchyData=i,a}return a(e,t),e.prototype.toJSON=function(){var e=t.prototype.toJSON.call(this);return e.hierarchyData=this.hierarchyData,e.target=this.target,e},e.schemaUrl="http://powerbi.com/product/schema#hierarchy",e}(_);function W(t){if(t.filterType)return t.filterType;var e=t,r=t;return"string"==typeof e.operator&&Array.isArray(e.values)?o.Basic:"string"==typeof r.logicalOperator&&Array.isArray(r.conditions)?o.Advanced:o.Unknown}function z(t){return!(!t.table||!t.column||t.aggregationFunction)}e.HierarchyFilter=H,e.isFilterKeyColumnsTarget=function(t){return z(t)&&!!t.keys},e.isBasicFilterWithKeys=function(t){return W(t)===o.Basic&&!!t.keyValues},e.getFilterType=W,e.isMeasure=function(t){return void 0!==t.table&&void 0!==t.measure},e.isColumn=z,e.isHierarchyLevel=function(t){return!(!(t.table&&t.hierarchy&&t.hierarchyLevel)||t.aggregationFunction)},e.isHierarchyLevelAggr=function(t){return!!(t.table&&t.hierarchy&&t.hierarchyLevel&&t.aggregationFunction)},e.isColumnAggr=function(t){return!!(t.table&&t.column&&t.aggregationFunction)},e.isPercentOfGrandTotal=function(t){return!!t.percentOfGrandTotal},(U=e.CredentialType||(e.CredentialType={}))[U.NoConnection=0]="NoConnection",U[U.OnBehalfOf=1]="OnBehalfOf",U[U.Anonymous=2]="Anonymous",(B=e.DataCacheMode||(e.DataCacheMode={}))[B.Import=0]="Import",B[B.DirectQuery=1]="DirectQuery",(N=e.PageNavigationPosition||(e.PageNavigationPosition={}))[N.Bottom=0]="Bottom",N[N.Left=1]="Left",(D=e.QnaMode||(e.QnaMode={}))[D.Interactive=0]="Interactive",D[D.ResultOnly=1]="ResultOnly",(q=e.ExportDataType||(e.ExportDataType={}))[q.Summarized=0]="Summarized",q[q.Underlying=1]="Underlying",(I=e.BookmarksPlayMode||(e.BookmarksPlayMode={}))[I.Off=0]="Off",I[I.Presentation=1]="Presentation",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"},(L=e.SortDirection||(e.SortDirection={}))[L.Ascending=1]="Ascending",L[L.Descending=2]="Descending";var Q=function(){function t(t){this.$schema=t}return t.prototype.toJSON=function(){return{$schema:this.$schema}},t}();e.Selector=Q;var G=function(t){function e(r){var i=t.call(this,e.schemaUrl)||this;return i.pageName=r,i}return a(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}(Q);e.PageSelector=G;var J=function(t){function e(r){var i=t.call(this,e.schemaUrl)||this;return i.visualName=r,i}return a(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}(Q);e.VisualSelector=J;var K=function(t){function e(e){var r=t.call(this,J.schemaUrl)||this;return r.visualType=e,r}return a(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}(Q);e.VisualTypeSelector=K;var Y,$,Z,X=function(t){function e(e){var r=t.call(this,J.schemaUrl)||this;return r.target=e,r}return a(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}(Q);function tt(t){return Array.isArray(t)}function et(t){return t&&!!t.groupName}function rt(t){return Array.isArray(t)}function it(t){var e=t.message;return e||(e="".concat(t.path," is invalid. Not meeting ").concat(t.keyword," constraint")),{message:e}}e.SlicerTargetSelector=X,(Z=e.CommandDisplayOption||(e.CommandDisplayOption={}))[Z.Enabled=0]="Enabled",Z[Z.Disabled=1]="Disabled",Z[Z.Hidden=2]="Hidden",($=e.VisualDataRoleKind||(e.VisualDataRoleKind={}))[$.Grouping=0]="Grouping",$[$.Measure=1]="Measure",$[$.GroupingOrMeasure=2]="GroupingOrMeasure",(Y=e.VisualDataRoleKindPreference||(e.VisualDataRoleKindPreference={}))[Y.Measure=0]="Measure",Y[Y.Grouping=1]="Grouping",e.isOnLoadFilters=function(t){return t&&!tt(t)},e.isReportFiltersArray=tt,e.isFlatMenuExtension=function(t){return t&&!et(t)},e.isGroupedMenuExtension=et,e.isIExtensions=function(t){return t&&!rt(t)},e.isIExtensionArray=rt,e.validateVisualSelector=function(t){var e=O.Validators.visualSelectorValidator.validate(t);return e?e.map(it):void 0},e.validateSlicer=function(t){var e=O.Validators.slicerValidator.validate(t);return e?e.map(it):void 0},e.validateSlicerState=function(t){var e=O.Validators.slicerStateValidator.validate(t);return e?e.map(it):void 0},e.validatePlayBookmarkRequest=function(t){var e=O.Validators.playBookmarkRequestValidator.validate(t);return e?e.map(it):void 0},e.validateAddBookmarkRequest=function(t){var e=O.Validators.addBookmarkRequestValidator.validate(t);return e?e.map(it):void 0},e.validateApplyBookmarkByNameRequest=function(t){var e=O.Validators.applyBookmarkByNameRequestValidator.validate(t);return e?e.map(it):void 0},e.validateApplyBookmarkStateRequest=function(t){var e=O.Validators.applyBookmarkStateRequestValidator.validate(t);return e?e.map(it):void 0},e.validateCaptureBookmarkRequest=function(t){var e=O.Validators.captureBookmarkRequestValidator.validate(t);return e?e.map(it):void 0},e.validateSettings=function(t){var e=O.Validators.settingsValidator.validate(t);return e?e.map(it):void 0},e.validatePanes=function(t){var e=O.Validators.reportPanesValidator.validate(t);return e?e.map(it):void 0},e.validateBookmarksPane=function(t){var e=O.Validators.bookmarksPaneValidator.validate(t);return e?e.map(it):void 0},e.validateFiltersPane=function(t){var e=O.Validators.filtersPaneValidator.validate(t);return e?e.map(it):void 0},e.validateFieldsPane=function(t){var e=O.Validators.fieldsPaneValidator.validate(t);return e?e.map(it):void 0},e.validatePageNavigationPane=function(t){var e=O.Validators.pageNavigationPaneValidator.validate(t);return e?e.map(it):void 0},e.validateSelectionPane=function(t){var e=O.Validators.selectionPaneValidator.validate(t);return e?e.map(it):void 0},e.validateSyncSlicersPane=function(t){var e=O.Validators.syncSlicersPaneValidator.validate(t);return e?e.map(it):void 0},e.validateVisualizationsPane=function(t){var e=O.Validators.visualizationsPaneValidator.validate(t);return e?e.map(it):void 0},e.validateCustomPageSize=function(t){var e=O.Validators.customPageSizeValidator.validate(t);return e?e.map(it):void 0},e.validateExtension=function(t){var e=O.Validators.extensionValidator.validate(t);return e?e.map(it):void 0},e.validateMenuGroupExtension=function(t){var e=O.Validators.menuGroupExtensionValidator.validate(t);return e?e.map(it):void 0},e.validateReportLoad=function(t){var e=O.Validators.reportLoadValidator.validate(t);return e?e.map(it):void 0},e.validatePaginatedReportLoad=function(t){var e=O.Validators.paginatedReportLoadValidator.validate(t);return e?e.map(it):void 0},e.validateCreateReport=function(t){var e=O.Validators.reportCreateValidator.validate(t);return e?e.map(it):void 0},e.validateQuickCreate=function(t){var e=O.Validators.quickCreateValidator.validate(t);return e?e.map(it):void 0},e.validateDashboardLoad=function(t){var e=O.Validators.dashboardLoadValidator.validate(t);return e?e.map(it):void 0},e.validateTileLoad=function(t){var e=O.Validators.tileLoadValidator.validate(t);return e?e.map(it):void 0},e.validatePage=function(t){var e=O.Validators.pageValidator.validate(t);return e?e.map(it):void 0},e.validateFilter=function(t){var e=O.Validators.filterValidator.validate(t);return e?e.map(it):void 0},e.validateUpdateFiltersRequest=function(t){var e=O.Validators.updateFiltersRequestValidator.validate(t);return e?e.map(it):void 0},e.validateSaveAsParameters=function(t){var e=O.Validators.saveAsParametersValidator.validate(t);return e?e.map(it):void 0},e.validateLoadQnaConfiguration=function(t){var e=O.Validators.loadQnaValidator.validate(t);return e?e.map(it):void 0},e.validateQnaInterpretInputData=function(t){var e=O.Validators.qnaInterpretInputDataValidator.validate(t);return e?e.map(it):void 0},e.validateExportDataRequest=function(t){var e=O.Validators.exportDataRequestValidator.validate(t);return e?e.map(it):void 0},e.validateVisualHeader=function(t){var e=O.Validators.visualHeaderValidator.validate(t);return e?e.map(it):void 0},e.validateVisualSettings=function(t){var e=O.Validators.visualSettingsValidator.validate(t);return e?e.map(it):void 0},e.validateCommandsSettings=function(t){var e=O.Validators.commandsSettingsValidator.validate(t);return e?e.map(it):void 0},e.validateCustomTheme=function(t){var e=O.Validators.customThemeValidator.validate(t);return e?e.map(it):void 0},e.validateZoomLevel=function(t){var e=O.Validators.zoomLevelValidator.validate(t);return e?e.map(it):void 0}},(t,e,r)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.Validators=void 0;var i=r(2),a=r(5),o=r(6),n=r(7),l=r(8),s=r(9),u=r(10),d=r(11),c=r(12),p=r(13),f=r(14),h=r(15),v=r(16),y=r(17),m=r(18),V=r(19),g=r(20),b=r(21),w=r(22),P=r(23),S=r(24),O=r(25),_=r(26),T=r(27),E=r(28),F=r(29),C=r(4),R=r(30),k=r(31),x=r(32);e.Validators={addBookmarkRequestValidator:new a.AddBookmarkRequestValidator,advancedFilterTypeValidator:new C.EnumValidator([0]),advancedFilterValidator:new c.AdvancedFilterValidator,anyArrayValidator:new C.ArrayValidator([new _.AnyOfValidator([new C.StringValidator,new C.NumberValidator,new C.BooleanValidator])]),anyFilterValidator:new _.AnyOfValidator([new c.BasicFilterValidator,new c.AdvancedFilterValidator,new c.IncludeExcludeFilterValidator,new c.NotSupportedFilterValidator,new c.RelativeDateFilterValidator,new c.TopNFilterValidator,new c.RelativeTimeFilterValidator,new c.HierarchyFilterValidator]),anyValueValidator:new _.AnyOfValidator([new C.StringValidator,new C.NumberValidator,new C.BooleanValidator]),actionBarValidator:new i.ActionBarValidator,statusBarValidator:new i.StatusBarValidator,applyBookmarkByNameRequestValidator:new a.ApplyBookmarkByNameRequestValidator,applyBookmarkStateRequestValidator:new a.ApplyBookmarkStateRequestValidator,applyBookmarkValidator:new _.AnyOfValidator([new a.ApplyBookmarkByNameRequestValidator,new a.ApplyBookmarkStateRequestValidator]),backgroundValidator:new C.EnumValidator([0,1]),basicFilterTypeValidator:new C.EnumValidator([1]),basicFilterValidator:new c.BasicFilterValidator,booleanArrayValidator:new C.BooleanArrayValidator,booleanValidator:new C.BooleanValidator,bookmarksPaneValidator:new h.BookmarksPaneValidator,captureBookmarkOptionsValidator:new a.CaptureBookmarkOptionsValidator,captureBookmarkRequestValidator:new a.CaptureBookmarkRequestValidator,columnSchemaArrayValidator:new C.ArrayValidator([new k.ColumnSchemaValidator]),commandDisplayOptionValidator:new C.EnumValidator([0,1,2]),commandExtensionSelectorValidator:new _.AnyOfValidator([new b.VisualSelectorValidator,new b.VisualTypeSelectorValidator]),commandExtensionArrayValidator:new C.ArrayValidator([new d.CommandExtensionValidator]),commandExtensionValidator:new d.CommandExtensionValidator,commandsSettingsArrayValidator:new C.ArrayValidator([new o.CommandsSettingsValidator]),commandsSettingsValidator:new o.CommandsSettingsValidator,conditionItemValidator:new c.ConditionItemValidator,contrastModeValidator:new C.EnumValidator([0,1,2,3,4]),credentialDetailsValidator:new F.MapValidator([new C.StringValidator],[new C.StringValidator]),credentialsValidator:new k.CredentialsValidator,credentialTypeValidator:new C.EnumValidator([0,1,2]),customLayoutDisplayOptionValidator:new C.EnumValidator([0,1,2]),customLayoutValidator:new p.CustomLayoutValidator,customPageSizeValidator:new f.CustomPageSizeValidator,customThemeValidator:new n.CustomThemeValidator,dashboardLoadValidator:new l.DashboardLoadValidator,dataCacheModeValidator:new C.EnumValidator([0,1]),datasetBindingValidator:new s.DatasetBindingValidator,datasetCreateConfigValidator:new k.DatasetCreateConfigValidator,datasourceConnectionConfigValidator:new k.DatasourceConnectionConfigValidator,displayStateModeValidator:new C.EnumValidator([0,1]),displayStateValidator:new p.DisplayStateValidator,exportDataRequestValidator:new u.ExportDataRequestValidator,extensionArrayValidator:new C.ArrayValidator([new d.ExtensionValidator]),extensionsValidator:new _.AnyOfValidator([new C.ArrayValidator([new d.ExtensionValidator]),new d.ExtensionsValidator]),extensionPointsValidator:new d.ExtensionPointsValidator,extensionValidator:new d.ExtensionValidator,fieldForbiddenValidator:new T.FieldForbiddenValidator,fieldRequiredValidator:new E.FieldRequiredValidator,fieldsPaneValidator:new h.FieldsPaneValidator,filterColumnTargetValidator:new c.FilterColumnTargetValidator,filterDisplaySettingsValidator:new c.FilterDisplaySettingsValidator,filterConditionsValidator:new C.ArrayValidator([new c.ConditionItemValidator]),filterHierarchyTargetValidator:new c.FilterHierarchyTargetValidator,filterMeasureTargetValidator:new c.FilterMeasureTargetValidator,filterTargetValidator:new _.AnyOfValidator([new c.FilterColumnTargetValidator,new c.FilterHierarchyTargetValidator,new c.FilterMeasureTargetValidator,new C.ArrayValidator([new _.AnyOfValidator([new c.FilterColumnTargetValidator,new c.FilterHierarchyTargetValidator,new c.FilterMeasureTargetValidator,new c.FilterKeyColumnsTargetValidator,new c.FilterKeyHierarchyTargetValidator])])]),filterValidator:new c.FilterValidator,filterTypeValidator:new C.EnumValidator([0,1,2,3,4,5,6,7,9]),filtersArrayValidator:new C.ArrayValidator([new c.FilterValidator]),filtersOperationsUpdateValidator:new C.EnumValidator([1,2,3]),filtersOperationsRemoveAllValidator:new C.EnumValidator([0]),filtersPaneValidator:new h.FiltersPaneValidator,hyperlinkClickBehaviorValidator:new C.EnumValidator([0,1,2]),includeExcludeFilterValidator:new c.IncludeExcludeFilterValidator,includeExludeFilterTypeValidator:new C.EnumValidator([3]),hierarchyFilterTypeValidator:new C.EnumValidator([9]),hierarchyFilterValuesValidator:new C.ArrayValidator([new c.HierarchyFilterNodeValidator]),layoutTypeValidator:new C.EnumValidator([0,1,2,3]),loadQnaValidator:new v.LoadQnaValidator,menuExtensionValidator:new _.AnyOfValidator([new d.FlatMenuExtensionValidator,new d.GroupedMenuExtensionValidator]),menuGroupExtensionArrayValidator:new C.ArrayValidator([new d.MenuGroupExtensionValidator]),menuGroupExtensionValidator:new d.MenuGroupExtensionValidator,menuLocationValidator:new C.EnumValidator([0,1]),notSupportedFilterTypeValidator:new C.EnumValidator([2]),notSupportedFilterValidator:new c.NotSupportedFilterValidator,numberArrayValidator:new C.NumberArrayValidator,numberValidator:new C.NumberValidator,onLoadFiltersBaseValidator:new _.AnyOfValidator([new c.OnLoadFiltersBaseValidator,new c.OnLoadFiltersBaseRemoveOperationValidator]),pageLayoutValidator:new F.MapValidator([new C.StringValidator],[new p.VisualLayoutValidator]),pageNavigationPaneValidator:new h.PageNavigationPaneValidator,pageNavigationPositionValidator:new C.EnumValidator([0,1]),pageSizeTypeValidator:new C.EnumValidator([0,1,2,3,4,5]),pageSizeValidator:new f.PageSizeValidator,pageValidator:new f.PageValidator,pageViewFieldValidator:new f.PageViewFieldValidator,pagesLayoutValidator:new F.MapValidator([new C.StringValidator],[new p.PageLayoutValidator]),paginatedReportCommandsValidator:new o.PaginatedReportCommandsValidator,paginatedReportLoadValidator:new V.PaginatedReportLoadValidator,paginatedReportsettingsValidator:new w.PaginatedReportSettingsValidator,parameterValuesArrayValidator:new C.ArrayValidator([new V.ReportParameterFieldsValidator]),parametersPanelValidator:new R.ParametersPanelValidator,permissionsValidator:new C.EnumValidator([0,1,2,4,7]),playBookmarkRequestValidator:new a.PlayBookmarkRequestValidator,qnaInterpretInputDataValidator:new v.QnaInterpretInputDataValidator,qnaPanesValidator:new h.QnaPanesValidator,qnaSettingValidator:new v.QnaSettingsValidator,quickCreateValidator:new x.QuickCreateValidator,rawDataValidator:new C.ArrayValidator([new C.ArrayValidator([new C.StringValidator])]),relativeDateFilterOperatorValidator:new C.EnumValidator([0,1,2]),relativeDateFilterTimeUnitTypeValidator:new C.EnumValidator([0,1,2,3,4,5,6]),relativeDateFilterTypeValidator:new C.EnumValidator([4]),relativeDateFilterValidator:new c.RelativeDateFilterValidator,relativeDateTimeFilterTypeValidator:new C.EnumValidator([4,7]),relativeDateTimeFilterUnitTypeValidator:new C.EnumValidator([0,1,2,3,4,5,6,7,8]),relativeTimeFilterTimeUnitTypeValidator:new C.EnumValidator([7,8]),relativeTimeFilterTypeValidator:new C.EnumValidator([7]),relativeTimeFilterValidator:new c.RelativeTimeFilterValidator,reportBarsValidator:new i.ReportBarsValidator,reportCreateValidator:new y.ReportCreateValidator,reportLoadFiltersValidator:new _.AnyOfValidator([new C.ArrayValidator([new c.FilterValidator]),new c.OnLoadFiltersValidator]),reportLoadValidator:new m.ReportLoadValidator,reportPanesValidator:new h.ReportPanesValidator,saveAsParametersValidator:new g.SaveAsParametersValidator,selectionPaneValidator:new h.SelectionPaneValidator,settingsValidator:new w.SettingsValidator,singleCommandSettingsValidator:new o.SingleCommandSettingsValidator,slicerSelectorValidator:new _.AnyOfValidator([new b.VisualSelectorValidator,new b.SlicerTargetSelectorValidator]),slicerStateValidator:new P.SlicerStateValidator,slicerTargetValidator:new _.AnyOfValidator([new c.FilterColumnTargetValidator,new c.FilterHierarchyTargetValidator,new c.FilterMeasureTargetValidator,new c.FilterKeyColumnsTargetValidator,new c.FilterKeyHierarchyTargetValidator]),slicerValidator:new P.SlicerValidator,stringArrayValidator:new C.StringArrayValidator,stringValidator:new C.StringValidator,syncSlicersPaneValidator:new h.SyncSlicersPaneValidator,tableDataArrayValidator:new C.ArrayValidator([new k.TableDataValidator]),tableSchemaListValidator:new C.ArrayValidator([new k.TableSchemaValidator]),tileLoadValidator:new S.TileLoadValidator,tokenTypeValidator:new C.EnumValidator([0,1]),topNFilterTypeValidator:new C.EnumValidator([5]),topNFilterValidator:new c.TopNFilterValidator,updateFiltersRequestValidator:new _.AnyOfValidator([new c.UpdateFiltersRequestValidator,new c.RemoveFiltersRequestValidator]),viewModeValidator:new C.EnumValidator([0,1]),visualCommandSelectorValidator:new _.AnyOfValidator([new b.VisualSelectorValidator,new b.VisualTypeSelectorValidator]),visualHeaderSelectorValidator:new _.AnyOfValidator([new b.VisualSelectorValidator,new b.VisualTypeSelectorValidator]),visualHeaderSettingsValidator:new O.VisualHeaderSettingsValidator,visualHeaderValidator:new O.VisualHeaderValidator,visualHeadersValidator:new C.ArrayValidator([new O.VisualHeaderValidator]),visualizationsPaneValidator:new h.VisualizationsPaneValidator,visualLayoutValidator:new p.VisualLayoutValidator,visualSelectorValidator:new b.VisualSelectorValidator,visualSettingsValidator:new O.VisualSettingsValidator,visualTypeSelectorValidator:new b.VisualTypeSelectorValidator,zoomLevelValidator:new C.RangeValidator(.25,4)}},function(t,e,r){var i,a=this&&this.__extends||(i=function(t,e){return i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},i(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.StatusBarValidator=e.ActionBarValidator=e.ReportBarsValidator=void 0;var o=r(3),n=r(4),l=r(1),s=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return a(e,t),e.prototype.validate=function(e,r,i){if(null==e)return null;var a=t.prototype.validate.call(this,e,r,i);if(a)return a;var n=[{field:"actionBar",validators:[l.Validators.actionBarValidator]},{field:"statusBar",validators:[l.Validators.statusBarValidator]}];return new o.MultipleFieldsValidator(n).validate(e,r,i)},e}(n.ObjectValidator);e.ReportBarsValidator=s;var u=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return a(e,t),e.prototype.validate=function(e,r,i){if(null==e)return null;var a=t.prototype.validate.call(this,e,r,i);if(a)return a;var n=[{field:"visible",validators:[l.Validators.booleanValidator]}];return new o.MultipleFieldsValidator(n).validate(e,r,i)},e}(n.ObjectValidator);e.ActionBarValidator=u;var d=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return a(e,t),e.prototype.validate=function(e,r,i){if(null==e)return null;var a=t.prototype.validate.call(this,e,r,i);if(a)return a;var n=[{field:"visible",validators:[l.Validators.booleanValidator]}];return new o.MultipleFieldsValidator(n).validate(e,r,i)},e}(n.ObjectValidator);e.StatusBarValidator=d},(t,e)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.MultipleFieldsValidator=void 0;var r=function(){function t(t){this.fieldValidatorsPairs=t}return t.prototype.validate=function(t,e,r){if(!this.fieldValidatorsPairs)return null;for(var i=e?e+"."+r:r,a=0,o=this.fieldValidatorsPairs;athis.maxValue||e{Object.defineProperty(e,"__esModule",{value:!0}),e.AnyOfValidator=void 0;var r=function(){function t(t){this.validators=t}return t.prototype.validate=function(t,e,r){if(null==t)return null;for(var i=!1,a=0,o=this.validators;a{Object.defineProperty(e,"__esModule",{value:!0}),e.FieldForbiddenValidator=void 0;var r=function(){function t(){}return t.prototype.validate=function(t,e,r){return void 0!==t?[{message:r+" is forbidden",path:(e?e+".":"")+r,keyword:"forbidden"}]:null},t}();e.FieldForbiddenValidator=r},(t,e)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.FieldRequiredValidator=void 0;var r=function(){function t(){}return t.prototype.validate=function(t,e,r){return null==t?[{message:r+" is required",path:(e?e+".":"")+r,keyword:"required"}]:null},t}();e.FieldRequiredValidator=r},function(t,e,r){var i,a=this&&this.__extends||(i=function(t,e){return i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},i(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.MapValidator=void 0;var o=function(t){function e(e,r){var i=t.call(this)||this;return i.keyValidators=e,i.valueValidators=r,i}return a(e,t),e.prototype.validate=function(e,r,i){if(null==e)return null;var a=t.prototype.validate.call(this,e,r,i);if(a)return a;for(var o in e)if(e.hasOwnProperty(o)){for(var n=(r?r+".":"")+i+"."+o,l=0,s=this.keyValidators;l2&&"[]"===n.slice(l-2)&&(s=!0,r[n=n.slice(0,l-2)]||(r[n]=[])),a=o[1]?g(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(-1!==(i=t.indexOf("?"))){var l=t.substr(i+1,t.length);t=t.substr(0,i),o=this.parseQueryString(l)}for("/"!==(t=decodeURI(t)).charAt(0)&&(t="/"+t),(e=t.length)>1&&"/"===t.charAt(e-1)&&(t=t.substr(0,e-1),n=!0),r=0;r{Object.defineProperty(e,"__esModule",{value:!0}),e.FilterBuilder=void 0;var r=function(){function t(){}return t.prototype.withTargetObject=function(t){return this.target=t,this},t.prototype.withColumnTarget=function(t,e){return this.target={table:t,column:e},this},t.prototype.withMeasureTarget=function(t,e){return this.target={table:t,measure:e},this},t.prototype.withHierarchyLevelTarget=function(t,e,r){return this.target={table:t,hierarchy:e,hierarchyLevel:r},this},t.prototype.withColumnAggregation=function(t,e,r){return this.target={table:t,column:e,aggregationFunction:r},this},t.prototype.withHierarchyLevelAggregationTarget=function(t,e,r,i){return this.target={table:t,hierarchy:e,hierarchyLevel:r,aggregationFunction:i},this},t}();e.FilterBuilder=r},567:(t,e,r)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.RelativeTimeFilterBuilder=e.RelativeDateFilterBuilder=e.TopNFilterBuilder=e.AdvancedFilterBuilder=e.BasicFilterBuilder=void 0;var i=r(153);Object.defineProperty(e,"BasicFilterBuilder",{enumerable:!0,get:function(){return i.BasicFilterBuilder}});var a=r(674);Object.defineProperty(e,"AdvancedFilterBuilder",{enumerable:!0,get:function(){return a.AdvancedFilterBuilder}});var o=r(664);Object.defineProperty(e,"TopNFilterBuilder",{enumerable:!0,get:function(){return o.TopNFilterBuilder}});var n=r(844);Object.defineProperty(e,"RelativeDateFilterBuilder",{enumerable:!0,get:function(){return n.RelativeDateFilterBuilder}});var l=r(275);Object.defineProperty(e,"RelativeTimeFilterBuilder",{enumerable:!0,get:function(){return l.RelativeTimeFilterBuilder}})},844:function(t,e,r){var i,a=this&&this.__extends||(i=function(t,e){return i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},i(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.RelativeDateFilterBuilder=void 0;var o=r(149),n=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.isTodayIncluded=!0,e}return a(e,t),e.prototype.inLast=function(t,e){return this.operator=o.RelativeDateOperators.InLast,this.timeUnitsCount=t,this.timeUnitType=e,this},e.prototype.inThis=function(t,e){return this.operator=o.RelativeDateOperators.InThis,this.timeUnitsCount=t,this.timeUnitType=e,this},e.prototype.inNext=function(t,e){return this.operator=o.RelativeDateOperators.InNext,this.timeUnitsCount=t,this.timeUnitType=e,this},e.prototype.includeToday=function(t){return this.isTodayIncluded=t,this},e.prototype.build=function(){return new o.RelativeDateFilter(this.target,this.operator,this.timeUnitsCount,this.timeUnitType,this.isTodayIncluded)},e}(r(277).FilterBuilder);e.RelativeDateFilterBuilder=n},275:function(t,e,r){var i,a=this&&this.__extends||(i=function(t,e){return i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},i(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.RelativeTimeFilterBuilder=void 0;var o=r(149),n=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return a(e,t),e.prototype.inLast=function(t,e){return this.operator=o.RelativeDateOperators.InLast,this.timeUnitsCount=t,this.timeUnitType=e,this},e.prototype.inThis=function(t,e){return this.operator=o.RelativeDateOperators.InThis,this.timeUnitsCount=t,this.timeUnitType=e,this},e.prototype.inNext=function(t,e){return this.operator=o.RelativeDateOperators.InNext,this.timeUnitsCount=t,this.timeUnitType=e,this},e.prototype.build=function(){return new o.RelativeTimeFilter(this.target,this.operator,this.timeUnitsCount,this.timeUnitType)},e}(r(277).FilterBuilder);e.RelativeTimeFilterBuilder=n},664:function(t,e,r){var i,a=this&&this.__extends||(i=function(t,e){return i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},i(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.TopNFilterBuilder=void 0;var o=r(149),n=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return a(e,t),e.prototype.top=function(t){return this.operator="Top",this.itemCount=t,this},e.prototype.bottom=function(t){return this.operator="Bottom",this.itemCount=t,this},e.prototype.orderByTarget=function(t){return this.orderByTargetValue=t,this},e.prototype.build=function(){return new o.TopNFilter(this.target,this.operator,this.itemCount,this.orderByTargetValue)},e}(r(277).FilterBuilder);e.TopNFilterBuilder=n},460:function(t,e,r){var i=this&&this.__awaiter||function(t,e,r,i){return new(r||(r=Promise))((function(a,o){function n(t){try{s(i.next(t))}catch(t){o(t)}}function l(t){try{s(i.throw(t))}catch(t){o(t)}}function s(t){var e;t.done?a(t.value):(e=t.value,e instanceof r?e:new r((function(t){t(e)}))).then(n,l)}s((i=i.apply(t,e||[])).next())}))},a=this&&this.__generator||function(t,e){var r,i,a,o,n={label:0,sent:function(){if(1&a[0])throw a[1];return a[1]},trys:[],ops:[]};return o={next:l(0),throw:l(1),return:l(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function l(o){return function(l){return function(o){if(r)throw new TypeError("Generator is already executing.");for(;n;)try{if(r=1,i&&(a=2&o[0]?i.return:o[0]?i.throw||((a=i.return)&&a.call(i),0):i.next)&&!(a=a.call(i,o[1])).done)return a;switch(i=0,a&&(o=[2&o[0],a.value]),o[0]){case 0:case 1:a=o;break;case 4:return n.label++,{value:o[1],done:!1};case 5:n.label++,i=o[1],o=[0];continue;case 7:o=n.ops.pop(),n.trys.pop();continue;default:if(!((a=(a=n.trys).length>0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]{Object.defineProperty(e,"__esModule",{value:!0}),e.default={version:"2.22.3",type:"js"}},536:function(t,e,r){var i,a=this&&this.__extends||(i=function(t,e){return i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},i(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}),o=this&&this.__awaiter||function(t,e,r,i){return new(r||(r=Promise))((function(a,o){function n(t){try{s(i.next(t))}catch(t){o(t)}}function l(t){try{s(i.throw(t))}catch(t){o(t)}}function s(t){var e;t.done?a(t.value):(e=t.value,e instanceof r?e:new r((function(t){t(e)}))).then(n,l)}s((i=i.apply(t,e||[])).next())}))},n=this&&this.__generator||function(t,e){var r,i,a,o,n={label:0,sent:function(){if(1&a[0])throw a[1];return a[1]},trys:[],ops:[]};return o={next:l(0),throw:l(1),return:l(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function l(o){return function(l){return function(o){if(r)throw new TypeError("Generator is already executing.");for(;n;)try{if(r=1,i&&(a=2&o[0]?i.return:o[0]?i.throw||((a=i.return)&&a.call(i),0):i.next)&&!(a=a.call(i,o[1])).done)return a;switch(i=0,a&&(o=[2&o[0],a.value]),o[0]){case 0:case 1:a=o;break;case 4:return n.label++,{value:o[1],done:!1};case 5:n.label++,i=o[1],o=[0];continue;case 7:o=n.ops.pop(),n.trys.pop();continue;default:if(!((a=(a=n.trys).length>0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]{Object.defineProperty(e,"__esModule",{value:!0}),e.EmbedUrlNotSupported=e.APINotSupportedForRDLError=void 0,e.APINotSupportedForRDLError="This API is currently not supported for RDL reports",e.EmbedUrlNotSupported="Embed URL is invalid for this scenario. Please use Power BI REST APIs to get the valid URL"},357:(t,e,r)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.routerFactory=e.wpmpFactory=e.hpmFactory=void 0;var i=r(903),a=r(615),o=r(891),n=r(913);e.hpmFactory=function(t,e,r,i,o){return void 0===r&&(r=n.default.version),void 0===i&&(i=n.default.type),new a.HttpPostMessage(t,{"x-sdk-type":i,"x-sdk-version":r,"x-sdk-wrapper-version":o},e)},e.wpmpFactory=function(t,e,r){return new i.WindowPostMessageProxy({processTrackingProperties:{addTrackingProperties:a.HttpPostMessage.addTrackingProperties,getTrackingProperties:a.HttpPostMessage.getTrackingProperties},isErrorMessage:a.HttpPostMessage.isErrorMessage,suppressWarnings:!0,name:t,logMessages:e,eventSourceOverrideWindow:r})},e.routerFactory=function(t){return new o.Router(t)}},220:function(t,e,r){var i=this&&this.__awaiter||function(t,e,r,i){return new(r||(r=Promise))((function(a,o){function n(t){try{s(i.next(t))}catch(t){o(t)}}function l(t){try{s(i.throw(t))}catch(t){o(t)}}function s(t){var e;t.done?a(t.value):(e=t.value,e instanceof r?e:new r((function(t){t(e)}))).then(n,l)}s((i=i.apply(t,e||[])).next())}))},a=this&&this.__generator||function(t,e){var r,i,a,o,n={label:0,sent:function(){if(1&a[0])throw a[1];return a[1]},trys:[],ops:[]};return o={next:l(0),throw:l(1),return:l(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function l(o){return function(l){return function(o){if(r)throw new TypeError("Generator is already executing.");for(;n;)try{if(r=1,i&&(a=2&o[0]?i.return:o[0]?i.throw||((a=i.return)&&a.call(i),0):i.next)&&!(a=a.call(i,o[1])).done)return a;switch(i=0,a&&(o=[2&o[0],a.value]),o[0]){case 0:case 1:a=o;break;case 4:return n.label++,{value:o[1],done:!1};case 5:n.label++,i=o[1],o=[0];continue;case 7:o=n.ops.pop(),n.trys.pop();continue;default:if(!((a=(a=n.trys).length>0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0?"&":"?";return t+(i+e+"=")+r},e.isSavedInternal=function(t,e,a){return r(this,void 0,void 0,(function(){return i(this,(function(r){switch(r.label){case 0:return r.trys.push([0,2,,3]),[4,t.get("/report/hasUnsavedChanges",{uid:e},a)];case 1:return[2,!r.sent().body];case 2:throw r.sent().body;case 3:return[2]}}))}))},e.isRDLEmbed=function(t){return t&&t.toLowerCase().indexOf("/rdlembed?")>=0},e.autoAuthInEmbedUrl=function(t){return t&&decodeURIComponent(t).toLowerCase().indexOf("autoauth=true")>=0},e.getRandomValue=o,e.getTimeDiffInMilliseconds=function(t,e){return Math.abs(t.getTime()-e.getTime())},e.isCreate=function(t){return"create"===t||"quickcreate"===t}},23:function(t,e,r){var i,a=this&&this.__extends||(i=function(t,e){return i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},i(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}),o=this&&this.__awaiter||function(t,e,r,i){return new(r||(r=Promise))((function(a,o){function n(t){try{s(i.next(t))}catch(t){o(t)}}function l(t){try{s(i.throw(t))}catch(t){o(t)}}function s(t){var e;t.done?a(t.value):(e=t.value,e instanceof r?e:new r((function(t){t(e)}))).then(n,l)}s((i=i.apply(t,e||[])).next())}))},n=this&&this.__generator||function(t,e){var r,i,a,o,n={label:0,sent:function(){if(1&a[0])throw a[1];return a[1]},trys:[],ops:[]};return o={next:l(0),throw:l(1),return:l(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function l(o){return function(l){return function(o){if(r)throw new TypeError("Generator is already executing.");for(;n;)try{if(r=1,i&&(a=2&o[0]?i.return:o[0]?i.throw||((a=i.return)&&a.call(i),0):i.next)&&!(a=a.call(i,o[1])).done)return a;switch(i=0,a&&(o=[2&o[0],a.value]),o[0]){case 0:case 1:a=o;break;case 4:return n.label++,{value:o[1],done:!1};case 5:n.label++,i=o[1],o=[0];continue;case 7:o=n.ops.pop(),n.trys.pop();continue;default:if(!((a=(a=n.trys).length>0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]{var e;self,e=()=>(()=>{"use strict";var t={};return(()=>{var e=t;Object.defineProperty(e,"__esModule",{value:!0}),e.WindowPostMessageProxy=void 0;var r=function(){function t(e){void 0===e&&(e={processTrackingProperties:{addTrackingProperties:t.defaultAddTrackingProperties,getTrackingProperties:t.defaultGetTrackingProperties},isErrorMessage:t.defaultIsErrorMessage,receiveWindow:window,name:t.createRandomString()});var r=this;this.pendingRequestPromises={},this.addTrackingProperties=e.processTrackingProperties&&e.processTrackingProperties.addTrackingProperties||t.defaultAddTrackingProperties,this.getTrackingProperties=e.processTrackingProperties&&e.processTrackingProperties.getTrackingProperties||t.defaultGetTrackingProperties,this.isErrorMessage=e.isErrorMessage||t.defaultIsErrorMessage,this.receiveWindow=e.receiveWindow||window,this.name=e.name||t.createRandomString(),this.logMessages=e.logMessages||!1,this.eventSourceOverrideWindow=e.eventSourceOverrideWindow,this.suppressWarnings=e.suppressWarnings||!1,this.logMessages&&console.log("new WindowPostMessageProxy created with name: ".concat(this.name," receiving on window: ").concat(this.receiveWindow.document.title)),this.handlers=[],this.windowMessageHandler=function(t){return r.onMessageReceived(t)},this.start()}return t.defaultAddTrackingProperties=function(e,r){return e[t.messagePropertyName]=r,e},t.defaultGetTrackingProperties=function(e){return e[t.messagePropertyName]},t.defaultIsErrorMessage=function(t){return!!t.error},t.createDeferred=function(){var t={resolve:null,reject:null,promise:null},e=new Promise((function(e,r){t.resolve=e,t.reject=r}));return t.promise=e,t},t.createRandomString=function(){var t=window.crypto||window.msCrypto,e=new Uint32Array(1);return t.getRandomValues(e),e[0].toString(36).substring(1)},t.prototype.addHandler=function(t){this.handlers.push(t)},t.prototype.removeHandler=function(t){var e=this.handlers.indexOf(t);if(-1===e)throw new Error("You attempted to remove a handler but no matching handler was found.");this.handlers.splice(e,1)},t.prototype.start=function(){this.receiveWindow.addEventListener("message",this.windowMessageHandler)},t.prototype.stop=function(){this.receiveWindow.removeEventListener("message",this.windowMessageHandler)},t.prototype.postMessage=function(e,r){var i={id:t.createRandomString()};this.addTrackingProperties(r,i),this.logMessages&&(console.log("".concat(this.name," Posting message:")),console.log(JSON.stringify(r,null," "))),e.postMessage(r,"*");var a=t.createDeferred();return this.pendingRequestPromises[i.id]=a,a.promise},t.prototype.sendResponse=function(t,e,r){this.addTrackingProperties(e,r),this.logMessages&&(console.log("".concat(this.name," Sending response:")),console.log(JSON.stringify(e,null," "))),t.postMessage(e,"*")},t.prototype.onMessageReceived=function(t){var e=this;this.logMessages&&(console.log("".concat(this.name," Received message:")),console.log("type: ".concat(t.type)),console.log(JSON.stringify(t.data,null," ")));var r=this.eventSourceOverrideWindow||t.source;if(r){var i=t.data;if("object"==typeof i){var a,o;try{a=this.getTrackingProperties(i)}catch(t){this.suppressWarnings||console.warn("Proxy(".concat(this.name,"): Error occurred when attempting to get tracking properties from incoming message:"),JSON.stringify(i,null," "),"Error: ",t)}if(a&&(o=this.pendingRequestPromises[a.id]),o){var n=!0;try{n=this.isErrorMessage(i)}catch(t){console.warn("Proxy(".concat(this.name,") Error occurred when trying to determine if message is consider an error response. Message: "),JSON.stringify(i,null,""),"Error: ",t)}n?o.reject(i):o.resolve(i),delete this.pendingRequestPromises[a.id]}else this.handlers.some((function(t){var o=!1;try{o=t.test(i)}catch(t){e.suppressWarnings||console.warn("Proxy(".concat(e.name,"): Error occurred when handler was testing incoming message:"),JSON.stringify(i,null," "),"Error: ",t)}if(o){var n=void 0;try{n=Promise.resolve(t.handle(i))}catch(t){e.suppressWarnings||console.warn("Proxy(".concat(e.name,"): Error occurred when handler was processing incoming message:"),JSON.stringify(i,null," "),"Error: ",t),n=Promise.resolve()}return n.then((function(t){if(!t){var o="Handler for message: ".concat(JSON.stringify(i,null," ")," did not return a response message. The default response message will be returned instead.");e.suppressWarnings||console.warn("Proxy(".concat(e.name,"): ").concat(o)),t={warning:o}}e.sendResponse(r,t,a)})),!0}}))||this.suppressWarnings||console.warn("Proxy(".concat(this.name,") did not handle message. Handlers: ").concat(this.handlers.length," Message: ").concat(JSON.stringify(i,null,""),"."))}else this.suppressWarnings||console.warn("Proxy(".concat(this.name,"): Received message that was not an object. Discarding message"))}},t.messagePropertyName="windowPostMessageProxy",t}();e.WindowPostMessageProxy=r})(),t})(),t.exports=e()}},e={};function r(i){var a=e[i];if(void 0!==a)return a.exports;var o=e[i]={exports:{}};return t[i].call(o.exports,o,o.exports,r),o.exports}var i={};return(()=>{var t=i;Object.defineProperty(t,"__esModule",{value:!0}),t.RelativeTimeFilterBuilder=t.RelativeDateFilterBuilder=t.TopNFilterBuilder=t.AdvancedFilterBuilder=t.BasicFilterBuilder=t.Create=t.QuickCreate=t.VisualDescriptor=t.Visual=t.Qna=t.Page=t.Embed=t.Tile=t.Dashboard=t.Report=t.models=t.factories=t.service=void 0;var e=r(149);t.models=e;var a=r(562);t.service=a;var o=r(357);t.factories=o;var n=r(125);Object.defineProperty(t,"Report",{enumerable:!0,get:function(){return n.Report}});var l=r(365);Object.defineProperty(t,"Dashboard",{enumerable:!0,get:function(){return l.Dashboard}});var s=r(43);Object.defineProperty(t,"Tile",{enumerable:!0,get:function(){return s.Tile}});var u=r(932);Object.defineProperty(t,"Embed",{enumerable:!0,get:function(){return u.Embed}});var d=r(220);Object.defineProperty(t,"Page",{enumerable:!0,get:function(){return d.Page}});var c=r(148);Object.defineProperty(t,"Qna",{enumerable:!0,get:function(){return c.Qna}});var p=r(23);Object.defineProperty(t,"Visual",{enumerable:!0,get:function(){return p.Visual}});var f=r(558);Object.defineProperty(t,"VisualDescriptor",{enumerable:!0,get:function(){return f.VisualDescriptor}});var h=r(714);Object.defineProperty(t,"QuickCreate",{enumerable:!0,get:function(){return h.QuickCreate}});var v=r(536);Object.defineProperty(t,"Create",{enumerable:!0,get:function(){return v.Create}});var y=r(567);Object.defineProperty(t,"BasicFilterBuilder",{enumerable:!0,get:function(){return y.BasicFilterBuilder}}),Object.defineProperty(t,"AdvancedFilterBuilder",{enumerable:!0,get:function(){return y.AdvancedFilterBuilder}}),Object.defineProperty(t,"TopNFilterBuilder",{enumerable:!0,get:function(){return y.TopNFilterBuilder}}),Object.defineProperty(t,"RelativeDateFilterBuilder",{enumerable:!0,get:function(){return y.RelativeDateFilterBuilder}}),Object.defineProperty(t,"RelativeTimeFilterBuilder",{enumerable:!0,get:function(){return y.RelativeTimeFilterBuilder}});var m=new a.Service(o.hpmFactory,o.wpmpFactory,o.routerFactory);window.powerbi&&window.powerBISDKGlobalServiceInstanceName?window[window.powerBISDKGlobalServiceInstanceName]=m:window.powerbi=m})(),i})())); \ No newline at end of file +!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,(()=>(()=>{var t={615:function(t){var e;e=function(){return function(t){var e={};function r(i){if(e[i])return e[i].exports;var a=e[i]={exports:{},id:i,loaded:!1};return t[i].call(a.exports,a,a.exports,r),a.loaded=!0,a.exports}return r.m=t,r.c=e,r.p="",r(0)}([function(t,e){"use strict";var r=function(){function t(t,e,r){void 0===e&&(e={}),this.defaultHeaders=e,this.defaultTargetWindow=r,this.windowPostMessageProxy=t}return t.addTrackingProperties=function(t,e){return t.headers=t.headers||{},e&&e.id&&(t.headers.id=e.id),t},t.getTrackingProperties=function(t){return{id:t.headers&&t.headers.id}},t.isErrorMessage=function(t){return"number"==typeof(t&&t.statusCode)&&!(200<=t.statusCode&&t.statusCode<300)},t.prototype.get=function(t,e,r){return void 0===e&&(e={}),void 0===r&&(r=this.defaultTargetWindow),this.send({method:"GET",url:t,headers:e},r)},t.prototype.post=function(t,e,r,i){return void 0===r&&(r={}),void 0===i&&(i=this.defaultTargetWindow),this.send({method:"POST",url:t,headers:r,body:e},i)},t.prototype.put=function(t,e,r,i){return void 0===r&&(r={}),void 0===i&&(i=this.defaultTargetWindow),this.send({method:"PUT",url:t,headers:r,body:e},i)},t.prototype.patch=function(t,e,r,i){return void 0===r&&(r={}),void 0===i&&(i=this.defaultTargetWindow),this.send({method:"PATCH",url:t,headers:r,body:e},i)},t.prototype.delete=function(t,e,r,i){return void 0===e&&(e=null),void 0===r&&(r={}),void 0===i&&(i=this.defaultTargetWindow),this.send({method:"DELETE",url:t,headers:r,body:e},i)},t.prototype.send=function(t,e){if(void 0===e&&(e=this.defaultTargetWindow),t.headers=this.assign({},this.defaultHeaders,t.headers),!e)throw new Error("target window is not provided. You must either provide the target window explicitly as argument to request, or specify default target window when constructing instance of this class.");return this.windowPostMessageProxy.postMessage(e,t)},t.prototype.assign=function(t){for(var e=[],r=1;r(()=>{var t=[function(t,e,r){var i,a=this&&this.__extends||(i=function(t,e){return i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},i(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.TextAlignment=e.CommonErrorCodes=e.BookmarksPlayMode=e.ExportDataType=e.QnaMode=e.PageNavigationPosition=e.BrowserPrintAdjustmentsMode=e.AggregateFunction=e.DataCacheMode=e.CredentialType=e.isPercentOfGrandTotal=e.isColumnAggr=e.isHierarchyLevelAggr=e.isHierarchyLevel=e.isColumn=e.isMeasure=e.getFilterType=e.isBasicFilterWithKeys=e.isFilterKeyColumnsTarget=e.HierarchyFilter=e.AdvancedFilter=e.TupleFilter=e.IdentityFilter=e.BasicFilterWithKeys=e.BasicFilter=e.RelativeTimeFilter=e.RelativeDateFilter=e.TopNFilter=e.IncludeExcludeFilter=e.NotSupportedFilter=e.Filter=e.RelativeDateOperators=e.RelativeDateFilterTimeUnit=e.FilterType=e.FiltersLevel=e.FiltersOperations=e.MenuLocation=e.ContrastMode=e.TokenType=e.ViewMode=e.Permissions=e.SectionVisibility=e.ReportAlignment=e.HyperlinkClickBehavior=e.LayoutType=e.VisualContainerDisplayMode=e.BackgroundType=e.DisplayOption=e.PageSizeType=e.TraceType=void 0,e.validateVisualHeader=e.validateExportDataRequest=e.validateQnaInterpretInputData=e.validateLoadQnaConfiguration=e.validateSaveAsParameters=e.validateUpdateFiltersRequest=e.validateFilter=e.validatePage=e.validateTileLoad=e.validateDashboardLoad=e.validateQuickCreate=e.validateCreateReport=e.validatePaginatedReportLoad=e.validateReportLoad=e.validateMenuGroupExtension=e.validateExtension=e.validateCustomPageSize=e.validateVisualizationsPane=e.validateSyncSlicersPane=e.validateSelectionPane=e.validatePageNavigationPane=e.validateFieldsPane=e.validateFiltersPane=e.validateBookmarksPane=e.validatePanes=e.validateSettings=e.validateCaptureBookmarkRequest=e.validateApplyBookmarkStateRequest=e.validateApplyBookmarkByNameRequest=e.validateAddBookmarkRequest=e.validatePlayBookmarkRequest=e.validateSlicerState=e.validateSlicer=e.validateVisualSelector=e.isIExtensionArray=e.isIExtensions=e.isGroupedMenuExtension=e.isFlatMenuExtension=e.isReportFiltersArray=e.isOnLoadFilters=e.VisualDataRoleKindPreference=e.VisualDataRoleKind=e.CommandDisplayOption=e.SlicerTargetSelector=e.VisualTypeSelector=e.VisualSelector=e.PageSelector=e.Selector=e.SortDirection=e.LegendPosition=void 0,e.validatePrintSettings=e.validateZoomLevel=e.validateCustomTheme=e.validateCommandsSettings=e.validateVisualSettings=void 0;var o,n,l,s,u,d,c,p,f,h,v,y,m,V,g,b,w,P,S,O=r(1);(S=e.TraceType||(e.TraceType={}))[S.Information=0]="Information",S[S.Verbose=1]="Verbose",S[S.Warning=2]="Warning",S[S.Error=3]="Error",S[S.ExpectedError=4]="ExpectedError",S[S.UnexpectedError=5]="UnexpectedError",S[S.Fatal=6]="Fatal",(P=e.PageSizeType||(e.PageSizeType={}))[P.Widescreen=0]="Widescreen",P[P.Standard=1]="Standard",P[P.Cortana=2]="Cortana",P[P.Letter=3]="Letter",P[P.Custom=4]="Custom",P[P.Mobile=5]="Mobile",(w=e.DisplayOption||(e.DisplayOption={}))[w.FitToPage=0]="FitToPage",w[w.FitToWidth=1]="FitToWidth",w[w.ActualSize=2]="ActualSize",(b=e.BackgroundType||(e.BackgroundType={}))[b.Default=0]="Default",b[b.Transparent=1]="Transparent",(g=e.VisualContainerDisplayMode||(e.VisualContainerDisplayMode={}))[g.Visible=0]="Visible",g[g.Hidden=1]="Hidden",(V=e.LayoutType||(e.LayoutType={}))[V.Master=0]="Master",V[V.Custom=1]="Custom",V[V.MobilePortrait=2]="MobilePortrait",V[V.MobileLandscape=3]="MobileLandscape",(m=e.HyperlinkClickBehavior||(e.HyperlinkClickBehavior={}))[m.Navigate=0]="Navigate",m[m.NavigateAndRaiseEvent=1]="NavigateAndRaiseEvent",m[m.RaiseEvent=2]="RaiseEvent",(y=e.ReportAlignment||(e.ReportAlignment={}))[y.Left=0]="Left",y[y.Center=1]="Center",y[y.Right=2]="Right",y[y.None=3]="None",(v=e.SectionVisibility||(e.SectionVisibility={}))[v.AlwaysVisible=0]="AlwaysVisible",v[v.HiddenInViewMode=1]="HiddenInViewMode",(h=e.Permissions||(e.Permissions={}))[h.Read=0]="Read",h[h.ReadWrite=1]="ReadWrite",h[h.Copy=2]="Copy",h[h.Create=4]="Create",h[h.All=7]="All",(f=e.ViewMode||(e.ViewMode={}))[f.View=0]="View",f[f.Edit=1]="Edit",(p=e.TokenType||(e.TokenType={}))[p.Aad=0]="Aad",p[p.Embed=1]="Embed",(c=e.ContrastMode||(e.ContrastMode={}))[c.None=0]="None",c[c.HighContrast1=1]="HighContrast1",c[c.HighContrast2=2]="HighContrast2",c[c.HighContrastBlack=3]="HighContrastBlack",c[c.HighContrastWhite=4]="HighContrastWhite",(d=e.MenuLocation||(e.MenuLocation={}))[d.Bottom=0]="Bottom",d[d.Top=1]="Top",(u=e.FiltersOperations||(e.FiltersOperations={}))[u.RemoveAll=0]="RemoveAll",u[u.ReplaceAll=1]="ReplaceAll",u[u.Add=2]="Add",u[u.Replace=3]="Replace",(s=e.FiltersLevel||(e.FiltersLevel={}))[s.Report=0]="Report",s[s.Page=1]="Page",s[s.Visual=2]="Visual",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",t[t.Identity=8]="Identity",t[t.Hierarchy=9]="Hierarchy"}(o=e.FilterType||(e.FilterType={})),(l=e.RelativeDateFilterTimeUnit||(e.RelativeDateFilterTimeUnit={}))[l.Days=0]="Days",l[l.Weeks=1]="Weeks",l[l.CalendarWeeks=2]="CalendarWeeks",l[l.Months=3]="Months",l[l.CalendarMonths=4]="CalendarMonths",l[l.Years=5]="Years",l[l.CalendarYears=6]="CalendarYears",l[l.Minutes=7]="Minutes",l[l.Hours=8]="Hours",(n=e.RelativeDateOperators||(e.RelativeDateOperators={}))[n.InLast=0]="InLast",n[n.InThis=1]="InThis",n[n.InNext=2]="InNext";var _=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=_;var T=function(t){function e(r,i,a){var n=t.call(this,r,o.Unknown)||this;return n.message=i,n.notSupportedTypeName=a,n.schemaUrl=e.schemaUrl,n}return a(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}(_);e.NotSupportedFilter=T;var E=function(t){function e(r,i,a){var n=t.call(this,r,o.IncludeExclude)||this;return n.values=a,n.isExclude=i,n.schemaUrl=e.schemaUrl,n}return a(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}(_);e.IncludeExcludeFilter=E;var F=function(t){function e(r,i,a,n){var l=t.call(this,r,o.TopN)||this;return l.operator=i,l.itemCount=a,l.schemaUrl=e.schemaUrl,l.orderBy=n,l}return a(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}(_);e.TopNFilter=F;var C=function(t){function e(r,i,a,n,l){var s=t.call(this,r,o.RelativeDate)||this;return s.operator=i,s.timeUnitsCount=a,s.timeUnitType=n,s.includeToday=l,s.schemaUrl=e.schemaUrl,s}return a(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}(_);e.RelativeDateFilter=C;var R=function(t){function e(r,i,a,n){var l=t.call(this,r,o.RelativeTime)||this;return l.operator=i,l.timeUnitsCount=a,l.timeUnitType=n,l.schemaUrl=e.schemaUrl,l}return a(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}(_);e.RelativeTimeFilter=R;var k=function(t){function e(r,i){for(var a=[],n=2;n0&&!a)throw new Error("You should pass the values to be filtered for each key. You passed: no values and ".concat(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,s=o.keyValues;l2)throw new Error("AdvancedFilters may not have more than two conditions. You passed: ".concat(a.length));if(1===l.length&&"And"!==i)throw new Error('Logical Operator must be "And" when there is only one condition provided');return s.conditions=l,s}return a(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}(_);e.AdvancedFilter=M;var L,I,q,D,N,B,U,H,W,z=function(t){function e(r,i){var a=t.call(this,r,o.Hierarchy)||this;return a.schemaUrl=e.schemaUrl,a.hierarchyData=i,a}return a(e,t),e.prototype.toJSON=function(){var e=t.prototype.toJSON.call(this);return e.hierarchyData=this.hierarchyData,e.target=this.target,e},e.schemaUrl="http://powerbi.com/product/schema#hierarchy",e}(_);function Q(t){if(t.filterType)return t.filterType;var e=t,r=t;return"string"==typeof e.operator&&Array.isArray(e.values)?o.Basic:"string"==typeof r.logicalOperator&&Array.isArray(r.conditions)?o.Advanced:o.Unknown}function G(t){return!(!t.table||!t.column||t.aggregationFunction)}e.HierarchyFilter=z,e.isFilterKeyColumnsTarget=function(t){return G(t)&&!!t.keys},e.isBasicFilterWithKeys=function(t){return Q(t)===o.Basic&&!!t.keyValues},e.getFilterType=Q,e.isMeasure=function(t){return void 0!==t.table&&void 0!==t.measure},e.isColumn=G,e.isHierarchyLevel=function(t){return!(!(t.table&&t.hierarchy&&t.hierarchyLevel)||t.aggregationFunction)},e.isHierarchyLevelAggr=function(t){return!!(t.table&&t.hierarchy&&t.hierarchyLevel&&t.aggregationFunction)},e.isColumnAggr=function(t){return!!(t.table&&t.column&&t.aggregationFunction)},e.isPercentOfGrandTotal=function(t){return!!t.percentOfGrandTotal},(W=e.CredentialType||(e.CredentialType={}))[W.NoConnection=0]="NoConnection",W[W.OnBehalfOf=1]="OnBehalfOf",W[W.Anonymous=2]="Anonymous",(H=e.DataCacheMode||(e.DataCacheMode={}))[H.Import=0]="Import",H[H.DirectQuery=1]="DirectQuery",(U=e.AggregateFunction||(e.AggregateFunction={}))[U.Default=1]="Default",U[U.None=2]="None",U[U.Sum=3]="Sum",U[U.Min=4]="Min",U[U.Max=5]="Max",U[U.Count=6]="Count",U[U.Average=7]="Average",U[U.DistinctCount=8]="DistinctCount",(B=e.BrowserPrintAdjustmentsMode||(e.BrowserPrintAdjustmentsMode={}))[B.Default=0]="Default",B[B.NoAdjustments=1]="NoAdjustments",(N=e.PageNavigationPosition||(e.PageNavigationPosition={}))[N.Bottom=0]="Bottom",N[N.Left=1]="Left",(D=e.QnaMode||(e.QnaMode={}))[D.Interactive=0]="Interactive",D[D.ResultOnly=1]="ResultOnly",(q=e.ExportDataType||(e.ExportDataType={}))[q.Summarized=0]="Summarized",q[q.Underlying=1]="Underlying",(I=e.BookmarksPlayMode||(e.BookmarksPlayMode={}))[I.Off=0]="Off",I[I.Presentation=1]="Presentation",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"},(L=e.SortDirection||(e.SortDirection={}))[L.Ascending=1]="Ascending",L[L.Descending=2]="Descending";var J=function(){function t(t){this.$schema=t}return t.prototype.toJSON=function(){return{$schema:this.$schema}},t}();e.Selector=J;var K=function(t){function e(r){var i=t.call(this,e.schemaUrl)||this;return i.pageName=r,i}return a(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}(J);e.PageSelector=K;var Y=function(t){function e(r){var i=t.call(this,e.schemaUrl)||this;return i.visualName=r,i}return a(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}(J);e.VisualSelector=Y;var $=function(t){function e(e){var r=t.call(this,Y.schemaUrl)||this;return r.visualType=e,r}return a(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}(J);e.VisualTypeSelector=$;var Z,X,tt,et=function(t){function e(e){var r=t.call(this,Y.schemaUrl)||this;return r.target=e,r}return a(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}(J);function rt(t){return Array.isArray(t)}function it(t){return t&&!!t.groupName}function at(t){return Array.isArray(t)}function ot(t){var e=t.message;return e||(e="".concat(t.path," is invalid. Not meeting ").concat(t.keyword," constraint")),{message:e}}e.SlicerTargetSelector=et,(tt=e.CommandDisplayOption||(e.CommandDisplayOption={}))[tt.Enabled=0]="Enabled",tt[tt.Disabled=1]="Disabled",tt[tt.Hidden=2]="Hidden",(X=e.VisualDataRoleKind||(e.VisualDataRoleKind={}))[X.Grouping=0]="Grouping",X[X.Measure=1]="Measure",X[X.GroupingOrMeasure=2]="GroupingOrMeasure",(Z=e.VisualDataRoleKindPreference||(e.VisualDataRoleKindPreference={}))[Z.Measure=0]="Measure",Z[Z.Grouping=1]="Grouping",e.isOnLoadFilters=function(t){return t&&!rt(t)},e.isReportFiltersArray=rt,e.isFlatMenuExtension=function(t){return t&&!it(t)},e.isGroupedMenuExtension=it,e.isIExtensions=function(t){return t&&!at(t)},e.isIExtensionArray=at,e.validateVisualSelector=function(t){var e=O.Validators.visualSelectorValidator.validate(t);return e?e.map(ot):void 0},e.validateSlicer=function(t){var e=O.Validators.slicerValidator.validate(t);return e?e.map(ot):void 0},e.validateSlicerState=function(t){var e=O.Validators.slicerStateValidator.validate(t);return e?e.map(ot):void 0},e.validatePlayBookmarkRequest=function(t){var e=O.Validators.playBookmarkRequestValidator.validate(t);return e?e.map(ot):void 0},e.validateAddBookmarkRequest=function(t){var e=O.Validators.addBookmarkRequestValidator.validate(t);return e?e.map(ot):void 0},e.validateApplyBookmarkByNameRequest=function(t){var e=O.Validators.applyBookmarkByNameRequestValidator.validate(t);return e?e.map(ot):void 0},e.validateApplyBookmarkStateRequest=function(t){var e=O.Validators.applyBookmarkStateRequestValidator.validate(t);return e?e.map(ot):void 0},e.validateCaptureBookmarkRequest=function(t){var e=O.Validators.captureBookmarkRequestValidator.validate(t);return e?e.map(ot):void 0},e.validateSettings=function(t){var e=O.Validators.settingsValidator.validate(t);return e?e.map(ot):void 0},e.validatePanes=function(t){var e=O.Validators.reportPanesValidator.validate(t);return e?e.map(ot):void 0},e.validateBookmarksPane=function(t){var e=O.Validators.bookmarksPaneValidator.validate(t);return e?e.map(ot):void 0},e.validateFiltersPane=function(t){var e=O.Validators.filtersPaneValidator.validate(t);return e?e.map(ot):void 0},e.validateFieldsPane=function(t){var e=O.Validators.fieldsPaneValidator.validate(t);return e?e.map(ot):void 0},e.validatePageNavigationPane=function(t){var e=O.Validators.pageNavigationPaneValidator.validate(t);return e?e.map(ot):void 0},e.validateSelectionPane=function(t){var e=O.Validators.selectionPaneValidator.validate(t);return e?e.map(ot):void 0},e.validateSyncSlicersPane=function(t){var e=O.Validators.syncSlicersPaneValidator.validate(t);return e?e.map(ot):void 0},e.validateVisualizationsPane=function(t){var e=O.Validators.visualizationsPaneValidator.validate(t);return e?e.map(ot):void 0},e.validateCustomPageSize=function(t){var e=O.Validators.customPageSizeValidator.validate(t);return e?e.map(ot):void 0},e.validateExtension=function(t){var e=O.Validators.extensionValidator.validate(t);return e?e.map(ot):void 0},e.validateMenuGroupExtension=function(t){var e=O.Validators.menuGroupExtensionValidator.validate(t);return e?e.map(ot):void 0},e.validateReportLoad=function(t){var e=O.Validators.reportLoadValidator.validate(t);return e?e.map(ot):void 0},e.validatePaginatedReportLoad=function(t){var e=O.Validators.paginatedReportLoadValidator.validate(t);return e?e.map(ot):void 0},e.validateCreateReport=function(t){var e=O.Validators.reportCreateValidator.validate(t);return e?e.map(ot):void 0},e.validateQuickCreate=function(t){var e=O.Validators.quickCreateValidator.validate(t);return e?e.map(ot):void 0},e.validateDashboardLoad=function(t){var e=O.Validators.dashboardLoadValidator.validate(t);return e?e.map(ot):void 0},e.validateTileLoad=function(t){var e=O.Validators.tileLoadValidator.validate(t);return e?e.map(ot):void 0},e.validatePage=function(t){var e=O.Validators.pageValidator.validate(t);return e?e.map(ot):void 0},e.validateFilter=function(t){var e=O.Validators.filterValidator.validate(t);return e?e.map(ot):void 0},e.validateUpdateFiltersRequest=function(t){var e=O.Validators.updateFiltersRequestValidator.validate(t);return e?e.map(ot):void 0},e.validateSaveAsParameters=function(t){var e=O.Validators.saveAsParametersValidator.validate(t);return e?e.map(ot):void 0},e.validateLoadQnaConfiguration=function(t){var e=O.Validators.loadQnaValidator.validate(t);return e?e.map(ot):void 0},e.validateQnaInterpretInputData=function(t){var e=O.Validators.qnaInterpretInputDataValidator.validate(t);return e?e.map(ot):void 0},e.validateExportDataRequest=function(t){var e=O.Validators.exportDataRequestValidator.validate(t);return e?e.map(ot):void 0},e.validateVisualHeader=function(t){var e=O.Validators.visualHeaderValidator.validate(t);return e?e.map(ot):void 0},e.validateVisualSettings=function(t){var e=O.Validators.visualSettingsValidator.validate(t);return e?e.map(ot):void 0},e.validateCommandsSettings=function(t){var e=O.Validators.commandsSettingsValidator.validate(t);return e?e.map(ot):void 0},e.validateCustomTheme=function(t){var e=O.Validators.customThemeValidator.validate(t);return e?e.map(ot):void 0},e.validateZoomLevel=function(t){var e=O.Validators.zoomLevelValidator.validate(t);return e?e.map(ot):void 0},e.validatePrintSettings=function(t){var e=O.Validators.printSettingsValidator.validate(t);return e?e.map(ot):void 0}},(t,e,r)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.Validators=void 0;var i=r(2),a=r(5),o=r(6),n=r(7),l=r(8),s=r(9),u=r(10),d=r(11),c=r(12),p=r(13),f=r(14),h=r(15),v=r(16),y=r(17),m=r(18),V=r(19),g=r(20),b=r(21),w=r(22),P=r(23),S=r(24),O=r(25),_=r(26),T=r(27),E=r(28),F=r(29),C=r(4),R=r(30),k=r(31),x=r(32),A=r(33);e.Validators={addBookmarkRequestValidator:new a.AddBookmarkRequestValidator,advancedFilterTypeValidator:new C.EnumValidator([0]),advancedFilterValidator:new c.AdvancedFilterValidator,anyArrayValidator:new C.ArrayValidator([new _.AnyOfValidator([new C.StringValidator,new C.NumberValidator,new C.BooleanValidator])]),anyFilterValidator:new _.AnyOfValidator([new c.BasicFilterValidator,new c.AdvancedFilterValidator,new c.IncludeExcludeFilterValidator,new c.NotSupportedFilterValidator,new c.RelativeDateFilterValidator,new c.TopNFilterValidator,new c.RelativeTimeFilterValidator,new c.HierarchyFilterValidator]),anyValueValidator:new _.AnyOfValidator([new C.StringValidator,new C.NumberValidator,new C.BooleanValidator]),actionBarValidator:new i.ActionBarValidator,statusBarValidator:new i.StatusBarValidator,applyBookmarkByNameRequestValidator:new a.ApplyBookmarkByNameRequestValidator,applyBookmarkStateRequestValidator:new a.ApplyBookmarkStateRequestValidator,applyBookmarkValidator:new _.AnyOfValidator([new a.ApplyBookmarkByNameRequestValidator,new a.ApplyBookmarkStateRequestValidator]),backgroundValidator:new C.EnumValidator([0,1]),basicFilterTypeValidator:new C.EnumValidator([1]),basicFilterValidator:new c.BasicFilterValidator,booleanArrayValidator:new C.BooleanArrayValidator,booleanValidator:new C.BooleanValidator,bookmarksPaneValidator:new h.BookmarksPaneValidator,captureBookmarkOptionsValidator:new a.CaptureBookmarkOptionsValidator,captureBookmarkRequestValidator:new a.CaptureBookmarkRequestValidator,columnSchemaArrayValidator:new C.ArrayValidator([new k.ColumnSchemaValidator]),commandDisplayOptionValidator:new C.EnumValidator([0,1,2]),commandExtensionSelectorValidator:new _.AnyOfValidator([new b.VisualSelectorValidator,new b.VisualTypeSelectorValidator]),commandExtensionArrayValidator:new C.ArrayValidator([new d.CommandExtensionValidator]),commandExtensionValidator:new d.CommandExtensionValidator,commandsSettingsArrayValidator:new C.ArrayValidator([new o.CommandsSettingsValidator]),commandsSettingsValidator:new o.CommandsSettingsValidator,conditionItemValidator:new c.ConditionItemValidator,contrastModeValidator:new C.EnumValidator([0,1,2,3,4]),credentialDetailsValidator:new F.MapValidator([new C.StringValidator],[new C.StringValidator]),credentialsValidator:new k.CredentialsValidator,credentialTypeValidator:new C.EnumValidator([0,1,2]),customLayoutDisplayOptionValidator:new C.EnumValidator([0,1,2]),customLayoutValidator:new p.CustomLayoutValidator,customPageSizeValidator:new f.CustomPageSizeValidator,customThemeValidator:new n.CustomThemeValidator,dashboardLoadValidator:new l.DashboardLoadValidator,dataCacheModeValidator:new C.EnumValidator([0,1]),datasetBindingValidator:new s.DatasetBindingValidator,datasetCreateConfigValidator:new k.DatasetCreateConfigValidator,datasourceConnectionConfigValidator:new k.DatasourceConnectionConfigValidator,displayStateModeValidator:new C.EnumValidator([0,1]),displayStateValidator:new p.DisplayStateValidator,exportDataRequestValidator:new u.ExportDataRequestValidator,extensionArrayValidator:new C.ArrayValidator([new d.ExtensionValidator]),extensionsValidator:new _.AnyOfValidator([new C.ArrayValidator([new d.ExtensionValidator]),new d.ExtensionsValidator]),extensionPointsValidator:new d.ExtensionPointsValidator,extensionValidator:new d.ExtensionValidator,fieldForbiddenValidator:new T.FieldForbiddenValidator,fieldRequiredValidator:new E.FieldRequiredValidator,fieldsPaneValidator:new h.FieldsPaneValidator,filterColumnTargetValidator:new c.FilterColumnTargetValidator,filterDisplaySettingsValidator:new c.FilterDisplaySettingsValidator,filterConditionsValidator:new C.ArrayValidator([new c.ConditionItemValidator]),filterHierarchyTargetValidator:new c.FilterHierarchyTargetValidator,filterMeasureTargetValidator:new c.FilterMeasureTargetValidator,filterTargetValidator:new _.AnyOfValidator([new c.FilterColumnTargetValidator,new c.FilterHierarchyTargetValidator,new c.FilterMeasureTargetValidator,new C.ArrayValidator([new _.AnyOfValidator([new c.FilterColumnTargetValidator,new c.FilterHierarchyTargetValidator,new c.FilterMeasureTargetValidator,new c.FilterKeyColumnsTargetValidator,new c.FilterKeyHierarchyTargetValidator])])]),filterValidator:new c.FilterValidator,filterTypeValidator:new C.EnumValidator([0,1,2,3,4,5,6,7,9]),filtersArrayValidator:new C.ArrayValidator([new c.FilterValidator]),filtersOperationsUpdateValidator:new C.EnumValidator([1,2,3]),filtersOperationsRemoveAllValidator:new C.EnumValidator([0]),filtersPaneValidator:new h.FiltersPaneValidator,hyperlinkClickBehaviorValidator:new C.EnumValidator([0,1,2]),includeExcludeFilterValidator:new c.IncludeExcludeFilterValidator,includeExludeFilterTypeValidator:new C.EnumValidator([3]),hierarchyFilterTypeValidator:new C.EnumValidator([9]),hierarchyFilterValuesValidator:new C.ArrayValidator([new c.HierarchyFilterNodeValidator]),layoutTypeValidator:new C.EnumValidator([0,1,2,3]),loadQnaValidator:new v.LoadQnaValidator,menuExtensionValidator:new _.AnyOfValidator([new d.FlatMenuExtensionValidator,new d.GroupedMenuExtensionValidator]),menuGroupExtensionArrayValidator:new C.ArrayValidator([new d.MenuGroupExtensionValidator]),menuGroupExtensionValidator:new d.MenuGroupExtensionValidator,menuLocationValidator:new C.EnumValidator([0,1]),notSupportedFilterTypeValidator:new C.EnumValidator([2]),notSupportedFilterValidator:new c.NotSupportedFilterValidator,numberArrayValidator:new C.NumberArrayValidator,numberValidator:new C.NumberValidator,onLoadFiltersBaseValidator:new _.AnyOfValidator([new c.OnLoadFiltersBaseValidator,new c.OnLoadFiltersBaseRemoveOperationValidator]),pageLayoutValidator:new F.MapValidator([new C.StringValidator],[new p.VisualLayoutValidator]),pageNavigationPaneValidator:new h.PageNavigationPaneValidator,pageNavigationPositionValidator:new C.EnumValidator([0,1]),pageSizeTypeValidator:new C.EnumValidator([0,1,2,3,4,5]),pageSizeValidator:new f.PageSizeValidator,pageValidator:new f.PageValidator,pageViewFieldValidator:new f.PageViewFieldValidator,pagesLayoutValidator:new F.MapValidator([new C.StringValidator],[new p.PageLayoutValidator]),paginatedReportCommandsValidator:new o.PaginatedReportCommandsValidator,paginatedReportLoadValidator:new V.PaginatedReportLoadValidator,paginatedReportsettingsValidator:new w.PaginatedReportSettingsValidator,parameterValuesArrayValidator:new C.ArrayValidator([new V.ReportParameterFieldsValidator]),parametersPanelValidator:new R.ParametersPanelValidator,permissionsValidator:new C.EnumValidator([0,1,2,4,7]),playBookmarkRequestValidator:new a.PlayBookmarkRequestValidator,printSettingsValidator:new A.PrintSettingsValidator,qnaInterpretInputDataValidator:new v.QnaInterpretInputDataValidator,qnaPanesValidator:new h.QnaPanesValidator,qnaSettingValidator:new v.QnaSettingsValidator,quickCreateValidator:new x.QuickCreateValidator,rawDataValidator:new C.ArrayValidator([new C.ArrayValidator([new C.StringValidator])]),relativeDateFilterOperatorValidator:new C.EnumValidator([0,1,2]),relativeDateFilterTimeUnitTypeValidator:new C.EnumValidator([0,1,2,3,4,5,6]),relativeDateFilterTypeValidator:new C.EnumValidator([4]),relativeDateFilterValidator:new c.RelativeDateFilterValidator,relativeDateTimeFilterTypeValidator:new C.EnumValidator([4,7]),relativeDateTimeFilterUnitTypeValidator:new C.EnumValidator([0,1,2,3,4,5,6,7,8]),relativeTimeFilterTimeUnitTypeValidator:new C.EnumValidator([7,8]),relativeTimeFilterTypeValidator:new C.EnumValidator([7]),relativeTimeFilterValidator:new c.RelativeTimeFilterValidator,reportBarsValidator:new i.ReportBarsValidator,reportCreateValidator:new y.ReportCreateValidator,reportLoadFiltersValidator:new _.AnyOfValidator([new C.ArrayValidator([new c.FilterValidator]),new c.OnLoadFiltersValidator]),reportLoadValidator:new m.ReportLoadValidator,reportPanesValidator:new h.ReportPanesValidator,saveAsParametersValidator:new g.SaveAsParametersValidator,selectionPaneValidator:new h.SelectionPaneValidator,settingsValidator:new w.SettingsValidator,singleCommandSettingsValidator:new o.SingleCommandSettingsValidator,slicerSelectorValidator:new _.AnyOfValidator([new b.VisualSelectorValidator,new b.SlicerTargetSelectorValidator]),slicerStateValidator:new P.SlicerStateValidator,slicerTargetValidator:new _.AnyOfValidator([new c.FilterColumnTargetValidator,new c.FilterHierarchyTargetValidator,new c.FilterMeasureTargetValidator,new c.FilterKeyColumnsTargetValidator,new c.FilterKeyHierarchyTargetValidator]),slicerValidator:new P.SlicerValidator,stringArrayValidator:new C.StringArrayValidator,stringValidator:new C.StringValidator,syncSlicersPaneValidator:new h.SyncSlicersPaneValidator,tableDataArrayValidator:new C.ArrayValidator([new k.TableDataValidator]),tableSchemaListValidator:new C.ArrayValidator([new k.TableSchemaValidator]),tileLoadValidator:new S.TileLoadValidator,tokenTypeValidator:new C.EnumValidator([0,1]),topNFilterTypeValidator:new C.EnumValidator([5]),topNFilterValidator:new c.TopNFilterValidator,updateFiltersRequestValidator:new _.AnyOfValidator([new c.UpdateFiltersRequestValidator,new c.RemoveFiltersRequestValidator]),viewModeValidator:new C.EnumValidator([0,1]),visualCommandSelectorValidator:new _.AnyOfValidator([new b.VisualSelectorValidator,new b.VisualTypeSelectorValidator]),visualHeaderSelectorValidator:new _.AnyOfValidator([new b.VisualSelectorValidator,new b.VisualTypeSelectorValidator]),visualHeaderSettingsValidator:new O.VisualHeaderSettingsValidator,visualHeaderValidator:new O.VisualHeaderValidator,visualHeadersValidator:new C.ArrayValidator([new O.VisualHeaderValidator]),visualizationsPaneValidator:new h.VisualizationsPaneValidator,visualLayoutValidator:new p.VisualLayoutValidator,visualSelectorValidator:new b.VisualSelectorValidator,visualSettingsValidator:new O.VisualSettingsValidator,visualTypeSelectorValidator:new b.VisualTypeSelectorValidator,zoomLevelValidator:new C.RangeValidator(.25,4)}},function(t,e,r){var i,a=this&&this.__extends||(i=function(t,e){return i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},i(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.StatusBarValidator=e.ActionBarValidator=e.ReportBarsValidator=void 0;var o=r(3),n=r(4),l=r(1),s=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return a(e,t),e.prototype.validate=function(e,r,i){if(null==e)return null;var a=t.prototype.validate.call(this,e,r,i);if(a)return a;var n=[{field:"actionBar",validators:[l.Validators.actionBarValidator]},{field:"statusBar",validators:[l.Validators.statusBarValidator]}];return new o.MultipleFieldsValidator(n).validate(e,r,i)},e}(n.ObjectValidator);e.ReportBarsValidator=s;var u=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return a(e,t),e.prototype.validate=function(e,r,i){if(null==e)return null;var a=t.prototype.validate.call(this,e,r,i);if(a)return a;var n=[{field:"visible",validators:[l.Validators.booleanValidator]}];return new o.MultipleFieldsValidator(n).validate(e,r,i)},e}(n.ObjectValidator);e.ActionBarValidator=u;var d=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return a(e,t),e.prototype.validate=function(e,r,i){if(null==e)return null;var a=t.prototype.validate.call(this,e,r,i);if(a)return a;var n=[{field:"visible",validators:[l.Validators.booleanValidator]}];return new o.MultipleFieldsValidator(n).validate(e,r,i)},e}(n.ObjectValidator);e.StatusBarValidator=d},(t,e)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.MultipleFieldsValidator=void 0;var r=function(){function t(t){this.fieldValidatorsPairs=t}return t.prototype.validate=function(t,e,r){if(!this.fieldValidatorsPairs)return null;for(var i=e?e+"."+r:r,a=0,o=this.fieldValidatorsPairs;athis.maxValue||e{Object.defineProperty(e,"__esModule",{value:!0}),e.AnyOfValidator=void 0;var r=function(){function t(t){this.validators=t}return t.prototype.validate=function(t,e,r){if(null==t)return null;for(var i=!1,a=0,o=this.validators;a{Object.defineProperty(e,"__esModule",{value:!0}),e.FieldForbiddenValidator=void 0;var r=function(){function t(){}return t.prototype.validate=function(t,e,r){return void 0!==t?[{message:r+" is forbidden",path:(e?e+".":"")+r,keyword:"forbidden"}]:null},t}();e.FieldForbiddenValidator=r},(t,e)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.FieldRequiredValidator=void 0;var r=function(){function t(){}return t.prototype.validate=function(t,e,r){return null==t?[{message:r+" is required",path:(e?e+".":"")+r,keyword:"required"}]:null},t}();e.FieldRequiredValidator=r},function(t,e,r){var i,a=this&&this.__extends||(i=function(t,e){return i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},i(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.MapValidator=void 0;var o=function(t){function e(e,r){var i=t.call(this)||this;return i.keyValidators=e,i.valueValidators=r,i}return a(e,t),e.prototype.validate=function(e,r,i){if(null==e)return null;var a=t.prototype.validate.call(this,e,r,i);if(a)return a;for(var o in e)if(e.hasOwnProperty(o)){for(var n=(r?r+".":"")+i+"."+o,l=0,s=this.keyValidators;l2&&"[]"===n.slice(l-2)&&(s=!0,r[n=n.slice(0,l-2)]||(r[n]=[])),a=o[1]?g(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(-1!==(i=t.indexOf("?"))){var l=t.substr(i+1,t.length);t=t.substr(0,i),o=this.parseQueryString(l)}for("/"!==(t=decodeURI(t)).charAt(0)&&(t="/"+t),(e=t.length)>1&&"/"===t.charAt(e-1)&&(t=t.substr(0,e-1),n=!0),r=0;r{Object.defineProperty(e,"__esModule",{value:!0}),e.FilterBuilder=void 0;var r=function(){function t(){}return t.prototype.withTargetObject=function(t){return this.target=t,this},t.prototype.withColumnTarget=function(t,e){return this.target={table:t,column:e},this},t.prototype.withMeasureTarget=function(t,e){return this.target={table:t,measure:e},this},t.prototype.withHierarchyLevelTarget=function(t,e,r){return this.target={table:t,hierarchy:e,hierarchyLevel:r},this},t.prototype.withColumnAggregation=function(t,e,r){return this.target={table:t,column:e,aggregationFunction:r},this},t.prototype.withHierarchyLevelAggregationTarget=function(t,e,r,i){return this.target={table:t,hierarchy:e,hierarchyLevel:r,aggregationFunction:i},this},t}();e.FilterBuilder=r},567:(t,e,r)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.RelativeTimeFilterBuilder=e.RelativeDateFilterBuilder=e.TopNFilterBuilder=e.AdvancedFilterBuilder=e.BasicFilterBuilder=void 0;var i=r(153);Object.defineProperty(e,"BasicFilterBuilder",{enumerable:!0,get:function(){return i.BasicFilterBuilder}});var a=r(674);Object.defineProperty(e,"AdvancedFilterBuilder",{enumerable:!0,get:function(){return a.AdvancedFilterBuilder}});var o=r(664);Object.defineProperty(e,"TopNFilterBuilder",{enumerable:!0,get:function(){return o.TopNFilterBuilder}});var n=r(844);Object.defineProperty(e,"RelativeDateFilterBuilder",{enumerable:!0,get:function(){return n.RelativeDateFilterBuilder}});var l=r(275);Object.defineProperty(e,"RelativeTimeFilterBuilder",{enumerable:!0,get:function(){return l.RelativeTimeFilterBuilder}})},844:function(t,e,r){var i,a=this&&this.__extends||(i=function(t,e){return i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},i(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.RelativeDateFilterBuilder=void 0;var o=r(149),n=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.isTodayIncluded=!0,e}return a(e,t),e.prototype.inLast=function(t,e){return this.operator=o.RelativeDateOperators.InLast,this.timeUnitsCount=t,this.timeUnitType=e,this},e.prototype.inThis=function(t,e){return this.operator=o.RelativeDateOperators.InThis,this.timeUnitsCount=t,this.timeUnitType=e,this},e.prototype.inNext=function(t,e){return this.operator=o.RelativeDateOperators.InNext,this.timeUnitsCount=t,this.timeUnitType=e,this},e.prototype.includeToday=function(t){return this.isTodayIncluded=t,this},e.prototype.build=function(){return new o.RelativeDateFilter(this.target,this.operator,this.timeUnitsCount,this.timeUnitType,this.isTodayIncluded)},e}(r(277).FilterBuilder);e.RelativeDateFilterBuilder=n},275:function(t,e,r){var i,a=this&&this.__extends||(i=function(t,e){return i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},i(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.RelativeTimeFilterBuilder=void 0;var o=r(149),n=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return a(e,t),e.prototype.inLast=function(t,e){return this.operator=o.RelativeDateOperators.InLast,this.timeUnitsCount=t,this.timeUnitType=e,this},e.prototype.inThis=function(t,e){return this.operator=o.RelativeDateOperators.InThis,this.timeUnitsCount=t,this.timeUnitType=e,this},e.prototype.inNext=function(t,e){return this.operator=o.RelativeDateOperators.InNext,this.timeUnitsCount=t,this.timeUnitType=e,this},e.prototype.build=function(){return new o.RelativeTimeFilter(this.target,this.operator,this.timeUnitsCount,this.timeUnitType)},e}(r(277).FilterBuilder);e.RelativeTimeFilterBuilder=n},664:function(t,e,r){var i,a=this&&this.__extends||(i=function(t,e){return i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},i(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.TopNFilterBuilder=void 0;var o=r(149),n=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return a(e,t),e.prototype.top=function(t){return this.operator="Top",this.itemCount=t,this},e.prototype.bottom=function(t){return this.operator="Bottom",this.itemCount=t,this},e.prototype.orderByTarget=function(t){return this.orderByTargetValue=t,this},e.prototype.build=function(){return new o.TopNFilter(this.target,this.operator,this.itemCount,this.orderByTargetValue)},e}(r(277).FilterBuilder);e.TopNFilterBuilder=n},460:function(t,e,r){var i=this&&this.__awaiter||function(t,e,r,i){return new(r||(r=Promise))((function(a,o){function n(t){try{s(i.next(t))}catch(t){o(t)}}function l(t){try{s(i.throw(t))}catch(t){o(t)}}function s(t){var e;t.done?a(t.value):(e=t.value,e instanceof r?e:new r((function(t){t(e)}))).then(n,l)}s((i=i.apply(t,e||[])).next())}))},a=this&&this.__generator||function(t,e){var r,i,a,o,n={label:0,sent:function(){if(1&a[0])throw a[1];return a[1]},trys:[],ops:[]};return o={next:l(0),throw:l(1),return:l(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function l(o){return function(l){return function(o){if(r)throw new TypeError("Generator is already executing.");for(;n;)try{if(r=1,i&&(a=2&o[0]?i.return:o[0]?i.throw||((a=i.return)&&a.call(i),0):i.next)&&!(a=a.call(i,o[1])).done)return a;switch(i=0,a&&(o=[2&o[0],a.value]),o[0]){case 0:case 1:a=o;break;case 4:return n.label++,{value:o[1],done:!1};case 5:n.label++,i=o[1],o=[0];continue;case 7:o=n.ops.pop(),n.trys.pop();continue;default:if(!((a=(a=n.trys).length>0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]{Object.defineProperty(e,"__esModule",{value:!0}),e.default={version:"2.22.4",type:"js"}},536:function(t,e,r){var i,a=this&&this.__extends||(i=function(t,e){return i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},i(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}),o=this&&this.__awaiter||function(t,e,r,i){return new(r||(r=Promise))((function(a,o){function n(t){try{s(i.next(t))}catch(t){o(t)}}function l(t){try{s(i.throw(t))}catch(t){o(t)}}function s(t){var e;t.done?a(t.value):(e=t.value,e instanceof r?e:new r((function(t){t(e)}))).then(n,l)}s((i=i.apply(t,e||[])).next())}))},n=this&&this.__generator||function(t,e){var r,i,a,o,n={label:0,sent:function(){if(1&a[0])throw a[1];return a[1]},trys:[],ops:[]};return o={next:l(0),throw:l(1),return:l(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function l(o){return function(l){return function(o){if(r)throw new TypeError("Generator is already executing.");for(;n;)try{if(r=1,i&&(a=2&o[0]?i.return:o[0]?i.throw||((a=i.return)&&a.call(i),0):i.next)&&!(a=a.call(i,o[1])).done)return a;switch(i=0,a&&(o=[2&o[0],a.value]),o[0]){case 0:case 1:a=o;break;case 4:return n.label++,{value:o[1],done:!1};case 5:n.label++,i=o[1],o=[0];continue;case 7:o=n.ops.pop(),n.trys.pop();continue;default:if(!((a=(a=n.trys).length>0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]{Object.defineProperty(e,"__esModule",{value:!0}),e.EmbedUrlNotSupported=e.APINotSupportedForRDLError=void 0,e.APINotSupportedForRDLError="This API is currently not supported for RDL reports",e.EmbedUrlNotSupported="Embed URL is invalid for this scenario. Please use Power BI REST APIs to get the valid URL"},357:(t,e,r)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.routerFactory=e.wpmpFactory=e.hpmFactory=void 0;var i=r(903),a=r(615),o=r(891),n=r(913);e.hpmFactory=function(t,e,r,i,o){return void 0===r&&(r=n.default.version),void 0===i&&(i=n.default.type),new a.HttpPostMessage(t,{"x-sdk-type":i,"x-sdk-version":r,"x-sdk-wrapper-version":o},e)},e.wpmpFactory=function(t,e,r){return new i.WindowPostMessageProxy({processTrackingProperties:{addTrackingProperties:a.HttpPostMessage.addTrackingProperties,getTrackingProperties:a.HttpPostMessage.getTrackingProperties},isErrorMessage:a.HttpPostMessage.isErrorMessage,suppressWarnings:!0,name:t,logMessages:e,eventSourceOverrideWindow:r})},e.routerFactory=function(t){return new o.Router(t)}},220:function(t,e,r){var i=this&&this.__awaiter||function(t,e,r,i){return new(r||(r=Promise))((function(a,o){function n(t){try{s(i.next(t))}catch(t){o(t)}}function l(t){try{s(i.throw(t))}catch(t){o(t)}}function s(t){var e;t.done?a(t.value):(e=t.value,e instanceof r?e:new r((function(t){t(e)}))).then(n,l)}s((i=i.apply(t,e||[])).next())}))},a=this&&this.__generator||function(t,e){var r,i,a,o,n={label:0,sent:function(){if(1&a[0])throw a[1];return a[1]},trys:[],ops:[]};return o={next:l(0),throw:l(1),return:l(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function l(o){return function(l){return function(o){if(r)throw new TypeError("Generator is already executing.");for(;n;)try{if(r=1,i&&(a=2&o[0]?i.return:o[0]?i.throw||((a=i.return)&&a.call(i),0):i.next)&&!(a=a.call(i,o[1])).done)return a;switch(i=0,a&&(o=[2&o[0],a.value]),o[0]){case 0:case 1:a=o;break;case 4:return n.label++,{value:o[1],done:!1};case 5:n.label++,i=o[1],o=[0];continue;case 7:o=n.ops.pop(),n.trys.pop();continue;default:if(!((a=(a=n.trys).length>0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0?"&":"?";return t+(i+e+"=")+r},e.isSavedInternal=function(t,e,a){return r(this,void 0,void 0,(function(){return i(this,(function(r){switch(r.label){case 0:return r.trys.push([0,2,,3]),[4,t.get("/report/hasUnsavedChanges",{uid:e},a)];case 1:return[2,!r.sent().body];case 2:throw r.sent().body;case 3:return[2]}}))}))},e.isRDLEmbed=function(t){return t&&t.toLowerCase().indexOf("/rdlembed?")>=0},e.autoAuthInEmbedUrl=function(t){return t&&decodeURIComponent(t).toLowerCase().indexOf("autoauth=true")>=0},e.getRandomValue=o,e.getTimeDiffInMilliseconds=function(t,e){return Math.abs(t.getTime()-e.getTime())},e.isCreate=function(t){return"create"===t||"quickcreate"===t}},23:function(t,e,r){var i,a=this&&this.__extends||(i=function(t,e){return i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},i(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}),o=this&&this.__awaiter||function(t,e,r,i){return new(r||(r=Promise))((function(a,o){function n(t){try{s(i.next(t))}catch(t){o(t)}}function l(t){try{s(i.throw(t))}catch(t){o(t)}}function s(t){var e;t.done?a(t.value):(e=t.value,e instanceof r?e:new r((function(t){t(e)}))).then(n,l)}s((i=i.apply(t,e||[])).next())}))},n=this&&this.__generator||function(t,e){var r,i,a,o,n={label:0,sent:function(){if(1&a[0])throw a[1];return a[1]},trys:[],ops:[]};return o={next:l(0),throw:l(1),return:l(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function l(o){return function(l){return function(o){if(r)throw new TypeError("Generator is already executing.");for(;n;)try{if(r=1,i&&(a=2&o[0]?i.return:o[0]?i.throw||((a=i.return)&&a.call(i),0):i.next)&&!(a=a.call(i,o[1])).done)return a;switch(i=0,a&&(o=[2&o[0],a.value]),o[0]){case 0:case 1:a=o;break;case 4:return n.label++,{value:o[1],done:!1};case 5:n.label++,i=o[1],o=[0];continue;case 7:o=n.ops.pop(),n.trys.pop();continue;default:if(!((a=(a=n.trys).length>0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]{var e;self,e=()=>(()=>{"use strict";var t={};return(()=>{var e=t;Object.defineProperty(e,"__esModule",{value:!0}),e.WindowPostMessageProxy=void 0;var r=function(){function t(e){void 0===e&&(e={processTrackingProperties:{addTrackingProperties:t.defaultAddTrackingProperties,getTrackingProperties:t.defaultGetTrackingProperties},isErrorMessage:t.defaultIsErrorMessage,receiveWindow:window,name:t.createRandomString()});var r=this;this.pendingRequestPromises={},this.addTrackingProperties=e.processTrackingProperties&&e.processTrackingProperties.addTrackingProperties||t.defaultAddTrackingProperties,this.getTrackingProperties=e.processTrackingProperties&&e.processTrackingProperties.getTrackingProperties||t.defaultGetTrackingProperties,this.isErrorMessage=e.isErrorMessage||t.defaultIsErrorMessage,this.receiveWindow=e.receiveWindow||window,this.name=e.name||t.createRandomString(),this.logMessages=e.logMessages||!1,this.eventSourceOverrideWindow=e.eventSourceOverrideWindow,this.suppressWarnings=e.suppressWarnings||!1,this.logMessages&&console.log("new WindowPostMessageProxy created with name: ".concat(this.name," receiving on window: ").concat(this.receiveWindow.document.title)),this.handlers=[],this.windowMessageHandler=function(t){return r.onMessageReceived(t)},this.start()}return t.defaultAddTrackingProperties=function(e,r){return e[t.messagePropertyName]=r,e},t.defaultGetTrackingProperties=function(e){return e[t.messagePropertyName]},t.defaultIsErrorMessage=function(t){return!!t.error},t.createDeferred=function(){var t={resolve:null,reject:null,promise:null},e=new Promise((function(e,r){t.resolve=e,t.reject=r}));return t.promise=e,t},t.createRandomString=function(){var t=window.crypto||window.msCrypto,e=new Uint32Array(1);return t.getRandomValues(e),e[0].toString(36).substring(1)},t.prototype.addHandler=function(t){this.handlers.push(t)},t.prototype.removeHandler=function(t){var e=this.handlers.indexOf(t);if(-1===e)throw new Error("You attempted to remove a handler but no matching handler was found.");this.handlers.splice(e,1)},t.prototype.start=function(){this.receiveWindow.addEventListener("message",this.windowMessageHandler)},t.prototype.stop=function(){this.receiveWindow.removeEventListener("message",this.windowMessageHandler)},t.prototype.postMessage=function(e,r){var i={id:t.createRandomString()};this.addTrackingProperties(r,i),this.logMessages&&(console.log("".concat(this.name," Posting message:")),console.log(JSON.stringify(r,null," "))),e.postMessage(r,"*");var a=t.createDeferred();return this.pendingRequestPromises[i.id]=a,a.promise},t.prototype.sendResponse=function(t,e,r){this.addTrackingProperties(e,r),this.logMessages&&(console.log("".concat(this.name," Sending response:")),console.log(JSON.stringify(e,null," "))),t.postMessage(e,"*")},t.prototype.onMessageReceived=function(t){var e=this;this.logMessages&&(console.log("".concat(this.name," Received message:")),console.log("type: ".concat(t.type)),console.log(JSON.stringify(t.data,null," ")));var r=this.eventSourceOverrideWindow||t.source;if(r){var i=t.data;if("object"==typeof i){var a,o;try{a=this.getTrackingProperties(i)}catch(t){this.suppressWarnings||console.warn("Proxy(".concat(this.name,"): Error occurred when attempting to get tracking properties from incoming message:"),JSON.stringify(i,null," "),"Error: ",t)}if(a&&(o=this.pendingRequestPromises[a.id]),o){var n=!0;try{n=this.isErrorMessage(i)}catch(t){console.warn("Proxy(".concat(this.name,") Error occurred when trying to determine if message is consider an error response. Message: "),JSON.stringify(i,null,""),"Error: ",t)}n?o.reject(i):o.resolve(i),delete this.pendingRequestPromises[a.id]}else this.handlers.some((function(t){var o=!1;try{o=t.test(i)}catch(t){e.suppressWarnings||console.warn("Proxy(".concat(e.name,"): Error occurred when handler was testing incoming message:"),JSON.stringify(i,null," "),"Error: ",t)}if(o){var n=void 0;try{n=Promise.resolve(t.handle(i))}catch(t){e.suppressWarnings||console.warn("Proxy(".concat(e.name,"): Error occurred when handler was processing incoming message:"),JSON.stringify(i,null," "),"Error: ",t),n=Promise.resolve()}return n.then((function(t){if(!t){var o="Handler for message: ".concat(JSON.stringify(i,null," ")," did not return a response message. The default response message will be returned instead.");e.suppressWarnings||console.warn("Proxy(".concat(e.name,"): ").concat(o)),t={warning:o}}e.sendResponse(r,t,a)})),!0}}))||this.suppressWarnings||console.warn("Proxy(".concat(this.name,") did not handle message. Handlers: ").concat(this.handlers.length," Message: ").concat(JSON.stringify(i,null,""),"."))}else this.suppressWarnings||console.warn("Proxy(".concat(this.name,"): Received message that was not an object. Discarding message"))}},t.messagePropertyName="windowPostMessageProxy",t}();e.WindowPostMessageProxy=r})(),t})(),t.exports=e()}},e={};function r(i){var a=e[i];if(void 0!==a)return a.exports;var o=e[i]={exports:{}};return t[i].call(o.exports,o,o.exports,r),o.exports}var i={};return(()=>{var t=i;Object.defineProperty(t,"__esModule",{value:!0}),t.RelativeTimeFilterBuilder=t.RelativeDateFilterBuilder=t.TopNFilterBuilder=t.AdvancedFilterBuilder=t.BasicFilterBuilder=t.Create=t.QuickCreate=t.VisualDescriptor=t.Visual=t.Qna=t.Page=t.Embed=t.Tile=t.Dashboard=t.Report=t.models=t.factories=t.service=void 0;var e=r(149);t.models=e;var a=r(562);t.service=a;var o=r(357);t.factories=o;var n=r(125);Object.defineProperty(t,"Report",{enumerable:!0,get:function(){return n.Report}});var l=r(365);Object.defineProperty(t,"Dashboard",{enumerable:!0,get:function(){return l.Dashboard}});var s=r(43);Object.defineProperty(t,"Tile",{enumerable:!0,get:function(){return s.Tile}});var u=r(932);Object.defineProperty(t,"Embed",{enumerable:!0,get:function(){return u.Embed}});var d=r(220);Object.defineProperty(t,"Page",{enumerable:!0,get:function(){return d.Page}});var c=r(148);Object.defineProperty(t,"Qna",{enumerable:!0,get:function(){return c.Qna}});var p=r(23);Object.defineProperty(t,"Visual",{enumerable:!0,get:function(){return p.Visual}});var f=r(558);Object.defineProperty(t,"VisualDescriptor",{enumerable:!0,get:function(){return f.VisualDescriptor}});var h=r(714);Object.defineProperty(t,"QuickCreate",{enumerable:!0,get:function(){return h.QuickCreate}});var v=r(536);Object.defineProperty(t,"Create",{enumerable:!0,get:function(){return v.Create}});var y=r(567);Object.defineProperty(t,"BasicFilterBuilder",{enumerable:!0,get:function(){return y.BasicFilterBuilder}}),Object.defineProperty(t,"AdvancedFilterBuilder",{enumerable:!0,get:function(){return y.AdvancedFilterBuilder}}),Object.defineProperty(t,"TopNFilterBuilder",{enumerable:!0,get:function(){return y.TopNFilterBuilder}}),Object.defineProperty(t,"RelativeDateFilterBuilder",{enumerable:!0,get:function(){return y.RelativeDateFilterBuilder}}),Object.defineProperty(t,"RelativeTimeFilterBuilder",{enumerable:!0,get:function(){return y.RelativeTimeFilterBuilder}});var m=new a.Service(o.hpmFactory,o.wpmpFactory,o.routerFactory);window.powerbi&&window.powerBISDKGlobalServiceInstanceName?window[window.powerBISDKGlobalServiceInstanceName]=m:window.powerbi=m})(),i})())); \ No newline at end of file diff --git a/package.json b/package.json index fbfc27ab..219cd87e 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "powerbi-client", - "version": "2.22.3", + "version": "2.22.4", "description": "JavaScript library for embedding Power BI into your apps. Provides service which makes it easy to embed different types of components and an object model which allows easy interaction with these components such as changing pages, applying filters, and responding to data selection.", "main": "dist/powerbi.js", "types": "dist/powerbi-client.d.ts", diff --git a/src/config.ts b/src/config.ts index a06b52e7..97380528 100644 --- a/src/config.ts +++ b/src/config.ts @@ -3,7 +3,7 @@ /** @ignore *//** */ const config = { - version: '2.22.3', + version: '2.22.4', type: 'js' }; From 3e157556dd3df1f9ba142151a85f5e380b506aba Mon Sep 17 00:00:00 2001 From: VishnuPriya Date: Wed, 21 Jun 2023 09:20:53 +0000 Subject: [PATCH 115/125] Merged PR 409839: Enabling SDL for powerbi-javascript repo Enabled CodeQL and SDL: Buddy test run: https://dev.azure.com/powerbi/Embedded/_build?definitionId=8484&_a=summary --- .config/tsaoptions.json | 14 ++++++++++++++ .pipelines/OneBranch.Official.yml | 5 ++++- 2 files changed, 18 insertions(+), 1 deletion(-) create mode 100644 .config/tsaoptions.json diff --git a/.config/tsaoptions.json b/.config/tsaoptions.json new file mode 100644 index 00000000..73a84b26 --- /dev/null +++ b/.config/tsaoptions.json @@ -0,0 +1,14 @@ +{ + "codebaseName": "powerbi-javascript", + "instanceUrl": "https://powerbi.visualstudio.com/", + "projectName": "Trident", + "areaPath" : "Trident\\ISV and ALM\\Embedded", + "iterationPath": "Trident\\Releases", + "notificationAliases": [ + "corembed@microsoft.com" + ], + "codebaseAdmins": [ + "redmond\\corembed" + ], + "ignoreBranchName": true +} \ No newline at end of file diff --git a/.pipelines/OneBranch.Official.yml b/.pipelines/OneBranch.Official.yml index a8f25504..06f2bb38 100644 --- a/.pipelines/OneBranch.Official.yml +++ b/.pipelines/OneBranch.Official.yml @@ -41,7 +41,10 @@ extends: parameters: globalSdl: # https://aka.ms/obpipelines/sdl tsa: - enabled: false + enabled: true + codeql: + compiled: + enabled: true cg: failOnAlert: false From d564c806eff7ea031f05bbed91661161bfec3424 Mon Sep 17 00:00:00 2001 From: MerlinBot Date: Thu, 31 Aug 2023 10:15:31 +0000 Subject: [PATCH 116/125] This uses [Azure DevOps scheduled triggers](https://learn.microsoft.com/en-us/azure/devops/pipelines/process/scheduled-triggers?view=azure-devops&tabs=yaml) to run a weekly build on Saturday at midnight. See [cron syntax](https://learn.microsoft.com/en-us/azure/devops/pipelines/process/scheduled-triggers?view=azure-devops&tabs=yaml#cron-syntax) to adjust the schedule as needed. This change ensures that this repo meets static analysis requirements as per the [Mandatory SDL Requirement](https://liquid.microsoft.com/Web/Object/Read/ms.security/Requirements/Microsoft.Security.SystemsADM.10201). [FAQs] (https://strikecommunity.azurewebsites.net/articles/9931/continuous-sdl-faq-codeql.html), which requires a fresh codeql build every 30 days. To check whether your repository has been onboarded visit the [Lookup Service] (https://semmleportal.azurewebsites.net/lookup) and enter your repository URL - you should see the main branch of your repo in the list. contact chanelyoung@microsoft.com for further help & details --- For feedback or questions about this PR, please find the contact information in the above description. If none exists, please contact the [Gardener team](mailto:gardener@microsoft.com) to help route. --- This change was automatically generated by [1ES Gardener](https://eng.ms/docs/cloud-ai-platform/devdiv/one-engineering-system-1es/1es-docs/gardener/1es-gardener) (a [MerlinBot](https://aka.ms/MerlinBot) extension) which is an initiative by the 1ES team to help repos stay up-to-date with latest tools, features, and best practices. --- .pipelines/OneBranch.Buddy.yml | 6 ++++++ .pipelines/OneBranch.Official.yml | 6 ++++++ 2 files changed, 12 insertions(+) diff --git a/.pipelines/OneBranch.Buddy.yml b/.pipelines/OneBranch.Buddy.yml index 1eb690db..6c37a0d9 100644 --- a/.pipelines/OneBranch.Buddy.yml +++ b/.pipelines/OneBranch.Buddy.yml @@ -1,3 +1,9 @@ +schedules: +- cron: "0 0 * * SATURDAY" + displayName: CodeQL weekly scan + branches: + include: + - master ################################################################################# # Onebranch Pipelines - Buddy MSBuild (CDPXMigrated) # # This pipeline was created by EasyStart from a sample located at: # diff --git a/.pipelines/OneBranch.Official.yml b/.pipelines/OneBranch.Official.yml index 06f2bb38..0e254b5b 100644 --- a/.pipelines/OneBranch.Official.yml +++ b/.pipelines/OneBranch.Official.yml @@ -1,3 +1,9 @@ +schedules: +- cron: "0 0 * * SATURDAY" + displayName: CodeQL weekly scan + branches: + include: + - master ################################################################################# # Onebranch Pipelines - Official MSBuild (CDPXMigrated) # # This pipeline was created by EasyStart from a sample located at: # From b4d5922fb93b6e27d719d938c80865b6d5e5a03f Mon Sep 17 00:00:00 2001 From: Andres De La Pena Santana Date: Thu, 14 Sep 2023 05:41:48 +0000 Subject: [PATCH 117/125] Merged PR 446928: Updating models version to 1.13.0 Updating models version to 1.13.0 --- dist/powerbi.js | 726 ++++++++++++++++++++++++-------------------- dist/powerbi.min.js | 2 +- package.json | 2 +- 3 files changed, 403 insertions(+), 327 deletions(-) diff --git a/dist/powerbi.js b/dist/powerbi.js index 067ce037..ef3dfca9 100644 --- a/dist/powerbi.js +++ b/dist/powerbi.js @@ -203,7 +203,7 @@ return /******/ (function(modules) { // webpackBootstrap \****************************************************/ /***/ (function(module) { -// powerbi-models v1.12.6 +// powerbi-models v1.13.0 // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. (function webpackUniversalModuleDefinition(root, factory) { @@ -1166,6 +1166,7 @@ var parameterPanelValidator_1 = __nested_webpack_require_46167__(30); var datasetCreateConfigValidator_1 = __nested_webpack_require_46167__(31); var quickCreateValidator_1 = __nested_webpack_require_46167__(32); var printSettingsValidator_1 = __nested_webpack_require_46167__(33); +var paginatedReportDatasetBindingValidator_1 = __nested_webpack_require_46167__(34); exports.Validators = { addBookmarkRequestValidator: new bookmarkValidator_1.AddBookmarkRequestValidator(), advancedFilterTypeValidator: new typeValidator_1.EnumValidator([0]), @@ -1254,6 +1255,7 @@ exports.Validators = { pageViewFieldValidator: new pageValidator_1.PageViewFieldValidator(), pagesLayoutValidator: new mapValidator_1.MapValidator([new typeValidator_1.StringValidator()], [new layoutValidator_1.PageLayoutValidator()]), paginatedReportCommandsValidator: new commandsSettingsValidator_1.PaginatedReportCommandsValidator(), + paginatedReportDatasetBindingArrayValidator: new typeValidator_1.ArrayValidator([new paginatedReportDatasetBindingValidator_1.PaginatedReportDatasetBindingValidator()]), paginatedReportLoadValidator: new paginatedReportLoadValidator_1.PaginatedReportLoadValidator(), paginatedReportsettingsValidator: new settingsValidator_1.PaginatedReportSettingsValidator(), parameterValuesArrayValidator: new typeValidator_1.ArrayValidator([new paginatedReportLoadValidator_1.ReportParameterFieldsValidator()]), @@ -1315,7 +1317,7 @@ exports.Validators = { /***/ }), /* 2 */ -/***/ (function(__unused_webpack_module, exports, __nested_webpack_require_63052__) { +/***/ (function(__unused_webpack_module, exports, __nested_webpack_require_63300__) { // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. @@ -1336,9 +1338,9 @@ var __extends = (this && this.__extends) || (function () { })(); Object.defineProperty(exports, "__esModule", ({ value: true })); exports.StatusBarValidator = exports.ActionBarValidator = exports.ReportBarsValidator = void 0; -var multipleFieldsValidator_1 = __nested_webpack_require_63052__(3); -var typeValidator_1 = __nested_webpack_require_63052__(4); -var validator_1 = __nested_webpack_require_63052__(1); +var multipleFieldsValidator_1 = __nested_webpack_require_63300__(3); +var typeValidator_1 = __nested_webpack_require_63300__(4); +var validator_1 = __nested_webpack_require_63300__(1); var ReportBarsValidator = /** @class */ (function (_super) { __extends(ReportBarsValidator, _super); function ReportBarsValidator() { @@ -1718,7 +1720,7 @@ exports.RangeValidator = RangeValidator; /***/ }), /* 5 */ -/***/ (function(__unused_webpack_module, exports, __nested_webpack_require_78931__) { +/***/ (function(__unused_webpack_module, exports, __nested_webpack_require_79179__) { // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. @@ -1739,9 +1741,9 @@ var __extends = (this && this.__extends) || (function () { })(); Object.defineProperty(exports, "__esModule", ({ value: true })); exports.CaptureBookmarkRequestValidator = exports.CaptureBookmarkOptionsValidator = exports.ApplyBookmarkStateRequestValidator = exports.ApplyBookmarkByNameRequestValidator = exports.AddBookmarkRequestValidator = exports.PlayBookmarkRequestValidator = void 0; -var multipleFieldsValidator_1 = __nested_webpack_require_78931__(3); -var typeValidator_1 = __nested_webpack_require_78931__(4); -var validator_1 = __nested_webpack_require_78931__(1); +var multipleFieldsValidator_1 = __nested_webpack_require_79179__(3); +var typeValidator_1 = __nested_webpack_require_79179__(4); +var validator_1 = __nested_webpack_require_79179__(1); var PlayBookmarkRequestValidator = /** @class */ (function (_super) { __extends(PlayBookmarkRequestValidator, _super); function PlayBookmarkRequestValidator() { @@ -1908,7 +1910,7 @@ exports.CaptureBookmarkRequestValidator = CaptureBookmarkRequestValidator; /***/ }), /* 6 */ -/***/ (function(__unused_webpack_module, exports, __nested_webpack_require_87407__) { +/***/ (function(__unused_webpack_module, exports, __nested_webpack_require_87655__) { // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. @@ -1929,9 +1931,9 @@ var __extends = (this && this.__extends) || (function () { })(); Object.defineProperty(exports, "__esModule", ({ value: true })); exports.PaginatedReportCommandsValidator = exports.SingleCommandSettingsValidator = exports.CommandsSettingsValidator = void 0; -var multipleFieldsValidator_1 = __nested_webpack_require_87407__(3); -var typeValidator_1 = __nested_webpack_require_87407__(4); -var validator_1 = __nested_webpack_require_87407__(1); +var multipleFieldsValidator_1 = __nested_webpack_require_87655__(3); +var typeValidator_1 = __nested_webpack_require_87655__(4); +var validator_1 = __nested_webpack_require_87655__(1); var CommandsSettingsValidator = /** @class */ (function (_super) { __extends(CommandsSettingsValidator, _super); function CommandsSettingsValidator() { @@ -2075,7 +2077,7 @@ exports.PaginatedReportCommandsValidator = PaginatedReportCommandsValidator; /***/ }), /* 7 */ -/***/ (function(__unused_webpack_module, exports, __nested_webpack_require_94440__) { +/***/ (function(__unused_webpack_module, exports, __nested_webpack_require_94688__) { // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. @@ -2096,8 +2098,8 @@ var __extends = (this && this.__extends) || (function () { })(); Object.defineProperty(exports, "__esModule", ({ value: true })); exports.CustomThemeValidator = void 0; -var multipleFieldsValidator_1 = __nested_webpack_require_94440__(3); -var typeValidator_1 = __nested_webpack_require_94440__(4); +var multipleFieldsValidator_1 = __nested_webpack_require_94688__(3); +var typeValidator_1 = __nested_webpack_require_94688__(4); var CustomThemeValidator = /** @class */ (function (_super) { __extends(CustomThemeValidator, _super); function CustomThemeValidator() { @@ -2127,7 +2129,7 @@ exports.CustomThemeValidator = CustomThemeValidator; /***/ }), /* 8 */ -/***/ (function(__unused_webpack_module, exports, __nested_webpack_require_96594__) { +/***/ (function(__unused_webpack_module, exports, __nested_webpack_require_96842__) { // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. @@ -2148,9 +2150,9 @@ var __extends = (this && this.__extends) || (function () { })(); Object.defineProperty(exports, "__esModule", ({ value: true })); exports.DashboardLoadValidator = void 0; -var multipleFieldsValidator_1 = __nested_webpack_require_96594__(3); -var typeValidator_1 = __nested_webpack_require_96594__(4); -var validator_1 = __nested_webpack_require_96594__(1); +var multipleFieldsValidator_1 = __nested_webpack_require_96842__(3); +var typeValidator_1 = __nested_webpack_require_96842__(4); +var validator_1 = __nested_webpack_require_96842__(1); var DashboardLoadValidator = /** @class */ (function (_super) { __extends(DashboardLoadValidator, _super); function DashboardLoadValidator() { @@ -2200,7 +2202,7 @@ exports.DashboardLoadValidator = DashboardLoadValidator; /***/ }), /* 9 */ -/***/ (function(__unused_webpack_module, exports, __nested_webpack_require_99593__) { +/***/ (function(__unused_webpack_module, exports, __nested_webpack_require_99841__) { // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. @@ -2221,9 +2223,9 @@ var __extends = (this && this.__extends) || (function () { })(); Object.defineProperty(exports, "__esModule", ({ value: true })); exports.DatasetBindingValidator = void 0; -var multipleFieldsValidator_1 = __nested_webpack_require_99593__(3); -var typeValidator_1 = __nested_webpack_require_99593__(4); -var validator_1 = __nested_webpack_require_99593__(1); +var multipleFieldsValidator_1 = __nested_webpack_require_99841__(3); +var typeValidator_1 = __nested_webpack_require_99841__(4); +var validator_1 = __nested_webpack_require_99841__(1); var DatasetBindingValidator = /** @class */ (function (_super) { __extends(DatasetBindingValidator, _super); function DatasetBindingValidator() { @@ -2237,10 +2239,21 @@ var DatasetBindingValidator = /** @class */ (function (_super) { if (errors) { return errors; } + if (!input["datasetId"] && !input["paginatedReportBindings"]) { + return [{ + message: "datasetBinding cannot be empty", + path: (path ? path + "." : "") + field, + keyword: "invalid" + }]; + } var fields = [ { field: "datasetId", - validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.stringValidator] + validators: [validator_1.Validators.stringValidator] + }, + { + field: "paginatedReportBindings", + validators: [validator_1.Validators.paginatedReportDatasetBindingArrayValidator] } ]; var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields); @@ -2253,7 +2266,7 @@ exports.DatasetBindingValidator = DatasetBindingValidator; /***/ }), /* 10 */ -/***/ (function(__unused_webpack_module, exports, __nested_webpack_require_101863__) { +/***/ (function(__unused_webpack_module, exports, __nested_webpack_require_102537__) { // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. @@ -2274,8 +2287,8 @@ var __extends = (this && this.__extends) || (function () { })(); Object.defineProperty(exports, "__esModule", ({ value: true })); exports.ExportDataRequestValidator = void 0; -var multipleFieldsValidator_1 = __nested_webpack_require_101863__(3); -var typeValidator_1 = __nested_webpack_require_101863__(4); +var multipleFieldsValidator_1 = __nested_webpack_require_102537__(3); +var typeValidator_1 = __nested_webpack_require_102537__(4); var ExportDataRequestValidator = /** @class */ (function (_super) { __extends(ExportDataRequestValidator, _super); function ExportDataRequestValidator() { @@ -2309,7 +2322,7 @@ exports.ExportDataRequestValidator = ExportDataRequestValidator; /***/ }), /* 11 */ -/***/ (function(__unused_webpack_module, exports, __nested_webpack_require_104207__) { +/***/ (function(__unused_webpack_module, exports, __nested_webpack_require_104881__) { // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. @@ -2330,9 +2343,9 @@ var __extends = (this && this.__extends) || (function () { })(); Object.defineProperty(exports, "__esModule", ({ value: true })); exports.ExtensionsValidator = exports.MenuGroupExtensionValidator = exports.ExtensionValidator = exports.CommandExtensionValidator = exports.ExtensionItemValidator = exports.ExtensionPointsValidator = exports.GroupedMenuExtensionValidator = exports.FlatMenuExtensionValidator = exports.MenuExtensionBaseValidator = void 0; -var multipleFieldsValidator_1 = __nested_webpack_require_104207__(3); -var typeValidator_1 = __nested_webpack_require_104207__(4); -var validator_1 = __nested_webpack_require_104207__(1); +var multipleFieldsValidator_1 = __nested_webpack_require_104881__(3); +var typeValidator_1 = __nested_webpack_require_104881__(4); +var validator_1 = __nested_webpack_require_104881__(1); var MenuExtensionBaseValidator = /** @class */ (function (_super) { __extends(MenuExtensionBaseValidator, _super); function MenuExtensionBaseValidator() { @@ -2602,7 +2615,7 @@ exports.ExtensionsValidator = ExtensionsValidator; /***/ }), /* 12 */ -/***/ (function(__unused_webpack_module, exports, __nested_webpack_require_116698__) { +/***/ (function(__unused_webpack_module, exports, __nested_webpack_require_117372__) { // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. @@ -2623,9 +2636,9 @@ var __extends = (this && this.__extends) || (function () { })(); Object.defineProperty(exports, "__esModule", ({ value: true })); exports.OnLoadFiltersValidator = exports.OnLoadFiltersBaseRemoveOperationValidator = exports.OnLoadFiltersBaseValidator = exports.ConditionItemValidator = exports.RemoveFiltersRequestValidator = exports.UpdateFiltersRequestValidator = exports.FilterValidator = exports.HierarchyFilterNodeValidator = exports.HierarchyFilterValidator = exports.IncludeExcludeFilterValidator = exports.NotSupportedFilterValidator = exports.TopNFilterValidator = exports.RelativeTimeFilterValidator = exports.RelativeDateFilterValidator = exports.RelativeDateTimeFilterValidator = exports.AdvancedFilterValidator = exports.BasicFilterValidator = exports.FilterValidatorBase = exports.FilterDisplaySettingsValidator = exports.FilterMeasureTargetValidator = exports.FilterKeyHierarchyTargetValidator = exports.FilterHierarchyTargetValidator = exports.FilterKeyColumnsTargetValidator = exports.FilterColumnTargetValidator = void 0; -var multipleFieldsValidator_1 = __nested_webpack_require_116698__(3); -var typeValidator_1 = __nested_webpack_require_116698__(4); -var validator_1 = __nested_webpack_require_116698__(1); +var multipleFieldsValidator_1 = __nested_webpack_require_117372__(3); +var typeValidator_1 = __nested_webpack_require_117372__(4); +var validator_1 = __nested_webpack_require_117372__(1); var FilterColumnTargetValidator = /** @class */ (function (_super) { __extends(FilterColumnTargetValidator, _super); function FilterColumnTargetValidator() { @@ -3371,7 +3384,7 @@ exports.OnLoadFiltersValidator = OnLoadFiltersValidator; /***/ }), /* 13 */ -/***/ (function(__unused_webpack_module, exports, __nested_webpack_require_150670__) { +/***/ (function(__unused_webpack_module, exports, __nested_webpack_require_151344__) { // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. @@ -3392,9 +3405,9 @@ var __extends = (this && this.__extends) || (function () { })(); Object.defineProperty(exports, "__esModule", ({ value: true })); exports.PageLayoutValidator = exports.DisplayStateValidator = exports.VisualLayoutValidator = exports.CustomLayoutValidator = void 0; -var multipleFieldsValidator_1 = __nested_webpack_require_150670__(3); -var typeValidator_1 = __nested_webpack_require_150670__(4); -var validator_1 = __nested_webpack_require_150670__(1); +var multipleFieldsValidator_1 = __nested_webpack_require_151344__(3); +var typeValidator_1 = __nested_webpack_require_151344__(4); +var validator_1 = __nested_webpack_require_151344__(1); var CustomLayoutValidator = /** @class */ (function (_super) { __extends(CustomLayoutValidator, _super); function CustomLayoutValidator() { @@ -3531,7 +3544,7 @@ exports.PageLayoutValidator = PageLayoutValidator; /***/ }), /* 14 */ -/***/ (function(__unused_webpack_module, exports, __nested_webpack_require_157149__) { +/***/ (function(__unused_webpack_module, exports, __nested_webpack_require_157823__) { // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. @@ -3552,9 +3565,9 @@ var __extends = (this && this.__extends) || (function () { })(); Object.defineProperty(exports, "__esModule", ({ value: true })); exports.PageViewFieldValidator = exports.PageValidator = exports.CustomPageSizeValidator = exports.PageSizeValidator = void 0; -var multipleFieldsValidator_1 = __nested_webpack_require_157149__(3); -var typeValidator_1 = __nested_webpack_require_157149__(4); -var validator_1 = __nested_webpack_require_157149__(1); +var multipleFieldsValidator_1 = __nested_webpack_require_157823__(3); +var typeValidator_1 = __nested_webpack_require_157823__(4); +var validator_1 = __nested_webpack_require_157823__(1); var PageSizeValidator = /** @class */ (function (_super) { __extends(PageSizeValidator, _super); function PageSizeValidator() { @@ -3662,7 +3675,7 @@ exports.PageViewFieldValidator = PageViewFieldValidator; /***/ }), /* 15 */ -/***/ (function(__unused_webpack_module, exports, __nested_webpack_require_162589__) { +/***/ (function(__unused_webpack_module, exports, __nested_webpack_require_163263__) { // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. @@ -3683,9 +3696,9 @@ var __extends = (this && this.__extends) || (function () { })(); Object.defineProperty(exports, "__esModule", ({ value: true })); exports.VisualizationsPaneValidator = exports.SyncSlicersPaneValidator = exports.SelectionPaneValidator = exports.PageNavigationPaneValidator = exports.FiltersPaneValidator = exports.FieldsPaneValidator = exports.BookmarksPaneValidator = exports.QnaPanesValidator = exports.ReportPanesValidator = void 0; -var multipleFieldsValidator_1 = __nested_webpack_require_162589__(3); -var typeValidator_1 = __nested_webpack_require_162589__(4); -var validator_1 = __nested_webpack_require_162589__(1); +var multipleFieldsValidator_1 = __nested_webpack_require_163263__(3); +var typeValidator_1 = __nested_webpack_require_163263__(4); +var validator_1 = __nested_webpack_require_163263__(1); var ReportPanesValidator = /** @class */ (function (_super) { __extends(ReportPanesValidator, _super); function ReportPanesValidator() { @@ -3947,7 +3960,7 @@ exports.VisualizationsPaneValidator = VisualizationsPaneValidator; /***/ }), /* 16 */ -/***/ (function(__unused_webpack_module, exports, __nested_webpack_require_174335__) { +/***/ (function(__unused_webpack_module, exports, __nested_webpack_require_175009__) { // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. @@ -3968,9 +3981,9 @@ var __extends = (this && this.__extends) || (function () { })(); Object.defineProperty(exports, "__esModule", ({ value: true })); exports.QnaInterpretInputDataValidator = exports.QnaSettingsValidator = exports.LoadQnaValidator = void 0; -var multipleFieldsValidator_1 = __nested_webpack_require_174335__(3); -var typeValidator_1 = __nested_webpack_require_174335__(4); -var validator_1 = __nested_webpack_require_174335__(1); +var multipleFieldsValidator_1 = __nested_webpack_require_175009__(3); +var typeValidator_1 = __nested_webpack_require_175009__(4); +var validator_1 = __nested_webpack_require_175009__(1); var LoadQnaValidator = /** @class */ (function (_super) { __extends(LoadQnaValidator, _super); function LoadQnaValidator() { @@ -4086,7 +4099,7 @@ exports.QnaInterpretInputDataValidator = QnaInterpretInputDataValidator; /***/ }), /* 17 */ -/***/ (function(__unused_webpack_module, exports, __nested_webpack_require_180046__) { +/***/ (function(__unused_webpack_module, exports, __nested_webpack_require_180720__) { // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. @@ -4107,9 +4120,9 @@ var __extends = (this && this.__extends) || (function () { })(); Object.defineProperty(exports, "__esModule", ({ value: true })); exports.ReportCreateValidator = void 0; -var multipleFieldsValidator_1 = __nested_webpack_require_180046__(3); -var typeValidator_1 = __nested_webpack_require_180046__(4); -var validator_1 = __nested_webpack_require_180046__(1); +var multipleFieldsValidator_1 = __nested_webpack_require_180720__(3); +var typeValidator_1 = __nested_webpack_require_180720__(4); +var validator_1 = __nested_webpack_require_180720__(1); var ReportCreateValidator = /** @class */ (function (_super) { __extends(ReportCreateValidator, _super); function ReportCreateValidator() { @@ -4155,7 +4168,7 @@ exports.ReportCreateValidator = ReportCreateValidator; /***/ }), /* 18 */ -/***/ (function(__unused_webpack_module, exports, __nested_webpack_require_182904__) { +/***/ (function(__unused_webpack_module, exports, __nested_webpack_require_183578__) { // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. @@ -4176,9 +4189,9 @@ var __extends = (this && this.__extends) || (function () { })(); Object.defineProperty(exports, "__esModule", ({ value: true })); exports.ReportLoadValidator = void 0; -var multipleFieldsValidator_1 = __nested_webpack_require_182904__(3); -var typeValidator_1 = __nested_webpack_require_182904__(4); -var validator_1 = __nested_webpack_require_182904__(1); +var multipleFieldsValidator_1 = __nested_webpack_require_183578__(3); +var typeValidator_1 = __nested_webpack_require_183578__(4); +var validator_1 = __nested_webpack_require_183578__(1); var ReportLoadValidator = /** @class */ (function (_super) { __extends(ReportLoadValidator, _super); function ReportLoadValidator() { @@ -4260,7 +4273,7 @@ exports.ReportLoadValidator = ReportLoadValidator; /***/ }), /* 19 */ -/***/ (function(__unused_webpack_module, exports, __nested_webpack_require_187025__) { +/***/ (function(__unused_webpack_module, exports, __nested_webpack_require_187699__) { // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. @@ -4281,9 +4294,9 @@ var __extends = (this && this.__extends) || (function () { })(); Object.defineProperty(exports, "__esModule", ({ value: true })); exports.ReportParameterFieldsValidator = exports.PaginatedReportLoadValidator = void 0; -var multipleFieldsValidator_1 = __nested_webpack_require_187025__(3); -var typeValidator_1 = __nested_webpack_require_187025__(4); -var validator_1 = __nested_webpack_require_187025__(1); +var multipleFieldsValidator_1 = __nested_webpack_require_187699__(3); +var typeValidator_1 = __nested_webpack_require_187699__(4); +var validator_1 = __nested_webpack_require_187699__(1); var PaginatedReportLoadValidator = /** @class */ (function (_super) { __extends(PaginatedReportLoadValidator, _super); function PaginatedReportLoadValidator() { @@ -4329,6 +4342,10 @@ var PaginatedReportLoadValidator = /** @class */ (function (_super) { { field: "parameterValues", validators: [validator_1.Validators.parameterValuesArrayValidator] + }, + { + field: "datasetBindings", + validators: [validator_1.Validators.paginatedReportDatasetBindingArrayValidator] } ]; var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields); @@ -4364,7 +4381,7 @@ exports.ReportParameterFieldsValidator = ReportParameterFieldsValidator; /***/ }), /* 20 */ -/***/ (function(__unused_webpack_module, exports, __nested_webpack_require_191349__) { +/***/ (function(__unused_webpack_module, exports, __nested_webpack_require_192195__) { // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. @@ -4385,9 +4402,9 @@ var __extends = (this && this.__extends) || (function () { })(); Object.defineProperty(exports, "__esModule", ({ value: true })); exports.SaveAsParametersValidator = void 0; -var multipleFieldsValidator_1 = __nested_webpack_require_191349__(3); -var typeValidator_1 = __nested_webpack_require_191349__(4); -var validator_1 = __nested_webpack_require_191349__(1); +var multipleFieldsValidator_1 = __nested_webpack_require_192195__(3); +var typeValidator_1 = __nested_webpack_require_192195__(4); +var validator_1 = __nested_webpack_require_192195__(1); var SaveAsParametersValidator = /** @class */ (function (_super) { __extends(SaveAsParametersValidator, _super); function SaveAsParametersValidator() { @@ -4417,7 +4434,7 @@ exports.SaveAsParametersValidator = SaveAsParametersValidator; /***/ }), /* 21 */ -/***/ (function(__unused_webpack_module, exports, __nested_webpack_require_193630__) { +/***/ (function(__unused_webpack_module, exports, __nested_webpack_require_194476__) { // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. @@ -4438,10 +4455,10 @@ var __extends = (this && this.__extends) || (function () { })(); Object.defineProperty(exports, "__esModule", ({ value: true })); exports.SlicerTargetSelectorValidator = exports.VisualTypeSelectorValidator = exports.VisualSelectorValidator = void 0; -var multipleFieldsValidator_1 = __nested_webpack_require_193630__(3); -var typeValidator_1 = __nested_webpack_require_193630__(4); -var typeValidator_2 = __nested_webpack_require_193630__(4); -var validator_1 = __nested_webpack_require_193630__(1); +var multipleFieldsValidator_1 = __nested_webpack_require_194476__(3); +var typeValidator_1 = __nested_webpack_require_194476__(4); +var typeValidator_2 = __nested_webpack_require_194476__(4); +var validator_1 = __nested_webpack_require_194476__(1); var VisualSelectorValidator = /** @class */ (function (_super) { __extends(VisualSelectorValidator, _super); function VisualSelectorValidator() { @@ -4534,7 +4551,7 @@ exports.SlicerTargetSelectorValidator = SlicerTargetSelectorValidator; /***/ }), /* 22 */ -/***/ (function(__unused_webpack_module, exports, __nested_webpack_require_199088__) { +/***/ (function(__unused_webpack_module, exports, __nested_webpack_require_199934__) { // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. @@ -4555,9 +4572,9 @@ var __extends = (this && this.__extends) || (function () { })(); Object.defineProperty(exports, "__esModule", ({ value: true })); exports.PaginatedReportSettingsValidator = exports.SettingsValidator = void 0; -var multipleFieldsValidator_1 = __nested_webpack_require_199088__(3); -var typeValidator_1 = __nested_webpack_require_199088__(4); -var validator_1 = __nested_webpack_require_199088__(1); +var multipleFieldsValidator_1 = __nested_webpack_require_199934__(3); +var typeValidator_1 = __nested_webpack_require_199934__(4); +var validator_1 = __nested_webpack_require_199934__(1); var SettingsValidator = /** @class */ (function (_super) { __extends(SettingsValidator, _super); function SettingsValidator() { @@ -4684,7 +4701,7 @@ exports.PaginatedReportSettingsValidator = PaginatedReportSettingsValidator; /***/ }), /* 23 */ -/***/ (function(__unused_webpack_module, exports, __nested_webpack_require_205084__) { +/***/ (function(__unused_webpack_module, exports, __nested_webpack_require_205930__) { // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. @@ -4705,9 +4722,9 @@ var __extends = (this && this.__extends) || (function () { })(); Object.defineProperty(exports, "__esModule", ({ value: true })); exports.SlicerStateValidator = exports.SlicerValidator = void 0; -var multipleFieldsValidator_1 = __nested_webpack_require_205084__(3); -var typeValidator_1 = __nested_webpack_require_205084__(4); -var validator_1 = __nested_webpack_require_205084__(1); +var multipleFieldsValidator_1 = __nested_webpack_require_205930__(3); +var typeValidator_1 = __nested_webpack_require_205930__(4); +var validator_1 = __nested_webpack_require_205930__(1); var SlicerValidator = /** @class */ (function (_super) { __extends(SlicerValidator, _super); function SlicerValidator() { @@ -4766,7 +4783,7 @@ exports.SlicerStateValidator = SlicerStateValidator; /***/ }), /* 24 */ -/***/ (function(__unused_webpack_module, exports, __nested_webpack_require_208514__) { +/***/ (function(__unused_webpack_module, exports, __nested_webpack_require_209360__) { // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. @@ -4787,9 +4804,9 @@ var __extends = (this && this.__extends) || (function () { })(); Object.defineProperty(exports, "__esModule", ({ value: true })); exports.TileLoadValidator = void 0; -var multipleFieldsValidator_1 = __nested_webpack_require_208514__(3); -var typeValidator_1 = __nested_webpack_require_208514__(4); -var validator_1 = __nested_webpack_require_208514__(1); +var multipleFieldsValidator_1 = __nested_webpack_require_209360__(3); +var typeValidator_1 = __nested_webpack_require_209360__(4); +var validator_1 = __nested_webpack_require_209360__(1); var TileLoadValidator = /** @class */ (function (_super) { __extends(TileLoadValidator, _super); function TileLoadValidator() { @@ -4847,7 +4864,7 @@ exports.TileLoadValidator = TileLoadValidator; /***/ }), /* 25 */ -/***/ (function(__unused_webpack_module, exports, __nested_webpack_require_211786__) { +/***/ (function(__unused_webpack_module, exports, __nested_webpack_require_212632__) { // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. @@ -4868,9 +4885,9 @@ var __extends = (this && this.__extends) || (function () { })(); Object.defineProperty(exports, "__esModule", ({ value: true })); exports.VisualHeaderValidator = exports.VisualHeaderSettingsValidator = exports.VisualSettingsValidator = void 0; -var multipleFieldsValidator_1 = __nested_webpack_require_211786__(3); -var typeValidator_1 = __nested_webpack_require_211786__(4); -var validator_1 = __nested_webpack_require_211786__(1); +var multipleFieldsValidator_1 = __nested_webpack_require_212632__(3); +var typeValidator_1 = __nested_webpack_require_212632__(4); +var validator_1 = __nested_webpack_require_212632__(1); var VisualSettingsValidator = /** @class */ (function (_super) { __extends(VisualSettingsValidator, _super); function VisualSettingsValidator() { @@ -5045,7 +5062,7 @@ exports.FieldRequiredValidator = FieldRequiredValidator; /***/ }), /* 29 */ -/***/ (function(__unused_webpack_module, exports, __nested_webpack_require_219195__) { +/***/ (function(__unused_webpack_module, exports, __nested_webpack_require_220041__) { // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. @@ -5066,7 +5083,7 @@ var __extends = (this && this.__extends) || (function () { })(); Object.defineProperty(exports, "__esModule", ({ value: true })); exports.MapValidator = void 0; -var typeValidator_1 = __nested_webpack_require_219195__(4); +var typeValidator_1 = __nested_webpack_require_220041__(4); var MapValidator = /** @class */ (function (_super) { __extends(MapValidator, _super); function MapValidator(keyValidators, valueValidators) { @@ -5111,7 +5128,7 @@ exports.MapValidator = MapValidator; /***/ }), /* 30 */ -/***/ (function(__unused_webpack_module, exports, __nested_webpack_require_221879__) { +/***/ (function(__unused_webpack_module, exports, __nested_webpack_require_222725__) { // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. @@ -5132,9 +5149,9 @@ var __extends = (this && this.__extends) || (function () { })(); Object.defineProperty(exports, "__esModule", ({ value: true })); exports.ParametersPanelValidator = void 0; -var multipleFieldsValidator_1 = __nested_webpack_require_221879__(3); -var typeValidator_1 = __nested_webpack_require_221879__(4); -var validator_1 = __nested_webpack_require_221879__(1); +var multipleFieldsValidator_1 = __nested_webpack_require_222725__(3); +var typeValidator_1 = __nested_webpack_require_222725__(4); +var validator_1 = __nested_webpack_require_222725__(1); var ParametersPanelValidator = /** @class */ (function (_super) { __extends(ParametersPanelValidator, _super); function ParametersPanelValidator() { @@ -5168,7 +5185,7 @@ exports.ParametersPanelValidator = ParametersPanelValidator; /***/ }), /* 31 */ -/***/ (function(__unused_webpack_module, exports, __nested_webpack_require_224247__) { +/***/ (function(__unused_webpack_module, exports, __nested_webpack_require_225093__) { // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. @@ -5189,9 +5206,9 @@ var __extends = (this && this.__extends) || (function () { })(); Object.defineProperty(exports, "__esModule", ({ value: true })); exports.TableDataValidator = exports.TableSchemaValidator = exports.ColumnSchemaValidator = exports.CredentialsValidator = exports.DatasourceConnectionConfigValidator = exports.DatasetCreateConfigValidator = void 0; -var multipleFieldsValidator_1 = __nested_webpack_require_224247__(3); -var typeValidator_1 = __nested_webpack_require_224247__(4); -var validator_1 = __nested_webpack_require_224247__(1); +var multipleFieldsValidator_1 = __nested_webpack_require_225093__(3); +var typeValidator_1 = __nested_webpack_require_225093__(4); +var validator_1 = __nested_webpack_require_225093__(1); var DatasetCreateConfigValidator = /** @class */ (function (_super) { __extends(DatasetCreateConfigValidator, _super); function DatasetCreateConfigValidator() { @@ -5404,7 +5421,7 @@ exports.TableDataValidator = TableDataValidator; /***/ }), /* 32 */ -/***/ (function(__unused_webpack_module, exports, __nested_webpack_require_234302__) { +/***/ (function(__unused_webpack_module, exports, __nested_webpack_require_235148__) { // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. @@ -5425,9 +5442,9 @@ var __extends = (this && this.__extends) || (function () { })(); Object.defineProperty(exports, "__esModule", ({ value: true })); exports.QuickCreateValidator = void 0; -var multipleFieldsValidator_1 = __nested_webpack_require_234302__(3); -var typeValidator_1 = __nested_webpack_require_234302__(4); -var validator_1 = __nested_webpack_require_234302__(1); +var multipleFieldsValidator_1 = __nested_webpack_require_235148__(3); +var typeValidator_1 = __nested_webpack_require_235148__(4); +var validator_1 = __nested_webpack_require_235148__(1); var QuickCreateValidator = /** @class */ (function (_super) { __extends(QuickCreateValidator, _super); function QuickCreateValidator() { @@ -5473,7 +5490,7 @@ exports.QuickCreateValidator = QuickCreateValidator; /***/ }), /* 33 */ -/***/ (function(__unused_webpack_module, exports, __nested_webpack_require_237175__) { +/***/ (function(__unused_webpack_module, exports, __nested_webpack_require_238021__) { // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. @@ -5494,8 +5511,8 @@ var __extends = (this && this.__extends) || (function () { })(); Object.defineProperty(exports, "__esModule", ({ value: true })); exports.PrintSettingsValidator = void 0; -var multipleFieldsValidator_1 = __nested_webpack_require_237175__(3); -var typeValidator_1 = __nested_webpack_require_237175__(4); +var multipleFieldsValidator_1 = __nested_webpack_require_238021__(3); +var typeValidator_1 = __nested_webpack_require_238021__(4); var PrintSettingsValidator = /** @class */ (function (_super) { __extends(PrintSettingsValidator, _super); function PrintSettingsValidator() { @@ -5523,6 +5540,63 @@ var PrintSettingsValidator = /** @class */ (function (_super) { exports.PrintSettingsValidator = PrintSettingsValidator; +/***/ }), +/* 34 */ +/***/ (function(__unused_webpack_module, exports, __nested_webpack_require_240214__) { + +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. +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 (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; }; + return extendStatics(d, b); + }; + return function (d, b) { + if (typeof b !== "function" && b !== null) + throw new TypeError("Class extends value " + String(b) + " is not a constructor or null"); + 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.PaginatedReportDatasetBindingValidator = void 0; +var multipleFieldsValidator_1 = __nested_webpack_require_240214__(3); +var typeValidator_1 = __nested_webpack_require_240214__(4); +var validator_1 = __nested_webpack_require_240214__(1); +var PaginatedReportDatasetBindingValidator = /** @class */ (function (_super) { + __extends(PaginatedReportDatasetBindingValidator, _super); + function PaginatedReportDatasetBindingValidator() { + return _super !== null && _super.apply(this, arguments) || this; + } + PaginatedReportDatasetBindingValidator.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: "sourceDatasetId", + validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.stringValidator] + }, + { + field: "targetDatasetId", + validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.stringValidator] + } + ]; + var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields); + return multipleFieldsValidator.validate(input, path, field); + }; + return PaginatedReportDatasetBindingValidator; +}(typeValidator_1.ObjectValidator)); +exports.PaginatedReportDatasetBindingValidator = PaginatedReportDatasetBindingValidator; + + /***/ }) /******/ ]); /************************************************************************/ @@ -5530,7 +5604,7 @@ exports.PrintSettingsValidator = PrintSettingsValidator; /******/ var __webpack_module_cache__ = {}; /******/ /******/ // The require function -/******/ function __nested_webpack_require_239527__(moduleId) { +/******/ function __nested_webpack_require_242960__(moduleId) { /******/ // Check if module is in cache /******/ var cachedModule = __webpack_module_cache__[moduleId]; /******/ if (cachedModule !== undefined) { @@ -5544,7 +5618,7 @@ exports.PrintSettingsValidator = PrintSettingsValidator; /******/ }; /******/ /******/ // Execute the module function -/******/ __webpack_modules__[moduleId].call(module.exports, module, module.exports, __nested_webpack_require_239527__); +/******/ __webpack_modules__[moduleId].call(module.exports, module, module.exports, __nested_webpack_require_242960__); /******/ /******/ // Return the exports of the module /******/ return module.exports; @@ -5555,7 +5629,7 @@ exports.PrintSettingsValidator = PrintSettingsValidator; /******/ // startup /******/ // Load entry module and return exports /******/ // This entry module is referenced by other modules so it can't be inlined -/******/ var __nested_webpack_exports__ = __nested_webpack_require_239527__(0); +/******/ var __nested_webpack_exports__ = __nested_webpack_require_242960__(0); /******/ /******/ return __nested_webpack_exports__; /******/ })() @@ -5563,26 +5637,26 @@ exports.PrintSettingsValidator = PrintSettingsValidator; }); //# sourceMappingURL=models.js.map // SIG // Begin signature block -// SIG // MIIrSwYJKoZIhvcNAQcCoIIrPDCCKzgCAQExDzANBglg +// SIG // MIIregYJKoZIhvcNAQcCoIIrazCCK2cCAQExDzANBglg // SIG // hkgBZQMEAgEFADB3BgorBgEEAYI3AgEEoGkwZzAyBgor // SIG // BgEEAYI3AgEeMCQCAQEEEBDgyQbOONQRoqMAEEvTUJAC // SIG // AQACAQACAQACAQACAQAwMTANBglghkgBZQMEAgEFAAQg -// SIG // xLtrVunVRrJVSWB0LPK/F3mt1yXA1Ex5UedxSKIGn6Kg -// SIG // ghFuMIIIfjCCB2agAwIBAgITNgAAAahTK9ZQq6y5UwAC -// SIG // AAABqDANBgkqhkiG9w0BAQsFADBBMRMwEQYKCZImiZPy +// SIG // BtUuvhS9bxln+kggFY3bwaUaXQn6Hk2p8APZro/arNag +// SIG // ghFuMIIIfjCCB2agAwIBAgITNgAAAchkggAwtCOCeAAC +// SIG // AAAByDANBgkqhkiG9w0BAQsFADBBMRMwEQYKCZImiZPy // SIG // LGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRUw -// SIG // EwYDVQQDEwxBTUUgQ1MgQ0EgMDEwHhcNMjIwNjEwMTgy -// SIG // NzAzWhcNMjMwNjEwMTgyNzAzWjAkMSIwIAYDVQQDExlN +// SIG // EwYDVQQDEwxBTUUgQ1MgQ0EgMDEwHhcNMjMwMzIwMjAw +// SIG // MDMxWhcNMjQwMzE5MjAwMDMxWjAkMSIwIAYDVQQDExlN // SIG // aWNyb3NvZnQgQXp1cmUgQ29kZSBTaWduMIIBIjANBgkq -// SIG // hkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAnEdeHxP889b7 -// SIG // mrwL0Z0koWl4LoJ+zeHJ7UDmhaQAxyRIIw9tXSK910U/ -// SIG // pTle2lfbvL9vZR1U8zyRwy6WaVNT/rh+wOm9AKqrsbaB -// SIG // qlCsTRliD/TIgibyDuKIf/aV+Aok1yvoWVg2eNn/06XE -// SIG // bXA/k554/MzRFwxHJNnO9dGc8hke+UZxb94AZB6JWfXQ -// SIG // 3xzYYQtPQmVsTI2iQ/aDYkkS+nIgs/IjbConhB93V4oc -// SIG // 4rL8r9C5D29kDOZRQ2Y2/1eqXV5wb7QSdahpxk3457cf -// SIG // caTGsmz6nPQq7DqO9RqDO5dYD22V5bGQkf5wMhC0jlQq -// SIG // 1qFAhbD3nkXka5eErruzcwIDAQABo4IFijCCBYYwKQYJ +// SIG // hkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArKhH7cINkFWa +// SIG // NPbW4CGpQwfhD2vWIwm5iDQIGjc5Siq9Ay9yIB0MPvck +// SIG // Xnp402u+fVvy8Zb+cPXCyiemnyFG7wYwKgPF4+x2awd4 +// SIG // beHkFvcWtTV+Yz5oEKVVT0oWR5NfsUHuqEGDlIVFAYB/ +// SIG // 7FIlZQWRiC4emeka+jYoFTl50U2mDQ/CvdCquvAd+dBc +// SIG // hoH0BLXWh00rK3NqRoqQj50vTHl+EB5HCer6+uP7iFKi +// SIG // a3vFw1uDonKVKmcz4x8GJo4y5p7plcr4VAB5FdwTpZrz +// SIG // hFObBzJxcxdIT3qMm07RYM6K1EbUn3AKKTEG2O9etQ06 +// SIG // oIKCcGHltvj0NZp37NkEJwIDAQABo4IFijCCBYYwKQYJ // SIG // KwYBBAGCNxUKBBwwGjAMBgorBgEEAYI3WwEBMAoGCCsG // SIG // AQUFBwMDMD0GCSsGAQQBgjcVBwQwMC4GJisGAQQBgjcV // SIG // CIaQ4w2E1bR4hPGLPoWb3RbOnRKBYIPdzWaGlIwyAgFk @@ -5605,10 +5679,10 @@ exports.PrintSettingsValidator = PrintSettingsValidator; // SIG // eSUyMFNlcnZpY2VzLENOPVNlcnZpY2VzLENOPUNvbmZp // SIG // Z3VyYXRpb24sREM9QU1FLERDPUdCTD9jQUNlcnRpZmlj // SIG // YXRlP2Jhc2U/b2JqZWN0Q2xhc3M9Y2VydGlmaWNhdGlv -// SIG // bkF1dGhvcml0eTAdBgNVHQ4EFgQUUchb+1j7hxhVLQdr -// SIG // TBwsRVxqi/IwDgYDVR0PAQH/BAQDAgeAMEUGA1UdEQQ+ +// SIG // bkF1dGhvcml0eTAdBgNVHQ4EFgQUskGhjtP5WCMqHOBI +// SIG // YEqYPR0vFkMwDgYDVR0PAQH/BAQDAgeAMEUGA1UdEQQ+ // SIG // MDykOjA4MR4wHAYDVQQLExVNaWNyb3NvZnQgQ29ycG9y -// SIG // YXRpb24xFjAUBgNVBAUTDTIzNjE2Nys0NzA4NjAwggHm +// SIG // YXRpb24xFjAUBgNVBAUTDTIzNjE2Nys1MDAzNjAwggHm // SIG // BgNVHR8EggHdMIIB2TCCAdWgggHRoIIBzYY/aHR0cDov // SIG // L2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9B // SIG // TUUlMjBDUyUyMENBJTIwMDEoMikuY3JshjFodHRwOi8v @@ -5626,15 +5700,15 @@ exports.PrintSettingsValidator = PrintSettingsValidator; // SIG // YXNzPWNSTERpc3RyaWJ1dGlvblBvaW50MB8GA1UdIwQY // SIG // MBaAFJZRhOBrb3v+2Aarw/KF5imuavnUMB8GA1UdJQQY // SIG // MBYGCisGAQQBgjdbAQEGCCsGAQUFBwMDMA0GCSqGSIb3 -// SIG // DQEBCwUAA4IBAQAOoFAbE6qv+1RAKHjMn56sREYNiKvh -// SIG // i11baGKOgpeVXuKztX5x9fQ2/DpXdUOkVe0w6cVoute2 -// SIG // 4WQACXKU+8ANjEMqaJq5DqsR52Q86V6LvjUQwMSfNgnj -// SIG // nb+mktUX1s8gNAQ2NUWsqG+Q0cmKbEGNFjnbsFvCKgDH -// SIG // OFHVJaYb5tNCU0nkWkMn1aA0y78u2wLvaQhSSx3I2A8O -// SIG // WLXWXahlAhV8ZEF04UatM/QwA5DubCgiUwK/TCXfRohY -// SIG // IouOD4h4MQ533o0sC3kVzvhSXdk2DXmgyBqzHrP+tJPQ -// SIG // A8IK5AJweyeJrKpdN39ZxV961rru4GXgQMfZ4L6+5v09 -// SIG // zP/7MIII6DCCBtCgAwIBAgITHwAAAFHqj/accwyoOwAA +// SIG // DQEBCwUAA4IBAQDG1533NPfZ4bL0nuae9PWCGH0ZmNci +// SIG // CejMn71r/igTKxx635KmcI38lYY/vhbu++jhMlN3V3Ke +// SIG // AJEmuUdbTxtaXlhhJwWW/3i4GfQGjFIot6N3F9OuXURf +// SIG // 8jc4LypadrWJV1l1bmZ/G75FiqMoEDF7DYjyYJ9BNUU3 +// SIG // alOgYyXygBJJjSfJR/8Vgd8hYCExm9DJgXDlSuKZ7ZeD +// SIG // ailP2EGIO5+m0QGI1tyMKdc/YgPrJUw7NI9wmx8ET/J5 +// SIG // fxrrh21fdowYoGCYnphYtGhGBvnqDdaHXbVECC3gzbU+ +// SIG // nLfeFF30rr/jHxoXWzKfFcYCj5Xnw52bu5mDZB8jF/dH +// SIG // vhlPMIII6DCCBtCgAwIBAgITHwAAAFHqj/accwyoOwAA // SIG // AAAAUTANBgkqhkiG9w0BAQsFADA8MRMwEQYKCZImiZPy // SIG // LGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRAw // SIG // DgYDVQQDEwdhbWVyb290MB4XDTIxMDUyMTE4NDQxNFoX @@ -5703,202 +5777,204 @@ exports.PrintSettingsValidator = PrintSettingsValidator; // SIG // w9c/hBf32DH/GFxteS2pmjgKIbMP8sDukmEq3lVvuWNJ // SIG // sybrZwQvQpvaM49fv+JKpLK5YWYEfwksYRR9wU8Hh/ID // SIG // 9hRCEkbUoQ2W7mMpsp2Nbp/kcn4ivfolUy3Q9Yf0scsQ -// SIG // 6WTLYpm+AoCUJTGCGTUwghkxAgEBMFgwQTETMBEGCgmS +// SIG // 6WTLYpm+AoCUJTGCGWQwghlgAgEBMFgwQTETMBEGCgmS // SIG // JomT8ixkARkWA0dCTDETMBEGCgmSJomT8ixkARkWA0FN -// SIG // RTEVMBMGA1UEAxMMQU1FIENTIENBIDAxAhM2AAABqFMr -// SIG // 1lCrrLlTAAIAAAGoMA0GCWCGSAFlAwQCAQUAoIGuMBkG +// SIG // RTEVMBMGA1UEAxMMQU1FIENTIENBIDAxAhM2AAAByGSC +// SIG // ADC0I4J4AAIAAAHIMA0GCWCGSAFlAwQCAQUAoIGuMBkG // SIG // CSqGSIb3DQEJAzEMBgorBgEEAYI3AgEEMBwGCisGAQQB // SIG // gjcCAQsxDjAMBgorBgEEAYI3AgEVMC8GCSqGSIb3DQEJ -// SIG // BDEiBCBjRLYF14HDc56jvQAj1c/QH6Ok/nZz0hMCsCKZ -// SIG // Z76EhDBCBgorBgEEAYI3AgEMMTQwMqAUgBIATQBpAGMA +// SIG // BDEiBCAedEweH6z6kL8Zq/Fe+MBnuMy3lOvgNOk+eMOE +// SIG // ICgYzTBCBgorBgEEAYI3AgEMMTQwMqAUgBIATQBpAGMA // SIG // cgBvAHMAbwBmAHShGoAYaHR0cDovL3d3dy5taWNyb3Nv -// SIG // ZnQuY29tMA0GCSqGSIb3DQEBAQUABIIBAIS+c42bOiEJ -// SIG // uQm4GLm2goBw8vLg23FrpNm95muZplv7Z1kIND9FN4kM -// SIG // K78rEpqfFgsz9PDvRpKDp0p/gmDaAeNcaDerca2Rfsab -// SIG // uyk4cHU2FHvRka1LuJewRO1n7W92FbeDdN/WrR81VSLq -// SIG // 5FaWCXH+GdIRXVM4inLo22uVhxBn5Oyn4SxVuSuBFPSN -// SIG // q2jz7kYlOTSCkQVmj2CnyHVzwUov4r5RCJGTWQW6j4lb -// SIG // UXPhKvoP2Tjtp+MC29DWJFgO60lYe3ihsUtdOb21KHg1 -// SIG // lPWovJIb8BtQTwbcidFV3WAFUFwS2hHJ/X6pEZ9W4Jks -// SIG // bHdP2S0bd/U8xg17TUuSQyChghb9MIIW+QYKKwYBBAGC -// SIG // NwMDATGCFukwghblBgkqhkiG9w0BBwKgghbWMIIW0gIB -// SIG // AzEPMA0GCWCGSAFlAwQCAQUAMIIBUQYLKoZIhvcNAQkQ -// SIG // AQSgggFABIIBPDCCATgCAQEGCisGAQQBhFkKAwEwMTAN -// SIG // BglghkgBZQMEAgEFAAQg/ZMAqe6x9fkTf00oQUJdUGoT -// SIG // oUvevXnPC0muAJQCF6YCBmPmYpKr+BgTMjAyMzAyMTMx -// SIG // MjIzNDMuNjcxWjAEgAIB9KCB0KSBzTCByjELMAkGA1UE +// SIG // ZnQuY29tMA0GCSqGSIb3DQEBAQUABIIBAGgsmQ7pAW5H +// SIG // kXP7SCbGPo9UyFOk8cNAoonqgsjPzicKEI2Oi5UoaNuH +// SIG // hSkMe69STOT1fqoSle+Dumhf9pnBDKI+BKWLT4Kbj+dL +// SIG // 9gRLoZUFUnE0myHrgegMi0YL4eL9JQ1eK4aDnq9Vt5VM +// SIG // f2mVyZ3bGpX4RX3St1k7eWUtCg4RNGuHrXHq6aO5PgYl +// SIG // uDrfq4mpZ4sZev2j/Gritm0Br1XfpmnfajppOl+kKux4 +// SIG // 24LeFqHROVY1yHG5a9ZWyA7AcbTnIm9kBVtGTtgMHOc/ +// SIG // j9KjD8gXro+NGPy9+hH58Qt/sYOHRAxgNb7ygFkRtrGx +// SIG // xBNL6lqfWsdqIMpZ0zagsqOhghcsMIIXKAYKKwYBBAGC +// SIG // NwMDATGCFxgwghcUBgkqhkiG9w0BBwKgghcFMIIXAQIB +// SIG // AzEPMA0GCWCGSAFlAwQCAQUAMIIBWQYLKoZIhvcNAQkQ +// SIG // AQSgggFIBIIBRDCCAUACAQEGCisGAQQBhFkKAwEwMTAN +// SIG // BglghkgBZQMEAgEFAAQgy8MDPDeM2a7GDOmUWeRwoeyT +// SIG // Yfrr+maIGjkximO3Vo0CBmTfhJTAahgTMjAyMzA4MzEy +// SIG // MjE2NDcuNDM2WjAEgAIB9KCB2KSB1TCB0jELMAkGA1UE // SIG // BhMCVVMxEzARBgNVBAgTCldhc2hpbmd0b24xEDAOBgNV // SIG // BAcTB1JlZG1vbmQxHjAcBgNVBAoTFU1pY3Jvc29mdCBD -// SIG // b3Jwb3JhdGlvbjElMCMGA1UECxMcTWljcm9zb2Z0IEFt -// SIG // ZXJpY2EgT3BlcmF0aW9uczEmMCQGA1UECxMdVGhhbGVz -// SIG // IFRTUyBFU046M0U3QS1FMzU5LUEyNUQxJTAjBgNVBAMT -// SIG // HE1pY3Jvc29mdCBUaW1lLVN0YW1wIFNlcnZpY2WgghFU -// SIG // MIIHDDCCBPSgAwIBAgITMwAAAcn61Y4lIHQCXgABAAAB -// SIG // yTANBgkqhkiG9w0BAQsFADB8MQswCQYDVQQGEwJVUzET -// SIG // MBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVk -// SIG // bW9uZDEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0 -// SIG // aW9uMSYwJAYDVQQDEx1NaWNyb3NvZnQgVGltZS1TdGFt -// SIG // cCBQQ0EgMjAxMDAeFw0yMjExMDQxOTAxMzhaFw0yNDAy -// SIG // MDIxOTAxMzhaMIHKMQswCQYDVQQGEwJVUzETMBEGA1UE -// SIG // CBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9uZDEe -// SIG // MBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMSUw -// SIG // IwYDVQQLExxNaWNyb3NvZnQgQW1lcmljYSBPcGVyYXRp -// SIG // b25zMSYwJAYDVQQLEx1UaGFsZXMgVFNTIEVTTjozRTdB -// SIG // LUUzNTktQTI1RDElMCMGA1UEAxMcTWljcm9zb2Z0IFRp -// SIG // bWUtU3RhbXAgU2VydmljZTCCAiIwDQYJKoZIhvcNAQEB -// SIG // BQADggIPADCCAgoCggIBANZy4uWOb8/CvlqMYZO6hlv7 -// SIG // wsYuXrkzNNU4hGxThvIO0hQdFTI2IKOk4kc4DkPgjedz -// SIG // gTipcjB1s0S+Mb2ktN2ZSIHrSCC2IgEqILBLZY8xJURz -// SIG // u3wxgxVnHc/pQjWJiaM7WxtzzK58W5VBx1JK+AuxAR29 -// SIG // mNOxneRiQYD/PuQGTbE5bBxnMx7OOZpj+61IHDJ//3PE -// SIG // PxmEqnU+DlxC6ed4ffRJ8heM3LHdmRY8XY9ZT/EBsGWU -// SIG // uBfNiQRntqQq0mpMhY08cxSlDsHEHq8AUf2GkJcu5rQq -// SIG // 2uDzXMhEJvp/yw3Hv1VYkGvDjNpwWRysOgsjKhMxSScu -// SIG // R4s8/Gesa6qiyrYvL4iVENBbapE10kd//8PDwCsgZbyG -// SIG // ExRfy8tyYd3G1XjoEprmzlcL/JzHoXEG9gLcXFP5XchF -// SIG // KsvP7YRByFjWm8x18eTvQ+G7UuqCXYC5h8a0wbRrHFUK -// SIG // sdM+f31CJCxO7W8H6KvOHBf1ESxMsN6ueyldlOIDoXN+ -// SIG // el2BFUHSV6OlRVgUA2G82p0Nuc2NtVApI/NtQsg/dIKq -// SIG // zt60D5XEKOnq8Ftgxdn7JoAG1as0LM+kZJmn8+K3te5J -// SIG // u6ntPT7sB8OXt8eWSBhKFZXzZyb+vvOdbsCl+gKWRcT8 -// SIG // 3kKO1v+QbWk5pGRIcGOQHQj4D79GmiBEJ9qhezLxcAnL -// SIG // AgMBAAGjggE2MIIBMjAdBgNVHQ4EFgQUBW+dZ0bCPKG+ -// SIG // eDoUxXlRe0QuMsswHwYDVR0jBBgwFoAUn6cVXQBeYl2D -// SIG // 9OXSZacbUzUZ6XIwXwYDVR0fBFgwVjBUoFKgUIZOaHR0 -// SIG // cDovL3d3dy5taWNyb3NvZnQuY29tL3BraW9wcy9jcmwv -// SIG // TWljcm9zb2Z0JTIwVGltZS1TdGFtcCUyMFBDQSUyMDIw -// SIG // MTAoMSkuY3JsMGwGCCsGAQUFBwEBBGAwXjBcBggrBgEF -// SIG // BQcwAoZQaHR0cDovL3d3dy5taWNyb3NvZnQuY29tL3Br -// SIG // aW9wcy9jZXJ0cy9NaWNyb3NvZnQlMjBUaW1lLVN0YW1w -// SIG // JTIwUENBJTIwMjAxMCgxKS5jcnQwDAYDVR0TAQH/BAIw -// SIG // ADATBgNVHSUEDDAKBggrBgEFBQcDCDANBgkqhkiG9w0B -// SIG // AQsFAAOCAgEANqi6nGbfR4pCB3I+wJZx4Y6LsUozngWk -// SIG // xPhCvGl3FS5vXAPA9v2WNjlKWLznYbgxFfYRJVZs6KYi -// SIG // bpP8QWIenViU0YZku4VY6xras0hVtC337EcrI8ZKbqso -// SIG // R4gQ8TFzBmehnc1H6lT9mXdjvifwWECYLPTR2M/wjOF2 -// SIG // kT/k9lTNyRNZkjtai2vpnweNu0Ii4/yQu01GIIeEWPqC -// SIG // zBVbkCWb12Jf4yExX1KaSaAGpAa9FXNq9ZD+Q4iWjb2V -// SIG // if3LmGolkOJPcacOsBs96qu8QFp5Rs7GsMBYY7cKuRB/ -// SIG // 7N+ywn3ocrgsPGUSfVt7YEhXqQFTO7FBPj691Lvoj7wV -// SIG // eE7EwzRS9AlSD1/tVziemERmCdpBxqaBnP+bIANiCkHJ -// SIG // fe2Q2CSKosYMCjX7cje9DtAE26U1YbGzdNRVZYtB/r4H -// SIG // Bocs5Oo6QMsBzw0kP8aBHhlOPujxU1zETv3zMxnFHH9G -// SIG // R6mTJtFIaB/LTrZNfJOge+SiV07WN2TO6U37q0r9kK7+ -// SIG // c8wgYssrLTj8PyCSPpPaKU4Grawt/S+vfysMrQ9Me7dI -// SIG // 5k17ZS2Whr6EpY3csq+kA0VZKrAmi1EkrAIlnmr+aoOu -// SIG // FN5i5nnpKNBPUyecs7Tf43Is5R8dF7IDrjerLm9wj1ew -// SIG // ADDIiqKXUGKoj17vSMb6l0+whP0jAtqXDckwggdxMIIF -// SIG // WaADAgECAhMzAAAAFcXna54Cm0mZAAAAAAAVMA0GCSqG -// SIG // SIb3DQEBCwUAMIGIMQswCQYDVQQGEwJVUzETMBEGA1UE -// SIG // CBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9uZDEe -// SIG // MBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMTIw -// SIG // MAYDVQQDEylNaWNyb3NvZnQgUm9vdCBDZXJ0aWZpY2F0 -// SIG // ZSBBdXRob3JpdHkgMjAxMDAeFw0yMTA5MzAxODIyMjVa -// SIG // Fw0zMDA5MzAxODMyMjVaMHwxCzAJBgNVBAYTAlVTMRMw -// SIG // EQYDVQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRt -// SIG // b25kMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRp -// SIG // b24xJjAkBgNVBAMTHU1pY3Jvc29mdCBUaW1lLVN0YW1w -// SIG // IFBDQSAyMDEwMIICIjANBgkqhkiG9w0BAQEFAAOCAg8A -// SIG // MIICCgKCAgEA5OGmTOe0ciELeaLL1yR5vQ7VgtP97pwH -// SIG // B9KpbE51yMo1V/YBf2xK4OK9uT4XYDP/XE/HZveVU3Fa -// SIG // 4n5KWv64NmeFRiMMtY0Tz3cywBAY6GB9alKDRLemjkZr -// SIG // BxTzxXb1hlDcwUTIcVxRMTegCjhuje3XD9gmU3w5YQJ6 -// SIG // xKr9cmmvHaus9ja+NSZk2pg7uhp7M62AW36MEBydUv62 -// SIG // 6GIl3GoPz130/o5Tz9bshVZN7928jaTjkY+yOSxRnOlw -// SIG // aQ3KNi1wjjHINSi947SHJMPgyY9+tVSP3PoFVZhtaDua -// SIG // Rr3tpK56KTesy+uDRedGbsoy1cCGMFxPLOJiss254o2I -// SIG // 5JasAUq7vnGpF1tnYN74kpEeHT39IM9zfUGaRnXNxF80 -// SIG // 3RKJ1v2lIH1+/NmeRd+2ci/bfV+AutuqfjbsNkz2K26o -// SIG // ElHovwUDo9Fzpk03dJQcNIIP8BDyt0cY7afomXw/TNuv -// SIG // XsLz1dhzPUNOwTM5TI4CvEJoLhDqhFFG4tG9ahhaYQFz -// SIG // ymeiXtcodgLiMxhy16cg8ML6EgrXY28MyTZki1ugpoMh -// SIG // XV8wdJGUlNi5UPkLiWHzNgY1GIRH29wb0f2y1BzFa/Zc -// SIG // UlFdEtsluq9QBXpsxREdcu+N+VLEhReTwDwV2xo3xwgV -// SIG // GD94q0W29R6HXtqPnhZyacaue7e3PmriLq0CAwEAAaOC -// SIG // Ad0wggHZMBIGCSsGAQQBgjcVAQQFAgMBAAEwIwYJKwYB -// SIG // BAGCNxUCBBYEFCqnUv5kxJq+gpE8RjUpzxD/LwTuMB0G -// SIG // A1UdDgQWBBSfpxVdAF5iXYP05dJlpxtTNRnpcjBcBgNV -// SIG // HSAEVTBTMFEGDCsGAQQBgjdMg30BATBBMD8GCCsGAQUF -// SIG // BwIBFjNodHRwOi8vd3d3Lm1pY3Jvc29mdC5jb20vcGtp -// SIG // b3BzL0RvY3MvUmVwb3NpdG9yeS5odG0wEwYDVR0lBAww -// SIG // CgYIKwYBBQUHAwgwGQYJKwYBBAGCNxQCBAweCgBTAHUA -// SIG // YgBDAEEwCwYDVR0PBAQDAgGGMA8GA1UdEwEB/wQFMAMB -// SIG // Af8wHwYDVR0jBBgwFoAU1fZWy4/oolxiaNE9lJBb186a -// SIG // GMQwVgYDVR0fBE8wTTBLoEmgR4ZFaHR0cDovL2NybC5t -// SIG // aWNyb3NvZnQuY29tL3BraS9jcmwvcHJvZHVjdHMvTWlj -// SIG // Um9vQ2VyQXV0XzIwMTAtMDYtMjMuY3JsMFoGCCsGAQUF -// SIG // BwEBBE4wTDBKBggrBgEFBQcwAoY+aHR0cDovL3d3dy5t -// SIG // aWNyb3NvZnQuY29tL3BraS9jZXJ0cy9NaWNSb29DZXJB -// SIG // dXRfMjAxMC0wNi0yMy5jcnQwDQYJKoZIhvcNAQELBQAD -// SIG // ggIBAJ1VffwqreEsH2cBMSRb4Z5yS/ypb+pcFLY+Tkdk -// SIG // eLEGk5c9MTO1OdfCcTY/2mRsfNB1OW27DzHkwo/7bNGh -// SIG // lBgi7ulmZzpTTd2YurYeeNg2LpypglYAA7AFvonoaeC6 -// SIG // Ce5732pvvinLbtg/SHUB2RjebYIM9W0jVOR4U3UkV7nd -// SIG // n/OOPcbzaN9l9qRWqveVtihVJ9AkvUCgvxm2EhIRXT0n -// SIG // 4ECWOKz3+SmJw7wXsFSFQrP8DJ6LGYnn8AtqgcKBGUIZ -// SIG // UnWKNsIdw2FzLixre24/LAl4FOmRsqlb30mjdAy87JGA -// SIG // 0j3mSj5mO0+7hvoyGtmW9I/2kQH2zsZ0/fZMcm8Qq3Uw -// SIG // xTSwethQ/gpY3UA8x1RtnWN0SCyxTkctwRQEcb9k+SS+ -// SIG // c23Kjgm9swFXSVRk2XPXfx5bRAGOWhmRaw2fpCjcZxko -// SIG // JLo4S5pu+yFUa2pFEUep8beuyOiJXk+d0tBMdrVXVAmx -// SIG // aQFEfnyhYWxz/gq77EFmPWn9y8FBSX5+k77L+DvktxW/ -// SIG // tM4+pTFRhLy/AsGConsXHRWJjXD+57XQKBqJC4822rpM -// SIG // +Zv/Cuk0+CQ1ZyvgDbjmjJnW4SLq8CdCPSWU5nR0W2rR -// SIG // nj7tfqAxM328y+l7vzhwRNGQ8cirOoo6CGJ/2XBjU02N -// SIG // 7oJtpQUQwXEGahC0HVUzWLOhcGbyoYICyzCCAjQCAQEw -// SIG // gfihgdCkgc0wgcoxCzAJBgNVBAYTAlVTMRMwEQYDVQQI +// SIG // b3Jwb3JhdGlvbjEtMCsGA1UECxMkTWljcm9zb2Z0IEly +// SIG // ZWxhbmQgT3BlcmF0aW9ucyBMaW1pdGVkMSYwJAYDVQQL +// SIG // Ex1UaGFsZXMgVFNTIEVTTjo4NkRGLTRCQkMtOTMzNTEl +// SIG // MCMGA1UEAxMcTWljcm9zb2Z0IFRpbWUtU3RhbXAgU2Vy +// SIG // dmljZaCCEXswggcnMIIFD6ADAgECAhMzAAABtyEnGgei +// SIG // KoZGAAEAAAG3MA0GCSqGSIb3DQEBCwUAMHwxCzAJBgNV +// SIG // BAYTAlVTMRMwEQYDVQQIEwpXYXNoaW5ndG9uMRAwDgYD +// SIG // VQQHEwdSZWRtb25kMR4wHAYDVQQKExVNaWNyb3NvZnQg +// SIG // Q29ycG9yYXRpb24xJjAkBgNVBAMTHU1pY3Jvc29mdCBU +// SIG // aW1lLVN0YW1wIFBDQSAyMDEwMB4XDTIyMDkyMDIwMjIx +// SIG // NFoXDTIzMTIxNDIwMjIxNFowgdIxCzAJBgNVBAYTAlVT +// SIG // MRMwEQYDVQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdS +// SIG // ZWRtb25kMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9y +// SIG // YXRpb24xLTArBgNVBAsTJE1pY3Jvc29mdCBJcmVsYW5k +// SIG // IE9wZXJhdGlvbnMgTGltaXRlZDEmMCQGA1UECxMdVGhh +// SIG // bGVzIFRTUyBFU046ODZERi00QkJDLTkzMzUxJTAjBgNV +// SIG // BAMTHE1pY3Jvc29mdCBUaW1lLVN0YW1wIFNlcnZpY2Uw +// SIG // ggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQDH +// SIG // /c9XUDQTZEwatxyXJcqY0HCSJQwIKb7MOLxyXtOp+d9k +// SIG // ShpHJ9Fe6euTngNcDqDvvDbKKZ4z6VWfPuLP0YXTAjDT +// SIG // 0CV6FnZFjqf96biBLNX8zwYEya3Zs3clGM6wJaCAmMe9 +// SIG // toJnaWzX9z9MuWdoETuPLFiGMmHjSWHIfmXyc16qr7r6 +// SIG // uxvDZvCDEIvGWsr8fuXUhgTOVWBwcQhI1xfRDekMOwOt +// SIG // Eml4yo6I0qVJqWjOBZlXnPfOTzXUofITnj9rS+/NUgWp +// SIG // /dg09fbXzR7/R9BQJhNhxkcIsx5Cf/5gGXUtLOm4v1MD +// SIG // zJLAImuW6ZyAwTqGmHVpFdJVRuazdPpbUc/c45Wh/boX +// SIG // RkyflojSjq+5kZ5c2EAOd37UkiQarBKU8wr+3Ou933b5 +// SIG // bcd8uPD3q+r3OlEeXuJEmbB9eNSIcYZkUdkphGm7mCjk +// SIG // 3Tu0P75bwH0MbhJyfdzS+C2FdSFsPDvsTTuoJY6waQjn +// SIG // zjk0IFiRfjOvyD8rmK3L+/S7u5XOu0vlPTBLtnaINDLi +// SIG // SKGAjIrlWl0ufhZjiYsn4gmZtFSbCee9MvZP7REHumkE +// SIG // fTMQ1tadhdx1nm6JV4/bLu866xJTZRwBL6RYXIKDJ4sp +// SIG // TU4k2cy8FI+0x/N4J7oMNRQhFVYeVPZcDTDy9SBrs/91 +// SIG // PkU/cGQgSWCKxST3epPFLQIDAQABo4IBSTCCAUUwHQYD +// SIG // VR0OBBYEFLPyOT4MNCQFYQ3WAdsjyCPJeLTsMB8GA1Ud +// SIG // IwQYMBaAFJ+nFV0AXmJdg/Tl0mWnG1M1GelyMF8GA1Ud +// SIG // HwRYMFYwVKBSoFCGTmh0dHA6Ly93d3cubWljcm9zb2Z0 +// SIG // LmNvbS9wa2lvcHMvY3JsL01pY3Jvc29mdCUyMFRpbWUt +// SIG // U3RhbXAlMjBQQ0ElMjAyMDEwKDEpLmNybDBsBggrBgEF +// SIG // BQcBAQRgMF4wXAYIKwYBBQUHMAKGUGh0dHA6Ly93d3cu +// SIG // bWljcm9zb2Z0LmNvbS9wa2lvcHMvY2VydHMvTWljcm9z +// SIG // b2Z0JTIwVGltZS1TdGFtcCUyMFBDQSUyMDIwMTAoMSku +// SIG // Y3J0MAwGA1UdEwEB/wQCMAAwFgYDVR0lAQH/BAwwCgYI +// SIG // KwYBBQUHAwgwDgYDVR0PAQH/BAQDAgeAMA0GCSqGSIb3 +// SIG // DQEBCwUAA4ICAQANnWTMm4VcUl02ycxYLzYjAlefwMp+ +// SIG // VLsyVOPeWA7XHn6JXdHoUfUARgYR5gDLddFmAh89lkFM +// SIG // jN5kA+CLB3xC9SRMIBvbRqu9bnJ/XZJywRw99Cb20EYS +// SIG // CnLxUp70QgqVaYpTPBf2GllwvVYm0nn/z1NhlgPtc7Ou +// SIG // FRcSah3rsvCqq0MnxdtEgp3fM0WZeGGAXI4fRtBo4SR1 +// SIG // DwGBMdK/I0lo8otqNlgBw+gqaQbZMJ2Un+wOvAy+DsMA +// SIG // aZhQd/r7m44DcGiAkvn5Blb0Zz9mYJpX52gGrPDMe4oC +// SIG // anIqqtEOgJ/tKx49ZMYrDXSIk8xZbuRsNnoV6S65efZL +// SIG // 7JjjVQCR4Z3acd5/9K++kx/t1jUvVE/Y28UJBPrdrYYn +// SIG // +jCuZKxTJ5ASAgkfw1XFdasPbIOrDBKNMFkl5UGF73EF +// SIG // gOuXlc0pKLMpYSJSGWSy9xh2Q9S0LQI6dgORewtyMODb +// SIG // ewu2gwn6RcaJt2bpUZxSaJZTx297p4/YQPcb0Yip1jAD +// SIG // KUuDGQKIleDtvc1imXVM8oKe4A+FoyitdeSgidKLxHH/ +// SIG // dgJ8DAFzJzbNaNCwrM4Prg5okGbOXke483Ss1Xxdc+23 +// SIG // w2DTwCb5uaUkHW8t8CDrDf7LWIzPhJGj7VM6/DsjMKxv +// SIG // o6RTG7AeHHzerbyHhra7ZJTCRbZxevAnGWeSADCCB3Ew +// SIG // ggVZoAMCAQICEzMAAAAVxedrngKbSZkAAAAAABUwDQYJ +// SIG // KoZIhvcNAQELBQAwgYgxCzAJBgNVBAYTAlVTMRMwEQYD +// SIG // VQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRtb25k +// SIG // MR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24x +// SIG // MjAwBgNVBAMTKU1pY3Jvc29mdCBSb290IENlcnRpZmlj +// SIG // YXRlIEF1dGhvcml0eSAyMDEwMB4XDTIxMDkzMDE4MjIy +// SIG // NVoXDTMwMDkzMDE4MzIyNVowfDELMAkGA1UEBhMCVVMx +// SIG // EzARBgNVBAgTCldhc2hpbmd0b24xEDAOBgNVBAcTB1Jl +// SIG // ZG1vbmQxHjAcBgNVBAoTFU1pY3Jvc29mdCBDb3Jwb3Jh +// SIG // dGlvbjEmMCQGA1UEAxMdTWljcm9zb2Z0IFRpbWUtU3Rh +// SIG // bXAgUENBIDIwMTAwggIiMA0GCSqGSIb3DQEBAQUAA4IC +// SIG // DwAwggIKAoICAQDk4aZM57RyIQt5osvXJHm9DtWC0/3u +// SIG // nAcH0qlsTnXIyjVX9gF/bErg4r25PhdgM/9cT8dm95VT +// SIG // cVrifkpa/rg2Z4VGIwy1jRPPdzLAEBjoYH1qUoNEt6aO +// SIG // RmsHFPPFdvWGUNzBRMhxXFExN6AKOG6N7dcP2CZTfDlh +// SIG // AnrEqv1yaa8dq6z2Nr41JmTamDu6GnszrYBbfowQHJ1S +// SIG // /rboYiXcag/PXfT+jlPP1uyFVk3v3byNpOORj7I5LFGc +// SIG // 6XBpDco2LXCOMcg1KL3jtIckw+DJj361VI/c+gVVmG1o +// SIG // O5pGve2krnopN6zL64NF50ZuyjLVwIYwXE8s4mKyzbni +// SIG // jYjklqwBSru+cakXW2dg3viSkR4dPf0gz3N9QZpGdc3E +// SIG // XzTdEonW/aUgfX782Z5F37ZyL9t9X4C626p+Nuw2TPYr +// SIG // bqgSUei/BQOj0XOmTTd0lBw0gg/wEPK3Rxjtp+iZfD9M +// SIG // 269ewvPV2HM9Q07BMzlMjgK8QmguEOqEUUbi0b1qGFph +// SIG // AXPKZ6Je1yh2AuIzGHLXpyDwwvoSCtdjbwzJNmSLW6Cm +// SIG // gyFdXzB0kZSU2LlQ+QuJYfM2BjUYhEfb3BvR/bLUHMVr +// SIG // 9lxSUV0S2yW6r1AFemzFER1y7435UsSFF5PAPBXbGjfH +// SIG // CBUYP3irRbb1Hode2o+eFnJpxq57t7c+auIurQIDAQAB +// SIG // o4IB3TCCAdkwEgYJKwYBBAGCNxUBBAUCAwEAATAjBgkr +// SIG // BgEEAYI3FQIEFgQUKqdS/mTEmr6CkTxGNSnPEP8vBO4w +// SIG // HQYDVR0OBBYEFJ+nFV0AXmJdg/Tl0mWnG1M1GelyMFwG +// SIG // A1UdIARVMFMwUQYMKwYBBAGCN0yDfQEBMEEwPwYIKwYB +// SIG // BQUHAgEWM2h0dHA6Ly93d3cubWljcm9zb2Z0LmNvbS9w +// SIG // a2lvcHMvRG9jcy9SZXBvc2l0b3J5Lmh0bTATBgNVHSUE +// SIG // DDAKBggrBgEFBQcDCDAZBgkrBgEEAYI3FAIEDB4KAFMA +// SIG // dQBiAEMAQTALBgNVHQ8EBAMCAYYwDwYDVR0TAQH/BAUw +// SIG // AwEB/zAfBgNVHSMEGDAWgBTV9lbLj+iiXGJo0T2UkFvX +// SIG // zpoYxDBWBgNVHR8ETzBNMEugSaBHhkVodHRwOi8vY3Js +// SIG // Lm1pY3Jvc29mdC5jb20vcGtpL2NybC9wcm9kdWN0cy9N +// SIG // aWNSb29DZXJBdXRfMjAxMC0wNi0yMy5jcmwwWgYIKwYB +// SIG // BQUHAQEETjBMMEoGCCsGAQUFBzAChj5odHRwOi8vd3d3 +// SIG // Lm1pY3Jvc29mdC5jb20vcGtpL2NlcnRzL01pY1Jvb0Nl +// SIG // ckF1dF8yMDEwLTA2LTIzLmNydDANBgkqhkiG9w0BAQsF +// SIG // AAOCAgEAnVV9/Cqt4SwfZwExJFvhnnJL/Klv6lwUtj5O +// SIG // R2R4sQaTlz0xM7U518JxNj/aZGx80HU5bbsPMeTCj/ts +// SIG // 0aGUGCLu6WZnOlNN3Zi6th542DYunKmCVgADsAW+iehp +// SIG // 4LoJ7nvfam++Kctu2D9IdQHZGN5tggz1bSNU5HhTdSRX +// SIG // ud2f8449xvNo32X2pFaq95W2KFUn0CS9QKC/GbYSEhFd +// SIG // PSfgQJY4rPf5KYnDvBewVIVCs/wMnosZiefwC2qBwoEZ +// SIG // QhlSdYo2wh3DYXMuLGt7bj8sCXgU6ZGyqVvfSaN0DLzs +// SIG // kYDSPeZKPmY7T7uG+jIa2Zb0j/aRAfbOxnT99kxybxCr +// SIG // dTDFNLB62FD+CljdQDzHVG2dY3RILLFORy3BFARxv2T5 +// SIG // JL5zbcqOCb2zAVdJVGTZc9d/HltEAY5aGZFrDZ+kKNxn +// SIG // GSgkujhLmm77IVRrakURR6nxt67I6IleT53S0Ex2tVdU +// SIG // CbFpAUR+fKFhbHP+CrvsQWY9af3LwUFJfn6Tvsv4O+S3 +// SIG // Fb+0zj6lMVGEvL8CwYKiexcdFYmNcP7ntdAoGokLjzba +// SIG // ukz5m/8K6TT4JDVnK+ANuOaMmdbhIurwJ0I9JZTmdHRb +// SIG // atGePu1+oDEzfbzL6Xu/OHBE0ZDxyKs6ijoIYn/ZcGNT +// SIG // TY3ugm2lBRDBcQZqELQdVTNYs6FwZvKhggLXMIICQAIB +// SIG // ATCCAQChgdikgdUwgdIxCzAJBgNVBAYTAlVTMRMwEQYD +// SIG // VQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRtb25k +// SIG // MR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24x +// SIG // LTArBgNVBAsTJE1pY3Jvc29mdCBJcmVsYW5kIE9wZXJh +// SIG // dGlvbnMgTGltaXRlZDEmMCQGA1UECxMdVGhhbGVzIFRT +// SIG // UyBFU046ODZERi00QkJDLTkzMzUxJTAjBgNVBAMTHE1p +// SIG // Y3Jvc29mdCBUaW1lLVN0YW1wIFNlcnZpY2WiIwoBATAH +// SIG // BgUrDgMCGgMVAMhnQRjDmzg5bBgWZklF9qFoH6nGoIGD +// SIG // MIGApH4wfDELMAkGA1UEBhMCVVMxEzARBgNVBAgTCldh +// SIG // c2hpbmd0b24xEDAOBgNVBAcTB1JlZG1vbmQxHjAcBgNV +// SIG // BAoTFU1pY3Jvc29mdCBDb3Jwb3JhdGlvbjEmMCQGA1UE +// SIG // AxMdTWljcm9zb2Z0IFRpbWUtU3RhbXAgUENBIDIwMTAw +// SIG // DQYJKoZIhvcNAQEFBQACBQDomyXhMCIYDzIwMjMwODMx +// SIG // MjI0NDQ5WhgPMjAyMzA5MDEyMjQ0NDlaMHcwPQYKKwYB +// SIG // BAGEWQoEATEvMC0wCgIFAOibJeECAQAwCgIBAAICBFsC +// SIG // Af8wBwIBAAICEVUwCgIFAOicd2ECAQAwNgYKKwYBBAGE +// SIG // WQoEAjEoMCYwDAYKKwYBBAGEWQoDAqAKMAgCAQACAweh +// SIG // IKEKMAgCAQACAwGGoDANBgkqhkiG9w0BAQUFAAOBgQAV +// SIG // Q/VftQWPuz4chBpllpVy/veSG62A4+OsZ7TxJXi7bZxP +// SIG // KbdwDQj7FwayDITGMBUwwlKZCeEib1xzZirwpgpchHkA +// SIG // FXQogRNzNTZZ6gjm9yoL451idB/EAnV6A5C71Oz6cllm +// SIG // Z49cGxtgQbz5rad+kRr41DsZnB3CUZjrUZxPODGCBA0w +// SIG // ggQJAgEBMIGTMHwxCzAJBgNVBAYTAlVTMRMwEQYDVQQI // SIG // EwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRtb25kMR4w -// SIG // HAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xJTAj -// SIG // BgNVBAsTHE1pY3Jvc29mdCBBbWVyaWNhIE9wZXJhdGlv -// SIG // bnMxJjAkBgNVBAsTHVRoYWxlcyBUU1MgRVNOOjNFN0Et -// SIG // RTM1OS1BMjVEMSUwIwYDVQQDExxNaWNyb3NvZnQgVGlt -// SIG // ZS1TdGFtcCBTZXJ2aWNloiMKAQEwBwYFKw4DAhoDFQB9 -// SIG // 6YvL/h4Bm41ULOBt+nUcVgbdDqCBgzCBgKR+MHwxCzAJ -// SIG // BgNVBAYTAlVTMRMwEQYDVQQIEwpXYXNoaW5ndG9uMRAw -// SIG // DgYDVQQHEwdSZWRtb25kMR4wHAYDVQQKExVNaWNyb3Nv -// SIG // ZnQgQ29ycG9yYXRpb24xJjAkBgNVBAMTHU1pY3Jvc29m -// SIG // dCBUaW1lLVN0YW1wIFBDQSAyMDEwMA0GCSqGSIb3DQEB -// SIG // BQUAAgUA55QsqjAiGA8yMDIzMDIxMzExMjczOFoYDzIw -// SIG // MjMwMjE0MTEyNzM4WjB0MDoGCisGAQQBhFkKBAExLDAq -// SIG // MAoCBQDnlCyqAgEAMAcCAQACAgotMAcCAQACAhKYMAoC -// SIG // BQDnlX4qAgEAMDYGCisGAQQBhFkKBAIxKDAmMAwGCisG -// SIG // AQQBhFkKAwKgCjAIAgEAAgMHoSChCjAIAgEAAgMBhqAw -// SIG // DQYJKoZIhvcNAQEFBQADgYEAWH/j3j4dJ+ftP/fpoWoM -// SIG // dzibyxT1Zfv0jP4VCw+AbG/qhdm7YFDjP6GJ9O09OcZ4 -// SIG // zmDEgjxkHVolakT2bZOHlYG+QgPpxg5OUMCSh+hM1coP -// SIG // 2bOl1w3Iq4jd8xeqxJvSjMqr52k4DsSS0C36LFViRllf -// SIG // eBrKC2GbnA6OYDxbBJcxggQNMIIECQIBATCBkzB8MQsw -// SIG // CQYDVQQGEwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQ -// SIG // MA4GA1UEBxMHUmVkbW9uZDEeMBwGA1UEChMVTWljcm9z -// SIG // b2Z0IENvcnBvcmF0aW9uMSYwJAYDVQQDEx1NaWNyb3Nv -// SIG // ZnQgVGltZS1TdGFtcCBQQ0EgMjAxMAITMwAAAcn61Y4l -// SIG // IHQCXgABAAAByTANBglghkgBZQMEAgEFAKCCAUowGgYJ -// SIG // KoZIhvcNAQkDMQ0GCyqGSIb3DQEJEAEEMC8GCSqGSIb3 -// SIG // DQEJBDEiBCAnSycMArNSomfY7ha5/0IoVSwgYJe4NIr2 -// SIG // Zu5PXklibDCB+gYLKoZIhvcNAQkQAi8xgeowgecwgeQw -// SIG // gb0EIIF1zn9S3VFLECd4Kdh/YA0jIYkA/8194V184dk5 -// SIG // dv2BMIGYMIGApH4wfDELMAkGA1UEBhMCVVMxEzARBgNV -// SIG // BAgTCldhc2hpbmd0b24xEDAOBgNVBAcTB1JlZG1vbmQx -// SIG // HjAcBgNVBAoTFU1pY3Jvc29mdCBDb3Jwb3JhdGlvbjEm -// SIG // MCQGA1UEAxMdTWljcm9zb2Z0IFRpbWUtU3RhbXAgUENB -// SIG // IDIwMTACEzMAAAHJ+tWOJSB0Al4AAQAAAckwIgQgKq8V -// SIG // K74aQfHbKF2QOPZa23JRXUDLBs1wVRbiih+lxsYwDQYJ -// SIG // KoZIhvcNAQELBQAEggIAaQM4H0gzID/OUj2Z+WkvozrL -// SIG // o97FygMaSQb/5DkaODPJvQ7uIRVGirFDK+DEB7glUz4B -// SIG // pIbDxQw6Tdqy8krkgOcNtuIp48VBFRlyss6jqKWbXk7o -// SIG // zrLuRVw2AdsZtR2jV1aIQYOuz+EA+Vmn0udsq7y1nxKr -// SIG // ahZHYQqud2qw/l92C8XAqBExEtaP5+dAjz1jS27vAkAi -// SIG // sL/yI5mGd73pixoE6if2phYBF0KoqJyFQkFLfSuMRQ7L -// SIG // 4gA3di+jAz5BRx2MxbdyV3qqmvC4NbQFZBN9P4RxYx3l -// SIG // HeR+Tg2znNl87bfr+pjues0sbO7lloeMPF2lthrp7Kdw -// SIG // nUSGBMnhW691Z9Q5xLVuaEfIQogWr3IZlkA4sKuP1PyM -// SIG // XUMfLcqBuSVRz1+ryjN2jQxgS1WRQvvGxPDtpVOPXVo3 -// SIG // /bQ04B61Pi6Wh6d1XqXuFsKy7nISwvMXLPp/gVgYNdCg -// SIG // hgS8BnnzbzeythHPLddnHBECwjF7PSs2AKT/chMKpfK/ -// SIG // odvm6dnJDz81VMCZ0IvhlvISBAULam8DaC5pieM7mXCR -// SIG // ZeTgaWO+7U2kJIKopIsD3ZjBIYLV2EeulhwDPp0JPit3 -// SIG // bZ/ISGcvQeP0cEuozPBAOzbdEYxB2tM4i2Ucu3P7NeUW -// SIG // LWdEXlwm5ZIsOkBR1wPzOc2wU97v17qo/aIKOhVTjHQ= +// SIG // HAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xJjAk +// SIG // BgNVBAMTHU1pY3Jvc29mdCBUaW1lLVN0YW1wIFBDQSAy +// SIG // MDEwAhMzAAABtyEnGgeiKoZGAAEAAAG3MA0GCWCGSAFl +// SIG // AwQCAQUAoIIBSjAaBgkqhkiG9w0BCQMxDQYLKoZIhvcN +// SIG // AQkQAQQwLwYJKoZIhvcNAQkEMSIEILZCgZdI3RZTnUnP +// SIG // s+tAOSsRtnkJrbw1fmYFv9hamhUyMIH6BgsqhkiG9w0B +// SIG // CRACLzGB6jCB5zCB5DCBvQQgbCd407Ie2i/ITXomBi+f +// SIG // /CAZ/M1H6+/0O65DPInNcEEwgZgwgYCkfjB8MQswCQYD +// SIG // VQQGEwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4G +// SIG // A1UEBxMHUmVkbW9uZDEeMBwGA1UEChMVTWljcm9zb2Z0 +// SIG // IENvcnBvcmF0aW9uMSYwJAYDVQQDEx1NaWNyb3NvZnQg +// SIG // VGltZS1TdGFtcCBQQ0EgMjAxMAITMwAAAbchJxoHoiqG +// SIG // RgABAAABtzAiBCBHM8CJyFUSCxXOJANZro6JUgE/qAQH +// SIG // aolXifgXofDV6jANBgkqhkiG9w0BAQsFAASCAgC/WmiO +// SIG // BGpyzHB4U8wBxUUVZhEzXWpPqcctxCTQTNQaz8pKn4zK +// SIG // zCij69w72Id0y9ZO4aHIuzIJyITrAZdpikOZAKBd++9/ +// SIG // FEKJVoPGkVP6990rL1gpt8KWpzuaqHHTCfYUeb5vfj9X +// SIG // yE0I4qLgxjgA2h70anBKbeoRdhqyaG6NtefdsENoBRbz +// SIG // hSShSm90ty87/9NBFD0tAMOxTsUuni7acUCBYXZqx5nL +// SIG // 9Jg7uKwmkoxh+Y9czyTrFPA5uunGw+pwUaRspH0ztWfJ +// SIG // o91Q2QycUG/V9WjHzUbkVFAl9VH2WOd7TzsvHHydpkgW +// SIG // +sNjiypExXKi2zfBnPPFN5cXxdrh4wfsDf16SthELK4g +// SIG // WWTsJQMd3wCHBF39ECr1qJIR37QZ+AJoizof7Eeu1BQ6 +// SIG // XQANPdOTVbKNio7eFxNMaWmW9hN3gISDG+cha8s+qv1h +// SIG // cJZpp74uDrIJpobqZpa9NwBfbR300vQ/LxoEM9pbPX0+ +// SIG // KIElLE7b+aQ/ret59k9ZMpCOrcqOh9KgHY5/Zupr/LeU +// SIG // O/1sK1DJAwg6eMHTnLdkN5XcmWwYy/UjZ3dc7PxHK5Pk +// SIG // rmv0/CkLOQlVy9bESzMd9RfgTDNwp8kUjRDv+V30Owt4 +// SIG // oeIjpzG5b7+/vWnOvJ4BlabU0PQPzKgzmrmKkUxjA+Ws +// SIG // zhuTzkJwkymikmsPXg== // SIG // End signature block diff --git a/dist/powerbi.min.js b/dist/powerbi.min.js index 12f2bd98..228e8138 100644 --- a/dist/powerbi.min.js +++ b/dist/powerbi.min.js @@ -2,4 +2,4 @@ // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. /*! For license information please see powerbi.js.LICENSE.txt */ -!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,(()=>(()=>{var t={615:function(t){var e;e=function(){return function(t){var e={};function r(i){if(e[i])return e[i].exports;var a=e[i]={exports:{},id:i,loaded:!1};return t[i].call(a.exports,a,a.exports,r),a.loaded=!0,a.exports}return r.m=t,r.c=e,r.p="",r(0)}([function(t,e){"use strict";var r=function(){function t(t,e,r){void 0===e&&(e={}),this.defaultHeaders=e,this.defaultTargetWindow=r,this.windowPostMessageProxy=t}return t.addTrackingProperties=function(t,e){return t.headers=t.headers||{},e&&e.id&&(t.headers.id=e.id),t},t.getTrackingProperties=function(t){return{id:t.headers&&t.headers.id}},t.isErrorMessage=function(t){return"number"==typeof(t&&t.statusCode)&&!(200<=t.statusCode&&t.statusCode<300)},t.prototype.get=function(t,e,r){return void 0===e&&(e={}),void 0===r&&(r=this.defaultTargetWindow),this.send({method:"GET",url:t,headers:e},r)},t.prototype.post=function(t,e,r,i){return void 0===r&&(r={}),void 0===i&&(i=this.defaultTargetWindow),this.send({method:"POST",url:t,headers:r,body:e},i)},t.prototype.put=function(t,e,r,i){return void 0===r&&(r={}),void 0===i&&(i=this.defaultTargetWindow),this.send({method:"PUT",url:t,headers:r,body:e},i)},t.prototype.patch=function(t,e,r,i){return void 0===r&&(r={}),void 0===i&&(i=this.defaultTargetWindow),this.send({method:"PATCH",url:t,headers:r,body:e},i)},t.prototype.delete=function(t,e,r,i){return void 0===e&&(e=null),void 0===r&&(r={}),void 0===i&&(i=this.defaultTargetWindow),this.send({method:"DELETE",url:t,headers:r,body:e},i)},t.prototype.send=function(t,e){if(void 0===e&&(e=this.defaultTargetWindow),t.headers=this.assign({},this.defaultHeaders,t.headers),!e)throw new Error("target window is not provided. You must either provide the target window explicitly as argument to request, or specify default target window when constructing instance of this class.");return this.windowPostMessageProxy.postMessage(e,t)},t.prototype.assign=function(t){for(var e=[],r=1;r(()=>{var t=[function(t,e,r){var i,a=this&&this.__extends||(i=function(t,e){return i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},i(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.TextAlignment=e.CommonErrorCodes=e.BookmarksPlayMode=e.ExportDataType=e.QnaMode=e.PageNavigationPosition=e.BrowserPrintAdjustmentsMode=e.AggregateFunction=e.DataCacheMode=e.CredentialType=e.isPercentOfGrandTotal=e.isColumnAggr=e.isHierarchyLevelAggr=e.isHierarchyLevel=e.isColumn=e.isMeasure=e.getFilterType=e.isBasicFilterWithKeys=e.isFilterKeyColumnsTarget=e.HierarchyFilter=e.AdvancedFilter=e.TupleFilter=e.IdentityFilter=e.BasicFilterWithKeys=e.BasicFilter=e.RelativeTimeFilter=e.RelativeDateFilter=e.TopNFilter=e.IncludeExcludeFilter=e.NotSupportedFilter=e.Filter=e.RelativeDateOperators=e.RelativeDateFilterTimeUnit=e.FilterType=e.FiltersLevel=e.FiltersOperations=e.MenuLocation=e.ContrastMode=e.TokenType=e.ViewMode=e.Permissions=e.SectionVisibility=e.ReportAlignment=e.HyperlinkClickBehavior=e.LayoutType=e.VisualContainerDisplayMode=e.BackgroundType=e.DisplayOption=e.PageSizeType=e.TraceType=void 0,e.validateVisualHeader=e.validateExportDataRequest=e.validateQnaInterpretInputData=e.validateLoadQnaConfiguration=e.validateSaveAsParameters=e.validateUpdateFiltersRequest=e.validateFilter=e.validatePage=e.validateTileLoad=e.validateDashboardLoad=e.validateQuickCreate=e.validateCreateReport=e.validatePaginatedReportLoad=e.validateReportLoad=e.validateMenuGroupExtension=e.validateExtension=e.validateCustomPageSize=e.validateVisualizationsPane=e.validateSyncSlicersPane=e.validateSelectionPane=e.validatePageNavigationPane=e.validateFieldsPane=e.validateFiltersPane=e.validateBookmarksPane=e.validatePanes=e.validateSettings=e.validateCaptureBookmarkRequest=e.validateApplyBookmarkStateRequest=e.validateApplyBookmarkByNameRequest=e.validateAddBookmarkRequest=e.validatePlayBookmarkRequest=e.validateSlicerState=e.validateSlicer=e.validateVisualSelector=e.isIExtensionArray=e.isIExtensions=e.isGroupedMenuExtension=e.isFlatMenuExtension=e.isReportFiltersArray=e.isOnLoadFilters=e.VisualDataRoleKindPreference=e.VisualDataRoleKind=e.CommandDisplayOption=e.SlicerTargetSelector=e.VisualTypeSelector=e.VisualSelector=e.PageSelector=e.Selector=e.SortDirection=e.LegendPosition=void 0,e.validatePrintSettings=e.validateZoomLevel=e.validateCustomTheme=e.validateCommandsSettings=e.validateVisualSettings=void 0;var o,n,l,s,u,d,c,p,f,h,v,y,m,V,g,b,w,P,S,O=r(1);(S=e.TraceType||(e.TraceType={}))[S.Information=0]="Information",S[S.Verbose=1]="Verbose",S[S.Warning=2]="Warning",S[S.Error=3]="Error",S[S.ExpectedError=4]="ExpectedError",S[S.UnexpectedError=5]="UnexpectedError",S[S.Fatal=6]="Fatal",(P=e.PageSizeType||(e.PageSizeType={}))[P.Widescreen=0]="Widescreen",P[P.Standard=1]="Standard",P[P.Cortana=2]="Cortana",P[P.Letter=3]="Letter",P[P.Custom=4]="Custom",P[P.Mobile=5]="Mobile",(w=e.DisplayOption||(e.DisplayOption={}))[w.FitToPage=0]="FitToPage",w[w.FitToWidth=1]="FitToWidth",w[w.ActualSize=2]="ActualSize",(b=e.BackgroundType||(e.BackgroundType={}))[b.Default=0]="Default",b[b.Transparent=1]="Transparent",(g=e.VisualContainerDisplayMode||(e.VisualContainerDisplayMode={}))[g.Visible=0]="Visible",g[g.Hidden=1]="Hidden",(V=e.LayoutType||(e.LayoutType={}))[V.Master=0]="Master",V[V.Custom=1]="Custom",V[V.MobilePortrait=2]="MobilePortrait",V[V.MobileLandscape=3]="MobileLandscape",(m=e.HyperlinkClickBehavior||(e.HyperlinkClickBehavior={}))[m.Navigate=0]="Navigate",m[m.NavigateAndRaiseEvent=1]="NavigateAndRaiseEvent",m[m.RaiseEvent=2]="RaiseEvent",(y=e.ReportAlignment||(e.ReportAlignment={}))[y.Left=0]="Left",y[y.Center=1]="Center",y[y.Right=2]="Right",y[y.None=3]="None",(v=e.SectionVisibility||(e.SectionVisibility={}))[v.AlwaysVisible=0]="AlwaysVisible",v[v.HiddenInViewMode=1]="HiddenInViewMode",(h=e.Permissions||(e.Permissions={}))[h.Read=0]="Read",h[h.ReadWrite=1]="ReadWrite",h[h.Copy=2]="Copy",h[h.Create=4]="Create",h[h.All=7]="All",(f=e.ViewMode||(e.ViewMode={}))[f.View=0]="View",f[f.Edit=1]="Edit",(p=e.TokenType||(e.TokenType={}))[p.Aad=0]="Aad",p[p.Embed=1]="Embed",(c=e.ContrastMode||(e.ContrastMode={}))[c.None=0]="None",c[c.HighContrast1=1]="HighContrast1",c[c.HighContrast2=2]="HighContrast2",c[c.HighContrastBlack=3]="HighContrastBlack",c[c.HighContrastWhite=4]="HighContrastWhite",(d=e.MenuLocation||(e.MenuLocation={}))[d.Bottom=0]="Bottom",d[d.Top=1]="Top",(u=e.FiltersOperations||(e.FiltersOperations={}))[u.RemoveAll=0]="RemoveAll",u[u.ReplaceAll=1]="ReplaceAll",u[u.Add=2]="Add",u[u.Replace=3]="Replace",(s=e.FiltersLevel||(e.FiltersLevel={}))[s.Report=0]="Report",s[s.Page=1]="Page",s[s.Visual=2]="Visual",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",t[t.Identity=8]="Identity",t[t.Hierarchy=9]="Hierarchy"}(o=e.FilterType||(e.FilterType={})),(l=e.RelativeDateFilterTimeUnit||(e.RelativeDateFilterTimeUnit={}))[l.Days=0]="Days",l[l.Weeks=1]="Weeks",l[l.CalendarWeeks=2]="CalendarWeeks",l[l.Months=3]="Months",l[l.CalendarMonths=4]="CalendarMonths",l[l.Years=5]="Years",l[l.CalendarYears=6]="CalendarYears",l[l.Minutes=7]="Minutes",l[l.Hours=8]="Hours",(n=e.RelativeDateOperators||(e.RelativeDateOperators={}))[n.InLast=0]="InLast",n[n.InThis=1]="InThis",n[n.InNext=2]="InNext";var _=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=_;var T=function(t){function e(r,i,a){var n=t.call(this,r,o.Unknown)||this;return n.message=i,n.notSupportedTypeName=a,n.schemaUrl=e.schemaUrl,n}return a(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}(_);e.NotSupportedFilter=T;var E=function(t){function e(r,i,a){var n=t.call(this,r,o.IncludeExclude)||this;return n.values=a,n.isExclude=i,n.schemaUrl=e.schemaUrl,n}return a(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}(_);e.IncludeExcludeFilter=E;var F=function(t){function e(r,i,a,n){var l=t.call(this,r,o.TopN)||this;return l.operator=i,l.itemCount=a,l.schemaUrl=e.schemaUrl,l.orderBy=n,l}return a(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}(_);e.TopNFilter=F;var C=function(t){function e(r,i,a,n,l){var s=t.call(this,r,o.RelativeDate)||this;return s.operator=i,s.timeUnitsCount=a,s.timeUnitType=n,s.includeToday=l,s.schemaUrl=e.schemaUrl,s}return a(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}(_);e.RelativeDateFilter=C;var R=function(t){function e(r,i,a,n){var l=t.call(this,r,o.RelativeTime)||this;return l.operator=i,l.timeUnitsCount=a,l.timeUnitType=n,l.schemaUrl=e.schemaUrl,l}return a(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}(_);e.RelativeTimeFilter=R;var k=function(t){function e(r,i){for(var a=[],n=2;n0&&!a)throw new Error("You should pass the values to be filtered for each key. You passed: no values and ".concat(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,s=o.keyValues;l2)throw new Error("AdvancedFilters may not have more than two conditions. You passed: ".concat(a.length));if(1===l.length&&"And"!==i)throw new Error('Logical Operator must be "And" when there is only one condition provided');return s.conditions=l,s}return a(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}(_);e.AdvancedFilter=M;var L,I,q,D,N,B,U,H,W,z=function(t){function e(r,i){var a=t.call(this,r,o.Hierarchy)||this;return a.schemaUrl=e.schemaUrl,a.hierarchyData=i,a}return a(e,t),e.prototype.toJSON=function(){var e=t.prototype.toJSON.call(this);return e.hierarchyData=this.hierarchyData,e.target=this.target,e},e.schemaUrl="http://powerbi.com/product/schema#hierarchy",e}(_);function Q(t){if(t.filterType)return t.filterType;var e=t,r=t;return"string"==typeof e.operator&&Array.isArray(e.values)?o.Basic:"string"==typeof r.logicalOperator&&Array.isArray(r.conditions)?o.Advanced:o.Unknown}function G(t){return!(!t.table||!t.column||t.aggregationFunction)}e.HierarchyFilter=z,e.isFilterKeyColumnsTarget=function(t){return G(t)&&!!t.keys},e.isBasicFilterWithKeys=function(t){return Q(t)===o.Basic&&!!t.keyValues},e.getFilterType=Q,e.isMeasure=function(t){return void 0!==t.table&&void 0!==t.measure},e.isColumn=G,e.isHierarchyLevel=function(t){return!(!(t.table&&t.hierarchy&&t.hierarchyLevel)||t.aggregationFunction)},e.isHierarchyLevelAggr=function(t){return!!(t.table&&t.hierarchy&&t.hierarchyLevel&&t.aggregationFunction)},e.isColumnAggr=function(t){return!!(t.table&&t.column&&t.aggregationFunction)},e.isPercentOfGrandTotal=function(t){return!!t.percentOfGrandTotal},(W=e.CredentialType||(e.CredentialType={}))[W.NoConnection=0]="NoConnection",W[W.OnBehalfOf=1]="OnBehalfOf",W[W.Anonymous=2]="Anonymous",(H=e.DataCacheMode||(e.DataCacheMode={}))[H.Import=0]="Import",H[H.DirectQuery=1]="DirectQuery",(U=e.AggregateFunction||(e.AggregateFunction={}))[U.Default=1]="Default",U[U.None=2]="None",U[U.Sum=3]="Sum",U[U.Min=4]="Min",U[U.Max=5]="Max",U[U.Count=6]="Count",U[U.Average=7]="Average",U[U.DistinctCount=8]="DistinctCount",(B=e.BrowserPrintAdjustmentsMode||(e.BrowserPrintAdjustmentsMode={}))[B.Default=0]="Default",B[B.NoAdjustments=1]="NoAdjustments",(N=e.PageNavigationPosition||(e.PageNavigationPosition={}))[N.Bottom=0]="Bottom",N[N.Left=1]="Left",(D=e.QnaMode||(e.QnaMode={}))[D.Interactive=0]="Interactive",D[D.ResultOnly=1]="ResultOnly",(q=e.ExportDataType||(e.ExportDataType={}))[q.Summarized=0]="Summarized",q[q.Underlying=1]="Underlying",(I=e.BookmarksPlayMode||(e.BookmarksPlayMode={}))[I.Off=0]="Off",I[I.Presentation=1]="Presentation",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"},(L=e.SortDirection||(e.SortDirection={}))[L.Ascending=1]="Ascending",L[L.Descending=2]="Descending";var J=function(){function t(t){this.$schema=t}return t.prototype.toJSON=function(){return{$schema:this.$schema}},t}();e.Selector=J;var K=function(t){function e(r){var i=t.call(this,e.schemaUrl)||this;return i.pageName=r,i}return a(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}(J);e.PageSelector=K;var Y=function(t){function e(r){var i=t.call(this,e.schemaUrl)||this;return i.visualName=r,i}return a(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}(J);e.VisualSelector=Y;var $=function(t){function e(e){var r=t.call(this,Y.schemaUrl)||this;return r.visualType=e,r}return a(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}(J);e.VisualTypeSelector=$;var Z,X,tt,et=function(t){function e(e){var r=t.call(this,Y.schemaUrl)||this;return r.target=e,r}return a(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}(J);function rt(t){return Array.isArray(t)}function it(t){return t&&!!t.groupName}function at(t){return Array.isArray(t)}function ot(t){var e=t.message;return e||(e="".concat(t.path," is invalid. Not meeting ").concat(t.keyword," constraint")),{message:e}}e.SlicerTargetSelector=et,(tt=e.CommandDisplayOption||(e.CommandDisplayOption={}))[tt.Enabled=0]="Enabled",tt[tt.Disabled=1]="Disabled",tt[tt.Hidden=2]="Hidden",(X=e.VisualDataRoleKind||(e.VisualDataRoleKind={}))[X.Grouping=0]="Grouping",X[X.Measure=1]="Measure",X[X.GroupingOrMeasure=2]="GroupingOrMeasure",(Z=e.VisualDataRoleKindPreference||(e.VisualDataRoleKindPreference={}))[Z.Measure=0]="Measure",Z[Z.Grouping=1]="Grouping",e.isOnLoadFilters=function(t){return t&&!rt(t)},e.isReportFiltersArray=rt,e.isFlatMenuExtension=function(t){return t&&!it(t)},e.isGroupedMenuExtension=it,e.isIExtensions=function(t){return t&&!at(t)},e.isIExtensionArray=at,e.validateVisualSelector=function(t){var e=O.Validators.visualSelectorValidator.validate(t);return e?e.map(ot):void 0},e.validateSlicer=function(t){var e=O.Validators.slicerValidator.validate(t);return e?e.map(ot):void 0},e.validateSlicerState=function(t){var e=O.Validators.slicerStateValidator.validate(t);return e?e.map(ot):void 0},e.validatePlayBookmarkRequest=function(t){var e=O.Validators.playBookmarkRequestValidator.validate(t);return e?e.map(ot):void 0},e.validateAddBookmarkRequest=function(t){var e=O.Validators.addBookmarkRequestValidator.validate(t);return e?e.map(ot):void 0},e.validateApplyBookmarkByNameRequest=function(t){var e=O.Validators.applyBookmarkByNameRequestValidator.validate(t);return e?e.map(ot):void 0},e.validateApplyBookmarkStateRequest=function(t){var e=O.Validators.applyBookmarkStateRequestValidator.validate(t);return e?e.map(ot):void 0},e.validateCaptureBookmarkRequest=function(t){var e=O.Validators.captureBookmarkRequestValidator.validate(t);return e?e.map(ot):void 0},e.validateSettings=function(t){var e=O.Validators.settingsValidator.validate(t);return e?e.map(ot):void 0},e.validatePanes=function(t){var e=O.Validators.reportPanesValidator.validate(t);return e?e.map(ot):void 0},e.validateBookmarksPane=function(t){var e=O.Validators.bookmarksPaneValidator.validate(t);return e?e.map(ot):void 0},e.validateFiltersPane=function(t){var e=O.Validators.filtersPaneValidator.validate(t);return e?e.map(ot):void 0},e.validateFieldsPane=function(t){var e=O.Validators.fieldsPaneValidator.validate(t);return e?e.map(ot):void 0},e.validatePageNavigationPane=function(t){var e=O.Validators.pageNavigationPaneValidator.validate(t);return e?e.map(ot):void 0},e.validateSelectionPane=function(t){var e=O.Validators.selectionPaneValidator.validate(t);return e?e.map(ot):void 0},e.validateSyncSlicersPane=function(t){var e=O.Validators.syncSlicersPaneValidator.validate(t);return e?e.map(ot):void 0},e.validateVisualizationsPane=function(t){var e=O.Validators.visualizationsPaneValidator.validate(t);return e?e.map(ot):void 0},e.validateCustomPageSize=function(t){var e=O.Validators.customPageSizeValidator.validate(t);return e?e.map(ot):void 0},e.validateExtension=function(t){var e=O.Validators.extensionValidator.validate(t);return e?e.map(ot):void 0},e.validateMenuGroupExtension=function(t){var e=O.Validators.menuGroupExtensionValidator.validate(t);return e?e.map(ot):void 0},e.validateReportLoad=function(t){var e=O.Validators.reportLoadValidator.validate(t);return e?e.map(ot):void 0},e.validatePaginatedReportLoad=function(t){var e=O.Validators.paginatedReportLoadValidator.validate(t);return e?e.map(ot):void 0},e.validateCreateReport=function(t){var e=O.Validators.reportCreateValidator.validate(t);return e?e.map(ot):void 0},e.validateQuickCreate=function(t){var e=O.Validators.quickCreateValidator.validate(t);return e?e.map(ot):void 0},e.validateDashboardLoad=function(t){var e=O.Validators.dashboardLoadValidator.validate(t);return e?e.map(ot):void 0},e.validateTileLoad=function(t){var e=O.Validators.tileLoadValidator.validate(t);return e?e.map(ot):void 0},e.validatePage=function(t){var e=O.Validators.pageValidator.validate(t);return e?e.map(ot):void 0},e.validateFilter=function(t){var e=O.Validators.filterValidator.validate(t);return e?e.map(ot):void 0},e.validateUpdateFiltersRequest=function(t){var e=O.Validators.updateFiltersRequestValidator.validate(t);return e?e.map(ot):void 0},e.validateSaveAsParameters=function(t){var e=O.Validators.saveAsParametersValidator.validate(t);return e?e.map(ot):void 0},e.validateLoadQnaConfiguration=function(t){var e=O.Validators.loadQnaValidator.validate(t);return e?e.map(ot):void 0},e.validateQnaInterpretInputData=function(t){var e=O.Validators.qnaInterpretInputDataValidator.validate(t);return e?e.map(ot):void 0},e.validateExportDataRequest=function(t){var e=O.Validators.exportDataRequestValidator.validate(t);return e?e.map(ot):void 0},e.validateVisualHeader=function(t){var e=O.Validators.visualHeaderValidator.validate(t);return e?e.map(ot):void 0},e.validateVisualSettings=function(t){var e=O.Validators.visualSettingsValidator.validate(t);return e?e.map(ot):void 0},e.validateCommandsSettings=function(t){var e=O.Validators.commandsSettingsValidator.validate(t);return e?e.map(ot):void 0},e.validateCustomTheme=function(t){var e=O.Validators.customThemeValidator.validate(t);return e?e.map(ot):void 0},e.validateZoomLevel=function(t){var e=O.Validators.zoomLevelValidator.validate(t);return e?e.map(ot):void 0},e.validatePrintSettings=function(t){var e=O.Validators.printSettingsValidator.validate(t);return e?e.map(ot):void 0}},(t,e,r)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.Validators=void 0;var i=r(2),a=r(5),o=r(6),n=r(7),l=r(8),s=r(9),u=r(10),d=r(11),c=r(12),p=r(13),f=r(14),h=r(15),v=r(16),y=r(17),m=r(18),V=r(19),g=r(20),b=r(21),w=r(22),P=r(23),S=r(24),O=r(25),_=r(26),T=r(27),E=r(28),F=r(29),C=r(4),R=r(30),k=r(31),x=r(32),A=r(33);e.Validators={addBookmarkRequestValidator:new a.AddBookmarkRequestValidator,advancedFilterTypeValidator:new C.EnumValidator([0]),advancedFilterValidator:new c.AdvancedFilterValidator,anyArrayValidator:new C.ArrayValidator([new _.AnyOfValidator([new C.StringValidator,new C.NumberValidator,new C.BooleanValidator])]),anyFilterValidator:new _.AnyOfValidator([new c.BasicFilterValidator,new c.AdvancedFilterValidator,new c.IncludeExcludeFilterValidator,new c.NotSupportedFilterValidator,new c.RelativeDateFilterValidator,new c.TopNFilterValidator,new c.RelativeTimeFilterValidator,new c.HierarchyFilterValidator]),anyValueValidator:new _.AnyOfValidator([new C.StringValidator,new C.NumberValidator,new C.BooleanValidator]),actionBarValidator:new i.ActionBarValidator,statusBarValidator:new i.StatusBarValidator,applyBookmarkByNameRequestValidator:new a.ApplyBookmarkByNameRequestValidator,applyBookmarkStateRequestValidator:new a.ApplyBookmarkStateRequestValidator,applyBookmarkValidator:new _.AnyOfValidator([new a.ApplyBookmarkByNameRequestValidator,new a.ApplyBookmarkStateRequestValidator]),backgroundValidator:new C.EnumValidator([0,1]),basicFilterTypeValidator:new C.EnumValidator([1]),basicFilterValidator:new c.BasicFilterValidator,booleanArrayValidator:new C.BooleanArrayValidator,booleanValidator:new C.BooleanValidator,bookmarksPaneValidator:new h.BookmarksPaneValidator,captureBookmarkOptionsValidator:new a.CaptureBookmarkOptionsValidator,captureBookmarkRequestValidator:new a.CaptureBookmarkRequestValidator,columnSchemaArrayValidator:new C.ArrayValidator([new k.ColumnSchemaValidator]),commandDisplayOptionValidator:new C.EnumValidator([0,1,2]),commandExtensionSelectorValidator:new _.AnyOfValidator([new b.VisualSelectorValidator,new b.VisualTypeSelectorValidator]),commandExtensionArrayValidator:new C.ArrayValidator([new d.CommandExtensionValidator]),commandExtensionValidator:new d.CommandExtensionValidator,commandsSettingsArrayValidator:new C.ArrayValidator([new o.CommandsSettingsValidator]),commandsSettingsValidator:new o.CommandsSettingsValidator,conditionItemValidator:new c.ConditionItemValidator,contrastModeValidator:new C.EnumValidator([0,1,2,3,4]),credentialDetailsValidator:new F.MapValidator([new C.StringValidator],[new C.StringValidator]),credentialsValidator:new k.CredentialsValidator,credentialTypeValidator:new C.EnumValidator([0,1,2]),customLayoutDisplayOptionValidator:new C.EnumValidator([0,1,2]),customLayoutValidator:new p.CustomLayoutValidator,customPageSizeValidator:new f.CustomPageSizeValidator,customThemeValidator:new n.CustomThemeValidator,dashboardLoadValidator:new l.DashboardLoadValidator,dataCacheModeValidator:new C.EnumValidator([0,1]),datasetBindingValidator:new s.DatasetBindingValidator,datasetCreateConfigValidator:new k.DatasetCreateConfigValidator,datasourceConnectionConfigValidator:new k.DatasourceConnectionConfigValidator,displayStateModeValidator:new C.EnumValidator([0,1]),displayStateValidator:new p.DisplayStateValidator,exportDataRequestValidator:new u.ExportDataRequestValidator,extensionArrayValidator:new C.ArrayValidator([new d.ExtensionValidator]),extensionsValidator:new _.AnyOfValidator([new C.ArrayValidator([new d.ExtensionValidator]),new d.ExtensionsValidator]),extensionPointsValidator:new d.ExtensionPointsValidator,extensionValidator:new d.ExtensionValidator,fieldForbiddenValidator:new T.FieldForbiddenValidator,fieldRequiredValidator:new E.FieldRequiredValidator,fieldsPaneValidator:new h.FieldsPaneValidator,filterColumnTargetValidator:new c.FilterColumnTargetValidator,filterDisplaySettingsValidator:new c.FilterDisplaySettingsValidator,filterConditionsValidator:new C.ArrayValidator([new c.ConditionItemValidator]),filterHierarchyTargetValidator:new c.FilterHierarchyTargetValidator,filterMeasureTargetValidator:new c.FilterMeasureTargetValidator,filterTargetValidator:new _.AnyOfValidator([new c.FilterColumnTargetValidator,new c.FilterHierarchyTargetValidator,new c.FilterMeasureTargetValidator,new C.ArrayValidator([new _.AnyOfValidator([new c.FilterColumnTargetValidator,new c.FilterHierarchyTargetValidator,new c.FilterMeasureTargetValidator,new c.FilterKeyColumnsTargetValidator,new c.FilterKeyHierarchyTargetValidator])])]),filterValidator:new c.FilterValidator,filterTypeValidator:new C.EnumValidator([0,1,2,3,4,5,6,7,9]),filtersArrayValidator:new C.ArrayValidator([new c.FilterValidator]),filtersOperationsUpdateValidator:new C.EnumValidator([1,2,3]),filtersOperationsRemoveAllValidator:new C.EnumValidator([0]),filtersPaneValidator:new h.FiltersPaneValidator,hyperlinkClickBehaviorValidator:new C.EnumValidator([0,1,2]),includeExcludeFilterValidator:new c.IncludeExcludeFilterValidator,includeExludeFilterTypeValidator:new C.EnumValidator([3]),hierarchyFilterTypeValidator:new C.EnumValidator([9]),hierarchyFilterValuesValidator:new C.ArrayValidator([new c.HierarchyFilterNodeValidator]),layoutTypeValidator:new C.EnumValidator([0,1,2,3]),loadQnaValidator:new v.LoadQnaValidator,menuExtensionValidator:new _.AnyOfValidator([new d.FlatMenuExtensionValidator,new d.GroupedMenuExtensionValidator]),menuGroupExtensionArrayValidator:new C.ArrayValidator([new d.MenuGroupExtensionValidator]),menuGroupExtensionValidator:new d.MenuGroupExtensionValidator,menuLocationValidator:new C.EnumValidator([0,1]),notSupportedFilterTypeValidator:new C.EnumValidator([2]),notSupportedFilterValidator:new c.NotSupportedFilterValidator,numberArrayValidator:new C.NumberArrayValidator,numberValidator:new C.NumberValidator,onLoadFiltersBaseValidator:new _.AnyOfValidator([new c.OnLoadFiltersBaseValidator,new c.OnLoadFiltersBaseRemoveOperationValidator]),pageLayoutValidator:new F.MapValidator([new C.StringValidator],[new p.VisualLayoutValidator]),pageNavigationPaneValidator:new h.PageNavigationPaneValidator,pageNavigationPositionValidator:new C.EnumValidator([0,1]),pageSizeTypeValidator:new C.EnumValidator([0,1,2,3,4,5]),pageSizeValidator:new f.PageSizeValidator,pageValidator:new f.PageValidator,pageViewFieldValidator:new f.PageViewFieldValidator,pagesLayoutValidator:new F.MapValidator([new C.StringValidator],[new p.PageLayoutValidator]),paginatedReportCommandsValidator:new o.PaginatedReportCommandsValidator,paginatedReportLoadValidator:new V.PaginatedReportLoadValidator,paginatedReportsettingsValidator:new w.PaginatedReportSettingsValidator,parameterValuesArrayValidator:new C.ArrayValidator([new V.ReportParameterFieldsValidator]),parametersPanelValidator:new R.ParametersPanelValidator,permissionsValidator:new C.EnumValidator([0,1,2,4,7]),playBookmarkRequestValidator:new a.PlayBookmarkRequestValidator,printSettingsValidator:new A.PrintSettingsValidator,qnaInterpretInputDataValidator:new v.QnaInterpretInputDataValidator,qnaPanesValidator:new h.QnaPanesValidator,qnaSettingValidator:new v.QnaSettingsValidator,quickCreateValidator:new x.QuickCreateValidator,rawDataValidator:new C.ArrayValidator([new C.ArrayValidator([new C.StringValidator])]),relativeDateFilterOperatorValidator:new C.EnumValidator([0,1,2]),relativeDateFilterTimeUnitTypeValidator:new C.EnumValidator([0,1,2,3,4,5,6]),relativeDateFilterTypeValidator:new C.EnumValidator([4]),relativeDateFilterValidator:new c.RelativeDateFilterValidator,relativeDateTimeFilterTypeValidator:new C.EnumValidator([4,7]),relativeDateTimeFilterUnitTypeValidator:new C.EnumValidator([0,1,2,3,4,5,6,7,8]),relativeTimeFilterTimeUnitTypeValidator:new C.EnumValidator([7,8]),relativeTimeFilterTypeValidator:new C.EnumValidator([7]),relativeTimeFilterValidator:new c.RelativeTimeFilterValidator,reportBarsValidator:new i.ReportBarsValidator,reportCreateValidator:new y.ReportCreateValidator,reportLoadFiltersValidator:new _.AnyOfValidator([new C.ArrayValidator([new c.FilterValidator]),new c.OnLoadFiltersValidator]),reportLoadValidator:new m.ReportLoadValidator,reportPanesValidator:new h.ReportPanesValidator,saveAsParametersValidator:new g.SaveAsParametersValidator,selectionPaneValidator:new h.SelectionPaneValidator,settingsValidator:new w.SettingsValidator,singleCommandSettingsValidator:new o.SingleCommandSettingsValidator,slicerSelectorValidator:new _.AnyOfValidator([new b.VisualSelectorValidator,new b.SlicerTargetSelectorValidator]),slicerStateValidator:new P.SlicerStateValidator,slicerTargetValidator:new _.AnyOfValidator([new c.FilterColumnTargetValidator,new c.FilterHierarchyTargetValidator,new c.FilterMeasureTargetValidator,new c.FilterKeyColumnsTargetValidator,new c.FilterKeyHierarchyTargetValidator]),slicerValidator:new P.SlicerValidator,stringArrayValidator:new C.StringArrayValidator,stringValidator:new C.StringValidator,syncSlicersPaneValidator:new h.SyncSlicersPaneValidator,tableDataArrayValidator:new C.ArrayValidator([new k.TableDataValidator]),tableSchemaListValidator:new C.ArrayValidator([new k.TableSchemaValidator]),tileLoadValidator:new S.TileLoadValidator,tokenTypeValidator:new C.EnumValidator([0,1]),topNFilterTypeValidator:new C.EnumValidator([5]),topNFilterValidator:new c.TopNFilterValidator,updateFiltersRequestValidator:new _.AnyOfValidator([new c.UpdateFiltersRequestValidator,new c.RemoveFiltersRequestValidator]),viewModeValidator:new C.EnumValidator([0,1]),visualCommandSelectorValidator:new _.AnyOfValidator([new b.VisualSelectorValidator,new b.VisualTypeSelectorValidator]),visualHeaderSelectorValidator:new _.AnyOfValidator([new b.VisualSelectorValidator,new b.VisualTypeSelectorValidator]),visualHeaderSettingsValidator:new O.VisualHeaderSettingsValidator,visualHeaderValidator:new O.VisualHeaderValidator,visualHeadersValidator:new C.ArrayValidator([new O.VisualHeaderValidator]),visualizationsPaneValidator:new h.VisualizationsPaneValidator,visualLayoutValidator:new p.VisualLayoutValidator,visualSelectorValidator:new b.VisualSelectorValidator,visualSettingsValidator:new O.VisualSettingsValidator,visualTypeSelectorValidator:new b.VisualTypeSelectorValidator,zoomLevelValidator:new C.RangeValidator(.25,4)}},function(t,e,r){var i,a=this&&this.__extends||(i=function(t,e){return i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},i(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.StatusBarValidator=e.ActionBarValidator=e.ReportBarsValidator=void 0;var o=r(3),n=r(4),l=r(1),s=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return a(e,t),e.prototype.validate=function(e,r,i){if(null==e)return null;var a=t.prototype.validate.call(this,e,r,i);if(a)return a;var n=[{field:"actionBar",validators:[l.Validators.actionBarValidator]},{field:"statusBar",validators:[l.Validators.statusBarValidator]}];return new o.MultipleFieldsValidator(n).validate(e,r,i)},e}(n.ObjectValidator);e.ReportBarsValidator=s;var u=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return a(e,t),e.prototype.validate=function(e,r,i){if(null==e)return null;var a=t.prototype.validate.call(this,e,r,i);if(a)return a;var n=[{field:"visible",validators:[l.Validators.booleanValidator]}];return new o.MultipleFieldsValidator(n).validate(e,r,i)},e}(n.ObjectValidator);e.ActionBarValidator=u;var d=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return a(e,t),e.prototype.validate=function(e,r,i){if(null==e)return null;var a=t.prototype.validate.call(this,e,r,i);if(a)return a;var n=[{field:"visible",validators:[l.Validators.booleanValidator]}];return new o.MultipleFieldsValidator(n).validate(e,r,i)},e}(n.ObjectValidator);e.StatusBarValidator=d},(t,e)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.MultipleFieldsValidator=void 0;var r=function(){function t(t){this.fieldValidatorsPairs=t}return t.prototype.validate=function(t,e,r){if(!this.fieldValidatorsPairs)return null;for(var i=e?e+"."+r:r,a=0,o=this.fieldValidatorsPairs;athis.maxValue||e{Object.defineProperty(e,"__esModule",{value:!0}),e.AnyOfValidator=void 0;var r=function(){function t(t){this.validators=t}return t.prototype.validate=function(t,e,r){if(null==t)return null;for(var i=!1,a=0,o=this.validators;a{Object.defineProperty(e,"__esModule",{value:!0}),e.FieldForbiddenValidator=void 0;var r=function(){function t(){}return t.prototype.validate=function(t,e,r){return void 0!==t?[{message:r+" is forbidden",path:(e?e+".":"")+r,keyword:"forbidden"}]:null},t}();e.FieldForbiddenValidator=r},(t,e)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.FieldRequiredValidator=void 0;var r=function(){function t(){}return t.prototype.validate=function(t,e,r){return null==t?[{message:r+" is required",path:(e?e+".":"")+r,keyword:"required"}]:null},t}();e.FieldRequiredValidator=r},function(t,e,r){var i,a=this&&this.__extends||(i=function(t,e){return i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},i(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.MapValidator=void 0;var o=function(t){function e(e,r){var i=t.call(this)||this;return i.keyValidators=e,i.valueValidators=r,i}return a(e,t),e.prototype.validate=function(e,r,i){if(null==e)return null;var a=t.prototype.validate.call(this,e,r,i);if(a)return a;for(var o in e)if(e.hasOwnProperty(o)){for(var n=(r?r+".":"")+i+"."+o,l=0,s=this.keyValidators;l2&&"[]"===n.slice(l-2)&&(s=!0,r[n=n.slice(0,l-2)]||(r[n]=[])),a=o[1]?g(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(-1!==(i=t.indexOf("?"))){var l=t.substr(i+1,t.length);t=t.substr(0,i),o=this.parseQueryString(l)}for("/"!==(t=decodeURI(t)).charAt(0)&&(t="/"+t),(e=t.length)>1&&"/"===t.charAt(e-1)&&(t=t.substr(0,e-1),n=!0),r=0;r{Object.defineProperty(e,"__esModule",{value:!0}),e.FilterBuilder=void 0;var r=function(){function t(){}return t.prototype.withTargetObject=function(t){return this.target=t,this},t.prototype.withColumnTarget=function(t,e){return this.target={table:t,column:e},this},t.prototype.withMeasureTarget=function(t,e){return this.target={table:t,measure:e},this},t.prototype.withHierarchyLevelTarget=function(t,e,r){return this.target={table:t,hierarchy:e,hierarchyLevel:r},this},t.prototype.withColumnAggregation=function(t,e,r){return this.target={table:t,column:e,aggregationFunction:r},this},t.prototype.withHierarchyLevelAggregationTarget=function(t,e,r,i){return this.target={table:t,hierarchy:e,hierarchyLevel:r,aggregationFunction:i},this},t}();e.FilterBuilder=r},567:(t,e,r)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.RelativeTimeFilterBuilder=e.RelativeDateFilterBuilder=e.TopNFilterBuilder=e.AdvancedFilterBuilder=e.BasicFilterBuilder=void 0;var i=r(153);Object.defineProperty(e,"BasicFilterBuilder",{enumerable:!0,get:function(){return i.BasicFilterBuilder}});var a=r(674);Object.defineProperty(e,"AdvancedFilterBuilder",{enumerable:!0,get:function(){return a.AdvancedFilterBuilder}});var o=r(664);Object.defineProperty(e,"TopNFilterBuilder",{enumerable:!0,get:function(){return o.TopNFilterBuilder}});var n=r(844);Object.defineProperty(e,"RelativeDateFilterBuilder",{enumerable:!0,get:function(){return n.RelativeDateFilterBuilder}});var l=r(275);Object.defineProperty(e,"RelativeTimeFilterBuilder",{enumerable:!0,get:function(){return l.RelativeTimeFilterBuilder}})},844:function(t,e,r){var i,a=this&&this.__extends||(i=function(t,e){return i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},i(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.RelativeDateFilterBuilder=void 0;var o=r(149),n=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.isTodayIncluded=!0,e}return a(e,t),e.prototype.inLast=function(t,e){return this.operator=o.RelativeDateOperators.InLast,this.timeUnitsCount=t,this.timeUnitType=e,this},e.prototype.inThis=function(t,e){return this.operator=o.RelativeDateOperators.InThis,this.timeUnitsCount=t,this.timeUnitType=e,this},e.prototype.inNext=function(t,e){return this.operator=o.RelativeDateOperators.InNext,this.timeUnitsCount=t,this.timeUnitType=e,this},e.prototype.includeToday=function(t){return this.isTodayIncluded=t,this},e.prototype.build=function(){return new o.RelativeDateFilter(this.target,this.operator,this.timeUnitsCount,this.timeUnitType,this.isTodayIncluded)},e}(r(277).FilterBuilder);e.RelativeDateFilterBuilder=n},275:function(t,e,r){var i,a=this&&this.__extends||(i=function(t,e){return i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},i(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.RelativeTimeFilterBuilder=void 0;var o=r(149),n=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return a(e,t),e.prototype.inLast=function(t,e){return this.operator=o.RelativeDateOperators.InLast,this.timeUnitsCount=t,this.timeUnitType=e,this},e.prototype.inThis=function(t,e){return this.operator=o.RelativeDateOperators.InThis,this.timeUnitsCount=t,this.timeUnitType=e,this},e.prototype.inNext=function(t,e){return this.operator=o.RelativeDateOperators.InNext,this.timeUnitsCount=t,this.timeUnitType=e,this},e.prototype.build=function(){return new o.RelativeTimeFilter(this.target,this.operator,this.timeUnitsCount,this.timeUnitType)},e}(r(277).FilterBuilder);e.RelativeTimeFilterBuilder=n},664:function(t,e,r){var i,a=this&&this.__extends||(i=function(t,e){return i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},i(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.TopNFilterBuilder=void 0;var o=r(149),n=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return a(e,t),e.prototype.top=function(t){return this.operator="Top",this.itemCount=t,this},e.prototype.bottom=function(t){return this.operator="Bottom",this.itemCount=t,this},e.prototype.orderByTarget=function(t){return this.orderByTargetValue=t,this},e.prototype.build=function(){return new o.TopNFilter(this.target,this.operator,this.itemCount,this.orderByTargetValue)},e}(r(277).FilterBuilder);e.TopNFilterBuilder=n},460:function(t,e,r){var i=this&&this.__awaiter||function(t,e,r,i){return new(r||(r=Promise))((function(a,o){function n(t){try{s(i.next(t))}catch(t){o(t)}}function l(t){try{s(i.throw(t))}catch(t){o(t)}}function s(t){var e;t.done?a(t.value):(e=t.value,e instanceof r?e:new r((function(t){t(e)}))).then(n,l)}s((i=i.apply(t,e||[])).next())}))},a=this&&this.__generator||function(t,e){var r,i,a,o,n={label:0,sent:function(){if(1&a[0])throw a[1];return a[1]},trys:[],ops:[]};return o={next:l(0),throw:l(1),return:l(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function l(o){return function(l){return function(o){if(r)throw new TypeError("Generator is already executing.");for(;n;)try{if(r=1,i&&(a=2&o[0]?i.return:o[0]?i.throw||((a=i.return)&&a.call(i),0):i.next)&&!(a=a.call(i,o[1])).done)return a;switch(i=0,a&&(o=[2&o[0],a.value]),o[0]){case 0:case 1:a=o;break;case 4:return n.label++,{value:o[1],done:!1};case 5:n.label++,i=o[1],o=[0];continue;case 7:o=n.ops.pop(),n.trys.pop();continue;default:if(!((a=(a=n.trys).length>0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]{Object.defineProperty(e,"__esModule",{value:!0}),e.default={version:"2.22.4",type:"js"}},536:function(t,e,r){var i,a=this&&this.__extends||(i=function(t,e){return i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},i(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}),o=this&&this.__awaiter||function(t,e,r,i){return new(r||(r=Promise))((function(a,o){function n(t){try{s(i.next(t))}catch(t){o(t)}}function l(t){try{s(i.throw(t))}catch(t){o(t)}}function s(t){var e;t.done?a(t.value):(e=t.value,e instanceof r?e:new r((function(t){t(e)}))).then(n,l)}s((i=i.apply(t,e||[])).next())}))},n=this&&this.__generator||function(t,e){var r,i,a,o,n={label:0,sent:function(){if(1&a[0])throw a[1];return a[1]},trys:[],ops:[]};return o={next:l(0),throw:l(1),return:l(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function l(o){return function(l){return function(o){if(r)throw new TypeError("Generator is already executing.");for(;n;)try{if(r=1,i&&(a=2&o[0]?i.return:o[0]?i.throw||((a=i.return)&&a.call(i),0):i.next)&&!(a=a.call(i,o[1])).done)return a;switch(i=0,a&&(o=[2&o[0],a.value]),o[0]){case 0:case 1:a=o;break;case 4:return n.label++,{value:o[1],done:!1};case 5:n.label++,i=o[1],o=[0];continue;case 7:o=n.ops.pop(),n.trys.pop();continue;default:if(!((a=(a=n.trys).length>0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]{Object.defineProperty(e,"__esModule",{value:!0}),e.EmbedUrlNotSupported=e.APINotSupportedForRDLError=void 0,e.APINotSupportedForRDLError="This API is currently not supported for RDL reports",e.EmbedUrlNotSupported="Embed URL is invalid for this scenario. Please use Power BI REST APIs to get the valid URL"},357:(t,e,r)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.routerFactory=e.wpmpFactory=e.hpmFactory=void 0;var i=r(903),a=r(615),o=r(891),n=r(913);e.hpmFactory=function(t,e,r,i,o){return void 0===r&&(r=n.default.version),void 0===i&&(i=n.default.type),new a.HttpPostMessage(t,{"x-sdk-type":i,"x-sdk-version":r,"x-sdk-wrapper-version":o},e)},e.wpmpFactory=function(t,e,r){return new i.WindowPostMessageProxy({processTrackingProperties:{addTrackingProperties:a.HttpPostMessage.addTrackingProperties,getTrackingProperties:a.HttpPostMessage.getTrackingProperties},isErrorMessage:a.HttpPostMessage.isErrorMessage,suppressWarnings:!0,name:t,logMessages:e,eventSourceOverrideWindow:r})},e.routerFactory=function(t){return new o.Router(t)}},220:function(t,e,r){var i=this&&this.__awaiter||function(t,e,r,i){return new(r||(r=Promise))((function(a,o){function n(t){try{s(i.next(t))}catch(t){o(t)}}function l(t){try{s(i.throw(t))}catch(t){o(t)}}function s(t){var e;t.done?a(t.value):(e=t.value,e instanceof r?e:new r((function(t){t(e)}))).then(n,l)}s((i=i.apply(t,e||[])).next())}))},a=this&&this.__generator||function(t,e){var r,i,a,o,n={label:0,sent:function(){if(1&a[0])throw a[1];return a[1]},trys:[],ops:[]};return o={next:l(0),throw:l(1),return:l(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function l(o){return function(l){return function(o){if(r)throw new TypeError("Generator is already executing.");for(;n;)try{if(r=1,i&&(a=2&o[0]?i.return:o[0]?i.throw||((a=i.return)&&a.call(i),0):i.next)&&!(a=a.call(i,o[1])).done)return a;switch(i=0,a&&(o=[2&o[0],a.value]),o[0]){case 0:case 1:a=o;break;case 4:return n.label++,{value:o[1],done:!1};case 5:n.label++,i=o[1],o=[0];continue;case 7:o=n.ops.pop(),n.trys.pop();continue;default:if(!((a=(a=n.trys).length>0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0?"&":"?";return t+(i+e+"=")+r},e.isSavedInternal=function(t,e,a){return r(this,void 0,void 0,(function(){return i(this,(function(r){switch(r.label){case 0:return r.trys.push([0,2,,3]),[4,t.get("/report/hasUnsavedChanges",{uid:e},a)];case 1:return[2,!r.sent().body];case 2:throw r.sent().body;case 3:return[2]}}))}))},e.isRDLEmbed=function(t){return t&&t.toLowerCase().indexOf("/rdlembed?")>=0},e.autoAuthInEmbedUrl=function(t){return t&&decodeURIComponent(t).toLowerCase().indexOf("autoauth=true")>=0},e.getRandomValue=o,e.getTimeDiffInMilliseconds=function(t,e){return Math.abs(t.getTime()-e.getTime())},e.isCreate=function(t){return"create"===t||"quickcreate"===t}},23:function(t,e,r){var i,a=this&&this.__extends||(i=function(t,e){return i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},i(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}),o=this&&this.__awaiter||function(t,e,r,i){return new(r||(r=Promise))((function(a,o){function n(t){try{s(i.next(t))}catch(t){o(t)}}function l(t){try{s(i.throw(t))}catch(t){o(t)}}function s(t){var e;t.done?a(t.value):(e=t.value,e instanceof r?e:new r((function(t){t(e)}))).then(n,l)}s((i=i.apply(t,e||[])).next())}))},n=this&&this.__generator||function(t,e){var r,i,a,o,n={label:0,sent:function(){if(1&a[0])throw a[1];return a[1]},trys:[],ops:[]};return o={next:l(0),throw:l(1),return:l(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function l(o){return function(l){return function(o){if(r)throw new TypeError("Generator is already executing.");for(;n;)try{if(r=1,i&&(a=2&o[0]?i.return:o[0]?i.throw||((a=i.return)&&a.call(i),0):i.next)&&!(a=a.call(i,o[1])).done)return a;switch(i=0,a&&(o=[2&o[0],a.value]),o[0]){case 0:case 1:a=o;break;case 4:return n.label++,{value:o[1],done:!1};case 5:n.label++,i=o[1],o=[0];continue;case 7:o=n.ops.pop(),n.trys.pop();continue;default:if(!((a=(a=n.trys).length>0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]{var e;self,e=()=>(()=>{"use strict";var t={};return(()=>{var e=t;Object.defineProperty(e,"__esModule",{value:!0}),e.WindowPostMessageProxy=void 0;var r=function(){function t(e){void 0===e&&(e={processTrackingProperties:{addTrackingProperties:t.defaultAddTrackingProperties,getTrackingProperties:t.defaultGetTrackingProperties},isErrorMessage:t.defaultIsErrorMessage,receiveWindow:window,name:t.createRandomString()});var r=this;this.pendingRequestPromises={},this.addTrackingProperties=e.processTrackingProperties&&e.processTrackingProperties.addTrackingProperties||t.defaultAddTrackingProperties,this.getTrackingProperties=e.processTrackingProperties&&e.processTrackingProperties.getTrackingProperties||t.defaultGetTrackingProperties,this.isErrorMessage=e.isErrorMessage||t.defaultIsErrorMessage,this.receiveWindow=e.receiveWindow||window,this.name=e.name||t.createRandomString(),this.logMessages=e.logMessages||!1,this.eventSourceOverrideWindow=e.eventSourceOverrideWindow,this.suppressWarnings=e.suppressWarnings||!1,this.logMessages&&console.log("new WindowPostMessageProxy created with name: ".concat(this.name," receiving on window: ").concat(this.receiveWindow.document.title)),this.handlers=[],this.windowMessageHandler=function(t){return r.onMessageReceived(t)},this.start()}return t.defaultAddTrackingProperties=function(e,r){return e[t.messagePropertyName]=r,e},t.defaultGetTrackingProperties=function(e){return e[t.messagePropertyName]},t.defaultIsErrorMessage=function(t){return!!t.error},t.createDeferred=function(){var t={resolve:null,reject:null,promise:null},e=new Promise((function(e,r){t.resolve=e,t.reject=r}));return t.promise=e,t},t.createRandomString=function(){var t=window.crypto||window.msCrypto,e=new Uint32Array(1);return t.getRandomValues(e),e[0].toString(36).substring(1)},t.prototype.addHandler=function(t){this.handlers.push(t)},t.prototype.removeHandler=function(t){var e=this.handlers.indexOf(t);if(-1===e)throw new Error("You attempted to remove a handler but no matching handler was found.");this.handlers.splice(e,1)},t.prototype.start=function(){this.receiveWindow.addEventListener("message",this.windowMessageHandler)},t.prototype.stop=function(){this.receiveWindow.removeEventListener("message",this.windowMessageHandler)},t.prototype.postMessage=function(e,r){var i={id:t.createRandomString()};this.addTrackingProperties(r,i),this.logMessages&&(console.log("".concat(this.name," Posting message:")),console.log(JSON.stringify(r,null," "))),e.postMessage(r,"*");var a=t.createDeferred();return this.pendingRequestPromises[i.id]=a,a.promise},t.prototype.sendResponse=function(t,e,r){this.addTrackingProperties(e,r),this.logMessages&&(console.log("".concat(this.name," Sending response:")),console.log(JSON.stringify(e,null," "))),t.postMessage(e,"*")},t.prototype.onMessageReceived=function(t){var e=this;this.logMessages&&(console.log("".concat(this.name," Received message:")),console.log("type: ".concat(t.type)),console.log(JSON.stringify(t.data,null," ")));var r=this.eventSourceOverrideWindow||t.source;if(r){var i=t.data;if("object"==typeof i){var a,o;try{a=this.getTrackingProperties(i)}catch(t){this.suppressWarnings||console.warn("Proxy(".concat(this.name,"): Error occurred when attempting to get tracking properties from incoming message:"),JSON.stringify(i,null," "),"Error: ",t)}if(a&&(o=this.pendingRequestPromises[a.id]),o){var n=!0;try{n=this.isErrorMessage(i)}catch(t){console.warn("Proxy(".concat(this.name,") Error occurred when trying to determine if message is consider an error response. Message: "),JSON.stringify(i,null,""),"Error: ",t)}n?o.reject(i):o.resolve(i),delete this.pendingRequestPromises[a.id]}else this.handlers.some((function(t){var o=!1;try{o=t.test(i)}catch(t){e.suppressWarnings||console.warn("Proxy(".concat(e.name,"): Error occurred when handler was testing incoming message:"),JSON.stringify(i,null," "),"Error: ",t)}if(o){var n=void 0;try{n=Promise.resolve(t.handle(i))}catch(t){e.suppressWarnings||console.warn("Proxy(".concat(e.name,"): Error occurred when handler was processing incoming message:"),JSON.stringify(i,null," "),"Error: ",t),n=Promise.resolve()}return n.then((function(t){if(!t){var o="Handler for message: ".concat(JSON.stringify(i,null," ")," did not return a response message. The default response message will be returned instead.");e.suppressWarnings||console.warn("Proxy(".concat(e.name,"): ").concat(o)),t={warning:o}}e.sendResponse(r,t,a)})),!0}}))||this.suppressWarnings||console.warn("Proxy(".concat(this.name,") did not handle message. Handlers: ").concat(this.handlers.length," Message: ").concat(JSON.stringify(i,null,""),"."))}else this.suppressWarnings||console.warn("Proxy(".concat(this.name,"): Received message that was not an object. Discarding message"))}},t.messagePropertyName="windowPostMessageProxy",t}();e.WindowPostMessageProxy=r})(),t})(),t.exports=e()}},e={};function r(i){var a=e[i];if(void 0!==a)return a.exports;var o=e[i]={exports:{}};return t[i].call(o.exports,o,o.exports,r),o.exports}var i={};return(()=>{var t=i;Object.defineProperty(t,"__esModule",{value:!0}),t.RelativeTimeFilterBuilder=t.RelativeDateFilterBuilder=t.TopNFilterBuilder=t.AdvancedFilterBuilder=t.BasicFilterBuilder=t.Create=t.QuickCreate=t.VisualDescriptor=t.Visual=t.Qna=t.Page=t.Embed=t.Tile=t.Dashboard=t.Report=t.models=t.factories=t.service=void 0;var e=r(149);t.models=e;var a=r(562);t.service=a;var o=r(357);t.factories=o;var n=r(125);Object.defineProperty(t,"Report",{enumerable:!0,get:function(){return n.Report}});var l=r(365);Object.defineProperty(t,"Dashboard",{enumerable:!0,get:function(){return l.Dashboard}});var s=r(43);Object.defineProperty(t,"Tile",{enumerable:!0,get:function(){return s.Tile}});var u=r(932);Object.defineProperty(t,"Embed",{enumerable:!0,get:function(){return u.Embed}});var d=r(220);Object.defineProperty(t,"Page",{enumerable:!0,get:function(){return d.Page}});var c=r(148);Object.defineProperty(t,"Qna",{enumerable:!0,get:function(){return c.Qna}});var p=r(23);Object.defineProperty(t,"Visual",{enumerable:!0,get:function(){return p.Visual}});var f=r(558);Object.defineProperty(t,"VisualDescriptor",{enumerable:!0,get:function(){return f.VisualDescriptor}});var h=r(714);Object.defineProperty(t,"QuickCreate",{enumerable:!0,get:function(){return h.QuickCreate}});var v=r(536);Object.defineProperty(t,"Create",{enumerable:!0,get:function(){return v.Create}});var y=r(567);Object.defineProperty(t,"BasicFilterBuilder",{enumerable:!0,get:function(){return y.BasicFilterBuilder}}),Object.defineProperty(t,"AdvancedFilterBuilder",{enumerable:!0,get:function(){return y.AdvancedFilterBuilder}}),Object.defineProperty(t,"TopNFilterBuilder",{enumerable:!0,get:function(){return y.TopNFilterBuilder}}),Object.defineProperty(t,"RelativeDateFilterBuilder",{enumerable:!0,get:function(){return y.RelativeDateFilterBuilder}}),Object.defineProperty(t,"RelativeTimeFilterBuilder",{enumerable:!0,get:function(){return y.RelativeTimeFilterBuilder}});var m=new a.Service(o.hpmFactory,o.wpmpFactory,o.routerFactory);window.powerbi&&window.powerBISDKGlobalServiceInstanceName?window[window.powerBISDKGlobalServiceInstanceName]=m:window.powerbi=m})(),i})())); \ No newline at end of file +!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,(()=>(()=>{var t={615:function(t){var e;e=function(){return function(t){var e={};function r(i){if(e[i])return e[i].exports;var a=e[i]={exports:{},id:i,loaded:!1};return t[i].call(a.exports,a,a.exports,r),a.loaded=!0,a.exports}return r.m=t,r.c=e,r.p="",r(0)}([function(t,e){"use strict";var r=function(){function t(t,e,r){void 0===e&&(e={}),this.defaultHeaders=e,this.defaultTargetWindow=r,this.windowPostMessageProxy=t}return t.addTrackingProperties=function(t,e){return t.headers=t.headers||{},e&&e.id&&(t.headers.id=e.id),t},t.getTrackingProperties=function(t){return{id:t.headers&&t.headers.id}},t.isErrorMessage=function(t){return"number"==typeof(t&&t.statusCode)&&!(200<=t.statusCode&&t.statusCode<300)},t.prototype.get=function(t,e,r){return void 0===e&&(e={}),void 0===r&&(r=this.defaultTargetWindow),this.send({method:"GET",url:t,headers:e},r)},t.prototype.post=function(t,e,r,i){return void 0===r&&(r={}),void 0===i&&(i=this.defaultTargetWindow),this.send({method:"POST",url:t,headers:r,body:e},i)},t.prototype.put=function(t,e,r,i){return void 0===r&&(r={}),void 0===i&&(i=this.defaultTargetWindow),this.send({method:"PUT",url:t,headers:r,body:e},i)},t.prototype.patch=function(t,e,r,i){return void 0===r&&(r={}),void 0===i&&(i=this.defaultTargetWindow),this.send({method:"PATCH",url:t,headers:r,body:e},i)},t.prototype.delete=function(t,e,r,i){return void 0===e&&(e=null),void 0===r&&(r={}),void 0===i&&(i=this.defaultTargetWindow),this.send({method:"DELETE",url:t,headers:r,body:e},i)},t.prototype.send=function(t,e){if(void 0===e&&(e=this.defaultTargetWindow),t.headers=this.assign({},this.defaultHeaders,t.headers),!e)throw new Error("target window is not provided. You must either provide the target window explicitly as argument to request, or specify default target window when constructing instance of this class.");return this.windowPostMessageProxy.postMessage(e,t)},t.prototype.assign=function(t){for(var e=[],r=1;r(()=>{var t=[function(t,e,r){var i,a=this&&this.__extends||(i=function(t,e){return i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},i(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.TextAlignment=e.CommonErrorCodes=e.BookmarksPlayMode=e.ExportDataType=e.QnaMode=e.PageNavigationPosition=e.BrowserPrintAdjustmentsMode=e.AggregateFunction=e.DataCacheMode=e.CredentialType=e.isPercentOfGrandTotal=e.isColumnAggr=e.isHierarchyLevelAggr=e.isHierarchyLevel=e.isColumn=e.isMeasure=e.getFilterType=e.isBasicFilterWithKeys=e.isFilterKeyColumnsTarget=e.HierarchyFilter=e.AdvancedFilter=e.TupleFilter=e.IdentityFilter=e.BasicFilterWithKeys=e.BasicFilter=e.RelativeTimeFilter=e.RelativeDateFilter=e.TopNFilter=e.IncludeExcludeFilter=e.NotSupportedFilter=e.Filter=e.RelativeDateOperators=e.RelativeDateFilterTimeUnit=e.FilterType=e.FiltersLevel=e.FiltersOperations=e.MenuLocation=e.ContrastMode=e.TokenType=e.ViewMode=e.Permissions=e.SectionVisibility=e.ReportAlignment=e.HyperlinkClickBehavior=e.LayoutType=e.VisualContainerDisplayMode=e.BackgroundType=e.DisplayOption=e.PageSizeType=e.TraceType=void 0,e.validateVisualHeader=e.validateExportDataRequest=e.validateQnaInterpretInputData=e.validateLoadQnaConfiguration=e.validateSaveAsParameters=e.validateUpdateFiltersRequest=e.validateFilter=e.validatePage=e.validateTileLoad=e.validateDashboardLoad=e.validateQuickCreate=e.validateCreateReport=e.validatePaginatedReportLoad=e.validateReportLoad=e.validateMenuGroupExtension=e.validateExtension=e.validateCustomPageSize=e.validateVisualizationsPane=e.validateSyncSlicersPane=e.validateSelectionPane=e.validatePageNavigationPane=e.validateFieldsPane=e.validateFiltersPane=e.validateBookmarksPane=e.validatePanes=e.validateSettings=e.validateCaptureBookmarkRequest=e.validateApplyBookmarkStateRequest=e.validateApplyBookmarkByNameRequest=e.validateAddBookmarkRequest=e.validatePlayBookmarkRequest=e.validateSlicerState=e.validateSlicer=e.validateVisualSelector=e.isIExtensionArray=e.isIExtensions=e.isGroupedMenuExtension=e.isFlatMenuExtension=e.isReportFiltersArray=e.isOnLoadFilters=e.VisualDataRoleKindPreference=e.VisualDataRoleKind=e.CommandDisplayOption=e.SlicerTargetSelector=e.VisualTypeSelector=e.VisualSelector=e.PageSelector=e.Selector=e.SortDirection=e.LegendPosition=void 0,e.validatePrintSettings=e.validateZoomLevel=e.validateCustomTheme=e.validateCommandsSettings=e.validateVisualSettings=void 0;var o,n,l,s,u,d,c,p,f,h,v,y,m,V,g,b,w,P,O,S=r(1);(O=e.TraceType||(e.TraceType={}))[O.Information=0]="Information",O[O.Verbose=1]="Verbose",O[O.Warning=2]="Warning",O[O.Error=3]="Error",O[O.ExpectedError=4]="ExpectedError",O[O.UnexpectedError=5]="UnexpectedError",O[O.Fatal=6]="Fatal",(P=e.PageSizeType||(e.PageSizeType={}))[P.Widescreen=0]="Widescreen",P[P.Standard=1]="Standard",P[P.Cortana=2]="Cortana",P[P.Letter=3]="Letter",P[P.Custom=4]="Custom",P[P.Mobile=5]="Mobile",(w=e.DisplayOption||(e.DisplayOption={}))[w.FitToPage=0]="FitToPage",w[w.FitToWidth=1]="FitToWidth",w[w.ActualSize=2]="ActualSize",(b=e.BackgroundType||(e.BackgroundType={}))[b.Default=0]="Default",b[b.Transparent=1]="Transparent",(g=e.VisualContainerDisplayMode||(e.VisualContainerDisplayMode={}))[g.Visible=0]="Visible",g[g.Hidden=1]="Hidden",(V=e.LayoutType||(e.LayoutType={}))[V.Master=0]="Master",V[V.Custom=1]="Custom",V[V.MobilePortrait=2]="MobilePortrait",V[V.MobileLandscape=3]="MobileLandscape",(m=e.HyperlinkClickBehavior||(e.HyperlinkClickBehavior={}))[m.Navigate=0]="Navigate",m[m.NavigateAndRaiseEvent=1]="NavigateAndRaiseEvent",m[m.RaiseEvent=2]="RaiseEvent",(y=e.ReportAlignment||(e.ReportAlignment={}))[y.Left=0]="Left",y[y.Center=1]="Center",y[y.Right=2]="Right",y[y.None=3]="None",(v=e.SectionVisibility||(e.SectionVisibility={}))[v.AlwaysVisible=0]="AlwaysVisible",v[v.HiddenInViewMode=1]="HiddenInViewMode",(h=e.Permissions||(e.Permissions={}))[h.Read=0]="Read",h[h.ReadWrite=1]="ReadWrite",h[h.Copy=2]="Copy",h[h.Create=4]="Create",h[h.All=7]="All",(f=e.ViewMode||(e.ViewMode={}))[f.View=0]="View",f[f.Edit=1]="Edit",(p=e.TokenType||(e.TokenType={}))[p.Aad=0]="Aad",p[p.Embed=1]="Embed",(c=e.ContrastMode||(e.ContrastMode={}))[c.None=0]="None",c[c.HighContrast1=1]="HighContrast1",c[c.HighContrast2=2]="HighContrast2",c[c.HighContrastBlack=3]="HighContrastBlack",c[c.HighContrastWhite=4]="HighContrastWhite",(d=e.MenuLocation||(e.MenuLocation={}))[d.Bottom=0]="Bottom",d[d.Top=1]="Top",(u=e.FiltersOperations||(e.FiltersOperations={}))[u.RemoveAll=0]="RemoveAll",u[u.ReplaceAll=1]="ReplaceAll",u[u.Add=2]="Add",u[u.Replace=3]="Replace",(s=e.FiltersLevel||(e.FiltersLevel={}))[s.Report=0]="Report",s[s.Page=1]="Page",s[s.Visual=2]="Visual",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",t[t.Identity=8]="Identity",t[t.Hierarchy=9]="Hierarchy"}(o=e.FilterType||(e.FilterType={})),(l=e.RelativeDateFilterTimeUnit||(e.RelativeDateFilterTimeUnit={}))[l.Days=0]="Days",l[l.Weeks=1]="Weeks",l[l.CalendarWeeks=2]="CalendarWeeks",l[l.Months=3]="Months",l[l.CalendarMonths=4]="CalendarMonths",l[l.Years=5]="Years",l[l.CalendarYears=6]="CalendarYears",l[l.Minutes=7]="Minutes",l[l.Hours=8]="Hours",(n=e.RelativeDateOperators||(e.RelativeDateOperators={}))[n.InLast=0]="InLast",n[n.InThis=1]="InThis",n[n.InNext=2]="InNext";var _=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=_;var T=function(t){function e(r,i,a){var n=t.call(this,r,o.Unknown)||this;return n.message=i,n.notSupportedTypeName=a,n.schemaUrl=e.schemaUrl,n}return a(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}(_);e.NotSupportedFilter=T;var E=function(t){function e(r,i,a){var n=t.call(this,r,o.IncludeExclude)||this;return n.values=a,n.isExclude=i,n.schemaUrl=e.schemaUrl,n}return a(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}(_);e.IncludeExcludeFilter=E;var F=function(t){function e(r,i,a,n){var l=t.call(this,r,o.TopN)||this;return l.operator=i,l.itemCount=a,l.schemaUrl=e.schemaUrl,l.orderBy=n,l}return a(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}(_);e.TopNFilter=F;var C=function(t){function e(r,i,a,n,l){var s=t.call(this,r,o.RelativeDate)||this;return s.operator=i,s.timeUnitsCount=a,s.timeUnitType=n,s.includeToday=l,s.schemaUrl=e.schemaUrl,s}return a(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}(_);e.RelativeDateFilter=C;var R=function(t){function e(r,i,a,n){var l=t.call(this,r,o.RelativeTime)||this;return l.operator=i,l.timeUnitsCount=a,l.timeUnitType=n,l.schemaUrl=e.schemaUrl,l}return a(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}(_);e.RelativeTimeFilter=R;var k=function(t){function e(r,i){for(var a=[],n=2;n0&&!a)throw new Error("You should pass the values to be filtered for each key. You passed: no values and ".concat(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,s=o.keyValues;l2)throw new Error("AdvancedFilters may not have more than two conditions. You passed: ".concat(a.length));if(1===l.length&&"And"!==i)throw new Error('Logical Operator must be "And" when there is only one condition provided');return s.conditions=l,s}return a(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}(_);e.AdvancedFilter=M;var L,I,q,D,N,B,U,H,W,z=function(t){function e(r,i){var a=t.call(this,r,o.Hierarchy)||this;return a.schemaUrl=e.schemaUrl,a.hierarchyData=i,a}return a(e,t),e.prototype.toJSON=function(){var e=t.prototype.toJSON.call(this);return e.hierarchyData=this.hierarchyData,e.target=this.target,e},e.schemaUrl="http://powerbi.com/product/schema#hierarchy",e}(_);function Q(t){if(t.filterType)return t.filterType;var e=t,r=t;return"string"==typeof e.operator&&Array.isArray(e.values)?o.Basic:"string"==typeof r.logicalOperator&&Array.isArray(r.conditions)?o.Advanced:o.Unknown}function G(t){return!(!t.table||!t.column||t.aggregationFunction)}e.HierarchyFilter=z,e.isFilterKeyColumnsTarget=function(t){return G(t)&&!!t.keys},e.isBasicFilterWithKeys=function(t){return Q(t)===o.Basic&&!!t.keyValues},e.getFilterType=Q,e.isMeasure=function(t){return void 0!==t.table&&void 0!==t.measure},e.isColumn=G,e.isHierarchyLevel=function(t){return!(!(t.table&&t.hierarchy&&t.hierarchyLevel)||t.aggregationFunction)},e.isHierarchyLevelAggr=function(t){return!!(t.table&&t.hierarchy&&t.hierarchyLevel&&t.aggregationFunction)},e.isColumnAggr=function(t){return!!(t.table&&t.column&&t.aggregationFunction)},e.isPercentOfGrandTotal=function(t){return!!t.percentOfGrandTotal},(W=e.CredentialType||(e.CredentialType={}))[W.NoConnection=0]="NoConnection",W[W.OnBehalfOf=1]="OnBehalfOf",W[W.Anonymous=2]="Anonymous",(H=e.DataCacheMode||(e.DataCacheMode={}))[H.Import=0]="Import",H[H.DirectQuery=1]="DirectQuery",(U=e.AggregateFunction||(e.AggregateFunction={}))[U.Default=1]="Default",U[U.None=2]="None",U[U.Sum=3]="Sum",U[U.Min=4]="Min",U[U.Max=5]="Max",U[U.Count=6]="Count",U[U.Average=7]="Average",U[U.DistinctCount=8]="DistinctCount",(B=e.BrowserPrintAdjustmentsMode||(e.BrowserPrintAdjustmentsMode={}))[B.Default=0]="Default",B[B.NoAdjustments=1]="NoAdjustments",(N=e.PageNavigationPosition||(e.PageNavigationPosition={}))[N.Bottom=0]="Bottom",N[N.Left=1]="Left",(D=e.QnaMode||(e.QnaMode={}))[D.Interactive=0]="Interactive",D[D.ResultOnly=1]="ResultOnly",(q=e.ExportDataType||(e.ExportDataType={}))[q.Summarized=0]="Summarized",q[q.Underlying=1]="Underlying",(I=e.BookmarksPlayMode||(e.BookmarksPlayMode={}))[I.Off=0]="Off",I[I.Presentation=1]="Presentation",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"},(L=e.SortDirection||(e.SortDirection={}))[L.Ascending=1]="Ascending",L[L.Descending=2]="Descending";var J=function(){function t(t){this.$schema=t}return t.prototype.toJSON=function(){return{$schema:this.$schema}},t}();e.Selector=J;var K=function(t){function e(r){var i=t.call(this,e.schemaUrl)||this;return i.pageName=r,i}return a(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}(J);e.PageSelector=K;var Y=function(t){function e(r){var i=t.call(this,e.schemaUrl)||this;return i.visualName=r,i}return a(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}(J);e.VisualSelector=Y;var $=function(t){function e(e){var r=t.call(this,Y.schemaUrl)||this;return r.visualType=e,r}return a(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}(J);e.VisualTypeSelector=$;var Z,X,tt,et=function(t){function e(e){var r=t.call(this,Y.schemaUrl)||this;return r.target=e,r}return a(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}(J);function rt(t){return Array.isArray(t)}function it(t){return t&&!!t.groupName}function at(t){return Array.isArray(t)}function ot(t){var e=t.message;return e||(e="".concat(t.path," is invalid. Not meeting ").concat(t.keyword," constraint")),{message:e}}e.SlicerTargetSelector=et,(tt=e.CommandDisplayOption||(e.CommandDisplayOption={}))[tt.Enabled=0]="Enabled",tt[tt.Disabled=1]="Disabled",tt[tt.Hidden=2]="Hidden",(X=e.VisualDataRoleKind||(e.VisualDataRoleKind={}))[X.Grouping=0]="Grouping",X[X.Measure=1]="Measure",X[X.GroupingOrMeasure=2]="GroupingOrMeasure",(Z=e.VisualDataRoleKindPreference||(e.VisualDataRoleKindPreference={}))[Z.Measure=0]="Measure",Z[Z.Grouping=1]="Grouping",e.isOnLoadFilters=function(t){return t&&!rt(t)},e.isReportFiltersArray=rt,e.isFlatMenuExtension=function(t){return t&&!it(t)},e.isGroupedMenuExtension=it,e.isIExtensions=function(t){return t&&!at(t)},e.isIExtensionArray=at,e.validateVisualSelector=function(t){var e=S.Validators.visualSelectorValidator.validate(t);return e?e.map(ot):void 0},e.validateSlicer=function(t){var e=S.Validators.slicerValidator.validate(t);return e?e.map(ot):void 0},e.validateSlicerState=function(t){var e=S.Validators.slicerStateValidator.validate(t);return e?e.map(ot):void 0},e.validatePlayBookmarkRequest=function(t){var e=S.Validators.playBookmarkRequestValidator.validate(t);return e?e.map(ot):void 0},e.validateAddBookmarkRequest=function(t){var e=S.Validators.addBookmarkRequestValidator.validate(t);return e?e.map(ot):void 0},e.validateApplyBookmarkByNameRequest=function(t){var e=S.Validators.applyBookmarkByNameRequestValidator.validate(t);return e?e.map(ot):void 0},e.validateApplyBookmarkStateRequest=function(t){var e=S.Validators.applyBookmarkStateRequestValidator.validate(t);return e?e.map(ot):void 0},e.validateCaptureBookmarkRequest=function(t){var e=S.Validators.captureBookmarkRequestValidator.validate(t);return e?e.map(ot):void 0},e.validateSettings=function(t){var e=S.Validators.settingsValidator.validate(t);return e?e.map(ot):void 0},e.validatePanes=function(t){var e=S.Validators.reportPanesValidator.validate(t);return e?e.map(ot):void 0},e.validateBookmarksPane=function(t){var e=S.Validators.bookmarksPaneValidator.validate(t);return e?e.map(ot):void 0},e.validateFiltersPane=function(t){var e=S.Validators.filtersPaneValidator.validate(t);return e?e.map(ot):void 0},e.validateFieldsPane=function(t){var e=S.Validators.fieldsPaneValidator.validate(t);return e?e.map(ot):void 0},e.validatePageNavigationPane=function(t){var e=S.Validators.pageNavigationPaneValidator.validate(t);return e?e.map(ot):void 0},e.validateSelectionPane=function(t){var e=S.Validators.selectionPaneValidator.validate(t);return e?e.map(ot):void 0},e.validateSyncSlicersPane=function(t){var e=S.Validators.syncSlicersPaneValidator.validate(t);return e?e.map(ot):void 0},e.validateVisualizationsPane=function(t){var e=S.Validators.visualizationsPaneValidator.validate(t);return e?e.map(ot):void 0},e.validateCustomPageSize=function(t){var e=S.Validators.customPageSizeValidator.validate(t);return e?e.map(ot):void 0},e.validateExtension=function(t){var e=S.Validators.extensionValidator.validate(t);return e?e.map(ot):void 0},e.validateMenuGroupExtension=function(t){var e=S.Validators.menuGroupExtensionValidator.validate(t);return e?e.map(ot):void 0},e.validateReportLoad=function(t){var e=S.Validators.reportLoadValidator.validate(t);return e?e.map(ot):void 0},e.validatePaginatedReportLoad=function(t){var e=S.Validators.paginatedReportLoadValidator.validate(t);return e?e.map(ot):void 0},e.validateCreateReport=function(t){var e=S.Validators.reportCreateValidator.validate(t);return e?e.map(ot):void 0},e.validateQuickCreate=function(t){var e=S.Validators.quickCreateValidator.validate(t);return e?e.map(ot):void 0},e.validateDashboardLoad=function(t){var e=S.Validators.dashboardLoadValidator.validate(t);return e?e.map(ot):void 0},e.validateTileLoad=function(t){var e=S.Validators.tileLoadValidator.validate(t);return e?e.map(ot):void 0},e.validatePage=function(t){var e=S.Validators.pageValidator.validate(t);return e?e.map(ot):void 0},e.validateFilter=function(t){var e=S.Validators.filterValidator.validate(t);return e?e.map(ot):void 0},e.validateUpdateFiltersRequest=function(t){var e=S.Validators.updateFiltersRequestValidator.validate(t);return e?e.map(ot):void 0},e.validateSaveAsParameters=function(t){var e=S.Validators.saveAsParametersValidator.validate(t);return e?e.map(ot):void 0},e.validateLoadQnaConfiguration=function(t){var e=S.Validators.loadQnaValidator.validate(t);return e?e.map(ot):void 0},e.validateQnaInterpretInputData=function(t){var e=S.Validators.qnaInterpretInputDataValidator.validate(t);return e?e.map(ot):void 0},e.validateExportDataRequest=function(t){var e=S.Validators.exportDataRequestValidator.validate(t);return e?e.map(ot):void 0},e.validateVisualHeader=function(t){var e=S.Validators.visualHeaderValidator.validate(t);return e?e.map(ot):void 0},e.validateVisualSettings=function(t){var e=S.Validators.visualSettingsValidator.validate(t);return e?e.map(ot):void 0},e.validateCommandsSettings=function(t){var e=S.Validators.commandsSettingsValidator.validate(t);return e?e.map(ot):void 0},e.validateCustomTheme=function(t){var e=S.Validators.customThemeValidator.validate(t);return e?e.map(ot):void 0},e.validateZoomLevel=function(t){var e=S.Validators.zoomLevelValidator.validate(t);return e?e.map(ot):void 0},e.validatePrintSettings=function(t){var e=S.Validators.printSettingsValidator.validate(t);return e?e.map(ot):void 0}},(t,e,r)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.Validators=void 0;var i=r(2),a=r(5),o=r(6),n=r(7),l=r(8),s=r(9),u=r(10),d=r(11),c=r(12),p=r(13),f=r(14),h=r(15),v=r(16),y=r(17),m=r(18),V=r(19),g=r(20),b=r(21),w=r(22),P=r(23),O=r(24),S=r(25),_=r(26),T=r(27),E=r(28),F=r(29),C=r(4),R=r(30),k=r(31),x=r(32),A=r(33),j=r(34);e.Validators={addBookmarkRequestValidator:new a.AddBookmarkRequestValidator,advancedFilterTypeValidator:new C.EnumValidator([0]),advancedFilterValidator:new c.AdvancedFilterValidator,anyArrayValidator:new C.ArrayValidator([new _.AnyOfValidator([new C.StringValidator,new C.NumberValidator,new C.BooleanValidator])]),anyFilterValidator:new _.AnyOfValidator([new c.BasicFilterValidator,new c.AdvancedFilterValidator,new c.IncludeExcludeFilterValidator,new c.NotSupportedFilterValidator,new c.RelativeDateFilterValidator,new c.TopNFilterValidator,new c.RelativeTimeFilterValidator,new c.HierarchyFilterValidator]),anyValueValidator:new _.AnyOfValidator([new C.StringValidator,new C.NumberValidator,new C.BooleanValidator]),actionBarValidator:new i.ActionBarValidator,statusBarValidator:new i.StatusBarValidator,applyBookmarkByNameRequestValidator:new a.ApplyBookmarkByNameRequestValidator,applyBookmarkStateRequestValidator:new a.ApplyBookmarkStateRequestValidator,applyBookmarkValidator:new _.AnyOfValidator([new a.ApplyBookmarkByNameRequestValidator,new a.ApplyBookmarkStateRequestValidator]),backgroundValidator:new C.EnumValidator([0,1]),basicFilterTypeValidator:new C.EnumValidator([1]),basicFilterValidator:new c.BasicFilterValidator,booleanArrayValidator:new C.BooleanArrayValidator,booleanValidator:new C.BooleanValidator,bookmarksPaneValidator:new h.BookmarksPaneValidator,captureBookmarkOptionsValidator:new a.CaptureBookmarkOptionsValidator,captureBookmarkRequestValidator:new a.CaptureBookmarkRequestValidator,columnSchemaArrayValidator:new C.ArrayValidator([new k.ColumnSchemaValidator]),commandDisplayOptionValidator:new C.EnumValidator([0,1,2]),commandExtensionSelectorValidator:new _.AnyOfValidator([new b.VisualSelectorValidator,new b.VisualTypeSelectorValidator]),commandExtensionArrayValidator:new C.ArrayValidator([new d.CommandExtensionValidator]),commandExtensionValidator:new d.CommandExtensionValidator,commandsSettingsArrayValidator:new C.ArrayValidator([new o.CommandsSettingsValidator]),commandsSettingsValidator:new o.CommandsSettingsValidator,conditionItemValidator:new c.ConditionItemValidator,contrastModeValidator:new C.EnumValidator([0,1,2,3,4]),credentialDetailsValidator:new F.MapValidator([new C.StringValidator],[new C.StringValidator]),credentialsValidator:new k.CredentialsValidator,credentialTypeValidator:new C.EnumValidator([0,1,2]),customLayoutDisplayOptionValidator:new C.EnumValidator([0,1,2]),customLayoutValidator:new p.CustomLayoutValidator,customPageSizeValidator:new f.CustomPageSizeValidator,customThemeValidator:new n.CustomThemeValidator,dashboardLoadValidator:new l.DashboardLoadValidator,dataCacheModeValidator:new C.EnumValidator([0,1]),datasetBindingValidator:new s.DatasetBindingValidator,datasetCreateConfigValidator:new k.DatasetCreateConfigValidator,datasourceConnectionConfigValidator:new k.DatasourceConnectionConfigValidator,displayStateModeValidator:new C.EnumValidator([0,1]),displayStateValidator:new p.DisplayStateValidator,exportDataRequestValidator:new u.ExportDataRequestValidator,extensionArrayValidator:new C.ArrayValidator([new d.ExtensionValidator]),extensionsValidator:new _.AnyOfValidator([new C.ArrayValidator([new d.ExtensionValidator]),new d.ExtensionsValidator]),extensionPointsValidator:new d.ExtensionPointsValidator,extensionValidator:new d.ExtensionValidator,fieldForbiddenValidator:new T.FieldForbiddenValidator,fieldRequiredValidator:new E.FieldRequiredValidator,fieldsPaneValidator:new h.FieldsPaneValidator,filterColumnTargetValidator:new c.FilterColumnTargetValidator,filterDisplaySettingsValidator:new c.FilterDisplaySettingsValidator,filterConditionsValidator:new C.ArrayValidator([new c.ConditionItemValidator]),filterHierarchyTargetValidator:new c.FilterHierarchyTargetValidator,filterMeasureTargetValidator:new c.FilterMeasureTargetValidator,filterTargetValidator:new _.AnyOfValidator([new c.FilterColumnTargetValidator,new c.FilterHierarchyTargetValidator,new c.FilterMeasureTargetValidator,new C.ArrayValidator([new _.AnyOfValidator([new c.FilterColumnTargetValidator,new c.FilterHierarchyTargetValidator,new c.FilterMeasureTargetValidator,new c.FilterKeyColumnsTargetValidator,new c.FilterKeyHierarchyTargetValidator])])]),filterValidator:new c.FilterValidator,filterTypeValidator:new C.EnumValidator([0,1,2,3,4,5,6,7,9]),filtersArrayValidator:new C.ArrayValidator([new c.FilterValidator]),filtersOperationsUpdateValidator:new C.EnumValidator([1,2,3]),filtersOperationsRemoveAllValidator:new C.EnumValidator([0]),filtersPaneValidator:new h.FiltersPaneValidator,hyperlinkClickBehaviorValidator:new C.EnumValidator([0,1,2]),includeExcludeFilterValidator:new c.IncludeExcludeFilterValidator,includeExludeFilterTypeValidator:new C.EnumValidator([3]),hierarchyFilterTypeValidator:new C.EnumValidator([9]),hierarchyFilterValuesValidator:new C.ArrayValidator([new c.HierarchyFilterNodeValidator]),layoutTypeValidator:new C.EnumValidator([0,1,2,3]),loadQnaValidator:new v.LoadQnaValidator,menuExtensionValidator:new _.AnyOfValidator([new d.FlatMenuExtensionValidator,new d.GroupedMenuExtensionValidator]),menuGroupExtensionArrayValidator:new C.ArrayValidator([new d.MenuGroupExtensionValidator]),menuGroupExtensionValidator:new d.MenuGroupExtensionValidator,menuLocationValidator:new C.EnumValidator([0,1]),notSupportedFilterTypeValidator:new C.EnumValidator([2]),notSupportedFilterValidator:new c.NotSupportedFilterValidator,numberArrayValidator:new C.NumberArrayValidator,numberValidator:new C.NumberValidator,onLoadFiltersBaseValidator:new _.AnyOfValidator([new c.OnLoadFiltersBaseValidator,new c.OnLoadFiltersBaseRemoveOperationValidator]),pageLayoutValidator:new F.MapValidator([new C.StringValidator],[new p.VisualLayoutValidator]),pageNavigationPaneValidator:new h.PageNavigationPaneValidator,pageNavigationPositionValidator:new C.EnumValidator([0,1]),pageSizeTypeValidator:new C.EnumValidator([0,1,2,3,4,5]),pageSizeValidator:new f.PageSizeValidator,pageValidator:new f.PageValidator,pageViewFieldValidator:new f.PageViewFieldValidator,pagesLayoutValidator:new F.MapValidator([new C.StringValidator],[new p.PageLayoutValidator]),paginatedReportCommandsValidator:new o.PaginatedReportCommandsValidator,paginatedReportDatasetBindingArrayValidator:new C.ArrayValidator([new j.PaginatedReportDatasetBindingValidator]),paginatedReportLoadValidator:new V.PaginatedReportLoadValidator,paginatedReportsettingsValidator:new w.PaginatedReportSettingsValidator,parameterValuesArrayValidator:new C.ArrayValidator([new V.ReportParameterFieldsValidator]),parametersPanelValidator:new R.ParametersPanelValidator,permissionsValidator:new C.EnumValidator([0,1,2,4,7]),playBookmarkRequestValidator:new a.PlayBookmarkRequestValidator,printSettingsValidator:new A.PrintSettingsValidator,qnaInterpretInputDataValidator:new v.QnaInterpretInputDataValidator,qnaPanesValidator:new h.QnaPanesValidator,qnaSettingValidator:new v.QnaSettingsValidator,quickCreateValidator:new x.QuickCreateValidator,rawDataValidator:new C.ArrayValidator([new C.ArrayValidator([new C.StringValidator])]),relativeDateFilterOperatorValidator:new C.EnumValidator([0,1,2]),relativeDateFilterTimeUnitTypeValidator:new C.EnumValidator([0,1,2,3,4,5,6]),relativeDateFilterTypeValidator:new C.EnumValidator([4]),relativeDateFilterValidator:new c.RelativeDateFilterValidator,relativeDateTimeFilterTypeValidator:new C.EnumValidator([4,7]),relativeDateTimeFilterUnitTypeValidator:new C.EnumValidator([0,1,2,3,4,5,6,7,8]),relativeTimeFilterTimeUnitTypeValidator:new C.EnumValidator([7,8]),relativeTimeFilterTypeValidator:new C.EnumValidator([7]),relativeTimeFilterValidator:new c.RelativeTimeFilterValidator,reportBarsValidator:new i.ReportBarsValidator,reportCreateValidator:new y.ReportCreateValidator,reportLoadFiltersValidator:new _.AnyOfValidator([new C.ArrayValidator([new c.FilterValidator]),new c.OnLoadFiltersValidator]),reportLoadValidator:new m.ReportLoadValidator,reportPanesValidator:new h.ReportPanesValidator,saveAsParametersValidator:new g.SaveAsParametersValidator,selectionPaneValidator:new h.SelectionPaneValidator,settingsValidator:new w.SettingsValidator,singleCommandSettingsValidator:new o.SingleCommandSettingsValidator,slicerSelectorValidator:new _.AnyOfValidator([new b.VisualSelectorValidator,new b.SlicerTargetSelectorValidator]),slicerStateValidator:new P.SlicerStateValidator,slicerTargetValidator:new _.AnyOfValidator([new c.FilterColumnTargetValidator,new c.FilterHierarchyTargetValidator,new c.FilterMeasureTargetValidator,new c.FilterKeyColumnsTargetValidator,new c.FilterKeyHierarchyTargetValidator]),slicerValidator:new P.SlicerValidator,stringArrayValidator:new C.StringArrayValidator,stringValidator:new C.StringValidator,syncSlicersPaneValidator:new h.SyncSlicersPaneValidator,tableDataArrayValidator:new C.ArrayValidator([new k.TableDataValidator]),tableSchemaListValidator:new C.ArrayValidator([new k.TableSchemaValidator]),tileLoadValidator:new O.TileLoadValidator,tokenTypeValidator:new C.EnumValidator([0,1]),topNFilterTypeValidator:new C.EnumValidator([5]),topNFilterValidator:new c.TopNFilterValidator,updateFiltersRequestValidator:new _.AnyOfValidator([new c.UpdateFiltersRequestValidator,new c.RemoveFiltersRequestValidator]),viewModeValidator:new C.EnumValidator([0,1]),visualCommandSelectorValidator:new _.AnyOfValidator([new b.VisualSelectorValidator,new b.VisualTypeSelectorValidator]),visualHeaderSelectorValidator:new _.AnyOfValidator([new b.VisualSelectorValidator,new b.VisualTypeSelectorValidator]),visualHeaderSettingsValidator:new S.VisualHeaderSettingsValidator,visualHeaderValidator:new S.VisualHeaderValidator,visualHeadersValidator:new C.ArrayValidator([new S.VisualHeaderValidator]),visualizationsPaneValidator:new h.VisualizationsPaneValidator,visualLayoutValidator:new p.VisualLayoutValidator,visualSelectorValidator:new b.VisualSelectorValidator,visualSettingsValidator:new S.VisualSettingsValidator,visualTypeSelectorValidator:new b.VisualTypeSelectorValidator,zoomLevelValidator:new C.RangeValidator(.25,4)}},function(t,e,r){var i,a=this&&this.__extends||(i=function(t,e){return i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},i(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.StatusBarValidator=e.ActionBarValidator=e.ReportBarsValidator=void 0;var o=r(3),n=r(4),l=r(1),s=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return a(e,t),e.prototype.validate=function(e,r,i){if(null==e)return null;var a=t.prototype.validate.call(this,e,r,i);if(a)return a;var n=[{field:"actionBar",validators:[l.Validators.actionBarValidator]},{field:"statusBar",validators:[l.Validators.statusBarValidator]}];return new o.MultipleFieldsValidator(n).validate(e,r,i)},e}(n.ObjectValidator);e.ReportBarsValidator=s;var u=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return a(e,t),e.prototype.validate=function(e,r,i){if(null==e)return null;var a=t.prototype.validate.call(this,e,r,i);if(a)return a;var n=[{field:"visible",validators:[l.Validators.booleanValidator]}];return new o.MultipleFieldsValidator(n).validate(e,r,i)},e}(n.ObjectValidator);e.ActionBarValidator=u;var d=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return a(e,t),e.prototype.validate=function(e,r,i){if(null==e)return null;var a=t.prototype.validate.call(this,e,r,i);if(a)return a;var n=[{field:"visible",validators:[l.Validators.booleanValidator]}];return new o.MultipleFieldsValidator(n).validate(e,r,i)},e}(n.ObjectValidator);e.StatusBarValidator=d},(t,e)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.MultipleFieldsValidator=void 0;var r=function(){function t(t){this.fieldValidatorsPairs=t}return t.prototype.validate=function(t,e,r){if(!this.fieldValidatorsPairs)return null;for(var i=e?e+"."+r:r,a=0,o=this.fieldValidatorsPairs;athis.maxValue||e{Object.defineProperty(e,"__esModule",{value:!0}),e.AnyOfValidator=void 0;var r=function(){function t(t){this.validators=t}return t.prototype.validate=function(t,e,r){if(null==t)return null;for(var i=!1,a=0,o=this.validators;a{Object.defineProperty(e,"__esModule",{value:!0}),e.FieldForbiddenValidator=void 0;var r=function(){function t(){}return t.prototype.validate=function(t,e,r){return void 0!==t?[{message:r+" is forbidden",path:(e?e+".":"")+r,keyword:"forbidden"}]:null},t}();e.FieldForbiddenValidator=r},(t,e)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.FieldRequiredValidator=void 0;var r=function(){function t(){}return t.prototype.validate=function(t,e,r){return null==t?[{message:r+" is required",path:(e?e+".":"")+r,keyword:"required"}]:null},t}();e.FieldRequiredValidator=r},function(t,e,r){var i,a=this&&this.__extends||(i=function(t,e){return i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},i(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.MapValidator=void 0;var o=function(t){function e(e,r){var i=t.call(this)||this;return i.keyValidators=e,i.valueValidators=r,i}return a(e,t),e.prototype.validate=function(e,r,i){if(null==e)return null;var a=t.prototype.validate.call(this,e,r,i);if(a)return a;for(var o in e)if(e.hasOwnProperty(o)){for(var n=(r?r+".":"")+i+"."+o,l=0,s=this.keyValidators;l2&&"[]"===n.slice(l-2)&&(s=!0,r[n=n.slice(0,l-2)]||(r[n]=[])),a=o[1]?g(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(-1!==(i=t.indexOf("?"))){var l=t.substr(i+1,t.length);t=t.substr(0,i),o=this.parseQueryString(l)}for("/"!==(t=decodeURI(t)).charAt(0)&&(t="/"+t),(e=t.length)>1&&"/"===t.charAt(e-1)&&(t=t.substr(0,e-1),n=!0),r=0;r{Object.defineProperty(e,"__esModule",{value:!0}),e.FilterBuilder=void 0;var r=function(){function t(){}return t.prototype.withTargetObject=function(t){return this.target=t,this},t.prototype.withColumnTarget=function(t,e){return this.target={table:t,column:e},this},t.prototype.withMeasureTarget=function(t,e){return this.target={table:t,measure:e},this},t.prototype.withHierarchyLevelTarget=function(t,e,r){return this.target={table:t,hierarchy:e,hierarchyLevel:r},this},t.prototype.withColumnAggregation=function(t,e,r){return this.target={table:t,column:e,aggregationFunction:r},this},t.prototype.withHierarchyLevelAggregationTarget=function(t,e,r,i){return this.target={table:t,hierarchy:e,hierarchyLevel:r,aggregationFunction:i},this},t}();e.FilterBuilder=r},567:(t,e,r)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.RelativeTimeFilterBuilder=e.RelativeDateFilterBuilder=e.TopNFilterBuilder=e.AdvancedFilterBuilder=e.BasicFilterBuilder=void 0;var i=r(153);Object.defineProperty(e,"BasicFilterBuilder",{enumerable:!0,get:function(){return i.BasicFilterBuilder}});var a=r(674);Object.defineProperty(e,"AdvancedFilterBuilder",{enumerable:!0,get:function(){return a.AdvancedFilterBuilder}});var o=r(664);Object.defineProperty(e,"TopNFilterBuilder",{enumerable:!0,get:function(){return o.TopNFilterBuilder}});var n=r(844);Object.defineProperty(e,"RelativeDateFilterBuilder",{enumerable:!0,get:function(){return n.RelativeDateFilterBuilder}});var l=r(275);Object.defineProperty(e,"RelativeTimeFilterBuilder",{enumerable:!0,get:function(){return l.RelativeTimeFilterBuilder}})},844:function(t,e,r){var i,a=this&&this.__extends||(i=function(t,e){return i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},i(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.RelativeDateFilterBuilder=void 0;var o=r(149),n=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.isTodayIncluded=!0,e}return a(e,t),e.prototype.inLast=function(t,e){return this.operator=o.RelativeDateOperators.InLast,this.timeUnitsCount=t,this.timeUnitType=e,this},e.prototype.inThis=function(t,e){return this.operator=o.RelativeDateOperators.InThis,this.timeUnitsCount=t,this.timeUnitType=e,this},e.prototype.inNext=function(t,e){return this.operator=o.RelativeDateOperators.InNext,this.timeUnitsCount=t,this.timeUnitType=e,this},e.prototype.includeToday=function(t){return this.isTodayIncluded=t,this},e.prototype.build=function(){return new o.RelativeDateFilter(this.target,this.operator,this.timeUnitsCount,this.timeUnitType,this.isTodayIncluded)},e}(r(277).FilterBuilder);e.RelativeDateFilterBuilder=n},275:function(t,e,r){var i,a=this&&this.__extends||(i=function(t,e){return i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},i(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.RelativeTimeFilterBuilder=void 0;var o=r(149),n=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return a(e,t),e.prototype.inLast=function(t,e){return this.operator=o.RelativeDateOperators.InLast,this.timeUnitsCount=t,this.timeUnitType=e,this},e.prototype.inThis=function(t,e){return this.operator=o.RelativeDateOperators.InThis,this.timeUnitsCount=t,this.timeUnitType=e,this},e.prototype.inNext=function(t,e){return this.operator=o.RelativeDateOperators.InNext,this.timeUnitsCount=t,this.timeUnitType=e,this},e.prototype.build=function(){return new o.RelativeTimeFilter(this.target,this.operator,this.timeUnitsCount,this.timeUnitType)},e}(r(277).FilterBuilder);e.RelativeTimeFilterBuilder=n},664:function(t,e,r){var i,a=this&&this.__extends||(i=function(t,e){return i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},i(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.TopNFilterBuilder=void 0;var o=r(149),n=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return a(e,t),e.prototype.top=function(t){return this.operator="Top",this.itemCount=t,this},e.prototype.bottom=function(t){return this.operator="Bottom",this.itemCount=t,this},e.prototype.orderByTarget=function(t){return this.orderByTargetValue=t,this},e.prototype.build=function(){return new o.TopNFilter(this.target,this.operator,this.itemCount,this.orderByTargetValue)},e}(r(277).FilterBuilder);e.TopNFilterBuilder=n},460:function(t,e,r){var i=this&&this.__awaiter||function(t,e,r,i){return new(r||(r=Promise))((function(a,o){function n(t){try{s(i.next(t))}catch(t){o(t)}}function l(t){try{s(i.throw(t))}catch(t){o(t)}}function s(t){var e;t.done?a(t.value):(e=t.value,e instanceof r?e:new r((function(t){t(e)}))).then(n,l)}s((i=i.apply(t,e||[])).next())}))},a=this&&this.__generator||function(t,e){var r,i,a,o,n={label:0,sent:function(){if(1&a[0])throw a[1];return a[1]},trys:[],ops:[]};return o={next:l(0),throw:l(1),return:l(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function l(o){return function(l){return function(o){if(r)throw new TypeError("Generator is already executing.");for(;n;)try{if(r=1,i&&(a=2&o[0]?i.return:o[0]?i.throw||((a=i.return)&&a.call(i),0):i.next)&&!(a=a.call(i,o[1])).done)return a;switch(i=0,a&&(o=[2&o[0],a.value]),o[0]){case 0:case 1:a=o;break;case 4:return n.label++,{value:o[1],done:!1};case 5:n.label++,i=o[1],o=[0];continue;case 7:o=n.ops.pop(),n.trys.pop();continue;default:if(!((a=(a=n.trys).length>0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]{Object.defineProperty(e,"__esModule",{value:!0}),e.default={version:"2.22.4",type:"js"}},536:function(t,e,r){var i,a=this&&this.__extends||(i=function(t,e){return i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},i(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}),o=this&&this.__awaiter||function(t,e,r,i){return new(r||(r=Promise))((function(a,o){function n(t){try{s(i.next(t))}catch(t){o(t)}}function l(t){try{s(i.throw(t))}catch(t){o(t)}}function s(t){var e;t.done?a(t.value):(e=t.value,e instanceof r?e:new r((function(t){t(e)}))).then(n,l)}s((i=i.apply(t,e||[])).next())}))},n=this&&this.__generator||function(t,e){var r,i,a,o,n={label:0,sent:function(){if(1&a[0])throw a[1];return a[1]},trys:[],ops:[]};return o={next:l(0),throw:l(1),return:l(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function l(o){return function(l){return function(o){if(r)throw new TypeError("Generator is already executing.");for(;n;)try{if(r=1,i&&(a=2&o[0]?i.return:o[0]?i.throw||((a=i.return)&&a.call(i),0):i.next)&&!(a=a.call(i,o[1])).done)return a;switch(i=0,a&&(o=[2&o[0],a.value]),o[0]){case 0:case 1:a=o;break;case 4:return n.label++,{value:o[1],done:!1};case 5:n.label++,i=o[1],o=[0];continue;case 7:o=n.ops.pop(),n.trys.pop();continue;default:if(!((a=(a=n.trys).length>0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]{Object.defineProperty(e,"__esModule",{value:!0}),e.EmbedUrlNotSupported=e.APINotSupportedForRDLError=void 0,e.APINotSupportedForRDLError="This API is currently not supported for RDL reports",e.EmbedUrlNotSupported="Embed URL is invalid for this scenario. Please use Power BI REST APIs to get the valid URL"},357:(t,e,r)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.routerFactory=e.wpmpFactory=e.hpmFactory=void 0;var i=r(903),a=r(615),o=r(891),n=r(913);e.hpmFactory=function(t,e,r,i,o){return void 0===r&&(r=n.default.version),void 0===i&&(i=n.default.type),new a.HttpPostMessage(t,{"x-sdk-type":i,"x-sdk-version":r,"x-sdk-wrapper-version":o},e)},e.wpmpFactory=function(t,e,r){return new i.WindowPostMessageProxy({processTrackingProperties:{addTrackingProperties:a.HttpPostMessage.addTrackingProperties,getTrackingProperties:a.HttpPostMessage.getTrackingProperties},isErrorMessage:a.HttpPostMessage.isErrorMessage,suppressWarnings:!0,name:t,logMessages:e,eventSourceOverrideWindow:r})},e.routerFactory=function(t){return new o.Router(t)}},220:function(t,e,r){var i=this&&this.__awaiter||function(t,e,r,i){return new(r||(r=Promise))((function(a,o){function n(t){try{s(i.next(t))}catch(t){o(t)}}function l(t){try{s(i.throw(t))}catch(t){o(t)}}function s(t){var e;t.done?a(t.value):(e=t.value,e instanceof r?e:new r((function(t){t(e)}))).then(n,l)}s((i=i.apply(t,e||[])).next())}))},a=this&&this.__generator||function(t,e){var r,i,a,o,n={label:0,sent:function(){if(1&a[0])throw a[1];return a[1]},trys:[],ops:[]};return o={next:l(0),throw:l(1),return:l(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function l(o){return function(l){return function(o){if(r)throw new TypeError("Generator is already executing.");for(;n;)try{if(r=1,i&&(a=2&o[0]?i.return:o[0]?i.throw||((a=i.return)&&a.call(i),0):i.next)&&!(a=a.call(i,o[1])).done)return a;switch(i=0,a&&(o=[2&o[0],a.value]),o[0]){case 0:case 1:a=o;break;case 4:return n.label++,{value:o[1],done:!1};case 5:n.label++,i=o[1],o=[0];continue;case 7:o=n.ops.pop(),n.trys.pop();continue;default:if(!((a=(a=n.trys).length>0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0?"&":"?";return t+(i+e+"=")+r},e.isSavedInternal=function(t,e,a){return r(this,void 0,void 0,(function(){return i(this,(function(r){switch(r.label){case 0:return r.trys.push([0,2,,3]),[4,t.get("/report/hasUnsavedChanges",{uid:e},a)];case 1:return[2,!r.sent().body];case 2:throw r.sent().body;case 3:return[2]}}))}))},e.isRDLEmbed=function(t){return t&&t.toLowerCase().indexOf("/rdlembed?")>=0},e.autoAuthInEmbedUrl=function(t){return t&&decodeURIComponent(t).toLowerCase().indexOf("autoauth=true")>=0},e.getRandomValue=o,e.getTimeDiffInMilliseconds=function(t,e){return Math.abs(t.getTime()-e.getTime())},e.isCreate=function(t){return"create"===t||"quickcreate"===t}},23:function(t,e,r){var i,a=this&&this.__extends||(i=function(t,e){return i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},i(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}),o=this&&this.__awaiter||function(t,e,r,i){return new(r||(r=Promise))((function(a,o){function n(t){try{s(i.next(t))}catch(t){o(t)}}function l(t){try{s(i.throw(t))}catch(t){o(t)}}function s(t){var e;t.done?a(t.value):(e=t.value,e instanceof r?e:new r((function(t){t(e)}))).then(n,l)}s((i=i.apply(t,e||[])).next())}))},n=this&&this.__generator||function(t,e){var r,i,a,o,n={label:0,sent:function(){if(1&a[0])throw a[1];return a[1]},trys:[],ops:[]};return o={next:l(0),throw:l(1),return:l(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function l(o){return function(l){return function(o){if(r)throw new TypeError("Generator is already executing.");for(;n;)try{if(r=1,i&&(a=2&o[0]?i.return:o[0]?i.throw||((a=i.return)&&a.call(i),0):i.next)&&!(a=a.call(i,o[1])).done)return a;switch(i=0,a&&(o=[2&o[0],a.value]),o[0]){case 0:case 1:a=o;break;case 4:return n.label++,{value:o[1],done:!1};case 5:n.label++,i=o[1],o=[0];continue;case 7:o=n.ops.pop(),n.trys.pop();continue;default:if(!((a=(a=n.trys).length>0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]{var e;self,e=()=>(()=>{"use strict";var t={};return(()=>{var e=t;Object.defineProperty(e,"__esModule",{value:!0}),e.WindowPostMessageProxy=void 0;var r=function(){function t(e){void 0===e&&(e={processTrackingProperties:{addTrackingProperties:t.defaultAddTrackingProperties,getTrackingProperties:t.defaultGetTrackingProperties},isErrorMessage:t.defaultIsErrorMessage,receiveWindow:window,name:t.createRandomString()});var r=this;this.pendingRequestPromises={},this.addTrackingProperties=e.processTrackingProperties&&e.processTrackingProperties.addTrackingProperties||t.defaultAddTrackingProperties,this.getTrackingProperties=e.processTrackingProperties&&e.processTrackingProperties.getTrackingProperties||t.defaultGetTrackingProperties,this.isErrorMessage=e.isErrorMessage||t.defaultIsErrorMessage,this.receiveWindow=e.receiveWindow||window,this.name=e.name||t.createRandomString(),this.logMessages=e.logMessages||!1,this.eventSourceOverrideWindow=e.eventSourceOverrideWindow,this.suppressWarnings=e.suppressWarnings||!1,this.logMessages&&console.log("new WindowPostMessageProxy created with name: ".concat(this.name," receiving on window: ").concat(this.receiveWindow.document.title)),this.handlers=[],this.windowMessageHandler=function(t){return r.onMessageReceived(t)},this.start()}return t.defaultAddTrackingProperties=function(e,r){return e[t.messagePropertyName]=r,e},t.defaultGetTrackingProperties=function(e){return e[t.messagePropertyName]},t.defaultIsErrorMessage=function(t){return!!t.error},t.createDeferred=function(){var t={resolve:null,reject:null,promise:null},e=new Promise((function(e,r){t.resolve=e,t.reject=r}));return t.promise=e,t},t.createRandomString=function(){var t=window.crypto||window.msCrypto,e=new Uint32Array(1);return t.getRandomValues(e),e[0].toString(36).substring(1)},t.prototype.addHandler=function(t){this.handlers.push(t)},t.prototype.removeHandler=function(t){var e=this.handlers.indexOf(t);if(-1===e)throw new Error("You attempted to remove a handler but no matching handler was found.");this.handlers.splice(e,1)},t.prototype.start=function(){this.receiveWindow.addEventListener("message",this.windowMessageHandler)},t.prototype.stop=function(){this.receiveWindow.removeEventListener("message",this.windowMessageHandler)},t.prototype.postMessage=function(e,r){var i={id:t.createRandomString()};this.addTrackingProperties(r,i),this.logMessages&&(console.log("".concat(this.name," Posting message:")),console.log(JSON.stringify(r,null," "))),e.postMessage(r,"*");var a=t.createDeferred();return this.pendingRequestPromises[i.id]=a,a.promise},t.prototype.sendResponse=function(t,e,r){this.addTrackingProperties(e,r),this.logMessages&&(console.log("".concat(this.name," Sending response:")),console.log(JSON.stringify(e,null," "))),t.postMessage(e,"*")},t.prototype.onMessageReceived=function(t){var e=this;this.logMessages&&(console.log("".concat(this.name," Received message:")),console.log("type: ".concat(t.type)),console.log(JSON.stringify(t.data,null," ")));var r=this.eventSourceOverrideWindow||t.source;if(r){var i=t.data;if("object"==typeof i){var a,o;try{a=this.getTrackingProperties(i)}catch(t){this.suppressWarnings||console.warn("Proxy(".concat(this.name,"): Error occurred when attempting to get tracking properties from incoming message:"),JSON.stringify(i,null," "),"Error: ",t)}if(a&&(o=this.pendingRequestPromises[a.id]),o){var n=!0;try{n=this.isErrorMessage(i)}catch(t){console.warn("Proxy(".concat(this.name,") Error occurred when trying to determine if message is consider an error response. Message: "),JSON.stringify(i,null,""),"Error: ",t)}n?o.reject(i):o.resolve(i),delete this.pendingRequestPromises[a.id]}else this.handlers.some((function(t){var o=!1;try{o=t.test(i)}catch(t){e.suppressWarnings||console.warn("Proxy(".concat(e.name,"): Error occurred when handler was testing incoming message:"),JSON.stringify(i,null," "),"Error: ",t)}if(o){var n=void 0;try{n=Promise.resolve(t.handle(i))}catch(t){e.suppressWarnings||console.warn("Proxy(".concat(e.name,"): Error occurred when handler was processing incoming message:"),JSON.stringify(i,null," "),"Error: ",t),n=Promise.resolve()}return n.then((function(t){if(!t){var o="Handler for message: ".concat(JSON.stringify(i,null," ")," did not return a response message. The default response message will be returned instead.");e.suppressWarnings||console.warn("Proxy(".concat(e.name,"): ").concat(o)),t={warning:o}}e.sendResponse(r,t,a)})),!0}}))||this.suppressWarnings||console.warn("Proxy(".concat(this.name,") did not handle message. Handlers: ").concat(this.handlers.length," Message: ").concat(JSON.stringify(i,null,""),"."))}else this.suppressWarnings||console.warn("Proxy(".concat(this.name,"): Received message that was not an object. Discarding message"))}},t.messagePropertyName="windowPostMessageProxy",t}();e.WindowPostMessageProxy=r})(),t})(),t.exports=e()}},e={};function r(i){var a=e[i];if(void 0!==a)return a.exports;var o=e[i]={exports:{}};return t[i].call(o.exports,o,o.exports,r),o.exports}var i={};return(()=>{var t=i;Object.defineProperty(t,"__esModule",{value:!0}),t.RelativeTimeFilterBuilder=t.RelativeDateFilterBuilder=t.TopNFilterBuilder=t.AdvancedFilterBuilder=t.BasicFilterBuilder=t.Create=t.QuickCreate=t.VisualDescriptor=t.Visual=t.Qna=t.Page=t.Embed=t.Tile=t.Dashboard=t.Report=t.models=t.factories=t.service=void 0;var e=r(149);t.models=e;var a=r(562);t.service=a;var o=r(357);t.factories=o;var n=r(125);Object.defineProperty(t,"Report",{enumerable:!0,get:function(){return n.Report}});var l=r(365);Object.defineProperty(t,"Dashboard",{enumerable:!0,get:function(){return l.Dashboard}});var s=r(43);Object.defineProperty(t,"Tile",{enumerable:!0,get:function(){return s.Tile}});var u=r(932);Object.defineProperty(t,"Embed",{enumerable:!0,get:function(){return u.Embed}});var d=r(220);Object.defineProperty(t,"Page",{enumerable:!0,get:function(){return d.Page}});var c=r(148);Object.defineProperty(t,"Qna",{enumerable:!0,get:function(){return c.Qna}});var p=r(23);Object.defineProperty(t,"Visual",{enumerable:!0,get:function(){return p.Visual}});var f=r(558);Object.defineProperty(t,"VisualDescriptor",{enumerable:!0,get:function(){return f.VisualDescriptor}});var h=r(714);Object.defineProperty(t,"QuickCreate",{enumerable:!0,get:function(){return h.QuickCreate}});var v=r(536);Object.defineProperty(t,"Create",{enumerable:!0,get:function(){return v.Create}});var y=r(567);Object.defineProperty(t,"BasicFilterBuilder",{enumerable:!0,get:function(){return y.BasicFilterBuilder}}),Object.defineProperty(t,"AdvancedFilterBuilder",{enumerable:!0,get:function(){return y.AdvancedFilterBuilder}}),Object.defineProperty(t,"TopNFilterBuilder",{enumerable:!0,get:function(){return y.TopNFilterBuilder}}),Object.defineProperty(t,"RelativeDateFilterBuilder",{enumerable:!0,get:function(){return y.RelativeDateFilterBuilder}}),Object.defineProperty(t,"RelativeTimeFilterBuilder",{enumerable:!0,get:function(){return y.RelativeTimeFilterBuilder}});var m=new a.Service(o.hpmFactory,o.wpmpFactory,o.routerFactory);window.powerbi&&window.powerBISDKGlobalServiceInstanceName?window[window.powerBISDKGlobalServiceInstanceName]=m:window.powerbi=m})(),i})())); \ No newline at end of file diff --git a/package.json b/package.json index 219cd87e..9b1502af 100644 --- a/package.json +++ b/package.json @@ -79,7 +79,7 @@ }, "dependencies": { "http-post-message": "^0.2", - "powerbi-models": "^1.12.3", + "powerbi-models": "^1.13.0", "powerbi-router": "^0.1", "window-post-message-proxy": "^0.2.7" }, From 61e39a9f75ccab096eaaac3f7bc56b4cf70eec9a Mon Sep 17 00:00:00 2001 From: Yoav Damri Date: Mon, 4 Dec 2023 18:18:26 +0000 Subject: [PATCH 118/125] Merged PR 305013: Add smart narrative API to report #839888 add getSmartNarrativeInsights to report Related work items: #839888 --- dist/powerbi-client.d.ts | 24 +- dist/powerbi.js | 569 ++++++++++++++++++++++++--------------- dist/powerbi.min.js | 2 +- package.json | 2 +- src/page.ts | 23 ++ src/visualDescriptor.ts | 21 +- 6 files changed, 414 insertions(+), 227 deletions(-) diff --git a/dist/powerbi-client.d.ts b/dist/powerbi-client.d.ts index 60504d51..888adacd 100644 --- a/dist/powerbi-client.d.ts +++ b/dist/powerbi-client.d.ts @@ -598,7 +598,7 @@ declare module "ifilterable" { } } declare module "visualDescriptor" { - import { ExportDataType, FiltersOperations, ICloneVisualRequest, ICloneVisualResponse, IExportDataResult, IFilter, ISlicerState, ISortByVisualRequest, IVisualLayout, VisualContainerDisplayMode } from 'powerbi-models'; + import { ExportDataType, FiltersOperations, ICloneVisualRequest, ICloneVisualResponse, IExportDataResult, IFilter, ISlicerState, ISmartNarratives, ISortByVisualRequest, IVisualLayout, VisualContainerDisplayMode } from 'powerbi-models'; import { IHttpPostMessageResponse } from 'http-post-message'; import { IFilterable } from "ifilterable"; import { IPageNode } from "page"; @@ -795,11 +795,21 @@ declare module "visualDescriptor" { * @returns {Promise>} */ resizeVisual(width: number, height: number): Promise>; + /** + * Get insights for single visual + * + * ```javascript + * visual.getSmartNarrativeInsights(); + * ``` + * + * @returns {Promise} + */ + getSmartNarrativeInsights(): Promise; } } declare module "page" { import { IHttpPostMessageResponse } from 'http-post-message'; - import { DisplayOption, FiltersOperations, ICustomPageSize, IFilter, IVisual, LayoutType, PageSizeType, SectionVisibility, VisualContainerDisplayMode, IPageBackground, IPageWallpaper } from 'powerbi-models'; + import { DisplayOption, FiltersOperations, ICustomPageSize, IFilter, IVisual, LayoutType, PageSizeType, SectionVisibility, VisualContainerDisplayMode, IPageBackground, IPageWallpaper, ISmartNarratives } from 'powerbi-models'; import { IFilterable } from "ifilterable"; import { IReportNode } from "report"; import { VisualDescriptor } from "visualDescriptor"; @@ -895,6 +905,16 @@ declare module "page" { * @hidden */ constructor(report: IReportNode, name: string, displayName?: string, isActivePage?: boolean, visibility?: SectionVisibility, defaultSize?: ICustomPageSize, defaultDisplayOption?: DisplayOption, mobileSize?: ICustomPageSize, background?: IPageBackground, wallpaper?: IPageWallpaper); + /** + * Get insights for report page + * + * ```javascript + * page.getSmartNarrativeInsights() + * ``` + * + * @returns {Promise} + */ + getSmartNarrativeInsights(): Promise; /** * Gets all page level filters within the report. * diff --git a/dist/powerbi.js b/dist/powerbi.js index ef3dfca9..5e319e63 100644 --- a/dist/powerbi.js +++ b/dist/powerbi.js @@ -203,7 +203,7 @@ return /******/ (function(modules) { // webpackBootstrap \****************************************************/ /***/ (function(module) { -// powerbi-models v1.13.0 +// powerbi-models v1.14.0 // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. (function webpackUniversalModuleDefinition(root, factory) { @@ -5637,11 +5637,11 @@ exports.PaginatedReportDatasetBindingValidator = PaginatedReportDatasetBindingVa }); //# sourceMappingURL=models.js.map // SIG // Begin signature block -// SIG // MIIregYJKoZIhvcNAQcCoIIrazCCK2cCAQExDzANBglg +// SIG // MIIr4gYJKoZIhvcNAQcCoIIr0zCCK88CAQExDzANBglg // SIG // hkgBZQMEAgEFADB3BgorBgEEAYI3AgEEoGkwZzAyBgor // SIG // BgEEAYI3AgEeMCQCAQEEEBDgyQbOONQRoqMAEEvTUJAC // SIG // AQACAQACAQACAQACAQAwMTANBglghkgBZQMEAgEFAAQg -// SIG // BtUuvhS9bxln+kggFY3bwaUaXQn6Hk2p8APZro/arNag +// SIG // WNb2+8Nx7D6LpbfhohPb+cdkaBYb+kv1f6wvqYYucZ+g // SIG // ghFuMIIIfjCCB2agAwIBAgITNgAAAchkggAwtCOCeAAC // SIG // AAAByDANBgkqhkiG9w0BAQsFADBBMRMwEQYKCZImiZPy // SIG // LGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRUw @@ -5777,204 +5777,207 @@ exports.PaginatedReportDatasetBindingValidator = PaginatedReportDatasetBindingVa // SIG // w9c/hBf32DH/GFxteS2pmjgKIbMP8sDukmEq3lVvuWNJ // SIG // sybrZwQvQpvaM49fv+JKpLK5YWYEfwksYRR9wU8Hh/ID // SIG // 9hRCEkbUoQ2W7mMpsp2Nbp/kcn4ivfolUy3Q9Yf0scsQ -// SIG // 6WTLYpm+AoCUJTGCGWQwghlgAgEBMFgwQTETMBEGCgmS +// SIG // 6WTLYpm+AoCUJTGCGcwwghnIAgEBMFgwQTETMBEGCgmS // SIG // JomT8ixkARkWA0dCTDETMBEGCgmSJomT8ixkARkWA0FN // SIG // RTEVMBMGA1UEAxMMQU1FIENTIENBIDAxAhM2AAAByGSC // SIG // ADC0I4J4AAIAAAHIMA0GCWCGSAFlAwQCAQUAoIGuMBkG // SIG // CSqGSIb3DQEJAzEMBgorBgEEAYI3AgEEMBwGCisGAQQB // SIG // gjcCAQsxDjAMBgorBgEEAYI3AgEVMC8GCSqGSIb3DQEJ -// SIG // BDEiBCAedEweH6z6kL8Zq/Fe+MBnuMy3lOvgNOk+eMOE -// SIG // ICgYzTBCBgorBgEEAYI3AgEMMTQwMqAUgBIATQBpAGMA +// SIG // BDEiBCDVsRlmuqGGWLZSefk2CBRUhBuBOD+bHy0Gwl8T +// SIG // 0JKkqjBCBgorBgEEAYI3AgEMMTQwMqAUgBIATQBpAGMA // SIG // cgBvAHMAbwBmAHShGoAYaHR0cDovL3d3dy5taWNyb3Nv -// SIG // ZnQuY29tMA0GCSqGSIb3DQEBAQUABIIBAGgsmQ7pAW5H -// SIG // kXP7SCbGPo9UyFOk8cNAoonqgsjPzicKEI2Oi5UoaNuH -// SIG // hSkMe69STOT1fqoSle+Dumhf9pnBDKI+BKWLT4Kbj+dL -// SIG // 9gRLoZUFUnE0myHrgegMi0YL4eL9JQ1eK4aDnq9Vt5VM -// SIG // f2mVyZ3bGpX4RX3St1k7eWUtCg4RNGuHrXHq6aO5PgYl -// SIG // uDrfq4mpZ4sZev2j/Gritm0Br1XfpmnfajppOl+kKux4 -// SIG // 24LeFqHROVY1yHG5a9ZWyA7AcbTnIm9kBVtGTtgMHOc/ -// SIG // j9KjD8gXro+NGPy9+hH58Qt/sYOHRAxgNb7ygFkRtrGx -// SIG // xBNL6lqfWsdqIMpZ0zagsqOhghcsMIIXKAYKKwYBBAGC -// SIG // NwMDATGCFxgwghcUBgkqhkiG9w0BBwKgghcFMIIXAQIB -// SIG // AzEPMA0GCWCGSAFlAwQCAQUAMIIBWQYLKoZIhvcNAQkQ -// SIG // AQSgggFIBIIBRDCCAUACAQEGCisGAQQBhFkKAwEwMTAN -// SIG // BglghkgBZQMEAgEFAAQgy8MDPDeM2a7GDOmUWeRwoeyT -// SIG // Yfrr+maIGjkximO3Vo0CBmTfhJTAahgTMjAyMzA4MzEy -// SIG // MjE2NDcuNDM2WjAEgAIB9KCB2KSB1TCB0jELMAkGA1UE +// SIG // ZnQuY29tMA0GCSqGSIb3DQEBAQUABIIBADFsQE1+4mJA +// SIG // S6P65AMT7BcL1WNe0RUuA0Bt+CuVtbwa1zq+ZGDtexdb +// SIG // CWxBr5U4oZF6mHY6AyKf+NTFgvZczY3QqYh19SMKGujp +// SIG // FgxBvG0aQ/dVQDtKC5Le2cce15l4X6SAsYk+8q0xMjti +// SIG // QgSfBIEkJZ8FtDwtFaHO5GN/OkEt8M7NEzQOZQcfvSgb +// SIG // lMV8hY3Lf0dAPg4jyay3bQcPjOLsPs5G4GmTDM4qdPYM +// SIG // w5+IzUudbU8mNTmPppT3u2A2xGoQ8Ky5/mava+b11bSM +// SIG // GaJ1QFVCATVph88Fw/958W9et3okjG8TffdVb9J/KW09 +// SIG // +oUXuBUjmljUn2ExNxJUxGyhgheUMIIXkAYKKwYBBAGC +// SIG // NwMDATGCF4Awghd8BgkqhkiG9w0BBwKgghdtMIIXaQIB +// SIG // AzEPMA0GCWCGSAFlAwQCAQUAMIIBUgYLKoZIhvcNAQkQ +// SIG // AQSgggFBBIIBPTCCATkCAQEGCisGAQQBhFkKAwEwMTAN +// SIG // BglghkgBZQMEAgEFAAQgVH8KNp+SiwyXjVpLA60gPo3S +// SIG // 9GbqNxZ81BNBirXMZRMCBmVWyBjWNBgTMjAyMzExMjkx +// SIG // MDA3MTguNDMyWjAEgAIB9KCB0aSBzjCByzELMAkGA1UE // SIG // BhMCVVMxEzARBgNVBAgTCldhc2hpbmd0b24xEDAOBgNV // SIG // BAcTB1JlZG1vbmQxHjAcBgNVBAoTFU1pY3Jvc29mdCBD -// SIG // b3Jwb3JhdGlvbjEtMCsGA1UECxMkTWljcm9zb2Z0IEly -// SIG // ZWxhbmQgT3BlcmF0aW9ucyBMaW1pdGVkMSYwJAYDVQQL -// SIG // Ex1UaGFsZXMgVFNTIEVTTjo4NkRGLTRCQkMtOTMzNTEl -// SIG // MCMGA1UEAxMcTWljcm9zb2Z0IFRpbWUtU3RhbXAgU2Vy -// SIG // dmljZaCCEXswggcnMIIFD6ADAgECAhMzAAABtyEnGgei -// SIG // KoZGAAEAAAG3MA0GCSqGSIb3DQEBCwUAMHwxCzAJBgNV -// SIG // BAYTAlVTMRMwEQYDVQQIEwpXYXNoaW5ndG9uMRAwDgYD -// SIG // VQQHEwdSZWRtb25kMR4wHAYDVQQKExVNaWNyb3NvZnQg -// SIG // Q29ycG9yYXRpb24xJjAkBgNVBAMTHU1pY3Jvc29mdCBU -// SIG // aW1lLVN0YW1wIFBDQSAyMDEwMB4XDTIyMDkyMDIwMjIx -// SIG // NFoXDTIzMTIxNDIwMjIxNFowgdIxCzAJBgNVBAYTAlVT -// SIG // MRMwEQYDVQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdS -// SIG // ZWRtb25kMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9y -// SIG // YXRpb24xLTArBgNVBAsTJE1pY3Jvc29mdCBJcmVsYW5k -// SIG // IE9wZXJhdGlvbnMgTGltaXRlZDEmMCQGA1UECxMdVGhh -// SIG // bGVzIFRTUyBFU046ODZERi00QkJDLTkzMzUxJTAjBgNV -// SIG // BAMTHE1pY3Jvc29mdCBUaW1lLVN0YW1wIFNlcnZpY2Uw -// SIG // ggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQDH -// SIG // /c9XUDQTZEwatxyXJcqY0HCSJQwIKb7MOLxyXtOp+d9k -// SIG // ShpHJ9Fe6euTngNcDqDvvDbKKZ4z6VWfPuLP0YXTAjDT -// SIG // 0CV6FnZFjqf96biBLNX8zwYEya3Zs3clGM6wJaCAmMe9 -// SIG // toJnaWzX9z9MuWdoETuPLFiGMmHjSWHIfmXyc16qr7r6 -// SIG // uxvDZvCDEIvGWsr8fuXUhgTOVWBwcQhI1xfRDekMOwOt -// SIG // Eml4yo6I0qVJqWjOBZlXnPfOTzXUofITnj9rS+/NUgWp -// SIG // /dg09fbXzR7/R9BQJhNhxkcIsx5Cf/5gGXUtLOm4v1MD -// SIG // zJLAImuW6ZyAwTqGmHVpFdJVRuazdPpbUc/c45Wh/boX -// SIG // RkyflojSjq+5kZ5c2EAOd37UkiQarBKU8wr+3Ou933b5 -// SIG // bcd8uPD3q+r3OlEeXuJEmbB9eNSIcYZkUdkphGm7mCjk -// SIG // 3Tu0P75bwH0MbhJyfdzS+C2FdSFsPDvsTTuoJY6waQjn -// SIG // zjk0IFiRfjOvyD8rmK3L+/S7u5XOu0vlPTBLtnaINDLi -// SIG // SKGAjIrlWl0ufhZjiYsn4gmZtFSbCee9MvZP7REHumkE -// SIG // fTMQ1tadhdx1nm6JV4/bLu866xJTZRwBL6RYXIKDJ4sp -// SIG // TU4k2cy8FI+0x/N4J7oMNRQhFVYeVPZcDTDy9SBrs/91 -// SIG // PkU/cGQgSWCKxST3epPFLQIDAQABo4IBSTCCAUUwHQYD -// SIG // VR0OBBYEFLPyOT4MNCQFYQ3WAdsjyCPJeLTsMB8GA1Ud -// SIG // IwQYMBaAFJ+nFV0AXmJdg/Tl0mWnG1M1GelyMF8GA1Ud -// SIG // HwRYMFYwVKBSoFCGTmh0dHA6Ly93d3cubWljcm9zb2Z0 -// SIG // LmNvbS9wa2lvcHMvY3JsL01pY3Jvc29mdCUyMFRpbWUt -// SIG // U3RhbXAlMjBQQ0ElMjAyMDEwKDEpLmNybDBsBggrBgEF -// SIG // BQcBAQRgMF4wXAYIKwYBBQUHMAKGUGh0dHA6Ly93d3cu -// SIG // bWljcm9zb2Z0LmNvbS9wa2lvcHMvY2VydHMvTWljcm9z -// SIG // b2Z0JTIwVGltZS1TdGFtcCUyMFBDQSUyMDIwMTAoMSku -// SIG // Y3J0MAwGA1UdEwEB/wQCMAAwFgYDVR0lAQH/BAwwCgYI -// SIG // KwYBBQUHAwgwDgYDVR0PAQH/BAQDAgeAMA0GCSqGSIb3 -// SIG // DQEBCwUAA4ICAQANnWTMm4VcUl02ycxYLzYjAlefwMp+ -// SIG // VLsyVOPeWA7XHn6JXdHoUfUARgYR5gDLddFmAh89lkFM -// SIG // jN5kA+CLB3xC9SRMIBvbRqu9bnJ/XZJywRw99Cb20EYS -// SIG // CnLxUp70QgqVaYpTPBf2GllwvVYm0nn/z1NhlgPtc7Ou -// SIG // FRcSah3rsvCqq0MnxdtEgp3fM0WZeGGAXI4fRtBo4SR1 -// SIG // DwGBMdK/I0lo8otqNlgBw+gqaQbZMJ2Un+wOvAy+DsMA -// SIG // aZhQd/r7m44DcGiAkvn5Blb0Zz9mYJpX52gGrPDMe4oC -// SIG // anIqqtEOgJ/tKx49ZMYrDXSIk8xZbuRsNnoV6S65efZL -// SIG // 7JjjVQCR4Z3acd5/9K++kx/t1jUvVE/Y28UJBPrdrYYn -// SIG // +jCuZKxTJ5ASAgkfw1XFdasPbIOrDBKNMFkl5UGF73EF -// SIG // gOuXlc0pKLMpYSJSGWSy9xh2Q9S0LQI6dgORewtyMODb -// SIG // ewu2gwn6RcaJt2bpUZxSaJZTx297p4/YQPcb0Yip1jAD -// SIG // KUuDGQKIleDtvc1imXVM8oKe4A+FoyitdeSgidKLxHH/ -// SIG // dgJ8DAFzJzbNaNCwrM4Prg5okGbOXke483Ss1Xxdc+23 -// SIG // w2DTwCb5uaUkHW8t8CDrDf7LWIzPhJGj7VM6/DsjMKxv -// SIG // o6RTG7AeHHzerbyHhra7ZJTCRbZxevAnGWeSADCCB3Ew -// SIG // ggVZoAMCAQICEzMAAAAVxedrngKbSZkAAAAAABUwDQYJ -// SIG // KoZIhvcNAQELBQAwgYgxCzAJBgNVBAYTAlVTMRMwEQYD -// SIG // VQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRtb25k -// SIG // MR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24x -// SIG // MjAwBgNVBAMTKU1pY3Jvc29mdCBSb290IENlcnRpZmlj -// SIG // YXRlIEF1dGhvcml0eSAyMDEwMB4XDTIxMDkzMDE4MjIy -// SIG // NVoXDTMwMDkzMDE4MzIyNVowfDELMAkGA1UEBhMCVVMx +// SIG // b3Jwb3JhdGlvbjElMCMGA1UECxMcTWljcm9zb2Z0IEFt +// SIG // ZXJpY2EgT3BlcmF0aW9uczEnMCUGA1UECxMeblNoaWVs +// SIG // ZCBUU1MgRVNOOkEwMDAtMDVFMC1EOTQ3MSUwIwYDVQQD +// SIG // ExxNaWNyb3NvZnQgVGltZS1TdGFtcCBTZXJ2aWNloIIR +// SIG // 6jCCByAwggUIoAMCAQICEzMAAAHQdwiq76MXxt0AAQAA +// SIG // AdAwDQYJKoZIhvcNAQELBQAwfDELMAkGA1UEBhMCVVMx // SIG // EzARBgNVBAgTCldhc2hpbmd0b24xEDAOBgNVBAcTB1Jl // SIG // ZG1vbmQxHjAcBgNVBAoTFU1pY3Jvc29mdCBDb3Jwb3Jh // SIG // dGlvbjEmMCQGA1UEAxMdTWljcm9zb2Z0IFRpbWUtU3Rh -// SIG // bXAgUENBIDIwMTAwggIiMA0GCSqGSIb3DQEBAQUAA4IC -// SIG // DwAwggIKAoICAQDk4aZM57RyIQt5osvXJHm9DtWC0/3u -// SIG // nAcH0qlsTnXIyjVX9gF/bErg4r25PhdgM/9cT8dm95VT -// SIG // cVrifkpa/rg2Z4VGIwy1jRPPdzLAEBjoYH1qUoNEt6aO -// SIG // RmsHFPPFdvWGUNzBRMhxXFExN6AKOG6N7dcP2CZTfDlh -// SIG // AnrEqv1yaa8dq6z2Nr41JmTamDu6GnszrYBbfowQHJ1S -// SIG // /rboYiXcag/PXfT+jlPP1uyFVk3v3byNpOORj7I5LFGc -// SIG // 6XBpDco2LXCOMcg1KL3jtIckw+DJj361VI/c+gVVmG1o -// SIG // O5pGve2krnopN6zL64NF50ZuyjLVwIYwXE8s4mKyzbni -// SIG // jYjklqwBSru+cakXW2dg3viSkR4dPf0gz3N9QZpGdc3E -// SIG // XzTdEonW/aUgfX782Z5F37ZyL9t9X4C626p+Nuw2TPYr -// SIG // bqgSUei/BQOj0XOmTTd0lBw0gg/wEPK3Rxjtp+iZfD9M -// SIG // 269ewvPV2HM9Q07BMzlMjgK8QmguEOqEUUbi0b1qGFph -// SIG // AXPKZ6Je1yh2AuIzGHLXpyDwwvoSCtdjbwzJNmSLW6Cm -// SIG // gyFdXzB0kZSU2LlQ+QuJYfM2BjUYhEfb3BvR/bLUHMVr -// SIG // 9lxSUV0S2yW6r1AFemzFER1y7435UsSFF5PAPBXbGjfH -// SIG // CBUYP3irRbb1Hode2o+eFnJpxq57t7c+auIurQIDAQAB -// SIG // o4IB3TCCAdkwEgYJKwYBBAGCNxUBBAUCAwEAATAjBgkr -// SIG // BgEEAYI3FQIEFgQUKqdS/mTEmr6CkTxGNSnPEP8vBO4w -// SIG // HQYDVR0OBBYEFJ+nFV0AXmJdg/Tl0mWnG1M1GelyMFwG -// SIG // A1UdIARVMFMwUQYMKwYBBAGCN0yDfQEBMEEwPwYIKwYB -// SIG // BQUHAgEWM2h0dHA6Ly93d3cubWljcm9zb2Z0LmNvbS9w -// SIG // a2lvcHMvRG9jcy9SZXBvc2l0b3J5Lmh0bTATBgNVHSUE -// SIG // DDAKBggrBgEFBQcDCDAZBgkrBgEEAYI3FAIEDB4KAFMA -// SIG // dQBiAEMAQTALBgNVHQ8EBAMCAYYwDwYDVR0TAQH/BAUw -// SIG // AwEB/zAfBgNVHSMEGDAWgBTV9lbLj+iiXGJo0T2UkFvX -// SIG // zpoYxDBWBgNVHR8ETzBNMEugSaBHhkVodHRwOi8vY3Js -// SIG // Lm1pY3Jvc29mdC5jb20vcGtpL2NybC9wcm9kdWN0cy9N -// SIG // aWNSb29DZXJBdXRfMjAxMC0wNi0yMy5jcmwwWgYIKwYB -// SIG // BQUHAQEETjBMMEoGCCsGAQUFBzAChj5odHRwOi8vd3d3 -// SIG // Lm1pY3Jvc29mdC5jb20vcGtpL2NlcnRzL01pY1Jvb0Nl -// SIG // ckF1dF8yMDEwLTA2LTIzLmNydDANBgkqhkiG9w0BAQsF -// SIG // AAOCAgEAnVV9/Cqt4SwfZwExJFvhnnJL/Klv6lwUtj5O -// SIG // R2R4sQaTlz0xM7U518JxNj/aZGx80HU5bbsPMeTCj/ts -// SIG // 0aGUGCLu6WZnOlNN3Zi6th542DYunKmCVgADsAW+iehp -// SIG // 4LoJ7nvfam++Kctu2D9IdQHZGN5tggz1bSNU5HhTdSRX -// SIG // ud2f8449xvNo32X2pFaq95W2KFUn0CS9QKC/GbYSEhFd -// SIG // PSfgQJY4rPf5KYnDvBewVIVCs/wMnosZiefwC2qBwoEZ -// SIG // QhlSdYo2wh3DYXMuLGt7bj8sCXgU6ZGyqVvfSaN0DLzs -// SIG // kYDSPeZKPmY7T7uG+jIa2Zb0j/aRAfbOxnT99kxybxCr -// SIG // dTDFNLB62FD+CljdQDzHVG2dY3RILLFORy3BFARxv2T5 -// SIG // JL5zbcqOCb2zAVdJVGTZc9d/HltEAY5aGZFrDZ+kKNxn -// SIG // GSgkujhLmm77IVRrakURR6nxt67I6IleT53S0Ex2tVdU -// SIG // CbFpAUR+fKFhbHP+CrvsQWY9af3LwUFJfn6Tvsv4O+S3 -// SIG // Fb+0zj6lMVGEvL8CwYKiexcdFYmNcP7ntdAoGokLjzba -// SIG // ukz5m/8K6TT4JDVnK+ANuOaMmdbhIurwJ0I9JZTmdHRb -// SIG // atGePu1+oDEzfbzL6Xu/OHBE0ZDxyKs6ijoIYn/ZcGNT -// SIG // TY3ugm2lBRDBcQZqELQdVTNYs6FwZvKhggLXMIICQAIB -// SIG // ATCCAQChgdikgdUwgdIxCzAJBgNVBAYTAlVTMRMwEQYD -// SIG // VQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRtb25k -// SIG // MR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24x -// SIG // LTArBgNVBAsTJE1pY3Jvc29mdCBJcmVsYW5kIE9wZXJh -// SIG // dGlvbnMgTGltaXRlZDEmMCQGA1UECxMdVGhhbGVzIFRT -// SIG // UyBFU046ODZERi00QkJDLTkzMzUxJTAjBgNVBAMTHE1p -// SIG // Y3Jvc29mdCBUaW1lLVN0YW1wIFNlcnZpY2WiIwoBATAH -// SIG // BgUrDgMCGgMVAMhnQRjDmzg5bBgWZklF9qFoH6nGoIGD -// SIG // MIGApH4wfDELMAkGA1UEBhMCVVMxEzARBgNVBAgTCldh -// SIG // c2hpbmd0b24xEDAOBgNVBAcTB1JlZG1vbmQxHjAcBgNV -// SIG // BAoTFU1pY3Jvc29mdCBDb3Jwb3JhdGlvbjEmMCQGA1UE -// SIG // AxMdTWljcm9zb2Z0IFRpbWUtU3RhbXAgUENBIDIwMTAw -// SIG // DQYJKoZIhvcNAQEFBQACBQDomyXhMCIYDzIwMjMwODMx -// SIG // MjI0NDQ5WhgPMjAyMzA5MDEyMjQ0NDlaMHcwPQYKKwYB -// SIG // BAGEWQoEATEvMC0wCgIFAOibJeECAQAwCgIBAAICBFsC -// SIG // Af8wBwIBAAICEVUwCgIFAOicd2ECAQAwNgYKKwYBBAGE -// SIG // WQoEAjEoMCYwDAYKKwYBBAGEWQoDAqAKMAgCAQACAweh -// SIG // IKEKMAgCAQACAwGGoDANBgkqhkiG9w0BAQUFAAOBgQAV -// SIG // Q/VftQWPuz4chBpllpVy/veSG62A4+OsZ7TxJXi7bZxP -// SIG // KbdwDQj7FwayDITGMBUwwlKZCeEib1xzZirwpgpchHkA -// SIG // FXQogRNzNTZZ6gjm9yoL451idB/EAnV6A5C71Oz6cllm -// SIG // Z49cGxtgQbz5rad+kRr41DsZnB3CUZjrUZxPODGCBA0w -// SIG // ggQJAgEBMIGTMHwxCzAJBgNVBAYTAlVTMRMwEQYDVQQI -// SIG // EwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRtb25kMR4w -// SIG // HAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xJjAk -// SIG // BgNVBAMTHU1pY3Jvc29mdCBUaW1lLVN0YW1wIFBDQSAy -// SIG // MDEwAhMzAAABtyEnGgeiKoZGAAEAAAG3MA0GCWCGSAFl -// SIG // AwQCAQUAoIIBSjAaBgkqhkiG9w0BCQMxDQYLKoZIhvcN -// SIG // AQkQAQQwLwYJKoZIhvcNAQkEMSIEILZCgZdI3RZTnUnP -// SIG // s+tAOSsRtnkJrbw1fmYFv9hamhUyMIH6BgsqhkiG9w0B -// SIG // CRACLzGB6jCB5zCB5DCBvQQgbCd407Ie2i/ITXomBi+f -// SIG // /CAZ/M1H6+/0O65DPInNcEEwgZgwgYCkfjB8MQswCQYD -// SIG // VQQGEwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4G -// SIG // A1UEBxMHUmVkbW9uZDEeMBwGA1UEChMVTWljcm9zb2Z0 -// SIG // IENvcnBvcmF0aW9uMSYwJAYDVQQDEx1NaWNyb3NvZnQg -// SIG // VGltZS1TdGFtcCBQQ0EgMjAxMAITMwAAAbchJxoHoiqG -// SIG // RgABAAABtzAiBCBHM8CJyFUSCxXOJANZro6JUgE/qAQH -// SIG // aolXifgXofDV6jANBgkqhkiG9w0BAQsFAASCAgC/WmiO -// SIG // BGpyzHB4U8wBxUUVZhEzXWpPqcctxCTQTNQaz8pKn4zK -// SIG // zCij69w72Id0y9ZO4aHIuzIJyITrAZdpikOZAKBd++9/ -// SIG // FEKJVoPGkVP6990rL1gpt8KWpzuaqHHTCfYUeb5vfj9X -// SIG // yE0I4qLgxjgA2h70anBKbeoRdhqyaG6NtefdsENoBRbz -// SIG // hSShSm90ty87/9NBFD0tAMOxTsUuni7acUCBYXZqx5nL -// SIG // 9Jg7uKwmkoxh+Y9czyTrFPA5uunGw+pwUaRspH0ztWfJ -// SIG // o91Q2QycUG/V9WjHzUbkVFAl9VH2WOd7TzsvHHydpkgW -// SIG // +sNjiypExXKi2zfBnPPFN5cXxdrh4wfsDf16SthELK4g -// SIG // WWTsJQMd3wCHBF39ECr1qJIR37QZ+AJoizof7Eeu1BQ6 -// SIG // XQANPdOTVbKNio7eFxNMaWmW9hN3gISDG+cha8s+qv1h -// SIG // cJZpp74uDrIJpobqZpa9NwBfbR300vQ/LxoEM9pbPX0+ -// SIG // KIElLE7b+aQ/ret59k9ZMpCOrcqOh9KgHY5/Zupr/LeU -// SIG // O/1sK1DJAwg6eMHTnLdkN5XcmWwYy/UjZ3dc7PxHK5Pk -// SIG // rmv0/CkLOQlVy9bESzMd9RfgTDNwp8kUjRDv+V30Owt4 -// SIG // oeIjpzG5b7+/vWnOvJ4BlabU0PQPzKgzmrmKkUxjA+Ws -// SIG // zhuTzkJwkymikmsPXg== +// SIG // bXAgUENBIDIwMTAwHhcNMjMwNTI1MTkxMjE0WhcNMjQw +// SIG // MjAxMTkxMjE0WjCByzELMAkGA1UEBhMCVVMxEzARBgNV +// SIG // BAgTCldhc2hpbmd0b24xEDAOBgNVBAcTB1JlZG1vbmQx +// SIG // HjAcBgNVBAoTFU1pY3Jvc29mdCBDb3Jwb3JhdGlvbjEl +// SIG // MCMGA1UECxMcTWljcm9zb2Z0IEFtZXJpY2EgT3BlcmF0 +// SIG // aW9uczEnMCUGA1UECxMeblNoaWVsZCBUU1MgRVNOOkEw +// SIG // MDAtMDVFMC1EOTQ3MSUwIwYDVQQDExxNaWNyb3NvZnQg +// SIG // VGltZS1TdGFtcCBTZXJ2aWNlMIICIjANBgkqhkiG9w0B +// SIG // AQEFAAOCAg8AMIICCgKCAgEA3zJX59+X7zNFwFEpiOao +// SIG // htFMT4tuR5EsgYM5N86WDt9dXdThBBc9EKQCtt7NXSRa +// SIG // 4weYA/kjMOc+hMMQuAq11PSmkOFjR6h64Vn7aYKNzJCX +// SIG // sfX65jvTJXVH41BuerCFumFRemI1/va09SQ3Qgx26OZ2 +// SIG // YmrDIoBimsBm9h6g+/5I0Ueu0b1Ye0OJ2rQFbuOmX+TC +// SIG // 74kdMTeXDRttMcAcILbWmBJOV5VC2gR+Tp189nlqCMfk +// SIG // owzuwbeQbgAVmPEr5kUHwck9nKaRM047f37NMaeAdXAB +// SIG // 1Q8JRsGbr/UX3N53XcYBaygPDFh2yRdPmllFGCAUfBct +// SIG // oLhVR6B3js3uyLG8r0a2sf//N4GKqPHOWf9f7u5Iy3E4 +// SIG // IqYsmfFxEbCxBAieaMdQQS2OgI5m4AMw3TZdi3no/qiG +// SIG // 3Qa/0lLyhAvl8OMYxTDk1FVilnprdpIcJ3VHwTUezc7t +// SIG // c/S9Fr+0wGP7/r+qTYQHqITzAhSXPmpOrjA/Eyks1hY8 +// SIG // OWgA5Jg/ZhrgvOsr0ipCCODGss6FHbHk9J35PGNHz47X +// SIG // cNlp3o5esyx7mF8HA2rtjtQzLqInnTVY0xd+1BJmE/qM +// SIG // QvzhV1BjwxELfbc4G0fYPBy7VHxHljrDhA+cYG+a8Mn7 +// SIG // yLLOx/3HRxXCIiHM80IGJ7C8hBnqaGQ5CoUjEeXggein +// SIG // L/0CAwEAAaOCAUkwggFFMB0GA1UdDgQWBBQz4QGFktKA +// SIG // PpTrSE34ybcpdJJ0UTAfBgNVHSMEGDAWgBSfpxVdAF5i +// SIG // XYP05dJlpxtTNRnpcjBfBgNVHR8EWDBWMFSgUqBQhk5o +// SIG // dHRwOi8vd3d3Lm1pY3Jvc29mdC5jb20vcGtpb3BzL2Ny +// SIG // bC9NaWNyb3NvZnQlMjBUaW1lLVN0YW1wJTIwUENBJTIw +// SIG // MjAxMCgxKS5jcmwwbAYIKwYBBQUHAQEEYDBeMFwGCCsG +// SIG // AQUFBzAChlBodHRwOi8vd3d3Lm1pY3Jvc29mdC5jb20v +// SIG // cGtpb3BzL2NlcnRzL01pY3Jvc29mdCUyMFRpbWUtU3Rh +// SIG // bXAlMjBQQ0ElMjAyMDEwKDEpLmNydDAMBgNVHRMBAf8E +// SIG // AjAAMBYGA1UdJQEB/wQMMAoGCCsGAQUFBwMIMA4GA1Ud +// SIG // DwEB/wQEAwIHgDANBgkqhkiG9w0BAQsFAAOCAgEAl4fn +// SIG // JApGWgNOkjVvqsbUvYB0KeMexvoHYpJ4CiLRK/KLZFyK +// SIG // 5lj2K2q0VgZWPdZahoopR8iJWd4jQVG2jRJmigBjGeWH +// SIG // EuyGVCj2qtY1NJrMpfvKINLfQv2duvmrcd77IR6xULko +// SIG // MEx2Vac7+5PAmJwWKMXYSNbhoah+feZqi77TLMRDf9bK +// SIG // O1Pm91Oiwq8ubsMHM+fo/Do9BlF92/omYPgLNMUzek9E +// SIG // GvATXnPy8HMqmDRGjJFtlQCq5ob1h/Dgg03F4DjZ5wAU +// SIG // BwX1yv3ywGxxRktVzTra+tv4mhwRgJKwhpegYvD38LOn +// SIG // 7PsPrBPa94V/VYNILETKB0bjGol7KxphrLmJy59wME4L +// SIG // jGrcPUfFObybVkpbtQhTuT9CxL0EIjGddrEErEAJDQ07 +// SIG // Pa041TY4yFIKGelzzMZXDyA3I8cPG33m+MuMAMTNkUaF +// SIG // nMaZMfuiCH9i/m+4Cx7QcVwlieWzFu1sFAti5bW7q1MA +// SIG // b9EoI6Q7WxKsP7g4FgXqwk/mbctzXPeu4hmkI8mEB+h/ +// SIG // 4fV3PLJptp+lY8kkcdrMJ1t4a+kMet1P8WPRy+hTYaxo +// SIG // hRA+2USq58L717zFUFCBJAexlBHjeoXmPIBy7dIy1d8s +// SIG // w4kAPEfKeWBoBgFbfTBMIACTWNYh7x//L84SUmRTZB/L +// SIG // L0c7Tv4t07yq42/GccIwggdxMIIFWaADAgECAhMzAAAA +// SIG // FcXna54Cm0mZAAAAAAAVMA0GCSqGSIb3DQEBCwUAMIGI +// SIG // MQswCQYDVQQGEwJVUzETMBEGA1UECBMKV2FzaGluZ3Rv +// SIG // bjEQMA4GA1UEBxMHUmVkbW9uZDEeMBwGA1UEChMVTWlj +// SIG // cm9zb2Z0IENvcnBvcmF0aW9uMTIwMAYDVQQDEylNaWNy +// SIG // b3NvZnQgUm9vdCBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkg +// SIG // MjAxMDAeFw0yMTA5MzAxODIyMjVaFw0zMDA5MzAxODMy +// SIG // MjVaMHwxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpXYXNo +// SIG // aW5ndG9uMRAwDgYDVQQHEwdSZWRtb25kMR4wHAYDVQQK +// SIG // ExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xJjAkBgNVBAMT +// SIG // HU1pY3Jvc29mdCBUaW1lLVN0YW1wIFBDQSAyMDEwMIIC +// SIG // IjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEA5OGm +// SIG // TOe0ciELeaLL1yR5vQ7VgtP97pwHB9KpbE51yMo1V/YB +// SIG // f2xK4OK9uT4XYDP/XE/HZveVU3Fa4n5KWv64NmeFRiMM +// SIG // tY0Tz3cywBAY6GB9alKDRLemjkZrBxTzxXb1hlDcwUTI +// SIG // cVxRMTegCjhuje3XD9gmU3w5YQJ6xKr9cmmvHaus9ja+ +// SIG // NSZk2pg7uhp7M62AW36MEBydUv626GIl3GoPz130/o5T +// SIG // z9bshVZN7928jaTjkY+yOSxRnOlwaQ3KNi1wjjHINSi9 +// SIG // 47SHJMPgyY9+tVSP3PoFVZhtaDuaRr3tpK56KTesy+uD +// SIG // RedGbsoy1cCGMFxPLOJiss254o2I5JasAUq7vnGpF1tn +// SIG // YN74kpEeHT39IM9zfUGaRnXNxF803RKJ1v2lIH1+/Nme +// SIG // Rd+2ci/bfV+AutuqfjbsNkz2K26oElHovwUDo9Fzpk03 +// SIG // dJQcNIIP8BDyt0cY7afomXw/TNuvXsLz1dhzPUNOwTM5 +// SIG // TI4CvEJoLhDqhFFG4tG9ahhaYQFzymeiXtcodgLiMxhy +// SIG // 16cg8ML6EgrXY28MyTZki1ugpoMhXV8wdJGUlNi5UPkL +// SIG // iWHzNgY1GIRH29wb0f2y1BzFa/ZcUlFdEtsluq9QBXps +// SIG // xREdcu+N+VLEhReTwDwV2xo3xwgVGD94q0W29R6HXtqP +// SIG // nhZyacaue7e3PmriLq0CAwEAAaOCAd0wggHZMBIGCSsG +// SIG // AQQBgjcVAQQFAgMBAAEwIwYJKwYBBAGCNxUCBBYEFCqn +// SIG // Uv5kxJq+gpE8RjUpzxD/LwTuMB0GA1UdDgQWBBSfpxVd +// SIG // AF5iXYP05dJlpxtTNRnpcjBcBgNVHSAEVTBTMFEGDCsG +// SIG // AQQBgjdMg30BATBBMD8GCCsGAQUFBwIBFjNodHRwOi8v +// SIG // d3d3Lm1pY3Jvc29mdC5jb20vcGtpb3BzL0RvY3MvUmVw +// SIG // b3NpdG9yeS5odG0wEwYDVR0lBAwwCgYIKwYBBQUHAwgw +// SIG // GQYJKwYBBAGCNxQCBAweCgBTAHUAYgBDAEEwCwYDVR0P +// SIG // BAQDAgGGMA8GA1UdEwEB/wQFMAMBAf8wHwYDVR0jBBgw +// SIG // FoAU1fZWy4/oolxiaNE9lJBb186aGMQwVgYDVR0fBE8w +// SIG // TTBLoEmgR4ZFaHR0cDovL2NybC5taWNyb3NvZnQuY29t +// SIG // L3BraS9jcmwvcHJvZHVjdHMvTWljUm9vQ2VyQXV0XzIw +// SIG // MTAtMDYtMjMuY3JsMFoGCCsGAQUFBwEBBE4wTDBKBggr +// SIG // BgEFBQcwAoY+aHR0cDovL3d3dy5taWNyb3NvZnQuY29t +// SIG // L3BraS9jZXJ0cy9NaWNSb29DZXJBdXRfMjAxMC0wNi0y +// SIG // My5jcnQwDQYJKoZIhvcNAQELBQADggIBAJ1VffwqreEs +// SIG // H2cBMSRb4Z5yS/ypb+pcFLY+TkdkeLEGk5c9MTO1OdfC +// SIG // cTY/2mRsfNB1OW27DzHkwo/7bNGhlBgi7ulmZzpTTd2Y +// SIG // urYeeNg2LpypglYAA7AFvonoaeC6Ce5732pvvinLbtg/ +// SIG // SHUB2RjebYIM9W0jVOR4U3UkV7ndn/OOPcbzaN9l9qRW +// SIG // qveVtihVJ9AkvUCgvxm2EhIRXT0n4ECWOKz3+SmJw7wX +// SIG // sFSFQrP8DJ6LGYnn8AtqgcKBGUIZUnWKNsIdw2FzLixr +// SIG // e24/LAl4FOmRsqlb30mjdAy87JGA0j3mSj5mO0+7hvoy +// SIG // GtmW9I/2kQH2zsZ0/fZMcm8Qq3UwxTSwethQ/gpY3UA8 +// SIG // x1RtnWN0SCyxTkctwRQEcb9k+SS+c23Kjgm9swFXSVRk +// SIG // 2XPXfx5bRAGOWhmRaw2fpCjcZxkoJLo4S5pu+yFUa2pF +// SIG // EUep8beuyOiJXk+d0tBMdrVXVAmxaQFEfnyhYWxz/gq7 +// SIG // 7EFmPWn9y8FBSX5+k77L+DvktxW/tM4+pTFRhLy/AsGC +// SIG // onsXHRWJjXD+57XQKBqJC4822rpM+Zv/Cuk0+CQ1Zyvg +// SIG // DbjmjJnW4SLq8CdCPSWU5nR0W2rRnj7tfqAxM328y+l7 +// SIG // vzhwRNGQ8cirOoo6CGJ/2XBjU02N7oJtpQUQwXEGahC0 +// SIG // HVUzWLOhcGbyoYIDTTCCAjUCAQEwgfmhgdGkgc4wgcsx +// SIG // CzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpXYXNoaW5ndG9u +// SIG // MRAwDgYDVQQHEwdSZWRtb25kMR4wHAYDVQQKExVNaWNy +// SIG // b3NvZnQgQ29ycG9yYXRpb24xJTAjBgNVBAsTHE1pY3Jv +// SIG // c29mdCBBbWVyaWNhIE9wZXJhdGlvbnMxJzAlBgNVBAsT +// SIG // Hm5TaGllbGQgVFNTIEVTTjpBMDAwLTA1RTAtRDk0NzEl +// SIG // MCMGA1UEAxMcTWljcm9zb2Z0IFRpbWUtU3RhbXAgU2Vy +// SIG // dmljZaIjCgEBMAcGBSsOAwIaAxUAvLfIU/CilF/dZVOR +// SIG // akT/Qn7vTImggYMwgYCkfjB8MQswCQYDVQQGEwJVUzET +// SIG // MBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVk +// SIG // bW9uZDEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0 +// SIG // aW9uMSYwJAYDVQQDEx1NaWNyb3NvZnQgVGltZS1TdGFt +// SIG // cCBQQ0EgMjAxMDANBgkqhkiG9w0BAQsFAAIFAOkRFtcw +// SIG // IhgPMjAyMzExMjkwMTQ4MDdaGA8yMDIzMTEzMDAxNDgw +// SIG // N1owdDA6BgorBgEEAYRZCgQBMSwwKjAKAgUA6REW1wIB +// SIG // ADAHAgEAAgIVNTAHAgEAAgITvDAKAgUA6RJoVwIBADA2 +// SIG // BgorBgEEAYRZCgQCMSgwJjAMBgorBgEEAYRZCgMCoAow +// SIG // CAIBAAIDB6EgoQowCAIBAAIDAYagMA0GCSqGSIb3DQEB +// SIG // CwUAA4IBAQBDRkay9YCY6kJnV49gl7qHdAW9dEHIdQJ7 +// SIG // 8yScGB6ENXSC13GxUFyytoxGBQuLs+Do9DZQSOP/HfOq +// SIG // w2K4SIOd4ewrz11vl9nl2lgufCXAWW81VM4r0tFNbjA0 +// SIG // yD7gRQRBuEGiAqS/Vfa7ECvQFT3fRsQzK5X4u755LI0e +// SIG // +XskhL+1sOYwu5DPyUzbMKWilqtTRJBmQr/o7Cy5WqQj +// SIG // kLyW2jR4B8HEoKwozp/j8/RViWSSjRpwa6JVyglX6eVR +// SIG // Qwd9K9+7ry7q6q+UEB89aV7eZw+BtGsnJXK8QMpXhOm9 +// SIG // 2ksvWCSb6T56pCKmyOh5qljtvtwH0Vcl3zqxoGLk3YPG +// SIG // MYIEDTCCBAkCAQEwgZMwfDELMAkGA1UEBhMCVVMxEzAR +// SIG // BgNVBAgTCldhc2hpbmd0b24xEDAOBgNVBAcTB1JlZG1v +// SIG // bmQxHjAcBgNVBAoTFU1pY3Jvc29mdCBDb3Jwb3JhdGlv +// SIG // bjEmMCQGA1UEAxMdTWljcm9zb2Z0IFRpbWUtU3RhbXAg +// SIG // UENBIDIwMTACEzMAAAHQdwiq76MXxt0AAQAAAdAwDQYJ +// SIG // YIZIAWUDBAIBBQCgggFKMBoGCSqGSIb3DQEJAzENBgsq +// SIG // hkiG9w0BCRABBDAvBgkqhkiG9w0BCQQxIgQgsygGDo1N +// SIG // QTgwixwnk3X7lr4fEQUSawZLdl+M2Eq4GN4wgfoGCyqG +// SIG // SIb3DQEJEAIvMYHqMIHnMIHkMIG9BCAIlUAGX7TT/zHd +// SIG // RNmMPnwV2vcOn45k2eVgHq600j8J1zCBmDCBgKR+MHwx +// SIG // CzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpXYXNoaW5ndG9u +// SIG // MRAwDgYDVQQHEwdSZWRtb25kMR4wHAYDVQQKExVNaWNy +// SIG // b3NvZnQgQ29ycG9yYXRpb24xJjAkBgNVBAMTHU1pY3Jv +// SIG // c29mdCBUaW1lLVN0YW1wIFBDQSAyMDEwAhMzAAAB0HcI +// SIG // qu+jF8bdAAEAAAHQMCIEIJIeQdfA4XjI5/3kM0OGSarc +// SIG // drYw3rRohew8uLY7gBZSMA0GCSqGSIb3DQEBCwUABIIC +// SIG // AEB1eCPx7oSkWVD/gJDRN3f6QS/1B4Cg6YJ3wuB6H3si +// SIG // 0G6esnx2UWYfPxhqmvqnebeRPY9yHvAuMNhEqOa0z1xP +// SIG // /ezMKbdyZZ1KSnpf+G30pg7OvBkxoBT+y0w4TuXct76M +// SIG // R8AhK40oE6Lcom5sbvRvimzKlh3vgQkZWknZ5zqUsidp +// SIG // O8+TBvf9vQG1StTehatPSf2sH/bAwcw20gRij6ozBD2D +// SIG // l7oi0W5UhaO5GrsdLe14Y8POi2aqY+fPZlRtM5ocAJ2a +// SIG // nfyCChsYbzcM1+lgBEJMu2qSsERBeq9lbVFCJ7NMwH/N +// SIG // a/ztGKzpDIJz81dhqX/GgGmFzEGc1/1jMkLLbWYoKgaa +// SIG // e6ZIAbgkmW4ezZ6hU2GZhcetbId1rJMmtaZw/yos3goK +// SIG // Shrmfk/OBTUMs9wh2NqrSVDD8YHPPKO9Uh9igKw8TXXD +// SIG // Ld2LM20WU7t52keJNmptgb6//7mOc2f4jhX6gpQTYAmb +// SIG // iBco7ZsIPLnBEXeo3tqZY3x/9eJ3yWiXwOreceKo0xMN +// SIG // Om+ijo4ghC9Ud0aY8hTLm6NrmmbwR5KjtFBMRs0+jNIP +// SIG // Asg7HDJ2NpLpA08AG+1XOSKghGxm+UQMbuNFMeLlK+QX +// SIG // 55chb2/UprBeGk83G+GHOM7Hr4fuUN1JAUM3zwt3GpXo +// SIG // 0BNZKjbAXaYgx1eeh6dNirnW // SIG // End signature block @@ -9006,6 +9009,72 @@ var Page = /** @class */ (function () { this.background = background; this.wallpaper = wallpaper; } + /** + * Get insights for report page + * + * ```javascript + * page.getSmartNarrativeInsights(); + * ``` + * + * @returns {Promise} + */ + Page.prototype.getSmartNarrativeInsights = function () { + return __awaiter(this, void 0, void 0, function () { + var response, response_1; + return __generator(this, function (_a) { + switch (_a.label) { + case 0: + if ((0, util_1.isRDLEmbed)(this.report.config.embedUrl)) { + return [2 /*return*/, Promise.reject(errors_1.APINotSupportedForRDLError)]; + } + _a.label = 1; + case 1: + _a.trys.push([1, 3, , 4]); + return [4 /*yield*/, this.report.service.hpm.get("/report/pages/".concat(this.name, "/smartNarrativeInsights"), { uid: this.report.config.uniqueId }, this.report.iframe.contentWindow)]; + case 2: + response = _a.sent(); + return [2 /*return*/, response.body]; + case 3: + response_1 = _a.sent(); + throw response_1.body; + case 4: return [2 /*return*/]; + } + }); + }); + }; + /** + * Get insights for report page + * + * ```javascript + * page.getSmartNarrativeInsights() + * ``` + * + * @returns {Promise} + */ + Page.prototype.getSmartNarrativeInsights = function () { + return __awaiter(this, void 0, void 0, function () { + var response, response_1; + return __generator(this, function (_a) { + switch (_a.label) { + case 0: + if ((0, util_1.isRDLEmbed)(this.report.config.embedUrl)) { + return [2 /*return*/, Promise.reject(errors_1.APINotSupportedForRDLError)]; + } + _a.label = 1; + case 1: + _a.trys.push([1, 3, , 4]); + return [4 /*yield*/, this.report.service.hpm.get("/report/pages/".concat(this.name, "/smartNarrativeInsights"), { uid: this.report.config.uniqueId }, this.report.iframe.contentWindow)]; + case 2: + response = _a.sent(); + return [2 /*return*/, response.body]; + case 3: + response_1 = _a.sent(); + throw response_1.body; + case 4: return [2 /*return*/]; + } + }); + }); + }; /** * Gets all page level filters within the report. * @@ -9018,7 +9087,7 @@ var Page = /** @class */ (function () { */ Page.prototype.getFilters = function () { return __awaiter(this, void 0, void 0, function () { - var response, response_1; + var response, response_2; return __generator(this, function (_a) { switch (_a.label) { case 0: @@ -9028,8 +9097,8 @@ var Page = /** @class */ (function () { response = _a.sent(); return [2 /*return*/, response.body]; case 2: - response_1 = _a.sent(); - throw response_1.body; + response_2 = _a.sent(); + throw response_2.body; case 3: return [2 /*return*/]; } }); @@ -9048,7 +9117,7 @@ var Page = /** @class */ (function () { */ Page.prototype.updateFilters = function (operation, filters) { return __awaiter(this, void 0, void 0, function () { - var updateFiltersRequest, response_2; + var updateFiltersRequest, response_3; return __generator(this, function (_a) { switch (_a.label) { case 0: @@ -9062,8 +9131,8 @@ var Page = /** @class */ (function () { return [4 /*yield*/, this.report.service.hpm.post("/report/pages/".concat(this.name, "/filters"), updateFiltersRequest, { uid: this.report.config.uniqueId }, this.report.iframe.contentWindow)]; case 2: return [2 /*return*/, _a.sent()]; case 3: - response_2 = _a.sent(); - throw response_2.body; + response_3 = _a.sent(); + throw response_3.body; case 4: return [2 /*return*/]; } }); @@ -9101,7 +9170,7 @@ var Page = /** @class */ (function () { */ Page.prototype.setFilters = function (filters) { return __awaiter(this, void 0, void 0, function () { - var response_3; + var response_4; return __generator(this, function (_a) { switch (_a.label) { case 0: @@ -9109,8 +9178,8 @@ var Page = /** @class */ (function () { return [4 /*yield*/, this.report.service.hpm.put("/report/pages/".concat(this.name, "/filters"), filters, { uid: this.report.config.uniqueId }, this.report.iframe.contentWindow)]; case 1: return [2 /*return*/, _a.sent()]; case 2: - response_3 = _a.sent(); - throw response_3.body; + response_4 = _a.sent(); + throw response_4.body; case 3: return [2 /*return*/]; } }); @@ -9128,7 +9197,7 @@ var Page = /** @class */ (function () { */ Page.prototype.delete = function () { return __awaiter(this, void 0, void 0, function () { - var response, response_4; + var response, response_5; return __generator(this, function (_a) { switch (_a.label) { case 0: @@ -9138,8 +9207,8 @@ var Page = /** @class */ (function () { response = _a.sent(); return [2 /*return*/, response.body]; case 2: - response_4 = _a.sent(); - throw response_4.body; + response_5 = _a.sent(); + throw response_5.body; case 3: return [2 /*return*/]; } }); @@ -9156,7 +9225,7 @@ var Page = /** @class */ (function () { */ Page.prototype.setActive = function () { return __awaiter(this, void 0, void 0, function () { - var page, response_5; + var page, response_6; return __generator(this, function (_a) { switch (_a.label) { case 0: @@ -9171,8 +9240,8 @@ var Page = /** @class */ (function () { return [4 /*yield*/, this.report.service.hpm.put('/report/pages/active', page, { uid: this.report.config.uniqueId }, this.report.iframe.contentWindow)]; case 2: return [2 /*return*/, _a.sent()]; case 3: - response_5 = _a.sent(); - throw response_5.body; + response_6 = _a.sent(); + throw response_6.body; case 4: return [2 /*return*/]; } }); @@ -9189,7 +9258,7 @@ var Page = /** @class */ (function () { */ Page.prototype.setDisplayName = function (displayName) { return __awaiter(this, void 0, void 0, function () { - var page, response_6; + var page, response_7; return __generator(this, function (_a) { switch (_a.label) { case 0: @@ -9203,8 +9272,8 @@ var Page = /** @class */ (function () { return [4 /*yield*/, this.report.service.hpm.put("/report/pages/".concat(this.name, "/name"), page, { uid: this.report.config.uniqueId }, this.report.iframe.contentWindow)]; case 2: return [2 /*return*/, _a.sent()]; case 3: - response_6 = _a.sent(); - throw response_6.body; + response_7 = _a.sent(); + throw response_7.body; case 4: return [2 /*return*/]; } }); @@ -9222,7 +9291,7 @@ var Page = /** @class */ (function () { */ Page.prototype.getVisuals = function () { return __awaiter(this, void 0, void 0, function () { - var response, response_7; + var response, response_8; var _this = this; return __generator(this, function (_a) { switch (_a.label) { @@ -9239,8 +9308,8 @@ var Page = /** @class */ (function () { return [2 /*return*/, response.body .map(function (visual) { return new visualDescriptor_1.VisualDescriptor(_this, visual.name, visual.title, visual.type, visual.layout); })]; case 3: - response_7 = _a.sent(); - throw response_7.body; + response_8 = _a.sent(); + throw response_8.body; case 4: return [2 /*return*/]; } }); @@ -9261,7 +9330,7 @@ var Page = /** @class */ (function () { */ Page.prototype.getVisualByName = function (visualName) { return __awaiter(this, void 0, void 0, function () { - var response, visual, response_8; + var response, visual, response_9; return __generator(this, function (_a) { switch (_a.label) { case 0: @@ -9280,8 +9349,8 @@ var Page = /** @class */ (function () { } return [2 /*return*/, new visualDescriptor_1.VisualDescriptor(this, visual.name, visual.title, visual.type, visual.layout)]; case 3: - response_8 = _a.sent(); - throw response_8.body; + response_9 = _a.sent(); + throw response_9.body; case 4: return [2 /*return*/]; } }); @@ -9395,7 +9464,7 @@ var Page = /** @class */ (function () { */ Page.prototype.getSlicers = function () { return __awaiter(this, void 0, void 0, function () { - var response, response_9; + var response, response_10; var _this = this; return __generator(this, function (_a) { switch (_a.label) { @@ -9413,8 +9482,8 @@ var Page = /** @class */ (function () { .filter(function (visual) { return visual.type === 'slicer'; }) .map(function (visual) { return new visualDescriptor_1.VisualDescriptor(_this, visual.name, visual.title, visual.type, visual.layout); })]; case 3: - response_9 = _a.sent(); - throw response_9.body; + response_10 = _a.sent(); + throw response_10.body; case 4: return [2 /*return*/]; } }); @@ -9432,7 +9501,7 @@ var Page = /** @class */ (function () { */ Page.prototype.hasLayout = function (layoutType) { return __awaiter(this, void 0, void 0, function () { - var layoutTypeEnum, response, response_10; + var layoutTypeEnum, response, response_11; return __generator(this, function (_a) { switch (_a.label) { case 0: @@ -9448,8 +9517,8 @@ var Page = /** @class */ (function () { response = _a.sent(); return [2 /*return*/, response.body]; case 3: - response_10 = _a.sent(); - throw response_10.body; + response_11 = _a.sent(); + throw response_11.body; case 4: return [2 /*return*/]; } }); @@ -9984,8 +10053,8 @@ var Report = /** @class */ (function (_super) { response = _a.sent(); return [2 /*return*/, response.body]; case 2: - response_1 = _a.sent(); - throw response_1.body; + response_2 = _a.sent(); + throw response_2.body; case 3: return [2 /*return*/]; } }); @@ -13157,6 +13226,62 @@ var VisualDescriptor = /** @class */ (function () { }); }); }; + /** + * Get insights for single visual + * + * ```javascript + * visual.getSmartNarrativeInsights(); + * ``` + * + * @returns {Promise} + */ + VisualDescriptor.prototype.getSmartNarrativeInsights = function () { + return __awaiter(this, void 0, void 0, function () { + var response, response_9; + return __generator(this, function (_a) { + switch (_a.label) { + case 0: + _a.trys.push([0, 2, , 3]); + return [4 /*yield*/, this.page.report.service.hpm.get("/report/pages/".concat(this.page.name, "/visuals/").concat(this.name, "/smartNarrativeInsights"), { uid: this.page.report.config.uniqueId }, this.page.report.iframe.contentWindow)]; + case 1: + response = _a.sent(); + return [2 /*return*/, response.body]; + case 2: + response_9 = _a.sent(); + throw response_9.body; + case 3: return [2 /*return*/]; + } + }); + }); + }; + /** + * Get insights for single visual + * + * ```javascript + * visual.getSmartNarrativeInsights() + * ``` + * + * @returns {Promise} + */ + VisualDescriptor.prototype.getSmartNarrativeInsights = function () { + return __awaiter(this, void 0, void 0, function () { + var response, response_9; + return __generator(this, function (_a) { + switch (_a.label) { + case 0: + _a.trys.push([0, 2, , 3]); + return [4 /*yield*/, this.page.report.service.hpm.get("/report/pages/".concat(this.page.name, "/visuals/").concat(this.name, "/smartNarrativeInsights"), { uid: this.page.report.config.uniqueId }, this.page.report.iframe.contentWindow)]; + case 1: + response = _a.sent(); + return [2 /*return*/, response.body]; + case 2: + response_9 = _a.sent(); + throw response_9.body; + case 3: return [2 /*return*/]; + } + }); + }); + }; return VisualDescriptor; }()); exports.VisualDescriptor = VisualDescriptor; diff --git a/dist/powerbi.min.js b/dist/powerbi.min.js index 228e8138..f782aec2 100644 --- a/dist/powerbi.min.js +++ b/dist/powerbi.min.js @@ -2,4 +2,4 @@ // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. /*! For license information please see powerbi.js.LICENSE.txt */ -!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,(()=>(()=>{var t={615:function(t){var e;e=function(){return function(t){var e={};function r(i){if(e[i])return e[i].exports;var a=e[i]={exports:{},id:i,loaded:!1};return t[i].call(a.exports,a,a.exports,r),a.loaded=!0,a.exports}return r.m=t,r.c=e,r.p="",r(0)}([function(t,e){"use strict";var r=function(){function t(t,e,r){void 0===e&&(e={}),this.defaultHeaders=e,this.defaultTargetWindow=r,this.windowPostMessageProxy=t}return t.addTrackingProperties=function(t,e){return t.headers=t.headers||{},e&&e.id&&(t.headers.id=e.id),t},t.getTrackingProperties=function(t){return{id:t.headers&&t.headers.id}},t.isErrorMessage=function(t){return"number"==typeof(t&&t.statusCode)&&!(200<=t.statusCode&&t.statusCode<300)},t.prototype.get=function(t,e,r){return void 0===e&&(e={}),void 0===r&&(r=this.defaultTargetWindow),this.send({method:"GET",url:t,headers:e},r)},t.prototype.post=function(t,e,r,i){return void 0===r&&(r={}),void 0===i&&(i=this.defaultTargetWindow),this.send({method:"POST",url:t,headers:r,body:e},i)},t.prototype.put=function(t,e,r,i){return void 0===r&&(r={}),void 0===i&&(i=this.defaultTargetWindow),this.send({method:"PUT",url:t,headers:r,body:e},i)},t.prototype.patch=function(t,e,r,i){return void 0===r&&(r={}),void 0===i&&(i=this.defaultTargetWindow),this.send({method:"PATCH",url:t,headers:r,body:e},i)},t.prototype.delete=function(t,e,r,i){return void 0===e&&(e=null),void 0===r&&(r={}),void 0===i&&(i=this.defaultTargetWindow),this.send({method:"DELETE",url:t,headers:r,body:e},i)},t.prototype.send=function(t,e){if(void 0===e&&(e=this.defaultTargetWindow),t.headers=this.assign({},this.defaultHeaders,t.headers),!e)throw new Error("target window is not provided. You must either provide the target window explicitly as argument to request, or specify default target window when constructing instance of this class.");return this.windowPostMessageProxy.postMessage(e,t)},t.prototype.assign=function(t){for(var e=[],r=1;r(()=>{var t=[function(t,e,r){var i,a=this&&this.__extends||(i=function(t,e){return i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},i(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.TextAlignment=e.CommonErrorCodes=e.BookmarksPlayMode=e.ExportDataType=e.QnaMode=e.PageNavigationPosition=e.BrowserPrintAdjustmentsMode=e.AggregateFunction=e.DataCacheMode=e.CredentialType=e.isPercentOfGrandTotal=e.isColumnAggr=e.isHierarchyLevelAggr=e.isHierarchyLevel=e.isColumn=e.isMeasure=e.getFilterType=e.isBasicFilterWithKeys=e.isFilterKeyColumnsTarget=e.HierarchyFilter=e.AdvancedFilter=e.TupleFilter=e.IdentityFilter=e.BasicFilterWithKeys=e.BasicFilter=e.RelativeTimeFilter=e.RelativeDateFilter=e.TopNFilter=e.IncludeExcludeFilter=e.NotSupportedFilter=e.Filter=e.RelativeDateOperators=e.RelativeDateFilterTimeUnit=e.FilterType=e.FiltersLevel=e.FiltersOperations=e.MenuLocation=e.ContrastMode=e.TokenType=e.ViewMode=e.Permissions=e.SectionVisibility=e.ReportAlignment=e.HyperlinkClickBehavior=e.LayoutType=e.VisualContainerDisplayMode=e.BackgroundType=e.DisplayOption=e.PageSizeType=e.TraceType=void 0,e.validateVisualHeader=e.validateExportDataRequest=e.validateQnaInterpretInputData=e.validateLoadQnaConfiguration=e.validateSaveAsParameters=e.validateUpdateFiltersRequest=e.validateFilter=e.validatePage=e.validateTileLoad=e.validateDashboardLoad=e.validateQuickCreate=e.validateCreateReport=e.validatePaginatedReportLoad=e.validateReportLoad=e.validateMenuGroupExtension=e.validateExtension=e.validateCustomPageSize=e.validateVisualizationsPane=e.validateSyncSlicersPane=e.validateSelectionPane=e.validatePageNavigationPane=e.validateFieldsPane=e.validateFiltersPane=e.validateBookmarksPane=e.validatePanes=e.validateSettings=e.validateCaptureBookmarkRequest=e.validateApplyBookmarkStateRequest=e.validateApplyBookmarkByNameRequest=e.validateAddBookmarkRequest=e.validatePlayBookmarkRequest=e.validateSlicerState=e.validateSlicer=e.validateVisualSelector=e.isIExtensionArray=e.isIExtensions=e.isGroupedMenuExtension=e.isFlatMenuExtension=e.isReportFiltersArray=e.isOnLoadFilters=e.VisualDataRoleKindPreference=e.VisualDataRoleKind=e.CommandDisplayOption=e.SlicerTargetSelector=e.VisualTypeSelector=e.VisualSelector=e.PageSelector=e.Selector=e.SortDirection=e.LegendPosition=void 0,e.validatePrintSettings=e.validateZoomLevel=e.validateCustomTheme=e.validateCommandsSettings=e.validateVisualSettings=void 0;var o,n,l,s,u,d,c,p,f,h,v,y,m,V,g,b,w,P,O,S=r(1);(O=e.TraceType||(e.TraceType={}))[O.Information=0]="Information",O[O.Verbose=1]="Verbose",O[O.Warning=2]="Warning",O[O.Error=3]="Error",O[O.ExpectedError=4]="ExpectedError",O[O.UnexpectedError=5]="UnexpectedError",O[O.Fatal=6]="Fatal",(P=e.PageSizeType||(e.PageSizeType={}))[P.Widescreen=0]="Widescreen",P[P.Standard=1]="Standard",P[P.Cortana=2]="Cortana",P[P.Letter=3]="Letter",P[P.Custom=4]="Custom",P[P.Mobile=5]="Mobile",(w=e.DisplayOption||(e.DisplayOption={}))[w.FitToPage=0]="FitToPage",w[w.FitToWidth=1]="FitToWidth",w[w.ActualSize=2]="ActualSize",(b=e.BackgroundType||(e.BackgroundType={}))[b.Default=0]="Default",b[b.Transparent=1]="Transparent",(g=e.VisualContainerDisplayMode||(e.VisualContainerDisplayMode={}))[g.Visible=0]="Visible",g[g.Hidden=1]="Hidden",(V=e.LayoutType||(e.LayoutType={}))[V.Master=0]="Master",V[V.Custom=1]="Custom",V[V.MobilePortrait=2]="MobilePortrait",V[V.MobileLandscape=3]="MobileLandscape",(m=e.HyperlinkClickBehavior||(e.HyperlinkClickBehavior={}))[m.Navigate=0]="Navigate",m[m.NavigateAndRaiseEvent=1]="NavigateAndRaiseEvent",m[m.RaiseEvent=2]="RaiseEvent",(y=e.ReportAlignment||(e.ReportAlignment={}))[y.Left=0]="Left",y[y.Center=1]="Center",y[y.Right=2]="Right",y[y.None=3]="None",(v=e.SectionVisibility||(e.SectionVisibility={}))[v.AlwaysVisible=0]="AlwaysVisible",v[v.HiddenInViewMode=1]="HiddenInViewMode",(h=e.Permissions||(e.Permissions={}))[h.Read=0]="Read",h[h.ReadWrite=1]="ReadWrite",h[h.Copy=2]="Copy",h[h.Create=4]="Create",h[h.All=7]="All",(f=e.ViewMode||(e.ViewMode={}))[f.View=0]="View",f[f.Edit=1]="Edit",(p=e.TokenType||(e.TokenType={}))[p.Aad=0]="Aad",p[p.Embed=1]="Embed",(c=e.ContrastMode||(e.ContrastMode={}))[c.None=0]="None",c[c.HighContrast1=1]="HighContrast1",c[c.HighContrast2=2]="HighContrast2",c[c.HighContrastBlack=3]="HighContrastBlack",c[c.HighContrastWhite=4]="HighContrastWhite",(d=e.MenuLocation||(e.MenuLocation={}))[d.Bottom=0]="Bottom",d[d.Top=1]="Top",(u=e.FiltersOperations||(e.FiltersOperations={}))[u.RemoveAll=0]="RemoveAll",u[u.ReplaceAll=1]="ReplaceAll",u[u.Add=2]="Add",u[u.Replace=3]="Replace",(s=e.FiltersLevel||(e.FiltersLevel={}))[s.Report=0]="Report",s[s.Page=1]="Page",s[s.Visual=2]="Visual",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",t[t.Identity=8]="Identity",t[t.Hierarchy=9]="Hierarchy"}(o=e.FilterType||(e.FilterType={})),(l=e.RelativeDateFilterTimeUnit||(e.RelativeDateFilterTimeUnit={}))[l.Days=0]="Days",l[l.Weeks=1]="Weeks",l[l.CalendarWeeks=2]="CalendarWeeks",l[l.Months=3]="Months",l[l.CalendarMonths=4]="CalendarMonths",l[l.Years=5]="Years",l[l.CalendarYears=6]="CalendarYears",l[l.Minutes=7]="Minutes",l[l.Hours=8]="Hours",(n=e.RelativeDateOperators||(e.RelativeDateOperators={}))[n.InLast=0]="InLast",n[n.InThis=1]="InThis",n[n.InNext=2]="InNext";var _=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=_;var T=function(t){function e(r,i,a){var n=t.call(this,r,o.Unknown)||this;return n.message=i,n.notSupportedTypeName=a,n.schemaUrl=e.schemaUrl,n}return a(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}(_);e.NotSupportedFilter=T;var E=function(t){function e(r,i,a){var n=t.call(this,r,o.IncludeExclude)||this;return n.values=a,n.isExclude=i,n.schemaUrl=e.schemaUrl,n}return a(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}(_);e.IncludeExcludeFilter=E;var F=function(t){function e(r,i,a,n){var l=t.call(this,r,o.TopN)||this;return l.operator=i,l.itemCount=a,l.schemaUrl=e.schemaUrl,l.orderBy=n,l}return a(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}(_);e.TopNFilter=F;var C=function(t){function e(r,i,a,n,l){var s=t.call(this,r,o.RelativeDate)||this;return s.operator=i,s.timeUnitsCount=a,s.timeUnitType=n,s.includeToday=l,s.schemaUrl=e.schemaUrl,s}return a(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}(_);e.RelativeDateFilter=C;var R=function(t){function e(r,i,a,n){var l=t.call(this,r,o.RelativeTime)||this;return l.operator=i,l.timeUnitsCount=a,l.timeUnitType=n,l.schemaUrl=e.schemaUrl,l}return a(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}(_);e.RelativeTimeFilter=R;var k=function(t){function e(r,i){for(var a=[],n=2;n0&&!a)throw new Error("You should pass the values to be filtered for each key. You passed: no values and ".concat(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,s=o.keyValues;l2)throw new Error("AdvancedFilters may not have more than two conditions. You passed: ".concat(a.length));if(1===l.length&&"And"!==i)throw new Error('Logical Operator must be "And" when there is only one condition provided');return s.conditions=l,s}return a(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}(_);e.AdvancedFilter=M;var L,I,q,D,N,B,U,H,W,z=function(t){function e(r,i){var a=t.call(this,r,o.Hierarchy)||this;return a.schemaUrl=e.schemaUrl,a.hierarchyData=i,a}return a(e,t),e.prototype.toJSON=function(){var e=t.prototype.toJSON.call(this);return e.hierarchyData=this.hierarchyData,e.target=this.target,e},e.schemaUrl="http://powerbi.com/product/schema#hierarchy",e}(_);function Q(t){if(t.filterType)return t.filterType;var e=t,r=t;return"string"==typeof e.operator&&Array.isArray(e.values)?o.Basic:"string"==typeof r.logicalOperator&&Array.isArray(r.conditions)?o.Advanced:o.Unknown}function G(t){return!(!t.table||!t.column||t.aggregationFunction)}e.HierarchyFilter=z,e.isFilterKeyColumnsTarget=function(t){return G(t)&&!!t.keys},e.isBasicFilterWithKeys=function(t){return Q(t)===o.Basic&&!!t.keyValues},e.getFilterType=Q,e.isMeasure=function(t){return void 0!==t.table&&void 0!==t.measure},e.isColumn=G,e.isHierarchyLevel=function(t){return!(!(t.table&&t.hierarchy&&t.hierarchyLevel)||t.aggregationFunction)},e.isHierarchyLevelAggr=function(t){return!!(t.table&&t.hierarchy&&t.hierarchyLevel&&t.aggregationFunction)},e.isColumnAggr=function(t){return!!(t.table&&t.column&&t.aggregationFunction)},e.isPercentOfGrandTotal=function(t){return!!t.percentOfGrandTotal},(W=e.CredentialType||(e.CredentialType={}))[W.NoConnection=0]="NoConnection",W[W.OnBehalfOf=1]="OnBehalfOf",W[W.Anonymous=2]="Anonymous",(H=e.DataCacheMode||(e.DataCacheMode={}))[H.Import=0]="Import",H[H.DirectQuery=1]="DirectQuery",(U=e.AggregateFunction||(e.AggregateFunction={}))[U.Default=1]="Default",U[U.None=2]="None",U[U.Sum=3]="Sum",U[U.Min=4]="Min",U[U.Max=5]="Max",U[U.Count=6]="Count",U[U.Average=7]="Average",U[U.DistinctCount=8]="DistinctCount",(B=e.BrowserPrintAdjustmentsMode||(e.BrowserPrintAdjustmentsMode={}))[B.Default=0]="Default",B[B.NoAdjustments=1]="NoAdjustments",(N=e.PageNavigationPosition||(e.PageNavigationPosition={}))[N.Bottom=0]="Bottom",N[N.Left=1]="Left",(D=e.QnaMode||(e.QnaMode={}))[D.Interactive=0]="Interactive",D[D.ResultOnly=1]="ResultOnly",(q=e.ExportDataType||(e.ExportDataType={}))[q.Summarized=0]="Summarized",q[q.Underlying=1]="Underlying",(I=e.BookmarksPlayMode||(e.BookmarksPlayMode={}))[I.Off=0]="Off",I[I.Presentation=1]="Presentation",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"},(L=e.SortDirection||(e.SortDirection={}))[L.Ascending=1]="Ascending",L[L.Descending=2]="Descending";var J=function(){function t(t){this.$schema=t}return t.prototype.toJSON=function(){return{$schema:this.$schema}},t}();e.Selector=J;var K=function(t){function e(r){var i=t.call(this,e.schemaUrl)||this;return i.pageName=r,i}return a(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}(J);e.PageSelector=K;var Y=function(t){function e(r){var i=t.call(this,e.schemaUrl)||this;return i.visualName=r,i}return a(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}(J);e.VisualSelector=Y;var $=function(t){function e(e){var r=t.call(this,Y.schemaUrl)||this;return r.visualType=e,r}return a(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}(J);e.VisualTypeSelector=$;var Z,X,tt,et=function(t){function e(e){var r=t.call(this,Y.schemaUrl)||this;return r.target=e,r}return a(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}(J);function rt(t){return Array.isArray(t)}function it(t){return t&&!!t.groupName}function at(t){return Array.isArray(t)}function ot(t){var e=t.message;return e||(e="".concat(t.path," is invalid. Not meeting ").concat(t.keyword," constraint")),{message:e}}e.SlicerTargetSelector=et,(tt=e.CommandDisplayOption||(e.CommandDisplayOption={}))[tt.Enabled=0]="Enabled",tt[tt.Disabled=1]="Disabled",tt[tt.Hidden=2]="Hidden",(X=e.VisualDataRoleKind||(e.VisualDataRoleKind={}))[X.Grouping=0]="Grouping",X[X.Measure=1]="Measure",X[X.GroupingOrMeasure=2]="GroupingOrMeasure",(Z=e.VisualDataRoleKindPreference||(e.VisualDataRoleKindPreference={}))[Z.Measure=0]="Measure",Z[Z.Grouping=1]="Grouping",e.isOnLoadFilters=function(t){return t&&!rt(t)},e.isReportFiltersArray=rt,e.isFlatMenuExtension=function(t){return t&&!it(t)},e.isGroupedMenuExtension=it,e.isIExtensions=function(t){return t&&!at(t)},e.isIExtensionArray=at,e.validateVisualSelector=function(t){var e=S.Validators.visualSelectorValidator.validate(t);return e?e.map(ot):void 0},e.validateSlicer=function(t){var e=S.Validators.slicerValidator.validate(t);return e?e.map(ot):void 0},e.validateSlicerState=function(t){var e=S.Validators.slicerStateValidator.validate(t);return e?e.map(ot):void 0},e.validatePlayBookmarkRequest=function(t){var e=S.Validators.playBookmarkRequestValidator.validate(t);return e?e.map(ot):void 0},e.validateAddBookmarkRequest=function(t){var e=S.Validators.addBookmarkRequestValidator.validate(t);return e?e.map(ot):void 0},e.validateApplyBookmarkByNameRequest=function(t){var e=S.Validators.applyBookmarkByNameRequestValidator.validate(t);return e?e.map(ot):void 0},e.validateApplyBookmarkStateRequest=function(t){var e=S.Validators.applyBookmarkStateRequestValidator.validate(t);return e?e.map(ot):void 0},e.validateCaptureBookmarkRequest=function(t){var e=S.Validators.captureBookmarkRequestValidator.validate(t);return e?e.map(ot):void 0},e.validateSettings=function(t){var e=S.Validators.settingsValidator.validate(t);return e?e.map(ot):void 0},e.validatePanes=function(t){var e=S.Validators.reportPanesValidator.validate(t);return e?e.map(ot):void 0},e.validateBookmarksPane=function(t){var e=S.Validators.bookmarksPaneValidator.validate(t);return e?e.map(ot):void 0},e.validateFiltersPane=function(t){var e=S.Validators.filtersPaneValidator.validate(t);return e?e.map(ot):void 0},e.validateFieldsPane=function(t){var e=S.Validators.fieldsPaneValidator.validate(t);return e?e.map(ot):void 0},e.validatePageNavigationPane=function(t){var e=S.Validators.pageNavigationPaneValidator.validate(t);return e?e.map(ot):void 0},e.validateSelectionPane=function(t){var e=S.Validators.selectionPaneValidator.validate(t);return e?e.map(ot):void 0},e.validateSyncSlicersPane=function(t){var e=S.Validators.syncSlicersPaneValidator.validate(t);return e?e.map(ot):void 0},e.validateVisualizationsPane=function(t){var e=S.Validators.visualizationsPaneValidator.validate(t);return e?e.map(ot):void 0},e.validateCustomPageSize=function(t){var e=S.Validators.customPageSizeValidator.validate(t);return e?e.map(ot):void 0},e.validateExtension=function(t){var e=S.Validators.extensionValidator.validate(t);return e?e.map(ot):void 0},e.validateMenuGroupExtension=function(t){var e=S.Validators.menuGroupExtensionValidator.validate(t);return e?e.map(ot):void 0},e.validateReportLoad=function(t){var e=S.Validators.reportLoadValidator.validate(t);return e?e.map(ot):void 0},e.validatePaginatedReportLoad=function(t){var e=S.Validators.paginatedReportLoadValidator.validate(t);return e?e.map(ot):void 0},e.validateCreateReport=function(t){var e=S.Validators.reportCreateValidator.validate(t);return e?e.map(ot):void 0},e.validateQuickCreate=function(t){var e=S.Validators.quickCreateValidator.validate(t);return e?e.map(ot):void 0},e.validateDashboardLoad=function(t){var e=S.Validators.dashboardLoadValidator.validate(t);return e?e.map(ot):void 0},e.validateTileLoad=function(t){var e=S.Validators.tileLoadValidator.validate(t);return e?e.map(ot):void 0},e.validatePage=function(t){var e=S.Validators.pageValidator.validate(t);return e?e.map(ot):void 0},e.validateFilter=function(t){var e=S.Validators.filterValidator.validate(t);return e?e.map(ot):void 0},e.validateUpdateFiltersRequest=function(t){var e=S.Validators.updateFiltersRequestValidator.validate(t);return e?e.map(ot):void 0},e.validateSaveAsParameters=function(t){var e=S.Validators.saveAsParametersValidator.validate(t);return e?e.map(ot):void 0},e.validateLoadQnaConfiguration=function(t){var e=S.Validators.loadQnaValidator.validate(t);return e?e.map(ot):void 0},e.validateQnaInterpretInputData=function(t){var e=S.Validators.qnaInterpretInputDataValidator.validate(t);return e?e.map(ot):void 0},e.validateExportDataRequest=function(t){var e=S.Validators.exportDataRequestValidator.validate(t);return e?e.map(ot):void 0},e.validateVisualHeader=function(t){var e=S.Validators.visualHeaderValidator.validate(t);return e?e.map(ot):void 0},e.validateVisualSettings=function(t){var e=S.Validators.visualSettingsValidator.validate(t);return e?e.map(ot):void 0},e.validateCommandsSettings=function(t){var e=S.Validators.commandsSettingsValidator.validate(t);return e?e.map(ot):void 0},e.validateCustomTheme=function(t){var e=S.Validators.customThemeValidator.validate(t);return e?e.map(ot):void 0},e.validateZoomLevel=function(t){var e=S.Validators.zoomLevelValidator.validate(t);return e?e.map(ot):void 0},e.validatePrintSettings=function(t){var e=S.Validators.printSettingsValidator.validate(t);return e?e.map(ot):void 0}},(t,e,r)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.Validators=void 0;var i=r(2),a=r(5),o=r(6),n=r(7),l=r(8),s=r(9),u=r(10),d=r(11),c=r(12),p=r(13),f=r(14),h=r(15),v=r(16),y=r(17),m=r(18),V=r(19),g=r(20),b=r(21),w=r(22),P=r(23),O=r(24),S=r(25),_=r(26),T=r(27),E=r(28),F=r(29),C=r(4),R=r(30),k=r(31),x=r(32),A=r(33),j=r(34);e.Validators={addBookmarkRequestValidator:new a.AddBookmarkRequestValidator,advancedFilterTypeValidator:new C.EnumValidator([0]),advancedFilterValidator:new c.AdvancedFilterValidator,anyArrayValidator:new C.ArrayValidator([new _.AnyOfValidator([new C.StringValidator,new C.NumberValidator,new C.BooleanValidator])]),anyFilterValidator:new _.AnyOfValidator([new c.BasicFilterValidator,new c.AdvancedFilterValidator,new c.IncludeExcludeFilterValidator,new c.NotSupportedFilterValidator,new c.RelativeDateFilterValidator,new c.TopNFilterValidator,new c.RelativeTimeFilterValidator,new c.HierarchyFilterValidator]),anyValueValidator:new _.AnyOfValidator([new C.StringValidator,new C.NumberValidator,new C.BooleanValidator]),actionBarValidator:new i.ActionBarValidator,statusBarValidator:new i.StatusBarValidator,applyBookmarkByNameRequestValidator:new a.ApplyBookmarkByNameRequestValidator,applyBookmarkStateRequestValidator:new a.ApplyBookmarkStateRequestValidator,applyBookmarkValidator:new _.AnyOfValidator([new a.ApplyBookmarkByNameRequestValidator,new a.ApplyBookmarkStateRequestValidator]),backgroundValidator:new C.EnumValidator([0,1]),basicFilterTypeValidator:new C.EnumValidator([1]),basicFilterValidator:new c.BasicFilterValidator,booleanArrayValidator:new C.BooleanArrayValidator,booleanValidator:new C.BooleanValidator,bookmarksPaneValidator:new h.BookmarksPaneValidator,captureBookmarkOptionsValidator:new a.CaptureBookmarkOptionsValidator,captureBookmarkRequestValidator:new a.CaptureBookmarkRequestValidator,columnSchemaArrayValidator:new C.ArrayValidator([new k.ColumnSchemaValidator]),commandDisplayOptionValidator:new C.EnumValidator([0,1,2]),commandExtensionSelectorValidator:new _.AnyOfValidator([new b.VisualSelectorValidator,new b.VisualTypeSelectorValidator]),commandExtensionArrayValidator:new C.ArrayValidator([new d.CommandExtensionValidator]),commandExtensionValidator:new d.CommandExtensionValidator,commandsSettingsArrayValidator:new C.ArrayValidator([new o.CommandsSettingsValidator]),commandsSettingsValidator:new o.CommandsSettingsValidator,conditionItemValidator:new c.ConditionItemValidator,contrastModeValidator:new C.EnumValidator([0,1,2,3,4]),credentialDetailsValidator:new F.MapValidator([new C.StringValidator],[new C.StringValidator]),credentialsValidator:new k.CredentialsValidator,credentialTypeValidator:new C.EnumValidator([0,1,2]),customLayoutDisplayOptionValidator:new C.EnumValidator([0,1,2]),customLayoutValidator:new p.CustomLayoutValidator,customPageSizeValidator:new f.CustomPageSizeValidator,customThemeValidator:new n.CustomThemeValidator,dashboardLoadValidator:new l.DashboardLoadValidator,dataCacheModeValidator:new C.EnumValidator([0,1]),datasetBindingValidator:new s.DatasetBindingValidator,datasetCreateConfigValidator:new k.DatasetCreateConfigValidator,datasourceConnectionConfigValidator:new k.DatasourceConnectionConfigValidator,displayStateModeValidator:new C.EnumValidator([0,1]),displayStateValidator:new p.DisplayStateValidator,exportDataRequestValidator:new u.ExportDataRequestValidator,extensionArrayValidator:new C.ArrayValidator([new d.ExtensionValidator]),extensionsValidator:new _.AnyOfValidator([new C.ArrayValidator([new d.ExtensionValidator]),new d.ExtensionsValidator]),extensionPointsValidator:new d.ExtensionPointsValidator,extensionValidator:new d.ExtensionValidator,fieldForbiddenValidator:new T.FieldForbiddenValidator,fieldRequiredValidator:new E.FieldRequiredValidator,fieldsPaneValidator:new h.FieldsPaneValidator,filterColumnTargetValidator:new c.FilterColumnTargetValidator,filterDisplaySettingsValidator:new c.FilterDisplaySettingsValidator,filterConditionsValidator:new C.ArrayValidator([new c.ConditionItemValidator]),filterHierarchyTargetValidator:new c.FilterHierarchyTargetValidator,filterMeasureTargetValidator:new c.FilterMeasureTargetValidator,filterTargetValidator:new _.AnyOfValidator([new c.FilterColumnTargetValidator,new c.FilterHierarchyTargetValidator,new c.FilterMeasureTargetValidator,new C.ArrayValidator([new _.AnyOfValidator([new c.FilterColumnTargetValidator,new c.FilterHierarchyTargetValidator,new c.FilterMeasureTargetValidator,new c.FilterKeyColumnsTargetValidator,new c.FilterKeyHierarchyTargetValidator])])]),filterValidator:new c.FilterValidator,filterTypeValidator:new C.EnumValidator([0,1,2,3,4,5,6,7,9]),filtersArrayValidator:new C.ArrayValidator([new c.FilterValidator]),filtersOperationsUpdateValidator:new C.EnumValidator([1,2,3]),filtersOperationsRemoveAllValidator:new C.EnumValidator([0]),filtersPaneValidator:new h.FiltersPaneValidator,hyperlinkClickBehaviorValidator:new C.EnumValidator([0,1,2]),includeExcludeFilterValidator:new c.IncludeExcludeFilterValidator,includeExludeFilterTypeValidator:new C.EnumValidator([3]),hierarchyFilterTypeValidator:new C.EnumValidator([9]),hierarchyFilterValuesValidator:new C.ArrayValidator([new c.HierarchyFilterNodeValidator]),layoutTypeValidator:new C.EnumValidator([0,1,2,3]),loadQnaValidator:new v.LoadQnaValidator,menuExtensionValidator:new _.AnyOfValidator([new d.FlatMenuExtensionValidator,new d.GroupedMenuExtensionValidator]),menuGroupExtensionArrayValidator:new C.ArrayValidator([new d.MenuGroupExtensionValidator]),menuGroupExtensionValidator:new d.MenuGroupExtensionValidator,menuLocationValidator:new C.EnumValidator([0,1]),notSupportedFilterTypeValidator:new C.EnumValidator([2]),notSupportedFilterValidator:new c.NotSupportedFilterValidator,numberArrayValidator:new C.NumberArrayValidator,numberValidator:new C.NumberValidator,onLoadFiltersBaseValidator:new _.AnyOfValidator([new c.OnLoadFiltersBaseValidator,new c.OnLoadFiltersBaseRemoveOperationValidator]),pageLayoutValidator:new F.MapValidator([new C.StringValidator],[new p.VisualLayoutValidator]),pageNavigationPaneValidator:new h.PageNavigationPaneValidator,pageNavigationPositionValidator:new C.EnumValidator([0,1]),pageSizeTypeValidator:new C.EnumValidator([0,1,2,3,4,5]),pageSizeValidator:new f.PageSizeValidator,pageValidator:new f.PageValidator,pageViewFieldValidator:new f.PageViewFieldValidator,pagesLayoutValidator:new F.MapValidator([new C.StringValidator],[new p.PageLayoutValidator]),paginatedReportCommandsValidator:new o.PaginatedReportCommandsValidator,paginatedReportDatasetBindingArrayValidator:new C.ArrayValidator([new j.PaginatedReportDatasetBindingValidator]),paginatedReportLoadValidator:new V.PaginatedReportLoadValidator,paginatedReportsettingsValidator:new w.PaginatedReportSettingsValidator,parameterValuesArrayValidator:new C.ArrayValidator([new V.ReportParameterFieldsValidator]),parametersPanelValidator:new R.ParametersPanelValidator,permissionsValidator:new C.EnumValidator([0,1,2,4,7]),playBookmarkRequestValidator:new a.PlayBookmarkRequestValidator,printSettingsValidator:new A.PrintSettingsValidator,qnaInterpretInputDataValidator:new v.QnaInterpretInputDataValidator,qnaPanesValidator:new h.QnaPanesValidator,qnaSettingValidator:new v.QnaSettingsValidator,quickCreateValidator:new x.QuickCreateValidator,rawDataValidator:new C.ArrayValidator([new C.ArrayValidator([new C.StringValidator])]),relativeDateFilterOperatorValidator:new C.EnumValidator([0,1,2]),relativeDateFilterTimeUnitTypeValidator:new C.EnumValidator([0,1,2,3,4,5,6]),relativeDateFilterTypeValidator:new C.EnumValidator([4]),relativeDateFilterValidator:new c.RelativeDateFilterValidator,relativeDateTimeFilterTypeValidator:new C.EnumValidator([4,7]),relativeDateTimeFilterUnitTypeValidator:new C.EnumValidator([0,1,2,3,4,5,6,7,8]),relativeTimeFilterTimeUnitTypeValidator:new C.EnumValidator([7,8]),relativeTimeFilterTypeValidator:new C.EnumValidator([7]),relativeTimeFilterValidator:new c.RelativeTimeFilterValidator,reportBarsValidator:new i.ReportBarsValidator,reportCreateValidator:new y.ReportCreateValidator,reportLoadFiltersValidator:new _.AnyOfValidator([new C.ArrayValidator([new c.FilterValidator]),new c.OnLoadFiltersValidator]),reportLoadValidator:new m.ReportLoadValidator,reportPanesValidator:new h.ReportPanesValidator,saveAsParametersValidator:new g.SaveAsParametersValidator,selectionPaneValidator:new h.SelectionPaneValidator,settingsValidator:new w.SettingsValidator,singleCommandSettingsValidator:new o.SingleCommandSettingsValidator,slicerSelectorValidator:new _.AnyOfValidator([new b.VisualSelectorValidator,new b.SlicerTargetSelectorValidator]),slicerStateValidator:new P.SlicerStateValidator,slicerTargetValidator:new _.AnyOfValidator([new c.FilterColumnTargetValidator,new c.FilterHierarchyTargetValidator,new c.FilterMeasureTargetValidator,new c.FilterKeyColumnsTargetValidator,new c.FilterKeyHierarchyTargetValidator]),slicerValidator:new P.SlicerValidator,stringArrayValidator:new C.StringArrayValidator,stringValidator:new C.StringValidator,syncSlicersPaneValidator:new h.SyncSlicersPaneValidator,tableDataArrayValidator:new C.ArrayValidator([new k.TableDataValidator]),tableSchemaListValidator:new C.ArrayValidator([new k.TableSchemaValidator]),tileLoadValidator:new O.TileLoadValidator,tokenTypeValidator:new C.EnumValidator([0,1]),topNFilterTypeValidator:new C.EnumValidator([5]),topNFilterValidator:new c.TopNFilterValidator,updateFiltersRequestValidator:new _.AnyOfValidator([new c.UpdateFiltersRequestValidator,new c.RemoveFiltersRequestValidator]),viewModeValidator:new C.EnumValidator([0,1]),visualCommandSelectorValidator:new _.AnyOfValidator([new b.VisualSelectorValidator,new b.VisualTypeSelectorValidator]),visualHeaderSelectorValidator:new _.AnyOfValidator([new b.VisualSelectorValidator,new b.VisualTypeSelectorValidator]),visualHeaderSettingsValidator:new S.VisualHeaderSettingsValidator,visualHeaderValidator:new S.VisualHeaderValidator,visualHeadersValidator:new C.ArrayValidator([new S.VisualHeaderValidator]),visualizationsPaneValidator:new h.VisualizationsPaneValidator,visualLayoutValidator:new p.VisualLayoutValidator,visualSelectorValidator:new b.VisualSelectorValidator,visualSettingsValidator:new S.VisualSettingsValidator,visualTypeSelectorValidator:new b.VisualTypeSelectorValidator,zoomLevelValidator:new C.RangeValidator(.25,4)}},function(t,e,r){var i,a=this&&this.__extends||(i=function(t,e){return i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},i(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.StatusBarValidator=e.ActionBarValidator=e.ReportBarsValidator=void 0;var o=r(3),n=r(4),l=r(1),s=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return a(e,t),e.prototype.validate=function(e,r,i){if(null==e)return null;var a=t.prototype.validate.call(this,e,r,i);if(a)return a;var n=[{field:"actionBar",validators:[l.Validators.actionBarValidator]},{field:"statusBar",validators:[l.Validators.statusBarValidator]}];return new o.MultipleFieldsValidator(n).validate(e,r,i)},e}(n.ObjectValidator);e.ReportBarsValidator=s;var u=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return a(e,t),e.prototype.validate=function(e,r,i){if(null==e)return null;var a=t.prototype.validate.call(this,e,r,i);if(a)return a;var n=[{field:"visible",validators:[l.Validators.booleanValidator]}];return new o.MultipleFieldsValidator(n).validate(e,r,i)},e}(n.ObjectValidator);e.ActionBarValidator=u;var d=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return a(e,t),e.prototype.validate=function(e,r,i){if(null==e)return null;var a=t.prototype.validate.call(this,e,r,i);if(a)return a;var n=[{field:"visible",validators:[l.Validators.booleanValidator]}];return new o.MultipleFieldsValidator(n).validate(e,r,i)},e}(n.ObjectValidator);e.StatusBarValidator=d},(t,e)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.MultipleFieldsValidator=void 0;var r=function(){function t(t){this.fieldValidatorsPairs=t}return t.prototype.validate=function(t,e,r){if(!this.fieldValidatorsPairs)return null;for(var i=e?e+"."+r:r,a=0,o=this.fieldValidatorsPairs;athis.maxValue||e{Object.defineProperty(e,"__esModule",{value:!0}),e.AnyOfValidator=void 0;var r=function(){function t(t){this.validators=t}return t.prototype.validate=function(t,e,r){if(null==t)return null;for(var i=!1,a=0,o=this.validators;a{Object.defineProperty(e,"__esModule",{value:!0}),e.FieldForbiddenValidator=void 0;var r=function(){function t(){}return t.prototype.validate=function(t,e,r){return void 0!==t?[{message:r+" is forbidden",path:(e?e+".":"")+r,keyword:"forbidden"}]:null},t}();e.FieldForbiddenValidator=r},(t,e)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.FieldRequiredValidator=void 0;var r=function(){function t(){}return t.prototype.validate=function(t,e,r){return null==t?[{message:r+" is required",path:(e?e+".":"")+r,keyword:"required"}]:null},t}();e.FieldRequiredValidator=r},function(t,e,r){var i,a=this&&this.__extends||(i=function(t,e){return i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},i(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.MapValidator=void 0;var o=function(t){function e(e,r){var i=t.call(this)||this;return i.keyValidators=e,i.valueValidators=r,i}return a(e,t),e.prototype.validate=function(e,r,i){if(null==e)return null;var a=t.prototype.validate.call(this,e,r,i);if(a)return a;for(var o in e)if(e.hasOwnProperty(o)){for(var n=(r?r+".":"")+i+"."+o,l=0,s=this.keyValidators;l2&&"[]"===n.slice(l-2)&&(s=!0,r[n=n.slice(0,l-2)]||(r[n]=[])),a=o[1]?g(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(-1!==(i=t.indexOf("?"))){var l=t.substr(i+1,t.length);t=t.substr(0,i),o=this.parseQueryString(l)}for("/"!==(t=decodeURI(t)).charAt(0)&&(t="/"+t),(e=t.length)>1&&"/"===t.charAt(e-1)&&(t=t.substr(0,e-1),n=!0),r=0;r{Object.defineProperty(e,"__esModule",{value:!0}),e.FilterBuilder=void 0;var r=function(){function t(){}return t.prototype.withTargetObject=function(t){return this.target=t,this},t.prototype.withColumnTarget=function(t,e){return this.target={table:t,column:e},this},t.prototype.withMeasureTarget=function(t,e){return this.target={table:t,measure:e},this},t.prototype.withHierarchyLevelTarget=function(t,e,r){return this.target={table:t,hierarchy:e,hierarchyLevel:r},this},t.prototype.withColumnAggregation=function(t,e,r){return this.target={table:t,column:e,aggregationFunction:r},this},t.prototype.withHierarchyLevelAggregationTarget=function(t,e,r,i){return this.target={table:t,hierarchy:e,hierarchyLevel:r,aggregationFunction:i},this},t}();e.FilterBuilder=r},567:(t,e,r)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.RelativeTimeFilterBuilder=e.RelativeDateFilterBuilder=e.TopNFilterBuilder=e.AdvancedFilterBuilder=e.BasicFilterBuilder=void 0;var i=r(153);Object.defineProperty(e,"BasicFilterBuilder",{enumerable:!0,get:function(){return i.BasicFilterBuilder}});var a=r(674);Object.defineProperty(e,"AdvancedFilterBuilder",{enumerable:!0,get:function(){return a.AdvancedFilterBuilder}});var o=r(664);Object.defineProperty(e,"TopNFilterBuilder",{enumerable:!0,get:function(){return o.TopNFilterBuilder}});var n=r(844);Object.defineProperty(e,"RelativeDateFilterBuilder",{enumerable:!0,get:function(){return n.RelativeDateFilterBuilder}});var l=r(275);Object.defineProperty(e,"RelativeTimeFilterBuilder",{enumerable:!0,get:function(){return l.RelativeTimeFilterBuilder}})},844:function(t,e,r){var i,a=this&&this.__extends||(i=function(t,e){return i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},i(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.RelativeDateFilterBuilder=void 0;var o=r(149),n=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.isTodayIncluded=!0,e}return a(e,t),e.prototype.inLast=function(t,e){return this.operator=o.RelativeDateOperators.InLast,this.timeUnitsCount=t,this.timeUnitType=e,this},e.prototype.inThis=function(t,e){return this.operator=o.RelativeDateOperators.InThis,this.timeUnitsCount=t,this.timeUnitType=e,this},e.prototype.inNext=function(t,e){return this.operator=o.RelativeDateOperators.InNext,this.timeUnitsCount=t,this.timeUnitType=e,this},e.prototype.includeToday=function(t){return this.isTodayIncluded=t,this},e.prototype.build=function(){return new o.RelativeDateFilter(this.target,this.operator,this.timeUnitsCount,this.timeUnitType,this.isTodayIncluded)},e}(r(277).FilterBuilder);e.RelativeDateFilterBuilder=n},275:function(t,e,r){var i,a=this&&this.__extends||(i=function(t,e){return i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},i(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.RelativeTimeFilterBuilder=void 0;var o=r(149),n=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return a(e,t),e.prototype.inLast=function(t,e){return this.operator=o.RelativeDateOperators.InLast,this.timeUnitsCount=t,this.timeUnitType=e,this},e.prototype.inThis=function(t,e){return this.operator=o.RelativeDateOperators.InThis,this.timeUnitsCount=t,this.timeUnitType=e,this},e.prototype.inNext=function(t,e){return this.operator=o.RelativeDateOperators.InNext,this.timeUnitsCount=t,this.timeUnitType=e,this},e.prototype.build=function(){return new o.RelativeTimeFilter(this.target,this.operator,this.timeUnitsCount,this.timeUnitType)},e}(r(277).FilterBuilder);e.RelativeTimeFilterBuilder=n},664:function(t,e,r){var i,a=this&&this.__extends||(i=function(t,e){return i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},i(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.TopNFilterBuilder=void 0;var o=r(149),n=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return a(e,t),e.prototype.top=function(t){return this.operator="Top",this.itemCount=t,this},e.prototype.bottom=function(t){return this.operator="Bottom",this.itemCount=t,this},e.prototype.orderByTarget=function(t){return this.orderByTargetValue=t,this},e.prototype.build=function(){return new o.TopNFilter(this.target,this.operator,this.itemCount,this.orderByTargetValue)},e}(r(277).FilterBuilder);e.TopNFilterBuilder=n},460:function(t,e,r){var i=this&&this.__awaiter||function(t,e,r,i){return new(r||(r=Promise))((function(a,o){function n(t){try{s(i.next(t))}catch(t){o(t)}}function l(t){try{s(i.throw(t))}catch(t){o(t)}}function s(t){var e;t.done?a(t.value):(e=t.value,e instanceof r?e:new r((function(t){t(e)}))).then(n,l)}s((i=i.apply(t,e||[])).next())}))},a=this&&this.__generator||function(t,e){var r,i,a,o,n={label:0,sent:function(){if(1&a[0])throw a[1];return a[1]},trys:[],ops:[]};return o={next:l(0),throw:l(1),return:l(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function l(o){return function(l){return function(o){if(r)throw new TypeError("Generator is already executing.");for(;n;)try{if(r=1,i&&(a=2&o[0]?i.return:o[0]?i.throw||((a=i.return)&&a.call(i),0):i.next)&&!(a=a.call(i,o[1])).done)return a;switch(i=0,a&&(o=[2&o[0],a.value]),o[0]){case 0:case 1:a=o;break;case 4:return n.label++,{value:o[1],done:!1};case 5:n.label++,i=o[1],o=[0];continue;case 7:o=n.ops.pop(),n.trys.pop();continue;default:if(!((a=(a=n.trys).length>0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]{Object.defineProperty(e,"__esModule",{value:!0}),e.default={version:"2.22.4",type:"js"}},536:function(t,e,r){var i,a=this&&this.__extends||(i=function(t,e){return i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},i(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}),o=this&&this.__awaiter||function(t,e,r,i){return new(r||(r=Promise))((function(a,o){function n(t){try{s(i.next(t))}catch(t){o(t)}}function l(t){try{s(i.throw(t))}catch(t){o(t)}}function s(t){var e;t.done?a(t.value):(e=t.value,e instanceof r?e:new r((function(t){t(e)}))).then(n,l)}s((i=i.apply(t,e||[])).next())}))},n=this&&this.__generator||function(t,e){var r,i,a,o,n={label:0,sent:function(){if(1&a[0])throw a[1];return a[1]},trys:[],ops:[]};return o={next:l(0),throw:l(1),return:l(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function l(o){return function(l){return function(o){if(r)throw new TypeError("Generator is already executing.");for(;n;)try{if(r=1,i&&(a=2&o[0]?i.return:o[0]?i.throw||((a=i.return)&&a.call(i),0):i.next)&&!(a=a.call(i,o[1])).done)return a;switch(i=0,a&&(o=[2&o[0],a.value]),o[0]){case 0:case 1:a=o;break;case 4:return n.label++,{value:o[1],done:!1};case 5:n.label++,i=o[1],o=[0];continue;case 7:o=n.ops.pop(),n.trys.pop();continue;default:if(!((a=(a=n.trys).length>0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]{Object.defineProperty(e,"__esModule",{value:!0}),e.EmbedUrlNotSupported=e.APINotSupportedForRDLError=void 0,e.APINotSupportedForRDLError="This API is currently not supported for RDL reports",e.EmbedUrlNotSupported="Embed URL is invalid for this scenario. Please use Power BI REST APIs to get the valid URL"},357:(t,e,r)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.routerFactory=e.wpmpFactory=e.hpmFactory=void 0;var i=r(903),a=r(615),o=r(891),n=r(913);e.hpmFactory=function(t,e,r,i,o){return void 0===r&&(r=n.default.version),void 0===i&&(i=n.default.type),new a.HttpPostMessage(t,{"x-sdk-type":i,"x-sdk-version":r,"x-sdk-wrapper-version":o},e)},e.wpmpFactory=function(t,e,r){return new i.WindowPostMessageProxy({processTrackingProperties:{addTrackingProperties:a.HttpPostMessage.addTrackingProperties,getTrackingProperties:a.HttpPostMessage.getTrackingProperties},isErrorMessage:a.HttpPostMessage.isErrorMessage,suppressWarnings:!0,name:t,logMessages:e,eventSourceOverrideWindow:r})},e.routerFactory=function(t){return new o.Router(t)}},220:function(t,e,r){var i=this&&this.__awaiter||function(t,e,r,i){return new(r||(r=Promise))((function(a,o){function n(t){try{s(i.next(t))}catch(t){o(t)}}function l(t){try{s(i.throw(t))}catch(t){o(t)}}function s(t){var e;t.done?a(t.value):(e=t.value,e instanceof r?e:new r((function(t){t(e)}))).then(n,l)}s((i=i.apply(t,e||[])).next())}))},a=this&&this.__generator||function(t,e){var r,i,a,o,n={label:0,sent:function(){if(1&a[0])throw a[1];return a[1]},trys:[],ops:[]};return o={next:l(0),throw:l(1),return:l(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function l(o){return function(l){return function(o){if(r)throw new TypeError("Generator is already executing.");for(;n;)try{if(r=1,i&&(a=2&o[0]?i.return:o[0]?i.throw||((a=i.return)&&a.call(i),0):i.next)&&!(a=a.call(i,o[1])).done)return a;switch(i=0,a&&(o=[2&o[0],a.value]),o[0]){case 0:case 1:a=o;break;case 4:return n.label++,{value:o[1],done:!1};case 5:n.label++,i=o[1],o=[0];continue;case 7:o=n.ops.pop(),n.trys.pop();continue;default:if(!((a=(a=n.trys).length>0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0?"&":"?";return t+(i+e+"=")+r},e.isSavedInternal=function(t,e,a){return r(this,void 0,void 0,(function(){return i(this,(function(r){switch(r.label){case 0:return r.trys.push([0,2,,3]),[4,t.get("/report/hasUnsavedChanges",{uid:e},a)];case 1:return[2,!r.sent().body];case 2:throw r.sent().body;case 3:return[2]}}))}))},e.isRDLEmbed=function(t){return t&&t.toLowerCase().indexOf("/rdlembed?")>=0},e.autoAuthInEmbedUrl=function(t){return t&&decodeURIComponent(t).toLowerCase().indexOf("autoauth=true")>=0},e.getRandomValue=o,e.getTimeDiffInMilliseconds=function(t,e){return Math.abs(t.getTime()-e.getTime())},e.isCreate=function(t){return"create"===t||"quickcreate"===t}},23:function(t,e,r){var i,a=this&&this.__extends||(i=function(t,e){return i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},i(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}),o=this&&this.__awaiter||function(t,e,r,i){return new(r||(r=Promise))((function(a,o){function n(t){try{s(i.next(t))}catch(t){o(t)}}function l(t){try{s(i.throw(t))}catch(t){o(t)}}function s(t){var e;t.done?a(t.value):(e=t.value,e instanceof r?e:new r((function(t){t(e)}))).then(n,l)}s((i=i.apply(t,e||[])).next())}))},n=this&&this.__generator||function(t,e){var r,i,a,o,n={label:0,sent:function(){if(1&a[0])throw a[1];return a[1]},trys:[],ops:[]};return o={next:l(0),throw:l(1),return:l(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function l(o){return function(l){return function(o){if(r)throw new TypeError("Generator is already executing.");for(;n;)try{if(r=1,i&&(a=2&o[0]?i.return:o[0]?i.throw||((a=i.return)&&a.call(i),0):i.next)&&!(a=a.call(i,o[1])).done)return a;switch(i=0,a&&(o=[2&o[0],a.value]),o[0]){case 0:case 1:a=o;break;case 4:return n.label++,{value:o[1],done:!1};case 5:n.label++,i=o[1],o=[0];continue;case 7:o=n.ops.pop(),n.trys.pop();continue;default:if(!((a=(a=n.trys).length>0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]{var e;self,e=()=>(()=>{"use strict";var t={};return(()=>{var e=t;Object.defineProperty(e,"__esModule",{value:!0}),e.WindowPostMessageProxy=void 0;var r=function(){function t(e){void 0===e&&(e={processTrackingProperties:{addTrackingProperties:t.defaultAddTrackingProperties,getTrackingProperties:t.defaultGetTrackingProperties},isErrorMessage:t.defaultIsErrorMessage,receiveWindow:window,name:t.createRandomString()});var r=this;this.pendingRequestPromises={},this.addTrackingProperties=e.processTrackingProperties&&e.processTrackingProperties.addTrackingProperties||t.defaultAddTrackingProperties,this.getTrackingProperties=e.processTrackingProperties&&e.processTrackingProperties.getTrackingProperties||t.defaultGetTrackingProperties,this.isErrorMessage=e.isErrorMessage||t.defaultIsErrorMessage,this.receiveWindow=e.receiveWindow||window,this.name=e.name||t.createRandomString(),this.logMessages=e.logMessages||!1,this.eventSourceOverrideWindow=e.eventSourceOverrideWindow,this.suppressWarnings=e.suppressWarnings||!1,this.logMessages&&console.log("new WindowPostMessageProxy created with name: ".concat(this.name," receiving on window: ").concat(this.receiveWindow.document.title)),this.handlers=[],this.windowMessageHandler=function(t){return r.onMessageReceived(t)},this.start()}return t.defaultAddTrackingProperties=function(e,r){return e[t.messagePropertyName]=r,e},t.defaultGetTrackingProperties=function(e){return e[t.messagePropertyName]},t.defaultIsErrorMessage=function(t){return!!t.error},t.createDeferred=function(){var t={resolve:null,reject:null,promise:null},e=new Promise((function(e,r){t.resolve=e,t.reject=r}));return t.promise=e,t},t.createRandomString=function(){var t=window.crypto||window.msCrypto,e=new Uint32Array(1);return t.getRandomValues(e),e[0].toString(36).substring(1)},t.prototype.addHandler=function(t){this.handlers.push(t)},t.prototype.removeHandler=function(t){var e=this.handlers.indexOf(t);if(-1===e)throw new Error("You attempted to remove a handler but no matching handler was found.");this.handlers.splice(e,1)},t.prototype.start=function(){this.receiveWindow.addEventListener("message",this.windowMessageHandler)},t.prototype.stop=function(){this.receiveWindow.removeEventListener("message",this.windowMessageHandler)},t.prototype.postMessage=function(e,r){var i={id:t.createRandomString()};this.addTrackingProperties(r,i),this.logMessages&&(console.log("".concat(this.name," Posting message:")),console.log(JSON.stringify(r,null," "))),e.postMessage(r,"*");var a=t.createDeferred();return this.pendingRequestPromises[i.id]=a,a.promise},t.prototype.sendResponse=function(t,e,r){this.addTrackingProperties(e,r),this.logMessages&&(console.log("".concat(this.name," Sending response:")),console.log(JSON.stringify(e,null," "))),t.postMessage(e,"*")},t.prototype.onMessageReceived=function(t){var e=this;this.logMessages&&(console.log("".concat(this.name," Received message:")),console.log("type: ".concat(t.type)),console.log(JSON.stringify(t.data,null," ")));var r=this.eventSourceOverrideWindow||t.source;if(r){var i=t.data;if("object"==typeof i){var a,o;try{a=this.getTrackingProperties(i)}catch(t){this.suppressWarnings||console.warn("Proxy(".concat(this.name,"): Error occurred when attempting to get tracking properties from incoming message:"),JSON.stringify(i,null," "),"Error: ",t)}if(a&&(o=this.pendingRequestPromises[a.id]),o){var n=!0;try{n=this.isErrorMessage(i)}catch(t){console.warn("Proxy(".concat(this.name,") Error occurred when trying to determine if message is consider an error response. Message: "),JSON.stringify(i,null,""),"Error: ",t)}n?o.reject(i):o.resolve(i),delete this.pendingRequestPromises[a.id]}else this.handlers.some((function(t){var o=!1;try{o=t.test(i)}catch(t){e.suppressWarnings||console.warn("Proxy(".concat(e.name,"): Error occurred when handler was testing incoming message:"),JSON.stringify(i,null," "),"Error: ",t)}if(o){var n=void 0;try{n=Promise.resolve(t.handle(i))}catch(t){e.suppressWarnings||console.warn("Proxy(".concat(e.name,"): Error occurred when handler was processing incoming message:"),JSON.stringify(i,null," "),"Error: ",t),n=Promise.resolve()}return n.then((function(t){if(!t){var o="Handler for message: ".concat(JSON.stringify(i,null," ")," did not return a response message. The default response message will be returned instead.");e.suppressWarnings||console.warn("Proxy(".concat(e.name,"): ").concat(o)),t={warning:o}}e.sendResponse(r,t,a)})),!0}}))||this.suppressWarnings||console.warn("Proxy(".concat(this.name,") did not handle message. Handlers: ").concat(this.handlers.length," Message: ").concat(JSON.stringify(i,null,""),"."))}else this.suppressWarnings||console.warn("Proxy(".concat(this.name,"): Received message that was not an object. Discarding message"))}},t.messagePropertyName="windowPostMessageProxy",t}();e.WindowPostMessageProxy=r})(),t})(),t.exports=e()}},e={};function r(i){var a=e[i];if(void 0!==a)return a.exports;var o=e[i]={exports:{}};return t[i].call(o.exports,o,o.exports,r),o.exports}var i={};return(()=>{var t=i;Object.defineProperty(t,"__esModule",{value:!0}),t.RelativeTimeFilterBuilder=t.RelativeDateFilterBuilder=t.TopNFilterBuilder=t.AdvancedFilterBuilder=t.BasicFilterBuilder=t.Create=t.QuickCreate=t.VisualDescriptor=t.Visual=t.Qna=t.Page=t.Embed=t.Tile=t.Dashboard=t.Report=t.models=t.factories=t.service=void 0;var e=r(149);t.models=e;var a=r(562);t.service=a;var o=r(357);t.factories=o;var n=r(125);Object.defineProperty(t,"Report",{enumerable:!0,get:function(){return n.Report}});var l=r(365);Object.defineProperty(t,"Dashboard",{enumerable:!0,get:function(){return l.Dashboard}});var s=r(43);Object.defineProperty(t,"Tile",{enumerable:!0,get:function(){return s.Tile}});var u=r(932);Object.defineProperty(t,"Embed",{enumerable:!0,get:function(){return u.Embed}});var d=r(220);Object.defineProperty(t,"Page",{enumerable:!0,get:function(){return d.Page}});var c=r(148);Object.defineProperty(t,"Qna",{enumerable:!0,get:function(){return c.Qna}});var p=r(23);Object.defineProperty(t,"Visual",{enumerable:!0,get:function(){return p.Visual}});var f=r(558);Object.defineProperty(t,"VisualDescriptor",{enumerable:!0,get:function(){return f.VisualDescriptor}});var h=r(714);Object.defineProperty(t,"QuickCreate",{enumerable:!0,get:function(){return h.QuickCreate}});var v=r(536);Object.defineProperty(t,"Create",{enumerable:!0,get:function(){return v.Create}});var y=r(567);Object.defineProperty(t,"BasicFilterBuilder",{enumerable:!0,get:function(){return y.BasicFilterBuilder}}),Object.defineProperty(t,"AdvancedFilterBuilder",{enumerable:!0,get:function(){return y.AdvancedFilterBuilder}}),Object.defineProperty(t,"TopNFilterBuilder",{enumerable:!0,get:function(){return y.TopNFilterBuilder}}),Object.defineProperty(t,"RelativeDateFilterBuilder",{enumerable:!0,get:function(){return y.RelativeDateFilterBuilder}}),Object.defineProperty(t,"RelativeTimeFilterBuilder",{enumerable:!0,get:function(){return y.RelativeTimeFilterBuilder}});var m=new a.Service(o.hpmFactory,o.wpmpFactory,o.routerFactory);window.powerbi&&window.powerBISDKGlobalServiceInstanceName?window[window.powerBISDKGlobalServiceInstanceName]=m:window.powerbi=m})(),i})())); \ No newline at end of file +!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,(()=>(()=>{var t={615:function(t){var e;e=function(){return function(t){var e={};function r(i){if(e[i])return e[i].exports;var a=e[i]={exports:{},id:i,loaded:!1};return t[i].call(a.exports,a,a.exports,r),a.loaded=!0,a.exports}return r.m=t,r.c=e,r.p="",r(0)}([function(t,e){"use strict";var r=function(){function t(t,e,r){void 0===e&&(e={}),this.defaultHeaders=e,this.defaultTargetWindow=r,this.windowPostMessageProxy=t}return t.addTrackingProperties=function(t,e){return t.headers=t.headers||{},e&&e.id&&(t.headers.id=e.id),t},t.getTrackingProperties=function(t){return{id:t.headers&&t.headers.id}},t.isErrorMessage=function(t){return"number"==typeof(t&&t.statusCode)&&!(200<=t.statusCode&&t.statusCode<300)},t.prototype.get=function(t,e,r){return void 0===e&&(e={}),void 0===r&&(r=this.defaultTargetWindow),this.send({method:"GET",url:t,headers:e},r)},t.prototype.post=function(t,e,r,i){return void 0===r&&(r={}),void 0===i&&(i=this.defaultTargetWindow),this.send({method:"POST",url:t,headers:r,body:e},i)},t.prototype.put=function(t,e,r,i){return void 0===r&&(r={}),void 0===i&&(i=this.defaultTargetWindow),this.send({method:"PUT",url:t,headers:r,body:e},i)},t.prototype.patch=function(t,e,r,i){return void 0===r&&(r={}),void 0===i&&(i=this.defaultTargetWindow),this.send({method:"PATCH",url:t,headers:r,body:e},i)},t.prototype.delete=function(t,e,r,i){return void 0===e&&(e=null),void 0===r&&(r={}),void 0===i&&(i=this.defaultTargetWindow),this.send({method:"DELETE",url:t,headers:r,body:e},i)},t.prototype.send=function(t,e){if(void 0===e&&(e=this.defaultTargetWindow),t.headers=this.assign({},this.defaultHeaders,t.headers),!e)throw new Error("target window is not provided. You must either provide the target window explicitly as argument to request, or specify default target window when constructing instance of this class.");return this.windowPostMessageProxy.postMessage(e,t)},t.prototype.assign=function(t){for(var e=[],r=1;r(()=>{var t=[function(t,e,r){var i,a=this&&this.__extends||(i=function(t,e){return i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},i(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.TextAlignment=e.CommonErrorCodes=e.BookmarksPlayMode=e.ExportDataType=e.QnaMode=e.PageNavigationPosition=e.BrowserPrintAdjustmentsMode=e.AggregateFunction=e.DataCacheMode=e.CredentialType=e.isPercentOfGrandTotal=e.isColumnAggr=e.isHierarchyLevelAggr=e.isHierarchyLevel=e.isColumn=e.isMeasure=e.getFilterType=e.isBasicFilterWithKeys=e.isFilterKeyColumnsTarget=e.HierarchyFilter=e.AdvancedFilter=e.TupleFilter=e.IdentityFilter=e.BasicFilterWithKeys=e.BasicFilter=e.RelativeTimeFilter=e.RelativeDateFilter=e.TopNFilter=e.IncludeExcludeFilter=e.NotSupportedFilter=e.Filter=e.RelativeDateOperators=e.RelativeDateFilterTimeUnit=e.FilterType=e.FiltersLevel=e.FiltersOperations=e.MenuLocation=e.ContrastMode=e.TokenType=e.ViewMode=e.Permissions=e.SectionVisibility=e.ReportAlignment=e.HyperlinkClickBehavior=e.LayoutType=e.VisualContainerDisplayMode=e.BackgroundType=e.DisplayOption=e.PageSizeType=e.TraceType=void 0,e.validateVisualHeader=e.validateExportDataRequest=e.validateQnaInterpretInputData=e.validateLoadQnaConfiguration=e.validateSaveAsParameters=e.validateUpdateFiltersRequest=e.validateFilter=e.validatePage=e.validateTileLoad=e.validateDashboardLoad=e.validateQuickCreate=e.validateCreateReport=e.validatePaginatedReportLoad=e.validateReportLoad=e.validateMenuGroupExtension=e.validateExtension=e.validateCustomPageSize=e.validateVisualizationsPane=e.validateSyncSlicersPane=e.validateSelectionPane=e.validatePageNavigationPane=e.validateFieldsPane=e.validateFiltersPane=e.validateBookmarksPane=e.validatePanes=e.validateSettings=e.validateCaptureBookmarkRequest=e.validateApplyBookmarkStateRequest=e.validateApplyBookmarkByNameRequest=e.validateAddBookmarkRequest=e.validatePlayBookmarkRequest=e.validateSlicerState=e.validateSlicer=e.validateVisualSelector=e.isIExtensionArray=e.isIExtensions=e.isGroupedMenuExtension=e.isFlatMenuExtension=e.isReportFiltersArray=e.isOnLoadFilters=e.VisualDataRoleKindPreference=e.VisualDataRoleKind=e.CommandDisplayOption=e.SlicerTargetSelector=e.VisualTypeSelector=e.VisualSelector=e.PageSelector=e.Selector=e.SortDirection=e.LegendPosition=void 0,e.validatePrintSettings=e.validateZoomLevel=e.validateCustomTheme=e.validateCommandsSettings=e.validateVisualSettings=void 0;var o,n,l,s,u,d,c,p,f,h,v,y,m,V,g,b,w,P,S,O=r(1);(S=e.TraceType||(e.TraceType={}))[S.Information=0]="Information",S[S.Verbose=1]="Verbose",S[S.Warning=2]="Warning",S[S.Error=3]="Error",S[S.ExpectedError=4]="ExpectedError",S[S.UnexpectedError=5]="UnexpectedError",S[S.Fatal=6]="Fatal",(P=e.PageSizeType||(e.PageSizeType={}))[P.Widescreen=0]="Widescreen",P[P.Standard=1]="Standard",P[P.Cortana=2]="Cortana",P[P.Letter=3]="Letter",P[P.Custom=4]="Custom",P[P.Mobile=5]="Mobile",(w=e.DisplayOption||(e.DisplayOption={}))[w.FitToPage=0]="FitToPage",w[w.FitToWidth=1]="FitToWidth",w[w.ActualSize=2]="ActualSize",(b=e.BackgroundType||(e.BackgroundType={}))[b.Default=0]="Default",b[b.Transparent=1]="Transparent",(g=e.VisualContainerDisplayMode||(e.VisualContainerDisplayMode={}))[g.Visible=0]="Visible",g[g.Hidden=1]="Hidden",(V=e.LayoutType||(e.LayoutType={}))[V.Master=0]="Master",V[V.Custom=1]="Custom",V[V.MobilePortrait=2]="MobilePortrait",V[V.MobileLandscape=3]="MobileLandscape",(m=e.HyperlinkClickBehavior||(e.HyperlinkClickBehavior={}))[m.Navigate=0]="Navigate",m[m.NavigateAndRaiseEvent=1]="NavigateAndRaiseEvent",m[m.RaiseEvent=2]="RaiseEvent",(y=e.ReportAlignment||(e.ReportAlignment={}))[y.Left=0]="Left",y[y.Center=1]="Center",y[y.Right=2]="Right",y[y.None=3]="None",(v=e.SectionVisibility||(e.SectionVisibility={}))[v.AlwaysVisible=0]="AlwaysVisible",v[v.HiddenInViewMode=1]="HiddenInViewMode",(h=e.Permissions||(e.Permissions={}))[h.Read=0]="Read",h[h.ReadWrite=1]="ReadWrite",h[h.Copy=2]="Copy",h[h.Create=4]="Create",h[h.All=7]="All",(f=e.ViewMode||(e.ViewMode={}))[f.View=0]="View",f[f.Edit=1]="Edit",(p=e.TokenType||(e.TokenType={}))[p.Aad=0]="Aad",p[p.Embed=1]="Embed",(c=e.ContrastMode||(e.ContrastMode={}))[c.None=0]="None",c[c.HighContrast1=1]="HighContrast1",c[c.HighContrast2=2]="HighContrast2",c[c.HighContrastBlack=3]="HighContrastBlack",c[c.HighContrastWhite=4]="HighContrastWhite",(d=e.MenuLocation||(e.MenuLocation={}))[d.Bottom=0]="Bottom",d[d.Top=1]="Top",(u=e.FiltersOperations||(e.FiltersOperations={}))[u.RemoveAll=0]="RemoveAll",u[u.ReplaceAll=1]="ReplaceAll",u[u.Add=2]="Add",u[u.Replace=3]="Replace",(s=e.FiltersLevel||(e.FiltersLevel={}))[s.Report=0]="Report",s[s.Page=1]="Page",s[s.Visual=2]="Visual",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",t[t.Identity=8]="Identity",t[t.Hierarchy=9]="Hierarchy"}(o=e.FilterType||(e.FilterType={})),(l=e.RelativeDateFilterTimeUnit||(e.RelativeDateFilterTimeUnit={}))[l.Days=0]="Days",l[l.Weeks=1]="Weeks",l[l.CalendarWeeks=2]="CalendarWeeks",l[l.Months=3]="Months",l[l.CalendarMonths=4]="CalendarMonths",l[l.Years=5]="Years",l[l.CalendarYears=6]="CalendarYears",l[l.Minutes=7]="Minutes",l[l.Hours=8]="Hours",(n=e.RelativeDateOperators||(e.RelativeDateOperators={}))[n.InLast=0]="InLast",n[n.InThis=1]="InThis",n[n.InNext=2]="InNext";var _=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=_;var T=function(t){function e(r,i,a){var n=t.call(this,r,o.Unknown)||this;return n.message=i,n.notSupportedTypeName=a,n.schemaUrl=e.schemaUrl,n}return a(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}(_);e.NotSupportedFilter=T;var E=function(t){function e(r,i,a){var n=t.call(this,r,o.IncludeExclude)||this;return n.values=a,n.isExclude=i,n.schemaUrl=e.schemaUrl,n}return a(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}(_);e.IncludeExcludeFilter=E;var F=function(t){function e(r,i,a,n){var l=t.call(this,r,o.TopN)||this;return l.operator=i,l.itemCount=a,l.schemaUrl=e.schemaUrl,l.orderBy=n,l}return a(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}(_);e.TopNFilter=F;var C=function(t){function e(r,i,a,n,l){var s=t.call(this,r,o.RelativeDate)||this;return s.operator=i,s.timeUnitsCount=a,s.timeUnitType=n,s.includeToday=l,s.schemaUrl=e.schemaUrl,s}return a(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}(_);e.RelativeDateFilter=C;var R=function(t){function e(r,i,a,n){var l=t.call(this,r,o.RelativeTime)||this;return l.operator=i,l.timeUnitsCount=a,l.timeUnitType=n,l.schemaUrl=e.schemaUrl,l}return a(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}(_);e.RelativeTimeFilter=R;var k=function(t){function e(r,i){for(var a=[],n=2;n0&&!a)throw new Error("You should pass the values to be filtered for each key. You passed: no values and ".concat(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,s=o.keyValues;l2)throw new Error("AdvancedFilters may not have more than two conditions. You passed: ".concat(a.length));if(1===l.length&&"And"!==i)throw new Error('Logical Operator must be "And" when there is only one condition provided');return s.conditions=l,s}return a(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}(_);e.AdvancedFilter=M;var I,L,q,D,N,B,U,H,W,z=function(t){function e(r,i){var a=t.call(this,r,o.Hierarchy)||this;return a.schemaUrl=e.schemaUrl,a.hierarchyData=i,a}return a(e,t),e.prototype.toJSON=function(){var e=t.prototype.toJSON.call(this);return e.hierarchyData=this.hierarchyData,e.target=this.target,e},e.schemaUrl="http://powerbi.com/product/schema#hierarchy",e}(_);function Q(t){if(t.filterType)return t.filterType;var e=t,r=t;return"string"==typeof e.operator&&Array.isArray(e.values)?o.Basic:"string"==typeof r.logicalOperator&&Array.isArray(r.conditions)?o.Advanced:o.Unknown}function G(t){return!(!t.table||!t.column||t.aggregationFunction)}e.HierarchyFilter=z,e.isFilterKeyColumnsTarget=function(t){return G(t)&&!!t.keys},e.isBasicFilterWithKeys=function(t){return Q(t)===o.Basic&&!!t.keyValues},e.getFilterType=Q,e.isMeasure=function(t){return void 0!==t.table&&void 0!==t.measure},e.isColumn=G,e.isHierarchyLevel=function(t){return!(!(t.table&&t.hierarchy&&t.hierarchyLevel)||t.aggregationFunction)},e.isHierarchyLevelAggr=function(t){return!!(t.table&&t.hierarchy&&t.hierarchyLevel&&t.aggregationFunction)},e.isColumnAggr=function(t){return!!(t.table&&t.column&&t.aggregationFunction)},e.isPercentOfGrandTotal=function(t){return!!t.percentOfGrandTotal},(W=e.CredentialType||(e.CredentialType={}))[W.NoConnection=0]="NoConnection",W[W.OnBehalfOf=1]="OnBehalfOf",W[W.Anonymous=2]="Anonymous",(H=e.DataCacheMode||(e.DataCacheMode={}))[H.Import=0]="Import",H[H.DirectQuery=1]="DirectQuery",(U=e.AggregateFunction||(e.AggregateFunction={}))[U.Default=1]="Default",U[U.None=2]="None",U[U.Sum=3]="Sum",U[U.Min=4]="Min",U[U.Max=5]="Max",U[U.Count=6]="Count",U[U.Average=7]="Average",U[U.DistinctCount=8]="DistinctCount",(B=e.BrowserPrintAdjustmentsMode||(e.BrowserPrintAdjustmentsMode={}))[B.Default=0]="Default",B[B.NoAdjustments=1]="NoAdjustments",(N=e.PageNavigationPosition||(e.PageNavigationPosition={}))[N.Bottom=0]="Bottom",N[N.Left=1]="Left",(D=e.QnaMode||(e.QnaMode={}))[D.Interactive=0]="Interactive",D[D.ResultOnly=1]="ResultOnly",(q=e.ExportDataType||(e.ExportDataType={}))[q.Summarized=0]="Summarized",q[q.Underlying=1]="Underlying",(L=e.BookmarksPlayMode||(e.BookmarksPlayMode={}))[L.Off=0]="Off",L[L.Presentation=1]="Presentation",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"},(I=e.SortDirection||(e.SortDirection={}))[I.Ascending=1]="Ascending",I[I.Descending=2]="Descending";var J=function(){function t(t){this.$schema=t}return t.prototype.toJSON=function(){return{$schema:this.$schema}},t}();e.Selector=J;var K=function(t){function e(r){var i=t.call(this,e.schemaUrl)||this;return i.pageName=r,i}return a(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}(J);e.PageSelector=K;var Y=function(t){function e(r){var i=t.call(this,e.schemaUrl)||this;return i.visualName=r,i}return a(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}(J);e.VisualSelector=Y;var $=function(t){function e(e){var r=t.call(this,Y.schemaUrl)||this;return r.visualType=e,r}return a(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}(J);e.VisualTypeSelector=$;var Z,X,tt,et=function(t){function e(e){var r=t.call(this,Y.schemaUrl)||this;return r.target=e,r}return a(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}(J);function rt(t){return Array.isArray(t)}function it(t){return t&&!!t.groupName}function at(t){return Array.isArray(t)}function ot(t){var e=t.message;return e||(e="".concat(t.path," is invalid. Not meeting ").concat(t.keyword," constraint")),{message:e}}e.SlicerTargetSelector=et,(tt=e.CommandDisplayOption||(e.CommandDisplayOption={}))[tt.Enabled=0]="Enabled",tt[tt.Disabled=1]="Disabled",tt[tt.Hidden=2]="Hidden",(X=e.VisualDataRoleKind||(e.VisualDataRoleKind={}))[X.Grouping=0]="Grouping",X[X.Measure=1]="Measure",X[X.GroupingOrMeasure=2]="GroupingOrMeasure",(Z=e.VisualDataRoleKindPreference||(e.VisualDataRoleKindPreference={}))[Z.Measure=0]="Measure",Z[Z.Grouping=1]="Grouping",e.isOnLoadFilters=function(t){return t&&!rt(t)},e.isReportFiltersArray=rt,e.isFlatMenuExtension=function(t){return t&&!it(t)},e.isGroupedMenuExtension=it,e.isIExtensions=function(t){return t&&!at(t)},e.isIExtensionArray=at,e.validateVisualSelector=function(t){var e=O.Validators.visualSelectorValidator.validate(t);return e?e.map(ot):void 0},e.validateSlicer=function(t){var e=O.Validators.slicerValidator.validate(t);return e?e.map(ot):void 0},e.validateSlicerState=function(t){var e=O.Validators.slicerStateValidator.validate(t);return e?e.map(ot):void 0},e.validatePlayBookmarkRequest=function(t){var e=O.Validators.playBookmarkRequestValidator.validate(t);return e?e.map(ot):void 0},e.validateAddBookmarkRequest=function(t){var e=O.Validators.addBookmarkRequestValidator.validate(t);return e?e.map(ot):void 0},e.validateApplyBookmarkByNameRequest=function(t){var e=O.Validators.applyBookmarkByNameRequestValidator.validate(t);return e?e.map(ot):void 0},e.validateApplyBookmarkStateRequest=function(t){var e=O.Validators.applyBookmarkStateRequestValidator.validate(t);return e?e.map(ot):void 0},e.validateCaptureBookmarkRequest=function(t){var e=O.Validators.captureBookmarkRequestValidator.validate(t);return e?e.map(ot):void 0},e.validateSettings=function(t){var e=O.Validators.settingsValidator.validate(t);return e?e.map(ot):void 0},e.validatePanes=function(t){var e=O.Validators.reportPanesValidator.validate(t);return e?e.map(ot):void 0},e.validateBookmarksPane=function(t){var e=O.Validators.bookmarksPaneValidator.validate(t);return e?e.map(ot):void 0},e.validateFiltersPane=function(t){var e=O.Validators.filtersPaneValidator.validate(t);return e?e.map(ot):void 0},e.validateFieldsPane=function(t){var e=O.Validators.fieldsPaneValidator.validate(t);return e?e.map(ot):void 0},e.validatePageNavigationPane=function(t){var e=O.Validators.pageNavigationPaneValidator.validate(t);return e?e.map(ot):void 0},e.validateSelectionPane=function(t){var e=O.Validators.selectionPaneValidator.validate(t);return e?e.map(ot):void 0},e.validateSyncSlicersPane=function(t){var e=O.Validators.syncSlicersPaneValidator.validate(t);return e?e.map(ot):void 0},e.validateVisualizationsPane=function(t){var e=O.Validators.visualizationsPaneValidator.validate(t);return e?e.map(ot):void 0},e.validateCustomPageSize=function(t){var e=O.Validators.customPageSizeValidator.validate(t);return e?e.map(ot):void 0},e.validateExtension=function(t){var e=O.Validators.extensionValidator.validate(t);return e?e.map(ot):void 0},e.validateMenuGroupExtension=function(t){var e=O.Validators.menuGroupExtensionValidator.validate(t);return e?e.map(ot):void 0},e.validateReportLoad=function(t){var e=O.Validators.reportLoadValidator.validate(t);return e?e.map(ot):void 0},e.validatePaginatedReportLoad=function(t){var e=O.Validators.paginatedReportLoadValidator.validate(t);return e?e.map(ot):void 0},e.validateCreateReport=function(t){var e=O.Validators.reportCreateValidator.validate(t);return e?e.map(ot):void 0},e.validateQuickCreate=function(t){var e=O.Validators.quickCreateValidator.validate(t);return e?e.map(ot):void 0},e.validateDashboardLoad=function(t){var e=O.Validators.dashboardLoadValidator.validate(t);return e?e.map(ot):void 0},e.validateTileLoad=function(t){var e=O.Validators.tileLoadValidator.validate(t);return e?e.map(ot):void 0},e.validatePage=function(t){var e=O.Validators.pageValidator.validate(t);return e?e.map(ot):void 0},e.validateFilter=function(t){var e=O.Validators.filterValidator.validate(t);return e?e.map(ot):void 0},e.validateUpdateFiltersRequest=function(t){var e=O.Validators.updateFiltersRequestValidator.validate(t);return e?e.map(ot):void 0},e.validateSaveAsParameters=function(t){var e=O.Validators.saveAsParametersValidator.validate(t);return e?e.map(ot):void 0},e.validateLoadQnaConfiguration=function(t){var e=O.Validators.loadQnaValidator.validate(t);return e?e.map(ot):void 0},e.validateQnaInterpretInputData=function(t){var e=O.Validators.qnaInterpretInputDataValidator.validate(t);return e?e.map(ot):void 0},e.validateExportDataRequest=function(t){var e=O.Validators.exportDataRequestValidator.validate(t);return e?e.map(ot):void 0},e.validateVisualHeader=function(t){var e=O.Validators.visualHeaderValidator.validate(t);return e?e.map(ot):void 0},e.validateVisualSettings=function(t){var e=O.Validators.visualSettingsValidator.validate(t);return e?e.map(ot):void 0},e.validateCommandsSettings=function(t){var e=O.Validators.commandsSettingsValidator.validate(t);return e?e.map(ot):void 0},e.validateCustomTheme=function(t){var e=O.Validators.customThemeValidator.validate(t);return e?e.map(ot):void 0},e.validateZoomLevel=function(t){var e=O.Validators.zoomLevelValidator.validate(t);return e?e.map(ot):void 0},e.validatePrintSettings=function(t){var e=O.Validators.printSettingsValidator.validate(t);return e?e.map(ot):void 0}},(t,e,r)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.Validators=void 0;var i=r(2),a=r(5),o=r(6),n=r(7),l=r(8),s=r(9),u=r(10),d=r(11),c=r(12),p=r(13),f=r(14),h=r(15),v=r(16),y=r(17),m=r(18),V=r(19),g=r(20),b=r(21),w=r(22),P=r(23),S=r(24),O=r(25),_=r(26),T=r(27),E=r(28),F=r(29),C=r(4),R=r(30),k=r(31),x=r(32),A=r(33),j=r(34);e.Validators={addBookmarkRequestValidator:new a.AddBookmarkRequestValidator,advancedFilterTypeValidator:new C.EnumValidator([0]),advancedFilterValidator:new c.AdvancedFilterValidator,anyArrayValidator:new C.ArrayValidator([new _.AnyOfValidator([new C.StringValidator,new C.NumberValidator,new C.BooleanValidator])]),anyFilterValidator:new _.AnyOfValidator([new c.BasicFilterValidator,new c.AdvancedFilterValidator,new c.IncludeExcludeFilterValidator,new c.NotSupportedFilterValidator,new c.RelativeDateFilterValidator,new c.TopNFilterValidator,new c.RelativeTimeFilterValidator,new c.HierarchyFilterValidator]),anyValueValidator:new _.AnyOfValidator([new C.StringValidator,new C.NumberValidator,new C.BooleanValidator]),actionBarValidator:new i.ActionBarValidator,statusBarValidator:new i.StatusBarValidator,applyBookmarkByNameRequestValidator:new a.ApplyBookmarkByNameRequestValidator,applyBookmarkStateRequestValidator:new a.ApplyBookmarkStateRequestValidator,applyBookmarkValidator:new _.AnyOfValidator([new a.ApplyBookmarkByNameRequestValidator,new a.ApplyBookmarkStateRequestValidator]),backgroundValidator:new C.EnumValidator([0,1]),basicFilterTypeValidator:new C.EnumValidator([1]),basicFilterValidator:new c.BasicFilterValidator,booleanArrayValidator:new C.BooleanArrayValidator,booleanValidator:new C.BooleanValidator,bookmarksPaneValidator:new h.BookmarksPaneValidator,captureBookmarkOptionsValidator:new a.CaptureBookmarkOptionsValidator,captureBookmarkRequestValidator:new a.CaptureBookmarkRequestValidator,columnSchemaArrayValidator:new C.ArrayValidator([new k.ColumnSchemaValidator]),commandDisplayOptionValidator:new C.EnumValidator([0,1,2]),commandExtensionSelectorValidator:new _.AnyOfValidator([new b.VisualSelectorValidator,new b.VisualTypeSelectorValidator]),commandExtensionArrayValidator:new C.ArrayValidator([new d.CommandExtensionValidator]),commandExtensionValidator:new d.CommandExtensionValidator,commandsSettingsArrayValidator:new C.ArrayValidator([new o.CommandsSettingsValidator]),commandsSettingsValidator:new o.CommandsSettingsValidator,conditionItemValidator:new c.ConditionItemValidator,contrastModeValidator:new C.EnumValidator([0,1,2,3,4]),credentialDetailsValidator:new F.MapValidator([new C.StringValidator],[new C.StringValidator]),credentialsValidator:new k.CredentialsValidator,credentialTypeValidator:new C.EnumValidator([0,1,2]),customLayoutDisplayOptionValidator:new C.EnumValidator([0,1,2]),customLayoutValidator:new p.CustomLayoutValidator,customPageSizeValidator:new f.CustomPageSizeValidator,customThemeValidator:new n.CustomThemeValidator,dashboardLoadValidator:new l.DashboardLoadValidator,dataCacheModeValidator:new C.EnumValidator([0,1]),datasetBindingValidator:new s.DatasetBindingValidator,datasetCreateConfigValidator:new k.DatasetCreateConfigValidator,datasourceConnectionConfigValidator:new k.DatasourceConnectionConfigValidator,displayStateModeValidator:new C.EnumValidator([0,1]),displayStateValidator:new p.DisplayStateValidator,exportDataRequestValidator:new u.ExportDataRequestValidator,extensionArrayValidator:new C.ArrayValidator([new d.ExtensionValidator]),extensionsValidator:new _.AnyOfValidator([new C.ArrayValidator([new d.ExtensionValidator]),new d.ExtensionsValidator]),extensionPointsValidator:new d.ExtensionPointsValidator,extensionValidator:new d.ExtensionValidator,fieldForbiddenValidator:new T.FieldForbiddenValidator,fieldRequiredValidator:new E.FieldRequiredValidator,fieldsPaneValidator:new h.FieldsPaneValidator,filterColumnTargetValidator:new c.FilterColumnTargetValidator,filterDisplaySettingsValidator:new c.FilterDisplaySettingsValidator,filterConditionsValidator:new C.ArrayValidator([new c.ConditionItemValidator]),filterHierarchyTargetValidator:new c.FilterHierarchyTargetValidator,filterMeasureTargetValidator:new c.FilterMeasureTargetValidator,filterTargetValidator:new _.AnyOfValidator([new c.FilterColumnTargetValidator,new c.FilterHierarchyTargetValidator,new c.FilterMeasureTargetValidator,new C.ArrayValidator([new _.AnyOfValidator([new c.FilterColumnTargetValidator,new c.FilterHierarchyTargetValidator,new c.FilterMeasureTargetValidator,new c.FilterKeyColumnsTargetValidator,new c.FilterKeyHierarchyTargetValidator])])]),filterValidator:new c.FilterValidator,filterTypeValidator:new C.EnumValidator([0,1,2,3,4,5,6,7,9]),filtersArrayValidator:new C.ArrayValidator([new c.FilterValidator]),filtersOperationsUpdateValidator:new C.EnumValidator([1,2,3]),filtersOperationsRemoveAllValidator:new C.EnumValidator([0]),filtersPaneValidator:new h.FiltersPaneValidator,hyperlinkClickBehaviorValidator:new C.EnumValidator([0,1,2]),includeExcludeFilterValidator:new c.IncludeExcludeFilterValidator,includeExludeFilterTypeValidator:new C.EnumValidator([3]),hierarchyFilterTypeValidator:new C.EnumValidator([9]),hierarchyFilterValuesValidator:new C.ArrayValidator([new c.HierarchyFilterNodeValidator]),layoutTypeValidator:new C.EnumValidator([0,1,2,3]),loadQnaValidator:new v.LoadQnaValidator,menuExtensionValidator:new _.AnyOfValidator([new d.FlatMenuExtensionValidator,new d.GroupedMenuExtensionValidator]),menuGroupExtensionArrayValidator:new C.ArrayValidator([new d.MenuGroupExtensionValidator]),menuGroupExtensionValidator:new d.MenuGroupExtensionValidator,menuLocationValidator:new C.EnumValidator([0,1]),notSupportedFilterTypeValidator:new C.EnumValidator([2]),notSupportedFilterValidator:new c.NotSupportedFilterValidator,numberArrayValidator:new C.NumberArrayValidator,numberValidator:new C.NumberValidator,onLoadFiltersBaseValidator:new _.AnyOfValidator([new c.OnLoadFiltersBaseValidator,new c.OnLoadFiltersBaseRemoveOperationValidator]),pageLayoutValidator:new F.MapValidator([new C.StringValidator],[new p.VisualLayoutValidator]),pageNavigationPaneValidator:new h.PageNavigationPaneValidator,pageNavigationPositionValidator:new C.EnumValidator([0,1]),pageSizeTypeValidator:new C.EnumValidator([0,1,2,3,4,5]),pageSizeValidator:new f.PageSizeValidator,pageValidator:new f.PageValidator,pageViewFieldValidator:new f.PageViewFieldValidator,pagesLayoutValidator:new F.MapValidator([new C.StringValidator],[new p.PageLayoutValidator]),paginatedReportCommandsValidator:new o.PaginatedReportCommandsValidator,paginatedReportDatasetBindingArrayValidator:new C.ArrayValidator([new j.PaginatedReportDatasetBindingValidator]),paginatedReportLoadValidator:new V.PaginatedReportLoadValidator,paginatedReportsettingsValidator:new w.PaginatedReportSettingsValidator,parameterValuesArrayValidator:new C.ArrayValidator([new V.ReportParameterFieldsValidator]),parametersPanelValidator:new R.ParametersPanelValidator,permissionsValidator:new C.EnumValidator([0,1,2,4,7]),playBookmarkRequestValidator:new a.PlayBookmarkRequestValidator,printSettingsValidator:new A.PrintSettingsValidator,qnaInterpretInputDataValidator:new v.QnaInterpretInputDataValidator,qnaPanesValidator:new h.QnaPanesValidator,qnaSettingValidator:new v.QnaSettingsValidator,quickCreateValidator:new x.QuickCreateValidator,rawDataValidator:new C.ArrayValidator([new C.ArrayValidator([new C.StringValidator])]),relativeDateFilterOperatorValidator:new C.EnumValidator([0,1,2]),relativeDateFilterTimeUnitTypeValidator:new C.EnumValidator([0,1,2,3,4,5,6]),relativeDateFilterTypeValidator:new C.EnumValidator([4]),relativeDateFilterValidator:new c.RelativeDateFilterValidator,relativeDateTimeFilterTypeValidator:new C.EnumValidator([4,7]),relativeDateTimeFilterUnitTypeValidator:new C.EnumValidator([0,1,2,3,4,5,6,7,8]),relativeTimeFilterTimeUnitTypeValidator:new C.EnumValidator([7,8]),relativeTimeFilterTypeValidator:new C.EnumValidator([7]),relativeTimeFilterValidator:new c.RelativeTimeFilterValidator,reportBarsValidator:new i.ReportBarsValidator,reportCreateValidator:new y.ReportCreateValidator,reportLoadFiltersValidator:new _.AnyOfValidator([new C.ArrayValidator([new c.FilterValidator]),new c.OnLoadFiltersValidator]),reportLoadValidator:new m.ReportLoadValidator,reportPanesValidator:new h.ReportPanesValidator,saveAsParametersValidator:new g.SaveAsParametersValidator,selectionPaneValidator:new h.SelectionPaneValidator,settingsValidator:new w.SettingsValidator,singleCommandSettingsValidator:new o.SingleCommandSettingsValidator,slicerSelectorValidator:new _.AnyOfValidator([new b.VisualSelectorValidator,new b.SlicerTargetSelectorValidator]),slicerStateValidator:new P.SlicerStateValidator,slicerTargetValidator:new _.AnyOfValidator([new c.FilterColumnTargetValidator,new c.FilterHierarchyTargetValidator,new c.FilterMeasureTargetValidator,new c.FilterKeyColumnsTargetValidator,new c.FilterKeyHierarchyTargetValidator]),slicerValidator:new P.SlicerValidator,stringArrayValidator:new C.StringArrayValidator,stringValidator:new C.StringValidator,syncSlicersPaneValidator:new h.SyncSlicersPaneValidator,tableDataArrayValidator:new C.ArrayValidator([new k.TableDataValidator]),tableSchemaListValidator:new C.ArrayValidator([new k.TableSchemaValidator]),tileLoadValidator:new S.TileLoadValidator,tokenTypeValidator:new C.EnumValidator([0,1]),topNFilterTypeValidator:new C.EnumValidator([5]),topNFilterValidator:new c.TopNFilterValidator,updateFiltersRequestValidator:new _.AnyOfValidator([new c.UpdateFiltersRequestValidator,new c.RemoveFiltersRequestValidator]),viewModeValidator:new C.EnumValidator([0,1]),visualCommandSelectorValidator:new _.AnyOfValidator([new b.VisualSelectorValidator,new b.VisualTypeSelectorValidator]),visualHeaderSelectorValidator:new _.AnyOfValidator([new b.VisualSelectorValidator,new b.VisualTypeSelectorValidator]),visualHeaderSettingsValidator:new O.VisualHeaderSettingsValidator,visualHeaderValidator:new O.VisualHeaderValidator,visualHeadersValidator:new C.ArrayValidator([new O.VisualHeaderValidator]),visualizationsPaneValidator:new h.VisualizationsPaneValidator,visualLayoutValidator:new p.VisualLayoutValidator,visualSelectorValidator:new b.VisualSelectorValidator,visualSettingsValidator:new O.VisualSettingsValidator,visualTypeSelectorValidator:new b.VisualTypeSelectorValidator,zoomLevelValidator:new C.RangeValidator(.25,4)}},function(t,e,r){var i,a=this&&this.__extends||(i=function(t,e){return i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},i(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.StatusBarValidator=e.ActionBarValidator=e.ReportBarsValidator=void 0;var o=r(3),n=r(4),l=r(1),s=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return a(e,t),e.prototype.validate=function(e,r,i){if(null==e)return null;var a=t.prototype.validate.call(this,e,r,i);if(a)return a;var n=[{field:"actionBar",validators:[l.Validators.actionBarValidator]},{field:"statusBar",validators:[l.Validators.statusBarValidator]}];return new o.MultipleFieldsValidator(n).validate(e,r,i)},e}(n.ObjectValidator);e.ReportBarsValidator=s;var u=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return a(e,t),e.prototype.validate=function(e,r,i){if(null==e)return null;var a=t.prototype.validate.call(this,e,r,i);if(a)return a;var n=[{field:"visible",validators:[l.Validators.booleanValidator]}];return new o.MultipleFieldsValidator(n).validate(e,r,i)},e}(n.ObjectValidator);e.ActionBarValidator=u;var d=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return a(e,t),e.prototype.validate=function(e,r,i){if(null==e)return null;var a=t.prototype.validate.call(this,e,r,i);if(a)return a;var n=[{field:"visible",validators:[l.Validators.booleanValidator]}];return new o.MultipleFieldsValidator(n).validate(e,r,i)},e}(n.ObjectValidator);e.StatusBarValidator=d},(t,e)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.MultipleFieldsValidator=void 0;var r=function(){function t(t){this.fieldValidatorsPairs=t}return t.prototype.validate=function(t,e,r){if(!this.fieldValidatorsPairs)return null;for(var i=e?e+"."+r:r,a=0,o=this.fieldValidatorsPairs;athis.maxValue||e{Object.defineProperty(e,"__esModule",{value:!0}),e.AnyOfValidator=void 0;var r=function(){function t(t){this.validators=t}return t.prototype.validate=function(t,e,r){if(null==t)return null;for(var i=!1,a=0,o=this.validators;a{Object.defineProperty(e,"__esModule",{value:!0}),e.FieldForbiddenValidator=void 0;var r=function(){function t(){}return t.prototype.validate=function(t,e,r){return void 0!==t?[{message:r+" is forbidden",path:(e?e+".":"")+r,keyword:"forbidden"}]:null},t}();e.FieldForbiddenValidator=r},(t,e)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.FieldRequiredValidator=void 0;var r=function(){function t(){}return t.prototype.validate=function(t,e,r){return null==t?[{message:r+" is required",path:(e?e+".":"")+r,keyword:"required"}]:null},t}();e.FieldRequiredValidator=r},function(t,e,r){var i,a=this&&this.__extends||(i=function(t,e){return i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},i(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.MapValidator=void 0;var o=function(t){function e(e,r){var i=t.call(this)||this;return i.keyValidators=e,i.valueValidators=r,i}return a(e,t),e.prototype.validate=function(e,r,i){if(null==e)return null;var a=t.prototype.validate.call(this,e,r,i);if(a)return a;for(var o in e)if(e.hasOwnProperty(o)){for(var n=(r?r+".":"")+i+"."+o,l=0,s=this.keyValidators;l2&&"[]"===n.slice(l-2)&&(s=!0,r[n=n.slice(0,l-2)]||(r[n]=[])),a=o[1]?g(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(-1!==(i=t.indexOf("?"))){var l=t.substr(i+1,t.length);t=t.substr(0,i),o=this.parseQueryString(l)}for("/"!==(t=decodeURI(t)).charAt(0)&&(t="/"+t),(e=t.length)>1&&"/"===t.charAt(e-1)&&(t=t.substr(0,e-1),n=!0),r=0;r{Object.defineProperty(e,"__esModule",{value:!0}),e.FilterBuilder=void 0;var r=function(){function t(){}return t.prototype.withTargetObject=function(t){return this.target=t,this},t.prototype.withColumnTarget=function(t,e){return this.target={table:t,column:e},this},t.prototype.withMeasureTarget=function(t,e){return this.target={table:t,measure:e},this},t.prototype.withHierarchyLevelTarget=function(t,e,r){return this.target={table:t,hierarchy:e,hierarchyLevel:r},this},t.prototype.withColumnAggregation=function(t,e,r){return this.target={table:t,column:e,aggregationFunction:r},this},t.prototype.withHierarchyLevelAggregationTarget=function(t,e,r,i){return this.target={table:t,hierarchy:e,hierarchyLevel:r,aggregationFunction:i},this},t}();e.FilterBuilder=r},567:(t,e,r)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.RelativeTimeFilterBuilder=e.RelativeDateFilterBuilder=e.TopNFilterBuilder=e.AdvancedFilterBuilder=e.BasicFilterBuilder=void 0;var i=r(153);Object.defineProperty(e,"BasicFilterBuilder",{enumerable:!0,get:function(){return i.BasicFilterBuilder}});var a=r(674);Object.defineProperty(e,"AdvancedFilterBuilder",{enumerable:!0,get:function(){return a.AdvancedFilterBuilder}});var o=r(664);Object.defineProperty(e,"TopNFilterBuilder",{enumerable:!0,get:function(){return o.TopNFilterBuilder}});var n=r(844);Object.defineProperty(e,"RelativeDateFilterBuilder",{enumerable:!0,get:function(){return n.RelativeDateFilterBuilder}});var l=r(275);Object.defineProperty(e,"RelativeTimeFilterBuilder",{enumerable:!0,get:function(){return l.RelativeTimeFilterBuilder}})},844:function(t,e,r){var i,a=this&&this.__extends||(i=function(t,e){return i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},i(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.RelativeDateFilterBuilder=void 0;var o=r(149),n=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.isTodayIncluded=!0,e}return a(e,t),e.prototype.inLast=function(t,e){return this.operator=o.RelativeDateOperators.InLast,this.timeUnitsCount=t,this.timeUnitType=e,this},e.prototype.inThis=function(t,e){return this.operator=o.RelativeDateOperators.InThis,this.timeUnitsCount=t,this.timeUnitType=e,this},e.prototype.inNext=function(t,e){return this.operator=o.RelativeDateOperators.InNext,this.timeUnitsCount=t,this.timeUnitType=e,this},e.prototype.includeToday=function(t){return this.isTodayIncluded=t,this},e.prototype.build=function(){return new o.RelativeDateFilter(this.target,this.operator,this.timeUnitsCount,this.timeUnitType,this.isTodayIncluded)},e}(r(277).FilterBuilder);e.RelativeDateFilterBuilder=n},275:function(t,e,r){var i,a=this&&this.__extends||(i=function(t,e){return i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},i(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.RelativeTimeFilterBuilder=void 0;var o=r(149),n=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return a(e,t),e.prototype.inLast=function(t,e){return this.operator=o.RelativeDateOperators.InLast,this.timeUnitsCount=t,this.timeUnitType=e,this},e.prototype.inThis=function(t,e){return this.operator=o.RelativeDateOperators.InThis,this.timeUnitsCount=t,this.timeUnitType=e,this},e.prototype.inNext=function(t,e){return this.operator=o.RelativeDateOperators.InNext,this.timeUnitsCount=t,this.timeUnitType=e,this},e.prototype.build=function(){return new o.RelativeTimeFilter(this.target,this.operator,this.timeUnitsCount,this.timeUnitType)},e}(r(277).FilterBuilder);e.RelativeTimeFilterBuilder=n},664:function(t,e,r){var i,a=this&&this.__extends||(i=function(t,e){return i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},i(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.TopNFilterBuilder=void 0;var o=r(149),n=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return a(e,t),e.prototype.top=function(t){return this.operator="Top",this.itemCount=t,this},e.prototype.bottom=function(t){return this.operator="Bottom",this.itemCount=t,this},e.prototype.orderByTarget=function(t){return this.orderByTargetValue=t,this},e.prototype.build=function(){return new o.TopNFilter(this.target,this.operator,this.itemCount,this.orderByTargetValue)},e}(r(277).FilterBuilder);e.TopNFilterBuilder=n},460:function(t,e,r){var i=this&&this.__awaiter||function(t,e,r,i){return new(r||(r=Promise))((function(a,o){function n(t){try{s(i.next(t))}catch(t){o(t)}}function l(t){try{s(i.throw(t))}catch(t){o(t)}}function s(t){var e;t.done?a(t.value):(e=t.value,e instanceof r?e:new r((function(t){t(e)}))).then(n,l)}s((i=i.apply(t,e||[])).next())}))},a=this&&this.__generator||function(t,e){var r,i,a,o,n={label:0,sent:function(){if(1&a[0])throw a[1];return a[1]},trys:[],ops:[]};return o={next:l(0),throw:l(1),return:l(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function l(o){return function(l){return function(o){if(r)throw new TypeError("Generator is already executing.");for(;n;)try{if(r=1,i&&(a=2&o[0]?i.return:o[0]?i.throw||((a=i.return)&&a.call(i),0):i.next)&&!(a=a.call(i,o[1])).done)return a;switch(i=0,a&&(o=[2&o[0],a.value]),o[0]){case 0:case 1:a=o;break;case 4:return n.label++,{value:o[1],done:!1};case 5:n.label++,i=o[1],o=[0];continue;case 7:o=n.ops.pop(),n.trys.pop();continue;default:if(!((a=(a=n.trys).length>0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]{Object.defineProperty(e,"__esModule",{value:!0}),e.default={version:"2.22.4",type:"js"}},536:function(t,e,r){var i,a=this&&this.__extends||(i=function(t,e){return i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},i(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}),o=this&&this.__awaiter||function(t,e,r,i){return new(r||(r=Promise))((function(a,o){function n(t){try{s(i.next(t))}catch(t){o(t)}}function l(t){try{s(i.throw(t))}catch(t){o(t)}}function s(t){var e;t.done?a(t.value):(e=t.value,e instanceof r?e:new r((function(t){t(e)}))).then(n,l)}s((i=i.apply(t,e||[])).next())}))},n=this&&this.__generator||function(t,e){var r,i,a,o,n={label:0,sent:function(){if(1&a[0])throw a[1];return a[1]},trys:[],ops:[]};return o={next:l(0),throw:l(1),return:l(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function l(o){return function(l){return function(o){if(r)throw new TypeError("Generator is already executing.");for(;n;)try{if(r=1,i&&(a=2&o[0]?i.return:o[0]?i.throw||((a=i.return)&&a.call(i),0):i.next)&&!(a=a.call(i,o[1])).done)return a;switch(i=0,a&&(o=[2&o[0],a.value]),o[0]){case 0:case 1:a=o;break;case 4:return n.label++,{value:o[1],done:!1};case 5:n.label++,i=o[1],o=[0];continue;case 7:o=n.ops.pop(),n.trys.pop();continue;default:if(!((a=(a=n.trys).length>0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]{Object.defineProperty(e,"__esModule",{value:!0}),e.EmbedUrlNotSupported=e.APINotSupportedForRDLError=void 0,e.APINotSupportedForRDLError="This API is currently not supported for RDL reports",e.EmbedUrlNotSupported="Embed URL is invalid for this scenario. Please use Power BI REST APIs to get the valid URL"},357:(t,e,r)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.routerFactory=e.wpmpFactory=e.hpmFactory=void 0;var i=r(903),a=r(615),o=r(891),n=r(913);e.hpmFactory=function(t,e,r,i,o){return void 0===r&&(r=n.default.version),void 0===i&&(i=n.default.type),new a.HttpPostMessage(t,{"x-sdk-type":i,"x-sdk-version":r,"x-sdk-wrapper-version":o},e)},e.wpmpFactory=function(t,e,r){return new i.WindowPostMessageProxy({processTrackingProperties:{addTrackingProperties:a.HttpPostMessage.addTrackingProperties,getTrackingProperties:a.HttpPostMessage.getTrackingProperties},isErrorMessage:a.HttpPostMessage.isErrorMessage,suppressWarnings:!0,name:t,logMessages:e,eventSourceOverrideWindow:r})},e.routerFactory=function(t){return new o.Router(t)}},220:function(t,e,r){var i=this&&this.__awaiter||function(t,e,r,i){return new(r||(r=Promise))((function(a,o){function n(t){try{s(i.next(t))}catch(t){o(t)}}function l(t){try{s(i.throw(t))}catch(t){o(t)}}function s(t){var e;t.done?a(t.value):(e=t.value,e instanceof r?e:new r((function(t){t(e)}))).then(n,l)}s((i=i.apply(t,e||[])).next())}))},a=this&&this.__generator||function(t,e){var r,i,a,o,n={label:0,sent:function(){if(1&a[0])throw a[1];return a[1]},trys:[],ops:[]};return o={next:l(0),throw:l(1),return:l(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function l(o){return function(l){return function(o){if(r)throw new TypeError("Generator is already executing.");for(;n;)try{if(r=1,i&&(a=2&o[0]?i.return:o[0]?i.throw||((a=i.return)&&a.call(i),0):i.next)&&!(a=a.call(i,o[1])).done)return a;switch(i=0,a&&(o=[2&o[0],a.value]),o[0]){case 0:case 1:a=o;break;case 4:return n.label++,{value:o[1],done:!1};case 5:n.label++,i=o[1],o=[0];continue;case 7:o=n.ops.pop(),n.trys.pop();continue;default:if(!((a=(a=n.trys).length>0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0?"&":"?";return t+(i+e+"=")+r},e.isSavedInternal=function(t,e,a){return r(this,void 0,void 0,(function(){return i(this,(function(r){switch(r.label){case 0:return r.trys.push([0,2,,3]),[4,t.get("/report/hasUnsavedChanges",{uid:e},a)];case 1:return[2,!r.sent().body];case 2:throw r.sent().body;case 3:return[2]}}))}))},e.isRDLEmbed=function(t){return t&&t.toLowerCase().indexOf("/rdlembed?")>=0},e.autoAuthInEmbedUrl=function(t){return t&&decodeURIComponent(t).toLowerCase().indexOf("autoauth=true")>=0},e.getRandomValue=o,e.getTimeDiffInMilliseconds=function(t,e){return Math.abs(t.getTime()-e.getTime())},e.isCreate=function(t){return"create"===t||"quickcreate"===t}},23:function(t,e,r){var i,a=this&&this.__extends||(i=function(t,e){return i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},i(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}),o=this&&this.__awaiter||function(t,e,r,i){return new(r||(r=Promise))((function(a,o){function n(t){try{s(i.next(t))}catch(t){o(t)}}function l(t){try{s(i.throw(t))}catch(t){o(t)}}function s(t){var e;t.done?a(t.value):(e=t.value,e instanceof r?e:new r((function(t){t(e)}))).then(n,l)}s((i=i.apply(t,e||[])).next())}))},n=this&&this.__generator||function(t,e){var r,i,a,o,n={label:0,sent:function(){if(1&a[0])throw a[1];return a[1]},trys:[],ops:[]};return o={next:l(0),throw:l(1),return:l(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function l(o){return function(l){return function(o){if(r)throw new TypeError("Generator is already executing.");for(;n;)try{if(r=1,i&&(a=2&o[0]?i.return:o[0]?i.throw||((a=i.return)&&a.call(i),0):i.next)&&!(a=a.call(i,o[1])).done)return a;switch(i=0,a&&(o=[2&o[0],a.value]),o[0]){case 0:case 1:a=o;break;case 4:return n.label++,{value:o[1],done:!1};case 5:n.label++,i=o[1],o=[0];continue;case 7:o=n.ops.pop(),n.trys.pop();continue;default:if(!((a=(a=n.trys).length>0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]{var e;self,e=()=>(()=>{"use strict";var t={};return(()=>{var e=t;Object.defineProperty(e,"__esModule",{value:!0}),e.WindowPostMessageProxy=void 0;var r=function(){function t(e){void 0===e&&(e={processTrackingProperties:{addTrackingProperties:t.defaultAddTrackingProperties,getTrackingProperties:t.defaultGetTrackingProperties},isErrorMessage:t.defaultIsErrorMessage,receiveWindow:window,name:t.createRandomString()});var r=this;this.pendingRequestPromises={},this.addTrackingProperties=e.processTrackingProperties&&e.processTrackingProperties.addTrackingProperties||t.defaultAddTrackingProperties,this.getTrackingProperties=e.processTrackingProperties&&e.processTrackingProperties.getTrackingProperties||t.defaultGetTrackingProperties,this.isErrorMessage=e.isErrorMessage||t.defaultIsErrorMessage,this.receiveWindow=e.receiveWindow||window,this.name=e.name||t.createRandomString(),this.logMessages=e.logMessages||!1,this.eventSourceOverrideWindow=e.eventSourceOverrideWindow,this.suppressWarnings=e.suppressWarnings||!1,this.logMessages&&console.log("new WindowPostMessageProxy created with name: ".concat(this.name," receiving on window: ").concat(this.receiveWindow.document.title)),this.handlers=[],this.windowMessageHandler=function(t){return r.onMessageReceived(t)},this.start()}return t.defaultAddTrackingProperties=function(e,r){return e[t.messagePropertyName]=r,e},t.defaultGetTrackingProperties=function(e){return e[t.messagePropertyName]},t.defaultIsErrorMessage=function(t){return!!t.error},t.createDeferred=function(){var t={resolve:null,reject:null,promise:null},e=new Promise((function(e,r){t.resolve=e,t.reject=r}));return t.promise=e,t},t.createRandomString=function(){var t=window.crypto||window.msCrypto,e=new Uint32Array(1);return t.getRandomValues(e),e[0].toString(36).substring(1)},t.prototype.addHandler=function(t){this.handlers.push(t)},t.prototype.removeHandler=function(t){var e=this.handlers.indexOf(t);if(-1===e)throw new Error("You attempted to remove a handler but no matching handler was found.");this.handlers.splice(e,1)},t.prototype.start=function(){this.receiveWindow.addEventListener("message",this.windowMessageHandler)},t.prototype.stop=function(){this.receiveWindow.removeEventListener("message",this.windowMessageHandler)},t.prototype.postMessage=function(e,r){var i={id:t.createRandomString()};this.addTrackingProperties(r,i),this.logMessages&&(console.log("".concat(this.name," Posting message:")),console.log(JSON.stringify(r,null," "))),e.postMessage(r,"*");var a=t.createDeferred();return this.pendingRequestPromises[i.id]=a,a.promise},t.prototype.sendResponse=function(t,e,r){this.addTrackingProperties(e,r),this.logMessages&&(console.log("".concat(this.name," Sending response:")),console.log(JSON.stringify(e,null," "))),t.postMessage(e,"*")},t.prototype.onMessageReceived=function(t){var e=this;this.logMessages&&(console.log("".concat(this.name," Received message:")),console.log("type: ".concat(t.type)),console.log(JSON.stringify(t.data,null," ")));var r=this.eventSourceOverrideWindow||t.source;if(r){var i=t.data;if("object"==typeof i){var a,o;try{a=this.getTrackingProperties(i)}catch(t){this.suppressWarnings||console.warn("Proxy(".concat(this.name,"): Error occurred when attempting to get tracking properties from incoming message:"),JSON.stringify(i,null," "),"Error: ",t)}if(a&&(o=this.pendingRequestPromises[a.id]),o){var n=!0;try{n=this.isErrorMessage(i)}catch(t){console.warn("Proxy(".concat(this.name,") Error occurred when trying to determine if message is consider an error response. Message: "),JSON.stringify(i,null,""),"Error: ",t)}n?o.reject(i):o.resolve(i),delete this.pendingRequestPromises[a.id]}else this.handlers.some((function(t){var o=!1;try{o=t.test(i)}catch(t){e.suppressWarnings||console.warn("Proxy(".concat(e.name,"): Error occurred when handler was testing incoming message:"),JSON.stringify(i,null," "),"Error: ",t)}if(o){var n=void 0;try{n=Promise.resolve(t.handle(i))}catch(t){e.suppressWarnings||console.warn("Proxy(".concat(e.name,"): Error occurred when handler was processing incoming message:"),JSON.stringify(i,null," "),"Error: ",t),n=Promise.resolve()}return n.then((function(t){if(!t){var o="Handler for message: ".concat(JSON.stringify(i,null," ")," did not return a response message. The default response message will be returned instead.");e.suppressWarnings||console.warn("Proxy(".concat(e.name,"): ").concat(o)),t={warning:o}}e.sendResponse(r,t,a)})),!0}}))||this.suppressWarnings||console.warn("Proxy(".concat(this.name,") did not handle message. Handlers: ").concat(this.handlers.length," Message: ").concat(JSON.stringify(i,null,""),"."))}else this.suppressWarnings||console.warn("Proxy(".concat(this.name,"): Received message that was not an object. Discarding message"))}},t.messagePropertyName="windowPostMessageProxy",t}();e.WindowPostMessageProxy=r})(),t})(),t.exports=e()}},e={};function r(i){var a=e[i];if(void 0!==a)return a.exports;var o=e[i]={exports:{}};return t[i].call(o.exports,o,o.exports,r),o.exports}var i={};return(()=>{var t=i;Object.defineProperty(t,"__esModule",{value:!0}),t.RelativeTimeFilterBuilder=t.RelativeDateFilterBuilder=t.TopNFilterBuilder=t.AdvancedFilterBuilder=t.BasicFilterBuilder=t.Create=t.QuickCreate=t.VisualDescriptor=t.Visual=t.Qna=t.Page=t.Embed=t.Tile=t.Dashboard=t.Report=t.models=t.factories=t.service=void 0;var e=r(149);t.models=e;var a=r(562);t.service=a;var o=r(357);t.factories=o;var n=r(125);Object.defineProperty(t,"Report",{enumerable:!0,get:function(){return n.Report}});var l=r(365);Object.defineProperty(t,"Dashboard",{enumerable:!0,get:function(){return l.Dashboard}});var s=r(43);Object.defineProperty(t,"Tile",{enumerable:!0,get:function(){return s.Tile}});var u=r(932);Object.defineProperty(t,"Embed",{enumerable:!0,get:function(){return u.Embed}});var d=r(220);Object.defineProperty(t,"Page",{enumerable:!0,get:function(){return d.Page}});var c=r(148);Object.defineProperty(t,"Qna",{enumerable:!0,get:function(){return c.Qna}});var p=r(23);Object.defineProperty(t,"Visual",{enumerable:!0,get:function(){return p.Visual}});var f=r(558);Object.defineProperty(t,"VisualDescriptor",{enumerable:!0,get:function(){return f.VisualDescriptor}});var h=r(714);Object.defineProperty(t,"QuickCreate",{enumerable:!0,get:function(){return h.QuickCreate}});var v=r(536);Object.defineProperty(t,"Create",{enumerable:!0,get:function(){return v.Create}});var y=r(567);Object.defineProperty(t,"BasicFilterBuilder",{enumerable:!0,get:function(){return y.BasicFilterBuilder}}),Object.defineProperty(t,"AdvancedFilterBuilder",{enumerable:!0,get:function(){return y.AdvancedFilterBuilder}}),Object.defineProperty(t,"TopNFilterBuilder",{enumerable:!0,get:function(){return y.TopNFilterBuilder}}),Object.defineProperty(t,"RelativeDateFilterBuilder",{enumerable:!0,get:function(){return y.RelativeDateFilterBuilder}}),Object.defineProperty(t,"RelativeTimeFilterBuilder",{enumerable:!0,get:function(){return y.RelativeTimeFilterBuilder}});var m=new a.Service(o.hpmFactory,o.wpmpFactory,o.routerFactory);window.powerbi&&window.powerBISDKGlobalServiceInstanceName?window[window.powerBISDKGlobalServiceInstanceName]=m:window.powerbi=m})(),i})())); \ No newline at end of file diff --git a/package.json b/package.json index 9b1502af..3a547903 100644 --- a/package.json +++ b/package.json @@ -79,7 +79,7 @@ }, "dependencies": { "http-post-message": "^0.2", - "powerbi-models": "^1.13.0", + "powerbi-models": "^1.14.0", "powerbi-router": "^0.1", "window-post-message-proxy": "^0.2.7" }, diff --git a/src/page.ts b/src/page.ts index f723fa76..e9d647fc 100644 --- a/src/page.ts +++ b/src/page.ts @@ -18,6 +18,7 @@ import { VisualContainerDisplayMode, IPageBackground, IPageWallpaper, + ISmartNarratives, } from 'powerbi-models'; import { IFilterable } from './ifilterable'; import { IReportNode, Report } from './report'; @@ -139,6 +140,28 @@ export class Page implements IPageNode, IFilterable { this.wallpaper = wallpaper; } + /** + * Get insights for report page + * + * ```javascript + * page.getSmartNarrativeInsights(); + * ``` + * + * @returns {Promise} + */ + async getSmartNarrativeInsights(): Promise { + if (isRDLEmbed(this.report.config.embedUrl)) { + return Promise.reject(APINotSupportedForRDLError); + } + + try { + const response = await this.report.service.hpm.get(`/report/pages/${this.name}/smartNarrativeInsights`, { uid: this.report.config.uniqueId }, this.report.iframe.contentWindow); + return response.body; + } catch (response) { + throw response.body; + } + } + /** * Gets all page level filters within the report. * diff --git a/src/visualDescriptor.ts b/src/visualDescriptor.ts index 27f3c1e3..8a563eb9 100644 --- a/src/visualDescriptor.ts +++ b/src/visualDescriptor.ts @@ -10,11 +10,12 @@ import { IExportDataResult, IFilter, ISlicerState, + ISmartNarratives, ISortByVisualRequest, IUpdateFiltersRequest, IVisualLayout, VisualContainerDisplayMode, - VisualLevelFilters + VisualLevelFilters, } from 'powerbi-models'; import { IHttpPostMessageResponse } from 'http-post-message'; import { IFilterable } from './ifilterable'; @@ -319,4 +320,22 @@ export class VisualDescriptor implements IVisualNode, IFilterable { return report.resizeVisual(pageName, visualName, width, height); } + + /** + * Get insights for single visual + * + * ```javascript + * visual.getSmartNarrativeInsights(); + * ``` + * + * @returns {Promise} + */ + async getSmartNarrativeInsights(): Promise { + try { + const response = await this.page.report.service.hpm.get(`/report/pages/${this.page.name}/visuals/${this.name}/smartNarrativeInsights`, { uid: this.page.report.config.uniqueId }, this.page.report.iframe.contentWindow); + return response.body; + } catch (response) { + throw response.body; + } + } } From d0af4f368dc91741ad13e0a52a493475611c7ad5 Mon Sep 17 00:00:00 2001 From: May Hartov Date: Sun, 11 Feb 2024 08:37:22 +0000 Subject: [PATCH 119/125] Merged PR 483438: JS SDK - embed URL validation Following MSRC case as malicious site can be injected as the embed iframe src, added embed URL validation to ensure the host is an allowed PBI src. A valid embed url protocol is "https:" The valid hosts names are ([retrieved from EV2-deployment repository - all of ida_PowerBIFeUrl key values](https://dev.azure.com/powerbi/PowerBIClients/_search?action=contents&text=ida_PowerBIFeUrl path%3A*envParams*&type=code&lp=code-Project&filters=ProjectFilters{PowerBIClients}RepositoryFilters{PowerBIClients-EV2-Deployment}&pageSize=25&result=DefaultCollection/PowerBIClients/PowerBIClients-EV2-Deployment/GBmaster//WFE/AppService/ADM/Public/INT/envParams.txt)): - app.powerbi.com, - app.powerbi.cn, - app.powerbigov.us, - app.mil.powerbigov.us, - app.high.powerbigov.us, - app.powerbi.eaglex.ic.gov, - app.powerbi.microsoft.scloud, - powerbi-df.analysis-df.windows.net, - CST WFE URLs: 'https://{cst-name}.analysis.windows-int.net/' - daily.powerbi.com - dxt.powerbi.com - msit.powerbi.com Embed URL validation should include fabric embed URL. All of the above should be covered by the following regex expressions: .+\.powerbi.com$ - daily.powerbi.com - dxt.powerbi.com - msit.powerbi.com - app.powerbi.com FF: ^app(.mil.|.high.|.)powerbigov.us$ - app.powerbigov.us, - app.mil.powerbigov.us, - app.high.powerbigov.us Edog: .+\.analysis-df.windows.net$ Onebox and CSTs: .+\.analysis.windows-int.net$ Fabric URLs: .+\.fabric.microsoft.com$ **Please look into the test cases in utils.spec.ts to see the valid and invalid embe urls** Related work items: #1245653 --- dist/powerbi-client.d.ts | 8 +- dist/powerbi.js | 310 +++++++----------------------------- dist/powerbi.min.js | 2 +- src/embed.ts | 13 +- src/errors.ts | 1 + src/service.ts | 5 + src/util.ts | 34 ++++ test/SDK-to-HPM.spec.ts | 3 +- test/SDK-to-MockApp.spec.ts | 3 + test/SDK-to-WPMP.spec.ts | 2 + test/service.spec.ts | 2 + test/test.spec.ts | 2 + test/util.spec.ts | 50 ++++++ 13 files changed, 172 insertions(+), 263 deletions(-) create mode 100644 test/util.spec.ts diff --git a/dist/powerbi-client.d.ts b/dist/powerbi-client.d.ts index 888adacd..1a9902c9 100644 --- a/dist/powerbi-client.d.ts +++ b/dist/powerbi-client.d.ts @@ -12,6 +12,7 @@ declare module "config" { declare module "errors" { export const APINotSupportedForRDLError = "This API is currently not supported for RDL reports"; export const EmbedUrlNotSupported = "Embed URL is invalid for this scenario. Please use Power BI REST APIs to get the valid URL"; + export const invalidEmbedUrlErrorMessage: string; } declare module "util" { import { HttpPostMessage } from 'http-post-message'; @@ -124,6 +125,11 @@ declare module "util" { * @returns {boolean} */ export function isCreate(embedType: string): boolean; + /** + * Checks if the embedUrl has an allowed power BI domain + * @hidden + */ + export function validateEmbedUrl(embedUrl: string): boolean; } declare module "embed" { import * as models from 'powerbi-models'; @@ -909,7 +915,7 @@ declare module "page" { * Get insights for report page * * ```javascript - * page.getSmartNarrativeInsights() + * page.getSmartNarrativeInsights(); * ``` * * @returns {Promise} diff --git a/dist/powerbi.js b/dist/powerbi.js index 5e319e63..54749517 100644 --- a/dist/powerbi.js +++ b/dist/powerbi.js @@ -14,185 +14,14 @@ return /******/ (() => { // webpackBootstrap /******/ var __webpack_modules__ = ({ -/***/ "./node_modules/http-post-message/dist/httpPostMessage.js": -/*!****************************************************************!*\ - !*** ./node_modules/http-post-message/dist/httpPostMessage.js ***! - \****************************************************************/ -/***/ (function(module) { - -/*! http-post-message v0.2.3 | (c) 2016 Microsoft Corporation MIT */ -(function webpackUniversalModuleDefinition(root, factory) { - if(true) - module.exports = factory(); - else {} -})(this, function() { -return /******/ (function(modules) { // webpackBootstrap -/******/ // The module cache -/******/ var installedModules = {}; -/******/ -/******/ // The require function -/******/ function __nested_webpack_require_626__(moduleId) { -/******/ -/******/ // Check if module is in cache -/******/ 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 -/******/ }; -/******/ -/******/ // Execute the module function -/******/ modules[moduleId].call(module.exports, module, module.exports, __nested_webpack_require_626__); -/******/ -/******/ // Flag the module as loaded -/******/ module.loaded = true; -/******/ -/******/ // Return the exports of the module -/******/ return module.exports; -/******/ } -/******/ -/******/ -/******/ // expose the modules object (__webpack_modules__) -/******/ __nested_webpack_require_626__.m = modules; -/******/ -/******/ // expose the module cache -/******/ __nested_webpack_require_626__.c = installedModules; -/******/ -/******/ // __webpack_public_path__ -/******/ __nested_webpack_require_626__.p = ""; -/******/ -/******/ // Load entry module and return exports -/******/ return __nested_webpack_require_626__(0); -/******/ }) -/************************************************************************/ -/******/ ([ -/* 0 */ -/***/ function(module, exports) { - - "use strict"; - var HttpPostMessage = (function () { - function HttpPostMessage(windowPostMessageProxy, defaultHeaders, defaultTargetWindow) { - if (defaultHeaders === void 0) { defaultHeaders = {}; } - this.defaultHeaders = defaultHeaders; - this.defaultTargetWindow = defaultTargetWindow; - this.windowPostMessageProxy = windowPostMessageProxy; - } - // TODO: See if it's possible to share tracking properties interface? - // The responsibility of knowing how to configure windowPostMessageProxy for http should - // live in this http class, but the configuration would need ITrackingProperties - // interface which lives in WindowPostMessageProxy. Use type as workaround - HttpPostMessage.addTrackingProperties = function (message, trackingProperties) { - message.headers = message.headers || {}; - if (trackingProperties && trackingProperties.id) { - message.headers.id = trackingProperties.id; - } - return message; - }; - HttpPostMessage.getTrackingProperties = function (message) { - return { - id: message.headers && message.headers.id - }; - }; - HttpPostMessage.isErrorMessage = function (message) { - if (typeof (message && message.statusCode) !== 'number') { - return false; - } - return !(200 <= message.statusCode && message.statusCode < 300); - }; - HttpPostMessage.prototype.get = function (url, headers, targetWindow) { - if (headers === void 0) { headers = {}; } - if (targetWindow === void 0) { targetWindow = this.defaultTargetWindow; } - return this.send({ - method: "GET", - url: url, - headers: headers - }, targetWindow); - }; - HttpPostMessage.prototype.post = function (url, body, headers, targetWindow) { - if (headers === void 0) { headers = {}; } - if (targetWindow === void 0) { targetWindow = this.defaultTargetWindow; } - return this.send({ - method: "POST", - url: url, - headers: headers, - body: body - }, targetWindow); - }; - HttpPostMessage.prototype.put = function (url, body, headers, targetWindow) { - if (headers === void 0) { headers = {}; } - if (targetWindow === void 0) { targetWindow = this.defaultTargetWindow; } - return this.send({ - method: "PUT", - url: url, - headers: headers, - body: body - }, targetWindow); - }; - HttpPostMessage.prototype.patch = function (url, body, headers, targetWindow) { - if (headers === void 0) { headers = {}; } - if (targetWindow === void 0) { targetWindow = this.defaultTargetWindow; } - return this.send({ - method: "PATCH", - url: url, - headers: headers, - body: body - }, targetWindow); - }; - HttpPostMessage.prototype.delete = function (url, body, headers, targetWindow) { - if (body === void 0) { body = null; } - if (headers === void 0) { headers = {}; } - if (targetWindow === void 0) { targetWindow = this.defaultTargetWindow; } - return this.send({ - method: "DELETE", - url: url, - headers: headers, - body: body - }, targetWindow); - }; - HttpPostMessage.prototype.send = function (request, targetWindow) { - if (targetWindow === void 0) { targetWindow = this.defaultTargetWindow; } - request.headers = this.assign({}, this.defaultHeaders, request.headers); - if (!targetWindow) { - throw new Error("target window is not provided. You must either provide the target window explicitly as argument to request, or specify default target window when constructing instance of this class."); - } - return this.windowPostMessageProxy.postMessage(targetWindow, request); - }; - /** - * Object.assign() polyfill - * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/assign - */ - HttpPostMessage.prototype.assign = function (target) { - var sources = []; - for (var _i = 1; _i < arguments.length; _i++) { - sources[_i - 1] = arguments[_i]; - } - if (target === undefined || target === null) { - throw new TypeError('Cannot convert undefined or null to object'); - } - var output = Object(target); - sources.forEach(function (source) { - if (source !== undefined && source !== null) { - for (var nextKey in source) { - if (Object.prototype.hasOwnProperty.call(source, nextKey)) { - output[nextKey] = source[nextKey]; - } - } - } - }); - return output; - }; - return HttpPostMessage; - }()); - exports.HttpPostMessage = HttpPostMessage; - +/***/ "../http-post-message/dist/httpPostMessage.js": +/*!****************************************************!*\ + !*** ../http-post-message/dist/httpPostMessage.js ***! + \****************************************************/ +/***/ ((module) => { -/***/ } -/******/ ]) -}); -; +/*! For license information please see httpPostMessage.js.LICENSE.txt */ +!function(e,t){ true?module.exports=t():0}(self,(()=>(()=>{"use strict";var e={};return(()=>{var t=e;Object.defineProperty(t,"__esModule",{value:!0}),t.HttpPostMessage=void 0;var o=function(){function e(e,t,o){void 0===t&&(t={}),this.defaultHeaders=t,this.defaultTargetWindow=o,this.windowPostMessageProxy=e}return e.addTrackingProperties=function(e,t){return e.headers=e.headers||{},t&&t.id&&(e.headers.id=t.id),e},e.getTrackingProperties=function(e){return{id:e.headers&&e.headers.id}},e.isErrorMessage=function(e){return"number"==typeof(e&&e.statusCode)&&!(200<=e.statusCode&&e.statusCode<300)},e.prototype.get=function(e,t,o,r){return void 0===t&&(t={}),void 0===o&&(o=this.defaultTargetWindow),this.send({method:"GET",url:e,headers:t},o,r)},e.prototype.post=function(e,t,o,r,s){return void 0===o&&(o={}),void 0===r&&(r=this.defaultTargetWindow),this.send({method:"POST",url:e,headers:o,body:t},r,s)},e.prototype.put=function(e,t,o,r,s){return void 0===o&&(o={}),void 0===r&&(r=this.defaultTargetWindow),this.send({method:"PUT",url:e,headers:o,body:t},r,s)},e.prototype.patch=function(e,t,o,r,s){return void 0===o&&(o={}),void 0===r&&(r=this.defaultTargetWindow),this.send({method:"PATCH",url:e,headers:o,body:t},r,s)},e.prototype.delete=function(e,t,o,r,s){return void 0===t&&(t=null),void 0===o&&(o={}),void 0===r&&(r=this.defaultTargetWindow),this.send({method:"DELETE",url:e,headers:o,body:t},r,s)},e.prototype.send=function(e,t,o){if(void 0===t&&(t=this.defaultTargetWindow),e.headers=this.assign({},this.defaultHeaders,e.headers),!t)throw new Error("target window is not provided. You must either provide the target window explicitly as argument to request, or specify default target window when constructing instance of this class.");return this.windowPostMessageProxy.postMessage(t,e,o)},e.prototype.assign=function(e){for(var t=[],o=1;o} - */ - Page.prototype.getSmartNarrativeInsights = function () { - return __awaiter(this, void 0, void 0, function () { - var response, response_1; - return __generator(this, function (_a) { - switch (_a.label) { - case 0: - if ((0, util_1.isRDLEmbed)(this.report.config.embedUrl)) { - return [2 /*return*/, Promise.reject(errors_1.APINotSupportedForRDLError)]; - } - _a.label = 1; - case 1: - _a.trys.push([1, 3, , 4]); - return [4 /*yield*/, this.report.service.hpm.get("/report/pages/".concat(this.name, "/smartNarrativeInsights"), { uid: this.report.config.uniqueId }, this.report.iframe.contentWindow)]; - case 2: - response = _a.sent(); - return [2 /*return*/, response.body]; - case 3: - response_1 = _a.sent(); - throw response_1.body; - case 4: return [2 /*return*/]; - } - }); - }); - }; /** * Gets all page level filters within the report. * @@ -10053,8 +9850,8 @@ var Report = /** @class */ (function (_super) { response = _a.sent(); return [2 /*return*/, response.body]; case 2: - response_2 = _a.sent(); - throw response_2.body; + response_1 = _a.sent(); + throw response_1.body; case 3: return [2 /*return*/]; } }); @@ -11507,6 +11304,7 @@ var visual_1 = __webpack_require__(/*! ./visual */ "./src/visual.ts"); var utils = __webpack_require__(/*! ./util */ "./src/util.ts"); var quickCreate_1 = __webpack_require__(/*! ./quickCreate */ "./src/quickCreate.ts"); var sdkConfig = __webpack_require__(/*! ./config */ "./src/config.ts"); +var errors_1 = __webpack_require__(/*! ./errors */ "./src/errors.ts"); /** * The Power BI Service embed component, which is the entry point to embed all other Power BI components into your application * @@ -11980,6 +11778,9 @@ var Service = /** @class */ (function () { * @param {HTMLElement} [element=undefined] */ Service.prototype.preload = function (config, element) { + if (!utils.validateEmbedUrl(config.embedUrl)) { + throw new Error(errors_1.invalidEmbedUrlErrorMessage); + } var iframeContent = document.createElement("iframe"); iframeContent.setAttribute("style", "display:none;"); iframeContent.setAttribute("src", config.embedUrl); @@ -12228,7 +12029,19 @@ var __generator = (this && this.__generator) || function (thisArg, body) { } }; Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.isCreate = exports.getTimeDiffInMilliseconds = exports.getRandomValue = exports.autoAuthInEmbedUrl = exports.isRDLEmbed = exports.isSavedInternal = exports.addParamToUrl = exports.generateUUID = exports.createRandomString = exports.assign = exports.remove = exports.find = exports.findIndex = exports.raiseCustomEvent = void 0; +exports.validateEmbedUrl = exports.isCreate = exports.getTimeDiffInMilliseconds = exports.getRandomValue = exports.autoAuthInEmbedUrl = exports.isRDLEmbed = exports.isSavedInternal = exports.addParamToUrl = exports.generateUUID = exports.createRandomString = exports.assign = exports.remove = exports.find = exports.findIndex = exports.raiseCustomEvent = void 0; +/** + * @hidden + */ +var allowedPowerBiHostsRegex = new RegExp(/(.+\.powerbi\.com$)|(.+\.fabric\.microsoft\.com$)|(.+\.analysis\.windows-int\.net$)|(.+\.analysis-df\.windows\.net$)/g); +/** + * @hidden + */ +var allowedPowerBiHostsSovRegex = new RegExp(/^app\.powerbi\.cn$|^app(\.mil\.|\.high\.|\.)powerbigov\.us$|^app\.powerbi\.eaglex\.ic\.gov$|^app\.powerbi\.microsoft\.scloud$/g); +/** + * @hidden + */ +var expectedEmbedUrlProtocol = "https:"; /** * Raises a custom event with event data on the specified HTML element. * @@ -12458,6 +12271,25 @@ function isCreate(embedType) { return embedType === 'create' || embedType === 'quickcreate'; } exports.isCreate = isCreate; +/** + * Checks if the embedUrl has an allowed power BI domain + * @hidden + */ +function validateEmbedUrl(embedUrl) { + if (embedUrl) { + var url = void 0; + try { + url = new URL(embedUrl.toLowerCase()); + } + catch (e) { + // invalid URL + return false; + } + return url.protocol === expectedEmbedUrlProtocol && + (allowedPowerBiHostsRegex.test(url.hostname) || allowedPowerBiHostsSovRegex.test(url.hostname)); + } +} +exports.validateEmbedUrl = validateEmbedUrl; /***/ }), @@ -13254,34 +13086,6 @@ var VisualDescriptor = /** @class */ (function () { }); }); }; - /** - * Get insights for single visual - * - * ```javascript - * visual.getSmartNarrativeInsights() - * ``` - * - * @returns {Promise} - */ - VisualDescriptor.prototype.getSmartNarrativeInsights = function () { - return __awaiter(this, void 0, void 0, function () { - var response, response_9; - return __generator(this, function (_a) { - switch (_a.label) { - case 0: - _a.trys.push([0, 2, , 3]); - return [4 /*yield*/, this.page.report.service.hpm.get("/report/pages/".concat(this.page.name, "/visuals/").concat(this.name, "/smartNarrativeInsights"), { uid: this.page.report.config.uniqueId }, this.page.report.iframe.contentWindow)]; - case 1: - response = _a.sent(); - return [2 /*return*/, response.body]; - case 2: - response_9 = _a.sent(); - throw response_9.body; - case 3: return [2 /*return*/]; - } - }); - }); - }; return VisualDescriptor; }()); exports.VisualDescriptor = VisualDescriptor; @@ -13289,14 +13093,14 @@ exports.VisualDescriptor = VisualDescriptor; /***/ }), -/***/ "./node_modules/window-post-message-proxy/dist/windowPostMessageProxy.js": -/*!*******************************************************************************!*\ - !*** ./node_modules/window-post-message-proxy/dist/windowPostMessageProxy.js ***! - \*******************************************************************************/ +/***/ "../window-post-message-proxy/dist/windowPostMessageProxy.js": +/*!*******************************************************************!*\ + !*** ../window-post-message-proxy/dist/windowPostMessageProxy.js ***! + \*******************************************************************/ /***/ ((module) => { /*! For license information please see windowPostMessageProxy.js.LICENSE.txt */ -!function(e,r){ true?module.exports=r():0}(self,(()=>(()=>{"use strict";var e={};return(()=>{var r=e;Object.defineProperty(r,"__esModule",{value:!0}),r.WindowPostMessageProxy=void 0;var s=function(){function e(r){void 0===r&&(r={processTrackingProperties:{addTrackingProperties:e.defaultAddTrackingProperties,getTrackingProperties:e.defaultGetTrackingProperties},isErrorMessage:e.defaultIsErrorMessage,receiveWindow:window,name:e.createRandomString()});var s=this;this.pendingRequestPromises={},this.addTrackingProperties=r.processTrackingProperties&&r.processTrackingProperties.addTrackingProperties||e.defaultAddTrackingProperties,this.getTrackingProperties=r.processTrackingProperties&&r.processTrackingProperties.getTrackingProperties||e.defaultGetTrackingProperties,this.isErrorMessage=r.isErrorMessage||e.defaultIsErrorMessage,this.receiveWindow=r.receiveWindow||window,this.name=r.name||e.createRandomString(),this.logMessages=r.logMessages||!1,this.eventSourceOverrideWindow=r.eventSourceOverrideWindow,this.suppressWarnings=r.suppressWarnings||!1,this.logMessages&&console.log("new WindowPostMessageProxy created with name: ".concat(this.name," receiving on window: ").concat(this.receiveWindow.document.title)),this.handlers=[],this.windowMessageHandler=function(e){return s.onMessageReceived(e)},this.start()}return e.defaultAddTrackingProperties=function(r,s){return r[e.messagePropertyName]=s,r},e.defaultGetTrackingProperties=function(r){return r[e.messagePropertyName]},e.defaultIsErrorMessage=function(e){return!!e.error},e.createDeferred=function(){var e={resolve:null,reject:null,promise:null},r=new Promise((function(r,s){e.resolve=r,e.reject=s}));return e.promise=r,e},e.createRandomString=function(){var e=window.crypto||window.msCrypto,r=new Uint32Array(1);return e.getRandomValues(r),r[0].toString(36).substring(1)},e.prototype.addHandler=function(e){this.handlers.push(e)},e.prototype.removeHandler=function(e){var r=this.handlers.indexOf(e);if(-1===r)throw new Error("You attempted to remove a handler but no matching handler was found.");this.handlers.splice(r,1)},e.prototype.start=function(){this.receiveWindow.addEventListener("message",this.windowMessageHandler)},e.prototype.stop=function(){this.receiveWindow.removeEventListener("message",this.windowMessageHandler)},e.prototype.postMessage=function(r,s){var n={id:e.createRandomString()};this.addTrackingProperties(s,n),this.logMessages&&(console.log("".concat(this.name," Posting message:")),console.log(JSON.stringify(s,null," "))),r.postMessage(s,"*");var o=e.createDeferred();return this.pendingRequestPromises[n.id]=o,o.promise},e.prototype.sendResponse=function(e,r,s){this.addTrackingProperties(r,s),this.logMessages&&(console.log("".concat(this.name," Sending response:")),console.log(JSON.stringify(r,null," "))),e.postMessage(r,"*")},e.prototype.onMessageReceived=function(e){var r=this;this.logMessages&&(console.log("".concat(this.name," Received message:")),console.log("type: ".concat(e.type)),console.log(JSON.stringify(e.data,null," ")));var s=this.eventSourceOverrideWindow||e.source;if(s){var n=e.data;if("object"==typeof n){var o,t;try{o=this.getTrackingProperties(n)}catch(e){this.suppressWarnings||console.warn("Proxy(".concat(this.name,"): Error occurred when attempting to get tracking properties from incoming message:"),JSON.stringify(n,null," "),"Error: ",e)}if(o&&(t=this.pendingRequestPromises[o.id]),t){var i=!0;try{i=this.isErrorMessage(n)}catch(e){console.warn("Proxy(".concat(this.name,") Error occurred when trying to determine if message is consider an error response. Message: "),JSON.stringify(n,null,""),"Error: ",e)}i?t.reject(n):t.resolve(n),delete this.pendingRequestPromises[o.id]}else this.handlers.some((function(e){var t=!1;try{t=e.test(n)}catch(e){r.suppressWarnings||console.warn("Proxy(".concat(r.name,"): Error occurred when handler was testing incoming message:"),JSON.stringify(n,null," "),"Error: ",e)}if(t){var i=void 0;try{i=Promise.resolve(e.handle(n))}catch(e){r.suppressWarnings||console.warn("Proxy(".concat(r.name,"): Error occurred when handler was processing incoming message:"),JSON.stringify(n,null," "),"Error: ",e),i=Promise.resolve()}return i.then((function(e){if(!e){var t="Handler for message: ".concat(JSON.stringify(n,null," ")," did not return a response message. The default response message will be returned instead.");r.suppressWarnings||console.warn("Proxy(".concat(r.name,"): ").concat(t)),e={warning:t}}r.sendResponse(s,e,o)})),!0}}))||this.suppressWarnings||console.warn("Proxy(".concat(this.name,") did not handle message. Handlers: ").concat(this.handlers.length," Message: ").concat(JSON.stringify(n,null,""),"."))}else this.suppressWarnings||console.warn("Proxy(".concat(this.name,"): Received message that was not an object. Discarding message"))}},e.messagePropertyName="windowPostMessageProxy",e}();r.WindowPostMessageProxy=s})(),e})())); +!function(e,r){ true?module.exports=r():0}(self,(()=>(()=>{"use strict";var e={};return(()=>{var r=e;Object.defineProperty(r,"__esModule",{value:!0}),r.WindowPostMessageProxy=void 0;var s=function(){function e(r){void 0===r&&(r={processTrackingProperties:{addTrackingProperties:e.defaultAddTrackingProperties,getTrackingProperties:e.defaultGetTrackingProperties},isErrorMessage:e.defaultIsErrorMessage,receiveWindow:window,name:e.createRandomString()});var s=this;this.pendingRequestPromises={},this.addTrackingProperties=r.processTrackingProperties&&r.processTrackingProperties.addTrackingProperties||e.defaultAddTrackingProperties,this.getTrackingProperties=r.processTrackingProperties&&r.processTrackingProperties.getTrackingProperties||e.defaultGetTrackingProperties,this.isErrorMessage=r.isErrorMessage||e.defaultIsErrorMessage,this.receiveWindow=r.receiveWindow||window,this.name=r.name||e.createRandomString(),this.logMessages=r.logMessages||!1,this.eventSourceOverrideWindow=r.eventSourceOverrideWindow,this.suppressWarnings=r.suppressWarnings||!1,this.logMessages&&console.log("new WindowPostMessageProxy created with name: ".concat(this.name," receiving on window: ").concat(this.receiveWindow.document.title)),this.handlers=[],this.windowMessageHandler=function(e){return s.onMessageReceived(e)},this.start()}return e.defaultAddTrackingProperties=function(r,s){return r[e.messagePropertyName]=s,r},e.defaultGetTrackingProperties=function(r){return r[e.messagePropertyName]},e.defaultIsErrorMessage=function(e){return!!e.error},e.createDeferred=function(){var e={resolve:null,reject:null,promise:null},r=new Promise((function(r,s){e.resolve=r,e.reject=s}));return e.promise=r,e},e.createRandomString=function(){var e=window.crypto||window.msCrypto,r=new Uint32Array(1);return e.getRandomValues(r),r[0].toString(36).substring(1)},e.prototype.addHandler=function(e){this.handlers.push(e)},e.prototype.removeHandler=function(e){var r=this.handlers.indexOf(e);if(-1===r)throw new Error("You attempted to remove a handler but no matching handler was found.");this.handlers.splice(r,1)},e.prototype.start=function(){this.receiveWindow.addEventListener("message",this.windowMessageHandler)},e.prototype.stop=function(){this.receiveWindow.removeEventListener("message",this.windowMessageHandler)},e.prototype.postMessage=function(r,s,n){var o={id:e.createRandomString()};this.addTrackingProperties(s,o),console.log("".concat(this.name," Posting message:")),console.log(JSON.stringify(s,null," ")),console.log("target origin: ".concat(n)),r.postMessage(s,null!=n?n:"*");var t=e.createDeferred();return this.pendingRequestPromises[o.id]=t,t.promise},e.prototype.sendResponse=function(e,r,s,n){this.addTrackingProperties(r,s),this.logMessages&&(console.log("".concat(this.name," Sending response:")),console.log(JSON.stringify(r,null," "))),e.postMessage(r,null!=n?n:"*")},e.prototype.onMessageReceived=function(e){var r=this;this.logMessages&&(console.log("".concat(this.name," Received message:")),console.log("type: ".concat(e.type)),console.log(JSON.stringify(e.data,null," ")));var s=this.eventSourceOverrideWindow||e.source;if(s){var n=e.data;if("object"==typeof n){var o,t;try{o=this.getTrackingProperties(n)}catch(e){this.suppressWarnings||console.warn("Proxy(".concat(this.name,"): Error occurred when attempting to get tracking properties from incoming message:"),JSON.stringify(n,null," "),"Error: ",e)}if(o&&(t=this.pendingRequestPromises[o.id]),t){var i=!0;try{i=this.isErrorMessage(n)}catch(e){console.warn("Proxy(".concat(this.name,") Error occurred when trying to determine if message is consider an error response. Message: "),JSON.stringify(n,null,""),"Error: ",e)}i?t.reject(n):t.resolve(n),delete this.pendingRequestPromises[o.id]}else this.handlers.some((function(e){var t=!1;try{t=e.test(n)}catch(e){r.suppressWarnings||console.warn("Proxy(".concat(r.name,"): Error occurred when handler was testing incoming message:"),JSON.stringify(n,null," "),"Error: ",e)}if(t){var i=void 0;try{i=Promise.resolve(e.handle(n))}catch(e){r.suppressWarnings||console.warn("Proxy(".concat(r.name,"): Error occurred when handler was processing incoming message:"),JSON.stringify(n,null," "),"Error: ",e),i=Promise.resolve()}return i.then((function(e){if(!e){var t="Handler for message: ".concat(JSON.stringify(n,null," ")," did not return a response message. The default response message will be returned instead.");r.suppressWarnings||console.warn("Proxy(".concat(r.name,"): ").concat(t)),e={warning:t}}r.sendResponse(s,e,o)})),!0}}))||this.suppressWarnings||console.warn("Proxy(".concat(this.name,") did not handle message. Handlers: ").concat(this.handlers.length," Message: ").concat(JSON.stringify(n,null,""),"."))}else this.suppressWarnings||console.warn("Proxy(".concat(this.name,"): Received message that was not an object. Discarding message"))}},e.messagePropertyName="windowPostMessageProxy",e}();r.WindowPostMessageProxy=s})(),e})())); //# sourceMappingURL=windowPostMessageProxy.js.map /***/ }) diff --git a/dist/powerbi.min.js b/dist/powerbi.min.js index f782aec2..9571bd0c 100644 --- a/dist/powerbi.min.js +++ b/dist/powerbi.min.js @@ -2,4 +2,4 @@ // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. /*! For license information please see powerbi.js.LICENSE.txt */ -!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,(()=>(()=>{var t={615:function(t){var e;e=function(){return function(t){var e={};function r(i){if(e[i])return e[i].exports;var a=e[i]={exports:{},id:i,loaded:!1};return t[i].call(a.exports,a,a.exports,r),a.loaded=!0,a.exports}return r.m=t,r.c=e,r.p="",r(0)}([function(t,e){"use strict";var r=function(){function t(t,e,r){void 0===e&&(e={}),this.defaultHeaders=e,this.defaultTargetWindow=r,this.windowPostMessageProxy=t}return t.addTrackingProperties=function(t,e){return t.headers=t.headers||{},e&&e.id&&(t.headers.id=e.id),t},t.getTrackingProperties=function(t){return{id:t.headers&&t.headers.id}},t.isErrorMessage=function(t){return"number"==typeof(t&&t.statusCode)&&!(200<=t.statusCode&&t.statusCode<300)},t.prototype.get=function(t,e,r){return void 0===e&&(e={}),void 0===r&&(r=this.defaultTargetWindow),this.send({method:"GET",url:t,headers:e},r)},t.prototype.post=function(t,e,r,i){return void 0===r&&(r={}),void 0===i&&(i=this.defaultTargetWindow),this.send({method:"POST",url:t,headers:r,body:e},i)},t.prototype.put=function(t,e,r,i){return void 0===r&&(r={}),void 0===i&&(i=this.defaultTargetWindow),this.send({method:"PUT",url:t,headers:r,body:e},i)},t.prototype.patch=function(t,e,r,i){return void 0===r&&(r={}),void 0===i&&(i=this.defaultTargetWindow),this.send({method:"PATCH",url:t,headers:r,body:e},i)},t.prototype.delete=function(t,e,r,i){return void 0===e&&(e=null),void 0===r&&(r={}),void 0===i&&(i=this.defaultTargetWindow),this.send({method:"DELETE",url:t,headers:r,body:e},i)},t.prototype.send=function(t,e){if(void 0===e&&(e=this.defaultTargetWindow),t.headers=this.assign({},this.defaultHeaders,t.headers),!e)throw new Error("target window is not provided. You must either provide the target window explicitly as argument to request, or specify default target window when constructing instance of this class.");return this.windowPostMessageProxy.postMessage(e,t)},t.prototype.assign=function(t){for(var e=[],r=1;r(()=>{var t=[function(t,e,r){var i,a=this&&this.__extends||(i=function(t,e){return i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},i(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.TextAlignment=e.CommonErrorCodes=e.BookmarksPlayMode=e.ExportDataType=e.QnaMode=e.PageNavigationPosition=e.BrowserPrintAdjustmentsMode=e.AggregateFunction=e.DataCacheMode=e.CredentialType=e.isPercentOfGrandTotal=e.isColumnAggr=e.isHierarchyLevelAggr=e.isHierarchyLevel=e.isColumn=e.isMeasure=e.getFilterType=e.isBasicFilterWithKeys=e.isFilterKeyColumnsTarget=e.HierarchyFilter=e.AdvancedFilter=e.TupleFilter=e.IdentityFilter=e.BasicFilterWithKeys=e.BasicFilter=e.RelativeTimeFilter=e.RelativeDateFilter=e.TopNFilter=e.IncludeExcludeFilter=e.NotSupportedFilter=e.Filter=e.RelativeDateOperators=e.RelativeDateFilterTimeUnit=e.FilterType=e.FiltersLevel=e.FiltersOperations=e.MenuLocation=e.ContrastMode=e.TokenType=e.ViewMode=e.Permissions=e.SectionVisibility=e.ReportAlignment=e.HyperlinkClickBehavior=e.LayoutType=e.VisualContainerDisplayMode=e.BackgroundType=e.DisplayOption=e.PageSizeType=e.TraceType=void 0,e.validateVisualHeader=e.validateExportDataRequest=e.validateQnaInterpretInputData=e.validateLoadQnaConfiguration=e.validateSaveAsParameters=e.validateUpdateFiltersRequest=e.validateFilter=e.validatePage=e.validateTileLoad=e.validateDashboardLoad=e.validateQuickCreate=e.validateCreateReport=e.validatePaginatedReportLoad=e.validateReportLoad=e.validateMenuGroupExtension=e.validateExtension=e.validateCustomPageSize=e.validateVisualizationsPane=e.validateSyncSlicersPane=e.validateSelectionPane=e.validatePageNavigationPane=e.validateFieldsPane=e.validateFiltersPane=e.validateBookmarksPane=e.validatePanes=e.validateSettings=e.validateCaptureBookmarkRequest=e.validateApplyBookmarkStateRequest=e.validateApplyBookmarkByNameRequest=e.validateAddBookmarkRequest=e.validatePlayBookmarkRequest=e.validateSlicerState=e.validateSlicer=e.validateVisualSelector=e.isIExtensionArray=e.isIExtensions=e.isGroupedMenuExtension=e.isFlatMenuExtension=e.isReportFiltersArray=e.isOnLoadFilters=e.VisualDataRoleKindPreference=e.VisualDataRoleKind=e.CommandDisplayOption=e.SlicerTargetSelector=e.VisualTypeSelector=e.VisualSelector=e.PageSelector=e.Selector=e.SortDirection=e.LegendPosition=void 0,e.validatePrintSettings=e.validateZoomLevel=e.validateCustomTheme=e.validateCommandsSettings=e.validateVisualSettings=void 0;var o,n,l,s,u,d,c,p,f,h,v,y,m,V,g,b,w,P,S,O=r(1);(S=e.TraceType||(e.TraceType={}))[S.Information=0]="Information",S[S.Verbose=1]="Verbose",S[S.Warning=2]="Warning",S[S.Error=3]="Error",S[S.ExpectedError=4]="ExpectedError",S[S.UnexpectedError=5]="UnexpectedError",S[S.Fatal=6]="Fatal",(P=e.PageSizeType||(e.PageSizeType={}))[P.Widescreen=0]="Widescreen",P[P.Standard=1]="Standard",P[P.Cortana=2]="Cortana",P[P.Letter=3]="Letter",P[P.Custom=4]="Custom",P[P.Mobile=5]="Mobile",(w=e.DisplayOption||(e.DisplayOption={}))[w.FitToPage=0]="FitToPage",w[w.FitToWidth=1]="FitToWidth",w[w.ActualSize=2]="ActualSize",(b=e.BackgroundType||(e.BackgroundType={}))[b.Default=0]="Default",b[b.Transparent=1]="Transparent",(g=e.VisualContainerDisplayMode||(e.VisualContainerDisplayMode={}))[g.Visible=0]="Visible",g[g.Hidden=1]="Hidden",(V=e.LayoutType||(e.LayoutType={}))[V.Master=0]="Master",V[V.Custom=1]="Custom",V[V.MobilePortrait=2]="MobilePortrait",V[V.MobileLandscape=3]="MobileLandscape",(m=e.HyperlinkClickBehavior||(e.HyperlinkClickBehavior={}))[m.Navigate=0]="Navigate",m[m.NavigateAndRaiseEvent=1]="NavigateAndRaiseEvent",m[m.RaiseEvent=2]="RaiseEvent",(y=e.ReportAlignment||(e.ReportAlignment={}))[y.Left=0]="Left",y[y.Center=1]="Center",y[y.Right=2]="Right",y[y.None=3]="None",(v=e.SectionVisibility||(e.SectionVisibility={}))[v.AlwaysVisible=0]="AlwaysVisible",v[v.HiddenInViewMode=1]="HiddenInViewMode",(h=e.Permissions||(e.Permissions={}))[h.Read=0]="Read",h[h.ReadWrite=1]="ReadWrite",h[h.Copy=2]="Copy",h[h.Create=4]="Create",h[h.All=7]="All",(f=e.ViewMode||(e.ViewMode={}))[f.View=0]="View",f[f.Edit=1]="Edit",(p=e.TokenType||(e.TokenType={}))[p.Aad=0]="Aad",p[p.Embed=1]="Embed",(c=e.ContrastMode||(e.ContrastMode={}))[c.None=0]="None",c[c.HighContrast1=1]="HighContrast1",c[c.HighContrast2=2]="HighContrast2",c[c.HighContrastBlack=3]="HighContrastBlack",c[c.HighContrastWhite=4]="HighContrastWhite",(d=e.MenuLocation||(e.MenuLocation={}))[d.Bottom=0]="Bottom",d[d.Top=1]="Top",(u=e.FiltersOperations||(e.FiltersOperations={}))[u.RemoveAll=0]="RemoveAll",u[u.ReplaceAll=1]="ReplaceAll",u[u.Add=2]="Add",u[u.Replace=3]="Replace",(s=e.FiltersLevel||(e.FiltersLevel={}))[s.Report=0]="Report",s[s.Page=1]="Page",s[s.Visual=2]="Visual",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",t[t.Identity=8]="Identity",t[t.Hierarchy=9]="Hierarchy"}(o=e.FilterType||(e.FilterType={})),(l=e.RelativeDateFilterTimeUnit||(e.RelativeDateFilterTimeUnit={}))[l.Days=0]="Days",l[l.Weeks=1]="Weeks",l[l.CalendarWeeks=2]="CalendarWeeks",l[l.Months=3]="Months",l[l.CalendarMonths=4]="CalendarMonths",l[l.Years=5]="Years",l[l.CalendarYears=6]="CalendarYears",l[l.Minutes=7]="Minutes",l[l.Hours=8]="Hours",(n=e.RelativeDateOperators||(e.RelativeDateOperators={}))[n.InLast=0]="InLast",n[n.InThis=1]="InThis",n[n.InNext=2]="InNext";var _=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=_;var T=function(t){function e(r,i,a){var n=t.call(this,r,o.Unknown)||this;return n.message=i,n.notSupportedTypeName=a,n.schemaUrl=e.schemaUrl,n}return a(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}(_);e.NotSupportedFilter=T;var E=function(t){function e(r,i,a){var n=t.call(this,r,o.IncludeExclude)||this;return n.values=a,n.isExclude=i,n.schemaUrl=e.schemaUrl,n}return a(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}(_);e.IncludeExcludeFilter=E;var F=function(t){function e(r,i,a,n){var l=t.call(this,r,o.TopN)||this;return l.operator=i,l.itemCount=a,l.schemaUrl=e.schemaUrl,l.orderBy=n,l}return a(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}(_);e.TopNFilter=F;var C=function(t){function e(r,i,a,n,l){var s=t.call(this,r,o.RelativeDate)||this;return s.operator=i,s.timeUnitsCount=a,s.timeUnitType=n,s.includeToday=l,s.schemaUrl=e.schemaUrl,s}return a(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}(_);e.RelativeDateFilter=C;var R=function(t){function e(r,i,a,n){var l=t.call(this,r,o.RelativeTime)||this;return l.operator=i,l.timeUnitsCount=a,l.timeUnitType=n,l.schemaUrl=e.schemaUrl,l}return a(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}(_);e.RelativeTimeFilter=R;var k=function(t){function e(r,i){for(var a=[],n=2;n0&&!a)throw new Error("You should pass the values to be filtered for each key. You passed: no values and ".concat(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,s=o.keyValues;l2)throw new Error("AdvancedFilters may not have more than two conditions. You passed: ".concat(a.length));if(1===l.length&&"And"!==i)throw new Error('Logical Operator must be "And" when there is only one condition provided');return s.conditions=l,s}return a(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}(_);e.AdvancedFilter=M;var I,L,q,D,N,B,U,H,W,z=function(t){function e(r,i){var a=t.call(this,r,o.Hierarchy)||this;return a.schemaUrl=e.schemaUrl,a.hierarchyData=i,a}return a(e,t),e.prototype.toJSON=function(){var e=t.prototype.toJSON.call(this);return e.hierarchyData=this.hierarchyData,e.target=this.target,e},e.schemaUrl="http://powerbi.com/product/schema#hierarchy",e}(_);function Q(t){if(t.filterType)return t.filterType;var e=t,r=t;return"string"==typeof e.operator&&Array.isArray(e.values)?o.Basic:"string"==typeof r.logicalOperator&&Array.isArray(r.conditions)?o.Advanced:o.Unknown}function G(t){return!(!t.table||!t.column||t.aggregationFunction)}e.HierarchyFilter=z,e.isFilterKeyColumnsTarget=function(t){return G(t)&&!!t.keys},e.isBasicFilterWithKeys=function(t){return Q(t)===o.Basic&&!!t.keyValues},e.getFilterType=Q,e.isMeasure=function(t){return void 0!==t.table&&void 0!==t.measure},e.isColumn=G,e.isHierarchyLevel=function(t){return!(!(t.table&&t.hierarchy&&t.hierarchyLevel)||t.aggregationFunction)},e.isHierarchyLevelAggr=function(t){return!!(t.table&&t.hierarchy&&t.hierarchyLevel&&t.aggregationFunction)},e.isColumnAggr=function(t){return!!(t.table&&t.column&&t.aggregationFunction)},e.isPercentOfGrandTotal=function(t){return!!t.percentOfGrandTotal},(W=e.CredentialType||(e.CredentialType={}))[W.NoConnection=0]="NoConnection",W[W.OnBehalfOf=1]="OnBehalfOf",W[W.Anonymous=2]="Anonymous",(H=e.DataCacheMode||(e.DataCacheMode={}))[H.Import=0]="Import",H[H.DirectQuery=1]="DirectQuery",(U=e.AggregateFunction||(e.AggregateFunction={}))[U.Default=1]="Default",U[U.None=2]="None",U[U.Sum=3]="Sum",U[U.Min=4]="Min",U[U.Max=5]="Max",U[U.Count=6]="Count",U[U.Average=7]="Average",U[U.DistinctCount=8]="DistinctCount",(B=e.BrowserPrintAdjustmentsMode||(e.BrowserPrintAdjustmentsMode={}))[B.Default=0]="Default",B[B.NoAdjustments=1]="NoAdjustments",(N=e.PageNavigationPosition||(e.PageNavigationPosition={}))[N.Bottom=0]="Bottom",N[N.Left=1]="Left",(D=e.QnaMode||(e.QnaMode={}))[D.Interactive=0]="Interactive",D[D.ResultOnly=1]="ResultOnly",(q=e.ExportDataType||(e.ExportDataType={}))[q.Summarized=0]="Summarized",q[q.Underlying=1]="Underlying",(L=e.BookmarksPlayMode||(e.BookmarksPlayMode={}))[L.Off=0]="Off",L[L.Presentation=1]="Presentation",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"},(I=e.SortDirection||(e.SortDirection={}))[I.Ascending=1]="Ascending",I[I.Descending=2]="Descending";var J=function(){function t(t){this.$schema=t}return t.prototype.toJSON=function(){return{$schema:this.$schema}},t}();e.Selector=J;var K=function(t){function e(r){var i=t.call(this,e.schemaUrl)||this;return i.pageName=r,i}return a(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}(J);e.PageSelector=K;var Y=function(t){function e(r){var i=t.call(this,e.schemaUrl)||this;return i.visualName=r,i}return a(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}(J);e.VisualSelector=Y;var $=function(t){function e(e){var r=t.call(this,Y.schemaUrl)||this;return r.visualType=e,r}return a(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}(J);e.VisualTypeSelector=$;var Z,X,tt,et=function(t){function e(e){var r=t.call(this,Y.schemaUrl)||this;return r.target=e,r}return a(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}(J);function rt(t){return Array.isArray(t)}function it(t){return t&&!!t.groupName}function at(t){return Array.isArray(t)}function ot(t){var e=t.message;return e||(e="".concat(t.path," is invalid. Not meeting ").concat(t.keyword," constraint")),{message:e}}e.SlicerTargetSelector=et,(tt=e.CommandDisplayOption||(e.CommandDisplayOption={}))[tt.Enabled=0]="Enabled",tt[tt.Disabled=1]="Disabled",tt[tt.Hidden=2]="Hidden",(X=e.VisualDataRoleKind||(e.VisualDataRoleKind={}))[X.Grouping=0]="Grouping",X[X.Measure=1]="Measure",X[X.GroupingOrMeasure=2]="GroupingOrMeasure",(Z=e.VisualDataRoleKindPreference||(e.VisualDataRoleKindPreference={}))[Z.Measure=0]="Measure",Z[Z.Grouping=1]="Grouping",e.isOnLoadFilters=function(t){return t&&!rt(t)},e.isReportFiltersArray=rt,e.isFlatMenuExtension=function(t){return t&&!it(t)},e.isGroupedMenuExtension=it,e.isIExtensions=function(t){return t&&!at(t)},e.isIExtensionArray=at,e.validateVisualSelector=function(t){var e=O.Validators.visualSelectorValidator.validate(t);return e?e.map(ot):void 0},e.validateSlicer=function(t){var e=O.Validators.slicerValidator.validate(t);return e?e.map(ot):void 0},e.validateSlicerState=function(t){var e=O.Validators.slicerStateValidator.validate(t);return e?e.map(ot):void 0},e.validatePlayBookmarkRequest=function(t){var e=O.Validators.playBookmarkRequestValidator.validate(t);return e?e.map(ot):void 0},e.validateAddBookmarkRequest=function(t){var e=O.Validators.addBookmarkRequestValidator.validate(t);return e?e.map(ot):void 0},e.validateApplyBookmarkByNameRequest=function(t){var e=O.Validators.applyBookmarkByNameRequestValidator.validate(t);return e?e.map(ot):void 0},e.validateApplyBookmarkStateRequest=function(t){var e=O.Validators.applyBookmarkStateRequestValidator.validate(t);return e?e.map(ot):void 0},e.validateCaptureBookmarkRequest=function(t){var e=O.Validators.captureBookmarkRequestValidator.validate(t);return e?e.map(ot):void 0},e.validateSettings=function(t){var e=O.Validators.settingsValidator.validate(t);return e?e.map(ot):void 0},e.validatePanes=function(t){var e=O.Validators.reportPanesValidator.validate(t);return e?e.map(ot):void 0},e.validateBookmarksPane=function(t){var e=O.Validators.bookmarksPaneValidator.validate(t);return e?e.map(ot):void 0},e.validateFiltersPane=function(t){var e=O.Validators.filtersPaneValidator.validate(t);return e?e.map(ot):void 0},e.validateFieldsPane=function(t){var e=O.Validators.fieldsPaneValidator.validate(t);return e?e.map(ot):void 0},e.validatePageNavigationPane=function(t){var e=O.Validators.pageNavigationPaneValidator.validate(t);return e?e.map(ot):void 0},e.validateSelectionPane=function(t){var e=O.Validators.selectionPaneValidator.validate(t);return e?e.map(ot):void 0},e.validateSyncSlicersPane=function(t){var e=O.Validators.syncSlicersPaneValidator.validate(t);return e?e.map(ot):void 0},e.validateVisualizationsPane=function(t){var e=O.Validators.visualizationsPaneValidator.validate(t);return e?e.map(ot):void 0},e.validateCustomPageSize=function(t){var e=O.Validators.customPageSizeValidator.validate(t);return e?e.map(ot):void 0},e.validateExtension=function(t){var e=O.Validators.extensionValidator.validate(t);return e?e.map(ot):void 0},e.validateMenuGroupExtension=function(t){var e=O.Validators.menuGroupExtensionValidator.validate(t);return e?e.map(ot):void 0},e.validateReportLoad=function(t){var e=O.Validators.reportLoadValidator.validate(t);return e?e.map(ot):void 0},e.validatePaginatedReportLoad=function(t){var e=O.Validators.paginatedReportLoadValidator.validate(t);return e?e.map(ot):void 0},e.validateCreateReport=function(t){var e=O.Validators.reportCreateValidator.validate(t);return e?e.map(ot):void 0},e.validateQuickCreate=function(t){var e=O.Validators.quickCreateValidator.validate(t);return e?e.map(ot):void 0},e.validateDashboardLoad=function(t){var e=O.Validators.dashboardLoadValidator.validate(t);return e?e.map(ot):void 0},e.validateTileLoad=function(t){var e=O.Validators.tileLoadValidator.validate(t);return e?e.map(ot):void 0},e.validatePage=function(t){var e=O.Validators.pageValidator.validate(t);return e?e.map(ot):void 0},e.validateFilter=function(t){var e=O.Validators.filterValidator.validate(t);return e?e.map(ot):void 0},e.validateUpdateFiltersRequest=function(t){var e=O.Validators.updateFiltersRequestValidator.validate(t);return e?e.map(ot):void 0},e.validateSaveAsParameters=function(t){var e=O.Validators.saveAsParametersValidator.validate(t);return e?e.map(ot):void 0},e.validateLoadQnaConfiguration=function(t){var e=O.Validators.loadQnaValidator.validate(t);return e?e.map(ot):void 0},e.validateQnaInterpretInputData=function(t){var e=O.Validators.qnaInterpretInputDataValidator.validate(t);return e?e.map(ot):void 0},e.validateExportDataRequest=function(t){var e=O.Validators.exportDataRequestValidator.validate(t);return e?e.map(ot):void 0},e.validateVisualHeader=function(t){var e=O.Validators.visualHeaderValidator.validate(t);return e?e.map(ot):void 0},e.validateVisualSettings=function(t){var e=O.Validators.visualSettingsValidator.validate(t);return e?e.map(ot):void 0},e.validateCommandsSettings=function(t){var e=O.Validators.commandsSettingsValidator.validate(t);return e?e.map(ot):void 0},e.validateCustomTheme=function(t){var e=O.Validators.customThemeValidator.validate(t);return e?e.map(ot):void 0},e.validateZoomLevel=function(t){var e=O.Validators.zoomLevelValidator.validate(t);return e?e.map(ot):void 0},e.validatePrintSettings=function(t){var e=O.Validators.printSettingsValidator.validate(t);return e?e.map(ot):void 0}},(t,e,r)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.Validators=void 0;var i=r(2),a=r(5),o=r(6),n=r(7),l=r(8),s=r(9),u=r(10),d=r(11),c=r(12),p=r(13),f=r(14),h=r(15),v=r(16),y=r(17),m=r(18),V=r(19),g=r(20),b=r(21),w=r(22),P=r(23),S=r(24),O=r(25),_=r(26),T=r(27),E=r(28),F=r(29),C=r(4),R=r(30),k=r(31),x=r(32),A=r(33),j=r(34);e.Validators={addBookmarkRequestValidator:new a.AddBookmarkRequestValidator,advancedFilterTypeValidator:new C.EnumValidator([0]),advancedFilterValidator:new c.AdvancedFilterValidator,anyArrayValidator:new C.ArrayValidator([new _.AnyOfValidator([new C.StringValidator,new C.NumberValidator,new C.BooleanValidator])]),anyFilterValidator:new _.AnyOfValidator([new c.BasicFilterValidator,new c.AdvancedFilterValidator,new c.IncludeExcludeFilterValidator,new c.NotSupportedFilterValidator,new c.RelativeDateFilterValidator,new c.TopNFilterValidator,new c.RelativeTimeFilterValidator,new c.HierarchyFilterValidator]),anyValueValidator:new _.AnyOfValidator([new C.StringValidator,new C.NumberValidator,new C.BooleanValidator]),actionBarValidator:new i.ActionBarValidator,statusBarValidator:new i.StatusBarValidator,applyBookmarkByNameRequestValidator:new a.ApplyBookmarkByNameRequestValidator,applyBookmarkStateRequestValidator:new a.ApplyBookmarkStateRequestValidator,applyBookmarkValidator:new _.AnyOfValidator([new a.ApplyBookmarkByNameRequestValidator,new a.ApplyBookmarkStateRequestValidator]),backgroundValidator:new C.EnumValidator([0,1]),basicFilterTypeValidator:new C.EnumValidator([1]),basicFilterValidator:new c.BasicFilterValidator,booleanArrayValidator:new C.BooleanArrayValidator,booleanValidator:new C.BooleanValidator,bookmarksPaneValidator:new h.BookmarksPaneValidator,captureBookmarkOptionsValidator:new a.CaptureBookmarkOptionsValidator,captureBookmarkRequestValidator:new a.CaptureBookmarkRequestValidator,columnSchemaArrayValidator:new C.ArrayValidator([new k.ColumnSchemaValidator]),commandDisplayOptionValidator:new C.EnumValidator([0,1,2]),commandExtensionSelectorValidator:new _.AnyOfValidator([new b.VisualSelectorValidator,new b.VisualTypeSelectorValidator]),commandExtensionArrayValidator:new C.ArrayValidator([new d.CommandExtensionValidator]),commandExtensionValidator:new d.CommandExtensionValidator,commandsSettingsArrayValidator:new C.ArrayValidator([new o.CommandsSettingsValidator]),commandsSettingsValidator:new o.CommandsSettingsValidator,conditionItemValidator:new c.ConditionItemValidator,contrastModeValidator:new C.EnumValidator([0,1,2,3,4]),credentialDetailsValidator:new F.MapValidator([new C.StringValidator],[new C.StringValidator]),credentialsValidator:new k.CredentialsValidator,credentialTypeValidator:new C.EnumValidator([0,1,2]),customLayoutDisplayOptionValidator:new C.EnumValidator([0,1,2]),customLayoutValidator:new p.CustomLayoutValidator,customPageSizeValidator:new f.CustomPageSizeValidator,customThemeValidator:new n.CustomThemeValidator,dashboardLoadValidator:new l.DashboardLoadValidator,dataCacheModeValidator:new C.EnumValidator([0,1]),datasetBindingValidator:new s.DatasetBindingValidator,datasetCreateConfigValidator:new k.DatasetCreateConfigValidator,datasourceConnectionConfigValidator:new k.DatasourceConnectionConfigValidator,displayStateModeValidator:new C.EnumValidator([0,1]),displayStateValidator:new p.DisplayStateValidator,exportDataRequestValidator:new u.ExportDataRequestValidator,extensionArrayValidator:new C.ArrayValidator([new d.ExtensionValidator]),extensionsValidator:new _.AnyOfValidator([new C.ArrayValidator([new d.ExtensionValidator]),new d.ExtensionsValidator]),extensionPointsValidator:new d.ExtensionPointsValidator,extensionValidator:new d.ExtensionValidator,fieldForbiddenValidator:new T.FieldForbiddenValidator,fieldRequiredValidator:new E.FieldRequiredValidator,fieldsPaneValidator:new h.FieldsPaneValidator,filterColumnTargetValidator:new c.FilterColumnTargetValidator,filterDisplaySettingsValidator:new c.FilterDisplaySettingsValidator,filterConditionsValidator:new C.ArrayValidator([new c.ConditionItemValidator]),filterHierarchyTargetValidator:new c.FilterHierarchyTargetValidator,filterMeasureTargetValidator:new c.FilterMeasureTargetValidator,filterTargetValidator:new _.AnyOfValidator([new c.FilterColumnTargetValidator,new c.FilterHierarchyTargetValidator,new c.FilterMeasureTargetValidator,new C.ArrayValidator([new _.AnyOfValidator([new c.FilterColumnTargetValidator,new c.FilterHierarchyTargetValidator,new c.FilterMeasureTargetValidator,new c.FilterKeyColumnsTargetValidator,new c.FilterKeyHierarchyTargetValidator])])]),filterValidator:new c.FilterValidator,filterTypeValidator:new C.EnumValidator([0,1,2,3,4,5,6,7,9]),filtersArrayValidator:new C.ArrayValidator([new c.FilterValidator]),filtersOperationsUpdateValidator:new C.EnumValidator([1,2,3]),filtersOperationsRemoveAllValidator:new C.EnumValidator([0]),filtersPaneValidator:new h.FiltersPaneValidator,hyperlinkClickBehaviorValidator:new C.EnumValidator([0,1,2]),includeExcludeFilterValidator:new c.IncludeExcludeFilterValidator,includeExludeFilterTypeValidator:new C.EnumValidator([3]),hierarchyFilterTypeValidator:new C.EnumValidator([9]),hierarchyFilterValuesValidator:new C.ArrayValidator([new c.HierarchyFilterNodeValidator]),layoutTypeValidator:new C.EnumValidator([0,1,2,3]),loadQnaValidator:new v.LoadQnaValidator,menuExtensionValidator:new _.AnyOfValidator([new d.FlatMenuExtensionValidator,new d.GroupedMenuExtensionValidator]),menuGroupExtensionArrayValidator:new C.ArrayValidator([new d.MenuGroupExtensionValidator]),menuGroupExtensionValidator:new d.MenuGroupExtensionValidator,menuLocationValidator:new C.EnumValidator([0,1]),notSupportedFilterTypeValidator:new C.EnumValidator([2]),notSupportedFilterValidator:new c.NotSupportedFilterValidator,numberArrayValidator:new C.NumberArrayValidator,numberValidator:new C.NumberValidator,onLoadFiltersBaseValidator:new _.AnyOfValidator([new c.OnLoadFiltersBaseValidator,new c.OnLoadFiltersBaseRemoveOperationValidator]),pageLayoutValidator:new F.MapValidator([new C.StringValidator],[new p.VisualLayoutValidator]),pageNavigationPaneValidator:new h.PageNavigationPaneValidator,pageNavigationPositionValidator:new C.EnumValidator([0,1]),pageSizeTypeValidator:new C.EnumValidator([0,1,2,3,4,5]),pageSizeValidator:new f.PageSizeValidator,pageValidator:new f.PageValidator,pageViewFieldValidator:new f.PageViewFieldValidator,pagesLayoutValidator:new F.MapValidator([new C.StringValidator],[new p.PageLayoutValidator]),paginatedReportCommandsValidator:new o.PaginatedReportCommandsValidator,paginatedReportDatasetBindingArrayValidator:new C.ArrayValidator([new j.PaginatedReportDatasetBindingValidator]),paginatedReportLoadValidator:new V.PaginatedReportLoadValidator,paginatedReportsettingsValidator:new w.PaginatedReportSettingsValidator,parameterValuesArrayValidator:new C.ArrayValidator([new V.ReportParameterFieldsValidator]),parametersPanelValidator:new R.ParametersPanelValidator,permissionsValidator:new C.EnumValidator([0,1,2,4,7]),playBookmarkRequestValidator:new a.PlayBookmarkRequestValidator,printSettingsValidator:new A.PrintSettingsValidator,qnaInterpretInputDataValidator:new v.QnaInterpretInputDataValidator,qnaPanesValidator:new h.QnaPanesValidator,qnaSettingValidator:new v.QnaSettingsValidator,quickCreateValidator:new x.QuickCreateValidator,rawDataValidator:new C.ArrayValidator([new C.ArrayValidator([new C.StringValidator])]),relativeDateFilterOperatorValidator:new C.EnumValidator([0,1,2]),relativeDateFilterTimeUnitTypeValidator:new C.EnumValidator([0,1,2,3,4,5,6]),relativeDateFilterTypeValidator:new C.EnumValidator([4]),relativeDateFilterValidator:new c.RelativeDateFilterValidator,relativeDateTimeFilterTypeValidator:new C.EnumValidator([4,7]),relativeDateTimeFilterUnitTypeValidator:new C.EnumValidator([0,1,2,3,4,5,6,7,8]),relativeTimeFilterTimeUnitTypeValidator:new C.EnumValidator([7,8]),relativeTimeFilterTypeValidator:new C.EnumValidator([7]),relativeTimeFilterValidator:new c.RelativeTimeFilterValidator,reportBarsValidator:new i.ReportBarsValidator,reportCreateValidator:new y.ReportCreateValidator,reportLoadFiltersValidator:new _.AnyOfValidator([new C.ArrayValidator([new c.FilterValidator]),new c.OnLoadFiltersValidator]),reportLoadValidator:new m.ReportLoadValidator,reportPanesValidator:new h.ReportPanesValidator,saveAsParametersValidator:new g.SaveAsParametersValidator,selectionPaneValidator:new h.SelectionPaneValidator,settingsValidator:new w.SettingsValidator,singleCommandSettingsValidator:new o.SingleCommandSettingsValidator,slicerSelectorValidator:new _.AnyOfValidator([new b.VisualSelectorValidator,new b.SlicerTargetSelectorValidator]),slicerStateValidator:new P.SlicerStateValidator,slicerTargetValidator:new _.AnyOfValidator([new c.FilterColumnTargetValidator,new c.FilterHierarchyTargetValidator,new c.FilterMeasureTargetValidator,new c.FilterKeyColumnsTargetValidator,new c.FilterKeyHierarchyTargetValidator]),slicerValidator:new P.SlicerValidator,stringArrayValidator:new C.StringArrayValidator,stringValidator:new C.StringValidator,syncSlicersPaneValidator:new h.SyncSlicersPaneValidator,tableDataArrayValidator:new C.ArrayValidator([new k.TableDataValidator]),tableSchemaListValidator:new C.ArrayValidator([new k.TableSchemaValidator]),tileLoadValidator:new S.TileLoadValidator,tokenTypeValidator:new C.EnumValidator([0,1]),topNFilterTypeValidator:new C.EnumValidator([5]),topNFilterValidator:new c.TopNFilterValidator,updateFiltersRequestValidator:new _.AnyOfValidator([new c.UpdateFiltersRequestValidator,new c.RemoveFiltersRequestValidator]),viewModeValidator:new C.EnumValidator([0,1]),visualCommandSelectorValidator:new _.AnyOfValidator([new b.VisualSelectorValidator,new b.VisualTypeSelectorValidator]),visualHeaderSelectorValidator:new _.AnyOfValidator([new b.VisualSelectorValidator,new b.VisualTypeSelectorValidator]),visualHeaderSettingsValidator:new O.VisualHeaderSettingsValidator,visualHeaderValidator:new O.VisualHeaderValidator,visualHeadersValidator:new C.ArrayValidator([new O.VisualHeaderValidator]),visualizationsPaneValidator:new h.VisualizationsPaneValidator,visualLayoutValidator:new p.VisualLayoutValidator,visualSelectorValidator:new b.VisualSelectorValidator,visualSettingsValidator:new O.VisualSettingsValidator,visualTypeSelectorValidator:new b.VisualTypeSelectorValidator,zoomLevelValidator:new C.RangeValidator(.25,4)}},function(t,e,r){var i,a=this&&this.__extends||(i=function(t,e){return i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},i(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.StatusBarValidator=e.ActionBarValidator=e.ReportBarsValidator=void 0;var o=r(3),n=r(4),l=r(1),s=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return a(e,t),e.prototype.validate=function(e,r,i){if(null==e)return null;var a=t.prototype.validate.call(this,e,r,i);if(a)return a;var n=[{field:"actionBar",validators:[l.Validators.actionBarValidator]},{field:"statusBar",validators:[l.Validators.statusBarValidator]}];return new o.MultipleFieldsValidator(n).validate(e,r,i)},e}(n.ObjectValidator);e.ReportBarsValidator=s;var u=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return a(e,t),e.prototype.validate=function(e,r,i){if(null==e)return null;var a=t.prototype.validate.call(this,e,r,i);if(a)return a;var n=[{field:"visible",validators:[l.Validators.booleanValidator]}];return new o.MultipleFieldsValidator(n).validate(e,r,i)},e}(n.ObjectValidator);e.ActionBarValidator=u;var d=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return a(e,t),e.prototype.validate=function(e,r,i){if(null==e)return null;var a=t.prototype.validate.call(this,e,r,i);if(a)return a;var n=[{field:"visible",validators:[l.Validators.booleanValidator]}];return new o.MultipleFieldsValidator(n).validate(e,r,i)},e}(n.ObjectValidator);e.StatusBarValidator=d},(t,e)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.MultipleFieldsValidator=void 0;var r=function(){function t(t){this.fieldValidatorsPairs=t}return t.prototype.validate=function(t,e,r){if(!this.fieldValidatorsPairs)return null;for(var i=e?e+"."+r:r,a=0,o=this.fieldValidatorsPairs;athis.maxValue||e{Object.defineProperty(e,"__esModule",{value:!0}),e.AnyOfValidator=void 0;var r=function(){function t(t){this.validators=t}return t.prototype.validate=function(t,e,r){if(null==t)return null;for(var i=!1,a=0,o=this.validators;a{Object.defineProperty(e,"__esModule",{value:!0}),e.FieldForbiddenValidator=void 0;var r=function(){function t(){}return t.prototype.validate=function(t,e,r){return void 0!==t?[{message:r+" is forbidden",path:(e?e+".":"")+r,keyword:"forbidden"}]:null},t}();e.FieldForbiddenValidator=r},(t,e)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.FieldRequiredValidator=void 0;var r=function(){function t(){}return t.prototype.validate=function(t,e,r){return null==t?[{message:r+" is required",path:(e?e+".":"")+r,keyword:"required"}]:null},t}();e.FieldRequiredValidator=r},function(t,e,r){var i,a=this&&this.__extends||(i=function(t,e){return i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},i(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.MapValidator=void 0;var o=function(t){function e(e,r){var i=t.call(this)||this;return i.keyValidators=e,i.valueValidators=r,i}return a(e,t),e.prototype.validate=function(e,r,i){if(null==e)return null;var a=t.prototype.validate.call(this,e,r,i);if(a)return a;for(var o in e)if(e.hasOwnProperty(o)){for(var n=(r?r+".":"")+i+"."+o,l=0,s=this.keyValidators;l2&&"[]"===n.slice(l-2)&&(s=!0,r[n=n.slice(0,l-2)]||(r[n]=[])),a=o[1]?g(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(-1!==(i=t.indexOf("?"))){var l=t.substr(i+1,t.length);t=t.substr(0,i),o=this.parseQueryString(l)}for("/"!==(t=decodeURI(t)).charAt(0)&&(t="/"+t),(e=t.length)>1&&"/"===t.charAt(e-1)&&(t=t.substr(0,e-1),n=!0),r=0;r{Object.defineProperty(e,"__esModule",{value:!0}),e.FilterBuilder=void 0;var r=function(){function t(){}return t.prototype.withTargetObject=function(t){return this.target=t,this},t.prototype.withColumnTarget=function(t,e){return this.target={table:t,column:e},this},t.prototype.withMeasureTarget=function(t,e){return this.target={table:t,measure:e},this},t.prototype.withHierarchyLevelTarget=function(t,e,r){return this.target={table:t,hierarchy:e,hierarchyLevel:r},this},t.prototype.withColumnAggregation=function(t,e,r){return this.target={table:t,column:e,aggregationFunction:r},this},t.prototype.withHierarchyLevelAggregationTarget=function(t,e,r,i){return this.target={table:t,hierarchy:e,hierarchyLevel:r,aggregationFunction:i},this},t}();e.FilterBuilder=r},567:(t,e,r)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.RelativeTimeFilterBuilder=e.RelativeDateFilterBuilder=e.TopNFilterBuilder=e.AdvancedFilterBuilder=e.BasicFilterBuilder=void 0;var i=r(153);Object.defineProperty(e,"BasicFilterBuilder",{enumerable:!0,get:function(){return i.BasicFilterBuilder}});var a=r(674);Object.defineProperty(e,"AdvancedFilterBuilder",{enumerable:!0,get:function(){return a.AdvancedFilterBuilder}});var o=r(664);Object.defineProperty(e,"TopNFilterBuilder",{enumerable:!0,get:function(){return o.TopNFilterBuilder}});var n=r(844);Object.defineProperty(e,"RelativeDateFilterBuilder",{enumerable:!0,get:function(){return n.RelativeDateFilterBuilder}});var l=r(275);Object.defineProperty(e,"RelativeTimeFilterBuilder",{enumerable:!0,get:function(){return l.RelativeTimeFilterBuilder}})},844:function(t,e,r){var i,a=this&&this.__extends||(i=function(t,e){return i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},i(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.RelativeDateFilterBuilder=void 0;var o=r(149),n=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.isTodayIncluded=!0,e}return a(e,t),e.prototype.inLast=function(t,e){return this.operator=o.RelativeDateOperators.InLast,this.timeUnitsCount=t,this.timeUnitType=e,this},e.prototype.inThis=function(t,e){return this.operator=o.RelativeDateOperators.InThis,this.timeUnitsCount=t,this.timeUnitType=e,this},e.prototype.inNext=function(t,e){return this.operator=o.RelativeDateOperators.InNext,this.timeUnitsCount=t,this.timeUnitType=e,this},e.prototype.includeToday=function(t){return this.isTodayIncluded=t,this},e.prototype.build=function(){return new o.RelativeDateFilter(this.target,this.operator,this.timeUnitsCount,this.timeUnitType,this.isTodayIncluded)},e}(r(277).FilterBuilder);e.RelativeDateFilterBuilder=n},275:function(t,e,r){var i,a=this&&this.__extends||(i=function(t,e){return i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},i(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.RelativeTimeFilterBuilder=void 0;var o=r(149),n=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return a(e,t),e.prototype.inLast=function(t,e){return this.operator=o.RelativeDateOperators.InLast,this.timeUnitsCount=t,this.timeUnitType=e,this},e.prototype.inThis=function(t,e){return this.operator=o.RelativeDateOperators.InThis,this.timeUnitsCount=t,this.timeUnitType=e,this},e.prototype.inNext=function(t,e){return this.operator=o.RelativeDateOperators.InNext,this.timeUnitsCount=t,this.timeUnitType=e,this},e.prototype.build=function(){return new o.RelativeTimeFilter(this.target,this.operator,this.timeUnitsCount,this.timeUnitType)},e}(r(277).FilterBuilder);e.RelativeTimeFilterBuilder=n},664:function(t,e,r){var i,a=this&&this.__extends||(i=function(t,e){return i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},i(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.TopNFilterBuilder=void 0;var o=r(149),n=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return a(e,t),e.prototype.top=function(t){return this.operator="Top",this.itemCount=t,this},e.prototype.bottom=function(t){return this.operator="Bottom",this.itemCount=t,this},e.prototype.orderByTarget=function(t){return this.orderByTargetValue=t,this},e.prototype.build=function(){return new o.TopNFilter(this.target,this.operator,this.itemCount,this.orderByTargetValue)},e}(r(277).FilterBuilder);e.TopNFilterBuilder=n},460:function(t,e,r){var i=this&&this.__awaiter||function(t,e,r,i){return new(r||(r=Promise))((function(a,o){function n(t){try{s(i.next(t))}catch(t){o(t)}}function l(t){try{s(i.throw(t))}catch(t){o(t)}}function s(t){var e;t.done?a(t.value):(e=t.value,e instanceof r?e:new r((function(t){t(e)}))).then(n,l)}s((i=i.apply(t,e||[])).next())}))},a=this&&this.__generator||function(t,e){var r,i,a,o,n={label:0,sent:function(){if(1&a[0])throw a[1];return a[1]},trys:[],ops:[]};return o={next:l(0),throw:l(1),return:l(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function l(o){return function(l){return function(o){if(r)throw new TypeError("Generator is already executing.");for(;n;)try{if(r=1,i&&(a=2&o[0]?i.return:o[0]?i.throw||((a=i.return)&&a.call(i),0):i.next)&&!(a=a.call(i,o[1])).done)return a;switch(i=0,a&&(o=[2&o[0],a.value]),o[0]){case 0:case 1:a=o;break;case 4:return n.label++,{value:o[1],done:!1};case 5:n.label++,i=o[1],o=[0];continue;case 7:o=n.ops.pop(),n.trys.pop();continue;default:if(!((a=(a=n.trys).length>0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]{Object.defineProperty(e,"__esModule",{value:!0}),e.default={version:"2.22.4",type:"js"}},536:function(t,e,r){var i,a=this&&this.__extends||(i=function(t,e){return i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},i(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}),o=this&&this.__awaiter||function(t,e,r,i){return new(r||(r=Promise))((function(a,o){function n(t){try{s(i.next(t))}catch(t){o(t)}}function l(t){try{s(i.throw(t))}catch(t){o(t)}}function s(t){var e;t.done?a(t.value):(e=t.value,e instanceof r?e:new r((function(t){t(e)}))).then(n,l)}s((i=i.apply(t,e||[])).next())}))},n=this&&this.__generator||function(t,e){var r,i,a,o,n={label:0,sent:function(){if(1&a[0])throw a[1];return a[1]},trys:[],ops:[]};return o={next:l(0),throw:l(1),return:l(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function l(o){return function(l){return function(o){if(r)throw new TypeError("Generator is already executing.");for(;n;)try{if(r=1,i&&(a=2&o[0]?i.return:o[0]?i.throw||((a=i.return)&&a.call(i),0):i.next)&&!(a=a.call(i,o[1])).done)return a;switch(i=0,a&&(o=[2&o[0],a.value]),o[0]){case 0:case 1:a=o;break;case 4:return n.label++,{value:o[1],done:!1};case 5:n.label++,i=o[1],o=[0];continue;case 7:o=n.ops.pop(),n.trys.pop();continue;default:if(!((a=(a=n.trys).length>0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]{Object.defineProperty(e,"__esModule",{value:!0}),e.EmbedUrlNotSupported=e.APINotSupportedForRDLError=void 0,e.APINotSupportedForRDLError="This API is currently not supported for RDL reports",e.EmbedUrlNotSupported="Embed URL is invalid for this scenario. Please use Power BI REST APIs to get the valid URL"},357:(t,e,r)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.routerFactory=e.wpmpFactory=e.hpmFactory=void 0;var i=r(903),a=r(615),o=r(891),n=r(913);e.hpmFactory=function(t,e,r,i,o){return void 0===r&&(r=n.default.version),void 0===i&&(i=n.default.type),new a.HttpPostMessage(t,{"x-sdk-type":i,"x-sdk-version":r,"x-sdk-wrapper-version":o},e)},e.wpmpFactory=function(t,e,r){return new i.WindowPostMessageProxy({processTrackingProperties:{addTrackingProperties:a.HttpPostMessage.addTrackingProperties,getTrackingProperties:a.HttpPostMessage.getTrackingProperties},isErrorMessage:a.HttpPostMessage.isErrorMessage,suppressWarnings:!0,name:t,logMessages:e,eventSourceOverrideWindow:r})},e.routerFactory=function(t){return new o.Router(t)}},220:function(t,e,r){var i=this&&this.__awaiter||function(t,e,r,i){return new(r||(r=Promise))((function(a,o){function n(t){try{s(i.next(t))}catch(t){o(t)}}function l(t){try{s(i.throw(t))}catch(t){o(t)}}function s(t){var e;t.done?a(t.value):(e=t.value,e instanceof r?e:new r((function(t){t(e)}))).then(n,l)}s((i=i.apply(t,e||[])).next())}))},a=this&&this.__generator||function(t,e){var r,i,a,o,n={label:0,sent:function(){if(1&a[0])throw a[1];return a[1]},trys:[],ops:[]};return o={next:l(0),throw:l(1),return:l(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function l(o){return function(l){return function(o){if(r)throw new TypeError("Generator is already executing.");for(;n;)try{if(r=1,i&&(a=2&o[0]?i.return:o[0]?i.throw||((a=i.return)&&a.call(i),0):i.next)&&!(a=a.call(i,o[1])).done)return a;switch(i=0,a&&(o=[2&o[0],a.value]),o[0]){case 0:case 1:a=o;break;case 4:return n.label++,{value:o[1],done:!1};case 5:n.label++,i=o[1],o=[0];continue;case 7:o=n.ops.pop(),n.trys.pop();continue;default:if(!((a=(a=n.trys).length>0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0?"&":"?";return t+(i+e+"=")+r},e.isSavedInternal=function(t,e,a){return r(this,void 0,void 0,(function(){return i(this,(function(r){switch(r.label){case 0:return r.trys.push([0,2,,3]),[4,t.get("/report/hasUnsavedChanges",{uid:e},a)];case 1:return[2,!r.sent().body];case 2:throw r.sent().body;case 3:return[2]}}))}))},e.isRDLEmbed=function(t){return t&&t.toLowerCase().indexOf("/rdlembed?")>=0},e.autoAuthInEmbedUrl=function(t){return t&&decodeURIComponent(t).toLowerCase().indexOf("autoauth=true")>=0},e.getRandomValue=o,e.getTimeDiffInMilliseconds=function(t,e){return Math.abs(t.getTime()-e.getTime())},e.isCreate=function(t){return"create"===t||"quickcreate"===t}},23:function(t,e,r){var i,a=this&&this.__extends||(i=function(t,e){return i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},i(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}),o=this&&this.__awaiter||function(t,e,r,i){return new(r||(r=Promise))((function(a,o){function n(t){try{s(i.next(t))}catch(t){o(t)}}function l(t){try{s(i.throw(t))}catch(t){o(t)}}function s(t){var e;t.done?a(t.value):(e=t.value,e instanceof r?e:new r((function(t){t(e)}))).then(n,l)}s((i=i.apply(t,e||[])).next())}))},n=this&&this.__generator||function(t,e){var r,i,a,o,n={label:0,sent:function(){if(1&a[0])throw a[1];return a[1]},trys:[],ops:[]};return o={next:l(0),throw:l(1),return:l(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function l(o){return function(l){return function(o){if(r)throw new TypeError("Generator is already executing.");for(;n;)try{if(r=1,i&&(a=2&o[0]?i.return:o[0]?i.throw||((a=i.return)&&a.call(i),0):i.next)&&!(a=a.call(i,o[1])).done)return a;switch(i=0,a&&(o=[2&o[0],a.value]),o[0]){case 0:case 1:a=o;break;case 4:return n.label++,{value:o[1],done:!1};case 5:n.label++,i=o[1],o=[0];continue;case 7:o=n.ops.pop(),n.trys.pop();continue;default:if(!((a=(a=n.trys).length>0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]{var e;self,e=()=>(()=>{"use strict";var t={};return(()=>{var e=t;Object.defineProperty(e,"__esModule",{value:!0}),e.WindowPostMessageProxy=void 0;var r=function(){function t(e){void 0===e&&(e={processTrackingProperties:{addTrackingProperties:t.defaultAddTrackingProperties,getTrackingProperties:t.defaultGetTrackingProperties},isErrorMessage:t.defaultIsErrorMessage,receiveWindow:window,name:t.createRandomString()});var r=this;this.pendingRequestPromises={},this.addTrackingProperties=e.processTrackingProperties&&e.processTrackingProperties.addTrackingProperties||t.defaultAddTrackingProperties,this.getTrackingProperties=e.processTrackingProperties&&e.processTrackingProperties.getTrackingProperties||t.defaultGetTrackingProperties,this.isErrorMessage=e.isErrorMessage||t.defaultIsErrorMessage,this.receiveWindow=e.receiveWindow||window,this.name=e.name||t.createRandomString(),this.logMessages=e.logMessages||!1,this.eventSourceOverrideWindow=e.eventSourceOverrideWindow,this.suppressWarnings=e.suppressWarnings||!1,this.logMessages&&console.log("new WindowPostMessageProxy created with name: ".concat(this.name," receiving on window: ").concat(this.receiveWindow.document.title)),this.handlers=[],this.windowMessageHandler=function(t){return r.onMessageReceived(t)},this.start()}return t.defaultAddTrackingProperties=function(e,r){return e[t.messagePropertyName]=r,e},t.defaultGetTrackingProperties=function(e){return e[t.messagePropertyName]},t.defaultIsErrorMessage=function(t){return!!t.error},t.createDeferred=function(){var t={resolve:null,reject:null,promise:null},e=new Promise((function(e,r){t.resolve=e,t.reject=r}));return t.promise=e,t},t.createRandomString=function(){var t=window.crypto||window.msCrypto,e=new Uint32Array(1);return t.getRandomValues(e),e[0].toString(36).substring(1)},t.prototype.addHandler=function(t){this.handlers.push(t)},t.prototype.removeHandler=function(t){var e=this.handlers.indexOf(t);if(-1===e)throw new Error("You attempted to remove a handler but no matching handler was found.");this.handlers.splice(e,1)},t.prototype.start=function(){this.receiveWindow.addEventListener("message",this.windowMessageHandler)},t.prototype.stop=function(){this.receiveWindow.removeEventListener("message",this.windowMessageHandler)},t.prototype.postMessage=function(e,r){var i={id:t.createRandomString()};this.addTrackingProperties(r,i),this.logMessages&&(console.log("".concat(this.name," Posting message:")),console.log(JSON.stringify(r,null," "))),e.postMessage(r,"*");var a=t.createDeferred();return this.pendingRequestPromises[i.id]=a,a.promise},t.prototype.sendResponse=function(t,e,r){this.addTrackingProperties(e,r),this.logMessages&&(console.log("".concat(this.name," Sending response:")),console.log(JSON.stringify(e,null," "))),t.postMessage(e,"*")},t.prototype.onMessageReceived=function(t){var e=this;this.logMessages&&(console.log("".concat(this.name," Received message:")),console.log("type: ".concat(t.type)),console.log(JSON.stringify(t.data,null," ")));var r=this.eventSourceOverrideWindow||t.source;if(r){var i=t.data;if("object"==typeof i){var a,o;try{a=this.getTrackingProperties(i)}catch(t){this.suppressWarnings||console.warn("Proxy(".concat(this.name,"): Error occurred when attempting to get tracking properties from incoming message:"),JSON.stringify(i,null," "),"Error: ",t)}if(a&&(o=this.pendingRequestPromises[a.id]),o){var n=!0;try{n=this.isErrorMessage(i)}catch(t){console.warn("Proxy(".concat(this.name,") Error occurred when trying to determine if message is consider an error response. Message: "),JSON.stringify(i,null,""),"Error: ",t)}n?o.reject(i):o.resolve(i),delete this.pendingRequestPromises[a.id]}else this.handlers.some((function(t){var o=!1;try{o=t.test(i)}catch(t){e.suppressWarnings||console.warn("Proxy(".concat(e.name,"): Error occurred when handler was testing incoming message:"),JSON.stringify(i,null," "),"Error: ",t)}if(o){var n=void 0;try{n=Promise.resolve(t.handle(i))}catch(t){e.suppressWarnings||console.warn("Proxy(".concat(e.name,"): Error occurred when handler was processing incoming message:"),JSON.stringify(i,null," "),"Error: ",t),n=Promise.resolve()}return n.then((function(t){if(!t){var o="Handler for message: ".concat(JSON.stringify(i,null," ")," did not return a response message. The default response message will be returned instead.");e.suppressWarnings||console.warn("Proxy(".concat(e.name,"): ").concat(o)),t={warning:o}}e.sendResponse(r,t,a)})),!0}}))||this.suppressWarnings||console.warn("Proxy(".concat(this.name,") did not handle message. Handlers: ").concat(this.handlers.length," Message: ").concat(JSON.stringify(i,null,""),"."))}else this.suppressWarnings||console.warn("Proxy(".concat(this.name,"): Received message that was not an object. Discarding message"))}},t.messagePropertyName="windowPostMessageProxy",t}();e.WindowPostMessageProxy=r})(),t})(),t.exports=e()}},e={};function r(i){var a=e[i];if(void 0!==a)return a.exports;var o=e[i]={exports:{}};return t[i].call(o.exports,o,o.exports,r),o.exports}var i={};return(()=>{var t=i;Object.defineProperty(t,"__esModule",{value:!0}),t.RelativeTimeFilterBuilder=t.RelativeDateFilterBuilder=t.TopNFilterBuilder=t.AdvancedFilterBuilder=t.BasicFilterBuilder=t.Create=t.QuickCreate=t.VisualDescriptor=t.Visual=t.Qna=t.Page=t.Embed=t.Tile=t.Dashboard=t.Report=t.models=t.factories=t.service=void 0;var e=r(149);t.models=e;var a=r(562);t.service=a;var o=r(357);t.factories=o;var n=r(125);Object.defineProperty(t,"Report",{enumerable:!0,get:function(){return n.Report}});var l=r(365);Object.defineProperty(t,"Dashboard",{enumerable:!0,get:function(){return l.Dashboard}});var s=r(43);Object.defineProperty(t,"Tile",{enumerable:!0,get:function(){return s.Tile}});var u=r(932);Object.defineProperty(t,"Embed",{enumerable:!0,get:function(){return u.Embed}});var d=r(220);Object.defineProperty(t,"Page",{enumerable:!0,get:function(){return d.Page}});var c=r(148);Object.defineProperty(t,"Qna",{enumerable:!0,get:function(){return c.Qna}});var p=r(23);Object.defineProperty(t,"Visual",{enumerable:!0,get:function(){return p.Visual}});var f=r(558);Object.defineProperty(t,"VisualDescriptor",{enumerable:!0,get:function(){return f.VisualDescriptor}});var h=r(714);Object.defineProperty(t,"QuickCreate",{enumerable:!0,get:function(){return h.QuickCreate}});var v=r(536);Object.defineProperty(t,"Create",{enumerable:!0,get:function(){return v.Create}});var y=r(567);Object.defineProperty(t,"BasicFilterBuilder",{enumerable:!0,get:function(){return y.BasicFilterBuilder}}),Object.defineProperty(t,"AdvancedFilterBuilder",{enumerable:!0,get:function(){return y.AdvancedFilterBuilder}}),Object.defineProperty(t,"TopNFilterBuilder",{enumerable:!0,get:function(){return y.TopNFilterBuilder}}),Object.defineProperty(t,"RelativeDateFilterBuilder",{enumerable:!0,get:function(){return y.RelativeDateFilterBuilder}}),Object.defineProperty(t,"RelativeTimeFilterBuilder",{enumerable:!0,get:function(){return y.RelativeTimeFilterBuilder}});var m=new a.Service(o.hpmFactory,o.wpmpFactory,o.routerFactory);window.powerbi&&window.powerBISDKGlobalServiceInstanceName?window[window.powerBISDKGlobalServiceInstanceName]=m:window.powerbi=m})(),i})())); \ No newline at end of file +!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,(()=>(()=>{var t={319:t=>{var e;self,e=()=>(()=>{"use strict";var t={};return(()=>{var e=t;Object.defineProperty(e,"__esModule",{value:!0}),e.HttpPostMessage=void 0;var r=function(){function t(t,e,r){void 0===e&&(e={}),this.defaultHeaders=e,this.defaultTargetWindow=r,this.windowPostMessageProxy=t}return t.addTrackingProperties=function(t,e){return t.headers=t.headers||{},e&&e.id&&(t.headers.id=e.id),t},t.getTrackingProperties=function(t){return{id:t.headers&&t.headers.id}},t.isErrorMessage=function(t){return"number"==typeof(t&&t.statusCode)&&!(200<=t.statusCode&&t.statusCode<300)},t.prototype.get=function(t,e,r,i){return void 0===e&&(e={}),void 0===r&&(r=this.defaultTargetWindow),this.send({method:"GET",url:t,headers:e},r,i)},t.prototype.post=function(t,e,r,i,a){return void 0===r&&(r={}),void 0===i&&(i=this.defaultTargetWindow),this.send({method:"POST",url:t,headers:r,body:e},i,a)},t.prototype.put=function(t,e,r,i,a){return void 0===r&&(r={}),void 0===i&&(i=this.defaultTargetWindow),this.send({method:"PUT",url:t,headers:r,body:e},i,a)},t.prototype.patch=function(t,e,r,i,a){return void 0===r&&(r={}),void 0===i&&(i=this.defaultTargetWindow),this.send({method:"PATCH",url:t,headers:r,body:e},i,a)},t.prototype.delete=function(t,e,r,i,a){return void 0===e&&(e=null),void 0===r&&(r={}),void 0===i&&(i=this.defaultTargetWindow),this.send({method:"DELETE",url:t,headers:r,body:e},i,a)},t.prototype.send=function(t,e,r){if(void 0===e&&(e=this.defaultTargetWindow),t.headers=this.assign({},this.defaultHeaders,t.headers),!e)throw new Error("target window is not provided. You must either provide the target window explicitly as argument to request, or specify default target window when constructing instance of this class.");return this.windowPostMessageProxy.postMessage(e,t,r)},t.prototype.assign=function(t){for(var e=[],r=1;r(()=>{var t=[function(t,e,r){var i,a=this&&this.__extends||(i=function(t,e){return i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},i(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.TextAlignment=e.CommonErrorCodes=e.BookmarksPlayMode=e.ExportDataType=e.QnaMode=e.PageNavigationPosition=e.BrowserPrintAdjustmentsMode=e.AggregateFunction=e.DataCacheMode=e.CredentialType=e.isPercentOfGrandTotal=e.isColumnAggr=e.isHierarchyLevelAggr=e.isHierarchyLevel=e.isColumn=e.isMeasure=e.getFilterType=e.isBasicFilterWithKeys=e.isFilterKeyColumnsTarget=e.HierarchyFilter=e.AdvancedFilter=e.TupleFilter=e.IdentityFilter=e.BasicFilterWithKeys=e.BasicFilter=e.RelativeTimeFilter=e.RelativeDateFilter=e.TopNFilter=e.IncludeExcludeFilter=e.NotSupportedFilter=e.Filter=e.RelativeDateOperators=e.RelativeDateFilterTimeUnit=e.FilterType=e.FiltersLevel=e.FiltersOperations=e.MenuLocation=e.ContrastMode=e.TokenType=e.ViewMode=e.Permissions=e.SectionVisibility=e.ReportAlignment=e.HyperlinkClickBehavior=e.LayoutType=e.VisualContainerDisplayMode=e.BackgroundType=e.DisplayOption=e.PageSizeType=e.TraceType=void 0,e.validateVisualHeader=e.validateExportDataRequest=e.validateQnaInterpretInputData=e.validateLoadQnaConfiguration=e.validateSaveAsParameters=e.validateUpdateFiltersRequest=e.validateFilter=e.validatePage=e.validateTileLoad=e.validateDashboardLoad=e.validateQuickCreate=e.validateCreateReport=e.validatePaginatedReportLoad=e.validateReportLoad=e.validateMenuGroupExtension=e.validateExtension=e.validateCustomPageSize=e.validateVisualizationsPane=e.validateSyncSlicersPane=e.validateSelectionPane=e.validatePageNavigationPane=e.validateFieldsPane=e.validateFiltersPane=e.validateBookmarksPane=e.validatePanes=e.validateSettings=e.validateCaptureBookmarkRequest=e.validateApplyBookmarkStateRequest=e.validateApplyBookmarkByNameRequest=e.validateAddBookmarkRequest=e.validatePlayBookmarkRequest=e.validateSlicerState=e.validateSlicer=e.validateVisualSelector=e.isIExtensionArray=e.isIExtensions=e.isGroupedMenuExtension=e.isFlatMenuExtension=e.isReportFiltersArray=e.isOnLoadFilters=e.VisualDataRoleKindPreference=e.VisualDataRoleKind=e.CommandDisplayOption=e.SlicerTargetSelector=e.VisualTypeSelector=e.VisualSelector=e.PageSelector=e.Selector=e.SortDirection=e.LegendPosition=void 0,e.validatePrintSettings=e.validateZoomLevel=e.validateCustomTheme=e.validateCommandsSettings=e.validateVisualSettings=void 0;var o,n,l,s,u,d,c,p,f,h,v,y,m,V,g,b,w,P,S,O=r(1);(S=e.TraceType||(e.TraceType={}))[S.Information=0]="Information",S[S.Verbose=1]="Verbose",S[S.Warning=2]="Warning",S[S.Error=3]="Error",S[S.ExpectedError=4]="ExpectedError",S[S.UnexpectedError=5]="UnexpectedError",S[S.Fatal=6]="Fatal",(P=e.PageSizeType||(e.PageSizeType={}))[P.Widescreen=0]="Widescreen",P[P.Standard=1]="Standard",P[P.Cortana=2]="Cortana",P[P.Letter=3]="Letter",P[P.Custom=4]="Custom",P[P.Mobile=5]="Mobile",(w=e.DisplayOption||(e.DisplayOption={}))[w.FitToPage=0]="FitToPage",w[w.FitToWidth=1]="FitToWidth",w[w.ActualSize=2]="ActualSize",(b=e.BackgroundType||(e.BackgroundType={}))[b.Default=0]="Default",b[b.Transparent=1]="Transparent",(g=e.VisualContainerDisplayMode||(e.VisualContainerDisplayMode={}))[g.Visible=0]="Visible",g[g.Hidden=1]="Hidden",(V=e.LayoutType||(e.LayoutType={}))[V.Master=0]="Master",V[V.Custom=1]="Custom",V[V.MobilePortrait=2]="MobilePortrait",V[V.MobileLandscape=3]="MobileLandscape",(m=e.HyperlinkClickBehavior||(e.HyperlinkClickBehavior={}))[m.Navigate=0]="Navigate",m[m.NavigateAndRaiseEvent=1]="NavigateAndRaiseEvent",m[m.RaiseEvent=2]="RaiseEvent",(y=e.ReportAlignment||(e.ReportAlignment={}))[y.Left=0]="Left",y[y.Center=1]="Center",y[y.Right=2]="Right",y[y.None=3]="None",(v=e.SectionVisibility||(e.SectionVisibility={}))[v.AlwaysVisible=0]="AlwaysVisible",v[v.HiddenInViewMode=1]="HiddenInViewMode",(h=e.Permissions||(e.Permissions={}))[h.Read=0]="Read",h[h.ReadWrite=1]="ReadWrite",h[h.Copy=2]="Copy",h[h.Create=4]="Create",h[h.All=7]="All",(f=e.ViewMode||(e.ViewMode={}))[f.View=0]="View",f[f.Edit=1]="Edit",(p=e.TokenType||(e.TokenType={}))[p.Aad=0]="Aad",p[p.Embed=1]="Embed",(c=e.ContrastMode||(e.ContrastMode={}))[c.None=0]="None",c[c.HighContrast1=1]="HighContrast1",c[c.HighContrast2=2]="HighContrast2",c[c.HighContrastBlack=3]="HighContrastBlack",c[c.HighContrastWhite=4]="HighContrastWhite",(d=e.MenuLocation||(e.MenuLocation={}))[d.Bottom=0]="Bottom",d[d.Top=1]="Top",(u=e.FiltersOperations||(e.FiltersOperations={}))[u.RemoveAll=0]="RemoveAll",u[u.ReplaceAll=1]="ReplaceAll",u[u.Add=2]="Add",u[u.Replace=3]="Replace",(s=e.FiltersLevel||(e.FiltersLevel={}))[s.Report=0]="Report",s[s.Page=1]="Page",s[s.Visual=2]="Visual",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",t[t.Identity=8]="Identity",t[t.Hierarchy=9]="Hierarchy"}(o=e.FilterType||(e.FilterType={})),(l=e.RelativeDateFilterTimeUnit||(e.RelativeDateFilterTimeUnit={}))[l.Days=0]="Days",l[l.Weeks=1]="Weeks",l[l.CalendarWeeks=2]="CalendarWeeks",l[l.Months=3]="Months",l[l.CalendarMonths=4]="CalendarMonths",l[l.Years=5]="Years",l[l.CalendarYears=6]="CalendarYears",l[l.Minutes=7]="Minutes",l[l.Hours=8]="Hours",(n=e.RelativeDateOperators||(e.RelativeDateOperators={}))[n.InLast=0]="InLast",n[n.InThis=1]="InThis",n[n.InNext=2]="InNext";var _=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=_;var T=function(t){function e(r,i,a){var n=t.call(this,r,o.Unknown)||this;return n.message=i,n.notSupportedTypeName=a,n.schemaUrl=e.schemaUrl,n}return a(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}(_);e.NotSupportedFilter=T;var E=function(t){function e(r,i,a){var n=t.call(this,r,o.IncludeExclude)||this;return n.values=a,n.isExclude=i,n.schemaUrl=e.schemaUrl,n}return a(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}(_);e.IncludeExcludeFilter=E;var F=function(t){function e(r,i,a,n){var l=t.call(this,r,o.TopN)||this;return l.operator=i,l.itemCount=a,l.schemaUrl=e.schemaUrl,l.orderBy=n,l}return a(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}(_);e.TopNFilter=F;var C=function(t){function e(r,i,a,n,l){var s=t.call(this,r,o.RelativeDate)||this;return s.operator=i,s.timeUnitsCount=a,s.timeUnitType=n,s.includeToday=l,s.schemaUrl=e.schemaUrl,s}return a(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}(_);e.RelativeDateFilter=C;var R=function(t){function e(r,i,a,n){var l=t.call(this,r,o.RelativeTime)||this;return l.operator=i,l.timeUnitsCount=a,l.timeUnitType=n,l.schemaUrl=e.schemaUrl,l}return a(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}(_);e.RelativeTimeFilter=R;var k=function(t){function e(r,i){for(var a=[],n=2;n0&&!a)throw new Error("You should pass the values to be filtered for each key. You passed: no values and ".concat(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,s=o.keyValues;l2)throw new Error("AdvancedFilters may not have more than two conditions. You passed: ".concat(a.length));if(1===l.length&&"And"!==i)throw new Error('Logical Operator must be "And" when there is only one condition provided');return s.conditions=l,s}return a(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}(_);e.AdvancedFilter=M;var I,L,q,D,N,B,U,H,W,z=function(t){function e(r,i){var a=t.call(this,r,o.Hierarchy)||this;return a.schemaUrl=e.schemaUrl,a.hierarchyData=i,a}return a(e,t),e.prototype.toJSON=function(){var e=t.prototype.toJSON.call(this);return e.hierarchyData=this.hierarchyData,e.target=this.target,e},e.schemaUrl="http://powerbi.com/product/schema#hierarchy",e}(_);function Q(t){if(t.filterType)return t.filterType;var e=t,r=t;return"string"==typeof e.operator&&Array.isArray(e.values)?o.Basic:"string"==typeof r.logicalOperator&&Array.isArray(r.conditions)?o.Advanced:o.Unknown}function G(t){return!(!t.table||!t.column||t.aggregationFunction)}e.HierarchyFilter=z,e.isFilterKeyColumnsTarget=function(t){return G(t)&&!!t.keys},e.isBasicFilterWithKeys=function(t){return Q(t)===o.Basic&&!!t.keyValues},e.getFilterType=Q,e.isMeasure=function(t){return void 0!==t.table&&void 0!==t.measure},e.isColumn=G,e.isHierarchyLevel=function(t){return!(!(t.table&&t.hierarchy&&t.hierarchyLevel)||t.aggregationFunction)},e.isHierarchyLevelAggr=function(t){return!!(t.table&&t.hierarchy&&t.hierarchyLevel&&t.aggregationFunction)},e.isColumnAggr=function(t){return!!(t.table&&t.column&&t.aggregationFunction)},e.isPercentOfGrandTotal=function(t){return!!t.percentOfGrandTotal},(W=e.CredentialType||(e.CredentialType={}))[W.NoConnection=0]="NoConnection",W[W.OnBehalfOf=1]="OnBehalfOf",W[W.Anonymous=2]="Anonymous",(H=e.DataCacheMode||(e.DataCacheMode={}))[H.Import=0]="Import",H[H.DirectQuery=1]="DirectQuery",(U=e.AggregateFunction||(e.AggregateFunction={}))[U.Default=1]="Default",U[U.None=2]="None",U[U.Sum=3]="Sum",U[U.Min=4]="Min",U[U.Max=5]="Max",U[U.Count=6]="Count",U[U.Average=7]="Average",U[U.DistinctCount=8]="DistinctCount",(B=e.BrowserPrintAdjustmentsMode||(e.BrowserPrintAdjustmentsMode={}))[B.Default=0]="Default",B[B.NoAdjustments=1]="NoAdjustments",(N=e.PageNavigationPosition||(e.PageNavigationPosition={}))[N.Bottom=0]="Bottom",N[N.Left=1]="Left",(D=e.QnaMode||(e.QnaMode={}))[D.Interactive=0]="Interactive",D[D.ResultOnly=1]="ResultOnly",(q=e.ExportDataType||(e.ExportDataType={}))[q.Summarized=0]="Summarized",q[q.Underlying=1]="Underlying",(L=e.BookmarksPlayMode||(e.BookmarksPlayMode={}))[L.Off=0]="Off",L[L.Presentation=1]="Presentation",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"},(I=e.SortDirection||(e.SortDirection={}))[I.Ascending=1]="Ascending",I[I.Descending=2]="Descending";var J=function(){function t(t){this.$schema=t}return t.prototype.toJSON=function(){return{$schema:this.$schema}},t}();e.Selector=J;var K=function(t){function e(r){var i=t.call(this,e.schemaUrl)||this;return i.pageName=r,i}return a(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}(J);e.PageSelector=K;var Y=function(t){function e(r){var i=t.call(this,e.schemaUrl)||this;return i.visualName=r,i}return a(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}(J);e.VisualSelector=Y;var $=function(t){function e(e){var r=t.call(this,Y.schemaUrl)||this;return r.visualType=e,r}return a(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}(J);e.VisualTypeSelector=$;var Z,X,tt,et=function(t){function e(e){var r=t.call(this,Y.schemaUrl)||this;return r.target=e,r}return a(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}(J);function rt(t){return Array.isArray(t)}function it(t){return t&&!!t.groupName}function at(t){return Array.isArray(t)}function ot(t){var e=t.message;return e||(e="".concat(t.path," is invalid. Not meeting ").concat(t.keyword," constraint")),{message:e}}e.SlicerTargetSelector=et,(tt=e.CommandDisplayOption||(e.CommandDisplayOption={}))[tt.Enabled=0]="Enabled",tt[tt.Disabled=1]="Disabled",tt[tt.Hidden=2]="Hidden",(X=e.VisualDataRoleKind||(e.VisualDataRoleKind={}))[X.Grouping=0]="Grouping",X[X.Measure=1]="Measure",X[X.GroupingOrMeasure=2]="GroupingOrMeasure",(Z=e.VisualDataRoleKindPreference||(e.VisualDataRoleKindPreference={}))[Z.Measure=0]="Measure",Z[Z.Grouping=1]="Grouping",e.isOnLoadFilters=function(t){return t&&!rt(t)},e.isReportFiltersArray=rt,e.isFlatMenuExtension=function(t){return t&&!it(t)},e.isGroupedMenuExtension=it,e.isIExtensions=function(t){return t&&!at(t)},e.isIExtensionArray=at,e.validateVisualSelector=function(t){var e=O.Validators.visualSelectorValidator.validate(t);return e?e.map(ot):void 0},e.validateSlicer=function(t){var e=O.Validators.slicerValidator.validate(t);return e?e.map(ot):void 0},e.validateSlicerState=function(t){var e=O.Validators.slicerStateValidator.validate(t);return e?e.map(ot):void 0},e.validatePlayBookmarkRequest=function(t){var e=O.Validators.playBookmarkRequestValidator.validate(t);return e?e.map(ot):void 0},e.validateAddBookmarkRequest=function(t){var e=O.Validators.addBookmarkRequestValidator.validate(t);return e?e.map(ot):void 0},e.validateApplyBookmarkByNameRequest=function(t){var e=O.Validators.applyBookmarkByNameRequestValidator.validate(t);return e?e.map(ot):void 0},e.validateApplyBookmarkStateRequest=function(t){var e=O.Validators.applyBookmarkStateRequestValidator.validate(t);return e?e.map(ot):void 0},e.validateCaptureBookmarkRequest=function(t){var e=O.Validators.captureBookmarkRequestValidator.validate(t);return e?e.map(ot):void 0},e.validateSettings=function(t){var e=O.Validators.settingsValidator.validate(t);return e?e.map(ot):void 0},e.validatePanes=function(t){var e=O.Validators.reportPanesValidator.validate(t);return e?e.map(ot):void 0},e.validateBookmarksPane=function(t){var e=O.Validators.bookmarksPaneValidator.validate(t);return e?e.map(ot):void 0},e.validateFiltersPane=function(t){var e=O.Validators.filtersPaneValidator.validate(t);return e?e.map(ot):void 0},e.validateFieldsPane=function(t){var e=O.Validators.fieldsPaneValidator.validate(t);return e?e.map(ot):void 0},e.validatePageNavigationPane=function(t){var e=O.Validators.pageNavigationPaneValidator.validate(t);return e?e.map(ot):void 0},e.validateSelectionPane=function(t){var e=O.Validators.selectionPaneValidator.validate(t);return e?e.map(ot):void 0},e.validateSyncSlicersPane=function(t){var e=O.Validators.syncSlicersPaneValidator.validate(t);return e?e.map(ot):void 0},e.validateVisualizationsPane=function(t){var e=O.Validators.visualizationsPaneValidator.validate(t);return e?e.map(ot):void 0},e.validateCustomPageSize=function(t){var e=O.Validators.customPageSizeValidator.validate(t);return e?e.map(ot):void 0},e.validateExtension=function(t){var e=O.Validators.extensionValidator.validate(t);return e?e.map(ot):void 0},e.validateMenuGroupExtension=function(t){var e=O.Validators.menuGroupExtensionValidator.validate(t);return e?e.map(ot):void 0},e.validateReportLoad=function(t){var e=O.Validators.reportLoadValidator.validate(t);return e?e.map(ot):void 0},e.validatePaginatedReportLoad=function(t){var e=O.Validators.paginatedReportLoadValidator.validate(t);return e?e.map(ot):void 0},e.validateCreateReport=function(t){var e=O.Validators.reportCreateValidator.validate(t);return e?e.map(ot):void 0},e.validateQuickCreate=function(t){var e=O.Validators.quickCreateValidator.validate(t);return e?e.map(ot):void 0},e.validateDashboardLoad=function(t){var e=O.Validators.dashboardLoadValidator.validate(t);return e?e.map(ot):void 0},e.validateTileLoad=function(t){var e=O.Validators.tileLoadValidator.validate(t);return e?e.map(ot):void 0},e.validatePage=function(t){var e=O.Validators.pageValidator.validate(t);return e?e.map(ot):void 0},e.validateFilter=function(t){var e=O.Validators.filterValidator.validate(t);return e?e.map(ot):void 0},e.validateUpdateFiltersRequest=function(t){var e=O.Validators.updateFiltersRequestValidator.validate(t);return e?e.map(ot):void 0},e.validateSaveAsParameters=function(t){var e=O.Validators.saveAsParametersValidator.validate(t);return e?e.map(ot):void 0},e.validateLoadQnaConfiguration=function(t){var e=O.Validators.loadQnaValidator.validate(t);return e?e.map(ot):void 0},e.validateQnaInterpretInputData=function(t){var e=O.Validators.qnaInterpretInputDataValidator.validate(t);return e?e.map(ot):void 0},e.validateExportDataRequest=function(t){var e=O.Validators.exportDataRequestValidator.validate(t);return e?e.map(ot):void 0},e.validateVisualHeader=function(t){var e=O.Validators.visualHeaderValidator.validate(t);return e?e.map(ot):void 0},e.validateVisualSettings=function(t){var e=O.Validators.visualSettingsValidator.validate(t);return e?e.map(ot):void 0},e.validateCommandsSettings=function(t){var e=O.Validators.commandsSettingsValidator.validate(t);return e?e.map(ot):void 0},e.validateCustomTheme=function(t){var e=O.Validators.customThemeValidator.validate(t);return e?e.map(ot):void 0},e.validateZoomLevel=function(t){var e=O.Validators.zoomLevelValidator.validate(t);return e?e.map(ot):void 0},e.validatePrintSettings=function(t){var e=O.Validators.printSettingsValidator.validate(t);return e?e.map(ot):void 0}},(t,e,r)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.Validators=void 0;var i=r(2),a=r(5),o=r(6),n=r(7),l=r(8),s=r(9),u=r(10),d=r(11),c=r(12),p=r(13),f=r(14),h=r(15),v=r(16),y=r(17),m=r(18),V=r(19),g=r(20),b=r(21),w=r(22),P=r(23),S=r(24),O=r(25),_=r(26),T=r(27),E=r(28),F=r(29),C=r(4),R=r(30),k=r(31),x=r(32),A=r(33),j=r(34);e.Validators={addBookmarkRequestValidator:new a.AddBookmarkRequestValidator,advancedFilterTypeValidator:new C.EnumValidator([0]),advancedFilterValidator:new c.AdvancedFilterValidator,anyArrayValidator:new C.ArrayValidator([new _.AnyOfValidator([new C.StringValidator,new C.NumberValidator,new C.BooleanValidator])]),anyFilterValidator:new _.AnyOfValidator([new c.BasicFilterValidator,new c.AdvancedFilterValidator,new c.IncludeExcludeFilterValidator,new c.NotSupportedFilterValidator,new c.RelativeDateFilterValidator,new c.TopNFilterValidator,new c.RelativeTimeFilterValidator,new c.HierarchyFilterValidator]),anyValueValidator:new _.AnyOfValidator([new C.StringValidator,new C.NumberValidator,new C.BooleanValidator]),actionBarValidator:new i.ActionBarValidator,statusBarValidator:new i.StatusBarValidator,applyBookmarkByNameRequestValidator:new a.ApplyBookmarkByNameRequestValidator,applyBookmarkStateRequestValidator:new a.ApplyBookmarkStateRequestValidator,applyBookmarkValidator:new _.AnyOfValidator([new a.ApplyBookmarkByNameRequestValidator,new a.ApplyBookmarkStateRequestValidator]),backgroundValidator:new C.EnumValidator([0,1]),basicFilterTypeValidator:new C.EnumValidator([1]),basicFilterValidator:new c.BasicFilterValidator,booleanArrayValidator:new C.BooleanArrayValidator,booleanValidator:new C.BooleanValidator,bookmarksPaneValidator:new h.BookmarksPaneValidator,captureBookmarkOptionsValidator:new a.CaptureBookmarkOptionsValidator,captureBookmarkRequestValidator:new a.CaptureBookmarkRequestValidator,columnSchemaArrayValidator:new C.ArrayValidator([new k.ColumnSchemaValidator]),commandDisplayOptionValidator:new C.EnumValidator([0,1,2]),commandExtensionSelectorValidator:new _.AnyOfValidator([new b.VisualSelectorValidator,new b.VisualTypeSelectorValidator]),commandExtensionArrayValidator:new C.ArrayValidator([new d.CommandExtensionValidator]),commandExtensionValidator:new d.CommandExtensionValidator,commandsSettingsArrayValidator:new C.ArrayValidator([new o.CommandsSettingsValidator]),commandsSettingsValidator:new o.CommandsSettingsValidator,conditionItemValidator:new c.ConditionItemValidator,contrastModeValidator:new C.EnumValidator([0,1,2,3,4]),credentialDetailsValidator:new F.MapValidator([new C.StringValidator],[new C.StringValidator]),credentialsValidator:new k.CredentialsValidator,credentialTypeValidator:new C.EnumValidator([0,1,2]),customLayoutDisplayOptionValidator:new C.EnumValidator([0,1,2]),customLayoutValidator:new p.CustomLayoutValidator,customPageSizeValidator:new f.CustomPageSizeValidator,customThemeValidator:new n.CustomThemeValidator,dashboardLoadValidator:new l.DashboardLoadValidator,dataCacheModeValidator:new C.EnumValidator([0,1]),datasetBindingValidator:new s.DatasetBindingValidator,datasetCreateConfigValidator:new k.DatasetCreateConfigValidator,datasourceConnectionConfigValidator:new k.DatasourceConnectionConfigValidator,displayStateModeValidator:new C.EnumValidator([0,1]),displayStateValidator:new p.DisplayStateValidator,exportDataRequestValidator:new u.ExportDataRequestValidator,extensionArrayValidator:new C.ArrayValidator([new d.ExtensionValidator]),extensionsValidator:new _.AnyOfValidator([new C.ArrayValidator([new d.ExtensionValidator]),new d.ExtensionsValidator]),extensionPointsValidator:new d.ExtensionPointsValidator,extensionValidator:new d.ExtensionValidator,fieldForbiddenValidator:new T.FieldForbiddenValidator,fieldRequiredValidator:new E.FieldRequiredValidator,fieldsPaneValidator:new h.FieldsPaneValidator,filterColumnTargetValidator:new c.FilterColumnTargetValidator,filterDisplaySettingsValidator:new c.FilterDisplaySettingsValidator,filterConditionsValidator:new C.ArrayValidator([new c.ConditionItemValidator]),filterHierarchyTargetValidator:new c.FilterHierarchyTargetValidator,filterMeasureTargetValidator:new c.FilterMeasureTargetValidator,filterTargetValidator:new _.AnyOfValidator([new c.FilterColumnTargetValidator,new c.FilterHierarchyTargetValidator,new c.FilterMeasureTargetValidator,new C.ArrayValidator([new _.AnyOfValidator([new c.FilterColumnTargetValidator,new c.FilterHierarchyTargetValidator,new c.FilterMeasureTargetValidator,new c.FilterKeyColumnsTargetValidator,new c.FilterKeyHierarchyTargetValidator])])]),filterValidator:new c.FilterValidator,filterTypeValidator:new C.EnumValidator([0,1,2,3,4,5,6,7,9]),filtersArrayValidator:new C.ArrayValidator([new c.FilterValidator]),filtersOperationsUpdateValidator:new C.EnumValidator([1,2,3]),filtersOperationsRemoveAllValidator:new C.EnumValidator([0]),filtersPaneValidator:new h.FiltersPaneValidator,hyperlinkClickBehaviorValidator:new C.EnumValidator([0,1,2]),includeExcludeFilterValidator:new c.IncludeExcludeFilterValidator,includeExludeFilterTypeValidator:new C.EnumValidator([3]),hierarchyFilterTypeValidator:new C.EnumValidator([9]),hierarchyFilterValuesValidator:new C.ArrayValidator([new c.HierarchyFilterNodeValidator]),layoutTypeValidator:new C.EnumValidator([0,1,2,3]),loadQnaValidator:new v.LoadQnaValidator,menuExtensionValidator:new _.AnyOfValidator([new d.FlatMenuExtensionValidator,new d.GroupedMenuExtensionValidator]),menuGroupExtensionArrayValidator:new C.ArrayValidator([new d.MenuGroupExtensionValidator]),menuGroupExtensionValidator:new d.MenuGroupExtensionValidator,menuLocationValidator:new C.EnumValidator([0,1]),notSupportedFilterTypeValidator:new C.EnumValidator([2]),notSupportedFilterValidator:new c.NotSupportedFilterValidator,numberArrayValidator:new C.NumberArrayValidator,numberValidator:new C.NumberValidator,onLoadFiltersBaseValidator:new _.AnyOfValidator([new c.OnLoadFiltersBaseValidator,new c.OnLoadFiltersBaseRemoveOperationValidator]),pageLayoutValidator:new F.MapValidator([new C.StringValidator],[new p.VisualLayoutValidator]),pageNavigationPaneValidator:new h.PageNavigationPaneValidator,pageNavigationPositionValidator:new C.EnumValidator([0,1]),pageSizeTypeValidator:new C.EnumValidator([0,1,2,3,4,5]),pageSizeValidator:new f.PageSizeValidator,pageValidator:new f.PageValidator,pageViewFieldValidator:new f.PageViewFieldValidator,pagesLayoutValidator:new F.MapValidator([new C.StringValidator],[new p.PageLayoutValidator]),paginatedReportCommandsValidator:new o.PaginatedReportCommandsValidator,paginatedReportDatasetBindingArrayValidator:new C.ArrayValidator([new j.PaginatedReportDatasetBindingValidator]),paginatedReportLoadValidator:new V.PaginatedReportLoadValidator,paginatedReportsettingsValidator:new w.PaginatedReportSettingsValidator,parameterValuesArrayValidator:new C.ArrayValidator([new V.ReportParameterFieldsValidator]),parametersPanelValidator:new R.ParametersPanelValidator,permissionsValidator:new C.EnumValidator([0,1,2,4,7]),playBookmarkRequestValidator:new a.PlayBookmarkRequestValidator,printSettingsValidator:new A.PrintSettingsValidator,qnaInterpretInputDataValidator:new v.QnaInterpretInputDataValidator,qnaPanesValidator:new h.QnaPanesValidator,qnaSettingValidator:new v.QnaSettingsValidator,quickCreateValidator:new x.QuickCreateValidator,rawDataValidator:new C.ArrayValidator([new C.ArrayValidator([new C.StringValidator])]),relativeDateFilterOperatorValidator:new C.EnumValidator([0,1,2]),relativeDateFilterTimeUnitTypeValidator:new C.EnumValidator([0,1,2,3,4,5,6]),relativeDateFilterTypeValidator:new C.EnumValidator([4]),relativeDateFilterValidator:new c.RelativeDateFilterValidator,relativeDateTimeFilterTypeValidator:new C.EnumValidator([4,7]),relativeDateTimeFilterUnitTypeValidator:new C.EnumValidator([0,1,2,3,4,5,6,7,8]),relativeTimeFilterTimeUnitTypeValidator:new C.EnumValidator([7,8]),relativeTimeFilterTypeValidator:new C.EnumValidator([7]),relativeTimeFilterValidator:new c.RelativeTimeFilterValidator,reportBarsValidator:new i.ReportBarsValidator,reportCreateValidator:new y.ReportCreateValidator,reportLoadFiltersValidator:new _.AnyOfValidator([new C.ArrayValidator([new c.FilterValidator]),new c.OnLoadFiltersValidator]),reportLoadValidator:new m.ReportLoadValidator,reportPanesValidator:new h.ReportPanesValidator,saveAsParametersValidator:new g.SaveAsParametersValidator,selectionPaneValidator:new h.SelectionPaneValidator,settingsValidator:new w.SettingsValidator,singleCommandSettingsValidator:new o.SingleCommandSettingsValidator,slicerSelectorValidator:new _.AnyOfValidator([new b.VisualSelectorValidator,new b.SlicerTargetSelectorValidator]),slicerStateValidator:new P.SlicerStateValidator,slicerTargetValidator:new _.AnyOfValidator([new c.FilterColumnTargetValidator,new c.FilterHierarchyTargetValidator,new c.FilterMeasureTargetValidator,new c.FilterKeyColumnsTargetValidator,new c.FilterKeyHierarchyTargetValidator]),slicerValidator:new P.SlicerValidator,stringArrayValidator:new C.StringArrayValidator,stringValidator:new C.StringValidator,syncSlicersPaneValidator:new h.SyncSlicersPaneValidator,tableDataArrayValidator:new C.ArrayValidator([new k.TableDataValidator]),tableSchemaListValidator:new C.ArrayValidator([new k.TableSchemaValidator]),tileLoadValidator:new S.TileLoadValidator,tokenTypeValidator:new C.EnumValidator([0,1]),topNFilterTypeValidator:new C.EnumValidator([5]),topNFilterValidator:new c.TopNFilterValidator,updateFiltersRequestValidator:new _.AnyOfValidator([new c.UpdateFiltersRequestValidator,new c.RemoveFiltersRequestValidator]),viewModeValidator:new C.EnumValidator([0,1]),visualCommandSelectorValidator:new _.AnyOfValidator([new b.VisualSelectorValidator,new b.VisualTypeSelectorValidator]),visualHeaderSelectorValidator:new _.AnyOfValidator([new b.VisualSelectorValidator,new b.VisualTypeSelectorValidator]),visualHeaderSettingsValidator:new O.VisualHeaderSettingsValidator,visualHeaderValidator:new O.VisualHeaderValidator,visualHeadersValidator:new C.ArrayValidator([new O.VisualHeaderValidator]),visualizationsPaneValidator:new h.VisualizationsPaneValidator,visualLayoutValidator:new p.VisualLayoutValidator,visualSelectorValidator:new b.VisualSelectorValidator,visualSettingsValidator:new O.VisualSettingsValidator,visualTypeSelectorValidator:new b.VisualTypeSelectorValidator,zoomLevelValidator:new C.RangeValidator(.25,4)}},function(t,e,r){var i,a=this&&this.__extends||(i=function(t,e){return i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},i(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.StatusBarValidator=e.ActionBarValidator=e.ReportBarsValidator=void 0;var o=r(3),n=r(4),l=r(1),s=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return a(e,t),e.prototype.validate=function(e,r,i){if(null==e)return null;var a=t.prototype.validate.call(this,e,r,i);if(a)return a;var n=[{field:"actionBar",validators:[l.Validators.actionBarValidator]},{field:"statusBar",validators:[l.Validators.statusBarValidator]}];return new o.MultipleFieldsValidator(n).validate(e,r,i)},e}(n.ObjectValidator);e.ReportBarsValidator=s;var u=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return a(e,t),e.prototype.validate=function(e,r,i){if(null==e)return null;var a=t.prototype.validate.call(this,e,r,i);if(a)return a;var n=[{field:"visible",validators:[l.Validators.booleanValidator]}];return new o.MultipleFieldsValidator(n).validate(e,r,i)},e}(n.ObjectValidator);e.ActionBarValidator=u;var d=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return a(e,t),e.prototype.validate=function(e,r,i){if(null==e)return null;var a=t.prototype.validate.call(this,e,r,i);if(a)return a;var n=[{field:"visible",validators:[l.Validators.booleanValidator]}];return new o.MultipleFieldsValidator(n).validate(e,r,i)},e}(n.ObjectValidator);e.StatusBarValidator=d},(t,e)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.MultipleFieldsValidator=void 0;var r=function(){function t(t){this.fieldValidatorsPairs=t}return t.prototype.validate=function(t,e,r){if(!this.fieldValidatorsPairs)return null;for(var i=e?e+"."+r:r,a=0,o=this.fieldValidatorsPairs;athis.maxValue||e{Object.defineProperty(e,"__esModule",{value:!0}),e.AnyOfValidator=void 0;var r=function(){function t(t){this.validators=t}return t.prototype.validate=function(t,e,r){if(null==t)return null;for(var i=!1,a=0,o=this.validators;a{Object.defineProperty(e,"__esModule",{value:!0}),e.FieldForbiddenValidator=void 0;var r=function(){function t(){}return t.prototype.validate=function(t,e,r){return void 0!==t?[{message:r+" is forbidden",path:(e?e+".":"")+r,keyword:"forbidden"}]:null},t}();e.FieldForbiddenValidator=r},(t,e)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.FieldRequiredValidator=void 0;var r=function(){function t(){}return t.prototype.validate=function(t,e,r){return null==t?[{message:r+" is required",path:(e?e+".":"")+r,keyword:"required"}]:null},t}();e.FieldRequiredValidator=r},function(t,e,r){var i,a=this&&this.__extends||(i=function(t,e){return i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},i(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.MapValidator=void 0;var o=function(t){function e(e,r){var i=t.call(this)||this;return i.keyValidators=e,i.valueValidators=r,i}return a(e,t),e.prototype.validate=function(e,r,i){if(null==e)return null;var a=t.prototype.validate.call(this,e,r,i);if(a)return a;for(var o in e)if(e.hasOwnProperty(o)){for(var n=(r?r+".":"")+i+"."+o,l=0,s=this.keyValidators;l2&&"[]"===n.slice(l-2)&&(s=!0,r[n=n.slice(0,l-2)]||(r[n]=[])),a=o[1]?g(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(-1!==(i=t.indexOf("?"))){var l=t.substr(i+1,t.length);t=t.substr(0,i),o=this.parseQueryString(l)}for("/"!==(t=decodeURI(t)).charAt(0)&&(t="/"+t),(e=t.length)>1&&"/"===t.charAt(e-1)&&(t=t.substr(0,e-1),n=!0),r=0;r{Object.defineProperty(e,"__esModule",{value:!0}),e.FilterBuilder=void 0;var r=function(){function t(){}return t.prototype.withTargetObject=function(t){return this.target=t,this},t.prototype.withColumnTarget=function(t,e){return this.target={table:t,column:e},this},t.prototype.withMeasureTarget=function(t,e){return this.target={table:t,measure:e},this},t.prototype.withHierarchyLevelTarget=function(t,e,r){return this.target={table:t,hierarchy:e,hierarchyLevel:r},this},t.prototype.withColumnAggregation=function(t,e,r){return this.target={table:t,column:e,aggregationFunction:r},this},t.prototype.withHierarchyLevelAggregationTarget=function(t,e,r,i){return this.target={table:t,hierarchy:e,hierarchyLevel:r,aggregationFunction:i},this},t}();e.FilterBuilder=r},567:(t,e,r)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.RelativeTimeFilterBuilder=e.RelativeDateFilterBuilder=e.TopNFilterBuilder=e.AdvancedFilterBuilder=e.BasicFilterBuilder=void 0;var i=r(153);Object.defineProperty(e,"BasicFilterBuilder",{enumerable:!0,get:function(){return i.BasicFilterBuilder}});var a=r(674);Object.defineProperty(e,"AdvancedFilterBuilder",{enumerable:!0,get:function(){return a.AdvancedFilterBuilder}});var o=r(664);Object.defineProperty(e,"TopNFilterBuilder",{enumerable:!0,get:function(){return o.TopNFilterBuilder}});var n=r(844);Object.defineProperty(e,"RelativeDateFilterBuilder",{enumerable:!0,get:function(){return n.RelativeDateFilterBuilder}});var l=r(275);Object.defineProperty(e,"RelativeTimeFilterBuilder",{enumerable:!0,get:function(){return l.RelativeTimeFilterBuilder}})},844:function(t,e,r){var i,a=this&&this.__extends||(i=function(t,e){return i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},i(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.RelativeDateFilterBuilder=void 0;var o=r(149),n=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.isTodayIncluded=!0,e}return a(e,t),e.prototype.inLast=function(t,e){return this.operator=o.RelativeDateOperators.InLast,this.timeUnitsCount=t,this.timeUnitType=e,this},e.prototype.inThis=function(t,e){return this.operator=o.RelativeDateOperators.InThis,this.timeUnitsCount=t,this.timeUnitType=e,this},e.prototype.inNext=function(t,e){return this.operator=o.RelativeDateOperators.InNext,this.timeUnitsCount=t,this.timeUnitType=e,this},e.prototype.includeToday=function(t){return this.isTodayIncluded=t,this},e.prototype.build=function(){return new o.RelativeDateFilter(this.target,this.operator,this.timeUnitsCount,this.timeUnitType,this.isTodayIncluded)},e}(r(277).FilterBuilder);e.RelativeDateFilterBuilder=n},275:function(t,e,r){var i,a=this&&this.__extends||(i=function(t,e){return i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},i(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.RelativeTimeFilterBuilder=void 0;var o=r(149),n=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return a(e,t),e.prototype.inLast=function(t,e){return this.operator=o.RelativeDateOperators.InLast,this.timeUnitsCount=t,this.timeUnitType=e,this},e.prototype.inThis=function(t,e){return this.operator=o.RelativeDateOperators.InThis,this.timeUnitsCount=t,this.timeUnitType=e,this},e.prototype.inNext=function(t,e){return this.operator=o.RelativeDateOperators.InNext,this.timeUnitsCount=t,this.timeUnitType=e,this},e.prototype.build=function(){return new o.RelativeTimeFilter(this.target,this.operator,this.timeUnitsCount,this.timeUnitType)},e}(r(277).FilterBuilder);e.RelativeTimeFilterBuilder=n},664:function(t,e,r){var i,a=this&&this.__extends||(i=function(t,e){return i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},i(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.TopNFilterBuilder=void 0;var o=r(149),n=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return a(e,t),e.prototype.top=function(t){return this.operator="Top",this.itemCount=t,this},e.prototype.bottom=function(t){return this.operator="Bottom",this.itemCount=t,this},e.prototype.orderByTarget=function(t){return this.orderByTargetValue=t,this},e.prototype.build=function(){return new o.TopNFilter(this.target,this.operator,this.itemCount,this.orderByTargetValue)},e}(r(277).FilterBuilder);e.TopNFilterBuilder=n},460:function(t,e,r){var i=this&&this.__awaiter||function(t,e,r,i){return new(r||(r=Promise))((function(a,o){function n(t){try{s(i.next(t))}catch(t){o(t)}}function l(t){try{s(i.throw(t))}catch(t){o(t)}}function s(t){var e;t.done?a(t.value):(e=t.value,e instanceof r?e:new r((function(t){t(e)}))).then(n,l)}s((i=i.apply(t,e||[])).next())}))},a=this&&this.__generator||function(t,e){var r,i,a,o,n={label:0,sent:function(){if(1&a[0])throw a[1];return a[1]},trys:[],ops:[]};return o={next:l(0),throw:l(1),return:l(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function l(o){return function(l){return function(o){if(r)throw new TypeError("Generator is already executing.");for(;n;)try{if(r=1,i&&(a=2&o[0]?i.return:o[0]?i.throw||((a=i.return)&&a.call(i),0):i.next)&&!(a=a.call(i,o[1])).done)return a;switch(i=0,a&&(o=[2&o[0],a.value]),o[0]){case 0:case 1:a=o;break;case 4:return n.label++,{value:o[1],done:!1};case 5:n.label++,i=o[1],o=[0];continue;case 7:o=n.ops.pop(),n.trys.pop();continue;default:if(!((a=(a=n.trys).length>0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]{Object.defineProperty(e,"__esModule",{value:!0}),e.default={version:"2.22.4",type:"js"}},536:function(t,e,r){var i,a=this&&this.__extends||(i=function(t,e){return i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},i(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}),o=this&&this.__awaiter||function(t,e,r,i){return new(r||(r=Promise))((function(a,o){function n(t){try{s(i.next(t))}catch(t){o(t)}}function l(t){try{s(i.throw(t))}catch(t){o(t)}}function s(t){var e;t.done?a(t.value):(e=t.value,e instanceof r?e:new r((function(t){t(e)}))).then(n,l)}s((i=i.apply(t,e||[])).next())}))},n=this&&this.__generator||function(t,e){var r,i,a,o,n={label:0,sent:function(){if(1&a[0])throw a[1];return a[1]},trys:[],ops:[]};return o={next:l(0),throw:l(1),return:l(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function l(o){return function(l){return function(o){if(r)throw new TypeError("Generator is already executing.");for(;n;)try{if(r=1,i&&(a=2&o[0]?i.return:o[0]?i.throw||((a=i.return)&&a.call(i),0):i.next)&&!(a=a.call(i,o[1])).done)return a;switch(i=0,a&&(o=[2&o[0],a.value]),o[0]){case 0:case 1:a=o;break;case 4:return n.label++,{value:o[1],done:!1};case 5:n.label++,i=o[1],o=[0];continue;case 7:o=n.ops.pop(),n.trys.pop();continue;default:if(!((a=(a=n.trys).length>0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]{Object.defineProperty(e,"__esModule",{value:!0}),e.invalidEmbedUrlErrorMessage=e.EmbedUrlNotSupported=e.APINotSupportedForRDLError=void 0,e.APINotSupportedForRDLError="This API is currently not supported for RDL reports",e.EmbedUrlNotSupported="Embed URL is invalid for this scenario. Please use Power BI REST APIs to get the valid URL",e.invalidEmbedUrlErrorMessage="Invalid embed URL detected. Either URL hostname or protocol are invalid. Please use Power BI REST APIs to get the valid URL"},357:(t,e,r)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.routerFactory=e.wpmpFactory=e.hpmFactory=void 0;var i=r(960),a=r(319),o=r(891),n=r(913);e.hpmFactory=function(t,e,r,i,o){return void 0===r&&(r=n.default.version),void 0===i&&(i=n.default.type),new a.HttpPostMessage(t,{"x-sdk-type":i,"x-sdk-version":r,"x-sdk-wrapper-version":o},e)},e.wpmpFactory=function(t,e,r){return new i.WindowPostMessageProxy({processTrackingProperties:{addTrackingProperties:a.HttpPostMessage.addTrackingProperties,getTrackingProperties:a.HttpPostMessage.getTrackingProperties},isErrorMessage:a.HttpPostMessage.isErrorMessage,suppressWarnings:!0,name:t,logMessages:e,eventSourceOverrideWindow:r})},e.routerFactory=function(t){return new o.Router(t)}},220:function(t,e,r){var i=this&&this.__awaiter||function(t,e,r,i){return new(r||(r=Promise))((function(a,o){function n(t){try{s(i.next(t))}catch(t){o(t)}}function l(t){try{s(i.throw(t))}catch(t){o(t)}}function s(t){var e;t.done?a(t.value):(e=t.value,e instanceof r?e:new r((function(t){t(e)}))).then(n,l)}s((i=i.apply(t,e||[])).next())}))},a=this&&this.__generator||function(t,e){var r,i,a,o,n={label:0,sent:function(){if(1&a[0])throw a[1];return a[1]},trys:[],ops:[]};return o={next:l(0),throw:l(1),return:l(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function l(o){return function(l){return function(o){if(r)throw new TypeError("Generator is already executing.");for(;n;)try{if(r=1,i&&(a=2&o[0]?i.return:o[0]?i.throw||((a=i.return)&&a.call(i),0):i.next)&&!(a=a.call(i,o[1])).done)return a;switch(i=0,a&&(o=[2&o[0],a.value]),o[0]){case 0:case 1:a=o;break;case 4:return n.label++,{value:o[1],done:!1};case 5:n.label++,i=o[1],o=[0];continue;case 7:o=n.ops.pop(),n.trys.pop();continue;default:if(!((a=(a=n.trys).length>0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0?"&":"?";return t+(i+e+"=")+r},e.isSavedInternal=function(t,e,a){return r(this,void 0,void 0,(function(){return i(this,(function(r){switch(r.label){case 0:return r.trys.push([0,2,,3]),[4,t.get("/report/hasUnsavedChanges",{uid:e},a)];case 1:return[2,!r.sent().body];case 2:throw r.sent().body;case 3:return[2]}}))}))},e.isRDLEmbed=function(t){return t&&t.toLowerCase().indexOf("/rdlembed?")>=0},e.autoAuthInEmbedUrl=function(t){return t&&decodeURIComponent(t).toLowerCase().indexOf("autoauth=true")>=0},e.getRandomValue=l,e.getTimeDiffInMilliseconds=function(t,e){return Math.abs(t.getTime()-e.getTime())},e.isCreate=function(t){return"create"===t||"quickcreate"===t},e.validateEmbedUrl=function(t){if(t){var e=void 0;try{e=new URL(t.toLowerCase())}catch(t){return!1}return"https:"===e.protocol&&(a.test(e.hostname)||o.test(e.hostname))}}},23:function(t,e,r){var i,a=this&&this.__extends||(i=function(t,e){return i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},i(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}),o=this&&this.__awaiter||function(t,e,r,i){return new(r||(r=Promise))((function(a,o){function n(t){try{s(i.next(t))}catch(t){o(t)}}function l(t){try{s(i.throw(t))}catch(t){o(t)}}function s(t){var e;t.done?a(t.value):(e=t.value,e instanceof r?e:new r((function(t){t(e)}))).then(n,l)}s((i=i.apply(t,e||[])).next())}))},n=this&&this.__generator||function(t,e){var r,i,a,o,n={label:0,sent:function(){if(1&a[0])throw a[1];return a[1]},trys:[],ops:[]};return o={next:l(0),throw:l(1),return:l(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function l(o){return function(l){return function(o){if(r)throw new TypeError("Generator is already executing.");for(;n;)try{if(r=1,i&&(a=2&o[0]?i.return:o[0]?i.throw||((a=i.return)&&a.call(i),0):i.next)&&!(a=a.call(i,o[1])).done)return a;switch(i=0,a&&(o=[2&o[0],a.value]),o[0]){case 0:case 1:a=o;break;case 4:return n.label++,{value:o[1],done:!1};case 5:n.label++,i=o[1],o=[0];continue;case 7:o=n.ops.pop(),n.trys.pop();continue;default:if(!((a=(a=n.trys).length>0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]{var e;self,e=()=>(()=>{"use strict";var t={};return(()=>{var e=t;Object.defineProperty(e,"__esModule",{value:!0}),e.WindowPostMessageProxy=void 0;var r=function(){function t(e){void 0===e&&(e={processTrackingProperties:{addTrackingProperties:t.defaultAddTrackingProperties,getTrackingProperties:t.defaultGetTrackingProperties},isErrorMessage:t.defaultIsErrorMessage,receiveWindow:window,name:t.createRandomString()});var r=this;this.pendingRequestPromises={},this.addTrackingProperties=e.processTrackingProperties&&e.processTrackingProperties.addTrackingProperties||t.defaultAddTrackingProperties,this.getTrackingProperties=e.processTrackingProperties&&e.processTrackingProperties.getTrackingProperties||t.defaultGetTrackingProperties,this.isErrorMessage=e.isErrorMessage||t.defaultIsErrorMessage,this.receiveWindow=e.receiveWindow||window,this.name=e.name||t.createRandomString(),this.logMessages=e.logMessages||!1,this.eventSourceOverrideWindow=e.eventSourceOverrideWindow,this.suppressWarnings=e.suppressWarnings||!1,this.logMessages&&console.log("new WindowPostMessageProxy created with name: ".concat(this.name," receiving on window: ").concat(this.receiveWindow.document.title)),this.handlers=[],this.windowMessageHandler=function(t){return r.onMessageReceived(t)},this.start()}return t.defaultAddTrackingProperties=function(e,r){return e[t.messagePropertyName]=r,e},t.defaultGetTrackingProperties=function(e){return e[t.messagePropertyName]},t.defaultIsErrorMessage=function(t){return!!t.error},t.createDeferred=function(){var t={resolve:null,reject:null,promise:null},e=new Promise((function(e,r){t.resolve=e,t.reject=r}));return t.promise=e,t},t.createRandomString=function(){var t=window.crypto||window.msCrypto,e=new Uint32Array(1);return t.getRandomValues(e),e[0].toString(36).substring(1)},t.prototype.addHandler=function(t){this.handlers.push(t)},t.prototype.removeHandler=function(t){var e=this.handlers.indexOf(t);if(-1===e)throw new Error("You attempted to remove a handler but no matching handler was found.");this.handlers.splice(e,1)},t.prototype.start=function(){this.receiveWindow.addEventListener("message",this.windowMessageHandler)},t.prototype.stop=function(){this.receiveWindow.removeEventListener("message",this.windowMessageHandler)},t.prototype.postMessage=function(e,r,i){var a={id:t.createRandomString()};this.addTrackingProperties(r,a),console.log("".concat(this.name," Posting message:")),console.log(JSON.stringify(r,null," ")),console.log("target origin: ".concat(i)),e.postMessage(r,null!=i?i:"*");var o=t.createDeferred();return this.pendingRequestPromises[a.id]=o,o.promise},t.prototype.sendResponse=function(t,e,r,i){this.addTrackingProperties(e,r),this.logMessages&&(console.log("".concat(this.name," Sending response:")),console.log(JSON.stringify(e,null," "))),t.postMessage(e,null!=i?i:"*")},t.prototype.onMessageReceived=function(t){var e=this;this.logMessages&&(console.log("".concat(this.name," Received message:")),console.log("type: ".concat(t.type)),console.log(JSON.stringify(t.data,null," ")));var r=this.eventSourceOverrideWindow||t.source;if(r){var i=t.data;if("object"==typeof i){var a,o;try{a=this.getTrackingProperties(i)}catch(t){this.suppressWarnings||console.warn("Proxy(".concat(this.name,"): Error occurred when attempting to get tracking properties from incoming message:"),JSON.stringify(i,null," "),"Error: ",t)}if(a&&(o=this.pendingRequestPromises[a.id]),o){var n=!0;try{n=this.isErrorMessage(i)}catch(t){console.warn("Proxy(".concat(this.name,") Error occurred when trying to determine if message is consider an error response. Message: "),JSON.stringify(i,null,""),"Error: ",t)}n?o.reject(i):o.resolve(i),delete this.pendingRequestPromises[a.id]}else this.handlers.some((function(t){var o=!1;try{o=t.test(i)}catch(t){e.suppressWarnings||console.warn("Proxy(".concat(e.name,"): Error occurred when handler was testing incoming message:"),JSON.stringify(i,null," "),"Error: ",t)}if(o){var n=void 0;try{n=Promise.resolve(t.handle(i))}catch(t){e.suppressWarnings||console.warn("Proxy(".concat(e.name,"): Error occurred when handler was processing incoming message:"),JSON.stringify(i,null," "),"Error: ",t),n=Promise.resolve()}return n.then((function(t){if(!t){var o="Handler for message: ".concat(JSON.stringify(i,null," ")," did not return a response message. The default response message will be returned instead.");e.suppressWarnings||console.warn("Proxy(".concat(e.name,"): ").concat(o)),t={warning:o}}e.sendResponse(r,t,a)})),!0}}))||this.suppressWarnings||console.warn("Proxy(".concat(this.name,") did not handle message. Handlers: ").concat(this.handlers.length," Message: ").concat(JSON.stringify(i,null,""),"."))}else this.suppressWarnings||console.warn("Proxy(".concat(this.name,"): Received message that was not an object. Discarding message"))}},t.messagePropertyName="windowPostMessageProxy",t}();e.WindowPostMessageProxy=r})(),t})(),t.exports=e()}},e={};function r(i){var a=e[i];if(void 0!==a)return a.exports;var o=e[i]={exports:{}};return t[i].call(o.exports,o,o.exports,r),o.exports}var i={};return(()=>{var t=i;Object.defineProperty(t,"__esModule",{value:!0}),t.RelativeTimeFilterBuilder=t.RelativeDateFilterBuilder=t.TopNFilterBuilder=t.AdvancedFilterBuilder=t.BasicFilterBuilder=t.Create=t.QuickCreate=t.VisualDescriptor=t.Visual=t.Qna=t.Page=t.Embed=t.Tile=t.Dashboard=t.Report=t.models=t.factories=t.service=void 0;var e=r(149);t.models=e;var a=r(562);t.service=a;var o=r(357);t.factories=o;var n=r(125);Object.defineProperty(t,"Report",{enumerable:!0,get:function(){return n.Report}});var l=r(365);Object.defineProperty(t,"Dashboard",{enumerable:!0,get:function(){return l.Dashboard}});var s=r(43);Object.defineProperty(t,"Tile",{enumerable:!0,get:function(){return s.Tile}});var u=r(932);Object.defineProperty(t,"Embed",{enumerable:!0,get:function(){return u.Embed}});var d=r(220);Object.defineProperty(t,"Page",{enumerable:!0,get:function(){return d.Page}});var c=r(148);Object.defineProperty(t,"Qna",{enumerable:!0,get:function(){return c.Qna}});var p=r(23);Object.defineProperty(t,"Visual",{enumerable:!0,get:function(){return p.Visual}});var f=r(558);Object.defineProperty(t,"VisualDescriptor",{enumerable:!0,get:function(){return f.VisualDescriptor}});var h=r(714);Object.defineProperty(t,"QuickCreate",{enumerable:!0,get:function(){return h.QuickCreate}});var v=r(536);Object.defineProperty(t,"Create",{enumerable:!0,get:function(){return v.Create}});var y=r(567);Object.defineProperty(t,"BasicFilterBuilder",{enumerable:!0,get:function(){return y.BasicFilterBuilder}}),Object.defineProperty(t,"AdvancedFilterBuilder",{enumerable:!0,get:function(){return y.AdvancedFilterBuilder}}),Object.defineProperty(t,"TopNFilterBuilder",{enumerable:!0,get:function(){return y.TopNFilterBuilder}}),Object.defineProperty(t,"RelativeDateFilterBuilder",{enumerable:!0,get:function(){return y.RelativeDateFilterBuilder}}),Object.defineProperty(t,"RelativeTimeFilterBuilder",{enumerable:!0,get:function(){return y.RelativeTimeFilterBuilder}});var m=new a.Service(o.hpmFactory,o.wpmpFactory,o.routerFactory);window.powerbi&&window.powerBISDKGlobalServiceInstanceName?window[window.powerBISDKGlobalServiceInstanceName]=m:window.powerbi=m})(),i})())); \ No newline at end of file diff --git a/src/embed.ts b/src/embed.ts index 744837cc..ef27eaad 100644 --- a/src/embed.ts +++ b/src/embed.ts @@ -3,9 +3,9 @@ import * as models from 'powerbi-models'; import * as sdkConfig from './config'; -import { EmbedUrlNotSupported } from './errors'; +import { EmbedUrlNotSupported, invalidEmbedUrlErrorMessage } from './errors'; import { ICustomEvent, IEvent, IEventHandler, Service } from './service'; -import { addParamToUrl, assign, autoAuthInEmbedUrl, createRandomString, getTimeDiffInMilliseconds, remove, isCreate } from './util'; +import { addParamToUrl, assign, autoAuthInEmbedUrl, createRandomString, getTimeDiffInMilliseconds, remove, isCreate, validateEmbedUrl } from './util'; declare global { interface Document { @@ -573,7 +573,7 @@ export abstract class Embed { const accessTokenProvider = eventHooks.accessTokenProvider; if (!!accessTokenProvider) { - if ((['create', 'quickcreate', 'report'].indexOf(this.embedtype.toLowerCase()) === -1) || this.config.tokenType !== models.TokenType.Aad) { + if ((['create', 'quickcreate', 'report'].indexOf(this.embedtype.toLowerCase()) === -1) || this.config.tokenType !== models.TokenType.Aad) { throw new Error("accessTokenProvider is only supported in report SaaS embed"); } } @@ -634,10 +634,6 @@ export abstract class Embed { // Trim spaces to fix user mistakes. hostname = hostname.toLowerCase().trim(); - if (hostname.indexOf("http://") === 0) { - throw new Error("HTTP is not allowed. HTTPS is required"); - } - if (hostname.indexOf("https://") === 0) { return `${hostname}/${endpoint}`; } @@ -745,6 +741,9 @@ export abstract class Embed { if (!this.iframe) { const iframeContent = document.createElement("iframe"); const embedUrl = this.config.uniqueId ? addParamToUrl(this.config.embedUrl, 'uid', this.config.uniqueId) : this.config.embedUrl; + if (!validateEmbedUrl(embedUrl)) { + throw new Error(invalidEmbedUrlErrorMessage); + } iframeContent.style.width = '100%'; iframeContent.style.height = '100%'; diff --git a/src/errors.ts b/src/errors.ts index f870e6ae..af977982 100644 --- a/src/errors.ts +++ b/src/errors.ts @@ -3,4 +3,5 @@ export const APINotSupportedForRDLError = "This API is currently not supported for RDL reports"; export const EmbedUrlNotSupported = "Embed URL is invalid for this scenario. Please use Power BI REST APIs to get the valid URL"; +export const invalidEmbedUrlErrorMessage: string = "Invalid embed URL detected. Either URL hostname or protocol are invalid. Please use Power BI REST APIs to get the valid URL"; diff --git a/src/service.ts b/src/service.ts index db5f38ff..0242d987 100644 --- a/src/service.ts +++ b/src/service.ts @@ -29,6 +29,7 @@ import { Visual } from './visual'; import * as utils from './util'; import { QuickCreate } from './quickCreate'; import * as sdkConfig from './config'; +import { invalidEmbedUrlErrorMessage } from './errors'; export interface IEvent { type: string; @@ -667,6 +668,10 @@ export class Service implements IService { * @param {HTMLElement} [element=undefined] */ preload(config: IComponentEmbedConfiguration | IEmbedConfigurationBase, element?: HTMLElement): HTMLIFrameElement { + if (!utils.validateEmbedUrl(config.embedUrl)) { + throw new Error(invalidEmbedUrlErrorMessage); + } + const iframeContent = document.createElement("iframe"); iframeContent.setAttribute("style", "display:none;"); iframeContent.setAttribute("src", config.embedUrl); diff --git a/src/util.ts b/src/util.ts index 061081ff..593c8fcf 100644 --- a/src/util.ts +++ b/src/util.ts @@ -3,6 +3,22 @@ import { HttpPostMessage } from 'http-post-message'; +/** + * @hidden + */ +const allowedPowerBiHostsRegex = + new RegExp(/(.+\.powerbi\.com$)|(.+\.fabric\.microsoft\.com$)|(.+\.analysis\.windows-int\.net$)|(.+\.analysis-df\.windows\.net$)/g); + +/** + * @hidden + */ +const allowedPowerBiHostsSovRegex = new RegExp(/^app\.powerbi\.cn$|^app(\.mil\.|\.high\.|\.)powerbigov\.us$|^app\.powerbi\.eaglex\.ic\.gov$|^app\.powerbi\.microsoft\.scloud$/g); + +/** + * @hidden + */ +const expectedEmbedUrlProtocol: string = "https:"; + /** * Raises a custom event with event data on the specified HTML element. * @@ -223,3 +239,21 @@ export function getTimeDiffInMilliseconds(start: Date, end: Date): number { export function isCreate(embedType: string): boolean { return embedType === 'create' || embedType === 'quickcreate'; } + +/** + * Checks if the embedUrl has an allowed power BI domain + * @hidden + */ +export function validateEmbedUrl(embedUrl: string): boolean { + if (embedUrl) { + let url: URL; + try { + url = new URL(embedUrl.toLowerCase()); + } catch(e) { + // invalid URL + return false; + } + return url.protocol === expectedEmbedUrlProtocol && + (allowedPowerBiHostsRegex.test(url.hostname) || allowedPowerBiHostsSovRegex.test(url.hostname)); + } +} \ No newline at end of file diff --git a/test/SDK-to-HPM.spec.ts b/test/SDK-to-HPM.spec.ts index 74c41466..d5e6638d 100644 --- a/test/SDK-to-HPM.spec.ts +++ b/test/SDK-to-HPM.spec.ts @@ -48,9 +48,10 @@ describe('SDK-to-HPM', function () { }; spyOn(utils, "getTimeDiffInMilliseconds").and.callFake(() => 700); // Prevent requests from being throttled. + spyOn(utils, 'validateEmbedUrl').and.callFake(() => { return true; }); powerbi = new service.Service(spyHpmFactory, noop, spyRouterFactory, { wpmpName: 'SDK-to-HPM report wpmp' }); - + sdkSessionId = powerbi.getSdkSessionId(); }); diff --git a/test/SDK-to-MockApp.spec.ts b/test/SDK-to-MockApp.spec.ts index 2753f656..f17a83f6 100644 --- a/test/SDK-to-MockApp.spec.ts +++ b/test/SDK-to-MockApp.spec.ts @@ -31,6 +31,9 @@ describe('SDK-to-MockApp', function () { powerbi = new service.Service(factories.hpmFactory, factories.wpmpFactory, factories.routerFactory, { wpmpName: 'SDK-to-MockApp HostWpmp' }); + + spyOn(utils, 'validateEmbedUrl').and.callFake(() => { return true; }); + element = document.createElement('div'); element.id = "reportContainer1"; element.className = 'powerbi-report-container2'; diff --git a/test/SDK-to-WPMP.spec.ts b/test/SDK-to-WPMP.spec.ts index 4bf43146..946ec607 100644 --- a/test/SDK-to-WPMP.spec.ts +++ b/test/SDK-to-WPMP.spec.ts @@ -5,6 +5,7 @@ import * as service from '../src/service'; import * as report from '../src/report'; import * as Wpmp from 'window-post-message-proxy'; import * as factories from '../src/factories'; +import * as utils from '../src/util'; import { spyWpmp } from './utility/mockWpmp'; import { spyHpm } from './utility/mockHpm'; import { spyRouter } from './utility/mockRouter'; @@ -17,6 +18,7 @@ describe('SDK-to-WPMP', function () { let uniqueId: string; beforeEach(function () { + spyOn(utils, 'validateEmbedUrl').and.callFake(() => { return true; }); const spyWpmpFactory: factories.IWpmpFactory = (_name?: string, _logMessages?: boolean) => { return spyWpmp; }; diff --git a/test/service.spec.ts b/test/service.spec.ts index d135b76b..794d1e36 100644 --- a/test/service.spec.ts +++ b/test/service.spec.ts @@ -6,6 +6,7 @@ import * as embed from '../src/embed'; import * as report from '../src/report'; import * as create from '../src/create'; import * as factories from '../src/factories'; +import * as utils from '../src/util'; import { EmbedUrlNotSupported } from '../src/errors'; // Todo: remove JQuery usage from this tests file. @@ -42,6 +43,7 @@ describe('service', function () { let element: HTMLDivElement; beforeEach(function () { + spyOn(utils, 'validateEmbedUrl').and.callFake(() => { return true; }); powerbi = new service.Service(factories.hpmFactory, factories.wpmpFactory, factories.routerFactory); powerbi.accessToken = 'ABC123'; element = document.createElement('div'); diff --git a/test/test.spec.ts b/test/test.spec.ts index 2817e801..3ace84ed 100644 --- a/test/test.spec.ts +++ b/test/test.spec.ts @@ -3,6 +3,7 @@ import * as service from '../src/service'; import * as factories from '../src/factories'; +import * as utils from '../src/util'; // Avoid adding new tests to this file, create another spec file instead. @@ -12,6 +13,7 @@ describe('embed', function () { let iframe: HTMLIFrameElement; beforeEach(function () { + spyOn(utils, 'validateEmbedUrl').and.callFake(() => { return true; }); powerbi = new service.Service(factories.hpmFactory, factories.wpmpFactory, factories.routerFactory); powerbi.accessToken = 'ABC123'; container = document.createElement('iframe'); diff --git a/test/util.spec.ts b/test/util.spec.ts new file mode 100644 index 00000000..1a3d6f23 --- /dev/null +++ b/test/util.spec.ts @@ -0,0 +1,50 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. + +import { validateEmbedUrl } from '../src/util'; + +describe('util', function () { + const validEmbedHosts: string[] = [ + "https://app.powerbi.com/", + "https://dxt.powerbi.com/", + "https://msit.powerbi.com/", + "https://daily.powerbi.com/", + "https://app.powerbi.cn/", + "https://app.powerbigov.us/", + "https://app.powerbigov.us/reportEmbed?someQueryParam=x", + "https://msit.fabric.microsoft.com/groups/someGroup/reports/", + "HTTPS://APP.powErbi.com", + "https://app.mil.powerbigov.us/embed?unmin=1", + "https://app.high.powerbigov.us/?queryParam", + "https://app.powerbi.eaglex.ic.gov//", + "https://app.powerbi.microsoft.scloud/dashboardEmbed", + "https://app.fabric.microsoft.com/embed?id=123" + ]; + const invalidEmbedHosts: string[] = [ + // HTTP schema is not allowed + "http://app.powerbi.com/", + // unknown embed hosts + "https://dxt.malicious.com/", + "https://msit.powerbi-malicious.com/", + "https://msit.powerbi.unknown/", + "https://msit.powerbi.com.malicious.com/", + "https://app.malicious.powerbigov.us/embed?unmin=1", + "https://app.mil.malicious.powerbigov.us/", + "any.analysis-dfxwindows.net", + "https://dxtpowerbi.com/", + "https://dxtapowerbi.com/", + "app.powerbi.microsoft.scloud.evil.com" + ]; + + it(`validateEmbedUrl, valid embed hosts, should return true`, () => { + for (let i = 0; i++; i < validEmbedHosts.length) { + expect(validateEmbedUrl(validEmbedHosts[i])).withContext(`validateEmbedUrl for host ${validEmbedHosts[i]} should return true`).toBeTrue(); + } + }); + + it(`validateEmbedUrl, invalid embed hosts, should return false`, () => { + for (let i = 0; i++; i < invalidEmbedHosts.length) { + expect(validateEmbedUrl(invalidEmbedHosts[i])).withContext(`validateEmbedUrl for host ${invalidEmbedHosts[i]} should return false`).toBeFalse(); + } + }); +}); From e9423b8de366c47fb54470ffa61ca8b9ad5ef6a5 Mon Sep 17 00:00:00 2001 From: May Hartov Date: Mon, 12 Feb 2024 05:31:39 +0000 Subject: [PATCH 120/125] Merged PR 517660: version bump 2.23.0 version bump 2.3.0 --- dist/powerbi-client.d.ts | 2 +- dist/powerbi.js | 4 ++-- dist/powerbi.min.js | 4 ++-- package.json | 2 +- src/config.ts | 2 +- 5 files changed, 7 insertions(+), 7 deletions(-) diff --git a/dist/powerbi-client.d.ts b/dist/powerbi-client.d.ts index 1a9902c9..d380e9ca 100644 --- a/dist/powerbi-client.d.ts +++ b/dist/powerbi-client.d.ts @@ -1,4 +1,4 @@ -// powerbi-client v2.22.4 +// powerbi-client v2.23.0 // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. declare module "config" { diff --git a/dist/powerbi.js b/dist/powerbi.js index 54749517..5fe30514 100644 --- a/dist/powerbi.js +++ b/dist/powerbi.js @@ -1,4 +1,4 @@ -// powerbi-client v2.22.4 +// powerbi-client v2.23.0 // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. (function webpackUniversalModuleDefinition(root, factory) { @@ -7609,7 +7609,7 @@ exports.BookmarksManager = BookmarksManager; Object.defineProperty(exports, "__esModule", ({ value: true })); /** @ignore */ /** */ var config = { - version: '2.22.4', + version: '2.23.0', type: 'js' }; exports["default"] = config; diff --git a/dist/powerbi.min.js b/dist/powerbi.min.js index 9571bd0c..ffdaa1b4 100644 --- a/dist/powerbi.min.js +++ b/dist/powerbi.min.js @@ -1,5 +1,5 @@ -// powerbi-client v2.22.4 +// powerbi-client v2.23.0 // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. /*! For license information please see powerbi.js.LICENSE.txt */ -!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,(()=>(()=>{var t={319:t=>{var e;self,e=()=>(()=>{"use strict";var t={};return(()=>{var e=t;Object.defineProperty(e,"__esModule",{value:!0}),e.HttpPostMessage=void 0;var r=function(){function t(t,e,r){void 0===e&&(e={}),this.defaultHeaders=e,this.defaultTargetWindow=r,this.windowPostMessageProxy=t}return t.addTrackingProperties=function(t,e){return t.headers=t.headers||{},e&&e.id&&(t.headers.id=e.id),t},t.getTrackingProperties=function(t){return{id:t.headers&&t.headers.id}},t.isErrorMessage=function(t){return"number"==typeof(t&&t.statusCode)&&!(200<=t.statusCode&&t.statusCode<300)},t.prototype.get=function(t,e,r,i){return void 0===e&&(e={}),void 0===r&&(r=this.defaultTargetWindow),this.send({method:"GET",url:t,headers:e},r,i)},t.prototype.post=function(t,e,r,i,a){return void 0===r&&(r={}),void 0===i&&(i=this.defaultTargetWindow),this.send({method:"POST",url:t,headers:r,body:e},i,a)},t.prototype.put=function(t,e,r,i,a){return void 0===r&&(r={}),void 0===i&&(i=this.defaultTargetWindow),this.send({method:"PUT",url:t,headers:r,body:e},i,a)},t.prototype.patch=function(t,e,r,i,a){return void 0===r&&(r={}),void 0===i&&(i=this.defaultTargetWindow),this.send({method:"PATCH",url:t,headers:r,body:e},i,a)},t.prototype.delete=function(t,e,r,i,a){return void 0===e&&(e=null),void 0===r&&(r={}),void 0===i&&(i=this.defaultTargetWindow),this.send({method:"DELETE",url:t,headers:r,body:e},i,a)},t.prototype.send=function(t,e,r){if(void 0===e&&(e=this.defaultTargetWindow),t.headers=this.assign({},this.defaultHeaders,t.headers),!e)throw new Error("target window is not provided. You must either provide the target window explicitly as argument to request, or specify default target window when constructing instance of this class.");return this.windowPostMessageProxy.postMessage(e,t,r)},t.prototype.assign=function(t){for(var e=[],r=1;r(()=>{var t=[function(t,e,r){var i,a=this&&this.__extends||(i=function(t,e){return i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},i(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.TextAlignment=e.CommonErrorCodes=e.BookmarksPlayMode=e.ExportDataType=e.QnaMode=e.PageNavigationPosition=e.BrowserPrintAdjustmentsMode=e.AggregateFunction=e.DataCacheMode=e.CredentialType=e.isPercentOfGrandTotal=e.isColumnAggr=e.isHierarchyLevelAggr=e.isHierarchyLevel=e.isColumn=e.isMeasure=e.getFilterType=e.isBasicFilterWithKeys=e.isFilterKeyColumnsTarget=e.HierarchyFilter=e.AdvancedFilter=e.TupleFilter=e.IdentityFilter=e.BasicFilterWithKeys=e.BasicFilter=e.RelativeTimeFilter=e.RelativeDateFilter=e.TopNFilter=e.IncludeExcludeFilter=e.NotSupportedFilter=e.Filter=e.RelativeDateOperators=e.RelativeDateFilterTimeUnit=e.FilterType=e.FiltersLevel=e.FiltersOperations=e.MenuLocation=e.ContrastMode=e.TokenType=e.ViewMode=e.Permissions=e.SectionVisibility=e.ReportAlignment=e.HyperlinkClickBehavior=e.LayoutType=e.VisualContainerDisplayMode=e.BackgroundType=e.DisplayOption=e.PageSizeType=e.TraceType=void 0,e.validateVisualHeader=e.validateExportDataRequest=e.validateQnaInterpretInputData=e.validateLoadQnaConfiguration=e.validateSaveAsParameters=e.validateUpdateFiltersRequest=e.validateFilter=e.validatePage=e.validateTileLoad=e.validateDashboardLoad=e.validateQuickCreate=e.validateCreateReport=e.validatePaginatedReportLoad=e.validateReportLoad=e.validateMenuGroupExtension=e.validateExtension=e.validateCustomPageSize=e.validateVisualizationsPane=e.validateSyncSlicersPane=e.validateSelectionPane=e.validatePageNavigationPane=e.validateFieldsPane=e.validateFiltersPane=e.validateBookmarksPane=e.validatePanes=e.validateSettings=e.validateCaptureBookmarkRequest=e.validateApplyBookmarkStateRequest=e.validateApplyBookmarkByNameRequest=e.validateAddBookmarkRequest=e.validatePlayBookmarkRequest=e.validateSlicerState=e.validateSlicer=e.validateVisualSelector=e.isIExtensionArray=e.isIExtensions=e.isGroupedMenuExtension=e.isFlatMenuExtension=e.isReportFiltersArray=e.isOnLoadFilters=e.VisualDataRoleKindPreference=e.VisualDataRoleKind=e.CommandDisplayOption=e.SlicerTargetSelector=e.VisualTypeSelector=e.VisualSelector=e.PageSelector=e.Selector=e.SortDirection=e.LegendPosition=void 0,e.validatePrintSettings=e.validateZoomLevel=e.validateCustomTheme=e.validateCommandsSettings=e.validateVisualSettings=void 0;var o,n,l,s,u,d,c,p,f,h,v,y,m,V,g,b,w,P,S,O=r(1);(S=e.TraceType||(e.TraceType={}))[S.Information=0]="Information",S[S.Verbose=1]="Verbose",S[S.Warning=2]="Warning",S[S.Error=3]="Error",S[S.ExpectedError=4]="ExpectedError",S[S.UnexpectedError=5]="UnexpectedError",S[S.Fatal=6]="Fatal",(P=e.PageSizeType||(e.PageSizeType={}))[P.Widescreen=0]="Widescreen",P[P.Standard=1]="Standard",P[P.Cortana=2]="Cortana",P[P.Letter=3]="Letter",P[P.Custom=4]="Custom",P[P.Mobile=5]="Mobile",(w=e.DisplayOption||(e.DisplayOption={}))[w.FitToPage=0]="FitToPage",w[w.FitToWidth=1]="FitToWidth",w[w.ActualSize=2]="ActualSize",(b=e.BackgroundType||(e.BackgroundType={}))[b.Default=0]="Default",b[b.Transparent=1]="Transparent",(g=e.VisualContainerDisplayMode||(e.VisualContainerDisplayMode={}))[g.Visible=0]="Visible",g[g.Hidden=1]="Hidden",(V=e.LayoutType||(e.LayoutType={}))[V.Master=0]="Master",V[V.Custom=1]="Custom",V[V.MobilePortrait=2]="MobilePortrait",V[V.MobileLandscape=3]="MobileLandscape",(m=e.HyperlinkClickBehavior||(e.HyperlinkClickBehavior={}))[m.Navigate=0]="Navigate",m[m.NavigateAndRaiseEvent=1]="NavigateAndRaiseEvent",m[m.RaiseEvent=2]="RaiseEvent",(y=e.ReportAlignment||(e.ReportAlignment={}))[y.Left=0]="Left",y[y.Center=1]="Center",y[y.Right=2]="Right",y[y.None=3]="None",(v=e.SectionVisibility||(e.SectionVisibility={}))[v.AlwaysVisible=0]="AlwaysVisible",v[v.HiddenInViewMode=1]="HiddenInViewMode",(h=e.Permissions||(e.Permissions={}))[h.Read=0]="Read",h[h.ReadWrite=1]="ReadWrite",h[h.Copy=2]="Copy",h[h.Create=4]="Create",h[h.All=7]="All",(f=e.ViewMode||(e.ViewMode={}))[f.View=0]="View",f[f.Edit=1]="Edit",(p=e.TokenType||(e.TokenType={}))[p.Aad=0]="Aad",p[p.Embed=1]="Embed",(c=e.ContrastMode||(e.ContrastMode={}))[c.None=0]="None",c[c.HighContrast1=1]="HighContrast1",c[c.HighContrast2=2]="HighContrast2",c[c.HighContrastBlack=3]="HighContrastBlack",c[c.HighContrastWhite=4]="HighContrastWhite",(d=e.MenuLocation||(e.MenuLocation={}))[d.Bottom=0]="Bottom",d[d.Top=1]="Top",(u=e.FiltersOperations||(e.FiltersOperations={}))[u.RemoveAll=0]="RemoveAll",u[u.ReplaceAll=1]="ReplaceAll",u[u.Add=2]="Add",u[u.Replace=3]="Replace",(s=e.FiltersLevel||(e.FiltersLevel={}))[s.Report=0]="Report",s[s.Page=1]="Page",s[s.Visual=2]="Visual",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",t[t.Identity=8]="Identity",t[t.Hierarchy=9]="Hierarchy"}(o=e.FilterType||(e.FilterType={})),(l=e.RelativeDateFilterTimeUnit||(e.RelativeDateFilterTimeUnit={}))[l.Days=0]="Days",l[l.Weeks=1]="Weeks",l[l.CalendarWeeks=2]="CalendarWeeks",l[l.Months=3]="Months",l[l.CalendarMonths=4]="CalendarMonths",l[l.Years=5]="Years",l[l.CalendarYears=6]="CalendarYears",l[l.Minutes=7]="Minutes",l[l.Hours=8]="Hours",(n=e.RelativeDateOperators||(e.RelativeDateOperators={}))[n.InLast=0]="InLast",n[n.InThis=1]="InThis",n[n.InNext=2]="InNext";var _=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=_;var T=function(t){function e(r,i,a){var n=t.call(this,r,o.Unknown)||this;return n.message=i,n.notSupportedTypeName=a,n.schemaUrl=e.schemaUrl,n}return a(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}(_);e.NotSupportedFilter=T;var E=function(t){function e(r,i,a){var n=t.call(this,r,o.IncludeExclude)||this;return n.values=a,n.isExclude=i,n.schemaUrl=e.schemaUrl,n}return a(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}(_);e.IncludeExcludeFilter=E;var F=function(t){function e(r,i,a,n){var l=t.call(this,r,o.TopN)||this;return l.operator=i,l.itemCount=a,l.schemaUrl=e.schemaUrl,l.orderBy=n,l}return a(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}(_);e.TopNFilter=F;var C=function(t){function e(r,i,a,n,l){var s=t.call(this,r,o.RelativeDate)||this;return s.operator=i,s.timeUnitsCount=a,s.timeUnitType=n,s.includeToday=l,s.schemaUrl=e.schemaUrl,s}return a(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}(_);e.RelativeDateFilter=C;var R=function(t){function e(r,i,a,n){var l=t.call(this,r,o.RelativeTime)||this;return l.operator=i,l.timeUnitsCount=a,l.timeUnitType=n,l.schemaUrl=e.schemaUrl,l}return a(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}(_);e.RelativeTimeFilter=R;var k=function(t){function e(r,i){for(var a=[],n=2;n0&&!a)throw new Error("You should pass the values to be filtered for each key. You passed: no values and ".concat(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,s=o.keyValues;l2)throw new Error("AdvancedFilters may not have more than two conditions. You passed: ".concat(a.length));if(1===l.length&&"And"!==i)throw new Error('Logical Operator must be "And" when there is only one condition provided');return s.conditions=l,s}return a(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}(_);e.AdvancedFilter=M;var I,L,q,D,N,B,U,H,W,z=function(t){function e(r,i){var a=t.call(this,r,o.Hierarchy)||this;return a.schemaUrl=e.schemaUrl,a.hierarchyData=i,a}return a(e,t),e.prototype.toJSON=function(){var e=t.prototype.toJSON.call(this);return e.hierarchyData=this.hierarchyData,e.target=this.target,e},e.schemaUrl="http://powerbi.com/product/schema#hierarchy",e}(_);function Q(t){if(t.filterType)return t.filterType;var e=t,r=t;return"string"==typeof e.operator&&Array.isArray(e.values)?o.Basic:"string"==typeof r.logicalOperator&&Array.isArray(r.conditions)?o.Advanced:o.Unknown}function G(t){return!(!t.table||!t.column||t.aggregationFunction)}e.HierarchyFilter=z,e.isFilterKeyColumnsTarget=function(t){return G(t)&&!!t.keys},e.isBasicFilterWithKeys=function(t){return Q(t)===o.Basic&&!!t.keyValues},e.getFilterType=Q,e.isMeasure=function(t){return void 0!==t.table&&void 0!==t.measure},e.isColumn=G,e.isHierarchyLevel=function(t){return!(!(t.table&&t.hierarchy&&t.hierarchyLevel)||t.aggregationFunction)},e.isHierarchyLevelAggr=function(t){return!!(t.table&&t.hierarchy&&t.hierarchyLevel&&t.aggregationFunction)},e.isColumnAggr=function(t){return!!(t.table&&t.column&&t.aggregationFunction)},e.isPercentOfGrandTotal=function(t){return!!t.percentOfGrandTotal},(W=e.CredentialType||(e.CredentialType={}))[W.NoConnection=0]="NoConnection",W[W.OnBehalfOf=1]="OnBehalfOf",W[W.Anonymous=2]="Anonymous",(H=e.DataCacheMode||(e.DataCacheMode={}))[H.Import=0]="Import",H[H.DirectQuery=1]="DirectQuery",(U=e.AggregateFunction||(e.AggregateFunction={}))[U.Default=1]="Default",U[U.None=2]="None",U[U.Sum=3]="Sum",U[U.Min=4]="Min",U[U.Max=5]="Max",U[U.Count=6]="Count",U[U.Average=7]="Average",U[U.DistinctCount=8]="DistinctCount",(B=e.BrowserPrintAdjustmentsMode||(e.BrowserPrintAdjustmentsMode={}))[B.Default=0]="Default",B[B.NoAdjustments=1]="NoAdjustments",(N=e.PageNavigationPosition||(e.PageNavigationPosition={}))[N.Bottom=0]="Bottom",N[N.Left=1]="Left",(D=e.QnaMode||(e.QnaMode={}))[D.Interactive=0]="Interactive",D[D.ResultOnly=1]="ResultOnly",(q=e.ExportDataType||(e.ExportDataType={}))[q.Summarized=0]="Summarized",q[q.Underlying=1]="Underlying",(L=e.BookmarksPlayMode||(e.BookmarksPlayMode={}))[L.Off=0]="Off",L[L.Presentation=1]="Presentation",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"},(I=e.SortDirection||(e.SortDirection={}))[I.Ascending=1]="Ascending",I[I.Descending=2]="Descending";var J=function(){function t(t){this.$schema=t}return t.prototype.toJSON=function(){return{$schema:this.$schema}},t}();e.Selector=J;var K=function(t){function e(r){var i=t.call(this,e.schemaUrl)||this;return i.pageName=r,i}return a(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}(J);e.PageSelector=K;var Y=function(t){function e(r){var i=t.call(this,e.schemaUrl)||this;return i.visualName=r,i}return a(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}(J);e.VisualSelector=Y;var $=function(t){function e(e){var r=t.call(this,Y.schemaUrl)||this;return r.visualType=e,r}return a(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}(J);e.VisualTypeSelector=$;var Z,X,tt,et=function(t){function e(e){var r=t.call(this,Y.schemaUrl)||this;return r.target=e,r}return a(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}(J);function rt(t){return Array.isArray(t)}function it(t){return t&&!!t.groupName}function at(t){return Array.isArray(t)}function ot(t){var e=t.message;return e||(e="".concat(t.path," is invalid. Not meeting ").concat(t.keyword," constraint")),{message:e}}e.SlicerTargetSelector=et,(tt=e.CommandDisplayOption||(e.CommandDisplayOption={}))[tt.Enabled=0]="Enabled",tt[tt.Disabled=1]="Disabled",tt[tt.Hidden=2]="Hidden",(X=e.VisualDataRoleKind||(e.VisualDataRoleKind={}))[X.Grouping=0]="Grouping",X[X.Measure=1]="Measure",X[X.GroupingOrMeasure=2]="GroupingOrMeasure",(Z=e.VisualDataRoleKindPreference||(e.VisualDataRoleKindPreference={}))[Z.Measure=0]="Measure",Z[Z.Grouping=1]="Grouping",e.isOnLoadFilters=function(t){return t&&!rt(t)},e.isReportFiltersArray=rt,e.isFlatMenuExtension=function(t){return t&&!it(t)},e.isGroupedMenuExtension=it,e.isIExtensions=function(t){return t&&!at(t)},e.isIExtensionArray=at,e.validateVisualSelector=function(t){var e=O.Validators.visualSelectorValidator.validate(t);return e?e.map(ot):void 0},e.validateSlicer=function(t){var e=O.Validators.slicerValidator.validate(t);return e?e.map(ot):void 0},e.validateSlicerState=function(t){var e=O.Validators.slicerStateValidator.validate(t);return e?e.map(ot):void 0},e.validatePlayBookmarkRequest=function(t){var e=O.Validators.playBookmarkRequestValidator.validate(t);return e?e.map(ot):void 0},e.validateAddBookmarkRequest=function(t){var e=O.Validators.addBookmarkRequestValidator.validate(t);return e?e.map(ot):void 0},e.validateApplyBookmarkByNameRequest=function(t){var e=O.Validators.applyBookmarkByNameRequestValidator.validate(t);return e?e.map(ot):void 0},e.validateApplyBookmarkStateRequest=function(t){var e=O.Validators.applyBookmarkStateRequestValidator.validate(t);return e?e.map(ot):void 0},e.validateCaptureBookmarkRequest=function(t){var e=O.Validators.captureBookmarkRequestValidator.validate(t);return e?e.map(ot):void 0},e.validateSettings=function(t){var e=O.Validators.settingsValidator.validate(t);return e?e.map(ot):void 0},e.validatePanes=function(t){var e=O.Validators.reportPanesValidator.validate(t);return e?e.map(ot):void 0},e.validateBookmarksPane=function(t){var e=O.Validators.bookmarksPaneValidator.validate(t);return e?e.map(ot):void 0},e.validateFiltersPane=function(t){var e=O.Validators.filtersPaneValidator.validate(t);return e?e.map(ot):void 0},e.validateFieldsPane=function(t){var e=O.Validators.fieldsPaneValidator.validate(t);return e?e.map(ot):void 0},e.validatePageNavigationPane=function(t){var e=O.Validators.pageNavigationPaneValidator.validate(t);return e?e.map(ot):void 0},e.validateSelectionPane=function(t){var e=O.Validators.selectionPaneValidator.validate(t);return e?e.map(ot):void 0},e.validateSyncSlicersPane=function(t){var e=O.Validators.syncSlicersPaneValidator.validate(t);return e?e.map(ot):void 0},e.validateVisualizationsPane=function(t){var e=O.Validators.visualizationsPaneValidator.validate(t);return e?e.map(ot):void 0},e.validateCustomPageSize=function(t){var e=O.Validators.customPageSizeValidator.validate(t);return e?e.map(ot):void 0},e.validateExtension=function(t){var e=O.Validators.extensionValidator.validate(t);return e?e.map(ot):void 0},e.validateMenuGroupExtension=function(t){var e=O.Validators.menuGroupExtensionValidator.validate(t);return e?e.map(ot):void 0},e.validateReportLoad=function(t){var e=O.Validators.reportLoadValidator.validate(t);return e?e.map(ot):void 0},e.validatePaginatedReportLoad=function(t){var e=O.Validators.paginatedReportLoadValidator.validate(t);return e?e.map(ot):void 0},e.validateCreateReport=function(t){var e=O.Validators.reportCreateValidator.validate(t);return e?e.map(ot):void 0},e.validateQuickCreate=function(t){var e=O.Validators.quickCreateValidator.validate(t);return e?e.map(ot):void 0},e.validateDashboardLoad=function(t){var e=O.Validators.dashboardLoadValidator.validate(t);return e?e.map(ot):void 0},e.validateTileLoad=function(t){var e=O.Validators.tileLoadValidator.validate(t);return e?e.map(ot):void 0},e.validatePage=function(t){var e=O.Validators.pageValidator.validate(t);return e?e.map(ot):void 0},e.validateFilter=function(t){var e=O.Validators.filterValidator.validate(t);return e?e.map(ot):void 0},e.validateUpdateFiltersRequest=function(t){var e=O.Validators.updateFiltersRequestValidator.validate(t);return e?e.map(ot):void 0},e.validateSaveAsParameters=function(t){var e=O.Validators.saveAsParametersValidator.validate(t);return e?e.map(ot):void 0},e.validateLoadQnaConfiguration=function(t){var e=O.Validators.loadQnaValidator.validate(t);return e?e.map(ot):void 0},e.validateQnaInterpretInputData=function(t){var e=O.Validators.qnaInterpretInputDataValidator.validate(t);return e?e.map(ot):void 0},e.validateExportDataRequest=function(t){var e=O.Validators.exportDataRequestValidator.validate(t);return e?e.map(ot):void 0},e.validateVisualHeader=function(t){var e=O.Validators.visualHeaderValidator.validate(t);return e?e.map(ot):void 0},e.validateVisualSettings=function(t){var e=O.Validators.visualSettingsValidator.validate(t);return e?e.map(ot):void 0},e.validateCommandsSettings=function(t){var e=O.Validators.commandsSettingsValidator.validate(t);return e?e.map(ot):void 0},e.validateCustomTheme=function(t){var e=O.Validators.customThemeValidator.validate(t);return e?e.map(ot):void 0},e.validateZoomLevel=function(t){var e=O.Validators.zoomLevelValidator.validate(t);return e?e.map(ot):void 0},e.validatePrintSettings=function(t){var e=O.Validators.printSettingsValidator.validate(t);return e?e.map(ot):void 0}},(t,e,r)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.Validators=void 0;var i=r(2),a=r(5),o=r(6),n=r(7),l=r(8),s=r(9),u=r(10),d=r(11),c=r(12),p=r(13),f=r(14),h=r(15),v=r(16),y=r(17),m=r(18),V=r(19),g=r(20),b=r(21),w=r(22),P=r(23),S=r(24),O=r(25),_=r(26),T=r(27),E=r(28),F=r(29),C=r(4),R=r(30),k=r(31),x=r(32),A=r(33),j=r(34);e.Validators={addBookmarkRequestValidator:new a.AddBookmarkRequestValidator,advancedFilterTypeValidator:new C.EnumValidator([0]),advancedFilterValidator:new c.AdvancedFilterValidator,anyArrayValidator:new C.ArrayValidator([new _.AnyOfValidator([new C.StringValidator,new C.NumberValidator,new C.BooleanValidator])]),anyFilterValidator:new _.AnyOfValidator([new c.BasicFilterValidator,new c.AdvancedFilterValidator,new c.IncludeExcludeFilterValidator,new c.NotSupportedFilterValidator,new c.RelativeDateFilterValidator,new c.TopNFilterValidator,new c.RelativeTimeFilterValidator,new c.HierarchyFilterValidator]),anyValueValidator:new _.AnyOfValidator([new C.StringValidator,new C.NumberValidator,new C.BooleanValidator]),actionBarValidator:new i.ActionBarValidator,statusBarValidator:new i.StatusBarValidator,applyBookmarkByNameRequestValidator:new a.ApplyBookmarkByNameRequestValidator,applyBookmarkStateRequestValidator:new a.ApplyBookmarkStateRequestValidator,applyBookmarkValidator:new _.AnyOfValidator([new a.ApplyBookmarkByNameRequestValidator,new a.ApplyBookmarkStateRequestValidator]),backgroundValidator:new C.EnumValidator([0,1]),basicFilterTypeValidator:new C.EnumValidator([1]),basicFilterValidator:new c.BasicFilterValidator,booleanArrayValidator:new C.BooleanArrayValidator,booleanValidator:new C.BooleanValidator,bookmarksPaneValidator:new h.BookmarksPaneValidator,captureBookmarkOptionsValidator:new a.CaptureBookmarkOptionsValidator,captureBookmarkRequestValidator:new a.CaptureBookmarkRequestValidator,columnSchemaArrayValidator:new C.ArrayValidator([new k.ColumnSchemaValidator]),commandDisplayOptionValidator:new C.EnumValidator([0,1,2]),commandExtensionSelectorValidator:new _.AnyOfValidator([new b.VisualSelectorValidator,new b.VisualTypeSelectorValidator]),commandExtensionArrayValidator:new C.ArrayValidator([new d.CommandExtensionValidator]),commandExtensionValidator:new d.CommandExtensionValidator,commandsSettingsArrayValidator:new C.ArrayValidator([new o.CommandsSettingsValidator]),commandsSettingsValidator:new o.CommandsSettingsValidator,conditionItemValidator:new c.ConditionItemValidator,contrastModeValidator:new C.EnumValidator([0,1,2,3,4]),credentialDetailsValidator:new F.MapValidator([new C.StringValidator],[new C.StringValidator]),credentialsValidator:new k.CredentialsValidator,credentialTypeValidator:new C.EnumValidator([0,1,2]),customLayoutDisplayOptionValidator:new C.EnumValidator([0,1,2]),customLayoutValidator:new p.CustomLayoutValidator,customPageSizeValidator:new f.CustomPageSizeValidator,customThemeValidator:new n.CustomThemeValidator,dashboardLoadValidator:new l.DashboardLoadValidator,dataCacheModeValidator:new C.EnumValidator([0,1]),datasetBindingValidator:new s.DatasetBindingValidator,datasetCreateConfigValidator:new k.DatasetCreateConfigValidator,datasourceConnectionConfigValidator:new k.DatasourceConnectionConfigValidator,displayStateModeValidator:new C.EnumValidator([0,1]),displayStateValidator:new p.DisplayStateValidator,exportDataRequestValidator:new u.ExportDataRequestValidator,extensionArrayValidator:new C.ArrayValidator([new d.ExtensionValidator]),extensionsValidator:new _.AnyOfValidator([new C.ArrayValidator([new d.ExtensionValidator]),new d.ExtensionsValidator]),extensionPointsValidator:new d.ExtensionPointsValidator,extensionValidator:new d.ExtensionValidator,fieldForbiddenValidator:new T.FieldForbiddenValidator,fieldRequiredValidator:new E.FieldRequiredValidator,fieldsPaneValidator:new h.FieldsPaneValidator,filterColumnTargetValidator:new c.FilterColumnTargetValidator,filterDisplaySettingsValidator:new c.FilterDisplaySettingsValidator,filterConditionsValidator:new C.ArrayValidator([new c.ConditionItemValidator]),filterHierarchyTargetValidator:new c.FilterHierarchyTargetValidator,filterMeasureTargetValidator:new c.FilterMeasureTargetValidator,filterTargetValidator:new _.AnyOfValidator([new c.FilterColumnTargetValidator,new c.FilterHierarchyTargetValidator,new c.FilterMeasureTargetValidator,new C.ArrayValidator([new _.AnyOfValidator([new c.FilterColumnTargetValidator,new c.FilterHierarchyTargetValidator,new c.FilterMeasureTargetValidator,new c.FilterKeyColumnsTargetValidator,new c.FilterKeyHierarchyTargetValidator])])]),filterValidator:new c.FilterValidator,filterTypeValidator:new C.EnumValidator([0,1,2,3,4,5,6,7,9]),filtersArrayValidator:new C.ArrayValidator([new c.FilterValidator]),filtersOperationsUpdateValidator:new C.EnumValidator([1,2,3]),filtersOperationsRemoveAllValidator:new C.EnumValidator([0]),filtersPaneValidator:new h.FiltersPaneValidator,hyperlinkClickBehaviorValidator:new C.EnumValidator([0,1,2]),includeExcludeFilterValidator:new c.IncludeExcludeFilterValidator,includeExludeFilterTypeValidator:new C.EnumValidator([3]),hierarchyFilterTypeValidator:new C.EnumValidator([9]),hierarchyFilterValuesValidator:new C.ArrayValidator([new c.HierarchyFilterNodeValidator]),layoutTypeValidator:new C.EnumValidator([0,1,2,3]),loadQnaValidator:new v.LoadQnaValidator,menuExtensionValidator:new _.AnyOfValidator([new d.FlatMenuExtensionValidator,new d.GroupedMenuExtensionValidator]),menuGroupExtensionArrayValidator:new C.ArrayValidator([new d.MenuGroupExtensionValidator]),menuGroupExtensionValidator:new d.MenuGroupExtensionValidator,menuLocationValidator:new C.EnumValidator([0,1]),notSupportedFilterTypeValidator:new C.EnumValidator([2]),notSupportedFilterValidator:new c.NotSupportedFilterValidator,numberArrayValidator:new C.NumberArrayValidator,numberValidator:new C.NumberValidator,onLoadFiltersBaseValidator:new _.AnyOfValidator([new c.OnLoadFiltersBaseValidator,new c.OnLoadFiltersBaseRemoveOperationValidator]),pageLayoutValidator:new F.MapValidator([new C.StringValidator],[new p.VisualLayoutValidator]),pageNavigationPaneValidator:new h.PageNavigationPaneValidator,pageNavigationPositionValidator:new C.EnumValidator([0,1]),pageSizeTypeValidator:new C.EnumValidator([0,1,2,3,4,5]),pageSizeValidator:new f.PageSizeValidator,pageValidator:new f.PageValidator,pageViewFieldValidator:new f.PageViewFieldValidator,pagesLayoutValidator:new F.MapValidator([new C.StringValidator],[new p.PageLayoutValidator]),paginatedReportCommandsValidator:new o.PaginatedReportCommandsValidator,paginatedReportDatasetBindingArrayValidator:new C.ArrayValidator([new j.PaginatedReportDatasetBindingValidator]),paginatedReportLoadValidator:new V.PaginatedReportLoadValidator,paginatedReportsettingsValidator:new w.PaginatedReportSettingsValidator,parameterValuesArrayValidator:new C.ArrayValidator([new V.ReportParameterFieldsValidator]),parametersPanelValidator:new R.ParametersPanelValidator,permissionsValidator:new C.EnumValidator([0,1,2,4,7]),playBookmarkRequestValidator:new a.PlayBookmarkRequestValidator,printSettingsValidator:new A.PrintSettingsValidator,qnaInterpretInputDataValidator:new v.QnaInterpretInputDataValidator,qnaPanesValidator:new h.QnaPanesValidator,qnaSettingValidator:new v.QnaSettingsValidator,quickCreateValidator:new x.QuickCreateValidator,rawDataValidator:new C.ArrayValidator([new C.ArrayValidator([new C.StringValidator])]),relativeDateFilterOperatorValidator:new C.EnumValidator([0,1,2]),relativeDateFilterTimeUnitTypeValidator:new C.EnumValidator([0,1,2,3,4,5,6]),relativeDateFilterTypeValidator:new C.EnumValidator([4]),relativeDateFilterValidator:new c.RelativeDateFilterValidator,relativeDateTimeFilterTypeValidator:new C.EnumValidator([4,7]),relativeDateTimeFilterUnitTypeValidator:new C.EnumValidator([0,1,2,3,4,5,6,7,8]),relativeTimeFilterTimeUnitTypeValidator:new C.EnumValidator([7,8]),relativeTimeFilterTypeValidator:new C.EnumValidator([7]),relativeTimeFilterValidator:new c.RelativeTimeFilterValidator,reportBarsValidator:new i.ReportBarsValidator,reportCreateValidator:new y.ReportCreateValidator,reportLoadFiltersValidator:new _.AnyOfValidator([new C.ArrayValidator([new c.FilterValidator]),new c.OnLoadFiltersValidator]),reportLoadValidator:new m.ReportLoadValidator,reportPanesValidator:new h.ReportPanesValidator,saveAsParametersValidator:new g.SaveAsParametersValidator,selectionPaneValidator:new h.SelectionPaneValidator,settingsValidator:new w.SettingsValidator,singleCommandSettingsValidator:new o.SingleCommandSettingsValidator,slicerSelectorValidator:new _.AnyOfValidator([new b.VisualSelectorValidator,new b.SlicerTargetSelectorValidator]),slicerStateValidator:new P.SlicerStateValidator,slicerTargetValidator:new _.AnyOfValidator([new c.FilterColumnTargetValidator,new c.FilterHierarchyTargetValidator,new c.FilterMeasureTargetValidator,new c.FilterKeyColumnsTargetValidator,new c.FilterKeyHierarchyTargetValidator]),slicerValidator:new P.SlicerValidator,stringArrayValidator:new C.StringArrayValidator,stringValidator:new C.StringValidator,syncSlicersPaneValidator:new h.SyncSlicersPaneValidator,tableDataArrayValidator:new C.ArrayValidator([new k.TableDataValidator]),tableSchemaListValidator:new C.ArrayValidator([new k.TableSchemaValidator]),tileLoadValidator:new S.TileLoadValidator,tokenTypeValidator:new C.EnumValidator([0,1]),topNFilterTypeValidator:new C.EnumValidator([5]),topNFilterValidator:new c.TopNFilterValidator,updateFiltersRequestValidator:new _.AnyOfValidator([new c.UpdateFiltersRequestValidator,new c.RemoveFiltersRequestValidator]),viewModeValidator:new C.EnumValidator([0,1]),visualCommandSelectorValidator:new _.AnyOfValidator([new b.VisualSelectorValidator,new b.VisualTypeSelectorValidator]),visualHeaderSelectorValidator:new _.AnyOfValidator([new b.VisualSelectorValidator,new b.VisualTypeSelectorValidator]),visualHeaderSettingsValidator:new O.VisualHeaderSettingsValidator,visualHeaderValidator:new O.VisualHeaderValidator,visualHeadersValidator:new C.ArrayValidator([new O.VisualHeaderValidator]),visualizationsPaneValidator:new h.VisualizationsPaneValidator,visualLayoutValidator:new p.VisualLayoutValidator,visualSelectorValidator:new b.VisualSelectorValidator,visualSettingsValidator:new O.VisualSettingsValidator,visualTypeSelectorValidator:new b.VisualTypeSelectorValidator,zoomLevelValidator:new C.RangeValidator(.25,4)}},function(t,e,r){var i,a=this&&this.__extends||(i=function(t,e){return i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},i(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.StatusBarValidator=e.ActionBarValidator=e.ReportBarsValidator=void 0;var o=r(3),n=r(4),l=r(1),s=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return a(e,t),e.prototype.validate=function(e,r,i){if(null==e)return null;var a=t.prototype.validate.call(this,e,r,i);if(a)return a;var n=[{field:"actionBar",validators:[l.Validators.actionBarValidator]},{field:"statusBar",validators:[l.Validators.statusBarValidator]}];return new o.MultipleFieldsValidator(n).validate(e,r,i)},e}(n.ObjectValidator);e.ReportBarsValidator=s;var u=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return a(e,t),e.prototype.validate=function(e,r,i){if(null==e)return null;var a=t.prototype.validate.call(this,e,r,i);if(a)return a;var n=[{field:"visible",validators:[l.Validators.booleanValidator]}];return new o.MultipleFieldsValidator(n).validate(e,r,i)},e}(n.ObjectValidator);e.ActionBarValidator=u;var d=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return a(e,t),e.prototype.validate=function(e,r,i){if(null==e)return null;var a=t.prototype.validate.call(this,e,r,i);if(a)return a;var n=[{field:"visible",validators:[l.Validators.booleanValidator]}];return new o.MultipleFieldsValidator(n).validate(e,r,i)},e}(n.ObjectValidator);e.StatusBarValidator=d},(t,e)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.MultipleFieldsValidator=void 0;var r=function(){function t(t){this.fieldValidatorsPairs=t}return t.prototype.validate=function(t,e,r){if(!this.fieldValidatorsPairs)return null;for(var i=e?e+"."+r:r,a=0,o=this.fieldValidatorsPairs;athis.maxValue||e{Object.defineProperty(e,"__esModule",{value:!0}),e.AnyOfValidator=void 0;var r=function(){function t(t){this.validators=t}return t.prototype.validate=function(t,e,r){if(null==t)return null;for(var i=!1,a=0,o=this.validators;a{Object.defineProperty(e,"__esModule",{value:!0}),e.FieldForbiddenValidator=void 0;var r=function(){function t(){}return t.prototype.validate=function(t,e,r){return void 0!==t?[{message:r+" is forbidden",path:(e?e+".":"")+r,keyword:"forbidden"}]:null},t}();e.FieldForbiddenValidator=r},(t,e)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.FieldRequiredValidator=void 0;var r=function(){function t(){}return t.prototype.validate=function(t,e,r){return null==t?[{message:r+" is required",path:(e?e+".":"")+r,keyword:"required"}]:null},t}();e.FieldRequiredValidator=r},function(t,e,r){var i,a=this&&this.__extends||(i=function(t,e){return i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},i(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.MapValidator=void 0;var o=function(t){function e(e,r){var i=t.call(this)||this;return i.keyValidators=e,i.valueValidators=r,i}return a(e,t),e.prototype.validate=function(e,r,i){if(null==e)return null;var a=t.prototype.validate.call(this,e,r,i);if(a)return a;for(var o in e)if(e.hasOwnProperty(o)){for(var n=(r?r+".":"")+i+"."+o,l=0,s=this.keyValidators;l2&&"[]"===n.slice(l-2)&&(s=!0,r[n=n.slice(0,l-2)]||(r[n]=[])),a=o[1]?g(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(-1!==(i=t.indexOf("?"))){var l=t.substr(i+1,t.length);t=t.substr(0,i),o=this.parseQueryString(l)}for("/"!==(t=decodeURI(t)).charAt(0)&&(t="/"+t),(e=t.length)>1&&"/"===t.charAt(e-1)&&(t=t.substr(0,e-1),n=!0),r=0;r{Object.defineProperty(e,"__esModule",{value:!0}),e.FilterBuilder=void 0;var r=function(){function t(){}return t.prototype.withTargetObject=function(t){return this.target=t,this},t.prototype.withColumnTarget=function(t,e){return this.target={table:t,column:e},this},t.prototype.withMeasureTarget=function(t,e){return this.target={table:t,measure:e},this},t.prototype.withHierarchyLevelTarget=function(t,e,r){return this.target={table:t,hierarchy:e,hierarchyLevel:r},this},t.prototype.withColumnAggregation=function(t,e,r){return this.target={table:t,column:e,aggregationFunction:r},this},t.prototype.withHierarchyLevelAggregationTarget=function(t,e,r,i){return this.target={table:t,hierarchy:e,hierarchyLevel:r,aggregationFunction:i},this},t}();e.FilterBuilder=r},567:(t,e,r)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.RelativeTimeFilterBuilder=e.RelativeDateFilterBuilder=e.TopNFilterBuilder=e.AdvancedFilterBuilder=e.BasicFilterBuilder=void 0;var i=r(153);Object.defineProperty(e,"BasicFilterBuilder",{enumerable:!0,get:function(){return i.BasicFilterBuilder}});var a=r(674);Object.defineProperty(e,"AdvancedFilterBuilder",{enumerable:!0,get:function(){return a.AdvancedFilterBuilder}});var o=r(664);Object.defineProperty(e,"TopNFilterBuilder",{enumerable:!0,get:function(){return o.TopNFilterBuilder}});var n=r(844);Object.defineProperty(e,"RelativeDateFilterBuilder",{enumerable:!0,get:function(){return n.RelativeDateFilterBuilder}});var l=r(275);Object.defineProperty(e,"RelativeTimeFilterBuilder",{enumerable:!0,get:function(){return l.RelativeTimeFilterBuilder}})},844:function(t,e,r){var i,a=this&&this.__extends||(i=function(t,e){return i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},i(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.RelativeDateFilterBuilder=void 0;var o=r(149),n=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.isTodayIncluded=!0,e}return a(e,t),e.prototype.inLast=function(t,e){return this.operator=o.RelativeDateOperators.InLast,this.timeUnitsCount=t,this.timeUnitType=e,this},e.prototype.inThis=function(t,e){return this.operator=o.RelativeDateOperators.InThis,this.timeUnitsCount=t,this.timeUnitType=e,this},e.prototype.inNext=function(t,e){return this.operator=o.RelativeDateOperators.InNext,this.timeUnitsCount=t,this.timeUnitType=e,this},e.prototype.includeToday=function(t){return this.isTodayIncluded=t,this},e.prototype.build=function(){return new o.RelativeDateFilter(this.target,this.operator,this.timeUnitsCount,this.timeUnitType,this.isTodayIncluded)},e}(r(277).FilterBuilder);e.RelativeDateFilterBuilder=n},275:function(t,e,r){var i,a=this&&this.__extends||(i=function(t,e){return i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},i(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.RelativeTimeFilterBuilder=void 0;var o=r(149),n=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return a(e,t),e.prototype.inLast=function(t,e){return this.operator=o.RelativeDateOperators.InLast,this.timeUnitsCount=t,this.timeUnitType=e,this},e.prototype.inThis=function(t,e){return this.operator=o.RelativeDateOperators.InThis,this.timeUnitsCount=t,this.timeUnitType=e,this},e.prototype.inNext=function(t,e){return this.operator=o.RelativeDateOperators.InNext,this.timeUnitsCount=t,this.timeUnitType=e,this},e.prototype.build=function(){return new o.RelativeTimeFilter(this.target,this.operator,this.timeUnitsCount,this.timeUnitType)},e}(r(277).FilterBuilder);e.RelativeTimeFilterBuilder=n},664:function(t,e,r){var i,a=this&&this.__extends||(i=function(t,e){return i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},i(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.TopNFilterBuilder=void 0;var o=r(149),n=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return a(e,t),e.prototype.top=function(t){return this.operator="Top",this.itemCount=t,this},e.prototype.bottom=function(t){return this.operator="Bottom",this.itemCount=t,this},e.prototype.orderByTarget=function(t){return this.orderByTargetValue=t,this},e.prototype.build=function(){return new o.TopNFilter(this.target,this.operator,this.itemCount,this.orderByTargetValue)},e}(r(277).FilterBuilder);e.TopNFilterBuilder=n},460:function(t,e,r){var i=this&&this.__awaiter||function(t,e,r,i){return new(r||(r=Promise))((function(a,o){function n(t){try{s(i.next(t))}catch(t){o(t)}}function l(t){try{s(i.throw(t))}catch(t){o(t)}}function s(t){var e;t.done?a(t.value):(e=t.value,e instanceof r?e:new r((function(t){t(e)}))).then(n,l)}s((i=i.apply(t,e||[])).next())}))},a=this&&this.__generator||function(t,e){var r,i,a,o,n={label:0,sent:function(){if(1&a[0])throw a[1];return a[1]},trys:[],ops:[]};return o={next:l(0),throw:l(1),return:l(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function l(o){return function(l){return function(o){if(r)throw new TypeError("Generator is already executing.");for(;n;)try{if(r=1,i&&(a=2&o[0]?i.return:o[0]?i.throw||((a=i.return)&&a.call(i),0):i.next)&&!(a=a.call(i,o[1])).done)return a;switch(i=0,a&&(o=[2&o[0],a.value]),o[0]){case 0:case 1:a=o;break;case 4:return n.label++,{value:o[1],done:!1};case 5:n.label++,i=o[1],o=[0];continue;case 7:o=n.ops.pop(),n.trys.pop();continue;default:if(!((a=(a=n.trys).length>0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]{Object.defineProperty(e,"__esModule",{value:!0}),e.default={version:"2.22.4",type:"js"}},536:function(t,e,r){var i,a=this&&this.__extends||(i=function(t,e){return i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},i(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}),o=this&&this.__awaiter||function(t,e,r,i){return new(r||(r=Promise))((function(a,o){function n(t){try{s(i.next(t))}catch(t){o(t)}}function l(t){try{s(i.throw(t))}catch(t){o(t)}}function s(t){var e;t.done?a(t.value):(e=t.value,e instanceof r?e:new r((function(t){t(e)}))).then(n,l)}s((i=i.apply(t,e||[])).next())}))},n=this&&this.__generator||function(t,e){var r,i,a,o,n={label:0,sent:function(){if(1&a[0])throw a[1];return a[1]},trys:[],ops:[]};return o={next:l(0),throw:l(1),return:l(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function l(o){return function(l){return function(o){if(r)throw new TypeError("Generator is already executing.");for(;n;)try{if(r=1,i&&(a=2&o[0]?i.return:o[0]?i.throw||((a=i.return)&&a.call(i),0):i.next)&&!(a=a.call(i,o[1])).done)return a;switch(i=0,a&&(o=[2&o[0],a.value]),o[0]){case 0:case 1:a=o;break;case 4:return n.label++,{value:o[1],done:!1};case 5:n.label++,i=o[1],o=[0];continue;case 7:o=n.ops.pop(),n.trys.pop();continue;default:if(!((a=(a=n.trys).length>0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]{Object.defineProperty(e,"__esModule",{value:!0}),e.invalidEmbedUrlErrorMessage=e.EmbedUrlNotSupported=e.APINotSupportedForRDLError=void 0,e.APINotSupportedForRDLError="This API is currently not supported for RDL reports",e.EmbedUrlNotSupported="Embed URL is invalid for this scenario. Please use Power BI REST APIs to get the valid URL",e.invalidEmbedUrlErrorMessage="Invalid embed URL detected. Either URL hostname or protocol are invalid. Please use Power BI REST APIs to get the valid URL"},357:(t,e,r)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.routerFactory=e.wpmpFactory=e.hpmFactory=void 0;var i=r(960),a=r(319),o=r(891),n=r(913);e.hpmFactory=function(t,e,r,i,o){return void 0===r&&(r=n.default.version),void 0===i&&(i=n.default.type),new a.HttpPostMessage(t,{"x-sdk-type":i,"x-sdk-version":r,"x-sdk-wrapper-version":o},e)},e.wpmpFactory=function(t,e,r){return new i.WindowPostMessageProxy({processTrackingProperties:{addTrackingProperties:a.HttpPostMessage.addTrackingProperties,getTrackingProperties:a.HttpPostMessage.getTrackingProperties},isErrorMessage:a.HttpPostMessage.isErrorMessage,suppressWarnings:!0,name:t,logMessages:e,eventSourceOverrideWindow:r})},e.routerFactory=function(t){return new o.Router(t)}},220:function(t,e,r){var i=this&&this.__awaiter||function(t,e,r,i){return new(r||(r=Promise))((function(a,o){function n(t){try{s(i.next(t))}catch(t){o(t)}}function l(t){try{s(i.throw(t))}catch(t){o(t)}}function s(t){var e;t.done?a(t.value):(e=t.value,e instanceof r?e:new r((function(t){t(e)}))).then(n,l)}s((i=i.apply(t,e||[])).next())}))},a=this&&this.__generator||function(t,e){var r,i,a,o,n={label:0,sent:function(){if(1&a[0])throw a[1];return a[1]},trys:[],ops:[]};return o={next:l(0),throw:l(1),return:l(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function l(o){return function(l){return function(o){if(r)throw new TypeError("Generator is already executing.");for(;n;)try{if(r=1,i&&(a=2&o[0]?i.return:o[0]?i.throw||((a=i.return)&&a.call(i),0):i.next)&&!(a=a.call(i,o[1])).done)return a;switch(i=0,a&&(o=[2&o[0],a.value]),o[0]){case 0:case 1:a=o;break;case 4:return n.label++,{value:o[1],done:!1};case 5:n.label++,i=o[1],o=[0];continue;case 7:o=n.ops.pop(),n.trys.pop();continue;default:if(!((a=(a=n.trys).length>0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0?"&":"?";return t+(i+e+"=")+r},e.isSavedInternal=function(t,e,a){return r(this,void 0,void 0,(function(){return i(this,(function(r){switch(r.label){case 0:return r.trys.push([0,2,,3]),[4,t.get("/report/hasUnsavedChanges",{uid:e},a)];case 1:return[2,!r.sent().body];case 2:throw r.sent().body;case 3:return[2]}}))}))},e.isRDLEmbed=function(t){return t&&t.toLowerCase().indexOf("/rdlembed?")>=0},e.autoAuthInEmbedUrl=function(t){return t&&decodeURIComponent(t).toLowerCase().indexOf("autoauth=true")>=0},e.getRandomValue=l,e.getTimeDiffInMilliseconds=function(t,e){return Math.abs(t.getTime()-e.getTime())},e.isCreate=function(t){return"create"===t||"quickcreate"===t},e.validateEmbedUrl=function(t){if(t){var e=void 0;try{e=new URL(t.toLowerCase())}catch(t){return!1}return"https:"===e.protocol&&(a.test(e.hostname)||o.test(e.hostname))}}},23:function(t,e,r){var i,a=this&&this.__extends||(i=function(t,e){return i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},i(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}),o=this&&this.__awaiter||function(t,e,r,i){return new(r||(r=Promise))((function(a,o){function n(t){try{s(i.next(t))}catch(t){o(t)}}function l(t){try{s(i.throw(t))}catch(t){o(t)}}function s(t){var e;t.done?a(t.value):(e=t.value,e instanceof r?e:new r((function(t){t(e)}))).then(n,l)}s((i=i.apply(t,e||[])).next())}))},n=this&&this.__generator||function(t,e){var r,i,a,o,n={label:0,sent:function(){if(1&a[0])throw a[1];return a[1]},trys:[],ops:[]};return o={next:l(0),throw:l(1),return:l(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function l(o){return function(l){return function(o){if(r)throw new TypeError("Generator is already executing.");for(;n;)try{if(r=1,i&&(a=2&o[0]?i.return:o[0]?i.throw||((a=i.return)&&a.call(i),0):i.next)&&!(a=a.call(i,o[1])).done)return a;switch(i=0,a&&(o=[2&o[0],a.value]),o[0]){case 0:case 1:a=o;break;case 4:return n.label++,{value:o[1],done:!1};case 5:n.label++,i=o[1],o=[0];continue;case 7:o=n.ops.pop(),n.trys.pop();continue;default:if(!((a=(a=n.trys).length>0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]{var e;self,e=()=>(()=>{"use strict";var t={};return(()=>{var e=t;Object.defineProperty(e,"__esModule",{value:!0}),e.WindowPostMessageProxy=void 0;var r=function(){function t(e){void 0===e&&(e={processTrackingProperties:{addTrackingProperties:t.defaultAddTrackingProperties,getTrackingProperties:t.defaultGetTrackingProperties},isErrorMessage:t.defaultIsErrorMessage,receiveWindow:window,name:t.createRandomString()});var r=this;this.pendingRequestPromises={},this.addTrackingProperties=e.processTrackingProperties&&e.processTrackingProperties.addTrackingProperties||t.defaultAddTrackingProperties,this.getTrackingProperties=e.processTrackingProperties&&e.processTrackingProperties.getTrackingProperties||t.defaultGetTrackingProperties,this.isErrorMessage=e.isErrorMessage||t.defaultIsErrorMessage,this.receiveWindow=e.receiveWindow||window,this.name=e.name||t.createRandomString(),this.logMessages=e.logMessages||!1,this.eventSourceOverrideWindow=e.eventSourceOverrideWindow,this.suppressWarnings=e.suppressWarnings||!1,this.logMessages&&console.log("new WindowPostMessageProxy created with name: ".concat(this.name," receiving on window: ").concat(this.receiveWindow.document.title)),this.handlers=[],this.windowMessageHandler=function(t){return r.onMessageReceived(t)},this.start()}return t.defaultAddTrackingProperties=function(e,r){return e[t.messagePropertyName]=r,e},t.defaultGetTrackingProperties=function(e){return e[t.messagePropertyName]},t.defaultIsErrorMessage=function(t){return!!t.error},t.createDeferred=function(){var t={resolve:null,reject:null,promise:null},e=new Promise((function(e,r){t.resolve=e,t.reject=r}));return t.promise=e,t},t.createRandomString=function(){var t=window.crypto||window.msCrypto,e=new Uint32Array(1);return t.getRandomValues(e),e[0].toString(36).substring(1)},t.prototype.addHandler=function(t){this.handlers.push(t)},t.prototype.removeHandler=function(t){var e=this.handlers.indexOf(t);if(-1===e)throw new Error("You attempted to remove a handler but no matching handler was found.");this.handlers.splice(e,1)},t.prototype.start=function(){this.receiveWindow.addEventListener("message",this.windowMessageHandler)},t.prototype.stop=function(){this.receiveWindow.removeEventListener("message",this.windowMessageHandler)},t.prototype.postMessage=function(e,r,i){var a={id:t.createRandomString()};this.addTrackingProperties(r,a),console.log("".concat(this.name," Posting message:")),console.log(JSON.stringify(r,null," ")),console.log("target origin: ".concat(i)),e.postMessage(r,null!=i?i:"*");var o=t.createDeferred();return this.pendingRequestPromises[a.id]=o,o.promise},t.prototype.sendResponse=function(t,e,r,i){this.addTrackingProperties(e,r),this.logMessages&&(console.log("".concat(this.name," Sending response:")),console.log(JSON.stringify(e,null," "))),t.postMessage(e,null!=i?i:"*")},t.prototype.onMessageReceived=function(t){var e=this;this.logMessages&&(console.log("".concat(this.name," Received message:")),console.log("type: ".concat(t.type)),console.log(JSON.stringify(t.data,null," ")));var r=this.eventSourceOverrideWindow||t.source;if(r){var i=t.data;if("object"==typeof i){var a,o;try{a=this.getTrackingProperties(i)}catch(t){this.suppressWarnings||console.warn("Proxy(".concat(this.name,"): Error occurred when attempting to get tracking properties from incoming message:"),JSON.stringify(i,null," "),"Error: ",t)}if(a&&(o=this.pendingRequestPromises[a.id]),o){var n=!0;try{n=this.isErrorMessage(i)}catch(t){console.warn("Proxy(".concat(this.name,") Error occurred when trying to determine if message is consider an error response. Message: "),JSON.stringify(i,null,""),"Error: ",t)}n?o.reject(i):o.resolve(i),delete this.pendingRequestPromises[a.id]}else this.handlers.some((function(t){var o=!1;try{o=t.test(i)}catch(t){e.suppressWarnings||console.warn("Proxy(".concat(e.name,"): Error occurred when handler was testing incoming message:"),JSON.stringify(i,null," "),"Error: ",t)}if(o){var n=void 0;try{n=Promise.resolve(t.handle(i))}catch(t){e.suppressWarnings||console.warn("Proxy(".concat(e.name,"): Error occurred when handler was processing incoming message:"),JSON.stringify(i,null," "),"Error: ",t),n=Promise.resolve()}return n.then((function(t){if(!t){var o="Handler for message: ".concat(JSON.stringify(i,null," ")," did not return a response message. The default response message will be returned instead.");e.suppressWarnings||console.warn("Proxy(".concat(e.name,"): ").concat(o)),t={warning:o}}e.sendResponse(r,t,a)})),!0}}))||this.suppressWarnings||console.warn("Proxy(".concat(this.name,") did not handle message. Handlers: ").concat(this.handlers.length," Message: ").concat(JSON.stringify(i,null,""),"."))}else this.suppressWarnings||console.warn("Proxy(".concat(this.name,"): Received message that was not an object. Discarding message"))}},t.messagePropertyName="windowPostMessageProxy",t}();e.WindowPostMessageProxy=r})(),t})(),t.exports=e()}},e={};function r(i){var a=e[i];if(void 0!==a)return a.exports;var o=e[i]={exports:{}};return t[i].call(o.exports,o,o.exports,r),o.exports}var i={};return(()=>{var t=i;Object.defineProperty(t,"__esModule",{value:!0}),t.RelativeTimeFilterBuilder=t.RelativeDateFilterBuilder=t.TopNFilterBuilder=t.AdvancedFilterBuilder=t.BasicFilterBuilder=t.Create=t.QuickCreate=t.VisualDescriptor=t.Visual=t.Qna=t.Page=t.Embed=t.Tile=t.Dashboard=t.Report=t.models=t.factories=t.service=void 0;var e=r(149);t.models=e;var a=r(562);t.service=a;var o=r(357);t.factories=o;var n=r(125);Object.defineProperty(t,"Report",{enumerable:!0,get:function(){return n.Report}});var l=r(365);Object.defineProperty(t,"Dashboard",{enumerable:!0,get:function(){return l.Dashboard}});var s=r(43);Object.defineProperty(t,"Tile",{enumerable:!0,get:function(){return s.Tile}});var u=r(932);Object.defineProperty(t,"Embed",{enumerable:!0,get:function(){return u.Embed}});var d=r(220);Object.defineProperty(t,"Page",{enumerable:!0,get:function(){return d.Page}});var c=r(148);Object.defineProperty(t,"Qna",{enumerable:!0,get:function(){return c.Qna}});var p=r(23);Object.defineProperty(t,"Visual",{enumerable:!0,get:function(){return p.Visual}});var f=r(558);Object.defineProperty(t,"VisualDescriptor",{enumerable:!0,get:function(){return f.VisualDescriptor}});var h=r(714);Object.defineProperty(t,"QuickCreate",{enumerable:!0,get:function(){return h.QuickCreate}});var v=r(536);Object.defineProperty(t,"Create",{enumerable:!0,get:function(){return v.Create}});var y=r(567);Object.defineProperty(t,"BasicFilterBuilder",{enumerable:!0,get:function(){return y.BasicFilterBuilder}}),Object.defineProperty(t,"AdvancedFilterBuilder",{enumerable:!0,get:function(){return y.AdvancedFilterBuilder}}),Object.defineProperty(t,"TopNFilterBuilder",{enumerable:!0,get:function(){return y.TopNFilterBuilder}}),Object.defineProperty(t,"RelativeDateFilterBuilder",{enumerable:!0,get:function(){return y.RelativeDateFilterBuilder}}),Object.defineProperty(t,"RelativeTimeFilterBuilder",{enumerable:!0,get:function(){return y.RelativeTimeFilterBuilder}});var m=new a.Service(o.hpmFactory,o.wpmpFactory,o.routerFactory);window.powerbi&&window.powerBISDKGlobalServiceInstanceName?window[window.powerBISDKGlobalServiceInstanceName]=m:window.powerbi=m})(),i})())); \ No newline at end of file +!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,(()=>(()=>{var t={319:t=>{var e;self,e=()=>(()=>{"use strict";var t={};return(()=>{var e=t;Object.defineProperty(e,"__esModule",{value:!0}),e.HttpPostMessage=void 0;var r=function(){function t(t,e,r){void 0===e&&(e={}),this.defaultHeaders=e,this.defaultTargetWindow=r,this.windowPostMessageProxy=t}return t.addTrackingProperties=function(t,e){return t.headers=t.headers||{},e&&e.id&&(t.headers.id=e.id),t},t.getTrackingProperties=function(t){return{id:t.headers&&t.headers.id}},t.isErrorMessage=function(t){return"number"==typeof(t&&t.statusCode)&&!(200<=t.statusCode&&t.statusCode<300)},t.prototype.get=function(t,e,r,i){return void 0===e&&(e={}),void 0===r&&(r=this.defaultTargetWindow),this.send({method:"GET",url:t,headers:e},r,i)},t.prototype.post=function(t,e,r,i,a){return void 0===r&&(r={}),void 0===i&&(i=this.defaultTargetWindow),this.send({method:"POST",url:t,headers:r,body:e},i,a)},t.prototype.put=function(t,e,r,i,a){return void 0===r&&(r={}),void 0===i&&(i=this.defaultTargetWindow),this.send({method:"PUT",url:t,headers:r,body:e},i,a)},t.prototype.patch=function(t,e,r,i,a){return void 0===r&&(r={}),void 0===i&&(i=this.defaultTargetWindow),this.send({method:"PATCH",url:t,headers:r,body:e},i,a)},t.prototype.delete=function(t,e,r,i,a){return void 0===e&&(e=null),void 0===r&&(r={}),void 0===i&&(i=this.defaultTargetWindow),this.send({method:"DELETE",url:t,headers:r,body:e},i,a)},t.prototype.send=function(t,e,r){if(void 0===e&&(e=this.defaultTargetWindow),t.headers=this.assign({},this.defaultHeaders,t.headers),!e)throw new Error("target window is not provided. You must either provide the target window explicitly as argument to request, or specify default target window when constructing instance of this class.");return this.windowPostMessageProxy.postMessage(e,t,r)},t.prototype.assign=function(t){for(var e=[],r=1;r(()=>{var t=[function(t,e,r){var i,a=this&&this.__extends||(i=function(t,e){return i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},i(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.TextAlignment=e.CommonErrorCodes=e.BookmarksPlayMode=e.ExportDataType=e.QnaMode=e.PageNavigationPosition=e.BrowserPrintAdjustmentsMode=e.AggregateFunction=e.DataCacheMode=e.CredentialType=e.isPercentOfGrandTotal=e.isColumnAggr=e.isHierarchyLevelAggr=e.isHierarchyLevel=e.isColumn=e.isMeasure=e.getFilterType=e.isBasicFilterWithKeys=e.isFilterKeyColumnsTarget=e.HierarchyFilter=e.AdvancedFilter=e.TupleFilter=e.IdentityFilter=e.BasicFilterWithKeys=e.BasicFilter=e.RelativeTimeFilter=e.RelativeDateFilter=e.TopNFilter=e.IncludeExcludeFilter=e.NotSupportedFilter=e.Filter=e.RelativeDateOperators=e.RelativeDateFilterTimeUnit=e.FilterType=e.FiltersLevel=e.FiltersOperations=e.MenuLocation=e.ContrastMode=e.TokenType=e.ViewMode=e.Permissions=e.SectionVisibility=e.ReportAlignment=e.HyperlinkClickBehavior=e.LayoutType=e.VisualContainerDisplayMode=e.BackgroundType=e.DisplayOption=e.PageSizeType=e.TraceType=void 0,e.validateVisualHeader=e.validateExportDataRequest=e.validateQnaInterpretInputData=e.validateLoadQnaConfiguration=e.validateSaveAsParameters=e.validateUpdateFiltersRequest=e.validateFilter=e.validatePage=e.validateTileLoad=e.validateDashboardLoad=e.validateQuickCreate=e.validateCreateReport=e.validatePaginatedReportLoad=e.validateReportLoad=e.validateMenuGroupExtension=e.validateExtension=e.validateCustomPageSize=e.validateVisualizationsPane=e.validateSyncSlicersPane=e.validateSelectionPane=e.validatePageNavigationPane=e.validateFieldsPane=e.validateFiltersPane=e.validateBookmarksPane=e.validatePanes=e.validateSettings=e.validateCaptureBookmarkRequest=e.validateApplyBookmarkStateRequest=e.validateApplyBookmarkByNameRequest=e.validateAddBookmarkRequest=e.validatePlayBookmarkRequest=e.validateSlicerState=e.validateSlicer=e.validateVisualSelector=e.isIExtensionArray=e.isIExtensions=e.isGroupedMenuExtension=e.isFlatMenuExtension=e.isReportFiltersArray=e.isOnLoadFilters=e.VisualDataRoleKindPreference=e.VisualDataRoleKind=e.CommandDisplayOption=e.SlicerTargetSelector=e.VisualTypeSelector=e.VisualSelector=e.PageSelector=e.Selector=e.SortDirection=e.LegendPosition=void 0,e.validatePrintSettings=e.validateZoomLevel=e.validateCustomTheme=e.validateCommandsSettings=e.validateVisualSettings=void 0;var o,n,l,s,u,d,c,p,f,h,v,y,m,V,g,b,w,P,S,O=r(1);(S=e.TraceType||(e.TraceType={}))[S.Information=0]="Information",S[S.Verbose=1]="Verbose",S[S.Warning=2]="Warning",S[S.Error=3]="Error",S[S.ExpectedError=4]="ExpectedError",S[S.UnexpectedError=5]="UnexpectedError",S[S.Fatal=6]="Fatal",(P=e.PageSizeType||(e.PageSizeType={}))[P.Widescreen=0]="Widescreen",P[P.Standard=1]="Standard",P[P.Cortana=2]="Cortana",P[P.Letter=3]="Letter",P[P.Custom=4]="Custom",P[P.Mobile=5]="Mobile",(w=e.DisplayOption||(e.DisplayOption={}))[w.FitToPage=0]="FitToPage",w[w.FitToWidth=1]="FitToWidth",w[w.ActualSize=2]="ActualSize",(b=e.BackgroundType||(e.BackgroundType={}))[b.Default=0]="Default",b[b.Transparent=1]="Transparent",(g=e.VisualContainerDisplayMode||(e.VisualContainerDisplayMode={}))[g.Visible=0]="Visible",g[g.Hidden=1]="Hidden",(V=e.LayoutType||(e.LayoutType={}))[V.Master=0]="Master",V[V.Custom=1]="Custom",V[V.MobilePortrait=2]="MobilePortrait",V[V.MobileLandscape=3]="MobileLandscape",(m=e.HyperlinkClickBehavior||(e.HyperlinkClickBehavior={}))[m.Navigate=0]="Navigate",m[m.NavigateAndRaiseEvent=1]="NavigateAndRaiseEvent",m[m.RaiseEvent=2]="RaiseEvent",(y=e.ReportAlignment||(e.ReportAlignment={}))[y.Left=0]="Left",y[y.Center=1]="Center",y[y.Right=2]="Right",y[y.None=3]="None",(v=e.SectionVisibility||(e.SectionVisibility={}))[v.AlwaysVisible=0]="AlwaysVisible",v[v.HiddenInViewMode=1]="HiddenInViewMode",(h=e.Permissions||(e.Permissions={}))[h.Read=0]="Read",h[h.ReadWrite=1]="ReadWrite",h[h.Copy=2]="Copy",h[h.Create=4]="Create",h[h.All=7]="All",(f=e.ViewMode||(e.ViewMode={}))[f.View=0]="View",f[f.Edit=1]="Edit",(p=e.TokenType||(e.TokenType={}))[p.Aad=0]="Aad",p[p.Embed=1]="Embed",(c=e.ContrastMode||(e.ContrastMode={}))[c.None=0]="None",c[c.HighContrast1=1]="HighContrast1",c[c.HighContrast2=2]="HighContrast2",c[c.HighContrastBlack=3]="HighContrastBlack",c[c.HighContrastWhite=4]="HighContrastWhite",(d=e.MenuLocation||(e.MenuLocation={}))[d.Bottom=0]="Bottom",d[d.Top=1]="Top",(u=e.FiltersOperations||(e.FiltersOperations={}))[u.RemoveAll=0]="RemoveAll",u[u.ReplaceAll=1]="ReplaceAll",u[u.Add=2]="Add",u[u.Replace=3]="Replace",(s=e.FiltersLevel||(e.FiltersLevel={}))[s.Report=0]="Report",s[s.Page=1]="Page",s[s.Visual=2]="Visual",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",t[t.Identity=8]="Identity",t[t.Hierarchy=9]="Hierarchy"}(o=e.FilterType||(e.FilterType={})),(l=e.RelativeDateFilterTimeUnit||(e.RelativeDateFilterTimeUnit={}))[l.Days=0]="Days",l[l.Weeks=1]="Weeks",l[l.CalendarWeeks=2]="CalendarWeeks",l[l.Months=3]="Months",l[l.CalendarMonths=4]="CalendarMonths",l[l.Years=5]="Years",l[l.CalendarYears=6]="CalendarYears",l[l.Minutes=7]="Minutes",l[l.Hours=8]="Hours",(n=e.RelativeDateOperators||(e.RelativeDateOperators={}))[n.InLast=0]="InLast",n[n.InThis=1]="InThis",n[n.InNext=2]="InNext";var _=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=_;var T=function(t){function e(r,i,a){var n=t.call(this,r,o.Unknown)||this;return n.message=i,n.notSupportedTypeName=a,n.schemaUrl=e.schemaUrl,n}return a(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}(_);e.NotSupportedFilter=T;var E=function(t){function e(r,i,a){var n=t.call(this,r,o.IncludeExclude)||this;return n.values=a,n.isExclude=i,n.schemaUrl=e.schemaUrl,n}return a(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}(_);e.IncludeExcludeFilter=E;var F=function(t){function e(r,i,a,n){var l=t.call(this,r,o.TopN)||this;return l.operator=i,l.itemCount=a,l.schemaUrl=e.schemaUrl,l.orderBy=n,l}return a(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}(_);e.TopNFilter=F;var C=function(t){function e(r,i,a,n,l){var s=t.call(this,r,o.RelativeDate)||this;return s.operator=i,s.timeUnitsCount=a,s.timeUnitType=n,s.includeToday=l,s.schemaUrl=e.schemaUrl,s}return a(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}(_);e.RelativeDateFilter=C;var R=function(t){function e(r,i,a,n){var l=t.call(this,r,o.RelativeTime)||this;return l.operator=i,l.timeUnitsCount=a,l.timeUnitType=n,l.schemaUrl=e.schemaUrl,l}return a(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}(_);e.RelativeTimeFilter=R;var k=function(t){function e(r,i){for(var a=[],n=2;n0&&!a)throw new Error("You should pass the values to be filtered for each key. You passed: no values and ".concat(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,s=o.keyValues;l2)throw new Error("AdvancedFilters may not have more than two conditions. You passed: ".concat(a.length));if(1===l.length&&"And"!==i)throw new Error('Logical Operator must be "And" when there is only one condition provided');return s.conditions=l,s}return a(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}(_);e.AdvancedFilter=M;var I,L,q,D,N,B,U,H,W,z=function(t){function e(r,i){var a=t.call(this,r,o.Hierarchy)||this;return a.schemaUrl=e.schemaUrl,a.hierarchyData=i,a}return a(e,t),e.prototype.toJSON=function(){var e=t.prototype.toJSON.call(this);return e.hierarchyData=this.hierarchyData,e.target=this.target,e},e.schemaUrl="http://powerbi.com/product/schema#hierarchy",e}(_);function Q(t){if(t.filterType)return t.filterType;var e=t,r=t;return"string"==typeof e.operator&&Array.isArray(e.values)?o.Basic:"string"==typeof r.logicalOperator&&Array.isArray(r.conditions)?o.Advanced:o.Unknown}function G(t){return!(!t.table||!t.column||t.aggregationFunction)}e.HierarchyFilter=z,e.isFilterKeyColumnsTarget=function(t){return G(t)&&!!t.keys},e.isBasicFilterWithKeys=function(t){return Q(t)===o.Basic&&!!t.keyValues},e.getFilterType=Q,e.isMeasure=function(t){return void 0!==t.table&&void 0!==t.measure},e.isColumn=G,e.isHierarchyLevel=function(t){return!(!(t.table&&t.hierarchy&&t.hierarchyLevel)||t.aggregationFunction)},e.isHierarchyLevelAggr=function(t){return!!(t.table&&t.hierarchy&&t.hierarchyLevel&&t.aggregationFunction)},e.isColumnAggr=function(t){return!!(t.table&&t.column&&t.aggregationFunction)},e.isPercentOfGrandTotal=function(t){return!!t.percentOfGrandTotal},(W=e.CredentialType||(e.CredentialType={}))[W.NoConnection=0]="NoConnection",W[W.OnBehalfOf=1]="OnBehalfOf",W[W.Anonymous=2]="Anonymous",(H=e.DataCacheMode||(e.DataCacheMode={}))[H.Import=0]="Import",H[H.DirectQuery=1]="DirectQuery",(U=e.AggregateFunction||(e.AggregateFunction={}))[U.Default=1]="Default",U[U.None=2]="None",U[U.Sum=3]="Sum",U[U.Min=4]="Min",U[U.Max=5]="Max",U[U.Count=6]="Count",U[U.Average=7]="Average",U[U.DistinctCount=8]="DistinctCount",(B=e.BrowserPrintAdjustmentsMode||(e.BrowserPrintAdjustmentsMode={}))[B.Default=0]="Default",B[B.NoAdjustments=1]="NoAdjustments",(N=e.PageNavigationPosition||(e.PageNavigationPosition={}))[N.Bottom=0]="Bottom",N[N.Left=1]="Left",(D=e.QnaMode||(e.QnaMode={}))[D.Interactive=0]="Interactive",D[D.ResultOnly=1]="ResultOnly",(q=e.ExportDataType||(e.ExportDataType={}))[q.Summarized=0]="Summarized",q[q.Underlying=1]="Underlying",(L=e.BookmarksPlayMode||(e.BookmarksPlayMode={}))[L.Off=0]="Off",L[L.Presentation=1]="Presentation",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"},(I=e.SortDirection||(e.SortDirection={}))[I.Ascending=1]="Ascending",I[I.Descending=2]="Descending";var J=function(){function t(t){this.$schema=t}return t.prototype.toJSON=function(){return{$schema:this.$schema}},t}();e.Selector=J;var K=function(t){function e(r){var i=t.call(this,e.schemaUrl)||this;return i.pageName=r,i}return a(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}(J);e.PageSelector=K;var Y=function(t){function e(r){var i=t.call(this,e.schemaUrl)||this;return i.visualName=r,i}return a(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}(J);e.VisualSelector=Y;var $=function(t){function e(e){var r=t.call(this,Y.schemaUrl)||this;return r.visualType=e,r}return a(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}(J);e.VisualTypeSelector=$;var Z,X,tt,et=function(t){function e(e){var r=t.call(this,Y.schemaUrl)||this;return r.target=e,r}return a(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}(J);function rt(t){return Array.isArray(t)}function it(t){return t&&!!t.groupName}function at(t){return Array.isArray(t)}function ot(t){var e=t.message;return e||(e="".concat(t.path," is invalid. Not meeting ").concat(t.keyword," constraint")),{message:e}}e.SlicerTargetSelector=et,(tt=e.CommandDisplayOption||(e.CommandDisplayOption={}))[tt.Enabled=0]="Enabled",tt[tt.Disabled=1]="Disabled",tt[tt.Hidden=2]="Hidden",(X=e.VisualDataRoleKind||(e.VisualDataRoleKind={}))[X.Grouping=0]="Grouping",X[X.Measure=1]="Measure",X[X.GroupingOrMeasure=2]="GroupingOrMeasure",(Z=e.VisualDataRoleKindPreference||(e.VisualDataRoleKindPreference={}))[Z.Measure=0]="Measure",Z[Z.Grouping=1]="Grouping",e.isOnLoadFilters=function(t){return t&&!rt(t)},e.isReportFiltersArray=rt,e.isFlatMenuExtension=function(t){return t&&!it(t)},e.isGroupedMenuExtension=it,e.isIExtensions=function(t){return t&&!at(t)},e.isIExtensionArray=at,e.validateVisualSelector=function(t){var e=O.Validators.visualSelectorValidator.validate(t);return e?e.map(ot):void 0},e.validateSlicer=function(t){var e=O.Validators.slicerValidator.validate(t);return e?e.map(ot):void 0},e.validateSlicerState=function(t){var e=O.Validators.slicerStateValidator.validate(t);return e?e.map(ot):void 0},e.validatePlayBookmarkRequest=function(t){var e=O.Validators.playBookmarkRequestValidator.validate(t);return e?e.map(ot):void 0},e.validateAddBookmarkRequest=function(t){var e=O.Validators.addBookmarkRequestValidator.validate(t);return e?e.map(ot):void 0},e.validateApplyBookmarkByNameRequest=function(t){var e=O.Validators.applyBookmarkByNameRequestValidator.validate(t);return e?e.map(ot):void 0},e.validateApplyBookmarkStateRequest=function(t){var e=O.Validators.applyBookmarkStateRequestValidator.validate(t);return e?e.map(ot):void 0},e.validateCaptureBookmarkRequest=function(t){var e=O.Validators.captureBookmarkRequestValidator.validate(t);return e?e.map(ot):void 0},e.validateSettings=function(t){var e=O.Validators.settingsValidator.validate(t);return e?e.map(ot):void 0},e.validatePanes=function(t){var e=O.Validators.reportPanesValidator.validate(t);return e?e.map(ot):void 0},e.validateBookmarksPane=function(t){var e=O.Validators.bookmarksPaneValidator.validate(t);return e?e.map(ot):void 0},e.validateFiltersPane=function(t){var e=O.Validators.filtersPaneValidator.validate(t);return e?e.map(ot):void 0},e.validateFieldsPane=function(t){var e=O.Validators.fieldsPaneValidator.validate(t);return e?e.map(ot):void 0},e.validatePageNavigationPane=function(t){var e=O.Validators.pageNavigationPaneValidator.validate(t);return e?e.map(ot):void 0},e.validateSelectionPane=function(t){var e=O.Validators.selectionPaneValidator.validate(t);return e?e.map(ot):void 0},e.validateSyncSlicersPane=function(t){var e=O.Validators.syncSlicersPaneValidator.validate(t);return e?e.map(ot):void 0},e.validateVisualizationsPane=function(t){var e=O.Validators.visualizationsPaneValidator.validate(t);return e?e.map(ot):void 0},e.validateCustomPageSize=function(t){var e=O.Validators.customPageSizeValidator.validate(t);return e?e.map(ot):void 0},e.validateExtension=function(t){var e=O.Validators.extensionValidator.validate(t);return e?e.map(ot):void 0},e.validateMenuGroupExtension=function(t){var e=O.Validators.menuGroupExtensionValidator.validate(t);return e?e.map(ot):void 0},e.validateReportLoad=function(t){var e=O.Validators.reportLoadValidator.validate(t);return e?e.map(ot):void 0},e.validatePaginatedReportLoad=function(t){var e=O.Validators.paginatedReportLoadValidator.validate(t);return e?e.map(ot):void 0},e.validateCreateReport=function(t){var e=O.Validators.reportCreateValidator.validate(t);return e?e.map(ot):void 0},e.validateQuickCreate=function(t){var e=O.Validators.quickCreateValidator.validate(t);return e?e.map(ot):void 0},e.validateDashboardLoad=function(t){var e=O.Validators.dashboardLoadValidator.validate(t);return e?e.map(ot):void 0},e.validateTileLoad=function(t){var e=O.Validators.tileLoadValidator.validate(t);return e?e.map(ot):void 0},e.validatePage=function(t){var e=O.Validators.pageValidator.validate(t);return e?e.map(ot):void 0},e.validateFilter=function(t){var e=O.Validators.filterValidator.validate(t);return e?e.map(ot):void 0},e.validateUpdateFiltersRequest=function(t){var e=O.Validators.updateFiltersRequestValidator.validate(t);return e?e.map(ot):void 0},e.validateSaveAsParameters=function(t){var e=O.Validators.saveAsParametersValidator.validate(t);return e?e.map(ot):void 0},e.validateLoadQnaConfiguration=function(t){var e=O.Validators.loadQnaValidator.validate(t);return e?e.map(ot):void 0},e.validateQnaInterpretInputData=function(t){var e=O.Validators.qnaInterpretInputDataValidator.validate(t);return e?e.map(ot):void 0},e.validateExportDataRequest=function(t){var e=O.Validators.exportDataRequestValidator.validate(t);return e?e.map(ot):void 0},e.validateVisualHeader=function(t){var e=O.Validators.visualHeaderValidator.validate(t);return e?e.map(ot):void 0},e.validateVisualSettings=function(t){var e=O.Validators.visualSettingsValidator.validate(t);return e?e.map(ot):void 0},e.validateCommandsSettings=function(t){var e=O.Validators.commandsSettingsValidator.validate(t);return e?e.map(ot):void 0},e.validateCustomTheme=function(t){var e=O.Validators.customThemeValidator.validate(t);return e?e.map(ot):void 0},e.validateZoomLevel=function(t){var e=O.Validators.zoomLevelValidator.validate(t);return e?e.map(ot):void 0},e.validatePrintSettings=function(t){var e=O.Validators.printSettingsValidator.validate(t);return e?e.map(ot):void 0}},(t,e,r)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.Validators=void 0;var i=r(2),a=r(5),o=r(6),n=r(7),l=r(8),s=r(9),u=r(10),d=r(11),c=r(12),p=r(13),f=r(14),h=r(15),v=r(16),y=r(17),m=r(18),V=r(19),g=r(20),b=r(21),w=r(22),P=r(23),S=r(24),O=r(25),_=r(26),T=r(27),E=r(28),F=r(29),C=r(4),R=r(30),k=r(31),x=r(32),A=r(33),j=r(34);e.Validators={addBookmarkRequestValidator:new a.AddBookmarkRequestValidator,advancedFilterTypeValidator:new C.EnumValidator([0]),advancedFilterValidator:new c.AdvancedFilterValidator,anyArrayValidator:new C.ArrayValidator([new _.AnyOfValidator([new C.StringValidator,new C.NumberValidator,new C.BooleanValidator])]),anyFilterValidator:new _.AnyOfValidator([new c.BasicFilterValidator,new c.AdvancedFilterValidator,new c.IncludeExcludeFilterValidator,new c.NotSupportedFilterValidator,new c.RelativeDateFilterValidator,new c.TopNFilterValidator,new c.RelativeTimeFilterValidator,new c.HierarchyFilterValidator]),anyValueValidator:new _.AnyOfValidator([new C.StringValidator,new C.NumberValidator,new C.BooleanValidator]),actionBarValidator:new i.ActionBarValidator,statusBarValidator:new i.StatusBarValidator,applyBookmarkByNameRequestValidator:new a.ApplyBookmarkByNameRequestValidator,applyBookmarkStateRequestValidator:new a.ApplyBookmarkStateRequestValidator,applyBookmarkValidator:new _.AnyOfValidator([new a.ApplyBookmarkByNameRequestValidator,new a.ApplyBookmarkStateRequestValidator]),backgroundValidator:new C.EnumValidator([0,1]),basicFilterTypeValidator:new C.EnumValidator([1]),basicFilterValidator:new c.BasicFilterValidator,booleanArrayValidator:new C.BooleanArrayValidator,booleanValidator:new C.BooleanValidator,bookmarksPaneValidator:new h.BookmarksPaneValidator,captureBookmarkOptionsValidator:new a.CaptureBookmarkOptionsValidator,captureBookmarkRequestValidator:new a.CaptureBookmarkRequestValidator,columnSchemaArrayValidator:new C.ArrayValidator([new k.ColumnSchemaValidator]),commandDisplayOptionValidator:new C.EnumValidator([0,1,2]),commandExtensionSelectorValidator:new _.AnyOfValidator([new b.VisualSelectorValidator,new b.VisualTypeSelectorValidator]),commandExtensionArrayValidator:new C.ArrayValidator([new d.CommandExtensionValidator]),commandExtensionValidator:new d.CommandExtensionValidator,commandsSettingsArrayValidator:new C.ArrayValidator([new o.CommandsSettingsValidator]),commandsSettingsValidator:new o.CommandsSettingsValidator,conditionItemValidator:new c.ConditionItemValidator,contrastModeValidator:new C.EnumValidator([0,1,2,3,4]),credentialDetailsValidator:new F.MapValidator([new C.StringValidator],[new C.StringValidator]),credentialsValidator:new k.CredentialsValidator,credentialTypeValidator:new C.EnumValidator([0,1,2]),customLayoutDisplayOptionValidator:new C.EnumValidator([0,1,2]),customLayoutValidator:new p.CustomLayoutValidator,customPageSizeValidator:new f.CustomPageSizeValidator,customThemeValidator:new n.CustomThemeValidator,dashboardLoadValidator:new l.DashboardLoadValidator,dataCacheModeValidator:new C.EnumValidator([0,1]),datasetBindingValidator:new s.DatasetBindingValidator,datasetCreateConfigValidator:new k.DatasetCreateConfigValidator,datasourceConnectionConfigValidator:new k.DatasourceConnectionConfigValidator,displayStateModeValidator:new C.EnumValidator([0,1]),displayStateValidator:new p.DisplayStateValidator,exportDataRequestValidator:new u.ExportDataRequestValidator,extensionArrayValidator:new C.ArrayValidator([new d.ExtensionValidator]),extensionsValidator:new _.AnyOfValidator([new C.ArrayValidator([new d.ExtensionValidator]),new d.ExtensionsValidator]),extensionPointsValidator:new d.ExtensionPointsValidator,extensionValidator:new d.ExtensionValidator,fieldForbiddenValidator:new T.FieldForbiddenValidator,fieldRequiredValidator:new E.FieldRequiredValidator,fieldsPaneValidator:new h.FieldsPaneValidator,filterColumnTargetValidator:new c.FilterColumnTargetValidator,filterDisplaySettingsValidator:new c.FilterDisplaySettingsValidator,filterConditionsValidator:new C.ArrayValidator([new c.ConditionItemValidator]),filterHierarchyTargetValidator:new c.FilterHierarchyTargetValidator,filterMeasureTargetValidator:new c.FilterMeasureTargetValidator,filterTargetValidator:new _.AnyOfValidator([new c.FilterColumnTargetValidator,new c.FilterHierarchyTargetValidator,new c.FilterMeasureTargetValidator,new C.ArrayValidator([new _.AnyOfValidator([new c.FilterColumnTargetValidator,new c.FilterHierarchyTargetValidator,new c.FilterMeasureTargetValidator,new c.FilterKeyColumnsTargetValidator,new c.FilterKeyHierarchyTargetValidator])])]),filterValidator:new c.FilterValidator,filterTypeValidator:new C.EnumValidator([0,1,2,3,4,5,6,7,9]),filtersArrayValidator:new C.ArrayValidator([new c.FilterValidator]),filtersOperationsUpdateValidator:new C.EnumValidator([1,2,3]),filtersOperationsRemoveAllValidator:new C.EnumValidator([0]),filtersPaneValidator:new h.FiltersPaneValidator,hyperlinkClickBehaviorValidator:new C.EnumValidator([0,1,2]),includeExcludeFilterValidator:new c.IncludeExcludeFilterValidator,includeExludeFilterTypeValidator:new C.EnumValidator([3]),hierarchyFilterTypeValidator:new C.EnumValidator([9]),hierarchyFilterValuesValidator:new C.ArrayValidator([new c.HierarchyFilterNodeValidator]),layoutTypeValidator:new C.EnumValidator([0,1,2,3]),loadQnaValidator:new v.LoadQnaValidator,menuExtensionValidator:new _.AnyOfValidator([new d.FlatMenuExtensionValidator,new d.GroupedMenuExtensionValidator]),menuGroupExtensionArrayValidator:new C.ArrayValidator([new d.MenuGroupExtensionValidator]),menuGroupExtensionValidator:new d.MenuGroupExtensionValidator,menuLocationValidator:new C.EnumValidator([0,1]),notSupportedFilterTypeValidator:new C.EnumValidator([2]),notSupportedFilterValidator:new c.NotSupportedFilterValidator,numberArrayValidator:new C.NumberArrayValidator,numberValidator:new C.NumberValidator,onLoadFiltersBaseValidator:new _.AnyOfValidator([new c.OnLoadFiltersBaseValidator,new c.OnLoadFiltersBaseRemoveOperationValidator]),pageLayoutValidator:new F.MapValidator([new C.StringValidator],[new p.VisualLayoutValidator]),pageNavigationPaneValidator:new h.PageNavigationPaneValidator,pageNavigationPositionValidator:new C.EnumValidator([0,1]),pageSizeTypeValidator:new C.EnumValidator([0,1,2,3,4,5]),pageSizeValidator:new f.PageSizeValidator,pageValidator:new f.PageValidator,pageViewFieldValidator:new f.PageViewFieldValidator,pagesLayoutValidator:new F.MapValidator([new C.StringValidator],[new p.PageLayoutValidator]),paginatedReportCommandsValidator:new o.PaginatedReportCommandsValidator,paginatedReportDatasetBindingArrayValidator:new C.ArrayValidator([new j.PaginatedReportDatasetBindingValidator]),paginatedReportLoadValidator:new V.PaginatedReportLoadValidator,paginatedReportsettingsValidator:new w.PaginatedReportSettingsValidator,parameterValuesArrayValidator:new C.ArrayValidator([new V.ReportParameterFieldsValidator]),parametersPanelValidator:new R.ParametersPanelValidator,permissionsValidator:new C.EnumValidator([0,1,2,4,7]),playBookmarkRequestValidator:new a.PlayBookmarkRequestValidator,printSettingsValidator:new A.PrintSettingsValidator,qnaInterpretInputDataValidator:new v.QnaInterpretInputDataValidator,qnaPanesValidator:new h.QnaPanesValidator,qnaSettingValidator:new v.QnaSettingsValidator,quickCreateValidator:new x.QuickCreateValidator,rawDataValidator:new C.ArrayValidator([new C.ArrayValidator([new C.StringValidator])]),relativeDateFilterOperatorValidator:new C.EnumValidator([0,1,2]),relativeDateFilterTimeUnitTypeValidator:new C.EnumValidator([0,1,2,3,4,5,6]),relativeDateFilterTypeValidator:new C.EnumValidator([4]),relativeDateFilterValidator:new c.RelativeDateFilterValidator,relativeDateTimeFilterTypeValidator:new C.EnumValidator([4,7]),relativeDateTimeFilterUnitTypeValidator:new C.EnumValidator([0,1,2,3,4,5,6,7,8]),relativeTimeFilterTimeUnitTypeValidator:new C.EnumValidator([7,8]),relativeTimeFilterTypeValidator:new C.EnumValidator([7]),relativeTimeFilterValidator:new c.RelativeTimeFilterValidator,reportBarsValidator:new i.ReportBarsValidator,reportCreateValidator:new y.ReportCreateValidator,reportLoadFiltersValidator:new _.AnyOfValidator([new C.ArrayValidator([new c.FilterValidator]),new c.OnLoadFiltersValidator]),reportLoadValidator:new m.ReportLoadValidator,reportPanesValidator:new h.ReportPanesValidator,saveAsParametersValidator:new g.SaveAsParametersValidator,selectionPaneValidator:new h.SelectionPaneValidator,settingsValidator:new w.SettingsValidator,singleCommandSettingsValidator:new o.SingleCommandSettingsValidator,slicerSelectorValidator:new _.AnyOfValidator([new b.VisualSelectorValidator,new b.SlicerTargetSelectorValidator]),slicerStateValidator:new P.SlicerStateValidator,slicerTargetValidator:new _.AnyOfValidator([new c.FilterColumnTargetValidator,new c.FilterHierarchyTargetValidator,new c.FilterMeasureTargetValidator,new c.FilterKeyColumnsTargetValidator,new c.FilterKeyHierarchyTargetValidator]),slicerValidator:new P.SlicerValidator,stringArrayValidator:new C.StringArrayValidator,stringValidator:new C.StringValidator,syncSlicersPaneValidator:new h.SyncSlicersPaneValidator,tableDataArrayValidator:new C.ArrayValidator([new k.TableDataValidator]),tableSchemaListValidator:new C.ArrayValidator([new k.TableSchemaValidator]),tileLoadValidator:new S.TileLoadValidator,tokenTypeValidator:new C.EnumValidator([0,1]),topNFilterTypeValidator:new C.EnumValidator([5]),topNFilterValidator:new c.TopNFilterValidator,updateFiltersRequestValidator:new _.AnyOfValidator([new c.UpdateFiltersRequestValidator,new c.RemoveFiltersRequestValidator]),viewModeValidator:new C.EnumValidator([0,1]),visualCommandSelectorValidator:new _.AnyOfValidator([new b.VisualSelectorValidator,new b.VisualTypeSelectorValidator]),visualHeaderSelectorValidator:new _.AnyOfValidator([new b.VisualSelectorValidator,new b.VisualTypeSelectorValidator]),visualHeaderSettingsValidator:new O.VisualHeaderSettingsValidator,visualHeaderValidator:new O.VisualHeaderValidator,visualHeadersValidator:new C.ArrayValidator([new O.VisualHeaderValidator]),visualizationsPaneValidator:new h.VisualizationsPaneValidator,visualLayoutValidator:new p.VisualLayoutValidator,visualSelectorValidator:new b.VisualSelectorValidator,visualSettingsValidator:new O.VisualSettingsValidator,visualTypeSelectorValidator:new b.VisualTypeSelectorValidator,zoomLevelValidator:new C.RangeValidator(.25,4)}},function(t,e,r){var i,a=this&&this.__extends||(i=function(t,e){return i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},i(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.StatusBarValidator=e.ActionBarValidator=e.ReportBarsValidator=void 0;var o=r(3),n=r(4),l=r(1),s=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return a(e,t),e.prototype.validate=function(e,r,i){if(null==e)return null;var a=t.prototype.validate.call(this,e,r,i);if(a)return a;var n=[{field:"actionBar",validators:[l.Validators.actionBarValidator]},{field:"statusBar",validators:[l.Validators.statusBarValidator]}];return new o.MultipleFieldsValidator(n).validate(e,r,i)},e}(n.ObjectValidator);e.ReportBarsValidator=s;var u=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return a(e,t),e.prototype.validate=function(e,r,i){if(null==e)return null;var a=t.prototype.validate.call(this,e,r,i);if(a)return a;var n=[{field:"visible",validators:[l.Validators.booleanValidator]}];return new o.MultipleFieldsValidator(n).validate(e,r,i)},e}(n.ObjectValidator);e.ActionBarValidator=u;var d=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return a(e,t),e.prototype.validate=function(e,r,i){if(null==e)return null;var a=t.prototype.validate.call(this,e,r,i);if(a)return a;var n=[{field:"visible",validators:[l.Validators.booleanValidator]}];return new o.MultipleFieldsValidator(n).validate(e,r,i)},e}(n.ObjectValidator);e.StatusBarValidator=d},(t,e)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.MultipleFieldsValidator=void 0;var r=function(){function t(t){this.fieldValidatorsPairs=t}return t.prototype.validate=function(t,e,r){if(!this.fieldValidatorsPairs)return null;for(var i=e?e+"."+r:r,a=0,o=this.fieldValidatorsPairs;athis.maxValue||e{Object.defineProperty(e,"__esModule",{value:!0}),e.AnyOfValidator=void 0;var r=function(){function t(t){this.validators=t}return t.prototype.validate=function(t,e,r){if(null==t)return null;for(var i=!1,a=0,o=this.validators;a{Object.defineProperty(e,"__esModule",{value:!0}),e.FieldForbiddenValidator=void 0;var r=function(){function t(){}return t.prototype.validate=function(t,e,r){return void 0!==t?[{message:r+" is forbidden",path:(e?e+".":"")+r,keyword:"forbidden"}]:null},t}();e.FieldForbiddenValidator=r},(t,e)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.FieldRequiredValidator=void 0;var r=function(){function t(){}return t.prototype.validate=function(t,e,r){return null==t?[{message:r+" is required",path:(e?e+".":"")+r,keyword:"required"}]:null},t}();e.FieldRequiredValidator=r},function(t,e,r){var i,a=this&&this.__extends||(i=function(t,e){return i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},i(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.MapValidator=void 0;var o=function(t){function e(e,r){var i=t.call(this)||this;return i.keyValidators=e,i.valueValidators=r,i}return a(e,t),e.prototype.validate=function(e,r,i){if(null==e)return null;var a=t.prototype.validate.call(this,e,r,i);if(a)return a;for(var o in e)if(e.hasOwnProperty(o)){for(var n=(r?r+".":"")+i+"."+o,l=0,s=this.keyValidators;l2&&"[]"===n.slice(l-2)&&(s=!0,r[n=n.slice(0,l-2)]||(r[n]=[])),a=o[1]?g(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(-1!==(i=t.indexOf("?"))){var l=t.substr(i+1,t.length);t=t.substr(0,i),o=this.parseQueryString(l)}for("/"!==(t=decodeURI(t)).charAt(0)&&(t="/"+t),(e=t.length)>1&&"/"===t.charAt(e-1)&&(t=t.substr(0,e-1),n=!0),r=0;r{Object.defineProperty(e,"__esModule",{value:!0}),e.FilterBuilder=void 0;var r=function(){function t(){}return t.prototype.withTargetObject=function(t){return this.target=t,this},t.prototype.withColumnTarget=function(t,e){return this.target={table:t,column:e},this},t.prototype.withMeasureTarget=function(t,e){return this.target={table:t,measure:e},this},t.prototype.withHierarchyLevelTarget=function(t,e,r){return this.target={table:t,hierarchy:e,hierarchyLevel:r},this},t.prototype.withColumnAggregation=function(t,e,r){return this.target={table:t,column:e,aggregationFunction:r},this},t.prototype.withHierarchyLevelAggregationTarget=function(t,e,r,i){return this.target={table:t,hierarchy:e,hierarchyLevel:r,aggregationFunction:i},this},t}();e.FilterBuilder=r},567:(t,e,r)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.RelativeTimeFilterBuilder=e.RelativeDateFilterBuilder=e.TopNFilterBuilder=e.AdvancedFilterBuilder=e.BasicFilterBuilder=void 0;var i=r(153);Object.defineProperty(e,"BasicFilterBuilder",{enumerable:!0,get:function(){return i.BasicFilterBuilder}});var a=r(674);Object.defineProperty(e,"AdvancedFilterBuilder",{enumerable:!0,get:function(){return a.AdvancedFilterBuilder}});var o=r(664);Object.defineProperty(e,"TopNFilterBuilder",{enumerable:!0,get:function(){return o.TopNFilterBuilder}});var n=r(844);Object.defineProperty(e,"RelativeDateFilterBuilder",{enumerable:!0,get:function(){return n.RelativeDateFilterBuilder}});var l=r(275);Object.defineProperty(e,"RelativeTimeFilterBuilder",{enumerable:!0,get:function(){return l.RelativeTimeFilterBuilder}})},844:function(t,e,r){var i,a=this&&this.__extends||(i=function(t,e){return i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},i(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.RelativeDateFilterBuilder=void 0;var o=r(149),n=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.isTodayIncluded=!0,e}return a(e,t),e.prototype.inLast=function(t,e){return this.operator=o.RelativeDateOperators.InLast,this.timeUnitsCount=t,this.timeUnitType=e,this},e.prototype.inThis=function(t,e){return this.operator=o.RelativeDateOperators.InThis,this.timeUnitsCount=t,this.timeUnitType=e,this},e.prototype.inNext=function(t,e){return this.operator=o.RelativeDateOperators.InNext,this.timeUnitsCount=t,this.timeUnitType=e,this},e.prototype.includeToday=function(t){return this.isTodayIncluded=t,this},e.prototype.build=function(){return new o.RelativeDateFilter(this.target,this.operator,this.timeUnitsCount,this.timeUnitType,this.isTodayIncluded)},e}(r(277).FilterBuilder);e.RelativeDateFilterBuilder=n},275:function(t,e,r){var i,a=this&&this.__extends||(i=function(t,e){return i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},i(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.RelativeTimeFilterBuilder=void 0;var o=r(149),n=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return a(e,t),e.prototype.inLast=function(t,e){return this.operator=o.RelativeDateOperators.InLast,this.timeUnitsCount=t,this.timeUnitType=e,this},e.prototype.inThis=function(t,e){return this.operator=o.RelativeDateOperators.InThis,this.timeUnitsCount=t,this.timeUnitType=e,this},e.prototype.inNext=function(t,e){return this.operator=o.RelativeDateOperators.InNext,this.timeUnitsCount=t,this.timeUnitType=e,this},e.prototype.build=function(){return new o.RelativeTimeFilter(this.target,this.operator,this.timeUnitsCount,this.timeUnitType)},e}(r(277).FilterBuilder);e.RelativeTimeFilterBuilder=n},664:function(t,e,r){var i,a=this&&this.__extends||(i=function(t,e){return i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},i(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.TopNFilterBuilder=void 0;var o=r(149),n=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return a(e,t),e.prototype.top=function(t){return this.operator="Top",this.itemCount=t,this},e.prototype.bottom=function(t){return this.operator="Bottom",this.itemCount=t,this},e.prototype.orderByTarget=function(t){return this.orderByTargetValue=t,this},e.prototype.build=function(){return new o.TopNFilter(this.target,this.operator,this.itemCount,this.orderByTargetValue)},e}(r(277).FilterBuilder);e.TopNFilterBuilder=n},460:function(t,e,r){var i=this&&this.__awaiter||function(t,e,r,i){return new(r||(r=Promise))((function(a,o){function n(t){try{s(i.next(t))}catch(t){o(t)}}function l(t){try{s(i.throw(t))}catch(t){o(t)}}function s(t){var e;t.done?a(t.value):(e=t.value,e instanceof r?e:new r((function(t){t(e)}))).then(n,l)}s((i=i.apply(t,e||[])).next())}))},a=this&&this.__generator||function(t,e){var r,i,a,o,n={label:0,sent:function(){if(1&a[0])throw a[1];return a[1]},trys:[],ops:[]};return o={next:l(0),throw:l(1),return:l(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function l(o){return function(l){return function(o){if(r)throw new TypeError("Generator is already executing.");for(;n;)try{if(r=1,i&&(a=2&o[0]?i.return:o[0]?i.throw||((a=i.return)&&a.call(i),0):i.next)&&!(a=a.call(i,o[1])).done)return a;switch(i=0,a&&(o=[2&o[0],a.value]),o[0]){case 0:case 1:a=o;break;case 4:return n.label++,{value:o[1],done:!1};case 5:n.label++,i=o[1],o=[0];continue;case 7:o=n.ops.pop(),n.trys.pop();continue;default:if(!((a=(a=n.trys).length>0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]{Object.defineProperty(e,"__esModule",{value:!0}),e.default={version:"2.23.0",type:"js"}},536:function(t,e,r){var i,a=this&&this.__extends||(i=function(t,e){return i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},i(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}),o=this&&this.__awaiter||function(t,e,r,i){return new(r||(r=Promise))((function(a,o){function n(t){try{s(i.next(t))}catch(t){o(t)}}function l(t){try{s(i.throw(t))}catch(t){o(t)}}function s(t){var e;t.done?a(t.value):(e=t.value,e instanceof r?e:new r((function(t){t(e)}))).then(n,l)}s((i=i.apply(t,e||[])).next())}))},n=this&&this.__generator||function(t,e){var r,i,a,o,n={label:0,sent:function(){if(1&a[0])throw a[1];return a[1]},trys:[],ops:[]};return o={next:l(0),throw:l(1),return:l(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function l(o){return function(l){return function(o){if(r)throw new TypeError("Generator is already executing.");for(;n;)try{if(r=1,i&&(a=2&o[0]?i.return:o[0]?i.throw||((a=i.return)&&a.call(i),0):i.next)&&!(a=a.call(i,o[1])).done)return a;switch(i=0,a&&(o=[2&o[0],a.value]),o[0]){case 0:case 1:a=o;break;case 4:return n.label++,{value:o[1],done:!1};case 5:n.label++,i=o[1],o=[0];continue;case 7:o=n.ops.pop(),n.trys.pop();continue;default:if(!((a=(a=n.trys).length>0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]{Object.defineProperty(e,"__esModule",{value:!0}),e.invalidEmbedUrlErrorMessage=e.EmbedUrlNotSupported=e.APINotSupportedForRDLError=void 0,e.APINotSupportedForRDLError="This API is currently not supported for RDL reports",e.EmbedUrlNotSupported="Embed URL is invalid for this scenario. Please use Power BI REST APIs to get the valid URL",e.invalidEmbedUrlErrorMessage="Invalid embed URL detected. Either URL hostname or protocol are invalid. Please use Power BI REST APIs to get the valid URL"},357:(t,e,r)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.routerFactory=e.wpmpFactory=e.hpmFactory=void 0;var i=r(960),a=r(319),o=r(891),n=r(913);e.hpmFactory=function(t,e,r,i,o){return void 0===r&&(r=n.default.version),void 0===i&&(i=n.default.type),new a.HttpPostMessage(t,{"x-sdk-type":i,"x-sdk-version":r,"x-sdk-wrapper-version":o},e)},e.wpmpFactory=function(t,e,r){return new i.WindowPostMessageProxy({processTrackingProperties:{addTrackingProperties:a.HttpPostMessage.addTrackingProperties,getTrackingProperties:a.HttpPostMessage.getTrackingProperties},isErrorMessage:a.HttpPostMessage.isErrorMessage,suppressWarnings:!0,name:t,logMessages:e,eventSourceOverrideWindow:r})},e.routerFactory=function(t){return new o.Router(t)}},220:function(t,e,r){var i=this&&this.__awaiter||function(t,e,r,i){return new(r||(r=Promise))((function(a,o){function n(t){try{s(i.next(t))}catch(t){o(t)}}function l(t){try{s(i.throw(t))}catch(t){o(t)}}function s(t){var e;t.done?a(t.value):(e=t.value,e instanceof r?e:new r((function(t){t(e)}))).then(n,l)}s((i=i.apply(t,e||[])).next())}))},a=this&&this.__generator||function(t,e){var r,i,a,o,n={label:0,sent:function(){if(1&a[0])throw a[1];return a[1]},trys:[],ops:[]};return o={next:l(0),throw:l(1),return:l(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function l(o){return function(l){return function(o){if(r)throw new TypeError("Generator is already executing.");for(;n;)try{if(r=1,i&&(a=2&o[0]?i.return:o[0]?i.throw||((a=i.return)&&a.call(i),0):i.next)&&!(a=a.call(i,o[1])).done)return a;switch(i=0,a&&(o=[2&o[0],a.value]),o[0]){case 0:case 1:a=o;break;case 4:return n.label++,{value:o[1],done:!1};case 5:n.label++,i=o[1],o=[0];continue;case 7:o=n.ops.pop(),n.trys.pop();continue;default:if(!((a=(a=n.trys).length>0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0?"&":"?";return t+(i+e+"=")+r},e.isSavedInternal=function(t,e,a){return r(this,void 0,void 0,(function(){return i(this,(function(r){switch(r.label){case 0:return r.trys.push([0,2,,3]),[4,t.get("/report/hasUnsavedChanges",{uid:e},a)];case 1:return[2,!r.sent().body];case 2:throw r.sent().body;case 3:return[2]}}))}))},e.isRDLEmbed=function(t){return t&&t.toLowerCase().indexOf("/rdlembed?")>=0},e.autoAuthInEmbedUrl=function(t){return t&&decodeURIComponent(t).toLowerCase().indexOf("autoauth=true")>=0},e.getRandomValue=l,e.getTimeDiffInMilliseconds=function(t,e){return Math.abs(t.getTime()-e.getTime())},e.isCreate=function(t){return"create"===t||"quickcreate"===t},e.validateEmbedUrl=function(t){if(t){var e=void 0;try{e=new URL(t.toLowerCase())}catch(t){return!1}return"https:"===e.protocol&&(a.test(e.hostname)||o.test(e.hostname))}}},23:function(t,e,r){var i,a=this&&this.__extends||(i=function(t,e){return i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},i(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}),o=this&&this.__awaiter||function(t,e,r,i){return new(r||(r=Promise))((function(a,o){function n(t){try{s(i.next(t))}catch(t){o(t)}}function l(t){try{s(i.throw(t))}catch(t){o(t)}}function s(t){var e;t.done?a(t.value):(e=t.value,e instanceof r?e:new r((function(t){t(e)}))).then(n,l)}s((i=i.apply(t,e||[])).next())}))},n=this&&this.__generator||function(t,e){var r,i,a,o,n={label:0,sent:function(){if(1&a[0])throw a[1];return a[1]},trys:[],ops:[]};return o={next:l(0),throw:l(1),return:l(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function l(o){return function(l){return function(o){if(r)throw new TypeError("Generator is already executing.");for(;n;)try{if(r=1,i&&(a=2&o[0]?i.return:o[0]?i.throw||((a=i.return)&&a.call(i),0):i.next)&&!(a=a.call(i,o[1])).done)return a;switch(i=0,a&&(o=[2&o[0],a.value]),o[0]){case 0:case 1:a=o;break;case 4:return n.label++,{value:o[1],done:!1};case 5:n.label++,i=o[1],o=[0];continue;case 7:o=n.ops.pop(),n.trys.pop();continue;default:if(!((a=(a=n.trys).length>0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]{var e;self,e=()=>(()=>{"use strict";var t={};return(()=>{var e=t;Object.defineProperty(e,"__esModule",{value:!0}),e.WindowPostMessageProxy=void 0;var r=function(){function t(e){void 0===e&&(e={processTrackingProperties:{addTrackingProperties:t.defaultAddTrackingProperties,getTrackingProperties:t.defaultGetTrackingProperties},isErrorMessage:t.defaultIsErrorMessage,receiveWindow:window,name:t.createRandomString()});var r=this;this.pendingRequestPromises={},this.addTrackingProperties=e.processTrackingProperties&&e.processTrackingProperties.addTrackingProperties||t.defaultAddTrackingProperties,this.getTrackingProperties=e.processTrackingProperties&&e.processTrackingProperties.getTrackingProperties||t.defaultGetTrackingProperties,this.isErrorMessage=e.isErrorMessage||t.defaultIsErrorMessage,this.receiveWindow=e.receiveWindow||window,this.name=e.name||t.createRandomString(),this.logMessages=e.logMessages||!1,this.eventSourceOverrideWindow=e.eventSourceOverrideWindow,this.suppressWarnings=e.suppressWarnings||!1,this.logMessages&&console.log("new WindowPostMessageProxy created with name: ".concat(this.name," receiving on window: ").concat(this.receiveWindow.document.title)),this.handlers=[],this.windowMessageHandler=function(t){return r.onMessageReceived(t)},this.start()}return t.defaultAddTrackingProperties=function(e,r){return e[t.messagePropertyName]=r,e},t.defaultGetTrackingProperties=function(e){return e[t.messagePropertyName]},t.defaultIsErrorMessage=function(t){return!!t.error},t.createDeferred=function(){var t={resolve:null,reject:null,promise:null},e=new Promise((function(e,r){t.resolve=e,t.reject=r}));return t.promise=e,t},t.createRandomString=function(){var t=window.crypto||window.msCrypto,e=new Uint32Array(1);return t.getRandomValues(e),e[0].toString(36).substring(1)},t.prototype.addHandler=function(t){this.handlers.push(t)},t.prototype.removeHandler=function(t){var e=this.handlers.indexOf(t);if(-1===e)throw new Error("You attempted to remove a handler but no matching handler was found.");this.handlers.splice(e,1)},t.prototype.start=function(){this.receiveWindow.addEventListener("message",this.windowMessageHandler)},t.prototype.stop=function(){this.receiveWindow.removeEventListener("message",this.windowMessageHandler)},t.prototype.postMessage=function(e,r,i){var a={id:t.createRandomString()};this.addTrackingProperties(r,a),console.log("".concat(this.name," Posting message:")),console.log(JSON.stringify(r,null," ")),console.log("target origin: ".concat(i)),e.postMessage(r,null!=i?i:"*");var o=t.createDeferred();return this.pendingRequestPromises[a.id]=o,o.promise},t.prototype.sendResponse=function(t,e,r,i){this.addTrackingProperties(e,r),this.logMessages&&(console.log("".concat(this.name," Sending response:")),console.log(JSON.stringify(e,null," "))),t.postMessage(e,null!=i?i:"*")},t.prototype.onMessageReceived=function(t){var e=this;this.logMessages&&(console.log("".concat(this.name," Received message:")),console.log("type: ".concat(t.type)),console.log(JSON.stringify(t.data,null," ")));var r=this.eventSourceOverrideWindow||t.source;if(r){var i=t.data;if("object"==typeof i){var a,o;try{a=this.getTrackingProperties(i)}catch(t){this.suppressWarnings||console.warn("Proxy(".concat(this.name,"): Error occurred when attempting to get tracking properties from incoming message:"),JSON.stringify(i,null," "),"Error: ",t)}if(a&&(o=this.pendingRequestPromises[a.id]),o){var n=!0;try{n=this.isErrorMessage(i)}catch(t){console.warn("Proxy(".concat(this.name,") Error occurred when trying to determine if message is consider an error response. Message: "),JSON.stringify(i,null,""),"Error: ",t)}n?o.reject(i):o.resolve(i),delete this.pendingRequestPromises[a.id]}else this.handlers.some((function(t){var o=!1;try{o=t.test(i)}catch(t){e.suppressWarnings||console.warn("Proxy(".concat(e.name,"): Error occurred when handler was testing incoming message:"),JSON.stringify(i,null," "),"Error: ",t)}if(o){var n=void 0;try{n=Promise.resolve(t.handle(i))}catch(t){e.suppressWarnings||console.warn("Proxy(".concat(e.name,"): Error occurred when handler was processing incoming message:"),JSON.stringify(i,null," "),"Error: ",t),n=Promise.resolve()}return n.then((function(t){if(!t){var o="Handler for message: ".concat(JSON.stringify(i,null," ")," did not return a response message. The default response message will be returned instead.");e.suppressWarnings||console.warn("Proxy(".concat(e.name,"): ").concat(o)),t={warning:o}}e.sendResponse(r,t,a)})),!0}}))||this.suppressWarnings||console.warn("Proxy(".concat(this.name,") did not handle message. Handlers: ").concat(this.handlers.length," Message: ").concat(JSON.stringify(i,null,""),"."))}else this.suppressWarnings||console.warn("Proxy(".concat(this.name,"): Received message that was not an object. Discarding message"))}},t.messagePropertyName="windowPostMessageProxy",t}();e.WindowPostMessageProxy=r})(),t})(),t.exports=e()}},e={};function r(i){var a=e[i];if(void 0!==a)return a.exports;var o=e[i]={exports:{}};return t[i].call(o.exports,o,o.exports,r),o.exports}var i={};return(()=>{var t=i;Object.defineProperty(t,"__esModule",{value:!0}),t.RelativeTimeFilterBuilder=t.RelativeDateFilterBuilder=t.TopNFilterBuilder=t.AdvancedFilterBuilder=t.BasicFilterBuilder=t.Create=t.QuickCreate=t.VisualDescriptor=t.Visual=t.Qna=t.Page=t.Embed=t.Tile=t.Dashboard=t.Report=t.models=t.factories=t.service=void 0;var e=r(149);t.models=e;var a=r(562);t.service=a;var o=r(357);t.factories=o;var n=r(125);Object.defineProperty(t,"Report",{enumerable:!0,get:function(){return n.Report}});var l=r(365);Object.defineProperty(t,"Dashboard",{enumerable:!0,get:function(){return l.Dashboard}});var s=r(43);Object.defineProperty(t,"Tile",{enumerable:!0,get:function(){return s.Tile}});var u=r(932);Object.defineProperty(t,"Embed",{enumerable:!0,get:function(){return u.Embed}});var d=r(220);Object.defineProperty(t,"Page",{enumerable:!0,get:function(){return d.Page}});var c=r(148);Object.defineProperty(t,"Qna",{enumerable:!0,get:function(){return c.Qna}});var p=r(23);Object.defineProperty(t,"Visual",{enumerable:!0,get:function(){return p.Visual}});var f=r(558);Object.defineProperty(t,"VisualDescriptor",{enumerable:!0,get:function(){return f.VisualDescriptor}});var h=r(714);Object.defineProperty(t,"QuickCreate",{enumerable:!0,get:function(){return h.QuickCreate}});var v=r(536);Object.defineProperty(t,"Create",{enumerable:!0,get:function(){return v.Create}});var y=r(567);Object.defineProperty(t,"BasicFilterBuilder",{enumerable:!0,get:function(){return y.BasicFilterBuilder}}),Object.defineProperty(t,"AdvancedFilterBuilder",{enumerable:!0,get:function(){return y.AdvancedFilterBuilder}}),Object.defineProperty(t,"TopNFilterBuilder",{enumerable:!0,get:function(){return y.TopNFilterBuilder}}),Object.defineProperty(t,"RelativeDateFilterBuilder",{enumerable:!0,get:function(){return y.RelativeDateFilterBuilder}}),Object.defineProperty(t,"RelativeTimeFilterBuilder",{enumerable:!0,get:function(){return y.RelativeTimeFilterBuilder}});var m=new a.Service(o.hpmFactory,o.wpmpFactory,o.routerFactory);window.powerbi&&window.powerBISDKGlobalServiceInstanceName?window[window.powerBISDKGlobalServiceInstanceName]=m:window.powerbi=m})(),i})())); \ No newline at end of file diff --git a/package.json b/package.json index 3a547903..f8123970 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "powerbi-client", - "version": "2.22.4", + "version": "2.23.0", "description": "JavaScript library for embedding Power BI into your apps. Provides service which makes it easy to embed different types of components and an object model which allows easy interaction with these components such as changing pages, applying filters, and responding to data selection.", "main": "dist/powerbi.js", "types": "dist/powerbi-client.d.ts", diff --git a/src/config.ts b/src/config.ts index 97380528..d90351dc 100644 --- a/src/config.ts +++ b/src/config.ts @@ -3,7 +3,7 @@ /** @ignore *//** */ const config = { - version: '2.22.4', + version: '2.23.0', type: 'js' }; From 85fe0314aa2e8de25b31f6e221b6128a011a9962 Mon Sep 17 00:00:00 2001 From: Ali Abu Foul Date: Tue, 20 Feb 2024 10:36:07 +0000 Subject: [PATCH 121/125] Merged PR 521465: Block refresh API for paginated reports Client-side APIs are not supported for rdl reports. Ideally, we should refactor our code to have one validation for all APIs. This requires major changes in the SDK code. So, I added this missing validation per request from customer especially that this API name is not clear that it is Power BI report specifc and might be misleading for customers. [Incident 474677846 : [PowerBI] CSS - Embedded (User Owns Data/Apps Owns Data): ](https://portal.microsofticm.com/imp/v3/incidents/incident/474677846/summary) --- dist/powerbi.js | 212 ++++++++++++++++++++++++++++++++++++++++---- dist/powerbi.min.js | 2 +- src/report.ts | 4 + 3 files changed, 199 insertions(+), 19 deletions(-) diff --git a/dist/powerbi.js b/dist/powerbi.js index 5fe30514..ec308b18 100644 --- a/dist/powerbi.js +++ b/dist/powerbi.js @@ -14,14 +14,185 @@ return /******/ (() => { // webpackBootstrap /******/ var __webpack_modules__ = ({ -/***/ "../http-post-message/dist/httpPostMessage.js": -/*!****************************************************!*\ - !*** ../http-post-message/dist/httpPostMessage.js ***! - \****************************************************/ -/***/ ((module) => { +/***/ "./node_modules/http-post-message/dist/httpPostMessage.js": +/*!****************************************************************!*\ + !*** ./node_modules/http-post-message/dist/httpPostMessage.js ***! + \****************************************************************/ +/***/ (function(module) { + +/*! http-post-message v0.2.3 | (c) 2016 Microsoft Corporation MIT */ +(function webpackUniversalModuleDefinition(root, factory) { + if(true) + module.exports = factory(); + else {} +})(this, function() { +return /******/ (function(modules) { // webpackBootstrap +/******/ // The module cache +/******/ var installedModules = {}; +/******/ +/******/ // The require function +/******/ function __nested_webpack_require_626__(moduleId) { +/******/ +/******/ // Check if module is in cache +/******/ 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 +/******/ }; +/******/ +/******/ // Execute the module function +/******/ modules[moduleId].call(module.exports, module, module.exports, __nested_webpack_require_626__); +/******/ +/******/ // Flag the module as loaded +/******/ module.loaded = true; +/******/ +/******/ // Return the exports of the module +/******/ return module.exports; +/******/ } +/******/ +/******/ +/******/ // expose the modules object (__webpack_modules__) +/******/ __nested_webpack_require_626__.m = modules; +/******/ +/******/ // expose the module cache +/******/ __nested_webpack_require_626__.c = installedModules; +/******/ +/******/ // __webpack_public_path__ +/******/ __nested_webpack_require_626__.p = ""; +/******/ +/******/ // Load entry module and return exports +/******/ return __nested_webpack_require_626__(0); +/******/ }) +/************************************************************************/ +/******/ ([ +/* 0 */ +/***/ function(module, exports) { + + "use strict"; + var HttpPostMessage = (function () { + function HttpPostMessage(windowPostMessageProxy, defaultHeaders, defaultTargetWindow) { + if (defaultHeaders === void 0) { defaultHeaders = {}; } + this.defaultHeaders = defaultHeaders; + this.defaultTargetWindow = defaultTargetWindow; + this.windowPostMessageProxy = windowPostMessageProxy; + } + // TODO: See if it's possible to share tracking properties interface? + // The responsibility of knowing how to configure windowPostMessageProxy for http should + // live in this http class, but the configuration would need ITrackingProperties + // interface which lives in WindowPostMessageProxy. Use type as workaround + HttpPostMessage.addTrackingProperties = function (message, trackingProperties) { + message.headers = message.headers || {}; + if (trackingProperties && trackingProperties.id) { + message.headers.id = trackingProperties.id; + } + return message; + }; + HttpPostMessage.getTrackingProperties = function (message) { + return { + id: message.headers && message.headers.id + }; + }; + HttpPostMessage.isErrorMessage = function (message) { + if (typeof (message && message.statusCode) !== 'number') { + return false; + } + return !(200 <= message.statusCode && message.statusCode < 300); + }; + HttpPostMessage.prototype.get = function (url, headers, targetWindow) { + if (headers === void 0) { headers = {}; } + if (targetWindow === void 0) { targetWindow = this.defaultTargetWindow; } + return this.send({ + method: "GET", + url: url, + headers: headers + }, targetWindow); + }; + HttpPostMessage.prototype.post = function (url, body, headers, targetWindow) { + if (headers === void 0) { headers = {}; } + if (targetWindow === void 0) { targetWindow = this.defaultTargetWindow; } + return this.send({ + method: "POST", + url: url, + headers: headers, + body: body + }, targetWindow); + }; + HttpPostMessage.prototype.put = function (url, body, headers, targetWindow) { + if (headers === void 0) { headers = {}; } + if (targetWindow === void 0) { targetWindow = this.defaultTargetWindow; } + return this.send({ + method: "PUT", + url: url, + headers: headers, + body: body + }, targetWindow); + }; + HttpPostMessage.prototype.patch = function (url, body, headers, targetWindow) { + if (headers === void 0) { headers = {}; } + if (targetWindow === void 0) { targetWindow = this.defaultTargetWindow; } + return this.send({ + method: "PATCH", + url: url, + headers: headers, + body: body + }, targetWindow); + }; + HttpPostMessage.prototype.delete = function (url, body, headers, targetWindow) { + if (body === void 0) { body = null; } + if (headers === void 0) { headers = {}; } + if (targetWindow === void 0) { targetWindow = this.defaultTargetWindow; } + return this.send({ + method: "DELETE", + url: url, + headers: headers, + body: body + }, targetWindow); + }; + HttpPostMessage.prototype.send = function (request, targetWindow) { + if (targetWindow === void 0) { targetWindow = this.defaultTargetWindow; } + request.headers = this.assign({}, this.defaultHeaders, request.headers); + if (!targetWindow) { + throw new Error("target window is not provided. You must either provide the target window explicitly as argument to request, or specify default target window when constructing instance of this class."); + } + return this.windowPostMessageProxy.postMessage(targetWindow, request); + }; + /** + * Object.assign() polyfill + * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/assign + */ + HttpPostMessage.prototype.assign = function (target) { + var sources = []; + for (var _i = 1; _i < arguments.length; _i++) { + sources[_i - 1] = arguments[_i]; + } + if (target === undefined || target === null) { + throw new TypeError('Cannot convert undefined or null to object'); + } + var output = Object(target); + sources.forEach(function (source) { + if (source !== undefined && source !== null) { + for (var nextKey in source) { + if (Object.prototype.hasOwnProperty.call(source, nextKey)) { + output[nextKey] = source[nextKey]; + } + } + } + }); + return output; + }; + return HttpPostMessage; + }()); + exports.HttpPostMessage = HttpPostMessage; + -/*! For license information please see httpPostMessage.js.LICENSE.txt */ -!function(e,t){ true?module.exports=t():0}(self,(()=>(()=>{"use strict";var e={};return(()=>{var t=e;Object.defineProperty(t,"__esModule",{value:!0}),t.HttpPostMessage=void 0;var o=function(){function e(e,t,o){void 0===t&&(t={}),this.defaultHeaders=t,this.defaultTargetWindow=o,this.windowPostMessageProxy=e}return e.addTrackingProperties=function(e,t){return e.headers=e.headers||{},t&&t.id&&(e.headers.id=t.id),e},e.getTrackingProperties=function(e){return{id:e.headers&&e.headers.id}},e.isErrorMessage=function(e){return"number"==typeof(e&&e.statusCode)&&!(200<=e.statusCode&&e.statusCode<300)},e.prototype.get=function(e,t,o,r){return void 0===t&&(t={}),void 0===o&&(o=this.defaultTargetWindow),this.send({method:"GET",url:e,headers:t},o,r)},e.prototype.post=function(e,t,o,r,s){return void 0===o&&(o={}),void 0===r&&(r=this.defaultTargetWindow),this.send({method:"POST",url:e,headers:o,body:t},r,s)},e.prototype.put=function(e,t,o,r,s){return void 0===o&&(o={}),void 0===r&&(r=this.defaultTargetWindow),this.send({method:"PUT",url:e,headers:o,body:t},r,s)},e.prototype.patch=function(e,t,o,r,s){return void 0===o&&(o={}),void 0===r&&(r=this.defaultTargetWindow),this.send({method:"PATCH",url:e,headers:o,body:t},r,s)},e.prototype.delete=function(e,t,o,r,s){return void 0===t&&(t=null),void 0===o&&(o={}),void 0===r&&(r=this.defaultTargetWindow),this.send({method:"DELETE",url:e,headers:o,body:t},r,s)},e.prototype.send=function(e,t,o){if(void 0===t&&(t=this.defaultTargetWindow),e.headers=this.assign({},this.defaultHeaders,e.headers),!t)throw new Error("target window is not provided. You must either provide the target window explicitly as argument to request, or specify default target window when constructing instance of this class.");return this.windowPostMessageProxy.postMessage(t,e,o)},e.prototype.assign=function(e){for(var t=[],o=1;o { /*! For license information please see windowPostMessageProxy.js.LICENSE.txt */ -!function(e,r){ true?module.exports=r():0}(self,(()=>(()=>{"use strict";var e={};return(()=>{var r=e;Object.defineProperty(r,"__esModule",{value:!0}),r.WindowPostMessageProxy=void 0;var s=function(){function e(r){void 0===r&&(r={processTrackingProperties:{addTrackingProperties:e.defaultAddTrackingProperties,getTrackingProperties:e.defaultGetTrackingProperties},isErrorMessage:e.defaultIsErrorMessage,receiveWindow:window,name:e.createRandomString()});var s=this;this.pendingRequestPromises={},this.addTrackingProperties=r.processTrackingProperties&&r.processTrackingProperties.addTrackingProperties||e.defaultAddTrackingProperties,this.getTrackingProperties=r.processTrackingProperties&&r.processTrackingProperties.getTrackingProperties||e.defaultGetTrackingProperties,this.isErrorMessage=r.isErrorMessage||e.defaultIsErrorMessage,this.receiveWindow=r.receiveWindow||window,this.name=r.name||e.createRandomString(),this.logMessages=r.logMessages||!1,this.eventSourceOverrideWindow=r.eventSourceOverrideWindow,this.suppressWarnings=r.suppressWarnings||!1,this.logMessages&&console.log("new WindowPostMessageProxy created with name: ".concat(this.name," receiving on window: ").concat(this.receiveWindow.document.title)),this.handlers=[],this.windowMessageHandler=function(e){return s.onMessageReceived(e)},this.start()}return e.defaultAddTrackingProperties=function(r,s){return r[e.messagePropertyName]=s,r},e.defaultGetTrackingProperties=function(r){return r[e.messagePropertyName]},e.defaultIsErrorMessage=function(e){return!!e.error},e.createDeferred=function(){var e={resolve:null,reject:null,promise:null},r=new Promise((function(r,s){e.resolve=r,e.reject=s}));return e.promise=r,e},e.createRandomString=function(){var e=window.crypto||window.msCrypto,r=new Uint32Array(1);return e.getRandomValues(r),r[0].toString(36).substring(1)},e.prototype.addHandler=function(e){this.handlers.push(e)},e.prototype.removeHandler=function(e){var r=this.handlers.indexOf(e);if(-1===r)throw new Error("You attempted to remove a handler but no matching handler was found.");this.handlers.splice(r,1)},e.prototype.start=function(){this.receiveWindow.addEventListener("message",this.windowMessageHandler)},e.prototype.stop=function(){this.receiveWindow.removeEventListener("message",this.windowMessageHandler)},e.prototype.postMessage=function(r,s,n){var o={id:e.createRandomString()};this.addTrackingProperties(s,o),console.log("".concat(this.name," Posting message:")),console.log(JSON.stringify(s,null," ")),console.log("target origin: ".concat(n)),r.postMessage(s,null!=n?n:"*");var t=e.createDeferred();return this.pendingRequestPromises[o.id]=t,t.promise},e.prototype.sendResponse=function(e,r,s,n){this.addTrackingProperties(r,s),this.logMessages&&(console.log("".concat(this.name," Sending response:")),console.log(JSON.stringify(r,null," "))),e.postMessage(r,null!=n?n:"*")},e.prototype.onMessageReceived=function(e){var r=this;this.logMessages&&(console.log("".concat(this.name," Received message:")),console.log("type: ".concat(e.type)),console.log(JSON.stringify(e.data,null," ")));var s=this.eventSourceOverrideWindow||e.source;if(s){var n=e.data;if("object"==typeof n){var o,t;try{o=this.getTrackingProperties(n)}catch(e){this.suppressWarnings||console.warn("Proxy(".concat(this.name,"): Error occurred when attempting to get tracking properties from incoming message:"),JSON.stringify(n,null," "),"Error: ",e)}if(o&&(t=this.pendingRequestPromises[o.id]),t){var i=!0;try{i=this.isErrorMessage(n)}catch(e){console.warn("Proxy(".concat(this.name,") Error occurred when trying to determine if message is consider an error response. Message: "),JSON.stringify(n,null,""),"Error: ",e)}i?t.reject(n):t.resolve(n),delete this.pendingRequestPromises[o.id]}else this.handlers.some((function(e){var t=!1;try{t=e.test(n)}catch(e){r.suppressWarnings||console.warn("Proxy(".concat(r.name,"): Error occurred when handler was testing incoming message:"),JSON.stringify(n,null," "),"Error: ",e)}if(t){var i=void 0;try{i=Promise.resolve(e.handle(n))}catch(e){r.suppressWarnings||console.warn("Proxy(".concat(r.name,"): Error occurred when handler was processing incoming message:"),JSON.stringify(n,null," "),"Error: ",e),i=Promise.resolve()}return i.then((function(e){if(!e){var t="Handler for message: ".concat(JSON.stringify(n,null," ")," did not return a response message. The default response message will be returned instead.");r.suppressWarnings||console.warn("Proxy(".concat(r.name,"): ").concat(t)),e={warning:t}}r.sendResponse(s,e,o)})),!0}}))||this.suppressWarnings||console.warn("Proxy(".concat(this.name,") did not handle message. Handlers: ").concat(this.handlers.length," Message: ").concat(JSON.stringify(n,null,""),"."))}else this.suppressWarnings||console.warn("Proxy(".concat(this.name,"): Received message that was not an object. Discarding message"))}},e.messagePropertyName="windowPostMessageProxy",e}();r.WindowPostMessageProxy=s})(),e})())); +!function(e,r){ true?module.exports=r():0}(self,(()=>(()=>{"use strict";var e={};return(()=>{var r=e;Object.defineProperty(r,"__esModule",{value:!0}),r.WindowPostMessageProxy=void 0;var s=function(){function e(r){void 0===r&&(r={processTrackingProperties:{addTrackingProperties:e.defaultAddTrackingProperties,getTrackingProperties:e.defaultGetTrackingProperties},isErrorMessage:e.defaultIsErrorMessage,receiveWindow:window,name:e.createRandomString()});var s=this;this.pendingRequestPromises={},this.addTrackingProperties=r.processTrackingProperties&&r.processTrackingProperties.addTrackingProperties||e.defaultAddTrackingProperties,this.getTrackingProperties=r.processTrackingProperties&&r.processTrackingProperties.getTrackingProperties||e.defaultGetTrackingProperties,this.isErrorMessage=r.isErrorMessage||e.defaultIsErrorMessage,this.receiveWindow=r.receiveWindow||window,this.name=r.name||e.createRandomString(),this.logMessages=r.logMessages||!1,this.eventSourceOverrideWindow=r.eventSourceOverrideWindow,this.suppressWarnings=r.suppressWarnings||!1,this.logMessages&&console.log("new WindowPostMessageProxy created with name: ".concat(this.name," receiving on window: ").concat(this.receiveWindow.document.title)),this.handlers=[],this.windowMessageHandler=function(e){return s.onMessageReceived(e)},this.start()}return e.defaultAddTrackingProperties=function(r,s){return r[e.messagePropertyName]=s,r},e.defaultGetTrackingProperties=function(r){return r[e.messagePropertyName]},e.defaultIsErrorMessage=function(e){return!!e.error},e.createDeferred=function(){var e={resolve:null,reject:null,promise:null},r=new Promise((function(r,s){e.resolve=r,e.reject=s}));return e.promise=r,e},e.createRandomString=function(){var e=window.crypto||window.msCrypto,r=new Uint32Array(1);return e.getRandomValues(r),r[0].toString(36).substring(1)},e.prototype.addHandler=function(e){this.handlers.push(e)},e.prototype.removeHandler=function(e){var r=this.handlers.indexOf(e);if(-1===r)throw new Error("You attempted to remove a handler but no matching handler was found.");this.handlers.splice(r,1)},e.prototype.start=function(){this.receiveWindow.addEventListener("message",this.windowMessageHandler)},e.prototype.stop=function(){this.receiveWindow.removeEventListener("message",this.windowMessageHandler)},e.prototype.postMessage=function(r,s){var n={id:e.createRandomString()};this.addTrackingProperties(s,n),this.logMessages&&(console.log("".concat(this.name," Posting message:")),console.log(JSON.stringify(s,null," "))),r.postMessage(s,"*");var o=e.createDeferred();return this.pendingRequestPromises[n.id]=o,o.promise},e.prototype.sendResponse=function(e,r,s){this.addTrackingProperties(r,s),this.logMessages&&(console.log("".concat(this.name," Sending response:")),console.log(JSON.stringify(r,null," "))),e.postMessage(r,"*")},e.prototype.onMessageReceived=function(e){var r=this;this.logMessages&&(console.log("".concat(this.name," Received message:")),console.log("type: ".concat(e.type)),console.log(JSON.stringify(e.data,null," ")));var s=this.eventSourceOverrideWindow||e.source;if(s){var n=e.data;if("object"==typeof n){var o,t;try{o=this.getTrackingProperties(n)}catch(e){this.suppressWarnings||console.warn("Proxy(".concat(this.name,"): Error occurred when attempting to get tracking properties from incoming message:"),JSON.stringify(n,null," "),"Error: ",e)}if(o&&(t=this.pendingRequestPromises[o.id]),t){var i=!0;try{i=this.isErrorMessage(n)}catch(e){console.warn("Proxy(".concat(this.name,") Error occurred when trying to determine if message is consider an error response. Message: "),JSON.stringify(n,null,""),"Error: ",e)}i?t.reject(n):t.resolve(n),delete this.pendingRequestPromises[o.id]}else this.handlers.some((function(e){var t=!1;try{t=e.test(n)}catch(e){r.suppressWarnings||console.warn("Proxy(".concat(r.name,"): Error occurred when handler was testing incoming message:"),JSON.stringify(n,null," "),"Error: ",e)}if(t){var i=void 0;try{i=Promise.resolve(e.handle(n))}catch(e){r.suppressWarnings||console.warn("Proxy(".concat(r.name,"): Error occurred when handler was processing incoming message:"),JSON.stringify(n,null," "),"Error: ",e),i=Promise.resolve()}return i.then((function(e){if(!e){var t="Handler for message: ".concat(JSON.stringify(n,null," ")," did not return a response message. The default response message will be returned instead.");r.suppressWarnings||console.warn("Proxy(".concat(r.name,"): ").concat(t)),e={warning:t}}r.sendResponse(s,e,o)})),!0}}))||this.suppressWarnings||console.warn("Proxy(".concat(this.name,") did not handle message. Handlers: ").concat(this.handlers.length," Message: ").concat(JSON.stringify(n,null,""),"."))}else this.suppressWarnings||console.warn("Proxy(".concat(this.name,"): Received message that was not an object. Discarding message"))}},e.messagePropertyName="windowPostMessageProxy",e}();r.WindowPostMessageProxy=s})(),e})())); //# sourceMappingURL=windowPostMessageProxy.js.map /***/ }) diff --git a/dist/powerbi.min.js b/dist/powerbi.min.js index ffdaa1b4..281b3588 100644 --- a/dist/powerbi.min.js +++ b/dist/powerbi.min.js @@ -2,4 +2,4 @@ // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. /*! For license information please see powerbi.js.LICENSE.txt */ -!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,(()=>(()=>{var t={319:t=>{var e;self,e=()=>(()=>{"use strict";var t={};return(()=>{var e=t;Object.defineProperty(e,"__esModule",{value:!0}),e.HttpPostMessage=void 0;var r=function(){function t(t,e,r){void 0===e&&(e={}),this.defaultHeaders=e,this.defaultTargetWindow=r,this.windowPostMessageProxy=t}return t.addTrackingProperties=function(t,e){return t.headers=t.headers||{},e&&e.id&&(t.headers.id=e.id),t},t.getTrackingProperties=function(t){return{id:t.headers&&t.headers.id}},t.isErrorMessage=function(t){return"number"==typeof(t&&t.statusCode)&&!(200<=t.statusCode&&t.statusCode<300)},t.prototype.get=function(t,e,r,i){return void 0===e&&(e={}),void 0===r&&(r=this.defaultTargetWindow),this.send({method:"GET",url:t,headers:e},r,i)},t.prototype.post=function(t,e,r,i,a){return void 0===r&&(r={}),void 0===i&&(i=this.defaultTargetWindow),this.send({method:"POST",url:t,headers:r,body:e},i,a)},t.prototype.put=function(t,e,r,i,a){return void 0===r&&(r={}),void 0===i&&(i=this.defaultTargetWindow),this.send({method:"PUT",url:t,headers:r,body:e},i,a)},t.prototype.patch=function(t,e,r,i,a){return void 0===r&&(r={}),void 0===i&&(i=this.defaultTargetWindow),this.send({method:"PATCH",url:t,headers:r,body:e},i,a)},t.prototype.delete=function(t,e,r,i,a){return void 0===e&&(e=null),void 0===r&&(r={}),void 0===i&&(i=this.defaultTargetWindow),this.send({method:"DELETE",url:t,headers:r,body:e},i,a)},t.prototype.send=function(t,e,r){if(void 0===e&&(e=this.defaultTargetWindow),t.headers=this.assign({},this.defaultHeaders,t.headers),!e)throw new Error("target window is not provided. You must either provide the target window explicitly as argument to request, or specify default target window when constructing instance of this class.");return this.windowPostMessageProxy.postMessage(e,t,r)},t.prototype.assign=function(t){for(var e=[],r=1;r(()=>{var t=[function(t,e,r){var i,a=this&&this.__extends||(i=function(t,e){return i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},i(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.TextAlignment=e.CommonErrorCodes=e.BookmarksPlayMode=e.ExportDataType=e.QnaMode=e.PageNavigationPosition=e.BrowserPrintAdjustmentsMode=e.AggregateFunction=e.DataCacheMode=e.CredentialType=e.isPercentOfGrandTotal=e.isColumnAggr=e.isHierarchyLevelAggr=e.isHierarchyLevel=e.isColumn=e.isMeasure=e.getFilterType=e.isBasicFilterWithKeys=e.isFilterKeyColumnsTarget=e.HierarchyFilter=e.AdvancedFilter=e.TupleFilter=e.IdentityFilter=e.BasicFilterWithKeys=e.BasicFilter=e.RelativeTimeFilter=e.RelativeDateFilter=e.TopNFilter=e.IncludeExcludeFilter=e.NotSupportedFilter=e.Filter=e.RelativeDateOperators=e.RelativeDateFilterTimeUnit=e.FilterType=e.FiltersLevel=e.FiltersOperations=e.MenuLocation=e.ContrastMode=e.TokenType=e.ViewMode=e.Permissions=e.SectionVisibility=e.ReportAlignment=e.HyperlinkClickBehavior=e.LayoutType=e.VisualContainerDisplayMode=e.BackgroundType=e.DisplayOption=e.PageSizeType=e.TraceType=void 0,e.validateVisualHeader=e.validateExportDataRequest=e.validateQnaInterpretInputData=e.validateLoadQnaConfiguration=e.validateSaveAsParameters=e.validateUpdateFiltersRequest=e.validateFilter=e.validatePage=e.validateTileLoad=e.validateDashboardLoad=e.validateQuickCreate=e.validateCreateReport=e.validatePaginatedReportLoad=e.validateReportLoad=e.validateMenuGroupExtension=e.validateExtension=e.validateCustomPageSize=e.validateVisualizationsPane=e.validateSyncSlicersPane=e.validateSelectionPane=e.validatePageNavigationPane=e.validateFieldsPane=e.validateFiltersPane=e.validateBookmarksPane=e.validatePanes=e.validateSettings=e.validateCaptureBookmarkRequest=e.validateApplyBookmarkStateRequest=e.validateApplyBookmarkByNameRequest=e.validateAddBookmarkRequest=e.validatePlayBookmarkRequest=e.validateSlicerState=e.validateSlicer=e.validateVisualSelector=e.isIExtensionArray=e.isIExtensions=e.isGroupedMenuExtension=e.isFlatMenuExtension=e.isReportFiltersArray=e.isOnLoadFilters=e.VisualDataRoleKindPreference=e.VisualDataRoleKind=e.CommandDisplayOption=e.SlicerTargetSelector=e.VisualTypeSelector=e.VisualSelector=e.PageSelector=e.Selector=e.SortDirection=e.LegendPosition=void 0,e.validatePrintSettings=e.validateZoomLevel=e.validateCustomTheme=e.validateCommandsSettings=e.validateVisualSettings=void 0;var o,n,l,s,u,d,c,p,f,h,v,y,m,V,g,b,w,P,S,O=r(1);(S=e.TraceType||(e.TraceType={}))[S.Information=0]="Information",S[S.Verbose=1]="Verbose",S[S.Warning=2]="Warning",S[S.Error=3]="Error",S[S.ExpectedError=4]="ExpectedError",S[S.UnexpectedError=5]="UnexpectedError",S[S.Fatal=6]="Fatal",(P=e.PageSizeType||(e.PageSizeType={}))[P.Widescreen=0]="Widescreen",P[P.Standard=1]="Standard",P[P.Cortana=2]="Cortana",P[P.Letter=3]="Letter",P[P.Custom=4]="Custom",P[P.Mobile=5]="Mobile",(w=e.DisplayOption||(e.DisplayOption={}))[w.FitToPage=0]="FitToPage",w[w.FitToWidth=1]="FitToWidth",w[w.ActualSize=2]="ActualSize",(b=e.BackgroundType||(e.BackgroundType={}))[b.Default=0]="Default",b[b.Transparent=1]="Transparent",(g=e.VisualContainerDisplayMode||(e.VisualContainerDisplayMode={}))[g.Visible=0]="Visible",g[g.Hidden=1]="Hidden",(V=e.LayoutType||(e.LayoutType={}))[V.Master=0]="Master",V[V.Custom=1]="Custom",V[V.MobilePortrait=2]="MobilePortrait",V[V.MobileLandscape=3]="MobileLandscape",(m=e.HyperlinkClickBehavior||(e.HyperlinkClickBehavior={}))[m.Navigate=0]="Navigate",m[m.NavigateAndRaiseEvent=1]="NavigateAndRaiseEvent",m[m.RaiseEvent=2]="RaiseEvent",(y=e.ReportAlignment||(e.ReportAlignment={}))[y.Left=0]="Left",y[y.Center=1]="Center",y[y.Right=2]="Right",y[y.None=3]="None",(v=e.SectionVisibility||(e.SectionVisibility={}))[v.AlwaysVisible=0]="AlwaysVisible",v[v.HiddenInViewMode=1]="HiddenInViewMode",(h=e.Permissions||(e.Permissions={}))[h.Read=0]="Read",h[h.ReadWrite=1]="ReadWrite",h[h.Copy=2]="Copy",h[h.Create=4]="Create",h[h.All=7]="All",(f=e.ViewMode||(e.ViewMode={}))[f.View=0]="View",f[f.Edit=1]="Edit",(p=e.TokenType||(e.TokenType={}))[p.Aad=0]="Aad",p[p.Embed=1]="Embed",(c=e.ContrastMode||(e.ContrastMode={}))[c.None=0]="None",c[c.HighContrast1=1]="HighContrast1",c[c.HighContrast2=2]="HighContrast2",c[c.HighContrastBlack=3]="HighContrastBlack",c[c.HighContrastWhite=4]="HighContrastWhite",(d=e.MenuLocation||(e.MenuLocation={}))[d.Bottom=0]="Bottom",d[d.Top=1]="Top",(u=e.FiltersOperations||(e.FiltersOperations={}))[u.RemoveAll=0]="RemoveAll",u[u.ReplaceAll=1]="ReplaceAll",u[u.Add=2]="Add",u[u.Replace=3]="Replace",(s=e.FiltersLevel||(e.FiltersLevel={}))[s.Report=0]="Report",s[s.Page=1]="Page",s[s.Visual=2]="Visual",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",t[t.Identity=8]="Identity",t[t.Hierarchy=9]="Hierarchy"}(o=e.FilterType||(e.FilterType={})),(l=e.RelativeDateFilterTimeUnit||(e.RelativeDateFilterTimeUnit={}))[l.Days=0]="Days",l[l.Weeks=1]="Weeks",l[l.CalendarWeeks=2]="CalendarWeeks",l[l.Months=3]="Months",l[l.CalendarMonths=4]="CalendarMonths",l[l.Years=5]="Years",l[l.CalendarYears=6]="CalendarYears",l[l.Minutes=7]="Minutes",l[l.Hours=8]="Hours",(n=e.RelativeDateOperators||(e.RelativeDateOperators={}))[n.InLast=0]="InLast",n[n.InThis=1]="InThis",n[n.InNext=2]="InNext";var _=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=_;var T=function(t){function e(r,i,a){var n=t.call(this,r,o.Unknown)||this;return n.message=i,n.notSupportedTypeName=a,n.schemaUrl=e.schemaUrl,n}return a(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}(_);e.NotSupportedFilter=T;var E=function(t){function e(r,i,a){var n=t.call(this,r,o.IncludeExclude)||this;return n.values=a,n.isExclude=i,n.schemaUrl=e.schemaUrl,n}return a(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}(_);e.IncludeExcludeFilter=E;var F=function(t){function e(r,i,a,n){var l=t.call(this,r,o.TopN)||this;return l.operator=i,l.itemCount=a,l.schemaUrl=e.schemaUrl,l.orderBy=n,l}return a(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}(_);e.TopNFilter=F;var C=function(t){function e(r,i,a,n,l){var s=t.call(this,r,o.RelativeDate)||this;return s.operator=i,s.timeUnitsCount=a,s.timeUnitType=n,s.includeToday=l,s.schemaUrl=e.schemaUrl,s}return a(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}(_);e.RelativeDateFilter=C;var R=function(t){function e(r,i,a,n){var l=t.call(this,r,o.RelativeTime)||this;return l.operator=i,l.timeUnitsCount=a,l.timeUnitType=n,l.schemaUrl=e.schemaUrl,l}return a(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}(_);e.RelativeTimeFilter=R;var k=function(t){function e(r,i){for(var a=[],n=2;n0&&!a)throw new Error("You should pass the values to be filtered for each key. You passed: no values and ".concat(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,s=o.keyValues;l2)throw new Error("AdvancedFilters may not have more than two conditions. You passed: ".concat(a.length));if(1===l.length&&"And"!==i)throw new Error('Logical Operator must be "And" when there is only one condition provided');return s.conditions=l,s}return a(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}(_);e.AdvancedFilter=M;var I,L,q,D,N,B,U,H,W,z=function(t){function e(r,i){var a=t.call(this,r,o.Hierarchy)||this;return a.schemaUrl=e.schemaUrl,a.hierarchyData=i,a}return a(e,t),e.prototype.toJSON=function(){var e=t.prototype.toJSON.call(this);return e.hierarchyData=this.hierarchyData,e.target=this.target,e},e.schemaUrl="http://powerbi.com/product/schema#hierarchy",e}(_);function Q(t){if(t.filterType)return t.filterType;var e=t,r=t;return"string"==typeof e.operator&&Array.isArray(e.values)?o.Basic:"string"==typeof r.logicalOperator&&Array.isArray(r.conditions)?o.Advanced:o.Unknown}function G(t){return!(!t.table||!t.column||t.aggregationFunction)}e.HierarchyFilter=z,e.isFilterKeyColumnsTarget=function(t){return G(t)&&!!t.keys},e.isBasicFilterWithKeys=function(t){return Q(t)===o.Basic&&!!t.keyValues},e.getFilterType=Q,e.isMeasure=function(t){return void 0!==t.table&&void 0!==t.measure},e.isColumn=G,e.isHierarchyLevel=function(t){return!(!(t.table&&t.hierarchy&&t.hierarchyLevel)||t.aggregationFunction)},e.isHierarchyLevelAggr=function(t){return!!(t.table&&t.hierarchy&&t.hierarchyLevel&&t.aggregationFunction)},e.isColumnAggr=function(t){return!!(t.table&&t.column&&t.aggregationFunction)},e.isPercentOfGrandTotal=function(t){return!!t.percentOfGrandTotal},(W=e.CredentialType||(e.CredentialType={}))[W.NoConnection=0]="NoConnection",W[W.OnBehalfOf=1]="OnBehalfOf",W[W.Anonymous=2]="Anonymous",(H=e.DataCacheMode||(e.DataCacheMode={}))[H.Import=0]="Import",H[H.DirectQuery=1]="DirectQuery",(U=e.AggregateFunction||(e.AggregateFunction={}))[U.Default=1]="Default",U[U.None=2]="None",U[U.Sum=3]="Sum",U[U.Min=4]="Min",U[U.Max=5]="Max",U[U.Count=6]="Count",U[U.Average=7]="Average",U[U.DistinctCount=8]="DistinctCount",(B=e.BrowserPrintAdjustmentsMode||(e.BrowserPrintAdjustmentsMode={}))[B.Default=0]="Default",B[B.NoAdjustments=1]="NoAdjustments",(N=e.PageNavigationPosition||(e.PageNavigationPosition={}))[N.Bottom=0]="Bottom",N[N.Left=1]="Left",(D=e.QnaMode||(e.QnaMode={}))[D.Interactive=0]="Interactive",D[D.ResultOnly=1]="ResultOnly",(q=e.ExportDataType||(e.ExportDataType={}))[q.Summarized=0]="Summarized",q[q.Underlying=1]="Underlying",(L=e.BookmarksPlayMode||(e.BookmarksPlayMode={}))[L.Off=0]="Off",L[L.Presentation=1]="Presentation",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"},(I=e.SortDirection||(e.SortDirection={}))[I.Ascending=1]="Ascending",I[I.Descending=2]="Descending";var J=function(){function t(t){this.$schema=t}return t.prototype.toJSON=function(){return{$schema:this.$schema}},t}();e.Selector=J;var K=function(t){function e(r){var i=t.call(this,e.schemaUrl)||this;return i.pageName=r,i}return a(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}(J);e.PageSelector=K;var Y=function(t){function e(r){var i=t.call(this,e.schemaUrl)||this;return i.visualName=r,i}return a(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}(J);e.VisualSelector=Y;var $=function(t){function e(e){var r=t.call(this,Y.schemaUrl)||this;return r.visualType=e,r}return a(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}(J);e.VisualTypeSelector=$;var Z,X,tt,et=function(t){function e(e){var r=t.call(this,Y.schemaUrl)||this;return r.target=e,r}return a(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}(J);function rt(t){return Array.isArray(t)}function it(t){return t&&!!t.groupName}function at(t){return Array.isArray(t)}function ot(t){var e=t.message;return e||(e="".concat(t.path," is invalid. Not meeting ").concat(t.keyword," constraint")),{message:e}}e.SlicerTargetSelector=et,(tt=e.CommandDisplayOption||(e.CommandDisplayOption={}))[tt.Enabled=0]="Enabled",tt[tt.Disabled=1]="Disabled",tt[tt.Hidden=2]="Hidden",(X=e.VisualDataRoleKind||(e.VisualDataRoleKind={}))[X.Grouping=0]="Grouping",X[X.Measure=1]="Measure",X[X.GroupingOrMeasure=2]="GroupingOrMeasure",(Z=e.VisualDataRoleKindPreference||(e.VisualDataRoleKindPreference={}))[Z.Measure=0]="Measure",Z[Z.Grouping=1]="Grouping",e.isOnLoadFilters=function(t){return t&&!rt(t)},e.isReportFiltersArray=rt,e.isFlatMenuExtension=function(t){return t&&!it(t)},e.isGroupedMenuExtension=it,e.isIExtensions=function(t){return t&&!at(t)},e.isIExtensionArray=at,e.validateVisualSelector=function(t){var e=O.Validators.visualSelectorValidator.validate(t);return e?e.map(ot):void 0},e.validateSlicer=function(t){var e=O.Validators.slicerValidator.validate(t);return e?e.map(ot):void 0},e.validateSlicerState=function(t){var e=O.Validators.slicerStateValidator.validate(t);return e?e.map(ot):void 0},e.validatePlayBookmarkRequest=function(t){var e=O.Validators.playBookmarkRequestValidator.validate(t);return e?e.map(ot):void 0},e.validateAddBookmarkRequest=function(t){var e=O.Validators.addBookmarkRequestValidator.validate(t);return e?e.map(ot):void 0},e.validateApplyBookmarkByNameRequest=function(t){var e=O.Validators.applyBookmarkByNameRequestValidator.validate(t);return e?e.map(ot):void 0},e.validateApplyBookmarkStateRequest=function(t){var e=O.Validators.applyBookmarkStateRequestValidator.validate(t);return e?e.map(ot):void 0},e.validateCaptureBookmarkRequest=function(t){var e=O.Validators.captureBookmarkRequestValidator.validate(t);return e?e.map(ot):void 0},e.validateSettings=function(t){var e=O.Validators.settingsValidator.validate(t);return e?e.map(ot):void 0},e.validatePanes=function(t){var e=O.Validators.reportPanesValidator.validate(t);return e?e.map(ot):void 0},e.validateBookmarksPane=function(t){var e=O.Validators.bookmarksPaneValidator.validate(t);return e?e.map(ot):void 0},e.validateFiltersPane=function(t){var e=O.Validators.filtersPaneValidator.validate(t);return e?e.map(ot):void 0},e.validateFieldsPane=function(t){var e=O.Validators.fieldsPaneValidator.validate(t);return e?e.map(ot):void 0},e.validatePageNavigationPane=function(t){var e=O.Validators.pageNavigationPaneValidator.validate(t);return e?e.map(ot):void 0},e.validateSelectionPane=function(t){var e=O.Validators.selectionPaneValidator.validate(t);return e?e.map(ot):void 0},e.validateSyncSlicersPane=function(t){var e=O.Validators.syncSlicersPaneValidator.validate(t);return e?e.map(ot):void 0},e.validateVisualizationsPane=function(t){var e=O.Validators.visualizationsPaneValidator.validate(t);return e?e.map(ot):void 0},e.validateCustomPageSize=function(t){var e=O.Validators.customPageSizeValidator.validate(t);return e?e.map(ot):void 0},e.validateExtension=function(t){var e=O.Validators.extensionValidator.validate(t);return e?e.map(ot):void 0},e.validateMenuGroupExtension=function(t){var e=O.Validators.menuGroupExtensionValidator.validate(t);return e?e.map(ot):void 0},e.validateReportLoad=function(t){var e=O.Validators.reportLoadValidator.validate(t);return e?e.map(ot):void 0},e.validatePaginatedReportLoad=function(t){var e=O.Validators.paginatedReportLoadValidator.validate(t);return e?e.map(ot):void 0},e.validateCreateReport=function(t){var e=O.Validators.reportCreateValidator.validate(t);return e?e.map(ot):void 0},e.validateQuickCreate=function(t){var e=O.Validators.quickCreateValidator.validate(t);return e?e.map(ot):void 0},e.validateDashboardLoad=function(t){var e=O.Validators.dashboardLoadValidator.validate(t);return e?e.map(ot):void 0},e.validateTileLoad=function(t){var e=O.Validators.tileLoadValidator.validate(t);return e?e.map(ot):void 0},e.validatePage=function(t){var e=O.Validators.pageValidator.validate(t);return e?e.map(ot):void 0},e.validateFilter=function(t){var e=O.Validators.filterValidator.validate(t);return e?e.map(ot):void 0},e.validateUpdateFiltersRequest=function(t){var e=O.Validators.updateFiltersRequestValidator.validate(t);return e?e.map(ot):void 0},e.validateSaveAsParameters=function(t){var e=O.Validators.saveAsParametersValidator.validate(t);return e?e.map(ot):void 0},e.validateLoadQnaConfiguration=function(t){var e=O.Validators.loadQnaValidator.validate(t);return e?e.map(ot):void 0},e.validateQnaInterpretInputData=function(t){var e=O.Validators.qnaInterpretInputDataValidator.validate(t);return e?e.map(ot):void 0},e.validateExportDataRequest=function(t){var e=O.Validators.exportDataRequestValidator.validate(t);return e?e.map(ot):void 0},e.validateVisualHeader=function(t){var e=O.Validators.visualHeaderValidator.validate(t);return e?e.map(ot):void 0},e.validateVisualSettings=function(t){var e=O.Validators.visualSettingsValidator.validate(t);return e?e.map(ot):void 0},e.validateCommandsSettings=function(t){var e=O.Validators.commandsSettingsValidator.validate(t);return e?e.map(ot):void 0},e.validateCustomTheme=function(t){var e=O.Validators.customThemeValidator.validate(t);return e?e.map(ot):void 0},e.validateZoomLevel=function(t){var e=O.Validators.zoomLevelValidator.validate(t);return e?e.map(ot):void 0},e.validatePrintSettings=function(t){var e=O.Validators.printSettingsValidator.validate(t);return e?e.map(ot):void 0}},(t,e,r)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.Validators=void 0;var i=r(2),a=r(5),o=r(6),n=r(7),l=r(8),s=r(9),u=r(10),d=r(11),c=r(12),p=r(13),f=r(14),h=r(15),v=r(16),y=r(17),m=r(18),V=r(19),g=r(20),b=r(21),w=r(22),P=r(23),S=r(24),O=r(25),_=r(26),T=r(27),E=r(28),F=r(29),C=r(4),R=r(30),k=r(31),x=r(32),A=r(33),j=r(34);e.Validators={addBookmarkRequestValidator:new a.AddBookmarkRequestValidator,advancedFilterTypeValidator:new C.EnumValidator([0]),advancedFilterValidator:new c.AdvancedFilterValidator,anyArrayValidator:new C.ArrayValidator([new _.AnyOfValidator([new C.StringValidator,new C.NumberValidator,new C.BooleanValidator])]),anyFilterValidator:new _.AnyOfValidator([new c.BasicFilterValidator,new c.AdvancedFilterValidator,new c.IncludeExcludeFilterValidator,new c.NotSupportedFilterValidator,new c.RelativeDateFilterValidator,new c.TopNFilterValidator,new c.RelativeTimeFilterValidator,new c.HierarchyFilterValidator]),anyValueValidator:new _.AnyOfValidator([new C.StringValidator,new C.NumberValidator,new C.BooleanValidator]),actionBarValidator:new i.ActionBarValidator,statusBarValidator:new i.StatusBarValidator,applyBookmarkByNameRequestValidator:new a.ApplyBookmarkByNameRequestValidator,applyBookmarkStateRequestValidator:new a.ApplyBookmarkStateRequestValidator,applyBookmarkValidator:new _.AnyOfValidator([new a.ApplyBookmarkByNameRequestValidator,new a.ApplyBookmarkStateRequestValidator]),backgroundValidator:new C.EnumValidator([0,1]),basicFilterTypeValidator:new C.EnumValidator([1]),basicFilterValidator:new c.BasicFilterValidator,booleanArrayValidator:new C.BooleanArrayValidator,booleanValidator:new C.BooleanValidator,bookmarksPaneValidator:new h.BookmarksPaneValidator,captureBookmarkOptionsValidator:new a.CaptureBookmarkOptionsValidator,captureBookmarkRequestValidator:new a.CaptureBookmarkRequestValidator,columnSchemaArrayValidator:new C.ArrayValidator([new k.ColumnSchemaValidator]),commandDisplayOptionValidator:new C.EnumValidator([0,1,2]),commandExtensionSelectorValidator:new _.AnyOfValidator([new b.VisualSelectorValidator,new b.VisualTypeSelectorValidator]),commandExtensionArrayValidator:new C.ArrayValidator([new d.CommandExtensionValidator]),commandExtensionValidator:new d.CommandExtensionValidator,commandsSettingsArrayValidator:new C.ArrayValidator([new o.CommandsSettingsValidator]),commandsSettingsValidator:new o.CommandsSettingsValidator,conditionItemValidator:new c.ConditionItemValidator,contrastModeValidator:new C.EnumValidator([0,1,2,3,4]),credentialDetailsValidator:new F.MapValidator([new C.StringValidator],[new C.StringValidator]),credentialsValidator:new k.CredentialsValidator,credentialTypeValidator:new C.EnumValidator([0,1,2]),customLayoutDisplayOptionValidator:new C.EnumValidator([0,1,2]),customLayoutValidator:new p.CustomLayoutValidator,customPageSizeValidator:new f.CustomPageSizeValidator,customThemeValidator:new n.CustomThemeValidator,dashboardLoadValidator:new l.DashboardLoadValidator,dataCacheModeValidator:new C.EnumValidator([0,1]),datasetBindingValidator:new s.DatasetBindingValidator,datasetCreateConfigValidator:new k.DatasetCreateConfigValidator,datasourceConnectionConfigValidator:new k.DatasourceConnectionConfigValidator,displayStateModeValidator:new C.EnumValidator([0,1]),displayStateValidator:new p.DisplayStateValidator,exportDataRequestValidator:new u.ExportDataRequestValidator,extensionArrayValidator:new C.ArrayValidator([new d.ExtensionValidator]),extensionsValidator:new _.AnyOfValidator([new C.ArrayValidator([new d.ExtensionValidator]),new d.ExtensionsValidator]),extensionPointsValidator:new d.ExtensionPointsValidator,extensionValidator:new d.ExtensionValidator,fieldForbiddenValidator:new T.FieldForbiddenValidator,fieldRequiredValidator:new E.FieldRequiredValidator,fieldsPaneValidator:new h.FieldsPaneValidator,filterColumnTargetValidator:new c.FilterColumnTargetValidator,filterDisplaySettingsValidator:new c.FilterDisplaySettingsValidator,filterConditionsValidator:new C.ArrayValidator([new c.ConditionItemValidator]),filterHierarchyTargetValidator:new c.FilterHierarchyTargetValidator,filterMeasureTargetValidator:new c.FilterMeasureTargetValidator,filterTargetValidator:new _.AnyOfValidator([new c.FilterColumnTargetValidator,new c.FilterHierarchyTargetValidator,new c.FilterMeasureTargetValidator,new C.ArrayValidator([new _.AnyOfValidator([new c.FilterColumnTargetValidator,new c.FilterHierarchyTargetValidator,new c.FilterMeasureTargetValidator,new c.FilterKeyColumnsTargetValidator,new c.FilterKeyHierarchyTargetValidator])])]),filterValidator:new c.FilterValidator,filterTypeValidator:new C.EnumValidator([0,1,2,3,4,5,6,7,9]),filtersArrayValidator:new C.ArrayValidator([new c.FilterValidator]),filtersOperationsUpdateValidator:new C.EnumValidator([1,2,3]),filtersOperationsRemoveAllValidator:new C.EnumValidator([0]),filtersPaneValidator:new h.FiltersPaneValidator,hyperlinkClickBehaviorValidator:new C.EnumValidator([0,1,2]),includeExcludeFilterValidator:new c.IncludeExcludeFilterValidator,includeExludeFilterTypeValidator:new C.EnumValidator([3]),hierarchyFilterTypeValidator:new C.EnumValidator([9]),hierarchyFilterValuesValidator:new C.ArrayValidator([new c.HierarchyFilterNodeValidator]),layoutTypeValidator:new C.EnumValidator([0,1,2,3]),loadQnaValidator:new v.LoadQnaValidator,menuExtensionValidator:new _.AnyOfValidator([new d.FlatMenuExtensionValidator,new d.GroupedMenuExtensionValidator]),menuGroupExtensionArrayValidator:new C.ArrayValidator([new d.MenuGroupExtensionValidator]),menuGroupExtensionValidator:new d.MenuGroupExtensionValidator,menuLocationValidator:new C.EnumValidator([0,1]),notSupportedFilterTypeValidator:new C.EnumValidator([2]),notSupportedFilterValidator:new c.NotSupportedFilterValidator,numberArrayValidator:new C.NumberArrayValidator,numberValidator:new C.NumberValidator,onLoadFiltersBaseValidator:new _.AnyOfValidator([new c.OnLoadFiltersBaseValidator,new c.OnLoadFiltersBaseRemoveOperationValidator]),pageLayoutValidator:new F.MapValidator([new C.StringValidator],[new p.VisualLayoutValidator]),pageNavigationPaneValidator:new h.PageNavigationPaneValidator,pageNavigationPositionValidator:new C.EnumValidator([0,1]),pageSizeTypeValidator:new C.EnumValidator([0,1,2,3,4,5]),pageSizeValidator:new f.PageSizeValidator,pageValidator:new f.PageValidator,pageViewFieldValidator:new f.PageViewFieldValidator,pagesLayoutValidator:new F.MapValidator([new C.StringValidator],[new p.PageLayoutValidator]),paginatedReportCommandsValidator:new o.PaginatedReportCommandsValidator,paginatedReportDatasetBindingArrayValidator:new C.ArrayValidator([new j.PaginatedReportDatasetBindingValidator]),paginatedReportLoadValidator:new V.PaginatedReportLoadValidator,paginatedReportsettingsValidator:new w.PaginatedReportSettingsValidator,parameterValuesArrayValidator:new C.ArrayValidator([new V.ReportParameterFieldsValidator]),parametersPanelValidator:new R.ParametersPanelValidator,permissionsValidator:new C.EnumValidator([0,1,2,4,7]),playBookmarkRequestValidator:new a.PlayBookmarkRequestValidator,printSettingsValidator:new A.PrintSettingsValidator,qnaInterpretInputDataValidator:new v.QnaInterpretInputDataValidator,qnaPanesValidator:new h.QnaPanesValidator,qnaSettingValidator:new v.QnaSettingsValidator,quickCreateValidator:new x.QuickCreateValidator,rawDataValidator:new C.ArrayValidator([new C.ArrayValidator([new C.StringValidator])]),relativeDateFilterOperatorValidator:new C.EnumValidator([0,1,2]),relativeDateFilterTimeUnitTypeValidator:new C.EnumValidator([0,1,2,3,4,5,6]),relativeDateFilterTypeValidator:new C.EnumValidator([4]),relativeDateFilterValidator:new c.RelativeDateFilterValidator,relativeDateTimeFilterTypeValidator:new C.EnumValidator([4,7]),relativeDateTimeFilterUnitTypeValidator:new C.EnumValidator([0,1,2,3,4,5,6,7,8]),relativeTimeFilterTimeUnitTypeValidator:new C.EnumValidator([7,8]),relativeTimeFilterTypeValidator:new C.EnumValidator([7]),relativeTimeFilterValidator:new c.RelativeTimeFilterValidator,reportBarsValidator:new i.ReportBarsValidator,reportCreateValidator:new y.ReportCreateValidator,reportLoadFiltersValidator:new _.AnyOfValidator([new C.ArrayValidator([new c.FilterValidator]),new c.OnLoadFiltersValidator]),reportLoadValidator:new m.ReportLoadValidator,reportPanesValidator:new h.ReportPanesValidator,saveAsParametersValidator:new g.SaveAsParametersValidator,selectionPaneValidator:new h.SelectionPaneValidator,settingsValidator:new w.SettingsValidator,singleCommandSettingsValidator:new o.SingleCommandSettingsValidator,slicerSelectorValidator:new _.AnyOfValidator([new b.VisualSelectorValidator,new b.SlicerTargetSelectorValidator]),slicerStateValidator:new P.SlicerStateValidator,slicerTargetValidator:new _.AnyOfValidator([new c.FilterColumnTargetValidator,new c.FilterHierarchyTargetValidator,new c.FilterMeasureTargetValidator,new c.FilterKeyColumnsTargetValidator,new c.FilterKeyHierarchyTargetValidator]),slicerValidator:new P.SlicerValidator,stringArrayValidator:new C.StringArrayValidator,stringValidator:new C.StringValidator,syncSlicersPaneValidator:new h.SyncSlicersPaneValidator,tableDataArrayValidator:new C.ArrayValidator([new k.TableDataValidator]),tableSchemaListValidator:new C.ArrayValidator([new k.TableSchemaValidator]),tileLoadValidator:new S.TileLoadValidator,tokenTypeValidator:new C.EnumValidator([0,1]),topNFilterTypeValidator:new C.EnumValidator([5]),topNFilterValidator:new c.TopNFilterValidator,updateFiltersRequestValidator:new _.AnyOfValidator([new c.UpdateFiltersRequestValidator,new c.RemoveFiltersRequestValidator]),viewModeValidator:new C.EnumValidator([0,1]),visualCommandSelectorValidator:new _.AnyOfValidator([new b.VisualSelectorValidator,new b.VisualTypeSelectorValidator]),visualHeaderSelectorValidator:new _.AnyOfValidator([new b.VisualSelectorValidator,new b.VisualTypeSelectorValidator]),visualHeaderSettingsValidator:new O.VisualHeaderSettingsValidator,visualHeaderValidator:new O.VisualHeaderValidator,visualHeadersValidator:new C.ArrayValidator([new O.VisualHeaderValidator]),visualizationsPaneValidator:new h.VisualizationsPaneValidator,visualLayoutValidator:new p.VisualLayoutValidator,visualSelectorValidator:new b.VisualSelectorValidator,visualSettingsValidator:new O.VisualSettingsValidator,visualTypeSelectorValidator:new b.VisualTypeSelectorValidator,zoomLevelValidator:new C.RangeValidator(.25,4)}},function(t,e,r){var i,a=this&&this.__extends||(i=function(t,e){return i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},i(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.StatusBarValidator=e.ActionBarValidator=e.ReportBarsValidator=void 0;var o=r(3),n=r(4),l=r(1),s=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return a(e,t),e.prototype.validate=function(e,r,i){if(null==e)return null;var a=t.prototype.validate.call(this,e,r,i);if(a)return a;var n=[{field:"actionBar",validators:[l.Validators.actionBarValidator]},{field:"statusBar",validators:[l.Validators.statusBarValidator]}];return new o.MultipleFieldsValidator(n).validate(e,r,i)},e}(n.ObjectValidator);e.ReportBarsValidator=s;var u=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return a(e,t),e.prototype.validate=function(e,r,i){if(null==e)return null;var a=t.prototype.validate.call(this,e,r,i);if(a)return a;var n=[{field:"visible",validators:[l.Validators.booleanValidator]}];return new o.MultipleFieldsValidator(n).validate(e,r,i)},e}(n.ObjectValidator);e.ActionBarValidator=u;var d=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return a(e,t),e.prototype.validate=function(e,r,i){if(null==e)return null;var a=t.prototype.validate.call(this,e,r,i);if(a)return a;var n=[{field:"visible",validators:[l.Validators.booleanValidator]}];return new o.MultipleFieldsValidator(n).validate(e,r,i)},e}(n.ObjectValidator);e.StatusBarValidator=d},(t,e)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.MultipleFieldsValidator=void 0;var r=function(){function t(t){this.fieldValidatorsPairs=t}return t.prototype.validate=function(t,e,r){if(!this.fieldValidatorsPairs)return null;for(var i=e?e+"."+r:r,a=0,o=this.fieldValidatorsPairs;athis.maxValue||e{Object.defineProperty(e,"__esModule",{value:!0}),e.AnyOfValidator=void 0;var r=function(){function t(t){this.validators=t}return t.prototype.validate=function(t,e,r){if(null==t)return null;for(var i=!1,a=0,o=this.validators;a{Object.defineProperty(e,"__esModule",{value:!0}),e.FieldForbiddenValidator=void 0;var r=function(){function t(){}return t.prototype.validate=function(t,e,r){return void 0!==t?[{message:r+" is forbidden",path:(e?e+".":"")+r,keyword:"forbidden"}]:null},t}();e.FieldForbiddenValidator=r},(t,e)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.FieldRequiredValidator=void 0;var r=function(){function t(){}return t.prototype.validate=function(t,e,r){return null==t?[{message:r+" is required",path:(e?e+".":"")+r,keyword:"required"}]:null},t}();e.FieldRequiredValidator=r},function(t,e,r){var i,a=this&&this.__extends||(i=function(t,e){return i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},i(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.MapValidator=void 0;var o=function(t){function e(e,r){var i=t.call(this)||this;return i.keyValidators=e,i.valueValidators=r,i}return a(e,t),e.prototype.validate=function(e,r,i){if(null==e)return null;var a=t.prototype.validate.call(this,e,r,i);if(a)return a;for(var o in e)if(e.hasOwnProperty(o)){for(var n=(r?r+".":"")+i+"."+o,l=0,s=this.keyValidators;l2&&"[]"===n.slice(l-2)&&(s=!0,r[n=n.slice(0,l-2)]||(r[n]=[])),a=o[1]?g(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(-1!==(i=t.indexOf("?"))){var l=t.substr(i+1,t.length);t=t.substr(0,i),o=this.parseQueryString(l)}for("/"!==(t=decodeURI(t)).charAt(0)&&(t="/"+t),(e=t.length)>1&&"/"===t.charAt(e-1)&&(t=t.substr(0,e-1),n=!0),r=0;r{Object.defineProperty(e,"__esModule",{value:!0}),e.FilterBuilder=void 0;var r=function(){function t(){}return t.prototype.withTargetObject=function(t){return this.target=t,this},t.prototype.withColumnTarget=function(t,e){return this.target={table:t,column:e},this},t.prototype.withMeasureTarget=function(t,e){return this.target={table:t,measure:e},this},t.prototype.withHierarchyLevelTarget=function(t,e,r){return this.target={table:t,hierarchy:e,hierarchyLevel:r},this},t.prototype.withColumnAggregation=function(t,e,r){return this.target={table:t,column:e,aggregationFunction:r},this},t.prototype.withHierarchyLevelAggregationTarget=function(t,e,r,i){return this.target={table:t,hierarchy:e,hierarchyLevel:r,aggregationFunction:i},this},t}();e.FilterBuilder=r},567:(t,e,r)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.RelativeTimeFilterBuilder=e.RelativeDateFilterBuilder=e.TopNFilterBuilder=e.AdvancedFilterBuilder=e.BasicFilterBuilder=void 0;var i=r(153);Object.defineProperty(e,"BasicFilterBuilder",{enumerable:!0,get:function(){return i.BasicFilterBuilder}});var a=r(674);Object.defineProperty(e,"AdvancedFilterBuilder",{enumerable:!0,get:function(){return a.AdvancedFilterBuilder}});var o=r(664);Object.defineProperty(e,"TopNFilterBuilder",{enumerable:!0,get:function(){return o.TopNFilterBuilder}});var n=r(844);Object.defineProperty(e,"RelativeDateFilterBuilder",{enumerable:!0,get:function(){return n.RelativeDateFilterBuilder}});var l=r(275);Object.defineProperty(e,"RelativeTimeFilterBuilder",{enumerable:!0,get:function(){return l.RelativeTimeFilterBuilder}})},844:function(t,e,r){var i,a=this&&this.__extends||(i=function(t,e){return i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},i(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.RelativeDateFilterBuilder=void 0;var o=r(149),n=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.isTodayIncluded=!0,e}return a(e,t),e.prototype.inLast=function(t,e){return this.operator=o.RelativeDateOperators.InLast,this.timeUnitsCount=t,this.timeUnitType=e,this},e.prototype.inThis=function(t,e){return this.operator=o.RelativeDateOperators.InThis,this.timeUnitsCount=t,this.timeUnitType=e,this},e.prototype.inNext=function(t,e){return this.operator=o.RelativeDateOperators.InNext,this.timeUnitsCount=t,this.timeUnitType=e,this},e.prototype.includeToday=function(t){return this.isTodayIncluded=t,this},e.prototype.build=function(){return new o.RelativeDateFilter(this.target,this.operator,this.timeUnitsCount,this.timeUnitType,this.isTodayIncluded)},e}(r(277).FilterBuilder);e.RelativeDateFilterBuilder=n},275:function(t,e,r){var i,a=this&&this.__extends||(i=function(t,e){return i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},i(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.RelativeTimeFilterBuilder=void 0;var o=r(149),n=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return a(e,t),e.prototype.inLast=function(t,e){return this.operator=o.RelativeDateOperators.InLast,this.timeUnitsCount=t,this.timeUnitType=e,this},e.prototype.inThis=function(t,e){return this.operator=o.RelativeDateOperators.InThis,this.timeUnitsCount=t,this.timeUnitType=e,this},e.prototype.inNext=function(t,e){return this.operator=o.RelativeDateOperators.InNext,this.timeUnitsCount=t,this.timeUnitType=e,this},e.prototype.build=function(){return new o.RelativeTimeFilter(this.target,this.operator,this.timeUnitsCount,this.timeUnitType)},e}(r(277).FilterBuilder);e.RelativeTimeFilterBuilder=n},664:function(t,e,r){var i,a=this&&this.__extends||(i=function(t,e){return i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},i(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.TopNFilterBuilder=void 0;var o=r(149),n=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return a(e,t),e.prototype.top=function(t){return this.operator="Top",this.itemCount=t,this},e.prototype.bottom=function(t){return this.operator="Bottom",this.itemCount=t,this},e.prototype.orderByTarget=function(t){return this.orderByTargetValue=t,this},e.prototype.build=function(){return new o.TopNFilter(this.target,this.operator,this.itemCount,this.orderByTargetValue)},e}(r(277).FilterBuilder);e.TopNFilterBuilder=n},460:function(t,e,r){var i=this&&this.__awaiter||function(t,e,r,i){return new(r||(r=Promise))((function(a,o){function n(t){try{s(i.next(t))}catch(t){o(t)}}function l(t){try{s(i.throw(t))}catch(t){o(t)}}function s(t){var e;t.done?a(t.value):(e=t.value,e instanceof r?e:new r((function(t){t(e)}))).then(n,l)}s((i=i.apply(t,e||[])).next())}))},a=this&&this.__generator||function(t,e){var r,i,a,o,n={label:0,sent:function(){if(1&a[0])throw a[1];return a[1]},trys:[],ops:[]};return o={next:l(0),throw:l(1),return:l(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function l(o){return function(l){return function(o){if(r)throw new TypeError("Generator is already executing.");for(;n;)try{if(r=1,i&&(a=2&o[0]?i.return:o[0]?i.throw||((a=i.return)&&a.call(i),0):i.next)&&!(a=a.call(i,o[1])).done)return a;switch(i=0,a&&(o=[2&o[0],a.value]),o[0]){case 0:case 1:a=o;break;case 4:return n.label++,{value:o[1],done:!1};case 5:n.label++,i=o[1],o=[0];continue;case 7:o=n.ops.pop(),n.trys.pop();continue;default:if(!((a=(a=n.trys).length>0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]{Object.defineProperty(e,"__esModule",{value:!0}),e.default={version:"2.23.0",type:"js"}},536:function(t,e,r){var i,a=this&&this.__extends||(i=function(t,e){return i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},i(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}),o=this&&this.__awaiter||function(t,e,r,i){return new(r||(r=Promise))((function(a,o){function n(t){try{s(i.next(t))}catch(t){o(t)}}function l(t){try{s(i.throw(t))}catch(t){o(t)}}function s(t){var e;t.done?a(t.value):(e=t.value,e instanceof r?e:new r((function(t){t(e)}))).then(n,l)}s((i=i.apply(t,e||[])).next())}))},n=this&&this.__generator||function(t,e){var r,i,a,o,n={label:0,sent:function(){if(1&a[0])throw a[1];return a[1]},trys:[],ops:[]};return o={next:l(0),throw:l(1),return:l(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function l(o){return function(l){return function(o){if(r)throw new TypeError("Generator is already executing.");for(;n;)try{if(r=1,i&&(a=2&o[0]?i.return:o[0]?i.throw||((a=i.return)&&a.call(i),0):i.next)&&!(a=a.call(i,o[1])).done)return a;switch(i=0,a&&(o=[2&o[0],a.value]),o[0]){case 0:case 1:a=o;break;case 4:return n.label++,{value:o[1],done:!1};case 5:n.label++,i=o[1],o=[0];continue;case 7:o=n.ops.pop(),n.trys.pop();continue;default:if(!((a=(a=n.trys).length>0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]{Object.defineProperty(e,"__esModule",{value:!0}),e.invalidEmbedUrlErrorMessage=e.EmbedUrlNotSupported=e.APINotSupportedForRDLError=void 0,e.APINotSupportedForRDLError="This API is currently not supported for RDL reports",e.EmbedUrlNotSupported="Embed URL is invalid for this scenario. Please use Power BI REST APIs to get the valid URL",e.invalidEmbedUrlErrorMessage="Invalid embed URL detected. Either URL hostname or protocol are invalid. Please use Power BI REST APIs to get the valid URL"},357:(t,e,r)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.routerFactory=e.wpmpFactory=e.hpmFactory=void 0;var i=r(960),a=r(319),o=r(891),n=r(913);e.hpmFactory=function(t,e,r,i,o){return void 0===r&&(r=n.default.version),void 0===i&&(i=n.default.type),new a.HttpPostMessage(t,{"x-sdk-type":i,"x-sdk-version":r,"x-sdk-wrapper-version":o},e)},e.wpmpFactory=function(t,e,r){return new i.WindowPostMessageProxy({processTrackingProperties:{addTrackingProperties:a.HttpPostMessage.addTrackingProperties,getTrackingProperties:a.HttpPostMessage.getTrackingProperties},isErrorMessage:a.HttpPostMessage.isErrorMessage,suppressWarnings:!0,name:t,logMessages:e,eventSourceOverrideWindow:r})},e.routerFactory=function(t){return new o.Router(t)}},220:function(t,e,r){var i=this&&this.__awaiter||function(t,e,r,i){return new(r||(r=Promise))((function(a,o){function n(t){try{s(i.next(t))}catch(t){o(t)}}function l(t){try{s(i.throw(t))}catch(t){o(t)}}function s(t){var e;t.done?a(t.value):(e=t.value,e instanceof r?e:new r((function(t){t(e)}))).then(n,l)}s((i=i.apply(t,e||[])).next())}))},a=this&&this.__generator||function(t,e){var r,i,a,o,n={label:0,sent:function(){if(1&a[0])throw a[1];return a[1]},trys:[],ops:[]};return o={next:l(0),throw:l(1),return:l(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function l(o){return function(l){return function(o){if(r)throw new TypeError("Generator is already executing.");for(;n;)try{if(r=1,i&&(a=2&o[0]?i.return:o[0]?i.throw||((a=i.return)&&a.call(i),0):i.next)&&!(a=a.call(i,o[1])).done)return a;switch(i=0,a&&(o=[2&o[0],a.value]),o[0]){case 0:case 1:a=o;break;case 4:return n.label++,{value:o[1],done:!1};case 5:n.label++,i=o[1],o=[0];continue;case 7:o=n.ops.pop(),n.trys.pop();continue;default:if(!((a=(a=n.trys).length>0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0?"&":"?";return t+(i+e+"=")+r},e.isSavedInternal=function(t,e,a){return r(this,void 0,void 0,(function(){return i(this,(function(r){switch(r.label){case 0:return r.trys.push([0,2,,3]),[4,t.get("/report/hasUnsavedChanges",{uid:e},a)];case 1:return[2,!r.sent().body];case 2:throw r.sent().body;case 3:return[2]}}))}))},e.isRDLEmbed=function(t){return t&&t.toLowerCase().indexOf("/rdlembed?")>=0},e.autoAuthInEmbedUrl=function(t){return t&&decodeURIComponent(t).toLowerCase().indexOf("autoauth=true")>=0},e.getRandomValue=l,e.getTimeDiffInMilliseconds=function(t,e){return Math.abs(t.getTime()-e.getTime())},e.isCreate=function(t){return"create"===t||"quickcreate"===t},e.validateEmbedUrl=function(t){if(t){var e=void 0;try{e=new URL(t.toLowerCase())}catch(t){return!1}return"https:"===e.protocol&&(a.test(e.hostname)||o.test(e.hostname))}}},23:function(t,e,r){var i,a=this&&this.__extends||(i=function(t,e){return i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},i(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}),o=this&&this.__awaiter||function(t,e,r,i){return new(r||(r=Promise))((function(a,o){function n(t){try{s(i.next(t))}catch(t){o(t)}}function l(t){try{s(i.throw(t))}catch(t){o(t)}}function s(t){var e;t.done?a(t.value):(e=t.value,e instanceof r?e:new r((function(t){t(e)}))).then(n,l)}s((i=i.apply(t,e||[])).next())}))},n=this&&this.__generator||function(t,e){var r,i,a,o,n={label:0,sent:function(){if(1&a[0])throw a[1];return a[1]},trys:[],ops:[]};return o={next:l(0),throw:l(1),return:l(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function l(o){return function(l){return function(o){if(r)throw new TypeError("Generator is already executing.");for(;n;)try{if(r=1,i&&(a=2&o[0]?i.return:o[0]?i.throw||((a=i.return)&&a.call(i),0):i.next)&&!(a=a.call(i,o[1])).done)return a;switch(i=0,a&&(o=[2&o[0],a.value]),o[0]){case 0:case 1:a=o;break;case 4:return n.label++,{value:o[1],done:!1};case 5:n.label++,i=o[1],o=[0];continue;case 7:o=n.ops.pop(),n.trys.pop();continue;default:if(!((a=(a=n.trys).length>0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]{var e;self,e=()=>(()=>{"use strict";var t={};return(()=>{var e=t;Object.defineProperty(e,"__esModule",{value:!0}),e.WindowPostMessageProxy=void 0;var r=function(){function t(e){void 0===e&&(e={processTrackingProperties:{addTrackingProperties:t.defaultAddTrackingProperties,getTrackingProperties:t.defaultGetTrackingProperties},isErrorMessage:t.defaultIsErrorMessage,receiveWindow:window,name:t.createRandomString()});var r=this;this.pendingRequestPromises={},this.addTrackingProperties=e.processTrackingProperties&&e.processTrackingProperties.addTrackingProperties||t.defaultAddTrackingProperties,this.getTrackingProperties=e.processTrackingProperties&&e.processTrackingProperties.getTrackingProperties||t.defaultGetTrackingProperties,this.isErrorMessage=e.isErrorMessage||t.defaultIsErrorMessage,this.receiveWindow=e.receiveWindow||window,this.name=e.name||t.createRandomString(),this.logMessages=e.logMessages||!1,this.eventSourceOverrideWindow=e.eventSourceOverrideWindow,this.suppressWarnings=e.suppressWarnings||!1,this.logMessages&&console.log("new WindowPostMessageProxy created with name: ".concat(this.name," receiving on window: ").concat(this.receiveWindow.document.title)),this.handlers=[],this.windowMessageHandler=function(t){return r.onMessageReceived(t)},this.start()}return t.defaultAddTrackingProperties=function(e,r){return e[t.messagePropertyName]=r,e},t.defaultGetTrackingProperties=function(e){return e[t.messagePropertyName]},t.defaultIsErrorMessage=function(t){return!!t.error},t.createDeferred=function(){var t={resolve:null,reject:null,promise:null},e=new Promise((function(e,r){t.resolve=e,t.reject=r}));return t.promise=e,t},t.createRandomString=function(){var t=window.crypto||window.msCrypto,e=new Uint32Array(1);return t.getRandomValues(e),e[0].toString(36).substring(1)},t.prototype.addHandler=function(t){this.handlers.push(t)},t.prototype.removeHandler=function(t){var e=this.handlers.indexOf(t);if(-1===e)throw new Error("You attempted to remove a handler but no matching handler was found.");this.handlers.splice(e,1)},t.prototype.start=function(){this.receiveWindow.addEventListener("message",this.windowMessageHandler)},t.prototype.stop=function(){this.receiveWindow.removeEventListener("message",this.windowMessageHandler)},t.prototype.postMessage=function(e,r,i){var a={id:t.createRandomString()};this.addTrackingProperties(r,a),console.log("".concat(this.name," Posting message:")),console.log(JSON.stringify(r,null," ")),console.log("target origin: ".concat(i)),e.postMessage(r,null!=i?i:"*");var o=t.createDeferred();return this.pendingRequestPromises[a.id]=o,o.promise},t.prototype.sendResponse=function(t,e,r,i){this.addTrackingProperties(e,r),this.logMessages&&(console.log("".concat(this.name," Sending response:")),console.log(JSON.stringify(e,null," "))),t.postMessage(e,null!=i?i:"*")},t.prototype.onMessageReceived=function(t){var e=this;this.logMessages&&(console.log("".concat(this.name," Received message:")),console.log("type: ".concat(t.type)),console.log(JSON.stringify(t.data,null," ")));var r=this.eventSourceOverrideWindow||t.source;if(r){var i=t.data;if("object"==typeof i){var a,o;try{a=this.getTrackingProperties(i)}catch(t){this.suppressWarnings||console.warn("Proxy(".concat(this.name,"): Error occurred when attempting to get tracking properties from incoming message:"),JSON.stringify(i,null," "),"Error: ",t)}if(a&&(o=this.pendingRequestPromises[a.id]),o){var n=!0;try{n=this.isErrorMessage(i)}catch(t){console.warn("Proxy(".concat(this.name,") Error occurred when trying to determine if message is consider an error response. Message: "),JSON.stringify(i,null,""),"Error: ",t)}n?o.reject(i):o.resolve(i),delete this.pendingRequestPromises[a.id]}else this.handlers.some((function(t){var o=!1;try{o=t.test(i)}catch(t){e.suppressWarnings||console.warn("Proxy(".concat(e.name,"): Error occurred when handler was testing incoming message:"),JSON.stringify(i,null," "),"Error: ",t)}if(o){var n=void 0;try{n=Promise.resolve(t.handle(i))}catch(t){e.suppressWarnings||console.warn("Proxy(".concat(e.name,"): Error occurred when handler was processing incoming message:"),JSON.stringify(i,null," "),"Error: ",t),n=Promise.resolve()}return n.then((function(t){if(!t){var o="Handler for message: ".concat(JSON.stringify(i,null," ")," did not return a response message. The default response message will be returned instead.");e.suppressWarnings||console.warn("Proxy(".concat(e.name,"): ").concat(o)),t={warning:o}}e.sendResponse(r,t,a)})),!0}}))||this.suppressWarnings||console.warn("Proxy(".concat(this.name,") did not handle message. Handlers: ").concat(this.handlers.length," Message: ").concat(JSON.stringify(i,null,""),"."))}else this.suppressWarnings||console.warn("Proxy(".concat(this.name,"): Received message that was not an object. Discarding message"))}},t.messagePropertyName="windowPostMessageProxy",t}();e.WindowPostMessageProxy=r})(),t})(),t.exports=e()}},e={};function r(i){var a=e[i];if(void 0!==a)return a.exports;var o=e[i]={exports:{}};return t[i].call(o.exports,o,o.exports,r),o.exports}var i={};return(()=>{var t=i;Object.defineProperty(t,"__esModule",{value:!0}),t.RelativeTimeFilterBuilder=t.RelativeDateFilterBuilder=t.TopNFilterBuilder=t.AdvancedFilterBuilder=t.BasicFilterBuilder=t.Create=t.QuickCreate=t.VisualDescriptor=t.Visual=t.Qna=t.Page=t.Embed=t.Tile=t.Dashboard=t.Report=t.models=t.factories=t.service=void 0;var e=r(149);t.models=e;var a=r(562);t.service=a;var o=r(357);t.factories=o;var n=r(125);Object.defineProperty(t,"Report",{enumerable:!0,get:function(){return n.Report}});var l=r(365);Object.defineProperty(t,"Dashboard",{enumerable:!0,get:function(){return l.Dashboard}});var s=r(43);Object.defineProperty(t,"Tile",{enumerable:!0,get:function(){return s.Tile}});var u=r(932);Object.defineProperty(t,"Embed",{enumerable:!0,get:function(){return u.Embed}});var d=r(220);Object.defineProperty(t,"Page",{enumerable:!0,get:function(){return d.Page}});var c=r(148);Object.defineProperty(t,"Qna",{enumerable:!0,get:function(){return c.Qna}});var p=r(23);Object.defineProperty(t,"Visual",{enumerable:!0,get:function(){return p.Visual}});var f=r(558);Object.defineProperty(t,"VisualDescriptor",{enumerable:!0,get:function(){return f.VisualDescriptor}});var h=r(714);Object.defineProperty(t,"QuickCreate",{enumerable:!0,get:function(){return h.QuickCreate}});var v=r(536);Object.defineProperty(t,"Create",{enumerable:!0,get:function(){return v.Create}});var y=r(567);Object.defineProperty(t,"BasicFilterBuilder",{enumerable:!0,get:function(){return y.BasicFilterBuilder}}),Object.defineProperty(t,"AdvancedFilterBuilder",{enumerable:!0,get:function(){return y.AdvancedFilterBuilder}}),Object.defineProperty(t,"TopNFilterBuilder",{enumerable:!0,get:function(){return y.TopNFilterBuilder}}),Object.defineProperty(t,"RelativeDateFilterBuilder",{enumerable:!0,get:function(){return y.RelativeDateFilterBuilder}}),Object.defineProperty(t,"RelativeTimeFilterBuilder",{enumerable:!0,get:function(){return y.RelativeTimeFilterBuilder}});var m=new a.Service(o.hpmFactory,o.wpmpFactory,o.routerFactory);window.powerbi&&window.powerBISDKGlobalServiceInstanceName?window[window.powerBISDKGlobalServiceInstanceName]=m:window.powerbi=m})(),i})())); \ No newline at end of file +!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,(()=>(()=>{var t={615:function(t){var e;e=function(){return function(t){var e={};function r(i){if(e[i])return e[i].exports;var a=e[i]={exports:{},id:i,loaded:!1};return t[i].call(a.exports,a,a.exports,r),a.loaded=!0,a.exports}return r.m=t,r.c=e,r.p="",r(0)}([function(t,e){"use strict";var r=function(){function t(t,e,r){void 0===e&&(e={}),this.defaultHeaders=e,this.defaultTargetWindow=r,this.windowPostMessageProxy=t}return t.addTrackingProperties=function(t,e){return t.headers=t.headers||{},e&&e.id&&(t.headers.id=e.id),t},t.getTrackingProperties=function(t){return{id:t.headers&&t.headers.id}},t.isErrorMessage=function(t){return"number"==typeof(t&&t.statusCode)&&!(200<=t.statusCode&&t.statusCode<300)},t.prototype.get=function(t,e,r){return void 0===e&&(e={}),void 0===r&&(r=this.defaultTargetWindow),this.send({method:"GET",url:t,headers:e},r)},t.prototype.post=function(t,e,r,i){return void 0===r&&(r={}),void 0===i&&(i=this.defaultTargetWindow),this.send({method:"POST",url:t,headers:r,body:e},i)},t.prototype.put=function(t,e,r,i){return void 0===r&&(r={}),void 0===i&&(i=this.defaultTargetWindow),this.send({method:"PUT",url:t,headers:r,body:e},i)},t.prototype.patch=function(t,e,r,i){return void 0===r&&(r={}),void 0===i&&(i=this.defaultTargetWindow),this.send({method:"PATCH",url:t,headers:r,body:e},i)},t.prototype.delete=function(t,e,r,i){return void 0===e&&(e=null),void 0===r&&(r={}),void 0===i&&(i=this.defaultTargetWindow),this.send({method:"DELETE",url:t,headers:r,body:e},i)},t.prototype.send=function(t,e){if(void 0===e&&(e=this.defaultTargetWindow),t.headers=this.assign({},this.defaultHeaders,t.headers),!e)throw new Error("target window is not provided. You must either provide the target window explicitly as argument to request, or specify default target window when constructing instance of this class.");return this.windowPostMessageProxy.postMessage(e,t)},t.prototype.assign=function(t){for(var e=[],r=1;r(()=>{var t=[function(t,e,r){var i,a=this&&this.__extends||(i=function(t,e){return i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},i(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.TextAlignment=e.CommonErrorCodes=e.BookmarksPlayMode=e.ExportDataType=e.QnaMode=e.PageNavigationPosition=e.BrowserPrintAdjustmentsMode=e.AggregateFunction=e.DataCacheMode=e.CredentialType=e.isPercentOfGrandTotal=e.isColumnAggr=e.isHierarchyLevelAggr=e.isHierarchyLevel=e.isColumn=e.isMeasure=e.getFilterType=e.isBasicFilterWithKeys=e.isFilterKeyColumnsTarget=e.HierarchyFilter=e.AdvancedFilter=e.TupleFilter=e.IdentityFilter=e.BasicFilterWithKeys=e.BasicFilter=e.RelativeTimeFilter=e.RelativeDateFilter=e.TopNFilter=e.IncludeExcludeFilter=e.NotSupportedFilter=e.Filter=e.RelativeDateOperators=e.RelativeDateFilterTimeUnit=e.FilterType=e.FiltersLevel=e.FiltersOperations=e.MenuLocation=e.ContrastMode=e.TokenType=e.ViewMode=e.Permissions=e.SectionVisibility=e.ReportAlignment=e.HyperlinkClickBehavior=e.LayoutType=e.VisualContainerDisplayMode=e.BackgroundType=e.DisplayOption=e.PageSizeType=e.TraceType=void 0,e.validateVisualHeader=e.validateExportDataRequest=e.validateQnaInterpretInputData=e.validateLoadQnaConfiguration=e.validateSaveAsParameters=e.validateUpdateFiltersRequest=e.validateFilter=e.validatePage=e.validateTileLoad=e.validateDashboardLoad=e.validateQuickCreate=e.validateCreateReport=e.validatePaginatedReportLoad=e.validateReportLoad=e.validateMenuGroupExtension=e.validateExtension=e.validateCustomPageSize=e.validateVisualizationsPane=e.validateSyncSlicersPane=e.validateSelectionPane=e.validatePageNavigationPane=e.validateFieldsPane=e.validateFiltersPane=e.validateBookmarksPane=e.validatePanes=e.validateSettings=e.validateCaptureBookmarkRequest=e.validateApplyBookmarkStateRequest=e.validateApplyBookmarkByNameRequest=e.validateAddBookmarkRequest=e.validatePlayBookmarkRequest=e.validateSlicerState=e.validateSlicer=e.validateVisualSelector=e.isIExtensionArray=e.isIExtensions=e.isGroupedMenuExtension=e.isFlatMenuExtension=e.isReportFiltersArray=e.isOnLoadFilters=e.VisualDataRoleKindPreference=e.VisualDataRoleKind=e.CommandDisplayOption=e.SlicerTargetSelector=e.VisualTypeSelector=e.VisualSelector=e.PageSelector=e.Selector=e.SortDirection=e.LegendPosition=void 0,e.validatePrintSettings=e.validateZoomLevel=e.validateCustomTheme=e.validateCommandsSettings=e.validateVisualSettings=void 0;var o,n,l,s,u,d,c,p,f,h,v,y,m,V,g,b,w,P,S,O=r(1);(S=e.TraceType||(e.TraceType={}))[S.Information=0]="Information",S[S.Verbose=1]="Verbose",S[S.Warning=2]="Warning",S[S.Error=3]="Error",S[S.ExpectedError=4]="ExpectedError",S[S.UnexpectedError=5]="UnexpectedError",S[S.Fatal=6]="Fatal",(P=e.PageSizeType||(e.PageSizeType={}))[P.Widescreen=0]="Widescreen",P[P.Standard=1]="Standard",P[P.Cortana=2]="Cortana",P[P.Letter=3]="Letter",P[P.Custom=4]="Custom",P[P.Mobile=5]="Mobile",(w=e.DisplayOption||(e.DisplayOption={}))[w.FitToPage=0]="FitToPage",w[w.FitToWidth=1]="FitToWidth",w[w.ActualSize=2]="ActualSize",(b=e.BackgroundType||(e.BackgroundType={}))[b.Default=0]="Default",b[b.Transparent=1]="Transparent",(g=e.VisualContainerDisplayMode||(e.VisualContainerDisplayMode={}))[g.Visible=0]="Visible",g[g.Hidden=1]="Hidden",(V=e.LayoutType||(e.LayoutType={}))[V.Master=0]="Master",V[V.Custom=1]="Custom",V[V.MobilePortrait=2]="MobilePortrait",V[V.MobileLandscape=3]="MobileLandscape",(m=e.HyperlinkClickBehavior||(e.HyperlinkClickBehavior={}))[m.Navigate=0]="Navigate",m[m.NavigateAndRaiseEvent=1]="NavigateAndRaiseEvent",m[m.RaiseEvent=2]="RaiseEvent",(y=e.ReportAlignment||(e.ReportAlignment={}))[y.Left=0]="Left",y[y.Center=1]="Center",y[y.Right=2]="Right",y[y.None=3]="None",(v=e.SectionVisibility||(e.SectionVisibility={}))[v.AlwaysVisible=0]="AlwaysVisible",v[v.HiddenInViewMode=1]="HiddenInViewMode",(h=e.Permissions||(e.Permissions={}))[h.Read=0]="Read",h[h.ReadWrite=1]="ReadWrite",h[h.Copy=2]="Copy",h[h.Create=4]="Create",h[h.All=7]="All",(f=e.ViewMode||(e.ViewMode={}))[f.View=0]="View",f[f.Edit=1]="Edit",(p=e.TokenType||(e.TokenType={}))[p.Aad=0]="Aad",p[p.Embed=1]="Embed",(c=e.ContrastMode||(e.ContrastMode={}))[c.None=0]="None",c[c.HighContrast1=1]="HighContrast1",c[c.HighContrast2=2]="HighContrast2",c[c.HighContrastBlack=3]="HighContrastBlack",c[c.HighContrastWhite=4]="HighContrastWhite",(d=e.MenuLocation||(e.MenuLocation={}))[d.Bottom=0]="Bottom",d[d.Top=1]="Top",(u=e.FiltersOperations||(e.FiltersOperations={}))[u.RemoveAll=0]="RemoveAll",u[u.ReplaceAll=1]="ReplaceAll",u[u.Add=2]="Add",u[u.Replace=3]="Replace",(s=e.FiltersLevel||(e.FiltersLevel={}))[s.Report=0]="Report",s[s.Page=1]="Page",s[s.Visual=2]="Visual",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",t[t.Identity=8]="Identity",t[t.Hierarchy=9]="Hierarchy"}(o=e.FilterType||(e.FilterType={})),(l=e.RelativeDateFilterTimeUnit||(e.RelativeDateFilterTimeUnit={}))[l.Days=0]="Days",l[l.Weeks=1]="Weeks",l[l.CalendarWeeks=2]="CalendarWeeks",l[l.Months=3]="Months",l[l.CalendarMonths=4]="CalendarMonths",l[l.Years=5]="Years",l[l.CalendarYears=6]="CalendarYears",l[l.Minutes=7]="Minutes",l[l.Hours=8]="Hours",(n=e.RelativeDateOperators||(e.RelativeDateOperators={}))[n.InLast=0]="InLast",n[n.InThis=1]="InThis",n[n.InNext=2]="InNext";var _=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=_;var E=function(t){function e(r,i,a){var n=t.call(this,r,o.Unknown)||this;return n.message=i,n.notSupportedTypeName=a,n.schemaUrl=e.schemaUrl,n}return a(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}(_);e.NotSupportedFilter=E;var T=function(t){function e(r,i,a){var n=t.call(this,r,o.IncludeExclude)||this;return n.values=a,n.isExclude=i,n.schemaUrl=e.schemaUrl,n}return a(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}(_);e.IncludeExcludeFilter=T;var F=function(t){function e(r,i,a,n){var l=t.call(this,r,o.TopN)||this;return l.operator=i,l.itemCount=a,l.schemaUrl=e.schemaUrl,l.orderBy=n,l}return a(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}(_);e.TopNFilter=F;var C=function(t){function e(r,i,a,n,l){var s=t.call(this,r,o.RelativeDate)||this;return s.operator=i,s.timeUnitsCount=a,s.timeUnitType=n,s.includeToday=l,s.schemaUrl=e.schemaUrl,s}return a(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}(_);e.RelativeDateFilter=C;var R=function(t){function e(r,i,a,n){var l=t.call(this,r,o.RelativeTime)||this;return l.operator=i,l.timeUnitsCount=a,l.timeUnitType=n,l.schemaUrl=e.schemaUrl,l}return a(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}(_);e.RelativeTimeFilter=R;var k=function(t){function e(r,i){for(var a=[],n=2;n0&&!a)throw new Error("You should pass the values to be filtered for each key. You passed: no values and ".concat(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,s=o.keyValues;l2)throw new Error("AdvancedFilters may not have more than two conditions. You passed: ".concat(a.length));if(1===l.length&&"And"!==i)throw new Error('Logical Operator must be "And" when there is only one condition provided');return s.conditions=l,s}return a(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}(_);e.AdvancedFilter=M;var I,L,q,D,N,B,U,H,W,z=function(t){function e(r,i){var a=t.call(this,r,o.Hierarchy)||this;return a.schemaUrl=e.schemaUrl,a.hierarchyData=i,a}return a(e,t),e.prototype.toJSON=function(){var e=t.prototype.toJSON.call(this);return e.hierarchyData=this.hierarchyData,e.target=this.target,e},e.schemaUrl="http://powerbi.com/product/schema#hierarchy",e}(_);function Q(t){if(t.filterType)return t.filterType;var e=t,r=t;return"string"==typeof e.operator&&Array.isArray(e.values)?o.Basic:"string"==typeof r.logicalOperator&&Array.isArray(r.conditions)?o.Advanced:o.Unknown}function G(t){return!(!t.table||!t.column||t.aggregationFunction)}e.HierarchyFilter=z,e.isFilterKeyColumnsTarget=function(t){return G(t)&&!!t.keys},e.isBasicFilterWithKeys=function(t){return Q(t)===o.Basic&&!!t.keyValues},e.getFilterType=Q,e.isMeasure=function(t){return void 0!==t.table&&void 0!==t.measure},e.isColumn=G,e.isHierarchyLevel=function(t){return!(!(t.table&&t.hierarchy&&t.hierarchyLevel)||t.aggregationFunction)},e.isHierarchyLevelAggr=function(t){return!!(t.table&&t.hierarchy&&t.hierarchyLevel&&t.aggregationFunction)},e.isColumnAggr=function(t){return!!(t.table&&t.column&&t.aggregationFunction)},e.isPercentOfGrandTotal=function(t){return!!t.percentOfGrandTotal},(W=e.CredentialType||(e.CredentialType={}))[W.NoConnection=0]="NoConnection",W[W.OnBehalfOf=1]="OnBehalfOf",W[W.Anonymous=2]="Anonymous",(H=e.DataCacheMode||(e.DataCacheMode={}))[H.Import=0]="Import",H[H.DirectQuery=1]="DirectQuery",(U=e.AggregateFunction||(e.AggregateFunction={}))[U.Default=1]="Default",U[U.None=2]="None",U[U.Sum=3]="Sum",U[U.Min=4]="Min",U[U.Max=5]="Max",U[U.Count=6]="Count",U[U.Average=7]="Average",U[U.DistinctCount=8]="DistinctCount",(B=e.BrowserPrintAdjustmentsMode||(e.BrowserPrintAdjustmentsMode={}))[B.Default=0]="Default",B[B.NoAdjustments=1]="NoAdjustments",(N=e.PageNavigationPosition||(e.PageNavigationPosition={}))[N.Bottom=0]="Bottom",N[N.Left=1]="Left",(D=e.QnaMode||(e.QnaMode={}))[D.Interactive=0]="Interactive",D[D.ResultOnly=1]="ResultOnly",(q=e.ExportDataType||(e.ExportDataType={}))[q.Summarized=0]="Summarized",q[q.Underlying=1]="Underlying",(L=e.BookmarksPlayMode||(e.BookmarksPlayMode={}))[L.Off=0]="Off",L[L.Presentation=1]="Presentation",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"},(I=e.SortDirection||(e.SortDirection={}))[I.Ascending=1]="Ascending",I[I.Descending=2]="Descending";var J=function(){function t(t){this.$schema=t}return t.prototype.toJSON=function(){return{$schema:this.$schema}},t}();e.Selector=J;var K=function(t){function e(r){var i=t.call(this,e.schemaUrl)||this;return i.pageName=r,i}return a(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}(J);e.PageSelector=K;var Y=function(t){function e(r){var i=t.call(this,e.schemaUrl)||this;return i.visualName=r,i}return a(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}(J);e.VisualSelector=Y;var $=function(t){function e(e){var r=t.call(this,Y.schemaUrl)||this;return r.visualType=e,r}return a(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}(J);e.VisualTypeSelector=$;var Z,X,tt,et=function(t){function e(e){var r=t.call(this,Y.schemaUrl)||this;return r.target=e,r}return a(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}(J);function rt(t){return Array.isArray(t)}function it(t){return t&&!!t.groupName}function at(t){return Array.isArray(t)}function ot(t){var e=t.message;return e||(e="".concat(t.path," is invalid. Not meeting ").concat(t.keyword," constraint")),{message:e}}e.SlicerTargetSelector=et,(tt=e.CommandDisplayOption||(e.CommandDisplayOption={}))[tt.Enabled=0]="Enabled",tt[tt.Disabled=1]="Disabled",tt[tt.Hidden=2]="Hidden",(X=e.VisualDataRoleKind||(e.VisualDataRoleKind={}))[X.Grouping=0]="Grouping",X[X.Measure=1]="Measure",X[X.GroupingOrMeasure=2]="GroupingOrMeasure",(Z=e.VisualDataRoleKindPreference||(e.VisualDataRoleKindPreference={}))[Z.Measure=0]="Measure",Z[Z.Grouping=1]="Grouping",e.isOnLoadFilters=function(t){return t&&!rt(t)},e.isReportFiltersArray=rt,e.isFlatMenuExtension=function(t){return t&&!it(t)},e.isGroupedMenuExtension=it,e.isIExtensions=function(t){return t&&!at(t)},e.isIExtensionArray=at,e.validateVisualSelector=function(t){var e=O.Validators.visualSelectorValidator.validate(t);return e?e.map(ot):void 0},e.validateSlicer=function(t){var e=O.Validators.slicerValidator.validate(t);return e?e.map(ot):void 0},e.validateSlicerState=function(t){var e=O.Validators.slicerStateValidator.validate(t);return e?e.map(ot):void 0},e.validatePlayBookmarkRequest=function(t){var e=O.Validators.playBookmarkRequestValidator.validate(t);return e?e.map(ot):void 0},e.validateAddBookmarkRequest=function(t){var e=O.Validators.addBookmarkRequestValidator.validate(t);return e?e.map(ot):void 0},e.validateApplyBookmarkByNameRequest=function(t){var e=O.Validators.applyBookmarkByNameRequestValidator.validate(t);return e?e.map(ot):void 0},e.validateApplyBookmarkStateRequest=function(t){var e=O.Validators.applyBookmarkStateRequestValidator.validate(t);return e?e.map(ot):void 0},e.validateCaptureBookmarkRequest=function(t){var e=O.Validators.captureBookmarkRequestValidator.validate(t);return e?e.map(ot):void 0},e.validateSettings=function(t){var e=O.Validators.settingsValidator.validate(t);return e?e.map(ot):void 0},e.validatePanes=function(t){var e=O.Validators.reportPanesValidator.validate(t);return e?e.map(ot):void 0},e.validateBookmarksPane=function(t){var e=O.Validators.bookmarksPaneValidator.validate(t);return e?e.map(ot):void 0},e.validateFiltersPane=function(t){var e=O.Validators.filtersPaneValidator.validate(t);return e?e.map(ot):void 0},e.validateFieldsPane=function(t){var e=O.Validators.fieldsPaneValidator.validate(t);return e?e.map(ot):void 0},e.validatePageNavigationPane=function(t){var e=O.Validators.pageNavigationPaneValidator.validate(t);return e?e.map(ot):void 0},e.validateSelectionPane=function(t){var e=O.Validators.selectionPaneValidator.validate(t);return e?e.map(ot):void 0},e.validateSyncSlicersPane=function(t){var e=O.Validators.syncSlicersPaneValidator.validate(t);return e?e.map(ot):void 0},e.validateVisualizationsPane=function(t){var e=O.Validators.visualizationsPaneValidator.validate(t);return e?e.map(ot):void 0},e.validateCustomPageSize=function(t){var e=O.Validators.customPageSizeValidator.validate(t);return e?e.map(ot):void 0},e.validateExtension=function(t){var e=O.Validators.extensionValidator.validate(t);return e?e.map(ot):void 0},e.validateMenuGroupExtension=function(t){var e=O.Validators.menuGroupExtensionValidator.validate(t);return e?e.map(ot):void 0},e.validateReportLoad=function(t){var e=O.Validators.reportLoadValidator.validate(t);return e?e.map(ot):void 0},e.validatePaginatedReportLoad=function(t){var e=O.Validators.paginatedReportLoadValidator.validate(t);return e?e.map(ot):void 0},e.validateCreateReport=function(t){var e=O.Validators.reportCreateValidator.validate(t);return e?e.map(ot):void 0},e.validateQuickCreate=function(t){var e=O.Validators.quickCreateValidator.validate(t);return e?e.map(ot):void 0},e.validateDashboardLoad=function(t){var e=O.Validators.dashboardLoadValidator.validate(t);return e?e.map(ot):void 0},e.validateTileLoad=function(t){var e=O.Validators.tileLoadValidator.validate(t);return e?e.map(ot):void 0},e.validatePage=function(t){var e=O.Validators.pageValidator.validate(t);return e?e.map(ot):void 0},e.validateFilter=function(t){var e=O.Validators.filterValidator.validate(t);return e?e.map(ot):void 0},e.validateUpdateFiltersRequest=function(t){var e=O.Validators.updateFiltersRequestValidator.validate(t);return e?e.map(ot):void 0},e.validateSaveAsParameters=function(t){var e=O.Validators.saveAsParametersValidator.validate(t);return e?e.map(ot):void 0},e.validateLoadQnaConfiguration=function(t){var e=O.Validators.loadQnaValidator.validate(t);return e?e.map(ot):void 0},e.validateQnaInterpretInputData=function(t){var e=O.Validators.qnaInterpretInputDataValidator.validate(t);return e?e.map(ot):void 0},e.validateExportDataRequest=function(t){var e=O.Validators.exportDataRequestValidator.validate(t);return e?e.map(ot):void 0},e.validateVisualHeader=function(t){var e=O.Validators.visualHeaderValidator.validate(t);return e?e.map(ot):void 0},e.validateVisualSettings=function(t){var e=O.Validators.visualSettingsValidator.validate(t);return e?e.map(ot):void 0},e.validateCommandsSettings=function(t){var e=O.Validators.commandsSettingsValidator.validate(t);return e?e.map(ot):void 0},e.validateCustomTheme=function(t){var e=O.Validators.customThemeValidator.validate(t);return e?e.map(ot):void 0},e.validateZoomLevel=function(t){var e=O.Validators.zoomLevelValidator.validate(t);return e?e.map(ot):void 0},e.validatePrintSettings=function(t){var e=O.Validators.printSettingsValidator.validate(t);return e?e.map(ot):void 0}},(t,e,r)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.Validators=void 0;var i=r(2),a=r(5),o=r(6),n=r(7),l=r(8),s=r(9),u=r(10),d=r(11),c=r(12),p=r(13),f=r(14),h=r(15),v=r(16),y=r(17),m=r(18),V=r(19),g=r(20),b=r(21),w=r(22),P=r(23),S=r(24),O=r(25),_=r(26),E=r(27),T=r(28),F=r(29),C=r(4),R=r(30),k=r(31),x=r(32),A=r(33),j=r(34);e.Validators={addBookmarkRequestValidator:new a.AddBookmarkRequestValidator,advancedFilterTypeValidator:new C.EnumValidator([0]),advancedFilterValidator:new c.AdvancedFilterValidator,anyArrayValidator:new C.ArrayValidator([new _.AnyOfValidator([new C.StringValidator,new C.NumberValidator,new C.BooleanValidator])]),anyFilterValidator:new _.AnyOfValidator([new c.BasicFilterValidator,new c.AdvancedFilterValidator,new c.IncludeExcludeFilterValidator,new c.NotSupportedFilterValidator,new c.RelativeDateFilterValidator,new c.TopNFilterValidator,new c.RelativeTimeFilterValidator,new c.HierarchyFilterValidator]),anyValueValidator:new _.AnyOfValidator([new C.StringValidator,new C.NumberValidator,new C.BooleanValidator]),actionBarValidator:new i.ActionBarValidator,statusBarValidator:new i.StatusBarValidator,applyBookmarkByNameRequestValidator:new a.ApplyBookmarkByNameRequestValidator,applyBookmarkStateRequestValidator:new a.ApplyBookmarkStateRequestValidator,applyBookmarkValidator:new _.AnyOfValidator([new a.ApplyBookmarkByNameRequestValidator,new a.ApplyBookmarkStateRequestValidator]),backgroundValidator:new C.EnumValidator([0,1]),basicFilterTypeValidator:new C.EnumValidator([1]),basicFilterValidator:new c.BasicFilterValidator,booleanArrayValidator:new C.BooleanArrayValidator,booleanValidator:new C.BooleanValidator,bookmarksPaneValidator:new h.BookmarksPaneValidator,captureBookmarkOptionsValidator:new a.CaptureBookmarkOptionsValidator,captureBookmarkRequestValidator:new a.CaptureBookmarkRequestValidator,columnSchemaArrayValidator:new C.ArrayValidator([new k.ColumnSchemaValidator]),commandDisplayOptionValidator:new C.EnumValidator([0,1,2]),commandExtensionSelectorValidator:new _.AnyOfValidator([new b.VisualSelectorValidator,new b.VisualTypeSelectorValidator]),commandExtensionArrayValidator:new C.ArrayValidator([new d.CommandExtensionValidator]),commandExtensionValidator:new d.CommandExtensionValidator,commandsSettingsArrayValidator:new C.ArrayValidator([new o.CommandsSettingsValidator]),commandsSettingsValidator:new o.CommandsSettingsValidator,conditionItemValidator:new c.ConditionItemValidator,contrastModeValidator:new C.EnumValidator([0,1,2,3,4]),credentialDetailsValidator:new F.MapValidator([new C.StringValidator],[new C.StringValidator]),credentialsValidator:new k.CredentialsValidator,credentialTypeValidator:new C.EnumValidator([0,1,2]),customLayoutDisplayOptionValidator:new C.EnumValidator([0,1,2]),customLayoutValidator:new p.CustomLayoutValidator,customPageSizeValidator:new f.CustomPageSizeValidator,customThemeValidator:new n.CustomThemeValidator,dashboardLoadValidator:new l.DashboardLoadValidator,dataCacheModeValidator:new C.EnumValidator([0,1]),datasetBindingValidator:new s.DatasetBindingValidator,datasetCreateConfigValidator:new k.DatasetCreateConfigValidator,datasourceConnectionConfigValidator:new k.DatasourceConnectionConfigValidator,displayStateModeValidator:new C.EnumValidator([0,1]),displayStateValidator:new p.DisplayStateValidator,exportDataRequestValidator:new u.ExportDataRequestValidator,extensionArrayValidator:new C.ArrayValidator([new d.ExtensionValidator]),extensionsValidator:new _.AnyOfValidator([new C.ArrayValidator([new d.ExtensionValidator]),new d.ExtensionsValidator]),extensionPointsValidator:new d.ExtensionPointsValidator,extensionValidator:new d.ExtensionValidator,fieldForbiddenValidator:new E.FieldForbiddenValidator,fieldRequiredValidator:new T.FieldRequiredValidator,fieldsPaneValidator:new h.FieldsPaneValidator,filterColumnTargetValidator:new c.FilterColumnTargetValidator,filterDisplaySettingsValidator:new c.FilterDisplaySettingsValidator,filterConditionsValidator:new C.ArrayValidator([new c.ConditionItemValidator]),filterHierarchyTargetValidator:new c.FilterHierarchyTargetValidator,filterMeasureTargetValidator:new c.FilterMeasureTargetValidator,filterTargetValidator:new _.AnyOfValidator([new c.FilterColumnTargetValidator,new c.FilterHierarchyTargetValidator,new c.FilterMeasureTargetValidator,new C.ArrayValidator([new _.AnyOfValidator([new c.FilterColumnTargetValidator,new c.FilterHierarchyTargetValidator,new c.FilterMeasureTargetValidator,new c.FilterKeyColumnsTargetValidator,new c.FilterKeyHierarchyTargetValidator])])]),filterValidator:new c.FilterValidator,filterTypeValidator:new C.EnumValidator([0,1,2,3,4,5,6,7,9]),filtersArrayValidator:new C.ArrayValidator([new c.FilterValidator]),filtersOperationsUpdateValidator:new C.EnumValidator([1,2,3]),filtersOperationsRemoveAllValidator:new C.EnumValidator([0]),filtersPaneValidator:new h.FiltersPaneValidator,hyperlinkClickBehaviorValidator:new C.EnumValidator([0,1,2]),includeExcludeFilterValidator:new c.IncludeExcludeFilterValidator,includeExludeFilterTypeValidator:new C.EnumValidator([3]),hierarchyFilterTypeValidator:new C.EnumValidator([9]),hierarchyFilterValuesValidator:new C.ArrayValidator([new c.HierarchyFilterNodeValidator]),layoutTypeValidator:new C.EnumValidator([0,1,2,3]),loadQnaValidator:new v.LoadQnaValidator,menuExtensionValidator:new _.AnyOfValidator([new d.FlatMenuExtensionValidator,new d.GroupedMenuExtensionValidator]),menuGroupExtensionArrayValidator:new C.ArrayValidator([new d.MenuGroupExtensionValidator]),menuGroupExtensionValidator:new d.MenuGroupExtensionValidator,menuLocationValidator:new C.EnumValidator([0,1]),notSupportedFilterTypeValidator:new C.EnumValidator([2]),notSupportedFilterValidator:new c.NotSupportedFilterValidator,numberArrayValidator:new C.NumberArrayValidator,numberValidator:new C.NumberValidator,onLoadFiltersBaseValidator:new _.AnyOfValidator([new c.OnLoadFiltersBaseValidator,new c.OnLoadFiltersBaseRemoveOperationValidator]),pageLayoutValidator:new F.MapValidator([new C.StringValidator],[new p.VisualLayoutValidator]),pageNavigationPaneValidator:new h.PageNavigationPaneValidator,pageNavigationPositionValidator:new C.EnumValidator([0,1]),pageSizeTypeValidator:new C.EnumValidator([0,1,2,3,4,5]),pageSizeValidator:new f.PageSizeValidator,pageValidator:new f.PageValidator,pageViewFieldValidator:new f.PageViewFieldValidator,pagesLayoutValidator:new F.MapValidator([new C.StringValidator],[new p.PageLayoutValidator]),paginatedReportCommandsValidator:new o.PaginatedReportCommandsValidator,paginatedReportDatasetBindingArrayValidator:new C.ArrayValidator([new j.PaginatedReportDatasetBindingValidator]),paginatedReportLoadValidator:new V.PaginatedReportLoadValidator,paginatedReportsettingsValidator:new w.PaginatedReportSettingsValidator,parameterValuesArrayValidator:new C.ArrayValidator([new V.ReportParameterFieldsValidator]),parametersPanelValidator:new R.ParametersPanelValidator,permissionsValidator:new C.EnumValidator([0,1,2,4,7]),playBookmarkRequestValidator:new a.PlayBookmarkRequestValidator,printSettingsValidator:new A.PrintSettingsValidator,qnaInterpretInputDataValidator:new v.QnaInterpretInputDataValidator,qnaPanesValidator:new h.QnaPanesValidator,qnaSettingValidator:new v.QnaSettingsValidator,quickCreateValidator:new x.QuickCreateValidator,rawDataValidator:new C.ArrayValidator([new C.ArrayValidator([new C.StringValidator])]),relativeDateFilterOperatorValidator:new C.EnumValidator([0,1,2]),relativeDateFilterTimeUnitTypeValidator:new C.EnumValidator([0,1,2,3,4,5,6]),relativeDateFilterTypeValidator:new C.EnumValidator([4]),relativeDateFilterValidator:new c.RelativeDateFilterValidator,relativeDateTimeFilterTypeValidator:new C.EnumValidator([4,7]),relativeDateTimeFilterUnitTypeValidator:new C.EnumValidator([0,1,2,3,4,5,6,7,8]),relativeTimeFilterTimeUnitTypeValidator:new C.EnumValidator([7,8]),relativeTimeFilterTypeValidator:new C.EnumValidator([7]),relativeTimeFilterValidator:new c.RelativeTimeFilterValidator,reportBarsValidator:new i.ReportBarsValidator,reportCreateValidator:new y.ReportCreateValidator,reportLoadFiltersValidator:new _.AnyOfValidator([new C.ArrayValidator([new c.FilterValidator]),new c.OnLoadFiltersValidator]),reportLoadValidator:new m.ReportLoadValidator,reportPanesValidator:new h.ReportPanesValidator,saveAsParametersValidator:new g.SaveAsParametersValidator,selectionPaneValidator:new h.SelectionPaneValidator,settingsValidator:new w.SettingsValidator,singleCommandSettingsValidator:new o.SingleCommandSettingsValidator,slicerSelectorValidator:new _.AnyOfValidator([new b.VisualSelectorValidator,new b.SlicerTargetSelectorValidator]),slicerStateValidator:new P.SlicerStateValidator,slicerTargetValidator:new _.AnyOfValidator([new c.FilterColumnTargetValidator,new c.FilterHierarchyTargetValidator,new c.FilterMeasureTargetValidator,new c.FilterKeyColumnsTargetValidator,new c.FilterKeyHierarchyTargetValidator]),slicerValidator:new P.SlicerValidator,stringArrayValidator:new C.StringArrayValidator,stringValidator:new C.StringValidator,syncSlicersPaneValidator:new h.SyncSlicersPaneValidator,tableDataArrayValidator:new C.ArrayValidator([new k.TableDataValidator]),tableSchemaListValidator:new C.ArrayValidator([new k.TableSchemaValidator]),tileLoadValidator:new S.TileLoadValidator,tokenTypeValidator:new C.EnumValidator([0,1]),topNFilterTypeValidator:new C.EnumValidator([5]),topNFilterValidator:new c.TopNFilterValidator,updateFiltersRequestValidator:new _.AnyOfValidator([new c.UpdateFiltersRequestValidator,new c.RemoveFiltersRequestValidator]),viewModeValidator:new C.EnumValidator([0,1]),visualCommandSelectorValidator:new _.AnyOfValidator([new b.VisualSelectorValidator,new b.VisualTypeSelectorValidator]),visualHeaderSelectorValidator:new _.AnyOfValidator([new b.VisualSelectorValidator,new b.VisualTypeSelectorValidator]),visualHeaderSettingsValidator:new O.VisualHeaderSettingsValidator,visualHeaderValidator:new O.VisualHeaderValidator,visualHeadersValidator:new C.ArrayValidator([new O.VisualHeaderValidator]),visualizationsPaneValidator:new h.VisualizationsPaneValidator,visualLayoutValidator:new p.VisualLayoutValidator,visualSelectorValidator:new b.VisualSelectorValidator,visualSettingsValidator:new O.VisualSettingsValidator,visualTypeSelectorValidator:new b.VisualTypeSelectorValidator,zoomLevelValidator:new C.RangeValidator(.25,4)}},function(t,e,r){var i,a=this&&this.__extends||(i=function(t,e){return i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},i(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.StatusBarValidator=e.ActionBarValidator=e.ReportBarsValidator=void 0;var o=r(3),n=r(4),l=r(1),s=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return a(e,t),e.prototype.validate=function(e,r,i){if(null==e)return null;var a=t.prototype.validate.call(this,e,r,i);if(a)return a;var n=[{field:"actionBar",validators:[l.Validators.actionBarValidator]},{field:"statusBar",validators:[l.Validators.statusBarValidator]}];return new o.MultipleFieldsValidator(n).validate(e,r,i)},e}(n.ObjectValidator);e.ReportBarsValidator=s;var u=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return a(e,t),e.prototype.validate=function(e,r,i){if(null==e)return null;var a=t.prototype.validate.call(this,e,r,i);if(a)return a;var n=[{field:"visible",validators:[l.Validators.booleanValidator]}];return new o.MultipleFieldsValidator(n).validate(e,r,i)},e}(n.ObjectValidator);e.ActionBarValidator=u;var d=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return a(e,t),e.prototype.validate=function(e,r,i){if(null==e)return null;var a=t.prototype.validate.call(this,e,r,i);if(a)return a;var n=[{field:"visible",validators:[l.Validators.booleanValidator]}];return new o.MultipleFieldsValidator(n).validate(e,r,i)},e}(n.ObjectValidator);e.StatusBarValidator=d},(t,e)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.MultipleFieldsValidator=void 0;var r=function(){function t(t){this.fieldValidatorsPairs=t}return t.prototype.validate=function(t,e,r){if(!this.fieldValidatorsPairs)return null;for(var i=e?e+"."+r:r,a=0,o=this.fieldValidatorsPairs;athis.maxValue||e{Object.defineProperty(e,"__esModule",{value:!0}),e.AnyOfValidator=void 0;var r=function(){function t(t){this.validators=t}return t.prototype.validate=function(t,e,r){if(null==t)return null;for(var i=!1,a=0,o=this.validators;a{Object.defineProperty(e,"__esModule",{value:!0}),e.FieldForbiddenValidator=void 0;var r=function(){function t(){}return t.prototype.validate=function(t,e,r){return void 0!==t?[{message:r+" is forbidden",path:(e?e+".":"")+r,keyword:"forbidden"}]:null},t}();e.FieldForbiddenValidator=r},(t,e)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.FieldRequiredValidator=void 0;var r=function(){function t(){}return t.prototype.validate=function(t,e,r){return null==t?[{message:r+" is required",path:(e?e+".":"")+r,keyword:"required"}]:null},t}();e.FieldRequiredValidator=r},function(t,e,r){var i,a=this&&this.__extends||(i=function(t,e){return i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},i(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.MapValidator=void 0;var o=function(t){function e(e,r){var i=t.call(this)||this;return i.keyValidators=e,i.valueValidators=r,i}return a(e,t),e.prototype.validate=function(e,r,i){if(null==e)return null;var a=t.prototype.validate.call(this,e,r,i);if(a)return a;for(var o in e)if(e.hasOwnProperty(o)){for(var n=(r?r+".":"")+i+"."+o,l=0,s=this.keyValidators;l2&&"[]"===n.slice(l-2)&&(s=!0,r[n=n.slice(0,l-2)]||(r[n]=[])),a=o[1]?g(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(-1!==(i=t.indexOf("?"))){var l=t.substr(i+1,t.length);t=t.substr(0,i),o=this.parseQueryString(l)}for("/"!==(t=decodeURI(t)).charAt(0)&&(t="/"+t),(e=t.length)>1&&"/"===t.charAt(e-1)&&(t=t.substr(0,e-1),n=!0),r=0;r{Object.defineProperty(e,"__esModule",{value:!0}),e.FilterBuilder=void 0;var r=function(){function t(){}return t.prototype.withTargetObject=function(t){return this.target=t,this},t.prototype.withColumnTarget=function(t,e){return this.target={table:t,column:e},this},t.prototype.withMeasureTarget=function(t,e){return this.target={table:t,measure:e},this},t.prototype.withHierarchyLevelTarget=function(t,e,r){return this.target={table:t,hierarchy:e,hierarchyLevel:r},this},t.prototype.withColumnAggregation=function(t,e,r){return this.target={table:t,column:e,aggregationFunction:r},this},t.prototype.withHierarchyLevelAggregationTarget=function(t,e,r,i){return this.target={table:t,hierarchy:e,hierarchyLevel:r,aggregationFunction:i},this},t}();e.FilterBuilder=r},567:(t,e,r)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.RelativeTimeFilterBuilder=e.RelativeDateFilterBuilder=e.TopNFilterBuilder=e.AdvancedFilterBuilder=e.BasicFilterBuilder=void 0;var i=r(153);Object.defineProperty(e,"BasicFilterBuilder",{enumerable:!0,get:function(){return i.BasicFilterBuilder}});var a=r(674);Object.defineProperty(e,"AdvancedFilterBuilder",{enumerable:!0,get:function(){return a.AdvancedFilterBuilder}});var o=r(664);Object.defineProperty(e,"TopNFilterBuilder",{enumerable:!0,get:function(){return o.TopNFilterBuilder}});var n=r(844);Object.defineProperty(e,"RelativeDateFilterBuilder",{enumerable:!0,get:function(){return n.RelativeDateFilterBuilder}});var l=r(275);Object.defineProperty(e,"RelativeTimeFilterBuilder",{enumerable:!0,get:function(){return l.RelativeTimeFilterBuilder}})},844:function(t,e,r){var i,a=this&&this.__extends||(i=function(t,e){return i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},i(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.RelativeDateFilterBuilder=void 0;var o=r(149),n=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.isTodayIncluded=!0,e}return a(e,t),e.prototype.inLast=function(t,e){return this.operator=o.RelativeDateOperators.InLast,this.timeUnitsCount=t,this.timeUnitType=e,this},e.prototype.inThis=function(t,e){return this.operator=o.RelativeDateOperators.InThis,this.timeUnitsCount=t,this.timeUnitType=e,this},e.prototype.inNext=function(t,e){return this.operator=o.RelativeDateOperators.InNext,this.timeUnitsCount=t,this.timeUnitType=e,this},e.prototype.includeToday=function(t){return this.isTodayIncluded=t,this},e.prototype.build=function(){return new o.RelativeDateFilter(this.target,this.operator,this.timeUnitsCount,this.timeUnitType,this.isTodayIncluded)},e}(r(277).FilterBuilder);e.RelativeDateFilterBuilder=n},275:function(t,e,r){var i,a=this&&this.__extends||(i=function(t,e){return i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},i(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.RelativeTimeFilterBuilder=void 0;var o=r(149),n=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return a(e,t),e.prototype.inLast=function(t,e){return this.operator=o.RelativeDateOperators.InLast,this.timeUnitsCount=t,this.timeUnitType=e,this},e.prototype.inThis=function(t,e){return this.operator=o.RelativeDateOperators.InThis,this.timeUnitsCount=t,this.timeUnitType=e,this},e.prototype.inNext=function(t,e){return this.operator=o.RelativeDateOperators.InNext,this.timeUnitsCount=t,this.timeUnitType=e,this},e.prototype.build=function(){return new o.RelativeTimeFilter(this.target,this.operator,this.timeUnitsCount,this.timeUnitType)},e}(r(277).FilterBuilder);e.RelativeTimeFilterBuilder=n},664:function(t,e,r){var i,a=this&&this.__extends||(i=function(t,e){return i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},i(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.TopNFilterBuilder=void 0;var o=r(149),n=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return a(e,t),e.prototype.top=function(t){return this.operator="Top",this.itemCount=t,this},e.prototype.bottom=function(t){return this.operator="Bottom",this.itemCount=t,this},e.prototype.orderByTarget=function(t){return this.orderByTargetValue=t,this},e.prototype.build=function(){return new o.TopNFilter(this.target,this.operator,this.itemCount,this.orderByTargetValue)},e}(r(277).FilterBuilder);e.TopNFilterBuilder=n},460:function(t,e,r){var i=this&&this.__awaiter||function(t,e,r,i){return new(r||(r=Promise))((function(a,o){function n(t){try{s(i.next(t))}catch(t){o(t)}}function l(t){try{s(i.throw(t))}catch(t){o(t)}}function s(t){var e;t.done?a(t.value):(e=t.value,e instanceof r?e:new r((function(t){t(e)}))).then(n,l)}s((i=i.apply(t,e||[])).next())}))},a=this&&this.__generator||function(t,e){var r,i,a,o,n={label:0,sent:function(){if(1&a[0])throw a[1];return a[1]},trys:[],ops:[]};return o={next:l(0),throw:l(1),return:l(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function l(o){return function(l){return function(o){if(r)throw new TypeError("Generator is already executing.");for(;n;)try{if(r=1,i&&(a=2&o[0]?i.return:o[0]?i.throw||((a=i.return)&&a.call(i),0):i.next)&&!(a=a.call(i,o[1])).done)return a;switch(i=0,a&&(o=[2&o[0],a.value]),o[0]){case 0:case 1:a=o;break;case 4:return n.label++,{value:o[1],done:!1};case 5:n.label++,i=o[1],o=[0];continue;case 7:o=n.ops.pop(),n.trys.pop();continue;default:if(!((a=(a=n.trys).length>0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]{Object.defineProperty(e,"__esModule",{value:!0}),e.default={version:"2.23.0",type:"js"}},536:function(t,e,r){var i,a=this&&this.__extends||(i=function(t,e){return i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},i(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}),o=this&&this.__awaiter||function(t,e,r,i){return new(r||(r=Promise))((function(a,o){function n(t){try{s(i.next(t))}catch(t){o(t)}}function l(t){try{s(i.throw(t))}catch(t){o(t)}}function s(t){var e;t.done?a(t.value):(e=t.value,e instanceof r?e:new r((function(t){t(e)}))).then(n,l)}s((i=i.apply(t,e||[])).next())}))},n=this&&this.__generator||function(t,e){var r,i,a,o,n={label:0,sent:function(){if(1&a[0])throw a[1];return a[1]},trys:[],ops:[]};return o={next:l(0),throw:l(1),return:l(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function l(o){return function(l){return function(o){if(r)throw new TypeError("Generator is already executing.");for(;n;)try{if(r=1,i&&(a=2&o[0]?i.return:o[0]?i.throw||((a=i.return)&&a.call(i),0):i.next)&&!(a=a.call(i,o[1])).done)return a;switch(i=0,a&&(o=[2&o[0],a.value]),o[0]){case 0:case 1:a=o;break;case 4:return n.label++,{value:o[1],done:!1};case 5:n.label++,i=o[1],o=[0];continue;case 7:o=n.ops.pop(),n.trys.pop();continue;default:if(!((a=(a=n.trys).length>0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]{Object.defineProperty(e,"__esModule",{value:!0}),e.invalidEmbedUrlErrorMessage=e.EmbedUrlNotSupported=e.APINotSupportedForRDLError=void 0,e.APINotSupportedForRDLError="This API is currently not supported for RDL reports",e.EmbedUrlNotSupported="Embed URL is invalid for this scenario. Please use Power BI REST APIs to get the valid URL",e.invalidEmbedUrlErrorMessage="Invalid embed URL detected. Either URL hostname or protocol are invalid. Please use Power BI REST APIs to get the valid URL"},357:(t,e,r)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.routerFactory=e.wpmpFactory=e.hpmFactory=void 0;var i=r(903),a=r(615),o=r(891),n=r(913);e.hpmFactory=function(t,e,r,i,o){return void 0===r&&(r=n.default.version),void 0===i&&(i=n.default.type),new a.HttpPostMessage(t,{"x-sdk-type":i,"x-sdk-version":r,"x-sdk-wrapper-version":o},e)},e.wpmpFactory=function(t,e,r){return new i.WindowPostMessageProxy({processTrackingProperties:{addTrackingProperties:a.HttpPostMessage.addTrackingProperties,getTrackingProperties:a.HttpPostMessage.getTrackingProperties},isErrorMessage:a.HttpPostMessage.isErrorMessage,suppressWarnings:!0,name:t,logMessages:e,eventSourceOverrideWindow:r})},e.routerFactory=function(t){return new o.Router(t)}},220:function(t,e,r){var i=this&&this.__awaiter||function(t,e,r,i){return new(r||(r=Promise))((function(a,o){function n(t){try{s(i.next(t))}catch(t){o(t)}}function l(t){try{s(i.throw(t))}catch(t){o(t)}}function s(t){var e;t.done?a(t.value):(e=t.value,e instanceof r?e:new r((function(t){t(e)}))).then(n,l)}s((i=i.apply(t,e||[])).next())}))},a=this&&this.__generator||function(t,e){var r,i,a,o,n={label:0,sent:function(){if(1&a[0])throw a[1];return a[1]},trys:[],ops:[]};return o={next:l(0),throw:l(1),return:l(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function l(o){return function(l){return function(o){if(r)throw new TypeError("Generator is already executing.");for(;n;)try{if(r=1,i&&(a=2&o[0]?i.return:o[0]?i.throw||((a=i.return)&&a.call(i),0):i.next)&&!(a=a.call(i,o[1])).done)return a;switch(i=0,a&&(o=[2&o[0],a.value]),o[0]){case 0:case 1:a=o;break;case 4:return n.label++,{value:o[1],done:!1};case 5:n.label++,i=o[1],o=[0];continue;case 7:o=n.ops.pop(),n.trys.pop();continue;default:if(!((a=(a=n.trys).length>0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0?"&":"?";return t+(i+e+"=")+r},e.isSavedInternal=function(t,e,a){return r(this,void 0,void 0,(function(){return i(this,(function(r){switch(r.label){case 0:return r.trys.push([0,2,,3]),[4,t.get("/report/hasUnsavedChanges",{uid:e},a)];case 1:return[2,!r.sent().body];case 2:throw r.sent().body;case 3:return[2]}}))}))},e.isRDLEmbed=function(t){return t&&t.toLowerCase().indexOf("/rdlembed?")>=0},e.autoAuthInEmbedUrl=function(t){return t&&decodeURIComponent(t).toLowerCase().indexOf("autoauth=true")>=0},e.getRandomValue=l,e.getTimeDiffInMilliseconds=function(t,e){return Math.abs(t.getTime()-e.getTime())},e.isCreate=function(t){return"create"===t||"quickcreate"===t},e.validateEmbedUrl=function(t){if(t){var e=void 0;try{e=new URL(t.toLowerCase())}catch(t){return!1}return"https:"===e.protocol&&(a.test(e.hostname)||o.test(e.hostname))}}},23:function(t,e,r){var i,a=this&&this.__extends||(i=function(t,e){return i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},i(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}),o=this&&this.__awaiter||function(t,e,r,i){return new(r||(r=Promise))((function(a,o){function n(t){try{s(i.next(t))}catch(t){o(t)}}function l(t){try{s(i.throw(t))}catch(t){o(t)}}function s(t){var e;t.done?a(t.value):(e=t.value,e instanceof r?e:new r((function(t){t(e)}))).then(n,l)}s((i=i.apply(t,e||[])).next())}))},n=this&&this.__generator||function(t,e){var r,i,a,o,n={label:0,sent:function(){if(1&a[0])throw a[1];return a[1]},trys:[],ops:[]};return o={next:l(0),throw:l(1),return:l(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function l(o){return function(l){return function(o){if(r)throw new TypeError("Generator is already executing.");for(;n;)try{if(r=1,i&&(a=2&o[0]?i.return:o[0]?i.throw||((a=i.return)&&a.call(i),0):i.next)&&!(a=a.call(i,o[1])).done)return a;switch(i=0,a&&(o=[2&o[0],a.value]),o[0]){case 0:case 1:a=o;break;case 4:return n.label++,{value:o[1],done:!1};case 5:n.label++,i=o[1],o=[0];continue;case 7:o=n.ops.pop(),n.trys.pop();continue;default:if(!((a=(a=n.trys).length>0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]{var e;self,e=()=>(()=>{"use strict";var t={};return(()=>{var e=t;Object.defineProperty(e,"__esModule",{value:!0}),e.WindowPostMessageProxy=void 0;var r=function(){function t(e){void 0===e&&(e={processTrackingProperties:{addTrackingProperties:t.defaultAddTrackingProperties,getTrackingProperties:t.defaultGetTrackingProperties},isErrorMessage:t.defaultIsErrorMessage,receiveWindow:window,name:t.createRandomString()});var r=this;this.pendingRequestPromises={},this.addTrackingProperties=e.processTrackingProperties&&e.processTrackingProperties.addTrackingProperties||t.defaultAddTrackingProperties,this.getTrackingProperties=e.processTrackingProperties&&e.processTrackingProperties.getTrackingProperties||t.defaultGetTrackingProperties,this.isErrorMessage=e.isErrorMessage||t.defaultIsErrorMessage,this.receiveWindow=e.receiveWindow||window,this.name=e.name||t.createRandomString(),this.logMessages=e.logMessages||!1,this.eventSourceOverrideWindow=e.eventSourceOverrideWindow,this.suppressWarnings=e.suppressWarnings||!1,this.logMessages&&console.log("new WindowPostMessageProxy created with name: ".concat(this.name," receiving on window: ").concat(this.receiveWindow.document.title)),this.handlers=[],this.windowMessageHandler=function(t){return r.onMessageReceived(t)},this.start()}return t.defaultAddTrackingProperties=function(e,r){return e[t.messagePropertyName]=r,e},t.defaultGetTrackingProperties=function(e){return e[t.messagePropertyName]},t.defaultIsErrorMessage=function(t){return!!t.error},t.createDeferred=function(){var t={resolve:null,reject:null,promise:null},e=new Promise((function(e,r){t.resolve=e,t.reject=r}));return t.promise=e,t},t.createRandomString=function(){var t=window.crypto||window.msCrypto,e=new Uint32Array(1);return t.getRandomValues(e),e[0].toString(36).substring(1)},t.prototype.addHandler=function(t){this.handlers.push(t)},t.prototype.removeHandler=function(t){var e=this.handlers.indexOf(t);if(-1===e)throw new Error("You attempted to remove a handler but no matching handler was found.");this.handlers.splice(e,1)},t.prototype.start=function(){this.receiveWindow.addEventListener("message",this.windowMessageHandler)},t.prototype.stop=function(){this.receiveWindow.removeEventListener("message",this.windowMessageHandler)},t.prototype.postMessage=function(e,r){var i={id:t.createRandomString()};this.addTrackingProperties(r,i),this.logMessages&&(console.log("".concat(this.name," Posting message:")),console.log(JSON.stringify(r,null," "))),e.postMessage(r,"*");var a=t.createDeferred();return this.pendingRequestPromises[i.id]=a,a.promise},t.prototype.sendResponse=function(t,e,r){this.addTrackingProperties(e,r),this.logMessages&&(console.log("".concat(this.name," Sending response:")),console.log(JSON.stringify(e,null," "))),t.postMessage(e,"*")},t.prototype.onMessageReceived=function(t){var e=this;this.logMessages&&(console.log("".concat(this.name," Received message:")),console.log("type: ".concat(t.type)),console.log(JSON.stringify(t.data,null," ")));var r=this.eventSourceOverrideWindow||t.source;if(r){var i=t.data;if("object"==typeof i){var a,o;try{a=this.getTrackingProperties(i)}catch(t){this.suppressWarnings||console.warn("Proxy(".concat(this.name,"): Error occurred when attempting to get tracking properties from incoming message:"),JSON.stringify(i,null," "),"Error: ",t)}if(a&&(o=this.pendingRequestPromises[a.id]),o){var n=!0;try{n=this.isErrorMessage(i)}catch(t){console.warn("Proxy(".concat(this.name,") Error occurred when trying to determine if message is consider an error response. Message: "),JSON.stringify(i,null,""),"Error: ",t)}n?o.reject(i):o.resolve(i),delete this.pendingRequestPromises[a.id]}else this.handlers.some((function(t){var o=!1;try{o=t.test(i)}catch(t){e.suppressWarnings||console.warn("Proxy(".concat(e.name,"): Error occurred when handler was testing incoming message:"),JSON.stringify(i,null," "),"Error: ",t)}if(o){var n=void 0;try{n=Promise.resolve(t.handle(i))}catch(t){e.suppressWarnings||console.warn("Proxy(".concat(e.name,"): Error occurred when handler was processing incoming message:"),JSON.stringify(i,null," "),"Error: ",t),n=Promise.resolve()}return n.then((function(t){if(!t){var o="Handler for message: ".concat(JSON.stringify(i,null," ")," did not return a response message. The default response message will be returned instead.");e.suppressWarnings||console.warn("Proxy(".concat(e.name,"): ").concat(o)),t={warning:o}}e.sendResponse(r,t,a)})),!0}}))||this.suppressWarnings||console.warn("Proxy(".concat(this.name,") did not handle message. Handlers: ").concat(this.handlers.length," Message: ").concat(JSON.stringify(i,null,""),"."))}else this.suppressWarnings||console.warn("Proxy(".concat(this.name,"): Received message that was not an object. Discarding message"))}},t.messagePropertyName="windowPostMessageProxy",t}();e.WindowPostMessageProxy=r})(),t})(),t.exports=e()}},e={};function r(i){var a=e[i];if(void 0!==a)return a.exports;var o=e[i]={exports:{}};return t[i].call(o.exports,o,o.exports,r),o.exports}var i={};return(()=>{var t=i;Object.defineProperty(t,"__esModule",{value:!0}),t.RelativeTimeFilterBuilder=t.RelativeDateFilterBuilder=t.TopNFilterBuilder=t.AdvancedFilterBuilder=t.BasicFilterBuilder=t.Create=t.QuickCreate=t.VisualDescriptor=t.Visual=t.Qna=t.Page=t.Embed=t.Tile=t.Dashboard=t.Report=t.models=t.factories=t.service=void 0;var e=r(149);t.models=e;var a=r(562);t.service=a;var o=r(357);t.factories=o;var n=r(125);Object.defineProperty(t,"Report",{enumerable:!0,get:function(){return n.Report}});var l=r(365);Object.defineProperty(t,"Dashboard",{enumerable:!0,get:function(){return l.Dashboard}});var s=r(43);Object.defineProperty(t,"Tile",{enumerable:!0,get:function(){return s.Tile}});var u=r(932);Object.defineProperty(t,"Embed",{enumerable:!0,get:function(){return u.Embed}});var d=r(220);Object.defineProperty(t,"Page",{enumerable:!0,get:function(){return d.Page}});var c=r(148);Object.defineProperty(t,"Qna",{enumerable:!0,get:function(){return c.Qna}});var p=r(23);Object.defineProperty(t,"Visual",{enumerable:!0,get:function(){return p.Visual}});var f=r(558);Object.defineProperty(t,"VisualDescriptor",{enumerable:!0,get:function(){return f.VisualDescriptor}});var h=r(714);Object.defineProperty(t,"QuickCreate",{enumerable:!0,get:function(){return h.QuickCreate}});var v=r(536);Object.defineProperty(t,"Create",{enumerable:!0,get:function(){return v.Create}});var y=r(567);Object.defineProperty(t,"BasicFilterBuilder",{enumerable:!0,get:function(){return y.BasicFilterBuilder}}),Object.defineProperty(t,"AdvancedFilterBuilder",{enumerable:!0,get:function(){return y.AdvancedFilterBuilder}}),Object.defineProperty(t,"TopNFilterBuilder",{enumerable:!0,get:function(){return y.TopNFilterBuilder}}),Object.defineProperty(t,"RelativeDateFilterBuilder",{enumerable:!0,get:function(){return y.RelativeDateFilterBuilder}}),Object.defineProperty(t,"RelativeTimeFilterBuilder",{enumerable:!0,get:function(){return y.RelativeTimeFilterBuilder}});var m=new a.Service(o.hpmFactory,o.wpmpFactory,o.routerFactory);window.powerbi&&window.powerBISDKGlobalServiceInstanceName?window[window.powerBISDKGlobalServiceInstanceName]=m:window.powerbi=m})(),i})())); \ No newline at end of file diff --git a/src/report.ts b/src/report.ts index fd8ef078..1fccc618 100644 --- a/src/report.ts +++ b/src/report.ts @@ -637,6 +637,10 @@ export class Report extends Embed implements IReportNode, IFilterable { * ``` */ async refresh(): Promise { + if (isRDLEmbed(this.config.embedUrl)) { + return Promise.reject(APINotSupportedForRDLError); + } + try { const response = await this.service.hpm.post('/report/refresh', null, { uid: this.config.uniqueId }, this.iframe.contentWindow); return response.body; From 04a3285cd27884d4e97edf1d33058b8313014289 Mon Sep 17 00:00:00 2001 From: May Hartov Date: Sun, 31 Mar 2024 11:04:43 +0000 Subject: [PATCH 122/125] Merged PR 539275: removed global flag from valid embed hosts validation removed global flag from valid embed hosts validation to resolve bug introduced with 2.23.0 release: Issue reported [here](https://community.fabric.microsoft.com/t5/Developer/bd-p/Developer) and by @ from datahub (attaching Sergey's description): We started to get "Invalid embed URL detected. Either URL hostname or protocol are invalid. Please use Power BI REST APIs to get the valid URL"; in Datahub embed scenario. We have 2 tabs, each one renders iframe with different configs. Once it rendered OK, 2nd time fails on error. It caused by this code, which looks valid The result of this check is inconsistent (once returns true, once false) over the same data. It's possibly related to RegEx statefullness. Do we really need this global flag in RegEx definition? Symptoms: `When a RegExp object is created with the global (g) or sticky (y) flag, it maintains an internal lastIndex property. This property is used to determine where to start the next match attempt during subsequent calls to .test() or .exec() methods. After each match attempt, lastIndex is updated. This means if a match is found, the next call to .test() will start searching from the position after the last match, which can lead to the following outcomes: If the next call does not find a match (because it starts searching from a non-zero lastIndex), .test() will return false. If you call .test() again after it returns false, lastIndex is reset to 0, and the regex is evaluated from the beginning of the string, potentially returning true again if a match is found from the start.` Related work items: #1362247 --- dist/powerbi.js | 203 ++++---------------------------------------- dist/powerbi.min.js | 2 +- src/util.ts | 4 +- 3 files changed, 19 insertions(+), 190 deletions(-) diff --git a/dist/powerbi.js b/dist/powerbi.js index ec308b18..846dfff0 100644 --- a/dist/powerbi.js +++ b/dist/powerbi.js @@ -14,185 +14,14 @@ return /******/ (() => { // webpackBootstrap /******/ var __webpack_modules__ = ({ -/***/ "./node_modules/http-post-message/dist/httpPostMessage.js": -/*!****************************************************************!*\ - !*** ./node_modules/http-post-message/dist/httpPostMessage.js ***! - \****************************************************************/ -/***/ (function(module) { - -/*! http-post-message v0.2.3 | (c) 2016 Microsoft Corporation MIT */ -(function webpackUniversalModuleDefinition(root, factory) { - if(true) - module.exports = factory(); - else {} -})(this, function() { -return /******/ (function(modules) { // webpackBootstrap -/******/ // The module cache -/******/ var installedModules = {}; -/******/ -/******/ // The require function -/******/ function __nested_webpack_require_626__(moduleId) { -/******/ -/******/ // Check if module is in cache -/******/ 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 -/******/ }; -/******/ -/******/ // Execute the module function -/******/ modules[moduleId].call(module.exports, module, module.exports, __nested_webpack_require_626__); -/******/ -/******/ // Flag the module as loaded -/******/ module.loaded = true; -/******/ -/******/ // Return the exports of the module -/******/ return module.exports; -/******/ } -/******/ -/******/ -/******/ // expose the modules object (__webpack_modules__) -/******/ __nested_webpack_require_626__.m = modules; -/******/ -/******/ // expose the module cache -/******/ __nested_webpack_require_626__.c = installedModules; -/******/ -/******/ // __webpack_public_path__ -/******/ __nested_webpack_require_626__.p = ""; -/******/ -/******/ // Load entry module and return exports -/******/ return __nested_webpack_require_626__(0); -/******/ }) -/************************************************************************/ -/******/ ([ -/* 0 */ -/***/ function(module, exports) { - - "use strict"; - var HttpPostMessage = (function () { - function HttpPostMessage(windowPostMessageProxy, defaultHeaders, defaultTargetWindow) { - if (defaultHeaders === void 0) { defaultHeaders = {}; } - this.defaultHeaders = defaultHeaders; - this.defaultTargetWindow = defaultTargetWindow; - this.windowPostMessageProxy = windowPostMessageProxy; - } - // TODO: See if it's possible to share tracking properties interface? - // The responsibility of knowing how to configure windowPostMessageProxy for http should - // live in this http class, but the configuration would need ITrackingProperties - // interface which lives in WindowPostMessageProxy. Use type as workaround - HttpPostMessage.addTrackingProperties = function (message, trackingProperties) { - message.headers = message.headers || {}; - if (trackingProperties && trackingProperties.id) { - message.headers.id = trackingProperties.id; - } - return message; - }; - HttpPostMessage.getTrackingProperties = function (message) { - return { - id: message.headers && message.headers.id - }; - }; - HttpPostMessage.isErrorMessage = function (message) { - if (typeof (message && message.statusCode) !== 'number') { - return false; - } - return !(200 <= message.statusCode && message.statusCode < 300); - }; - HttpPostMessage.prototype.get = function (url, headers, targetWindow) { - if (headers === void 0) { headers = {}; } - if (targetWindow === void 0) { targetWindow = this.defaultTargetWindow; } - return this.send({ - method: "GET", - url: url, - headers: headers - }, targetWindow); - }; - HttpPostMessage.prototype.post = function (url, body, headers, targetWindow) { - if (headers === void 0) { headers = {}; } - if (targetWindow === void 0) { targetWindow = this.defaultTargetWindow; } - return this.send({ - method: "POST", - url: url, - headers: headers, - body: body - }, targetWindow); - }; - HttpPostMessage.prototype.put = function (url, body, headers, targetWindow) { - if (headers === void 0) { headers = {}; } - if (targetWindow === void 0) { targetWindow = this.defaultTargetWindow; } - return this.send({ - method: "PUT", - url: url, - headers: headers, - body: body - }, targetWindow); - }; - HttpPostMessage.prototype.patch = function (url, body, headers, targetWindow) { - if (headers === void 0) { headers = {}; } - if (targetWindow === void 0) { targetWindow = this.defaultTargetWindow; } - return this.send({ - method: "PATCH", - url: url, - headers: headers, - body: body - }, targetWindow); - }; - HttpPostMessage.prototype.delete = function (url, body, headers, targetWindow) { - if (body === void 0) { body = null; } - if (headers === void 0) { headers = {}; } - if (targetWindow === void 0) { targetWindow = this.defaultTargetWindow; } - return this.send({ - method: "DELETE", - url: url, - headers: headers, - body: body - }, targetWindow); - }; - HttpPostMessage.prototype.send = function (request, targetWindow) { - if (targetWindow === void 0) { targetWindow = this.defaultTargetWindow; } - request.headers = this.assign({}, this.defaultHeaders, request.headers); - if (!targetWindow) { - throw new Error("target window is not provided. You must either provide the target window explicitly as argument to request, or specify default target window when constructing instance of this class."); - } - return this.windowPostMessageProxy.postMessage(targetWindow, request); - }; - /** - * Object.assign() polyfill - * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/assign - */ - HttpPostMessage.prototype.assign = function (target) { - var sources = []; - for (var _i = 1; _i < arguments.length; _i++) { - sources[_i - 1] = arguments[_i]; - } - if (target === undefined || target === null) { - throw new TypeError('Cannot convert undefined or null to object'); - } - var output = Object(target); - sources.forEach(function (source) { - if (source !== undefined && source !== null) { - for (var nextKey in source) { - if (Object.prototype.hasOwnProperty.call(source, nextKey)) { - output[nextKey] = source[nextKey]; - } - } - } - }); - return output; - }; - return HttpPostMessage; - }()); - exports.HttpPostMessage = HttpPostMessage; - +/***/ "../http-post-message/dist/httpPostMessage.js": +/*!****************************************************!*\ + !*** ../http-post-message/dist/httpPostMessage.js ***! + \****************************************************/ +/***/ ((module) => { -/***/ } -/******/ ]) -}); -; +/*! For license information please see httpPostMessage.js.LICENSE.txt */ +!function(e,t){ true?module.exports=t():0}(self,(()=>(()=>{"use strict";var e={};return(()=>{var t=e;Object.defineProperty(t,"__esModule",{value:!0}),t.HttpPostMessage=void 0;var o=function(){function e(e,t,o){void 0===t&&(t={}),this.defaultHeaders=t,this.defaultTargetWindow=o,this.windowPostMessageProxy=e}return e.addTrackingProperties=function(e,t){return e.headers=e.headers||{},t&&t.id&&(e.headers.id=t.id),e},e.getTrackingProperties=function(e){return{id:e.headers&&e.headers.id}},e.isErrorMessage=function(e){return"number"==typeof(e&&e.statusCode)&&!(200<=e.statusCode&&e.statusCode<300)},e.prototype.get=function(e,t,o,r){return void 0===t&&(t={}),void 0===o&&(o=this.defaultTargetWindow),this.send({method:"GET",url:e,headers:t},o,r)},e.prototype.post=function(e,t,o,r,s){return void 0===o&&(o={}),void 0===r&&(r=this.defaultTargetWindow),this.send({method:"POST",url:e,headers:o,body:t},r,s)},e.prototype.put=function(e,t,o,r,s){return void 0===o&&(o={}),void 0===r&&(r=this.defaultTargetWindow),this.send({method:"PUT",url:e,headers:o,body:t},r,s)},e.prototype.patch=function(e,t,o,r,s){return void 0===o&&(o={}),void 0===r&&(r=this.defaultTargetWindow),this.send({method:"PATCH",url:e,headers:o,body:t},r,s)},e.prototype.delete=function(e,t,o,r,s){return void 0===t&&(t=null),void 0===o&&(o={}),void 0===r&&(r=this.defaultTargetWindow),this.send({method:"DELETE",url:e,headers:o,body:t},r,s)},e.prototype.send=function(e,t,o){if(void 0===t&&(t=this.defaultTargetWindow),e.headers=this.assign({},this.defaultHeaders,e.headers),!t)throw new Error("target window is not provided. You must either provide the target window explicitly as argument to request, or specify default target window when constructing instance of this class.");return this.windowPostMessageProxy.postMessage(t,e,o)},e.prototype.assign=function(e){for(var t=[],o=1;o { /*! For license information please see windowPostMessageProxy.js.LICENSE.txt */ -!function(e,r){ true?module.exports=r():0}(self,(()=>(()=>{"use strict";var e={};return(()=>{var r=e;Object.defineProperty(r,"__esModule",{value:!0}),r.WindowPostMessageProxy=void 0;var s=function(){function e(r){void 0===r&&(r={processTrackingProperties:{addTrackingProperties:e.defaultAddTrackingProperties,getTrackingProperties:e.defaultGetTrackingProperties},isErrorMessage:e.defaultIsErrorMessage,receiveWindow:window,name:e.createRandomString()});var s=this;this.pendingRequestPromises={},this.addTrackingProperties=r.processTrackingProperties&&r.processTrackingProperties.addTrackingProperties||e.defaultAddTrackingProperties,this.getTrackingProperties=r.processTrackingProperties&&r.processTrackingProperties.getTrackingProperties||e.defaultGetTrackingProperties,this.isErrorMessage=r.isErrorMessage||e.defaultIsErrorMessage,this.receiveWindow=r.receiveWindow||window,this.name=r.name||e.createRandomString(),this.logMessages=r.logMessages||!1,this.eventSourceOverrideWindow=r.eventSourceOverrideWindow,this.suppressWarnings=r.suppressWarnings||!1,this.logMessages&&console.log("new WindowPostMessageProxy created with name: ".concat(this.name," receiving on window: ").concat(this.receiveWindow.document.title)),this.handlers=[],this.windowMessageHandler=function(e){return s.onMessageReceived(e)},this.start()}return e.defaultAddTrackingProperties=function(r,s){return r[e.messagePropertyName]=s,r},e.defaultGetTrackingProperties=function(r){return r[e.messagePropertyName]},e.defaultIsErrorMessage=function(e){return!!e.error},e.createDeferred=function(){var e={resolve:null,reject:null,promise:null},r=new Promise((function(r,s){e.resolve=r,e.reject=s}));return e.promise=r,e},e.createRandomString=function(){var e=window.crypto||window.msCrypto,r=new Uint32Array(1);return e.getRandomValues(r),r[0].toString(36).substring(1)},e.prototype.addHandler=function(e){this.handlers.push(e)},e.prototype.removeHandler=function(e){var r=this.handlers.indexOf(e);if(-1===r)throw new Error("You attempted to remove a handler but no matching handler was found.");this.handlers.splice(r,1)},e.prototype.start=function(){this.receiveWindow.addEventListener("message",this.windowMessageHandler)},e.prototype.stop=function(){this.receiveWindow.removeEventListener("message",this.windowMessageHandler)},e.prototype.postMessage=function(r,s){var n={id:e.createRandomString()};this.addTrackingProperties(s,n),this.logMessages&&(console.log("".concat(this.name," Posting message:")),console.log(JSON.stringify(s,null," "))),r.postMessage(s,"*");var o=e.createDeferred();return this.pendingRequestPromises[n.id]=o,o.promise},e.prototype.sendResponse=function(e,r,s){this.addTrackingProperties(r,s),this.logMessages&&(console.log("".concat(this.name," Sending response:")),console.log(JSON.stringify(r,null," "))),e.postMessage(r,"*")},e.prototype.onMessageReceived=function(e){var r=this;this.logMessages&&(console.log("".concat(this.name," Received message:")),console.log("type: ".concat(e.type)),console.log(JSON.stringify(e.data,null," ")));var s=this.eventSourceOverrideWindow||e.source;if(s){var n=e.data;if("object"==typeof n){var o,t;try{o=this.getTrackingProperties(n)}catch(e){this.suppressWarnings||console.warn("Proxy(".concat(this.name,"): Error occurred when attempting to get tracking properties from incoming message:"),JSON.stringify(n,null," "),"Error: ",e)}if(o&&(t=this.pendingRequestPromises[o.id]),t){var i=!0;try{i=this.isErrorMessage(n)}catch(e){console.warn("Proxy(".concat(this.name,") Error occurred when trying to determine if message is consider an error response. Message: "),JSON.stringify(n,null,""),"Error: ",e)}i?t.reject(n):t.resolve(n),delete this.pendingRequestPromises[o.id]}else this.handlers.some((function(e){var t=!1;try{t=e.test(n)}catch(e){r.suppressWarnings||console.warn("Proxy(".concat(r.name,"): Error occurred when handler was testing incoming message:"),JSON.stringify(n,null," "),"Error: ",e)}if(t){var i=void 0;try{i=Promise.resolve(e.handle(n))}catch(e){r.suppressWarnings||console.warn("Proxy(".concat(r.name,"): Error occurred when handler was processing incoming message:"),JSON.stringify(n,null," "),"Error: ",e),i=Promise.resolve()}return i.then((function(e){if(!e){var t="Handler for message: ".concat(JSON.stringify(n,null," ")," did not return a response message. The default response message will be returned instead.");r.suppressWarnings||console.warn("Proxy(".concat(r.name,"): ").concat(t)),e={warning:t}}r.sendResponse(s,e,o)})),!0}}))||this.suppressWarnings||console.warn("Proxy(".concat(this.name,") did not handle message. Handlers: ").concat(this.handlers.length," Message: ").concat(JSON.stringify(n,null,""),"."))}else this.suppressWarnings||console.warn("Proxy(".concat(this.name,"): Received message that was not an object. Discarding message"))}},e.messagePropertyName="windowPostMessageProxy",e}();r.WindowPostMessageProxy=s})(),e})())); +!function(e,r){ true?module.exports=r():0}(self,(()=>(()=>{"use strict";var e={};return(()=>{var r=e;Object.defineProperty(r,"__esModule",{value:!0}),r.WindowPostMessageProxy=void 0;var s=function(){function e(r){void 0===r&&(r={processTrackingProperties:{addTrackingProperties:e.defaultAddTrackingProperties,getTrackingProperties:e.defaultGetTrackingProperties},isErrorMessage:e.defaultIsErrorMessage,receiveWindow:window,name:e.createRandomString()});var s=this;this.pendingRequestPromises={},this.addTrackingProperties=r.processTrackingProperties&&r.processTrackingProperties.addTrackingProperties||e.defaultAddTrackingProperties,this.getTrackingProperties=r.processTrackingProperties&&r.processTrackingProperties.getTrackingProperties||e.defaultGetTrackingProperties,this.isErrorMessage=r.isErrorMessage||e.defaultIsErrorMessage,this.receiveWindow=r.receiveWindow||window,this.name=r.name||e.createRandomString(),this.logMessages=r.logMessages||!1,this.eventSourceOverrideWindow=r.eventSourceOverrideWindow,this.suppressWarnings=r.suppressWarnings||!1,this.logMessages&&console.log("new WindowPostMessageProxy created with name: ".concat(this.name," receiving on window: ").concat(this.receiveWindow.document.title)),this.handlers=[],this.windowMessageHandler=function(e){return s.onMessageReceived(e)},this.start()}return e.defaultAddTrackingProperties=function(r,s){return r[e.messagePropertyName]=s,r},e.defaultGetTrackingProperties=function(r){return r[e.messagePropertyName]},e.defaultIsErrorMessage=function(e){return!!e.error},e.createDeferred=function(){var e={resolve:null,reject:null,promise:null},r=new Promise((function(r,s){e.resolve=r,e.reject=s}));return e.promise=r,e},e.createRandomString=function(){var e=window.crypto||window.msCrypto,r=new Uint32Array(1);return e.getRandomValues(r),r[0].toString(36).substring(1)},e.prototype.addHandler=function(e){this.handlers.push(e)},e.prototype.removeHandler=function(e){var r=this.handlers.indexOf(e);if(-1===r)throw new Error("You attempted to remove a handler but no matching handler was found.");this.handlers.splice(r,1)},e.prototype.start=function(){this.receiveWindow.addEventListener("message",this.windowMessageHandler)},e.prototype.stop=function(){this.receiveWindow.removeEventListener("message",this.windowMessageHandler)},e.prototype.postMessage=function(r,s,n){var o={id:e.createRandomString()};this.addTrackingProperties(s,o),console.log("".concat(this.name," Posting message:")),console.log(JSON.stringify(s,null," ")),console.log("target origin: ".concat(n)),r.postMessage(s,null!=n?n:"*");var t=e.createDeferred();return this.pendingRequestPromises[o.id]=t,t.promise},e.prototype.sendResponse=function(e,r,s,n){this.addTrackingProperties(r,s),this.logMessages&&(console.log("".concat(this.name," Sending response:")),console.log(JSON.stringify(r,null," "))),e.postMessage(r,null!=n?n:"*")},e.prototype.onMessageReceived=function(e){var r=this;this.logMessages&&(console.log("".concat(this.name," Received message:")),console.log("type: ".concat(e.type)),console.log(JSON.stringify(e.data,null," ")));var s=this.eventSourceOverrideWindow||e.source;if(s){var n=e.data;if("object"==typeof n){var o,t;try{o=this.getTrackingProperties(n)}catch(e){this.suppressWarnings||console.warn("Proxy(".concat(this.name,"): Error occurred when attempting to get tracking properties from incoming message:"),JSON.stringify(n,null," "),"Error: ",e)}if(o&&(t=this.pendingRequestPromises[o.id]),t){var i=!0;try{i=this.isErrorMessage(n)}catch(e){console.warn("Proxy(".concat(this.name,") Error occurred when trying to determine if message is consider an error response. Message: "),JSON.stringify(n,null,""),"Error: ",e)}i?t.reject(n):t.resolve(n),delete this.pendingRequestPromises[o.id]}else this.handlers.some((function(e){var t=!1;try{t=e.test(n)}catch(e){r.suppressWarnings||console.warn("Proxy(".concat(r.name,"): Error occurred when handler was testing incoming message:"),JSON.stringify(n,null," "),"Error: ",e)}if(t){var i=void 0;try{i=Promise.resolve(e.handle(n))}catch(e){r.suppressWarnings||console.warn("Proxy(".concat(r.name,"): Error occurred when handler was processing incoming message:"),JSON.stringify(n,null," "),"Error: ",e),i=Promise.resolve()}return i.then((function(e){if(!e){var t="Handler for message: ".concat(JSON.stringify(n,null," ")," did not return a response message. The default response message will be returned instead.");r.suppressWarnings||console.warn("Proxy(".concat(r.name,"): ").concat(t)),e={warning:t}}r.sendResponse(s,e,o)})),!0}}))||this.suppressWarnings||console.warn("Proxy(".concat(this.name,") did not handle message. Handlers: ").concat(this.handlers.length," Message: ").concat(JSON.stringify(n,null,""),"."))}else this.suppressWarnings||console.warn("Proxy(".concat(this.name,"): Received message that was not an object. Discarding message"))}},e.messagePropertyName="windowPostMessageProxy",e}();r.WindowPostMessageProxy=s})(),e})())); //# sourceMappingURL=windowPostMessageProxy.js.map /***/ }) diff --git a/dist/powerbi.min.js b/dist/powerbi.min.js index 281b3588..bd7b0d91 100644 --- a/dist/powerbi.min.js +++ b/dist/powerbi.min.js @@ -2,4 +2,4 @@ // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. /*! For license information please see powerbi.js.LICENSE.txt */ -!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,(()=>(()=>{var t={615:function(t){var e;e=function(){return function(t){var e={};function r(i){if(e[i])return e[i].exports;var a=e[i]={exports:{},id:i,loaded:!1};return t[i].call(a.exports,a,a.exports,r),a.loaded=!0,a.exports}return r.m=t,r.c=e,r.p="",r(0)}([function(t,e){"use strict";var r=function(){function t(t,e,r){void 0===e&&(e={}),this.defaultHeaders=e,this.defaultTargetWindow=r,this.windowPostMessageProxy=t}return t.addTrackingProperties=function(t,e){return t.headers=t.headers||{},e&&e.id&&(t.headers.id=e.id),t},t.getTrackingProperties=function(t){return{id:t.headers&&t.headers.id}},t.isErrorMessage=function(t){return"number"==typeof(t&&t.statusCode)&&!(200<=t.statusCode&&t.statusCode<300)},t.prototype.get=function(t,e,r){return void 0===e&&(e={}),void 0===r&&(r=this.defaultTargetWindow),this.send({method:"GET",url:t,headers:e},r)},t.prototype.post=function(t,e,r,i){return void 0===r&&(r={}),void 0===i&&(i=this.defaultTargetWindow),this.send({method:"POST",url:t,headers:r,body:e},i)},t.prototype.put=function(t,e,r,i){return void 0===r&&(r={}),void 0===i&&(i=this.defaultTargetWindow),this.send({method:"PUT",url:t,headers:r,body:e},i)},t.prototype.patch=function(t,e,r,i){return void 0===r&&(r={}),void 0===i&&(i=this.defaultTargetWindow),this.send({method:"PATCH",url:t,headers:r,body:e},i)},t.prototype.delete=function(t,e,r,i){return void 0===e&&(e=null),void 0===r&&(r={}),void 0===i&&(i=this.defaultTargetWindow),this.send({method:"DELETE",url:t,headers:r,body:e},i)},t.prototype.send=function(t,e){if(void 0===e&&(e=this.defaultTargetWindow),t.headers=this.assign({},this.defaultHeaders,t.headers),!e)throw new Error("target window is not provided. You must either provide the target window explicitly as argument to request, or specify default target window when constructing instance of this class.");return this.windowPostMessageProxy.postMessage(e,t)},t.prototype.assign=function(t){for(var e=[],r=1;r(()=>{var t=[function(t,e,r){var i,a=this&&this.__extends||(i=function(t,e){return i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},i(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.TextAlignment=e.CommonErrorCodes=e.BookmarksPlayMode=e.ExportDataType=e.QnaMode=e.PageNavigationPosition=e.BrowserPrintAdjustmentsMode=e.AggregateFunction=e.DataCacheMode=e.CredentialType=e.isPercentOfGrandTotal=e.isColumnAggr=e.isHierarchyLevelAggr=e.isHierarchyLevel=e.isColumn=e.isMeasure=e.getFilterType=e.isBasicFilterWithKeys=e.isFilterKeyColumnsTarget=e.HierarchyFilter=e.AdvancedFilter=e.TupleFilter=e.IdentityFilter=e.BasicFilterWithKeys=e.BasicFilter=e.RelativeTimeFilter=e.RelativeDateFilter=e.TopNFilter=e.IncludeExcludeFilter=e.NotSupportedFilter=e.Filter=e.RelativeDateOperators=e.RelativeDateFilterTimeUnit=e.FilterType=e.FiltersLevel=e.FiltersOperations=e.MenuLocation=e.ContrastMode=e.TokenType=e.ViewMode=e.Permissions=e.SectionVisibility=e.ReportAlignment=e.HyperlinkClickBehavior=e.LayoutType=e.VisualContainerDisplayMode=e.BackgroundType=e.DisplayOption=e.PageSizeType=e.TraceType=void 0,e.validateVisualHeader=e.validateExportDataRequest=e.validateQnaInterpretInputData=e.validateLoadQnaConfiguration=e.validateSaveAsParameters=e.validateUpdateFiltersRequest=e.validateFilter=e.validatePage=e.validateTileLoad=e.validateDashboardLoad=e.validateQuickCreate=e.validateCreateReport=e.validatePaginatedReportLoad=e.validateReportLoad=e.validateMenuGroupExtension=e.validateExtension=e.validateCustomPageSize=e.validateVisualizationsPane=e.validateSyncSlicersPane=e.validateSelectionPane=e.validatePageNavigationPane=e.validateFieldsPane=e.validateFiltersPane=e.validateBookmarksPane=e.validatePanes=e.validateSettings=e.validateCaptureBookmarkRequest=e.validateApplyBookmarkStateRequest=e.validateApplyBookmarkByNameRequest=e.validateAddBookmarkRequest=e.validatePlayBookmarkRequest=e.validateSlicerState=e.validateSlicer=e.validateVisualSelector=e.isIExtensionArray=e.isIExtensions=e.isGroupedMenuExtension=e.isFlatMenuExtension=e.isReportFiltersArray=e.isOnLoadFilters=e.VisualDataRoleKindPreference=e.VisualDataRoleKind=e.CommandDisplayOption=e.SlicerTargetSelector=e.VisualTypeSelector=e.VisualSelector=e.PageSelector=e.Selector=e.SortDirection=e.LegendPosition=void 0,e.validatePrintSettings=e.validateZoomLevel=e.validateCustomTheme=e.validateCommandsSettings=e.validateVisualSettings=void 0;var o,n,l,s,u,d,c,p,f,h,v,y,m,V,g,b,w,P,S,O=r(1);(S=e.TraceType||(e.TraceType={}))[S.Information=0]="Information",S[S.Verbose=1]="Verbose",S[S.Warning=2]="Warning",S[S.Error=3]="Error",S[S.ExpectedError=4]="ExpectedError",S[S.UnexpectedError=5]="UnexpectedError",S[S.Fatal=6]="Fatal",(P=e.PageSizeType||(e.PageSizeType={}))[P.Widescreen=0]="Widescreen",P[P.Standard=1]="Standard",P[P.Cortana=2]="Cortana",P[P.Letter=3]="Letter",P[P.Custom=4]="Custom",P[P.Mobile=5]="Mobile",(w=e.DisplayOption||(e.DisplayOption={}))[w.FitToPage=0]="FitToPage",w[w.FitToWidth=1]="FitToWidth",w[w.ActualSize=2]="ActualSize",(b=e.BackgroundType||(e.BackgroundType={}))[b.Default=0]="Default",b[b.Transparent=1]="Transparent",(g=e.VisualContainerDisplayMode||(e.VisualContainerDisplayMode={}))[g.Visible=0]="Visible",g[g.Hidden=1]="Hidden",(V=e.LayoutType||(e.LayoutType={}))[V.Master=0]="Master",V[V.Custom=1]="Custom",V[V.MobilePortrait=2]="MobilePortrait",V[V.MobileLandscape=3]="MobileLandscape",(m=e.HyperlinkClickBehavior||(e.HyperlinkClickBehavior={}))[m.Navigate=0]="Navigate",m[m.NavigateAndRaiseEvent=1]="NavigateAndRaiseEvent",m[m.RaiseEvent=2]="RaiseEvent",(y=e.ReportAlignment||(e.ReportAlignment={}))[y.Left=0]="Left",y[y.Center=1]="Center",y[y.Right=2]="Right",y[y.None=3]="None",(v=e.SectionVisibility||(e.SectionVisibility={}))[v.AlwaysVisible=0]="AlwaysVisible",v[v.HiddenInViewMode=1]="HiddenInViewMode",(h=e.Permissions||(e.Permissions={}))[h.Read=0]="Read",h[h.ReadWrite=1]="ReadWrite",h[h.Copy=2]="Copy",h[h.Create=4]="Create",h[h.All=7]="All",(f=e.ViewMode||(e.ViewMode={}))[f.View=0]="View",f[f.Edit=1]="Edit",(p=e.TokenType||(e.TokenType={}))[p.Aad=0]="Aad",p[p.Embed=1]="Embed",(c=e.ContrastMode||(e.ContrastMode={}))[c.None=0]="None",c[c.HighContrast1=1]="HighContrast1",c[c.HighContrast2=2]="HighContrast2",c[c.HighContrastBlack=3]="HighContrastBlack",c[c.HighContrastWhite=4]="HighContrastWhite",(d=e.MenuLocation||(e.MenuLocation={}))[d.Bottom=0]="Bottom",d[d.Top=1]="Top",(u=e.FiltersOperations||(e.FiltersOperations={}))[u.RemoveAll=0]="RemoveAll",u[u.ReplaceAll=1]="ReplaceAll",u[u.Add=2]="Add",u[u.Replace=3]="Replace",(s=e.FiltersLevel||(e.FiltersLevel={}))[s.Report=0]="Report",s[s.Page=1]="Page",s[s.Visual=2]="Visual",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",t[t.Identity=8]="Identity",t[t.Hierarchy=9]="Hierarchy"}(o=e.FilterType||(e.FilterType={})),(l=e.RelativeDateFilterTimeUnit||(e.RelativeDateFilterTimeUnit={}))[l.Days=0]="Days",l[l.Weeks=1]="Weeks",l[l.CalendarWeeks=2]="CalendarWeeks",l[l.Months=3]="Months",l[l.CalendarMonths=4]="CalendarMonths",l[l.Years=5]="Years",l[l.CalendarYears=6]="CalendarYears",l[l.Minutes=7]="Minutes",l[l.Hours=8]="Hours",(n=e.RelativeDateOperators||(e.RelativeDateOperators={}))[n.InLast=0]="InLast",n[n.InThis=1]="InThis",n[n.InNext=2]="InNext";var _=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=_;var E=function(t){function e(r,i,a){var n=t.call(this,r,o.Unknown)||this;return n.message=i,n.notSupportedTypeName=a,n.schemaUrl=e.schemaUrl,n}return a(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}(_);e.NotSupportedFilter=E;var T=function(t){function e(r,i,a){var n=t.call(this,r,o.IncludeExclude)||this;return n.values=a,n.isExclude=i,n.schemaUrl=e.schemaUrl,n}return a(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}(_);e.IncludeExcludeFilter=T;var F=function(t){function e(r,i,a,n){var l=t.call(this,r,o.TopN)||this;return l.operator=i,l.itemCount=a,l.schemaUrl=e.schemaUrl,l.orderBy=n,l}return a(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}(_);e.TopNFilter=F;var C=function(t){function e(r,i,a,n,l){var s=t.call(this,r,o.RelativeDate)||this;return s.operator=i,s.timeUnitsCount=a,s.timeUnitType=n,s.includeToday=l,s.schemaUrl=e.schemaUrl,s}return a(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}(_);e.RelativeDateFilter=C;var R=function(t){function e(r,i,a,n){var l=t.call(this,r,o.RelativeTime)||this;return l.operator=i,l.timeUnitsCount=a,l.timeUnitType=n,l.schemaUrl=e.schemaUrl,l}return a(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}(_);e.RelativeTimeFilter=R;var k=function(t){function e(r,i){for(var a=[],n=2;n0&&!a)throw new Error("You should pass the values to be filtered for each key. You passed: no values and ".concat(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,s=o.keyValues;l2)throw new Error("AdvancedFilters may not have more than two conditions. You passed: ".concat(a.length));if(1===l.length&&"And"!==i)throw new Error('Logical Operator must be "And" when there is only one condition provided');return s.conditions=l,s}return a(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}(_);e.AdvancedFilter=M;var I,L,q,D,N,B,U,H,W,z=function(t){function e(r,i){var a=t.call(this,r,o.Hierarchy)||this;return a.schemaUrl=e.schemaUrl,a.hierarchyData=i,a}return a(e,t),e.prototype.toJSON=function(){var e=t.prototype.toJSON.call(this);return e.hierarchyData=this.hierarchyData,e.target=this.target,e},e.schemaUrl="http://powerbi.com/product/schema#hierarchy",e}(_);function Q(t){if(t.filterType)return t.filterType;var e=t,r=t;return"string"==typeof e.operator&&Array.isArray(e.values)?o.Basic:"string"==typeof r.logicalOperator&&Array.isArray(r.conditions)?o.Advanced:o.Unknown}function G(t){return!(!t.table||!t.column||t.aggregationFunction)}e.HierarchyFilter=z,e.isFilterKeyColumnsTarget=function(t){return G(t)&&!!t.keys},e.isBasicFilterWithKeys=function(t){return Q(t)===o.Basic&&!!t.keyValues},e.getFilterType=Q,e.isMeasure=function(t){return void 0!==t.table&&void 0!==t.measure},e.isColumn=G,e.isHierarchyLevel=function(t){return!(!(t.table&&t.hierarchy&&t.hierarchyLevel)||t.aggregationFunction)},e.isHierarchyLevelAggr=function(t){return!!(t.table&&t.hierarchy&&t.hierarchyLevel&&t.aggregationFunction)},e.isColumnAggr=function(t){return!!(t.table&&t.column&&t.aggregationFunction)},e.isPercentOfGrandTotal=function(t){return!!t.percentOfGrandTotal},(W=e.CredentialType||(e.CredentialType={}))[W.NoConnection=0]="NoConnection",W[W.OnBehalfOf=1]="OnBehalfOf",W[W.Anonymous=2]="Anonymous",(H=e.DataCacheMode||(e.DataCacheMode={}))[H.Import=0]="Import",H[H.DirectQuery=1]="DirectQuery",(U=e.AggregateFunction||(e.AggregateFunction={}))[U.Default=1]="Default",U[U.None=2]="None",U[U.Sum=3]="Sum",U[U.Min=4]="Min",U[U.Max=5]="Max",U[U.Count=6]="Count",U[U.Average=7]="Average",U[U.DistinctCount=8]="DistinctCount",(B=e.BrowserPrintAdjustmentsMode||(e.BrowserPrintAdjustmentsMode={}))[B.Default=0]="Default",B[B.NoAdjustments=1]="NoAdjustments",(N=e.PageNavigationPosition||(e.PageNavigationPosition={}))[N.Bottom=0]="Bottom",N[N.Left=1]="Left",(D=e.QnaMode||(e.QnaMode={}))[D.Interactive=0]="Interactive",D[D.ResultOnly=1]="ResultOnly",(q=e.ExportDataType||(e.ExportDataType={}))[q.Summarized=0]="Summarized",q[q.Underlying=1]="Underlying",(L=e.BookmarksPlayMode||(e.BookmarksPlayMode={}))[L.Off=0]="Off",L[L.Presentation=1]="Presentation",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"},(I=e.SortDirection||(e.SortDirection={}))[I.Ascending=1]="Ascending",I[I.Descending=2]="Descending";var J=function(){function t(t){this.$schema=t}return t.prototype.toJSON=function(){return{$schema:this.$schema}},t}();e.Selector=J;var K=function(t){function e(r){var i=t.call(this,e.schemaUrl)||this;return i.pageName=r,i}return a(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}(J);e.PageSelector=K;var Y=function(t){function e(r){var i=t.call(this,e.schemaUrl)||this;return i.visualName=r,i}return a(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}(J);e.VisualSelector=Y;var $=function(t){function e(e){var r=t.call(this,Y.schemaUrl)||this;return r.visualType=e,r}return a(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}(J);e.VisualTypeSelector=$;var Z,X,tt,et=function(t){function e(e){var r=t.call(this,Y.schemaUrl)||this;return r.target=e,r}return a(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}(J);function rt(t){return Array.isArray(t)}function it(t){return t&&!!t.groupName}function at(t){return Array.isArray(t)}function ot(t){var e=t.message;return e||(e="".concat(t.path," is invalid. Not meeting ").concat(t.keyword," constraint")),{message:e}}e.SlicerTargetSelector=et,(tt=e.CommandDisplayOption||(e.CommandDisplayOption={}))[tt.Enabled=0]="Enabled",tt[tt.Disabled=1]="Disabled",tt[tt.Hidden=2]="Hidden",(X=e.VisualDataRoleKind||(e.VisualDataRoleKind={}))[X.Grouping=0]="Grouping",X[X.Measure=1]="Measure",X[X.GroupingOrMeasure=2]="GroupingOrMeasure",(Z=e.VisualDataRoleKindPreference||(e.VisualDataRoleKindPreference={}))[Z.Measure=0]="Measure",Z[Z.Grouping=1]="Grouping",e.isOnLoadFilters=function(t){return t&&!rt(t)},e.isReportFiltersArray=rt,e.isFlatMenuExtension=function(t){return t&&!it(t)},e.isGroupedMenuExtension=it,e.isIExtensions=function(t){return t&&!at(t)},e.isIExtensionArray=at,e.validateVisualSelector=function(t){var e=O.Validators.visualSelectorValidator.validate(t);return e?e.map(ot):void 0},e.validateSlicer=function(t){var e=O.Validators.slicerValidator.validate(t);return e?e.map(ot):void 0},e.validateSlicerState=function(t){var e=O.Validators.slicerStateValidator.validate(t);return e?e.map(ot):void 0},e.validatePlayBookmarkRequest=function(t){var e=O.Validators.playBookmarkRequestValidator.validate(t);return e?e.map(ot):void 0},e.validateAddBookmarkRequest=function(t){var e=O.Validators.addBookmarkRequestValidator.validate(t);return e?e.map(ot):void 0},e.validateApplyBookmarkByNameRequest=function(t){var e=O.Validators.applyBookmarkByNameRequestValidator.validate(t);return e?e.map(ot):void 0},e.validateApplyBookmarkStateRequest=function(t){var e=O.Validators.applyBookmarkStateRequestValidator.validate(t);return e?e.map(ot):void 0},e.validateCaptureBookmarkRequest=function(t){var e=O.Validators.captureBookmarkRequestValidator.validate(t);return e?e.map(ot):void 0},e.validateSettings=function(t){var e=O.Validators.settingsValidator.validate(t);return e?e.map(ot):void 0},e.validatePanes=function(t){var e=O.Validators.reportPanesValidator.validate(t);return e?e.map(ot):void 0},e.validateBookmarksPane=function(t){var e=O.Validators.bookmarksPaneValidator.validate(t);return e?e.map(ot):void 0},e.validateFiltersPane=function(t){var e=O.Validators.filtersPaneValidator.validate(t);return e?e.map(ot):void 0},e.validateFieldsPane=function(t){var e=O.Validators.fieldsPaneValidator.validate(t);return e?e.map(ot):void 0},e.validatePageNavigationPane=function(t){var e=O.Validators.pageNavigationPaneValidator.validate(t);return e?e.map(ot):void 0},e.validateSelectionPane=function(t){var e=O.Validators.selectionPaneValidator.validate(t);return e?e.map(ot):void 0},e.validateSyncSlicersPane=function(t){var e=O.Validators.syncSlicersPaneValidator.validate(t);return e?e.map(ot):void 0},e.validateVisualizationsPane=function(t){var e=O.Validators.visualizationsPaneValidator.validate(t);return e?e.map(ot):void 0},e.validateCustomPageSize=function(t){var e=O.Validators.customPageSizeValidator.validate(t);return e?e.map(ot):void 0},e.validateExtension=function(t){var e=O.Validators.extensionValidator.validate(t);return e?e.map(ot):void 0},e.validateMenuGroupExtension=function(t){var e=O.Validators.menuGroupExtensionValidator.validate(t);return e?e.map(ot):void 0},e.validateReportLoad=function(t){var e=O.Validators.reportLoadValidator.validate(t);return e?e.map(ot):void 0},e.validatePaginatedReportLoad=function(t){var e=O.Validators.paginatedReportLoadValidator.validate(t);return e?e.map(ot):void 0},e.validateCreateReport=function(t){var e=O.Validators.reportCreateValidator.validate(t);return e?e.map(ot):void 0},e.validateQuickCreate=function(t){var e=O.Validators.quickCreateValidator.validate(t);return e?e.map(ot):void 0},e.validateDashboardLoad=function(t){var e=O.Validators.dashboardLoadValidator.validate(t);return e?e.map(ot):void 0},e.validateTileLoad=function(t){var e=O.Validators.tileLoadValidator.validate(t);return e?e.map(ot):void 0},e.validatePage=function(t){var e=O.Validators.pageValidator.validate(t);return e?e.map(ot):void 0},e.validateFilter=function(t){var e=O.Validators.filterValidator.validate(t);return e?e.map(ot):void 0},e.validateUpdateFiltersRequest=function(t){var e=O.Validators.updateFiltersRequestValidator.validate(t);return e?e.map(ot):void 0},e.validateSaveAsParameters=function(t){var e=O.Validators.saveAsParametersValidator.validate(t);return e?e.map(ot):void 0},e.validateLoadQnaConfiguration=function(t){var e=O.Validators.loadQnaValidator.validate(t);return e?e.map(ot):void 0},e.validateQnaInterpretInputData=function(t){var e=O.Validators.qnaInterpretInputDataValidator.validate(t);return e?e.map(ot):void 0},e.validateExportDataRequest=function(t){var e=O.Validators.exportDataRequestValidator.validate(t);return e?e.map(ot):void 0},e.validateVisualHeader=function(t){var e=O.Validators.visualHeaderValidator.validate(t);return e?e.map(ot):void 0},e.validateVisualSettings=function(t){var e=O.Validators.visualSettingsValidator.validate(t);return e?e.map(ot):void 0},e.validateCommandsSettings=function(t){var e=O.Validators.commandsSettingsValidator.validate(t);return e?e.map(ot):void 0},e.validateCustomTheme=function(t){var e=O.Validators.customThemeValidator.validate(t);return e?e.map(ot):void 0},e.validateZoomLevel=function(t){var e=O.Validators.zoomLevelValidator.validate(t);return e?e.map(ot):void 0},e.validatePrintSettings=function(t){var e=O.Validators.printSettingsValidator.validate(t);return e?e.map(ot):void 0}},(t,e,r)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.Validators=void 0;var i=r(2),a=r(5),o=r(6),n=r(7),l=r(8),s=r(9),u=r(10),d=r(11),c=r(12),p=r(13),f=r(14),h=r(15),v=r(16),y=r(17),m=r(18),V=r(19),g=r(20),b=r(21),w=r(22),P=r(23),S=r(24),O=r(25),_=r(26),E=r(27),T=r(28),F=r(29),C=r(4),R=r(30),k=r(31),x=r(32),A=r(33),j=r(34);e.Validators={addBookmarkRequestValidator:new a.AddBookmarkRequestValidator,advancedFilterTypeValidator:new C.EnumValidator([0]),advancedFilterValidator:new c.AdvancedFilterValidator,anyArrayValidator:new C.ArrayValidator([new _.AnyOfValidator([new C.StringValidator,new C.NumberValidator,new C.BooleanValidator])]),anyFilterValidator:new _.AnyOfValidator([new c.BasicFilterValidator,new c.AdvancedFilterValidator,new c.IncludeExcludeFilterValidator,new c.NotSupportedFilterValidator,new c.RelativeDateFilterValidator,new c.TopNFilterValidator,new c.RelativeTimeFilterValidator,new c.HierarchyFilterValidator]),anyValueValidator:new _.AnyOfValidator([new C.StringValidator,new C.NumberValidator,new C.BooleanValidator]),actionBarValidator:new i.ActionBarValidator,statusBarValidator:new i.StatusBarValidator,applyBookmarkByNameRequestValidator:new a.ApplyBookmarkByNameRequestValidator,applyBookmarkStateRequestValidator:new a.ApplyBookmarkStateRequestValidator,applyBookmarkValidator:new _.AnyOfValidator([new a.ApplyBookmarkByNameRequestValidator,new a.ApplyBookmarkStateRequestValidator]),backgroundValidator:new C.EnumValidator([0,1]),basicFilterTypeValidator:new C.EnumValidator([1]),basicFilterValidator:new c.BasicFilterValidator,booleanArrayValidator:new C.BooleanArrayValidator,booleanValidator:new C.BooleanValidator,bookmarksPaneValidator:new h.BookmarksPaneValidator,captureBookmarkOptionsValidator:new a.CaptureBookmarkOptionsValidator,captureBookmarkRequestValidator:new a.CaptureBookmarkRequestValidator,columnSchemaArrayValidator:new C.ArrayValidator([new k.ColumnSchemaValidator]),commandDisplayOptionValidator:new C.EnumValidator([0,1,2]),commandExtensionSelectorValidator:new _.AnyOfValidator([new b.VisualSelectorValidator,new b.VisualTypeSelectorValidator]),commandExtensionArrayValidator:new C.ArrayValidator([new d.CommandExtensionValidator]),commandExtensionValidator:new d.CommandExtensionValidator,commandsSettingsArrayValidator:new C.ArrayValidator([new o.CommandsSettingsValidator]),commandsSettingsValidator:new o.CommandsSettingsValidator,conditionItemValidator:new c.ConditionItemValidator,contrastModeValidator:new C.EnumValidator([0,1,2,3,4]),credentialDetailsValidator:new F.MapValidator([new C.StringValidator],[new C.StringValidator]),credentialsValidator:new k.CredentialsValidator,credentialTypeValidator:new C.EnumValidator([0,1,2]),customLayoutDisplayOptionValidator:new C.EnumValidator([0,1,2]),customLayoutValidator:new p.CustomLayoutValidator,customPageSizeValidator:new f.CustomPageSizeValidator,customThemeValidator:new n.CustomThemeValidator,dashboardLoadValidator:new l.DashboardLoadValidator,dataCacheModeValidator:new C.EnumValidator([0,1]),datasetBindingValidator:new s.DatasetBindingValidator,datasetCreateConfigValidator:new k.DatasetCreateConfigValidator,datasourceConnectionConfigValidator:new k.DatasourceConnectionConfigValidator,displayStateModeValidator:new C.EnumValidator([0,1]),displayStateValidator:new p.DisplayStateValidator,exportDataRequestValidator:new u.ExportDataRequestValidator,extensionArrayValidator:new C.ArrayValidator([new d.ExtensionValidator]),extensionsValidator:new _.AnyOfValidator([new C.ArrayValidator([new d.ExtensionValidator]),new d.ExtensionsValidator]),extensionPointsValidator:new d.ExtensionPointsValidator,extensionValidator:new d.ExtensionValidator,fieldForbiddenValidator:new E.FieldForbiddenValidator,fieldRequiredValidator:new T.FieldRequiredValidator,fieldsPaneValidator:new h.FieldsPaneValidator,filterColumnTargetValidator:new c.FilterColumnTargetValidator,filterDisplaySettingsValidator:new c.FilterDisplaySettingsValidator,filterConditionsValidator:new C.ArrayValidator([new c.ConditionItemValidator]),filterHierarchyTargetValidator:new c.FilterHierarchyTargetValidator,filterMeasureTargetValidator:new c.FilterMeasureTargetValidator,filterTargetValidator:new _.AnyOfValidator([new c.FilterColumnTargetValidator,new c.FilterHierarchyTargetValidator,new c.FilterMeasureTargetValidator,new C.ArrayValidator([new _.AnyOfValidator([new c.FilterColumnTargetValidator,new c.FilterHierarchyTargetValidator,new c.FilterMeasureTargetValidator,new c.FilterKeyColumnsTargetValidator,new c.FilterKeyHierarchyTargetValidator])])]),filterValidator:new c.FilterValidator,filterTypeValidator:new C.EnumValidator([0,1,2,3,4,5,6,7,9]),filtersArrayValidator:new C.ArrayValidator([new c.FilterValidator]),filtersOperationsUpdateValidator:new C.EnumValidator([1,2,3]),filtersOperationsRemoveAllValidator:new C.EnumValidator([0]),filtersPaneValidator:new h.FiltersPaneValidator,hyperlinkClickBehaviorValidator:new C.EnumValidator([0,1,2]),includeExcludeFilterValidator:new c.IncludeExcludeFilterValidator,includeExludeFilterTypeValidator:new C.EnumValidator([3]),hierarchyFilterTypeValidator:new C.EnumValidator([9]),hierarchyFilterValuesValidator:new C.ArrayValidator([new c.HierarchyFilterNodeValidator]),layoutTypeValidator:new C.EnumValidator([0,1,2,3]),loadQnaValidator:new v.LoadQnaValidator,menuExtensionValidator:new _.AnyOfValidator([new d.FlatMenuExtensionValidator,new d.GroupedMenuExtensionValidator]),menuGroupExtensionArrayValidator:new C.ArrayValidator([new d.MenuGroupExtensionValidator]),menuGroupExtensionValidator:new d.MenuGroupExtensionValidator,menuLocationValidator:new C.EnumValidator([0,1]),notSupportedFilterTypeValidator:new C.EnumValidator([2]),notSupportedFilterValidator:new c.NotSupportedFilterValidator,numberArrayValidator:new C.NumberArrayValidator,numberValidator:new C.NumberValidator,onLoadFiltersBaseValidator:new _.AnyOfValidator([new c.OnLoadFiltersBaseValidator,new c.OnLoadFiltersBaseRemoveOperationValidator]),pageLayoutValidator:new F.MapValidator([new C.StringValidator],[new p.VisualLayoutValidator]),pageNavigationPaneValidator:new h.PageNavigationPaneValidator,pageNavigationPositionValidator:new C.EnumValidator([0,1]),pageSizeTypeValidator:new C.EnumValidator([0,1,2,3,4,5]),pageSizeValidator:new f.PageSizeValidator,pageValidator:new f.PageValidator,pageViewFieldValidator:new f.PageViewFieldValidator,pagesLayoutValidator:new F.MapValidator([new C.StringValidator],[new p.PageLayoutValidator]),paginatedReportCommandsValidator:new o.PaginatedReportCommandsValidator,paginatedReportDatasetBindingArrayValidator:new C.ArrayValidator([new j.PaginatedReportDatasetBindingValidator]),paginatedReportLoadValidator:new V.PaginatedReportLoadValidator,paginatedReportsettingsValidator:new w.PaginatedReportSettingsValidator,parameterValuesArrayValidator:new C.ArrayValidator([new V.ReportParameterFieldsValidator]),parametersPanelValidator:new R.ParametersPanelValidator,permissionsValidator:new C.EnumValidator([0,1,2,4,7]),playBookmarkRequestValidator:new a.PlayBookmarkRequestValidator,printSettingsValidator:new A.PrintSettingsValidator,qnaInterpretInputDataValidator:new v.QnaInterpretInputDataValidator,qnaPanesValidator:new h.QnaPanesValidator,qnaSettingValidator:new v.QnaSettingsValidator,quickCreateValidator:new x.QuickCreateValidator,rawDataValidator:new C.ArrayValidator([new C.ArrayValidator([new C.StringValidator])]),relativeDateFilterOperatorValidator:new C.EnumValidator([0,1,2]),relativeDateFilterTimeUnitTypeValidator:new C.EnumValidator([0,1,2,3,4,5,6]),relativeDateFilterTypeValidator:new C.EnumValidator([4]),relativeDateFilterValidator:new c.RelativeDateFilterValidator,relativeDateTimeFilterTypeValidator:new C.EnumValidator([4,7]),relativeDateTimeFilterUnitTypeValidator:new C.EnumValidator([0,1,2,3,4,5,6,7,8]),relativeTimeFilterTimeUnitTypeValidator:new C.EnumValidator([7,8]),relativeTimeFilterTypeValidator:new C.EnumValidator([7]),relativeTimeFilterValidator:new c.RelativeTimeFilterValidator,reportBarsValidator:new i.ReportBarsValidator,reportCreateValidator:new y.ReportCreateValidator,reportLoadFiltersValidator:new _.AnyOfValidator([new C.ArrayValidator([new c.FilterValidator]),new c.OnLoadFiltersValidator]),reportLoadValidator:new m.ReportLoadValidator,reportPanesValidator:new h.ReportPanesValidator,saveAsParametersValidator:new g.SaveAsParametersValidator,selectionPaneValidator:new h.SelectionPaneValidator,settingsValidator:new w.SettingsValidator,singleCommandSettingsValidator:new o.SingleCommandSettingsValidator,slicerSelectorValidator:new _.AnyOfValidator([new b.VisualSelectorValidator,new b.SlicerTargetSelectorValidator]),slicerStateValidator:new P.SlicerStateValidator,slicerTargetValidator:new _.AnyOfValidator([new c.FilterColumnTargetValidator,new c.FilterHierarchyTargetValidator,new c.FilterMeasureTargetValidator,new c.FilterKeyColumnsTargetValidator,new c.FilterKeyHierarchyTargetValidator]),slicerValidator:new P.SlicerValidator,stringArrayValidator:new C.StringArrayValidator,stringValidator:new C.StringValidator,syncSlicersPaneValidator:new h.SyncSlicersPaneValidator,tableDataArrayValidator:new C.ArrayValidator([new k.TableDataValidator]),tableSchemaListValidator:new C.ArrayValidator([new k.TableSchemaValidator]),tileLoadValidator:new S.TileLoadValidator,tokenTypeValidator:new C.EnumValidator([0,1]),topNFilterTypeValidator:new C.EnumValidator([5]),topNFilterValidator:new c.TopNFilterValidator,updateFiltersRequestValidator:new _.AnyOfValidator([new c.UpdateFiltersRequestValidator,new c.RemoveFiltersRequestValidator]),viewModeValidator:new C.EnumValidator([0,1]),visualCommandSelectorValidator:new _.AnyOfValidator([new b.VisualSelectorValidator,new b.VisualTypeSelectorValidator]),visualHeaderSelectorValidator:new _.AnyOfValidator([new b.VisualSelectorValidator,new b.VisualTypeSelectorValidator]),visualHeaderSettingsValidator:new O.VisualHeaderSettingsValidator,visualHeaderValidator:new O.VisualHeaderValidator,visualHeadersValidator:new C.ArrayValidator([new O.VisualHeaderValidator]),visualizationsPaneValidator:new h.VisualizationsPaneValidator,visualLayoutValidator:new p.VisualLayoutValidator,visualSelectorValidator:new b.VisualSelectorValidator,visualSettingsValidator:new O.VisualSettingsValidator,visualTypeSelectorValidator:new b.VisualTypeSelectorValidator,zoomLevelValidator:new C.RangeValidator(.25,4)}},function(t,e,r){var i,a=this&&this.__extends||(i=function(t,e){return i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},i(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.StatusBarValidator=e.ActionBarValidator=e.ReportBarsValidator=void 0;var o=r(3),n=r(4),l=r(1),s=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return a(e,t),e.prototype.validate=function(e,r,i){if(null==e)return null;var a=t.prototype.validate.call(this,e,r,i);if(a)return a;var n=[{field:"actionBar",validators:[l.Validators.actionBarValidator]},{field:"statusBar",validators:[l.Validators.statusBarValidator]}];return new o.MultipleFieldsValidator(n).validate(e,r,i)},e}(n.ObjectValidator);e.ReportBarsValidator=s;var u=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return a(e,t),e.prototype.validate=function(e,r,i){if(null==e)return null;var a=t.prototype.validate.call(this,e,r,i);if(a)return a;var n=[{field:"visible",validators:[l.Validators.booleanValidator]}];return new o.MultipleFieldsValidator(n).validate(e,r,i)},e}(n.ObjectValidator);e.ActionBarValidator=u;var d=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return a(e,t),e.prototype.validate=function(e,r,i){if(null==e)return null;var a=t.prototype.validate.call(this,e,r,i);if(a)return a;var n=[{field:"visible",validators:[l.Validators.booleanValidator]}];return new o.MultipleFieldsValidator(n).validate(e,r,i)},e}(n.ObjectValidator);e.StatusBarValidator=d},(t,e)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.MultipleFieldsValidator=void 0;var r=function(){function t(t){this.fieldValidatorsPairs=t}return t.prototype.validate=function(t,e,r){if(!this.fieldValidatorsPairs)return null;for(var i=e?e+"."+r:r,a=0,o=this.fieldValidatorsPairs;athis.maxValue||e{Object.defineProperty(e,"__esModule",{value:!0}),e.AnyOfValidator=void 0;var r=function(){function t(t){this.validators=t}return t.prototype.validate=function(t,e,r){if(null==t)return null;for(var i=!1,a=0,o=this.validators;a{Object.defineProperty(e,"__esModule",{value:!0}),e.FieldForbiddenValidator=void 0;var r=function(){function t(){}return t.prototype.validate=function(t,e,r){return void 0!==t?[{message:r+" is forbidden",path:(e?e+".":"")+r,keyword:"forbidden"}]:null},t}();e.FieldForbiddenValidator=r},(t,e)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.FieldRequiredValidator=void 0;var r=function(){function t(){}return t.prototype.validate=function(t,e,r){return null==t?[{message:r+" is required",path:(e?e+".":"")+r,keyword:"required"}]:null},t}();e.FieldRequiredValidator=r},function(t,e,r){var i,a=this&&this.__extends||(i=function(t,e){return i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},i(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.MapValidator=void 0;var o=function(t){function e(e,r){var i=t.call(this)||this;return i.keyValidators=e,i.valueValidators=r,i}return a(e,t),e.prototype.validate=function(e,r,i){if(null==e)return null;var a=t.prototype.validate.call(this,e,r,i);if(a)return a;for(var o in e)if(e.hasOwnProperty(o)){for(var n=(r?r+".":"")+i+"."+o,l=0,s=this.keyValidators;l2&&"[]"===n.slice(l-2)&&(s=!0,r[n=n.slice(0,l-2)]||(r[n]=[])),a=o[1]?g(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(-1!==(i=t.indexOf("?"))){var l=t.substr(i+1,t.length);t=t.substr(0,i),o=this.parseQueryString(l)}for("/"!==(t=decodeURI(t)).charAt(0)&&(t="/"+t),(e=t.length)>1&&"/"===t.charAt(e-1)&&(t=t.substr(0,e-1),n=!0),r=0;r{Object.defineProperty(e,"__esModule",{value:!0}),e.FilterBuilder=void 0;var r=function(){function t(){}return t.prototype.withTargetObject=function(t){return this.target=t,this},t.prototype.withColumnTarget=function(t,e){return this.target={table:t,column:e},this},t.prototype.withMeasureTarget=function(t,e){return this.target={table:t,measure:e},this},t.prototype.withHierarchyLevelTarget=function(t,e,r){return this.target={table:t,hierarchy:e,hierarchyLevel:r},this},t.prototype.withColumnAggregation=function(t,e,r){return this.target={table:t,column:e,aggregationFunction:r},this},t.prototype.withHierarchyLevelAggregationTarget=function(t,e,r,i){return this.target={table:t,hierarchy:e,hierarchyLevel:r,aggregationFunction:i},this},t}();e.FilterBuilder=r},567:(t,e,r)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.RelativeTimeFilterBuilder=e.RelativeDateFilterBuilder=e.TopNFilterBuilder=e.AdvancedFilterBuilder=e.BasicFilterBuilder=void 0;var i=r(153);Object.defineProperty(e,"BasicFilterBuilder",{enumerable:!0,get:function(){return i.BasicFilterBuilder}});var a=r(674);Object.defineProperty(e,"AdvancedFilterBuilder",{enumerable:!0,get:function(){return a.AdvancedFilterBuilder}});var o=r(664);Object.defineProperty(e,"TopNFilterBuilder",{enumerable:!0,get:function(){return o.TopNFilterBuilder}});var n=r(844);Object.defineProperty(e,"RelativeDateFilterBuilder",{enumerable:!0,get:function(){return n.RelativeDateFilterBuilder}});var l=r(275);Object.defineProperty(e,"RelativeTimeFilterBuilder",{enumerable:!0,get:function(){return l.RelativeTimeFilterBuilder}})},844:function(t,e,r){var i,a=this&&this.__extends||(i=function(t,e){return i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},i(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.RelativeDateFilterBuilder=void 0;var o=r(149),n=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.isTodayIncluded=!0,e}return a(e,t),e.prototype.inLast=function(t,e){return this.operator=o.RelativeDateOperators.InLast,this.timeUnitsCount=t,this.timeUnitType=e,this},e.prototype.inThis=function(t,e){return this.operator=o.RelativeDateOperators.InThis,this.timeUnitsCount=t,this.timeUnitType=e,this},e.prototype.inNext=function(t,e){return this.operator=o.RelativeDateOperators.InNext,this.timeUnitsCount=t,this.timeUnitType=e,this},e.prototype.includeToday=function(t){return this.isTodayIncluded=t,this},e.prototype.build=function(){return new o.RelativeDateFilter(this.target,this.operator,this.timeUnitsCount,this.timeUnitType,this.isTodayIncluded)},e}(r(277).FilterBuilder);e.RelativeDateFilterBuilder=n},275:function(t,e,r){var i,a=this&&this.__extends||(i=function(t,e){return i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},i(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.RelativeTimeFilterBuilder=void 0;var o=r(149),n=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return a(e,t),e.prototype.inLast=function(t,e){return this.operator=o.RelativeDateOperators.InLast,this.timeUnitsCount=t,this.timeUnitType=e,this},e.prototype.inThis=function(t,e){return this.operator=o.RelativeDateOperators.InThis,this.timeUnitsCount=t,this.timeUnitType=e,this},e.prototype.inNext=function(t,e){return this.operator=o.RelativeDateOperators.InNext,this.timeUnitsCount=t,this.timeUnitType=e,this},e.prototype.build=function(){return new o.RelativeTimeFilter(this.target,this.operator,this.timeUnitsCount,this.timeUnitType)},e}(r(277).FilterBuilder);e.RelativeTimeFilterBuilder=n},664:function(t,e,r){var i,a=this&&this.__extends||(i=function(t,e){return i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},i(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.TopNFilterBuilder=void 0;var o=r(149),n=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return a(e,t),e.prototype.top=function(t){return this.operator="Top",this.itemCount=t,this},e.prototype.bottom=function(t){return this.operator="Bottom",this.itemCount=t,this},e.prototype.orderByTarget=function(t){return this.orderByTargetValue=t,this},e.prototype.build=function(){return new o.TopNFilter(this.target,this.operator,this.itemCount,this.orderByTargetValue)},e}(r(277).FilterBuilder);e.TopNFilterBuilder=n},460:function(t,e,r){var i=this&&this.__awaiter||function(t,e,r,i){return new(r||(r=Promise))((function(a,o){function n(t){try{s(i.next(t))}catch(t){o(t)}}function l(t){try{s(i.throw(t))}catch(t){o(t)}}function s(t){var e;t.done?a(t.value):(e=t.value,e instanceof r?e:new r((function(t){t(e)}))).then(n,l)}s((i=i.apply(t,e||[])).next())}))},a=this&&this.__generator||function(t,e){var r,i,a,o,n={label:0,sent:function(){if(1&a[0])throw a[1];return a[1]},trys:[],ops:[]};return o={next:l(0),throw:l(1),return:l(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function l(o){return function(l){return function(o){if(r)throw new TypeError("Generator is already executing.");for(;n;)try{if(r=1,i&&(a=2&o[0]?i.return:o[0]?i.throw||((a=i.return)&&a.call(i),0):i.next)&&!(a=a.call(i,o[1])).done)return a;switch(i=0,a&&(o=[2&o[0],a.value]),o[0]){case 0:case 1:a=o;break;case 4:return n.label++,{value:o[1],done:!1};case 5:n.label++,i=o[1],o=[0];continue;case 7:o=n.ops.pop(),n.trys.pop();continue;default:if(!((a=(a=n.trys).length>0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]{Object.defineProperty(e,"__esModule",{value:!0}),e.default={version:"2.23.0",type:"js"}},536:function(t,e,r){var i,a=this&&this.__extends||(i=function(t,e){return i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},i(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}),o=this&&this.__awaiter||function(t,e,r,i){return new(r||(r=Promise))((function(a,o){function n(t){try{s(i.next(t))}catch(t){o(t)}}function l(t){try{s(i.throw(t))}catch(t){o(t)}}function s(t){var e;t.done?a(t.value):(e=t.value,e instanceof r?e:new r((function(t){t(e)}))).then(n,l)}s((i=i.apply(t,e||[])).next())}))},n=this&&this.__generator||function(t,e){var r,i,a,o,n={label:0,sent:function(){if(1&a[0])throw a[1];return a[1]},trys:[],ops:[]};return o={next:l(0),throw:l(1),return:l(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function l(o){return function(l){return function(o){if(r)throw new TypeError("Generator is already executing.");for(;n;)try{if(r=1,i&&(a=2&o[0]?i.return:o[0]?i.throw||((a=i.return)&&a.call(i),0):i.next)&&!(a=a.call(i,o[1])).done)return a;switch(i=0,a&&(o=[2&o[0],a.value]),o[0]){case 0:case 1:a=o;break;case 4:return n.label++,{value:o[1],done:!1};case 5:n.label++,i=o[1],o=[0];continue;case 7:o=n.ops.pop(),n.trys.pop();continue;default:if(!((a=(a=n.trys).length>0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]{Object.defineProperty(e,"__esModule",{value:!0}),e.invalidEmbedUrlErrorMessage=e.EmbedUrlNotSupported=e.APINotSupportedForRDLError=void 0,e.APINotSupportedForRDLError="This API is currently not supported for RDL reports",e.EmbedUrlNotSupported="Embed URL is invalid for this scenario. Please use Power BI REST APIs to get the valid URL",e.invalidEmbedUrlErrorMessage="Invalid embed URL detected. Either URL hostname or protocol are invalid. Please use Power BI REST APIs to get the valid URL"},357:(t,e,r)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.routerFactory=e.wpmpFactory=e.hpmFactory=void 0;var i=r(903),a=r(615),o=r(891),n=r(913);e.hpmFactory=function(t,e,r,i,o){return void 0===r&&(r=n.default.version),void 0===i&&(i=n.default.type),new a.HttpPostMessage(t,{"x-sdk-type":i,"x-sdk-version":r,"x-sdk-wrapper-version":o},e)},e.wpmpFactory=function(t,e,r){return new i.WindowPostMessageProxy({processTrackingProperties:{addTrackingProperties:a.HttpPostMessage.addTrackingProperties,getTrackingProperties:a.HttpPostMessage.getTrackingProperties},isErrorMessage:a.HttpPostMessage.isErrorMessage,suppressWarnings:!0,name:t,logMessages:e,eventSourceOverrideWindow:r})},e.routerFactory=function(t){return new o.Router(t)}},220:function(t,e,r){var i=this&&this.__awaiter||function(t,e,r,i){return new(r||(r=Promise))((function(a,o){function n(t){try{s(i.next(t))}catch(t){o(t)}}function l(t){try{s(i.throw(t))}catch(t){o(t)}}function s(t){var e;t.done?a(t.value):(e=t.value,e instanceof r?e:new r((function(t){t(e)}))).then(n,l)}s((i=i.apply(t,e||[])).next())}))},a=this&&this.__generator||function(t,e){var r,i,a,o,n={label:0,sent:function(){if(1&a[0])throw a[1];return a[1]},trys:[],ops:[]};return o={next:l(0),throw:l(1),return:l(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function l(o){return function(l){return function(o){if(r)throw new TypeError("Generator is already executing.");for(;n;)try{if(r=1,i&&(a=2&o[0]?i.return:o[0]?i.throw||((a=i.return)&&a.call(i),0):i.next)&&!(a=a.call(i,o[1])).done)return a;switch(i=0,a&&(o=[2&o[0],a.value]),o[0]){case 0:case 1:a=o;break;case 4:return n.label++,{value:o[1],done:!1};case 5:n.label++,i=o[1],o=[0];continue;case 7:o=n.ops.pop(),n.trys.pop();continue;default:if(!((a=(a=n.trys).length>0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0?"&":"?";return t+(i+e+"=")+r},e.isSavedInternal=function(t,e,a){return r(this,void 0,void 0,(function(){return i(this,(function(r){switch(r.label){case 0:return r.trys.push([0,2,,3]),[4,t.get("/report/hasUnsavedChanges",{uid:e},a)];case 1:return[2,!r.sent().body];case 2:throw r.sent().body;case 3:return[2]}}))}))},e.isRDLEmbed=function(t){return t&&t.toLowerCase().indexOf("/rdlembed?")>=0},e.autoAuthInEmbedUrl=function(t){return t&&decodeURIComponent(t).toLowerCase().indexOf("autoauth=true")>=0},e.getRandomValue=l,e.getTimeDiffInMilliseconds=function(t,e){return Math.abs(t.getTime()-e.getTime())},e.isCreate=function(t){return"create"===t||"quickcreate"===t},e.validateEmbedUrl=function(t){if(t){var e=void 0;try{e=new URL(t.toLowerCase())}catch(t){return!1}return"https:"===e.protocol&&(a.test(e.hostname)||o.test(e.hostname))}}},23:function(t,e,r){var i,a=this&&this.__extends||(i=function(t,e){return i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},i(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}),o=this&&this.__awaiter||function(t,e,r,i){return new(r||(r=Promise))((function(a,o){function n(t){try{s(i.next(t))}catch(t){o(t)}}function l(t){try{s(i.throw(t))}catch(t){o(t)}}function s(t){var e;t.done?a(t.value):(e=t.value,e instanceof r?e:new r((function(t){t(e)}))).then(n,l)}s((i=i.apply(t,e||[])).next())}))},n=this&&this.__generator||function(t,e){var r,i,a,o,n={label:0,sent:function(){if(1&a[0])throw a[1];return a[1]},trys:[],ops:[]};return o={next:l(0),throw:l(1),return:l(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function l(o){return function(l){return function(o){if(r)throw new TypeError("Generator is already executing.");for(;n;)try{if(r=1,i&&(a=2&o[0]?i.return:o[0]?i.throw||((a=i.return)&&a.call(i),0):i.next)&&!(a=a.call(i,o[1])).done)return a;switch(i=0,a&&(o=[2&o[0],a.value]),o[0]){case 0:case 1:a=o;break;case 4:return n.label++,{value:o[1],done:!1};case 5:n.label++,i=o[1],o=[0];continue;case 7:o=n.ops.pop(),n.trys.pop();continue;default:if(!((a=(a=n.trys).length>0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]{var e;self,e=()=>(()=>{"use strict";var t={};return(()=>{var e=t;Object.defineProperty(e,"__esModule",{value:!0}),e.WindowPostMessageProxy=void 0;var r=function(){function t(e){void 0===e&&(e={processTrackingProperties:{addTrackingProperties:t.defaultAddTrackingProperties,getTrackingProperties:t.defaultGetTrackingProperties},isErrorMessage:t.defaultIsErrorMessage,receiveWindow:window,name:t.createRandomString()});var r=this;this.pendingRequestPromises={},this.addTrackingProperties=e.processTrackingProperties&&e.processTrackingProperties.addTrackingProperties||t.defaultAddTrackingProperties,this.getTrackingProperties=e.processTrackingProperties&&e.processTrackingProperties.getTrackingProperties||t.defaultGetTrackingProperties,this.isErrorMessage=e.isErrorMessage||t.defaultIsErrorMessage,this.receiveWindow=e.receiveWindow||window,this.name=e.name||t.createRandomString(),this.logMessages=e.logMessages||!1,this.eventSourceOverrideWindow=e.eventSourceOverrideWindow,this.suppressWarnings=e.suppressWarnings||!1,this.logMessages&&console.log("new WindowPostMessageProxy created with name: ".concat(this.name," receiving on window: ").concat(this.receiveWindow.document.title)),this.handlers=[],this.windowMessageHandler=function(t){return r.onMessageReceived(t)},this.start()}return t.defaultAddTrackingProperties=function(e,r){return e[t.messagePropertyName]=r,e},t.defaultGetTrackingProperties=function(e){return e[t.messagePropertyName]},t.defaultIsErrorMessage=function(t){return!!t.error},t.createDeferred=function(){var t={resolve:null,reject:null,promise:null},e=new Promise((function(e,r){t.resolve=e,t.reject=r}));return t.promise=e,t},t.createRandomString=function(){var t=window.crypto||window.msCrypto,e=new Uint32Array(1);return t.getRandomValues(e),e[0].toString(36).substring(1)},t.prototype.addHandler=function(t){this.handlers.push(t)},t.prototype.removeHandler=function(t){var e=this.handlers.indexOf(t);if(-1===e)throw new Error("You attempted to remove a handler but no matching handler was found.");this.handlers.splice(e,1)},t.prototype.start=function(){this.receiveWindow.addEventListener("message",this.windowMessageHandler)},t.prototype.stop=function(){this.receiveWindow.removeEventListener("message",this.windowMessageHandler)},t.prototype.postMessage=function(e,r){var i={id:t.createRandomString()};this.addTrackingProperties(r,i),this.logMessages&&(console.log("".concat(this.name," Posting message:")),console.log(JSON.stringify(r,null," "))),e.postMessage(r,"*");var a=t.createDeferred();return this.pendingRequestPromises[i.id]=a,a.promise},t.prototype.sendResponse=function(t,e,r){this.addTrackingProperties(e,r),this.logMessages&&(console.log("".concat(this.name," Sending response:")),console.log(JSON.stringify(e,null," "))),t.postMessage(e,"*")},t.prototype.onMessageReceived=function(t){var e=this;this.logMessages&&(console.log("".concat(this.name," Received message:")),console.log("type: ".concat(t.type)),console.log(JSON.stringify(t.data,null," ")));var r=this.eventSourceOverrideWindow||t.source;if(r){var i=t.data;if("object"==typeof i){var a,o;try{a=this.getTrackingProperties(i)}catch(t){this.suppressWarnings||console.warn("Proxy(".concat(this.name,"): Error occurred when attempting to get tracking properties from incoming message:"),JSON.stringify(i,null," "),"Error: ",t)}if(a&&(o=this.pendingRequestPromises[a.id]),o){var n=!0;try{n=this.isErrorMessage(i)}catch(t){console.warn("Proxy(".concat(this.name,") Error occurred when trying to determine if message is consider an error response. Message: "),JSON.stringify(i,null,""),"Error: ",t)}n?o.reject(i):o.resolve(i),delete this.pendingRequestPromises[a.id]}else this.handlers.some((function(t){var o=!1;try{o=t.test(i)}catch(t){e.suppressWarnings||console.warn("Proxy(".concat(e.name,"): Error occurred when handler was testing incoming message:"),JSON.stringify(i,null," "),"Error: ",t)}if(o){var n=void 0;try{n=Promise.resolve(t.handle(i))}catch(t){e.suppressWarnings||console.warn("Proxy(".concat(e.name,"): Error occurred when handler was processing incoming message:"),JSON.stringify(i,null," "),"Error: ",t),n=Promise.resolve()}return n.then((function(t){if(!t){var o="Handler for message: ".concat(JSON.stringify(i,null," ")," did not return a response message. The default response message will be returned instead.");e.suppressWarnings||console.warn("Proxy(".concat(e.name,"): ").concat(o)),t={warning:o}}e.sendResponse(r,t,a)})),!0}}))||this.suppressWarnings||console.warn("Proxy(".concat(this.name,") did not handle message. Handlers: ").concat(this.handlers.length," Message: ").concat(JSON.stringify(i,null,""),"."))}else this.suppressWarnings||console.warn("Proxy(".concat(this.name,"): Received message that was not an object. Discarding message"))}},t.messagePropertyName="windowPostMessageProxy",t}();e.WindowPostMessageProxy=r})(),t})(),t.exports=e()}},e={};function r(i){var a=e[i];if(void 0!==a)return a.exports;var o=e[i]={exports:{}};return t[i].call(o.exports,o,o.exports,r),o.exports}var i={};return(()=>{var t=i;Object.defineProperty(t,"__esModule",{value:!0}),t.RelativeTimeFilterBuilder=t.RelativeDateFilterBuilder=t.TopNFilterBuilder=t.AdvancedFilterBuilder=t.BasicFilterBuilder=t.Create=t.QuickCreate=t.VisualDescriptor=t.Visual=t.Qna=t.Page=t.Embed=t.Tile=t.Dashboard=t.Report=t.models=t.factories=t.service=void 0;var e=r(149);t.models=e;var a=r(562);t.service=a;var o=r(357);t.factories=o;var n=r(125);Object.defineProperty(t,"Report",{enumerable:!0,get:function(){return n.Report}});var l=r(365);Object.defineProperty(t,"Dashboard",{enumerable:!0,get:function(){return l.Dashboard}});var s=r(43);Object.defineProperty(t,"Tile",{enumerable:!0,get:function(){return s.Tile}});var u=r(932);Object.defineProperty(t,"Embed",{enumerable:!0,get:function(){return u.Embed}});var d=r(220);Object.defineProperty(t,"Page",{enumerable:!0,get:function(){return d.Page}});var c=r(148);Object.defineProperty(t,"Qna",{enumerable:!0,get:function(){return c.Qna}});var p=r(23);Object.defineProperty(t,"Visual",{enumerable:!0,get:function(){return p.Visual}});var f=r(558);Object.defineProperty(t,"VisualDescriptor",{enumerable:!0,get:function(){return f.VisualDescriptor}});var h=r(714);Object.defineProperty(t,"QuickCreate",{enumerable:!0,get:function(){return h.QuickCreate}});var v=r(536);Object.defineProperty(t,"Create",{enumerable:!0,get:function(){return v.Create}});var y=r(567);Object.defineProperty(t,"BasicFilterBuilder",{enumerable:!0,get:function(){return y.BasicFilterBuilder}}),Object.defineProperty(t,"AdvancedFilterBuilder",{enumerable:!0,get:function(){return y.AdvancedFilterBuilder}}),Object.defineProperty(t,"TopNFilterBuilder",{enumerable:!0,get:function(){return y.TopNFilterBuilder}}),Object.defineProperty(t,"RelativeDateFilterBuilder",{enumerable:!0,get:function(){return y.RelativeDateFilterBuilder}}),Object.defineProperty(t,"RelativeTimeFilterBuilder",{enumerable:!0,get:function(){return y.RelativeTimeFilterBuilder}});var m=new a.Service(o.hpmFactory,o.wpmpFactory,o.routerFactory);window.powerbi&&window.powerBISDKGlobalServiceInstanceName?window[window.powerBISDKGlobalServiceInstanceName]=m:window.powerbi=m})(),i})())); \ No newline at end of file +!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,(()=>(()=>{var t={319:t=>{var e;self,e=()=>(()=>{"use strict";var t={};return(()=>{var e=t;Object.defineProperty(e,"__esModule",{value:!0}),e.HttpPostMessage=void 0;var r=function(){function t(t,e,r){void 0===e&&(e={}),this.defaultHeaders=e,this.defaultTargetWindow=r,this.windowPostMessageProxy=t}return t.addTrackingProperties=function(t,e){return t.headers=t.headers||{},e&&e.id&&(t.headers.id=e.id),t},t.getTrackingProperties=function(t){return{id:t.headers&&t.headers.id}},t.isErrorMessage=function(t){return"number"==typeof(t&&t.statusCode)&&!(200<=t.statusCode&&t.statusCode<300)},t.prototype.get=function(t,e,r,i){return void 0===e&&(e={}),void 0===r&&(r=this.defaultTargetWindow),this.send({method:"GET",url:t,headers:e},r,i)},t.prototype.post=function(t,e,r,i,a){return void 0===r&&(r={}),void 0===i&&(i=this.defaultTargetWindow),this.send({method:"POST",url:t,headers:r,body:e},i,a)},t.prototype.put=function(t,e,r,i,a){return void 0===r&&(r={}),void 0===i&&(i=this.defaultTargetWindow),this.send({method:"PUT",url:t,headers:r,body:e},i,a)},t.prototype.patch=function(t,e,r,i,a){return void 0===r&&(r={}),void 0===i&&(i=this.defaultTargetWindow),this.send({method:"PATCH",url:t,headers:r,body:e},i,a)},t.prototype.delete=function(t,e,r,i,a){return void 0===e&&(e=null),void 0===r&&(r={}),void 0===i&&(i=this.defaultTargetWindow),this.send({method:"DELETE",url:t,headers:r,body:e},i,a)},t.prototype.send=function(t,e,r){if(void 0===e&&(e=this.defaultTargetWindow),t.headers=this.assign({},this.defaultHeaders,t.headers),!e)throw new Error("target window is not provided. You must either provide the target window explicitly as argument to request, or specify default target window when constructing instance of this class.");return this.windowPostMessageProxy.postMessage(e,t,r)},t.prototype.assign=function(t){for(var e=[],r=1;r(()=>{var t=[function(t,e,r){var i,a=this&&this.__extends||(i=function(t,e){return i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},i(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.TextAlignment=e.CommonErrorCodes=e.BookmarksPlayMode=e.ExportDataType=e.QnaMode=e.PageNavigationPosition=e.BrowserPrintAdjustmentsMode=e.AggregateFunction=e.DataCacheMode=e.CredentialType=e.isPercentOfGrandTotal=e.isColumnAggr=e.isHierarchyLevelAggr=e.isHierarchyLevel=e.isColumn=e.isMeasure=e.getFilterType=e.isBasicFilterWithKeys=e.isFilterKeyColumnsTarget=e.HierarchyFilter=e.AdvancedFilter=e.TupleFilter=e.IdentityFilter=e.BasicFilterWithKeys=e.BasicFilter=e.RelativeTimeFilter=e.RelativeDateFilter=e.TopNFilter=e.IncludeExcludeFilter=e.NotSupportedFilter=e.Filter=e.RelativeDateOperators=e.RelativeDateFilterTimeUnit=e.FilterType=e.FiltersLevel=e.FiltersOperations=e.MenuLocation=e.ContrastMode=e.TokenType=e.ViewMode=e.Permissions=e.SectionVisibility=e.ReportAlignment=e.HyperlinkClickBehavior=e.LayoutType=e.VisualContainerDisplayMode=e.BackgroundType=e.DisplayOption=e.PageSizeType=e.TraceType=void 0,e.validateVisualHeader=e.validateExportDataRequest=e.validateQnaInterpretInputData=e.validateLoadQnaConfiguration=e.validateSaveAsParameters=e.validateUpdateFiltersRequest=e.validateFilter=e.validatePage=e.validateTileLoad=e.validateDashboardLoad=e.validateQuickCreate=e.validateCreateReport=e.validatePaginatedReportLoad=e.validateReportLoad=e.validateMenuGroupExtension=e.validateExtension=e.validateCustomPageSize=e.validateVisualizationsPane=e.validateSyncSlicersPane=e.validateSelectionPane=e.validatePageNavigationPane=e.validateFieldsPane=e.validateFiltersPane=e.validateBookmarksPane=e.validatePanes=e.validateSettings=e.validateCaptureBookmarkRequest=e.validateApplyBookmarkStateRequest=e.validateApplyBookmarkByNameRequest=e.validateAddBookmarkRequest=e.validatePlayBookmarkRequest=e.validateSlicerState=e.validateSlicer=e.validateVisualSelector=e.isIExtensionArray=e.isIExtensions=e.isGroupedMenuExtension=e.isFlatMenuExtension=e.isReportFiltersArray=e.isOnLoadFilters=e.VisualDataRoleKindPreference=e.VisualDataRoleKind=e.CommandDisplayOption=e.SlicerTargetSelector=e.VisualTypeSelector=e.VisualSelector=e.PageSelector=e.Selector=e.SortDirection=e.LegendPosition=void 0,e.validatePrintSettings=e.validateZoomLevel=e.validateCustomTheme=e.validateCommandsSettings=e.validateVisualSettings=void 0;var o,n,l,s,u,d,c,p,f,h,v,y,m,V,g,b,w,P,S,O=r(1);(S=e.TraceType||(e.TraceType={}))[S.Information=0]="Information",S[S.Verbose=1]="Verbose",S[S.Warning=2]="Warning",S[S.Error=3]="Error",S[S.ExpectedError=4]="ExpectedError",S[S.UnexpectedError=5]="UnexpectedError",S[S.Fatal=6]="Fatal",(P=e.PageSizeType||(e.PageSizeType={}))[P.Widescreen=0]="Widescreen",P[P.Standard=1]="Standard",P[P.Cortana=2]="Cortana",P[P.Letter=3]="Letter",P[P.Custom=4]="Custom",P[P.Mobile=5]="Mobile",(w=e.DisplayOption||(e.DisplayOption={}))[w.FitToPage=0]="FitToPage",w[w.FitToWidth=1]="FitToWidth",w[w.ActualSize=2]="ActualSize",(b=e.BackgroundType||(e.BackgroundType={}))[b.Default=0]="Default",b[b.Transparent=1]="Transparent",(g=e.VisualContainerDisplayMode||(e.VisualContainerDisplayMode={}))[g.Visible=0]="Visible",g[g.Hidden=1]="Hidden",(V=e.LayoutType||(e.LayoutType={}))[V.Master=0]="Master",V[V.Custom=1]="Custom",V[V.MobilePortrait=2]="MobilePortrait",V[V.MobileLandscape=3]="MobileLandscape",(m=e.HyperlinkClickBehavior||(e.HyperlinkClickBehavior={}))[m.Navigate=0]="Navigate",m[m.NavigateAndRaiseEvent=1]="NavigateAndRaiseEvent",m[m.RaiseEvent=2]="RaiseEvent",(y=e.ReportAlignment||(e.ReportAlignment={}))[y.Left=0]="Left",y[y.Center=1]="Center",y[y.Right=2]="Right",y[y.None=3]="None",(v=e.SectionVisibility||(e.SectionVisibility={}))[v.AlwaysVisible=0]="AlwaysVisible",v[v.HiddenInViewMode=1]="HiddenInViewMode",(h=e.Permissions||(e.Permissions={}))[h.Read=0]="Read",h[h.ReadWrite=1]="ReadWrite",h[h.Copy=2]="Copy",h[h.Create=4]="Create",h[h.All=7]="All",(f=e.ViewMode||(e.ViewMode={}))[f.View=0]="View",f[f.Edit=1]="Edit",(p=e.TokenType||(e.TokenType={}))[p.Aad=0]="Aad",p[p.Embed=1]="Embed",(c=e.ContrastMode||(e.ContrastMode={}))[c.None=0]="None",c[c.HighContrast1=1]="HighContrast1",c[c.HighContrast2=2]="HighContrast2",c[c.HighContrastBlack=3]="HighContrastBlack",c[c.HighContrastWhite=4]="HighContrastWhite",(d=e.MenuLocation||(e.MenuLocation={}))[d.Bottom=0]="Bottom",d[d.Top=1]="Top",(u=e.FiltersOperations||(e.FiltersOperations={}))[u.RemoveAll=0]="RemoveAll",u[u.ReplaceAll=1]="ReplaceAll",u[u.Add=2]="Add",u[u.Replace=3]="Replace",(s=e.FiltersLevel||(e.FiltersLevel={}))[s.Report=0]="Report",s[s.Page=1]="Page",s[s.Visual=2]="Visual",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",t[t.Identity=8]="Identity",t[t.Hierarchy=9]="Hierarchy"}(o=e.FilterType||(e.FilterType={})),(l=e.RelativeDateFilterTimeUnit||(e.RelativeDateFilterTimeUnit={}))[l.Days=0]="Days",l[l.Weeks=1]="Weeks",l[l.CalendarWeeks=2]="CalendarWeeks",l[l.Months=3]="Months",l[l.CalendarMonths=4]="CalendarMonths",l[l.Years=5]="Years",l[l.CalendarYears=6]="CalendarYears",l[l.Minutes=7]="Minutes",l[l.Hours=8]="Hours",(n=e.RelativeDateOperators||(e.RelativeDateOperators={}))[n.InLast=0]="InLast",n[n.InThis=1]="InThis",n[n.InNext=2]="InNext";var _=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=_;var E=function(t){function e(r,i,a){var n=t.call(this,r,o.Unknown)||this;return n.message=i,n.notSupportedTypeName=a,n.schemaUrl=e.schemaUrl,n}return a(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}(_);e.NotSupportedFilter=E;var T=function(t){function e(r,i,a){var n=t.call(this,r,o.IncludeExclude)||this;return n.values=a,n.isExclude=i,n.schemaUrl=e.schemaUrl,n}return a(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}(_);e.IncludeExcludeFilter=T;var F=function(t){function e(r,i,a,n){var l=t.call(this,r,o.TopN)||this;return l.operator=i,l.itemCount=a,l.schemaUrl=e.schemaUrl,l.orderBy=n,l}return a(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}(_);e.TopNFilter=F;var C=function(t){function e(r,i,a,n,l){var s=t.call(this,r,o.RelativeDate)||this;return s.operator=i,s.timeUnitsCount=a,s.timeUnitType=n,s.includeToday=l,s.schemaUrl=e.schemaUrl,s}return a(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}(_);e.RelativeDateFilter=C;var R=function(t){function e(r,i,a,n){var l=t.call(this,r,o.RelativeTime)||this;return l.operator=i,l.timeUnitsCount=a,l.timeUnitType=n,l.schemaUrl=e.schemaUrl,l}return a(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}(_);e.RelativeTimeFilter=R;var k=function(t){function e(r,i){for(var a=[],n=2;n0&&!a)throw new Error("You should pass the values to be filtered for each key. You passed: no values and ".concat(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,s=o.keyValues;l2)throw new Error("AdvancedFilters may not have more than two conditions. You passed: ".concat(a.length));if(1===l.length&&"And"!==i)throw new Error('Logical Operator must be "And" when there is only one condition provided');return s.conditions=l,s}return a(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}(_);e.AdvancedFilter=M;var I,L,q,D,N,B,U,H,W,z=function(t){function e(r,i){var a=t.call(this,r,o.Hierarchy)||this;return a.schemaUrl=e.schemaUrl,a.hierarchyData=i,a}return a(e,t),e.prototype.toJSON=function(){var e=t.prototype.toJSON.call(this);return e.hierarchyData=this.hierarchyData,e.target=this.target,e},e.schemaUrl="http://powerbi.com/product/schema#hierarchy",e}(_);function Q(t){if(t.filterType)return t.filterType;var e=t,r=t;return"string"==typeof e.operator&&Array.isArray(e.values)?o.Basic:"string"==typeof r.logicalOperator&&Array.isArray(r.conditions)?o.Advanced:o.Unknown}function G(t){return!(!t.table||!t.column||t.aggregationFunction)}e.HierarchyFilter=z,e.isFilterKeyColumnsTarget=function(t){return G(t)&&!!t.keys},e.isBasicFilterWithKeys=function(t){return Q(t)===o.Basic&&!!t.keyValues},e.getFilterType=Q,e.isMeasure=function(t){return void 0!==t.table&&void 0!==t.measure},e.isColumn=G,e.isHierarchyLevel=function(t){return!(!(t.table&&t.hierarchy&&t.hierarchyLevel)||t.aggregationFunction)},e.isHierarchyLevelAggr=function(t){return!!(t.table&&t.hierarchy&&t.hierarchyLevel&&t.aggregationFunction)},e.isColumnAggr=function(t){return!!(t.table&&t.column&&t.aggregationFunction)},e.isPercentOfGrandTotal=function(t){return!!t.percentOfGrandTotal},(W=e.CredentialType||(e.CredentialType={}))[W.NoConnection=0]="NoConnection",W[W.OnBehalfOf=1]="OnBehalfOf",W[W.Anonymous=2]="Anonymous",(H=e.DataCacheMode||(e.DataCacheMode={}))[H.Import=0]="Import",H[H.DirectQuery=1]="DirectQuery",(U=e.AggregateFunction||(e.AggregateFunction={}))[U.Default=1]="Default",U[U.None=2]="None",U[U.Sum=3]="Sum",U[U.Min=4]="Min",U[U.Max=5]="Max",U[U.Count=6]="Count",U[U.Average=7]="Average",U[U.DistinctCount=8]="DistinctCount",(B=e.BrowserPrintAdjustmentsMode||(e.BrowserPrintAdjustmentsMode={}))[B.Default=0]="Default",B[B.NoAdjustments=1]="NoAdjustments",(N=e.PageNavigationPosition||(e.PageNavigationPosition={}))[N.Bottom=0]="Bottom",N[N.Left=1]="Left",(D=e.QnaMode||(e.QnaMode={}))[D.Interactive=0]="Interactive",D[D.ResultOnly=1]="ResultOnly",(q=e.ExportDataType||(e.ExportDataType={}))[q.Summarized=0]="Summarized",q[q.Underlying=1]="Underlying",(L=e.BookmarksPlayMode||(e.BookmarksPlayMode={}))[L.Off=0]="Off",L[L.Presentation=1]="Presentation",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"},(I=e.SortDirection||(e.SortDirection={}))[I.Ascending=1]="Ascending",I[I.Descending=2]="Descending";var J=function(){function t(t){this.$schema=t}return t.prototype.toJSON=function(){return{$schema:this.$schema}},t}();e.Selector=J;var K=function(t){function e(r){var i=t.call(this,e.schemaUrl)||this;return i.pageName=r,i}return a(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}(J);e.PageSelector=K;var Y=function(t){function e(r){var i=t.call(this,e.schemaUrl)||this;return i.visualName=r,i}return a(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}(J);e.VisualSelector=Y;var $=function(t){function e(e){var r=t.call(this,Y.schemaUrl)||this;return r.visualType=e,r}return a(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}(J);e.VisualTypeSelector=$;var Z,X,tt,et=function(t){function e(e){var r=t.call(this,Y.schemaUrl)||this;return r.target=e,r}return a(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}(J);function rt(t){return Array.isArray(t)}function it(t){return t&&!!t.groupName}function at(t){return Array.isArray(t)}function ot(t){var e=t.message;return e||(e="".concat(t.path," is invalid. Not meeting ").concat(t.keyword," constraint")),{message:e}}e.SlicerTargetSelector=et,(tt=e.CommandDisplayOption||(e.CommandDisplayOption={}))[tt.Enabled=0]="Enabled",tt[tt.Disabled=1]="Disabled",tt[tt.Hidden=2]="Hidden",(X=e.VisualDataRoleKind||(e.VisualDataRoleKind={}))[X.Grouping=0]="Grouping",X[X.Measure=1]="Measure",X[X.GroupingOrMeasure=2]="GroupingOrMeasure",(Z=e.VisualDataRoleKindPreference||(e.VisualDataRoleKindPreference={}))[Z.Measure=0]="Measure",Z[Z.Grouping=1]="Grouping",e.isOnLoadFilters=function(t){return t&&!rt(t)},e.isReportFiltersArray=rt,e.isFlatMenuExtension=function(t){return t&&!it(t)},e.isGroupedMenuExtension=it,e.isIExtensions=function(t){return t&&!at(t)},e.isIExtensionArray=at,e.validateVisualSelector=function(t){var e=O.Validators.visualSelectorValidator.validate(t);return e?e.map(ot):void 0},e.validateSlicer=function(t){var e=O.Validators.slicerValidator.validate(t);return e?e.map(ot):void 0},e.validateSlicerState=function(t){var e=O.Validators.slicerStateValidator.validate(t);return e?e.map(ot):void 0},e.validatePlayBookmarkRequest=function(t){var e=O.Validators.playBookmarkRequestValidator.validate(t);return e?e.map(ot):void 0},e.validateAddBookmarkRequest=function(t){var e=O.Validators.addBookmarkRequestValidator.validate(t);return e?e.map(ot):void 0},e.validateApplyBookmarkByNameRequest=function(t){var e=O.Validators.applyBookmarkByNameRequestValidator.validate(t);return e?e.map(ot):void 0},e.validateApplyBookmarkStateRequest=function(t){var e=O.Validators.applyBookmarkStateRequestValidator.validate(t);return e?e.map(ot):void 0},e.validateCaptureBookmarkRequest=function(t){var e=O.Validators.captureBookmarkRequestValidator.validate(t);return e?e.map(ot):void 0},e.validateSettings=function(t){var e=O.Validators.settingsValidator.validate(t);return e?e.map(ot):void 0},e.validatePanes=function(t){var e=O.Validators.reportPanesValidator.validate(t);return e?e.map(ot):void 0},e.validateBookmarksPane=function(t){var e=O.Validators.bookmarksPaneValidator.validate(t);return e?e.map(ot):void 0},e.validateFiltersPane=function(t){var e=O.Validators.filtersPaneValidator.validate(t);return e?e.map(ot):void 0},e.validateFieldsPane=function(t){var e=O.Validators.fieldsPaneValidator.validate(t);return e?e.map(ot):void 0},e.validatePageNavigationPane=function(t){var e=O.Validators.pageNavigationPaneValidator.validate(t);return e?e.map(ot):void 0},e.validateSelectionPane=function(t){var e=O.Validators.selectionPaneValidator.validate(t);return e?e.map(ot):void 0},e.validateSyncSlicersPane=function(t){var e=O.Validators.syncSlicersPaneValidator.validate(t);return e?e.map(ot):void 0},e.validateVisualizationsPane=function(t){var e=O.Validators.visualizationsPaneValidator.validate(t);return e?e.map(ot):void 0},e.validateCustomPageSize=function(t){var e=O.Validators.customPageSizeValidator.validate(t);return e?e.map(ot):void 0},e.validateExtension=function(t){var e=O.Validators.extensionValidator.validate(t);return e?e.map(ot):void 0},e.validateMenuGroupExtension=function(t){var e=O.Validators.menuGroupExtensionValidator.validate(t);return e?e.map(ot):void 0},e.validateReportLoad=function(t){var e=O.Validators.reportLoadValidator.validate(t);return e?e.map(ot):void 0},e.validatePaginatedReportLoad=function(t){var e=O.Validators.paginatedReportLoadValidator.validate(t);return e?e.map(ot):void 0},e.validateCreateReport=function(t){var e=O.Validators.reportCreateValidator.validate(t);return e?e.map(ot):void 0},e.validateQuickCreate=function(t){var e=O.Validators.quickCreateValidator.validate(t);return e?e.map(ot):void 0},e.validateDashboardLoad=function(t){var e=O.Validators.dashboardLoadValidator.validate(t);return e?e.map(ot):void 0},e.validateTileLoad=function(t){var e=O.Validators.tileLoadValidator.validate(t);return e?e.map(ot):void 0},e.validatePage=function(t){var e=O.Validators.pageValidator.validate(t);return e?e.map(ot):void 0},e.validateFilter=function(t){var e=O.Validators.filterValidator.validate(t);return e?e.map(ot):void 0},e.validateUpdateFiltersRequest=function(t){var e=O.Validators.updateFiltersRequestValidator.validate(t);return e?e.map(ot):void 0},e.validateSaveAsParameters=function(t){var e=O.Validators.saveAsParametersValidator.validate(t);return e?e.map(ot):void 0},e.validateLoadQnaConfiguration=function(t){var e=O.Validators.loadQnaValidator.validate(t);return e?e.map(ot):void 0},e.validateQnaInterpretInputData=function(t){var e=O.Validators.qnaInterpretInputDataValidator.validate(t);return e?e.map(ot):void 0},e.validateExportDataRequest=function(t){var e=O.Validators.exportDataRequestValidator.validate(t);return e?e.map(ot):void 0},e.validateVisualHeader=function(t){var e=O.Validators.visualHeaderValidator.validate(t);return e?e.map(ot):void 0},e.validateVisualSettings=function(t){var e=O.Validators.visualSettingsValidator.validate(t);return e?e.map(ot):void 0},e.validateCommandsSettings=function(t){var e=O.Validators.commandsSettingsValidator.validate(t);return e?e.map(ot):void 0},e.validateCustomTheme=function(t){var e=O.Validators.customThemeValidator.validate(t);return e?e.map(ot):void 0},e.validateZoomLevel=function(t){var e=O.Validators.zoomLevelValidator.validate(t);return e?e.map(ot):void 0},e.validatePrintSettings=function(t){var e=O.Validators.printSettingsValidator.validate(t);return e?e.map(ot):void 0}},(t,e,r)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.Validators=void 0;var i=r(2),a=r(5),o=r(6),n=r(7),l=r(8),s=r(9),u=r(10),d=r(11),c=r(12),p=r(13),f=r(14),h=r(15),v=r(16),y=r(17),m=r(18),V=r(19),g=r(20),b=r(21),w=r(22),P=r(23),S=r(24),O=r(25),_=r(26),E=r(27),T=r(28),F=r(29),C=r(4),R=r(30),k=r(31),x=r(32),A=r(33),j=r(34);e.Validators={addBookmarkRequestValidator:new a.AddBookmarkRequestValidator,advancedFilterTypeValidator:new C.EnumValidator([0]),advancedFilterValidator:new c.AdvancedFilterValidator,anyArrayValidator:new C.ArrayValidator([new _.AnyOfValidator([new C.StringValidator,new C.NumberValidator,new C.BooleanValidator])]),anyFilterValidator:new _.AnyOfValidator([new c.BasicFilterValidator,new c.AdvancedFilterValidator,new c.IncludeExcludeFilterValidator,new c.NotSupportedFilterValidator,new c.RelativeDateFilterValidator,new c.TopNFilterValidator,new c.RelativeTimeFilterValidator,new c.HierarchyFilterValidator]),anyValueValidator:new _.AnyOfValidator([new C.StringValidator,new C.NumberValidator,new C.BooleanValidator]),actionBarValidator:new i.ActionBarValidator,statusBarValidator:new i.StatusBarValidator,applyBookmarkByNameRequestValidator:new a.ApplyBookmarkByNameRequestValidator,applyBookmarkStateRequestValidator:new a.ApplyBookmarkStateRequestValidator,applyBookmarkValidator:new _.AnyOfValidator([new a.ApplyBookmarkByNameRequestValidator,new a.ApplyBookmarkStateRequestValidator]),backgroundValidator:new C.EnumValidator([0,1]),basicFilterTypeValidator:new C.EnumValidator([1]),basicFilterValidator:new c.BasicFilterValidator,booleanArrayValidator:new C.BooleanArrayValidator,booleanValidator:new C.BooleanValidator,bookmarksPaneValidator:new h.BookmarksPaneValidator,captureBookmarkOptionsValidator:new a.CaptureBookmarkOptionsValidator,captureBookmarkRequestValidator:new a.CaptureBookmarkRequestValidator,columnSchemaArrayValidator:new C.ArrayValidator([new k.ColumnSchemaValidator]),commandDisplayOptionValidator:new C.EnumValidator([0,1,2]),commandExtensionSelectorValidator:new _.AnyOfValidator([new b.VisualSelectorValidator,new b.VisualTypeSelectorValidator]),commandExtensionArrayValidator:new C.ArrayValidator([new d.CommandExtensionValidator]),commandExtensionValidator:new d.CommandExtensionValidator,commandsSettingsArrayValidator:new C.ArrayValidator([new o.CommandsSettingsValidator]),commandsSettingsValidator:new o.CommandsSettingsValidator,conditionItemValidator:new c.ConditionItemValidator,contrastModeValidator:new C.EnumValidator([0,1,2,3,4]),credentialDetailsValidator:new F.MapValidator([new C.StringValidator],[new C.StringValidator]),credentialsValidator:new k.CredentialsValidator,credentialTypeValidator:new C.EnumValidator([0,1,2]),customLayoutDisplayOptionValidator:new C.EnumValidator([0,1,2]),customLayoutValidator:new p.CustomLayoutValidator,customPageSizeValidator:new f.CustomPageSizeValidator,customThemeValidator:new n.CustomThemeValidator,dashboardLoadValidator:new l.DashboardLoadValidator,dataCacheModeValidator:new C.EnumValidator([0,1]),datasetBindingValidator:new s.DatasetBindingValidator,datasetCreateConfigValidator:new k.DatasetCreateConfigValidator,datasourceConnectionConfigValidator:new k.DatasourceConnectionConfigValidator,displayStateModeValidator:new C.EnumValidator([0,1]),displayStateValidator:new p.DisplayStateValidator,exportDataRequestValidator:new u.ExportDataRequestValidator,extensionArrayValidator:new C.ArrayValidator([new d.ExtensionValidator]),extensionsValidator:new _.AnyOfValidator([new C.ArrayValidator([new d.ExtensionValidator]),new d.ExtensionsValidator]),extensionPointsValidator:new d.ExtensionPointsValidator,extensionValidator:new d.ExtensionValidator,fieldForbiddenValidator:new E.FieldForbiddenValidator,fieldRequiredValidator:new T.FieldRequiredValidator,fieldsPaneValidator:new h.FieldsPaneValidator,filterColumnTargetValidator:new c.FilterColumnTargetValidator,filterDisplaySettingsValidator:new c.FilterDisplaySettingsValidator,filterConditionsValidator:new C.ArrayValidator([new c.ConditionItemValidator]),filterHierarchyTargetValidator:new c.FilterHierarchyTargetValidator,filterMeasureTargetValidator:new c.FilterMeasureTargetValidator,filterTargetValidator:new _.AnyOfValidator([new c.FilterColumnTargetValidator,new c.FilterHierarchyTargetValidator,new c.FilterMeasureTargetValidator,new C.ArrayValidator([new _.AnyOfValidator([new c.FilterColumnTargetValidator,new c.FilterHierarchyTargetValidator,new c.FilterMeasureTargetValidator,new c.FilterKeyColumnsTargetValidator,new c.FilterKeyHierarchyTargetValidator])])]),filterValidator:new c.FilterValidator,filterTypeValidator:new C.EnumValidator([0,1,2,3,4,5,6,7,9]),filtersArrayValidator:new C.ArrayValidator([new c.FilterValidator]),filtersOperationsUpdateValidator:new C.EnumValidator([1,2,3]),filtersOperationsRemoveAllValidator:new C.EnumValidator([0]),filtersPaneValidator:new h.FiltersPaneValidator,hyperlinkClickBehaviorValidator:new C.EnumValidator([0,1,2]),includeExcludeFilterValidator:new c.IncludeExcludeFilterValidator,includeExludeFilterTypeValidator:new C.EnumValidator([3]),hierarchyFilterTypeValidator:new C.EnumValidator([9]),hierarchyFilterValuesValidator:new C.ArrayValidator([new c.HierarchyFilterNodeValidator]),layoutTypeValidator:new C.EnumValidator([0,1,2,3]),loadQnaValidator:new v.LoadQnaValidator,menuExtensionValidator:new _.AnyOfValidator([new d.FlatMenuExtensionValidator,new d.GroupedMenuExtensionValidator]),menuGroupExtensionArrayValidator:new C.ArrayValidator([new d.MenuGroupExtensionValidator]),menuGroupExtensionValidator:new d.MenuGroupExtensionValidator,menuLocationValidator:new C.EnumValidator([0,1]),notSupportedFilterTypeValidator:new C.EnumValidator([2]),notSupportedFilterValidator:new c.NotSupportedFilterValidator,numberArrayValidator:new C.NumberArrayValidator,numberValidator:new C.NumberValidator,onLoadFiltersBaseValidator:new _.AnyOfValidator([new c.OnLoadFiltersBaseValidator,new c.OnLoadFiltersBaseRemoveOperationValidator]),pageLayoutValidator:new F.MapValidator([new C.StringValidator],[new p.VisualLayoutValidator]),pageNavigationPaneValidator:new h.PageNavigationPaneValidator,pageNavigationPositionValidator:new C.EnumValidator([0,1]),pageSizeTypeValidator:new C.EnumValidator([0,1,2,3,4,5]),pageSizeValidator:new f.PageSizeValidator,pageValidator:new f.PageValidator,pageViewFieldValidator:new f.PageViewFieldValidator,pagesLayoutValidator:new F.MapValidator([new C.StringValidator],[new p.PageLayoutValidator]),paginatedReportCommandsValidator:new o.PaginatedReportCommandsValidator,paginatedReportDatasetBindingArrayValidator:new C.ArrayValidator([new j.PaginatedReportDatasetBindingValidator]),paginatedReportLoadValidator:new V.PaginatedReportLoadValidator,paginatedReportsettingsValidator:new w.PaginatedReportSettingsValidator,parameterValuesArrayValidator:new C.ArrayValidator([new V.ReportParameterFieldsValidator]),parametersPanelValidator:new R.ParametersPanelValidator,permissionsValidator:new C.EnumValidator([0,1,2,4,7]),playBookmarkRequestValidator:new a.PlayBookmarkRequestValidator,printSettingsValidator:new A.PrintSettingsValidator,qnaInterpretInputDataValidator:new v.QnaInterpretInputDataValidator,qnaPanesValidator:new h.QnaPanesValidator,qnaSettingValidator:new v.QnaSettingsValidator,quickCreateValidator:new x.QuickCreateValidator,rawDataValidator:new C.ArrayValidator([new C.ArrayValidator([new C.StringValidator])]),relativeDateFilterOperatorValidator:new C.EnumValidator([0,1,2]),relativeDateFilterTimeUnitTypeValidator:new C.EnumValidator([0,1,2,3,4,5,6]),relativeDateFilterTypeValidator:new C.EnumValidator([4]),relativeDateFilterValidator:new c.RelativeDateFilterValidator,relativeDateTimeFilterTypeValidator:new C.EnumValidator([4,7]),relativeDateTimeFilterUnitTypeValidator:new C.EnumValidator([0,1,2,3,4,5,6,7,8]),relativeTimeFilterTimeUnitTypeValidator:new C.EnumValidator([7,8]),relativeTimeFilterTypeValidator:new C.EnumValidator([7]),relativeTimeFilterValidator:new c.RelativeTimeFilterValidator,reportBarsValidator:new i.ReportBarsValidator,reportCreateValidator:new y.ReportCreateValidator,reportLoadFiltersValidator:new _.AnyOfValidator([new C.ArrayValidator([new c.FilterValidator]),new c.OnLoadFiltersValidator]),reportLoadValidator:new m.ReportLoadValidator,reportPanesValidator:new h.ReportPanesValidator,saveAsParametersValidator:new g.SaveAsParametersValidator,selectionPaneValidator:new h.SelectionPaneValidator,settingsValidator:new w.SettingsValidator,singleCommandSettingsValidator:new o.SingleCommandSettingsValidator,slicerSelectorValidator:new _.AnyOfValidator([new b.VisualSelectorValidator,new b.SlicerTargetSelectorValidator]),slicerStateValidator:new P.SlicerStateValidator,slicerTargetValidator:new _.AnyOfValidator([new c.FilterColumnTargetValidator,new c.FilterHierarchyTargetValidator,new c.FilterMeasureTargetValidator,new c.FilterKeyColumnsTargetValidator,new c.FilterKeyHierarchyTargetValidator]),slicerValidator:new P.SlicerValidator,stringArrayValidator:new C.StringArrayValidator,stringValidator:new C.StringValidator,syncSlicersPaneValidator:new h.SyncSlicersPaneValidator,tableDataArrayValidator:new C.ArrayValidator([new k.TableDataValidator]),tableSchemaListValidator:new C.ArrayValidator([new k.TableSchemaValidator]),tileLoadValidator:new S.TileLoadValidator,tokenTypeValidator:new C.EnumValidator([0,1]),topNFilterTypeValidator:new C.EnumValidator([5]),topNFilterValidator:new c.TopNFilterValidator,updateFiltersRequestValidator:new _.AnyOfValidator([new c.UpdateFiltersRequestValidator,new c.RemoveFiltersRequestValidator]),viewModeValidator:new C.EnumValidator([0,1]),visualCommandSelectorValidator:new _.AnyOfValidator([new b.VisualSelectorValidator,new b.VisualTypeSelectorValidator]),visualHeaderSelectorValidator:new _.AnyOfValidator([new b.VisualSelectorValidator,new b.VisualTypeSelectorValidator]),visualHeaderSettingsValidator:new O.VisualHeaderSettingsValidator,visualHeaderValidator:new O.VisualHeaderValidator,visualHeadersValidator:new C.ArrayValidator([new O.VisualHeaderValidator]),visualizationsPaneValidator:new h.VisualizationsPaneValidator,visualLayoutValidator:new p.VisualLayoutValidator,visualSelectorValidator:new b.VisualSelectorValidator,visualSettingsValidator:new O.VisualSettingsValidator,visualTypeSelectorValidator:new b.VisualTypeSelectorValidator,zoomLevelValidator:new C.RangeValidator(.25,4)}},function(t,e,r){var i,a=this&&this.__extends||(i=function(t,e){return i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},i(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.StatusBarValidator=e.ActionBarValidator=e.ReportBarsValidator=void 0;var o=r(3),n=r(4),l=r(1),s=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return a(e,t),e.prototype.validate=function(e,r,i){if(null==e)return null;var a=t.prototype.validate.call(this,e,r,i);if(a)return a;var n=[{field:"actionBar",validators:[l.Validators.actionBarValidator]},{field:"statusBar",validators:[l.Validators.statusBarValidator]}];return new o.MultipleFieldsValidator(n).validate(e,r,i)},e}(n.ObjectValidator);e.ReportBarsValidator=s;var u=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return a(e,t),e.prototype.validate=function(e,r,i){if(null==e)return null;var a=t.prototype.validate.call(this,e,r,i);if(a)return a;var n=[{field:"visible",validators:[l.Validators.booleanValidator]}];return new o.MultipleFieldsValidator(n).validate(e,r,i)},e}(n.ObjectValidator);e.ActionBarValidator=u;var d=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return a(e,t),e.prototype.validate=function(e,r,i){if(null==e)return null;var a=t.prototype.validate.call(this,e,r,i);if(a)return a;var n=[{field:"visible",validators:[l.Validators.booleanValidator]}];return new o.MultipleFieldsValidator(n).validate(e,r,i)},e}(n.ObjectValidator);e.StatusBarValidator=d},(t,e)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.MultipleFieldsValidator=void 0;var r=function(){function t(t){this.fieldValidatorsPairs=t}return t.prototype.validate=function(t,e,r){if(!this.fieldValidatorsPairs)return null;for(var i=e?e+"."+r:r,a=0,o=this.fieldValidatorsPairs;athis.maxValue||e{Object.defineProperty(e,"__esModule",{value:!0}),e.AnyOfValidator=void 0;var r=function(){function t(t){this.validators=t}return t.prototype.validate=function(t,e,r){if(null==t)return null;for(var i=!1,a=0,o=this.validators;a{Object.defineProperty(e,"__esModule",{value:!0}),e.FieldForbiddenValidator=void 0;var r=function(){function t(){}return t.prototype.validate=function(t,e,r){return void 0!==t?[{message:r+" is forbidden",path:(e?e+".":"")+r,keyword:"forbidden"}]:null},t}();e.FieldForbiddenValidator=r},(t,e)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.FieldRequiredValidator=void 0;var r=function(){function t(){}return t.prototype.validate=function(t,e,r){return null==t?[{message:r+" is required",path:(e?e+".":"")+r,keyword:"required"}]:null},t}();e.FieldRequiredValidator=r},function(t,e,r){var i,a=this&&this.__extends||(i=function(t,e){return i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},i(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.MapValidator=void 0;var o=function(t){function e(e,r){var i=t.call(this)||this;return i.keyValidators=e,i.valueValidators=r,i}return a(e,t),e.prototype.validate=function(e,r,i){if(null==e)return null;var a=t.prototype.validate.call(this,e,r,i);if(a)return a;for(var o in e)if(e.hasOwnProperty(o)){for(var n=(r?r+".":"")+i+"."+o,l=0,s=this.keyValidators;l2&&"[]"===n.slice(l-2)&&(s=!0,r[n=n.slice(0,l-2)]||(r[n]=[])),a=o[1]?g(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(-1!==(i=t.indexOf("?"))){var l=t.substr(i+1,t.length);t=t.substr(0,i),o=this.parseQueryString(l)}for("/"!==(t=decodeURI(t)).charAt(0)&&(t="/"+t),(e=t.length)>1&&"/"===t.charAt(e-1)&&(t=t.substr(0,e-1),n=!0),r=0;r{Object.defineProperty(e,"__esModule",{value:!0}),e.FilterBuilder=void 0;var r=function(){function t(){}return t.prototype.withTargetObject=function(t){return this.target=t,this},t.prototype.withColumnTarget=function(t,e){return this.target={table:t,column:e},this},t.prototype.withMeasureTarget=function(t,e){return this.target={table:t,measure:e},this},t.prototype.withHierarchyLevelTarget=function(t,e,r){return this.target={table:t,hierarchy:e,hierarchyLevel:r},this},t.prototype.withColumnAggregation=function(t,e,r){return this.target={table:t,column:e,aggregationFunction:r},this},t.prototype.withHierarchyLevelAggregationTarget=function(t,e,r,i){return this.target={table:t,hierarchy:e,hierarchyLevel:r,aggregationFunction:i},this},t}();e.FilterBuilder=r},567:(t,e,r)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.RelativeTimeFilterBuilder=e.RelativeDateFilterBuilder=e.TopNFilterBuilder=e.AdvancedFilterBuilder=e.BasicFilterBuilder=void 0;var i=r(153);Object.defineProperty(e,"BasicFilterBuilder",{enumerable:!0,get:function(){return i.BasicFilterBuilder}});var a=r(674);Object.defineProperty(e,"AdvancedFilterBuilder",{enumerable:!0,get:function(){return a.AdvancedFilterBuilder}});var o=r(664);Object.defineProperty(e,"TopNFilterBuilder",{enumerable:!0,get:function(){return o.TopNFilterBuilder}});var n=r(844);Object.defineProperty(e,"RelativeDateFilterBuilder",{enumerable:!0,get:function(){return n.RelativeDateFilterBuilder}});var l=r(275);Object.defineProperty(e,"RelativeTimeFilterBuilder",{enumerable:!0,get:function(){return l.RelativeTimeFilterBuilder}})},844:function(t,e,r){var i,a=this&&this.__extends||(i=function(t,e){return i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},i(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.RelativeDateFilterBuilder=void 0;var o=r(149),n=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.isTodayIncluded=!0,e}return a(e,t),e.prototype.inLast=function(t,e){return this.operator=o.RelativeDateOperators.InLast,this.timeUnitsCount=t,this.timeUnitType=e,this},e.prototype.inThis=function(t,e){return this.operator=o.RelativeDateOperators.InThis,this.timeUnitsCount=t,this.timeUnitType=e,this},e.prototype.inNext=function(t,e){return this.operator=o.RelativeDateOperators.InNext,this.timeUnitsCount=t,this.timeUnitType=e,this},e.prototype.includeToday=function(t){return this.isTodayIncluded=t,this},e.prototype.build=function(){return new o.RelativeDateFilter(this.target,this.operator,this.timeUnitsCount,this.timeUnitType,this.isTodayIncluded)},e}(r(277).FilterBuilder);e.RelativeDateFilterBuilder=n},275:function(t,e,r){var i,a=this&&this.__extends||(i=function(t,e){return i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},i(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.RelativeTimeFilterBuilder=void 0;var o=r(149),n=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return a(e,t),e.prototype.inLast=function(t,e){return this.operator=o.RelativeDateOperators.InLast,this.timeUnitsCount=t,this.timeUnitType=e,this},e.prototype.inThis=function(t,e){return this.operator=o.RelativeDateOperators.InThis,this.timeUnitsCount=t,this.timeUnitType=e,this},e.prototype.inNext=function(t,e){return this.operator=o.RelativeDateOperators.InNext,this.timeUnitsCount=t,this.timeUnitType=e,this},e.prototype.build=function(){return new o.RelativeTimeFilter(this.target,this.operator,this.timeUnitsCount,this.timeUnitType)},e}(r(277).FilterBuilder);e.RelativeTimeFilterBuilder=n},664:function(t,e,r){var i,a=this&&this.__extends||(i=function(t,e){return i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},i(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.TopNFilterBuilder=void 0;var o=r(149),n=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return a(e,t),e.prototype.top=function(t){return this.operator="Top",this.itemCount=t,this},e.prototype.bottom=function(t){return this.operator="Bottom",this.itemCount=t,this},e.prototype.orderByTarget=function(t){return this.orderByTargetValue=t,this},e.prototype.build=function(){return new o.TopNFilter(this.target,this.operator,this.itemCount,this.orderByTargetValue)},e}(r(277).FilterBuilder);e.TopNFilterBuilder=n},460:function(t,e,r){var i=this&&this.__awaiter||function(t,e,r,i){return new(r||(r=Promise))((function(a,o){function n(t){try{s(i.next(t))}catch(t){o(t)}}function l(t){try{s(i.throw(t))}catch(t){o(t)}}function s(t){var e;t.done?a(t.value):(e=t.value,e instanceof r?e:new r((function(t){t(e)}))).then(n,l)}s((i=i.apply(t,e||[])).next())}))},a=this&&this.__generator||function(t,e){var r,i,a,o,n={label:0,sent:function(){if(1&a[0])throw a[1];return a[1]},trys:[],ops:[]};return o={next:l(0),throw:l(1),return:l(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function l(o){return function(l){return function(o){if(r)throw new TypeError("Generator is already executing.");for(;n;)try{if(r=1,i&&(a=2&o[0]?i.return:o[0]?i.throw||((a=i.return)&&a.call(i),0):i.next)&&!(a=a.call(i,o[1])).done)return a;switch(i=0,a&&(o=[2&o[0],a.value]),o[0]){case 0:case 1:a=o;break;case 4:return n.label++,{value:o[1],done:!1};case 5:n.label++,i=o[1],o=[0];continue;case 7:o=n.ops.pop(),n.trys.pop();continue;default:if(!((a=(a=n.trys).length>0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]{Object.defineProperty(e,"__esModule",{value:!0}),e.default={version:"2.23.0",type:"js"}},536:function(t,e,r){var i,a=this&&this.__extends||(i=function(t,e){return i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},i(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}),o=this&&this.__awaiter||function(t,e,r,i){return new(r||(r=Promise))((function(a,o){function n(t){try{s(i.next(t))}catch(t){o(t)}}function l(t){try{s(i.throw(t))}catch(t){o(t)}}function s(t){var e;t.done?a(t.value):(e=t.value,e instanceof r?e:new r((function(t){t(e)}))).then(n,l)}s((i=i.apply(t,e||[])).next())}))},n=this&&this.__generator||function(t,e){var r,i,a,o,n={label:0,sent:function(){if(1&a[0])throw a[1];return a[1]},trys:[],ops:[]};return o={next:l(0),throw:l(1),return:l(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function l(o){return function(l){return function(o){if(r)throw new TypeError("Generator is already executing.");for(;n;)try{if(r=1,i&&(a=2&o[0]?i.return:o[0]?i.throw||((a=i.return)&&a.call(i),0):i.next)&&!(a=a.call(i,o[1])).done)return a;switch(i=0,a&&(o=[2&o[0],a.value]),o[0]){case 0:case 1:a=o;break;case 4:return n.label++,{value:o[1],done:!1};case 5:n.label++,i=o[1],o=[0];continue;case 7:o=n.ops.pop(),n.trys.pop();continue;default:if(!((a=(a=n.trys).length>0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]{Object.defineProperty(e,"__esModule",{value:!0}),e.invalidEmbedUrlErrorMessage=e.EmbedUrlNotSupported=e.APINotSupportedForRDLError=void 0,e.APINotSupportedForRDLError="This API is currently not supported for RDL reports",e.EmbedUrlNotSupported="Embed URL is invalid for this scenario. Please use Power BI REST APIs to get the valid URL",e.invalidEmbedUrlErrorMessage="Invalid embed URL detected. Either URL hostname or protocol are invalid. Please use Power BI REST APIs to get the valid URL"},357:(t,e,r)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.routerFactory=e.wpmpFactory=e.hpmFactory=void 0;var i=r(960),a=r(319),o=r(891),n=r(913);e.hpmFactory=function(t,e,r,i,o){return void 0===r&&(r=n.default.version),void 0===i&&(i=n.default.type),new a.HttpPostMessage(t,{"x-sdk-type":i,"x-sdk-version":r,"x-sdk-wrapper-version":o},e)},e.wpmpFactory=function(t,e,r){return new i.WindowPostMessageProxy({processTrackingProperties:{addTrackingProperties:a.HttpPostMessage.addTrackingProperties,getTrackingProperties:a.HttpPostMessage.getTrackingProperties},isErrorMessage:a.HttpPostMessage.isErrorMessage,suppressWarnings:!0,name:t,logMessages:e,eventSourceOverrideWindow:r})},e.routerFactory=function(t){return new o.Router(t)}},220:function(t,e,r){var i=this&&this.__awaiter||function(t,e,r,i){return new(r||(r=Promise))((function(a,o){function n(t){try{s(i.next(t))}catch(t){o(t)}}function l(t){try{s(i.throw(t))}catch(t){o(t)}}function s(t){var e;t.done?a(t.value):(e=t.value,e instanceof r?e:new r((function(t){t(e)}))).then(n,l)}s((i=i.apply(t,e||[])).next())}))},a=this&&this.__generator||function(t,e){var r,i,a,o,n={label:0,sent:function(){if(1&a[0])throw a[1];return a[1]},trys:[],ops:[]};return o={next:l(0),throw:l(1),return:l(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function l(o){return function(l){return function(o){if(r)throw new TypeError("Generator is already executing.");for(;n;)try{if(r=1,i&&(a=2&o[0]?i.return:o[0]?i.throw||((a=i.return)&&a.call(i),0):i.next)&&!(a=a.call(i,o[1])).done)return a;switch(i=0,a&&(o=[2&o[0],a.value]),o[0]){case 0:case 1:a=o;break;case 4:return n.label++,{value:o[1],done:!1};case 5:n.label++,i=o[1],o=[0];continue;case 7:o=n.ops.pop(),n.trys.pop();continue;default:if(!((a=(a=n.trys).length>0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0?"&":"?";return t+(i+e+"=")+r},e.isSavedInternal=function(t,e,a){return r(this,void 0,void 0,(function(){return i(this,(function(r){switch(r.label){case 0:return r.trys.push([0,2,,3]),[4,t.get("/report/hasUnsavedChanges",{uid:e},a)];case 1:return[2,!r.sent().body];case 2:throw r.sent().body;case 3:return[2]}}))}))},e.isRDLEmbed=function(t){return t&&t.toLowerCase().indexOf("/rdlembed?")>=0},e.autoAuthInEmbedUrl=function(t){return t&&decodeURIComponent(t).toLowerCase().indexOf("autoauth=true")>=0},e.getRandomValue=l,e.getTimeDiffInMilliseconds=function(t,e){return Math.abs(t.getTime()-e.getTime())},e.isCreate=function(t){return"create"===t||"quickcreate"===t},e.validateEmbedUrl=function(t){if(t){var e=void 0;try{e=new URL(t.toLowerCase())}catch(t){return!1}return"https:"===e.protocol&&(a.test(e.hostname)||o.test(e.hostname))}}},23:function(t,e,r){var i,a=this&&this.__extends||(i=function(t,e){return i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},i(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}),o=this&&this.__awaiter||function(t,e,r,i){return new(r||(r=Promise))((function(a,o){function n(t){try{s(i.next(t))}catch(t){o(t)}}function l(t){try{s(i.throw(t))}catch(t){o(t)}}function s(t){var e;t.done?a(t.value):(e=t.value,e instanceof r?e:new r((function(t){t(e)}))).then(n,l)}s((i=i.apply(t,e||[])).next())}))},n=this&&this.__generator||function(t,e){var r,i,a,o,n={label:0,sent:function(){if(1&a[0])throw a[1];return a[1]},trys:[],ops:[]};return o={next:l(0),throw:l(1),return:l(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function l(o){return function(l){return function(o){if(r)throw new TypeError("Generator is already executing.");for(;n;)try{if(r=1,i&&(a=2&o[0]?i.return:o[0]?i.throw||((a=i.return)&&a.call(i),0):i.next)&&!(a=a.call(i,o[1])).done)return a;switch(i=0,a&&(o=[2&o[0],a.value]),o[0]){case 0:case 1:a=o;break;case 4:return n.label++,{value:o[1],done:!1};case 5:n.label++,i=o[1],o=[0];continue;case 7:o=n.ops.pop(),n.trys.pop();continue;default:if(!((a=(a=n.trys).length>0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]{var e;self,e=()=>(()=>{"use strict";var t={};return(()=>{var e=t;Object.defineProperty(e,"__esModule",{value:!0}),e.WindowPostMessageProxy=void 0;var r=function(){function t(e){void 0===e&&(e={processTrackingProperties:{addTrackingProperties:t.defaultAddTrackingProperties,getTrackingProperties:t.defaultGetTrackingProperties},isErrorMessage:t.defaultIsErrorMessage,receiveWindow:window,name:t.createRandomString()});var r=this;this.pendingRequestPromises={},this.addTrackingProperties=e.processTrackingProperties&&e.processTrackingProperties.addTrackingProperties||t.defaultAddTrackingProperties,this.getTrackingProperties=e.processTrackingProperties&&e.processTrackingProperties.getTrackingProperties||t.defaultGetTrackingProperties,this.isErrorMessage=e.isErrorMessage||t.defaultIsErrorMessage,this.receiveWindow=e.receiveWindow||window,this.name=e.name||t.createRandomString(),this.logMessages=e.logMessages||!1,this.eventSourceOverrideWindow=e.eventSourceOverrideWindow,this.suppressWarnings=e.suppressWarnings||!1,this.logMessages&&console.log("new WindowPostMessageProxy created with name: ".concat(this.name," receiving on window: ").concat(this.receiveWindow.document.title)),this.handlers=[],this.windowMessageHandler=function(t){return r.onMessageReceived(t)},this.start()}return t.defaultAddTrackingProperties=function(e,r){return e[t.messagePropertyName]=r,e},t.defaultGetTrackingProperties=function(e){return e[t.messagePropertyName]},t.defaultIsErrorMessage=function(t){return!!t.error},t.createDeferred=function(){var t={resolve:null,reject:null,promise:null},e=new Promise((function(e,r){t.resolve=e,t.reject=r}));return t.promise=e,t},t.createRandomString=function(){var t=window.crypto||window.msCrypto,e=new Uint32Array(1);return t.getRandomValues(e),e[0].toString(36).substring(1)},t.prototype.addHandler=function(t){this.handlers.push(t)},t.prototype.removeHandler=function(t){var e=this.handlers.indexOf(t);if(-1===e)throw new Error("You attempted to remove a handler but no matching handler was found.");this.handlers.splice(e,1)},t.prototype.start=function(){this.receiveWindow.addEventListener("message",this.windowMessageHandler)},t.prototype.stop=function(){this.receiveWindow.removeEventListener("message",this.windowMessageHandler)},t.prototype.postMessage=function(e,r,i){var a={id:t.createRandomString()};this.addTrackingProperties(r,a),console.log("".concat(this.name," Posting message:")),console.log(JSON.stringify(r,null," ")),console.log("target origin: ".concat(i)),e.postMessage(r,null!=i?i:"*");var o=t.createDeferred();return this.pendingRequestPromises[a.id]=o,o.promise},t.prototype.sendResponse=function(t,e,r,i){this.addTrackingProperties(e,r),this.logMessages&&(console.log("".concat(this.name," Sending response:")),console.log(JSON.stringify(e,null," "))),t.postMessage(e,null!=i?i:"*")},t.prototype.onMessageReceived=function(t){var e=this;this.logMessages&&(console.log("".concat(this.name," Received message:")),console.log("type: ".concat(t.type)),console.log(JSON.stringify(t.data,null," ")));var r=this.eventSourceOverrideWindow||t.source;if(r){var i=t.data;if("object"==typeof i){var a,o;try{a=this.getTrackingProperties(i)}catch(t){this.suppressWarnings||console.warn("Proxy(".concat(this.name,"): Error occurred when attempting to get tracking properties from incoming message:"),JSON.stringify(i,null," "),"Error: ",t)}if(a&&(o=this.pendingRequestPromises[a.id]),o){var n=!0;try{n=this.isErrorMessage(i)}catch(t){console.warn("Proxy(".concat(this.name,") Error occurred when trying to determine if message is consider an error response. Message: "),JSON.stringify(i,null,""),"Error: ",t)}n?o.reject(i):o.resolve(i),delete this.pendingRequestPromises[a.id]}else this.handlers.some((function(t){var o=!1;try{o=t.test(i)}catch(t){e.suppressWarnings||console.warn("Proxy(".concat(e.name,"): Error occurred when handler was testing incoming message:"),JSON.stringify(i,null," "),"Error: ",t)}if(o){var n=void 0;try{n=Promise.resolve(t.handle(i))}catch(t){e.suppressWarnings||console.warn("Proxy(".concat(e.name,"): Error occurred when handler was processing incoming message:"),JSON.stringify(i,null," "),"Error: ",t),n=Promise.resolve()}return n.then((function(t){if(!t){var o="Handler for message: ".concat(JSON.stringify(i,null," ")," did not return a response message. The default response message will be returned instead.");e.suppressWarnings||console.warn("Proxy(".concat(e.name,"): ").concat(o)),t={warning:o}}e.sendResponse(r,t,a)})),!0}}))||this.suppressWarnings||console.warn("Proxy(".concat(this.name,") did not handle message. Handlers: ").concat(this.handlers.length," Message: ").concat(JSON.stringify(i,null,""),"."))}else this.suppressWarnings||console.warn("Proxy(".concat(this.name,"): Received message that was not an object. Discarding message"))}},t.messagePropertyName="windowPostMessageProxy",t}();e.WindowPostMessageProxy=r})(),t})(),t.exports=e()}},e={};function r(i){var a=e[i];if(void 0!==a)return a.exports;var o=e[i]={exports:{}};return t[i].call(o.exports,o,o.exports,r),o.exports}var i={};return(()=>{var t=i;Object.defineProperty(t,"__esModule",{value:!0}),t.RelativeTimeFilterBuilder=t.RelativeDateFilterBuilder=t.TopNFilterBuilder=t.AdvancedFilterBuilder=t.BasicFilterBuilder=t.Create=t.QuickCreate=t.VisualDescriptor=t.Visual=t.Qna=t.Page=t.Embed=t.Tile=t.Dashboard=t.Report=t.models=t.factories=t.service=void 0;var e=r(149);t.models=e;var a=r(562);t.service=a;var o=r(357);t.factories=o;var n=r(125);Object.defineProperty(t,"Report",{enumerable:!0,get:function(){return n.Report}});var l=r(365);Object.defineProperty(t,"Dashboard",{enumerable:!0,get:function(){return l.Dashboard}});var s=r(43);Object.defineProperty(t,"Tile",{enumerable:!0,get:function(){return s.Tile}});var u=r(932);Object.defineProperty(t,"Embed",{enumerable:!0,get:function(){return u.Embed}});var d=r(220);Object.defineProperty(t,"Page",{enumerable:!0,get:function(){return d.Page}});var c=r(148);Object.defineProperty(t,"Qna",{enumerable:!0,get:function(){return c.Qna}});var p=r(23);Object.defineProperty(t,"Visual",{enumerable:!0,get:function(){return p.Visual}});var f=r(558);Object.defineProperty(t,"VisualDescriptor",{enumerable:!0,get:function(){return f.VisualDescriptor}});var h=r(714);Object.defineProperty(t,"QuickCreate",{enumerable:!0,get:function(){return h.QuickCreate}});var v=r(536);Object.defineProperty(t,"Create",{enumerable:!0,get:function(){return v.Create}});var y=r(567);Object.defineProperty(t,"BasicFilterBuilder",{enumerable:!0,get:function(){return y.BasicFilterBuilder}}),Object.defineProperty(t,"AdvancedFilterBuilder",{enumerable:!0,get:function(){return y.AdvancedFilterBuilder}}),Object.defineProperty(t,"TopNFilterBuilder",{enumerable:!0,get:function(){return y.TopNFilterBuilder}}),Object.defineProperty(t,"RelativeDateFilterBuilder",{enumerable:!0,get:function(){return y.RelativeDateFilterBuilder}}),Object.defineProperty(t,"RelativeTimeFilterBuilder",{enumerable:!0,get:function(){return y.RelativeTimeFilterBuilder}});var m=new a.Service(o.hpmFactory,o.wpmpFactory,o.routerFactory);window.powerbi&&window.powerBISDKGlobalServiceInstanceName?window[window.powerBISDKGlobalServiceInstanceName]=m:window.powerbi=m})(),i})())); \ No newline at end of file diff --git a/src/util.ts b/src/util.ts index 593c8fcf..28d65365 100644 --- a/src/util.ts +++ b/src/util.ts @@ -7,12 +7,12 @@ import { HttpPostMessage } from 'http-post-message'; * @hidden */ const allowedPowerBiHostsRegex = - new RegExp(/(.+\.powerbi\.com$)|(.+\.fabric\.microsoft\.com$)|(.+\.analysis\.windows-int\.net$)|(.+\.analysis-df\.windows\.net$)/g); + new RegExp(/(.+\.powerbi\.com$)|(.+\.fabric\.microsoft\.com$)|(.+\.analysis\.windows-int\.net$)|(.+\.analysis-df\.windows\.net$)/); /** * @hidden */ -const allowedPowerBiHostsSovRegex = new RegExp(/^app\.powerbi\.cn$|^app(\.mil\.|\.high\.|\.)powerbigov\.us$|^app\.powerbi\.eaglex\.ic\.gov$|^app\.powerbi\.microsoft\.scloud$/g); +const allowedPowerBiHostsSovRegex = new RegExp(/^app\.powerbi\.cn$|^app(\.mil\.|\.high\.|\.)powerbigov\.us$|^app\.powerbi\.eaglex\.ic\.gov$|^app\.powerbi\.microsoft\.scloud$/); /** * @hidden From 81108303665a0982638ae547dcaae413573c0272 Mon Sep 17 00:00:00 2001 From: May Hartov Date: Mon, 1 Apr 2024 08:26:09 +0000 Subject: [PATCH 123/125] Merged PR 540280: version bump 2.23.1 version bump 2.23.1, minor bug fix of embed url validation --- dist/powerbi-client.d.ts | 2 +- dist/powerbi.js | 4 ++-- dist/powerbi.min.js | 4 ++-- package.json | 2 +- src/config.ts | 2 +- 5 files changed, 7 insertions(+), 7 deletions(-) diff --git a/dist/powerbi-client.d.ts b/dist/powerbi-client.d.ts index d380e9ca..5431d0a9 100644 --- a/dist/powerbi-client.d.ts +++ b/dist/powerbi-client.d.ts @@ -1,4 +1,4 @@ -// powerbi-client v2.23.0 +// powerbi-client v2.23.1 // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. declare module "config" { diff --git a/dist/powerbi.js b/dist/powerbi.js index 846dfff0..2b2fa4e5 100644 --- a/dist/powerbi.js +++ b/dist/powerbi.js @@ -1,4 +1,4 @@ -// powerbi-client v2.23.0 +// powerbi-client v2.23.1 // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. (function webpackUniversalModuleDefinition(root, factory) { @@ -7609,7 +7609,7 @@ exports.BookmarksManager = BookmarksManager; Object.defineProperty(exports, "__esModule", ({ value: true })); /** @ignore */ /** */ var config = { - version: '2.23.0', + version: '2.23.1', type: 'js' }; exports["default"] = config; diff --git a/dist/powerbi.min.js b/dist/powerbi.min.js index bd7b0d91..a81d41d4 100644 --- a/dist/powerbi.min.js +++ b/dist/powerbi.min.js @@ -1,5 +1,5 @@ -// powerbi-client v2.23.0 +// powerbi-client v2.23.1 // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. /*! For license information please see powerbi.js.LICENSE.txt */ -!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,(()=>(()=>{var t={319:t=>{var e;self,e=()=>(()=>{"use strict";var t={};return(()=>{var e=t;Object.defineProperty(e,"__esModule",{value:!0}),e.HttpPostMessage=void 0;var r=function(){function t(t,e,r){void 0===e&&(e={}),this.defaultHeaders=e,this.defaultTargetWindow=r,this.windowPostMessageProxy=t}return t.addTrackingProperties=function(t,e){return t.headers=t.headers||{},e&&e.id&&(t.headers.id=e.id),t},t.getTrackingProperties=function(t){return{id:t.headers&&t.headers.id}},t.isErrorMessage=function(t){return"number"==typeof(t&&t.statusCode)&&!(200<=t.statusCode&&t.statusCode<300)},t.prototype.get=function(t,e,r,i){return void 0===e&&(e={}),void 0===r&&(r=this.defaultTargetWindow),this.send({method:"GET",url:t,headers:e},r,i)},t.prototype.post=function(t,e,r,i,a){return void 0===r&&(r={}),void 0===i&&(i=this.defaultTargetWindow),this.send({method:"POST",url:t,headers:r,body:e},i,a)},t.prototype.put=function(t,e,r,i,a){return void 0===r&&(r={}),void 0===i&&(i=this.defaultTargetWindow),this.send({method:"PUT",url:t,headers:r,body:e},i,a)},t.prototype.patch=function(t,e,r,i,a){return void 0===r&&(r={}),void 0===i&&(i=this.defaultTargetWindow),this.send({method:"PATCH",url:t,headers:r,body:e},i,a)},t.prototype.delete=function(t,e,r,i,a){return void 0===e&&(e=null),void 0===r&&(r={}),void 0===i&&(i=this.defaultTargetWindow),this.send({method:"DELETE",url:t,headers:r,body:e},i,a)},t.prototype.send=function(t,e,r){if(void 0===e&&(e=this.defaultTargetWindow),t.headers=this.assign({},this.defaultHeaders,t.headers),!e)throw new Error("target window is not provided. You must either provide the target window explicitly as argument to request, or specify default target window when constructing instance of this class.");return this.windowPostMessageProxy.postMessage(e,t,r)},t.prototype.assign=function(t){for(var e=[],r=1;r(()=>{var t=[function(t,e,r){var i,a=this&&this.__extends||(i=function(t,e){return i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},i(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.TextAlignment=e.CommonErrorCodes=e.BookmarksPlayMode=e.ExportDataType=e.QnaMode=e.PageNavigationPosition=e.BrowserPrintAdjustmentsMode=e.AggregateFunction=e.DataCacheMode=e.CredentialType=e.isPercentOfGrandTotal=e.isColumnAggr=e.isHierarchyLevelAggr=e.isHierarchyLevel=e.isColumn=e.isMeasure=e.getFilterType=e.isBasicFilterWithKeys=e.isFilterKeyColumnsTarget=e.HierarchyFilter=e.AdvancedFilter=e.TupleFilter=e.IdentityFilter=e.BasicFilterWithKeys=e.BasicFilter=e.RelativeTimeFilter=e.RelativeDateFilter=e.TopNFilter=e.IncludeExcludeFilter=e.NotSupportedFilter=e.Filter=e.RelativeDateOperators=e.RelativeDateFilterTimeUnit=e.FilterType=e.FiltersLevel=e.FiltersOperations=e.MenuLocation=e.ContrastMode=e.TokenType=e.ViewMode=e.Permissions=e.SectionVisibility=e.ReportAlignment=e.HyperlinkClickBehavior=e.LayoutType=e.VisualContainerDisplayMode=e.BackgroundType=e.DisplayOption=e.PageSizeType=e.TraceType=void 0,e.validateVisualHeader=e.validateExportDataRequest=e.validateQnaInterpretInputData=e.validateLoadQnaConfiguration=e.validateSaveAsParameters=e.validateUpdateFiltersRequest=e.validateFilter=e.validatePage=e.validateTileLoad=e.validateDashboardLoad=e.validateQuickCreate=e.validateCreateReport=e.validatePaginatedReportLoad=e.validateReportLoad=e.validateMenuGroupExtension=e.validateExtension=e.validateCustomPageSize=e.validateVisualizationsPane=e.validateSyncSlicersPane=e.validateSelectionPane=e.validatePageNavigationPane=e.validateFieldsPane=e.validateFiltersPane=e.validateBookmarksPane=e.validatePanes=e.validateSettings=e.validateCaptureBookmarkRequest=e.validateApplyBookmarkStateRequest=e.validateApplyBookmarkByNameRequest=e.validateAddBookmarkRequest=e.validatePlayBookmarkRequest=e.validateSlicerState=e.validateSlicer=e.validateVisualSelector=e.isIExtensionArray=e.isIExtensions=e.isGroupedMenuExtension=e.isFlatMenuExtension=e.isReportFiltersArray=e.isOnLoadFilters=e.VisualDataRoleKindPreference=e.VisualDataRoleKind=e.CommandDisplayOption=e.SlicerTargetSelector=e.VisualTypeSelector=e.VisualSelector=e.PageSelector=e.Selector=e.SortDirection=e.LegendPosition=void 0,e.validatePrintSettings=e.validateZoomLevel=e.validateCustomTheme=e.validateCommandsSettings=e.validateVisualSettings=void 0;var o,n,l,s,u,d,c,p,f,h,v,y,m,V,g,b,w,P,S,O=r(1);(S=e.TraceType||(e.TraceType={}))[S.Information=0]="Information",S[S.Verbose=1]="Verbose",S[S.Warning=2]="Warning",S[S.Error=3]="Error",S[S.ExpectedError=4]="ExpectedError",S[S.UnexpectedError=5]="UnexpectedError",S[S.Fatal=6]="Fatal",(P=e.PageSizeType||(e.PageSizeType={}))[P.Widescreen=0]="Widescreen",P[P.Standard=1]="Standard",P[P.Cortana=2]="Cortana",P[P.Letter=3]="Letter",P[P.Custom=4]="Custom",P[P.Mobile=5]="Mobile",(w=e.DisplayOption||(e.DisplayOption={}))[w.FitToPage=0]="FitToPage",w[w.FitToWidth=1]="FitToWidth",w[w.ActualSize=2]="ActualSize",(b=e.BackgroundType||(e.BackgroundType={}))[b.Default=0]="Default",b[b.Transparent=1]="Transparent",(g=e.VisualContainerDisplayMode||(e.VisualContainerDisplayMode={}))[g.Visible=0]="Visible",g[g.Hidden=1]="Hidden",(V=e.LayoutType||(e.LayoutType={}))[V.Master=0]="Master",V[V.Custom=1]="Custom",V[V.MobilePortrait=2]="MobilePortrait",V[V.MobileLandscape=3]="MobileLandscape",(m=e.HyperlinkClickBehavior||(e.HyperlinkClickBehavior={}))[m.Navigate=0]="Navigate",m[m.NavigateAndRaiseEvent=1]="NavigateAndRaiseEvent",m[m.RaiseEvent=2]="RaiseEvent",(y=e.ReportAlignment||(e.ReportAlignment={}))[y.Left=0]="Left",y[y.Center=1]="Center",y[y.Right=2]="Right",y[y.None=3]="None",(v=e.SectionVisibility||(e.SectionVisibility={}))[v.AlwaysVisible=0]="AlwaysVisible",v[v.HiddenInViewMode=1]="HiddenInViewMode",(h=e.Permissions||(e.Permissions={}))[h.Read=0]="Read",h[h.ReadWrite=1]="ReadWrite",h[h.Copy=2]="Copy",h[h.Create=4]="Create",h[h.All=7]="All",(f=e.ViewMode||(e.ViewMode={}))[f.View=0]="View",f[f.Edit=1]="Edit",(p=e.TokenType||(e.TokenType={}))[p.Aad=0]="Aad",p[p.Embed=1]="Embed",(c=e.ContrastMode||(e.ContrastMode={}))[c.None=0]="None",c[c.HighContrast1=1]="HighContrast1",c[c.HighContrast2=2]="HighContrast2",c[c.HighContrastBlack=3]="HighContrastBlack",c[c.HighContrastWhite=4]="HighContrastWhite",(d=e.MenuLocation||(e.MenuLocation={}))[d.Bottom=0]="Bottom",d[d.Top=1]="Top",(u=e.FiltersOperations||(e.FiltersOperations={}))[u.RemoveAll=0]="RemoveAll",u[u.ReplaceAll=1]="ReplaceAll",u[u.Add=2]="Add",u[u.Replace=3]="Replace",(s=e.FiltersLevel||(e.FiltersLevel={}))[s.Report=0]="Report",s[s.Page=1]="Page",s[s.Visual=2]="Visual",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",t[t.Identity=8]="Identity",t[t.Hierarchy=9]="Hierarchy"}(o=e.FilterType||(e.FilterType={})),(l=e.RelativeDateFilterTimeUnit||(e.RelativeDateFilterTimeUnit={}))[l.Days=0]="Days",l[l.Weeks=1]="Weeks",l[l.CalendarWeeks=2]="CalendarWeeks",l[l.Months=3]="Months",l[l.CalendarMonths=4]="CalendarMonths",l[l.Years=5]="Years",l[l.CalendarYears=6]="CalendarYears",l[l.Minutes=7]="Minutes",l[l.Hours=8]="Hours",(n=e.RelativeDateOperators||(e.RelativeDateOperators={}))[n.InLast=0]="InLast",n[n.InThis=1]="InThis",n[n.InNext=2]="InNext";var _=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=_;var E=function(t){function e(r,i,a){var n=t.call(this,r,o.Unknown)||this;return n.message=i,n.notSupportedTypeName=a,n.schemaUrl=e.schemaUrl,n}return a(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}(_);e.NotSupportedFilter=E;var T=function(t){function e(r,i,a){var n=t.call(this,r,o.IncludeExclude)||this;return n.values=a,n.isExclude=i,n.schemaUrl=e.schemaUrl,n}return a(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}(_);e.IncludeExcludeFilter=T;var F=function(t){function e(r,i,a,n){var l=t.call(this,r,o.TopN)||this;return l.operator=i,l.itemCount=a,l.schemaUrl=e.schemaUrl,l.orderBy=n,l}return a(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}(_);e.TopNFilter=F;var C=function(t){function e(r,i,a,n,l){var s=t.call(this,r,o.RelativeDate)||this;return s.operator=i,s.timeUnitsCount=a,s.timeUnitType=n,s.includeToday=l,s.schemaUrl=e.schemaUrl,s}return a(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}(_);e.RelativeDateFilter=C;var R=function(t){function e(r,i,a,n){var l=t.call(this,r,o.RelativeTime)||this;return l.operator=i,l.timeUnitsCount=a,l.timeUnitType=n,l.schemaUrl=e.schemaUrl,l}return a(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}(_);e.RelativeTimeFilter=R;var k=function(t){function e(r,i){for(var a=[],n=2;n0&&!a)throw new Error("You should pass the values to be filtered for each key. You passed: no values and ".concat(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,s=o.keyValues;l2)throw new Error("AdvancedFilters may not have more than two conditions. You passed: ".concat(a.length));if(1===l.length&&"And"!==i)throw new Error('Logical Operator must be "And" when there is only one condition provided');return s.conditions=l,s}return a(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}(_);e.AdvancedFilter=M;var I,L,q,D,N,B,U,H,W,z=function(t){function e(r,i){var a=t.call(this,r,o.Hierarchy)||this;return a.schemaUrl=e.schemaUrl,a.hierarchyData=i,a}return a(e,t),e.prototype.toJSON=function(){var e=t.prototype.toJSON.call(this);return e.hierarchyData=this.hierarchyData,e.target=this.target,e},e.schemaUrl="http://powerbi.com/product/schema#hierarchy",e}(_);function Q(t){if(t.filterType)return t.filterType;var e=t,r=t;return"string"==typeof e.operator&&Array.isArray(e.values)?o.Basic:"string"==typeof r.logicalOperator&&Array.isArray(r.conditions)?o.Advanced:o.Unknown}function G(t){return!(!t.table||!t.column||t.aggregationFunction)}e.HierarchyFilter=z,e.isFilterKeyColumnsTarget=function(t){return G(t)&&!!t.keys},e.isBasicFilterWithKeys=function(t){return Q(t)===o.Basic&&!!t.keyValues},e.getFilterType=Q,e.isMeasure=function(t){return void 0!==t.table&&void 0!==t.measure},e.isColumn=G,e.isHierarchyLevel=function(t){return!(!(t.table&&t.hierarchy&&t.hierarchyLevel)||t.aggregationFunction)},e.isHierarchyLevelAggr=function(t){return!!(t.table&&t.hierarchy&&t.hierarchyLevel&&t.aggregationFunction)},e.isColumnAggr=function(t){return!!(t.table&&t.column&&t.aggregationFunction)},e.isPercentOfGrandTotal=function(t){return!!t.percentOfGrandTotal},(W=e.CredentialType||(e.CredentialType={}))[W.NoConnection=0]="NoConnection",W[W.OnBehalfOf=1]="OnBehalfOf",W[W.Anonymous=2]="Anonymous",(H=e.DataCacheMode||(e.DataCacheMode={}))[H.Import=0]="Import",H[H.DirectQuery=1]="DirectQuery",(U=e.AggregateFunction||(e.AggregateFunction={}))[U.Default=1]="Default",U[U.None=2]="None",U[U.Sum=3]="Sum",U[U.Min=4]="Min",U[U.Max=5]="Max",U[U.Count=6]="Count",U[U.Average=7]="Average",U[U.DistinctCount=8]="DistinctCount",(B=e.BrowserPrintAdjustmentsMode||(e.BrowserPrintAdjustmentsMode={}))[B.Default=0]="Default",B[B.NoAdjustments=1]="NoAdjustments",(N=e.PageNavigationPosition||(e.PageNavigationPosition={}))[N.Bottom=0]="Bottom",N[N.Left=1]="Left",(D=e.QnaMode||(e.QnaMode={}))[D.Interactive=0]="Interactive",D[D.ResultOnly=1]="ResultOnly",(q=e.ExportDataType||(e.ExportDataType={}))[q.Summarized=0]="Summarized",q[q.Underlying=1]="Underlying",(L=e.BookmarksPlayMode||(e.BookmarksPlayMode={}))[L.Off=0]="Off",L[L.Presentation=1]="Presentation",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"},(I=e.SortDirection||(e.SortDirection={}))[I.Ascending=1]="Ascending",I[I.Descending=2]="Descending";var J=function(){function t(t){this.$schema=t}return t.prototype.toJSON=function(){return{$schema:this.$schema}},t}();e.Selector=J;var K=function(t){function e(r){var i=t.call(this,e.schemaUrl)||this;return i.pageName=r,i}return a(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}(J);e.PageSelector=K;var Y=function(t){function e(r){var i=t.call(this,e.schemaUrl)||this;return i.visualName=r,i}return a(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}(J);e.VisualSelector=Y;var $=function(t){function e(e){var r=t.call(this,Y.schemaUrl)||this;return r.visualType=e,r}return a(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}(J);e.VisualTypeSelector=$;var Z,X,tt,et=function(t){function e(e){var r=t.call(this,Y.schemaUrl)||this;return r.target=e,r}return a(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}(J);function rt(t){return Array.isArray(t)}function it(t){return t&&!!t.groupName}function at(t){return Array.isArray(t)}function ot(t){var e=t.message;return e||(e="".concat(t.path," is invalid. Not meeting ").concat(t.keyword," constraint")),{message:e}}e.SlicerTargetSelector=et,(tt=e.CommandDisplayOption||(e.CommandDisplayOption={}))[tt.Enabled=0]="Enabled",tt[tt.Disabled=1]="Disabled",tt[tt.Hidden=2]="Hidden",(X=e.VisualDataRoleKind||(e.VisualDataRoleKind={}))[X.Grouping=0]="Grouping",X[X.Measure=1]="Measure",X[X.GroupingOrMeasure=2]="GroupingOrMeasure",(Z=e.VisualDataRoleKindPreference||(e.VisualDataRoleKindPreference={}))[Z.Measure=0]="Measure",Z[Z.Grouping=1]="Grouping",e.isOnLoadFilters=function(t){return t&&!rt(t)},e.isReportFiltersArray=rt,e.isFlatMenuExtension=function(t){return t&&!it(t)},e.isGroupedMenuExtension=it,e.isIExtensions=function(t){return t&&!at(t)},e.isIExtensionArray=at,e.validateVisualSelector=function(t){var e=O.Validators.visualSelectorValidator.validate(t);return e?e.map(ot):void 0},e.validateSlicer=function(t){var e=O.Validators.slicerValidator.validate(t);return e?e.map(ot):void 0},e.validateSlicerState=function(t){var e=O.Validators.slicerStateValidator.validate(t);return e?e.map(ot):void 0},e.validatePlayBookmarkRequest=function(t){var e=O.Validators.playBookmarkRequestValidator.validate(t);return e?e.map(ot):void 0},e.validateAddBookmarkRequest=function(t){var e=O.Validators.addBookmarkRequestValidator.validate(t);return e?e.map(ot):void 0},e.validateApplyBookmarkByNameRequest=function(t){var e=O.Validators.applyBookmarkByNameRequestValidator.validate(t);return e?e.map(ot):void 0},e.validateApplyBookmarkStateRequest=function(t){var e=O.Validators.applyBookmarkStateRequestValidator.validate(t);return e?e.map(ot):void 0},e.validateCaptureBookmarkRequest=function(t){var e=O.Validators.captureBookmarkRequestValidator.validate(t);return e?e.map(ot):void 0},e.validateSettings=function(t){var e=O.Validators.settingsValidator.validate(t);return e?e.map(ot):void 0},e.validatePanes=function(t){var e=O.Validators.reportPanesValidator.validate(t);return e?e.map(ot):void 0},e.validateBookmarksPane=function(t){var e=O.Validators.bookmarksPaneValidator.validate(t);return e?e.map(ot):void 0},e.validateFiltersPane=function(t){var e=O.Validators.filtersPaneValidator.validate(t);return e?e.map(ot):void 0},e.validateFieldsPane=function(t){var e=O.Validators.fieldsPaneValidator.validate(t);return e?e.map(ot):void 0},e.validatePageNavigationPane=function(t){var e=O.Validators.pageNavigationPaneValidator.validate(t);return e?e.map(ot):void 0},e.validateSelectionPane=function(t){var e=O.Validators.selectionPaneValidator.validate(t);return e?e.map(ot):void 0},e.validateSyncSlicersPane=function(t){var e=O.Validators.syncSlicersPaneValidator.validate(t);return e?e.map(ot):void 0},e.validateVisualizationsPane=function(t){var e=O.Validators.visualizationsPaneValidator.validate(t);return e?e.map(ot):void 0},e.validateCustomPageSize=function(t){var e=O.Validators.customPageSizeValidator.validate(t);return e?e.map(ot):void 0},e.validateExtension=function(t){var e=O.Validators.extensionValidator.validate(t);return e?e.map(ot):void 0},e.validateMenuGroupExtension=function(t){var e=O.Validators.menuGroupExtensionValidator.validate(t);return e?e.map(ot):void 0},e.validateReportLoad=function(t){var e=O.Validators.reportLoadValidator.validate(t);return e?e.map(ot):void 0},e.validatePaginatedReportLoad=function(t){var e=O.Validators.paginatedReportLoadValidator.validate(t);return e?e.map(ot):void 0},e.validateCreateReport=function(t){var e=O.Validators.reportCreateValidator.validate(t);return e?e.map(ot):void 0},e.validateQuickCreate=function(t){var e=O.Validators.quickCreateValidator.validate(t);return e?e.map(ot):void 0},e.validateDashboardLoad=function(t){var e=O.Validators.dashboardLoadValidator.validate(t);return e?e.map(ot):void 0},e.validateTileLoad=function(t){var e=O.Validators.tileLoadValidator.validate(t);return e?e.map(ot):void 0},e.validatePage=function(t){var e=O.Validators.pageValidator.validate(t);return e?e.map(ot):void 0},e.validateFilter=function(t){var e=O.Validators.filterValidator.validate(t);return e?e.map(ot):void 0},e.validateUpdateFiltersRequest=function(t){var e=O.Validators.updateFiltersRequestValidator.validate(t);return e?e.map(ot):void 0},e.validateSaveAsParameters=function(t){var e=O.Validators.saveAsParametersValidator.validate(t);return e?e.map(ot):void 0},e.validateLoadQnaConfiguration=function(t){var e=O.Validators.loadQnaValidator.validate(t);return e?e.map(ot):void 0},e.validateQnaInterpretInputData=function(t){var e=O.Validators.qnaInterpretInputDataValidator.validate(t);return e?e.map(ot):void 0},e.validateExportDataRequest=function(t){var e=O.Validators.exportDataRequestValidator.validate(t);return e?e.map(ot):void 0},e.validateVisualHeader=function(t){var e=O.Validators.visualHeaderValidator.validate(t);return e?e.map(ot):void 0},e.validateVisualSettings=function(t){var e=O.Validators.visualSettingsValidator.validate(t);return e?e.map(ot):void 0},e.validateCommandsSettings=function(t){var e=O.Validators.commandsSettingsValidator.validate(t);return e?e.map(ot):void 0},e.validateCustomTheme=function(t){var e=O.Validators.customThemeValidator.validate(t);return e?e.map(ot):void 0},e.validateZoomLevel=function(t){var e=O.Validators.zoomLevelValidator.validate(t);return e?e.map(ot):void 0},e.validatePrintSettings=function(t){var e=O.Validators.printSettingsValidator.validate(t);return e?e.map(ot):void 0}},(t,e,r)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.Validators=void 0;var i=r(2),a=r(5),o=r(6),n=r(7),l=r(8),s=r(9),u=r(10),d=r(11),c=r(12),p=r(13),f=r(14),h=r(15),v=r(16),y=r(17),m=r(18),V=r(19),g=r(20),b=r(21),w=r(22),P=r(23),S=r(24),O=r(25),_=r(26),E=r(27),T=r(28),F=r(29),C=r(4),R=r(30),k=r(31),x=r(32),A=r(33),j=r(34);e.Validators={addBookmarkRequestValidator:new a.AddBookmarkRequestValidator,advancedFilterTypeValidator:new C.EnumValidator([0]),advancedFilterValidator:new c.AdvancedFilterValidator,anyArrayValidator:new C.ArrayValidator([new _.AnyOfValidator([new C.StringValidator,new C.NumberValidator,new C.BooleanValidator])]),anyFilterValidator:new _.AnyOfValidator([new c.BasicFilterValidator,new c.AdvancedFilterValidator,new c.IncludeExcludeFilterValidator,new c.NotSupportedFilterValidator,new c.RelativeDateFilterValidator,new c.TopNFilterValidator,new c.RelativeTimeFilterValidator,new c.HierarchyFilterValidator]),anyValueValidator:new _.AnyOfValidator([new C.StringValidator,new C.NumberValidator,new C.BooleanValidator]),actionBarValidator:new i.ActionBarValidator,statusBarValidator:new i.StatusBarValidator,applyBookmarkByNameRequestValidator:new a.ApplyBookmarkByNameRequestValidator,applyBookmarkStateRequestValidator:new a.ApplyBookmarkStateRequestValidator,applyBookmarkValidator:new _.AnyOfValidator([new a.ApplyBookmarkByNameRequestValidator,new a.ApplyBookmarkStateRequestValidator]),backgroundValidator:new C.EnumValidator([0,1]),basicFilterTypeValidator:new C.EnumValidator([1]),basicFilterValidator:new c.BasicFilterValidator,booleanArrayValidator:new C.BooleanArrayValidator,booleanValidator:new C.BooleanValidator,bookmarksPaneValidator:new h.BookmarksPaneValidator,captureBookmarkOptionsValidator:new a.CaptureBookmarkOptionsValidator,captureBookmarkRequestValidator:new a.CaptureBookmarkRequestValidator,columnSchemaArrayValidator:new C.ArrayValidator([new k.ColumnSchemaValidator]),commandDisplayOptionValidator:new C.EnumValidator([0,1,2]),commandExtensionSelectorValidator:new _.AnyOfValidator([new b.VisualSelectorValidator,new b.VisualTypeSelectorValidator]),commandExtensionArrayValidator:new C.ArrayValidator([new d.CommandExtensionValidator]),commandExtensionValidator:new d.CommandExtensionValidator,commandsSettingsArrayValidator:new C.ArrayValidator([new o.CommandsSettingsValidator]),commandsSettingsValidator:new o.CommandsSettingsValidator,conditionItemValidator:new c.ConditionItemValidator,contrastModeValidator:new C.EnumValidator([0,1,2,3,4]),credentialDetailsValidator:new F.MapValidator([new C.StringValidator],[new C.StringValidator]),credentialsValidator:new k.CredentialsValidator,credentialTypeValidator:new C.EnumValidator([0,1,2]),customLayoutDisplayOptionValidator:new C.EnumValidator([0,1,2]),customLayoutValidator:new p.CustomLayoutValidator,customPageSizeValidator:new f.CustomPageSizeValidator,customThemeValidator:new n.CustomThemeValidator,dashboardLoadValidator:new l.DashboardLoadValidator,dataCacheModeValidator:new C.EnumValidator([0,1]),datasetBindingValidator:new s.DatasetBindingValidator,datasetCreateConfigValidator:new k.DatasetCreateConfigValidator,datasourceConnectionConfigValidator:new k.DatasourceConnectionConfigValidator,displayStateModeValidator:new C.EnumValidator([0,1]),displayStateValidator:new p.DisplayStateValidator,exportDataRequestValidator:new u.ExportDataRequestValidator,extensionArrayValidator:new C.ArrayValidator([new d.ExtensionValidator]),extensionsValidator:new _.AnyOfValidator([new C.ArrayValidator([new d.ExtensionValidator]),new d.ExtensionsValidator]),extensionPointsValidator:new d.ExtensionPointsValidator,extensionValidator:new d.ExtensionValidator,fieldForbiddenValidator:new E.FieldForbiddenValidator,fieldRequiredValidator:new T.FieldRequiredValidator,fieldsPaneValidator:new h.FieldsPaneValidator,filterColumnTargetValidator:new c.FilterColumnTargetValidator,filterDisplaySettingsValidator:new c.FilterDisplaySettingsValidator,filterConditionsValidator:new C.ArrayValidator([new c.ConditionItemValidator]),filterHierarchyTargetValidator:new c.FilterHierarchyTargetValidator,filterMeasureTargetValidator:new c.FilterMeasureTargetValidator,filterTargetValidator:new _.AnyOfValidator([new c.FilterColumnTargetValidator,new c.FilterHierarchyTargetValidator,new c.FilterMeasureTargetValidator,new C.ArrayValidator([new _.AnyOfValidator([new c.FilterColumnTargetValidator,new c.FilterHierarchyTargetValidator,new c.FilterMeasureTargetValidator,new c.FilterKeyColumnsTargetValidator,new c.FilterKeyHierarchyTargetValidator])])]),filterValidator:new c.FilterValidator,filterTypeValidator:new C.EnumValidator([0,1,2,3,4,5,6,7,9]),filtersArrayValidator:new C.ArrayValidator([new c.FilterValidator]),filtersOperationsUpdateValidator:new C.EnumValidator([1,2,3]),filtersOperationsRemoveAllValidator:new C.EnumValidator([0]),filtersPaneValidator:new h.FiltersPaneValidator,hyperlinkClickBehaviorValidator:new C.EnumValidator([0,1,2]),includeExcludeFilterValidator:new c.IncludeExcludeFilterValidator,includeExludeFilterTypeValidator:new C.EnumValidator([3]),hierarchyFilterTypeValidator:new C.EnumValidator([9]),hierarchyFilterValuesValidator:new C.ArrayValidator([new c.HierarchyFilterNodeValidator]),layoutTypeValidator:new C.EnumValidator([0,1,2,3]),loadQnaValidator:new v.LoadQnaValidator,menuExtensionValidator:new _.AnyOfValidator([new d.FlatMenuExtensionValidator,new d.GroupedMenuExtensionValidator]),menuGroupExtensionArrayValidator:new C.ArrayValidator([new d.MenuGroupExtensionValidator]),menuGroupExtensionValidator:new d.MenuGroupExtensionValidator,menuLocationValidator:new C.EnumValidator([0,1]),notSupportedFilterTypeValidator:new C.EnumValidator([2]),notSupportedFilterValidator:new c.NotSupportedFilterValidator,numberArrayValidator:new C.NumberArrayValidator,numberValidator:new C.NumberValidator,onLoadFiltersBaseValidator:new _.AnyOfValidator([new c.OnLoadFiltersBaseValidator,new c.OnLoadFiltersBaseRemoveOperationValidator]),pageLayoutValidator:new F.MapValidator([new C.StringValidator],[new p.VisualLayoutValidator]),pageNavigationPaneValidator:new h.PageNavigationPaneValidator,pageNavigationPositionValidator:new C.EnumValidator([0,1]),pageSizeTypeValidator:new C.EnumValidator([0,1,2,3,4,5]),pageSizeValidator:new f.PageSizeValidator,pageValidator:new f.PageValidator,pageViewFieldValidator:new f.PageViewFieldValidator,pagesLayoutValidator:new F.MapValidator([new C.StringValidator],[new p.PageLayoutValidator]),paginatedReportCommandsValidator:new o.PaginatedReportCommandsValidator,paginatedReportDatasetBindingArrayValidator:new C.ArrayValidator([new j.PaginatedReportDatasetBindingValidator]),paginatedReportLoadValidator:new V.PaginatedReportLoadValidator,paginatedReportsettingsValidator:new w.PaginatedReportSettingsValidator,parameterValuesArrayValidator:new C.ArrayValidator([new V.ReportParameterFieldsValidator]),parametersPanelValidator:new R.ParametersPanelValidator,permissionsValidator:new C.EnumValidator([0,1,2,4,7]),playBookmarkRequestValidator:new a.PlayBookmarkRequestValidator,printSettingsValidator:new A.PrintSettingsValidator,qnaInterpretInputDataValidator:new v.QnaInterpretInputDataValidator,qnaPanesValidator:new h.QnaPanesValidator,qnaSettingValidator:new v.QnaSettingsValidator,quickCreateValidator:new x.QuickCreateValidator,rawDataValidator:new C.ArrayValidator([new C.ArrayValidator([new C.StringValidator])]),relativeDateFilterOperatorValidator:new C.EnumValidator([0,1,2]),relativeDateFilterTimeUnitTypeValidator:new C.EnumValidator([0,1,2,3,4,5,6]),relativeDateFilterTypeValidator:new C.EnumValidator([4]),relativeDateFilterValidator:new c.RelativeDateFilterValidator,relativeDateTimeFilterTypeValidator:new C.EnumValidator([4,7]),relativeDateTimeFilterUnitTypeValidator:new C.EnumValidator([0,1,2,3,4,5,6,7,8]),relativeTimeFilterTimeUnitTypeValidator:new C.EnumValidator([7,8]),relativeTimeFilterTypeValidator:new C.EnumValidator([7]),relativeTimeFilterValidator:new c.RelativeTimeFilterValidator,reportBarsValidator:new i.ReportBarsValidator,reportCreateValidator:new y.ReportCreateValidator,reportLoadFiltersValidator:new _.AnyOfValidator([new C.ArrayValidator([new c.FilterValidator]),new c.OnLoadFiltersValidator]),reportLoadValidator:new m.ReportLoadValidator,reportPanesValidator:new h.ReportPanesValidator,saveAsParametersValidator:new g.SaveAsParametersValidator,selectionPaneValidator:new h.SelectionPaneValidator,settingsValidator:new w.SettingsValidator,singleCommandSettingsValidator:new o.SingleCommandSettingsValidator,slicerSelectorValidator:new _.AnyOfValidator([new b.VisualSelectorValidator,new b.SlicerTargetSelectorValidator]),slicerStateValidator:new P.SlicerStateValidator,slicerTargetValidator:new _.AnyOfValidator([new c.FilterColumnTargetValidator,new c.FilterHierarchyTargetValidator,new c.FilterMeasureTargetValidator,new c.FilterKeyColumnsTargetValidator,new c.FilterKeyHierarchyTargetValidator]),slicerValidator:new P.SlicerValidator,stringArrayValidator:new C.StringArrayValidator,stringValidator:new C.StringValidator,syncSlicersPaneValidator:new h.SyncSlicersPaneValidator,tableDataArrayValidator:new C.ArrayValidator([new k.TableDataValidator]),tableSchemaListValidator:new C.ArrayValidator([new k.TableSchemaValidator]),tileLoadValidator:new S.TileLoadValidator,tokenTypeValidator:new C.EnumValidator([0,1]),topNFilterTypeValidator:new C.EnumValidator([5]),topNFilterValidator:new c.TopNFilterValidator,updateFiltersRequestValidator:new _.AnyOfValidator([new c.UpdateFiltersRequestValidator,new c.RemoveFiltersRequestValidator]),viewModeValidator:new C.EnumValidator([0,1]),visualCommandSelectorValidator:new _.AnyOfValidator([new b.VisualSelectorValidator,new b.VisualTypeSelectorValidator]),visualHeaderSelectorValidator:new _.AnyOfValidator([new b.VisualSelectorValidator,new b.VisualTypeSelectorValidator]),visualHeaderSettingsValidator:new O.VisualHeaderSettingsValidator,visualHeaderValidator:new O.VisualHeaderValidator,visualHeadersValidator:new C.ArrayValidator([new O.VisualHeaderValidator]),visualizationsPaneValidator:new h.VisualizationsPaneValidator,visualLayoutValidator:new p.VisualLayoutValidator,visualSelectorValidator:new b.VisualSelectorValidator,visualSettingsValidator:new O.VisualSettingsValidator,visualTypeSelectorValidator:new b.VisualTypeSelectorValidator,zoomLevelValidator:new C.RangeValidator(.25,4)}},function(t,e,r){var i,a=this&&this.__extends||(i=function(t,e){return i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},i(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.StatusBarValidator=e.ActionBarValidator=e.ReportBarsValidator=void 0;var o=r(3),n=r(4),l=r(1),s=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return a(e,t),e.prototype.validate=function(e,r,i){if(null==e)return null;var a=t.prototype.validate.call(this,e,r,i);if(a)return a;var n=[{field:"actionBar",validators:[l.Validators.actionBarValidator]},{field:"statusBar",validators:[l.Validators.statusBarValidator]}];return new o.MultipleFieldsValidator(n).validate(e,r,i)},e}(n.ObjectValidator);e.ReportBarsValidator=s;var u=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return a(e,t),e.prototype.validate=function(e,r,i){if(null==e)return null;var a=t.prototype.validate.call(this,e,r,i);if(a)return a;var n=[{field:"visible",validators:[l.Validators.booleanValidator]}];return new o.MultipleFieldsValidator(n).validate(e,r,i)},e}(n.ObjectValidator);e.ActionBarValidator=u;var d=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return a(e,t),e.prototype.validate=function(e,r,i){if(null==e)return null;var a=t.prototype.validate.call(this,e,r,i);if(a)return a;var n=[{field:"visible",validators:[l.Validators.booleanValidator]}];return new o.MultipleFieldsValidator(n).validate(e,r,i)},e}(n.ObjectValidator);e.StatusBarValidator=d},(t,e)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.MultipleFieldsValidator=void 0;var r=function(){function t(t){this.fieldValidatorsPairs=t}return t.prototype.validate=function(t,e,r){if(!this.fieldValidatorsPairs)return null;for(var i=e?e+"."+r:r,a=0,o=this.fieldValidatorsPairs;athis.maxValue||e{Object.defineProperty(e,"__esModule",{value:!0}),e.AnyOfValidator=void 0;var r=function(){function t(t){this.validators=t}return t.prototype.validate=function(t,e,r){if(null==t)return null;for(var i=!1,a=0,o=this.validators;a{Object.defineProperty(e,"__esModule",{value:!0}),e.FieldForbiddenValidator=void 0;var r=function(){function t(){}return t.prototype.validate=function(t,e,r){return void 0!==t?[{message:r+" is forbidden",path:(e?e+".":"")+r,keyword:"forbidden"}]:null},t}();e.FieldForbiddenValidator=r},(t,e)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.FieldRequiredValidator=void 0;var r=function(){function t(){}return t.prototype.validate=function(t,e,r){return null==t?[{message:r+" is required",path:(e?e+".":"")+r,keyword:"required"}]:null},t}();e.FieldRequiredValidator=r},function(t,e,r){var i,a=this&&this.__extends||(i=function(t,e){return i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},i(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.MapValidator=void 0;var o=function(t){function e(e,r){var i=t.call(this)||this;return i.keyValidators=e,i.valueValidators=r,i}return a(e,t),e.prototype.validate=function(e,r,i){if(null==e)return null;var a=t.prototype.validate.call(this,e,r,i);if(a)return a;for(var o in e)if(e.hasOwnProperty(o)){for(var n=(r?r+".":"")+i+"."+o,l=0,s=this.keyValidators;l2&&"[]"===n.slice(l-2)&&(s=!0,r[n=n.slice(0,l-2)]||(r[n]=[])),a=o[1]?g(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(-1!==(i=t.indexOf("?"))){var l=t.substr(i+1,t.length);t=t.substr(0,i),o=this.parseQueryString(l)}for("/"!==(t=decodeURI(t)).charAt(0)&&(t="/"+t),(e=t.length)>1&&"/"===t.charAt(e-1)&&(t=t.substr(0,e-1),n=!0),r=0;r{Object.defineProperty(e,"__esModule",{value:!0}),e.FilterBuilder=void 0;var r=function(){function t(){}return t.prototype.withTargetObject=function(t){return this.target=t,this},t.prototype.withColumnTarget=function(t,e){return this.target={table:t,column:e},this},t.prototype.withMeasureTarget=function(t,e){return this.target={table:t,measure:e},this},t.prototype.withHierarchyLevelTarget=function(t,e,r){return this.target={table:t,hierarchy:e,hierarchyLevel:r},this},t.prototype.withColumnAggregation=function(t,e,r){return this.target={table:t,column:e,aggregationFunction:r},this},t.prototype.withHierarchyLevelAggregationTarget=function(t,e,r,i){return this.target={table:t,hierarchy:e,hierarchyLevel:r,aggregationFunction:i},this},t}();e.FilterBuilder=r},567:(t,e,r)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.RelativeTimeFilterBuilder=e.RelativeDateFilterBuilder=e.TopNFilterBuilder=e.AdvancedFilterBuilder=e.BasicFilterBuilder=void 0;var i=r(153);Object.defineProperty(e,"BasicFilterBuilder",{enumerable:!0,get:function(){return i.BasicFilterBuilder}});var a=r(674);Object.defineProperty(e,"AdvancedFilterBuilder",{enumerable:!0,get:function(){return a.AdvancedFilterBuilder}});var o=r(664);Object.defineProperty(e,"TopNFilterBuilder",{enumerable:!0,get:function(){return o.TopNFilterBuilder}});var n=r(844);Object.defineProperty(e,"RelativeDateFilterBuilder",{enumerable:!0,get:function(){return n.RelativeDateFilterBuilder}});var l=r(275);Object.defineProperty(e,"RelativeTimeFilterBuilder",{enumerable:!0,get:function(){return l.RelativeTimeFilterBuilder}})},844:function(t,e,r){var i,a=this&&this.__extends||(i=function(t,e){return i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},i(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.RelativeDateFilterBuilder=void 0;var o=r(149),n=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.isTodayIncluded=!0,e}return a(e,t),e.prototype.inLast=function(t,e){return this.operator=o.RelativeDateOperators.InLast,this.timeUnitsCount=t,this.timeUnitType=e,this},e.prototype.inThis=function(t,e){return this.operator=o.RelativeDateOperators.InThis,this.timeUnitsCount=t,this.timeUnitType=e,this},e.prototype.inNext=function(t,e){return this.operator=o.RelativeDateOperators.InNext,this.timeUnitsCount=t,this.timeUnitType=e,this},e.prototype.includeToday=function(t){return this.isTodayIncluded=t,this},e.prototype.build=function(){return new o.RelativeDateFilter(this.target,this.operator,this.timeUnitsCount,this.timeUnitType,this.isTodayIncluded)},e}(r(277).FilterBuilder);e.RelativeDateFilterBuilder=n},275:function(t,e,r){var i,a=this&&this.__extends||(i=function(t,e){return i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},i(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.RelativeTimeFilterBuilder=void 0;var o=r(149),n=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return a(e,t),e.prototype.inLast=function(t,e){return this.operator=o.RelativeDateOperators.InLast,this.timeUnitsCount=t,this.timeUnitType=e,this},e.prototype.inThis=function(t,e){return this.operator=o.RelativeDateOperators.InThis,this.timeUnitsCount=t,this.timeUnitType=e,this},e.prototype.inNext=function(t,e){return this.operator=o.RelativeDateOperators.InNext,this.timeUnitsCount=t,this.timeUnitType=e,this},e.prototype.build=function(){return new o.RelativeTimeFilter(this.target,this.operator,this.timeUnitsCount,this.timeUnitType)},e}(r(277).FilterBuilder);e.RelativeTimeFilterBuilder=n},664:function(t,e,r){var i,a=this&&this.__extends||(i=function(t,e){return i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},i(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.TopNFilterBuilder=void 0;var o=r(149),n=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return a(e,t),e.prototype.top=function(t){return this.operator="Top",this.itemCount=t,this},e.prototype.bottom=function(t){return this.operator="Bottom",this.itemCount=t,this},e.prototype.orderByTarget=function(t){return this.orderByTargetValue=t,this},e.prototype.build=function(){return new o.TopNFilter(this.target,this.operator,this.itemCount,this.orderByTargetValue)},e}(r(277).FilterBuilder);e.TopNFilterBuilder=n},460:function(t,e,r){var i=this&&this.__awaiter||function(t,e,r,i){return new(r||(r=Promise))((function(a,o){function n(t){try{s(i.next(t))}catch(t){o(t)}}function l(t){try{s(i.throw(t))}catch(t){o(t)}}function s(t){var e;t.done?a(t.value):(e=t.value,e instanceof r?e:new r((function(t){t(e)}))).then(n,l)}s((i=i.apply(t,e||[])).next())}))},a=this&&this.__generator||function(t,e){var r,i,a,o,n={label:0,sent:function(){if(1&a[0])throw a[1];return a[1]},trys:[],ops:[]};return o={next:l(0),throw:l(1),return:l(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function l(o){return function(l){return function(o){if(r)throw new TypeError("Generator is already executing.");for(;n;)try{if(r=1,i&&(a=2&o[0]?i.return:o[0]?i.throw||((a=i.return)&&a.call(i),0):i.next)&&!(a=a.call(i,o[1])).done)return a;switch(i=0,a&&(o=[2&o[0],a.value]),o[0]){case 0:case 1:a=o;break;case 4:return n.label++,{value:o[1],done:!1};case 5:n.label++,i=o[1],o=[0];continue;case 7:o=n.ops.pop(),n.trys.pop();continue;default:if(!((a=(a=n.trys).length>0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]{Object.defineProperty(e,"__esModule",{value:!0}),e.default={version:"2.23.0",type:"js"}},536:function(t,e,r){var i,a=this&&this.__extends||(i=function(t,e){return i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},i(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}),o=this&&this.__awaiter||function(t,e,r,i){return new(r||(r=Promise))((function(a,o){function n(t){try{s(i.next(t))}catch(t){o(t)}}function l(t){try{s(i.throw(t))}catch(t){o(t)}}function s(t){var e;t.done?a(t.value):(e=t.value,e instanceof r?e:new r((function(t){t(e)}))).then(n,l)}s((i=i.apply(t,e||[])).next())}))},n=this&&this.__generator||function(t,e){var r,i,a,o,n={label:0,sent:function(){if(1&a[0])throw a[1];return a[1]},trys:[],ops:[]};return o={next:l(0),throw:l(1),return:l(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function l(o){return function(l){return function(o){if(r)throw new TypeError("Generator is already executing.");for(;n;)try{if(r=1,i&&(a=2&o[0]?i.return:o[0]?i.throw||((a=i.return)&&a.call(i),0):i.next)&&!(a=a.call(i,o[1])).done)return a;switch(i=0,a&&(o=[2&o[0],a.value]),o[0]){case 0:case 1:a=o;break;case 4:return n.label++,{value:o[1],done:!1};case 5:n.label++,i=o[1],o=[0];continue;case 7:o=n.ops.pop(),n.trys.pop();continue;default:if(!((a=(a=n.trys).length>0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]{Object.defineProperty(e,"__esModule",{value:!0}),e.invalidEmbedUrlErrorMessage=e.EmbedUrlNotSupported=e.APINotSupportedForRDLError=void 0,e.APINotSupportedForRDLError="This API is currently not supported for RDL reports",e.EmbedUrlNotSupported="Embed URL is invalid for this scenario. Please use Power BI REST APIs to get the valid URL",e.invalidEmbedUrlErrorMessage="Invalid embed URL detected. Either URL hostname or protocol are invalid. Please use Power BI REST APIs to get the valid URL"},357:(t,e,r)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.routerFactory=e.wpmpFactory=e.hpmFactory=void 0;var i=r(960),a=r(319),o=r(891),n=r(913);e.hpmFactory=function(t,e,r,i,o){return void 0===r&&(r=n.default.version),void 0===i&&(i=n.default.type),new a.HttpPostMessage(t,{"x-sdk-type":i,"x-sdk-version":r,"x-sdk-wrapper-version":o},e)},e.wpmpFactory=function(t,e,r){return new i.WindowPostMessageProxy({processTrackingProperties:{addTrackingProperties:a.HttpPostMessage.addTrackingProperties,getTrackingProperties:a.HttpPostMessage.getTrackingProperties},isErrorMessage:a.HttpPostMessage.isErrorMessage,suppressWarnings:!0,name:t,logMessages:e,eventSourceOverrideWindow:r})},e.routerFactory=function(t){return new o.Router(t)}},220:function(t,e,r){var i=this&&this.__awaiter||function(t,e,r,i){return new(r||(r=Promise))((function(a,o){function n(t){try{s(i.next(t))}catch(t){o(t)}}function l(t){try{s(i.throw(t))}catch(t){o(t)}}function s(t){var e;t.done?a(t.value):(e=t.value,e instanceof r?e:new r((function(t){t(e)}))).then(n,l)}s((i=i.apply(t,e||[])).next())}))},a=this&&this.__generator||function(t,e){var r,i,a,o,n={label:0,sent:function(){if(1&a[0])throw a[1];return a[1]},trys:[],ops:[]};return o={next:l(0),throw:l(1),return:l(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function l(o){return function(l){return function(o){if(r)throw new TypeError("Generator is already executing.");for(;n;)try{if(r=1,i&&(a=2&o[0]?i.return:o[0]?i.throw||((a=i.return)&&a.call(i),0):i.next)&&!(a=a.call(i,o[1])).done)return a;switch(i=0,a&&(o=[2&o[0],a.value]),o[0]){case 0:case 1:a=o;break;case 4:return n.label++,{value:o[1],done:!1};case 5:n.label++,i=o[1],o=[0];continue;case 7:o=n.ops.pop(),n.trys.pop();continue;default:if(!((a=(a=n.trys).length>0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0?"&":"?";return t+(i+e+"=")+r},e.isSavedInternal=function(t,e,a){return r(this,void 0,void 0,(function(){return i(this,(function(r){switch(r.label){case 0:return r.trys.push([0,2,,3]),[4,t.get("/report/hasUnsavedChanges",{uid:e},a)];case 1:return[2,!r.sent().body];case 2:throw r.sent().body;case 3:return[2]}}))}))},e.isRDLEmbed=function(t){return t&&t.toLowerCase().indexOf("/rdlembed?")>=0},e.autoAuthInEmbedUrl=function(t){return t&&decodeURIComponent(t).toLowerCase().indexOf("autoauth=true")>=0},e.getRandomValue=l,e.getTimeDiffInMilliseconds=function(t,e){return Math.abs(t.getTime()-e.getTime())},e.isCreate=function(t){return"create"===t||"quickcreate"===t},e.validateEmbedUrl=function(t){if(t){var e=void 0;try{e=new URL(t.toLowerCase())}catch(t){return!1}return"https:"===e.protocol&&(a.test(e.hostname)||o.test(e.hostname))}}},23:function(t,e,r){var i,a=this&&this.__extends||(i=function(t,e){return i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},i(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}),o=this&&this.__awaiter||function(t,e,r,i){return new(r||(r=Promise))((function(a,o){function n(t){try{s(i.next(t))}catch(t){o(t)}}function l(t){try{s(i.throw(t))}catch(t){o(t)}}function s(t){var e;t.done?a(t.value):(e=t.value,e instanceof r?e:new r((function(t){t(e)}))).then(n,l)}s((i=i.apply(t,e||[])).next())}))},n=this&&this.__generator||function(t,e){var r,i,a,o,n={label:0,sent:function(){if(1&a[0])throw a[1];return a[1]},trys:[],ops:[]};return o={next:l(0),throw:l(1),return:l(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function l(o){return function(l){return function(o){if(r)throw new TypeError("Generator is already executing.");for(;n;)try{if(r=1,i&&(a=2&o[0]?i.return:o[0]?i.throw||((a=i.return)&&a.call(i),0):i.next)&&!(a=a.call(i,o[1])).done)return a;switch(i=0,a&&(o=[2&o[0],a.value]),o[0]){case 0:case 1:a=o;break;case 4:return n.label++,{value:o[1],done:!1};case 5:n.label++,i=o[1],o=[0];continue;case 7:o=n.ops.pop(),n.trys.pop();continue;default:if(!((a=(a=n.trys).length>0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]{var e;self,e=()=>(()=>{"use strict";var t={};return(()=>{var e=t;Object.defineProperty(e,"__esModule",{value:!0}),e.WindowPostMessageProxy=void 0;var r=function(){function t(e){void 0===e&&(e={processTrackingProperties:{addTrackingProperties:t.defaultAddTrackingProperties,getTrackingProperties:t.defaultGetTrackingProperties},isErrorMessage:t.defaultIsErrorMessage,receiveWindow:window,name:t.createRandomString()});var r=this;this.pendingRequestPromises={},this.addTrackingProperties=e.processTrackingProperties&&e.processTrackingProperties.addTrackingProperties||t.defaultAddTrackingProperties,this.getTrackingProperties=e.processTrackingProperties&&e.processTrackingProperties.getTrackingProperties||t.defaultGetTrackingProperties,this.isErrorMessage=e.isErrorMessage||t.defaultIsErrorMessage,this.receiveWindow=e.receiveWindow||window,this.name=e.name||t.createRandomString(),this.logMessages=e.logMessages||!1,this.eventSourceOverrideWindow=e.eventSourceOverrideWindow,this.suppressWarnings=e.suppressWarnings||!1,this.logMessages&&console.log("new WindowPostMessageProxy created with name: ".concat(this.name," receiving on window: ").concat(this.receiveWindow.document.title)),this.handlers=[],this.windowMessageHandler=function(t){return r.onMessageReceived(t)},this.start()}return t.defaultAddTrackingProperties=function(e,r){return e[t.messagePropertyName]=r,e},t.defaultGetTrackingProperties=function(e){return e[t.messagePropertyName]},t.defaultIsErrorMessage=function(t){return!!t.error},t.createDeferred=function(){var t={resolve:null,reject:null,promise:null},e=new Promise((function(e,r){t.resolve=e,t.reject=r}));return t.promise=e,t},t.createRandomString=function(){var t=window.crypto||window.msCrypto,e=new Uint32Array(1);return t.getRandomValues(e),e[0].toString(36).substring(1)},t.prototype.addHandler=function(t){this.handlers.push(t)},t.prototype.removeHandler=function(t){var e=this.handlers.indexOf(t);if(-1===e)throw new Error("You attempted to remove a handler but no matching handler was found.");this.handlers.splice(e,1)},t.prototype.start=function(){this.receiveWindow.addEventListener("message",this.windowMessageHandler)},t.prototype.stop=function(){this.receiveWindow.removeEventListener("message",this.windowMessageHandler)},t.prototype.postMessage=function(e,r,i){var a={id:t.createRandomString()};this.addTrackingProperties(r,a),console.log("".concat(this.name," Posting message:")),console.log(JSON.stringify(r,null," ")),console.log("target origin: ".concat(i)),e.postMessage(r,null!=i?i:"*");var o=t.createDeferred();return this.pendingRequestPromises[a.id]=o,o.promise},t.prototype.sendResponse=function(t,e,r,i){this.addTrackingProperties(e,r),this.logMessages&&(console.log("".concat(this.name," Sending response:")),console.log(JSON.stringify(e,null," "))),t.postMessage(e,null!=i?i:"*")},t.prototype.onMessageReceived=function(t){var e=this;this.logMessages&&(console.log("".concat(this.name," Received message:")),console.log("type: ".concat(t.type)),console.log(JSON.stringify(t.data,null," ")));var r=this.eventSourceOverrideWindow||t.source;if(r){var i=t.data;if("object"==typeof i){var a,o;try{a=this.getTrackingProperties(i)}catch(t){this.suppressWarnings||console.warn("Proxy(".concat(this.name,"): Error occurred when attempting to get tracking properties from incoming message:"),JSON.stringify(i,null," "),"Error: ",t)}if(a&&(o=this.pendingRequestPromises[a.id]),o){var n=!0;try{n=this.isErrorMessage(i)}catch(t){console.warn("Proxy(".concat(this.name,") Error occurred when trying to determine if message is consider an error response. Message: "),JSON.stringify(i,null,""),"Error: ",t)}n?o.reject(i):o.resolve(i),delete this.pendingRequestPromises[a.id]}else this.handlers.some((function(t){var o=!1;try{o=t.test(i)}catch(t){e.suppressWarnings||console.warn("Proxy(".concat(e.name,"): Error occurred when handler was testing incoming message:"),JSON.stringify(i,null," "),"Error: ",t)}if(o){var n=void 0;try{n=Promise.resolve(t.handle(i))}catch(t){e.suppressWarnings||console.warn("Proxy(".concat(e.name,"): Error occurred when handler was processing incoming message:"),JSON.stringify(i,null," "),"Error: ",t),n=Promise.resolve()}return n.then((function(t){if(!t){var o="Handler for message: ".concat(JSON.stringify(i,null," ")," did not return a response message. The default response message will be returned instead.");e.suppressWarnings||console.warn("Proxy(".concat(e.name,"): ").concat(o)),t={warning:o}}e.sendResponse(r,t,a)})),!0}}))||this.suppressWarnings||console.warn("Proxy(".concat(this.name,") did not handle message. Handlers: ").concat(this.handlers.length," Message: ").concat(JSON.stringify(i,null,""),"."))}else this.suppressWarnings||console.warn("Proxy(".concat(this.name,"): Received message that was not an object. Discarding message"))}},t.messagePropertyName="windowPostMessageProxy",t}();e.WindowPostMessageProxy=r})(),t})(),t.exports=e()}},e={};function r(i){var a=e[i];if(void 0!==a)return a.exports;var o=e[i]={exports:{}};return t[i].call(o.exports,o,o.exports,r),o.exports}var i={};return(()=>{var t=i;Object.defineProperty(t,"__esModule",{value:!0}),t.RelativeTimeFilterBuilder=t.RelativeDateFilterBuilder=t.TopNFilterBuilder=t.AdvancedFilterBuilder=t.BasicFilterBuilder=t.Create=t.QuickCreate=t.VisualDescriptor=t.Visual=t.Qna=t.Page=t.Embed=t.Tile=t.Dashboard=t.Report=t.models=t.factories=t.service=void 0;var e=r(149);t.models=e;var a=r(562);t.service=a;var o=r(357);t.factories=o;var n=r(125);Object.defineProperty(t,"Report",{enumerable:!0,get:function(){return n.Report}});var l=r(365);Object.defineProperty(t,"Dashboard",{enumerable:!0,get:function(){return l.Dashboard}});var s=r(43);Object.defineProperty(t,"Tile",{enumerable:!0,get:function(){return s.Tile}});var u=r(932);Object.defineProperty(t,"Embed",{enumerable:!0,get:function(){return u.Embed}});var d=r(220);Object.defineProperty(t,"Page",{enumerable:!0,get:function(){return d.Page}});var c=r(148);Object.defineProperty(t,"Qna",{enumerable:!0,get:function(){return c.Qna}});var p=r(23);Object.defineProperty(t,"Visual",{enumerable:!0,get:function(){return p.Visual}});var f=r(558);Object.defineProperty(t,"VisualDescriptor",{enumerable:!0,get:function(){return f.VisualDescriptor}});var h=r(714);Object.defineProperty(t,"QuickCreate",{enumerable:!0,get:function(){return h.QuickCreate}});var v=r(536);Object.defineProperty(t,"Create",{enumerable:!0,get:function(){return v.Create}});var y=r(567);Object.defineProperty(t,"BasicFilterBuilder",{enumerable:!0,get:function(){return y.BasicFilterBuilder}}),Object.defineProperty(t,"AdvancedFilterBuilder",{enumerable:!0,get:function(){return y.AdvancedFilterBuilder}}),Object.defineProperty(t,"TopNFilterBuilder",{enumerable:!0,get:function(){return y.TopNFilterBuilder}}),Object.defineProperty(t,"RelativeDateFilterBuilder",{enumerable:!0,get:function(){return y.RelativeDateFilterBuilder}}),Object.defineProperty(t,"RelativeTimeFilterBuilder",{enumerable:!0,get:function(){return y.RelativeTimeFilterBuilder}});var m=new a.Service(o.hpmFactory,o.wpmpFactory,o.routerFactory);window.powerbi&&window.powerBISDKGlobalServiceInstanceName?window[window.powerBISDKGlobalServiceInstanceName]=m:window.powerbi=m})(),i})())); \ No newline at end of file +!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,(()=>(()=>{var t={319:t=>{var e;self,e=()=>(()=>{"use strict";var t={};return(()=>{var e=t;Object.defineProperty(e,"__esModule",{value:!0}),e.HttpPostMessage=void 0;var r=function(){function t(t,e,r){void 0===e&&(e={}),this.defaultHeaders=e,this.defaultTargetWindow=r,this.windowPostMessageProxy=t}return t.addTrackingProperties=function(t,e){return t.headers=t.headers||{},e&&e.id&&(t.headers.id=e.id),t},t.getTrackingProperties=function(t){return{id:t.headers&&t.headers.id}},t.isErrorMessage=function(t){return"number"==typeof(t&&t.statusCode)&&!(200<=t.statusCode&&t.statusCode<300)},t.prototype.get=function(t,e,r,i){return void 0===e&&(e={}),void 0===r&&(r=this.defaultTargetWindow),this.send({method:"GET",url:t,headers:e},r,i)},t.prototype.post=function(t,e,r,i,a){return void 0===r&&(r={}),void 0===i&&(i=this.defaultTargetWindow),this.send({method:"POST",url:t,headers:r,body:e},i,a)},t.prototype.put=function(t,e,r,i,a){return void 0===r&&(r={}),void 0===i&&(i=this.defaultTargetWindow),this.send({method:"PUT",url:t,headers:r,body:e},i,a)},t.prototype.patch=function(t,e,r,i,a){return void 0===r&&(r={}),void 0===i&&(i=this.defaultTargetWindow),this.send({method:"PATCH",url:t,headers:r,body:e},i,a)},t.prototype.delete=function(t,e,r,i,a){return void 0===e&&(e=null),void 0===r&&(r={}),void 0===i&&(i=this.defaultTargetWindow),this.send({method:"DELETE",url:t,headers:r,body:e},i,a)},t.prototype.send=function(t,e,r){if(void 0===e&&(e=this.defaultTargetWindow),t.headers=this.assign({},this.defaultHeaders,t.headers),!e)throw new Error("target window is not provided. You must either provide the target window explicitly as argument to request, or specify default target window when constructing instance of this class.");return this.windowPostMessageProxy.postMessage(e,t,r)},t.prototype.assign=function(t){for(var e=[],r=1;r(()=>{var t=[function(t,e,r){var i,a=this&&this.__extends||(i=function(t,e){return i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},i(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.TextAlignment=e.CommonErrorCodes=e.BookmarksPlayMode=e.ExportDataType=e.QnaMode=e.PageNavigationPosition=e.BrowserPrintAdjustmentsMode=e.AggregateFunction=e.DataCacheMode=e.CredentialType=e.isPercentOfGrandTotal=e.isColumnAggr=e.isHierarchyLevelAggr=e.isHierarchyLevel=e.isColumn=e.isMeasure=e.getFilterType=e.isBasicFilterWithKeys=e.isFilterKeyColumnsTarget=e.HierarchyFilter=e.AdvancedFilter=e.TupleFilter=e.IdentityFilter=e.BasicFilterWithKeys=e.BasicFilter=e.RelativeTimeFilter=e.RelativeDateFilter=e.TopNFilter=e.IncludeExcludeFilter=e.NotSupportedFilter=e.Filter=e.RelativeDateOperators=e.RelativeDateFilterTimeUnit=e.FilterType=e.FiltersLevel=e.FiltersOperations=e.MenuLocation=e.ContrastMode=e.TokenType=e.ViewMode=e.Permissions=e.SectionVisibility=e.ReportAlignment=e.HyperlinkClickBehavior=e.LayoutType=e.VisualContainerDisplayMode=e.BackgroundType=e.DisplayOption=e.PageSizeType=e.TraceType=void 0,e.validateVisualHeader=e.validateExportDataRequest=e.validateQnaInterpretInputData=e.validateLoadQnaConfiguration=e.validateSaveAsParameters=e.validateUpdateFiltersRequest=e.validateFilter=e.validatePage=e.validateTileLoad=e.validateDashboardLoad=e.validateQuickCreate=e.validateCreateReport=e.validatePaginatedReportLoad=e.validateReportLoad=e.validateMenuGroupExtension=e.validateExtension=e.validateCustomPageSize=e.validateVisualizationsPane=e.validateSyncSlicersPane=e.validateSelectionPane=e.validatePageNavigationPane=e.validateFieldsPane=e.validateFiltersPane=e.validateBookmarksPane=e.validatePanes=e.validateSettings=e.validateCaptureBookmarkRequest=e.validateApplyBookmarkStateRequest=e.validateApplyBookmarkByNameRequest=e.validateAddBookmarkRequest=e.validatePlayBookmarkRequest=e.validateSlicerState=e.validateSlicer=e.validateVisualSelector=e.isIExtensionArray=e.isIExtensions=e.isGroupedMenuExtension=e.isFlatMenuExtension=e.isReportFiltersArray=e.isOnLoadFilters=e.VisualDataRoleKindPreference=e.VisualDataRoleKind=e.CommandDisplayOption=e.SlicerTargetSelector=e.VisualTypeSelector=e.VisualSelector=e.PageSelector=e.Selector=e.SortDirection=e.LegendPosition=void 0,e.validatePrintSettings=e.validateZoomLevel=e.validateCustomTheme=e.validateCommandsSettings=e.validateVisualSettings=void 0;var o,n,l,s,u,d,c,p,f,h,v,y,m,V,g,b,w,P,S,O=r(1);(S=e.TraceType||(e.TraceType={}))[S.Information=0]="Information",S[S.Verbose=1]="Verbose",S[S.Warning=2]="Warning",S[S.Error=3]="Error",S[S.ExpectedError=4]="ExpectedError",S[S.UnexpectedError=5]="UnexpectedError",S[S.Fatal=6]="Fatal",(P=e.PageSizeType||(e.PageSizeType={}))[P.Widescreen=0]="Widescreen",P[P.Standard=1]="Standard",P[P.Cortana=2]="Cortana",P[P.Letter=3]="Letter",P[P.Custom=4]="Custom",P[P.Mobile=5]="Mobile",(w=e.DisplayOption||(e.DisplayOption={}))[w.FitToPage=0]="FitToPage",w[w.FitToWidth=1]="FitToWidth",w[w.ActualSize=2]="ActualSize",(b=e.BackgroundType||(e.BackgroundType={}))[b.Default=0]="Default",b[b.Transparent=1]="Transparent",(g=e.VisualContainerDisplayMode||(e.VisualContainerDisplayMode={}))[g.Visible=0]="Visible",g[g.Hidden=1]="Hidden",(V=e.LayoutType||(e.LayoutType={}))[V.Master=0]="Master",V[V.Custom=1]="Custom",V[V.MobilePortrait=2]="MobilePortrait",V[V.MobileLandscape=3]="MobileLandscape",(m=e.HyperlinkClickBehavior||(e.HyperlinkClickBehavior={}))[m.Navigate=0]="Navigate",m[m.NavigateAndRaiseEvent=1]="NavigateAndRaiseEvent",m[m.RaiseEvent=2]="RaiseEvent",(y=e.ReportAlignment||(e.ReportAlignment={}))[y.Left=0]="Left",y[y.Center=1]="Center",y[y.Right=2]="Right",y[y.None=3]="None",(v=e.SectionVisibility||(e.SectionVisibility={}))[v.AlwaysVisible=0]="AlwaysVisible",v[v.HiddenInViewMode=1]="HiddenInViewMode",(h=e.Permissions||(e.Permissions={}))[h.Read=0]="Read",h[h.ReadWrite=1]="ReadWrite",h[h.Copy=2]="Copy",h[h.Create=4]="Create",h[h.All=7]="All",(f=e.ViewMode||(e.ViewMode={}))[f.View=0]="View",f[f.Edit=1]="Edit",(p=e.TokenType||(e.TokenType={}))[p.Aad=0]="Aad",p[p.Embed=1]="Embed",(c=e.ContrastMode||(e.ContrastMode={}))[c.None=0]="None",c[c.HighContrast1=1]="HighContrast1",c[c.HighContrast2=2]="HighContrast2",c[c.HighContrastBlack=3]="HighContrastBlack",c[c.HighContrastWhite=4]="HighContrastWhite",(d=e.MenuLocation||(e.MenuLocation={}))[d.Bottom=0]="Bottom",d[d.Top=1]="Top",(u=e.FiltersOperations||(e.FiltersOperations={}))[u.RemoveAll=0]="RemoveAll",u[u.ReplaceAll=1]="ReplaceAll",u[u.Add=2]="Add",u[u.Replace=3]="Replace",(s=e.FiltersLevel||(e.FiltersLevel={}))[s.Report=0]="Report",s[s.Page=1]="Page",s[s.Visual=2]="Visual",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",t[t.Identity=8]="Identity",t[t.Hierarchy=9]="Hierarchy"}(o=e.FilterType||(e.FilterType={})),(l=e.RelativeDateFilterTimeUnit||(e.RelativeDateFilterTimeUnit={}))[l.Days=0]="Days",l[l.Weeks=1]="Weeks",l[l.CalendarWeeks=2]="CalendarWeeks",l[l.Months=3]="Months",l[l.CalendarMonths=4]="CalendarMonths",l[l.Years=5]="Years",l[l.CalendarYears=6]="CalendarYears",l[l.Minutes=7]="Minutes",l[l.Hours=8]="Hours",(n=e.RelativeDateOperators||(e.RelativeDateOperators={}))[n.InLast=0]="InLast",n[n.InThis=1]="InThis",n[n.InNext=2]="InNext";var _=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=_;var E=function(t){function e(r,i,a){var n=t.call(this,r,o.Unknown)||this;return n.message=i,n.notSupportedTypeName=a,n.schemaUrl=e.schemaUrl,n}return a(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}(_);e.NotSupportedFilter=E;var T=function(t){function e(r,i,a){var n=t.call(this,r,o.IncludeExclude)||this;return n.values=a,n.isExclude=i,n.schemaUrl=e.schemaUrl,n}return a(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}(_);e.IncludeExcludeFilter=T;var F=function(t){function e(r,i,a,n){var l=t.call(this,r,o.TopN)||this;return l.operator=i,l.itemCount=a,l.schemaUrl=e.schemaUrl,l.orderBy=n,l}return a(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}(_);e.TopNFilter=F;var C=function(t){function e(r,i,a,n,l){var s=t.call(this,r,o.RelativeDate)||this;return s.operator=i,s.timeUnitsCount=a,s.timeUnitType=n,s.includeToday=l,s.schemaUrl=e.schemaUrl,s}return a(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}(_);e.RelativeDateFilter=C;var R=function(t){function e(r,i,a,n){var l=t.call(this,r,o.RelativeTime)||this;return l.operator=i,l.timeUnitsCount=a,l.timeUnitType=n,l.schemaUrl=e.schemaUrl,l}return a(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}(_);e.RelativeTimeFilter=R;var k=function(t){function e(r,i){for(var a=[],n=2;n0&&!a)throw new Error("You should pass the values to be filtered for each key. You passed: no values and ".concat(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,s=o.keyValues;l2)throw new Error("AdvancedFilters may not have more than two conditions. You passed: ".concat(a.length));if(1===l.length&&"And"!==i)throw new Error('Logical Operator must be "And" when there is only one condition provided');return s.conditions=l,s}return a(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}(_);e.AdvancedFilter=M;var I,L,q,D,N,B,U,H,W,z=function(t){function e(r,i){var a=t.call(this,r,o.Hierarchy)||this;return a.schemaUrl=e.schemaUrl,a.hierarchyData=i,a}return a(e,t),e.prototype.toJSON=function(){var e=t.prototype.toJSON.call(this);return e.hierarchyData=this.hierarchyData,e.target=this.target,e},e.schemaUrl="http://powerbi.com/product/schema#hierarchy",e}(_);function Q(t){if(t.filterType)return t.filterType;var e=t,r=t;return"string"==typeof e.operator&&Array.isArray(e.values)?o.Basic:"string"==typeof r.logicalOperator&&Array.isArray(r.conditions)?o.Advanced:o.Unknown}function G(t){return!(!t.table||!t.column||t.aggregationFunction)}e.HierarchyFilter=z,e.isFilterKeyColumnsTarget=function(t){return G(t)&&!!t.keys},e.isBasicFilterWithKeys=function(t){return Q(t)===o.Basic&&!!t.keyValues},e.getFilterType=Q,e.isMeasure=function(t){return void 0!==t.table&&void 0!==t.measure},e.isColumn=G,e.isHierarchyLevel=function(t){return!(!(t.table&&t.hierarchy&&t.hierarchyLevel)||t.aggregationFunction)},e.isHierarchyLevelAggr=function(t){return!!(t.table&&t.hierarchy&&t.hierarchyLevel&&t.aggregationFunction)},e.isColumnAggr=function(t){return!!(t.table&&t.column&&t.aggregationFunction)},e.isPercentOfGrandTotal=function(t){return!!t.percentOfGrandTotal},(W=e.CredentialType||(e.CredentialType={}))[W.NoConnection=0]="NoConnection",W[W.OnBehalfOf=1]="OnBehalfOf",W[W.Anonymous=2]="Anonymous",(H=e.DataCacheMode||(e.DataCacheMode={}))[H.Import=0]="Import",H[H.DirectQuery=1]="DirectQuery",(U=e.AggregateFunction||(e.AggregateFunction={}))[U.Default=1]="Default",U[U.None=2]="None",U[U.Sum=3]="Sum",U[U.Min=4]="Min",U[U.Max=5]="Max",U[U.Count=6]="Count",U[U.Average=7]="Average",U[U.DistinctCount=8]="DistinctCount",(B=e.BrowserPrintAdjustmentsMode||(e.BrowserPrintAdjustmentsMode={}))[B.Default=0]="Default",B[B.NoAdjustments=1]="NoAdjustments",(N=e.PageNavigationPosition||(e.PageNavigationPosition={}))[N.Bottom=0]="Bottom",N[N.Left=1]="Left",(D=e.QnaMode||(e.QnaMode={}))[D.Interactive=0]="Interactive",D[D.ResultOnly=1]="ResultOnly",(q=e.ExportDataType||(e.ExportDataType={}))[q.Summarized=0]="Summarized",q[q.Underlying=1]="Underlying",(L=e.BookmarksPlayMode||(e.BookmarksPlayMode={}))[L.Off=0]="Off",L[L.Presentation=1]="Presentation",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"},(I=e.SortDirection||(e.SortDirection={}))[I.Ascending=1]="Ascending",I[I.Descending=2]="Descending";var J=function(){function t(t){this.$schema=t}return t.prototype.toJSON=function(){return{$schema:this.$schema}},t}();e.Selector=J;var K=function(t){function e(r){var i=t.call(this,e.schemaUrl)||this;return i.pageName=r,i}return a(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}(J);e.PageSelector=K;var Y=function(t){function e(r){var i=t.call(this,e.schemaUrl)||this;return i.visualName=r,i}return a(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}(J);e.VisualSelector=Y;var $=function(t){function e(e){var r=t.call(this,Y.schemaUrl)||this;return r.visualType=e,r}return a(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}(J);e.VisualTypeSelector=$;var Z,X,tt,et=function(t){function e(e){var r=t.call(this,Y.schemaUrl)||this;return r.target=e,r}return a(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}(J);function rt(t){return Array.isArray(t)}function it(t){return t&&!!t.groupName}function at(t){return Array.isArray(t)}function ot(t){var e=t.message;return e||(e="".concat(t.path," is invalid. Not meeting ").concat(t.keyword," constraint")),{message:e}}e.SlicerTargetSelector=et,(tt=e.CommandDisplayOption||(e.CommandDisplayOption={}))[tt.Enabled=0]="Enabled",tt[tt.Disabled=1]="Disabled",tt[tt.Hidden=2]="Hidden",(X=e.VisualDataRoleKind||(e.VisualDataRoleKind={}))[X.Grouping=0]="Grouping",X[X.Measure=1]="Measure",X[X.GroupingOrMeasure=2]="GroupingOrMeasure",(Z=e.VisualDataRoleKindPreference||(e.VisualDataRoleKindPreference={}))[Z.Measure=0]="Measure",Z[Z.Grouping=1]="Grouping",e.isOnLoadFilters=function(t){return t&&!rt(t)},e.isReportFiltersArray=rt,e.isFlatMenuExtension=function(t){return t&&!it(t)},e.isGroupedMenuExtension=it,e.isIExtensions=function(t){return t&&!at(t)},e.isIExtensionArray=at,e.validateVisualSelector=function(t){var e=O.Validators.visualSelectorValidator.validate(t);return e?e.map(ot):void 0},e.validateSlicer=function(t){var e=O.Validators.slicerValidator.validate(t);return e?e.map(ot):void 0},e.validateSlicerState=function(t){var e=O.Validators.slicerStateValidator.validate(t);return e?e.map(ot):void 0},e.validatePlayBookmarkRequest=function(t){var e=O.Validators.playBookmarkRequestValidator.validate(t);return e?e.map(ot):void 0},e.validateAddBookmarkRequest=function(t){var e=O.Validators.addBookmarkRequestValidator.validate(t);return e?e.map(ot):void 0},e.validateApplyBookmarkByNameRequest=function(t){var e=O.Validators.applyBookmarkByNameRequestValidator.validate(t);return e?e.map(ot):void 0},e.validateApplyBookmarkStateRequest=function(t){var e=O.Validators.applyBookmarkStateRequestValidator.validate(t);return e?e.map(ot):void 0},e.validateCaptureBookmarkRequest=function(t){var e=O.Validators.captureBookmarkRequestValidator.validate(t);return e?e.map(ot):void 0},e.validateSettings=function(t){var e=O.Validators.settingsValidator.validate(t);return e?e.map(ot):void 0},e.validatePanes=function(t){var e=O.Validators.reportPanesValidator.validate(t);return e?e.map(ot):void 0},e.validateBookmarksPane=function(t){var e=O.Validators.bookmarksPaneValidator.validate(t);return e?e.map(ot):void 0},e.validateFiltersPane=function(t){var e=O.Validators.filtersPaneValidator.validate(t);return e?e.map(ot):void 0},e.validateFieldsPane=function(t){var e=O.Validators.fieldsPaneValidator.validate(t);return e?e.map(ot):void 0},e.validatePageNavigationPane=function(t){var e=O.Validators.pageNavigationPaneValidator.validate(t);return e?e.map(ot):void 0},e.validateSelectionPane=function(t){var e=O.Validators.selectionPaneValidator.validate(t);return e?e.map(ot):void 0},e.validateSyncSlicersPane=function(t){var e=O.Validators.syncSlicersPaneValidator.validate(t);return e?e.map(ot):void 0},e.validateVisualizationsPane=function(t){var e=O.Validators.visualizationsPaneValidator.validate(t);return e?e.map(ot):void 0},e.validateCustomPageSize=function(t){var e=O.Validators.customPageSizeValidator.validate(t);return e?e.map(ot):void 0},e.validateExtension=function(t){var e=O.Validators.extensionValidator.validate(t);return e?e.map(ot):void 0},e.validateMenuGroupExtension=function(t){var e=O.Validators.menuGroupExtensionValidator.validate(t);return e?e.map(ot):void 0},e.validateReportLoad=function(t){var e=O.Validators.reportLoadValidator.validate(t);return e?e.map(ot):void 0},e.validatePaginatedReportLoad=function(t){var e=O.Validators.paginatedReportLoadValidator.validate(t);return e?e.map(ot):void 0},e.validateCreateReport=function(t){var e=O.Validators.reportCreateValidator.validate(t);return e?e.map(ot):void 0},e.validateQuickCreate=function(t){var e=O.Validators.quickCreateValidator.validate(t);return e?e.map(ot):void 0},e.validateDashboardLoad=function(t){var e=O.Validators.dashboardLoadValidator.validate(t);return e?e.map(ot):void 0},e.validateTileLoad=function(t){var e=O.Validators.tileLoadValidator.validate(t);return e?e.map(ot):void 0},e.validatePage=function(t){var e=O.Validators.pageValidator.validate(t);return e?e.map(ot):void 0},e.validateFilter=function(t){var e=O.Validators.filterValidator.validate(t);return e?e.map(ot):void 0},e.validateUpdateFiltersRequest=function(t){var e=O.Validators.updateFiltersRequestValidator.validate(t);return e?e.map(ot):void 0},e.validateSaveAsParameters=function(t){var e=O.Validators.saveAsParametersValidator.validate(t);return e?e.map(ot):void 0},e.validateLoadQnaConfiguration=function(t){var e=O.Validators.loadQnaValidator.validate(t);return e?e.map(ot):void 0},e.validateQnaInterpretInputData=function(t){var e=O.Validators.qnaInterpretInputDataValidator.validate(t);return e?e.map(ot):void 0},e.validateExportDataRequest=function(t){var e=O.Validators.exportDataRequestValidator.validate(t);return e?e.map(ot):void 0},e.validateVisualHeader=function(t){var e=O.Validators.visualHeaderValidator.validate(t);return e?e.map(ot):void 0},e.validateVisualSettings=function(t){var e=O.Validators.visualSettingsValidator.validate(t);return e?e.map(ot):void 0},e.validateCommandsSettings=function(t){var e=O.Validators.commandsSettingsValidator.validate(t);return e?e.map(ot):void 0},e.validateCustomTheme=function(t){var e=O.Validators.customThemeValidator.validate(t);return e?e.map(ot):void 0},e.validateZoomLevel=function(t){var e=O.Validators.zoomLevelValidator.validate(t);return e?e.map(ot):void 0},e.validatePrintSettings=function(t){var e=O.Validators.printSettingsValidator.validate(t);return e?e.map(ot):void 0}},(t,e,r)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.Validators=void 0;var i=r(2),a=r(5),o=r(6),n=r(7),l=r(8),s=r(9),u=r(10),d=r(11),c=r(12),p=r(13),f=r(14),h=r(15),v=r(16),y=r(17),m=r(18),V=r(19),g=r(20),b=r(21),w=r(22),P=r(23),S=r(24),O=r(25),_=r(26),E=r(27),T=r(28),F=r(29),C=r(4),R=r(30),k=r(31),x=r(32),A=r(33),j=r(34);e.Validators={addBookmarkRequestValidator:new a.AddBookmarkRequestValidator,advancedFilterTypeValidator:new C.EnumValidator([0]),advancedFilterValidator:new c.AdvancedFilterValidator,anyArrayValidator:new C.ArrayValidator([new _.AnyOfValidator([new C.StringValidator,new C.NumberValidator,new C.BooleanValidator])]),anyFilterValidator:new _.AnyOfValidator([new c.BasicFilterValidator,new c.AdvancedFilterValidator,new c.IncludeExcludeFilterValidator,new c.NotSupportedFilterValidator,new c.RelativeDateFilterValidator,new c.TopNFilterValidator,new c.RelativeTimeFilterValidator,new c.HierarchyFilterValidator]),anyValueValidator:new _.AnyOfValidator([new C.StringValidator,new C.NumberValidator,new C.BooleanValidator]),actionBarValidator:new i.ActionBarValidator,statusBarValidator:new i.StatusBarValidator,applyBookmarkByNameRequestValidator:new a.ApplyBookmarkByNameRequestValidator,applyBookmarkStateRequestValidator:new a.ApplyBookmarkStateRequestValidator,applyBookmarkValidator:new _.AnyOfValidator([new a.ApplyBookmarkByNameRequestValidator,new a.ApplyBookmarkStateRequestValidator]),backgroundValidator:new C.EnumValidator([0,1]),basicFilterTypeValidator:new C.EnumValidator([1]),basicFilterValidator:new c.BasicFilterValidator,booleanArrayValidator:new C.BooleanArrayValidator,booleanValidator:new C.BooleanValidator,bookmarksPaneValidator:new h.BookmarksPaneValidator,captureBookmarkOptionsValidator:new a.CaptureBookmarkOptionsValidator,captureBookmarkRequestValidator:new a.CaptureBookmarkRequestValidator,columnSchemaArrayValidator:new C.ArrayValidator([new k.ColumnSchemaValidator]),commandDisplayOptionValidator:new C.EnumValidator([0,1,2]),commandExtensionSelectorValidator:new _.AnyOfValidator([new b.VisualSelectorValidator,new b.VisualTypeSelectorValidator]),commandExtensionArrayValidator:new C.ArrayValidator([new d.CommandExtensionValidator]),commandExtensionValidator:new d.CommandExtensionValidator,commandsSettingsArrayValidator:new C.ArrayValidator([new o.CommandsSettingsValidator]),commandsSettingsValidator:new o.CommandsSettingsValidator,conditionItemValidator:new c.ConditionItemValidator,contrastModeValidator:new C.EnumValidator([0,1,2,3,4]),credentialDetailsValidator:new F.MapValidator([new C.StringValidator],[new C.StringValidator]),credentialsValidator:new k.CredentialsValidator,credentialTypeValidator:new C.EnumValidator([0,1,2]),customLayoutDisplayOptionValidator:new C.EnumValidator([0,1,2]),customLayoutValidator:new p.CustomLayoutValidator,customPageSizeValidator:new f.CustomPageSizeValidator,customThemeValidator:new n.CustomThemeValidator,dashboardLoadValidator:new l.DashboardLoadValidator,dataCacheModeValidator:new C.EnumValidator([0,1]),datasetBindingValidator:new s.DatasetBindingValidator,datasetCreateConfigValidator:new k.DatasetCreateConfigValidator,datasourceConnectionConfigValidator:new k.DatasourceConnectionConfigValidator,displayStateModeValidator:new C.EnumValidator([0,1]),displayStateValidator:new p.DisplayStateValidator,exportDataRequestValidator:new u.ExportDataRequestValidator,extensionArrayValidator:new C.ArrayValidator([new d.ExtensionValidator]),extensionsValidator:new _.AnyOfValidator([new C.ArrayValidator([new d.ExtensionValidator]),new d.ExtensionsValidator]),extensionPointsValidator:new d.ExtensionPointsValidator,extensionValidator:new d.ExtensionValidator,fieldForbiddenValidator:new E.FieldForbiddenValidator,fieldRequiredValidator:new T.FieldRequiredValidator,fieldsPaneValidator:new h.FieldsPaneValidator,filterColumnTargetValidator:new c.FilterColumnTargetValidator,filterDisplaySettingsValidator:new c.FilterDisplaySettingsValidator,filterConditionsValidator:new C.ArrayValidator([new c.ConditionItemValidator]),filterHierarchyTargetValidator:new c.FilterHierarchyTargetValidator,filterMeasureTargetValidator:new c.FilterMeasureTargetValidator,filterTargetValidator:new _.AnyOfValidator([new c.FilterColumnTargetValidator,new c.FilterHierarchyTargetValidator,new c.FilterMeasureTargetValidator,new C.ArrayValidator([new _.AnyOfValidator([new c.FilterColumnTargetValidator,new c.FilterHierarchyTargetValidator,new c.FilterMeasureTargetValidator,new c.FilterKeyColumnsTargetValidator,new c.FilterKeyHierarchyTargetValidator])])]),filterValidator:new c.FilterValidator,filterTypeValidator:new C.EnumValidator([0,1,2,3,4,5,6,7,9]),filtersArrayValidator:new C.ArrayValidator([new c.FilterValidator]),filtersOperationsUpdateValidator:new C.EnumValidator([1,2,3]),filtersOperationsRemoveAllValidator:new C.EnumValidator([0]),filtersPaneValidator:new h.FiltersPaneValidator,hyperlinkClickBehaviorValidator:new C.EnumValidator([0,1,2]),includeExcludeFilterValidator:new c.IncludeExcludeFilterValidator,includeExludeFilterTypeValidator:new C.EnumValidator([3]),hierarchyFilterTypeValidator:new C.EnumValidator([9]),hierarchyFilterValuesValidator:new C.ArrayValidator([new c.HierarchyFilterNodeValidator]),layoutTypeValidator:new C.EnumValidator([0,1,2,3]),loadQnaValidator:new v.LoadQnaValidator,menuExtensionValidator:new _.AnyOfValidator([new d.FlatMenuExtensionValidator,new d.GroupedMenuExtensionValidator]),menuGroupExtensionArrayValidator:new C.ArrayValidator([new d.MenuGroupExtensionValidator]),menuGroupExtensionValidator:new d.MenuGroupExtensionValidator,menuLocationValidator:new C.EnumValidator([0,1]),notSupportedFilterTypeValidator:new C.EnumValidator([2]),notSupportedFilterValidator:new c.NotSupportedFilterValidator,numberArrayValidator:new C.NumberArrayValidator,numberValidator:new C.NumberValidator,onLoadFiltersBaseValidator:new _.AnyOfValidator([new c.OnLoadFiltersBaseValidator,new c.OnLoadFiltersBaseRemoveOperationValidator]),pageLayoutValidator:new F.MapValidator([new C.StringValidator],[new p.VisualLayoutValidator]),pageNavigationPaneValidator:new h.PageNavigationPaneValidator,pageNavigationPositionValidator:new C.EnumValidator([0,1]),pageSizeTypeValidator:new C.EnumValidator([0,1,2,3,4,5]),pageSizeValidator:new f.PageSizeValidator,pageValidator:new f.PageValidator,pageViewFieldValidator:new f.PageViewFieldValidator,pagesLayoutValidator:new F.MapValidator([new C.StringValidator],[new p.PageLayoutValidator]),paginatedReportCommandsValidator:new o.PaginatedReportCommandsValidator,paginatedReportDatasetBindingArrayValidator:new C.ArrayValidator([new j.PaginatedReportDatasetBindingValidator]),paginatedReportLoadValidator:new V.PaginatedReportLoadValidator,paginatedReportsettingsValidator:new w.PaginatedReportSettingsValidator,parameterValuesArrayValidator:new C.ArrayValidator([new V.ReportParameterFieldsValidator]),parametersPanelValidator:new R.ParametersPanelValidator,permissionsValidator:new C.EnumValidator([0,1,2,4,7]),playBookmarkRequestValidator:new a.PlayBookmarkRequestValidator,printSettingsValidator:new A.PrintSettingsValidator,qnaInterpretInputDataValidator:new v.QnaInterpretInputDataValidator,qnaPanesValidator:new h.QnaPanesValidator,qnaSettingValidator:new v.QnaSettingsValidator,quickCreateValidator:new x.QuickCreateValidator,rawDataValidator:new C.ArrayValidator([new C.ArrayValidator([new C.StringValidator])]),relativeDateFilterOperatorValidator:new C.EnumValidator([0,1,2]),relativeDateFilterTimeUnitTypeValidator:new C.EnumValidator([0,1,2,3,4,5,6]),relativeDateFilterTypeValidator:new C.EnumValidator([4]),relativeDateFilterValidator:new c.RelativeDateFilterValidator,relativeDateTimeFilterTypeValidator:new C.EnumValidator([4,7]),relativeDateTimeFilterUnitTypeValidator:new C.EnumValidator([0,1,2,3,4,5,6,7,8]),relativeTimeFilterTimeUnitTypeValidator:new C.EnumValidator([7,8]),relativeTimeFilterTypeValidator:new C.EnumValidator([7]),relativeTimeFilterValidator:new c.RelativeTimeFilterValidator,reportBarsValidator:new i.ReportBarsValidator,reportCreateValidator:new y.ReportCreateValidator,reportLoadFiltersValidator:new _.AnyOfValidator([new C.ArrayValidator([new c.FilterValidator]),new c.OnLoadFiltersValidator]),reportLoadValidator:new m.ReportLoadValidator,reportPanesValidator:new h.ReportPanesValidator,saveAsParametersValidator:new g.SaveAsParametersValidator,selectionPaneValidator:new h.SelectionPaneValidator,settingsValidator:new w.SettingsValidator,singleCommandSettingsValidator:new o.SingleCommandSettingsValidator,slicerSelectorValidator:new _.AnyOfValidator([new b.VisualSelectorValidator,new b.SlicerTargetSelectorValidator]),slicerStateValidator:new P.SlicerStateValidator,slicerTargetValidator:new _.AnyOfValidator([new c.FilterColumnTargetValidator,new c.FilterHierarchyTargetValidator,new c.FilterMeasureTargetValidator,new c.FilterKeyColumnsTargetValidator,new c.FilterKeyHierarchyTargetValidator]),slicerValidator:new P.SlicerValidator,stringArrayValidator:new C.StringArrayValidator,stringValidator:new C.StringValidator,syncSlicersPaneValidator:new h.SyncSlicersPaneValidator,tableDataArrayValidator:new C.ArrayValidator([new k.TableDataValidator]),tableSchemaListValidator:new C.ArrayValidator([new k.TableSchemaValidator]),tileLoadValidator:new S.TileLoadValidator,tokenTypeValidator:new C.EnumValidator([0,1]),topNFilterTypeValidator:new C.EnumValidator([5]),topNFilterValidator:new c.TopNFilterValidator,updateFiltersRequestValidator:new _.AnyOfValidator([new c.UpdateFiltersRequestValidator,new c.RemoveFiltersRequestValidator]),viewModeValidator:new C.EnumValidator([0,1]),visualCommandSelectorValidator:new _.AnyOfValidator([new b.VisualSelectorValidator,new b.VisualTypeSelectorValidator]),visualHeaderSelectorValidator:new _.AnyOfValidator([new b.VisualSelectorValidator,new b.VisualTypeSelectorValidator]),visualHeaderSettingsValidator:new O.VisualHeaderSettingsValidator,visualHeaderValidator:new O.VisualHeaderValidator,visualHeadersValidator:new C.ArrayValidator([new O.VisualHeaderValidator]),visualizationsPaneValidator:new h.VisualizationsPaneValidator,visualLayoutValidator:new p.VisualLayoutValidator,visualSelectorValidator:new b.VisualSelectorValidator,visualSettingsValidator:new O.VisualSettingsValidator,visualTypeSelectorValidator:new b.VisualTypeSelectorValidator,zoomLevelValidator:new C.RangeValidator(.25,4)}},function(t,e,r){var i,a=this&&this.__extends||(i=function(t,e){return i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},i(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.StatusBarValidator=e.ActionBarValidator=e.ReportBarsValidator=void 0;var o=r(3),n=r(4),l=r(1),s=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return a(e,t),e.prototype.validate=function(e,r,i){if(null==e)return null;var a=t.prototype.validate.call(this,e,r,i);if(a)return a;var n=[{field:"actionBar",validators:[l.Validators.actionBarValidator]},{field:"statusBar",validators:[l.Validators.statusBarValidator]}];return new o.MultipleFieldsValidator(n).validate(e,r,i)},e}(n.ObjectValidator);e.ReportBarsValidator=s;var u=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return a(e,t),e.prototype.validate=function(e,r,i){if(null==e)return null;var a=t.prototype.validate.call(this,e,r,i);if(a)return a;var n=[{field:"visible",validators:[l.Validators.booleanValidator]}];return new o.MultipleFieldsValidator(n).validate(e,r,i)},e}(n.ObjectValidator);e.ActionBarValidator=u;var d=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return a(e,t),e.prototype.validate=function(e,r,i){if(null==e)return null;var a=t.prototype.validate.call(this,e,r,i);if(a)return a;var n=[{field:"visible",validators:[l.Validators.booleanValidator]}];return new o.MultipleFieldsValidator(n).validate(e,r,i)},e}(n.ObjectValidator);e.StatusBarValidator=d},(t,e)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.MultipleFieldsValidator=void 0;var r=function(){function t(t){this.fieldValidatorsPairs=t}return t.prototype.validate=function(t,e,r){if(!this.fieldValidatorsPairs)return null;for(var i=e?e+"."+r:r,a=0,o=this.fieldValidatorsPairs;athis.maxValue||e{Object.defineProperty(e,"__esModule",{value:!0}),e.AnyOfValidator=void 0;var r=function(){function t(t){this.validators=t}return t.prototype.validate=function(t,e,r){if(null==t)return null;for(var i=!1,a=0,o=this.validators;a{Object.defineProperty(e,"__esModule",{value:!0}),e.FieldForbiddenValidator=void 0;var r=function(){function t(){}return t.prototype.validate=function(t,e,r){return void 0!==t?[{message:r+" is forbidden",path:(e?e+".":"")+r,keyword:"forbidden"}]:null},t}();e.FieldForbiddenValidator=r},(t,e)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.FieldRequiredValidator=void 0;var r=function(){function t(){}return t.prototype.validate=function(t,e,r){return null==t?[{message:r+" is required",path:(e?e+".":"")+r,keyword:"required"}]:null},t}();e.FieldRequiredValidator=r},function(t,e,r){var i,a=this&&this.__extends||(i=function(t,e){return i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},i(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.MapValidator=void 0;var o=function(t){function e(e,r){var i=t.call(this)||this;return i.keyValidators=e,i.valueValidators=r,i}return a(e,t),e.prototype.validate=function(e,r,i){if(null==e)return null;var a=t.prototype.validate.call(this,e,r,i);if(a)return a;for(var o in e)if(e.hasOwnProperty(o)){for(var n=(r?r+".":"")+i+"."+o,l=0,s=this.keyValidators;l2&&"[]"===n.slice(l-2)&&(s=!0,r[n=n.slice(0,l-2)]||(r[n]=[])),a=o[1]?g(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(-1!==(i=t.indexOf("?"))){var l=t.substr(i+1,t.length);t=t.substr(0,i),o=this.parseQueryString(l)}for("/"!==(t=decodeURI(t)).charAt(0)&&(t="/"+t),(e=t.length)>1&&"/"===t.charAt(e-1)&&(t=t.substr(0,e-1),n=!0),r=0;r{Object.defineProperty(e,"__esModule",{value:!0}),e.FilterBuilder=void 0;var r=function(){function t(){}return t.prototype.withTargetObject=function(t){return this.target=t,this},t.prototype.withColumnTarget=function(t,e){return this.target={table:t,column:e},this},t.prototype.withMeasureTarget=function(t,e){return this.target={table:t,measure:e},this},t.prototype.withHierarchyLevelTarget=function(t,e,r){return this.target={table:t,hierarchy:e,hierarchyLevel:r},this},t.prototype.withColumnAggregation=function(t,e,r){return this.target={table:t,column:e,aggregationFunction:r},this},t.prototype.withHierarchyLevelAggregationTarget=function(t,e,r,i){return this.target={table:t,hierarchy:e,hierarchyLevel:r,aggregationFunction:i},this},t}();e.FilterBuilder=r},567:(t,e,r)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.RelativeTimeFilterBuilder=e.RelativeDateFilterBuilder=e.TopNFilterBuilder=e.AdvancedFilterBuilder=e.BasicFilterBuilder=void 0;var i=r(153);Object.defineProperty(e,"BasicFilterBuilder",{enumerable:!0,get:function(){return i.BasicFilterBuilder}});var a=r(674);Object.defineProperty(e,"AdvancedFilterBuilder",{enumerable:!0,get:function(){return a.AdvancedFilterBuilder}});var o=r(664);Object.defineProperty(e,"TopNFilterBuilder",{enumerable:!0,get:function(){return o.TopNFilterBuilder}});var n=r(844);Object.defineProperty(e,"RelativeDateFilterBuilder",{enumerable:!0,get:function(){return n.RelativeDateFilterBuilder}});var l=r(275);Object.defineProperty(e,"RelativeTimeFilterBuilder",{enumerable:!0,get:function(){return l.RelativeTimeFilterBuilder}})},844:function(t,e,r){var i,a=this&&this.__extends||(i=function(t,e){return i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},i(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.RelativeDateFilterBuilder=void 0;var o=r(149),n=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.isTodayIncluded=!0,e}return a(e,t),e.prototype.inLast=function(t,e){return this.operator=o.RelativeDateOperators.InLast,this.timeUnitsCount=t,this.timeUnitType=e,this},e.prototype.inThis=function(t,e){return this.operator=o.RelativeDateOperators.InThis,this.timeUnitsCount=t,this.timeUnitType=e,this},e.prototype.inNext=function(t,e){return this.operator=o.RelativeDateOperators.InNext,this.timeUnitsCount=t,this.timeUnitType=e,this},e.prototype.includeToday=function(t){return this.isTodayIncluded=t,this},e.prototype.build=function(){return new o.RelativeDateFilter(this.target,this.operator,this.timeUnitsCount,this.timeUnitType,this.isTodayIncluded)},e}(r(277).FilterBuilder);e.RelativeDateFilterBuilder=n},275:function(t,e,r){var i,a=this&&this.__extends||(i=function(t,e){return i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},i(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.RelativeTimeFilterBuilder=void 0;var o=r(149),n=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return a(e,t),e.prototype.inLast=function(t,e){return this.operator=o.RelativeDateOperators.InLast,this.timeUnitsCount=t,this.timeUnitType=e,this},e.prototype.inThis=function(t,e){return this.operator=o.RelativeDateOperators.InThis,this.timeUnitsCount=t,this.timeUnitType=e,this},e.prototype.inNext=function(t,e){return this.operator=o.RelativeDateOperators.InNext,this.timeUnitsCount=t,this.timeUnitType=e,this},e.prototype.build=function(){return new o.RelativeTimeFilter(this.target,this.operator,this.timeUnitsCount,this.timeUnitType)},e}(r(277).FilterBuilder);e.RelativeTimeFilterBuilder=n},664:function(t,e,r){var i,a=this&&this.__extends||(i=function(t,e){return i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},i(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.TopNFilterBuilder=void 0;var o=r(149),n=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return a(e,t),e.prototype.top=function(t){return this.operator="Top",this.itemCount=t,this},e.prototype.bottom=function(t){return this.operator="Bottom",this.itemCount=t,this},e.prototype.orderByTarget=function(t){return this.orderByTargetValue=t,this},e.prototype.build=function(){return new o.TopNFilter(this.target,this.operator,this.itemCount,this.orderByTargetValue)},e}(r(277).FilterBuilder);e.TopNFilterBuilder=n},460:function(t,e,r){var i=this&&this.__awaiter||function(t,e,r,i){return new(r||(r=Promise))((function(a,o){function n(t){try{s(i.next(t))}catch(t){o(t)}}function l(t){try{s(i.throw(t))}catch(t){o(t)}}function s(t){var e;t.done?a(t.value):(e=t.value,e instanceof r?e:new r((function(t){t(e)}))).then(n,l)}s((i=i.apply(t,e||[])).next())}))},a=this&&this.__generator||function(t,e){var r,i,a,o,n={label:0,sent:function(){if(1&a[0])throw a[1];return a[1]},trys:[],ops:[]};return o={next:l(0),throw:l(1),return:l(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function l(o){return function(l){return function(o){if(r)throw new TypeError("Generator is already executing.");for(;n;)try{if(r=1,i&&(a=2&o[0]?i.return:o[0]?i.throw||((a=i.return)&&a.call(i),0):i.next)&&!(a=a.call(i,o[1])).done)return a;switch(i=0,a&&(o=[2&o[0],a.value]),o[0]){case 0:case 1:a=o;break;case 4:return n.label++,{value:o[1],done:!1};case 5:n.label++,i=o[1],o=[0];continue;case 7:o=n.ops.pop(),n.trys.pop();continue;default:if(!((a=(a=n.trys).length>0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]{Object.defineProperty(e,"__esModule",{value:!0}),e.default={version:"2.23.1",type:"js"}},536:function(t,e,r){var i,a=this&&this.__extends||(i=function(t,e){return i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},i(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}),o=this&&this.__awaiter||function(t,e,r,i){return new(r||(r=Promise))((function(a,o){function n(t){try{s(i.next(t))}catch(t){o(t)}}function l(t){try{s(i.throw(t))}catch(t){o(t)}}function s(t){var e;t.done?a(t.value):(e=t.value,e instanceof r?e:new r((function(t){t(e)}))).then(n,l)}s((i=i.apply(t,e||[])).next())}))},n=this&&this.__generator||function(t,e){var r,i,a,o,n={label:0,sent:function(){if(1&a[0])throw a[1];return a[1]},trys:[],ops:[]};return o={next:l(0),throw:l(1),return:l(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function l(o){return function(l){return function(o){if(r)throw new TypeError("Generator is already executing.");for(;n;)try{if(r=1,i&&(a=2&o[0]?i.return:o[0]?i.throw||((a=i.return)&&a.call(i),0):i.next)&&!(a=a.call(i,o[1])).done)return a;switch(i=0,a&&(o=[2&o[0],a.value]),o[0]){case 0:case 1:a=o;break;case 4:return n.label++,{value:o[1],done:!1};case 5:n.label++,i=o[1],o=[0];continue;case 7:o=n.ops.pop(),n.trys.pop();continue;default:if(!((a=(a=n.trys).length>0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]{Object.defineProperty(e,"__esModule",{value:!0}),e.invalidEmbedUrlErrorMessage=e.EmbedUrlNotSupported=e.APINotSupportedForRDLError=void 0,e.APINotSupportedForRDLError="This API is currently not supported for RDL reports",e.EmbedUrlNotSupported="Embed URL is invalid for this scenario. Please use Power BI REST APIs to get the valid URL",e.invalidEmbedUrlErrorMessage="Invalid embed URL detected. Either URL hostname or protocol are invalid. Please use Power BI REST APIs to get the valid URL"},357:(t,e,r)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.routerFactory=e.wpmpFactory=e.hpmFactory=void 0;var i=r(960),a=r(319),o=r(891),n=r(913);e.hpmFactory=function(t,e,r,i,o){return void 0===r&&(r=n.default.version),void 0===i&&(i=n.default.type),new a.HttpPostMessage(t,{"x-sdk-type":i,"x-sdk-version":r,"x-sdk-wrapper-version":o},e)},e.wpmpFactory=function(t,e,r){return new i.WindowPostMessageProxy({processTrackingProperties:{addTrackingProperties:a.HttpPostMessage.addTrackingProperties,getTrackingProperties:a.HttpPostMessage.getTrackingProperties},isErrorMessage:a.HttpPostMessage.isErrorMessage,suppressWarnings:!0,name:t,logMessages:e,eventSourceOverrideWindow:r})},e.routerFactory=function(t){return new o.Router(t)}},220:function(t,e,r){var i=this&&this.__awaiter||function(t,e,r,i){return new(r||(r=Promise))((function(a,o){function n(t){try{s(i.next(t))}catch(t){o(t)}}function l(t){try{s(i.throw(t))}catch(t){o(t)}}function s(t){var e;t.done?a(t.value):(e=t.value,e instanceof r?e:new r((function(t){t(e)}))).then(n,l)}s((i=i.apply(t,e||[])).next())}))},a=this&&this.__generator||function(t,e){var r,i,a,o,n={label:0,sent:function(){if(1&a[0])throw a[1];return a[1]},trys:[],ops:[]};return o={next:l(0),throw:l(1),return:l(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function l(o){return function(l){return function(o){if(r)throw new TypeError("Generator is already executing.");for(;n;)try{if(r=1,i&&(a=2&o[0]?i.return:o[0]?i.throw||((a=i.return)&&a.call(i),0):i.next)&&!(a=a.call(i,o[1])).done)return a;switch(i=0,a&&(o=[2&o[0],a.value]),o[0]){case 0:case 1:a=o;break;case 4:return n.label++,{value:o[1],done:!1};case 5:n.label++,i=o[1],o=[0];continue;case 7:o=n.ops.pop(),n.trys.pop();continue;default:if(!((a=(a=n.trys).length>0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0?"&":"?";return t+(i+e+"=")+r},e.isSavedInternal=function(t,e,a){return r(this,void 0,void 0,(function(){return i(this,(function(r){switch(r.label){case 0:return r.trys.push([0,2,,3]),[4,t.get("/report/hasUnsavedChanges",{uid:e},a)];case 1:return[2,!r.sent().body];case 2:throw r.sent().body;case 3:return[2]}}))}))},e.isRDLEmbed=function(t){return t&&t.toLowerCase().indexOf("/rdlembed?")>=0},e.autoAuthInEmbedUrl=function(t){return t&&decodeURIComponent(t).toLowerCase().indexOf("autoauth=true")>=0},e.getRandomValue=l,e.getTimeDiffInMilliseconds=function(t,e){return Math.abs(t.getTime()-e.getTime())},e.isCreate=function(t){return"create"===t||"quickcreate"===t},e.validateEmbedUrl=function(t){if(t){var e=void 0;try{e=new URL(t.toLowerCase())}catch(t){return!1}return"https:"===e.protocol&&(a.test(e.hostname)||o.test(e.hostname))}}},23:function(t,e,r){var i,a=this&&this.__extends||(i=function(t,e){return i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},i(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}),o=this&&this.__awaiter||function(t,e,r,i){return new(r||(r=Promise))((function(a,o){function n(t){try{s(i.next(t))}catch(t){o(t)}}function l(t){try{s(i.throw(t))}catch(t){o(t)}}function s(t){var e;t.done?a(t.value):(e=t.value,e instanceof r?e:new r((function(t){t(e)}))).then(n,l)}s((i=i.apply(t,e||[])).next())}))},n=this&&this.__generator||function(t,e){var r,i,a,o,n={label:0,sent:function(){if(1&a[0])throw a[1];return a[1]},trys:[],ops:[]};return o={next:l(0),throw:l(1),return:l(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function l(o){return function(l){return function(o){if(r)throw new TypeError("Generator is already executing.");for(;n;)try{if(r=1,i&&(a=2&o[0]?i.return:o[0]?i.throw||((a=i.return)&&a.call(i),0):i.next)&&!(a=a.call(i,o[1])).done)return a;switch(i=0,a&&(o=[2&o[0],a.value]),o[0]){case 0:case 1:a=o;break;case 4:return n.label++,{value:o[1],done:!1};case 5:n.label++,i=o[1],o=[0];continue;case 7:o=n.ops.pop(),n.trys.pop();continue;default:if(!((a=(a=n.trys).length>0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0&&a[a.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]{var e;self,e=()=>(()=>{"use strict";var t={};return(()=>{var e=t;Object.defineProperty(e,"__esModule",{value:!0}),e.WindowPostMessageProxy=void 0;var r=function(){function t(e){void 0===e&&(e={processTrackingProperties:{addTrackingProperties:t.defaultAddTrackingProperties,getTrackingProperties:t.defaultGetTrackingProperties},isErrorMessage:t.defaultIsErrorMessage,receiveWindow:window,name:t.createRandomString()});var r=this;this.pendingRequestPromises={},this.addTrackingProperties=e.processTrackingProperties&&e.processTrackingProperties.addTrackingProperties||t.defaultAddTrackingProperties,this.getTrackingProperties=e.processTrackingProperties&&e.processTrackingProperties.getTrackingProperties||t.defaultGetTrackingProperties,this.isErrorMessage=e.isErrorMessage||t.defaultIsErrorMessage,this.receiveWindow=e.receiveWindow||window,this.name=e.name||t.createRandomString(),this.logMessages=e.logMessages||!1,this.eventSourceOverrideWindow=e.eventSourceOverrideWindow,this.suppressWarnings=e.suppressWarnings||!1,this.logMessages&&console.log("new WindowPostMessageProxy created with name: ".concat(this.name," receiving on window: ").concat(this.receiveWindow.document.title)),this.handlers=[],this.windowMessageHandler=function(t){return r.onMessageReceived(t)},this.start()}return t.defaultAddTrackingProperties=function(e,r){return e[t.messagePropertyName]=r,e},t.defaultGetTrackingProperties=function(e){return e[t.messagePropertyName]},t.defaultIsErrorMessage=function(t){return!!t.error},t.createDeferred=function(){var t={resolve:null,reject:null,promise:null},e=new Promise((function(e,r){t.resolve=e,t.reject=r}));return t.promise=e,t},t.createRandomString=function(){var t=window.crypto||window.msCrypto,e=new Uint32Array(1);return t.getRandomValues(e),e[0].toString(36).substring(1)},t.prototype.addHandler=function(t){this.handlers.push(t)},t.prototype.removeHandler=function(t){var e=this.handlers.indexOf(t);if(-1===e)throw new Error("You attempted to remove a handler but no matching handler was found.");this.handlers.splice(e,1)},t.prototype.start=function(){this.receiveWindow.addEventListener("message",this.windowMessageHandler)},t.prototype.stop=function(){this.receiveWindow.removeEventListener("message",this.windowMessageHandler)},t.prototype.postMessage=function(e,r,i){var a={id:t.createRandomString()};this.addTrackingProperties(r,a),console.log("".concat(this.name," Posting message:")),console.log(JSON.stringify(r,null," ")),console.log("target origin: ".concat(i)),e.postMessage(r,null!=i?i:"*");var o=t.createDeferred();return this.pendingRequestPromises[a.id]=o,o.promise},t.prototype.sendResponse=function(t,e,r,i){this.addTrackingProperties(e,r),this.logMessages&&(console.log("".concat(this.name," Sending response:")),console.log(JSON.stringify(e,null," "))),t.postMessage(e,null!=i?i:"*")},t.prototype.onMessageReceived=function(t){var e=this;this.logMessages&&(console.log("".concat(this.name," Received message:")),console.log("type: ".concat(t.type)),console.log(JSON.stringify(t.data,null," ")));var r=this.eventSourceOverrideWindow||t.source;if(r){var i=t.data;if("object"==typeof i){var a,o;try{a=this.getTrackingProperties(i)}catch(t){this.suppressWarnings||console.warn("Proxy(".concat(this.name,"): Error occurred when attempting to get tracking properties from incoming message:"),JSON.stringify(i,null," "),"Error: ",t)}if(a&&(o=this.pendingRequestPromises[a.id]),o){var n=!0;try{n=this.isErrorMessage(i)}catch(t){console.warn("Proxy(".concat(this.name,") Error occurred when trying to determine if message is consider an error response. Message: "),JSON.stringify(i,null,""),"Error: ",t)}n?o.reject(i):o.resolve(i),delete this.pendingRequestPromises[a.id]}else this.handlers.some((function(t){var o=!1;try{o=t.test(i)}catch(t){e.suppressWarnings||console.warn("Proxy(".concat(e.name,"): Error occurred when handler was testing incoming message:"),JSON.stringify(i,null," "),"Error: ",t)}if(o){var n=void 0;try{n=Promise.resolve(t.handle(i))}catch(t){e.suppressWarnings||console.warn("Proxy(".concat(e.name,"): Error occurred when handler was processing incoming message:"),JSON.stringify(i,null," "),"Error: ",t),n=Promise.resolve()}return n.then((function(t){if(!t){var o="Handler for message: ".concat(JSON.stringify(i,null," ")," did not return a response message. The default response message will be returned instead.");e.suppressWarnings||console.warn("Proxy(".concat(e.name,"): ").concat(o)),t={warning:o}}e.sendResponse(r,t,a)})),!0}}))||this.suppressWarnings||console.warn("Proxy(".concat(this.name,") did not handle message. Handlers: ").concat(this.handlers.length," Message: ").concat(JSON.stringify(i,null,""),"."))}else this.suppressWarnings||console.warn("Proxy(".concat(this.name,"): Received message that was not an object. Discarding message"))}},t.messagePropertyName="windowPostMessageProxy",t}();e.WindowPostMessageProxy=r})(),t})(),t.exports=e()}},e={};function r(i){var a=e[i];if(void 0!==a)return a.exports;var o=e[i]={exports:{}};return t[i].call(o.exports,o,o.exports,r),o.exports}var i={};return(()=>{var t=i;Object.defineProperty(t,"__esModule",{value:!0}),t.RelativeTimeFilterBuilder=t.RelativeDateFilterBuilder=t.TopNFilterBuilder=t.AdvancedFilterBuilder=t.BasicFilterBuilder=t.Create=t.QuickCreate=t.VisualDescriptor=t.Visual=t.Qna=t.Page=t.Embed=t.Tile=t.Dashboard=t.Report=t.models=t.factories=t.service=void 0;var e=r(149);t.models=e;var a=r(562);t.service=a;var o=r(357);t.factories=o;var n=r(125);Object.defineProperty(t,"Report",{enumerable:!0,get:function(){return n.Report}});var l=r(365);Object.defineProperty(t,"Dashboard",{enumerable:!0,get:function(){return l.Dashboard}});var s=r(43);Object.defineProperty(t,"Tile",{enumerable:!0,get:function(){return s.Tile}});var u=r(932);Object.defineProperty(t,"Embed",{enumerable:!0,get:function(){return u.Embed}});var d=r(220);Object.defineProperty(t,"Page",{enumerable:!0,get:function(){return d.Page}});var c=r(148);Object.defineProperty(t,"Qna",{enumerable:!0,get:function(){return c.Qna}});var p=r(23);Object.defineProperty(t,"Visual",{enumerable:!0,get:function(){return p.Visual}});var f=r(558);Object.defineProperty(t,"VisualDescriptor",{enumerable:!0,get:function(){return f.VisualDescriptor}});var h=r(714);Object.defineProperty(t,"QuickCreate",{enumerable:!0,get:function(){return h.QuickCreate}});var v=r(536);Object.defineProperty(t,"Create",{enumerable:!0,get:function(){return v.Create}});var y=r(567);Object.defineProperty(t,"BasicFilterBuilder",{enumerable:!0,get:function(){return y.BasicFilterBuilder}}),Object.defineProperty(t,"AdvancedFilterBuilder",{enumerable:!0,get:function(){return y.AdvancedFilterBuilder}}),Object.defineProperty(t,"TopNFilterBuilder",{enumerable:!0,get:function(){return y.TopNFilterBuilder}}),Object.defineProperty(t,"RelativeDateFilterBuilder",{enumerable:!0,get:function(){return y.RelativeDateFilterBuilder}}),Object.defineProperty(t,"RelativeTimeFilterBuilder",{enumerable:!0,get:function(){return y.RelativeTimeFilterBuilder}});var m=new a.Service(o.hpmFactory,o.wpmpFactory,o.routerFactory);window.powerbi&&window.powerBISDKGlobalServiceInstanceName?window[window.powerBISDKGlobalServiceInstanceName]=m:window.powerbi=m})(),i})())); \ No newline at end of file diff --git a/package.json b/package.json index f8123970..dbfe034a 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "powerbi-client", - "version": "2.23.0", + "version": "2.23.1", "description": "JavaScript library for embedding Power BI into your apps. Provides service which makes it easy to embed different types of components and an object model which allows easy interaction with these components such as changing pages, applying filters, and responding to data selection.", "main": "dist/powerbi.js", "types": "dist/powerbi-client.d.ts", diff --git a/src/config.ts b/src/config.ts index d90351dc..fd73d5f2 100644 --- a/src/config.ts +++ b/src/config.ts @@ -3,7 +3,7 @@ /** @ignore *//** */ const config = { - version: '2.23.0', + version: '2.23.1', type: 'js' }; From d9aededd470077d60d0fa7981bb88f02f9cda8eb Mon Sep 17 00:00:00 2001 From: Or Shemesh <38721429+orshemesh16@users.noreply.github.com> Date: Mon, 14 Oct 2024 08:19:38 +0300 Subject: [PATCH 124/125] Update README.md with support section --- README.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/README.md b/README.md index 4460a688..ee0e84e9 100644 --- a/README.md +++ b/README.md @@ -56,3 +56,9 @@ This project welcomes contributions and suggestions. Most contributions require When you submit a pull request, a CLA bot will automatically determine whether you need to provide a CLA and decorate the PR appropriately (e.g., status check, comment). Simply follow the instructions provided by the bot. You will only need to do this once across all repos using our CLA. This project has adopted the [Microsoft Open Source Code of Conduct](https://opensource.microsoft.com/codeofconduct/). For more information see the [Code of Conduct FAQ](https://opensource.microsoft.com/codeofconduct/faq/) or contact [opencode@microsoft.com](mailto:opencode@microsoft.com) with any additional questions or comments + +## Support + +- **Feature Requests:** Submit your ideas and suggestions to the [Fabric Ideas Portal](https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fideas.fabric.microsoft.com%2F&data=05%7C02%7COr.Shemesh%40microsoft.com%7C72ccde64806a4ff4237b08dce610afa7%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C638638206567959909%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C0%7C%7C%7C&sdata=f8%2Blboxk11RF0P4KelMaE7FEUfStuxgUkTc8HiuBxr0%3D&reserved=0), where you can also vote on ideas from other developers. +- **Bug Reports and Technical Assistance:** Visit the [Fabric Developer Community Forum](https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fcommunity.fabric.microsoft.com%2Ft5%2FDeveloper%2Fbd-p%2FDeveloper&data=05%7C02%7COr.Shemesh%40microsoft.com%7C66158ccfa9d0420897b808dce93e491f%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C638641700929578580%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C0%7C%7C%7C&sdata=niYdcy8yLbG2X11WQhy3lkUgfboyYdT3oowYYfbtaDc%3D&reserved=0). Our team and community experts are ready to assist you. +- **Additional Support:** Contact your account manager or reach out to the [Fabric Support Team](https://support.fabric.microsoft.com/en-us/support/). From d5ea0da1a1a1b8e9dce4a3f243790887347973fd Mon Sep 17 00:00:00 2001 From: Alon Yeshurun <98805507+ayeshurun@users.noreply.github.com> Date: Tue, 28 Jan 2025 15:48:32 +0200 Subject: [PATCH 125/125] Update package --- .eslintignore | 1 - .gitignore | 1 - CONTRIBUTING.md | 31 - README.md | 17 +- demo/LICENSE.txt | 13 - demo/NOTICE.txt | 16 - demo/app/dataselection.js | 39 - demo/app/defaults.js | 52 - demo/app/dynamic.js | 75 - demo/app/filters.js | 437 -- demo/app/index.js | 45 - demo/app/pagenavigation.js | 186 - demo/app/settings.js | 52 - demo/code-demo/anyReport.html | 52 - demo/code-demo/code_area.html | 13 - demo/code-demo/docs.html | 26 - demo/code-demo/images/arrow.png | Bin 602 -> 0 bytes demo/code-demo/images/arrow_flipped.png | Bin 665 -> 0 bytes demo/code-demo/images/clear.png | Bin 1297 -> 0 bytes demo/code-demo/images/copy.png | Bin 1540 -> 0 bytes demo/code-demo/images/run.png | Bin 1857 -> 0 bytes demo/code-demo/index.html | 70 - demo/code-demo/log_window.html | 12 - demo/code-demo/report.html | 42 - demo/code-demo/sample.html | 24 - demo/code-demo/scripts/codesamples.js | 765 ---- demo/code-demo/scripts/function_mapping.js | 75 - demo/code-demo/scripts/index.js | 54 - demo/code-demo/scripts/logger.js | 23 - demo/code-demo/scripts/report.js | 132 - demo/code-demo/scripts/session_utils.js | 76 - demo/code-demo/scripts/step_authorize.js | 41 - demo/code-demo/scripts/step_embed.js | 98 - demo/code-demo/scripts/step_interact.js | 73 - demo/code-demo/scripts/utils.js | 82 - demo/code-demo/settings_embed.html | 50 - demo/code-demo/settings_interact.html | 65 - demo/code-demo/step_authorize.html | 32 - demo/code-demo/style/layout.css | 359 -- demo/code-demo/style/style.css | 628 --- .../style/syntaxHighlighterOverride.css | 10 - .../syntaxHighlighter/syntaxhighlighter.js | 3768 ----------------- demo/code-demo/syntaxHighlighter/theme.css | 238 -- demo/dataselection.html | 49 - demo/defaults.html | 44 - demo/dynamic.html | 49 - demo/filters.html | 293 -- demo/index.html | 9 - demo/package.json | 43 - demo/pagenavigation.html | 51 - demo/settings.html | 49 - demo/static.html | 50 - demo/styles/app.css | 68 - demo/v2-demo/code_area.html | 13 - demo/v2-demo/docs.html | 57 - demo/v2-demo/images/AlignCenter.svg | 3 - demo/v2-demo/images/AlignCenterGrey.svg | 3 - demo/v2-demo/images/AlignLeft.svg | 3 - demo/v2-demo/images/AlignLeftGrey.svg | 3 - demo/v2-demo/images/AlignRight.svg | 3 - demo/v2-demo/images/AlignRightGrey.svg | 3 - demo/v2-demo/images/EraseTool.svg | 3 - demo/v2-demo/images/EraseToolGrey.svg | 3 - demo/v2-demo/images/add.svg | 5 - demo/v2-demo/images/ajax-loader.gif | Bin 673 -> 0 bytes demo/v2-demo/images/bookmarkIcon.svg | 59 - demo/v2-demo/images/clear.svg | 3 - demo/v2-demo/images/close.png | Bin 332 -> 0 bytes demo/v2-demo/images/closeWhite.png | Bin 262 -> 0 bytes demo/v2-demo/images/collapse.svg | 45 - demo/v2-demo/images/copy.svg | 3 - demo/v2-demo/images/expand.svg | 57 - demo/v2-demo/images/ic_1column.svg | 1 - demo/v2-demo/images/ic_2columns.svg | 1 - demo/v2-demo/images/ic_3columns.svg | 43 - demo/v2-demo/images/info.svg | 29 - demo/v2-demo/images/insightToActionIcon.svg | 87 - demo/v2-demo/images/layoutIcon.svg | 59 - demo/v2-demo/images/new.svg | 6 - demo/v2-demo/images/pc.svg | 3 - demo/v2-demo/images/phone.svg | 3 - demo/v2-demo/images/print.svg | 3 - .../v2-demo/images/quickVisualCreatorIcon.svg | 51 - demo/v2-demo/images/reset.svg | 3 - demo/v2-demo/images/run.svg | 3 - demo/v2-demo/images/sampledashboard.png | Bin 102426 -> 0 bytes demo/v2-demo/images/sampleqna.png | Bin 60630 -> 0 bytes demo/v2-demo/images/samplerdlreport.png | Bin 41734 -> 0 bytes demo/v2-demo/images/samplereport.png | Bin 55635 -> 0 bytes demo/v2-demo/images/sampletile.png | Bin 93727 -> 0 bytes demo/v2-demo/images/samplevisual.png | Bin 10912 -> 0 bytes demo/v2-demo/images/share.png | Bin 336 -> 0 bytes demo/v2-demo/images/tab_out.svg | 1 - demo/v2-demo/images/themesIcon.svg | 28 - demo/v2-demo/index.html | 85 - .../bookmarks/showcase_bookmarks.html | 67 - .../bookmarks/showcase_bookmarks.js | 303 -- .../custom_layout/showcase_custom_layout.html | 54 - .../custom_layout/showcase_custom_layout.js | 283 -- .../showcase_insight_to_action.html | 115 - .../showcase_insight_to_action.js | 342 -- .../showcase_quick_visual_creator.html | 192 - .../showcase_quick_visual_creator.js | 638 --- .../themes/showcase_themes.html | 43 - .../live_showcases/themes/showcase_themes.js | 252 -- demo/v2-demo/log_window.html | 14 - demo/v2-demo/report.html | 103 - demo/v2-demo/sample.html | 31 - demo/v2-demo/scripts/aisdk.js | 29 - demo/v2-demo/scripts/assert.js | 5 - demo/v2-demo/scripts/codesamples.js | 3026 ------------- demo/v2-demo/scripts/function_mapping.js | 86 - demo/v2-demo/scripts/guid.js | 18 - demo/v2-demo/scripts/index.js | 91 - demo/v2-demo/scripts/logger.js | 99 - demo/v2-demo/scripts/report.js | 742 ---- demo/v2-demo/scripts/session_utils.js | 344 -- demo/v2-demo/scripts/step_embed.js | 363 -- demo/v2-demo/scripts/step_interact.js | 84 - demo/v2-demo/scripts/step_samples.js | 46 - demo/v2-demo/scripts/telemetry.js | 46 - demo/v2-demo/scripts/utils.js | 249 -- demo/v2-demo/settings_embed_dashboard.html | 34 - .../settings_embed_paginatedreport.html | 33 - demo/v2-demo/settings_embed_qna.html | 44 - demo/v2-demo/settings_embed_report.html | 77 - demo/v2-demo/settings_embed_tile.html | 38 - demo/v2-demo/settings_embed_visual.html | 58 - demo/v2-demo/settings_interact_dashboard.html | 25 - .../settings_interact_paginatedreport.html | 22 - demo/v2-demo/settings_interact_qna.html | 20 - demo/v2-demo/settings_interact_report.html | 122 - demo/v2-demo/settings_interact_tile.html | 17 - demo/v2-demo/settings_interact_visual.html | 54 - demo/v2-demo/shareBookmark.html | 20 - demo/v2-demo/showcases.html | 90 - demo/v2-demo/step_samples.html | 87 - demo/v2-demo/style/layout.css | 382 -- demo/v2-demo/style/style.css | 1865 -------- .../style/syntaxHighlighterOverride.css | 7 - .../syntaxHighlighter/syntaxhighlighter.js | 3768 ----------------- demo/v2-demo/syntaxHighlighter/theme.css | 238 -- dist/powerbi.js | 990 +++-- dist/powerbi.min.js | 2 +- gulpfile.js | 33 +- package.json | 11 +- src/visual.ts | 6 +- tsconfig.json | 1 - webpack.test.tsconfig.json | 1 - 149 files changed, 624 insertions(+), 24236 deletions(-) delete mode 100644 demo/LICENSE.txt delete mode 100644 demo/NOTICE.txt delete mode 100644 demo/app/dataselection.js delete mode 100644 demo/app/defaults.js delete mode 100644 demo/app/dynamic.js delete mode 100644 demo/app/filters.js delete mode 100644 demo/app/index.js delete mode 100644 demo/app/pagenavigation.js delete mode 100644 demo/app/settings.js delete mode 100644 demo/code-demo/anyReport.html delete mode 100644 demo/code-demo/code_area.html delete mode 100644 demo/code-demo/docs.html delete mode 100644 demo/code-demo/images/arrow.png delete mode 100644 demo/code-demo/images/arrow_flipped.png delete mode 100644 demo/code-demo/images/clear.png delete mode 100644 demo/code-demo/images/copy.png delete mode 100644 demo/code-demo/images/run.png delete mode 100644 demo/code-demo/index.html delete mode 100644 demo/code-demo/log_window.html delete mode 100644 demo/code-demo/report.html delete mode 100644 demo/code-demo/sample.html delete mode 100644 demo/code-demo/scripts/codesamples.js delete mode 100644 demo/code-demo/scripts/function_mapping.js delete mode 100644 demo/code-demo/scripts/index.js delete mode 100644 demo/code-demo/scripts/logger.js delete mode 100644 demo/code-demo/scripts/report.js delete mode 100644 demo/code-demo/scripts/session_utils.js delete mode 100644 demo/code-demo/scripts/step_authorize.js delete mode 100644 demo/code-demo/scripts/step_embed.js delete mode 100644 demo/code-demo/scripts/step_interact.js delete mode 100644 demo/code-demo/scripts/utils.js delete mode 100644 demo/code-demo/settings_embed.html delete mode 100644 demo/code-demo/settings_interact.html delete mode 100644 demo/code-demo/step_authorize.html delete mode 100644 demo/code-demo/style/layout.css delete mode 100644 demo/code-demo/style/style.css delete mode 100644 demo/code-demo/style/syntaxHighlighterOverride.css delete mode 100644 demo/code-demo/syntaxHighlighter/syntaxhighlighter.js delete mode 100644 demo/code-demo/syntaxHighlighter/theme.css delete mode 100644 demo/dataselection.html delete mode 100644 demo/defaults.html delete mode 100644 demo/dynamic.html delete mode 100644 demo/filters.html delete mode 100644 demo/index.html delete mode 100644 demo/package.json delete mode 100644 demo/pagenavigation.html delete mode 100644 demo/settings.html delete mode 100644 demo/static.html delete mode 100644 demo/styles/app.css delete mode 100644 demo/v2-demo/code_area.html delete mode 100644 demo/v2-demo/docs.html delete mode 100644 demo/v2-demo/images/AlignCenter.svg delete mode 100644 demo/v2-demo/images/AlignCenterGrey.svg delete mode 100644 demo/v2-demo/images/AlignLeft.svg delete mode 100644 demo/v2-demo/images/AlignLeftGrey.svg delete mode 100644 demo/v2-demo/images/AlignRight.svg delete mode 100644 demo/v2-demo/images/AlignRightGrey.svg delete mode 100644 demo/v2-demo/images/EraseTool.svg delete mode 100644 demo/v2-demo/images/EraseToolGrey.svg delete mode 100644 demo/v2-demo/images/add.svg delete mode 100644 demo/v2-demo/images/ajax-loader.gif delete mode 100644 demo/v2-demo/images/bookmarkIcon.svg delete mode 100644 demo/v2-demo/images/clear.svg delete mode 100644 demo/v2-demo/images/close.png delete mode 100644 demo/v2-demo/images/closeWhite.png delete mode 100644 demo/v2-demo/images/collapse.svg delete mode 100644 demo/v2-demo/images/copy.svg delete mode 100644 demo/v2-demo/images/expand.svg delete mode 100644 demo/v2-demo/images/ic_1column.svg delete mode 100644 demo/v2-demo/images/ic_2columns.svg delete mode 100644 demo/v2-demo/images/ic_3columns.svg delete mode 100644 demo/v2-demo/images/info.svg delete mode 100644 demo/v2-demo/images/insightToActionIcon.svg delete mode 100644 demo/v2-demo/images/layoutIcon.svg delete mode 100644 demo/v2-demo/images/new.svg delete mode 100644 demo/v2-demo/images/pc.svg delete mode 100644 demo/v2-demo/images/phone.svg delete mode 100644 demo/v2-demo/images/print.svg delete mode 100644 demo/v2-demo/images/quickVisualCreatorIcon.svg delete mode 100644 demo/v2-demo/images/reset.svg delete mode 100644 demo/v2-demo/images/run.svg delete mode 100644 demo/v2-demo/images/sampledashboard.png delete mode 100644 demo/v2-demo/images/sampleqna.png delete mode 100644 demo/v2-demo/images/samplerdlreport.png delete mode 100644 demo/v2-demo/images/samplereport.png delete mode 100644 demo/v2-demo/images/sampletile.png delete mode 100644 demo/v2-demo/images/samplevisual.png delete mode 100644 demo/v2-demo/images/share.png delete mode 100644 demo/v2-demo/images/tab_out.svg delete mode 100644 demo/v2-demo/images/themesIcon.svg delete mode 100644 demo/v2-demo/index.html delete mode 100644 demo/v2-demo/live_showcases/bookmarks/showcase_bookmarks.html delete mode 100644 demo/v2-demo/live_showcases/bookmarks/showcase_bookmarks.js delete mode 100644 demo/v2-demo/live_showcases/custom_layout/showcase_custom_layout.html delete mode 100644 demo/v2-demo/live_showcases/custom_layout/showcase_custom_layout.js delete mode 100644 demo/v2-demo/live_showcases/insight_to_action/showcase_insight_to_action.html delete mode 100644 demo/v2-demo/live_showcases/insight_to_action/showcase_insight_to_action.js delete mode 100644 demo/v2-demo/live_showcases/quick_visual_creator/showcase_quick_visual_creator.html delete mode 100644 demo/v2-demo/live_showcases/quick_visual_creator/showcase_quick_visual_creator.js delete mode 100644 demo/v2-demo/live_showcases/themes/showcase_themes.html delete mode 100644 demo/v2-demo/live_showcases/themes/showcase_themes.js delete mode 100644 demo/v2-demo/log_window.html delete mode 100644 demo/v2-demo/report.html delete mode 100644 demo/v2-demo/sample.html delete mode 100644 demo/v2-demo/scripts/aisdk.js delete mode 100644 demo/v2-demo/scripts/assert.js delete mode 100644 demo/v2-demo/scripts/codesamples.js delete mode 100644 demo/v2-demo/scripts/function_mapping.js delete mode 100644 demo/v2-demo/scripts/guid.js delete mode 100644 demo/v2-demo/scripts/index.js delete mode 100644 demo/v2-demo/scripts/logger.js delete mode 100644 demo/v2-demo/scripts/report.js delete mode 100644 demo/v2-demo/scripts/session_utils.js delete mode 100644 demo/v2-demo/scripts/step_embed.js delete mode 100644 demo/v2-demo/scripts/step_interact.js delete mode 100644 demo/v2-demo/scripts/step_samples.js delete mode 100644 demo/v2-demo/scripts/telemetry.js delete mode 100644 demo/v2-demo/scripts/utils.js delete mode 100644 demo/v2-demo/settings_embed_dashboard.html delete mode 100644 demo/v2-demo/settings_embed_paginatedreport.html delete mode 100644 demo/v2-demo/settings_embed_qna.html delete mode 100644 demo/v2-demo/settings_embed_report.html delete mode 100644 demo/v2-demo/settings_embed_tile.html delete mode 100644 demo/v2-demo/settings_embed_visual.html delete mode 100644 demo/v2-demo/settings_interact_dashboard.html delete mode 100644 demo/v2-demo/settings_interact_paginatedreport.html delete mode 100644 demo/v2-demo/settings_interact_qna.html delete mode 100644 demo/v2-demo/settings_interact_report.html delete mode 100644 demo/v2-demo/settings_interact_tile.html delete mode 100644 demo/v2-demo/settings_interact_visual.html delete mode 100644 demo/v2-demo/shareBookmark.html delete mode 100644 demo/v2-demo/showcases.html delete mode 100644 demo/v2-demo/step_samples.html delete mode 100644 demo/v2-demo/style/layout.css delete mode 100644 demo/v2-demo/style/style.css delete mode 100644 demo/v2-demo/style/syntaxHighlighterOverride.css delete mode 100644 demo/v2-demo/syntaxHighlighter/syntaxhighlighter.js delete mode 100644 demo/v2-demo/syntaxHighlighter/theme.css diff --git a/.eslintignore b/.eslintignore index a6796e04..6e7798f5 100644 --- a/.eslintignore +++ b/.eslintignore @@ -1,5 +1,4 @@ # Task 512388: Fix eslint warnings and errors in tests /node_modules/* -demo/* /**/*.js dist/* \ No newline at end of file diff --git a/.gitignore b/.gitignore index a9e5f6a6..d8bec088 100644 --- a/.gitignore +++ b/.gitignore @@ -8,7 +8,6 @@ npm-debug.log* dist/powerbi.js.map *.js.map package-lock.json -demo/package-lock.json .vscode owners.txt test/util.spec.ts diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index e0b39a81..3e7f6be3 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -55,24 +55,6 @@ node node_modules/karma/bin/karma start --browsers=Firefox --single-run=false -- The build and tests use webpack to compile all the source modules into one bundled module that can execute in the browser. -## Running the demo -Navigate to `/demo` directory - -Install npm dependencies: -``` -npm install -``` - -Serve the demo directory: -``` -npm start -``` - -Open the address to view in the browser: -``` -http://127.0.0.1:8080/ -``` - ## Updating the documentation (For those with push permissions only) First run the command to build the docs and open it to verify the changes are as expected. @@ -80,16 +62,3 @@ First run the command to build the docs and open it to verify the changes are as npm run gulp -- build:docs ``` > There are errors during the TypeDoc compilation step due to some complication with modules however the documentation should still be generated. It's not clear if these are fixable by including more src files in the gulp task or if it's just the nature of TypeDoc lacking capabilities for this project structure. - -If the docs are correct then you may publish them to gh-pages using this command -``` -npm run gulp -- ghpages -``` - -## Known issues -Running demo fails with an error ERR_INVALID_REDIRECT -This happens due to version 10 of http-server. To solve the problem, please install http-server@0.9.0 globally using: - -``` -npm install -g http-server@0.9.0 -``` diff --git a/README.md b/README.md index ee0e84e9..9fecd37e 100644 --- a/README.md +++ b/README.md @@ -12,11 +12,14 @@ A client side library for embedding Power BI using JavaScript or TypeScript into ## Documentation See the [Power BI embedded analytics Client APIs documentation](https://docs.microsoft.com/javascript/api/overview/powerbi/) to learn how to embed a Power BI report in your application and how to use the client APIs. -## Reference -See the [library reference](https://docs.microsoft.com/en-us/javascript/api/powerbi/powerbi-client/) for detailed information about classes, interfaces, types, etc. +## Code Docs +See the [code docs](https://learn.microsoft.com/en-us/javascript/api/powerbi/powerbi-client) for detailed information about classes, interfaces, types, etc. + +## Sample Application +For examples of applications utilizing the `powerbi-client` library, please refer to the available samples in the [PowerBI-Developer-Samples repository](https://github.com/microsoft/PowerBI-Developer-Samples). ## Playground -The [playground](https://aka.ms/pbieplayground) is the home for Power BI embedded analytics, where you can get hands-on coding experience, embed your own reports, and interact with our client APIs to see instant results. In addition, you’ll find there our interactive showcases to get inspiration regarding how you can apply these features in your applications. Lastly, we’ve created a new learning center to help you find all the relevant samples, tutorials, and documentation you’ll need for a successful integration. +To explore and understand the capabilities of embedded analytics in your applications, please visit the [Power BI Embedded Analytics Playground](https://playground.powerbi.com). ## Installation @@ -55,10 +58,4 @@ This project welcomes contributions and suggestions. Most contributions require When you submit a pull request, a CLA bot will automatically determine whether you need to provide a CLA and decorate the PR appropriately (e.g., status check, comment). Simply follow the instructions provided by the bot. You will only need to do this once across all repos using our CLA. -This project has adopted the [Microsoft Open Source Code of Conduct](https://opensource.microsoft.com/codeofconduct/). For more information see the [Code of Conduct FAQ](https://opensource.microsoft.com/codeofconduct/faq/) or contact [opencode@microsoft.com](mailto:opencode@microsoft.com) with any additional questions or comments - -## Support - -- **Feature Requests:** Submit your ideas and suggestions to the [Fabric Ideas Portal](https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fideas.fabric.microsoft.com%2F&data=05%7C02%7COr.Shemesh%40microsoft.com%7C72ccde64806a4ff4237b08dce610afa7%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C638638206567959909%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C0%7C%7C%7C&sdata=f8%2Blboxk11RF0P4KelMaE7FEUfStuxgUkTc8HiuBxr0%3D&reserved=0), where you can also vote on ideas from other developers. -- **Bug Reports and Technical Assistance:** Visit the [Fabric Developer Community Forum](https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fcommunity.fabric.microsoft.com%2Ft5%2FDeveloper%2Fbd-p%2FDeveloper&data=05%7C02%7COr.Shemesh%40microsoft.com%7C66158ccfa9d0420897b808dce93e491f%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C638641700929578580%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C0%7C%7C%7C&sdata=niYdcy8yLbG2X11WQhy3lkUgfboyYdT3oowYYfbtaDc%3D&reserved=0). Our team and community experts are ready to assist you. -- **Additional Support:** Contact your account manager or reach out to the [Fabric Support Team](https://support.fabric.microsoft.com/en-us/support/). +This project has adopted the [Microsoft Open Source Code of Conduct](https://opensource.microsoft.com/codeofconduct/). For more information see the [Code of Conduct FAQ](https://opensource.microsoft.com/codeofconduct/faq/) or contact [opencode@microsoft.com](mailto:opencode@microsoft.com) with any additional questions or comments \ No newline at end of file diff --git a/demo/LICENSE.txt b/demo/LICENSE.txt deleted file mode 100644 index 736dfd1e..00000000 --- a/demo/LICENSE.txt +++ /dev/null @@ -1,13 +0,0 @@ -Microsoft.PowerBI.JavaScript - -Copyright (c) Microsoft Corporation - -All rights reserved. - -MIT License - -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED *AS IS*, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/demo/NOTICE.txt b/demo/NOTICE.txt deleted file mode 100644 index 93917b59..00000000 --- a/demo/NOTICE.txt +++ /dev/null @@ -1,16 +0,0 @@ -Microsoft.PowerBI.JavaScript - -THIRD-PARTY SOFTWARE NOTICES AND INFORMATION -Do Not Translate or Localize - -This project incorporates components from the projects listed below. The original copyright notices and the licenses under which Microsoft received such components are set forth below. Microsoft reserves all rights not expressly granted herein, whether by implication, estoppel or otherwise. - - 1. SyntaxHighlighter (https://github.com/syntaxhighlighter/syntaxhighlighter) - - Copyright (c) 2004-2013, Alex Gorbatchev - - Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: - - The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/demo/app/dataselection.js b/demo/app/dataselection.js deleted file mode 100644 index bd30f240..00000000 --- a/demo/app/dataselection.js +++ /dev/null @@ -1,39 +0,0 @@ -$(function () { - var models = window['powerbi-client'].models; - - console.log('Scenario 7: Data Selection'); - - var reportUrl = 'https://powerbi-embed-api.azurewebsites.net/api/reports/c52af8ab-0468-4165-92af-dc39858d66ad'; - var $reportContainer = $('#reportContainer'); - var report; - var $dataSelectedContainer = $("#dataSelectedContainer"); - - // Init - fetch(reportUrl) - .then(function (response) { - if (response.ok) { - return response.json() - .then(function (embedConfig) { - report = powerbi.embed($reportContainer.get(0), embedConfig); - initializeDataSelection(report, $dataSelectedContainer); - return report; - }); - } - else { - return response.json() - .then(function (error) { - throw new Error(error); - }); - } - }); -}); - -function initializeDataSelection(report, $dataSelectedContainer) { - report.on('dataSelected', function (event) { - console.log('dataSelected: ', event); - - var data = event.detail; - - $dataSelectedContainer.text(JSON.stringify(data, null, ' ')); - }); -} diff --git a/demo/app/defaults.js b/demo/app/defaults.js deleted file mode 100644 index c6ecf136..00000000 --- a/demo/app/defaults.js +++ /dev/null @@ -1,52 +0,0 @@ -$(function () { - var models = window['powerbi-client'].models; - - console.log('Scenario 5: Default Page and/or Filter'); - - var staticReportUrl = 'https://powerbi-embed-api.azurewebsites.net/api/reports/c52af8ab-0468-4165-92af-dc39858d66ad'; - var $defaultPageReportContainer = $('#reportdefaults'); - var defaultPageReport; - var defaultPageName = 'ReportSection2'; - var defaultFilter = new models.AdvancedFilter({ - table: "Store", - column: "Name" - }, "Or", [ - { - operator: "Contains", - value: "Wash" - }, - { - operator: "Contains", - value: "Park" - } - ]); - - var defaultFilters = [defaultFilter]; - - // Init - fetch(staticReportUrl) - .then(function (response) { - if (response.ok) { - return response.json() - .then(function (embedConfig) { - var defaultsEmbedConfig = $.extend({}, embedConfig, { - pageName: defaultPageName, - filter: defaultFilters, - settings: { - filterPaneEnabled: true, - navContentPaneEnabled: true - } - }); - - defaultPageReport = powerbi.embed($defaultPageReportContainer.get(0), defaultsEmbedConfig); - return defaultPageReport; - }); - } - else { - return response.json() - .then(function (error) { - throw new Error(error); - }); - } - }); -}); diff --git a/demo/app/dynamic.js b/demo/app/dynamic.js deleted file mode 100644 index 8812768d..00000000 --- a/demo/app/dynamic.js +++ /dev/null @@ -1,75 +0,0 @@ -$(function () { - var models = window['powerbi-client'].models; - - console.log('Scenario 2: Dynamic Embed'); - - // Declare Variables - var allReportsUrl = 'https://powerbi-embed-api.azurewebsites.net/api/reports'; - var $reportsList = $('#reportslist'); - var $resetButton = $('#resetButton'); - var $dynamicReportContainer = $('#reportdynamic'); - - // When report button is clicked embed the report - $reportsList.on('click', 'button', function (event) { - var button = event.target; - var report = $(button).data('report'); - var url = allReportsUrl + '/' + report.id; - - fetch(url) - .then(function (response) { - if (response.ok) { - return response.json() - .then(function (embedConfig) { - return powerbi.embed($dynamicReportContainer.get(0), embedConfig); - }); - } - else { - return response.json() - .then(function (error) { - throw new Error(error); - }); - } - }); - }); - - // When reset button is clicked reset container - $resetButton.on('click', function (event) { - powerbi.reset($dynamicReportContainer.get(0)); - }); - - // Helper function to generate HTML for each report - function generateReportListItem(report) { - var button = $(' -
- -
-
-
\ No newline at end of file diff --git a/demo/code-demo/code_area.html b/demo/code-demo/code_area.html deleted file mode 100644 index b4d52067..00000000 --- a/demo/code-demo/code_area.html +++ /dev/null @@ -1,13 +0,0 @@ - -
Code
-
- - -
- -
-
\ No newline at end of file diff --git a/demo/code-demo/docs.html b/demo/code-demo/docs.html deleted file mode 100644 index 96cc05b6..00000000 --- a/demo/code-demo/docs.html +++ /dev/null @@ -1,26 +0,0 @@ -
-
-

Getting Started

-
-
- Please visit our - documentation - to start using Power BI Embedded. -
-
- -

Videos

- -
-
- 1. Learn how to Embed and Interact with Power BI Reports. -
- -
- -
-
- 2. Learn how to Create, Edit and Save Power BI reports in Embedded view. -
- -
diff --git a/demo/code-demo/images/arrow.png b/demo/code-demo/images/arrow.png deleted file mode 100644 index e1acaefe3571ae0f30f90ebe3152b3ac7cace690..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 602 zcmeAS@N?(olHy`uVBq!ia0vp^4Is?H1|$#LC7uRSEX7WqAsj$Z!;#Vf4nJ za0`PlBg3pY5)2HCe>`0rLn`LHz2uvBB|xC{Vibdh$!dqlTD3I{6O0(P38sn~aHuX) znY-=w`MUb&9{Fi2b?)jj0Zl^&4GZtM9f@_RS@TzUPm!?y?V6jf59GSoxE-0_@k3B4 ztlyVIQKD?NIC$XUta*sPE5|JUyCv9FtD$nK`_fP`{Xu` zp8A6)1SRSh3Mw1?^HO$A_@mt`(D>2Z%Jsj7v(Z-L~+f11r^FO!+l%B8^ z=q?9upt}y}0o}zpr~AMU;Y!KIkLpu^5=qMq?2uy&$iA>+|M^obQpS?^W`JZoUHx3v IIVCg!0Q_t9O#lD@ diff --git a/demo/code-demo/images/arrow_flipped.png b/demo/code-demo/images/arrow_flipped.png deleted file mode 100644 index 76c76eebd7e2517c47682f69898f3df14591101f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 665 zcmeAS@N?(olHy`uVBq!ia0vp^4Is?H1|$#LC7uRSEX7WqAsj$Z!;#Vf&U>cv7h@-A}f&3S>O>_%)r1c48n{Iv*t)JFfhq^x;TbZ#J#;4+a(+* z(t43+!O?4h9gDv&bzjiL|H|Y@;EnAD?6Wsr@?5&=-TSBlg%$y)Z{Gz@a01Ok1`CSv zFYo>Rd%{JZ$MxRdjqm<`$$3oh@qf$t9BfAN@hr?cP3q=wSe51eu@EeIaqZ({mkSfO zK0e;Lfcbl$yn0hxuB^Qu3-7ILptMQK*&ml*+nt}cyF@ADz^#wVuiGyXc4U7iY2UG+ zF!~sOw$hJ@=k|9@y^;J!q3PHg%Q^u^LDFa$~_ zsvhT8(pb{=v6;hYb><%f*AJ?9FQw0z&tbNr5NJa4Rhv42gN{)^6B5#Od*xj=Ocn!b zxUu5t$HTKY_AM7a7|9Pbam|&>KoiYhfwX8>$=P>2Xc9ceuQWq46DY7*@HqcrcY{wq z9{TQ5R5ti$f7mtQ&wpOw#*g~1?U)|NU(aPZw*T%e4!O&rXMemd1&Y7FUc++i{<@nS zJ^SZBQ!@DXZ&v4lAIDb$70c&$J;>g*^nFQPq_RPs-BqATe^vn{pNjMY3DNEYKfa!j zYy9|nvT2k5%W3y2>W-by_GR&Z`R<$I-Ss8j`7-H$jPg1kl<(?)X;!Jr^mzK$D3;wl z^3#+I>SU)W-6;L@!HDVc^{1&U?LG3#IF`w`9b121!lvI6;>1s;*b z3=G_YAk0{w5qZ#N~(e?4;tx|Rn=5#Z~tGX z_AZ`h#x{;O(@t@VS=ieBkJJA?H%*6W_Z;CrVcq41wFw`*565eN`J{bAaV|ekO-g3) z7a@acD|v}6$1W{fp_=fl#Lgh$>{8#0UI*5^tV!4)<~@7Slm^MmKMy$QPB*L6XWYE> zOJe2iZPq!tmAZ_^Upel#JU_kicu<>Wcl@`1-&X9I+7MaQ)-QJccy&PAgYfCQowrSy zE@a^R{zLe#*kcmz=TH9+TkL&cCwtrb$C(ZGNpEWnwHTj&5U>kkG|P%*>U*nN^W>4~ffM45)mfoTeJ?ftxIVtmYH%cN#luxV z>8A!YPZlxgom~l(GyGf^s?oe-H`jv2Y9BYt9ga8oSHC~7tuXt_R@DdTX}4Eu@|bid z+JrrfXKZ#g?>nyXhuI(@gn6g`!|(>j#gZq#i`2PFSadDC6ZV5Qq2T>7rPlibVjprg z9D2{tU154_@iMOa35ru6RQpQqJD8+(@cAsOnr7C}rhYHMeFqn59o!w%n!jO#*94QA z=A*{b6-s}wv8CuV9*S=ioawdTL-~OTJgNad;u{Q&r#n2H&&YN*f~mEhQNlEsQ{Su@$|0s~L4z&=ma z6&!AET=$m+mYX<}ka;kiF$7mLn3%bMU*LK`+5st;c!v|+`e|0_gP6C7Lr?_8$G z*sb~Jy=f|EgvZ1A>sNXmP>MU8u6KU()b$&^4=~;1b<=WWmaysCcqfcg>(GIVJWs2& z99bnyR!zLKTu7#Yak2D?u)ArFguDs}D=fdn$0l#kS=(Doj zw`c15x^+zV?Civ3dG9}vkn?`&GlWp&xn|u~QTMwCAOxrHBV<*=X#hBQC+3ooS zKJDR6ALq-xdim+TR!wtqwN_*I^2Xi2FTcK5u=gr3l8P%d8Sm*Q_a1g;tZL0K(BoGP zVC<>_YCLyQwIHxz;(A6mpzyniss$gV7VsE7i9PV*18& zr}sBoV%610frrdzY@I3&&AkZ+qPpFA?DeFub28e!XyS!jIza4Kt49i!JB8pRoLM?F@w?&t;ucLK6T<0zp;) diff --git a/demo/code-demo/images/copy.png b/demo/code-demo/images/copy.png deleted file mode 100644 index 37d7203fbae53912027779ff8e0a990b524bfb3f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1540 zcmV+f2K)JmP)Px#1ZP1_K>z@;j|==^1poj532;bRa{vGi!vFvd!vV){sAK>D02y>eSaefwW^{L9 za%BK;VQFr3E^cLXAT%y8E-^5z3JSmg00neOL_t(oN9|Y%Q(8$7&fnkKEo--SH;M5E z5jhpPR6qgo!h;)BP!2JQ5Kto;&))vpBS@a0R;=Bva;iSwdvku%-P6;}J0ki|L9wzG z@`Y_$Sq;QrFz~rBJL?Lb13* z!KD=%u~-F*OUtydxI}t`nam>=ipApGO?m8dpjg?A;?54u%`cMG<|Kn@geKh{%H<2R zxs|0cmXdbZKpxLDMVZvzUWtb&&+`=AzrYq;JgIxiE4DH1^OM&%Ltg(3Iao!i!6DKN z4Rf29*4Hq_M z&3L`M8_lCENr#ZaTCE^IFjm;Y`;T2@Vtc^gLCvrLD#5NN-BUEb5Tsl#PhY9NiAKoJF6$kG|Nihv7WVlAG^{hyAgjpk z7?*Dta5R<>LgjKrNF5y=(dXS=%4}|m{RCK2HtsKkR2tIp6KcbFY}Cyr(YUx0|jFZwk!L)0oX6 z<1|_w*?5jbGDY!ZQtDm2*~Z0{AU}76dizwAVlvysBKc)7WwN|B*lM_1ob|%l` zk)b3@FPAIu@@)u( z*v}js9MJXkH8&}jtE(%PVwvr2oz=D=jua=!KQsFPIAPujM;-M#gQ>w$n#7%a{M19E78|B} z8lj68grGVcXSc^I4i)~!$){_|>mv_eEsy}NAUyGndN@T7OA^-*h;{t_r})0+yYFR$ z*q&hEP>W~ECs#s|jrEWnWvzBV)oSfKYBi}lV7seSzEHk^t7e`h)GcdbZ7x5DP=Jp& z{1Q&$+1dGRYwL1cKc;9r&L?`{6$st>oJ4X>PGh@*!+;YSjz(pzS0M!89d+#r=EU4s zi6z2Y1Y3|=yYl3#1B;^Z zmtQ;RLuWVjs|Gn!)k=7v7HDsAldJV}iqqNEE8hst(&X{*zu-|q&jD;H z#%Yp|^R-cnm4kQlead_ThXS0EETW&@XrjIWwPeN3b3gcaE(#p|A+e0HO&~i>q*ATH qVQ+%_p+6)Jtu)X1;N#y1z554)>2+dvwj&w<00005+=%sheFH<@7Z3)mYHE* znHu{e%PX|bSjN7EBx`nWdiDGD$Nk=OzvuHg=bn2%=YEoH;ZR{AX(0drAZ!UULvk~S z8!CeQ+*i%j+JKvQa7d^rfZ8KF%Pn|)O>9g6fSUBfJDz;p`Vbc8i~|5fTE7KPM@acK z?x$3kIXcWf#3wA$Gt?V^_4E%8g9LkrDQZKsAiro)goK&_0R9?FGZPdV+MVNTuM8DS zT-$%_3SsyAx+~6rLVJ=r?UXD{e^Wgw`XE8?@2A`THIka@@lAbKKD@YIS~e2t6T^&I zO77gZG7xZo+uC~B*(J4$vlGv2(Ls*$fH7mXZK8bcT?niWr^VSA2sDJn?HjY$6ZC2^ zq8;DDyaF+eD(@e(NX)Jku`iJF5|IgXZpAQ~@N*Y7P>~T5XD^&rzTZtj+Bqn%3E$`E zu#G@o6ItRI*US&tHllBPPAk6)s~V`V5xO1uc&6x4vKbN#F6)jW>r<0A{nKZ&b7yB{b>HCDD zVK zA736!N=Le4POj~N{n;Qr^5*m;Xw74nd7BU1hqdkE?jFPXI{VO(0v%~GN|%EMhkreN z%UethqWN&dD3;E7JKUeILXOL|p7YNyEF4U31aTYHkwxJfDU=|}xpzQO)I6~<6F)9C zJ{PO0QS;6@mEvMiP>}mFTj=`3X{mn%$dly01BZXD9s`_k*Asu5UHrJtsr^*xC)T7y zl9-3PP|C4-R;+T@WWfhDc%{|+i9H{mnQOWaGOQcs+{*ZXIemZgKnxG0DzxSe5HMby z5}Tlhwlzd2$H7@e-gAJq7aY8;G!gA=PS)=K>^qrbirE0p84%mb;3M2{Mp$~ z;kvT|D>LI@l%w6ks(yNCL_}~9%-NjuLh?f_NDB;wc8CJ^1;5kK#`YVDi3fohpOH(b zg8U5eXxJ`zc9q0SNClR=Hv%n_+xtHDJquj?giee+{GGD_o48YRXm&w{STXBdC$~BI zAY;0ib~oB|%0XJ$@})XQGDT%bNw;?~q!wdtfp8}qtVsW0)-ocmVF>A$Os7E-Gu(+V zs)|%&UMjuG8A=mrSmuqg4yfZ@-SB^}nA_zVlWEd?Kq64DdFrGnrEfuTUS8gt@ZP#W zTulQ)LbwYply{s0lP!LyRpw!KC--t!o{KqK2CgJt#U!YtD%DsiPt|L*f3{yQu zf4lUOrch$MVwbi4%F9YkI(0T^3&LizLn?#5Z<(GTo@~%97p_zDr2gvhT`~rU!O$aC zX}x^FzBXZ+<|DIVrJoWMvuX#mrhQaLySOl}Fz@P2eB3|}-gVd(nV*%bHZIA({mMn% zu(1We6@$aQ4&`DJsoJgSXdRt5&uMrx;ik8%7u65MobE5J|DkKgE|rAPgq|4@o2-ig zxC0qilZXfPJMg-yg`+sk}~{QlTss{Za9Xa3^vR_o^fTg2t@;r z*#CuFVZmLa-m5S?zM%uyE)p{(wW@g8@|)w)BKpjl=l&{pluPqRV^Vs@VcKdJ>*`q1 z8G`;UcK<)raG9%hw4K%#+?NXZx#KFnukqpGU;E>x3gQ>$w$K4mf;T#?jf(mEnxy$A9W`ThLoiI?m+5!j}Uf4;l?pM`MdhyN@f?B}N} Zh9s*4cCkg9Pq+>Tur!C8QB6JK{{ - - - - - - - - - - - - - - - -
- -
- -
-
-
- -
-
- -
-
-
- - - - - - - - - - - - - - - - - - - - - diff --git a/demo/code-demo/log_window.html b/demo/code-demo/log_window.html deleted file mode 100644 index 76e3b643..00000000 --- a/demo/code-demo/log_window.html +++ /dev/null @@ -1,12 +0,0 @@ -
-
Log Viewer
-
- - -
- -
\ No newline at end of file diff --git a/demo/code-demo/report.html b/demo/code-demo/report.html deleted file mode 100644 index dcb527b9..00000000 --- a/demo/code-demo/report.html +++ /dev/null @@ -1,42 +0,0 @@ - -
-
-
-
-
-
-
-
- -
-
-
-
Embedded report
-
-
-
-
-
- - \ No newline at end of file diff --git a/demo/code-demo/sample.html b/demo/code-demo/sample.html deleted file mode 100644 index 9f064e68..00000000 --- a/demo/code-demo/sample.html +++ /dev/null @@ -1,24 +0,0 @@ -
-
- -
-
- -
-
\ No newline at end of file diff --git a/demo/code-demo/scripts/codesamples.js b/demo/code-demo/scripts/codesamples.js deleted file mode 100644 index c340d526..00000000 --- a/demo/code-demo/scripts/codesamples.js +++ /dev/null @@ -1,765 +0,0 @@ -/* - This file contains the code samples which will appear live in the web-page. - Each sample method name starts with _Report_ or _Page or _Embed depends on which section it appears. - Please keep this. -*/ - -// ---- Embed Code ---------------------------------------------------- - -function _Embed_BasicEmbed() { - // Read embed application token from textbox - var txtAccessToken = $('#txtAccessToken').val(); - - // Read embed URL from textbox - var txtEmbedUrl = $('#txtReportEmbed').val(); - - // Read report Id from textbox - var txtEmbedReportId = $('#txtEmbedReportId').val(); - - // Get models. models contains enums that can be used. - var models = window['powerbi-client'].models; - - // We give All permissions to demonstrate switching between View and Edit mode and saving report. - var permissions = models.Permissions.All; - - // Embed configuration used to describe the what and how to embed. - // This object is used when calling powerbi.embed. - // This also includes settings and options such as filters. - // You can find more information at https://github.com/Microsoft/PowerBI-JavaScript/wiki/Embed-Configuration-Details. - var config= { - type: 'report', - accessToken: txtAccessToken, - embedUrl: txtEmbedUrl, - id: txtEmbedReportId, - permissions: permissions, - settings: { - filterPaneEnabled: true, - navContentPaneEnabled: true - } - }; - - // Get a reference to the embedded report HTML element - var reportContainer = $('#reportContainer')[0]; - - // Embed the report and display it within the div container. - var report = powerbi.embed(reportContainer, config); - - // Report.off removes a given event handler if it exists. - report.off("loaded"); - - // Report.on will add an event handler which prints to Log window. - report.on("loaded", function() { - Log.logText("Loaded"); - }); - - report.on("error", function(event) { - Log.log(event.detail); - - report.off("error"); - }); - - report.off("saved"); - report.on("saved", function(event) { - Log.log(event.detail); - if(event.detail.saveAs) { - Log.logText('In order to interact with the new report, create a new token and load the new report'); - } - }); -} - -function _Mock_Embed_BasicEmbed(isEdit) { - // Read embed application token from textbox - var txtAccessToken = $('#txtAccessToken').val(); - - // Read embed URL from textbox - var txtEmbedUrl = $('#txtReportEmbed').val(); - - // Read report Id from textbox - var txtEmbedReportId = $('#txtEmbedReportId').val(); - - // Get models. models contains enums that can be used. - var models = window['powerbi-client'].models; - var permissions = models.Permissions.Copy | models.Permissions.Read; - var viewMode = isEdit ? models.ViewMode.Edit : models.ViewMode.View; - - // Embed configuration used to describe the what and how to embed. - // This object is used when calling powerbi.embed. - // This also includes settings and options such as filters. - // You can find more information at https://github.com/Microsoft/PowerBI-JavaScript/wiki/Embed-Configuration-Details. - var config= { - type: 'report', - accessToken: txtAccessToken, - embedUrl: txtEmbedUrl, - id: txtEmbedReportId, - permissions: permissions, - viewMode: viewMode, - settings: { - filterPaneEnabled: true, - navContentPaneEnabled: true, - useCustomSaveAsDialog: true - } - }; - - // Get a reference to the embedded report HTML element - var reportContainer = $('#reportContainer')[0]; - - // Embed the report and display it within the div container. - var report = powerbi.embed(reportContainer, config); - - // Report.off removes a given event handler if it exists. - report.off("loaded"); - - // Report.on will add an event handler which prints to Log window. - report.on("loaded", function() { - Log.logText("Loaded"); - }); - - report.on("saveAsTriggered", function() { - Log.logText("Cannot save sample report"); - }); - - report.off("error"); - report.on("error", function(event) { - Log.log(event.detail); - }); - - report.off("saved"); - report.on("saved", function(event) { - Log.log(event.detail); - if(event.detail.saveAs) { - Log.logText('In order to interact with the new report, create a new token and load the new report'); - } - }); -} - -function _Mock_Embed_BasicEmbed_EditMode() { - _Mock_Embed_BasicEmbed(true); -} - -function _Mock_Embed_BasicEmbed_ViewMode() { - _Mock_Embed_BasicEmbed(false); -} - -function _Embed_BasicEmbed_EditMode() { - // Read embed application token from textbox - var txtAccessToken = $('#txtAccessToken').val(); - - // Read embed URL from textbox - var txtEmbedUrl = $('#txtReportEmbed').val(); - - // Read report Id from textbox - var txtEmbedReportId = $('#txtEmbedReportId').val(); - - // Get models. models contains enums that can be used. - var models = window['powerbi-client'].models; - - // Embed configuration used to describe the what and how to embed. - // This object is used when calling powerbi.embed. - // This also includes settings and options such as filters. - // You can find more information at https://github.com/Microsoft/PowerBI-JavaScript/wiki/Embed-Configuration-Details. - var config= { - type: 'report', - accessToken: txtAccessToken, - embedUrl: txtEmbedUrl, - id: txtEmbedReportId, - permissions: models.Permissions.All /*gives maximum permissions*/, - viewMode: models.ViewMode.Edit, - settings: { - filterPaneEnabled: true, - navContentPaneEnabled: true - } - }; - - // Get a reference to the embedded report HTML element - var reportContainer = $('#reportContainer')[0]; - - // Embed the report and display it within the div container. - var report = powerbi.embed(reportContainer, config); - - // Report.off removes a given event handler if it exists. - report.off("loaded"); - - // Report.on will add an event handler which prints to Log window. - report.on("loaded", function() { - Log.logText("Loaded"); - }); - - report.off("error"); - report.on("error", function(event) { - Log.log(event.detail); - }); - - report.off("saved"); - report.on("saved", function(event) { - Log.log(event.detail); - if(event.detail.saveAs) { - Log.logText('In order to interact with the new report, create a new token and load the new report'); - } - }); -} - -function _Embed_EmbedWithDefaultFilter() { - var txtAccessToken = $('#txtAccessToken').val(); - var txtEmbedUrl = $('#txtReportEmbed').val(); - var txtEmbedReportId = $('#txtEmbedReportId').val(); - - const filter = { - $schema: "http://powerbi.com/product/schema#basic", - target: { - table: "Store", - column: "Chain" - }, - operator: "In", - values: ["Lindseys"] - }; - - var embedConfiguration = { - type: 'report', - accessToken: txtAccessToken, - embedUrl: txtEmbedUrl, - id: txtEmbedReportId, - settings: { - filterPaneEnabled: false, - navContentPaneEnabled: false - }, - filters: [filter] - }; - - var reportContainer = document.getElementById('reportContainer'); - powerbi.embed(reportContainer, embedConfiguration); -} - -function _Embed_Create() { - // Read embed application token from textbox - var txtAccessToken = $('#txtCreateAccessToken').val(); - - // Read embed URL from textbox - var txtEmbedUrl = $('#txtCreateReportEmbed').val(); - - // Read dataset Id from textbox - var txtEmbedDatasetId = $('#txtEmbedDatasetId').val(); - - // Embed create configuration used to describe the what and how to create report. - // This object is used when calling powerbi.createReport. - var embedCreateConfiguration = { - accessToken: txtAccessToken, - embedUrl: txtEmbedUrl, - datasetId: txtEmbedDatasetId, - }; - - // Grab the reference to the div HTML element that will host the report - var reportContainer = $('#reportContainer')[0]; - - // Create report - var report = powerbi.createReport(reportContainer, embedCreateConfiguration); - - // Report.off removes a given event handler if it exists. - report.off("loaded"); - - // Report.on will add an event handler which prints to Log window. - report.on("loaded", function() { - Log.logText("Loaded"); - }); - - report.off("error"); - report.on("error", function(event) { - Log.log(event.detail); - }); - - // report.off removes a given event handler if it exists. - report.off("saved"); - report.on("saved", function(event) { - Log.log(event.detail); - Log.logText('In order to interact with the new report, create a new token and load the new report'); - }); -} - -function _Mock_Embed_Create() { - // Read embed application token from textbox - var txtAccessToken = $('#txtCreateAccessToken').val(); - - // Read embed URL from textbox - var txtEmbedUrl = $('#txtCreateReportEmbed').val(); - - // Read dataset Id from textbox - var txtEmbedDatasetId = $('#txtEmbedDatasetId').val(); - - // Embed create configuration used to describe the what and how to create report. - // This object is used when calling powerbi.createReport. - var embedCreateConfiguration = { - accessToken: txtAccessToken, - embedUrl: txtEmbedUrl, - datasetId: txtEmbedDatasetId, - settings: { - useCustomSaveAsDialog: true - } - }; - - // Grab the reference to the div HTML element that will host the report - var reportContainer = $('#reportContainer')[0]; - - // Create report - var report = powerbi.createReport(reportContainer, embedCreateConfiguration); - - // Report.off removes a given event handler if it exists. - report.off("loaded"); - - // Report.on will add an event handler which prints to Log window. - report.on("loaded", function() { - Log.logText("Loaded"); - }); - report.on("saveAsTriggered", function() { - Log.logText("Cannot save sample report"); - }); - - report.off("error"); - report.on("error", function(event) { - Log.log(event.detail); - }); -} - -// ---- Report Operations ---------------------------------------------------- - -function _Report_GetId() { - // Get a reference to the embedded report HTML element - var reportContainer = $('#reportContainer')[0]; - - // Get a reference to the embedded report. - report = powerbi.get(reportContainer); - - // Retrieve the report id. - var reportId = report.getId(); - - Log.logText(reportId); -} - -function _Report_UpdateSettings() { - // The new settings that you want to apply to the report. - const newSettings = { - navContentPaneEnabled: true, - filterPaneEnabled: false - }; - - // Get a reference to the embedded report HTML element - var reportContainer = $('#reportContainer')[0]; - - // Get a reference to the embedded report. - report = powerbi.get(reportContainer); - - // Update the settings by passing in the new settings you have configured. - report.updateSettings(newSettings) - .then(function (result) { - $("#result").html(result); - }) - .catch(function (error) { - $("#result").html(error); - }); -} - -function _Report_GetPages() { - // Get a reference to the embedded report HTML element - var reportContainer = $('#reportContainer')[0]; - - // Get a reference to the embedded report. - report = powerbi.get(reportContainer); - - // Retrieve the page collection and loop through to collect the - // page name and display name of each page and display the value. - report.getPages() - .then(function (pages) { - pages.forEach(function(page) { - var log = page.name + " - " + page.displayName; - Log.logText(log); - }); - }) - .catch(function (error) { - Log.log(error); - }); -} - -function _Report_SetPage() { - // Get a reference to the embedded report HTML element - var reportContainer = $('#reportContainer')[0]; - - // Get a reference to the embedded report. - report = powerbi.get(reportContainer); - - // setPage will change the selected view to the page you indicate. - // This is the actual page name not the display name. - report.setPage("ReportSection2") - .then(function (result) { - Log.log(result); - }) - .catch(function (errors) { - Log.log(errors); - }); - - // Report.off removes a given event handler if it exists. - report.off("pageChanged"); - - // Report.on will add an event handler which prints page - // name and display name to Log window. - report.on("pageChanged", function(event) { - var page = event.detail.newPage; - Log.logText(page.name + " - " + page.displayName); - }); -} - -function _Report_GetFilters() { - // Get a reference to the embedded report HTML element - var reportContainer = $('#reportContainer')[0]; - - // Get a reference to the embedded report. - report = powerbi.get(reportContainer); - - // Get the filters applied to the report. - report.getFilters() - .then(function (filters) { - Log.log(filters); - }) - .catch(function (errors) { - Log.log(errors); - }); -} - -function _Report_SetFilters() { - // Build the filter you want to use. For more information, See Constructing - // Filters in https://github.com/Microsoft/PowerBI-JavaScript/wiki/Filters. - const filter = { - $schema: "http://powerbi.com/product/schema#basic", - target: { - table: "Store", - column: "Chain" - }, - operator: "In", - values: ["Lindseys"] - }; - - // Get a reference to the embedded report HTML element - var reportContainer = $('#reportContainer')[0]; - - // Get a reference to the embedded report. - report = powerbi.get(reportContainer); - - // Set the filter for the report. - // Pay attention that setFilters receives an array. - report.setFilters([filter]) - .then(function (result) { - Log.log(result); - }) - .catch(function (errors) { - Log.log(errors); - }); -} - -function _Report_RemoveFilters() { - // Get a reference to the embedded report HTML element - var reportContainer = $('#reportContainer')[0]; - - // Get a reference to the embedded report. - report = powerbi.get(reportContainer); - - // Remove the filters currently applied to the report. - report.removeFilters() - .then(function (result) { - Log.log(result); - }) - .catch(function (errors) { - Log.log(errors); - }); -} - -function _Report_PrintCurrentReport() { - // Get a reference to the embedded report HTML element - var reportContainer = $('#reportContainer')[0]; - - // Get a reference to the embedded report. - report = powerbi.get(reportContainer); - - // Trigger the print dialog for your browser. - report.print() - .then(function (result) { - Log.log(result); - }) - .catch(function (errors) { - Log.log(errors); - }); -} - -function _Report_Reload() { - // Get a reference to the embedded report HTML element - var reportContainer = $('#reportContainer')[0]; - - // Get a reference to the embedded report. - report = powerbi.get(reportContainer); - - // Reload the displayed report - report.reload() - .then(function (result) { - Log.logText("Reloaded"); - }) - .catch(function (errors) { - Log.log(errors); - }); -} - -function _Report_Refresh() { - // Get a reference to the embedded report HTML element - var reportContainer = $('#reportContainer')[0]; - - // Get a reference to the embedded report. - report = powerbi.get(reportContainer); - - // Refresh the displayed report - report.refresh() - .then(function (result) { - Log.logText("Refreshed"); - }) - .catch(function (errors) { - Log.log(errors); - }); -} - -function _Report_FullScreen() { - // Get a reference to the embedded report HTML element - var reportContainer = $('#reportContainer')[0]; - - // Get a reference to the embedded report. - report = powerbi.get(reportContainer); - - // Displays the report in full screen mode. - report.fullscreen(); -} - -function _Report_ExitFullScreen() { - // Get a reference to the embedded report HTML element - var reportContainer = $('#reportContainer')[0]; - - // Get a reference to the embedded report. - report = powerbi.get(reportContainer); - - // Exits full screen mode. - report.exitFullscreen(); -} - -function _Report_switchModeEdit() { - // Get a reference to the embedded report HTML element - var reportContainer = $('#reportContainer')[0]; - - // Get a reference to the embedded report. - report = powerbi.get(reportContainer); - - // Switch to edit mode. - report.switchMode("edit"); -} - -function _Report_switchModeView() { - // Get a reference to the embedded report HTML element - var reportContainer = $('#reportContainer')[0]; - - // Get a reference to the embedded report. - report = powerbi.get(reportContainer); - - // Switch to view mode. - report.switchMode("view"); -} - -function _Report_save() { - // Get a reference to the embedded report HTML element - var reportContainer = $('#reportContainer')[0]; - - // Get a reference to the embedded report. - report = powerbi.get(reportContainer); - - // Save report - report.save(); -} - -function _Mock_Report_save() { - Log.logText('Cannot save sample report'); -} - -function _Report_saveAs() { - // Get a reference to the embedded report HTML element - var reportContainer = $('#reportContainer')[0]; - - // Get a reference to the embedded report. - report = powerbi.get(reportContainer); - - var saveAsParameters = { - name: "newReport" - }; - - // SaveAs report - report.saveAs(saveAsParameters); -} - -// ---- Page Operations ---------------------------------------------------- - -function _Page_SetActive() { - // Get a reference to the embedded report HTML element - var reportContainer = $('#reportContainer')[0]; - - // Get a reference to the embedded report. - report = powerbi.get(reportContainer); - - // Retrieve the page collection, and then set the second page to be active. - report.getPages() - .then(function (pages) { - pages[1].setActive().then(function (result) { - Log.log(result); - }); - }) - .catch(function (errors) { - Log.log(errors); - }); -} - -function _Page_GetFilters() { - // Get a reference to the embedded report HTML element - var reportContainer = $('#reportContainer')[0]; - - // Get a reference to the embedded report. - report = powerbi.get(reportContainer); - - // Retrieve the page collection and get the filters for the first page. - report.getPages() - .then(function (pages) { - pages[0].getFilters() - .then(function (filters) { - Log.log(filters); - }) - .catch(function (errors) { - Log.log(errors); - }); - }) - .catch(function (errors) { - Log.log(errors); - }); -} - -function _Page_SetFilters() { - // Get a reference to the embedded report HTML element - var reportContainer = $('#reportContainer')[0]; - - // Get a reference to the embedded report. - report = powerbi.get(reportContainer); - - // Build the filter you want to use. For more information, see Constructing - // Filters in https://github.com/Microsoft/PowerBI-JavaScript/wiki/Filters. - const filter = { - $schema: "http://powerbi.com/product/schema#basic", - target: { - table: "Store", - column: "Chain" - }, - operator: "In", - values: ["Lindseys"] - }; - - // Retrieve the page collection and then set the filters for the first page. - // Pay attention that setFilters receives an array. - report.getPages() - .then(function (pages) { - pages[0].setFilters([filter]) - .then(function (result) { - Log.log(result); - }) - .catch(function (errors) { - Log.log(errors); - }); - }) - .catch(function (errors) { - Log.log(errors); - }); -} - -function _Page_RemoveFilters() { - // Get a reference to the embedded report HTML element - var reportContainer = $('#reportContainer')[0]; - - // Get a reference to the embedded report. - report = powerbi.get(reportContainer); - - // Retrieve the page collection and remove the filters for the first page. - report.getPages() - .then(function (pages) { - pages[0].removeFilters() - .then(function (result) { - Log.log(result); - }) - .catch(function (errors) { - Log.log(errors); - }); - }) - .catch(function (errors) { - Log.log(errors); - }); -} - -// ---- Event Listener ---------------------------------------------------- - -function _Events_PageChanged() { - // Get a reference to the embedded report HTML element - var reportContainer = $('#reportContainer')[0]; - - // Get a reference to the embedded report. - report = powerbi.get(reportContainer); - - // Report.off removes a given event listener if it exists. - report.off("pageChanged"); - - // Report.on will add an event listener. - report.on("pageChanged", function(event) { - var page = event.detail.newPage; - Log.logText("Page changed to: " + page.name + " - " + page.displayName); - }); - - // Select Run and change to a different page. - // You should see an entry in the Log window. - - Log.logText("Select different page to see events in Log window."); -} - -function _Events_DataSelected() { - // Get a reference to the embedded report HTML element - var reportContainer = $('#reportContainer')[0]; - - // Get a reference to the embedded report. - report = powerbi.get(reportContainer); - - // Report.off removes a given event listener if it exists. - report.off("dataSelected"); - - // Report.on will add an event listener. - report.on("dataSelected", function(event) { - var data = event.detail; - Log.log(data); - }); - - // Select Run and select an element of a visualization. - // For example, a bar in a bar chart. You should see an entry in the Log window. - - Log.logText("Select data to see events in Log window."); -} - -function _Events_SaveAsTriggered() { - // Get a reference to the embedded report HTML element - var reportContainer = $('#reportContainer')[0]; - - // Get a reference to the embedded report. - report = powerbi.get(reportContainer); - - // Report.off removes a given event listener if it exists. - report.off("saveAsTriggered"); - - // Report.on will add an event listener. - report.on("saveAsTriggered", function(event) { - Log.log(event); - }); - - // Select Run and then select SaveAs. - // You should see an entry in the Log window. - - Log.logText("Select SaveAs to see events in Log window."); -} diff --git a/demo/code-demo/scripts/function_mapping.js b/demo/code-demo/scripts/function_mapping.js deleted file mode 100644 index bb2cf2eb..00000000 --- a/demo/code-demo/scripts/function_mapping.js +++ /dev/null @@ -1,75 +0,0 @@ -const mockDict = { - _Report_GetPages: datasetNotSupported, - _Report_SetPage: datasetNotSupported, - _Report_SetFilters: datasetNotSupported, - _Report_GetFilters: datasetNotSupported, - _Report_RemoveFilters: datasetNotSupported, - _Report_PrintCurrentReport: datasetNotSupported, - _Report_UpdateSettings: datasetNotSupported, - _Report_Reload: datasetNotSupported, - _Page_SetActive: datasetNotSupported, - _Page_SetFilters: datasetNotSupported, - _Page_GetFilters: datasetNotSupported, - _Page_RemoveFilters: datasetNotSupported, - _Report_switchModeEdit: datasetNotSupported, - _Report_switchModeView: datasetNotSupported, - _Embed_BasicEmbed: _Mock_Embed_BasicEmbed_ViewMode, - _Embed_BasicEmbed_EditMode: _Mock_Embed_BasicEmbed_EditMode, - _Report_save: _Mock_Report_save, - _Report_saveAs: _Mock_Report_save, - _Embed_Create: _Mock_Embed_Create -}; - -function datasetNotSupported() { - Log.logText('Operation not supported for dataset') -} - -function IsSaveMock(funcName) { - return ((funcName === '_Report_save' || funcName === '_Report_saveAs') && ( - _session.embedId === 'c52af8ab-0468-4165-92af-dc39858d66ad' /*Sample Report*/ || - _session.embedId === '1ee0b264-b280-43f1-bbb7-9d8bd2d03a78' /*Sample dataset*/ )); -} - -function IsBasicMock(funcName) { - return ((funcName === '_Embed_BasicEmbed' || funcName === '_Embed_BasicEmbed_EditMode') && _session.embedId === 'c52af8ab-0468-4165-92af-dc39858d66ad'); -} - -function IsCreateMock(funcName) { - return (funcName === '_Embed_Create' && _session.embedId === '1ee0b264-b280-43f1-bbb7-9d8bd2d03a78'); -} - -function IsNotSupported(funcName) { - if (powerbi.embeds.length === 0) { - return false - } - - // Get a reference to the embedded element - var embed = powerbi.get($('#reportContainer')[0]); - if (embed.config.type !== 'create') { - return false; - } - - var runFunc = mockDict[funcName]; - return (runFunc && runFunc === datasetNotSupported) ? true : false; -} - -function IsMock(funcName) { - return (IsBasicMock(funcName) || IsSaveMock(funcName) || IsCreateMock(funcName) || IsNotSupported(funcName)); -} - -function mapFunc(func) { - var funcName = getFuncName(func); - return IsMock(funcName) ? mockDict[funcName] : func; -} - -function getFuncName(func) { - var funcName = func.name; - - if (!funcName) - { - // in IE, func.name is invalid method. so, function name should be extracted manually. - funcName = func.toString().match(/^function\s*([^\s(]+)/)[1]; - } - - return funcName; -} \ No newline at end of file diff --git a/demo/code-demo/scripts/index.js b/demo/code-demo/scripts/index.js deleted file mode 100644 index cb4115d0..00000000 --- a/demo/code-demo/scripts/index.js +++ /dev/null @@ -1,54 +0,0 @@ -var sampleContentLoaded = false; -var documentationContentLoaded = false; -var anyReportSectionLoaded = false; - -$(function() { - OpenSampleSection(); -}); - -function OpenSampleSection() { - OpenEmbedWorkspace("#top-sample", "step_authorize.html"); -} - -function OpenAnyReportSection() { - OpenEmbedWorkspace("#top-anyReport", "anyReport.html"); -} - -function OpenEmbedWorkspace(activeTabSelector, authStepHtml) -{ - // Any report, uses the same settings as sample report. ony changes the auth step. - if (!sampleContentLoaded) - { - // Open Report Sample. - $("#sampleContent").load("sample.html", function() { - $("#mainContent").load("report.html"); - sampleContentLoaded = true; - }); - } - - $("#authorize-step-wrapper").load(authStepHtml); - SetActiveStyle(activeTabSelector); - - $(".content").hide(); - $("#sampleContent").show(); - OpenAuthStep(); -} - -function OpenDocumentationSection() { - if (!documentationContentLoaded) - { - $("#documentationContent").load("docs.html"); - documentationContentLoaded = true; - } - - SetActiveStyle("#top-docs"); - - $(".content").hide(); - $("#documentationContent").show(); -} - -function SetActiveStyle(id) -{ - $("#top-ul li").removeClass("top-li-active"); - $(id).addClass("top-li-active"); -} \ No newline at end of file diff --git a/demo/code-demo/scripts/logger.js b/demo/code-demo/scripts/logger.js deleted file mode 100644 index 52b9e454..00000000 --- a/demo/code-demo/scripts/logger.js +++ /dev/null @@ -1,23 +0,0 @@ -function InitLogger(divId) { - - var Logger = {}; - - Logger.log = function name(event) { - this.logText("Json Object\n" + JSON.stringify(event, null, " ")); - }; - - Logger.logText = function name(text) { - var textbox = document.getElementById(divId); - - if (!textbox.value) - { - textbox.value = ""; - } - - textbox.value += "> " + text + "\n"; - - textbox.scrollTop = textbox.scrollHeight; - }; - - return Logger; -} diff --git a/demo/code-demo/scripts/report.js b/demo/code-demo/scripts/report.js deleted file mode 100644 index ff0f1819..00000000 --- a/demo/code-demo/scripts/report.js +++ /dev/null @@ -1,132 +0,0 @@ -const active_class = 'active'; -const active_li = 'steps-li-active'; - -const EmbedViewMode = "view"; -const EmbedEditMode = "edit"; -const EmbedCreateMode = "create"; - -function OpenAuthStep() { - $('#steps-ul a').removeClass(active_class); - $(".steps-li-active").removeClass(active_li); - - $("#steps-auth a").addClass(active_class); - $("#steps-auth").addClass(active_li); - - // Hide Embed view in authorization step. - $("#authorize-step-wrapper").show(); - $("#embed-and-interact-steps-wrapper").hide(); -} - -function OpenEmbedStep(mode) { - $('#steps-ul a').removeClass(active_class); - $(".steps-li-active").removeClass(active_li); - - $('#steps-embed a').addClass(active_class); - $('#steps-embed').addClass(active_li); - - // Hide Embed view in authorization step. - $("#authorize-step-wrapper").hide(); - $("#embed-and-interact-steps-wrapper").show(); - - $("#settings").load("settings_embed.html", function() { - OpenEmbedMode(mode); - - // Fix report size ratio - var reportContainer = $("#reportContainer"); - reportContainer.height(reportContainer.width() * 0.59); - }); -} - -function OpenInteractStep() { - $('#steps-ul a').removeClass(active_class); - $(".steps-li-active").removeClass(active_li); - - $('#steps-interact a').addClass(active_class); - $('#steps-interact').addClass(active_li); - - // Hide Embed view in authorization step. - $("#authorize-step-wrapper").hide(); - $("#embed-and-interact-steps-wrapper").show(); - - $("#settings").load("settings_interact.html", function() { - SetToggleHandler("report-operations-div"); - SetToggleHandler("page-operations-div"); - SetToggleHandler("events-operations-div"); - SetToggleHandler("editandsave-operations-div"); - LoadCodeArea("#embedCodeDiv", _Report_GetId); - }); -} - -function setCodeArea(mode) -{ - if (mode === EmbedViewMode) - { - LoadCodeArea("#embedCodeDiv", _Embed_BasicEmbed); - } - else if (mode === EmbedEditMode) - { - LoadCodeArea("#embedCodeDiv", _Embed_BasicEmbed_EditMode); - } - else if (mode === EmbedCreateMode) - { - LoadCodeArea("#embedCodeDiv", _Embed_Create); - } -} - -function showEmbedSettings(mode) -{ - var inputDivToShow = "#embedModeInput"; - var inputDivToHide = "#createModeInput"; - - if (mode === EmbedCreateMode) - { - inputDivToShow = "#createModeInput"; - inputDivToHide = "#embedModeInput"; - } - - $(inputDivToShow).show(); - $(inputDivToHide).hide(); - - var embedModeRadios = $('input:radio[name=embedMode]'); - embedModeRadios.filter('[value='+ mode + ']').prop('checked', true); -} - -function OpenEmbedMode(mode) -{ - if (mode == EmbedCreateMode) - { - if (IsEmbeddingSampleReport()) - { - LoadSampleDatasetIntoSession(); - } - - SetTextBoxesFromSessionOrUrlParam("#txtCreateAccessToken", "#txtCreateReportEmbed", "#txtEmbedDatasetId"); - } - else { - if (IsEmbeddingSampleReport()) - { - LoadSampleReportIntoSession(); - } - - SetTextBoxesFromSessionOrUrlParam("#txtAccessToken", "#txtReportEmbed", "#txtEmbedReportId"); - } - - setCodeArea(mode); - showEmbedSettings(mode); -} - -function OpenViewMode() { - OpenEmbedMode(EmbedViewMode); -} - -function OpenEditMode() { - OpenEmbedMode(EmbedEditMode); -} - -function OpenCreateMode() { - OpenEmbedMode(EmbedCreateMode); -} - -function IsEmbeddingSampleReport() { - return GetSession(SessionKeys.IsSampleReport) == true; -} diff --git a/demo/code-demo/scripts/session_utils.js b/demo/code-demo/scripts/session_utils.js deleted file mode 100644 index d95adc4b..00000000 --- a/demo/code-demo/scripts/session_utils.js +++ /dev/null @@ -1,76 +0,0 @@ -var _session = {}; - -const SessionKeys = { - AccessToken : "accessToken", - EmbedUrl : "embedUrl", - EmbedId : "embedId", - GroupId : "groupId", - IsSampleReport: "isSampleReport", - QnaQuestion: "qnaQuestion", - EntityIsAlreadyEmbedded: "EntityIsAlreadyEmbedded", -}; - -function GetParameterByName(name, url) { - if (!url) { - url = window.location.href; - } - name = name.replace(/[\[\]]/g, "\\$&"); - var regex = new RegExp("[?&]" + name + "(=([^&#]*)|&|#|$)"), - results = regex.exec(url); - if (!results) return null; - if (!results[2]) return ''; - return decodeURIComponent(results[2].replace(/\+/g, " ")); -} - -function SetSession(key, value) { - // This is a temporal solution for session (which is cleared on reload). Should be replaced with a real session. - _session[key] = value; -} - -function GetSession(key) { - // This is a temporal solution for session (which is cleared on reload). Should be replaced with a real session. - return _session[key]; -} - -function UpdateSession(button, sessionKey) { - var value = $(button).val(); - if (value) - { - SetSession(sessionKey, value); - } -} - -function SetTextBoxesFromSessionOrUrlParam(accessTokenSelector, embedUrlSelector, embedIdSelector) { - var accessToken = GetParameterByName(SessionKeys.AccessToken); - if (!accessToken) - { - accessToken = GetSession(SessionKeys.AccessToken); - } - - var embedUrl = GetParameterByName(SessionKeys.EmbedUrl); - if (!embedUrl) - { - embedUrl = GetSession(SessionKeys.EmbedUrl); - } else { - var groupId = GetParameterByName(SessionKeys.GroupId); - if(groupId) - { - if (embedUrl.indexOf("?") != -1) - { - embedUrl += "&groupId=" + groupId; - } else { - embedUrl += "?groupId=" + groupId; - } - } - } - - var embedId = GetParameterByName(SessionKeys.EmbedId); - if (!embedId) - { - embedId = GetSession(SessionKeys.EmbedId); - } - - $(accessTokenSelector).val(accessToken); - $(embedUrlSelector).val(embedUrl); - $(embedIdSelector).val(embedId); -} diff --git a/demo/code-demo/scripts/step_authorize.js b/demo/code-demo/scripts/step_authorize.js deleted file mode 100644 index 43e793f5..00000000 --- a/demo/code-demo/scripts/step_authorize.js +++ /dev/null @@ -1,41 +0,0 @@ -const SampleReport = { - AccessToken : "", - EmbedUrl : "https://embedded.powerbi.com/appTokenReportEmbed?reportId=c52af8ab-0468-4165-92af-dc39858d66ad", - EmbedId : "c52af8ab-0468-4165-92af-dc39858d66ad" -}; - -const SampleDataset = { - AccessToken : "", - EmbedUrl : "https://embedded.powerbi.com/appTokenReportEmbed", - EmbedId : "1ee0b264-b280-43f1-bbb7-9d8bd2d03a78" -}; - -function LoadSampleReportIntoSession() { - setSession(SampleReport.AccessToken, SampleReport.EmbedUrl, SampleReport.EmbedId); -} - -function LoadSampleDatasetIntoSession() { - setSession(SampleDataset.AccessToken, SampleDataset.EmbedUrl, SampleDataset.EmbedId); -} - -function OpenEmbedStepWithSample() { - SetSession(SessionKeys.IsSampleReport, true); - OpenEmbedStep(EmbedViewMode); -} - -function OpenEmbedStepCreateWithSample() { - SetSession(SessionKeys.IsSampleReport, true); - OpenEmbedStep(EmbedCreateMode); -} - -function OpenEmbedStepFromUserSettings() { - SetSession(SessionKeys.IsSampleReport, false); - OpenEmbedStep(EmbedViewMode); -} - -function setSession(accessToken, embedUrl, embedId) -{ - SetSession(SessionKeys.AccessToken, accessToken); - SetSession(SessionKeys.EmbedUrl, embedUrl); - SetSession(SessionKeys.EmbedId, embedId); -} \ No newline at end of file diff --git a/demo/code-demo/scripts/step_embed.js b/demo/code-demo/scripts/step_embed.js deleted file mode 100644 index af4cacef..00000000 --- a/demo/code-demo/scripts/step_embed.js +++ /dev/null @@ -1,98 +0,0 @@ -// ---- Report Operations ---------------------------------------------------- -function Report_GetId() { - SetCode(_Report_GetId); -} - -function Report_UpdateSettings() { - SetCode(_Report_UpdateSettings); -} - -function Report_GetPages() { - SetCode(_Report_GetPages); -} - -function Report_SetPage() { - SetCode(_Report_SetPage); -} - -function Report_GetFilters() { - SetCode(_Report_GetFilters); -} - -function Report_SetFilters() { - SetCode(_Report_SetFilters); -} - -function Report_RemoveFilters() { - SetCode(_Report_RemoveFilters); -} - -function Report_PrintCurrentReport() { - SetCode(_Report_PrintCurrentReport); -} - -function Report_Reload() { - SetCode(_Report_Reload); -} - -function Report_Refresh() { - SetCode(_Report_Refresh); -} - -function Report_FullScreen() { - SetCode(_Report_FullScreen); -} - -function Report_ExitFullScreen() { - SetCode(_Report_ExitFullScreen); -} - -// ---- Page Operations ---------------------------------------------------- - -function Page_SetActive() { - SetCode(_Page_SetActive); -} - -function Page_GetFilters() { - SetCode(_Page_GetFilters); -} - -function Page_SetFilters() { - SetCode(_Page_SetFilters); -} - -function Page_RemoveFilters() { - SetCode(_Page_RemoveFilters); -} - -// ---- Event Listener ---------------------------------------------------- - -function Events_PageChanged() { - SetCode(_Events_PageChanged); -} - -function Events_DataSelected() { - SetCode(_Events_DataSelected); -} - -function Events_SaveAsTriggered() { - SetCode(_Events_SaveAsTriggered); -} - -// ---- Edit and Save Operations ---------------------------------------------------- - -function Report_switchModeEdit() { - SetCode(_Report_switchModeEdit); -} - -function Report_switchModeView() { - SetCode(_Report_switchModeView); -} - -function Report_save() { - SetCode(_Report_save); -} - -function Report_saveAs() { - SetCode(_Report_saveAs); -} \ No newline at end of file diff --git a/demo/code-demo/scripts/step_interact.js b/demo/code-demo/scripts/step_interact.js deleted file mode 100644 index ea15a6fd..00000000 --- a/demo/code-demo/scripts/step_interact.js +++ /dev/null @@ -1,73 +0,0 @@ -function OpenReportOperations() { - $("#report-operations-div").show(); - $("#page-operations-div").hide(); - $("#events-operations-div").hide(); - $("#editandsave-operations-div").hide(); - - $("#report-operations-li").addClass('active'); - $('#page-operations-li').removeClass('active'); - $('#events-operations-li').removeClass('active'); - $('#editandsave-operations-li').removeClass('active'); - - $("#report-operations-div .function-ul li.active").click() - - $("#selected-catogory-button").html("Report operations"); -} - -function OpenPageOperations() { - $("#page-operations-div").show(); - $("#report-operations-div").hide(); - $("#events-operations-div").hide(); - $("#editandsave-operations-div").hide(); - - $("#page-operations-li").addClass('active'); - $('#report-operations-li').removeClass('active'); - $('#events-operations-li').removeClass('active'); - $('#editandsave-operations-li').removeClass('active'); - - $("#page-operations-div .function-ul li.active").click(); - - $("#selected-catogory-button").html("Page operations"); -} - -function OpenEventOperations() { - $("#page-operations-div").hide(); - $("#report-operations-div").hide(); - $("#events-operations-div").show(); - $("#editandsave-operations-div").hide(); - - $("#page-operations-li").removeClass('active'); - $('#report-operations-li').removeClass('active'); - $('#events-operations-li').addClass('active'); - $('#editandsave-operations-li').removeClass('active'); - - $("#events-operations-div .function-ul li.active").click(); - - $("#selected-catogory-button").html("Events Listener"); -} - -function OpenEditAndSaveOperations() { - $("#page-operations-div").hide(); - $("#report-operations-div").hide(); - $("#events-operations-div").hide(); - $("#editandsave-operations-div").show(); - - $("#page-operations-li").removeClass('active'); - $('#report-operations-li').removeClass('active'); - $('#events-operations-li').removeClass('active'); - $('#editandsave-operations-li').addClass('active'); - - $("#editandsave-operations-div .function-ul li.active").click(); - - $("#selected-catogory-button").html("Edit and save operations"); -} - -function SetToggleHandler(devId) { - var selector = "#" + devId + " .function-ul li"; - $(selector).each(function(index, li) { - $(li).click(function() { - $(selector).removeClass('active'); - $(li).addClass('active'); - }); - }); -} diff --git a/demo/code-demo/scripts/utils.js b/demo/code-demo/scripts/utils.js deleted file mode 100644 index 9a4c7bd6..00000000 --- a/demo/code-demo/scripts/utils.js +++ /dev/null @@ -1,82 +0,0 @@ -function ValidateEmbedUrl(embedUrl) { - var embedUrl = $('#txtReportEmbed').val(); - - if (!embedUrl) - { - alert("You must specify an embed url."); - return false; - } - var id = null; - var parts = embedUrl.split("reportId="); - if (parts && parts.length > 0) - { - var guidParts = parts[parts.length -1].split("&"); - if (guidParts && guidParts.length > 0) - { - id = guidParts[0]; - } - } - - if (!id) - { - alert("Could not find report ID in url"); - return false; - } - - return true; -} - -function BodyCodeOfFunction(func) { - var lines = func.toString().split('\n'); - lines = lines.slice(1, lines.length-1); - - for (var i = 0; i < lines.length; ++i) - { - // remove trailing spaces. - lines[i] = lines[i].substring(4); - } - - return lines.join('\n'); -} - -function LoadCodeArea(divSelector, initialFunctionCode) { - $(divSelector).load("code_area.html", function() { - SetCode(initialFunctionCode); - }); -} - -function LoadLogWindow(divSelector) { - $(divSelector).load("log_window.html"); -} - -function SetCode(func) { - var codeHtml = '
';
-	codeHtml = codeHtml + BodyCodeOfFunction(func) + '
'; - $("#highlighter").html(codeHtml); - - var runFunc = mapFunc(func); - - $('#btnRunCode').off('click'); - $('#btnRunCode').click(runFunc); -} - -function CopyCode() { - CopyTextArea("#txtCode", "#btnRunCopyCode"); -} - -function CopyResponseWindow() { - CopyTextArea("#txtResponse", "#btnCopyResponse"); -} - -function CopyTextArea(textAreaSelector, buttonSelector) { - $(textAreaSelector).select(); - document.execCommand('copy'); - window.getSelection().removeAllRanges(); - - // Set focus on copy button - this will deselect text in copied area. - $(buttonSelector).focus(); -} - -function ClearTextArea(textAreaSelector) { - $(textAreaSelector).val(""); -} diff --git a/demo/code-demo/settings_embed.html b/demo/code-demo/settings_embed.html deleted file mode 100644 index c850640a..00000000 --- a/demo/code-demo/settings_embed.html +++ /dev/null @@ -1,50 +0,0 @@ -
-
-

Embed Report

-
- - Select mode to embed your report in: -
-
-
View mode
-
Edit mode
-
Create mode
-
- -
- Fill in the fields below to get the code to embed your report. -
- -
-
Embed Token
- -
-
-
Embed URL
- -
-
-
Report Id
- -
-
- -
- Fill in the fields below to get the code to embed your report. -
- -
-
Embed Token
- -
-
-
Embed URL
- -
-
-
Dataset Id
- -
-
- -
\ No newline at end of file diff --git a/demo/code-demo/settings_interact.html b/demo/code-demo/settings_interact.html deleted file mode 100644 index 1e37e084..00000000 --- a/demo/code-demo/settings_interact.html +++ /dev/null @@ -1,65 +0,0 @@ -
-
-
-
- -
-
-
-
-
-
    -
  • Get Id
  • -
  • Get pages
  • -
  • Set page
  • -
  • Set filters
  • -
  • Get filters
  • -
  • Remove filters
  • -
  • Print
  • -
  • Update settings
  • -
  • Reload
  • -
  • Refresh
  • -
  • Full screen
  • -
  • Exit full screen
  • -
-
- - - -
-
-
-
\ No newline at end of file diff --git a/demo/code-demo/step_authorize.html b/demo/code-demo/step_authorize.html deleted file mode 100644 index 5bdceab1..00000000 --- a/demo/code-demo/step_authorize.html +++ /dev/null @@ -1,32 +0,0 @@ - -
-
-
-
-

Deprecation Note

-
- This sample is deprecated. please use the new sample available - here. - -
- - The new sample accommodates the changes announced in the embedded offering described in - Power BI Documentation page. -
- -
-

Sample Report

- You can embed a sample report and interact with Power BI Embedded firsthand by clicking below. -
-
- -
-
-
- - \ No newline at end of file diff --git a/demo/code-demo/style/layout.css b/demo/code-demo/style/layout.css deleted file mode 100644 index 279231e7..00000000 --- a/demo/code-demo/style/layout.css +++ /dev/null @@ -1,359 +0,0 @@ -body { - min-width: 300px; -} - -header -{ - padding: 20px 40px; -} - -.logo-text-span { - color: rgb(0, 174, 239); - font-family: 'Segoe UI Web Light', 'Segoe UI Light', 'Segoe WP Light', 'Segoe UI', 'Segoe WP', Tahoma, Arial, sans-serif; - font-weight: normal; - font-size: 28px; -} - -#mainContent { - position: relative; - color: #404040; - /* margin: 15px 30px; */ - float: left; - width: 100%; -} - -.content { - position: relative; - color: #404040; - margin: 15px 30px; - height: 100%; -} - -#settings { - width: 270px; - margin-right: 20px; -} - -#embedCodeDiv { - width: 400px; - margin-right: 20px; - max-height: 300px; - float: left; -} - -#embedArea { - clear: both; - width: 100%; - padding-left: 290px; -} - -#reportContainer { - width: 100%; - height: 450px; - background-color: white; - padding: 0px; - clear: both; -} - -#logWindow { - width: 400px; - float: left; -} - -.topPanel { - margin-bottom: 10px; -} - -.bottomPanel { - width: 100%; - margin-bottom: 10px; - max-width: 100%; -} - -#steps-nav-bar { - width: 100%; - font-size: 90%; - border-bottom: 1px solid #E5E5E5; - margin-bottom: 20px; - padding-right: 0; - margin-right: 0; -} - -#steps-ul li { - width: 32%; - display: inline-block; -} - -@media screen and (max-width: 320px) { - header - { - padding: 15px 30px; - } - - .logo-text-span { - font-size: 90%; - line-height: 42px; - min-width: 295px; - } - - .topPanel { - height: 430px; - width: 100%; - } - - #embedCodeDiv { - width: 100%; - margin-bottom: 30px; - margin-right: 0px; - } - - #logWindow { - width: 100%; - } - - #settings { - width: 100%; - float: left; - margin-right: 0px; - } - - #reportContainer { - width: 100%; - height: 360px; - } - - #embedArea { - padding-left: 0px; - } -} - -@media screen and (max-width: 500px) { - .top-ul li { - float: left; - margin-right: 15px; - text-align: center; - line-height: 22px; - font-size: 13px; - } -} - -@media screen and (min-width: 321px) { - header - { - padding: 15px 30px; - } - - .logo-text-span { - font-size: 110%; - line-height: 42px; - min-width: 295px; - } - - .topPanel { - height: 430px; - width: 100%; - } - - #embedCodeDiv { - width: 100%; - margin-bottom: 30px; - margin-right: 0px; - } - - #logWindow { - width: 100%; - } - - #settings { - width: 100%; - float: left; - margin-right: 0px; - } - - #reportContainer { - width: 100%; - height: 360px; - } - - #embedArea { - padding-left: 0px; - } -} - -@media screen and (min-width: 551px) { - header - { - padding: 15px 10px; - } - - .logo-text-span { - font-size: 90%; - line-height: 42px; - min-width: 295px; - } - - .topPanel { - height: 330px; - width: 100%; - } - - #embedCodeDiv { - width: 100%; - margin-bottom: 30px; - margin-right: 0px; - } - - #logWindow { - width: 100%; - } - - #settings { - width: 100%; - float: left; - margin-right: 0px; - } - - #reportContainer { - width: 100%; - height: 360px; - } - - #embedArea { - padding-left: 0px; - } -} - -@media screen and (min-width: 861px) and (max-width: 1023px) { - header - { - padding: 20px 40px; - } - - .logo-text-span { - font-size: 28px; - } - - #embedCodeDiv { - width: 49%; - font-size: 90%; - margin-right: 2%; - } - - #logWindow { - width: 49%; - } - - #settings { - float: none; - width: 380px; - } - - #reportContainer { - width: 100%; - height: 360px; - } - - #embedArea { - padding-left: 0px; - } -} - -@media screen and (min-width: 1024px) { - header - { - padding: 20px 40px; - } - - .logo-text-span { - font-size: 28px; - } - - #mainContent { - width: 86.7%; - margin-left: 0.8%; - } - - #embedCodeDiv { - width: 34%; - font-size: 90%; - margin-right: 1%; - } - - #logWindow { - width: 34%; - } - - #settings { - float: left; - width: 30%; - margin-right: 1%; - } - - #operations-ul li { - margin: 0px 2px; - } - - #reportContainer { - width: 100%; - height: 380px; - } - - .bottomPanel { - margin-left: 0; - width: 100%; - } - - #steps-nav-bar { - width: 13.3%; - font-size: 90%; - padding-right: 0.8%; - border-right: 1px solid #E5E5E5; - border-bottom: none; - margin-bottom: 0px; - } - - #steps-ul li { - width: 100%; - display: block; - } -} - -@media screen and (min-width: 1280px) { - .logo-text-span { - font-size: 28px; - } - - .content { - margin: 15px 20px; - } - - .bottomPanel { - max-width: 100%; - margin-left: 0px; - } - - .steps-ul li { - font-size: 17px; - } -} - - -@media screen and (min-width: 1600px) { - .logo-text-span { - font-size: 28px; - } - - .content { - margin: 15px 40px; - } -} - -@media screen and (min-width: 1800px) { - .logo-text-span { - font-size: 28px; - } - - #reportContainer { - height: 450px; - } -} \ No newline at end of file diff --git a/demo/code-demo/style/style.css b/demo/code-demo/style/style.css deleted file mode 100644 index 09ffbe1b..00000000 --- a/demo/code-demo/style/style.css +++ /dev/null @@ -1,628 +0,0 @@ -html { - margin:0; - padding:0; - height:100%; -} - -body { - background-color: rgb(241, 241, 241); - font-family: 'Segoe UI', 'Segoe WP', Tahoma, Arial, sans-serif; - margin:0; - padding:0; - height:100%; -} - -h3 { - margin: 0; -} - -hr { - border-color: #DDDDDD; -} - -header { - display: block; - width: 100%; - top: 0px; - z-index: 1030; - color: rgb(8, 122, 165); - background-color: rgb(24, 24, 25); - height: 100px; -} - -a:hover, a:visited, a:link, a:active -{ - text-decoration: none; -} - -#nextStep { - float: right; -} - -#result-wrap { - margin-top: 10px; -} - -#user-embed-details { - width: 100%; -} - -#user-embed-details tr { - width: 100%; -} - -#user-embed-details input[type="text"] { - width: 100%; - border: none; - margin-bottom: 5px; -} - -#report-embed-table { - width: 100%; -} - -#report-embed-table tr { - width: 100%; -} - -.inputLine > span { - width: 30%; -} - -#report-embed-table input[type="text"] { - width: 73%; - border: none; - margin-bottom: 5px; -} - -#report-embed-checkbox input { - width: auto; - border: none; - margin-bottom: 5px; -} - -#oldSample { - display: block; - float: right; - margin-right: 30px; -} - -#deprecationNote { - margin-bottom: 30px; -} - -#deprecationNote .pageTitle { - margin-bottom: 15px; - font-weight: normal; - color: red; -} - -#sampleReportImgDiv img { - width: 265px; - height: 180px; -} - -#sampleReportImgDiv { - margin-top: 17px; - margin-right: 32px; - float: left; -} - -#sampleReportDescription { - float: left; - margin-top: 17px; - max-width: 400px; -} - -a { - text-decoration: none; -} - -.btn.btn-margin { - margin-bottom: 5px; -} - -.halfWidth.right { - width: 750px; - min-height: 100px; - float: left; - padding-top: 10px; - padding-bottom: 10px; -} - -.halfWidth.left { - width: 750px; - min-height: 100px; - float: left; - padding-top: 10px; - padding-bottom: 10px; - margin-right: 40px; -} - -.break-float { - clear: both; - width: 100%; -} - -.pbi-line { - display: inline-block; - width: 100%; -} - -#top-nav-bar { - margin-top: 10px; -} - -#top-nav-bar a { - color: white; - display: inline-block; -} - -#top-nav-bar a:hover { - color: rgb(8, 122, 165); -} - -#top-nav-bar .active { - color: rgb(0, 174, 239); -} - -#steps-nav-bar a { - color: black; - display: inline-block; -} - -#steps-nav-bar a:hover { - font-weight: bold; -} - -#steps-nav-bar .active { - color: white; -} - -.main-ul { - list-style-type: none; - margin: 0px 30px; - padding: 0; - overflow: hidden; - float: right; -} - -.main-ul .active { - background-color: rgb(245, 211, 65); -} - -.main-li { - float: left; -} - -.main-li a { - display: block; - color: black; - text-align: center; - padding: 0px 16px; - text-decoration: none; -} - -.main-li a:visited { - display: block; - color: black; - text-align: center; - padding: 0px 16px; - text-decoration: none; - background-color: rgb(245, 211, 65); -} - -.main-li a:hover { - display: block; - color: black; - text-align: center; - padding: 0px 16px; - text-decoration: none; - background-color: rgb(245, 211, 65); -} - -.main-li a:active { - display: block; - color: black; - text-align: center; - padding: 0px 16px; - text-decoration: none; - background-color: rgb(245, 211, 65); -} - -.main-title { - font-family: 'Segoe UI Web Light', 'Segoe UI Light', 'Segoe WP Light', 'Segoe UI', 'Segoe WP', Tahoma, Arial, sans-serif; - font-size: 28px; - font-weight: bold; -} - -#navbar { - float: left; - width: 100%; -} - -#top-ul-dev { - float: left; -} - -.top-ul { - list-style-type: none; - margin: 0px; - overflow: hidden; - -webkit-margin-before: 0; - -webkit-padding-start: 0; - line-height: 30px; -} - -.top-ul li { - float: left; - margin-right: 40px; - text-align: center; - line-height: 22px; - font-size: 17px; -} - -#top-docs { - margin-right: 0px; -} - -.top-li-active { - color: white; - border-bottom: 1px solid white; - padding-bottom: 3px; -} - -#steps-ul-dev { - float: left; - width: 100%; -} - -.steps-ul { - list-style-type: none; - margin: 0px; - overflow: hidden; - -webkit-margin-before: 0; - -webkit-padding-start: 0; - line-height: 30px; - width: 100%; -} - -.steps-ul li { - float: none; - text-align: left; - line-height: 22px; - font-weight: 400; - height: 40px; - width: 100%; - margin-bottom: 10px; - vertical-align: middle; -} - -#steps-interact { - margin-right: 0px; -} - -.steps-li-active { - color: white; - text-decoration: none; - background-color: #666666; -} - -.operations-div { - height: 100%; - width: 95%; - background-color: rgb(231, 232, 233); - text-align: center; - overflow-y: scroll; - position: relative; -} - -#operations-ul a { - text-decoration: none; - color: rgb(27, 27, 27); - width: 100%; - text-align: center; -} - -#operations-ul li:hover { - border-bottom: 3px solid #444444; -} - -#operations-ul { - -webkit-margin-before: 0; - -webkit-margin-after: 0; - -webkit-padding-start: 0; -} - -#operations-ul li { - margin: 0px 30px 0px 0px; - display: inline-block; - /* font-size: 14px; */ - color: #444444; -} - -#operations-ul > .active { - border-bottom: 3px #444444 solid; -} - -#wrapper-operations-div { - padding: 10px 20px 15px 20px; - background-color: rgb(231, 232, 233); - width: 100%; - height: 300px; - overflow: hidden; - display: inline-block; -} - -#report-operations-div::-webkit-scrollbar-track, #page-operations-div::-webkit-scrollbar-track, #events-operations-div::-webkit-scrollbar-track -{ - border-radius: 10px; - background-color: transparent; -} - -#report-operations-div::-webkit-scrollbar, #page-operations-div::-webkit-scrollbar, #events-operations-div::-webkit-scrollbar -{ - width:10px; - height:10px; - background-color: transparent; -} - -#report-operations-div::-webkit-scrollbar-thumb, page-operations-div::-webkit-scrollbar-thumb, #events-operations-div::-webkit-scrollbar-thumb -{ - border-radius: 10px; - background-color: #888888; -} - -#operations-ul-wrapper img { - width: 20px; - position: relative; - top: 3px; -} - -#operation-categories { - margin-bottom: 0px; -} - -#selected-catogory-button { - background-color: transparent; - border: none; - color: rgb(27, 27, 27); - min-width: 120px; - text-align: left; -} - -.function-ul { - width: 100%; - clear: both; - margin: 0; - padding: 0px 20px 0px 0px; -} - -.function-ul li { - width: 100%; - clear: both; - cursor: default; -} - -.function-ul a { - text-decoration: none; - color: rgb(27, 27, 27); -} - -.function-ul .active { - background-color: rgb(88, 88, 90); - color: white; -} - -.function-ul a:hover { - background-color: #888888; -} - -.function-ul li { - list-style-type: none; - margin: 0px; - overflow: hidden; - -webkit-margin-before: 0; - -webkit-padding-start: 0; - margin: 5px 0px; - text-align: left; - padding: 3px; -} - -.td-field-name { - width: 130px; - text-align: right; - color: #888888; - padding-right: 5px; -} - -.pageTitle { - margin-bottom: 10px; -} - -.pageTitle h3 { - margin-bottom: 15px; - font-weight: normal; -} - -.editorTitle { - margin-bottom: 5px; -} - -#GoToInteractStep { - display: inline-block; - position: relative; -} - -.textAreaControls { - text-align: right; - position: relative; - z-index: 1; - height: 30px; - padding: 10px 20px; - font-size: 14px; -} - -.textAreaControl { - color: rgb(127, 127, 127); - background-color: transparent; - border: none; - margin-right: 5px; -} - -.textAreaControl img { - width: 16px; - height: 16px; - position: relative; - top: -2px; -} - -.responseTextArea { - width: 100%; - height: 300px; - border: none; - padding-top: 40px; - position: relative; - top: -30px; - padding-left: 10px; - margin-bottom: -30px; -} - -.responseDiv { - width: 100%; - float: left; -} - -.blueButton { - background-color: rgb(36, 169, 225); - border: none; - color: white; - padding: 5px 30px; -} - -.spacer { - height: 10px; -} - -.scrollbar -{ - margin-left: 30px; - float: left; - height: 300px; - width: 65px; - background: #F5F5F5; - overflow-y: scroll; - margin-bottom: 25px; -} - -#txtCode { - width: 100%; - height: 300px; - border: none; - padding: 20px; - position: relative; - top: -30px; - background: #FFFFFF; - overflow: auto; - white-space: pre-wrap; -} - -#GoToEmbedStepButton { - margin-top: 12px; -} - -#authStepDiv { - max-width: 500px; -} - -#report-embed-table .inputLine { - margin: 5px 0px; -} - -.pageTitle h4 { - font-size: 18px; - font-weight: normal; - margin: 0px 0px 5px 0px; -} - -.top-div { - border-radius: 50%; - width: 10px; - height: 10px; - display: inline-block; - background-color: white; - border: solid black 1px; -} - -.active-top { - background-color: rgb(36, 169, 225); -} - -.step-div { - border-radius: 50%; - width: 10px; - height: 10px; - display: inline-block; - background-color: white; - border: solid black 1px; -} - -.active-step { - background-color: rgb(36, 169, 225); -} - -.editorTitleText { - display: inline-block; -} - -#selected-catogory-button-wrapper img { - width: 20px; - position: relative; - top: -1px; -} - -.checkbox.input { - width: auto; -} - -.stepsButton { - -height: 100%; - -padding: 10px 0px 0px 10px; - -line-height: 20px; -} - -.video { - width: 90%; - height: 500px; - max-width: 800px; -} - -.title { - font-size: 17px; - font-weight: 400px; -} - -#embedModeInput { - -} - -#createModeInput { - display: none; -} - -.inputLineTitle { - width: 25%; - display: inline-block; -} - -#modeSelector { - margin-bottom: 20px; - cursor: default; -} - -#reportContainer iframe { - border: none; -} \ No newline at end of file diff --git a/demo/code-demo/style/syntaxHighlighterOverride.css b/demo/code-demo/style/syntaxHighlighterOverride.css deleted file mode 100644 index 1f789f8b..00000000 --- a/demo/code-demo/style/syntaxHighlighterOverride.css +++ /dev/null @@ -1,10 +0,0 @@ -.syntaxhighlighter { - overflow: hidden !important; - margin: 0em !important; - padding: 0em !important; - top: -85px !important; -} - -.syntaxhighlighter .line { - white-space: pre-wrap !important; -} \ No newline at end of file diff --git a/demo/code-demo/syntaxHighlighter/syntaxhighlighter.js b/demo/code-demo/syntaxHighlighter/syntaxhighlighter.js deleted file mode 100644 index 7d773ec8..00000000 --- a/demo/code-demo/syntaxHighlighter/syntaxhighlighter.js +++ /dev/null @@ -1,3768 +0,0 @@ -/*! - * SyntaxHighlighter - * https://github.com/syntaxhighlighter/syntaxhighlighter - * - * SyntaxHighlighter is donationware. If you are using it, please donate. - * http://alexgorbatchev.com/SyntaxHighlighter/donate.html - * - * @version - * 4.0.1 (Tue, 07 Mar 2017 15:42:46 GMT) - * - * @copyright - * Copyright (C) 2004-2016 Alex Gorbatchev. - * - * @license - * Dual licensed under the MIT and GPL licenses. - */ -/******/ (function(modules) { // webpackBootstrap -/******/ // The module cache -/******/ var installedModules = {}; -/******/ -/******/ // The require function -/******/ function __webpack_require__(moduleId) { -/******/ -/******/ // Check if module is in cache -/******/ 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 -/******/ }; -/******/ -/******/ // Execute the module function -/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); -/******/ -/******/ // Flag the module as loaded -/******/ module.loaded = true; -/******/ -/******/ // Return the exports of the module -/******/ return module.exports; -/******/ } -/******/ -/******/ -/******/ // expose the modules object (__webpack_modules__) -/******/ __webpack_require__.m = modules; -/******/ -/******/ // expose the module cache -/******/ __webpack_require__.c = installedModules; -/******/ -/******/ // __webpack_public_path__ -/******/ __webpack_require__.p = ""; -/******/ -/******/ // Load entry module and return exports -/******/ return __webpack_require__(0); -/******/ }) -/************************************************************************/ -/******/ ([ -/* 0 */ -/***/ function(module, exports, __webpack_require__) { - - 'use strict'; - - Object.defineProperty(exports, "__esModule", { - value: true - }); - - var _core = __webpack_require__(1); - - Object.keys(_core).forEach(function (key) { - if (key === "default" || key === "__esModule") return; - Object.defineProperty(exports, key, { - enumerable: true, - get: function get() { - return _core[key]; - } - }); - }); - - var _domready = __webpack_require__(24); - - var _domready2 = _interopRequireDefault(_domready); - - var _core2 = _interopRequireDefault(_core); - - var _dasherize = __webpack_require__(25); - - var dasherize = _interopRequireWildcard(_dasherize); - - function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } } - - function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - - // configured through the `--compat` parameter. - if (false) { - require('./compatibility_layer_v3'); - } - - (0, _domready2.default)(function () { - return _core2.default.highlight(dasherize.object(window.syntaxhighlighterConfig || {})); - }); - -/***/ }, -/* 1 */ -/***/ function(module, exports, __webpack_require__) { - - 'use strict'; - - Object.defineProperty(exports, "__esModule", { - value: true - }); - var optsParser = __webpack_require__(2), - match = __webpack_require__(5), - Renderer = __webpack_require__(9).default, - utils = __webpack_require__(10), - transformers = __webpack_require__(11), - dom = __webpack_require__(17), - config = __webpack_require__(18), - defaults = __webpack_require__(19), - HtmlScript = __webpack_require__(20); - - var sh = { - Match: match.Match, - Highlighter: __webpack_require__(22), - - config: __webpack_require__(18), - regexLib: __webpack_require__(3).commonRegExp, - - /** Internal 'global' variables. */ - vars: { - discoveredBrushes: null, - highlighters: {} - }, - - /** This object is populated by user included external brush files. */ - brushes: {}, - - /** - * Finds all elements on the page which should be processes by SyntaxHighlighter. - * - * @param {Object} globalParams Optional parameters which override element's - * parameters. Only used if element is specified. - * - * @param {Object} element Optional element to highlight. If none is - * provided, all elements in the current document - * are returned which qualify. - * - * @return {Array} Returns list of { target: DOMElement, params: Object } objects. - */ - findElements: function findElements(globalParams, element) { - var elements = element ? [element] : utils.toArray(document.getElementsByTagName(sh.config.tagName)), - conf = sh.config, - result = []; - - // support for - - - - - - - - \ No newline at end of file diff --git a/demo/defaults.html b/demo/defaults.html deleted file mode 100644 index aa511b2a..00000000 --- a/demo/defaults.html +++ /dev/null @@ -1,44 +0,0 @@ - - - - - - - Power BI - Sample - Client - JavaScript - - - - - - -
-

Power BI - Sample - Client - Javascript

-

Demonstrate how to embed reports and interact with them using the api provided by the core library. PowerBI-JavaScript

- -

Scenarios:

- - -

Default Page and/or Default Filter

-

Load a report at a specified page and/or report level filter.

- -
- -
- - - - - - - - - - \ No newline at end of file diff --git a/demo/dynamic.html b/demo/dynamic.html deleted file mode 100644 index b24c61a2..00000000 --- a/demo/dynamic.html +++ /dev/null @@ -1,49 +0,0 @@ - - - - - - - Power BI - Sample - Client - JavaScript - - - - - - -
-

Power BI - Sample - Client - Javascript

-

Demonstrate how to embed reports and interact with them using the api provided by the core library. PowerBI-JavaScript

- -

Scenarios:

- - -

Dynamic Embed

-

Report to embed is chosen by the user.

-
    -
-

- -

- -
- -
- - - - - - - - - - \ No newline at end of file diff --git a/demo/filters.html b/demo/filters.html deleted file mode 100644 index dc036fb0..00000000 --- a/demo/filters.html +++ /dev/null @@ -1,293 +0,0 @@ - - - - - - - Power BI - Sample - Client - JavaScript - - - - - - -
-

Power BI - Sample - Client - Javascript

-

Demonstrate how to embed reports and interact with them using the api provided by the core library. PowerBI-JavaScript

- -

Scenarios:

- - -

Custom Filter Pane

-

Filter pane is hidden in the embedded report and recreated by developer to allow custom branding or focused experience on filters specialized for the report.

- -
-
-
-
-
-
-
-
-
-

Report

-
-
-

Page

-
-
-

Visual

-
-
-
-
-
-
- -
- -
-
-
-
-
- -
- -
-
-
- Not Implemented -
-
-
-
-
-
-
-
-
- -

Store > Name Contains 'Direct'

- -

Store > Name contains 'Wash' or contains 'Park'

-
-
- -

Store > Name contains 'Wash' or contains 'Park'
(Page: District Monthly Sales)

-
-
- Not Implemented -
-
-
-
- -
-
-
-
-
-

Custom Filter Pane

- -
- Target Type: -
- -
- -
- - -
-
- - -
-
- - -
-
- - -
-
- - -
-
- -
- Operator Type: -
- -
-
- -
- -
-
Basic Operators
-
- -
- -
Values
-
-
- -
-
- -
-
-
- -
-
Advanced Operators
- -

Logical Operator

-
- -
- -
-
-

Value

-
- -
-

Condition Operator

- -
- -
-

Value

-
- -
-

Condition Operator

- -
-
-
-
- -
- Filter Target: -
-
- -
-
- -
-
- -
-
- -
-
- -
-
-
- -
- -
-
- -
-

Applied Filters

-

- -

- -

Report Level

-
-
- -

Page Level

-
-
-
- -
-
-
- - - - - - - - - - \ No newline at end of file diff --git a/demo/index.html b/demo/index.html deleted file mode 100644 index 33939d94..00000000 --- a/demo/index.html +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - - diff --git a/demo/package.json b/demo/package.json deleted file mode 100644 index 8ad74a40..00000000 --- a/demo/package.json +++ /dev/null @@ -1,43 +0,0 @@ -{ - "name": "powerbi-client-demo", - "version": "1.0.0", - "description": "Demonstration of embedding Power BI using JavaScript library.", - "main": "index.js", - "scripts": { - "test": "echo \"Error: no test specified\" && exit 1", - "start": "http-server ." - }, - "repository": { - "type": "git", - "url": "git+https://github.com/Microsoft/PowerBI-JavaScript.git" - }, - "keywords": [ - "microsoft", - "powerbi", - "embedded" - ], - "author": "Microsoft", - "license": "MIT", - "bugs": { - "url": "https://github.com/Microsoft/PowerBI-JavaScript/issues" - }, - "homepage": "https://github.com/Microsoft/PowerBI-JavaScript/demo", - "ignore": [ - "**/.*", - "node_modules", - "test", - "tests" - ], - "dependencies": { - "bootstrap": "^4.1.2", - "ecstatic": "^3.3.1", - "es6-promise": "^3.2.2", - "fetch": "^1.0.0", - "http-server": "^0.9.0", - "jquery": "^3.1.0", - "powerbi-client": "file:..", - "powerbi-report-authoring": "^1.1", - "syntaxhighlighter": "4.0.1" - }, - "devDependencies": {} -} diff --git a/demo/pagenavigation.html b/demo/pagenavigation.html deleted file mode 100644 index af277a2c..00000000 --- a/demo/pagenavigation.html +++ /dev/null @@ -1,51 +0,0 @@ - - - - - - - Power BI - Sample - Client - JavaScript - - - - - - -
-

Power BI - Sample - Client - Javascript

-

Demonstrate how to embed reports and interact with them using the api provided by the core library. PowerBI-JavaScript

- -

Scenarios:

- - -

Custom Page Navigation

-

Page navigation is hidden in the embedded report and recreated by developer to allow custom branding or even automation to tell stories and navigate user.

- -
- -
- -
-
- - -
-
- - - - - - - - - - \ No newline at end of file diff --git a/demo/settings.html b/demo/settings.html deleted file mode 100644 index 8657c6b9..00000000 --- a/demo/settings.html +++ /dev/null @@ -1,49 +0,0 @@ - - - - - - - Power BI - Sample - Client - JavaScript - - - - - - -
-

Power BI - Sample - Client - Javascript

-

Demonstrate how to embed reports and interact with them using the api provided by the core library. PowerBI-JavaScript

- -

Scenarios:

- - -

Update Settings

-

Change visibility of filter pane or page navigation dynamically

- -
- -
-
- - -
-
- - - - - - - - - - \ No newline at end of file diff --git a/demo/static.html b/demo/static.html deleted file mode 100644 index e007ad56..00000000 --- a/demo/static.html +++ /dev/null @@ -1,50 +0,0 @@ - - - - - - - Power BI - Sample - Client - JavaScript - - - - - - -
-

Power BI - Sample - Client - Javascript

-

Demonstrate how to embed reports and interact with them using the api provided by the core library. PowerBI-JavaScript

- -

Scenarios:

- - -

Static Embed

-

Report to embed is known by the developer.

- -
- -
-

- - - - -

-
- - - - - - - - - \ No newline at end of file diff --git a/demo/styles/app.css b/demo/styles/app.css deleted file mode 100644 index 30b0e98d..00000000 --- a/demo/styles/app.css +++ /dev/null @@ -1,68 +0,0 @@ -body { - padding: 2em 0; -} - -.powerbi-container { - height: 600px; -} -.powerbi-container iframe { - border: none; -} - -#reportslist { - margin: 0 0 1em 0; -} -#reportslist li { - margin: 1em 0; -} -.reportslistdescription { - margin: 1em 0 0 0; - font-weight: bold; -} -.report-name { - display: inline-block; - margin: 0 1em; - font-weight: bold; -} -.checkbox { - margin-left: 1em; -} - -.reportpageslist { - display: flex; - margin-top: 2em; -} -.reportpageslist__pages { - flex: 1; -} - -.reportpageslist__pages button { - margin-left: 1em; -} -.reportpageslist__pages button.btn-success.active { - background-color: red; -} -.reportpageslist__cycle { - margin-right: 1em; -} -.reportpageslist__cycle.btn-warning.active { - background-color: red; -} - -.filters > * + * { - margin-top: 1em; -} -.filter { - padding: 0.5em; - border: 1px solid #ddd; - border-radius: 4px; -} -.filter__remove { - float: right; -} -.filter__text { - margin-right: 3em; - word-break: break-all; - font-family: Menlo, Monaco, Consolas, "Courier New", monospace; - font-size: 90%; -} \ No newline at end of file diff --git a/demo/v2-demo/code_area.html b/demo/v2-demo/code_area.html deleted file mode 100644 index 1e181566..00000000 --- a/demo/v2-demo/code_area.html +++ /dev/null @@ -1,13 +0,0 @@ - -
Code
-
- - -
- -
-
\ No newline at end of file diff --git a/demo/v2-demo/docs.html b/demo/v2-demo/docs.html deleted file mode 100644 index 1307a7cc..00000000 --- a/demo/v2-demo/docs.html +++ /dev/null @@ -1,57 +0,0 @@ -
-
- -
-

Videos

-
- What is Power BI Embedded
- -
-
- Microsoft Power BI Embedded update
- -
-
- Get an embed token & embed your analytics
- -
-
- Setting up and getting started
- -
-
- Power BI Embedded JavaScript SDK
- -
-
- Extend context menu feature
- -
-
-
-
diff --git a/demo/v2-demo/images/AlignCenter.svg b/demo/v2-demo/images/AlignCenter.svg deleted file mode 100644 index bc78cb5e..00000000 --- a/demo/v2-demo/images/AlignCenter.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/demo/v2-demo/images/AlignCenterGrey.svg b/demo/v2-demo/images/AlignCenterGrey.svg deleted file mode 100644 index 76f28641..00000000 --- a/demo/v2-demo/images/AlignCenterGrey.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/demo/v2-demo/images/AlignLeft.svg b/demo/v2-demo/images/AlignLeft.svg deleted file mode 100644 index f47b6149..00000000 --- a/demo/v2-demo/images/AlignLeft.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/demo/v2-demo/images/AlignLeftGrey.svg b/demo/v2-demo/images/AlignLeftGrey.svg deleted file mode 100644 index 26f7fc84..00000000 --- a/demo/v2-demo/images/AlignLeftGrey.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/demo/v2-demo/images/AlignRight.svg b/demo/v2-demo/images/AlignRight.svg deleted file mode 100644 index f0d163e6..00000000 --- a/demo/v2-demo/images/AlignRight.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/demo/v2-demo/images/AlignRightGrey.svg b/demo/v2-demo/images/AlignRightGrey.svg deleted file mode 100644 index 80f8ee60..00000000 --- a/demo/v2-demo/images/AlignRightGrey.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/demo/v2-demo/images/EraseTool.svg b/demo/v2-demo/images/EraseTool.svg deleted file mode 100644 index d2d89534..00000000 --- a/demo/v2-demo/images/EraseTool.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/demo/v2-demo/images/EraseToolGrey.svg b/demo/v2-demo/images/EraseToolGrey.svg deleted file mode 100644 index 2e1d3827..00000000 --- a/demo/v2-demo/images/EraseToolGrey.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/demo/v2-demo/images/add.svg b/demo/v2-demo/images/add.svg deleted file mode 100644 index 6481c174..00000000 --- a/demo/v2-demo/images/add.svg +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/demo/v2-demo/images/ajax-loader.gif b/demo/v2-demo/images/ajax-loader.gif deleted file mode 100644 index f40db3989f04734e75b2816e95721ea2ff96c489..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 673 zcmZ?wbhEHb6krfw_{6~Q|Nno6itC5&eQ}!g5XeYc{j6!vt4T-SD*lslE=o--Nlj5G z&n(GMNX$yC$jMJk(aX$B%V$vh$-=O)ufdp~4Hg(Gr$-m$6$)@UVMj zKlcC{2{xJ$*&Gv)IetBg3eqh+yEi=Raw&8Q3`sDQR7mh~jh0$bBeS*i{@X+e_6CLP z5|7%PB{!+6XbC|LVnQ~^jANIPvi2#*6BEu%3Dak5O_t&NBI)H?V$TxT}# zl{vOTn5naXMq~UjBFIpZ%L}!r;OSrzL^si-`c&5vsICY#n7ca zQATi;ThoS%^2|v=v7c?_4J>q|`cEt=vh;!ZjRn~pBaU4~>e^n4e9a<59yV@~;>6t>OutWMY&6)w*|~duuBI2v95!TgfX=z|?*pgc%{ig5 zvl!pqDlC|q&~Z0$&Rvsft&VO-4MZj+%-+Vx%W}v;V76hyp=;+R!i-_ZFa{X&t5cn> z%+b6q$H8$}q3?JhAB&;E%2ONG1xOqMMpxLarA!K?NfJ%-q6H@~Fj#{U4j2Fc(5=_E diff --git a/demo/v2-demo/images/bookmarkIcon.svg b/demo/v2-demo/images/bookmarkIcon.svg deleted file mode 100644 index e9ae9764..00000000 --- a/demo/v2-demo/images/bookmarkIcon.svg +++ /dev/null @@ -1,59 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/demo/v2-demo/images/clear.svg b/demo/v2-demo/images/clear.svg deleted file mode 100644 index 86f2bcf4..00000000 --- a/demo/v2-demo/images/clear.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/demo/v2-demo/images/close.png b/demo/v2-demo/images/close.png deleted file mode 100644 index 0a1520af0f8d48d713bd9fcda535367085ca01e0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 332 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`oCO|{#S9GG!XV7ZFl&wkP>``W z$lZxy-8q?;Kn_c~qpu?a!^VE@KZ&eB{zFd}$B+ufsgn;1HaYOP3Sa67J;39e!5P7D zrmW%Ko|OR&;r-JVm@nkckJDwi_M}0X=Vt7`Gv}O6{8rg5Y;tVPuYK|1p`~rCr#{;# zFN(fWdbjPqziZ%>g&UqIJ!-w#b8B0znrD;D{f~UUmu+e`Jo$9%dTFf!r%?&N;m`J+ zsW%(j`t2rLR-`;Ix|kq%sAlCP6Nd!{R~Z=7T`_%nAJ8W(IJ)F>;)zb-20k%fZQEs_VC0%hU9|Y~KIbn~j-Cb?TAAKMxD{ b)iDNNSvk?@LEXBj+Q{an^LB{Ts5I(mi( diff --git a/demo/v2-demo/images/closeWhite.png b/demo/v2-demo/images/closeWhite.png deleted file mode 100644 index aa9cb92f2cf9be9047178ee16b856523c6f4f0fc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 262 zcmeAS@N?(olHy`uVBq!ia0vp^Qa~)j!3HGjh1XvOQk(@Ik;M!QiWVTu=sL|X0Vv2= z9OUlAuQ_M11AReSE%$`g6d3X44-Y&ul8*WuK>GtbypuSw&r zzi{FPPq)vUt0%5-PhmN$`<$V}!TAdFK^0qtm`f8Ms`5%k8!fdD^LXvlrkJwFQem?X zQ^08x$HHTmxXPw6%(hNZP|=;%{iOS)+RD_Y2mdncWWM!U_J6z2%hy0>GI+ZBxvX -collapse -Created using Figma - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/demo/v2-demo/images/copy.svg b/demo/v2-demo/images/copy.svg deleted file mode 100644 index 3d38c462..00000000 --- a/demo/v2-demo/images/copy.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/demo/v2-demo/images/expand.svg b/demo/v2-demo/images/expand.svg deleted file mode 100644 index 62e1debf..00000000 --- a/demo/v2-demo/images/expand.svg +++ /dev/null @@ -1,57 +0,0 @@ - -expand -Created using Figma - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/demo/v2-demo/images/ic_1column.svg b/demo/v2-demo/images/ic_1column.svg deleted file mode 100644 index 12ffa519..00000000 --- a/demo/v2-demo/images/ic_1column.svg +++ /dev/null @@ -1 +0,0 @@ -ic_1column \ No newline at end of file diff --git a/demo/v2-demo/images/ic_2columns.svg b/demo/v2-demo/images/ic_2columns.svg deleted file mode 100644 index ffe6b2bd..00000000 --- a/demo/v2-demo/images/ic_2columns.svg +++ /dev/null @@ -1 +0,0 @@ -ic_2columns \ No newline at end of file diff --git a/demo/v2-demo/images/ic_3columns.svg b/demo/v2-demo/images/ic_3columns.svg deleted file mode 100644 index dd4e737c..00000000 --- a/demo/v2-demo/images/ic_3columns.svg +++ /dev/null @@ -1,43 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/demo/v2-demo/images/info.svg b/demo/v2-demo/images/info.svg deleted file mode 100644 index b663a35f..00000000 --- a/demo/v2-demo/images/info.svg +++ /dev/null @@ -1,29 +0,0 @@ - -ic_info -Created using Figma - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/demo/v2-demo/images/insightToActionIcon.svg b/demo/v2-demo/images/insightToActionIcon.svg deleted file mode 100644 index c678c87b..00000000 --- a/demo/v2-demo/images/insightToActionIcon.svg +++ /dev/null @@ -1,87 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/demo/v2-demo/images/layoutIcon.svg b/demo/v2-demo/images/layoutIcon.svg deleted file mode 100644 index 1e647cbe..00000000 --- a/demo/v2-demo/images/layoutIcon.svg +++ /dev/null @@ -1,59 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/demo/v2-demo/images/new.svg b/demo/v2-demo/images/new.svg deleted file mode 100644 index 19e1f464..00000000 --- a/demo/v2-demo/images/new.svg +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - diff --git a/demo/v2-demo/images/pc.svg b/demo/v2-demo/images/pc.svg deleted file mode 100644 index f7d3bc8d..00000000 --- a/demo/v2-demo/images/pc.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/demo/v2-demo/images/phone.svg b/demo/v2-demo/images/phone.svg deleted file mode 100644 index 3fe20ed6..00000000 --- a/demo/v2-demo/images/phone.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/demo/v2-demo/images/print.svg b/demo/v2-demo/images/print.svg deleted file mode 100644 index 362dc528..00000000 --- a/demo/v2-demo/images/print.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/demo/v2-demo/images/quickVisualCreatorIcon.svg b/demo/v2-demo/images/quickVisualCreatorIcon.svg deleted file mode 100644 index a1600a87..00000000 --- a/demo/v2-demo/images/quickVisualCreatorIcon.svg +++ /dev/null @@ -1,51 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/demo/v2-demo/images/reset.svg b/demo/v2-demo/images/reset.svg deleted file mode 100644 index 1987b5d8..00000000 --- a/demo/v2-demo/images/reset.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/demo/v2-demo/images/run.svg b/demo/v2-demo/images/run.svg deleted file mode 100644 index 7a68c85b..00000000 --- a/demo/v2-demo/images/run.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/demo/v2-demo/images/sampledashboard.png b/demo/v2-demo/images/sampledashboard.png deleted file mode 100644 index f9539c7cf86b29a541347a9894e6e4d6c0364c00..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 102426 zcmeFZWl&sg*EN_xpm7LpjRXzu(zufV!GgO>aCd?ShXi*C4TNC9-QC?iNaOA@O>*DQ z^L{n&kExlzQw2qxJ~W53uYK*k_FC(7sKN&+R3t*A7cX9*zLOSLdhy~F@Wl(51q68L zE7iu=sL&rT9hIa+Uz7|JL!bw*%tYiwUc4xeM!q+IgB~N=NozR1c!AdO{Qa`Ww!rws zi>JJI;vyg2boZMOwbN$Yk9?nM7UUc~C!F3TE`XbA?wVt`6qTzir|9H}Z15Dhsh#Pl ztPjAfh2IK36q}asiYEYx=vfsp5qU8aP(>2pt;x!zTgg=Y;LDjiK&>o9C}fC;H&;R< z$pmiOn+Ev$_@=8j-hwOWgAEz3%V!x^{4Kl#zC@&?A!G>t|9*-7d_5t8@#^2NKxYwI zz`qC3SEu1vf&V%AN<zsx&fgo?jWwCap6@BIDS*bX_Cw%qCJ zP={*-^G&QYC1z+fxYpxkND>gg$yvc0^-nU8@%kwsV#U6E!+(z(WQtn~ZBLdD? zh)B*lY@KbvJj55AXi>jDReD5`0`waz|I zjkbOKSv|y2tfy_E=fy~0B0Q35wx(X)A)}(Cs_eIRrNI;vx~m&5oRC*H}uAPQ*0+u$|VOeP5QO8&LZrd(;GSp^Yxr=Xg@t1Umm-MDiea+j9{ zJSU>{OZy9$C}(yc?vr8Gbci6pSCQKWtAOW>c};@(=_b)#-xK*kNva1iT}b`qbjvDS zbZHHZBiX*!8q)o*d>HRD=Es3#wD;O@R19RJ@ow)|){n?zmSvmx_xZtlm4zcR0DSO~ zC~0Z}!8p#nZbZ%}G(PYe-}(^|ko}z3%?e~QD+mq9*IKp&^(IJ}xCTCh7;bzJd@MxY z0*RUEoQ;jbe}Rdq2-ZXwESiWM{7b_2)4kpi9xZ*shmgXbNbeJi=zxCSxFz299xyYR z?*=Zahz1H}QFfZdKaE++g-9GF#Y7xMN?b7{;h`Mm-rO6`GAlQgZl4vOxSdglue8Ua=+9Q3*3fSHY~(Eq*g#gYXdXB43MJ%hSv=0+ru_veQy^FyHd;(%hi}J0 zD8p-N+#bP;12xY%A+Y0%<~Y4-!LoU{XPX~ZCrFtQl@M2Bn&cc(tH$$=UR&w97hw6W z1Hc@-07TUtFO|*YRF*B;m0q~xjW{WV>#^~B*+W3j_ooDg5V6grcFx^jZ)-_)_QoNI`$QmDbpmj8ox%~i4@R+S z5jU{bRjU^FH1K4}@LtG?xPAor#*ExIka^}t^r*q9d38K58V_Z?`fy*x7lL$;kz1S?8b`%6KfX&Z9ZaEr(RM~SjMZHFe&fE*tsLijS%1Y>kPinV zP}*;^+iCm>92N=jT>Bnvbj|5-ax=K1v*VNW#6&eOWH)$x*YllwU%l;UQh2rrFH}7I zx%6skfdZ$8n7QM0Wa1UO$%3mlFY`>!M%<3)(D_K>4J>ucJ(Xq!We$46`r}%w0~zSK6yl~*Xikbv@Jt4pFu%eXk>hbQPFhdc21O#v8*|xculGZM%<5c>aj)M8 zI}%lW1VtcOV^v#so-^1#4L9gG?JL*A2xzXT4u1B=O*!?8Nwsq6$t=pU@c3lT) zoJ0*BARS0W3y+pEETu})iyX0RCF)SaO8}rMAY11EYzjHWjh!uRf5H4 znOV*tYuL5JH%K2?1VD05OHPYr?;|y2yh_8X(La7<+iIcdaK@+OUejFnMAaen-Wo5$ zmXjJB^_DcD7$%;tm>s z=PgMI4LuZeK;PP>0qt>Lpcnf{WhnEfDL^kr|G%6Lg^)dilh|H{|NrFwiy#zFJ6)fU zKH2{Pp$X&~T~H7J1)ZVdIXvP2tQ6f}Olt5TtqQFRXwb!jHpk)hesxhaDSW`j6FnO;(zMnbBfA3XZ_Bgi~hg< zhhg!MQImq7Jq%y8{qu|JG0C#9rzO9Cj{H)YF~CfZF#0BgyP98zlK{7|dAjK%p-O$H z(=7hh0CRk4J%ofIUTW})w!RTt#a&_(+&|HMU@oMItCA7*=Ex4B-Ux+)7i9liNPi@y zqGgBisN|@8&J$%)@yiRdvXkmy9>tDMHIyJd$M0qpVX8*|;boW2ZOw=FRe!4JC9&x{7y2rz3=Hg(y9Uze|Jo$Ko4e zm_U#B9vhcnr@&#E5jk}qRPX{JU1|UX(KiYPqCvZYYI5V1fgM3v^uJ6IRW^*kg0DnB zvO*HzYEVD^#G~tfsq9Br@!AZ{s(^iQoi$+HEqik1%2*J z)h!V2F!N6YBaP}WqXKMR87)F>`Wc7$%cg71%!}VfFS8#|UmdM^$t3BMXe_c($H9a0 z$)5^MN(oL&SV;q;%0Dh6;KOGdDb@$v=w@~}Jt{2cdGS2y;Fr*^U)4Cj``@++-Ift3 zkS-^?zwlP5@mCRDl`(ao$_Fu=^HtD>OE;1=2I5aHSmY~C{xT#+?q$~tUlva|m_r30 z!~-mZG|`udvBJVQqh4e<{3Z6lw+uTJ{_aUbElz1SS@e~enrb*1YM~1A*Q+C5{1eV0 z&EcbUI~vHvner>^dkE=T>I8nC-QDbblErv@$>Vw>HpSF46nr)8&0MKrPBr%8PppR!JGcSyspcRWiA0 z2PL7UzI4_LXhVdPK5JX@YGy6renk2-Oe5m7+QEPfCp>5`X4-mxiDaZHdXq5Ja(2UB z%M2H;qN*;}qctm4%$?>6*&v7-NDr^0J_H4-2w%lC_h>tlI{SE{PLFzzD>Sp?!*}y@ zX5xuH5y84Ry5~&?CF6yS)?GZ(`Mx?jX-w{l4+lFc$%H60Yc8&v-Z-$AMW1N5Jtgzk z*d16V+c&j-{kgsiM{EdU$gZmc@Qg16Nu~UVWjB`!pMmW;uhjfN-I>}}3@wM|oBz3G z60lg-DdFN620q~(VhFr!?h8vFjRM1xC>$j+S_H2IVfti6zj3duoW~j0j~0S4NLvKA zR<%!l_eLlYD1p{^NLl`*@h~@IcG^sON-uDkn@;g0Df`M9<|d z8wHuJ{j`z^S$zT>1)j?4@2y_?ImSe6Ziy27{C>s$-Sg4c=n)C*EqDYMWh9#!HxT|O zm!lXhK(jQ|qwKudTI}LV-+Cfz64Sb#)XuHFwl}@*HBDX%S{8Nf1$diZc(Afzv5+rg zV~Ik$zwo~;ybD_G1LeMyPj&plA9?}p2(W#0&~9D6DGOjjL<$DPYU=q7Ba)H~o&>)n zz$}3fd|xWFoM;==DoN|M)nMKz-||Q!Ig|`DuFXE}n|1L8WidkVF-ONt7X`(<`EiT@_t4t*aNSz5F zrK@6KgAr6vi;69L>*U^a{9&cL=GGI>8cU{MQp)aoN5HnGwp-y)By~RNh)dOa;bkh% z@=5^GHm&8-#*U)j7v*SlkqPJb0|>FSb5M#QFbOS3JU$8SnOZCJ`DYb4fGPY;URRs< zEU=%u^|F|7+{GTs?x+=xTo~uzC~)u3tB?!q>nqnVax4dfTvc=s7oy;Q-QS$b)PL$0 zF?Fw zA^Jd4WaRy)hV`nKe7gHK9k!axxgLw5+`)Gp)uEienw~h$!=Wq_YxR!ALcNu(>S3g+ z3**9xPCubF#lCYnsG=jl{JeIIbxmyh_p2@cB~Fr^LqbF8FI+VRoTG#1){8B^dajD~ z0**wwrRa}+ZwH5$Ck8M@{tZ49$hqAutS~)ujqPmz#Dg73d+Z`Fx8bJ8-ON5a?p|HEQbIoORPT6)miB?>{_(A>{K(F)PsYaL8y9Y@o~~TAo8A4| z&B1^0pJp-Sc;#`y7wehTG$8ncz>H*4&~yZuOCnH0;C4&VFWWrtxZd|j9yiYydGyO{ z+^Rd;xM7q!!F4;5F`>z>)|IHbEU2GO)7!3^mFRSOmL}@E2H@!JTDFDy=}y-5I3tJJ z;G9Q5PAI-N1k=`uyE|K2Y7(Is85yO-tO-X%MH!lIx!CPR;y}kuL(msYl_E~)z!GCK zvZ#R@YtDF^Zi`)vz=TftI&?ZmAp(!_KcxxjdxMvtfS^AszOPgv+(MDejCC~9|({fTpuSxARlDw zb{~uR(}%PiWJ6Rl0WH2waj1G?ude(84K?e(9O z4qaTE>TxqggU&xESYrvI$jS{xlg7$Uct@=?7X#L@sak9R4XSp`{um|pc!w(uq>Dxy zPikot>$XIdihRrS=E7BUzq3Kt*R$n+j;25g>?Ax#?GKM zWIY@4V}bKjuFoQVW;^2y2Z(=S=VVx4f1N9s#LT;(;`dp{h%(NAPIl+!KisEsBe@-)ZOp2ZD&xHCFILj#mRnCL&LA$h)LNZ)R1M{@BdCqVWAKf z^{}558oh-M0K991fgz=V_iG4Dp|mYH02k8FQ>6Eero0M2#+5<%*S~H1#Z(FMD9iZw z0&&jX<~avjZ{swA-OZnPxpz;|*GAij)rS^r4eUkI336*swPuMcae-YjA$p<-d3|M# zq*b;Bo6Ld%xe~>GCO{LO+eVKB?0nmT5wT)g&?O3*_la|yb2xxbQ$CeA?FwHI}_2)>Bx}l9YRcFm@bi?&zk#u}U zPMQg?!ENy)yzq8NF7{c>>+xK@lu<3Xko3unZdx{XE1wGLu(mO-YB;$-LyvOyIDe7G zE1=srz1LN9AlR54f9@aE;l<+)%R<#V8kTMuKas*8Z7O>8QbC%G63E@5Sab8b9}~R+3S0;uOA3E`y*Z zjHQuYssapW$cKZW)IF3>7py~Oi*ZO&5*<(hkA|Hu9L@&ZGSa8mhEf5o&Gkm+9@|b9F~~Dtoaewu3MC{mfyVd=ZzCmpVS_2qto>( zG$4-w3-DIa#hCeVH{4`xAtgaePx0ok*KF&|aIO!_Jg226D(Bs1SFTk5XsKXoR~KjO zKUr@A8f9M9gB&EGe_6rbmAa^9FDXVg*A67i_f(X;Q>_6^4WHDelI@|&Nq8vfq~3UJ zh$Nc5mk0Le4fML|42Mkd2J>AV?(xGAkg`L>8G&BQh#kmA7HLKw1gf?q|3l;?C8I?j zb~H~4v&f4)E^nieQ<#HlRbnz8r9tB^VDcgjxT8AH*i&QjMQ``n)RfSApYVAuSX{GK z2I;#UBk6^bM?r4{0LfgC^#Z%X4o3>W7&k_d1$kl2X@5RF>U?PqK7isYh=O|_saE7JUrQu z$FB^=g*q) z)&^D*sd_b)%8X2}HG69jVYnVHJtKjXMw_J|vACpqPghlROx`C4^v!?9?Xh|y@l=nR2s zRJU1*#|08_cWCM)s7Wy4asY0mOzF1e0NmL$r<@q8-udP@NY=1&T;!zGsX|H%9sykS zYB_Gb=Bs+cn0s0;Hn_X6f)%NqwB41P^WDhm#@ejm2o3EUMl1MR#k>CPW2JY#v!{=# zCbYlOTG;`*Qdm_U&?Iz~;!atW*q0SiSccz$2gZs1%tyIcHN{ zkJ|x$|GJ@@?s=T?S#0IvB+Tds$#Xt#QREn^T*ObrcC(agGcK0UZ{X`!q|9q!z8g4~#8 z)E=d+S@%*@r?nEnIW)<+HNp3V#oIeYkPx-_Xhd(-UJ223z(R~iqZlK43fhNxy*x*n z2U`{_(}&|b?Ck8%PW7Ta7rEz!*v8nke$D*fZPjL|H?Tkbt@XdOW>L;__cs&mhG&c0 z0}my~tkkD{(ME`?nYteQzR{{pIkUO9hz__}QrM1`8tei<8a2<1y3ztvbnmuqXFITx1iUa!gKC&B2=NBxKE76b!3BA~&PMf8V{4`kQ%~ z)XMtxsFfqvxa$wcgGE1YyrGsZ8=dE6si<|(l6L7ojzHRi@zc@&EWJyl$7k5JH zx5(giT2Z>!T6Qt6m{!&p^;6y#tyEdxbwhjg3~$nBw?ZSW90L)GQCY)VNXXq0j&xs> zP3C0dN@WV+?M!1;^Iy;LH%lKXV$V%I0rO)oe)T6Zo3@!cwAId1V*bUmCbEEC%@e$f z&2azTN+Oj4$H)z3#>nfuFc}Z85c%rG)>2hm#(9_Gd(j&zZP!zRA?Y9^CD*&vs94!i zHzcmBbq&zEMCw9m&*{)oQ5f*b1%SzC z6>nKm%E|ZEti!JsieWZ4shbD}J9Mk8cNK3h`0H@6CPXUp{%HwT2JA}VSTv}`_^O}( z8&R2nXXqF%_a^o)$nJJBSMno!I30%jDx_}MR_Mc562Wuc8Zy%@Y3FW?za0!XA;B?L z@_o9}X6}~PYiK=uN}$g_nNS<4*o%0cm}aDIPKYDCs)iyxF4CWDrf@EK`r4UQuyYa! zIM{WyNz*%p<}K$cyTW=>_R8fpBS*J0mD~eOX|ta!tfJNx0m1n&${bPh@}DLQD10anB;x3eLXA0r#Bc<&l782hO}z|dZ6b0bp&~@58Sl_b z20l}@M>iw)NcZ^NQ$@vog(t+eqsn>tI9|JP3o~>8OWng|jBOX1Iwf}qX$fFS3iam`b&P=*d8A$4R;5`TL)lYT0VsC~3kMwM( za^1bchRjXPtwQGQ@sK9nBYLE%pE;S$-23yalh5Euej)x&u(iNVW|!^i*p>%$^s^sf zQ6MKk&zaqOY`Q!4@ZLw(ry6A~=o06L4l?3ODQL|~`}wT`{)H^Iv^%E95l&clw9(~! zM8GkZs-*Ju7%m*P1hjj=ng8~3w9?sNosYA1X{KcpV4J`dVg z4g?V9v+v*cz4DeHD%p`uxFD+-iXS91vPtd5T>vpdWP8(|b|dMF5g6YZH+reH%NX2+Q;Zi9PQ0*!#S zgf2#o$Z0egf>!8Xj_n)_3-=l>N`y;T+ZH-O!8Z{7bZc(F35p_zvOGH%lB9uZAnNCF zbie$YUyDtFc5L4-l10Ky(dwpDIX#9OzpoW;h55h(EWt(s2`q1DgZB|ak_uKlBJ7z= zZ)oGpF_(~xe7XcKDvr*gq$OjZ>RxDnwSPU5KntZlC^I1#_z%8s+1qHZx`bmg?8k^( z0jBuU?|5JBvFWy3O_6&?SWBJ13Ll_l2^Z$Dn5aN0*Z}h@;!k552@XX-F#2Lzt#q=2 zx^i$a`{@4)Wm1UX7E*OVTOtu^o^QVA0dNfcW~@<*4sQk06I_RY zEw!Cxf6d@A@7!~UAtpAfpIm;e@F44ZtMWEllEbET_PjEKGtbHj+tpa14`;7!5q7dZ zt-v{|ZR6yZsVJp6F`#B45>iMYuw>fU&};`?J1=kmX|-3%ST={1~ru z;j7@hdR=^+-Qd?l)n()|uEkl&uM?E@xn7-BXHTQha{})r?k4MZw2UbOp#0Q&CxXo=>A4;*$?|jy$tdVNKkh zR5>y_W@pvyMtcbs7hY75Ka*u&oyqzNuu;Y*91q&yM23do;a$$9PEd+RomL}W>H57T zHZlYa!fDy;_oZfv+OwNqz`h%2r$(^-6>r79b{7+o2}jPhs2>}-*PVvXYIx!VeDkTiZmgFHJ{r~;{hTio>Tjeeluh@z z^bM;lD%zm8MT5|WnVC)faBx|y#S?P~jT>npM1gC+RjV}3Ps%%bY*1T-@s0T+JlosD z#pWVvL4Vb6E-chsF3)RcdF+|5?65IY5Ii=23}e(lE>GUQ$B!>bwpaYo^H`M``ee-@VPD zIbi?Q59^_+7jjZIgU`(1E$CIwe%XyB*YaM6uGcQB91eWA*irC=mZt1_z8$mUOV}Hy zx#+dDoY&)%^l(7`f;^>!QaRNEZ_jH@|g?a5u0ZX!X^$>0H@T-3e>Yh2x|paM?NfHO>2D zfOgoNW!>J>X#n%Kd8gUx_mv5go|u*HL|b$_&D(;NkakX#QDVXg1I15>s>qU}OAb0h zTe~pu5|-8TpG4@nfyBKFSo|L<*{vu;p@}_>gg2RtxFQ9nU8D)=Na`M(Cv_X-naSu zE?7&{;@GIoyq>-v^q2`amPkmWW?a|AZdC7=%jv`EkSywO3J3|OR=Q|3ZN#U# z+BZ&i-bVbPdaYC^3{>HEEa-&g`3$u>&SS|p43EYq^n%}V6r0ff;tL2*P%`6E>T_bL z%2F?c2+zFhVIA>j-E-_%o_rZH5q^RqwMjS(1qBmb z49*OikBYjqUG<{=R`^PA$Lb`u%apE>?XINoQ0oFemRlZuJy~NLZzy#lks3VBXf{k) zCSyx433qJvG$98WwX65Z`T~?cL+f$5{OZ^t29*vd^neRIw6w_*!+i_*X-RE6zfr=Z zLQaHKd34O?QRyFRw|->YY=rADUTa+>FANVdt7?muBB}QsC)K%VbWJEcb@n~XNi&v70V!dRXOYbDH?@%tK8Tqf@i1#X zNspf<@AZSvlK-36&lW5&JJ57-hnDB_`N7-SOFLXE_O{KUQ7dn#kX|_SWMc=%k#2c6B(ic5}#e z8Ek{yMS+H0Y^TtrK<{^JUqgcI&u5b(>X)km=ehMMjGLxGpqBN}WTI9R2}rS9t9$81 zj^&RM$~409ShRublSSzQo9qLXpC28aKCJ#fb8*92;Ma5SAeXC?8~V zCidiZ4skh}CGs4xNuh|nMq6Xid*^8CLI*-@NRP;gE^qg3xn*`b75k1%pET7~q%yy+^0j|*9I)?LaES>q*QUKwhFiXSCI&q>RfvT5|{btS(DcDF326v1kpn3fTO|L zsHPJ(GtdW7BZ2y1&TZu(-JRA-_Zr2Q?=;MRWI7Gm`6js+lokTonp@vR`O|{VPKIX4 zDG9`id9M0-D|bg83WoB$+z@E`p(>B#%r^O%G`K(HBMtKMQ=Nf2^ZaW5(-If)0OBnC-)p4~8|u=66%x_Pr&tQ0R|LxVyCW zDy~r$$ladZLsjJC4~|YR()sxA+Q}dw6g<8P#%)Wi53yKx+INCuFBaw?hETW7%aMuzW zN=XTp%hUvBaX57Q_ZOG(f7oMhZ*W3^kLDE;>tfi=$mL+d$MdsbS1v21ZPbx0K$hH9 zoS4i;EJ=cn8C09u9N!^Fa^5Z(5|WlbZUxO>$alENWcz!1?v>qECp#Ct(T_2KQn-7E z93gLOvp4C|(GL`_(x>Y_3MxQkb!J^&YSzH=^~#Rl{V>@D)f_BlpQ^$$d^o$*!u!v* zP5Uo#doc|+k-ZT?mn#occN+$cys22FM8nT09`v|yEdkE;;K?>)Y~8jy*tw5>xw#H6 zm5?UX99hfjpt0L&4RxO&k3qk)KdcB*z@0C-dBrvobMy0b!6CVduqoCa5UV zT&qpv0j*-Q$Thh?+&#Zw&)iLyJmO;V-v(v|iWnZ;0Yest77=>w3V>%DU8;gCk?^}; zMHs1?&4T1ExWDTCpcT&@2$=C`>Q#JsOTR=yym!7z1SEN;)#JIi*|e4hqHJFyzYn3Y z&oWw5JE=Og^d)tea<<>r46`lx^i;hR9v1sf!1GaT!Cniw(3gcfHRh+Rr;W@HxjRXqJw3h27UB2Fwo#;7qcAJ7ul6OgTF@(H z@HaDbSli4=N=fP7x6;oV5yyJ29QLvy8d3$}ZM(9tJ;}n{!5k_OZRh;JHc{gF3Ng|U zns%PoXW%Zh?-uM-sC?#`2cEGL1hR^DbR&~D9Kqe+dWF|=G6=Yg$4*H4#5g((sKX3R zLHxHC`!cAn&ai(Uc^_(AEWybFT*rK@Rr3yH#Z=F9W*x7{Hv44kt~L#9Eva{JM}Anp zjX_U>vmo_GvDj^p^}N*}b~DDShTu|4o_$7n$%b^;?!p0Va4EX0xl3wW{bCH_5B8P^ z8`?Ji@cIg+pEZcbdyo!3>3>iWL@)9rM2eU+Yl?;%iS3{~&&FlSbIX}ct)|3=xfEpB=M8cS4=3ft5%uvu3A~2 zGc^g*b}rZ55&=>w!oJ@-A`=&u>N)$6!AGf@#Etm5hg?TRP4Er2nE5K8h;8+^#`Oxf z%s=)BGm_eEHSsisyrdKbeM;+Jm7<*IOl|lXdC(hGhUE83I-4rP8 z(CitA*6u%$qhS7`KW>SRR!8P4BFl8iWwszbpnZBfxPgIX3wEWyjf`7`>k>}Wmi7`j zD3-nk0!57{VMuPgnH2R;Eny$8?^GF-4e1%lQSjFLL#yYWiebTRLuvI#-P!(;H+zT| z-byhdEvAPbB<2q}jHipS@av<*pNVesk7frA*M8nJaL7$;O4wC<_ePy25K)-3rLweMCyP( zvqOf;&-B3HO28k&vfzaha=Nf)E)XueHDluFZNU318M#>*o;V})1@$>)9paAopp~wm ztbot!l=JLj)~tG& zw>)+o{>da(pgD}S zHIz64BEmi=vljagTg)~Y8_MRc=o`oM*|)KFf*q-d_pKDSliEKiIu)xU;!Sa0-hof3 zoV`FJnKSVnIB8Ao^2!E38iztPg&HT91T&j!et14kEu&#a^Nt>#wL9Or*bQ{XsOb#! z*m4f$yYe!jqOVbXTF80dPQx@wv9R1^e%B#zVAlYn!%#3-pF5mbz?N7_&Q%P_!rrxs zAtXH0=e>Dfo~iljrxS6AIj7JvEL?D#Ns%H;`U09JYB$uqhRpV{-5(s#pbU4$=c*5Q zC=GDDWeT2pkd{(yLI&nvzJhTRV3H&pcd_kwG`z4%k_(Ax6Yfdo#`ho4EkI4e&1QOC z(NVTJaSi+r@qeJQ@S)wqF10`Nz|wux$!`2{(%Jt}k4MmyW=##}!;|a|k0D4L7CQd0 z+O%N2LP!nwiEFyY9Ij$wU|+tH1_vA<$oUbg>*o85I@U1!H#y$ig93kd=z~x=*Dmm) zbEa*UyGNI{-EjMfM&M<)C`R5G$-_IO6l8#>M^HPyYK6{$D}F@f2u|oJyW5uJGfDlG z0DdH($&qk3xBO=Cq~J!{ZO|?DH({F9Mr1B*T|7+hJW@+6+h#pgasH6H5ZPbO+BiOw zn;-F=m7F#yPcPYbYhI$U_!_0b_Ggv`enB3LE91#}+3j$YtGmIK+}Z;6vG63~{MM^YgW-PHHfQi-8`Q=XI%EZEErr^es*Y zvP5;X?_-otS*h5WBC90pIM<+3Nj>Vu4}UbSfyXlsg_MzrQ85^UvhduaN8RwqDg2tl z-^B@5q4K#LwHbL9!<8{g&=+lqLaq$=W6tqpMK7JM`4CuZm_QR$8-A)F)m>4F z%}YaP!0X|l$c^kM;LQ7%)>TeMvlb++mUtc4gSC4o(lYJnxAne|=!~MOSrmO-x(9rS zi>)0zT%`l2Gg<$}whWzDfW+9@?VKZO8$fM0#9G+E5EmJ-w^}#P8@2Z#f4*7|kpJXS z^wPI5N=_ML{5)LfV|_IN-j3U(s9!^ro9N8LtuSe7cldi zXchr}3y>qD5K~IBTp%83by|E4aeTWTNMFU=;u_a=khu3G<1nKHynSc?)s#2bNyBtg%~j zJMRSnIZZrJ{7C8Pzsybr_*CT|zFu_SK#Y9ScXUroe@jl-JZq1PYP2`u5ip3d*GsuO z=|Del!xcFhQ1m_Q}H|&&@8nm(|@=aTe z$EsI3AUF}s1&eWR<$i%~p=LH}D*>oDEPE|TxnU;qC1OnBPY~CJ$q~l>kMJd__|4-5 zc&}r@vBA*B{PrK5Qexkg(k+$e?qOCCc}SdMyVYJxnyieJ?_ecZQb!sP=@~ve-8sQw zLjSO%w^5v{`!RA1AItbd#NJ!t==p{V*C)FTXMu!{XAkLx2%oOr8VdTJgve9ihrIyAN%A-bCMA4-F=LiMCiV3NOT<1|_KKGq#r6${Z)f1^hCQ z+krSX^m*Lpr|k(3%9sN8R_8MN%r-ru?c(l)4s)$_sIRSc`~JgS8#@j7S-%8Lv_12F z82l<>CVV1+^=jfNRpcDXogR@J!YQ_!Wh_mbKR9Nxdyum%*bl-7UqhL}H)kI)5TJud z#{mt(*ss!^?y&zbpHOC<{;$`7Yee`fUD>TDO1?w{T+hCMM>QN%t2Xm+(TfH;cq3_X zWI4a&g}sivHpGu0YDIRCUzj2us0qvChpbIzBoyxjk)pcDXfQH6yY3{j)NYjGq^ubm ze~k#{UQ2F|gd01RjMl2*a5pL-g(@~yghTwr8KL4VKy#F^`!ye~$N`ZVyR1nr zTaeeDB==);Van1aR8OqkbTQIzFKww1e|FpT&5XAN%UWX+i!QOr!HdGavzhRABp6D4 zY0+z?nfL)m^Q@RSN|HBg6Eme4k=RV{wOP#<2*%esOlE|!H#brkfyMtw&mK!Pu3uS!WA~!z9gq|Nb zv&EWsqdld2;-}UJl=m&v`U>6WE4TbO_N`t5PnwCV7{F-~_y$!X&(=>fSFlp_gwABd`BV4*jQ zjcufdd9Hd7a0V$8Ew+=fOmuTJ*yLu3kogM3wotlrMs#9sT%AlCl(Hk@T|PJHyZWzr~R{~Zk5 zL_*p;IpvSMt5E~$Id@}vnzBcJD$RzmrRNQRT3Y6Jq(46EO>waAg2C0Y?>hY6P)A(4 zlF5&V$NF2#ICa?R4UQJWR|}N;Z1BX0786ffSyh@+r~u7uAIGcxTHIQix0>qK(%)@q zY5vTw`-KK&!@qEU^?fBW`~E*rRMOP+d=M>LI0(GuSzG>oghY{*E37@1eBU-&kN%5L z$y>1rxBL8v{Y%-6)btZ;9fPd`kZ%ZIxon8dNF17EohJ?>2X$NV$yco}%&4{YO7V{qcS_>AwLM)8kt{$#@?3~@vBQc2D>-yV#kriQX z7uR}wSGC9@K4DK)+v`c*bhn>%QJiec#ToWj=dz2Xu2fJ{=bN{3fV?>{!}m`cMQZfYaM#Ta|LyXdt7wjvVmk4FG0k;zO0Kp?ujd=^|2TB}$|(MaHRr z{Hx);=4())1nO&Ln~_ia>rMVsENZjglGde4fB&d6T}(F23x9#~QcC4TGT6WN!V>Nz zc{?w%vAYOE}*~3Mr0eG_^WD5+AGf?_H{^p`HydO<}D?Fh`c0< z@E?VV1Ke@Gq~X;+I>Lw9t%|W}L;=cj|8W3*3_ABTnncRccay%F*oGOn@Ym#V^5AL? zYMT?x%<%c9Rimh&mS_$$ZJxCOW!7YBGO{$pYtM=k_#4#Vde+#PN68|BC_1b(6V}~) zYYtUK7*Tumkr`<=+W2)lEyWpW>Zxh$Ox=W|IYk%=dbO_~_NeONU<72k&wt{CgGOwn z40P|&oo$;-dGwjQefu=LJPY*nn3E}n3oT@+zMQl^tKX?;@I&JqDV?{GfMo3yR3FlJ z)Aen%(5Lr4;XIEI;m9O`zx63P36THrniaKs*k1!8W9p*niU0DG7P2AGkHzruim$*@ zU=ahuR{29q?s{rHP9V-vF_S?}bg-5UX_QlEP1j4fR_8sQJfli%)DNpaD5{l%O5$~o zu$yTl!D3&Y%$q`8uCSZuNgD37x%lhMS9<{H%abD9iNSfaNFUSL@?we+0 zMun>Oe+LirZ`p5Lsg0f*7GoFeZEMPUjX;N_yfD%ICXIl>Ll-BHMi1e>(OW&my`LLK zb|2(7!0#OwI#cGSdSs!RuoW)U^KnD@-&OVth~c*iVWgH09*YtEyL7BC0b#be|}rt}a#^n6^WJzD)?pXhQB6{EubzC{N?s(Hjo}1x``B z3GXYL4O&Bm2AM<-dXq?$gT_@^_zM83{9`M~4e!|rctXkkeI5b&EG0_9Zn>bt577si z`?AgPYtp>2q2FsY>#c{dWhG18sQrFQ@fqW7tu(&MB)|G;sr)uIXnvk8xt)VLs*#mu zVo32jDEFjEtb!}&!Yg8Cuq!&LoBo>mj>#wi1AQyWA?;hMAz7xLNU>rj;&s{LS#4j! zVX#p6`b9@l)(e~!>)QTjHo+G2a{n~L?RWm#un1FRFLEq^Lq;?`de@eu_soe;YzyBA zE?Af}$T?ihN&i#nS%C92jn@k}XuoQRGi|IVmpIJ_0k=38dvvu7B+jir{L?5dKkzTQ z0b6u6z6bD}HKP|+T8W1TNN!_0Y%Jyl1k|ghMcLN`REdHEZUno+fOH5pC)aic`UjE& z$G;EsOLQ@kG31yM51Criee=Asb2W&ZKTWO1`A)Gb{fwjA#{bciPOCVwx)Uh$IktMRkhIaoy&lNxw3-kTRknxym z8fFZJQ8$vpLTR}^akB5~l8!#JTEH(lrNGpTW{!%t$9+06esLXfn3^TyH>0}0AxQZ| z2|X$xWxQ$~jA9unQ$;9GZeOt~Ch!?e&?<=RU?(h;2!HcYKZ#V39V7JrsB3mwvEGaRKk-D3MC%L$Qcwq8 z$KwqtYkj&=^q@q)tn0d&QpHF*olhuTHgN>@@|hT|$ZXZ`|7C-u##7OT7uc`2w?LO$ z#X+{{muu)rTN_Y+)EHP4jAXupH*JZ7GWLIQ_Lgx`b#2(UiZBQQD$=P)NOuejAp%Mx zDUB%I-5t`PgfKMHFn}~eBi-FCF?4r48|%8R`+a`ThxZ%$ZT8-4t#cjc|2R&jTA-a2 zG@D)JRgRO?u&-fSc+e`ax@99%(AkAXx3uiA;dUB^+)FnyXhS~ZxOqo)>hnnlVU?;& zeiO#Z&_WDxcKc#WZ$Wap@G}F!4p031G=@p>^+_X|y1fsL`TGYvfRby>_HMW28wl8s zq*bDC!$SAy%5^&33niRbc@)eBRq;j#_=%snH8^a8^Zl-4F@&hg&)a6tr=H-%gMRA5 z5Z>1lJ?!r}dK(krc+X{U8>PJMGxSnnNq0`~D+=BJtqV^M&t_uH*Hgd?O`TED6qhU; z_{fDlg1z33g=XmDb%%cAoz%8?$x1@nR7)+7G?;p$3;)8BH6ED4v3NLa3lEXiIBt3& z?*zVu>3u|KKlo?geVe^UzTvnR^OTLf*}|0yQ_**3a*cp37L%m4cx>GJKYP`Ka3^YF zOtOy?8ihWHzPOM)LSZVlAIhz<^p7zoe#*ci=q3^hER|S?VAr`Syf$S?LACagQSPda4WRHk=V1k${Z&ET78o|!?oO6dEjl<<5%6Kti4|9|< z^}%nMNm$o^iLIZ}4#@sPG3Qv}D^->}F+P8j;SH9N<9tKbE^K(E`Tp^kSL>Vh`*x+M zHq91kX?)BiMyld*w5|F&yz!xz&2FxIEF`$!eiLr>93M2Z^4X{WBtx7Ryno(km)IMj86 z%rxfG7Jk(#sZ6$JsGgb^lDPxGCN|kN#35{DEv8X3t;4!wu(E)uG+ zZmt9R{wT6*7RgTU@8hJUISiHA1f|~)?VS=`b3(chS>-G>GcKwObL#kpdO(Q#mH(g; zhq)z<)3rV2Npeuf`KZmtg4|pN{B2F~fxD48`AJgg6Jz@u?Q~G+;^_@Cz4}~17)97( z9NqTz;L{<>cO$ohlL>_CU_GZgkP3`!@Rxgkf$2Jni^B0&FQU45c&$iN z4ml6GG|IMIHY$BC$7uN$z{{n@9#3e%qWX)Y zZ-IS(kSEhf`M;%O?QV(Yse2PtrcS2^r7sM>mUNeDonOoQji7(!AfYL&$n)ag%E*rb zJea$?Y8V?;!-7(E*Qu~ONy?s^l&ytmp;Uc{-E~W{EFzRrG?n%HsE#%KkPM`9#+d`B z%m|z&0+JE&!_}{tuaee{n(=tmN*V-@Pi7U9&&(OPb^!SL;xn4VbxO9VOnMc(A#msn zt-9cd&~7Ml{y0Zs2bM$UH06=RRQI*@^rZirwSzNIAZ|wu?k}SC9VH|_ukP!})a9u) zJ)YmH*+H;|r0(9k$}=;aCNQXy5qF3867j8duxH;1^On0mA-;@iyLdymnJzrecF|h4 zn0v8Ju4%Z@az!U~k~`Y5qIE&$a7akl(h~8mrjc~p9k(u})fUzDst~+|2UnF{A#H6N zDj_X?g1e~jUE+^dv3bbGgT#?ma8~&-EAZlX0Fd2utjL*(bW)gsgixFJlbK2SHY^M1`La-t<`Le|-jk%I?HOQk0{frBJZ9>>>e8 zmIRsrG+4Ip`Od{7tQ*lf`{PBX>4Oi)em8Kxnjy6Jopy59nZu{Y=Wm<9YtIm@Y4g+y zed4;p#0o+?!~HBa4pfH+LGOvf9|9CvRyMya#@rnRwq{{$8WQPXLt2n4+k|Ykh2)w| z0@==d2tV1LQw?`IY+dc9(YrUdPC{BewbdeFYUUElBb`^l&77joGPfm6pE54hCb=;1 z00VigR%ZHbs_vJ8%SxVUaSvYm5`YpJWzz|s&iG{YAx_DV4!~ktL{=Txh3|If6csP$ zaGHlsz-3`&&xuGIDz|RCq?I8h(VEmJEkzbFxlm|TPXv#GHcmV#QM$eo(DFMhg0FH? z9=XzT*SWh(6Jf}gZ_o8?Ku$9B0gIvG=U0E+j(`u#+dv`+kXOGnBV)a=dQh`b_;_cU zQi&F3_V5?u4wrtyGlptu`@1R>1FkZUeJ+((7>-)fTwek6@o2*5q}1Dic=8 z>5vISt?$_NJ~ojSfMwshDw)nivV$q!4S5n#FanKfC1QO|jLpV9xiZ+`*52pCNoJ&Q z)+SrI6gQ&FZ{w5!=qP>~{o4r*9_FH9ulw_(%d-#J@jqOSJqLuw{$l1BjW=6m*S-W~iXJ&59r|1oDjlzDM4qyuY`o5a=a$U1UIWWHIf1G z%Malzk=Gut;#@3_8}X^Rp*wQ&8lh;c5+}WkK{F$2xd7v58nQlDp%(T+*IR6#=Pc*M zs<7?ceFK#!cXLPw7=$5?gnNW|L#nA$ECK5jZtUEdeSG}sUgw5~B$B#<3AvK_&T_~b zJU~m@%L`?jJrpX`TE$+?uVL9`<9rFI53Zx1CW_KC?VlBs7iT6w%-Ll}BNFe;2Db1e zMfX}T=DsObsA1EW~NTpwt`Od15<=Im~z%`@$keuJE&t@+0TJZh?bcnTv9yU1o* zx9#eV(;VEDsOIW5#C7?zsnp5nvJ-oyMg>>-OSR6se~rOF6+c1?6xtMz@7j5x^fRzrT`t{~qsQ$1{vyoh_%uha=sGly{#zj8e!RAY`iE&lxBq&(>G zq~p*o-kj)VoxLh(U7egrCQIU#c|54ZMAq{x+#IC|n{CxjCao3QfJcsFVRV|ysFkXS z8ikGFrSNWB))tj6BB_r7uj0UuJk3Wnzt7$-Z!k@YVlDaw10i<=LeTrI)k=t8Ca<{; zW5-;4a6o@70Xuw(TUJkZf6i&gcL3_pT+1wh91^n&_;K?|u{N-=Cp?lpHSLEr2B(uZ zRq5Zoj=0%F&J02(G>x37F2sop^vzP6lRn^FK0J*0Ki9l zkz|b5=#^V4IH)<0>^W6+=%Y8EMNFWJRJ4?=PD#F1ZK_d_JJ$%w@!65VibPS7wwcB4iAY z@dfeVY~Fx)(y%Qr7FM2Sx9#<25K-F6|Y`yzCLnSK;5YSJi_zS>{RPA{LrK7LB9iLOUdAU z3U6Bc0?QCx6Fn;0#b^D0Y-j%sKe*W?4`=ZQHxn+N%x~5IIE2&SZg1CLpSN9YN2=(WW>Tw$)!{6r z5QkS=kW}qNY75(?RC5PDoqwXB{v+%D+}1z#vAedA8#3^X4hI4`2;;Wv7?)M&z5~OD z2?CC3V!gNx$dkK%dS8;wkf*9bzS?yKh0O$CtB|nIys~_(=NX}|sL2c(2d?8gFO-R{ zz8>X}CjB%7=K{KoofcUj$X||w-Ea9JfY!Ch<@AW@wJt^I5O1!JXgo9MYwnt{o3enj zaB_rH&fUjlm%b~NA4wYIvCw47X`^nn}Pn(A6eqx_LLGEB%#Gh(_lLV-vb@jUy zf#b|C2Vbt4jjg{d1oT;%d8o)R@xHXlY*bxI^&&B z7f=JeI9wdvw2i9tljcB)Rk;T0QgL$iD*|?mkVT^~Bz?6r%e-22ttvb8B!$~&0&k6W zgrdx^_*Q61c{GsMcWB%)E}qto_ANA^mVO0x#(o%$ZRniumL18QJh*Z*;FC~m&i=Ad zvT+WX&4O^q=*pnrp#GcDug5w2`ZguuKcgeg4UI-QN7j+64ZX( zJP9%3pWFa&)nRsXrqU~ZbW?_Ak&-ppYw>r(v}9=JatSr2$v?eJnhZln!ge|e%sU#E z8O298Q0=t74Cr5L>(6(qLo)w^SP__n~%9xpE1!#VKHg z6tym@bbMj99+>fVhiJ7XTGx#2x7bb*TJ~lF8M_e%x`6CksC08WS~@e{nn1&^L(=(R zaTxIG7q~ZdIkEAj4(W;0zg`sC;C#Gpc#S2UZw4*Tx7&3-*mZJmeLlH?)W}7fI!7nv zhB$)#bg;lJ)Q6E#WjDPAVWB##f@3GkyiV@|`@HMOxR9RbKaQv}5Q6#4-xm4wT7g=A z=QLE$PU9IP*8RnKbG0ICE5IT@E#odOTW+RyU9+AKAT3okzi6wXZP=|v9{RL9s>Y*_J^QJ%MM=CZ6#A^K30R>89%?B5wi z+WXinyRKB%6G7Y_*;edqnK~I{Zs!DS=B1^P2G%m`hHSt`iP4=WB%f+^Odfp$c3hPl z<#2L~D{&_Ze;jnZJZUW+-nb08i*a^>{b6NH7ZzP-o+s*de}Ba)-e9AF%L&{xu%lv~ zKsx%a_~V~TAwYO~r?-JW`Nq>KTZ}(5seEhn_BnCOW^|)g01_OleocQQKTsz!=O7Xj zh5sD77p}<3SI4*hl5(oS^bpW7b-JWd)8^jt*)?Ve^nz(4?4M!BGW|&D={BhonFnn7 zEt{3M4Cu5kFge+-diWl5LZb(ZtuOGc0-ach)R$qs!bbtRh3x(3au6*@%n&Dagobpl z(aDv1!p~{|z~k-fIC+=1wdGj`gBsPNWg^4>aHWn4H66MDHvxBSPCpSToDm zDSi7;Q$+fk_614@Bn%&WBa2NomA+)>p~s1838VgRdzF}#pT%8{mRvO zLbT*YPgiW0PW07C5;sjmX6A0eLcsm2d#TflVqx|TUucLDho&hFlmb6L(S7;?FI01z zy>_6bVA84j~HVrKk)ZzhzNkO-w|^82`sjmaP|i z`B$XsVNLgO#}75KzJ)C)I&Y`4%Nj?3pav-De|9xMQ)d70^ai-yY)4nviPw*ahzlHw zlpMR^u+g?Q^PBb?+9ryguu&q%N_qAIS;Sw7sTMt=b8Yxb#A?V46VU&tnjRyY^`QyR z8(fDijTjpyMuVzi046g)V!x$X$sf22_-s=!kZ{tG=(FnZ*w!ELVNh)EP?G#O4Z|7J*6ujEtKI_pZ=fsvCkYZK;c-}8yl0$dbu-RXf+wHWs0nS$lLW( z&)odK=$X$5ZMHQOmB)ziF>Z9sMIMXw1)(c#va9(J+A_gl9QFs~7^rOtvt9NYJoz9t z7p+Z>i?n=PtqlVp>gtk)$ac;0;l$MEi7y70QYnlElJVO~^$314Q7Szf3D8=HP(GEW z!4if?h*woSU;jXxragUfEH0sj@%F;c%CWd20C*kAv6B3c7YS5I&8jh>O}-?pLF3ji zzhhFkSIHEbX&!Lr!Y;j(hU|;_THExiV6&%*dQbYI7Q0d<{5e(w0o`mhvxte~L6>}Z z-EpOU#6xzHDUtJtKk*Bvj2o4-2JUZ=H-E=3TooHl-dBmgT}-~27WTvxes+FP%)Qgb zXfm1T`69Fbm&^$-B#~-`O(R~-x_14ea~5&Ab8ClgIO6&r6umenl#NoFoJSsf;-AuZuLb{r3**EfqqG)tE?qO!+?XUYVvvyvVW$o{1Q%+}PWosyMrfVe94EFTU}F z&@&V71jF6$!(4xS6352Hx>uN-7_@aC5^{X=Mf>%c%T{YF55D$ThrVq(^1E2${_NY> zps6Aq*=V;*Z_=`PAAkMZ@0=WHBVhKiCzF{{RU?1P&ieH{1h_ALF3-BPem1rSiU^Kw zMKjt}ot;qg@j1an?)DL!Mm?Iz>lfNXqzIK%xB>}LfZjQ{{IXmhEun#t1VdUNN0jPN z@{vBLL13?hH@1TljxPPn&TD#pq+GQ4>+MqXjWdJx3R@&5#nPf<)4Y0XR??9KB1y*uk=G%f1O{X6G@;NCw#YQT`-ErHR{jp^)HlL>xZ zXK>HCS#9w95m1Pi7(zKy=TFcB-mjpC9II9KuVM)tzctc+maqJu{0A-|Z8U|*VWoY; zPy28v3e77J7I-Aoq)jk?z&`O198>=nO(QHuBqwfnd1;U4&Rv%^5qOS>UWpSsrQlK^ zpGUk+oB3>A)8+^sd)IMG85D4n9)uqzW%2jLhHWZ4b_g6(ZDeBJRVzjQawyZdZKCYB z@oXbyQ|i=qgezdYL85S|q$$q%5l^Q0JacIr^GNzXExSHm9?#i)+7T|3QmK{em&m#-aFZOXH2F&e2yTQ17`n_J8l0rij^BGMmT%Z!qYMpsyT)42m$vIXtnD@MJ zM&-<rrMi%u0)C{y;9X!^O%yT$dkRjVd@po0)l&w^zQi6Dsn^e@zsE zwuXdFt@MZ2DrlhF5q;;+?GPaMGwiC(6uoIkkO^{WApW2g!JSs(Koxy zC#J`o8%#>Qen3b!!F`)}NAD*Ul8RKNh7Z>svE+6{UmyXl2D?2Ik&7)}F-H$5Rw62j3{66%f2z zrpUpw4H+#a;I84P=QI%a5=Qj5MkJ*+S%ba(%=G?DDd+E~=!GZ>wk(wD^VqfX!d@c% z&zo(D<~WRPV+~_UEnLxKtY*SpQjVgwrem43;S8rnn19J;$ncJp(g6oc_a@h~e8kET z%(s7cCljP-F*xlfkW(3`l^^UD@5hwunrH-Xhp91Tp*O{j@RuLNB)d1;zO1XpgA5q-Hv#y z=;jlAmz9J{?rey2W2^=gwwV%*i9tK}s;SI7>ZhzJfS#M}++5wD4Fpa&-Zy;C8-8`- z_C9NWH5yYUo#Jv{W9+bKhrha5sE!5dMOee%^D(=Fp#H#~FW|A^RopgkDpeB`s*v-o7SETOu|YLF;8F}jm*Wf2 zK9eI|YjZe?db;v5ee09XmR`ef_8D>6UWw$gT9-s})Kk#r+w8iI}`?%akI-b6vef=%#70Nh@d6?k~|!D5_Iri8Gr;t&{u#@0h8S-QI12V~_1^HFZfr?$movwFIt&7Za_;tSl7-M0JbfbWX#YBlQ7 z5C+dUyUATLWlx%JhX#T>yK}~yX53VIJ0X}@no89}%Z)Lyn@Wwj5X~`HY$sW%tvF@j zroIYNp9pxSMA7Ez2X@Q?*Q4ME+qrN*0C1~H2bCwbXjbrSG-j%r&5@)dJB_<5EAY1N zEPhzA_&yUrRgRuyU?{l$QLKE;v3Vf$fg zW7ziFC`mirl)oOtr{(44yFxd-cf}=;B5{N>t@04i9UBvbfq)5nZ(EVyUO{mkgM|+-^x;yyPaBZ8cT6WhituiJE!6JsIX1_D*{9Y;PJy%Ryb0@J_WUaMo-~Ir@`;HlfYD*Gvw4aC8V-FY?Zd?eF~Wi(cRHki7PGuEBHJNl*mng3 z#nUWyE}>-<%%{`RV00=@WJ_(a77MO0*2GW-iSBR}#1tR1KU$eYIn2YFVo94Hr32p+BTB#KF>d$iJ-Uo((s3|5Dt` zuud%aWEg*MWXo3Ki?DZXydiF-7i!a*Bd=7R+v@UfaLqB1R7|4N*ov~5jV%LUGoQjpiGNdt3K>YYMXO1Bi>F&-mpOHGL*1#* zj;85hA;GJ2F?6W9?L-WhPA#_?F^C!(dT?D}Csfdpkh#T`^*%7CC*Gt3+Y?pItz-hm z>akfj>{(l$q?)5BK{lPff-Chnirv?xy{~aDMA6DpE%aS4v&-xbki`IE=f*oA4 zcB{-9WFh>3(hx9J6EGmW2y;m+qzTT3)HYgVPD-y zhP%2_>8^JHe)$eGG-S@WCc)tyP6Lo+JX#Qy);!;@%V#0lXjGUZct!^y*)QhFi|!O| z+ArqI^I_6}Bf~rW&r&QQ$V=DsZr+eu0sww{F$E}~D%KFAmIMPkxaEiU2s0ewo9JUK zF2%I&^@gs^dU~AqtlZQYmQ719f_l?pOhx|_9r`QTNdCl>J@q?|GIijugwrMe5Yfnr zg|*t>9sTa%0br39=8B*D$H9uZtQlklaXQU#>+Eap#yI(py+iwweGiGRU@TRmYu z>aAvlm`0W6I&O7A>kWKJ7J7VKI7)^A_zg721-u0KG`li*9svOl2KW|h*ILF~&99?E zWrIM32fO;6Ol#5jGG#O0BW8L|tx2~GTir|Y^VC|hZ^O5g8uEku%(F{etJ3AjbPb%u z1zIoVD+lft-NOfzu&%?Dr5g)Dam7Vp|Hntl>NQ-y zBSqRJ{XuO6A2pJkDA+^D2(XIQ^lnOuHrVz%^aho^YiSMPr8yd?Ux=5Rt2<4>C#h}G z@SIu-qh+o6onn+mqinmXgM)}E`v(~MXP}*;Igg;uU1zZZ0}6kX`Ra*H!PuuITL!|^ z;vkYNd=io2F&dLaMu_lB%WY;DM#$5&bRqlCHz3kJWejd85D&fjmT_cH@<9?PP z+{Watu)NzP@vH^>z?zS%oCmHH{{Q)n#TDenX%B&;^f1-n|Na{hEjA}s_gk%*g{SEg zRp*%+B!uc{-IuK>)KFVKxdTn>oXmoKo<_FhCEvYuniKmrqq-E6-G+l{v;_~|Q)%CO( zQm27z_qw<4O+V%EHZL?Zo!onYDEG@!W0(JsWlKip;TO!8>DH21XmB8c{#W9zqNJpM z!<+Xc?JuOGcq{6$)Xbt)mC(d2UcWre=Po?Im3P~n6~!u9AwAQEd8d6g(m#(?{I#~@ z$UVAcdGYo8lYWLhAypTW#NaQL7I{4{eh~Bd2%mD=Mm>FW1Dyq;7e2b(4;B}Y7;ob- z^9&&+PQq|JpeIa%l!hF3H5MC27WH6b{G?-J$T$i6jnZcXkjLBjKY2GM?!*pE9Xhu0 zeF|t?7DPZM(>ko9K-Pg9eQH&vG+n)FDzkYWQyn^8lsOpa;u2mqHd16kyUO z`C3R%e(p1z9O=3LbIKC+^!=2Ywn5L(zg%WGS-Q-oV2dRYu{19+e`yvQks%x_rLY%6 zOpAUHI`wNW5gHMtP!+I^Z$sn4QH*_f)K!_^#t-0Y=(sE-ULQxuHHK~Kttu>@2xK3> zS&sF7860lk(GtC{?)qoBB2Ye=969df zM)_`Z2P3DL;TjWU?fFYEWDy7Sl7C`SC|i)v4>19AdX=j?B8`f*j+L0PgE~xT!cq|0 zUt16@&aeV{!D}NKe{p#>s1gPHR@3RoZQ^RXAdNcWO0G>Bd_wKP!pAppW#)MnWTBZ8 z<_jA;x2(=Kzf`!2K{2<0%TD*rv>nP%H5v~j<>0<&05mEDv0eUQR78p}2bXcTZ7 zk@r2i?y#ci>F~ydYQP60YX1#a7IA4QGPDzqTcZN1+mQoP&sXt ziCCG=cBf-onpPh;Jwf=@jg&#dSTBC}@Yq>!Z-f&J zD+ux6MF~px$vheT%jN9QxjX4SChwJy>F>72BDJl{Z->c`)0k`u&i50K4blFawG7g1 z3CKMb{cXfbKrlOBUsZv|nP5fGW_S*4PJEVG?N&>iI+VnHTDCnym*S-14SF6$fFYPq zLr=IF`~_2MeJ9z<mmzyy?rI6?t%J)>8{yMMWpUXlp5SjVUlwAere;_JjuglF zI~m^416Yl5vu^pC9AxWd`DmtBIKO1?%w);nd&0ll$Bk8;A!i{v@L=lAkIi54tmoQC;}Gd)YgNBzQ2$uP1Y99^ z@)GTcR3S>3I)UaH&JPo<4jb8(=N+QI%<4hGchq)NXk!~-xK(s08lNXP;ZuPd)MZZ& z9YSUp6%%q{a}NgI9Hl9^fEaFoWn8@Xz}b5E$!Uu;Q!8|sP00;4mSZh8>8EipP12PS z9rEfO82@3u=2aqiC~9f0&r(+cnM*ur(jSTG{nKp=PI}D4EAB7%){~KJ#n?)Vq~a7$ zt?UXPM8{#OSX+l%=P0abq*XZm*?9(IF~2$;I}8oph2a`)?)c|!=tbBy1;)3SmE8*F z_yEDY5N|#!y-<06gW7lai`}e{Bqj~A!4#wK1(|6-YJm+0kSIbKS^8GVYTkGOa8ZQf zwCAOAoJESQ$Fv!xta8!-zklML&k|t|oyw$-ju+$^ir9`56-Ig2fMoCjkkShNls#_U z2G{35XI0?;%6lNt-qBZz+?kM2d1s`C>pYCNKqzmSGtm)Vu1Avz*ylb97!&!akh~z1 za|)xjs!!F+F0gi|fHv!GFTIyA4g2Xr(r1GnZo6pz!W>Qd!eIx2jvR(p6Lgv29dK4GH)Mmg{O_cub|MG*k0SnM4 zFIN%3zfJ4H&e?dQ$>IIh(pWoF=~y3daQX0yR%l{R9Mk_FMhZj$1!J4Q`1^=ArWB4st#cxB74ftqxb= zN|)_LbFT6(eD()=yTKFTG$V^(sU}gOVs7=K)=cAe@zdS~Duot@3CYHR?Lj1Q{y|3x z8Mby;CQ*Ztz^dESwKj*iw9cZt`F>^>#px(OPbAg$ySHX076INJ(WcpEhqeCc0_9}; zDG=1j&24SMahlZ^CDsK9Ns|bDQVp))mmhG`+9kLEZ2UlDnU;Ti;v?YqJ29KZd z{6XGsCd-%_{=3|*aFY7j5T|DpF!@>6&;ACkfiKqcrS(M}3tzH3$C8;z9u2AO99C}H zw%#r$j{0!U_8@*_?btFP3z4c5#@7!EG39`!vxtbr(iUD!l54`uTI=wp>&1E$C=Q2> ztB{eD9pX|9AESf(#%zG8CpDU0LDSwQPF#dWLfRw&HHZg|VAg=WqW%x?C70^T+ro*j z)e-ojBE6`907`=(OiW5xxa3)9n_dO&(^~2}s1x149(F|Mnr8GRqCR&H7Z~%uR@Q3B zu%~nx1!n93&{bhg)njM#k-79lJ9Ufu3su&Vy?(pmT3nbmQ;l=qpS5IW90ub;<$xzc zZwy|&TJ+TVfK;~y6SAS7cGq~Os`($fZJO#Y-3H!X^-rpBN~|d=TIf|8 z>s|oF57~8_VxjC!q{dNxHFkOIxn%}8R^|(EA zdAFtUU>Dt%duFmbLpLp1>sxQhk$*ayT=Mp(7OlB0k-WC`!<6==VWfy!*8o1@^+5RI zB;k*38RZ7RTnU7BuMF-=;P{@@69)SM2KV}H1&w~)FX0h_NFoEt5$S1|m)C403@5US zha$S6ef61una2#l{38jCzZ-f37z1;0slqEo(>&u+naoH@b>*xbS=cxe0NATflHE)2 zCZfko0N~n;7^)uuP_GZKKl#hfEtK`Z-`WEJ!?{}!Mw+$Kf}GXw(INDNgwzjL?-GT> ze6XiU)rr3dHt*au@`o7U+oTw_`F18WajT97WGdWpO-&(+g_t^s8G2s%#!ARkpGw$X zX2v;<*W0H#zH!wb9R+$f{fJld5^er+3gQ&A2FUUXHVP?8@;w_Gv@-p8_iO@G*7@CIM!tlgM0LU&mcXjA~JCm!@ zkwP{tKG-V*2;8f$U}1V;=2pECZ+2UjlijOe*rw1>9ScbMuqZ61q-P+$UhFW0NOzEB^X*4K zOD7~NR`CZkL>U1-G_OFd*I>7H!uTZR(^4yp`2|w(QC79nTS&oBqmGFaA!hSI0(?ih z_ZBoS1{v^ib%p_PvR$Ef&OAsSpk4@%c)-cov{4O!W?OuhuQqx>VKk;rhOmK0weRh- z#?XAJU|Ayc(h!}xJ}Xwr1Gj+z9r^!`L)5i~Vp?PE_=f6nwgqr(D+^(VY?zy|UNhY= zsVD60-E$1(cz7Te6LLahlSMZmezU_xbw)!mIE;g9j*eD^9-p-Da@9P`d2-ci-p`mA zW6fO^Z~%TZpMdY2+7TU1<@Ia4GMK$#{Xs7-LODv}9BwSNX&&fqTyZjZGlI79lKvA# zuT8J|?DyDc!>?nF@oe!DCRnJUWrqu=fw++vJdIlqr*(~N1^tEqPyCPuMJ;5=zoSUb zR6T*PaJ^axN%JaCyxekjc#qR|lWU5WjFvyG=M>0QxVSoe6Hl>$ll4)V6UE4wTqaL-gAj$!0T%0l`F|uoQ?SGK zR0COSinGW^JoqFohg>E({5^NyxB0jxe{&lLT;$|+kuZBS^U7~F)^?#u)pnTfld|b| zy7l7MwnfIXgrSev6H=u5zk0n`GneVK2Av-iOal(W@3S+7Ytf`bU5PFI4#q439xH>i z9+w5IL`1jD*#VsWBNQR1p-bbCIYODg=A3UEoZ|BSE`*c}TBfoG8gD*{u`YFLiHv(l zU8}P_#AaL#?hDFIqj2i-MQ4}y71x4~dS4qDH=3(46(6%jUu=J~)=4syL}ew}n&s*; zFMoYwT0Y1SZhL@=b+Lk@JNV?n;R%o{6IF8N`7As36M1#J(zkA(ZDCe7T%R@z+r%3h z?H6~eo4`rlg-6 z))l~ZvCGZKbIY;u{6KPCTi+RQ_{yswXH2n=hc;^aSb~Xhss}3Yu3=uIFL1gB9*4`Q z8`T4ONQ;2FXmd+a{>6aD7w4IZP%&xcCy?2kOmE4~{CcfAB^apVtKrM*jrRn02{g?; z%HoBK4lHH4x6Y13H5=e*@%;G5Tc>uX+4Db*EDjUof2<$r)HPnwBHJU^c4$#=#J`xzKd0e7^hU zQi%MVy41R|*CMJd9TWcL%X-CcULFd7`~33<=v!DZusruu)nqeV_RyDEP-G6N%xq@B zmIZ0w+M7H3Vk~#IaFd{y3B>Rz#;+fzI2hb1Z^@KpV+}A8>2AAggky_IwuXa&xqYXJ zbm~hhiFR9vsFXGe76to9y}@L3plOt~MdUrqA7~7rpxLxa&eDA)12F<}brH+_)idu~ z+le4f^xg%db_;Z)le;fI(AAn2FSe+-sDgd6lvmDebedA}=Fg=g=L@u$MvKMyRAs$g zeYti_P8kwrMis$KWmu`z_IELar4Kbi7SHDJJ5WR|QruAs#y1@*bA_Sz*gYt^QFdq6 z9$m~D7OBdX7gp>`o2J;H|768)3l+^szix5ncP1I-ey z-a8Ot3X>u`c-2>McJ2)bcI#$?x4G~vVAKVdGH4_c+U07|Hw-%Mc>51^H0Ge(Eq)$L0deWOE4nv_?~tkc5KLxXz&Px9noqaEkA08znL%7vYQz)v zik6}R4wq!W>feI;#M-;c-saS0Cs*IjY|E1r)vox@G#p@9u1{&>jel^`x?x0AM=~b7 z;>-G*KfO&yT?*z*iC2;p|EOh9Oi_r#4pnu|fWo#N;w@1HltcpfvO+9(tjsep%_=>t zAt~Btbzrk1!ywS(`(ct@bAZ7`4O~63IP7^{B+ZI6Rdp_=2PNudGn}RAAo=W+hio>j zdTNy`p;ch{_A-kMs6FFN0OE2DY`Lb#L~n{jvqdVp{_)JMYI1zr4w6hjZ9v}72xRH4 z>;hBPOxoCU>r~wCL9nqKGVS*N{IHz=A801A3fGEP{@gQGEdC%#D%Vg}aeI%xt71q@ zxX2{l*jy6&tY&yLX5-$fzN~<9gT7e?fEx_0U`JW>v85+=0&?bilG?jO@|b_-BDuIQ znw#8Rwz-!pRO5~o`sBRr_2Z){3@x!!#$$Y|&>R=BB->i~q_8B6AH3xlzNbK%YX%rf zd(KNIx5BwW=99bf`$kj-B)>l@b*or9T#Y!bBqF7|iq|W~x2<0z1~PL_pqNnZZV~giC8j35`V7_cMG2$e1l6j1>(4D7R=_^2lV!2-hAG_zH(oK$1tn`=` zuVmPxkTpVsk#O7?vdyjMHrdAOilbxsSC}UmI`_()o?vHmFE%4m+&0YX0^ChuVor;; z(~uSW+(299j}DSLgkE~-Cz;DtBHlbLL3MCB-=|T2P&2L!1&hH@{Ms&KY)|EuGk7Bwq>h&QKL8L3+eH*FEbSA}$ zWmV+SjfDyq3_V)7$L(`)ZH;QCGow!>EVa)`-{{(k+1Zey7K zG00_$u~|^L>vP5@Z0;(MwAe!Kp_NKI9QqMPTJ%3=XFkq`rI3*Nct)Kl18WET=%$#t zL@oZGTqjZRVkq`o9li4WxjZ-OvAtoq9#S33>@}-lxwo#|vyIU;s0o0iL$~U&wSjyAX^aD3S1h92 zw*A~Jecn?-ytOM<8&yVmkyt2F{-THKwJcL%xCP2L-8Rq1H}-WIU10je4-6Eqi<(|Y z(EqBe_By@O-jURb9}1bUoaGgF`rVaGCA^_1U0x+&{C*{yYukgp3x6E!3G>UhF^uBI zZScy{5M!mhBnWsIfma-*q(2Z>C&hD%4w-jvzZQ#&B`ov99t_WM#W|JqNI$Mp`P%wLW?BrG>*ZXIavEgAB&tp%q!j?f*iZ zU>QcgzamDN>~SE-X|3iQNXvFF3k^fmM`R#fY(iH)9*IqQ0Bo zl45)8<6c_st$~NZzN0hf-~zJ!3M1oKbF)MQAUCgxSi%JQT${iPtpIds2X_$k&UH)A z)BwP+V?8N#HARaHvtb+{RE2DXSlGY@zN>AvAG#v=|Hd%2xGrl7qmo2^dexKMx~G1N zt#w2O1i%Ehf1K(sNHOqHfq7d-mEm4BAjPFV!&g{}ROM_LNa=%9XN~5M&mCUFbM-EljWHwFmyRTh-^ zT@I3weP`bO*)+H^5Wto?yeSq2?gd5>6-~mpn2zn{CdN=njbUL%dOv9}AW(p`4mKc> zuMZ>*beomq?)jgwWG0FjO&7+har*$p_Rr~+H}kl-N}r8YBJr-en?95E5D2b@Alh>5 zQx=C31^f7og-5mkq>X)C|w`aGLk0oSBiFsic>PK%%FK{Ix&tjxIGc*ZXEB)2Thcmf6! zHr0pVtK(Lg{e*jdhB>N5jpscDF8XGf<$*3do7#j8YP<6aqg^(64Df`P*2ZXRN9J|B zr+~8LSr(aAoz_O0X9nK|;2nT75*ift#uc5|O9AmTRU#IKs^~XXt+3gu+pO}5+eXb& z<;HHR!w%LT-mBQ_&W}6$hxLDgb!fcWnB&t!egAEnEf zHib?*?~IWeA^L7jMzEXks@yA|V6r_gE{v;ErvCsAza1X^4G9spE#?OfGehhsfCtEC zd^O0>w{v+XZSMa|avkihn)OLLxiwG@iq70%w`(U?ptMtezVzR`OYkJJlGpknq%shKkF*%1=t<4Zw8DK%vul zUgs0P@=aFUGZBIRXRVMWbrKPI@@O>DS|~qV`A(^V&RV2ZZX>&$P7$@U$Y|1vMGhBS zg2y18_Q@U4V`f*!rtRrunb_kkA-57eS8SC#-OEzdUjsNv$KU7FJ21_3lCuYH0jTxd zc?Vlrm&n4cdnN$7C~x8c*X$$rUGeuHKlmO5uqYQFF4y$$IeyJn#p-L*n00!gs}s&r zpZ*;8LQ$BKR)PGQZFIzaO^NM2yE*|$%fl$@%0qyE$dU5BnQNjTk;eI8=G*tkcp!vp zH_%Cwe{?1<5o!i`uryrs@G-y#Z4-{lJG<#WF4pREzz;0{#`?ofYC_eZw_f= z$Di%|^yHs9e&%-_|6s5oc^n8)dt+{r`TXnnEpQF{xzL5)yX5EKq-`VJL2M=(n#(kf zt_Lrs*$nhhw}82qthPPDYFuON&36a|=2LY)YLw6PJ19NDTxhBz+8<9 z?&K|uNZ2%nlARV?ovh_OEyQMhD|CG~vvd@<6w@)i03^0KJyF5T$hDW4^9}-8#$A;v zdi6&h2HKTBhcW0*C8C#c{<`P=4#fdtxBnL7RlgfZ!jhoRtIDG#ME%H`ox5yHc)M0i zr8YZH;dE{q^t7T>yDT{OtqcS4fLV6o?=&vC36e}IJr`2ylY@4D*d)nd6}F`t<^vIH zqBTy@Bi2m^m`;QjoOU%TormSlx|9j<>bQ8UNvQaf1KQd7(`N4qM3kT zZ|sgV*3B68<&#~J4Nfm;tifrN*SC7Rk&~+P0m9*zXZ0WJo&Wm_den&dUx(~3$-sKr z{#S78&F?UH0KXaclj4HVG61#&$viu-+_&4F)|X>vb`L+I#9i&IbSTgIdbIddaN}QZ z!;;Sp|71{p_X7KVd>FU**xm-gci-+nxcKlf>pv;#ggvt`KI$LqzA z*)Eb^0Ll#KrtwlIZ4It1gngtbQ;o>d)a3D^n#sde7hnXhb&Z)|h&GjD+e)4H> zQ7F@y(0#h_?6x3<&~b?j^6*glyZ^)7TSryZt!?8d0xA;HjYvx=DVr3KZjeq1DUsN8 z2?&UEcXvyNq_i}f?uJcw$8T-W=RD^;=Y7ZceSdu88v_`O9c!&Q=RNOv=XK>(SUmiL z(gL`%x6IvFx6$$2=Q~+?04(HJl*CBS^TE;FoqU~V*KZC+xwrvX`EhV7@;a}@N3$=Q zxD2!F8*dY*yR;S^_Y2I?evLGNX$VN#3UqM?t?0&Fy@(7vQ7<=N)MPuK8nP7z6&6NF zNe9_!?xXQw7Vv)Bg<||k;r(Z@5cU-P9o_zk0>Q}1&)>kGY7!H^HUD%8Z@8dei5n#{ zg0owMeU6$<%Tvjyw(ou!JR$MaF7M$RO^gypuCcOKKfc1cZ;Myc z0M<|SlEs{c+ok%q{3xg_(EK-~TvW_dmq9~H0;?A8Bl*M$@Wk$x2M+f{TUGU-OjeO< zZ~6Ajg&s;Co?SIjO9=hhH$a5z4}*9nvOh=a(o^NAKh~gV3 z4eW49Lloc7A|6lrH3-N}PWpx7#i7FBe*pMfJ#G7teeRR8GjBMpo{$v)i{DWp*xL3%W%eRX`!LznI1Vh zrO)4I_F*i5iVC2CgC!;BGDiatD7-8z01KYT48dOEro2HG74S zaR(P->;9MJxL;^bE>2=;lXL3|scKx0JrwE$a5;XLf&x(g8S=%L0kt=CP4LqM?+w{? zB*9YBbCIK-k5{7~A9GjL-eXZlXE1Lt|JY=(V!tQZ&H$8ff_|8n_k%-;N%&&huiUlg zeD2RONm-ti2ae$bEg~AezyNH9+*j$;#-paKRNjGZ5!e9bYPJ6Da@6Az^Z? zQvi|$h)#tWrw27wKuYnw00LdA#h+aV6i(@W$5It3307D}W!!C!jLV3O`1w==L(Y{B zb(0s)wA<12f1x7BO)n%%Ds=DgWQb;W`#@%eO7b(sIc`Eg2v#U1Yzc(Mo_$La=o@#A zd8sEd@7q|q_K+<)-n!Y*aDJTiTb{&SEOueP9r&D=;<#pTz$Q5-&1MV=Bl5R>O>=fw zv zW7KMYBAI&gou3!)8aoTr=^B(&zW^1@a*ISFK*Jw{IVosb;ru+vuAr9kferafS1JgZ z61?TL`MX!S=OTL_sJq61NmUF8oOi=vn$7q?yN`6SXCh;UxOgd?g(S7;N>qCCeU({| zfuS&n>lFv}^o!Sjo6>*Pq9s3H{U-&v zE79&L*FJ5Psc4=zaNn}0S~ncxs~6B;$&+vX`1aTmxkT$bpw85OfU$?~b!$57k}A@~(M&fV5peD}X~s2>_NB+itP=A`Med58TEJgZNV<6%$A*ZpP^9P| z8!q0vTA0oEuwW!_4+C0CYAb61{V(B4IhLB%y7e~c6TwwIZ8(a|+``<0-s6k@h1fwo z0hOT}{f>USL&qYtQKB#-y9>FU!;Oyac`aVh(BdyeSnWF>Ai1OC+eWPH9$Pp=N{;inqOON>GzwC@rL ze}Nf}t{+F-1hS~UsQ=z?abc5=>gPLIJY3 zvfs<)4fcCrKJB;*P?GLB4Y!`Vo!caN*sLx+0TQzS=nDT;6*5P>t6~n^Wm^@lh$ENH zIq#T?S6}7i?kGyc_rQQOxsTSCIs#jmgpm0z&5s>rg@vXFas`EpT#T!w?SZgVuy7AS zX0OI$X0s02`Cc*S79~Heh6jBif3*HBwF(0bckJKm)#i%g{ySrNk%=!=LAURQX{g3~>UM+=cu7=K=ka*eV`wA()nmB=#YILiZ9NS8r2gt$ZN4`1@YtqfQu=WqSbJ>6t`oN1Sp{k2K{hXOS%guSd|M30-l z_n$ufde?tS^jOFv^Rrgwi-3vW{NG*8;mO>{uB(C3eF^ zL|Tf4N1HuvmmSLaL8O=5{b*>AEFqB7w3W;zUVsra;qkYFp}{bZIb<6DlK-(yQ9l3& zj-~EpvtgN6YfBY9y3P`UP0-$?57OzqCsBx9DuttBWPMI(XyOOe5tj6^!9jV=$?Kxb z0d=c(arvPks|>JLnwQ{nCMx;|ENtZw!M%EVS{W(qEbJ20W6p7HH_mArw|v?hD_<4> zYek4EWvW>oOLRfNPBSI#-*4Tvjo%5{O3q}J7K-}tShY^m5j1Y9NB)|J8*X-M64c-q ziTk&(hmJ_%H?6^j9$DW2;6mXsZ51+A*yOLVt*3a3njEU z!%^|G`hKG`r@GG(ks7SV#}nm=%6wJ^_>-;t=5$ulSU+K1o;4YF&~_!RI2DUX!J5hY z(_Kx>3HrrtY0Z@@L}Ry zy{(~M`B?~X?;qZrOdtR;zojRK3r3pM7pdxje4KLMN}eJ)O-1bP6a*OAw(|B7n_H(r zcmjZ6{5OyJdtjN4e`yUMC@~O;b63$`!G2$E|7)Ji-z)`jRLi6Nzc!jB z78_?$jT73|3zaV4f&BZzK!ruRBE$43FNtiW2OW9yW{v*h)b2Cal!d|6WuT9Sbk=DZ zrM6%xfBV;)(Mtv8zC~C|22|Xwu0(X&hmMAXqzxc7-Sji(grVs$a=ky`NhBuVcTEcF zVKJT02dw}p8X~~-t#dl@tk%E^__M3+>{|3<=3^^up8Z|Lon-vJ;V9_mqM@p4U$06aB9vnLJs zNt)u7Hk3$kc?|D`M>x~Z9K6xP8fuHG+yIvWhIZ{br9k9nL9-gAUqDxMiZ1st6;J|F zv%Ifo^j^HpLM7$TQvwbtKV;?ceOMpy|JI8Ls4&9p>S`psz1ac1SG9QYgO=sa?+`v0 zyy#f==(XQ>KYvVAY*)My8o=Rwel!%Py|bGQH(9!H51)=G?9{naYD7^b5CA%|K}KNI z%p3# z4E;P6)p~p%>0%qKAGm6VPv3rR5j<2Rz_DiC{WJ6&=PBXozd9UTadTb30OYHyk~Q4d|S z(zTH)MJ;?N(rh^q!sA%znl3m6DzJdZ-V=8VdYnJX4ySk3@qmOb+aSP8lsotM44{;Z zD~#9&I<1ZHg0A>OSxGwA6!&pL32FaYBLMd*;N4DV@7o?$ufNH*sO$h%oZdAT zUSe$k`w8oMg2IGKvi3}njl*sPyPXQ0y~|LM6r$cr9XBXHuAWb}d+G;L`ynd~3%_gQ zO;~$CUa#C3HzSOy^3x5Fsa}i0GeYz}(O_!3FexId+XG$Kl|N!SF594e))|~k`>McX zw&ayhqS8K$`(+#2xH|c9qAD4nl7fmV)sK$`IA2V79P#$CqDIcX*R~C@zjP+9H{LOX zl*@ORnOL^ZfV1%r77Kr6rAGMu#wYqKyMMbus?KlS|JxEmWM%50KR!qBgVaLYq5B@f z0!OoTSs&^xBoUwZ8ji9S21%!gAXJhzybIDUp#KT$YyVLgKLUv6fTb^QgLY8tFCI9F zy@~}E`_0 z!0!Oj-&lTw9hz&PTIu$ram{!zDl9SvF7S?WoX}Mj%tK*eRsZ$@uoi~@R5$#!u(ydC zAlm)E&I%CizBn0RgYjUiTR-L}xJa2{3%s%3x_|M~>@C0+lj`WDAeAWBbQREKd8w&I zc@gS|v$3YqZHP?f6Tk&6vJk*2_0vRdC&@#vgVzefi-#36&iG1_i(WDD;$sI(_+F%81R4y@e>Ele zT6wY;K)pH($qV}HIFpU7v6HbAJ3W@=d(kFr0a+9-ZTHl@QMB+YNV~AMc5LkE-^5W* zXvn4$$(t-q&0(Q^Sy_hqovA7U29C<7;2I(|D)0Qs;$^>f4$V-hlI%I3RjCph&cw2+ z)5$kffLFqNr$yl-$H2-_VK!TU(VM?bq|q;-UxLP>lVP|IY5onms&$HDv!FS8d8FVm zA+v&f@Hp1#CSwQxFI{zuYVlP;r{F9pL|poyJa8tX8COsdt_@rHH+g**Fd^!@oL{D^ zuhO?%alBj@U!T8^nOXAwgI-lZP|=)Ol6*i>@(bQQK{$de=4gFKgR3M6Qc9pf^5suR z11K*Ot$mdxrUGw$Xa_5DSV38Vv(x1|!W%ri(9v~h_oY|)pvcScI&W6D!ug0%!Qs_T zcmTs{wc{VgXo)z~`pHTFwGaV-m9bOSY(k5OZ*^1VxI&Vk2U%Q*e?n5LBVn!5$hHn@ z&a2n~`i!@)F7RR#0rHSv@8e#s#mYu>QNNSz1~`4y85`a|KGIXL zrx-(6ZI)uIvfj~pIr>%UFMPp&FuLkLkb)7qrt^gcmL(W>nA9UXZIh&P=e+RzFOXKb z@>QBwF25;VKlbsbK#WL&Rr!V8bNNaBg0w;(68a6@|L>4i-Yj{A3~WZ3V}WMPGf@Y@ zA`Qtl1otx;P+>Ob9|fg*RlIDN`n?VD2h-`<*Yhc{Of9Y{tY;u5vWqV$#8Log9G1ze za=1S+*r2}U5PLo8u-p$!sb4k9oi|-Ve*I}Zk z7T5h@k5e)3BRDDRRTmmK_BeGSpFGQPN%GIq+WBB=9=#PL8}~ssvhU7K5~C z2Nt<6hfSAHb+j@_UJll3eyug+0)nU{k&!?cM*|u$s2}Y>C#0VT`3ZOG810 zv87Doc7i~Z9Y(?W4Iv}ii}v^`Ado%8ud@zevZ+`zmWPgo_ZdG{1YOHHaUeRgI1&>F zC87`@36)v>6$t~1TlPx->Hhy_Rt12pc4huWtU3#HuOUL*UH69mCt_7F!C+c%Y`F_9 z8r~h)KgliFKQrq+G~0}1!x}G{Odai~JPq#FnYq@(*xY_VdY>jh)h_sNTbKyz z!MV5Gxkjd|xtR~k{epnYh}VY#44JV(^Rlj7Lz4X`c=lr{&%HJh{25_nHlz1nn_Vp!Gs(xO~cxu_kx(LA_!c5KK~wQSPv zcsgsay33=iWXEUhID|H&JasIW@-VIba>m)CB6FzA&c)>rA`8HdkW%H%k8ImLw zf4_gn*03f=K2jyw(d(-PY*ym03mqj7HH{nB0NVqdzTkG6X@y)=CKC>#w~e zwPy<+{(aYxxppfVJpaMcKbX?n|DfLL`XDabN!PNH{-3MC)n?8UxUbi=M|iBaL-MY0 zgVDCGgG+;em$xteS6FpK^hXe~pP)--gKlO;G^$}mICQSYg)jr?x5)OWa4Q)u;c(8V zO)G<|tWBK5XHU|wGhd9jPK?H5?d+~RceJSI13}ykeUr@}v!b@pX_5f+C7!sGIG;o& zYc2DVT%KZF_{HsNC=B`24c%s`OJz6Sv|HKnmct zAWBszN_IRe=*bf#2+TUEG*OYYnpjtqm*K9A$bCAs1 zOFeemyVf!Fn`3UL+?=e2|1ncEXz^ud;|DgZI2wk`<5Pfug5iKOk{UMVwktoUtan6D z?8t}~snGX4OKh0!eE<7RDRqe5d%ok<6QJSZA1Y6LDx!na^3lJ#*hDj$R9=>WE#g~K zSW+TC-UH$a+2o7k%DI6GkGclJ{AyG!j#hrN0Yx$spHpAj2jv7g)6>`mny=qG^3Kfs zzUBDHX-oZHEU45RVVW*A!?imo^_cAVt>`AFLcl2E=7i9iLK95@!yD+CfCx)3&@uxV zWt_XRS$^H`fNY>gj&~%ZD=GJyIlVGX=|vIRv6rS_%+_$m>HJ{FH1qR4m(~xmiv&^k zD3xjcn5X~_=0kM?SVt>RM^Lp8@QO!Zq4{^33RXuzF%u1;pkUOfzXOAxbxm z|Hyl9%B?@n#bJYKO;Ea!#-RscrocbD$TS)9FEpFzHcB2r>p?{W5~3^GpGjTQ9v876 z&sn@9ygm@eG)a)wKeBDKzF-F&pxuINEuJdlAE})iZEIWj2`4mbSq-cY*BFX$hZm)* zGBXEKu2&0vPZdqcYp9%S@Wl3avQjc%L$Fiwz8DNsoYrwK{L+sWoNLFvrqgzE?^bhH|x#A zQHoq@I?=JoUBONtEF6q5*wS2UM~3{|Du(9XU!ZSpi*@((7{fQQxFE6E?aVh#d8E9( z@sacvO+7lH$Xhnz*>Q7{xxIU$KPwEB%eL;-N6{YsWtbz=?Lsa-fApKGTNh|x|UH)}7eLtBV1BOHI)%=a281-^T=?pvC*rtfAO ztL$uR`PEz`m6etEZ3>qhfo##4Baxr<1_5RDf|7pxeR6WJ@<+b_FR)P7&blGdl(r|B zdu5P`OC~j@^?t~9F?}>DY87rjIp)+!`8%-L&u9)LONcIQ!8p^XN%ZimT*tsDO@TN@ zJW@o0XjE9hCY%eKPF~|#&XN?8^!M$V0O*%IhAA1k`_ruKY*Hbev;-uCS$Zak;ryKM z)P3!!I2}$H>zwNqrcU&)RvF4`lv>=l9ik%>cKT(SGM2x+CDpDE9$vvVbwY%OAq%eW zz_~oF5uER!NT}n9giwK`P35NK9<{CHMXfb_nv}Tl5&Y4z7@B|MH5h2B+~58Fp6H1R zj--!Qng~PHr)xD-$tm#Mz(aq0Yh40-zJipqQ8leb@aKJozfbReW^?}%#TJ^TawmlM z{1e(vikoe=`*k+PJkw7O--axB zn0Ov%M&X>la)2JaiqxL7z5ksZD>N$P&|U4*?CyhUlDKqZiCGkLofkL?tBjKE<|h#C zBqQt~nUd=)J)~?WeZ012?z_PvFi(q_`m3SV8|!Hi;Fy6lfHIu_URtp_o_&E>Kyq3w8ZvxV&dUue(@xxFZI^B0jSfD2MP(_IF@WE zzQ1m`OpUS4b+Burh7NW-nEoa?ICmO;J<0h}IzU;(SZ^ozdLCr&qR0_~mlU7Lg$Wtr z;tttgG#n1>A|FcSEv0@fptsIq?%g*Y({%3~SDSS_FfRS(yq~eAurP#ByxNRWe)IS8 zhGZ{)m$lY;E)Wv(P%5kLtxVX?*2SMVug=dB2#zkY%NVp<8NWAH?xp>>asn?w4zZ3%ALMV-&u`Dt`<>!25A z|D1|Y<(XR3ZQDsz6%(y`)#wJyIfVixR@ z!_`-dQ7xzkfzVR@@)yspcKhP)OIyQBkRj2GS)^{i9BuCV>!-hFXovQBSU~hQ^$8+G3 zIv?82TM34(ItRTs?=~EW8W(@J6<{-XTqK0l+SFA7RO==3LNB&xa^BK-N#&qsz};Vo!Rbi?xlao zP17}3(lN`HoI^#TD?A(=o!~i)>Z+?zY804nsZ~$NGegmg&AE0kC9kuu_w)cnO?q~C z`4^RQPe7o|K#au~Z>r2PT^971^pLg9;)OluB7e#L6vDKcM?RBPAe@woKw|Wur1adp zC>kQ#EnR(FPjHYy6F3^FlwF_#sNnc=T-SKT%Pn&u?62A=JR<4i6xCU(%TvH-WIH@A zX1eW%CgJOV9gc2y)inMf=AVzQ>(IBH<~P7Ml_aSmBpRs!pZ##) zQ|5C{_s?s`&*!3>!ByXVBd1P4#1f;^!ROG5BAJMzX%QoZW#FJz6%bz!jquk;UlM4f z{Bk^yd6h8qo&B0;bLzYIvF2{bj?ibsfL$QWC6IDun!PUIJn>DRK0OSKqK44;KKT72 z_=Qq>6~DYHn4(jI(68Urz4TD>1b^B$9bAH&=a$A5*8MSJe{9-mT^KK8Z|~97QZ3dT zDn2O}7ng}p;b8+`8QtFbjjKJ{m8vFMLbG7a$UV`%>JZ&?H|GJ?)&5j#=(HaXxKgMP zV)lGm58xJDS=kS?XYlz{pX||7nV6Nqr%5o1*=2Nf4fmG0zFR=?;3Y?a%G>ri&TcU! zNu+7+m8ZENT(Vi8+4Kt=W~OM=52KJPi3K(?0WMN&eNg^QtPXH0W*__zt}`VY6l0s} zZXO)^SyLbESXai3enT(mlmCp;rnBUE416_)#k~`Oq3^m$=hrzqRmPxv7Z7i(>=Isq z6}i)i?&DFO;?hzsS4|m*{Tzl_J2wN4`v!yT3u-7lKaZy+>}VrW>tQq zUw?7sb{3@>(b@`&gweaa;&c+;cNt9UpY-*Q^ZN=v1#{CqQP^lIg1F4uf6eVBKz8>J z39ZqmB*%YHjZVWIQi@WhMd+Tl2K7nGeBmZE3f?sqo+W1(H9Poc`Y+xj;vE{(rio_i;7lqeOXjYdUJMW`~-Q9W}4Rb87vgK z+DoWcLG5ZSdNp`^YZSA`tfg?JNZ;AE@-iVcJD`@nJ{MLJu7xlUb_I_649cOz?TGAk~sc zM{+k*jx8_Kwr@hjRr~|r2qI}`Wn@|&1xOvMp&<^Q%Ri%!H>$a{vGLR3QMQgQdhjkK1s9U&EPC+xl`4HbY{oU26u{VY(!M7Ga#vb+L1YUG$pO)^=d$$M#b=fANvZPDqV=pjiK}+#2DMtN0ckOqN;UgSl2p)M@go8fl9W!d z6O;y;rq#U?@v3^a^K5$!mVuogGLVlp+djj^(TM^I-&%hP_SD-Ii*Sz|_{No6V4|Sk zZHk8)IVl;J;Pd&|AzjphXmVNlaiM#9Ben61sE9jhlu7ge8Hz*`VE?29v-(rgNT;VW zswz=fKU2P+;r=&mw=n-(+jX)R&3#Goc|#QMFHeJ!V(sY(o--8X?t~tqWd#i^4{(9s z`Q}9>krHGM6k9$PX*&%596x4-BZb80W7^#_V-0NztiJ-k*RSBw1QMT8vj|KY==T zQg0XW~2dW%E$Il@TG;uznnH#pZQ!ml^sxM65*%FVH@qO;cmSMA(rl!hEg73|miXz9T=;$Lu#yMuok4PluVK@74 zT~D?(M=7Ct5WAd}bL{gXA_BAxCe7p&qahXK4(z8kS5N$9`rGnc794_G*yL(NyaU+6 zIc{ARGHmKh!Q{|533~l;5EhP?~!rr3`DKb*}K8jh{X z#6uGUzHYD{OF3(cP7(#4C>X3fz=h%_-I>Hl>XLv z-3c3V(I`cai!B8au+^d4K5KuB`(zEg06R&^JLJ!C3Km(Bc5Q9YNb&t0f06Q(dBWO) z3!VNRwtcuAv{CTf3XYk*g|%NwldetEk1lYP{fF>tAB1DVT{q)tsVETBj zYk_lvmr1y+L#d7T4Kc(zm@)`q)(M^ zBQ88tdP_j>DM5hrU}8Vp`78mkq*dxN1r32#kivVCoR(D(<8T zTYp`!&O`0`in5>%E7=JAZGUqd4$v?<3U5G6nN{P1%MU|Mgm106j%e?nE@*|RdLDA< zoIiX?=G9QOonnuBK2Z1rZjgf}(`MRNz`sY6L^3K41xzm0sHo6ljgA_r>?+FNZZBn# zc8#l5%F>oVD=jU~pWsd%w2_Up%Axs2ic&JZOsftvW%m?M6Q4L^Qe|IC#GIguO~lbsy7nn6wxqUW(S=O-JMm{(V4v{5{qrkF4|c>iRy1R zIP#U%1iMJCYs_C*&W=V7I^JBeC3HV!Oq@mQYI^jNIJs3E@KX$Ko|u66dnx`ow49~a z_PlorJRb-*n!p2*xFgJh!=S7n2t(m;a#iO28@>5Bu+5=#FPFp8gR|o?JWXQ!jE>i% zws=`uM>Vn*kT5Qj1|%dOBaH|H$C~ft>R-|@4?l~)&tS@WcM}JH1U9q?77jpVe&ed^ z_N@rhykw}TP%o#tHB{ka4cbFE2$=$+jN(9vNP}@Sns@!Nl;ctX!McX5f-m|ocXyJy zFo`{CV8=J8MNe8!YVIO@TP@d6wPz1`5Qrsmc}0GSrtW%f15E$CHY&tCSR|s|nt_*i zZ?yk>gmCX<8%6fRB97X@h`1Vg#Lf)y0erP2 z&^hU4l|oxn+u+Uqt}x5nTA}nHU^b_UeX#hTbo5!?e16R=n(biy1i?f*&>5Y{L_|58 zY%^_1+1_+;7Y#5l1?`57TQ>_XRojH2PCb@0a^~LCcLRs|l*RY^D)QpR#izcCpf80s z`KptJId4zu+8e#LTqMN9OE(JtRO{u=RWU_e!|2KxRz7dV6p+36nk~SU_;F7T5cT_z zh&XxXaJiXN8#J__l>jg#6TnV ztgYaOin&+z>Xf|mgka8=dmC^FmmEg@4Iw1eJH`{#50aM|0c$t%iX|H=8%S^)B(TIq z*)Oa45IrkX;M6wT&!`45i;XJ%rw-9D`u2RHF)>x|Qvt54=XUT1K@?5)BF>D)l_Rj( z0^PdVRE8TS$aMJAc-?_wX@SC}W=UHkvfN!*@)uY~!96T7TRgu~`-i{{q!=EoYcE8Z zlOv;jFkSXpq=<%fs?5WuSF-*rz~3JSEcDe>@96|VZGPVN&8Uy9ueRcdolLng{D+6{ zPLX>*gOH}We>%EW9Sf47uyNcuL!Z?p?b%LSYzT>k}P$>%|vsV7DD`G z3!BbR?bpKu3hhO4wR7_F0O(R5Kg@R9*zYVBE!3Z;Qq=J}9=r`!jIa`$81-C-4LML= z3&pVUSosKCjLHrpbge!SYZJJQYj*-%5J?&|4nJfWZG4Uk*!(T>dOxNgQPZ%9==&uBz3f?sUNE zNT<{D1l^}^^n>!n+N>kmz)p>f!a>gln9ZvFonQ$L#_cf-Hzf{4{IYBZ>SZGP2Z>2? z9Zro+c1uHahQMDnQhUjN7+tYQEOg$~9h5s+0idA?kshn{J5`1 zg!6j7cus4^s&pENG5wGuV-!21>2LcVZ%M16FffrS_PwP!>Z?y=#1>HC+F=91U6Gy$Y_Ub6eeHEx|8Ro7H zA4wueZmjTG?7RU}7r5<`Ij%Kb7>~a>nigdzmh^NV4SR{_@352TABQ9HL_zl)(PpGx z8V!2Q-OY?|*b*pVGR_6wEVwWhTXwh-+HhdURts34B+?-0l+pjw#qC5J>h!9b6TD>u$g3LYp1njS>(LS$WOtcy(FX z&tmg^21v=20EAYLn`( z=b8`4nl&Kv66;gD=+ieNas-M=>igvpVEP<~Rt>=446P-;1nUNc{D3gX1^eH9xN@Vz= z%Lt-61pbUeb~IVK857|>@J=w{>Cum}d7~+n*X6>a=@RsW6L0fuC%7JxOlb@9veOH5 zE0(Kjh9#Ma85@!T_Q074w{}Z_)L!4m&*&ua=;& zNN962IctiDr-fSqIwL8X-LES?xVgV1QS}vZa!Dl26s>W#dLBuqTKNdO@*k_4{TgQ7 z{dLRB@T=p~2LY1O>%4e)B)&SbJrYresKV51ZAM=Z0f!;;@r1~Lj9}Y$D0(%EFnM#D zV^#NikD{lQapZ6>Z(Xo^RoKy}{qHGZp-wkMHsWU={&{vSgae_Fy9}Aec&z}RYLf4$ zybk$$aA?D+HD;i&@wrw$O=1Tw{K@t-L<$QIuKLZb4GUKpngeZYphjdy&t$Ll zv#Ts(SOO}v;@%tNVNY!m>-4*%BRB~a4sK5P&&K?3{;LNR4i3)Y&OU~#1hPFa?jEbV zq-7Hr4(>DeA8B-l!Y!*;xjuXNg8J4pe3S_f2e*X(N6D@bi`_>Td0Y|(i)4fRB&neU zWsiZVhz(B6oy+-;JKd%SaDe>B-y&SV5%XUz{#X*}y9z9f)G6Bh$WSnuHRO*!5mK08 z_As0ZrXz3N@&A64NNifpu1J34=YLFHa!rYGbQ&p`DBNbS9zgEF!R`Csx;b#>fUA6) z*UZ;Xf51R^Kg0KT)GERs%wX{Q?zdhih9nXkTnEeVMUTjjMjhoYb8U9a1@Rhnf0bPg zJTgi25on7q6AB#IK&zK-f8KVO`Y7bi9>s>)qe^KMCx|(v#otD1%fF3?F8|<=O2Ld< zJHsYnKJn&T%+nOin^6l>p^knFvqj&E_m)u331>pBOi@0b>!S?EGuOYvj53}zv z_7^xAIuxa5Q#6-{T&(R2IX|WQb9OKfmWQLb3nUj-UadRkX~>|gW(GLmP~9KWxhDA% zC>Kz(oqMdUlqCP;&LFj8zt&@Qna4ZB;CoOi`ai6R2?&rJxM%o4<-|Xx5B5$dETi?3 z82Cuvt($^0r=;_L`zvKScLEK_H0-Ct7w}DC#T0ix;h0U}&%fUS-ld@ir036j58lX1 z1H-!g+U=K<;~(BdP=0@c^Qk1#-BoY@TBRby0ha|H(%j6=)#5&?Me^S%&JH~`y&aB%!;|LBj8#08>PNk4}5KxPjU^;xJ635NqT8Lv8 z7%dq{2n_crfbl)H+lm6bxG$x9>QitG8hmmK(Qkd zCTVG45Sk}v9iTr*e?T4kBwLe_Q1l8 zj!lwQ)4SH{ZLPKBkCa40wvvQR@MkYrtwM0IoGYl-gl_jXTj@3ySP0~_?8 zY=rqT{PgY!NNA=J-3FXA#RW|D{$~$bpRj_T4H)$X75N2(EG;ikM0A#1ZdzF*aMc!i zkH_Ns?$hG83r-apG;DUd?H9|g@#nw!$Y)GkBiUAxYi8QApW`5Q53g_0Mapc{>e4WY zpW%{wJgT_p(_T3(@Kjaz09jz;vxVrgv&#-PMC3HMj2J95P+DK1_8EY>_XrK5327U8 zPPgs@A0{G)jbJp(bI zlHKEl$?x0B&iJ%=iw-##Au5#yF2EO<4!JWJJ*h?D;A9;E8$ahv?EFgNGO+vT;yu}` z*=s`6&>67k4VU2+z3UIyY_Gx`fqXj(W2)xMQD>9n4EVsMmZ?yc$xv0j7@^(Z!wHSV z8?{PZiq(p_rhQJ%Y*AEwLr-$+GjP*aWAIwv_^Dn+@dCh*z zOt~XSRBE~-dRD#b=!-USk!f! zR9mt>89mULD>An45yPCFr2nJcNtk}1#{<+$czGZNrVItW82!y@+`;0TCJo;geH?tI zs%^3H>e}j__fd7aKN7y_(a7|y&S&HI{iKe-;7fp5y3EpLAdwjsEwzcQ!B|S~>+&kg zfe?7$;!R|`uMeA$DQO$gbZqb;8qqPxZA=43JBr){(bY9g@9#og=!=B-< zBks2zhgOZ3g+{tng|M5eh!wexytSj29`v^Hfd)G6I1f7wp?_n-U48P=e(|$w5cGW0 zu58}_m1RMsmUBjoIYAiM5dNxAzM#*ZSXm~W>^G)F`+|zAg~{4&lrpPn_tSHXgK%4$ zoU3ZFo=;3!Hr#dQlpnXlH{rDmS!{Y*vbKpdq>I>d%6p=d-fg%E*70S`gdbn6>z3Eq zlwHc~Z4uR*(2_G9?;+Yy0K@&f2~&l?k7@>a4V@RnrM^2-CZ|;~h=;W&Mx{G=AG5i` z4iB$^Ap(P|mZ*ydiEWTvy!#2RQmS;XQ2vxWVY+85U7_vrwjhi88dLxcj^>cqKkrp8 zkfd0Hcb9myD9B2XUxYcSbU-j%``tw=K5i)gSd$Qgg?iZa0F^2&QuUfn%^|qbIl$!R zFs};QUmByduif?`UwO)|t%Nx7R-Hd<2h<2f^zErD>IbNH@%Em~<-;ZGz5#2d%fQGT zX6DNn#)->|W#2FMkt}7p&4v>i4xzoHACr5M>P#qxR*hLk1MztI33(gRqlP*wb})wP zi(`7@I!`q+n|HL+Bj}U|fBn*%I1C=KTUk{0+8@I_sh0GatpirSVV|f@ZTKzbW#+4( z%IdwU3f1hhfK{WjU(1IJNi%8i6%)i%W_Z~yH&v0nm7f$Z>dDMO-KQrZQ8Uk{h}9VtG$> zpXCE`xi6#;RBZx!vZ*Oj?!9VRZ$eDG;?-?6Ws+&5B-m0R26<8?@!X)LS{1?qYu%o*vy8x4bO1@a{)wBWqfS9jL%kA16Hu0 zQb^M&i&$>#=Aig9dt&0n`X^X+YNM@j+A0_q5=nhjGaM(mTLqJ%8#5|mJrhErY{V@` z)1Z95QunUvu9s+7BP|J3z5Rw--WM*Xo06$Yg3gn6&?Urjt;C#_j69^to_qhys zeA?i9c8miVZx-2r0m-KS$ADnxD!;>j?1#s|i*U=n|8X7Ii{aG&v5K%4WfT7oF3PC0 zl2`PY3T{R4A0}cW!e#3GgR8utlT}UA+Iwja;JO0<;s5tX{fzt>3O5Ce_5b(lu~91F z&qHWh{l&t@?1g%QWWf{BuL>gl)FQzcnFIqWfmou=&wb{x^_SQPG-Dic(h=$LfxnpcB$ZRej@bxeT z?-$BFmNfzngQ1^agYBYxy!~lYpRuu>(->BvyBygJwK5rADk{%LF{8jPaYFW6M}0=N z$b(wEV5M+nB=vyKk-#o+*+K)Zjg75IYh%Ss(eX)g?uk%zppeu=QlrUVwUZkjDGY~J zN5{tA8uv8qvB-bybPYI3AH^oH1sY82@yM-DD2UWIRi7I^49jX0{II^!!Iwt$;d1CZ zb+#!;C2JMP>Jq@NkxXRD2$XHzTJ;w9UJ}bAK$>`fMb9Y{s#UD62>t)qd#`||w(WZu zr6~xgfCxxYlqLd7l@bt8PzY6uR0Rd;E%c^T0cnD?NH3vR=^dmK=|pNkYJ&8h5cqG< zbMCqKclEx04^Re7rZLmEw2RdBJf)?f2iH z!Z~BfS04Z~e?Ju=ofy7BcQPjr0W*;63Pl0=oy?UxK<$8RlZwFPxTHEUrf-=auTlLP z+0>QDarbkXKK8!``7cxM3PN4HKP6*Xkw!%uRx$cM!7ACm{%R{`2svn9HhVKZF0TJx z6MyF25YtFqg$lj%!JU>Ms)W#tJ4hbKvf!ldGKInGRbmT}>)?QyC5!fl_8)r*21gSV zPt4MfQ=UfG-*$FBzC)>CL^l{K*xCAd z@jKbwDtN%7cD8}&wV4F{4g0ESQ<0l7?Vq^QQ5PB28`y|``!&tPbR96PHLrj5m^L+& zfeubbkI!j%a_+h?Z-}Xa(b!Fz!F-SFCy!rMkQt0F?8}t4bLl}z#gkX8y{FBHt8r(I z{kjUd2Ux;CCP^`gyrS-@9x~G{#R?s$^0_8-1W~S{v*MbgHV7;pQ6Ee?rw@j&b?)Ck z7JA|>AO18hJkpbO``475?4(!tr*`*;KXrgiu(C^EcAC7|#XwFb;ecrLHxKCmS%}DC zBPo6bj`e@-)?eSz0Xq3Yz$=me@=9+?&SXmGJQsP%^z$TTC;ny1lA}NtPMw#b1jvV; zd?E_}mvc+D_-TNn#3u|8fRBJE<&*+Y7HovbQ7Z)ez(1i=03Z40*FI;be=d?vk}16l za7e(<8#~Egk!=*&>2A4>1w0AxBYB_s*S78=iY3nmv;ZDIaY*vD{|^o$ig+ei2zA(` zSZymPX8?D9)pLjG|IS^&O+%F+nN%u1R?40)>}ClP|L~={UpAglSb81K`tBA^WP6Sc zw7X^a|KB-#{^}p@wUnqufk{AJP({;;QvC;-1#OwywZILyst06sXxyABFpZ556=Y$S z{yy19jbuiFoBw69!~b%z==`+m)qQy{ONO#xgbIyP&wh46eHi9L=E(vI@!A>53BiPm zs#W+IzA}lJb3J4HFILm}x4ZqETH~jUndPY|*HGDddxfMOmSqN%_S^#Zwhj$Zoyt!X zoQPzz_rBd1(QtW(PC|0gk#&j`ubg}6zxHnVwg%kqzl{FY6FoO{hfwU05IzF3^sZrB zNHC(JKJ@UAI&MR)B{8`G^*kYwl!N!w6)R9PBqf`h6!yiGwP(Ay+_CgB98vhT0aaR> zt_c|$bq{Keu~MB5=FT}-Va4h1P*M*aViup`Uiu{#;Bc^^vf~R6*;2nd27&GWI${1{ zidyfSv+XQzsUx1=cH!WsWbTdN?N^8uD+BIg(3Tx;ABHpppy@n@Gz`G{`mavUx^R|9 z>Us7@%4`fr$#G_hq0n=gjt#nCSWehL$k$vdsN%}R{?w!!zw?gZWQgK2svp`i=hDEj zaUfp!bkO0L8mG_k7y9_ed!(oQ?e*F5fMnHXS7-20{Q>U^#^@vb<^Ev>bSZcTyVN{m z733=$q9n{VM4g_AFuS}gzCC3{R|R@qt0VGX77|$UH*V7}xUl#_9SvIqD{g6DM_ziD zIl1I}hQ)L)gvS6zo&gWWEPnTRU_<$y5=x;4fi!ES?*GMJ{kxBO)7%Wdb~dpTvhPzD z=t-k6EWSs}Fz)=0I~%CKGDOV@%i0VE^Es@1p3PR;-mMaRsJUf2$)EP^H%~ik2D26< zR%e-Cz9|$p{gr{Db}*R|*L3>@2Ax~@UTHq2_^s&BuC08kE}7TZ6HUeK%hZ{|&j3Gp z%Ax&-rzvUK-lrlXBvy?V{{mI;%`!qf9@{hacoKPDaY;#oA!QmRAE?MU*}PJ(^En3U za`n~Zu|{2@=KKFXYmGM!f*`VC#)kS>g$yh16sUrG?AS}gb~XBJ2R*(7iEr6ZjY`Hc zub45OZ)UHq<`O1X$u z!R=Z0dmQ7+2`1=qlvTtR$$$Ff9790{ZJs?E1rz}OfFEI#g{ccW2Io{{TOOM^+vdWb z^R~7;)3;bo35>9vRm(UN_Id`FC(y5ueslmIa+~|ac%}vZZzBvEg*dy1DIMw->}ZVN zPb0W@dU(9?i@5qq>h-+{E-OP7w9PR!v8E8~ZWXFm0Ft{{y-|Su4`*$|9ZT+b;!sHa zMEx&#j>@v-)b}NbYl8`|^v>=%$IU{;0uRa>j-v_^sx0y{wyPW$F0Xi2i4-4;Z7(M1 zu(Z{jV4Z(1V^h_0k#8p?NDrY<+&OwMt8j^M-%IfCXBP3IH|jYJ@WAJOa39iqy)lL7YE5SMY?25q zKt<=9j0xCAn8hvb6^%A#;xkDLUU!Zn7rG|;-=Fbj(^y0V+{DAv-_)bf&TbsTd7^*Fm?48|V5LJ?u040;9>MUAcl{caI-Iv*| zPd?J&g@13n!0_n|UKb%F+4TcZEZ5{qLqzANo4L$F6RR~DvcwTz*_Ms>1dKX={K71n zfF^Mc{}i@N>+&-E;Cux5drfID46`VxHY-1Fy0)o3`B-zg+E_&Ul9%@OEBIX;|N4X{ zP^IIZjq_f8@JV!!u5w6;1?|>S#&M59-hUV%yoaCfRZkxA*FjF7u&ZI?%X?Uw?eM6ZMRXGC(cWz^r>lnu^F zzHb*dxz*bnjZVZWR0Laj;_OA%ce%~<#$_y-DwaYU6jy{ZlUNK7jud_llCmF z`JPbV;RTx{t@9u5XG*u#BvVZzp>y^<0=gx?LSfxA3dD;9s|qR)*K8g<&HLv9+8rsw z?wm8CG~E1Z5r&*NgP2RmT77Q0k4Y{l=u%g8xrV8qU37o~?a^Qki+a}@T_nsi${Rk1 zFXC7yuf*ev7i1{MJf!q-3zkqrC?as0uMJ=KuyX(&ZtnI#f;21AsL~56=RBl!F6yjU zyxgWs{jmL{vykXdU)D(72(clDk`I99rCUjUMtCQ?f%-O!kpE|w#z#_I?RDSaMFAVj@MyE;*LV%F*^^i|6DQpZ4wsCm{*( zkN9{&F@?s)mj$vbIa)(Xo9@dN;rWgCViHKn#!X zdnde(YyYy|uWwP)*ZyU8XRF>q-E>75lc!h~A+RWo`uKw&|3b2*y-KBbnG%S;UA7;r z1i?@zn-8{*y&NPCg#EO)@LqN4?YMP;8+x#3>7jTp@qhbt?Tf`%Z+Q_K&Rz- zAZK8bUhlIi0y&{IS>{TF0^2zik+27kY+yEG7IaRIowFHoqj zl1-5Obb4(oQ8Q=9DIow)u|NRGR{z8sc5l3#RTYNp@+rR3Sf3>uY`V|O@CpAk0{TRn z>7%!m%8gr3$+ksl7T8HIx z0P`%nH67aiwJd!t-OknhiO^PT+~N@tUWY`)xYOkp{H+eE$cU^Ba=cN1=DA5-hAKj} z&3kh&oPP6vz5waq86q4g(o>;mop3S?@(F4n0TnJQ=^)B%0+0W-;j1%+RWC+ zlB%bY@jQQ7f-5;YkT=rpNZhX!C*+@^JcNR zeyg^%_krCH!YO~g%D+<@FGOS;Aw|HF03=3-!aq0k9baGIrI~v#6|`KuaeSTWAU-!M zM-RN`mQ~O%Yq>K#H$VRY_Ta%x;+g|6F)-9RG2FGX?&aXyR`4A>Jil3uUWYND0T0eY zY_lH}Ulr2=Yrtba;bSxu0y;KW&1x7jI-G0a2AkWuH#HG9BDh`>3y~i6dZ{?_<*yV$ z^LJ+uOoaZg^R*S_Z%t^s#DWB_Qg<6E()2)th3J_xZZpl6qgGRFZId>y8`p1E*<#i+ zpoXc@6c1A)O}qCx6btvObi4T(KAe1J08+_7EA)gVX03RVt+jVv8;I)X@4_a5K>9Wl zAM%u#=(<$LxcU6`erf>OyO%9ZLoovFeU8`OoVD3`YLHs`Z5B%2uW9h&C0)4NuR%z{ zYn~3HVU7KqIUGD*=uo9S~W};FHY_Hr(DIPx=6maK^@uy1$?xDNxOmr4TF(?=osG z6e95d(!20$(nw82dISsQG(l~agNw2x_6fzYka_H9YZ(C7I;4B;c2+*EFTefbu1a@6 z>R@ryrWVYrI9Ct&gRmA$9(6c_`0FtY#x`ob6ys)ML`67U8;_u~oD{|d05r|`VdeL}>`M_Xg%Ni0Q;L3ZYCHn;wM z20YqE0so$OnG^UYn}?UI{L}l>{$eHn^?;wyQj1+kq;OzrzU=%~%E3-As`@x+gB$NT z$Z)V&W+i3JgcIe6yfe#yN8)oDON9f9%##lSgE;|Vzh0||6i?Q@RT`_84usWgJps7e zPTx)M;B7UgHT`fa)%P+%CynP}70)F1{rP1&2v!kqMeEI-ZFQR6r`am;V_MoSS2<#x|h@j4`2gjrco24LNTB-$^}IS#&mWQOkGby zS2yrpo}{q>F6}o{^TwiiWki(TWBb5b2qlw?=_D~jy2rBmuR~~}Xih*%soW9c`Vx=R z;sKZ-`Qo2P)&AQ4-Dpos+?VL{lLaxY&?F|CF49R0ZK)uf(G^LFY7_6(g z3oP5jPr~Q7@1}d1ffjZWN&w(?iQqlu-Q%y6{NkWjTxTRrZQ)*Vj)$zCbxgSZH>(h8 zyo#S;%1h?Ijqo3)@Z&5q(|fW8k=er@R&4lP5AXx)Ph$=RlCmTMlm{^|n89DgGO`E*$Yo>9|=&+=Y`SQ}>%J6n) zbpB`0LD=?@0q0Tz1!53tJ~Ci#U6>g&rTdttwpx>TL88GU_y=BC$@NJi}B@Pg^ zNQa3%LE<`lQE!>JGpyZ@iOWmkzFWpn{&{jI@Yu}VkXiDv6b`+f@y_t?fU@!-<%Ma+ zN{z1(VY{g1NKv`@OSc=jYU1~T9@mZUHSg@su zD)9z>MWgg{*O4Fnh*v9o9|2YWA?BFgu?44>kiU=DPY^_c;85GcAB_h|JEJc zuu(N@GmjV6O^?#soZZI$LP7ERrcUnCj?>hz0Ii1C{-wHOTR%a9%FGtnxYJTRMUoId zI{soU9G4&9Kz6<$zfpiy(aG^^Hjk*t5?12aFW=&LK?hk5wuiq96S7XZ-DKXD_>u8{ z45IBzhjY+OBL?tClb3Gc`Mm^aj61oGDDw}ZQVc2$rIHLWC{s+Wt&qnan}qz$m1B%G zQ_-yr3--$Mr7WE$`mPV@=_Vp>24j=CNN$(mUJJEn#C9-X%#KP^o+9%g?+$Ffyw+kw^il zj^8+l#*hmJOzHS*{7Z8Mwxfb*QOCruD|>^9noc)+0^(sp0~_FgB>*H&rZC}Ey)<-w zPiHVzP*?|?DQXaYj~-R@M4${r>PQIb#UAnAo-)vgO^HrE>WVmxtAph`YaZNVL$4}U z;!75#v&siV!%S9Qs-2}^WTm~y- zDB_2|s^n|9&E`7GfDykte)t_A+98i8>5bG-YY*_!XTP=i1e$kI(USuQh~;f{=W`0H zeH(?0S|8*-dsX~+g+|}E=2G#TsBsDlP1^3y&7Ddq^xDIg5`FQ)h)#O7uHx=gBhLx_ zapmH}rO!htvfbaGYLt)nZcnu2kJ{Uj{_4~sS>&YTv%5ZU!Y&Z z%1x1hSb2M9tk^zg)n-7%cd6m{>)ui;wY3?(p}V2fp@pCT%^&B}k9h>bi@C7%-?Bo% z+1VWNpFa5}e==XkSOQ^jr6v2pqkq-&5#!=vocgQ0+t`b=z^{YOpk@0vtc4fSWR4v;UUzkvh(A-eH#@b zG?mRgIR9y`h;)UgNGM(^jPM>Q)QtS_uYR8 zhlGU%C+X!a{1Hc&UA&yxqVPscwi#{xn_LsO3msm}`f!gXq!dfXfR(uwuLNg}2Nw=2 z_r4{Mf1e)aB)P$7Z|x7HPvnTFralTE>*h99)P<~OVZH9(-5S<}Os~_F-`q#?9Jq;# zwD#FJhCbw{%YX`5qZMf;zx4E6$k(mIocDV73AFK@R0c!2!CTEtRQ4H(I-IV z>gJXWg9V6)ilVxC8q#-n9YtKX*~`kyRpsSL1q1|8D~OSif!&pH)2#*gXWQ9FdTBF0 z6rkkcT+Q(d#A?fkLRhcF@uzqw6cx-AAK}r zELn8sWrDGb2kgDlE8gE!>(LLmU+Kt?Jja&xso<1OTDYDt`skhvupjsvP z#czZ=p0W2xO)=a9LP^3DuN+&HQsg2_hFhUHx*Jh@1OpI`Wqy7)hBuUwk`jX1Hq|qd zd@_=N&aapnD7!pTpqGnyrlRs7$rF>UxNB}^mQ`P$=(sio#_p~R21+0lr{|E1TM@`L zSU~|d3Bg&&!R9MH>1IxSn1hZk{p{hv7KV>a@e^}cyL3oM$Qbj%T%^(xZV%bpadF1@ znnjLHRaK8JsZV$3D}Hm83*_XP+jZf(TW@z3+}7yVjQ_`)N%~`*rgQe-g@4xZtUj>sjJ~LaQ5DnYJum0J9s@(lQK#St|v7 z;y&Bmz`95qja?%9bT6m81x{b7_J{)|SZ3HtB4WRw(0p!bd3o@>5P}3a+LI$9E=@)l z3U)`6TX8mZ9+z8=Ln1Fsh50qVs`JEEPf-Xy8yg$@yrH702{X5G-|m;K9`T1r8SOZNaNefOR!&qcPm*#};n=aH-hBAmg5_S9`*E35;dib>A+6xvxY})kL z72`W3t8UGC51YUW>Dp9~rqlhRo{kC+gfZ zCF(p@hY^r*%~juSFeHiMn>Wr2+j!Y*tDJt#+b}>Dw14RI5kLX00yl^Xt7k=9Ew|yz zy;N)o8NQ>wsjr4DD1&+(D1*{o4f+~Bw^4RF*SWB8=i^XG(?Oft+Mq$UTd2#F*M7G_ z|CBVNxOR)-3>%i1f-&7;d1Um1(G?-5X||(@+U6h~*+LsW-C%Fgo{6Ft(p|P7_x+;c zr;a}}r@!%&)GUPsuI^c^E_n9$|GT)CS-Bh`cGZHX9iZt3a%z-w`O=M(vtmUUqBf zfe(Q0+S@jExe|x(0EGBPqqfFh-_1>+?r?+?Gq@?Vbf9UFc1z+YF5f-R%XQ&d+IBLP zaHX~$)0LJc&VsSyS8!W21(j7+i~;VbD$0C)8Huaku(C~qD)W0h7B!GFld{dKjaP;^ zCY8oP_l{u=r3q^p4Xz5v@hkZB)G2zs=k7oJ}`s2x%%vnnD--c=U zXlm*(b+xKD%VX<>xN37X(;wRmS~M) z*ckncUV5jr-hdmge(W+-+f)W~ml-5y1DB@9h(^{r91$gq*}kXKpD^ZQu0$XAhf(x> zjI4tQ#ZR(rx|3~`S?C)~M0uM}7oBNJICnHx%(jFCf`5$o5on^)WpF>eW`>nYQ!(0! zGN@{Ql(OORCu_CieWeD$DF-46@x>Iz+}vCTlQ506w^)m5PF#ge66fPT(krbUNq!5| z0Mb6T>}5Ml4;Qt?ehu@=1Yfi=f-}@GY?LqG9m#mnr%am4PfJ4HH!2Q$4a7XqGsUw) zNyD zqjRiOJeo0jlqBbov=TUAfRu|9ob_v5QF1q>*pw27SnkvwVV2KFzBTaL9W|*gmDVTv zGaXQ1=<8&vcC8^)|a%u4^eIZ?)0C+w`hKC;_a3N%Rd^{cc$B&^FIq%J%iQ?apj3g9n-nyjTqM38X*Ns(QpaHfbLy^4d3IQS& zNO1zJx1LplB#<*!hFc54=`KEjcbhw`yqhuKT-yOyDhS{8EzGp`y@~8(%F5EA229P` zQm=h!+Bp7JyV|HP7XSHHYc&#JW1^kmV0J}yrVJp5yDxLloG@EoynvIDjnI{!FGbVE zC+cg3gekMjFop$y4%elj{p(*v*ZP1vd$KDkXjtTM0>FTIHmBo$4n^Br!cTOOi_aOH5{$n*??4=*0WE9&zL30KE`u>_qE zb{VS=+jU9esfZmWrbFV*g!@Ldk)mw@ZS3yXWlWrsN>*STj0ZmEK2dIzB>r%@RhETi zroM)V}?gLUZ z!iFDd_IErtEzJi#G=F$zjFt1)o632VPrRVa22O3)=>U03%74e={K&C(`KMXMQZ>}BP?U9>_1zMm#bJ>-VqQK zM6ng z_Jx!&S5h_sTofUTVbn#FT2I%VV#I4WkH**sd-2PUS|5m)NL!d~7!U4NCv01XETf7S zj{u_7u9S#z*M56}*RR^!buJW8r45y*`0duI$R-^Z3}`%h4CGiwSX4gaGFqn!{Vogf zRf+blJ<7KKG4~kLZg3>Bk>I&6q@=dz0!%pedC}BX-goQ-Y7k~>c*8@N@TU&;HzarN zRhPXbV-GkuR?Me=!tDN@?2qAW>@6PM)?s+LA}u#9}B{#?0tCr!wTtuKMWF z+R}_p)$W-jc~5kmNw25)SnCYM?wE-793ntsLf)hO>#_<{o{Vgp={|u#HsU21|$eT$vW zWU+WUQA5vHPPGWoUY3$Yqc%1UER*$G^^cw*KjxNuia2+ut+GS7x%H~ku`lK7drzR| zegVGhABnA?ON9t?($AWO`uXNGS~J?`XJkI z)Ej?+toNwimDbZ^ute7DQLyZFvL(I7p8?=Ig0+R-y7t9*0p-Rb7BkS!6zu0#vB)+; znoZb0;2P_BxXiXB;l7969;Y!Fcuc`ArdtM-lqzD{_812iL(G|KPe|3+yf2wXREL|F zPe`;eq*uHg1|T;2&Wj0I3h!GP86E*Tg?^kAuNoTE0>27eBz^wNt~2Gk6V`9X+8BP} zv4zbK7l#1-M2U75D*`2hf#unqvnCfVkPiS{*5g?Di3*}5FUAyE?==H=gAc2Bx$1?^ zPXCmj{U!|5EN+G~e&b(SUHys$j$;2unwm70qa_a&&S_cb78N&j&zBsZ$G*FoUB>*O zRhq}U*{-@Y(i6a(x4xc-%8IGBN=<9y0~v!fe+f%!_*o73AU(|xfnkhx`v{HTz-H~Zy$YcVfu5#EActD4)Vjvc6s8ne%alCo{4dow?ac1nzJyen7iZ+hm15|(g9sR=Le0PkRy86def=KXt z-DUyW@{tjg%!q=mMfmjN%<(6k*(8VSRv?_R*v7VnvT3``_-) z>Mh#j`?OJus`mI=DjhyN&iAt7TQR7L4E3;6cG7ZDnWVH%tSJb9eJVa2NkECodtrUN z_`A0G#K#D=u30eimt9M~CGV9Jb{k>ie2}k>p_B7Bud|Whb3f)?qZQLul9iQhV~NHK z|5+jQo83w}M{eabIXIX`Np^dpC$*~Teg;?&XuAp*x0~!f1Sy%{Xwu87Wc@$Cd~-r=Cd{T%0vveK|lCjj?-$YlLUrT9J`q- z@))xxe>7EYQBr@gw^zYf#x7c^W zjz3}y=nCGP3I4cNR^7Y;5&nhsK({E=H>p7s$ev=65R?GnFbdm+2^Uw`SJ7 zFuaq;Nk`lf%C~|=i(dKwm$V$^K`qxK?L5EJ*Lt#8Zi-$CQJpV0vvjXLjv=YGE#-eC zSn0^}QeM)<_mWjxIEVWMp!c%r@<@KUdD~EsX7r#A�*6Je}a-P25zSTbuS3|Fs_4 z$^MjQR)X1$6E;bDTTQ04a$B@LTgj#Vw-+YN?v9& zn(%6h^x9_uqMJJa7XBn=DeHhdBjL8mF<#<@+oM3|9JP`lE@){MtAsszu}Trf|DAus zq;mJ1(Bx>9JzL$u0yNOvr*(L}>iFU+%iLI*`DeF1D-SYTvU5l89p>;EU84){ve~Rq zg9>XYEZA-HuRISR<2xc>-3B z+w4bL4&2X_uLF~Ppv7(xWwSzQ@1^fzP7ManTiuK{d>cj@Cf6iDw_j;vA0<)fDvNL~ zYKGs+D~r?j!a3k385Ok2-?;xV$<-D0&Dr-x#JPuXT_cev5m_14?wkA_B!^L0^l# zW(v@Lqa&{9da?3Y?aDS&J=UYnT5O0-h=D`1GK|Q|&M?v3N~*=Z*7UC@l2xc`0+GG3{ktR;!$?BkUSmc?*~q=x}*1MW^C5s*nkRJ=j@uR}u>2VB4=Q zp_A8jTikz~v|)9)Z+GXiAf#uuo8e(eL{x~%6Fi_N%&C;71@b1oyh2&inu!oxYRM`G zw$>bMzO8eg7*GkGN=~GW<0<|YWPZwZRv@Nk;m36RATBDb=Vs(Nt+C;GMK>2vTzq%) z!2R>9?kfq&@sG(Rs0(v*(^gkkWm5V0`DFlZGi_zOVwqrRb#fbta5pLsKCbaPEM9%D zgqHh|yKR3=LEIoL1ueINX=>J`!Go;b*HUCI$L8tMT^8$-wwz_G0}B3}imEUzVXrOR zC$tQ$zFqy!HZzgwb+9=fXy5)lXCJ1R&}GWRSnE;mm3AWx2K!j)UAtgO|$ zmYS2V$1!N%)JYOWUwo$NF$G)k$XBBKDf2Jy-7lVZ8E_3!pBcyBekDu1Vm6g4YU2(h z+aQ#0P6FARms?*JKU-gqR2r1GuFnW~XJK|j@9O*v-cMT%PR(24L~@@QuDNZeC}t5*tAQ z;>Y}yQ8uvZff$YTyFhIazX&Kom2r8yMYQhwqTQWAh#WWY5V^tYVj|<^+MLKjdQvq} zU+~G&f2LOmfXo{$Ku^m=?}P%%UNJ}}P}-$S`?^hu%+0$x)5pP;Tln1KP2#S)$|oSU ziq3?K+O0UEqJtvKaX~#k!`?*kY9A>@sr#niQ)sK;5_=p?33QtmlLpF5Zmsh9Ms5O3 z`36qG0o6r4$<(yKAh11xUEW@zmG?Xx^nJk`h~?ft0M;S$&-yd0K`XMLl@kJ^8JBbvc7Xgs>c$b%VV5Fh%c}kY-;FzP)Df%NWEMW9MJH z>DO{`zx;bPPq*02xBPcnjFEuUbi@AOVx%tPG6awiwg{O-KFxLy;F+YNEOTeSoS?t~ z^dXNp3;j#uI1$>T!4ciH_iZ)uWZ?uE(l=uVt#}y*K8D3vivUe9ct6r!-(=d1D69&~ z8EcWjG3Jg=d%r>5cw# z3zQO*NuT2Hjl2w?RPsElucGoo)Uh_qVtspem%Fkzz`ePX1WK_`HGN5qj*f1?(X*p{ zdcH#AR%kZ{oJ6-qMKe-Qmxq}wi9w;u%w1_cy?fx1Q!a}MU+&Kzsk^$mZe#H(8GxKz zR04>>$}PLP9!yLD7LR7VvNZ(J;yMvp{uEqZ=Ytbtfa+EZprShYm)1cTKD)8A41u{+ z@At3x2ONSDuNHk#J#l=l?23Y9!ZS#Kzg|6lYc6F2bDmJi*x}eW{IWc=v*GH3t7TBM zii`oW99Q)kJoWZuBUU^0xUVL~CYPcs`I*FIn5?HhELAk+0NGS)E{1^dRr{5TR*B)Y zJU~Kr`B^T^ezJl0Z`3zDxeJL z;b;20Y~(}%7tSMWTUc0#NEk0JE{dItG3T;@6BaZz3eZ+Q!e<-OZF!4;3ouqL;3M8l z$6wTC@iu>CLw3GXS1W73RP1tN0F!4HB}iXF!cW3x`i&>1hefjJZ8Q9Va}>qu;td@Z z7aP%|Ip6Kq*zh)3PuZ0S?Vuj25+;H@|S&Tk20*%9O`~ zcfPR~h1S0aGB>grc36$IzFWps8BGjjv^Z1GXpc%~kHBnsN!^5L`fp|}+ zNvSMyrUZnW*xF8D!o{9sq6Xx>Ji&!N;ET)Ul|;mB*%Q}aax`U93z6R4i|i$4lE{vu z36t5J$Sp*rCt#(f#|Wy-p4hoPSEi>Ig~p?BVYin?V+=Bw4!_3$*=y>xeU-}%dwncn z11BoNsbhJ+Bd$WD(dE)KwW9j^xiyq}ca;FP@@Ly1peMs`!oV}rk3L`_)4uxN=49&* z*Deq_kdXpqEpXm_l&D0+;+Jr!g^lIAm(q>dm6M>t0CRJ#@pZOfN}E;RNYN%Phf1RJ zVc~|rWq|&j?FMvLN{lt}al`oXkh8~78vS(9h*8f^pBh=)sw5?W{)=F}=(>$7xa|$L z9l6UIk<8C@bKjZ^t*-+mOh91-B^w}&c+}M)VR3I`=gZ>8UhnZ+&!b#}!9uSss=C9j z+pbKb7EN`OQ6wYI%n5%`YUSJ9>rncT5liH}11VsKNkgSofM>2G zB0%^~$CGs840>+qm)F#ce|zH6w3wZf!)eRqOhpXJ?9{FNCVP^5`FwsI&U6?aeT2Si zdBr9m;izCVac;HE5CSA>McjW>GQN6Q)t|kHJep=w>mkUk2QuwT5y-=6eZ3uW%dzSN za!*?s>qxAnoPS}iIikQc&FuIHhxr7fpY&_(KBN5Pk0B0F73qWJTUuK~fF-|$%PGo< zGlmtvJZNtBhc?Ex`$CItVCfn+jEt&*?xHW&ts8bM#obX(UYlD{dmnbf8V&`-v0X_! z9alrJyK1tULS$rNS9OY7z@SQeRY4l(ELB0-N*>DPs?s1ZE2u#geicG>{t4NiMF@@e zEkHI>maJ*?LRJc*1h1=_q~B4H7c} z2`H_(oFCv8>Y7=Jp`>DF=MbQ~-Qiq}F5aTdlXY$ttJ9HWgv-jw6TRoc(wpI2mCr(Y z7x|{nBt!m~_dJ7lF96FwJxA5?Nz_S^?T2w{FH4MWrOjJFWkD6L@;yY_U=*YKeK0 z_6iSg;m=BNJiLR<2L;c53==NzE$m$&$wkbL6puFr)D!-Ml0{cQ$1xij|Xuusi(0^a- z8819wJII_(r#wgTBkprN!cTRfix(BPl6JjVi*#5BWjN-`!L6qaJ-doeMRn96C>!7=m1^5r z|GTF>H4iFnX1q7dYylh3)@>AEIQ%gP-_L%b#0ye;Ze|vg+RuL48ub3qFKI6D>XLz~ zd71b-e;1M6aX)v`YYDiJ_E+OmJa(0!5eObLWt+!SJ$mN%E@w$(qi$T9&4A8uZneof zHLGJnVz^sZ=DQL1qkr{I!h3U>FjJb-BS4Jb$%l-lZ~1yyH_27;VVOkFog0EO9t>wl zGS=v;nF%QPRS^6!W$`&RdRmgC1@%P3_g6*69(f8S&Jjq@iO)Hi42V&tMw8`crB?Np zJ@&BRl}Q8&1D_&kG*b(jl+8)Y2=rVDOm0wt#-+fp$z|^Ot!wf>+pu%5S!HfdN-RJx zZE6%`4qKPbl}wJ+dzWXd6><^VR0)1S2uePn5a?BDYfkP`n^C{zaGnNgy0gk?bmOZW z_R-k4)%eRfoBWXo@z%#LRySQtTbK1`9Y88bpCDt0jH-}*52M!Q?jeE20#Q0Xmy9^z z!h}^*YfrfyJyY(=+SW_%wV<25)J7j*PBrsWmn32^LeD1!H+6f!+0R9;eqlv99xET- zV(Z(Y(2X)Nn;j zBp>T519d*H>{z0aRUGe8$z3~#_@B4y_}V@{xv4FYzUI{}-fmsuKq!8&e{amWKUU@S zm}Vb7dVh%ReSG)lm2Bdr(G}EJD^HG|vd=aP+y-wI0)pvHTY+%DWMtw!K{!VR$lwuE zq7duE6}WC8%mn!fyu_mkdYp@E^QGSLc-C)K`}IEBb9Xaxdya3Xt+Zc8>o@E7}0=QrUyN^S)joMi!=; z48)J-oY^U&Pi96qV;CgVn)l@M5--XGaDL5+r?vt6+F zTp{wHq-(6i4Uv!q7HY_99&9+QFq4mScdkSnQ>`+En4O1!lBvp-I)Vf(^e?`))piw zlHFmdXEWR@P2|z|Yd=ATugbV_G-j;In^DinpOqqy7r6O}$vOu&9plodfHsMA+rrEO z_sn}_eMObWFlAU0-m~kmgU9=1jw)XroUv;qaqvh=8MbyEiu(`>#njisKA3^5&~Ee+ zh$@rKAv4#fA5j`NH0mD04{_t!1-Qlg#exMm5(l_?j@=3zvG*ZtwA69-^?-Eu)Kks< z*cc6oGHnlu1Jk2dW}b&Y5F!7syMwSoO8r5SSff2Y40`KNwyH<~(X_M+tUHB6x{3z6yGntF^ zB?w8P*IKg*hvgrDU=?*kkb5#SEYzQ)L+B8CK6goeXa+u+2fAx@zRrV%a?*RuNsP)k z$WA=x$~JNtGB0epd|p|tl`}_dHPja*NTdPjgZhlEsU z5OzzJDbe~gaRK7sA;_)NRdI)*AviMR@RJeX`=5FWFc7(RjE^bgdOg3{KOWOBsJA0{ zAFoHi%q@&3`4maZwY;7mrAc%!#eg=dA=Bc~F8i&zUYsq;CP z1i}m~d|k)HhYqLq)VgA6h|s2^Zu)ezGh+lBH?QvqXL~q5yG6J0tV&j*N&xJ8DM#~s z%lvXCDp}Qk*<{FN@=-6SAT&3wFROuRp?~g)xkzk#m+FH1Ecf8dh5Vz)C)2XRmpoJv z&mZ5n8u{|HZYs8S*0Ecj{&@SQ$5PUez`aEEJ&Jnkp@yEv4Lf6+$Or_S?XYUG2ikoh zZQ!QoDtGRjXZe-z8%P0$ZHI!@7uE&Ly|Fe&L$+i4u6#QcZDdUmleagY26u5m16^tX zzvDK%CYf7}5HFn4Ty&;I2J@u@S222iFV(x{@^Ql$ZQPa_#rAH^8BSeqN8S?QxIhys$&!!T826hlf zYms5IUlb%9iB)N2w$PIE8|?MHBY6*>V-+~xP4jr1-c;}d>Qeq=hlJkfkfa+0$qTh&pFfce zhyz?O1rlg4wYxFf8dyd$K|FMZ|1z;T?baFk3%4EZBnzHyynI6Yy`7_XaX=xJ+bWG> z_%6U(JcSb^Qu=o>I)F^NA(@6OE{+Sgivx|~H7Y=w?Onzt&qCGDfQd`pO@?;VZ3Z7C z^s?Q4Z?5qF*n8`!sN1h^6huK$LMa6Y1e69r2^m^MnjuBHyA+0IKt&ztmhNt)8xbU> zW28HVW{9CV-vNDY@Avn-Yn^wkv(`Cht%pB`8Tekc>)LzIb?r}lrpa8*#4TD*w-*FBOE^WwrEB1|_TZq*{ItHPtC*6>0hDRxq$7Q1uRw!obHH?5T$71@}JH29kEG-6`p!~qJo;4ph@puSa0R@W#7_FSe6K+ z_yxVam-8%1UL-r{uDZ`jTd?P);iS--r|Bt&714l9S#SODKD`s6KbT|mq+gQ#==!j0 zVr}`!=38=0m6kw((z}*6DP;|`sM0b;3g@1eOIE>3K4v;F3W9!K8bYpC85i1gG#(sUz!egc3(<;3`E>vxE0B-+i03Kni>iO!#k7!5Vc#D-v<3- z152gC!q@Ngz9z6xRnMHXkluogtA%6=oU&h~Q7kOPYb&mOH>A$1sNP`p7`Q_}U@XTp=~=1IQ0WU8?HQGESCwZ;1pbx6*c z^Z+{%S%_y7B(l3_*-N>tb3I^Z&g)e)@*8Ak;)OJ~I$BMd*?G>z>L{#a2SSzYxoGKz zvQaqLew(h%@(VWP^4&Cs&}_m}^}$JJ$<|gq@C{#5sJDnl;BXrJbM0z!E;B}?9)&y$ zP&|43oXqC&+eN4K?yREhG&g1dJP!>>+J;C%Vbj7Rp88t<1n#hI;97m4nwT7(`@u{n z-g0*3jP&8kyC}l2IoDxs;oFX#LO*!aLxZS9_!l>x3fX8!)-RBiJLNWoTS?X)-xoUK zXY7mwE=4dpZbu!Wm$TvBjEJP1EWQ|mxy6E;X72@;qXZ8gAtsa;cjUWQdC>dtDp!fe zXvx>F>4kFY3e8aVlV2vUKlxgJmbtav(m4#^%O(UMD3#)}T|^P9?L^I$%8L%sV0cFv zI!l?kAgU!d;l;*Wft=lguC21#u4-O(0RY06<#zntkE$t)>cF}BPW+sHrDz`+!t1}R z+*1zEko%vAr-w>QPCp5q_{&o;tx@f%r~s}}g*MAIbFN!Ct&Rn|imeNzEEbw)9BQB# zg0%ekZ3KB8zf4|c%;_JnDp~R+u}+l#b&MEM3O;6m|MwU-aeR%maml`XzojBqzL3 zC7pa(%b_MZQhbSl=)jywzT%IOEXh?wR468xs`!DJ~rc|fo6mGG-$q&`;V z74HP8Y`^V>2Ov4eC2iK8_ZdSOZVM|*M6lemT4FL6T72?VI#s92t_A>E|OS4x^j- z-}ve0T;1>FpPFA0Ix33oT4cA>McnAezR%>^-ykQY`UQNX3VDF5HKZIX`|*BBV4lA4 zpkI7JN-2kH&Z3>RtW{^GD{$~3lEo_P!;qbtbo;BQkJ_RB%?g7`{SmY%gu3#)8JTKZ zDRmx1X8arU&2mNM&l}DQFQiw9-uv@uzdJBaaG#h|lpv^9Et)B6mw9oFr>YTv_+YxE z8Y|;VKbLQzY(bM6IFCoRCCoYY4X9jUm!0M;!WkHCP}jG{fr8^7JXkQ5@Wj_6QhHXq z5aK#B@$~)3uL0FFvN|GihKXd$`9m_*@y>qJmUOOV0Z@iqz zoh>+xVJ#8$k%eDc~Ht>7cuCP0sO^)onxD zcLOCn6UdBFY5%GzFx^0TW@rqGfBEItn_DU!$@^EYQ0DrOX7x8hQO?gMy;FoOne=Tw zCkHa*@E+>-#^Y1M9Cy|%k~sK0;I4CU%7dUN z`M{A6Dle<7`d|>KtFJuw9Sh`++Ns(*Jw(AR#YlgA{gmAKy}gjdV*DI|5mEVLz;?)q z+2*Yqepg2!=-u09LWRNF9VL(l?d+;(4bVXVrI>YVsdi9bPaBXj2%7Xu5n@+`-Q%=U znDdcp+Q)rXGXUj&`c>?q+BVbuWsz|U3)=d7{Yv;Bo_@5rLu*%?&VYj;9afZ%aMuoH z+jd>CNy!lPr(3pDvufp8aC|rCU>*3xsAi4)Je!M$_3ik^CKG3_#jYfE>e)MKaB;jO z^QWK^Lwi3-CaGn`Db!n=IY(I$KdkUO=|GkAUOgNU1OLle5?6}ZOSR<@k4R15`VcrN zjVg(JXm)j}B2Vp?BD|%ecmlpt@U$kKS@^zbB78ZpDsKZD3%@ydJ?r74$Im7LaaP(s;hNLZC0F$w0cv(u<5lLUQ!M3Pn~tj3${s$TaAmols9#rPSn z_duDW5YJ`0xkR^`%CJKyXW^umi*b-eDGG99O3|IY&eM*^?G7 z#O^*mP_#E#fWAGELiV{PDAS86`O6)YzS%D?T>JLLaM#X%;dW&yDt*g zr-HqQKOU0X|M-S~t6c4lD^T_KO~6!wOwKP|$vUx!x$F(s4(amyKb7#Wz*Jl4RkE@- zw=8qUbma$mKGbz*-LI?b?Au{}I>Amb;M^}8K^BqYF}Qx)fPp-vVBIC4;$G0l)Ic-Q z_?7k;aL$B@KZok8Ri0;K4uOjp#|TpqneDDoMfYPMfGOna0P;6rqna`zJ-6uP$pS{Z zuLKtOqSus^Vc;n7B?+9lY>Rt#wC=`cD#^{tojfx@LV_U2!;><`r>7?gzfq@ejGn#V zY7zFUJ3=hi2I+5Cya#epRykQYMZTH^S=9<(d~ygcGrNql%VU2ZP`28zd*GDgBlrPA zLtw}~u)^rIK^&m7m34VSHkq2pRhxTLJ|#n&dtru>?&A754wk-{T*Bn@j*0EQG`G&@ z-h)t1JuP{7$FgIsn++cwko8X+0Ea@miQTrSn??)JN*!j713c8JqOb=%aXZ!Kg3ef? z&*hG?+t?f96>{C>Oh|T-p0_F5Ub~B> z7`Ley%A+>dOW*nmuhNFphajZ2vk=ZY$KMyt$Z$)l+-z4C^V?*Ixs^S;FfLKJ)cs*%=ljr8xMergkvP@$l_8H zpuB$O&g+(sJ_}d5P>6!`b|Ftn`9i%5m=`0 z=Ah0_@;RocQ9Zd+pJ0QaS+Pj@JVEzUX4@xyPb071PjD2`fA}Jj;M&iHPh6L-5tJ#F zY8?`_5&xC<)(5aFL|+qA@qx+Xt|>Pr6zt1QMQy%iv3%`L@?iouCo4O(eNC8>MIRnJ z{HF{xPy&z?Q)*mMuE~7K7^If?JT>2cn)W%-%a7bn%ptvfPg*cOW|ka$dfLF~y!iTd zNdBb!1rW?Vf%g!%R%g&h944UFzo>HW@2cfD{#9}PZ-56(uKxcyV20nQ5&tiAng#%j z{exY0Sxn*o2%d~C>hH$$&p1K<0H0lL|6g&@*ngeZW5=u#D2aQ2@(*I!`R6B3Q3U74 z^!yWG!Ri0M`hdv~=u3x57&KAdDy!e6`wmc+ao}#^ZsFIwGYiYBRNFew7Dwjn(}!s! zmQm|sELw}2v-^cSXr_}>vPS;LcdR`|l!xRBCk6F|G9WxzkBJk}&{WR|ok!YsGvKzJ zmndO|g0DXsOf+Ws7)aat4X)6ZnY`Q)n;KAK-c%5Ohh;%wckJ;I$_U@~GKFZF|TVy1I(Ec2TJxEBHFV5#=s9 zywQFI(2~QZU6&u;1b`d{p-E2~3+29V00V;{)_pdOw_LWvR2``Cj!pFwqePAlTvCdj z7ow3w6D1Ea4Gj~ZH%!qT+8e9=9ZiciZR4xp{SzLU1+!a6R`P=ECJ8z%Y!0AVTmzlr zj+_(u2|n5H869hOQeniMu&y09e^gU>yjxcjtjNPwe%4x}$-#7WmU1F7Q6%~_4msCl zFPQ(bBc{TWZDpY-%P8iF?dL~A`R(TGh*j6Gx_H_zR(4iPi4#9}F+NOG^<=PcUkE!M zaG;qy+vka>flYh(9ECt_cOUK9GsF^R&wpJNH}o15+^#mS9GY_=o+Q%s>?+dgnT#zZ zC~oPhQm_zM*iGs%@Ib5V^}c+;e1dMb_dlpolHthZ-55Z(S$Axy#%PF?#iqei11gqXj+lnG@2^`l!`7^0gze-&J}NHh)7@Su)- z8@XtYzxeZ)q}8L_de506N6M@dewAl;WObP6@Y(78B8+Tw>TE(7$$v8|w;I>8m<;o= zoBV99RUXNdd8K13zBXflCFsMIRk&(%lcS-$`C!$p!a>G9PYROx`0&hbcg8lVTN%?lLTqwFhJJWG|Z>@FF!Kr%4SXS(`3`u5G^I#qJ=Zpdj(Wo^@O zW!GDnNN5K$mlen6>*8>6W>5KFi=%rg_jZ4^BjQfnjrE%EEAbkM+-l+fs^6nMG1ND+IKi9b4e1+_2Hl7DFd@-din3PNT*1(GtRDf|H)BDh1bH0|FDBpgihV7~8=dSDXeL=;(Cq zav2`Z{89X?oEazs;ncKkp%Da)TRmc3I~sdg&Zp&R1e&QV_jpbl+4BAFQNyO|oaIU1 z;tvOF)>NO9;|FzqJ}U+V4&OR77yMSr9$SHbbw{@yBhs&I{Te}7QEQ#XGEqIWs?{Y} zHBsrvwNmq<`%RU@3d$B~NV?FAEt7L-5CB_mj!LRsHj%Jcj03N2p`S&k-O1RfJQE@nxFA|MY0qZbVQk$m zHDDTs-Erh&WB{8yb>pp6lrmA^JmX5xi7fSZ>Noy8(A_>75a!m!mZ;PRnjbE+$=3jyOMJpOb2{45mL_601T(vnI4Et{CpcQQHYy!QuLj^#Il!_JUfRV7Y)H4~kcY_H zfohR%dGRP`J-n~7JY0!BlCdG~D0#|0Bm7|?&)c9#{<_X9UKIJ0{9AYLufZ$NmhIYw zZ~tW2!#9YZab)&D&ptWO)rgeu&-7N}J=LChqSd`pgGd1iUw`EdatBlhgys*tb0Id! zU=JK=4Q`Nch)dr*+tNb!OA@|dyFRL`w_JtIhK#>H`}&|ogEnj<1yntJK~k*N2cdTN zvTw-4UF?m7=fh&Ke)`BT96U}>P^`MSqJpYS_~J)86Bki})EBIDwkKRLzBwszF_@@W z2r!z7?gehk`QH>Uf8jjGiaGy0brrCJfXi{w0C)|=Oz{7g4}=T#8vr+OFjdTq*(_^f ze3YQzQ=pFL@1Gw*7|{$x5+_d$3oozOCix19@qie*Uj!ZU$>>y5X0cN0ox7#y&tE)k zyX_l|#lwTnrmzN=1lN}a3Z870|LG7*ky5G-xF8Wt*jvYInU$aMnYv(zm;v$wUvsn- z_n8}Te>*_^HGoUR8r57v27nXcXK>kE>5nRVXCbErfG*|hyS?szf!WfB1VVQkE%Cw(8$)6+NSKKb9Zr0jpeSzBSj3P=XCY=(HS2cE~Ah^Ax&ULFjbr4DDw zs-lVqocP~A>F+R0cauK{{5k(yI4{uhH!$7#AMVl~;QmGj#3H3i#YQFG2;NYA^U>7b zbrv=^KKYbAPly`dUy`YZ#J3(nlk{y2_7)>Ffq%)9FG0U~)K*yis7w64=WqM5cY(rI z@TyNK*r<}sjbBv2)92>l!i&dJ%-cC?wNo{fB1VO(cV7?7{OVJ)27Av@3v_Et^^a60 zUG>>LY8!oQEZ2F<9If=Mex|pHrL`ZY19(n!@9*LL%?l$vlB2jx3^M#YGCL2RZ~J;a z^v5h(L-HTrmWkzKYjN(|V~}V5R8~ws$-Qwa@xsU&Z#UWx24JQXA!^j#N+i%m^u=GA zAo`93r#H^rZGqJYbA(L>`=9w?-OsAxero4TWDHyr0!j<}TgSw+V_Kx?XQCHEv;6f`b1u{FEWSE%-9y(rPQ|?pSon zUXqFD#_f1ed_p`;LRvB3eyzY9RYFq!kRua2P?geutGp4S(<~b%B}u{qeLtAX=}MUG z3`j@GHa8Fi`5-azr*f*hKIG7Vu_98eF?=uh@ zlj8rwtZzRm8le08Zs8nb(MjNynoUxj+jmoiaQdMZn}oGOw^FyVEx>tJB59Te8RFrG zfk#XL!V^IXHWAO7UGnD>N7d5wz#13=_@3#omXjLbw&=gO(UZ~Gaso_}$&mYN)Zlc8 zG}yXEI9InNR(&kF*r;gh%e{Vs9&v&IPn7eQccjU*sUN+4(lc;k34P6j;58?Q4=}5z z`Vi3^zyq_w(UZ$b0P7FG1HEF}XnPe=+pDj4vSS_85cwTPvmvFU~vyr&fjj zu}p9L0N4Pa-ZOwniTO{BVpoHmA8K0}~R9pk}}HxOaI|C2}jYS)BChUP!$_9z#{DgVf0yIyAFImm15L zdiyX@X|mFGmd6VZM{HSTvi!?ow}TYyF~8Go_hf}d_rnwY7b|fMmLJK%KT{HwIl$OC{Ul4|h(u!kH^W^0rUKDzz((nHBX~IH98;>EV z`C(FEjm9uJ);j&r2BV$*Hl4(G=r7Ibiq8Nz98gCXU~AwAl?V zo$iRl(hCCOjPoC(e*5qe9`$(o>&9&Nl#$@^EYwuI+h+%@r2h+|<3qdt>7&9CQ&ueH z`_@rvnE_nUFktMu{}gS+Ejt_=&NX^H_!c-zce2ZRsj?DT6iwI=CTujyg^FKJSqiP4IZXUd1zF0v&W1nytGN zvoN1n!mq5@%d_r7OT-`OXqN@nQ}0128mkQvmQH6HQ}gjff+g!h~sIt*}=Yy)%A?w8W=Uc_HhSsada;}83gH;Hlg z(${5d<@oxcUu+-J0GA%!4>&E>u_Ne}W2 z%IMB67{5o?{=q;ZFK6=%d3#)CGTx-4Mf7qO{41{a58X|B4YwcUKBQN zEs$|gzrIZR@cd3V&?=n#_lA`;#Xb4ylh~{wPvrUL2UILfxN8taxS*KXt4nk6PMj3H zMw?iG{00NuOpH%#w~qIQh&H@M27@?_8L$p;{w1#%jVA>lfrhaG@&7;g zU&I?EajK%^8vuH@^C$5Y1=lvOnxOBb$)XS@;d)?8tc2gWf<^iX^%(U2=modbsT0is z_$g`UX5E#3>^H~Qe~jfhp?t@npOl%1)9L~_gak9CC#CE0hvmP|@eh1ZXu^8MHE#lz zLg!ySfb88VjQ+W<1t?uBaN!Uru>Xfp+4p1A-&f~1xYHbr9x?qIm4wkMTvFYf`1MSe zho~_fdrG1GtLulgI>4d|!C!+~0>;EuRqSZ=sHT%M1kpGaV&xL{EIQZqT$E8IVu zRQdHvZyZ6I7PV^tnLs%we-G?|(L^2GmX>@>;Z*gq{YdgeL=(7+h~-{W+~5M~BU zc@0R`>88fm*YgQ9i`(~+T?@{P4&!*Z`&v7}pzq3?734d%bS~d9T>~s6c@u!3N zHd~rRgiLz<4K;QW%stD=b&83-X>`R$5I4S$ZlzfM5lC^tP#l-?iD@7}w!%xiyL{(^eXBS%62srg zdGE>ntf7GxzbrOGtH$-FKn374RONHrI9EDv2mVJOWlNmfJ9t@;#8blp0^%2wHh#$9 zF{lg-tz{`V(7Zs`^V`dN6Ph6aY@)zog$G3C*L0UzX*YDwo$Oa~f=J(N(Nf5j@UN%9 z*2mH#IG2uv7j=h02P^zB0L+U6a7Gi@>;`drp0!SniF%$q*7#Y99V&Z;*=Sn7^Gp*y%apr8FH6!o=Tf%Rp8xj)* zAFU-_RTukc04BAw!5W569aJI14YJs(#20Q|`fYK-xgDYiO#@uUYf_r16QwDY_^n+d?yT@7E}Xj*#AU`z#;9SRSQ3KdlydG#*e`elb|PE-c=seNC=uv zqPWnhBurvY;Cx*1J%Bp20%K~@ladr4iwZhfq}lm?Q>H!cR2cupQFiWVR9W9NZFkb) zX#Q!=z+(Xzy)+MKW(Q<5>-=~btIEM8bV3OoZQa4Qqz_j)%>AUil$Ur6(naC93LPK| zFTOui1j2?lpbHMVhhkLr7c@BVz;NEOpB9--DIq>En0%?&Nd#HJ)|hGenxrqb|cz{eFXj zQx^Xo&OFaqIq?UG6Se=2mIu5bj$EVY>tr!Sk3ngfmOh0FQO9F}eE*Dp?+2#z4V3fQ zDgDHL|Nc6Irq)XOE6b=^N+4TezL4|dW_p1Nwr}=qT+k`Y#XkK29YYAjmY2=TX5{Qk zqpx0Zd%9JAh|}Ej5Q~la&+=Q#kze+XlU|nnFo%89B(V3S1L=@*>pl*7ljtENoWAcy zCxqQskM-C9pY7GSiAKMeTTb({>VdDS=ubBibACrnZ}>ObQf&sBw@Yu{O&85|55Pmj z5I(-SEP(Vw%&4^R)BM+}*SSF{r1+P!Ay?wdI@^Z?8R~&aab{Y3!rc9SZ|{U&MdO+;mEiyMw+L`;A3RB1#MnqZv$uBuJ0nGNpgO(_!?@3@ee7zdSw7J1udmEl^IdOajrc<@ z%fU7Nh*m6NGv`C*LDL)kVj(Mg;G~)hQ&7a{W6ulvsQR6RdPh+__4V1t)mwTtTf!hx z!oyv_YZL+|5osk44_8uHZ5CxX$^0p4xvi15=97lsM5liH~R;VhPu2IEbAFj*`dY-Y-JGfPip(WlT z3vNGc#`-nbb2i(@AeWEcrz%)X&H#ZB+8N%lMz=0x6O#gW`iFJmPE3wKb(~Q{HJTcu z3+r!R4x~X^8P280JCusaq~Abx$x;Ez$RLu8eGh}_cs&C!u1f70-sru{HcHaEWrL}q zmBzn2#SAcy+0ox2ljd+`hN1h2HF(oJMJ{mcqa0^W2>HM+=;YGf<*ksyMp_|0OGHIM zfF%FTAjTP@>6shxdrCc=R5L^yK#Gk?ZeZg9goqAsCIAe&f5tBtnhTM`n|YlgG~oE+ zJTm|>&Z5Ap ziwim2Sz>qw*DC`lZBH)E{>SEd;|f6St!LKyJ`}f43y_7;Tq45vnMBM{l%1C!=?69mmJV6p zWLOxdMoAqtbEW!%ss}uI;{9U@0rxQk@oRGCo=iirE(*l6QH$G#o&ydJE@|0c_!Bzm zm(GnJ(;s+NzPj+^XJe_S0m_I1+~v@qL?d9Ch^GRft5#^mN&VoOd~C;|fq)FS*9|&u zQeQ=>li>Y=&9xs=KgoKjA+N_&DURv0_VRzl1kP>#&6VS`QGvwUhV>IB2h+y(0P<^z7-t3V$a6MH-aUDk=! z3Eewt#H&7-G}3Uw`8JytcVlyFqlIYmNXJv7Z(76@(-ZKb=%GQr;D#!^}a?}s+t0oA) z3LQPs7xz36ftw(=KcCHY*axnuf{j)Bx=X8X$mnP1WaJAwA|0sfDeCe3_Qu8`N0SwsUSI}`>hOPr5n20h)4;Ady-Bt-Z#}&`eaW8g`@YiWtZQ!U-O~fOTNb20Tupg6w^okV zH{DQG96NNdlg=|KdcCk$BF`OEo= z_%?_pVZoRgwU!a7bEtsdFK@q|7Xb5p+F%_Coz#U9*UI=zoGm(5dUkY9j-vKxHW-|% z-RjXUo(FI9+!+@j31d`MR(nq9&bfkN7loNqud^K2(?g~sIjxBv*v4Kc>rvly+k#zs z@h(y~@px`6<9I34J7{v%?BHBt&ev|`#bj0&fuVv|`5jNMko`W|5+PWTNn$YH)pSAR z=4{zm{jP)SuBP>IbMFelWGH{O;B_Q0?HFi}>ESPsE@%9Q;%EyPMw4n2s zzC)QXLYknmGvMhm*yWB9y>z;LBK5+x@r>h_jMZ9gN3%W~A4_yc+XrbTC)w2jg#vEw zKsQ%nKU};>t*}DCH)P8(#sKJ{!all>Ry7f#I^-&<1-ZMSXVtOcvf|tHwye#LQ@Y=)!u$Tv^Hu$r3CPmF!zm; zox66MV?ifu^?=yrVDvwKV=WXTaYdLV0%#(_w06WY*?qL@t)J%@%WI0`E^W%ekB2va z_}IfGL;Q3TC^hzeDw^=Xfs^L`0aWU8^=SBpM^+0ml>lii91ba;2rW;k?!+yE)+f>~ z0M9i(23gxH0?!68?04SPYaJ@(n+wpZs$sBMdm>jCJsbPeY=mO6rw(mO=hCv+7%r!<22?8CQx5 zL`;*SXwDz{_2BZw?f`Uk1*uPx)>vV;Aa&>GL;1RBoD9rRQh1$WSitYuH1VZciS2S{ zy9YdS3^3(_MlW;upT$c8Z^yIgaDE(%g6D|(8aQZ!2@kxXU#OpRsw~@p{~HDohxR>PZ$npCMzqAwRr6X;or7m0vD6lbh(cr2*X6cC^^JQ z;3?nDhZBt=M3jHgkN;C2EkL#%QLYW?%D@)B0>=7S+oX!YqoR^kzuRc0wi^p#a@bcyH)PxOLVYlkyXXyA z&$A4mXZbc+QOo-HE^uT1LQKSQarw)Mfq&UF_vzkiD= zFz+_tX}#0>LYZ^90sejCs;jqRFd^kR)#u+qTWQYU{c9MfgEDEnh5HwV;13i3lb(O3 z_krK%Vxs4=1aQTlYU*sImPke#BdeU>M*sV!PXA^lM!M=jY6V^{I=Zzzy?sU&XBGKpCr^0+0Q91p6P}g-W$6Fi!9~{?pY5kKW{@_73RrNh zwR^%JqD`%L5DiTLBR4_t%qS^unM%X%hR=GR);s; zm}m_6HB?@y)#W6I@zI}O3v-Sn#k2yNKEmCv;^=40FJwc0Idv&HdkAzt3TFkv-J)IC zu?9b**m=~~zh=)+k^S!|1DInXypb{dJpQvjdNmJ3ELoT!r>ss-h{?=aHr@Lo@&v+9 zOlH9$)T@S%%@0^nOqd4>`ttI5lHv5!{yap{nhcPfkF!hbqt%+6w4fnz`*-yA<2l%) z?=zom^Fx~YgPal(SGKkEoZ}@5tt}$P&AGNsF|KTnb+ndp^){rp-h!>Y4xpk#pTXFX z-)C6gAwzAw)WPZcW}U+>Kaz9(M4}`4WbtgGs1AA{jG*>lSxMYO8>%S)Qy1>o-RfZW zgo(h;&?phxF`rX;Bc;7`am~aq!m!giI+Mhby4Afh7O#DmUo%yQV^|`X-Y|KK(+zfD zL}2#rG^6YyT296*#oBdx3R}P*8&Xa_v;&>~=|Fnpp>o~Us}f;GP;+g)Isd4z_V8J) z2}}WC?a@*gYT4m;V}OFdxGy@oKdT&{FJd?nNG2$N{oTEKiy)elX=n;&Gk{%3_2qfp zozkWndQ~1Y9rH)?sz7puAE{q@Y|a0p(5~;uFB}GhxshGcY@ZX^kJ5JK0rH|~oZzGI z+-_<3>y3w+d+5lbQ`o`&Y!JF# zIGp)NF=KVxhNT`rJ|3Ew}tu}gsP{3OxGg8 zf%HnC;HZ0sclEY`w5Pq*Asp%gy>9G2l3l94?Tp=cG>aE)qe0VbAXvZCiQN>!yH6 zTd=RAPt_wXqwiph+^r|CsM0Ko4ySVx=({>(C25yWn?K!Re!D-c>)<2wW8GWR$C?Ox z^iv1@Y)vg7k)(sxeC`s)#)&3A+*6b92PxsvCD zJg=(}YRBfu9_cDW=Q~WO%?j$$X!xty)~bJ4juZme;H7CQri&p{BSs~*F+<~XaB3$T zFI||=&{tJk5jJN)%moLIBu7iRGDN-_zOZRBJ3>XBl)i{q)f<6z_teL%$e{_Y6lQ79ov zv$a+NU*xL!5%PZF^+%C)&yE(-e;yCU9sCR-8q)4V#Tk(wu{}t@QG>iFvFS3^>N4d( zj?5K7(RIXGt7S82dU+(d^;Ic66R*C8FWw2Q+sj{9u}TUkh@>4&UcIu`dl@X=lJ}X$ zP>Yh0!g%_bJLgwU$@1Q>;`aM;e9Ts6Uo;~(YF`fWaD-`;-VDO)P_Df_q2KEKk=Gjg zQU+}0>d||wAT|la{RH)(@ky@4y0m)Dh!3e`7U8bn(`^oe3nU#NS=Jq>4!H4aIWNN> z06!s;kS_0|4n^=!7ug4GV()_-GH|8XfqL%DnVi1df4WNmZz7bCL?*ehW_z$Fw;R=V_-=)PuhW- zIC)U@TZFs}MS5LdUzjg_k+#eC5F62|u<=2EviyxGDqvVxAtDKd=+zypo9d4$%I%Ev1<(No=0WWa6j z`IGp~gnp8Rh>U^2p|srH4Q=fKo2a|q$hz228=*TiBhOFDR23@sCL+7;fVjtA*B(+? zfQ0VDOHPr6RX=R(kDkl3RI&G?0=4SXeb=i$Q`>1yYU&-T=d|e$Mgq4E&CrkdkSG zu5|O$g$N<18OrAJ57S zr5S=y_wwF4v1f7OKyJCecIYXP474g|F9mM#)z9or4^#+qjoV%u9Wmo6jaiHERqe6@ zMGByLHFXHMR*;(`3`~8YcZp$nWQdVOeC($l|icw5l7| z{V&3Y&LH6ohtTZ8%hfhdYy;!?DZW^S-E6D7-n9Zfi|=1^{YodvK|1{IPG}Xbkrf!; z+VvpA48!rlLWi^~2wje)DBUF8@;G|U?y2?kN8RaTRRPhmo)aM>9XvLS>w*0?-j&8< zykobCX^N$_e1-~d#ryF><18j*oA0B^PqcC-K7@IsbwDc0*~rSfi%!~l+!!_p-ar-Y zCy`&Ond1jP57ccikd3^8EVaEqs&vMZ4;tD|QHbl;nkk{z5*!cRv($=V)K1-7?my$O zfJXME&T@0eN?B(xEEjrfKaVli%Elu8K$m-33h$H6+T09@pM~`3C&Y_B>3~zMO3E|y zRkd;psZs4$uVnCo4E@)Odw2bC!_vAZbXo3!?sk`4i7RaVURkiC({dt1Z+W)n02VdZ z5di%v(VcUL1rQXTpui1uc3Yg zq4=hGhWv*QbRY6@4(TFnDs#fjol6<26O3A6nc@q#i*3&YC@AJOxAs5R59xrkOYN*H zcmb#*f@K6;h8NzVwj@s00{P=b@SVm|hZNL#%Yh4U$5kWg9 zW;*4IA0#wh&6mh8*YCa~87~R&PY7SBx2V_KccEe^uqv5+l*{;~`}t6JY4TiJQ!NJ_ z=&q2n>`@1qg@rp6f5C|jQdg4BQD$u1Ot$eza0IS3!k}=}(YeR361+~t_tg=mr@Yq^ z`SML=T~T&^8S8FsSQm5a>KU~5W6NDT)ahN+1d>y*rO5WIO3;qOwfHBXF}1UYq1RUU zdE92)v=@DA6V_ut%v~12$n4r~tV(i6uaWcEUDti>dp2Pscya7*>gL*ZF1nF{T(~W< z5M{)~?YeT0T(?U{*2X8tM)GujJM3ECc!sRs%*;@{6Qay*4ayGxlmk^-& z5??)HV?LUdeWbflI@(b%-dx`f(bRid)LmrMB`~~u7pG5bxE%T_K58_Yan#K)NyLYN zYyukz673HgZUDFCYmfA{`6ujHKv|X?u_n|Gvo|R>hN}oCY&F_YrP%6Sb~1VptTixo z{>Hp9C*q@~P=bzam2k98a4a->#G-N+4ASHAK}S;E-c7Spch+~?TzUVsE+q^}7Z&*` zEx_Ey-OEc8j_AF?kczuBmzT5FD1Rfjt?ipWMh5BL?+q^<60E;_RcOVqLZRd6Rv#g^ z5Vm(_?NWQ(w#2=o&Z=BFv*zer!#}&Gz;TjDLCsX-wC=x&G|8?mBDwBPa@epnrei6! zq72iEcZr&wEiGis@dMv;?7n}Ac_g9A6CgmNXS%q@JDMlW{-bBFM%SfR-j`LT1?&iy zThkvL-tsf*l4r>sp^<1A>-*li=Lf0!h~7|5>!``KQ9`iCd`Tnm-6pdb8`?!Rb0Zi= zd(#A16y#anR{dYaU3)y!>mS!~I=UQGPMmaxNRk+-w2dUHnQ(H6FjRzOm2Kv>C`EBd zXyoLQHp;DBqHQsy<+fZV*U?<38RoK0M*O~$&hOvz`u+3!zFyzw^?YB?{dwM>&+GZT zKhO93rA!V5C5q9lRy$Z}SGfdgrkw)pN3U-~u(Xp2{t>RZ?|d(pdoT?= zvq1vltTXa(j94$`{NE04uydUTYQ2QdUz0v#+g3SDTI^6ERJk>K{D+LT#km#lXz1LP&o1mi%x z#PS9m%JLo4quD|VdE|Xa#@iWAa(PpR6=iAH^Yae2zFF~wSrLU?o}nUd%%&L&L7|*_ z$tj1)253tfKUUvAIhN(4L>Pv(EzNlIgM)CK@*JvRo=4^2a0mWPy^z+k?B!)r2dKMD zEl^Gj0c3^hLZDVq?x^~AIOM6}LwyH`Q7XS$JI%))er#yngAsyE_CF+zoE>_lp25m4 z{@i%sQ=$l}jH52;$oh@fL>#GVf8tp;EQeU}L}!J>7S7a*y(-Pz-_RW8-_u7BsL-5N z6TF4iU0uIF@Vgem1S5m*H#dlF>;Bxiv11T>P*Dq+Fxk}m9E7bbASY2Zu?E$o8B<-a zU-Gyc`DHa?zcHm(N+xIY1T(RqjCvKc(@UMw0o2oufS$IXt@x#yezPY$WslKL%Gthv zVAOrZCwW>4r@YK;U7kX1xx3ZHWa@V4(J6ul`>#DVr^=hBKC#eWzh2)q00WZ)!*#AM z&1}L^-AWJhWFZdlTbgwpegPU3m4|UqF50v@uTFTz=-gFA0Nn(pQI>fzxEga!ekXHM zNw#maa^(tZ>V=mLsb!$uY5Egjf_!sqcmrO159L zQta2m(hA+SfC$8D@2JgT&9_ilcjfDF&?AD|Lt&@lPP;E1&M8prU+zsIWD;pxgaAH0 zf-ewSd2sXlI=HTs&LbsA8{6P4;mJ;0E!r7X=PL$3qI;S9&GaJ^MdfKh!`L#)gs=1xEqB8*K>(iA9j0dNh*Z+o_h%lS68!YFbQ3h(~ z1F7ZDeEN>=M4B3Pl5doe9VUji!%_=MzliGT0uTAH2Xz=CBP<4`waJN zYSE0jpEVg5GkP_rbTRnE(wUX$W?PqrS*lgcCWL+wn0zrm&|#%x!O^0^w4r$H_e8nI zL;7i_-JS{RvU)yXe<{ISOl~%lp;(_(EC2SZdd-rLZOyDZE}pyWb7^jS1>5bg_ky$IxX%y_ z+&HO8wY#sfh9DW7eq#HNw7_Bc`)sgPd{E0NK((E=ZSJc2*>>FlnWSU7V z&A((MmgWwkv{X%SqTHr`W0T&(L_R9xW#+pl_mYEVA>3*Vn3DJTgKd*d&vn~dAaQF? zMLC$Fbw`>ZN0eqfZZRT}iTI)Cqg5@I^IiRAnwQ&*QYPA1DIXfAeaQWbF6(K%3Tj}u zOxmHUg7{~)7`C#)Q?y0b)y#m#OXBc*J}@RF5r1PH+A_@qF0-C1RhG-PqKH|-FVv{T z0&Y8lY6s(FcJr#AzTVT6r(@3k^s=mUFWAE4;?Mf9L^*x*QCwB_Vx?x>6pS}t9p)C+ z&>qJOr1d!y8tIh%Uu}!{IMVVrK4XP-bifrb$}d@YFrSZb$gu~p7hdD5_gUix8}Xz< z9vCodVP*SYDb&uLvJP8cD;x&wVnJLPY?rd8ISKFUmq}zw3 zz7TO9GBnR;s)2q3fRWzZU|zZfyOiDpJ@h%iQs``+u9OemFkxM0nCveTq9FBOSeiH`rl#?{)%bp)PuD~Z@hKeMI%w3ws-QIG%VgyH9L{5)MqUr{VbS017KI{dF z-|RJTdVRqESDb{`iH1q2p4yCmEotXkCDcqqzJqNC5o@$CI2TMkwqwwm{am)MrH_%ev2W9?3t0OKf+xfa2!ePpi#{i5Z0XPcp_EAln^*ooaH2)1H1*jc;dkHlFQIwVJ(%FCb zTROPBuoNOp#S6|~bj|~l53FU1^_Z6DjT+N+&-&_PA-88>?uC7r;L zcNK!p@xZV2T0024t;-P-URW&6sF*11B$Y6eKIm-sgEYneX#c^ef^5%(5crBr@)wX_ zmOp$>7`qS5z%Y2G%Y?BV?!*^ zVhy1}r}-+peiVYQlC)!Ok+32@C&HJ20VJE2Fvc$Q=w@*b$bJTHnaR!fRcyo`qcJL2lBhQSAlS%jkZJ=J5b+f%_`aObVjVmV%a_6W zu}2B#C8|3O(mSTRY`xDjj2XHBD~W6+UlfHVD7`S!yjKEr=n$rI% zv9X#Yy$jGI8zcc7P?xI_NnnRal>3peL0c0p^F0rcl(LQZ-!h1e%$sY)H|!$)%suv_ sf<(Jp7_}c2z_rbw|KuXx4p(1MWwl>9h9QxNDUHt6%hq#0s=-#R1A?8I-y5wC`gkUT0kixozO!O zkRFHvQbTW2Lg+1oe23?G%e~LN?|)$=abdiaU zj_#DU)@>s?x?>1BI(mtd$AKrHj>vsFI+p9U8XEVtH8gndyE@s}I>6}YwBE ztY4q6Y}FLL&wCbzg&$yMcE&zNiF2nkGRTTRFJI*EfS8u&5+%8euVOeeHSehRz3|if z7Bk$j!w9{2QSBKmke~5|%uyD)`yz4N7mh<%i;E)2Md57L~`b^N=`qZuS)D^N6y~P+C|9%|ePl2Q3xZSb4tFbz-U1GdiQBTn6Hi zkkzb}KQnW;Mfho>40w?J)A<|YeY}?$Ufle~U^LKuQ=*mOW!dOks~w%6>?{K}S)}M# z2Tt3*y?d?Q_w@=FGgCb@!t17#R2Ou#iA%6;8Ykbl5Q$ z;Ssou7C)l=_F}yO*6nfbU}4){K=%!kAdm07PkC=dU(hXS@NjV=va<#mKnE_n$PxYJ z^PRR{3%x$wpwZxQOK4(CT0L?ns1?mi@7{3XRZy`GMOBG-*~g=q>H_-Bv)9a3AyL@W zQjgwu=8-Q4_XhCfxL=!cD!sg>Stj&(+VB~)cqaVpmxnp>;a-s@3zSFKC+}U#HvOhW z2=`|2GgFiB3!*-MFJ6E8>0Dvdz_DB|dpg}E`M!6hPw&E%i)F8L^f#|K+*tD}PUWdL zST72ijW*GH3WbkZ)4ad1POsZccc{j`u=uH4#QO?E*m#AL32$R_U22x(CUK8ThzwKC zn|EA#>t}HH0%zU)nm*mQ6@3iXn7c#832twCI_ijAa+`g{k{P{oNizR=&g+=h)>|c$sutf|tA1F`ao{-HIP`pC#i{!WUJ$ zurSS$`)blGp&D7KT+gpOdM9x!?(^bL5qG&q;VHL4Y5hO-H;xU3AJOHqetaiheD>|J z$A%A?V#D4SRX$`i4KsP-TO_z+0Buq%vRdNT|2{9zUjAlL=3ID-g4Y#QPUu^+aivwC zed&PnyW5s7 zmYSQjl#!H1{9J8lYAS2$X_oRu?0!l?wUu|>n)i&vO!$LSUu9%oD56C&B(nPM8{Bs? z9{cfJ+ARSj{wCJITt6ox`IAbj|NXR_f$YKu6(Z{oL`)V;^1oC+5Xec$-pkfE5q}_V zrt-xHQfd~OYm?8B+H9JbW18)Go0R#ePSJ8iUFDw2U4QhR#3u6sL0aqL>_zp97NMFK zhh_9_l|Na#v-{8`Ye2OMGBIgLdo~$yX-EP(AtS+8dRUrLB3;sKEAYJY$JbuPufN*9 zU6^Iz;7=@i>GHzm)v9gu!Sy=BYD1m7ByJB_uP^E6Q0~OWDD))rCvhs3%cEReJkH{l zJmy_wJoG$9e*5(3^@tBSqKCbaFL8AgP}5)C^b+S1Z<_N3%!GYn1#y_zkFc~bP`{1ev3yvC*py|d51zkc`Y>^5H~-l+lm$(x@sSB?E~RKkMM8Xf9(3-CxNGDx1Hhf7veCo-k(2 zexHpqQp0{8Fj+c~HXUj%QPrn|bI%>?kHftkZd{*?Sxw3G&4|lT>sV=jnEbPGdm?V# z_t=q_O!YbVA9!&z8T+Z&uJ|~X9lJeqeI|YO@>#o+*wAAo<{5ifyY6GICjC_G@tN&L8!*3OMkT%> zOycd(j?%vMOZf@`Ze^XCvzeWaXt!?WZYL zDEoU4GsT@xG-ESkG8=t3gSCUBeIQQ;KmR(Lv)C`$AD!!s^Bfvto|$Sd&;6VmmA`1g zQ(NouYW{7^B~`N((R{N#v*qD0Ace!bGI}sU;d6l+3$hz)rKjm&}|_f1DhnjUa7p9NgPX3_IA34m zmYpzbGr#<#>Wf~ROEP_>I{o|wNaDLXm&MuX#N_gd@|2OTTIzy+eR3dfoqTpVhG>R^ z9^53W|EkM9C@tv8SbuKz*le+JAPC9ha;3&g%zMAm_b2;M)LPbC1AB~us{JzKvMow= z-g}$*XGq}aWL+<9Xs3H^Caun&h9K!IECvV!$n5wGUP_jeacZe?oDW|{tw_v`e4~71 zRpjvuaHn`J8&76s9qmzzQZ1l8-OQM`AL#derSR$%Us=4k8q?##wE20u>ii=wVp#~M zNp$xGg_mty)z58fD+JQM2U8L)Ea<+h9^(yArJGp!P|PI@Zhf#5%UwU^cVuB&y8G?z zkIU0vRy5zpaWn+g*URnEMI_Me@Ljolc|clzC*$IA-%Bspy@Qp~be|!Agts@NK2K1qN1FRsa{I3ds zDf-_o|4dqd zw+$WuSNcQV0G#6l{#^g}_3-{?HM#TMPvA4nEBMz|13Iu`6h_BLgvih)H}ml_>}(T@Oja9vwv+AcyiO(p5<=~9yc)n z{h6NW{M-IsjQ3sm%NP&a`4-H05@D9ho1pO@6Zm&0^?5h`ZuoS8=h@E?^B<~92mN{4 z|24Fi=GK4P9KEO@Z-r&i%jc*6M6Caw5JP$M-!{i!s(aHJ_w?A$%YRGjlZep2ZSG`l z{EKnVCZh$TwF8KdacO=b#SuopKbVe0g~6z!N#I1FagiFQ|zv zxAx`xqx=Ng0YdsK+RpkE6{|+UE@LrN2V@+Mn1LJJ%r7tE^!0S3pTnR6kjs^Go)mH& z3OT_Ht*AT@AG(T((>zuaFi4NuxQpub2YOgoM%Gb0PF(RCFGf0{{`7EAS`TkJO*wA#!{48vZKr$6Z`l zFShI+guA@_16Wndjuu!GsvwX_oWMO7XEnwq6Z#=h^voVlSjqd8eLrIbcl)<*I|j z8o&G^u9^FIu8ulfHxk|-q_#gXG9!VkWO`JcphpzO#G&@GPzxys8(G^OrOI1H;g+3G zpPPURx$7Md9NX&*`zyOVs&FGD#PlDBbQ4hez?iTO^-(Ds>5gfXys^DJi4L$Be?@2Z zyzMsXU=HQka>dtyXB=QQW(nc``H}~+qLI6-L`_NH-H_3DCQpe9OZ`aC_Bl;wT+(VW zx9?dZBB*%#kGA5Q9rH=V-A#y%v+pb#?ulCEMEw--3h4cO<(K~?JLb35P6MYWXWdQ{ zK-iHnl7wqy$cIsXZ?)xUUOVrn9?RN5%T=UkLddwM!W2wti?3qjG>okN$CdSq;|wuu z0gE4(z3SL7WInnUOGS+VJiw{#yi)sJ-1SUfr*l60(qQeuW&skq*Bw`dqHUwd5}rjN z9%_4^)rP1$;WRH~8nfl|PK3le-UU(U?!9dgZ4Km4lkmva+00sou6>NN=qZCKN6d(I zDUqv}bD&hax~1>o)PZnu>vCrD6fk^5oCp6@A-R^aWq;A>TI!fqXwN_%6QU=4pjm!O zbZV(Pu6E;=DioOT-r&-p_EsE7S}=4(bMzXPI7KUF zLv1Wap>!Xvl$F=ybx1KYzIba+-~BmE@vG9xx1&L<$ex#9*3y^eVha3V+x4sgg)|MC z8EVrECu+4CJk#$sCMfAe@Ez^(pXTS8e^tB6yglqxx2%t>GUj<2hAKy6)Yj1icNDcB zHFDxQ<9s_u5W_?ePk`60Q{J7E-IMqXhvH=ev*S zW(5ICk5WtR22qWWA?C!V-Nt(@2UBVXpM5*+t$L`yoi)!=w2Ppzw;&l(TxA?5I*2<65v6y6= z5wJ(JkYijZnQ}GRwC*Q6(+tqNJpS(6J!;gR#vnNlwI`0vPwZ%8H0qfBmdi^03FO_& zF1OYC`uEp-Sw9RXg)rHW2>1k^Fsu>5f(4N>jxZ#^KJ+uZI+Sw7>|tMJPYi{ah1>g8 zP}^c174Xif_CWqb1p=e>wHl>4nkl+HDUf?+$a% z@H~6V#YZD5%P!%o9kY812q&+`OMA6~=@RD6reXD!S_9|vo!=m8#${<`(>uwv>CIE( z(50ENxBKQ`qN__)HOj_e0o6UlTp#Ysa(=JhUQl{iZ~b;19UkLy`Xf*hb;VKyjafg=vLVX zXukopRFuf3Oa#>9d_J;fk+h22k5D77pV-#~`TSfy!s>OC=R>Y{w<7B`d9VE`o-smU zCq5s)c5gf)LUEA+;0ev2r{P+z_dw&7vin|%sk_N!KRC~0A*~MIYxp*Y>emh~q1t_{ z`p>b+^`tB{>ilvOD8OZ`zeMzj2cjpRp_9=Aye@y$Y)E-j_R$o(zIN01g$Q(Ilg+V$@@6m7?%u7r$%F}rxx$9g}aAw{-G zn;SM|OIfO$*#}5Q>Xp48LCX^lw&Wb#h7tzX&{r|5Nz9BkEJA*G`40Gv&1%XBd9=T3 z$=VAiMu0Jt-|(tuw)!Cl@(=b^Etul!W!yb2KmOv0T;?bU`uti+XN8rMDDIqle7T69p|gi0>rqSUql5zeppqJ1|E#lk6KWf$O*Ar00-1>lJc6yF5uSeXua~r|4On<;1%bVM{o$A# zp7tkHnaT-RisKE%FNa^-Gja#)#-S>46Q`UiT5!sn*#@LnosFlJa&fzzPPHxMw`$i? z@wr+1R|Bw#Be@;xEm^U1tkiu&mD3h))qCYD{3*j@qcwmHC(*7Ga>p3#5(nAnn?xr% zNeCoP=BhjWr#Tg}x4&0eD@$pKI5=z_N}q*K()9uppT<0v^Vj*pMj^$!B=UmNo(ye< z)a``$C%e`;Fg^rh$sfR7zZ+xjs;)))Ce>DJg|1&&mxz(HSAM2;h{ura!dV+rqF4`b zqt^w7IR&mD#wE6r86=}8TT*!Wnw8qNn_9pBZw;OW*TmJx6|4i}2evT5$M??c|Gul{ z(@BY$%SR?|UHg6y2Nw0&QT29IRdUJZNAfze#)QME}I0axKO52>;Bbqv}YTDCMbZ-DYqi&6rA$6{7Fjb|z=#ar_6 zetKsVltb0(#)8LX!4NP73C7y@WKP6_?zsB3vkc?EB%e#4-DRx6>fUNLEVHe5v>CQ} zpTs7(ZE$5DbY%4qcOF!rx8^#qtFlhcILnqj7s|fwAAm?;vIK7hcjya1F+un@HhK)m z@K5@Rq4HVf@L7|WA=Y6EHVgB8JO?X5xI^%6+?Z+Dv%OQqVAwb=OX(2H-A}{NNrQ=H z)|8qtN=-oQpjX*QHJJ*amamjy08R&(y3m(Gh9$3!ER2`+3I+CRTv?0AK5}o!ydg&n z8HxT16Q#s+T#ud8!&%;OPUH%(h1yuD{Z?m9*fPcO7~J1$LG8Ct*N#T@v5Q-Su#)VB zolJ`zzHkl)n?}U1So8-*0(&fsgCfr>=GZmG8nE)J-;!L(U=>ySK-mA$+qtjD%d?Gb zD&T@k0b}MDueB7}4g+4@Qh<#|-){2Z4>#S2|%cgTWpE(@#w%;kEo(1c5Ri-Ek1 z(%0dUL2ZY_XaW_TJY=*m`mu;T0D?-Ze1&wX)`d`OLR6pXnOka?Mo8rSF7gJpd6rSR zn9P>sT?+G?q~Zp)4PU$DOx|lC(~8Sc?z*Uqb|V_Gl-A6HPC&q>KLog znma7U8hOUCBBn^r;KGBKpKY0CAw0eqo zhd}h^(>M~OS#K21#n~eYuI989xk_sL@Z-bGhQfr6O;%WW2~F6*`yNkxi@%p)u^2Sc zqwo;mY|%oYO7nAmS7Qm=>G%CaUk>BL^djnhn|3ig1WikjqflyWFKx`PRdl|&?Dn%3 z|GeuX(^Q_{!R&5s*kMJ@@Xe^L`5S+NG|vtp&0fgyavsV+%O0~eOwfwHXjL(7hSYA- ziPe9aBBx4{BXlhNv^b^8c~$57$DX!++#{bs6yqm0;_Oo$$WdvEj+YO~9*R?ToG)i| zVf#HzuR2o~?l;YEDPdGPD*P+zVw8ugo1%Z&s!5lSiduLLjY=lF-bl|ojbMKS6STA$ zo^@Y6I^lN>}JnbRsT~*=9M-)x0%_xa}N*y_Vh;By349;k<&M z)iT`S*$7e0Ac8qa+&;wK#wPYg{4k(F>gF|?51mi@Sd;6HU5_#=2ga1m(U$W2x1J29 zWuxIYqF&HYyC}d5|@yU8)R^PN|R{LqN&Pi|Je|H`WQKjt?w#hQKClVPE z9hwocQW}M?=ghf?HgD}-etyl_)395lZkOz+jP<|*tC#~A!o}~EFATS2$fmJgT91>* zeGXTzy+zy{ycuR=h49RNSBxQMg3w2jnN$1^V+IX@^we|xL->Rn zo2-!gXzLBhMdIv$q-aGa=TjcqP7CD*W{^@DKbY<<~q8>o-VX06XOpbfu zYLsf#Yz4`*?hA`OOBBR+Jj%8;E(@`k=CkbM?s|ARtg%Eia3XiyGetJ;;F;`xY%M8$u$S=~yRMDSxFR`@2iELk zC6_;C%20lZi`BNLL>xQlCfGnFqi7y=?xK{3po&iPF(<#NOOz>Jt0-%~+zuDH@?AcD z9Rab6L_|wb?Z&Y9pF+v|K){`HG~{5Euimlpp@GDKjKP`6La_R6dV;O}?bC^I&eyKm zHl!u7C5i_c+U$oGh*>pYEzVrW@`KrB1MO^lyQ&`cu2B1Mv|zL9Pn7W!Y6B&h6;_v%) z&w(%`7*Hqs^#scT%vZv`I`)=?Tj+2x!B}4*qvK+}8f{%|Y-HK99PlJ(u;AM3kQ7Oa zMi~$Ec1QSRB!T2*8xE*5`nOY{JDze2G;(x?U1pxGMe~YH|IC#-D1>7YfXn7QpTbaT z^K%TFkgdnvABJ5m@ZExtfQh$q)e{LGiCDsB?5&67?F`Fdms}8eCiagZKZXEa-U@1< zCdw&tTvq*Ytn`H-zt80ZRO`M8Jj)3FdxCpp)`-F7kv7{sh?3M3?J{l77Lj_51}qT5 zS)f)$%q1hO)Yxy--{~8-e5P||{{vk4Gc-{S>}`6Uh$ zGoiuH1~A&&#uy6+(czV+@Qy8uSuZ{Fa=r?2|E@UBqSiPq!0ctPNaZ(k3g{>ms~oI` zli>@h<40J3=ex$__|fV;4xq96ZB65@h7}W@4U9tW3eBDDVX>Qxy$xIlhVEQ}Rbz_rRph~B2+&g2^fW=Sa ztpTJSM`5;|d3ozCN$y_p0(n1Om?_Ik6bHtGA>c4nw>pp|;Iw|V9MhjC7;m6x0w zU_AIv`<$n!a-57+Pu9OcmS5#Z5M&vk+6MGo3^T(Ozm@tC!@JxuS-FGlRRvMaKN5s! zw4-FeDZm|uFsQCaA)b#bVwf{#CS5CAiMe@~`O8ErfRH(KI5}W%p1tmOd~X-q+d1Ua zxGd+T4zYE7nI*X+_i44(zmTx@=_~wyi2i@mKlEMie6x8q99OqLGZLh_k+$4!R_j`K zx&C>%G3s)DjAFGSwU?76!0_OO!SiS|uCb?4=ncGbl6n{&kSJGZQUQ+?A78d9W4o>WBIX4~SK&MTKMaGHJ!X-C;f+o*lm#rpef} zKG@~T*vQ-v;~#r*j{XA|Yfl;ec-P?BU8Co?m&3&+S~ewf%vCy8Yae?O`qfgL6|Z`f zxj0ka8~A;N9i6$1EwZa{C`g%-MiYf)ML z2?YE46Dq=$<2}&e9%-z_q0vL$z2ZHcFxTZ%uo`s;w>}If5~l@6&fdLzW7MDKrjH@8 zG~q?MWC7?wc5;4oY00I!&AKr!*BaMv<-2*6=;c54Z>F+BVg<0$SeWexzs%U8nSr>T zZR;c%6gyGB>iXbHjcYsV*1Q?30)QZ`$}Rq!eJJmEDZJms*}N9t_VHY}FL5d}MIq8z z?yA$F8+s$L#MHy~kewaARRVvIGP*!A^MkX*u#gzFwT`9K*DrUc)Sk3Sm4`Bv!^$8w z#xu7}7CSFrDhFr%urW2h6`jOkX@zNF&zxbUx_tZigFnqN_Ibt6P(<$x{mn*4Q?FRA z;9dVdEh36WrEpm?rpXq=W~~~~4BnNzh7!8cM7HK@w>$B*%0g!GV-C)VKls6-##0sw z)D$3^d&R7PKoLCG`JoO>P{wY*8z~u=b<{~sq6+%yj>}b7n7Yy9CRdV7T8%%EfjqSZx)@ZCdk{J|a&(gRm+(whz@XPPJe{7!C>oHghON zV0+62n2&^8wT;E}g_w+6%~077E%+ZUDHMUn`lpJoHKvDr4Bd_**vHDZ#zHX2>M8Di zyl2;(5cU@MsEoCu$EZ^sb+4a=7DsS9j9)jkEeCAl$Szl#H^|&%ue&q_ystnnF@Ic^ zgkKX^5VYxtJGu(O^dHodsUXMTDVYNA&O`NWQCHF_UlDru)|#J-^Z^mBmhIU5JPbMy z54!>Q%f;?@EO-uMrYWUrmzjsXb3vyOf7&%0r_hV?5C!Rk%@249JZSL1X?eg&|Q23ha}3>I~}x!o7*^qHBM{}S?Q;BuCvk2)iKcRYN(~D+uX@= zMDNDXIb!P_w=h3s7r)NRKDpaKV8D9U;cx1oy5kyI)v8&M>=C-m2y7jL`phK4WrXaj ze!q{<=}=yxBBQ;+K4($y|HwHp0dV4TOI~xMPbH0uV7=Mt;3!+@R@_b1#n#ht91qi* z=UV_78<}aiJ1DgdwwBc4N+&~5 zPHaiVRq75>uaqy=^slr5fYTP)cQMT6uxMBVSt4kRZ_T>u!`u?5s3xmr5hS)~k zbegScZ%Sd)0=%Fiss!5|foE;=Yr7h#3W4!=8v1AJz6(g)*f&9;QdY#k+Sn`bhTPY3 zm4)|hB)V_{m$e?FAr6ci?Xh&cStR(DMMFXH>>S{SY$e|mUwkN7(n_6(P2DJLJiYiT zOA6~~>YUgw7@@}-`NE@uG*p_y17$1$H@cfTn_I=vNpaeDcwOih*=)m);_qF7ozItLq(O#oC%m*8~i2trQcM_^tWN){iH3tmyJ! z#Q~S&u_8s(JeTc^P3W>_nb?U4XZJqMHbIhF$4E608eTj)y*hUTi(79piJgge&%Hzj zsgnWyKU~pEsQiZr<+p2O)(Ph!M=3(h@*WO&G*#x#W1KdR&+PNW@R*l=V>T8s;#T0 z@QRlbmWp!;iCpkTNbdUaa__n&(R$6;@K!2tZLukr>W~HR8)f0GI`DO`2eDye4W!=m zsCSfj?V)b@&f!&AO282y+YQ9)<%HuuR(qJdA(Z5NtFCY1aI;HABDkDi-96z?p6N+3 z?bNRTxUXq5X)>Fq2kU%&H6msRq^;c6#qmk1k1s-LK595wu%m$zsbm=sCM2(7fc?+%Y^wL!KTn9a&=lyr?>m1CbCUno;D~TmQum>-EA9RMEJ_ZYWq+s=7-gVZ zsdSkC0=$ql4B!^r;hxyAFS*97AnnoZKg8yNwnc!<3sVbaJ)u8BsQ>CSRqsf>W1`0| z(LYb)-*5g?@gL&+vvU5Cj(=3gKkD%x+wmV5=O4p*^B?f=53>3PJ^ll&|8XDw@vZ*x zAOGxhAEJeS?BhT7@gMv6kA3{dKK^4L|FMt%@7c#$OEB=wI6A+>Zvp&&Vq^npN9pKj zG*5#kJOBMnf~90eqROxRmX=y}Sjd@=0!(Qi{j>HRV@3?Nv>4xWm}_2#Xq4rOUlZ|# zjg>oSZ~3>S+^V3hE2xdl`x25#qe|<_;Pq<4;-)ef*(Ei$u1Z06xu$7Lavi5X^Ma0n zm+r{Pn{@wq>!UG#>pH?WisK~x-xdF>5-;0L7o9u*XA`_X!1O>9vApk&{+~_IHHmxw zrSJb4(M`h1)Cv;hCGY9~W0bsffuo{`Iw0+tGqd|}fB*1|rF&Yk%6=oyLBxDPtMn># z+JGQt5#`u;N)Eq)e07PKir4vkm;yn-ssZ_O=zJ-Yi6Pufew*+4S?{@Ip*eIo1;`#v zq)u|yy(9FXwhlJD_l7$@4(*P`RrO{R>&XsYLrqg<-fJxX9Eony(XUQkH}YB>bD9?o zN-;^hyIpu)^#JYm$airj+apOn-YfufA|bQVYJOLCqNLSVxlTk-wd-SEd)^YP8YAu0 zK02)jyZ-bUVutJ*hqLh9%z;{#zqvEv?J2@;R@EJo*?uRjB_W8(7zSDWctatvFv6E$ zJ-Q(_nI)MRA6>9LMcQ8%T-)8bz|3>!XU(?pGcradvK}{gF3vJuZ=-TvMrugUj=!2VgZY8OgpRTQPPRH*U5b(%v!4#*FjD>gPzkul57>=LU^ z_8iJK&2|XLSTT%e8a^jsGgt6&UE9FN=%Cfjo4N?asDW?_8$UF_#xIqD+$O?#b00yR z$YDF02pTbsBeXZZjX->svZJ2k2M3-lf!1lISvhWk)$x zId|vYPZPNEShRm6bY>Medn)qCv2rGM5P>6^PCG21=ggXJ!{!tS-ulbs@0G0rFtq4` z2Tt$OmP2$CKwa`vAC^`cS;O_qM|~ETT!4(B59L6Lt3VGFqQL1E<3e+>7L0g#;$EF~ zxJp^El~M8ov)b4;Ikv^|SFDI=C%7BU&&!U>iZX2yLmpaUKAnjYIIL)cT%rMy&~GgB>0rDQ<(hZJB!u%F+=x)mGl?c ziSt{)NnC!B;`V3_+X1WWiSri^ycb#mdbhczw7-A#bW2O67>n;RSLTGQ$)49~juey)+0IplrbqOVYuB+ti^EdS*_jA-9<^1B z+1>Or-qH-H_8pWn-0%+Y(5;>{Y_IlM>^uMdEM`~U_s%48;7L%7h`Rp^s}#kiytvMw z$Wgh8-&8MH1uA8rnt-ookL8qfu1yt3QXsY>S zh2<|x^uFff`@!a?YGDrOB1`d?*^}Q`8!|pfX@1>}T5HxF)NSO`42x~G%Z!T-UCUb8 z5Yo(byqoHrQ5}QhixROY>3z87Si3vB`vC_eOo6+)u+B9`jiS=~>z|PGXtM~fHyU5R zeQeNaj%B%&vm?1L8XOhZ)ZI#?q5^--&A}gt*b=!(>dga)@)W)xjE6Gq5% zn1Y{nUI&TbLuH4qD*PngL}nb{BzmFT0F`5&t6!W$YQ^(IHfFLAE7n9iDWNSw5SOr4m}Jc<-Po$l9dlKDI~#Y|s2k{=djrg|rwM#*wc z-zieD?uf3>ZqV##Mh?Q_j09dx3O9wJ3e29TTU6_MlBXtOG^}ieG~X;$|HR3d1IJPW zJU>+?n#J;=eEQsXtBD-K34YbnnPOeVIZ~=)@i;;7%S6|e3CHOj8Z@ex5- zzoVD7rH>*NJM3*cv;M_cJ-_w%N3eNFs+po!lU9^^#ko&I$JOt&e?82@#aKWt{-L}~nPfeh5&tV>{MM89Ab@9WSqZpO-V5G09 z`zA|gtxi+kXk^!K?Do*F79kTU^d-y0X&rLye2tm1ooU5PeHA)Fm30UCOE{-vEt<7) z+26-|uv;3u?djOwOY}YNV;YUA77I9DY4*D>qqK&Q4+}O2g-_Pd4k(Fn83n3WzLrOK zg~UH-hOLE~y*6u`9Gf4>n90=M0~ymO$i>>6VsvfL*k6D^pdiDYvd;?zV})T>*wF21iN4OyN;z# zz!}sNp}hrj!ZV+u?aF5E#`x*&?uGLwnBx?%3!Z)#Ev@GJytG?ASor={ zW6=EAVobPIQM5>LHA*cfFNCZ7sZ)D{VxOwSC?-7a+4i!L5>NSts>!I9g!wEq!@(&* z&~_)F&0nNLxvqyR-bnE9vne;;eJ#;je-Rxk%WRp_vmuL4SlbMK(CHjQZ(Q82Rc}%X zvNO&UjLNqi+~m<${w!_ab<8c<;=sQOl<2a!$XTf~mJJWN2oi+UzEaEe}R7w&R%#k*~fEz zdi$Y+)X8nc{*@dP@cP#m3CXPe$JesigiMU$#{~NYnNIQOqd$t93~3idUnJiN<}gMi z;=EzPYeIL*%v@sF+6gwXQbu>y+S2b870cgkIZyK&LW@~xXV$#U_+X%Cd|GoN>q#eN zSd`meb&E-$;M>LoWkcpz0p^XcCeg~5Bm)j9WQ1bo011cnp$1l5=WB&~dNF1k=DRtf zJs(Z(=~7;#dg;hoF6yEuO%IfX5+fm{V-6!Y{OBCNO3w+pnSO8G#N9hgZq&AP*w2pi za9-J|M{6m-8IDSiM?$jNC`{aJ9&MeIMs5a|7GtV}_edS+nQ}g)@?VL9*Lb`VY+lf6 z{JqBYE8@)Z`IBplF{eBNW@_8d2{#6(n7lEB_1{jLp!&{4hQpI}i~E;!giD_VM{`+m zys@;={b{!~is{a46Vok-h%(Y^w`#jSHI*@@+GX@RT6nxfb-a_#46JEiMC-~kG_)L%vmhfK4#LC96dR9u3_zS@%T|26y*^YYkS&m znUNJO4O{)l;{<XN5e-b`{@h-V-LP)_{!OdV9xm@0bZo8$mX3VyaeMe5fsav}u6N*FkT{66B|hiH#4cc)j?X zFjq!uG3lHx+KK~IGd6s_&6;48VQr$gD=Cv>2zKgBUoD!OFBRGEb&MK=VIOrCm}O?T z#9Sh%nArJ1dZcC{=iV&BHTp8(5bx*hy^{+CRzJxY-($t7Wpc;4Pq0IPfe?2f^rU3# z&TDA)K#FGx(2(fP;({U7v=G0kDR?jhltl=MJ#AvUM2gL(b*#n3>1|sb^mfq@7gM$y zRsKoVl+5>PgAW!DeVZ)O+CFKzMHH1bdhDO@wp0ho;$=~_ofsgNY_S%nO?f2Jao=jt<*4Z=JOYVm z9MotATegixXA?QN3YOyh4fjL#2f=OE1F8}XYmL2E%$=l7h$1XASKrw3Totpx#4Qaf zo5h?Jw%(kBGgGA3CwAS%@6`dC_t^?Ko2vdwwZ>mH=bp9G9Bg}AZ-Mq{f3C66mk0hP zr;ZQ1JDV6cbiQ(q>#qblOaJNt(JnSOT5zvNthBhkl;<@i5Qni9d~T)w{7lW5`=w)U z#vbC2*p|+7ezXL4amZMuJ-J8tT3G$D)26DeCQkcu#{@K{ShIe=!nmjzOh=XEzYO5;AEWuwN?SM=o0iOmLo?{gxFv6AttK zM$94?t{JuT^9($DVqz(7LCzF5Cbx`bVG$i=&sGA0mt$t{$%(Sw+kSOg@jC6HbogXn z11C~AR^T&Qnss>HJDrJFq+BdWS2vI{etCA4&o&d0p4+BMB&G5UYld+VsG zx2|p2KtYgDT1x5eZbU%3K|o5nr6o3qfG83o4br`7Hk}Gmn^GD!A>9p|hIj3A?)!P4 z=RVK*`y1nX&wq}AzrAX%x#n8)x~_Sm?E!)j?bD8n6X}#N13ll~NW7X-1y6#7SvAuTv%vK2m=j(am~E{CG0W}oU5H)E{XNP<;lU6+ny0;{X<_Be)WELMPqe3r z^h=fgOGq9^S7u3Ab896waV?B@!pFiCn(zgZ7{%QYchnQE%RAZxW9>bx(^WVltt=2Z zcfkCtWuuW-d4Nf&sivRcQB`)-fDIyg1HGN9p>@rr)RoV<>ai)^Ms5z7jq>q9iXRzt zETMwD_hwrQ8qP$SRV-xplUz7cwhZIZS(OGfd8P?16X!=+s@;Kn!yAi^*3XbLF0)^a zOS2=gBt)sYCg+W{`SUt+XSlRBrWlsqY~Vi31%-;rz^fTZIqY**Rfz|vB)jh?-*d# z)(?$Mj8&UDYouLTy*l4D>6hy+TcC22)ouFY=yPNA0 zmc3cSJlF1HP+y%DfvV$P$b^xs^M;oV*;_!V5QS{Dwm^g`a7D#&4425L7>xZs5e)q? zM)VvTA>O1=NBZ0U*om|>seCm^479EYD#2j+o#yK&2JG}k{gL(sysmA@X z{{B|h`ZLclruL>=(;-z4Lk%PfM>r72E+;-5g|o0)dCIcazRfVJdT(U&{WnXwo;y2` zgf;XpP|^9e{CcNH?-$3dv%(dQdq+h?rPBo91T{&@EY0(VmcAFC_TMB*Kpua&&wMS@ z!J=y6$C0bGL1Kup)mv%ipOv*L5VK3Rcsh1*V7&Nopj`lb-ALYOtHJ3_tOP&YlS{&l=%osnaIZWAKhz%rq zZ}oZ7M}&z#hk%vGPv}|{PS#z}B$7jWKp!4ilg!||GccQ{P*<;4yuWc!F@UAK|JJ`o z_hQ0zU}j*SRrq!9#kltU9?RS3q8hO^o8OqRhKwO3%7Zdg)|G@o@LJODH$YLQ<2HOV z@tRRHx0bIOevBzlERbC(wq3ihKQXCHu#5C-S6s`lm)<|Cr(rwKl{D`5HFFm5ij{>L zLzVyS;Lrf>i4TCp7IS;_)A2O#8afnZC=WZG1q~q8Om9uxJryyAJ`zMnQ@wc z=uvXG?ks38%MQfiOv*|xdE^{~8ykM+=1GKz4uYZcTwCZG_rs^gU0JRVPWIdbXL)M# zvCEHN2mi%6^h)1ocSw)ze+rXoL}yxxyL(ixL&_w_Yp25Vdp&H%r2&YWNaq>}#yXt_!g+n|d!1 zS7R{xru~jiSZ`^n4;{>pxLt0*g6N)q(*V}hc_pKnYrqE9cH`GvlOzV*7tj5WC8?wm zrEjZt`&36pK)I3n0UGTqgxVDUrKD!|TUJffKWI+1Wrrs6wVjb(>Ai;f$fmT|E`d~= z`lRpXNSm*5$;=`Lpw*?K-f*#+3z0}FV}bNqzArDI{KpG?y7H|iaQS@fAZtL-YnJ_4 z_@I|3E51))w$Wurfr%uWF(&FAOlgl5{>j&rl3VR=lEYDRoS(@Z&EQ;FQtq71|$S(>hQF$Hx~5bomgMy1X%JUF-7YlKLt6>tqTt{G)hdL zAC5Y8uceJF-8|*WI?*TP^phFrg-nmEpkob46z&_-)!=3^8xl0X$R~%AuNm#ZD$JG; zD_qfQK%p?gLajw$=FP$;N+&|Eos%F}yyRq`37vV2IZb;>1ULV8hq-p@7cMWltZus* z9hTV-*O_ZPs*`%6TkAcEVk`~%e#xDYrDQQBXN;K>eUr@J_mw8j-{Ab`T^`T+Y5H*} zfU8Tn{9jMRJE}+5fWn{`GU;7(p(ALWcX{y}$Uoe;Kcd5}Mjn1QXv! ztiNl96B8sv!rt8oMX1x#MEz~vrQ_L+_N@es z=-R(#b^euE$$I>D-h-g~IqiRCTK;4I{WBf^V`l!Dj(?`(pUv{8i~4`eccj;ZB2f8d zvw5YLAlv)^zqZ$ceaL1rA6KMZ@i$%qwWL>S>vvoX;Fg!X|8S{gP_%qG9YP6?kZ;h3 ztMwOSGC1uH6i+r$r~EM9YCW}_vqAKY7t-l6w_;X^Odk@Uc|U#YG94Wxc^~6`!i}S@ zxA?ffo|MrBl=S$gykT_Qz%WInB+}nYju8rlB9hR)J-WsAFkQ3;BRc)@PyAak8>zHt zuOv;rfoAW1ee(e)fbO1~;nl_uX=ejDj6d>?d}#G0UFuV#v^PfatfOu$)yX8F-3ds= zOMiJx`vmXyt=sgHV%)!fNV}m3iyQmK43wb=;iu!Mi)sFopYAdd^VRe>%ic?VLIc_! zt+b37he0=%>KX0@kl>MU-dvBm$v~MYZ6bfmF#cM2Pi<=SK`Sc#EQuXZ!s0?u!v{*k zq3P2~dO1Fzmy$|nKw}&elgIe+_S@TgYLWK^_wXogDgH50A4BG=Bk+)@6WA8R%`hsf zwpji~(UYIlH{q_IIPYQJ5_=+9w=Mtl@m;jLN^iZ*zkLi@#e4BZa%`zZMU;R&BYN-Z6@@jai_in=7RUh8sddz8ZYnbM?is-YDZ(q>r*{|K_ zGir-zf>7^O0grAO>Mk-m+C98shf(?b?fw+C(z|z(su*e|K40)Y+zhyhpH4~odj5$p zS{&_9_tR2*+<%t#pQZi(%dUl%Uyqdf#ZvfR>`jasIHfqi`uO=uLd<|B@|6G(F%*xx zyjYPKpgc@Rw;;1GlX42a2J+iqx5_&y>wHn7qWeD6_xZxJi+q5%OtRq|rfwHt=lfWo z81#Ab?U7d~??;t94+QEV_DCR@&QAaPCOSFZhN`0SepA%%dVSzuHo9>OsLJ%ca>9>+ z!Vzv?Kak!c8GaH%{$+YqRv<~_1yu*AIPle>yq(B3gv$drW`mW?_1qi09ayDZEHc1= zIuRGbZAiH@HRatgKQN8o+bf-iv-ZrZp|oQvl2Vzg@i_UjN4trL=n5tOXFJs`P9-f{x4l?geCvtKiq z*MR!Xg782%xSrbI$VQh|$ujhu<`Y4Vo0&DD^l9t?gr#SpOSuK*&LWkaeHO@O1E2b zUr=&feMq39&281>tKwyp#wxvze#lM3N3i~AtX38Y^3inlqv)=)X*ML!mfKEtLnOYU zKs3rtC8VCHd9ph{3#7Vuj1o9bRi=+tTJr_EwHBx}_L$NPeI|?CTW{K)RkEU&enZJd zK;hgHu)aNg*HD7So6=NgYV4A+IJBNWlIO6`5Y zq`I}oq==VsOwv#`g$lbB2ycHvYFt4T?7D2+fcQG~`PFd?Ria`!-5uRTp`FHq3Pr

O+0c4#78@goJzpMms&9Lf6KwrGc zVF^VrYxGR0m%!|cwhGTWBfW>S_U~sV*3>jEu^r4#9Y%k{>tr9M(HnN>9eGd`+bk7N zcfZ{s-fab|0d+iLqmD;DBuX_I21-{@d*A`_@fr&<$6C|yNYfYo!2EkC4-z_mINU|f z`d^>KHkW<@2oJggwV~A@e3cKzdJXUdJt_7$dR=S79Na>3=fuvp^Ayc1zJ&+(sDOhMiI5xERpP>pKY@)PH zk*5Rx;tfDUF%g0SWu00d0x=;5gBnLegq_>rb_e(rhyIoj1sC{AZ{qayc64^ z0u%_86k|(0stS)D-$4+XPPl0OInJ$d%|GU81BIDWLInFR^Q3iq0My4OO3Ys*@x7Wp z1Lt8m*3t90Ujo)mFSPD{n6G{~5UTG1f)MIJ)TX-avvri2NN>g~{lOq*UT2Lv=ncVA z8gpIRUYM0Rkn!Hg6kwWApCWqjGSLbgz;^P^g#?B0W0vU5g*TtXk=8!96KjCrf-@*B z`3l)Mttk~V0rkZWHJdvgES3s^f6jp!u8^CS!>06|E zVpi4&SXd$zHc|luKjJoONl`-`b7f^2*iti^R_h?I8KFbW zAVS1FGAQdFbHv2fR1FH$zI|5X$>`XyB%->Cig)z>hpYu zNSfG)ECFGj@x?r`v+5{H647~Qw!Ufm3j7bt*^6ZX*eCF}31vr@=r`%#s4LtuY7KeA z7gb>qsG1;)U)>W_i7li0RSovn9)AGRu(%V&j_!r6zS(q@;J0+MQgFC!HGZvqme|U< zDD}T&LCLKrFi~N*^M0J=b|!_+>$nt#**R&a1lgXO>r$wU#zgO@sc348c>_%^j#TPt z^QFN3TzLLI0^9L*;HLgqz0MX(Ly3glo!2;8PEdP?#=Va6hytipytbeX7E#VD5X<3m z4=w&NVGrx$-g*LLmRdxC`WGcJ-Ei}}=+$+05oNh2yS`(u|A@8) zWQJ>4ffM>=0#Ptq;`gz`b$wPlrLMedyuHP)YNtSMUDKra5IgjF{>)&4)WWBVtJ6la z&}L@G*#1d&haqKwz7p4zjUR2FJ|&!3NmFjHP#VVj4?uUtd5M~MQMD}0G5mFFTM6lJ z+FxLuH!62GE<}hdd!Quh=;wxi%ai<8X%(+Mbv?xnsa0zIO?^y;*&36)B7R&~X9%a= zT#E^DpFN-P>@ZBAxP924{yeb@B6wlj5jpcf<@Uhz>|TT?s~e4H#t_fF zkRc^@pNXF3Z9+fmN(R$1o_iEgq%FWDoik)SO-2j0+?G3bp+a^gJEwIBT~Z+Rd)t0B zXr8kVGD1QIImp8}@7?iMi0d)jc8Nv-?4rv!7Qo`3e=_bkPa5dEiEK zzUiG#Zo%dsH>ns9KPNboU#OXEX()N7E8=(1d<|;Ez-bw^a@Q$h!#R0)mSfXd`-Vgq zPjUxqS!a{)Q(dmgF?cp0rgPVEmqY;u(A+buW->Cg-E)3Tcbd&Na zj~uuBex31<(e+w-5N-vH&8N2oKb?l|f31a6_^ROZ;obv}Wqq zaZBjrjU0;vit9M*D7r7;=2vzw8*zqUV{r>oelfOi!=5V5Se^v5_rPs2#;m3UA3QNz2x5e5+BZs_yxROef6`!~P5#{C? z-Kx^&#*pY9GfGT@*X@mVOUh%r4@`4QDaFT^yw*WjuEc zeH%~RmV=YXkV@f2;ibsYux8#=@@!^(>*fWY?`~p{*d&8@O=NT{E@r2^pqeZFg-lPl zzthAewOPIlY4GjJ1Hq8u2+MgUQog$fF9#3z++)`h(_f@9vWB1brmeTUuI}oswTdcN zB&`|oRT0xDp?QG?x!vPqW5^5%nY3m>hpP4!8xm7!5{&c_<(8fwI{K8@B`8JpWO1)= zT|g2TV;itmUMbZb?C?W=f=X8X<2Y}ozpUS_A{Kw?uPTw5l0;+2kbsol`#8PgGy6fC z$uZ|GCfV}Joi@yBL+x>hCLadg}M>x$% zs1hFimwMwecSbfhncJnIWy-S)=%gA(wvtPP)dfCGo`VW)GrAtd(8|S5P*XTuiPAlj zmr-$H-oMby46b~j>!}Qo1rkmxR_dpN07<>Mu(&fKA3aY`ZmzX%S=xk5>b5eaH!koA zF6B1c+dineeDqrQhj^!0tn!ik+0C|aiEdK8a`xpOobk$uFsk6`WN< zXYLi^CAr)K=lw-nnn60vw*GPms>1vD+NIe95sG!=0h z@yeU9I#dd}IfS{Vm0DaXbZ_=F5Y#*hB3?2T8bpf&Vs`Mf*5@0TR3+0J3s#24hD$%DHtMbG_Do}@2Sna$2=;K=8aNm7 zawNH#uH}BD6yH9GFl?L^pVo|28Y9f@)qGSO+#ImfUdcY~K4zG=&OS?Q5ia~Y-*G~c%} ztp>Hd07z&bUs!DKI2zoe-b}*$f^fW$pkjzH{F&PeI)r^<|YJ;%amQiw-EiHKiYG?aTE>;d*N%-}Ag1gc zlVxoUDLP^71v+|wzOpiElakAwC7u3sg~3Ssn%QX5PKW+}1q>I|f7vrSIwJ$c<=&JE z%PGPwDpj|L4D285R2fE8QS3=|O9XRFR6f(`d45D0Tw1T(fh>=0tiVTb(m>th-*nq~ zA1CZLip%?w{XV~GJKNTKTuaW$czkfEDUM6!y0F8!!S0xoMfIur(nd&4BwJkP1P}k5 z(iAzP1$ij`wsYTitYL=F2ZWwfJ)NkcRII*@y%zVW-t%3K?5s!xqTbMF4=bT+VTIdBzHg@rxg%I0Fo2u`qT0gm&zuR^p z@%VlBKz@w#$#8yvMsvz!;g)M=6$fx(XrabdDWK3k8-5L<#a_)r< z(j&!p)M7qJSQ^EpHTfYZ=f$z(8icFi{1Vzo%QGT@^R;(YqAFA1&%OSwwzXLR3;4D&a5Ted4c}r7 zQ~Q}4*H{Yfp78MNdVJ<3rUuURj|dJ%`%9ZdC$&oDx?et(qQo~{Wk1bo2r6yL84(Oq*~382bs;q`@@Fm zNhkiwj53VSWKrd|wf*Sy^aKUnKH;%ZP91u;BbGY^0~NlddU?yL7W%M_^;&C7{c&QB zKc4XF>FQ9rsGDFf>NTjF}*f^7RLvv;#EZv^Lg zOvAHFstp7D$G9E*C#&sbLO5C`{TNcD@+P2u29!s-?_SZzYx1-;`6_QG$Iv+76A<7B zAALD{pQ>3e6T6d@|MiZ=PFNT^`D;l^S>fA8&by{)?OQSaExwwU?|J*1XK>)vQ+}u& zGF2sChurhjJ7?B|cNgGZ$&plMdxD9oSMw$ak6=TP$+7(aUifB{Dcp^wN zPwIsj9rI@9HpIKP zN6Z%)({r{5sPd-3y!KrQA6^De)M$DqH|osLd|-;_UV270^cQxwKBt!TB;VF@mcEM}7q;VSR0zZo_z+MUmvm zmiC?;A8p6=sTabzp+&<@*IQ(FS~`pCYz9yDWX03aD@CiG3+=?aG2@;#B`K>&l#LE@ z`fRtwCs*XSFE9{5&J~qJ!v98d44(en z{Z#Xxr#G9)3AWVNHUc=YEa}6T?^YO8lNYosNDSINUYT7xXEf#e7L!t^Y5bI`jkRRn z)}#K66M&PB-knBij2{#B`6q0pHQeJlKX?r}!)*%JdD+0<0UHYGC}u}K_4e~2 zl8%d5!+0hE3)9I1nGQ9FKjJD}aUur)5u@)NBE@-&CEergA!9W@>rrd!EI0OWPVL3~z4Z*vADoNqjNS_nVFx3{`R0R^oo5Z1OA7Qsaao8# zJ+Yy+;-qDcg}jas1uyV(Y=|*_TyA|oGJZtFvG#Rk5GW8C8K%BX zE;XCdD-+?ceH<9{hc*Dj?Ygl+bxi$13nE_vF~j_%xB4SO<&BU#6@ifRN7(kzlCt;m z!b8g`OQ}R?XECWm>_a4WIAYGa5Yr(qlmC15>phM^A}Rf(g6g83_aM9o_9gp_yuC>6 zi}BIG^M$uA@d+@dI{*b<8Hq_QJXUL)(FqKuflAV?NMZ{dKCE~f;LdMoKJc`9VX-P+Z<5(h@ zb+oElbjm3f&$6S_TLY)6Nd5Bt@N;$tk*w+$ifJRBKjRe5Y_kZh;O+;-4|$P{(9SC5 z&@*pKE%cL|!%23zC9RH?gWWx9Wc)}33xyUttC+7bzpr_BWs`hj)XTX*^-7#Vk^?q> zU&9Rk4){BATZ8y?(T{$WZ10Yq%m;q)?}EXK3@;N9#D^+m|692Ce^srxlYtpCaZS-<`%Rb?0_{8tPj z^Z0m4PoV1eoeU&hsX#i;M$KY!3&3BD2!6VwQq)4{E&d10~x}Q3!73R z@^>h_viIpIj{h}Vn96&%+C8Ag*dsR`w{Uf4-bS&ZiZFQbmlCT(NESDFjN)kk&z$tq zWBB16y3*tZ>Ntq+GU9C|)nl*Z-de+4)TQ!_d2QdOJN-6R@%TUJ-SKGHs_vQH!EM=h z4?g=m6A91hF4BHAQ?ltd;i5^zm$~};-&z1AsT|zzZ3ET8VF(dhSSZ}m3G@7w@x$GW zm`aBVJONH7I*S~lj?$51Hh7^!I1_Z;()hSw%1dYxY}c<;oP^E(@j457bz^*t;jT5{ z04?N8a3*sZU+=n(BB^vbp8+`+fLOj(N}_Td()Tb!weg#IkY*~ zCd&@e9>pZ`hC#pHUzqh7dTjUVCr`mA(-ZwOwwC2M*tV~p%2mXY)*R$U;mrN|j?I16 zS{fL=uB7&|pL|?x*=mBcrU$MYi>_ozVfzY3!+Y?nIWxJbL>L3!{EYcZxa(VT*@&zM zs2TA?I)}GmDy-Soj=u&+eYIf@%a_RN#kdkz><&teJg0lvY6-2~fr#L39ira1w5^)g zM~7$Vq8H8KLn*iY=>{m7+^37jxC^cSX*8pAIe`pA{1oDTkXPcjTw#f^_7=_QBL1q{ zYRWeEu-<*60+n(qZ~8fxoWxW*;UjF#d4JqReb{47t=>&remmVtAO=**(ipqToA}2$ zi$J;&rC5*_zbcph>{b?E%+Kv(=>FVz9KkO>m{H1aH_}j0@1zkCGwa?3B`wBL^BTTS zcr-SwGr8$6fv>&|k|Pe-tY9_e?I~O)!^2o95K%V< z`DM8?V@$P;D896m-jF8WF#q{oE6%b0Oj^9rxKByb(9$t^+j*nyXVZGe&&0&l&kwN_ zeP+*MZ~MvGjze=e{d4E4)&0*Z$O!m@cd!E!Upo4$eOfFi98$8RYKi^oT$mV_bV?p0 z=_P#LwlElI+$ulBRkCkZaeOLla0>w$T&eY$Sf6}L&*K5rkYIg)mTC+auHF4RbW1;u5t+SuWvpH?Ss+Gd|$Ah}G z3cZ*s3hiTQ$1K9q5@o`M=JC^NrY+sGeWN(tcV8Y4sKP(3g&DLD4P;|c>C8`{S3lfE zRqN7fj`azrVKv^V-zechrl#PW^3|A9D{faqOLkevMw-ue;oAsSfi)2#Qt7JiU3sNC zOgS!Vo(bQg4+vM>UTW$LoRs-qBsh!s7cb}`k7ibKwB#Nqjy;`Chq527jdmoo9;j@f zTw3p$r;o^y`rtlmjed8wSa-3J^7-Sd>9rT_EsAD%STte+-3?h(T>dG)A+H7Xx+=w` z`+RoD%Gn8OzI5XHx^cc0=GPH)duPQAGk#B#qi5^X;{G-)nC8w~z)U6{uGBz=v9G;! zGrC2&y*Ri47t{2vSHCueKWt-TL>Fo}b<8(o#LlEq%)0tW2cIA}d0l?TQN6vm$pAgw z9`J^|5{%TL7GlT}D4jS_T#3VQ+SSi)&Y}FzfjB$d6Rly*OakuiN!=om^E$WH4{A2~ zHrdE6{1J$mxDYSEu2|ZW$7LGkmk2FfpSPH8dU(~q*e2c^`$3v)C*SV&;CH=WbIBmI zY9>FFaW>G3m;nXNm%Jo4-36jMuR+#BwUs$&N;!6(UprS%cpdMBCQc!1&Qb2p%A59L zadSPftnXSc$~kG$nzGj1KY)wlXq64ziEmo_hy~)M8he}G6~Db$*Bi<e+PlKJFN6v%kr{e zNIGmJau-=Y7Gh<*+=e;9Bycso-WhZBq|z`m7~gV6B{-^Cvt><=RVO;V7CSMIQJN33 zOjce(P=hKfW<462f;k-*?cGT|L z+Nf)de?{#uMfkoMIzIL$MQ_39Ub8@*=fm_Rnvc zkR7c^p;N?ksMB zDymON=i}`&m)S;h_T>tWy`t!>671&^qm3w#h=ONu3%DI3kl^k#8cUP%)zQoNd@lDT z1oGHZJJf(lcL2zy6maq?cGN7*sSPJ4@&FG)SflX{m6omZl_{)Lnt5H@MN7UN*W!bE zZWyoPihwl7Rh533h(ERvZ3<;vl?j>v^bA7Qoe zqkD;~NPN~BA>1dcX6?R&hP}Ui+iFowPiUhEHh*9N4{tBr{L_s5w8I4RAa)}w`c;ob z&J{a7ERMn=?Na8e|J%iodgK9P)99c6#H%`-OGbNob3;7V;M#E-0d<%--HY1P8hC#@ z_+X!1z^3WnGyM89?Jg#!6tDSWPtv_1JkcpN!+WjVQ0)U|r}dP{;9znRl&()GCyZLq9>$mQYC z0%cT&*~2ZuYGfE@F#FZ0L`#}NehkkR%}O6C@y=@RmL{P=;vJ&mJF-?TZ2IyX9^5ZW z6xS*1IoYG@a|TDFbIctwbHC;FLKg418#8oVDXWKf z(9d{sNQPkv&d4q-!^b!Rc*S0xc|9EEe|M_WsW8GX;0Dem%c7KFOo(vjYLpi@pe<<%C-Qg4VI_ zQTTC&W@%az-=GMx30fAh>uWW3!WGl$MSl6n9Ikj)&+l4!iVb-YZsoK;sq?ly&8khh^=)03b zP?&53uKwaQrof0Rt6I>v=mP}0`+!EXDGwrEoQ6kGQ*Ok4+#H!{HMwAXz7!n!eL~g$ zY-pV048U8=`pt}~d%XwzH#$Nxn$skv^>#F`dzIAS7IP-Ql#W8ypB!nrVKz<`45T0T zgcXGA_%e=7?>Mvcb5AyCL4?93_$SPxm3(H`l|H<-Uh+oozUCa_sm4XVIF~M@xJSjr z9gf{vghbV+(yts%qN5cLceY| zA!ZYx*Bo(=;u@|9b1V7SPpsA=FKb2+&bFzi_Vb5$)RE#MJ)@(U#LHuD?W10AV!a}} zA1b-lkqCM-VywbQ-SsGMihx0fO-Nuxxq^DCp@-7k`77I&5u@Zi_q5a;;m@yM>x**8 zdq5+#cWg@a*KFO8?VUiPD?eJ@SQ7j)Y}b@^W+M%x%?oj~4NFc6OY@w46A17JUVQNh zFXru6Pg8#H_w2{dnHG;>bh0qkWZOMvh}8D)m(^_BxUvXWiKH|NDHpQ@2SX0%?Zf#SZ>J> zqy33QmBqWrPc38IITeBgVx{Lvd3r(_x4EM4W>BYi4`l8GCRBH0ZLBvi-c?`CGGdJ2m64KFJFP(bcFPheJVVILi3}-o`k&Fv<~r zxPu!KtlU1e$+&*m5!{ECb)T9<6%2iN(SAB__hBesE9k5TZPJ zqlN85PE!dAptmntfimRpw*9rmEOJm+t@n_NONbze1Kh|xQ57FNs;uW_dQ7(t8SPKr z?LHrC!fhL2cdn=f$IHzw?o|pW?`ie0b^gsj6gnAaY(dbGa(b|2wp_sj%SX= z*?S1#v;AV9t()7rbvj$lg&t2B?eo?#s8V%~tu0&P1OD*g26RF2cB?Y49SF^6&OE=b zO)4|vBvrYJ4mN$O?sWG^iANPv3$wW}Eq(7QWQIxRBW@>2AB%Cc=x>%qFI)yJ3F46laj0&wskcHL#7G!b*g2GPGU(py1d6vXAOgtRljvfgeYus@dyt}G4 zbVySI_ero2j_o7@mk&g9QYc7zv&cP4U`jJ+$}C(bGf2vBd)r&0;9MxKkf6*nR9X+v zcf!Bo?pxTbo(mPsk6wUse>(|h)|UIL%%_#Qr5p(G6xW_^XZH2nw|E`gJDQ8;bxymE zl}9+(&VGNc5S|Odr%zJ*g3KAowVujii`I}ho6auz+)(z2bJ@MhLi~E;7)NB2lWFp{ z%Z!UAt?>lRt5XfrN?n#du)6YB94nFkQ5~NteUW%lP-5q)>x5@UZ7jKRCp*1sTFEd? zpBtLl4w=?Sj?Afh;=hB0iA>KBLXqe`z)FVN7phdtlQfr<08J07>^G}n6p&{y;b#kP zlrfl~X=`$o24-d2PrKahz6W&(U>OVXI5ebh-EV!HIbt0WO3m(yO989()lsCayvTElo_e`eJpPmGhqp0NJ->$v&2iFI=?_D--DQL}hEU6#Jl&)8F-T$pHMQyoWb z_wlLPv)E=^zC{+oWq%@gbVkL%J8l*PAa!%Id5*Y0r{~pA3AICDx}ANAyN#=?-HXEc za=;9x=82s3j0{RKC|X%JlL_LRq1*ZJgEf(=USk87pa9dN!b$?oV{OaCvjdR#>}kCk z)k|o?uTgyw?jZ40j)h%7?0Cu*#)%Lx#xx{c8CJRfZlA51LjRSXh5c#ORLCXT0+E>Z z_PM2;SE_`}@NxmpSezoXTsFqxcFn1>!~`ul-y<`^bru=Na^$B(uV%ZQm49VaAfWFg(Y4;JZJJ*J{>n~JW9FWAJ z2t9hy06@;t02<4T7f@uZC4Cj3C-WcPl6(L+Gt;nu^$ycI|dC_MR#Psi!*fq3-p zxch0EA7Yb(pa!P&2E`>cVgHlbvZ8=PE^WdDs7E=wbELPLXaS?fqT(?D+FcpIs8Q<< zE>i@mo+8*~8~YNM)f2{yj#i1gXn@W0?d6{&qW)NN!S~-Z08(FZu8jxHTOM$idd#I5 zG46)~?o#>}EYo;ez%G4cGPdM@<^XF^o9gGDyN4pz)cwinNnsIseLo-vLoGGFHN*&aroEp$p5yZEGSh0Wxe@3|JnS%TfH9#=KMQ7#k;?X5&df& z%}^aJVp44Un{~Yr@EtYh((jQfdyw)|uT$J|K)v>ZdQ4Z^+ZdurE} z$}zh-?{1uW&@mq1VB8Os96S2X$@tj982Gd;JNRQ_v{Af(5;6sX8aqaw;<{-+DT}ix!{`DB|KIbiCA6uYkKNA+a?=yNMC=V6{HunX`dx z>WUdPm@rM-hr}57KixPQC>zAG8N+`(`vo8PE1I9~5R;ub%m5kCX~UpLexQ3g_uQt{ zGHV_9>M)A(&=}>!lu3TP`}XLu!R|CdP_%G_=T_BKO36?nzJ2a?#5PZ#|{PkEWy#++vxMyUpv}Cuy zGD|XFJ*kNY?TOxIQRoiCCmePHc?Z8ccJMw3DXm#mfP1fqf^OEJ{051EDVa-V>PrPTxj zfytl@d`KKR+nhW7a9y+4PXLQ58a39y7x{H?}ap&>ru5=k&Mtq!~;5d z^#GK7K?!ag0q&07SI}#|)SDl~(at2(H{L&Ncc9WBC9S8I6k1Q>oCE!_03XATp;zTHdkK~w;Ad#Y;}*n8zOV48HF(O{V< z(+o|Hmr5T)HSJB|6|^A+`rV{TjTZFnxj}hJ*#ptvUpUf+ef#?Th z>PV8`GVCrGM02`r=CcS61kZj5Lu5|@XYfb3vi4R~&r$&U4FYCnt~ z2o?A*xB0@E^2|{b)66{Z*uyFUsv4|d-54vzdpukHu3R@j^xw>M#-V?c(ZiR>T&cby z3&qKRDGe*W#lncemvlDhx9meqopcEF`vF|H3=Tj5`@m3iM7uBDC`zk6fJTKo$Il}< z{7-wP$bCun?I}X*Za*prDItSrFgjj?ItM>+mQhUOgh5oc(j!D<$~3z`rE(HAzGUlz z-TxwLAHMDsnc)&y%Z^U+=~#M`{5;UpuMb-0=wdFyI-(#xZO({szS&~8&!Yxtlzopt%y2Y zmGcosEVpKt;zWYlcamIS@!Ma%d4zFa-Pz~rbj1oq!{cFkf#5b;3!SfKgAUF8bT%4T z0K5(NY9M@S1t@9$3xT(BML7|!17dlmb;j3VjVlz5_P=c3tC2zL7ujjt)QGRwiWx-EHFH(oOZ9dDFdM$~Df4LMectmqT>k{a zBdBhlKZj4?yocVqqpJo-#*pkGow5pA*f+n{E!iwMU*)u_<@Vr@hISVr~>KM_tT?N|0b?TE|DT=S||BV zeeJJ^u?I=jI~vXnM2Hrf`ab_Cr!km*x9E_&ga>JRv2|Eo1eNPlQv8`qJXo3~r;fX~ zj)1ox<G!`*Y2R}75@5M6%{63qkS$L01Y5%-7ACUfaruH z5?CW&L$|Wy7l+DUvaX6q6fgOFUAHC45HN8fVHU~TYm7Og0xhR~wYtm7PToVCnZ!-j zzQ>KB1}Q(hmJ_Wku*b1YJzoPMN|+8f|7$smYgN02apVs8Ob>eIS)e)Dp@4wEExo5$SBAlIj0%& z2uK{s8O~xqdtYat_naT_e%O5Cg4L_KtE;=JSKoD)y^}sEICCovNIslWu!n7xWIAUU zZ-~zHae3zBO+B3XWfEmohOeFJ2h^sK*o!xA?7X~7(N%p+=YWUZ_{`z7{9v$v-?>pE z?}Goc62DjG^aJGz{^2(am%!S|T3988fBjPRB;l%JSo5+{qMK|%ROws+B2nH^v1-JO zx9dxh-jhREcT<;E?ouLkTvrpY#@^ej_5v=-qhzgYtq)b4qMzwFX|%i@?b4`;ZU`#Z zXs}Q_ze`XL3{XsJQ3ltqo&Xnxywhyu8~u7ui``FFd~|7MBLn36;L*P+_6>_Vvi036 zTHaey(WF(ic`a<42q(G2IC85ZSM|VkNSa2GnYML7)GyIw^RFhFhSy{9fnVT_;JEYk zUDLO-LI}#_M3egi)!Sh&K48_5^M`2iKI>A11MM|aPdv|xOEJYdL>Wll6aOs@EK5dm#jyugbyQs z{~!$f%gD-g$TO%h+hKM9=%ZsacM*ercCwun4n;HPcc(@j0%Q;!lQma#foChtAc(C$ zbS&EBOOzWxPNK000Jctvw z<4i_5*oUS)ZBqKvrWcuC%dvBGamQjn{ODuSsNrz;6!gz;)vm?%h?}l&=Y0S!vSi#8 zlTev|D1jSxAse*Ws(h#E>lxlm$xvx^TQ%bD7tWMGe`h^D~N+D{&WgP#hQ+V14D`BU2`_w#UTn zr{wH&=Vg)Y0Qx^`9zYCbI#}v<+$9!joO41<=MMAcvvz>Y5t21)I^n)**sG^65C7`w zO_FKmcC}8mBX91AW0LYFhZnZ9U;C7yj^Ic~?%WGX2N&(d6*T%cJ)z$(M%J8?c}S-W zyBw6E%L7#wCBGR*AD^ zvMX72_)`NTbgK+%=G?+FAiq%-TU1l~O+mO~a{b3v>T)iL-DLlhpUJzNcb%$U>a+bU zL9_(TnSGgCg;FcH8mv2}6+3hQJr2L+C+1z#{=K`6kdeAYcnYDS-nhaYu!5)3`^+4( z-M6sk4KKSXzbZ2gNNt_BW|rK9TpqM$&il)Jg?_Y6r;h%eF29A6zo=u$@wITGnxr*= zI_bxf#RE{0u7LH+F-n%yp7uY@rxkT&K4_F*EQR&yCw-vM2te39xp&E%iMUy5`y@^< z0^Rc{?K;Nbph(vCCb|5@7J>lEkLYW&#wvuY{&Bnu5aMX4OB_#9NFB^HTxXO9nSbNt zo95|+wwh?VH-|~z;#ggi*th=!W&c$sPMKgB!B*^eMr>f9wFsE>uZ27QB5h}Y-UmMD z`GrH(xVV&f(N~9}h@QP-!b5Afq$$AEJckP>u2?RD&NnBHoL)Yl%@RiZeAN2!^ zFtDX}ucIg=`Q6Wa1OA55Wre3}o?rfkgL`%}0hnFcUp2`fUE8zD`r(Yvg5aG==?Dt( zVsratYMYl|BJ)p+?F(cu0OUe);{M4uCAXB`>Ld)8HgQ)7>TG834M` z>9>d(i14B$+x*LA)alEFScG6C#-i8;RBp=ESMRVAvm(bd?=T9dK%9KJJ{$y;8k(^Y z?UJ15gw0yG14JwAsg5Q+RpaQpm~T&NFo8AM4WJq5TPPz)XW`UGa<19617sFM08K(} zY37KSHzv6hNIw?LEEy@gKmS=zXC_Sh{trCuN6kDi7fo>&TQ{@f`02DyDU zeUOe(^eJmf9*3!NL2LJ0?nA?Q;SL^ZdO^vu^8+^kRgP`{0#JYC#ft_~^)X#KtK8#C zTeb5EvGKafpqhmdRA)k`d@tq6aEEbgH6aci)&P-NMY!fRr$qy2NQ#5q#}9*dIky~x z;@MBO01vM6o{|mDCqwZpb$(Nl^)Wx^i$r71U@N17gF7-FE`0Ix-%0hFn>I!!g-nt8 zbM#aOjlkyJ2RNS2egjZger{|<^O28Ua!IrS_qa8=V|H^TDNBwN zxiRWhg!NkAs$j_16Yu&pacy&f)bE1qYrI%R?-9u2L?B{K=d9h+Wj;Gx`KZNA}Zn)HC=7#fX!ubA%n*S1LE~M^BW^-U|UgAn?qB&^;@DhQq zs;n)IunK)59|`d32i)<=*ycaTy2PzNdPN9X?jEfl)lAoIyI}HAp5W0Ol(iLU!K)8H zoTzAQ&^@PT#V(M_cB;C1<*^M~5*0gJ4nqr3C|lB)6?do0_P$#0{`0l;w#6ia?@O_R zGOa0BD1a%G;FQ;)P1ahRd}o_}3GkK~YFZ#5oZx`v2Xy3^)H2hqohFV!_YW)K>HKbn zK4JB{hDXo)sk_isN6|xD1KHEe<7?|#QQYD!Rl-2t9Bc4--T2(eXRN5 z0;ndJ5;0eu-d}Ohs@`(S9PoUAF;!LbS5J#}DXAms5ycdn%sC0B@%qCS4(FO)IxmTh zu=QQC`>t)9gJI5A|L89Sr>;)tCnZz-H9KfOD`B|d%8;`cwI$iM!5Gq!m zf&7dWyd2WZDKL#a2?rjDW8Z?NPWg}u(!0?Vow}hZ>lFmku&3q^Ro+Wp0oSA4cZXE; z^rM49_d|eSOelo{uW*mjrrBmCOnxxlo$AqiUA7jAyHH5WE0Ek^1N8t~-nIm$Va+=D zDgHPjML+U~GpWr_TV#&3!cEs>ly6Ow{Q%Z=8T5;ml#F>A?vs@(qEVigLtTo$?TX)2 zNa#WHciB!Be3m!{?|t%qVv5;k9vmF#QcgX43#C71(3$R0v^IXs<6n5zcGkl^Ojnkp zby>+&&iDF3IpO4<<6H@ORI-Mjc#rh;BNt%(wr}?xZ7l(2=r`-f%95C%iN?;u%Mh{XhPW`36PP{BuU+Qqz zB?yueH6`iblrPz&I&q@m`~r5dUru7pXlYPP1ZUHRe04A4B(j>sXf7EjL{ZtZ^Hbg0 z?GQ`mAa?Z|tTR@9?!eU7AO4i}-cI|sifH5*mULvp=_=Zazz&ldc=8K;< zwHK~@TTy|RsHHe?q&5Fiyq+mfz%RiHWW}i?)b;Q;;L|F)ds_^gJwKFQ5Gc|?J$Fpg zAjvG(eP6T6)p!dfWm<|u5kIEmXS@|0!ltHwu{s^I49;(=`+NdVcy&#)A-UL8IX-}P z(y#9dG)7EGoz%mwjf#Tm1`Qa<6O=?W*Xq;Q?|eo}T-PVNc&drw$agP`e6HAy zhV!h?ZE6fbl21FIYVdcqW$!gsj$ApgW4T~D5fM*p3MldxZveUt&pmzfBGa9KStC7i z$~Ly!i*K})as50E|NQ)|J^v|1W-B_kc}xhaEK8Es{q#4BRI{g2O1!Cm&79;3t#LQ4 zvGzXiX$B2BWsj`b(6>4sfq@@af3`Z`^~c%}7uCDVJr;7-H#h%KvBXD@-yOw$ejU@3 zr<3O2Iq#r?hj$4S?Nn>f7d=nc&k$MZrWuE(dVTDoCB`%5assltmPTp`m1Db_IJG;^ z=4|^t%V5UPqP%l4$*@q7_KLB z;PU3N@u58I4EIt_4JVr%8>|TEHxCH-v2~!A+U0A1Q%x+5W+fnLNbD&dT3Ns4-AarR zCmjFN^1QLA2N16{&_w@MM{lF{c>r{5DUDR=_Ll7@p9~@BMHT1INnvV05MswzcE@Z1)17N2Rw!dw7HDaaH`3f4(or`o}3i$fLIW$z{wDjhaO-5;8 z)KTkpjM#HhwF6bE<0@Z)&0dGhtUMjAK~n&hwKyfXKsAn-J$_62E zT&5vdaYgwkXx|kJl4mF^gx2E+b$#Qi@9(-vG1TN(@7z_WcN3)2H17+)?@9Wl-bO;O zUbFt8=ifx%K}UglrI^7#t`T`}8gpZ-CDjDNWa?eOdKJ0Wh2O6R8R>kt)a$PWF5faY z;^FJ=>GC@WLiCwA45QEK*YYTuxP5=%6;MIvlIbXN$pi-21lIS@M{m5YBRt;ndj({a zm|iAVXV4eUP4Z>LlAh$oo}P?stjTYYNnNV)2VSYVx69Rg>O}o{T}XkQaepP2AaV3Q zzKu?=J7?dGkRr z_s)N8orwnkfhqT}=ET!szKN3<&`^R_hZZ!4Qp!@X-eAhb&f?06iblHNq{n7X5U7TW zfJ^jmXQcm*wOK50PaJcy9QvacYcrPP+J(FC)?(B%|ER~#8_4?W$<4Sfr|{=9DlRgV z;WP3gfmwYzy~*uwv0-qqiB}ax>&1X08*D@z)=d-l{bbple@?`}E0o2S;s&yF-L?(K zR$2h{{{nu`cz;>m{e{U+bAVPnF}jJeKb=2bN`>6za&7x0BsrKBB3R%@+L zekSlTA<;sIhMJRIiz!c=u8I$b|JOlCG$pNIO4-&t z3Vj1Qiu#>Hv3tbNz;@fD1xofJ@h?lEkfxVL zqSn%n=T#;bQ3?Fz;_Ki}APBJUopI6D`dL+F3)tqA z54t$N)kBr5n%h}~3wtTQiDeT|NE~B)2tDH# zO*DaeJH~@I8xew^g$K{#Zv@@s=`4#>r%Bo5_!}~}wJW(s8g!Soz=y!uiB^xQDn5DI zd$YW%(uxJ$yL7R8IR?OO1$ld6=y9>3KMzXv0WJra#Fw!&qnk-#J*rndE(UDGyAAU3 zu^Vek%z=I5rE0p_ui#HiL07-N#?@7kl_P89FUSVs1Pg*Cu4cTTqus0w;|Vw%{KjyV zPH3j6Df0-xtDC^Bf@3;+z=WGWks>u?U$xk2>Og#;yjQ&?sng^~u9gyP2YHA$!aX6n z_C@<(!>FWq?ZiYV2w+TE4@_PC4G-+|W!8=J#<#k(oydt@d+MJ({*Qpv@d30Q{ zIKni?=3B9Tr|LL2_gD&{?tz{Cr-&D#ZOtIM$Q>woAPV;o8{cLagwjrt+k z^R3&Z#koUeRb#xP6OBYxR&DW*PehT=pKZR<3fBA*DcX4tm(6&biAFh5hmFDL^=nP( zepBhc4_=KGm1eVU?)2j-cT)xNjqkM5b~cEibKY^SYo3f<_WJwk7TM z!iAEFTCLT$ET>b6+Ng`!Ns9^t4=Jj>F4qiND{l@xI9{<3I)rK9IBSgaTE7kfr+FYI zevdR}1U?DT7+HN!r-kwtOb$LTe41HzJ|Domvvv}wkN|g+HquEqB!*Bea*Ie^j*W*zd?Es`w<50v3=Ui;&LN&WoPwHGm z!1>ZOt#=)>fv8bgC!47jo@Rekxfmx*E_a~MkQd%av@$2 z`CR`8%S=UwAopNBRW6j`C5D>(`3YAmhWg?MRg0$}9X07YxKB~8$jk{RkBbFJ8`qAj zp7S9mh#EP7i5T-Hs5Eb73kpydE^&*tk)eH>9Ju`g|Mz@LSP5^G#PU|AdPlExPq9bZ z&+h_{_JDFbJN?C%dO+qQzyd;M;eNBffa?k?*(dD&|tQ@|mXSKpfrEHmBM+)^SMvV|^)Y^~T)-id>_b zDY{(V{jU7rHv(C+%*Mu3n$rB)au<=*py4;t_=@j;epCTV!ke@&NZ@7`Mv*ki#g@jQOd@A#Z#n$^DulOo z?|nLIx&i^7(#)XD91|L*;W@)c8jK2uZ}WNLuIpPcsCTo1Zkizj>*8H>lJpjrG1qu0?r~lJR7Bx)`)GkUYW2o zVWr;p83RiM{BHdTkxou`(FQIq1NQkBN_afdXVF4F=# zcKP@`!fQkl^OThEhQsm~C?>|6e0h*sRNjIKVdFKB{*}A>(0n6XXoxaa@U@@C@Zg(R zZ>V5Rm(15R+n;K&w}Vpdv;#;fwf$_WPOfy*_pQ@^`09TIshmEh8vLe&e0KjKT$q(( zhX)a2X8e}p(VXZnM!ZW+C#t~^rowX22}1PdNX)Y;G`o)TrDZ7UbpIlyxCm znA=Ou;VOeE9a$RBVK6S!pg&T81zkdv3K67}!+L!+=;nb9_uA$_b=O{MKja0jpta%m zhRzV!@U$wkZ$^(-0wQ_LQle*hQL<+>p(qFS&_1r9)HkrFycE41l-zjZvA9bIH>A}n zgkQY0>LRXkRJwIq(=z^=pgMKv5e5r}%C2~1>T^8^vbYYLU!FLpv+oeHSUzQC;d?7* zy_;>#Yq5QtV2Thj0$Th2qD%8`z^u9>x>X+a6HUm@CU)s~MUPXqqmDP9`L`A^}sayA;6$~S21dNf%H z9rQ?xY>+7wL|cjC>s@EC+>8lBwrB&4QPoupW)@D}x<5D%QynrwdYoT8@*%vs?Q|Gv z5rp!UjxeMdX&C*eLN|q?DqUtH)F)o1ZM>C_ZOhd+d2P=8bS6XjdzRt}zT5^Gk5K96 z7ZpHlBFj&oP=9*b_UkKD&c||HYF(ez$4oC|V%H7F#m^j4CW{#S>asfIc1VH#vV5X< z%~_{5WXVg|HSl!0V3KKCTbEp!JZ7c2V=-wtvAh22rfq}IJdw&SgNWhtj_FW&U% zC?=4S-#q1J381T+?F8dK(AYbGtWUU=JhTm zINbX*)bCA5>0{4uJepAF^6s!;e~T$zN2i3M#HI7&StV;{<$R+p3kI=^Tgu&fFqWa9 zz1ZSp8NtTXW!a7~2gKAvx}}O`(%6_u(tn5&NCK~nx5{H19Y{{c|E2^wZ-#vK?<5nR z;@S#_(;g+A1D-LR;ithn*JzsnWbQxYp$Zz?c2YPozV>06#Pib+u93B8CMYiC)4Hjf zj}Pv53NJX>!#u* zMHPtMd&P-I^i0(+rmYO*X8gb6a^ut`gG?m}B)ZR{)l}cN9!4!0P#2hg0tCXMio6MX zI!~8^I%l3+2@?n%Z?yQIEsa_vyVgn#$qJaR>-^w6tuXc@=Y34&KD#_fBV~tQg8%Mn zc=PbDe(%2b%J!S;ekfH|gjXOZ8dNVaBudOqZ5iN7L_DBtJOggw##n zHDb=P$#`)T+_Xbc`TOx?*LDN-mUzOGQl7#lf8)t=>~cKF*{T5|Oc|bz>zHHAF7U`-Xymll6b8V;iZsBrEmPnBFw+`@a#k` z;pTUZwFfv4A~;VirT?H2%#LmH5>FUN>mToc6Jb|)KfsvBt=?0TT505O>L}idPbpY& z2xzR9o#U9>(FLxX?p(UXw?jr?s(rv^E%+upTKtMojcT3Zs| z4`*|Zqf4GH9fezQw?^~HGt0kXKZ`noNLy`>1Fxx>UtB=w8$`psSR=w$5 z2_2+yE~gGe5xto7*K!?@;A{I5$(nXq0(Zz(g=AaF!@bM_3CqB8QIThwk zEA_j7{1%D0F^>i^TfTU)W5X5EdaBcxkh)+Af7;CEd?wTqOAOIG?Rgmt(?o}bD7>5` z+>zzu{w45p?*oaH8*Pu{H zqoj<<^?PRr_PS|`6gtup_qY%r*X`X0dK0noraBf?*$Qr@_?9><&b`e!Lo|PK%;p_* zbZSRN-?WQ))_cdoUns(`%ZeV}&f4b|xVrG|Qq^2?u_E`gjwNC?xp0)2=gocQYDcGH>~W4-u{SlY1WA2_qC12nB4zzm|yKt;~T}754uyo3t~?;#nS#I z<$^PQD-MGP&vsa&9(b!qQM)`Ytlx7n=erLcBD(ShiHz<2@Fuv~DoYaA6g)sQ{J_by zb<;(sV7w}rm&Q0`dUsNAeGLQ zLI1X?s~JzVMm(63E$Y*Q?>Rg&p)hJ#a&uH`Nl-Rrb zPU!tJ@ge(xVQ-Xx^VruyQ9^c#KVTJaMivON&Bp``&Lgi$)lfu<=1K6G-TJ^M)$owP{^sh%~?ad zuWIy>0Q~=sXdIjpKJP<)OUJ{p{w;@t^auWf>UAHSl$(f~aLMovMgpd-EkW=-eL?3k zc#Mmo?bw^2zp=pN_{QrVX}kk4mG(Q>$$Ui8?Rrd5CFg8h&dMlDKCgypa0&PJ{bAEQ zjr{9KO&A_634a4GQUnRDq~~du23c0d$=h!bQlVXETRi3ixbj83)=B@36~;t+o|=oU zyV%|5PqC!R@Oo`&J8it)2E?-!hkxq4+%Ld2$8+9bBcJJ*bkVGDZYlwl*%Y0Ij{I>J z+d1C+R-{Z5y-g9>o1QVf0JW`4?v3!^E$__@fP};NROH7F7$pj2J3CzYZ(fDE))+ck zwZOcMTcl=<0@X%3a9Eq#wfyRuekrLvG9*0eUpi2JJe1PG`@{JH-QN}Uplp0f#@b0* zl%$!k!+VQ6$n(^U(cq0e4OyV zB}i?M|EX9O5`d5RVF*ALpCvZ_X4c>54Di?tao51>DDw{a{^t&d$(AVoJD6(bh}$Ea zT;++gl2j;Pc%9P*wfhl^6P(VvVGt`lHBbkD_Nq)uQ@dVMjI-4K5viDx=#nc!D!B*VKc3&+;T~jw-yI z!3g$qj=y#EO@nVUl4`Lqy%^{AM66@%;GBFFdsVHW3bs6gJ|BYJ*_! zx8J(BQ(t9V53_7u0PcItetN`fa5^vL%oFGH*f0YkR(|JP51h<8ulbC$w26&p&NRJI z*zh>?6X*Jy{P|#-lY9}DKqBS+)ZH41tQcPBU#dhS2k*jRsq5sC*l>?tsc^5hU)0;D z9|(I5G99TehW+2p)yJc6)0p!|{?Tmr+Gsj|FYB>A*!ZudQ4so$r9Kvhdwme3+x&G2 zA({W2dskCq!Jqdqa*lbuaZn?Y8qEu)f$VNjZ%ZIekb`QS+UOaT4YF{^kP*W~W8?Pt z^^fTTM}KdHmy`?43n`Q98$c-z<2V>i3Oal7uRYGiXDAYlU9I9H3mU*Q9}U`*(GR})iI-ByS2_e=F&Xb1 zoD-s!&5_&#Wh(y?4>(^-jT*JXpz}?lY-DUhA4<`;?O`I8PZ%+0AN#JfI#tP!hA0#v zRm>K$zxcOmpw8?|V8s!Tq#TjkhcMN+L1N95G|If}a82u4CyE-2)3>HI-#UH{Gz|v{ zauUhT74npqg`WaYj9|9RQ6f>~;#;ZV_LkkV&n+ZE?(wRJ3FceyDdg@}_D0v^Kl-f^c`i`Kj|I(^aqR5fR?74F98W8BvSU zaV_c?N4HnrWRERP5xJdHP3MDYG*Pf4W{q(vO9q>mRqIhL|LsE{khq$0YZFXPSP_Zi zp21^6x4)lTj43M@mFf;q+QI&VWCinYvsr2kk)d)ZX8!PxYuJs^e62`3!5x~u@j>cA zg``GkZokgd6|Vidl0_(q#gOT-tar**1cx5F=n~_d#f|BdIaV;Avzp|*wxCS zP{4V6>6zFeVEpCukkVF!`aIgWENrFtwk>eKhb&u!8*wlwr9XWb9>SJ%1gh~sa9?#= z1tzYTew+Sf3%}bQd4T0ACmoCWvkP1HWslc#gJ~7W_nAJWjb`C|t>N>A5=1vwKIKp_ zsCLf<1uejWKf&cRbg)4HShZPuzjoDUakta7!gmqELGu94wb2` z?M1Q#*Migz_~!hxsGOGZ#L{qj?|3|4pgG@Texr>oG`oJbZlRos^ir@NFT!fN9&W|& z6R1VM<5!hTD9f=K|6*YQUs9epn`)Aa?fa|z;6$q0?L#kj;l_J)5(pV} zhzG2&JvnW2t(J=5IhDt3^%@T)HKn{AS0q~rFXpD>)&0xd7b{f9J=m3Svcf|d+)ns2R4x=$$%979I02=HqnN|ylM zd0Q*8j$z2Y7pTm~9T&JXK!zGKQSSF-zP}S_0ph3e^8MNwC#RpY8eDg@?iB{8QpkXn z+5R)2O5#LX#=kuOA?Q&Ng>g6_NWPZxE1*i^J5|bs2B#KjbfOqs9e;2}i2?CW5Cllh z2yAR099B)-wPR*&2S=ato7xU`L-*5JUu8(IH?pqXH0az4hUCItn zA)=VKCf4Ac8`v@uxm-b`5(^CM* zw9{d{S4>^4R(d_shz$+I$C^e7ex)kKhA9E^%`%&XbRqP4%ii2f)}l)5iti!>CYhb2_SVmOS;2<{Xq;&#K!iL0@IQm+@a)P(p4? zkkryFcx+|}<2q#qUyr~BdMEKoY8MGS_VsbaU)?oTv~tLCQI!6%yK6xC8Jp3S{@=D_ zq%rZkpMrPo^n0u=m|XRN`PnOfL&wZNjf!G(;C~&Wgav%dOu`)v!yYEmbcH;MgEPJi znW3*ek}g|5@#-Hlm}W8)GfM5OQ&~>LoxK%z-^2)Grcu`^*=(ubt8h6M=;lS+BTo&m zpU+F``DKD|oj(6-MQWt2A6t0uqsC%GD6;_Ly6d--j{iInFkg{Rx{KbLS>K6fw;lQ8 zqYm_Y7;p5q$}%kuu!>(dwMQ9Q(3arL#+BgsnPL$ed;%K3v%>dL0`$eSNeRO~k-t;6 zsetP4G!XbM7=28m#T9?~@0bY<%4m58V186Q%Drwz)vQMj32T(jTAa zmiUbOPTRML-z>Oocdb+T4{>qdE+hVPo}0cubxy)|Qq1HaC1DDQdTDlhNYoSHliskn zXq=cqkNaNr&PZ3o&-1WDgF`_TfaF@yf4f~lR)_2R5DQkQAMErTFp`&mh0Ac@rP|4uZ??;F=BK(LR&R~scPF?zGx`lL|4 zbVXpFQ+#vvDkO@z)-&kusO!+x6ksGKv7`3@3v;~Nt$}%lg$D!@0*xW8OcSgjmyBk& z9=U7&nC5SbixAvQDcnI8pfQgW)5VwXY{0knQq?PYEMi~4a{gm0ZkCR9egSAqx0b35 zn~?|@a^)ikqgnfcWm&onE{ELRfYWuTwhD=6E0<5So_r5bmc}AZ2*zf7c^?)1{ClzYIBlDzsq)v{)x F{|kEz%`N}{ diff --git a/demo/v2-demo/images/samplerdlreport.png b/demo/v2-demo/images/samplerdlreport.png deleted file mode 100644 index a4ff0af9deff7e25c83cefe80019c6fcd67b0222..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 41734 zcmb@tWl&tv)-6gPNFYLh;1Ys+aEBnl3BjEvxVr@H1a~JuaCdiY+@W!IcXw#|?wot- z)w{30Key`r=xW=0cki{^3c>l^yO4AVm;ceHy$BRDO0wV;3tYm3% z5tW~M$Eg_l3fu6$`o`k}z64E^JdKn3I1N1XU^N_J)(^p}1>Szlf5p|s(HnCNaGs;5 zCsbyPCA#Mf0)`2zf8e>)AHrcU?}*8Bn71n#fAVed^|e6yWy-Dqloxv0k`8qoz4a*Z zxH&Taibn2-DflD%N%r51Q7|2gG*+N*!p>*zU7#$mQm{{VZq zE(Sr`uqwsnqwHI_y}t)ypTeLWLCopIXsSoSp(w_ui--NC`3OsBER>(PaZ zj(m$ckH?La%?Qop9A6RvQ91uxkKO+6ZeXRu`9_aS7E$Qy4IdX;7ViF+oJyZ&)3s_X zmR%ODzrPQjDONwdS+osgp&Cc`Sz4&GUM$gMr}EDJ$9r5K)Y>dJ1(Ld>S(IAQ5-KP_6F}bgD;}q+8y}D)b?U5={w}U{_`W}0 zYOEF?8p)GSZhL+>wBPI%yy&M08R$POhpd$8Hv41XJzvj)LiV+QDfq+$xw?$M_)V%v zml}$x^j_vH4I2yVvzb9qw?=T~t1dG-LCV*HQI1quFC=0W3rk+Ue3>Eeg+ET6dA9J( z&KejnG!h>v3UuyzvB0;s|r9=j&;Dy&~+Te%%e6#z+a)IZ&%?~Un!dEBDi;Igy zkAzjtgV(g4vDETww5GLC#gif{^ByUll(|U^_9`xWM?>um6bIr ziPv!_V@}ZHrhAx$kB<;rBs3P1DHgbq1H0c%mub;p)@e8!Vu7@rbz;P4jTIIarh}h( z(SKzbC^_F8X>z0mW7DX4TF{~&Z*KbD+z&F8#}$ldy(JY0`r~_#xn#y+XnwF4X4Xqf z8WxJn6vI{iFmI78dHVBWfX29(k3bYb@nfj;-upc~sbGQW6ADGEuWA)iuFAJDo@nIp zQm-yvpS}=!lI7eT^6IT_x*Ol-et&if104jA7#C}GLox6hIL zB1!}TM|LhRlLShPq8Tz!eh+cl>W|J(_tp}qPWOIzh5M5fzlwEfs#JS+eEj_%U^SY- zpJ8@=@@YTHt~$A`<|^cqxe{1FLT(q7S+rk@)k;57!k;c9DGNT9YS))3=SLWoIodtj zUmzhNz3&YIZ*&I(3w4k>RDaLa#f3SRIIAZhFi`ABS6BCgGBS_j&hX)}d-UE;F$C87&H zYx=MEq;SF8C13fo>c{KDKzWPgzHT%h7!WzZ6cKNI%z#w#9_9LQ7V`7_ll#jD8}BGvn^8mKs=_ znyN;E)VAnpZMCL)tbc0Zud-Umr3;aW5p~YF?~Rdbz7G!y`lY}N4AIikQbxu{4Sh-H z?>i|eDQj!`VtQYd8~q_p`xE<<`9O+7h$K+NLD*zNG43w{hAzrYMVYN!x<99)1cV?K zdc07}AkN3k{Ebx=K`uuRnANVpcU^RnSLc0X=^W-0x2s@?`?ZC%UDvN}8CQ?94%7rD z?VH_n@W#`}kXH;QpQWPG(wHwvf0>8Z85UU!2?>$1t2^N~tVv5tR{;N^XL1rd_yyv^ zyb?4`P!Z;Kx$`5|9cP|o%`Wlr@0Gi#l(AxFbJ|`yn-|J=%gb%a_l+kK^k0*0DdV+& zzV`2nAgQjc?Xe4{m5}CXM(fIte)(a2FrL9q?7i7kL9~Wb=ujQz9~JNK?}0GPmWt!> zTkEKhOA}}WDgcnB0t96xw{eBo+1c6H*m!vfkOZ@UwJyQI#8jG*@dZoeB`wF55Cem3 z@L}S=fCFlRU4MofrlRKYXH>-OmHzLinSanm+b_0<7``Tph>CV*eGQ!{2St8nR(5i_ zT55D853j1-m?~1m7-jgIi^YP$Bb>NJ{)>1`BUG`SLzLA1*Q55v)4QZK2dP`u7pchD zLi<9v9ktr^HoE7KDp52#vh4)ZyTPG9OtJR3IPAUwa%zKY*%@!=wd<_hfW&ENV4zm2 z<*(pZ$;r))H|b{e6+Z$%2(N?!NHx;j4+_g6&kIIYz&dSL3w53GA7m2nBlr}esFyXS z(lBK@ni6e>EMk-YE!C$vyZaiQ`S%h5@HmXJJXbH}2TL@oa0LPIx`Gzh6X9t~R{P*pJ8~||k-VU+@uq2D07W)7Gva6}0;`=MCf53(8|8xES zBB1}m8Ik`H9{t~ZxvHT`2`oLCpeY?7Z^U61Hde5#zMg7nlXGLnax#xt<|NYFNPele zN2n0q(yg=fKf$s8`SCt}>f1Q^=qkFYK)IL4!yjW-bZwg6h9qgN>W2s5_oPJ3$*c%ul z&x-Jaq-A7$lzkMaygxMD+3Cbd5&X9F5eU@^{8G1bh$^M?*BRr|D1KYF@VZp0XTUiZ z41XRUAD8jdK~8lALN(W_X73S56mh*-%;QZv3H#=;+p@6A~kG702SZ+`tkIHvyi=Dn0Q$12GnxuWC!xQ~$q;yx3N zLfRCmqUuMhiV(;=_UgA^f5p?(V0ue1tNx9YQ zBs*WYa&VFolN9nNJM7I zU^MgD)Yz^*7nipc>4W=D`d@02n-b$812`!+H8r*BUMmWp27B4j_x(%E(xn%HdjuF4 z0;Z$HS9}Tz3bwYVSqt(S8u%zqo9%jY^|qiM3rb*uK7B&GS#EZHe0T9xB12L=`kYLZ;gzgI!eC!s-wsj)6&TKsbLw+!z%j91r7%3GgS2f=_sR4Fa(6ieRQ}b>giV{`i|@PD_`&vvn@( z1t~UIH88a_>7H0Ge5e+xy}Z2a<>mGMSNkS* zDltrrgt|9^1cTu7{PM~QX?nFOR4u-o_Om0-zNkzX$(StuG=%}fOCt2ZOw;vF|9)J_ zquFw@-j7zg75XozO9ONUL!a`BuZ-m0M=>1)X-Q4X&7^)VD-`nM(h0NldC9}ukG)Cp zt<3_*71euSJX^9S2x*`QPl!dQ;iCj66=q+*0b6K+@*5o0<^zOKEfLN7&%zgYT=K<=_fR4>)4UFtuWE*`(p@1~|2mk+oy=Fyu-86#kg{)*J~N`&lbGg5eB zaxyg~MbGp6YvW8qgW2>Ro7Arp-)~0eH-FrKq_vEhK=k5@?W#7*HRT)^Sl{ zo!e%P$Ok(tyWX+8T)eKJmr~TcAH$#%PUs>o9nxx!f9x|j7;q6U65=M3qcWSc-bTH1 zK!}leu&PC(G6kW0Ww!A(5TLIymy3PhK0x2bi(bV>(VogVPa;Ub?piY||7TN$^SDjRS>rK&ES@)r0CqFQS~W9S{EaJJ*vXItjO*OzbQE(Az=#R7}Zh6jajvn zLi~Nc)Xp9onm(zrLH_5CnHjYa0@Jp;A0ikMvXp-q8h}jK=(yWSEA$GHhuPf=V2HAf z_=To(2_p6vVQyI*pyBfEi)_WL>wdLg0YJpqBqib@NxTe|pD}U`!)bOoRx&Q6UF$R$ zZ8q$CTO(SjzbDBciNOCaZ&r7(e;Hj+i)hPV5i3HoP>`q`H_-18=@C<14$5lRE6`;v z3;vt$5{;m!N!0HDYv$80p|DbXN2**44*RgtG(pR>;g{H_=-aHC&R-B*oPTsZ(Ne1- z>?9ePniiK$U!%nSaz309JZndKCwMi62lD(K!a!tWFy_$G+M0>#z&Sz_%_F<&dHF_V zccUkC?+CyNid;A%ih^2SSd?c&oG?NHBN&Hl4~pOoCyp(i{Tn%!v#~OV zxk8_wW<&9H;x93xF*{?tBg?AhB0DMHxE>IS(>poB&o8g`#>E)fH2O~f`1G|Hxxn8E zA7S^4k{a>;z(!9N0xfSugVVlJ5Ha=3UdkRtAT&$tv~m&<S{Y(h1AD`Xk{PWMiIMXc68kt4jSxX1^LAoi%Jm@LFaR5WvsQ~9 zy#Ux?3+!fbLK9(Wduz)`Gv5F67iT+8)8Rz&Nw!~l=8C=}9yL{&4+yN!K#nsG!c_Fz z$oi2T_^F7J9x+;sRe!NT|vwr)hyzK!Uk5rM9z+}T=BMM)_FZv7P!e=AB2_#DPd6JJGajn>hm5{WO z@2w44SXk!bgW^A+ki;%eiy;s%8&Gc}-0R~!-fc!2>%Q>9k_c12Q%QL75+9nvO94=- zdw_9Dfq)@;E@WbNhzJYorpfEtIMHVg`~BfX7+Sx49vZ%253OOy3~N>5@F&{DpXw12 z5!A(R5l4ZcYJVr8;(_D%-99vFN$M|`HT|1Y6O<9@IS3`aqrEg8 zZjQLSj#pzs2};y(jwD6W!hG$36Gqe4a1whwIu35uEi$myVcA1*cOOtxFdgo;6F`Gq z)jPW7avuXHN;J?CQNP$5kNPnOkR!6c_5*58t6^Wn)s@qgyJ08zv83mf8s~<|$xsiI z%^`LTmu83B1~)M=A3(*?e+i9cilN$57!{-codRAOyGJx~QTKnw-TYg?u!!g)If^gt z>E+e4+@Yi4`SHqBE<9f@36Vl#K*Sd%c)Xj{XIwy2QEF5&g7{wuy{g3^N@PeR?(ux_ zW_OE^Nf%Q|^WSAuN`b=x!oRRXV&Tb%GHK6Yg3XQNK#Q?}mh37R`z^CfGK+zVhK51y zO|E7o=4WiBStf~aLQdBcooMDbqutR|{4d|}V}(2>EwtaX6S7NEX^^yQ2)i6<@R*wA z8Hi}72zqceN#@pz^0XbO#7#;447SCxc=B)a?$US8l+fF-*by9x`CBxCFruidN&)Cu zQ2>LS9efU^RN7X7{6|9bVKff(^BYcN6=RM5i}+8ED`GfHT<0q<$w_zl*yQs+;@JWd zP)SpCKTAl|-!~8qXZH3sPxkMZ4{ZOH^Zsw(iZK;l{kRXaYPQZJFwO^xc&#I?)!hx9nYZ7oSP$;cDH10Enwqp8=IOIofMxG z9UYyPmX?}oT{eP%9mFs{FNMIy_J*#~aB=1&HZ3)%q#_|E0?<6UohMu&$5E@nZY zc+5@N9+Bzbhe97cew_ndVfa$D_N_k#?$d|&zlY=B0Q^MidKZPs2995IIaLV3W7aTp z^s*s^CUQdH&@pjZcQl`Vz|qoZz}3;w33%-_w}!=l zqMQ@7ii$$r-ACk$`{k=%s$jFXSAI17KGI+U`#;l6<>0$@Ukw$~Zu%)L;ogJ=!A-Z{ z6c7;jI5?us0k&If$4VPyu6a1`OWnmDrEuCAo`(v-R4PHC*|C!~`;+PJJLXhnME~Jb zGFweUj(U14O;E_4QBR009bJfYR}TE!$$YUofS8ClEf_&r^w|G2rJrkS9Z0BZUKhaz z6JrI6*`{f!XH%03{5(9g)Fl5Aq5-8Js7`gwV0P!wz0Q2*Wz{wmrs8l>k`9JRu%il*?=o4rhy-i>w~e= znEHp5H`Mp18ZUe0LDPU3^(~bzq>!zDWMpJugoOP-Sn`<-#>Vls=3!Ey^`uoYSe@>F zk5bm4qp^1-x(oyWv-y1wiDr%fv=#)^h-6zNVq#*M@)2a@dzk`_s7&8hK{i{D!&06o z15U(kZ<8fu@Cp2~X$3?BOe=lrVB9W{5W`7%iva#Evn1sKz45p?1-b%~uN1tKqCtPQ z`aO4{!s}m-1qDCE>RVrL6)2*>EdajxcslwL8|M@eIxu~p?7tY5&M204~y^r$8($ z5)3R$^6B3)vAfRcU~ftR(O~?>)91%kH+ZXwd@|j6Rg~9RC_}Tb$|vJY^T|9O+P9_M z;W@c^-skhXGC71B^Cg@DjoIvNO+2oqK+xWat(~gZd0$RFzFS>UmsZ)dD=`(WJ;fFl zyglEaZIe#Bja3maUV*ZfTd(rk?@zXps!af#T|UQQ%k938401c#EYscp>jjdY2kd(0 zByVk)7U}jaa3@a)yv!CJ>QNO=mWzDDYe#}ZE0xY;gG~>nio6oE z^K(}wyYg+@%@tif`bGWyO4Wb4J(Pe{hq|@1LvPPe>~Y$BTFdKAYAqP|bAA8{WjbuN z$gCJU`$F*cjlTqIH=2W^1Kf6K2fHtl;oPFrZ>4Jm|E@&$xT*O0Zl~@xeGfLy?#kkU z3lpJ~?E`LPyAzHS&L zJI}RZ#13n8X4-m;zb~zt3eSisPi5*VJ~k(^@B+ z^^Thu;CCh_Ykm9ba-he`{WFE;Z_kC|7U*QJz1E}O>d|SMS0f6O-ptFA=f7hh;_$?4 zY=#fgog$YHjX)nymnn7x`b{y=$T`D91}|Hy}4171F{W8L6iXaeBN}i-YZ+Yq~u_xl;38FClr!tZN1oj{+kPtl9cr_smL`T0c#VDZ`3*@#ufOF6gi z95{G|?~Z@Ft+lgo;5iXbQp0$9_Z$`VXDYMt5nC6PmKrEA&vD>AVW6>hUSOG4uTYN)hMm$le19UZIQ567 zopLM9>o7)KADz0Kro^T%7AaTEa4~0Dfjf(i7_jiQ{Y*k+^YWIv>PlwzF#x*l#FDFMCX0qsZ`gj~CH>*X3 zhZXMoPTJHhIZtymLf4jWSJg!&+TOi>as+e!%%Wf0I|b9EHRg&`&yxK_Imp$JH7LBj zT77Q5m|uwmG7((zC|W)cj4put*M;h`W6`~w4A$#=?9Q++)0w|326^yiE8C6o>Fi8b zIFS^>{3eG-di)cbS84mBIOc>ts@OPkq@^|KG1^aAs^z*I^eioHwz!3xPMSx@bg^db z+V0#I_2+45)%ZEM94dFnK%nI2DdHeIJi=%%TZ5Pm+$ zEjtSQ;yVD*)&^Z-XNu|#uM9)ls$_(1T~`^Lb(%792LrO)4DN!&e*BQ>9<=B{4GoCI z&lI;o+xDPB>3wKKqTyTQ=E29izPKHN3t$%l&C!OiH%G(?{?Ds@&God@*|rY@XPRQR zr+Dwd7wb?xrDf#?r(#m@hu_j52nM%G7(!9N=FW#LaE-@MjAg>#^-GbY(R`}#)r&f< zwEf#K@B3$aQx?!2s2%ILdgcrdwXXT{SeFV;J9N1U`n?ZTUAR0^W&{W-MuHoN ztfu)US1SRosmA#4+m@emq37n(Tr)HCZoDj3AS;IhJ5es7`<+%&!J8gZH$k&_7ly5S zSf;Y#5m;$sk;CQdb?r9GVNx`Em^p(9>1f0oQ_tJ++dffaY;wQESgj6q1LDXKt>ztN zDg&c|iCmci%7dCCliAZ;pYB-RM>S)s@u?^FJB z`kh5B!I#KPR#v**1x{z89;(NliiqUOWRJAxwmB|q)smmdv@m|TpKz?Qm@PVXIvxO`f_;(idS(9F zKbXt+Hc;-|V)D3tuj2h7h;yDW!QK8S!8Rk}IAs}UQgzVY#4n&OqLipsgRm-TK@N?M zYCCRMHi7vo34fk=*j3x%H!2mZ8MPT_oBbqE`ES*o+!XfaNhHtsH|hhgbk!0QbQ2R| z9rt7bU^t{rvz@Y%3Z~1e6WeUEK4r+|@~x}atG;l1x;r0AV5WQT<@*A*UONeiKr7R3 z9(8mTBIGl6J{OL^?yv=k>c<5I6kx!KgOvFuQam(SWp|;aOTKI!3w9rRx4wISpRQa^SDp*6PiI@R{1f;8qSE zK0cd8o4W`r=a&xr-b32i+z(&7;m0fe+hV8YFQAN!hmLw5`RJI-KayqTc86xbOIypf zwx66FAXwa+fd#F*%pfNhv$^HkRt+}C>h*llKa@q-Yf7gNkH4_Sf1z_Zn>E~~LuwB1 zsoQgf;&JlD%akJ6DYmwDHJ`jb{JV*Z{(s272V?fm^rXJFw(&+VhRRU6xx-O-frrBv zeYf{H`Wz3>cabFFb_?j$pt1)hidD#>zNwvn<^UbRmh|K<}UsoZ9oJC@>_{_=9 zdO|WhO(ptATOB@~uYzU(PL4$vDbSbBe+$7YyZT=TKHy;!TrfSnX1etRbKGIE z-A;SM&=P~f6km$))=AG(e23+9H|6QoxR$(aIef~c*n#95tW{yX)pfP?XQqHFU-2I* z2>AMJ!5ospH`iG?kd+Bl*b|hS*GKW3r*jo#gewW`*wa9#F;#FaX{^w4@SLyk(tN;<)z*AW zCpZC_&e6gpAecMlPiiC04hvOQX0Vs<($i96+)pY!zCl-$mv`rQ6EX1sFFs+_Ho%(iV zsPvF$V5Z8z&`=pVqZa(}@{N97I{L6iC{YJ2Y?1Ix>{sz3x5AJ!l^vW0&@B;bH z3f7%$gR;98xUHGWW9hfK(~yIxC@=q@$jhHB{0Uf0(Vi~Vy-msGKfx_jpSbX5joTas zC^Ro^x&SD<_uV_9g&ccBDkT@IqvXYvZA)F~$0jcSd-b=TdQoMbRD{17P-nDu2@*0a zr>l-(I!uAoy-eGg!H%(#EtdTX!g-(po$Edqw29Ku(iZ-eY>jYG_X5XFX`tBnyV-Y)f4HD56c^H&w8fMZg20Q?9nUfP|u@K z&EI{Z+B}?YmSdDWC%G+>-W=q7bej&2`MtpUE=-hp^Y(|KwU=R=v`!nl7#g{8uII&T z=;f*+>EGG8#;2lJ2OJLNj*k_Ho8hLDtDK4vhPvfl*<9g6_cvylid_=#-Vzsx7YUDb zP7a*gy<8@04C<-YJOt`rnRfBb&??yTlm-r4t7qAkZ8!cT#L0Rsljnt;c8SjG^>aAE zF~IuOi&*#=|EDU-O>kTX&otr%F4Pz z+ry0R&~~HWO&g{Gn4&TYym4EdjFQT{5}z82u;_5al)_FrnV)lX1gc8*IiOyB zDDTg}WiLHYOcA#kMtacsJ(kKMj*;r)Z+3-4KOJ-mn=2$OI*Z$VpVI4Vx`};! zeQPl(Ux_=Ef=aUlwuCws;t9j6RcsruZo0*dwoPuGPnCwfPH39mn%U;9#ygv!k>`lh zi=>s7F+1%NYq{=krVWs}%4#hL?r)OP%|7eu@$U_0vS28U;^d?-HH1OfkrT@98HU>! z?-PCHse|7%=cf(G-qV~aS>0r^uz+te2G(Q#TubS!P#Awz@T-2-C^T{^h3k~2?gPuk zX0lsA(W;>G0?-A?D!-XtgNtX$q?L#Rx2eB1>spZpm^Ut54@ ze=VMT|Mb;RJzr1Ho3urhN)L+#+575oUkoVwLf%)oK-?5-gz5v}JnzP9Lq=~D6=Kb} zLo~eO>3o-ujb|vB++^t5M=s${0kk!jey%ed*52pH7htV#5vD4P}ldbecVw z`gUpwYaH;aGBQuoB%owwJkH>*LR7mYYUQq!d_T?$!Jvv|-PriBqWG?-@obi3kM-(c z*S|ueC=fS*gww2EQ2|X+ib@{7tryxoVr=DRa4X zqd;?0F5Hl9bIjM@_vA4gRR)#3C+})rdiKH|xW&eWEWqhvJ%$s%I9aXiI1M)H%R=55 zL|-u^v4A0rj3+!Mq?V*$=VR<@dmiItloaf)r2XU6c#rL4T~OS`_82|SVE!XSzB%UH z=vE|@>^}WI`;wch>Y#8d!Ws_o5{%Lz{^Gmq1W=lnNej>wf7rfV)oP5l zL#nEx?PFm5Bfw_;L?TvNT1qZzpTJ_WyWMW4-CSnrn|CI|Vw}tL3@d&o#wBg=g7DsR zm1gZG^_vhLDVU90_#L0=oq=lU!dSel=02dzwCp;nQbUd|` z#Gj;(Lgo0lZqLj%wEFVY#Gh8nVQ0Y)vKk)g@EWmdu7v8zNKjZ$W^`5YkTuVhe^?wZ zzq+lE)!nH3{%^gu^EJQmWt5qE=YAI2_LNQ0rVViMbRbEtI{?vpK$|h@1}UwcmA8^m zT59&G*>FnJ+-EmxCGC#k6vmWA?NnQUuKuPj??y1@WA91%A&SOIbA7WR?jGD5=|3G|=S+9H@p3M1RwhJ&qQSDx5TaT-)Bz@ zBxKshSJPLYMKb2=U0u@O3KN5|ntUM4%=Mz|gmb)rm+2Mb<_L3bfVIt zuKPlKhQ&9(ZIiRI+8@qp|HDU^S%!l&0KWNqx{L3fowKB%^I;40aC6^+-^Bp8s6Vpd z-dlEWO|K?uDbP#kv*s860Y5WX$1sJ$w?@Za&x3V46hN&(c5oaO>s& zftCZfvV#|ZGr4WYJ)ik)8QxReZ^sYUICqs|y^S6VZ+II7S^UpL9Wp+3u0dDJQa6s?EClmZ}wv>;{OsTMvq)Ze@T;^G35m zLHO|q@EijoDmnLdddn1k!+Ncb$Gl)mcW-9l#b2pdQ%H%m)e#ZzYfY8KT0Dcs!rh6i zp&QDIu`;jbY0Fvq_YB3}dN4rZzSEQhuAL)8yW48|T|;AUYpdq2>)q+0?VZ}Re@PB1 zQhHOO>Qd`^iw}dxCf5mXH97a{*`H9pa4mkJbx^ahYySIUOLK2113wGwQ5k~^#wo~f zyGlm?TY_J(txm1D?3>uC^Tp?uT^<%;_N#Q~W<%~RT%BkR+{VQCC1JZOH^YvTQ!pHr zj9H}eAAiQoQW(7Kp^tLsy`EYHE2MCk-)&N0hRg7BKF_MNVN8N$=Vq&=`+Do%jOgeW zr#zKZTrR?S9*uPlqP1pfllf{&t(EitC||mhkWIG*^D^yj*j8G8qYB8|rKHM{tSwm` zue*U*Xr12lSrM)VeEFv5uJOeEIBLxs>)zel^v$tP+j4#?nnUZG?(;4f+>#U%+azeR zn>y0OS!+4b=Jg144fFGI-w^W@m{(h_B!PA5`tXW@1+`?QvKOjK{p7~Faa^&DS4L~Q zXsr#o9v+1{+Z+|b+)VFAP&XjYn@8#gP?u|)`*ePtbb!^QVR6UAc-erK)WJ0VJ0I}9 zeY$#^)QTT;TeKow>mWNG({A^g;IzdmmJ>MTUyzyeEK~NWlUGY!ICZ^fF(f7%_qq1q zbPC+Prc*wCD5$r$TvM#l7$^KePxCBP6$l)eoGeg@(kpqM3R=(FqLDR~17X>S62TNF z6^18ZLd|Lkj)d#YPYK|nBm4<5)lg9<1u8iC!fSN&OK2YHt8iUc@=e=Hd|Jl#h$1du ztr@k)QST3g&5FUkqQza((X;_YBOlLY20PDGo3Wq$KCkLq|1-D^iu-Tza;&fQNzSGY z2;_H{J3KjDO=PD_QhvoHM84lmjC`B+C{a8js?m9qo+V6A`nb39HT?R?CAH-xC?qf#9ZsW9h!XvUQuDG-2hd)bYy_Z%bBZV;@RN3Rbu}^wM zMskmcUJA5L{4jNuMm?bVtNvY~pJuv^dl}9xrJEe~%i}h62|Y-I9nLksk*C5 zpjDu|o6HiH`h`V$+gyuSXejc`;NQBh7Sm<0L)Ji28}ql<&${opX^umt;Uu-LEx8R8 zi1`ZsQc$|rpo00sa-2GnCLEh#>Wom9G^4Firu6RiE-q98RroOJKEhUZ!FF7e4 zwAA_Khsb*W8eJtp9``6PS5fr&Ru{x+PF7Q8bboE>v_A@$pLI5-Y+drI{WZSahL}?6 zaG~X6aTk~$XGlGEnLb~G;9(=M?Vox(wG+vywy>e|C9iykcpeM8&_xMZez@7*D%_&lj-0~O zQm4fR$^B$U1*aFivn5uQ4Rff~p2FSjAdFhGTS{F%`} z@zDu|-Asxa`p!b5K3o`dNyw|P_{-ZKpU{10u&}w~)>5wLrh1Xw+@rz@RI$;`O$~Ww z1})K&otBYNAmMK_I~zQmvKYd$g-SXgJ5XaMo-BHp_;(RAs+`;2)IQMYlFUW*G+GyGSS_7qh*HPV(s<$CPE!v| zCEx~4TUz;0Z+fo?$ExMsQJLB9#;TcT?V<;R-JfpoiyJt4jDkIjI~!Ow4QA3yRh>-y z)%<79&CP|=ps%Fs+c!#2M3ZyEB${KblpHZwjJTfJ8*Q}gz3ZGaoo8}=us%E(NNhZUOP4%Y<%0it zj#b6&Ll>hHp1qm3rZ>`FvR^<8ORnNl407j-T+&pND@tT(%I||KWg}|`Yau4OgbPb& zvzON!&#hglixWcEE4awBqn|F=*|e<`zJHQ9;It1qUFCq-*jK;dS#o((vRG#c5bUhF z>x1Ui#@3EfnVOjYcqF2*6!GdA*27hEIR4`djzinNmr%BGBeh#3xvklsDJx9&(p?-* zIU>utDHCoGn>XnN6q%;xx?8geHopC(B-vM?V7ScucPxiEWoi4EMsefVugs?T#Yx4e zU(cTfur;SdqIdUf-f=lw`JK%KfkKLUt~?}G7wb?F3q;o{mz%#`z^DKd3)(Nr2;%N4SQ3z(moVePo5bI-f#H|?v)_b@sWE)EN zo?`4YvL(OXVooQR$U9Qdbu%*qj?DOP4J%D5Za4OGs~P8*dS0zhw0hi}ELZ2-v^Fs_ zY5)0&{TD}!cSVCLM0+uB2J|XFA~iBtI#^+7pr+iADE;r<^g3C*xP&SOF?XTVIi3oGk<tCpB0ZqLfJRHAN z!8V`;)_8wE`u2@35l7Fk*r6C)z?^_h(x&_f0EG1A5GnD<%G!2mQ@AE`Bu3@qlS$m35e$#h09nqnR}^Ai+b*n z`KGG_i%OT_$0@1BABx}ebYQy+`;?xU@iP;aYK#P>RPO%?7{RRAOR#)jPT1#=Y8!P4 zNC78vONO2BRwnHiJLt*1EyyhQT~YE%_@N&dKv+Y&4P(@#`I4uDeX zSyyt(s2FNS^9i^~A!v0`v9XTpPi{|CRMdHtG@ur{ z7wd})KLxJVz8q--`@4>gtTa|U9#gwR2ch9V67C$&KYvTPT7n@x7_tn!cyW(S4)LV> zdIV1q3NJAN0l52v1e$PXj1V22v=TKH!Qd}Q*p(9{rlEvH(-9i8UIQA2OO%UDfqP?of=cmAtg{fE3I6@%XGStWxrPf2P8}F|SCj<)0UU@2p}3X2SGc znP=?UnglStlqHr`t*saKug@y~pkXG|S=n&Q8ba{2d5sZcrdVS>ft9Z0t*_opDx_R3 z56z6zB;7(uY79`1=d^Fw(cVwQT*Jmj48{`eAMrJIJ6RcDi*-JkpnBSi-e=dt%I;~N za@-vW6|nbgM?wO8Pnd$hP6=>2yFkQZfuf)mTgcejHs>-L>Az!9bL?ArKVMHjfT&7o|Q~91{d4sGoFm$|>b*yf<6KcGY zvD@oJ7S`?>O>O|dresu%i`VI#4TVh>;Q7%~aJ%cGR-2Wx_uiZ9pyoFb_$^3Q(KudmPc~3ie$p^Y; z)a3&{@7Coi`B6|t|BLVKc?(epU}Q?C&odzSxtMyVa>`fyF&*#~#X#f@R}MBD7zUp_ z+ffHihUc)LYuHT;it&#NH!7kME~!tK%WEv()Bfey2er@7&%4)TLATFyQr?vzm=4$m zBG9otS=vWtrg66!mjH8*$nx?2u`ysMd(`vk`OD*7RHZy#t-P!OQz{6=tklU_cY z5}%%)9v@%JZbp;!?kypQ-Pp&MFKKVpLEd!Wg&xPVtvOcpGM)KmekXVvETm9r0Lt>E zgUfb7Wk};2T`Bq}C3;GppKBQgt(9LYGsebf{7!8b9hVDu?P!f-$J$3LgnqQy=-?bo zu*P{m2nO(G$RY`<&G7aX6qv-OaiO6!|x z)q!6>r^D_^Ccez#2?(f80Ncbyd`DPi;t{H9CsPXAVyYrLWIa^cPf`w2+8FYqX0Li#<-(ggW+5DI%BcgMSQ;q(!JGwRkH|;v?$Nq72 zy)=6&I-7a>b=ivs@T`Rt1{}XyM*8um;=Woxv)L677l-yedv63=Sf-%+%}<*P%9pRv z%?;1;T|MEjC%1rIFTfzm=W-PE3w`3Xmr>#q5Et|_#SOJKu!Y0&bYZaf`r|45VTdK9 z7AIqC$DezBYFW}@FB<(Jqqaqd{v{a}})1#I9O2id9NFk%;yx8Y&| z^x`x!A>?#?u>9^@cm3K8Owb_P@aHv)AxG1l)vUL|u2?T(iKc+z8+oWnCA&l~nosznE(I3KTy)NUg5w%OPv19KEP zzalMtRaaMM=-E5!dB5#<_cAonPWvTlXFh$s1;X3Pmwwu|&9&OMCz)XUH0Kbs$VAvd zvB50+8RNO;>Wqj@-=KP6b6tzPu5?|0;L7A*K90D+vak6s7#+Gao-zI3^UA8oqckjmU#u%1x;d7?INg<80 zPm$G%Ij_jMiDvt&s~son)@HP~WrwwJSzvZ&QRH(|H#2o-lE+6!Ve6L9O)kexu;$Zl zH`U)XOxm{Q&Y?RPP_=rU+G6mCcFnJnriPlhf|$1lY!*``>Y#J8!xx6feDJo5{*G}) zrB4}&VZhFRj{!;9AGVWu;mys>ft3<~tyURh=6^BwmSI`0UB55g-60*`bcYhsjRJxo z0+I>{2uO!?r<8=!agzdqfP{2OOQV#4h%|zLsB19ie2=}KcRgz#?^=7Wb?o_Jeo=|* zKCg3(@gM*38-?mtMmm^LZ|g*_kPgs^*@u?ZJKF^zPhQ=9(zU0%WWGV@GxG6jTF%$N z!+}qCbF0`N<;2{PCn_=fw4p!xd%Fm~$PaG_g9809KA@PL{D{YX*KZ`5#EZ|;yc~ag!wk`AtyDK~MrHdf{mZcBg zM8l)4=`xEa>clRljOPLKIW6MY3O{eW`XeWx{WM=G`oOT0D`xbW^2n_I(lpE3_Z8@( z3H_A6=hLDYaOH=F*=~S1_bsm=unAb+CSxajv9ajHkab;DsWkiNxv5wj1xnEUn+(!d zJkhxBO?#f~dI=1^yCJUEY6!)&SeAzG(xoF-L?p#V>vZ!*g zYNLsd)vrmohriN z(?Asb7P=H?@q@ln2<@Dv|y4hX?6JM&-*ulZULfax8rOoO2c5H^oz2*jS zr*~Y4a%uF)-Nc2xaFO}`>8~dCmJggxW=K1Fq`fes+$)#r+}WP1oZNKIElB>{Il?Hg z9%3v>b!DmR%T3$8>*#6^ZuhD5T=6`YDcF0o@ES@tu=u#>obGOvZz7Bu(stG)Mt$~pdT#ibVZ*G2|DjJpO%T)%$a+OSB} zc5bt7b@f(c!NtO>cWvL_*+Cyep|*12T~nzUvnkP~ZQb>C-r$qDwy)MBvo4>ndwylL zF!;ho6!8a!l{A!&rix*j*H#2gVEBd0H^+u3(hDGgBoO*qpRz3`$gKMBkD^0w z$w_!C+(^4y?tP6yR(WHjq@<^R<_m$a7sO20zZ-gmZmWTW zzL^m{D1yA*9A9BKnrU;|L)KVr7%T85Q!2nLAv>JOH;J0B>)CLdr4hQSr8@Dvcb&GD zR%qkAd{vy>%c}M z1O1Z3rGOlXnf(tRVFYVTP1n-)=oy>pgW>cj=f07brm^pO{0~oY>FMd!Hmumf|4@31 zcAiT3b>kSB-%?YPqsy}@xtWmQx7y6G^zP`lZ+OWN9=`T{$Gf&uf7*T?yecpMHaJyI zh~3J)q?yKl>}z#XX2C~bIJ3!eO2hqu+~w0r(@6XRBb8$Kjz^{smxR#*r&k;%YF`1g~q3)C6}G4*k*-EGNNv3E{c)*6-wNiTat*L83YE0U74 zj!fGdaO7wp)7n^B5jt9b&azlNG zmOt*_4kUg~86F)SF$JvRo^d}PlzQCies*XhIlb5RC)={NcFTXpl<(e~?%0(uNIq_5 z);<07HmAz}A;(|cAa2#{9DgUvR-fZ4>-!l$HnRRS*x>V`Gt%VxJs#XtR}Aba*d2fU zFd@5mZ>1sfgpjJE*`xKWm;O{!T|H>+o#;_!&PZc;fM+e;b%)tUKu{Qb^os6%THL3Z zr{`ab^xheVTn_SZ!?%e@pwXRaoF_Q=sq6ieKKkNSNLE_f$v`wEj@$0U-CwL}%880* zW{haJa{|nG&1cyXc>k=CpYh*0UFpI+D;B5^eIQ{wh7x~F|McnBZ7W1OO!Ub7{P=_k zemCa>Y_L2AFx{v*{#IF=dWmA1F7XAepr{=a^@`zwhe`N5y=ah#-t+?2& zwP#;M?+ZDZS%BjkqxMy0CKy4Z3L3Y{roeBkG;NkACj4zZRkp!re9`#i%V|l@9dVQO zs^*`5ZBH49@Rs~X9M->Fof0PS+7H5J^dkuZ2WHO;Sw0o`K$RNwJK1bIomO>l%p z5HOTgIVjH66tvjWeRO&F7+V!vNn~Q;_3PS7$BLSIkDd8hf}#Xzmye4bEHHe@#YKAk zCCo--XUlE|VJ|eaiX9)?V5{~8gl7*k9=y85wEyS*r2+I#DBQHDxHb zVKNZ(@ucl&1cq8x!)~4L1-RrE4`*_4Ty1dtrrY4u8vjzt_tTSGfXRBc02jhTYipXP zPrK*Ozdp=XSCh=i%8Ge$uc>M0{P=lZSGf8ciEMDhaj{&!Z#ZT`_lNCDhl_Ui-_~On!+kU-D($%#j5=Kx})BRiF9x zVyjeA>(Pi*TpV*CA~uPpnXRl|pOTPXJT^L7k5z?|00+m})6;PE&K81jnKMX6e*gNZNf%>I-Pn&~F3ipmG||`7(_y392qcem{@fR{ zZ(Y|1f$&A3+vTKkg@FNh8JAWJeaw_E+`TROOyF4Ab`tscD zygUoe+qq-=c{cv{#P3?eXA6iof!6P2qFO=*q;NYq$L9^=ygzgY>{8r4g8nu1E&Sn- z2j$-u5aRme+&IH0M@QsVMXwzf#1S>8OGWY*c3xl7v2*L@f38F7*Oe=6D8$9Za0o-fjgL z$cJL>OIVCi-J{R5+&qi5Fjx2;3y#h;w@t|Quwfu+uGQBQAtd@4d??@z?dbIX*_6=d+b7?~_f?*r~*(o|fXujlisqb}ZTpSFvAdeD|O@EIWQ5gL=fs zK3!!Ov&Vmg;t;0a+|)F{8MEwq`tv9C9~3&4P?M{OQ3I6TUzqq*r|0KYcVA=0e-6bZ z&+Rzee^cQaLd9oX=P*}$dhFQrgJ4Z_!hoo5zqBNq?wV^MnM8h-1O6Da`H8Mb=61)m zM;=vM4F08@3$oqN_=|%KIVP}Yp6c%w6kprGmAl-pH$P8Xc`g{6kLH{NB5z-`(#swoS_D0 zNnJk@j|>h*M@BBkS;H`7@Z#T$BKTvt!QcL;iRXXFMau;i5|QvWA^wg5*WI_+QU75Z zH8w)c_CG=${rj)>Ux6h3*Z$=Zp$*)sZ8L`xngTuD-RTa-%^sD7ugrj{=5n|;aQE(A zoX=0DEAI9sFg=F`fI8rP?iAoKi}-l<=tH(86pCL7m_ad z4so%u6&`qmb|&wh%3P{~r%IS`(~^;s$I({;$BItWmf51(=6xDK{w%-Y3$#>wA3fM6 z19XlC7usDTqej28Lk`U}xs7K};AbJ(06gHbG#h~Iv+{dR3=~Dzn^MNiLg{t!$GUX z)$PA}VYrPp8#BzJ;G9H_DRF`S-6lirLCD=xAumJXTKw zD|_p(oI7jO*aDhCFs72v&5c+K)+bwov3xnoY5q8TaSlULy4;sWFy4Q*|M zUo*h`Y*&s?ND#O$d}SA$tvOPjP5=SS8%#9wT9CAb<7i_;k49|Tw=I97KnLBNDK=0{ z%fb##j@x%axaE3N8g(bkgG{5o(e!7%d-rGLrBvSY>FH@0(GC-h-jHYR>goy!2{Bk# z5oKmJ2Yw=%0qL;Q$Hp2mi3c&=Wih-dTysz;ymekt0BTc8+5LA<0d)B6YJ&l#q1e6r z#Ipy(nd<3(J-;VY=(HhZOc4Cx5k_`)#l*&jDu2{|c^L!z9z1wJ#~8xT8!Bqn=0~eL zhZodcQgKc3ot2f9sfo$*2y66wSZJu+{RE~PvX2*~ZQsCi-0nxs0hVO22dhm}avZ>V zqA{oh%woS+%k{(Uxnjn~@qiKtc&eOeFMiv*bb=6voAS_9(4sRGjy&9sy)!eO9l@AD zR}EC2E4IoF`!@3`N8B-UE97lcQ@#BZUOZRl*k=go_WtWBDJd+9;cAVKm)iDS^6Cpz z;?6e<64s&~S&P{WQk*ucEr0o9_{>@mkHjkFHdU8JpSKDPS8Gd)bt=7F<%d%f8WyEn zMqLd$!H`ztjAMWQn-Kf|9;vpTp-*)5WwZe<4{2}L=_x}|v`~v6)6;Ha4d7B$Qtg7 zSyJTV&UA^#*+y%vbZBongC~fDS;HboeWU>`GQiHwZU1e$vKo+(-Fp|b>0e)_@lll$|mtgIxY8?($wa7%|Kzb9vEyyU_B z4@EZKC!{X9LQ-e&!2mZaOpy0*%T{uXUcxEmJ3Lg*%hx_Kva`}*riwwf{@cR3+;l^p z$9{hgm#V(IOkTjr$;tH0A|F2oiRLy!BD_Z!GLp}g7T@rqkzN=5+9nT;oEfcA1GZ;t z`tRTQjmuK_T_;;znUs{Ww5!C!zu7NxzJo1-*s->@a?yAC^6R)RNFoqwR0}~qkG%l2 zV#&o+I~^C;IAW=k-A@}KN0W@}eiO8mqM$=9ZlybS(%!whp+vz-DAswklZAyP(H`d7 z54|U9+ZbqRX=!MX5vh*3BQzFR8G5)FFz7_cAdtF+Clb4#gS;{77Me z=L#VPq?9&c>p*FO%qe8Ohx$H6A8F2wU*D50a*`5{ceGXNcoqyIPx~%!5*vGOJp!s( zjv!oARMaiQ%4$t`)|W0(V<~m}Ks8bP>ZL4Y|_!;RAf5j2_t4iedU_MURF;vJ zE>wf(E|PI81-HMYWhxq=9Dvx-M>~9D#RuGDs{46}!OFIX!G(q9!6j;13W_y|Q+Cf0 zoaFnb8~~Cuz=Xe@@^=Pk{K)JuJtG5`SZ|TduC|OoXm`H8{G7}d#n62csSCcGx`u{6 zv-ZZ`i@mbOQ@};Pnx@ELst$em$7E(>KSJVm^Vn|Gj5##UXk2jTcR<0Js6{S7 zuIut-B?RiYfoX^?L`WOzU(GpsA$IDDR;aVpB?+l#!Xq?Lkf_;S`I$;*7(_6A%zk^GIH( z?QDad{H&qB{}~%KzX`Icoef1N94htq!EcQ5X>`p8s?%2ideW08ogAJ2)Jl?_-MTlH zwpwm#EsuM14)Ub>`xU_r^EFngzP`RYcc8vjV~E{Pk04^$`ua7ha%E*j*?Y8oW`?>f z)*8^rLU)bA&EFqN3U9-?JK3a?4~A>Kv>u0uXm_DOAolVCNkXot80@ab%)AQ-kfl?> zDV3ZK3k%aoyi|zJ1OF*E{=1j--xd+c(Y4TAJhq|XhWFDF1JZZ?4eWA*jnNzdfjXq? zLSR=H9x)72=(Zz!fiDmq+Ol z8I1sZC_D@eKsJTz>gsBABW}VG+}+*9k+7Rs19m3&L4$lCcrwoK^l@XHm$VU}pPrsd zpUhg7VdNL{+^I-(&S<|@b4s)gGD$ny&sv-Jb)Ce{XmQF2H+T0>04{iWU~_+diK)kI zKF1FKuZUR^ipw&^a2dZY@y&fY%u&6)z1Oc@lfTAp94AM)Ofs4wqMAAi7Jh}ib!;Vh zz+&gsQps$PacwcoqFk*8Fg@qvjrKf_zz|4**~Z|thDz~R8eS@^07sF4R_?ktx>7+g99t3!^6Wfm7cl&zBr@W*`gC5vn{9{ ziT%En^h!KdTa9@jw{iBp-+d#k#2H6u(QD`jQuA!#T)A=uUb$y1@f>M-!7p?f`bFaT z!^X*|sIU(B?c?NAEs&D3>(T`ml3n(?D<9Yhg`Xi<3f}?=DK#*XN}tx^St}sJ=^8HZ zDR6$*RZMpZh(>Wo4JENOBqowHrbeEhov{R+98Z+peuP%{1Zwxg4IbOPw`=!S+az`1 z{oC2uNo^#x<(7V6kf6(*;tYBa86Sssv={ctY>gGmEO6gxp`td@pQOcdGralC!~b4$ zEnkz}Ew+Dt3iOYXl23FfA`>GbutSyRoGBwePFLPD=o@D*v$Uix3Y{+7LPk@CYP;KO zlU${N@&Pr3hJKi1FQ%ZRxOi~a7`zL0Vu#1aJ%y-E04ZW#*Il{>!U&{L_z5Oc4)O+W zUZb_HD3iyIQ$?~*FTCXB0$XAs$FRzkP98)xUR__uvWqP z>ICVtEYUoMRWHOHjdNuEnRRu#p>E+feM^ylNrIf~xe{~J+3qCOv@W3u)vFvdpWCb| zg|+LxDnqPDPGNnq1&kpq>#dOLipLRQVJo-Irs|=*1W14Wnxxg=*LTiYAsqM}_(?R- z<6k1ECN+6C0JDiTfipU4so&F0G`v{WxgJO_Y!b^<12(>@hk;8+6Ci>X|b0(jf$&N#qX@AB@N6WLY8DeZ+ATZBsLzg1c? zw3mnH9JaEED%s(Tt(~vI`r2BD>u!8_g@WW>%h3p^ILrhwwIQjL@i;$7(?D~4WA_1z zYLn`U6OuP}tPD7N9g(XU+xWT^2`2dpus}cpN*DV{1UtIU@Z+|#Ucb&DMK539m>fqT zrXk|B;V~3C;?{;!A_vfCmZ%qBpKJ*6#!w50@BZ40sl!zB)zFBJYA08)r}0}7DLs>u znkp%;lhXl#Q`}`$iNnl{n}p?>mc69&JvKHr?KU2c_8($RH%w*!uRr44PyaHM z5h6EJWePt|1wSX$(De{9{<`t_o&LS-Qb^W6(b8x6dnzZVLQ;LEZ4^p6C&tU9^~#N> zEw^%HWqW_z3WO`H^hOhG)hP74OjIC3z6U<|6w|LwKn=g^0leK`ky~k^{xQRyAk(L@ zA|ZKye*CS+Qizr%bkZEYhk}ux1chzBcWcf0ZVywy z#dt>tYHx1(c1t!niy8wU!99_ zhW`)i!^?W}KX#e?PxKoi+$}8f$k=C+|NpDAwY5E(shUzbh;r7_8qySK4MlkUI-U_Q zeami_NRtMck-ENzJOyszQ2Ixd6J??#73C9yXXqK*rybZ#0F~8z!@ael(FKW6<*VRo zOTKxcq@*M)Vn!f|LlsYes#^U{Sq;$Y zLCX{1&InvZ<#45pfi`TS#-%*h^mDfvYP&16w76VhTA+qu>(a19;8XE#j^%YhMG88_ zNAMs3LAVsplmG-g<#Sju!*Yp&#;Ke&04j7frCp*cyrX5I@8cz}xP1bWZ!EMtokO5}&CpFv4gwfr!=9V`qVKYilBQ^J473uQCBhWWLEmI8AO zUoC<%}H8f0x8mRz*aLjLD&Ysu;9G&D2_%NDp$fM!nvoWeH9WUR^P z>G7Mwl<$%HDOASInV{p9${?T@!JqPlUITs%mR=n+#CKTs0O=}e*mW#yY{e2Npo2ss zPxh9WvX~cZ4WsI8$MYc;fTF)~$jdys@c11=pE6yK8$-K(JIH<_D4R_B`#TLw;mYD5 z{;~1#X}gV&jtU?UI1`909d5O+kWZ32fl9c6AhC;N!XSIvQb<~T4A(t5r_YQ?Nsi)p`S`4oC&e=4eZwi3wLbu!JAOx6im^`EN>@ad z76rWWwYkzuwvYx{A_igIgh163*k%BiIW&dP57I<&tUg>y-AVVzhn@(co-s?TMTtg# z^+Ed;f~SC=+Niq^el#U&?LhwG;$k4UX-;-^p`#_Fko1ED+V#YMI){(dY#Ug-72PqI zQJ+^=l@eT-hoVW^9Z>ov(x^nRv^XbOGeQo{HO8AgA9LJz~6-DELNB{`|SX)bGw4)Aw)&6Sa7%sGf;!30d{Fmpt#TH78=5 zWEg1`O6`O_K7tv6B9+~*FgZHZyXNl9V8LUW$dfii1+lEXpTFw0CAR>a+OSv_2}GUp zL02)H-s9~#=&~h*<3g=niF^FR!DX}F% zmy=?V1=$GqLH;u_`@#rr#WI!}SY5Qc^zKINWqakuQ|S#VHBJwVi;Iic zpLflndAGQ@s2n8$=MWEiVkoQFQx33^LpqtmGakZG<#~ncJ-XlgWFUY=>P99cJois+ z6lwqkTFwv@f}->xIkX|HOVXWeL!;8#xFE9z?n{6QQ*@B)v_LK!^S%cZ7pPkdXIk^V z>9`c~9=xgIeN-+I0=cin;_V?}$-pIoPlQB7@o{m=zgho~7&ooNDO{rAbso7?@C9Eq zIDMK2Rq6`GQ8;8kvXHOOXF{1(BnN8s_msjZ!A{Qimc#`~FS^JFdj+}-^*Lh?0Uk#K7uM}#OC9@4uql9IBVS&!7Mo4!-8!Tx|UbzD#B^XzP6_xfQVvJ>%z;4;qt3 zZ~SR-@Y$)KS(dn!A*}q-iBf63!y#s=l1yoX#T?{xWqnXrcBO`U(63IxtDP;>qUFbG zGUR#yFDo4XL{|_7o_rYzo6kc6J@mxy^Yc7K1qH2L!snD~Tvr~|vpXNSL>6g2U)Acw zu}Bm1)^h5mrXG5?2?>e>!J}A{|AoqJnY!GG1hB}u3YQapq;6oGK>Me$@9Y9(-2bHj z`JdK={ZE9}|1WT!{Pc;zBH0hxq*9=8-@A7&6rzzYY^H!b+GB5#L07$0g_z-b z-GgDeF4%=Ah9p#=kwR?-CSKi!(-QfJOJy<8Y3FE0=4rCtbHpz%(; zDEy?6iI>lZ+fLdSOZ(bkPS~iBK?Ci3{KIVT2k^$*YoKD%3z`SM`PnXP*^M)Bo3BLF zw^Uikzt5T+4}iIBjvMo`Mh0rwhOE8kgGH#b6tuKl9Fr&C^S6-o-!k&U<)^9~6X%ne zsgB-9dl*cfjiYm7V%b-&Z#}~2rK+b@s|%KyR7x81&EVGC;41o&_Zi7CnQhPf<^C4Z zK5p$pt&JuK*0A|TL9YxspkGz+BQ~Vcs0K|;{!GVBh!u}bJg?sI(_2ca6fY=Vk(bE% zno>wPkSMW9jB2t_`Co@s0QVlZhV_;?AkbcrzTh;uwvEXM3!k8I#kxNtwYThsjzJ=J zjkGY_qQ;bioxSDzgl1&EH*=gQnbB_37e-NnSkGB}LI>!eM=tvR_>^Q|6SSg&7s6(l zAIL~#-^GPrn3Fyw}f}>wz(Fg`<1F z1|mlN=p9O$3SCzUT;(343rK^OmADpS`vZ~L$&4~SkqlN1u~D2JGHi6Qfw4Eieo!&n z0dZaVbpnIb16Qn}akJ_Ck%XIpwfXvu-Hl@tV$M-{!;+LpVY1xu{4NbkH>&ywG>mFZ z&{Csp{wIo4P1q%tzrl&ezFj zIMa^JUy8T*BW*+Sf(k3QV~w5XUStHP)w zi4=O!w|OE=$LiCXH4F(vJPVc;Nw{gq!t{QkM8x{{|3h@Fs^vm6!o1ZncmEX-5xM7+s++XI?lbo?E&hu#FZX_^;3)S~yr`H6O(VXI_iN`YOd0X!vT?T@V^SIEXlNo|hkh%+ zdB2KWa)(uq<7DvL%vx1}birNl46N#RelRQ{gJo0$vLDZC7sV5)DwJ?a^~c@{;wU7y zySu(z0l2g*!%hISP%TNZ=}`Sxd3!ArchT$6`9I=($NyexSvb?Or}o3|Yti!|cZSd7 z$H=G3iC@FWn($O8o796?=-o>Xr%s~-$$xLZ9?g%RP@AM;Wkn58e9=U9)oA{`F~exW zb%vmGjR5^Gk&?>7cD;9#da5<#cW!T;acLCtp2+ecE@1y3zuhDc&RTvTcpc2+0YTc~ z{_clEZQ&xUN`YJ?FA}aF?!g2uyu!ZtMzwWkVH_^f@7~`pzJ0l_7_z?j+Gh{1pi;Wz zL7VF%(&OFd9+Qa{_}8Gbl=Udxe9^Peckq*J4N?vzk?}4|t7VzJo}Ql0(`02y<{tts z#w5L7#?vgyhRX`euKkXhh#+JbFO9ih00hO{55`TkkpniB9$!?8*;qqQyOj;833R-g zq|mK&Jxd3J=1cTna{v8nYzjPXJx=?mZK$Q9&n3E~FFoV$vT&u2J~pHgOL7L8FhGF| zjWSUtI_nkVw@7u>)F9m34mDZ4!OybdgzI@I9g^<2S#1Ptp3w*i(aY`ixbO)3TxQ(! ze~w0P6oep(AB~^9BzyM6y=z3#E|Jkx|4isp$5<5JDh4YdnvF5WG$jeHu5GN{mWYmU zc?ge5TbbP`P|-QksUd|g5RmKD7rISNFeaZ%2V2!7S+>5f|9#*^XI>2$1WBVe#RO&+ zH1!K(-fT5N&!Eb9W!f)tzfth;R14Hv=k>x5tmH#YYbtDX5_GKm*>8VWd+wRNl+bXM zLD)2xDUAId|1(ZKW;>p(d5y{l<2v`RPF7C;5-;bs&J!e!iwTPSw3pv7@sf}%wmIoL8oc^pw3dhe# zz0H(3=a7*@`eRsywDqa(1uK3j0L zRf!xNjAh3E0i~MUx63nJSj5@^&oco(T>Dk)3EhM9tskR;2Hm2!of-l`rCLlUY-$p; zGpyAKN7goR>+H$AgH4qn58LK%DO}$mq><6wUO|S{=>E)xDQ17m>^7dC2be(NxVDH>qXuBJHzDs z^9EhtDVmCm4N~UY9|v8h9yhxa^F=l3D|tqIzp@fVjwEjNG9I{fOK{|HdT_2OJq}iQ zA3uX$sTNg)T)e7HWU4hHE~`7K;Vpgk_JS9e#Rt9i>J8q&pas8NKw7l^(~wr3;{8hq zDx~>;6vnxa26p~K9tcf&2}!xauFR^hKfX9S z>VZ~Rn6sW0172cKNfl*s>V@V= zH11&6&S0dmR1}^)U2?d6l9tYzH)KrEH-cRSTAG@Qk5t;A5}1FY%jrD5=4G=(FPT3; zYskaKr{|a}r&m@Y*Ie+HTJY6tDvHNoKGawf>QL_F@1v;HEkYf2c6!RZ1&clfd8^r?uU8q>D0s*-=-!^BhHA6) zkBGUjQIrs@9-2}b&|L@DTYW7U^_OaGVhYEvNpxW{fFp-OWiVV$U!Q`v(HeHf24Pxl zcZT7^p4Fml^D7ZWnQBb|f1V0i%E|hCM}kLRsT?nbkPe&h@cZ{}0BHJ(kG!cH0zc16 zC|hjO`}Jf~*!u+=9QA0Pk=6H_!Lp*~*41islp)fe3kyq1z;`w`H|Oo^%OvTHGK?m* ze48wlGDYR4PtVUwS*}pn_St4o_2upx?hqcwMJgKsK}g{WpNSM@X9@@D!q5R0j?p$& zAy&vnC{O%uZnrz``I#cIOrer!?(JN#3P{1iL)4sV^J+z-H+YPUjAW5eWN8ZtqqzyW z-K+U_LXb{;$Fi@T&+2;b4=`;)QVGLP^tuGpr<3snZ`U`PauHe}wCO6;tDy1fRB+uc zwvAJ}9N%z6ng0k244{gYqli;4Bbc;=#ve%F5fb>`mwiCnRrcn_#=^qFe%!wG7^oV* zZxty?!dkc-9faglWz*;1p6=1^VA%+}cpLnf??w-wrt>_f9@2KkONp!z{xX_l$g13+ zeAz{nWDp+iVCl}dQve!Osx@b>8h9clKSArxUV>SS%#KDgjaNR#KMNIobr z%66&#Rl%IWNnL-^Y`L0IOHr4NnPmOEKwbIVmoQWLo@3`j3s?TpE0ZR&58ea;o19Q_ z3e$D+DZcL0r}51jF7SBVa)5yDN&-T2D8Oj%KMBn=T;>q*tyV^w5Ws|pQ7bkm>(Z9#@ZOfOC_g$<4BONY)!X%5q=ATkZM(5wi- zLEQSolan-BSmpI_wAV)O>J>Cm%&#uG)}5iZOvFs2=E^J+A8ua*|CDZlihS$XpbNkC zJxqBkg>nU7Jzt_hywS@s16T+n*@Gmg(g0DXNQNcoJHq{GP#{8-^DgI9R~yny*HIU9 z2l~G3Qd0DHEvN@hAOkn_ZR8~fS|Tkl+lcPwHRO)wVloGL!<#}}$2x>Ij_>@{rN>>W z`28w*AcX~ytW|I9RJmcn{^n8m-O75gbMRP4X_SON+1T4lKx7KpN1WX7`EI+m0mg+G zecGJsH_$giD7y(LRd=j$_0t-4{Ml8$gYD#sgwu=d@_SC<_|dv_1vNFN(~&2e6?894a2^JL)Od*msD5T{RJ{s~}6*25%5|O3~f=CAzK& zky6q1Ey`}pu*Y$l;^yrrN(Z=0qn%UF9_TiKzmZ{w0JX6adT6j(1 zEGt8>k1w|B=U?bG z61_YBHloK5`iX9X#;Or{*%r4cfr653Ir;A;qW`5`ME`tMowc*mgU^4vS<@tf%3l?M z^|gSVd2IuAcyTTDbPDY_^(_c{VEH90XtAL}J$9Vt{AIkeoutKp=eF=e8;eK2l3^sU zMcT})F(yS#z^;rzVgR!zH7S3PgS^f_yeS14Svc+(hjBcVC85ydq4y~HTaog!FR<|3 zVX@^Jth43gBcvVBjF)$FtE)Q}4tiZI(}eP+LA1mb`jyHIH(OnCn4>e90~MEFBTegu zslUpvn~hj%XqE{y7K4-y#u<&4b7$}afdmCZ1wP*1AhYMO(tLy$yWBy%4V~#F9WGcF z*r*C|iHO2UO&2fQPwogDVqyu}+it-F<{T=M)b%P;etv%7vNi9cRC4>rcp^F#PZuDs z%cw@J@&L?|O1~~Hbf~N00)pi-5Kz@Kp?}tacupo3%&m?|I#w3DD2J>2Amsu+_nn0X z!wMA(pU-g;(2re%k>Ppp_!Dpye>FH68`B2gu+F}5q(3iPv8Sd=J2oAGu+*WO zg42{?1gqr!ipgb^G+*lq(h%nBqCJmz;LK(gz1mRfcKIiszxAx5Q~Qg1|SGv zE>q$%G%tbG;+0t|NnoJGBot(~Ajp!21+I|$(vlfS*k52O<3h7q3Yu}?@#wL3Yjxh4 zjAjcwVzz*-hV{Yra^hb}QpPSqW5jQqttDSNI7NCxt+pmh8;#VW@C(`BYPkH!W_jF? z=F5FhD+n+8&^&vrH|n8$iGtA!bC(m;{MF^?`%=&oy+ZW7Z}Y&|`9xP@jV+l7fus@2 zX03UPELz>&jgKlM6LMYY#JtO!^kNEqpe=GFQw-mx>uZ**|8-6`L@LFs^bjK3XlxF@?ZU7n>{z|n*M}03`;l>=WISyNvX|y$%91??(2BDK-?`G z%x6Ws@wTyuc!J9kVXTNI$XTF=%&fipTuDjEoPFGk!6XHIV7Jl*QIC}?g*u{RVv@&u zR~@=)r9W?J48PxUE30$*M0b_62-Wr;obFK4INT3Rr?r=@Yw-D6z(~Q5I=c@#wcuJP z6y3E?$59;DHd%zR6r?a6t?QV$us-o;F0!r+vl`1VOR?Zjx*T7B8x_M zWF+ZLv~U}O9-3sKvV!Zi%dglcIBM^_YQ3(L0Xx>^6HukwA^U84`*zjR;saQs>b}Se z_KS#@6cr5^*Hw^KLT+HF-WQ5w3I zdk5rOR%>H|!&v*SPmE&r6rqH)@~z7@mZ1t1DZZUy$uy9rB_ke^H#RpH80pEra00Qm zCX4yCLKAy*sqL7d%P@&tL-!YvQR$E&ZKs~khg~6ttcK4hU0vpEmY^L@+h7vHy?_0M zSJI$zuUO#8<&{LnOSl>T7_8J@BWYNGk&$r2uu!tO=A3QoA}qo+Q=c*uJ|k0@b*R7mg|B6VNBImG5qirqyqrQGY8jyLyCI<1}*Z2DdSg4|T zAMZgOz>zU|GY(CR@a+wcP-OqGrl$;@{I{G$KK3{XPz69sb&i^h_(Z!#{R92?c zA)SlXuEx>hDixEHo7lv7VZoLD!XCn@r~=nJn&DT^sg$!lp)i0=u|q>cFc!vs2vw|T z8}&6wNh2BUB2~Vk9z`njs!(rwJpp1gdz-*Q{RVqaeE|`~Z?b$Z2q3zwGr`&uJnYdZ z`8H)lr5^g#>q~-T+hCkJDD4)@6}TMz4XUmdgfUe8zP`Sz(B+K+TPle%!{u`3C;(#I zsWQQ3`{&o`?CLt6n}@_eC{v%x111=hF8k6p@2S)a9zr=3jV4E-;|k&Q2*Dj`aV5;t z-CcRMF~R`cHWsLm<%0dQI4kQOTwLqF&XJ9UK25qocXE5^c~@adB`G zV}ib6XeKbqutz@$LZ#?J4C1cE_M4e^N0O>pO+>s8o#(+2C9*~;sl^q4p7N z8p7mtt!T_L=UuRbk4snYc4>E7z~>H4g zS)VId_-;Jvie;g6-tt1WU+mm6EU~2K|dy>n^->EP{rBtQK#C~;)VZc4C!nnLZ zRY?is!OeV=Bsol~#+OJ^{u`bS;LS4LJr(-m&>8Q&w4_j z>o0-c7y?}%UWnmH)+Z@<=Du)qwxY$MHz$AzH@^_;c1PO%`ilGS%#531d*o>*q>-Bx z@Rt?Ercg;k(5|EPI>mBr#v&!li1FW|oM#rY7%0TGAo-w2vpr7LDNcUd+Quw@%M?rgg@M{B1nDTva1FqD$~VbIDN1zZ5EP)Ks~YInLQOY3o$W~_eNT8t8ejMv?Ak!lYN*^C z7?Phayx}gcO4R_~Uhn00RDH&~E6)8#nYTJ2R>$-BJP+A{ zr`YnQ78(X2bS!23)wH(_uG(*5_ME;l6U$W*Qc|n~K;@(S;Z@$KZv>9ygk4uh63!-S z7z4*v|1M%VZhv7yyctS!Ua7;!(m^1T$i~eR9~Nf8BoBCKa?Sd2X2=fX1&tMzt#PF+ z8BxUye2H%IOV2>1rK+NmZ?MuS=QG~#oWEYEnUFNcB!`0A9Z3~+t6pQ4+U!+@vDN*x z*ko3+DjVo+rkg_|!N#-AI=2|`=a)UPYKK$>k1o$DVRI!w9K*a0tiFubQ6y{AuN;*qlm#eUodGC^DW==6r1+x%SOv zWhm-Su=&?%I7y{%c-v`R-8uC1vWv*ejjZJ5j_i(XJ6(;La{5$`bzeuHkCjy+)j%v7 zg&RhaxVgBwd6)?)Fv#&~&xC9X%=DxpUp)0eh^pO`lB0P3IYyu@5m80Nc}0(5(gxb7 zB-FD)lXCOygd>3o2?=3aG??W{b8Y@olN6|;6)*}69}0esYa@(3$NW`|%85xh%rf5_ z$0JSC(l_re2C0sPqqfJ)p5orKJQu_DaX!?nu{I6@srcaVs!zI~@OO`)^I8AZpwO^i z7o#x6hcusQjC1_|UW=00w{WnDI6+xiIG88>m%Xs-@UPMmr&Qs8b1{0?-+l8^P)37M zCuAI%-e+7w!c>Xs`~#k1`}h_tqs5Z=-Pp3ck}kx(*Hvw+#|~I)?-QX3r1xk z%~0|S3V6!D-r?Jvhdl{$D3uhSnyRav|EVG?Vd4`^x}l_>n7CjNk&J>O6fx2cTVKZl zI5MgPnJVOrjMAS!r`Fho&Gp8>Tv`AUA91)*Dg>921&+sHz` zGG_15D5JOivx%uucpg&I4sK2vCX4UiAcnDx6{r&XW!CA5euB9{F4BVeV~CGhFMsr! zyHun7{IU03o&=q>_zsLza~0Q4JGN)T`pKI^01Rg=GVD_i<(HAVnX2d0A++jdxZc8?!FcBK%DjtXOE z^LYSj>y!;I4_2LC-K9ebalo3`8!$EnNw@1drppz#WFY)NtqoW z&F)ig$BDHT>|98ze2ZD6t)>>pszw2LjSO$wFSio;3_9zL5+5QNsyJ?jk_kwG&$(Zo z(#jg#3f_{>_gx^a;a{DF8ZayblMB+WAW1Wz!05JFbM8~QBHW;zc|{u-_` zD)hJV2v__pa_!n(z5Gy!nPHf10{OGiXv_MR=_dyV^1vG?0_pG6q{XYIha*U0(Fc`GZqFvj<#BTZ{C(Sy*f9}%9PNU5x)YOR5XZ!EhpIOXr5cZ58k zruckSgGjfXraZmML)}XUjMAK<^!4p`V#}viPsqdlC6nh%!((D%l=4VnOv17SMo*s| z#(sO5md4rH25pYemCnw{IjR@R$@FiFFiL2+!MvzY;Ad+fXgR&Sw&r%SeK#_vjxuA+ zw8<6oY4sbTEs9bj zOH0d?L|vTT1f~T3sQ6M!oc`AzzfE2nLu*3KBV%Gpz*V)iMGOjfa*((?JL^y%)zhre zPG$cc7n!fxu8TYvB2n*B4ttH0ms)6pIoHXde72kwO_EQW_vn-Bdp=ux;e!sA{kyNs zWV(px#wG=o6=;VN;_rrU#~aJby5Pionqr;xgj9BQ2ApCv{zh{;7@J?l+&>Rg>ySMW z#E1M>&TyP@9eN8o-*`SnZIYW5fWTnMtf-2zsW2FBkMkhZ*4H-3HUiS21#lZBvM8FX zwwghy2c>hK_CHZkn3z$}9K~4RocAr|gM6wlKuNc*R`_qFU3oav?cN__naMh2nJlHT zjeR+kr96yngfbdyJ<wW$2a$UFkcYp8CdRv&LxGbf~Y}zO%hc1WsA+PyMnUBw>`iBC6gkI^H zI2G9!)-T05Oq5>J!7=UmTry*2_h_j#h}GXN)9rI-?zz!pWT#7M%u~*5P`vPJA!vP% zzJ`VauM(eMHEWPUI=Bqvlv!u;fmTZl2Xtgne>EOAC|UUmv{fw6B%Z#ddx=;S`_ zk!|!NBRe(uMy#45EQDS7fpR`FW!ufug24+)EK{XOshfI5EOMMNQpz8IoEa<=ebbz@ zmas0^Wu|(&_$MZXGZErNh7s6PqOwA|3$gkjPI^X)T;mToSj66UDmT%<{_S|#?_}Hs z`3F52>#OerAZ*yQm502OKq42Fe*W)3^Z0{*+uE?YHW#hwxu{K22=Dv<(qCnzU`jrU zklwh>FOcfqf1feAx)tVUVU0}0^cAH@Lu{$DoY>^adXE&Ywfr2YagsjFZ@eIQrI}6i zB6L?&CkVbs1mrJ=H`b{?Qd%dFsQ*KM50&m7P>;|5_Hj zaz3yUQORJSKK7K2z>+xg^h^e9?j(OLAYOvS3U6dn6V4j0%?G4b(^Ya(+QTnU2-^U!Z(ethD0yeUnDO;oBRWLJVK zoU78zvvByTut-N$;lpqk9+3fkx;`ii2VJX(xZ9jJim(v0nidSK6*$2On6Ls+HWS(=65;g#WB}oi{J^x3;w88cGT6+qdt_ ze#ELA$Rea8Uz=ZJ4k8`q?Hz{2EsH|9wb0FYD~bRt)s!v!11$h8!gwzw0CW2#)yXID zY76k=x$fz9Y4>Z((M62L6VH=A_xAQe42{PbxS@$N7`)aI#Z+@N(7#x}r;Rf=y6Tw> z02pZ3C;_zlNiqGyt~}`F*=fB1>FUu|g$@y@?<9ZVu}=G;`c_Mv{Vxa?0Zg4#P!;tUd27 zkZc+F)#FqdUtO4hPF()#lzbCt%mHAAIkKF=plBG6(w!gvL6y1;lNmoHS)E;aKX^4q zk<~r?7H&)FBe?qtQkFpLd{e8|LwNaPCMa4@-m-Se7XB#QL|Elrv|ct~>9U(aP>w-9 zebtmm|wwwKQ*)HTQog;29<1MEX$ zkAt8>R2;H65nhe5l}!^hl=PMM6_r|sqpm%5f*q+5>7%#svbBG6E4%gJ5f`TzMVzz8 zh&0Zwv+v%kH;=EiKjSQ)w*5w2H4Qyj*nC&SW6?{ayUwXxGobUjNeB~VmKqn?O9xYV zOlC`513_ump|H5eL5(@EXKsau#~OKO+dcWTx=KPhSUHD?giz!YHVnCI|6}w((>Sy# zjX;u%yek!tZ(Gddi0S{Na0fUu0FLrHG_(>MTnlQIEIu-6EN8ljScJT+ z=%r{*0BN*5)j6Jz-!d)X>i3|Kih1M~>b6ktCqUDa$)aLn5mo-kXCKW=T?bVG%zLE; z4sPndV9RxYtQ_ZDrz#RX$z*auLhIz~cNr$}(ig>HX|5s#zI)ovC1fmQY~8z!Tc2>G zH$qI?7+DFs?oZ)Q3rlYka`#CRWkMUt8ScZ!kSMN$+hx#=JmZLMa$6k^g<06)Yi!zM zY>q7VyphV@B>(sE4;k*RLfR+7?~PuPbvgp~Nhkc2edPj5iVk*-LLbiHVBq}xJo0&@ z$yM0PtL=_{x*(pJqM&CBYK=VJ8O#W&;~l>NJOz$DFR50|;tP}0IKAUO1V-8Ho0V*+ zB9Vz;cL-~>#FjYr$?wCK7B7s&eCwgn)%Bb4438Lolfrsqf#{!{ZcVU!!G9c#21rFbhAV&`f(&2l<%5i4bM8a64=hVYv`Gj9=Wun zm6yHP!na5x2tGDji(yXA_+WQ@Z}66LBR=A~ul@Qx#naqz47KsIA(lAagxjdyJW{^U zG*h{ZJtJweBU#i>6H;bpF08-lxhj@?!%%+e$&)=l-!pN792hc4UC#dLXd-+6cPkTh zwtW9zXYl2xKY#WA=z&`C;Ly%K@$jwQ;zb#(s%vH)-IHRS3|2c{)VHC6Vuhgp#R2$YL9vIhqv70m5 z9nVVK>@K!GPb?~~`#N#83ryl*@(BwKh4P*KVS?v(?vw*R3*WkGV;6r}+feNF@TC=w z-?dN=$~B=DX>BWC)pd=`_71oar!@etvWreAvHhrq!)74_bj*@M4O{;O zk@Lwd=)WB#jzQ07e*4v9HkOv{9UXeH8goCo|2OXyo512gl8kFYl(om&V$WROMd8G1RF+ zZTBJY&1G!Al%_&q&On8zH#$TjY@?wMr_fMKN2i?0sfY4|B5S&yo~T5wtFnT`=SzQ& ziyMAe_6}S|!t_8NZRgV)v*XD4_e?0KE8o4@prNMDQpl0AV`cAE`pcdSBC)vicG0-y zTKmyL2A6<2XW-uq)c_S|>w?af2%%ZD=U}|0&yOB}a}G)Sj#bHMpN=zFDiPKZO<2Fe zN7ZXP%r@gTW0+0@-=RE*=JNysGLH8p>aK8i+s9)Y)cNS5LEj@GUN&GC(>mF5+OEyS zKu=r07EI#TBQ%{GUE~j`T$I=@Ev0agGK$;osR2Uc$E++#?*o)KAbe6Hg;uj}D~=0{ ztO*#j@NXAO@`jGC$28R>k%8hC^7n z@ZS&nl|IKEmZdY^Yh~&b76%!>$#GEE!;m^%(3>`024N!DCv$b}>(?SBzsz1_os4kG zaeE1fh9|~{3&*kRcdl{ccRj^oP z7F+hs>RmCCg^g97&SPFxF8&O_Xz|217Kt;{?hN@1n*EZPl(MFokZz9-)!At7KU!?< zP2K$2<<7UxsKk_Adnuq&hzy7i8CR(FqH)JfN%PaOG?LKLFGt@6K`LQJacQ0Cu+gKS zogaYrh)CMYklb7wehQhIPCP9~w^LwLfL!-HFrt_ffNg3tR_% z(NmU+DagH$(CoUT%akM(CUG>(qo3kEsLEZEn-cGYGlY7VolAJBc-YWVARZVdmxW05_EiK$o0z;gkG6@{z)OPf$v()%(h zg-csv!g{08LpDRUp(n`Yg$+y(;zpy*-zg_}g!4T-$1Z;KVBd;jw_1i7|neLgng$=v4C_M!8M2s ztAyX4Xzq;3I$}aQnc=S;V8*w_q72}awvK85JCw7YK-z+oJU)4sd*z`U0;~Ha*ehFr zZT5)}l^l|D61|e+b(H!)ug~wZO?Wd=<6R5)Jx zuCZqfGdSDfT@$5>0G z?_H6gF>r$l)b`)b0fkMVJvN)gO>}&m8d6yQV*NUt0ywW8yRD9#6X^`r&uUf@M|EyV zjv~o(t+;e0wv_?`jVaVeN;{1Fn?t~9P)N~>O=7sN4{a_~^p9^wWLz)W^oWU9bm_o@ z?VnX!pzxI}THWxo^usF!g7Toy&Po4Oz5OewHv1lY;Nu@N*9I|{8R6+D_;GdG>DWLD GV*V3B{YU%& diff --git a/demo/v2-demo/images/samplereport.png b/demo/v2-demo/images/samplereport.png deleted file mode 100644 index 63e5239cfb77fac4f6e79ab1a25bd819eec971f3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 55635 zcmd42cT|(x);@|2l_Dy=Tj>x=Kzam4Kq;XKQi6a8k!C1T11i!&6RFY?qy$ijD7`8e zA|Sm4sT)E^z|cu3_l@pz&i?NC#&6s|?j7T13 zryuLw^P;0W(@gt2LhvYjKu0$;uX|I&)DQNv{`BY-Gvo@Su&0XP`dmV6g(o#q=-M@6 zU~bfT);%Y$XroA2vNd}QkJeQbk7K_GkM$+7X|cDb&Yd?p-s8e`;)|Wxy(Bw}2jO-c z72FSThpO_c>z%l+z?zAYlEsph;Kr`G^?mPwqEBXlyc< zf1c4@U;5vlG7VrX%AC(#d1qNJ7Wn?}!5p$&Y?tXnkN$aiU+TYJJ&R(aoQs$47GKYfNU?U+c}t=e%-e zJGKU$@rfiBKZ>ApPR%^RtxI)}5#;ni9G&Q&l8I)CWtnGfVal3a*Sl5C2=!%I&gyx7J|p^BrA&19bDn9)*bB8{&Ne7vuaViX zSs($rvQVn?wcdueNd4mS3(?UZ-6!>@u;4|##S9CJ>uRowd2Stf%LKBUP8C16r*n~q zt;CAe=UI=D&*+^I-C-dIYdSivGr+1n>}6t@c<18hJnx0CduEm$ zAab|~Jjv^;hXnBZe`pA$B^%TutEUO-0bBj1M`{$%pHfy7!>VjURIgSA<@w>o?t?qlY`T1DcgDb1+e;BPBv)SX*>(iM4Yqk!my=}tgkg} zw>C`#UK^#48HtT2td0;eZ@KAGQ*DF&e>~*7#($a5aB{!wUgfUe_swH;7N_n*W72ey z&zlle4SO@SD|z81t`nH7YjiPZwtL+367Mh9b`?Y3P6&E^mvJ1*PlXN3Tr>}gXYVwG z_mZ0vy_T`8n^hBT32E7(y&^a;>^n$O#T;hY<((;4oXBxmM#>vI;sY+-|GLwF`&u_D zWS_oK8$Xddf@+xCut=`BZ(Ui|DLr1r@7?V7`RnS$$U$fA%w{p>L#(m?&>}#X&XSB-4+T{^=8h;Bq)%^sDOcWHd%r))x;K zj*t3ps7!8Ew8v75G$zR{R8(%&?LN16QI7e$SSnntkKEyp0!w)lh(<)Eh!H~`i0@dR z7P_f-RXzAxX>1;$xa%RofnqetMwV8O~e ztHWFwlNS<;KvZp`is}SD#t-qKzN{DXmmk_2%1I5U5k5b zh&Ky1m~#-)?|WOfk=E|ZZGaQj?yc(18gloXPg{XJ@~RvUSaJ=TFt>-5c8F#-)r|SF z35-~(7VN{^zW8(_@O_8`alsbBkjgO~;HbM*shw&h2vrz%xaRWi>_B4=i{`rmdG zIAYznfYbjJIQ_Ta(C-m?QJEU&qORSVP-QRS#Z@44x2E+8d?~X8eUAG<)k`I{%0i2a zjoGG4ewh!j(ej3QVFY?S+N0^cAvUm?cN`jAY(0lgLARI%D{~Oit<$TZkLxU8mWJmD z;6$sN*VP8!-IM#Eaj};gvxSrho+z~`AlO@V%MhChSwau^E*UO1n!oOg zLcfeOTnC*0Az=7iOti@Mbm0r+m~KeL5jwho|BM7a@cQppxzZwoI9uD%VCphsTq+kt?f2>Eq*rJs%7~lIcii8p)Msh%L~}SZZw(KdRfTJ7!RxzsaWJ(x z<%JbRg^ z&{LrC?5w7EGA?pmXy){fS3bk65|bPF(~eX%`+=5Gi{J+4(E9z2;}*;lYgkpykI0x`?LJ!ry-` zziRT<+fnWHi(}2NgZz5N!sasgt~EtTCm0m6+aCQE*AO7|Ahno>t&Ox`7!q)=VzFQ& zrNV60&+Q62o>bt|-_RxezLqrGSxxkPl>!%i-{fVSz5%RpsMe)d(jw3i!)%S zSn0KzI2(8HukU;^f$X*#D#y8yE8u+vYia7`g7F#V^^0boqIW$)s3SiV^?NHca!!2Y zY@x6rp8a%4iQ@-6V16scr4WyU26?y`y)RpMGs@`s`ba7)V8J!5{ayM5w^OE3-A_l5 z%U4XKG159k-R#LDHXUUlPao6WVssu!`C6E6LwH=S;pDoxK*I_pW<>0=JT&Q+oi@Ku zzn%`(TebeohhO&-BCjwp^jGu?Ns9pcMtPxe?t@Z};j&APFl&<#em#4;ZfZ8eLn`6O zq+1vv=q6aX1`mH#!OS4}sQ$AdXD=ehRY?y%_1wY^mU(9(*!rn9b2^$tplBD>X)vR} zUDjh>c5wdp!6h!=K`H10{q3vx)SjHK%p@V&)#uA~OaouFCRf}k7q7&3g&eFqT4^rd z5o+Ef+Co+>3P>pI&R`WcTUmW;QiDl{?QG(dh5IH?{<0 zR}0&=^HjaN`V^(30L!u49`o(uIm2_Glz3iNyi6zLkUC)-{3KAhiQHcmpa$<@OMD3R zds7HTXkXvv;Vej`yJvoTv|l=wPNTLcbDHSLf`p<5fk=T9j6a7FOQkS;wC!2IiqxC zMcBHc|EiMAk6!nNq+DLG*!yua83>8#IQd8oy9J&?CUGa|besOtyB%c$S4uW^&EPPA zYu%tRu}ZMAFDRD{^!J{6kC+9bmXo!nc8XJVdpa^-wsc@H%lah&ui3`FpVoCd8hQx_ zi{{?6g4~d$YUrXCMD*zr8#vpbX8HJgv*y~M?qYto5{oIvcs zdRGsc7(to)!TVXcPuQsM)CUNoa~t&wRI(az-*h6sDR0OeRQ1>MABt~Kr7}{$j((xn zdUWMxXwwKPH=~FYI3jdQ&*78(5MmmRq1o?|O+DnL>?(Y+p-3WXpOf0MvkF^;Ix_r>*ig|C+ob;)v~0k2tmfp87jv3Y0SyrY2*&0Tr1bIKK& z`feT*>}%3ukM^O43rXM3)(2+WDTQt}X`u)Rd1NC9-apn&UsXc$8-JGom53YYp z)9Dk1iQ)S?h`S2F zMk^%4rV8W;Yopb+fBq*=q|YnBf&IF_D16b|E5^`lUXF)3Sou;q$C+pdJDHWe(}}Ch z4Z88xJ$h|7PuJ01L(LWNQ)tY5zVe*hy!<=y0j1w2T%og3#f4CDOi<+hs7tO4p;oGO zoQ7vIF$|Ay=!Ac*9p5Z@1)F`52Lvn`^J4VjT6$ab1$>n8&IS6grg{1omyG?f#;9 zbh5a4%A~S@e4$2;18h_*jSiu2+1t0J0@jN*PEt=kxG|jdvzjg}3YH`^a_Qd`A1fUe8UX zSc5sPBAuF06Ym=dLs*A^O6Khu-ShPLBmg(^*+G8-Fd))B{zq;w-JG2D<{*LQ#*=ahua2@xb?->DX23+dTBkjLm0U0@YY&E!Y2iTfa zHF~<{xv6N76m@cKru`EEK$pPJancePQ+m8yHaX^ptSzNC^&yGw^RJy>5fIgpldFLf zR1Qw-#~KO(zc2Fhc&Po?m?lis{F`Xyw*Dy*P8Pawg5Z9SpwC8gJo2Z*55M2zKCl9* zXQ;-J57M78zuzdN|1(t!uD^K=(__Fd0na6vfSaa0ifMWMEjy^S-((oS<2YbVQU^1( z2Pf!meUn4)evb=|1lA6Cbo0`(T87Z69a4N(3Nu|U32qo@Nl>T%&7xfQpd~#bOehlr zrK?s7K+^adQPVwr^cw_ou|f7GSybBg@@*;kQFK6Pq~W$3ob4Ipwb4Vi#|7DR4=RcJSuUkP-yuvIb;2;C#T-6!OOoV|Km@ zs~fqF*Hv3Tc9~rM01BF9^qRU=_SaoydyP~7hlMUnugpeyy z+G~Paf)>X&<|C1#MLKmAWLe*HjMchg??c zKOtI90E=Bm|OBz=CcHa`*QP9D)dn3(!O$W&`Lnecp2 zy3LA~<<;IU_v%!_Ube9bUf%7JTv?y#;;79+E=sWMe6B@}p*Oz%P^_{23gI|4=D?;f zQGW~m07&om$VmKZYQ5lY;gsVl)sH;cewR&fpX_$^(0kGce}EfF4hg8QgV>Jw*t#w@ z@Vy2O_;?80@G0qqy(Nqp=zv zyv9j>(>HD|3%&U>{yw$zy+Op&v3HxnB5WlJ=q(xK_Wnj~@NnXcLeY+x++gc2Q}0}O z56rUVfR75&jTmURX`ps_-y7LN%h&zmHh9Q)`nHQJaqCFr*7x4H%rpn9~M!$9+ z#E&*@wAeaIyhMbg=vGNts>-V~k-M0Ro66hlZkQ6!&fmF>o?TeWG{>#`Shr8!Chggj ztox32s;t(1WFk)VlKl>VtUMJNyu^+Fq`r>kpMBxqLWS6>+T-fm{CFZVz#_pUU$o87 zCxflPXVt4tht)wJHOb%HTaqBW?Y8IyXfWZO+LecNO{D! z6H8d?g!GE7$>#AePQHap1sQxH4O%yFVS4TwxUQ>rQj$i-`aOQQ>C6@3lQ_)oN=caE zmR{V#=}L=?9t3ViRLyrKV}GTYH}d4w*GN@^t4se9hV1Iz1A=Z74W6C@y^_!Qb##pJ z5x=7aNc5(qL|5M?{1!3`5DGxOt*aw`uDmv zGJZ7OPZqWaze&MqO5vz_-wifXbl+Jb-t6cTu#JX_T%zCu{nkH^>eS&?6Kbu8Fdt2+@p zsOo}rTv97IM2yiy|4>@XayY@L=#k~*!K!jzp~1osrb;06Mck5H!BTk3#RL@vQPt%S z@lLU)*LNBf3uCY@=Q&4f!j*lI+L|L2(J*x%z388Eor(?y%3c#)L0}iXG+X~4wkhO| z{m5vkn!@kqBNTyhLFSYEUVOwmj_rB#L`-+ZaMqTCdg*w;+|AB3>1fct7Pq0}TN^D= z+nKqVd6St_114}bf}1U&wtS{ouU=zPD~97_Q?x56GN#uWP#qj8VE4+fi1n3+k%~6y zwk59l<_BVcB{{vF;_2+uC(#MZ*onqZ7v{g8`qQxNSX9LQ59HUS1Oj` z$t_>?6Zn*0*7>TBLfj|S7E5BZr4lq zIu%zv^=yD)tU5t9G1F}8iM=0_E0@^Y@3cRusVZ#CnrKTFZ+Ac~ozM$FW}3S{%iUu) zhuhb|=FTmp!!oLHZb;=2?7IK-nzw%`tgx~LkAbGeZ}!C*S1$uus7lDP_}-{jS4V-* zh>-AQ+?;P_Qq|_xN?NOa3<)tQ z3wW3a>jw1|>8yAm^I?D?$F9d1%JTX28_i&GCK7l2MOjt}>(Mhc*{G#D)9m=#GYy?m z?ZhT(+cCOZp%g47w?%3Do?u@^^C)gWyIj(qayd@%jcN&U8&2pM`l}4ypy?1gr3eC@ z3Tv{roa1C~@0Xbi+4|v>iY|$G+)(Y7>}GP$U(6aUP|K#hyI{>ugvTxku1C%-%1)`Z z5qe$vqmgJT_MU^L>XL~QN1)mk*->>SL#k@?)A8h0mv?K{9{j0FlaH}-EY!D$AQ!#J zK=hUeUVy4z6NB|S*LGv~(M8;2UbeOg;`OfqO8Q_CYr)B~;!kZ*$}STFImM)_Bb{{$ z2l>$MitfTd$C4VGrVLfBQ>$!Jixfnr9!&IBGAVp_W)%27p- zAk${fZ!-eJe65*Y%y$c0fWI7_!V@+}c3{!Gpckf)e1t02{D*NRC66ey;-ZqW>>bD3 zzU6b9ym@_0UWz`f;YRC3zIq`4otX;Ok)cw8fC_KQ?92`WYqf%~5(tv@*Vf!)?6pz} zx9wM?({5e94f})lW|ZT|o3}{0M!amAtS9sta#f8!f{&Q;=_~Yt(=D8Pb583d^Rd|^>uyl5K!OL5wPVru=Gr%l`O>tkEae6oDx zt_576B-Qo|-_jeB(Sp+ERFTKw+&c|&6=%J@f+^ALA%v*K}r}$<)lLqaSOZ-aiFhy@d$F$s4d<{zXEFjoTrG-9( z7kyZTO?VfmU?BMF*6>@uUX2jjy{(9NQ1<4+p-49Q8HkOlzWOw1l>UbU8i_jDK}Z z<04KD+${Bmw7DrPA9IJuyq~JF*?#0@{0_I?UD58P{_2odTQBi8pz!gMP7dG?cIkAG^d+#$&(p|R!bLhg70w->B62}eD?!W9u9Wr8% z9q+E%BR+oelJX?2n`I1tnzOI$?kO|vgnq5+)b_V*>mmo%haMfiNL2SCr`vyNxME_=hc~NIC*AqAXKp5WJV5exUKvwP z*bC09@L*%h3eL-Mpd^?vPelH%w+duVu#4y!tUSIn93Yc4JNY;lDOzt(y&gZe7}U2a zY4aT)^fhSnmWsSVovB^~0G- zv$=-(ec1N?2B<1Np4=OJu3bUB5k`D-JL@V|z68P}sGp%Rshc}<+C^$5$nX67y(AB* zGe9~hVO`LMu{gD6-@=%s(SK9Gc~71J;Ge+eeS61g?8ay5FPO9o3(E7LVp+~T;;2Sm zV^u*&vKAnQF}xT)_nQIvd>ssq#>!OVic*Oh#ECUoN;3H291c5=QQ_Me=ai|OBK z;NLm-|Mx>^nfsXUgj(RSlg^=PTSJ$5vo&kO;BO29OI~eFvV{04@ZIk%>`OtDW1PId zhpyDEcTUBrtjynz$pF}}ZZ3d(%X!jYrt#$kdrMR>GsCc?9xFh<1+QNVk>foh4ey7y z1GlVS1Z4h?w7J-%JMKe2YaS0his1p?&QbcEZredWg8_bu@f;HajT*Y}Viw>Fa-IP4 zW*-y%35lBkS5RDffr){=!F^1bZa#6uz4rYTBAVhjP;B<2?g&O@(HB5Y9a}{j-y}C^ zSvj{#o`{0SxOLDJD>{u8%OITPZHzeBopXxc{LKz5t-VUEyAsG(5U;_^P@cdpe)oIX zu+8GYinpGdobUI-Wi*gf|8RJO_8s#f>gj6T3$Cmveq8RD-^wq@UQ7TOySWXxO*D*n zn}`7%*ciMI)4eTKBw34GtZkS=iO+szhc_+^78v&*jJ5Qt2IK^pRazgkndD85&HKQV z0>)~SQdim|4m}K8#Htt8wETjJ;Dne^?sL}iAzYa!09NKjaTMAQ z;AU=-S>v6dUt5ctKn*)n9|h8@0A=Z|Pv$rHh;e{mEkHLu6mCFxX5Jw+8UR&4C-vx? zrA6#(*G$g9t=8?eQOo*hVBYW=$q(M&jg{aKM2*GC2zPeYp*OeU*IazH+IwTi47fMj9h2M%91KugmWzzypBd^##o z$he7Iwj6ag^F!25zg7&f0~0wjZxJwRCp`vsgXS%ZRp7ZmZ?=}SVk%5RHJ6S3YxsSe zk+;ZG6>&w@#LEKFo6-9s%O*f!$?zbyGAm+DuN}+~AF^-8H-I(g-sfUNE$!T13d^1v zIvYjS;&b7Ub>n8!oJh`FT`J6t6C=!n4Q`Sh8l#qVM;3Wexeln*iX1SDn@aGR%GX?7 z%X^HrJDS>ovhL<^WM-;*t}f?D4#`<%tB;L8aSD+?;NuM|cBs3n=_odeyxbB$gZGnB z`}rV^9xqur+FL3}Dxfi5xBf6*O_=VyZ)=xsOd`%>KX@k;L?sJbAbL53ZN`{Tqc^1l z;wPo+f8X=%Wny$ZR~I!!pBayP1Z>xVtT?{0yI9H~cUc6lLjCzkWi1wNdTsk+j`Viy z5GZUrtV8tg{u#1`G{8| z*0zzdgW4kXUF~zC{?!Zw9F)<{Qs+3d4+x1)t^-$Gh)}_VA2`Q6H=`H30s8!^Ar!*646%e!Y zmB{4ykUGVK9g+;dodQ}RV4gr8bv9kkf2|-Y^*}72lztyBThMC912Xu`HtPrHnJe0n zVJgU|2%gGuiy(j>bpho~iU^tfD$5t>C&Ta=OGzk-tn3FOU%ij^IA z+_{+qMnj`Ncb)TVwCZJx`MrjeGoh;bylj+vgtvguHRS}M{`k4&m}(OagqbV9!wlE} z5J4@|3oX+lchiJiQYzG1O#&dZ#e3f06HC)t$m}f+C5#bvbywuvqR;qRnOeBETV4>+ zTQ){`(uYC0@4Dtn8Sdiob&FT4-AiGxq$-0~95Ou*9tVg@*?aDr`PZ`e+#r~I!dP)5 z5Zql>Euowir2;6@TC#S~;-!>?ltw6g1dz3Delm^?Ln~LI6Q$I|tu4FG6k3 zP7l{JGS)5h=>1-<7FIR|;h1LoQ8r-ozZv_qha5E;=MDoF8{1~5e40bFwrro;$pRup z;jKPEVK=z>U*iEWm;;dR=>}-kFdYDZ`Aypwa5FJjL;@T)pb-J+2MFQ61%b4O^ztGH zf3X~3s(v*wMlX+4c5Nit7^lUF8t5I9mik}DFRE%J$cah|-#<^A1U>Nc&VUH;Hz?@e zkJ1LyJ~aMcJ_M7`FmRuz316pYkLw-%U#19qb^8AZ9(wXL$N(SprfPRKqxSqi{oen8 z9$+|h@23+)T&jBdm4rFW-%dY6G;Ku+&I^Sb2 z&NT8ACYQ;k?xO(L# zI-zIUE7YN>BP{;&*Hx*F`!Iqk4K|7X-nl|}sQpNVo1D_+{sx72jabmij}Hi;6Pk%Q zR*>yoRchL&lT+08yAP;3XT~6B)9LrAn@gzpgPn?JRg+tr{ObVPdQoum@685xv`H3w zPBWqOGZfgDh`5t!r``Z{WdcA#6Ut%WcioMWFFQf!C%%k%woB4E#B*31 z0iKmt!Bxb)cDcfp|40i>tL?7)8~pwI8-;3fLKSqRmMShb-fQj>gC#Z@?=OE=q}7l)w~-UvfqDQCm4 zFg#1hPO}pHtI}MiN%)dnIQjSqJ+VimXim_|Jc}msufIZBq~ZyWbHOx~SGlQdRsGGz z;+;~+LRueFAEpW@nQTL!nyp&zR8g5Kh?zcK5vp@~t1B zPFn1ZukORRx3xe4Mr5D@u4V@h3YKAgTLV_=<=g@4qk}5W0Jaq}Aa6SW*uRHVoYHKX zr{_$~-pcBMJGsrg;p6wW#1}40gYRd)uI#Udgxrg3@2?KpBME}st0u!gGJ)%P$~AJn zkd|x@0}%5$5gZ`DFO15=qY>&GIa70xLw};eweMRs07RVvPT7>}go$9l=385vxFZxd zCj*|7o$Az|A913wl!=jvgRQA_my*{}Jw=KwA|W;>%O1<$4!tBbT5bWEet9F@9n4f5 z%#70L0@&GzwE?HmL7Dy-&*)-4rO+urenMyM9POV0bnx+?nxay9#%yzm=)DKk@A0o^ z2g!cc-Egax@TT11pp*Dwv$x8NjNQze$HufxnhgqBL{y!ih4J%g9rXCpgt=g!#UgA9 zc@*8-@Iu4L=-QaK2^q)<^6I_`IYA|C8|wU)U2I3rf!=7P(l?7SUd7h~Zcc^6Rn&6N zS%YI!AhZ6^#z=-~z>BrRJ@jFszJuxP0u~LEV(RgJ)K4EqF)ew|Ejik_Hv{T| zdo@48EgH)525#0jQfnJC9L_G{gjSKOfuG1|>gZgjRLPr?n#JO&_`{v}c14=fFJ^NM zjO0nyxLEgj+uoKD0h)C?6$#dZm*F1g_cT-tq$ICCJ1JnXB3{zoQ^850n5MPGw%m{~ zSuiyhZ%Oo|#|O>z>#K9l@UJH)slR9Bv98uKI|De%+`LpEF0}D>FeHYe?>wv_ z*1H?ju}MNps-{q{P1o;)$ZuW2aV|7z&%HZsCgna&>t9%Scgz1xO0?iY#gJxS4nj`k zh2C#mBPaUgk;SsvvBKWzHPk#@l=<->tsZ}HU8&3805R@AmwarcoCvep!`tp@aYJn8 zox6iZM#k?7m}CM+!+rLYWg)OOIboHY6L(T1L^)>&0)am>@j)@5BAi%B(`Yt(fwzK) zw{>ISRt3lYZS=_9MpJ6zU(Xqp+jM9ARtP;hg#iXdnYVWR^vFo{LG}UjznvDs$ME5i z^h-|4rzGEjXPwD2()fYPiws2D$nwv|LxJP#**}CuHn{cxAGP=OSn(?!w()qhOoM); z^K?F;Y`Nj`1A}kfk%sr~LrtNTS}0+u6e&;DgA(8Rw?Sa*_<)cZaa&PN3H1U(H~VxgRAE8c~o4dtgJUo#!Z4%Kb4lUJT`_HtMv6T+RwBldktp_og>3@?8?kHx%aO$ zFZ6fy#}9Z6;QE3#^TP7#%)*<-e}!L53eC==6pu3;E;Sx3trf9E5YSJYt)u3`ISPQn zZs$@QzH-|QTxbg)akKV2;^A;XijvhyA4X~kYn<}S5#-$O@r!g6Gf0XJ-DN@rcZv>< z?JlOVttU?@VJNhq0Tgd=ov^$a?Bd`>b<_zVU!}%1)`9qK%jPzQZn*m}?tem>S1^CGLR=VykO$o_I4{q;N3Cs-I zn$9IIzSm9YTR?c)=-i2S!-w^{z}C~_NMm`8LQ1haTa}G!UJtMvD=0t;6RCx+-Ry*u zE;0RHEAPbdlDF7%qqD||c3jKyl5+Cw1C6;o!g4o`z3n6-6>PevIc|}${FHk-%8I#R zMSvU)i+RgDd;!W^-h)w$TUB^3jqmAF^NaWYxbPM3$c{-8ibge}YJOz>^2+qHc#AZvP-nz5CRe zuGDK&+^h|u^!xyOJ|LxH*L%OV63RcnUTtNPoSHJcTXw3?{+%s83O!F`(@4Z3WJJpR zA`KZ@?=P8$R+w)ZV$Ur$8WkxO9^eqy_q$fnk^5%*orVCpY!<)}ihhD|r|B*WeGji& ze|G^aL8JrFK<~OQrBMnhlE)V)@*+tgby$YOugz2xy3MfwK~ckI+Vj7+Xx!i`#*V%b zI|*uiVV5XXQij973gKNPbd_K4dwv^UhVcx7m|ZM;FAW+8!uVfTUqjh>>5DF6k=y4s zBQ_ub(@c&1m`H@Zpot=coThE5=d4N6O5osw9FXHxgiH`qNd{$}iQM>YL=M`0N+dG%HiI+lkrSG==uW5@NRL#%T=0)PTre?geV{(1*g*W z$^ir}8r2SJtlJZRKa#<*#&dx>fLWGb#+5eSQN~rhG(N1|=)KeKa8R8}c~8lsxBwx> zNSog*J$|q3m`~paW&o(0(l$BufhMnW4jZRwsH_3~3E;MM=|b%V7OtkizEVLMMW@ek zN(4k7(!%5q2TRCCUI>5eJY+f#l(m?zyle&uL@lTT1y#NqAZBMut65BL z&7JyS9-&V&ExaDnSpGt+v`9Btyt1(Ei=pcMSKOST&(VIL^PXz-+>qs{tLnZ4J8Upn zbcBi=?hs9L@QntRoK%&G-Ofx-w=EZ_j;!Lwl`u|l!kpTwKOWC%tIFzC0@&%|8-fe1 zX@S)xxb>S3XJCM;jjdw3L2RN%jxchAO|y~leGRaVtBZ1!9}#*C`|?c?V&o9!rRf3S za2h)gqK%P{(13*n1GPs5_kb7`m#LAXJs@v*jLR1=iS9eHo1Q-jjgko6WTi)r`-j6}8NmoUaag(KZlxb^2Ao;@0snXtr>+pZ!*Aw8;K| zvid_%S!2-d+G{Rn9(f>>RQma$xlJn=B;NxY5LVwRjrWiZ%eG}f-`-*yGTGqeA?E2v@}D`^}EbG2v%X&_gK__&(jTvOlnfmW3^l#rT`zDBTBHGO#Qgz}wGAg~3YJHX}UUAV&pAMRvRY7@-`cbdz#R8oUA>a#?tLmq7 zc(LP}C0el@e45c*k{>r-Xz5|muHS{#dIdrTbG9wMaxUbrR?Kftq_#{nG9E^M6_G?4 zH*3x1VwL_eKaZS+tC;~S&`lk9T^H;r;nu_ zH>mqro_9PX%`o)#SyVg1NotfRb`V=uITsfA^yn2!er5;?IgHIeET?Gf^6u{mo zp?gDo(gI(oBCj-{Lu}Izmb4DV74Eb|9GvIp46IQQ6X&_&Ttm|@lMYNpx55;LUBDb) zPXbYTEh^sKSZzbln-37O5!X=SSXB+$nu;X$+B^_IlfX*$q!YqD)o1(jByl0RTO3oA#H@0_(Ri1v;yDsP+c-VWAPcWI`n?9^Ur0 zdz1u#-T3i7Pg(aEmOq)L~-Vf#@+Aq}@;d zxh(UBPx#p^O8EivtAiVc@4A8x`LAsEooPSp1k2m(9oM2fIAO^}Gv3`mgMBG(4AL{P zl`jBn6aD_%mfOhO3&4a0)eeR6<{(>zvz(HR@*~=wh4FaLcKPPG!0SwaJ*aQ5^P)^V zst^|%4x+7;XEhiHF*@;c-S#&YTM zR1nbX@dkhs#0R8Voe+WN1==;OGZbSpiVUbS-FB zP@@!8P??f59768qxnz6tsqPdmMN0IE3bp^)&OtFdEg46>CW%tSm#;PMcKpDKOQ<2p zM1b!8MDA@ocvSkPaj2!vQzUN6a$lkZ21pxhwC<&c#y^wBV{?2TOi#^y#-zbw0WLKa zmK{u4;5St2hvUp`kv_je;Fbl2tvLue542S-*Fml>Z1tVFGxvsbtVLKhCVTO(eO5*j znr<@<Sp=)sk2|A=X48*`zG3MA@~m~VXPf9u zqu>TrsBFHQG*9coC29rjiI=RID-}I>WbM@Bo0;|Ahabl0LRImeBf6Y zG95fMiO!<6S7pebWm^?Im=tWQ>D->s2-q*Xd>d)L`k~t*$8##=Fv`#h69&j@X%GLT zm70f=x{&f?TpWNPk=D18j*$$t->1~JL&9e}*)gZ3MIK3)pbm>jznWPDmulXG$p2CHISPDdf4c4L2DV8oqEk6+3s11MZZ!{I4`Ef+y>Ncd&J zN+{IHSjBW3KJc1jd3j^so;-zj4EYs2Y-qnn%Ux|o8dh>61Ol9Y#0MG1Zad)3ZBcMQ zvHKUZ2NYyY-PB0@b>ob`Nf$mS!|%vnr=izE-?S-->JgHpfQ~&AJHTS@{k;((Ls6^_ zPnDhR@>7jmsCR5B#=9U&uEr$dLVC7aGy_0sB63 z_AETD*AIaM4->b{%=gQ_Z+||-AAgL@Lclw zCDMm9^_H-JKWE|uqa+sxAb2_Rb#t91T*{GYaY%?0jhlKB-30(GV;wXmGLJqiCb}zl z>(i%Y{g%+x@!5hS_T zvU=gmFJef*7Lmm7j>^_9>jt`yv^1aK+{5H%CIvGw*_pym?*xbcOU708wYi(0+(Iad_}Cq>yEPj_=Xo$~Cgd$o>x-+*Bs;6~@rvPQ4s;v)b)$-2%;HSdFQmTiK z+T5CMVdW;?fEQ<*ysM4eM5L`7E*;tY_OEP^68$(R6L~gN(;+Iv3Fl`yiYIIR0@yJI zrO->u!U>6n>i$~|#nckYGjz%?)eH5NVtPVh6lkS7AOxIE2Tm@H5@%-6XDT}tPp<*y zQH6I`{CaQ$u_1RRB7ebtl#3vAee`a%)PzqAfq%9}%y3z}A(oz&kmWOmNA`A@3xIF@ zLF!E(dU6*n{qP?E6=OXhhAX z%s;jX2;mT^PLe%r1o1ovjLq5_@El=fbQ7=d+jN0W3rQbDMQpP}2Cb^TgAE$z*w#^B zch2-xG-V3^+?=u zipCM?qW>uSK)pZ?Vd|ROQ7#tR*#{t8nN_8G1}lI&GyQ(}01>@0_<|HH*rg(VT8BUd z+7(i^lYXPponbWFVZfODF@O~AP67%teit84Z*ttvOwdROcdLu2U`mVvI(Ghz z1UoX6sgV?;63~$t73{b-QlU=pe{>=MNbUQZM*v^$MWfX#m{1)VzUpe{n(2g&{Aa`e zAi7ajwlc>wsAb^uDS>Rv(^jCA;cr!hCJ?;0syrIQ%&RahoFpoH`N=_WFejkxqiHu* zw{MloCb+l4e#{6cgA|OOaUZFu4_XtUA#qUsG!?&ut8%^&XLIl=&i^cM@=SjFexp7> z^1_~qji#*=;yF+$!Hfa5 z=+fwSfKlhXU%hnfY&F1^J6U%40cyd2e+y;y_AYzns3+s+I_EF)29Me?-EX{rZiyc* z$IpJjd<*?|&Bs6UwXMtyi(`5Bp+A$dF&4E?+_rd*07VTL8w_lgzd@BWCSO5xzcvG2nh$e2porwoaBQ_04>5y zOXk{w$c^g@#ospjuw_6y&J-r}j2IB}zCY{IwNoxo)SNq)U+3_;u;K5xGU4xT&-~ID zSanF(CL&(2TINE5E+N5sPl1^snCHa){ZLKPyOpqpc+2WwS=*7W%|t)QpbWkhu={^) zEfDh&Z!o7@FGle7o>MUBy(wf6T*J*~)~RcEQo!&27U1H9tqZgNT+qI+K>tUS{Po*F z)dfynfD=AExbvoKw{T$gsVGyFlnoq#-bqN<>cPh(MZQP|03rKZ;T0x)J1+Q<0rhd=4p-o zUw+Rn2%jW`4P`eY;eN*;YDZLJSik}Tp*X{R4hR~KzPD@|~_#6Z_PNV1j z@?5WC$ZIy`!S|~F@elxG>X)#pRVBpQx|q=BGmyx4n|DE2ZPD;=r|km>z90IxH?Q0^{l9p7@31Db z_G=W!8BtJ}kw}v=HaY|pk&b|h)KCQ_gaJfF1q?MniVh-@2&jOd^e!SGiu9sLh!m-6 zq-z3%4xxnrfwLdfnfLvD-#OR0u2bd@2SZGrXYc*&ec$U|Yu!rbMMj_djzZQF?TE}Y z_=GTQpck(cNtpQNHqiX;pH2J<$iuSQuZUq(3a87@+CPCzhWeKq4EjuF{Wu`la%Q@1 zd_R=pTFmH+Ar^Ultw9?2*cMZ1hbuRr+7^fnKDt|u)}*Su;E z%j_y3EaX7X1z1-TmgKa%T?Vpc4$tz{oF7&IZ=zW_8ySV$3k#2?X^U%3{WCQ+=) z>w2QMksDn1bDL@}1Jp`g7DBB|kEZj5io)JmCn7ALpMND463GSX)j?oiZu}LL$OAx~ zwY%`g{JEOO7~jMTOTT76G^+_e7>N5nee209)}J1MT`db7CS01J{Cp+cMHrT-=BcDM z`09_p6ri}}ecIXX=If^5Jh&wQcRYtgFL-V*UcBS@3U`V z4$Jov-wCcq7Gk-H-*K_L-d`@O_24(*%NH#de;#q5EL=X^XxB3b4nJD$>Tb>ssRuUR zmAd-}`9Xc#283QGwLlSl>Tuc9-b(k$B;}jNATcpOba>JvxCFqjx%_T|BOdr9acMP) zz(Bp=G4#9eG^G3iaiteHqc4OyG90+8>R7t`1;J2xQ?Sq@A$*)pC65pM=&`;ad{-p@>(M{4BlK!}_BXzmx%?_e4t<_G6 zwJE2mjV}}!KcUx#G_+DPB#Y+|IMFof=2s0ZT|(VTuTkKHg}A~xQ_HX6`&g^1#$>O{$<|ZL zk>W}IJ{5$b?oDs>5JKX-_7ogtJGD_x5sdy40tX)?qb&1RZ`1bz{OfDfOG2;?@!dow zv>b*uL7DTV=XP+?-s2XA;a-44WFLYvyZH*UB)wUnPOB@F`*1fJS@CRTEZTdr{@MIW zINZ@{ogNe~MDQKXB}(f|2EGj1es8~p8M}} zhq`J5_#qsZx-v{VO(0;HgPW|F`CSo%jSWZ`f$3fbn_c}JP2@NSUMXfBl63>IvN3qn0 zmj`k{!*o2-PY-$Xn( z6vMB4BLm|fd;C@BZ>I4ZPj_p5y}6y}-cmSu_L$_4kmc(t;1PgAyCR?FSQ@0MeClsu zkzXB~TOXU-6(P*G^nIRrHufUH9J8$mtn$6gl>;zop&7q{#y>$EjRuA%`=B7cbPou| zRN|3|Cz$xhrJOHie*B+n)CZ&e6_yKjg38%Ni}iux+<1iE@a}MZD?B%TYGEWsq{3%g zZ;pAW!Ds`VFnrgwtSB`}+;7JvBRs$QdcpVKH{Jqj3v|YxG2iYR4yyWPx>#!K&tJ?< z)VCT*g5|iG2u0q7^6S=aN|kw9n&$WOs%JMil$gSMDf==vikODz+l|1e!ps3ky@IqG z?fX@ucfy;J#DJs8_~+5cnfP(eacY?uLM&ve*gXlT!z&Is{Tg~Ov^8|TDMI%{1V6I; zIi|bmay;Vfa8&Nt01S?sH6r08YP`X=q6WnJ_k+@;rB~IYH#nwbuhezR;=aey!_m1@ z?^*ic638j04F1w@^d^uce*3LfT7YT1bN?^s&RJzpIIoX8v({TX@htTbTLSa-)<`X_ zQp{7na3T#6mWO2IwL9c=k#||$%f(U8yR$+p+T@RXmcBzd>Z-o`$0qWk;~7|8>rV+G zNEOtnY&1x(UCrGdQ1(R%NEpIq&`R~DN2LMIY~kanD`BrU9zcl1wJ`h3E?Q)<`oYBf zjk=o`Xc4P7`96U+`MKQYHOj)!Tog^eZX=Q0B19-v_o3i*y`&|puLLo*+1p!l7g!M^sfo%J6g4rXl?^%jr(-*>Ksm zefG%C2Yfk+z`#I;H)RvKv;_TiLnaETjL4vC7hJ0za%)1oD&!JfllpR320U zXXOiL7^2duf*vaIQ75Vo`}({|8#_!L?WR|r;H4ZZ_Rd3$p%g51*;!pH9h~EX)I-9s zZ5(+^P8na#@2^q=EyRMFK9GH#*G6fz{FuLruapfCo$(!pM7>Q)^dkG<2RpLM(25JQ zVF({ks`Q7VU$A1-Z9(0T!a#}IE(*H$LZy z(ZxTnIO5)(F*KPn?QItkTvSPj29MZ(1gxdf;s)s0&%CViu|UoJu&8`(pvgr|$@lj? z16AYy9jFrFUNIBJy|rD;J#4)Mc38Z28$DRTvBKvxd%XByytCsDa${um z;a7m9l|0;wovD4QEWUuV9bWx=;l6RY+rWH7+D_=W9jV*qDj zX>D+G8`Z;F!=5i5!?XH4ET+Z+M;L|@ zNQK~c*N6kPXcJwhuc*x+SLRo$WNd-yus7gFkU;(ZN`N!Y5~nhK*~1x_wRG1SN`|t9 z0V^rumf&dTpB*}sGojLZdY4_DT!@*eXmtg1A$p^_+BRBgvp>7gO?yTegxpu1nRYpX zdkfu)e2I5X5xXj?6YQ0gK0=r%2rd(WgBf1+Oas&Cib99_SCzMJBpO-eY@g;#t`sex zH9G#H1qipGF%&gw(51gX4n1V%ZhUhi&f;No;Ng>&D=o1wJR}#jQj|Z6`(;ZmRJ?g$ zRslaAKkK|cA1Z0RzIuqI7*Iv60m}TjVL;vE#L+hR*>N;?BYe(EM_1y@@yO;NmWC;b z!uj0&(tq!T!yZdpHa==-e^YctrZuI&S))2!YChs7}?L6XFJnrmmMgoDCr_=yjj7DVxpenv~G zti(o^^ysAOJG~9MUcma|LDAiOElWqlsii4T?=Qk)_MBN2UUUU?rsbt^au6v0JCd-O z{}b(!A&{flYtj;f_UjJb-;Q>xb5d+t<@eHgJsHinRw0xWV|?itc+#U+%Y>{ZHt}d@ zF>fsLO0{JIWp@}^Mezg*tl}mx0ZJZ;_90ZPJ%XRS7BD4!a9J_klNF6AGVk8Cn<%n8 z$ap~J<;R->$AS<&_Mg7AXg<6ndNW+R1oOsF^4$6dO0DJkj47YOjQ?zi5PW@&1%qQ- zLYh;tVEiSJ)hnFT1ZvhwN3@q*3agnKx5Ky)1q}0CJe9|6NRpEF+asbMG4Ad-eQ!3* zR;fVH!bl9=Fm+J=(XQ?fGJA+R%RNL#QD2PE zqRLqj;6?KjuY-=#PaRuXl4%IM3E6IXRQ_*$6$vnWb09J)#?{gf^$17d+4W`XZtU)8Zrv#=u?{;+A@VEMXe6d~v>T(AI^8O3 z6>Na)TECZic|HHyRfl0f@!I@*e>S|0%}chcPEgtql*~y4phuP7vI-fexA0&Pfrtg) zht1VszHsjGIGN;cQasj&m^#BRVK=$$|+(AbG1!OmsWWlQ{5@v8vnvmEi$rY@^O`G;?%Nf=~ zBn2@VaDloS2Yg*e9l`->P!#M@JhqMhi%8k}tb~&p(Hoy#KAWp&t({?1*G+%YdBw8M zGSyP=Zch5ywTHBdR5@Ikw91$pK*_$}6Q~T80(2_V-1{ami~7eI1lWm3KO{mVTKB%+ z{G?HaS3sB`lET#6eBpo{S3EDEziF}+sSGSM=0XX4$&22%&%JPSTXEscq>(YNQ`FLE0=8Sf$KwW>kc+4b} zb^<>eNDRT%wAAe!_@j1ggix`Nx3k8V=0q4`+T7OwUl6m8utwGD9%D#&>#A@1-5E4Q z*E5JZ5}c>kYwoT7y_sCJ7Pm^qf<1uKy=UnF*bue@gjef3!V7@i_h~EMshgiqepHd+ zl8O^@ewnqB?Tz#Q6A0)qpLsV*)+yYlgwd-;w;|MC?g&$-uef$z+sJY7+Z6X8xEuAd)(t;rm9z3Ff>nCsyB4*C z_y2b~p5+2C-+y4|e{=H06aG;wkW+NEz>@%VuMn14Ho-t_}L-SbM3}R>9CJ4SH*^$@k2%gN9TuuO0$o-dl z4<*&$O`I=L}-18Xhj?cKA;A(S@(^ZdW51c)3*u9Ay{tK#sr%D zE_MFmZXV(N5C;A5n2eg|#q{4|jG?1FWN{&?0=Mh0eo!d=cD}t`PyfJT%3an56+t4$ zk3_SM%G^#V$87#ab&qa(@rC^>+2*{=TL`9ZSpZB3oe_2M;wpuc}<4m}?$eQWz9%fB+h@IDWY?G3hSNh_y) zrhSl39ayNtaNTA&&BO} zc8~`{K=9up+q!>ioRL8 z%S&SUqlJ4!LpZ}`E?># zwF@j~;p2~4Sp(yKW_=fSHJeK95i<7<#)ck+ol<9nW@$O>p&C$JP9`+ zKGS}kW>tydGugjDS~KaM?vJF&qjuXo=JC~}+5oRe;As*>sl29DfM^XA6VB5=usoO# z!9I#JpGNBZ{oE`=X{b%K0kfkn2wkgmOAdz^3PJX3MfO^km1eA5r2yeofP{&>VFSr8 z++!$+_x1Vgz&`(;X8ZMSJ&w&|luT6FfJL%BARK^-0hie5(f*A;0xE$y zPCu%R0n@!x2A6=s$l=S?mNbVtJPtisPAha20!J?bjc31*cgn)sMo;wvtrh z)0NFXFNsL6Kk2x}Ous>nj=^SsDqXO_c2C1QIl~3?!R3Re`*?gWP<1{Vep9k%!YJ;+ zTK4wo^zr%zsv$dXY7vXY#i<24!GQnym6!+n0meDttxL}%<7yWln;@(dRu}YS1*gXX z<974t=rAjyh4=|3tlURtakaU#Jsgvas*5+`<@)r9Hy0H z$yVznd>M`+cI^i^d|Q%)D1-%kRfi(>AFFuPJlN~Nv0Xrcd>wEf0d$(T1)YK?RT#$W zC=3%>CJdyHR2}eXG>Fo}d^kXc>#ZChJ4-N`Q%o_VB!WM4XmdTgXTIuN*d3uiP+wQd zrMm}#CPVO?LCiJt47XtOr?`IJ7pi)c*>i;*%UCA8Sojfd`-pg1GNDqYBX^mT71nOr zXF|vBI}td;)1K~EKO(2_NU`KT8s#w%r(~b%aHj8GKR5~PQB2zW!0#1rr6?Kk>jZKJ zw{Dt)-`M0UiZ29hD&Uu*H)S00@I@!qL`bpD-7iv=ulF&&l|FN`fWr#ID!Kuua=q#L z1;Rwa>Z`t(-t!8E>??gF9AkgqQ_KD4?FYhXvUMf9S-D7@YwbXDl)HM0`7Y0@R$=L7 z`Sg`SM1#NSJ8m8BTpNey@u1WarE$i^Qf3Nph~SWk+PuwLS68-a%Zu%N>S+$8*UyW5 zE`p5IZgtr`n9M~O$ISdxAYDt2srT15&&TeQD)~+$2g)k5iOdOL#yTIn-(GtLbA1kT zcs!xeAo>8Lvbq|0VT{oWt#=iPd7SN2TrQC^AnAjnuzE3i=hnSg_PdF@L-gh!kmdE( zduj<2%;=$tmzYWFM!vdh)A1g~qh(M~(jdIHb$?oODgEC%7)yMexs6Ne{g}Z2R z3Mm@NHYrjcU&fYe6XeW-s-BmhwN99iT$(Q<5|wTBjKu3AmbqA30C(ByR%n9KB&{66V( z5UDEBE7YJ*RtdkquDYBt6E`Q;O_jUH|iGlmtbep&>^V?zpV#sKP{5O;Ysqr+=Q z7;UtXT%rWlKWKO0KgAOBz1N#|7nsgy^Jxs`Qh+`LVD6OF4~Kar*pb08z$X+nBGry6N9+Tgqn z==DZA=ipz{ zBNOFaYnqgDlx5>85sAZI7Xu{H-?y^C?Rw#TOm z1PkQZcH7oy{!msxX&NZoZ2% z8g7$UG#rsb73vaa7lbNa;#y@CKp;G#F^jAO^K#dnXXN;phF{f&C_yYY75J>1gc@LO z6-E4Adc1S4zW>fidY9{!H( z=E2&RUL?g&5}(+8X9H!ZWvjfU+lp0Hmp3F*%e^r@Wjh;@rlk9k()S-<;|{))di| zl<)%29TVCp`Bpb$S^`Copf8NhH9^80 zkqQgP(Zk6P;`@tzgfM8u8Q=a+a?QpDOfB+OImK@`SvtP)lm%gI?dzh zKPc+{Jx|VJd|Y5g9-g}!nuy&!X*ZA~ z{v8s3FLYu{5Mg@MDsf&tyZCh1mv61=`76sbn%1`GaQ+;$_wVPt!5K1f zdU05!R9KY%G$IW=tN{PbExp2@63wFV{43nUqk(}kzS}qU8#N_x$nnLCH<}P5 zB(xnM-)N#F*_Yu%^{pO2*d&orGw)B%*9|rUo?>-QV)(%k@>*M6C1#UVq^LK9YdbzJhMj4wbOLQ;dT zqi2gG?7adjzxCQYK&x+d*Dqj$7I@Hu!W*UAcc(RJtvl{t=6FO-YxNyXZn#J z&wKdC<$+OLwB1lgyT+n88<6V?KTbO1s08K?rxSo z3}FMRqP=Pb%D=$|?Ar}92&@4+=DyL?ao;37w?H#c z_5ULo%JA3=Z+Z@ydJ671EimQqd)%d8c@HK0(g^74=+w-ix4<#`pCDHykFZM+inqSc z6cl%Hb-ZnWXahi1|0Dn+asc_~@^l{wRP-$ru6%n2O2zcL_pd3&T#86g$Ug~c#ao4Z z1JKsTdRs5VV?GdiFka%Xy$|%!9pie!cX}LNhz>i2U z04PMSi!fAINPH=9{wDg&j?<#0?%&h*Hxcnp@q1>&O}&tDd)kYGx<{ip=KD|h^52XY z{+L+Ueuo9Hqc^a>{~<4k!V=3`A@RnA<1#bfB)DR@|0lTt@a=3tS~yd2*{u{}@Im*x z4I)VFewWta+|g_-_eK~>?7xWAy;7VEYyynK!#Dc7Qum$c4_G_7KDNcv2nWt1g@eY$ zLB5y4ujkm4MT&R;&z($qMazk*26vRh^^+^%nK*d6R{T5jW2~swx7!rrF#6I)sP3DF zMtZhuaEZiMBiqeH*MZ^o7#GCy__qN4QzM_cQ_ZXTvIWNlvf}x+cCs)s>QM2_ixlfBGRP?~JRkX}Krio^Ne7Dna!mTp{rCy60x;66X6f@({UtGgPo4$H5iotS zd+tztuG`EhP~yHlI_- zyH?7)Xq4KE*u(S5d5tG}+#055k#T#$T0(=q{mBnvyH_1&`TI>KVB2(9Ng8hHjlV_f z_X>(0Qw_Lc)>+yZ?&_IF5ftk}4Qle@y*LR*e^v=a36Bi~Qx%?XU$xcskL1*sG_7)u3U!(UN z@{@ilk4;6JO=_`OHYp}i7_nC9`haWBK6`M!djob5ZTb@5$6!GcK}SLI?9>S_gBVyw~G_sF(!5 zf63#h9jAkz3pG2VPha51tzvOr721E@fB+gGaPF0g+NY+sZxnsTrI(5suM@nctpS*O zT8);VV#a{T9ZVgSp;$={+ zAiUWcMS6%^b^EjAeD9UPXZWunLDlvY^}%@KboFsGpauc&=j_F!GO8+b7yDv}S5z@w zX`bnxVX{$D3_jCta=A*Bc|>`Ek5lcWaI{vdzg!3gy>+7HkCaLa_MQvQousB&ZV)9GSP1RvqLt#odiPP< zN;S5X@ke(q8oTFItJWRES3gFi#8~s(6|5yjOj>)RpNAI zRi{!yUea=K1{?|+kUEI;jeT3L^$FJ2U_UeeLDQx~CIc99{Px%NpQJm$k@mEJwsV?0b)ONQMZC50Z9c9?_o3Uu z=m+r;P+oa`7$UNTa~8X3Ut8d!fOrSo>{Tw&8vzAZ;f?yC(1UyWsy!AU0^Lagglp}!M2{=AKKqnK}T`x{} z_TDY#-a4GP-o%27jXB$v_C5@JH^i-0yX|>%7idobjYJctR3J_9hgOZiiM&2kii7T9 z?!f{9i5+?AzTIj>95&%r+&?c4+I|H4PS54irsTg-Ij8M&LFOvvcHA?5*hOYRHZjYl7U7`_m8KA zJI{lwtK^2z)gCoXuRmc>&kHche_5uXt-q7vo}+3i%SRqLN`d);0VZTIp0i5(?CAXg z?2e!x$-ZO9&s+hzS1>L)K%}B-@xuxRYAq&o0y=z%0BHldC!4L#2>ZnW8O!n+yK!$j_)W_TU z=`Y^#>s3QNGMf?8rl#>qia*aEcXx+6&DF6?ZWH^{g{itnICgXY3jy3k);avz{(soK z-s8TcL^NoZF~5((6)iu|C~EBXu<^d|rPpjeqVb9cYzKLznPv6I?1OVfy6L*ZA*Hir zO#E}VfteyeOJDk(*YxA`FD9aDHJ|~>z2`^lH?3i}mQxp~h)Ezs>7stN1MJIPl`=$D)zQ7Wq zSl3z7=~&pm6mU!a;uojP?*`m{Vi~g|Z0?t#m|fALPE*T&?<=6&qba zdoynjvCi^8D2n-jpZ*+KaTEjvpx(}m?|t1HSnXW-VNzFgmicIgTzk1{wtVP)(%qnJ zNXHiL;E*A8O3T3fsWC`Scl}6C!LjoXC!9w>Ges1pS-2~=jDA>Zpp*&RyM_E>W1dL@ zgTS!TkmQ&V?a1ZiqLk_z<;^EQ$o#ynE{BIv+jtg)vtFp9g06RCVu4%4GUx_^9a+0J zqx+0w$gfj!-HliV+HgjxPaK+o^Vmz!hGP&)sZTp2 zslJpXUb58%_*eQx^7wU2^}_kZQkqP%G;{ErxVC--WM?6LBISL#go({klIwsX)dMv1 z8p&-5EN?da$yUFD94hyZr$5s7V5eOZDtHLSz!AM!r?KI3`_5*)Y%5l_i zBM<6f4`|EMbblt7i7Hqg0qm91xW@Q?Z|rl&Iw1M^k6H5wHR!sm$_FU(|M!xp>@F3? z$jU=qPoG6Mue6OH%>Ae4L1xUAucyz6g?6c!(C;)#WSf&skA?sUvX;m)9&+l@0!!Er@_ zT)+4Df!;r^8i2oa{kVWDPa3wq?tkneKt3V$qcD(eoFieM`YYI)Y!l&4vHB0LfjHR! z@&f#KkpPW~@edampy~&k8eoP)=B)obejR^81$@VVtiIjKg3tkW(K5@!y%Zc_F(B(v zl((p(t==lfunWNXWT+QP9P#RT`C3&GDwEDVxJIxRdo|Sy5~!0l@Slr7v?1+FIoc-R zAg^*8;F!Nt8#Hvh(=^=BQrL2b_3p@t!sa`SFV$`?Laa~GK2VWYV<~6y)i(~54WfQ- zmOz=s8`hs;g0Rf`Av8}-BY~f|fQU$^;osqUVfkKHU*GZ0uI$&+Ak*5#lVJ8=D-ybx zN`GJz08B{n29FOOGpI|Bz7Fc9TZh-Ox0CgHcc7BwT{)okc2KZKh(|z*tm?&wvqD8R z>*3qcQ}e0*t)Ulz@mEhyStFx$M%1h!&-)=ieO=J1!E#j$Ab;IrQ;1h()@7uw}ms zojjkPFY_8m3f>N}y8FwEkx3)H6Xh?^nWLwZsk~`mts_jUS3eag0U2g$T+Z!McWZDA zM!j#?|BnNWRkLf_lIt*}6$XyJyi#d0(Z=xI&t2Kc8z{OKzvcwZLWkTv3l6=GQ~$e5d(G(o<#H0p!o;R^^wEf7P@uZ*C@ustJ&H1*JpeO{LRH!7Xs}YP z|6@L5esE1!R0hyM>gogC(U%vs>msKM3!-?1VfWn}fT3X(X-x(42^2N`=YSB{LDpei zm*LY}pK}G7ki6dOqPc8Sg6$pg?_FD{{#lQsGoy8b)BNmia2E48paZEOx454rdi3$- z-B^ofWl@b?QdEb^kbHMY{%X6Oy_4Ob8y$BpD6p!IuRHB*1lpz%IE>aE?;&h*NT*4H{&S!m zUQPMxME+&hk)>Pw*t9Kq1L z+3(->dIL0YLUox!W?yLXKKodAxx(dqlW{+BAok7yK9U4Aa!*PGv0NP@)oeD&tC z5FCY!5&&A!M*c`+1NvQEw@RRv(U@tJ*g+n?F;z^tG)v;KscL_`ho>9Y$1#?XTzUXF z)Ik>5Q2hrFq+VRO(tcUpfzudRoy5HFm+Ipl1%@vM)*QEFTSD?ImU^jo509yM zI@Ps#LOO*8oDWYey}}?q6}0gnKHQZf4cVejg&fd%x~f45yJUIFjvciwo;z(ZB44c- zn$f4>W+{fE{Z=cq_T*xSi^S&Dhj(NnAqFz4!`c56q6N#ZJ@>}P8SNBRy3ZcCf7aW2 zsYwPieG ziypkInOz+zOoxFksKDcu70*7tl2JDJeqB~iUc*i(&tZ+$#F%3=_(2)>;~nyqIuYiDr&cU zN>tUo5h zDUxjxCifQkUJr@Nb=#2eH}kNqofMzUUiE8fw-(EdoCw%3DZ;{XK%;mVUEWKf>>1nI z$Q(3L0{uMT=Y8-RjexVQH0lO8+rMO#{|L)!UCD~C`cg_5rJmZL^E^K=M;oW4Szbt= z2EhhRwVA@6XyT2N?lKnIV!uP?MtxV1XDM7^L5^+@mS0b!Gy5F6!4y$JK>vM;F!Z%+ zWu*lhX|;cLg=9y2IC{i=2LcQYaZ+1kZ4r-`d0}42so>5jWq9n;W0E)7PxSEOW2HyO z*^#7GuL(PDV_qM|wDvwhp_R6GOjs^~>RE?q;?$vK?b2^s^f zE(TPeGhwLhD>9r3K2uQ*RD;Q&#pP zytE&nbz*ZSG{}`&&f+9?<+_9Yw4u(A6dj;j?xNdOEgDqLep~hAq=!pf0G5C$FXmQU zdqa#zcL3pDr35rDaTF^g|HtWvrFy-ksP z+FPl1IP7&tG3XY;NVa(r-;7RP9M@Ej3Th7-JeF(r>HOM>A?!ku8*11&pvT=eiX1G* z4^*WK9T_LlVnx*B_b9IApgd}mB;3wO8ZAO(e+oFoTugZ&Cz_-Gz){%W(a&RuP#j4h zi-Ru6r2K^NF5nkpo97!F<&pjrK|O7)xk>INY(ofP0Tty4ZnfVvWjx5knF71yp_LNT zuJZY<`ap>&Y@_Wkxie_OX544T>8;6F8K0FaAk8oOpG)CE)cI!HghacjBwJOgZYHgZ zYt?x%;IeQ=k*929AgWj*>cn-B%0YFMK-HZY|Hj{|BH{mCMfu-Y2<#A8Kqt(jHJD;p zu^m6St1d`@KdHQ-+lhsihzofb^o?WQnI5eI0kFmx{#n2*?locH+96=zJ+VF5q#hl) z7QSFzXRSL9B&-JyncLFq?TNf@vPv1 zbg57}nHURQO25YWN;Qv^P|#HGAj+|cdUF2tBfmjZntW|vD2+0!Z=FzdIkrpIdn8@; zAXUj#ylc+kQT@`zD7s183A@(Zc)xznqCPg|s2GCCTHkdz%O#KXuOxZNx7vDOX?c*wb7&N=*{ATTMRW3By_RjwZTLpwgX>ds(WaxRTQBd_LA4>iWvayvyo18e+1$=yX)1aE48`;n4q@+GrO z99$|BR_N^vS98e4gRryY=uoERZHA;-v?awz28-ZaZ3zs_lGzwJ?s zeIx6)X=j<*u~Mia8K*>Kirw+6q4f;Lq;R{vHKF5mj9)9SUvhq*;i`^9#f@y!zH94V zxK_~87Yjpt^GGR7?IN$NrgY678XYp#EYy@8@?sQWZKJY$Uc<>Naz&0IBBf8DA_S0^ zLedA9CxCc803bX-_7U;O5EZI@B$amoG(OxfRQFJ*;ex|j)33lqBSpOf4+jmhBy#Lg z&*CTZ+zLrT3sFUy6pV+2hbZ-fM^|Nzl;Mdy-DdcsL;h8F^3uO9*25djBDtxZ?kfqp z-P*30eS5mo?w5=i6KH?Qro1b0@DWpdS)y)@LYd_d*^PCWeB}2v>H!k-8lfvzD&ACt zNxNcP)HN3&p$uXX_Bv7q{^@vQG4N+E(UmhD|A?Rkku`&@^2;y$UNu-7<$?Wn!)ZU` zyb%c74m*3N+EnKZ2#%T1m%lDnUaG7eU%J7&Z^N6r(e_$8LPQELWsTLH_^zr>I{bH_*Hg9*kT3or`9m8WX zn=2;x_fJ%1Cvds>Q6d5cULYstlG+EVhQW7#=0H0@f&UU+Xa5f&?rx&$bg5_GD1<0V zqXL}JBk*(l4PE=aJ^*TK;t9_g8T-u&uZ7Vz0ET{DpgKDuOC~=5UuC3Y(!f3pIL7h* zThF8D9GuB-@9_R>@Bc+EdUf(q!A~m_n<|?ME2u@&@ZJ2OF-V(IJpBLv*tBFNA=3@Tg^zho&ngg@jtUJ0C6gd zf<(^YKN30c8rK<6vHUm30#^=RdvgUO@@}#}6Z!8wQ-$~Z4}=2x*O{Qu7n%L@%fXa_ z*ZxuknP>5TWS-C)@9hBa>Obl70SL(Ey4eX*{r|Tw((t%UsW-6j`W>x*UyHAUzvR#r zfc89sDD0INUX9o(Jx67?o+3mAu9I_bWJ1w%ik0eS@VfAHV`pFjTf)(7&S z2CZ4_p`I@BYw(~ZQz$=&QGu;kQhAN~cvcKg-c`-adAq`9M0B=4tT6X=(84Ha2D5U? zsM4#Uc^r8x zN_*58p_Ibz7lK8HOmx4Z^j(tM&Ex+u>6u>_N``;rljjR#Zf;pViJ05mdZ6h7>)6+} zz~noTlU~P{IE=F`#4a|khwyg10JSIRRQ6Di-JPH|XxQGJS`bd$p2Dz8?#3vojwM~S z46XMyzy*isstVcS-#w9!{#%C?WXsI5uPeZOu1m3ljN46@*BU&?bUqCGx|mZY=(4FE zV$SUzjRS3E=U$u;s>0D@UCUk}6f1!4VIRcm{?ORz?*tgtMp~BQkKoRO)Z=xaM@=(k zRX6d8qaOQwog>h%pCCc*@8_{wWnS;da!JTvY<4pEZwT-gmGe)=V}++i$@jVi&EPZOFw8TTnVig zcLSq=9XNl8$CqLey_7NZvhU;`v+u1(uXc2Neb9K~`*`qYK8v1@r*Wy8Jy9=G!%s$MVDf+g@y6;fPPzqeoiXeSBR;6RC#H2d&TgoQOX*Tdhx@q1)*6CK?Gid zLJ#>z_}ic7i_goLE77rapV&jhY&!x-No_#-Z4b zQTf=em4}lwO$X3GG`6VOK0(*Jn%Q_XYM!)|I9uI?@xb}8vx6Eqth!B(xc{sEw}->z z&0DEHK~jn>-)eVgj$Z4V?#Cg0dL#}{!L+=H-E#QdHXCx%AB=o(1sIEp%9Vs01OBa4 zvOBwKJRrqGf-g|K+wWZ2jVAwljOXQrq`1*PCR4Q#U`}pYWmMc7&3uySF-X(M$-V)H z`h3!~W#oiFS3hi zkLwfR8P9AId(0s=ilSXzun-VbGco1c%zS!zGy1uTOUhDSGUAo|tl!&$YNygv+qqmp zHnE7VlH4hlVJ37x-DqTr68v+Ezj=!frdk(&svV8I16sgUPGR_Tsj5RTavaV7-jbg# z4~c2VO&u7SbSPA6vsc%S%ne?>^GK^5De-852zp)?R^xQsDvD=%?aSMHg32XU?=408 z`yrv3P@7vn(sr4qZR8uDr2j1_hjBDzQl^HENpX)IGCwf@9QP|yTJ9n&)oZ&bM{hGK zExb!oc^CRk*Pdn0cVDiYuB50IV*#h2J2>SjePDjBl#$O|_cOx~beHj6Hm@3Qv!@Sj zdW#@N&SdKQ#~=8LwdFqKYd|8TbA;R1M_;8r21AO|V=<4W6yA#bl_B!ZukcY}Sjzo~ zksjsFC0nN?3rcmtjWTWu$s;*_g&w-83tI5T6TUu$nibP(TP$@3Qk=p;8%CX-ptUMS zPb~mE2o%3>S(t6fjn=^7q&~SD48K%-YQ0-en{?c~-S(LNudYr$OF$pmMZOrk)#GWo z+$!kdM6PNSV^PkLS@}sC%)!u(umwL&N~HUmX7>Ej?;hv*r~wKT#y6wc+umGxer7X; zS(@tYV$JqMej1tAJNtvJb<*>q+#&HpogM%%xd8kn>;C|1;Wyl%c(eofAvO`i4| z(U5eOoP~PAm)v5=q=W{ zWWx$<(}+ye!Z|TOo|qJ45Zd55=oBKu^OMSG=8Bc3#KPUaVr}x|IRzLK*DEk=n*qEeBQbuSk8!% zF`ZDSo9z8OzI&{^FlOQ#g6w}GTwWotKZqo~v5Y6vObHK;OEo|qI|J@B!vLS7b9eAi9{_av|?Sh@O%?g&P`}xqFTp5DwXO+*=AEX-t_gjm1-esCYQu>gH|*ryZe|}ACE2{x&~!h)f0$dCUIb>xo)yCA72sb=z5rh%lO5H zc|EL56eIu9XhlkhNs6?5iutw=*W%8k7Hcm|wy&j%Z@zuE-nGf`E2ikK#iC=QTX%Zq zYq#fv1-9p4(9Enx`DoKoQ^0RtT0d`%otE!k3e@&wfO5lSZye%t(n=pfOl!ZfvUS7?@Nlb{=~aK7uf9=Rz_QMR8w0srcuNoL`T z7EH~#vi%2OQh9@N6pFR&osnR2@U@{OD@?V8#{gErz6_(lK~+z?$#r{WP0Ds@!*YTf zd|Q*NCS}=TV8g0uf4#rf!eUlA{=ujKy$bs&zpvfLR){gFJTg7W0FK*HtOaqcXw}FL z=WSVwPx>kXD?D_9lYPqqGTb~kfWg4UwfgNr`?@!|n}5@m`8>1koc03USr$LpL6BSS zWube@&FA;mZ4MFFaHE;znl|m)^7bZY8Hu^UGNBOdOGDTD(X`)+bh6Z^p7W9p#SbE@ z*Bnh-;@yBzBC4mHlg6&1Dw-Gn<@_+u4UK+=(CdQBrU+S$|1Eb!(U3^GCOev|>d}KL zF=Drz6P5pv+s7t{6}3~<^~72J&EHPDKM8-Q2sfxw)ILJhO37a^uRD?JTdN|O=U7wa zL=u(`oT)u$C3mdA=tNR3jiQ_!)20ZmnV!OHWtHmA-zN9PpdN09?xW28|8n(ODaJONC#n%M-mj`$KXB3Hz43`DoA$v@a`GtCc&r z@4??~M7d*6xmbMv2%CSS|H=Qael&~KN59#|z4e74y@DOJ0_Dq{2X6lk{gGn>>>)n{ zZwm!EY`SV(dFkC#O&3wgCw$%Ng5V|kHSjL}Q=fKqbMnSt*!tI> zQE~qB`Q{6$I_KBPIqyC;W=`DBn>{X`qjC^@ePdzHJJrTB;N4$_{1RrYz^D7oUe`2Z zt$+`$%#q8KJ>zBhJ^`})i6}iH0t40wr`W%quDbv-k06zdXSeefP89&I5mR~3pH^i9 z0giN+ymJK?j=y?sdfWVx!zyQD&0EuKTGeE_99(Ic%o0WFo$CD}r>cNU-nkQZ02j*( z{Gcj)LOcNYLV_WT6?|kK9(3=upP`4QLNe^?lsEX_7mtIM(hA9UJ!sv2|3`b@9TsJh z?d_~9qX;P4N)i+dG?I}Vr$s=?QBVnzB!kcdku*xuCP_w8laoNh5SzF|RHD!X$wO#b zXoAoL$zQ#VGdi=gcXz+%-tXS$`ELKA&D&LPojP^uoKsb&ekbmQW@1)j?}_lPvN=A3 z1GtxrN?one4CUY8U%UxF^V$<2)q zIP2wUjFL_;seB=jON7oERO3|i!hmYD8jP~>RJh9QVxBzvxE2CDWI`nnKYLRpaBiGF z)58Mrw^hN4hR-r?IB3-tbr+rT8RQpx;N6x|`FSd+ogLoGo14%Fci~T~^3T1jfN$ut zn)kE%0W~k8eDr2gkv6u-`C;U7CQOlcos!o9pk75Dlo==bWs1DgkK49ODq5q6IEm{l zo-1;$Y4e{8xW~>_n>*9s+-NJ#Rl5bgoGmz;CFiQmqr4d*Zami@O_!BmhcjloPM75j z#*aq>%V!WNZoI9U=48BWpFpGK5!B|NJ2r4a%LoO&s12OJ#hvbVh-*mzf^#(8$(T`z z=x4JwKg7iT2ff-N@A`H@WxF)hxM4HUs$I2e-1YnbQ6a>u1X@EYib;5c~slZ(+OabD?jd}Hl^f+}|K$V(g$x8s$>*C~?LM*|y&fvuq` zJ>e@;5^#`rwsMvJ>x|Sr>!AKNDsH*{NfX-V(xIw2ebaJRP)H4+Ren(vmQEmu<2R)- z@Spa_{hkmv2Ogd(JK5>oCu1$I&ww^mB0xk1M4vim1Y)J<;>3U`2r*$5eEq9-DggUG z;8)le-DWKZ{p^?aTP<=q5TtiV@FSPGcn=iszOCJK{%DbTmLEVJ2P*ID?^k`dij4-^?q=eL#(jn zly>WkZ`m4etF}-CUDVe7jarhh&4hAH((reDHa&PkQ=hr_~fS z3T!r2R!)aXkoU9Y{mSjs-`0rkt>G+8*!)g2#z#rE4pXK0WJb`bzcKq zFYp8TN>w`5BsF~@qlm9-*y#b_zfe37WE3laQIv3)#TKm-2g7vq^7KE9xpmk6d`5W8 zc(0VYEZdP%%O?ovL@#VXk@N1nNXJoU?F8ewCyb5YAPWQxo2z284eNQB>H+aj*Oiwf zpxr(Qh4+SsgiszIEl^;qjM;o%Zb1KdRZPROgqgvk?e?O^uDZDm+mQk#LAao|6&EbI|3z}hm^0{HRko8+gjDnTBz%2Ea3LSxxyesU zO&MauSOTRl=?Ed^08k6v!bMx3D)eZXm6EW%fvx(-x*QK?R| zAt_)ngv7$;&kwAPUZ;K|U=bgMjn)xS-fV%7NhHwVq@)#*KO!3Y45KWxNa{#Iq=AJ#363j9W*?zyBCmK4{R5>%xziI^BD>_ zn9gdsXT!<}^HXuqt8mxm$wz~Kg0cM#uOHm25&^Y63_;DR)(!9tB0ipTra^Gxg{Ftb zb{0JrL5of-D&<}KYqMi3v#$3EpuPjx#{nAc<7NqX-p>+1#aRjntx)(UN4)p>#3#&d zd;cR6WMM#FxaM~{LfCdpSWvUz1HafHTe=mGLBhq03SiRt1#qsf>yH$G{Apf?N>Zf; zn!+v_cWmt&?!_hyxJf5-ze{=B{H4hI%9FlnP(JoAmWtcbSX~eT+7IBQLXi`)zc&Nu zxU8iq{)nDn@Jhx)K6oCKmh)yL)ZY8&;M&>^V4Ex}8&VFnk4hHQ^2z)3uufp|QYR_@ zjRvy%Q!2gMXH%c4p94t;p|rDp*FXxA6m~0|YH_KBMzh`9Nmkd?_D1o|ar%UFT2U3=%;CRi&+SSowJBJIG91 zA^>j~4om-+H)V658r3Orp1EGH-W)#jC-gKQ*`8Uo3H-}V%eDANzHD?AJcNR`YEAs) z(a8Ij$@D*{NgpgM_?6Jq`%Jpuz+U!~=O7QJAUMs+yZ+6%nj8Vl5!5djE_H;DmivOp zX}~*6a2WMFPBb4OkFWSbJm*h)89el`^`HN&5Xcj^q8qz^3FzYbr{fHuUBP6sOhBUe zdpV>30gNd%F!Z3goKxV4&F$MUIr@#*fTrk^mxiipKd-tF841+}!&9YS`kH#D-^I=D z`o2qRO@>urttn3V#59nS?|?V+{xNy@QQHsIsni7EPJ=ao>dqe#8W(}csz*j3!kKL5 z0kGO%TOcp&S3Igi&iRtFg!&jW#IJe0Tj8{oPoUZSp5e{6m= zs3Yxh)K|GXu9C+GPg11DxafI#2t+eXJ+nkRgM#TcT7@3g9ma;O|}xM5*V5?-$7-4_lfvJ*@F8Sq+di01orUenJ%H)R01-#0RH< zG8+8KIS>{jNmejq-6FWRJ=^JKzGG(auapI{BoDSDy>J6l6W(=&j^0Jqd&(#JK@jSX zf8dl=JT(fV@3W)+7Vr#GZYuRaY4vm-s=ekHKw11IAzXsKQ!&iOjcom;OfYO!|70AG z9ql)@o{^;lXRW?FU8WneZW;eTIJDa>@S5zQ@OIw>m!9eek&Z;C<|^!$nn2Q?ynS9sHz2FnfTA&JN-~SCxpf~5jcGFcLRC#t6i_T z`LzIz3nnK0U&cxur(33g*T)I%cQ_qDdn79xFWHmz>_x7U)ksR-Z!-g3cM6te#RDO9mO!6nu`JD7wdf2cGa3I@@t{v*?FFFV4137>f`L*}Y zS`5C>Q+wqy8zT%#28B+1k2|+_d&^;B+&yyX{KgEa{&mvh0bq=aM}cPo<(npjJte5| zcD7)Ehv$SpBkXQ$jkZGD3fSsVGE2RKz}3E=m~>7edLV+9^p_&6#INvHMQm1hv<^1Zot&s3qW!rpp3?kvDC#5MxIbHHYyEWkqD zx!fb#V{>*gI7k@Y>w)K^Lg5P0HjFu=#!N8ZF1jlX+b5ZvyRN9*)Du^GNxJ;T`U4*| zsub!c=hA%5-Ku*15?3#>2bM!M)}8^LE8QLM=Wh+~bq|X=skPS^5N~2jg}NLnYT{ad zvEW|Gqpm9%4?aW&*s4P}z!qS=MN}w|E~MZBSK9c~ty3i{#52@TGLTMaXDa;!&W$B= zxqgnXYz$sDjc5ok2dUBrqHkPXh}z!t7r}JVQY z+$L&?PiX*#Q~5^W>ocy3=KG$VkFU9aoW6^aTP!h%l>(;0uGdUC1sP}WmGy`lCpX=j zw;_AJ{Fjr8l3ct9Aw}~Tk;3^rrp;~(4^1NT|e`xJnS`uR*|ah5&cI%UYuj`l)a zzEc7HNhFc6z``0A12W^Au>F9C2UYk`C!W)ItPWTgEH)DluF*63PE7^z@}N^b&A3bF zUY;|#<#G}vccq|^%O0k**$#Mp(q=y3CFFg4JCP5kQW9{S$=jWSvua`jFH_wdn#4}@Jy;A6(l<^mAhj; zE|?*g3eIuu(>=eJt4SWT>D1@F5H ze*x*zP}bnyW~4nf_49{yU6C&LHx5Z0->CpA3d}fUK!L9Ps$2dNQceEh&;{uK_~>w_ z!9<*Fga3Xk8gT{*717h5`1Ed*HD2>+db;0vhG3}-sp&)42(=yTi&#l#4r(~4nBErd z%r4=j{q#zG2dUQKC~b$z$7^(mGTfqd$*R|hQYfn zE+SpiYkp~;c>S*SP`8sA0cdpWWM&Gysrtp10sm)WyZP~Xf6xzx?|mC&gskEdzh%?6 z93n$P)gmh5JK?{x~*i42S)O z4E3K*jIYL%+>b+V8AW?&aDN?vuV(Qp>!6mt_ym{1x&`bb{bAU?R!X(=o!YJzj@^vS z!p?7eW7)q*jO9p5r42DAHT=*U{R2tBepvuxgspV>`B$N%dgcf%K!%0kJhezjYe>5^ zc0YoAGsqYE)r9|^*5CO3rSgA3FH{i#RNb(zDRJx?MH~)k99YBwfB2sI7FIIyL^&faY_efoGslHBQcU3G~s13=xy`;R9^k+i+yD{&8pjEz<0=MCT zOoQHhb$$M9L`}dl6nK{Z;She|5Knd%lx4e0beGQ$!~7+-;2#RP9NCd1WRC(rhm#ma-aSO%$fgX_&?Tc zf0!ub74+YmnP27MUsO{6%kck3hMzA*fSo%x7=Vr8`SU&YgfsuTf&y=2)w+4DsU?Id z2yC+#R<5)#Sx{5jp+VN(8~gyM`d?Oc5M3bhF0G+PCmJXt^&y7^L zg$9o`Bzx|Ql$`AnzXhUiT(OPN4hh~sm)e4jg_`n<`=`MGyYBV@z{A)#^1=59{gEn1 zqk&_1b5SaJ1o)E=mX-vcYA=~rP+RmmKv|*e@Rh8Pn{C#rf&^ja$Cg{T8?lq10m7_P zpt<_TYthLgxw3jNZ`al|VMXYEw0RDNe|r&dCP$rh36-e=4x_X&LC~iAby)&Cc$Mff zom*Foac%+C2v}2D??9^*y#SZ4&Q2yISOz9fzd};5Ovm>Rv&85qhl3Da$WO^Puk2Y(Mj$f#-G}c0!?_j|s-;JXkOymKud9 zzA-+pJp6NG%($zYdwUSs^t?1jZXc4xYc<;WbJ74Xc`} zLTfw&Z3SnN&^W4**j3)zc&G1#FjGTEQK|vwF1B4>+(l>g7CgUN!D0EVe+<8 zylW931B~&;RFj@K@hLM#tEF&{{ya4bB+H61jRBV;3^SICX2!2Ui@>Mqk?(ql#ZY!Toizt)Z9)gdJriV zx^@tQi9bvJVG)yIushe=8KHoA(fnX6iY-Z`2gP zW_wlve~jnkd>1j>QE@t&3T3e3d`cNdbN-qYRVb44aA2A4x^+zmR#dGHxFDw%YcBSm zECJ2m6@a%rk(lbZ^WgGAy*)NP@#HOc`*YDJwW?RQ>rb@Io*4KD5}Ez0xDeB{@%pVdfFYwUV5=$da7<0;KCKH5xC z5a*zu1|1#EZ7a;}Sb^{jxZ+|yIQ#dG+Lp%|&o^q!Ppbr4aiMzk`knRcz5ATwT9V;o z?DKwe!yEK>Lk6b9cJgA=|oI{Xlm{&VLk6N#u6Bt zBtATY99XL+@r58=8Z=dqakF```cCgU##KYo^c#*xwumX4%7R~2H2hRlNq!?U^gS_)`<&qaX3Wtb8##S`Xr@y zxq!pi8?2p5cCvP6+Vk1eeFc%L-dpWP(h;Oyw;M*)4w~ZG*)n@`CFV5go!MUb=;i!S z?c{ESzD0{Ydf4`OfS944I30ShG$iP{&4=m8d31T8aqLLbriKnFdgxYCl&ki1+Wfq$ z49Z(LWZI-AKqXO2hN2nXB4>cv+nn$jCs|KzXHC4$^bB-Kz8>UQ%#dredB0vzgWUk5 z&%_X*J(#tPlrhmyGy-httE7ja4|WLzyH_fLqc^%l)1M5r8xHWl1Cg@Mw)C1_6Z;z# zu~ctxa}t{DVOuu8^tn@$_Xs!r&_Mf#alk3#U!;Y4@kp&Ue#f| zGs>5UA`48RZ9x-mW6So5R46MJIv47G)c|)ND^vXot{&Z1bpi=FxSW<|jdgCD`>oBQ zt~vQtLEVl3tlplK`;ypR`5`f2Y#bSn!3-2c;)pvaJ2QGlxe0LbgO8_+mkPz2heD)M zL{+JZyLRxmMj1PmeQ&3YeObwvyBh7A{j_p2uLIGpWpTRrvXv3x7i3#fHe-=^_`GHr zzsE!Vh%ONI+Lh{5y7)Lc9f=(E&LC!!URc4hNX}kfQgZo`f*(^-c6BTW>>Q`?nUV?C z7w_h0w~?^TuJhv5Yy`}Ats6Edph+ZWsOR_way!(y~J!gJdvb?@$Kp-jD=|%N@DCmHfv{QXRfU1 zJdkf@ZA&yi*Hva|I&I3MChvY$Z;LD2oEAag-L#4F*^!q37GV0iPt^3(B?2veEuEfj z&w%p)?w{=?X4tB4w4~5>StT2($&e?@?7W~ZEw1}+BJ9N?j*zu1TDz|Uww=pD<_J>1$UmBOoRrs{f_2_JhsmINZLwjvWh`A^XDHMNiMbbrbP;@6;qUzI; z^hLUwUyk9kXOIKl^Y=F{C;5uMB);+VJgQlzA)Y1POhWGFtzw&rbfo_5SI&~PEjoBf z9eGI+bmWXUby{3lo5p^z@;kis#L>*Drt%?7VwdmJ`!RKAjV9>XRSmaw#QBtlb={$R z*9%y^mHXP^#D%q$L}!-aa*!`=(nfcE2k9QujuXS`zgy8(#VlLBXNP-o8`Qm;<;28B zwTgxXZC{ufHDOU)mR#FY-md&eO!MqrZr_^My1lady$;un-we2oK?ZCbs@!eC!@P@)0Q$K&(LZ(ah@!~x$ZmYI#pD5(bf`&uQY-d6Wg}#e%-L& zm32F!Tc)$6^@gkjnSI>lbeXrP>1dlk^K-7iiyrk1!prB)=NSW zGP<8|?=aBu!vk^v6b+-F1EnF?TwJ}RNFpLim=Qnylb?7a$oeSGn9g)JI+W1$OI1~B zYZajj`5vit&y~S{tmBEnRRTI-lha5B9ac}btTgN@a4^^ zpZN!Xra;()YN49uN z9UbdzhE%X5b+2e$TO^MR^|G#AaFAooi$Pv*Uj7Ms3-xA!Y3$a8sTD*<>B`Qkdy}L= zVSDL(BD%LKcx!t#g%GzB8XdSAKjX;HETQk})>uX4mWGss<`CsqpX$MSOh35z44`4tqnCSEO!>JQ9qVWr<<)rwvs4Wm{p=x7jz> zkx5B`?Z8C2al{nZNl^+Lv3J~AiS8O~osjFO&)qQ2SvO_-+B+E9aP zBbsCyngya`NyshAL5rH%z3a2wVi=9!ARY+=+xt9PsKE+UlszM496o9ha#qU zU3Ynq^Q|dy7$c#cB^{qIxw||VfC9sAIPERCG(D9v__)rIzg)*3OXaW9TS-rPL6}@c z4%QfDu4~om_~02vl2&!~jcj5wKOwri2L<-t)Z+y*pLo5wJ=fx*?<`p+m%XT~5*7sP zqc*s*U=%ZokZ7<^bd4DmO<+_vNiXixTX@7_BywJAK8tU#098d@Q|M7a0_q?twu^ND z0KjQ=B^ur~YgJvj(r@=ll?8)d)%3dBe{V$mQHAbc_tBW{!Ihop)%8ubX5x90!)gGy zNL`ghm?55T&rj3eE9G@o#=rQ?#=(rNoY%$gn(X=G@|NuB>;aS~KFjgV_2j@$?zdOs zx|%1f`n}KZ#ASGzvh1_SNuJ7lDbnP9uKp-(H-{Uy>4W~_(gFa)31pfREy!#4CfHwq zho*NBHsRH;DJIU#oG|0qGZBJoCJxL3!99nuu72gTj;q6@w$TEG&fon(W_`|eQn(O_ ztPTUs#&CGDXi8=wSKRKGp+lbP2XAE#UQ3Sbk|V${n8q})!Kg}f&a)|mMkTsp+a+&p zJGaK_BHj130i=+ihCxky6%`sYy~*h#qDqGu;cJnr067OFI?VI9qI0XnRL^Bj6tDKW z!?|j`r5%#O8g=ZWNkQ%{`xhF=4zw%4i_Ucu9?0?61G9^C8W&&kj^#Y%Yw{v~`2?ll zh1{NOk#yk<#1BdKufAhkjQE})`lAR3UgBdXqmGu0ntICQ3rEK)!39TtgDWYMxoCFy z`^Qa{q6WYbVgU#90Jdz=@`AmnD>6{%wraI!WbyQM3s=3vllI}W(^E4xQPXT^SHKB< zniM~eY8^dY_P^;@{u?gnKPsAHtaK33cHnd0fq!5m`09bo)S3@1u`)FCpiR+{V$0{# zaUEI^^x?lI>{;I!wVfv1fFnX!iA9&%3}%36X4l4 zLbu3x-U|-0gaIyraNGBAbKeHEW(_TV<7%_iY@F$=-{n3K9`qi5u2ljMQV6|DyM8)N zx(xF;$dNWg@z5`4j7~dgXwJ68q`rI05^x+8x^R+#uBQ_C=^>hXp+PJMFqTd50PaV2 z*;6!bi^P4VH;jH+sZ9Nv$x8HQBZ!1x^cPIFQts2U1RZn);kS(bd7(kueRU02LDPzd zBW(GhH{|NL?G^vIS=MHD&WtCfJ^Zz>JM}jNu@lCZ`=TIPXI?tPrr8*E0dk#2&U|GK zzgnxHv;bh*$uCTcv1eHcm}ClR#4+6#AuuUi2!UYpKJ?OOIr4@E?Vn@?wG}{ZW1Clw z8X!@JBOeO%6_ojR)*$~#0RC*b0@BfHKnSl#j<}{Ug@PkW{v$v7zc3Vs`?9%F9eK!_ zCgizoWHAdiy3mjbaS z^26~|gDG~F|6Fvvz#TI+w8CpgWh{H+;=O%N~LqYJRScSyrUwqqr9Ep3UJbyU~u9!?;0t*Bn zK|&m34-G#(r;9@SUa!5=$xcPtmjR8lOACVqm7w8WW_H><5SAxs`z|q>)j0C5sp;sT zq#CK#yXo@_dDdUwfgKsMzXZ@-&Peagsqs3n+%&HGZtG6a=QV$6hq|rVA(B|Cn+9#pA$Eng@rc9%<6N1s@>TyXAEzI9$Apf<{^(zcD zbcRnR7euZ2rGL`}D%X>4J#aj;^s+KJ;1l%~msaFtg!E$Y$*~R)T@y*3luIWlL#$Y) zcjN%Z&aY{0czw_hmRo zzLnC<{?vEtr_yHb{Fxb6$H0+9 zdQS~P#e}$_2AcU*>fa1Rnlm2MIQTY9XHQI?ZGC4S>Eag;HUt=>1+Q7#;^^6}Lg_Yz z_P3Z}j0aN^>=(jT{>iLeJE(BGDCwkSL;vHlQDuG1xQ7F!f%ECw&G8epSDkxoJ|b=& zKVJ9L3wb_lddO`0b>hNj_e_O%g5CMuTvHyc$uD-9j`_cMYYT(1v6X13bMaGB(uVt_ zr<|sJ9rFCtzc@~xN3p5|M54FIxp zHPqjJq|dk;CREVP2(AMPQBpE6`}WNjXRY4@_jj|vc%+-Yx-T_QDs2O9)b+vPX3kWa zZ(8FAET{qGIO8$@;82A1x*l#jAFxI%J>^vo|Lp=6oBL=XfKXx$g9(UJVHQXnQ;pqaX`lgT!EFNingTs}@4fZG*(fblD+so7Hpy*#$ZPR{)XrNkn4SF8 z+QVb1BD`jAW2BS6^#aZlAbwP17|^F=c8kP_`6clX5U|+Pi_7sI%e57?``bi}15eGT zhS@NgeM{bp`S%7ctpf~5Aq8d^ZPG$XccDQA2=toGh*Y&+s@qwbeI-jX)VM`JPk3(O zV>^L)Dt0y4uo>9N%}%xkzgNE|e0&N(CF60b5(TwB<02KKPD&&Iu1z!U*3XR;^~(ut|CKEUJ((F_y|z9?Lhy~V-1+ZZ4YLJ`jx0WUsFY=>ZuX%DKsCezrg;{?D;LX0hKbTU3njDDVKVkgr2qjk zoBOPj*dW211McKyulAiYxI*Ee!pDJyKVETOd7!bCn&JE zn}zN0G~Vcz#3h0luf=Ww=N)=zW@SAJd!80`b_+c%cMdi*@bqf4fF>o%GcB2I3Z$B_ z#2oA_*C#+I*33?)`e0DmjcPG4mkt*G-NxtXFo&?j&j95)9;YT#TU$7q z{1;Xm&p`vXPD!3)a$@mm`ms|45UFSrmNPdlqOg^5rA>ojjEJm{x-v$r5{R0$4Bba! zo|_j~ZS(^-vH0$l5FHQd)f#tiXwCj%Z} z!Y>Q1&e`!0-meSz;me)!5Hl-dGwx0kR5(Cwf}~Nhgb$1B2V=XQh`rdEoM0;Xp-0l; zUF=wQ>LG6)0^!a|_@LNY)%n-vG@6+|Rvzr{j0h29X_z?R;{ZpseBlYWul#5!LG6>4 zy60Mt!i_HxnPo@-&B=PSZQz?XPkX%W`i|M@n%Qp?AA(J)R|tEbs0x8ye*Mum?}xC8OXON*Qt}aoQ=(JR@z#d z%SM-X4^8lzawAo=eloi_yO%tHhNWYr@wYa#HV~>M@0OLl3m1GxMY30B2%USg1qf8N zHzIs-re0!8>duMR#MR0L+yY@V=0F%P6+`GG8M))5?Oum_CGHTmR;!~Ivzy*>Al&OD z9g<~6IAtc%xOT{6AncJi6+W381qT{-n;%syKC&;(*2m$PT*T_7Mh%Ko7~EaO zeSC?71)G@4;jg%1+7?Wuuw_pe%&12EuO91W_Pa| zb{eZju}C$_5ZrEBQhQ+~{BlIwL#gGmWsEt-O7Uf)QzV+(U&+vCL&N8QdeK*(r}?H2 zbpR!*hR*2$*5O{@sK^e#&m-#X?xfaP{xLi7dN=-9QVo9ZReMlI3S=KC>aUal4qb;2 zaI%{)%$@JxQ-iYmOY_sXR!d(qv;>=XASi9Y$K;k`8?I!t&q!$m;N`^C8y&p^76LD1_VPNSQlF>kFJTacBM%VaBW+&Q z$K)!mT;Cq~Xml5tuD?xDori@-q$SG8$WzR&x4qPpuL6UrC9#@oDP5paCF`{mNopf) zdK$?F^siH*Mh#V0;0hXMKfHUm1`=LYWFqRKZYY>v;b2~!^Pm{@{s~RurOEjCc5#dD zgg}0l_G?{rGc>*|TkoA6*4q$KJWjl?O*8O3Z3pwjY^>zss`STkUV%^9HErSi9BfVp zQRjyq4Tv4J+%QV!907gjIO8;|GCqMv%c*R=D(e`Ytv(~LHtQ9k$vM)#EIYu7kr?T) zX+viJ4W9jErdmLAiTWHYoR_lmanfJ}VR5|tIIwKHhH|Rx?cGr~301_x2b=~!896m6 zZWvLf18_n^M30fLe(Z?wef1gbh{XMH8Pfe#k0`>jL%NTcO-#B|fT{tL5^xj$)(4y% zlUg4}XCreaV)WVK;I)$|PYcP33tL$X}c%yo(&=a z!>Q0*Ggy{$As-k%Z5gA=xV;#!iCQ&X)U#bq7Ca0MqqsL1b#kbFNPfdudZk;M3mr#* z2j&}$-x!h)7^cb}l3zk^0%7@1csY7hL=IR_c8m-$Y55LEchcn(ZPH1)>QO&SF2_nb zY?jOE4aB?FKNj2(^w%GX-MSH566W+kF-gC|5E0%!CiK?B%Lk}lwjou@EL%>6;Te#t z{;qmPN1KoCYTSOVtSRJX$HlvxL>-kAcB9f{(nS^RanmUx_?;D-*naPSE*hvFd+V*p z8m{&US$gXrC(J8aZ3Q`hJM`_x1FfVWliz!zZer`{i4Ebn!(r7P;UckY@p~=cfsKUV^guuZ)`GSN9{Dy#` z%NY0p@1!a%23P)r1PVMLn2Rck!ogKVqud!i1D=uXWwf2(;9hpYzTx}qicH|(9wD+4 zqUs+F_V1s6*|Tteh<<#ecQV=uT?I|#MA5t-|gMXcE+)G^mc}=r^)q$-mLdQW-Rki98>F2S>fFy5-|L~ zUkOadAJgAs!2f-QOL+4JSjXQlIT8YizyF4Vd;JoX^1mlPtmlZB|2@48eH!q;Uz^?i zNfhC~zbUVGkU#nFiO%8wF&yvzSBERKK+T0h!8gO^!c>pCGOEQm`p)B$&gauwtdGy; zLeGx*oOi}f4F6kKr3SYRMwRGE*5h@Sm1Pa$peyZJ8e0gbVjc=hqhE7#bJAlq)=F;~ zkq|>b$n0oVS5^b*mB6>l)+3F>fZ@@NQI&(e+KI)EJ#D*d59?mIjf0;DBM`piho!T6 zv!n2lOxiT>W!Hffkmgp~+^~BS-XhwYhCduXOv@TrL z)z#CNwbJ-lXDOXt{kOapWYk=n7?gmJ_UCEr^NY#vkvkvC8U{zMT1}m3fvO zEFs^yTl<@m$v^C$ZQE_VD;y{k?cV$4a%x`Mqgl_Drk4@@_k|sxfhN&z?3H2X^kHQC zg;Hf^r8JzBA$G;k5ryu_y>~;y{h2X^j~T7{DMzE62|RN=hrE>AF5+oulE*J~=P}J~7XR?gIRVud@sU}e+JXu&$o0q3&zDv=MuDpHH!E%tH}a* z#!0XKV9|uuk+gY(#HtS8p{13PxCaA#L$4~wM~F7eJgXaMv8OLeevT>;GoV)RoUST( zJeImd%y1-d`-_OQvOGMV-SE^Hs#gp=tlXsz&ze4Z3QhDSCtlyr2(V7xQr)-hUz+(o z=&YKyen9_kLjLJQ5+%si7u9tJL-Fgw$j%pgGif1(vT67!@xK+SX@AW>noaDzv-5Pn zXXpxi%;bJjJ=;Qdr^Agkb8EYI@ZllN(sSasqYrDv2ceI*lZ!bwf-65V$nxrbx)e0T z&L*$;LPuqM&A3Yr6uOQEmRM6BL9e#!W?Jy>_)>1)o@Y!hCb%nTWc97GoeIjfvwFWY zl|Lu_&vo_Qha=^l)67F>iw)vOq~ag;k=-xaQ%0=q3dXbj8)8S`eO|TuQhi+BD~ndK zkxo5dXqE}!P#ZF$Qw07lCl9{8BLKU+fcz2yA(v1T9+@Ek6NYT9KmH;1VC zM1{O>xuqx12Nvrdzn?C4XA9@U0l@evF6NyT+oMMDG^Zc8P6$l9j+9C2DA;%RXDUfOq&V35@jHgGXR|+r^yt#e7jc zRpjnHbk@9p&nD>XVThZ<(LI8FZPw9fci%f%m<2jIvXrEtzWDw3Un! z{s+AWw=EBi#lE2{E@(T%FuqmE{eFI1=B6%X`!(yfulXU>-(4b42Eu?bJMA9WRH-uM z3?VhSkhb%#dH9lxn|sj3rq8Qi&sQe}`;halVZXhQb_Y7D=v#Q!KKc9hV=K6Z{Qju6 zn)YGu``*^5-YDEVD*=KB-7WJ%h{u6czKC?4P?MmPf`_4b7S;UrxW_7$Q@aUSK;4D; z%{kM<?fBD}4N1JnIA zD!BK^1QOZ#GSVkSx#535=coD%5tEJ(L+HQYQ3PaZIe%yG-2GIwzn_Bh`=6QnlgYq%RVj_{^FF>hJpr0Iba$(U_R;Tf|r0Nj*3fzNa+C^PInU=?D@6mhH0eF^UCc z1sVPIU&sq!jFWy_0v0pNOcs(|l~i$t)^Al2KAcmEF7P5yO)(-Vl!-U|RQ0~@kiUbF zz$SLmox)+BzlH^(PI^=&xN_<$vRFGymzxt}9z31pE_?J8}(3jX7lcGILrL&G7R4dO7eiBE7(0X=O%Z zF-A$KZkODcV``oxHA6=CMVJwn~dLX*{7o zMeG|*GE=(n>&0mf64CBw1z9TIGEHcK6E#*ZCkva?px>Ja9mB)X(msTmb|EpJ|7$57 z!v9PuY`(P|3;}l`;yB{1~Q534Up!05Ph4Iphaz|q)^VU|9G$0u$|LH z7?u+Hy2j!dN9bE*s*trpkAnQn6IJh|<@4&G__KiTwk2p+CeE0|QYddC{@pP0BiI_1 z>{~P1zY1n^ip@;A+tfMV?&m9f4-0d#7u|Ca@E1~GzoCod6Uj=(yKKqP;?WozmAWZ< zjgvq+(Rjsk6fNfL|MZ{N`KdmEO^our&RI!;BjmVByEO+AR-Qow;S=)VPNgB{Rw$LQ zyf&1V=r(_JlWuj)=wVuU)lN*DUoI1ZwJxwX6f{owpGj0w0dzEmmNFE})M< zXIY#Z`z`_xk3;8|hywe4SWB+Mb}i=;{eDY;{@^*Uq}~UpO&OQ-bvF{41l7bF_Bi^K z%m&+T+<#Z=r}58fYez?=ZxXh8UC-|pK2+-qRtQ*VvmaPGtl@AW+*i-JG=tF7sPUuG z8D`hi?_B_s)$%0O7ZH;BQ1!+7baZ*?Ki}!-{pW>y7p;fdkd!KHhlK^Re7%N676~0YsFOAaWuPbVy;h6q7Y1na+4;u<0qMFBmy?SX>l&DL+ z&};LzXUHI|=XJ4WG<22)COLMDe7^PaL<_tBo~;~!Ti|{na}$UK6?4)$LITL}Gx%NP zQi(>s`|Y3Lax-7g*SK>Rre`?j2oHG5Etp(|QV?ekcGF)TH}C-4yXlHTKvzL=~pk1R6{?zM3uk zA}o3{;@!foR!%|=h-m&q*@g=L?nJSOiE6(Li;JB6@T8Ze=#0DZBvS0(0chc112}A* z5n8@{meAYndVaPm&dyF}t^JEbQTyX{{;cA$x*QSiv4k8EK73cc`7DWM`BM)G4IkEN z&kZ>z83kTJm)W4?H^9&Ze5s0~NotAnc z&?37#{q;oBFx`d~25YPRz=Q2ovfcD%ORe(fJ{AyTGk;sMaE6iWx~YARo&3=nVL`I`uF-eMAeM4&F%7g`xd3UL_$c++tfJ>Iv~R zcgoC#J_vG2jY~MXFBd}KkFQR=s}EXDneQ_uhaY%_^SwlBRVyr*s0_V|AI3B}acfL0 zQ!O(X?$t&xJ#?+mydf1C<=B0dEI$kRgjgo0=Z3>+usGW*^|q0Es{Xaf7KA_RQ@UY= zWiv$GX}9MsCe$y|kjyL%3b?$RDl&p{Rlw}jswmYL%4%;K=xsnVv$p~k9vL^{R-xfK zPWQCa{0+I%$p<<3(^=V%hed_2P+ca4%ISAegXt`oATLiGrsL$#A<9SpX0;f*Kkon0 z@v&(|6T(-C>mX{mEGIXay>OIRFo}P=uv4t@-1LArXymEEL+8!Lpv&8@b+bb9q@T*9 zF&uR73N=Vo%Q>`e76+f64Hh`wNVs9&d(>vVblJNx&EHcL z_!FclO|&PLR0!eHrhzmsgB>y%tL_pw_vU9dRun_Ci<$AXqlJz88SgR=u3G9_D`*aV zq#2ifQ=1r6dpa1Z$gFV|xWe7+==izhPB?Yk#XZX2L|Y;q+g$gQ%Jk3ib>RID5aMKm zcm3m?l;kvf72pzO&d~r^6b!^#}8`ar-)v}jlStuC@g&)C!_txcj?Flx8z=L z53E;X7%Om#w8P~g&EfrV=FAw8ii;vg%67tY$Uqvdbr}L2H^deG8=j2F= zz)ZB`=J!Xikc!l%KN}P^tgP7IzyRXfFzyK! za&ml<^&lW!Z7~43xX=sVIhtjQ&rT!?m4f~*E#Uk#6Hj4#;#;FQSwV2Vw2*gpQBQQE zlLHj_9j>WIkxKt4L~Z7yGSwa_#XpwtGB_{TS;%MR7cyeN#GCbC3otK3h}vL8 zV^t@H>cG)ud^vQ2ZXHm*_PPJSD?ycuurx834%)>pUujl}q2BA>m(2wb`ZYEM9YGg4 zyf)$ejCgwSZx7B47)o;*dw!bXk(}H|>WE_={JePssY)d-NvUMI^~naRzWyt#<8L1Y zro_>QN0gPQnfCY{evwF%5`NV=8&dm|F|#dXLyr~da14x2KKHcG|6D8b0Znf|ZgW-- z&sygz(^0QJ@2~~LWk10VY~!fPpOnrd%UxxI8rTPQXBnSZ!on^`!jWBF)r0s%lrZ@) zmHJ&yw<1F!REJ7o<_5j*|-ro*bF`xt74r?WtZdFOyy##2@p% z0fvUjeh#oopZ}K3%%bj&mj#f|P8N@L?TrW#Xz+%WVGAFB0Gns$p7i`|swCj7vw7pJ z*~}%G!=lcIhg;@DY}xFq)NzFrONb6_EuT=~R%Pkh8KjN7+166wfu>RI)uZN>SF~wC zY0kY-gfN3fp2HeEduVueL9g8J`~S)&G`#y3+L?M6#j&=EoWjK-Ww&>3le zFlb!2vJ25-gE%&b-dMjVUU_O$TCW_#u-rU>pre#Nak;SdVv|271Iqf@fcyvavUYa- z@_7r?b~a&u3?HMNf+cB$-s)I`-s;UC;Z~Vf9ctR7PDhZNe}xL?iVZVg_$Z?FDWYkU zk2UK=66sN0VBT-SQKe(U2(8V?G(E28JJmw$I-9#jb;z|zEcg}Mm1}(o2O8!0gISH( zKZl5icJcrh|2po&zvCd=#YN+Tl3riWZW=j4MIa43gMQ{cNb;tt-ftrG?;W;(5_t#n zch)QdP0+`N+(mPm;)SEUdt3ZvK@L%XJgBt2Tu5J;Q+=&F{Z%3R+<6!>B=csPKWBMz z@+!x^$mM@tWHB@R_19-@vj^r9QVD>rmplaeA}nq8Ho? zcvwdA<7y{goN!9BpYFz6Al2uc5?8AN4sRDd#d+iGi(^KN(7E98;%!B}&dt_a+GTD5 zS>~K<1?<|!6&0yLBAqi>gnUoMd(M~zH3bKDVah?al0|U+I{!6m5Xf^aX;n`?P=LRf zrb^jJ13={Qc6*o-lc}Ovdo~*7*bFT98rKFM;4ayl_vTOaIhW);musf*Bl~Ur?mSIT z>DWZFVyj()kp38oay1S^YebJ^`S>B(J`K#Jsg?>dtya8h+ST~917Ca%F&aPEP=O%V zW_mdUJQ#jR0aoDj2QsD>yx?zdNqOKDR-pAJBbwy|lYq_DX2x=1g#fzOFA@!slIVNC z-o?D|TZV(7aDO!|GZ)fcf5o#`XteYgs~#TnS<-nX?_>e1nivhgp%`y(n^r8;I{oF$uj?yT-cPkIXMLZ!up&N`M*0pf|nt^j7Lb~k}+ zjpx3yCMEzPa-}B@dn;4fTXH{6j!LUPsQ0&teU_&tU-9P`tb7jWw#($k?k@3dOS9#A ztO#Y0_To9E$N6`lS4Wn)tC46EDivu`#%w9&z05a!rp$qO_wPyPloPhYQes@H#gZfk z0-wRKurj%cM@j)>WV+WN)~t{Ab4un&~uacf~ zGSe`SXaE`j`6CX0D-$zw!NAT3xEFtDJp%gAMX~Q1*y6y36{b?1KwAdy=1adh#0yVO z=IV(cY^sh{0EyhX0&;}rI=);^Z;2kEVYiE~LOr(?^l&7+JLs5j`;dL#nZGA7Efp!)iD+~~J_j3gIGwNsSvSDB7 zC(3YA#Fm6&O_5VnPfcEL)5q#%n^=AV>;dc`YH^%^nw1$s@(}1FFMgP)#t`3u#%!Y;cAGIhL(pC2))70^X4ET z&79u(l@6*~;jOzu+eJ?0B&o7sPa;oFA~zJ2HKLMbBe5VS7m- zsC`02(^H0!@w*91d{26|euK@3c&WU`1u!$VTz*xNB*%hk zg4&zRd<&@rY+?|}W&(G5ME5t&jNw`+XM3Xwe;M)SFYB(*c60rX_VqcDD&zJDWuR&u zW60aXNPx;Pk|st+5~a+*)&7kO4hQj{t**2$ivdUoPE<%@b__UHK6;Xw1N$ttychSW zH{Bx)B0I7}Qh(cOkhp(;W~`C*R5Wm^rUd<{u{?>?`PwmIGBQu4*+x*#O{sV1dojTQ zetR7i%e{4i8lyB{AX%tm>Lk`L!zjmzq`dU%$=wLk$pM*aXl;xUKLo8XGB-Vmb-xA4 zPOEOUVfX4(D6jz=4({!POz5pNuin*@Y4G*EPi@QdXD~F(_t^?vpNESfGFv19eP9YM zv)e(}DvD+ONevKf^||JPPYO>LtOi=UZp6Xoh>FcluBz9380s<(%#?BcE4paEPJ(1bnK<0uVI zxbBadAE+%dk|Mh>GEsO1sl#u;bsCe#2P^1G`d?>!%vQ3tQ!$Q2l^d7!_5 zseFz|(l0Y6^_nc-jGl+gy;+yR!{KKs^$}W7!Zv!2zU-!0*rJ-`d%f{YW`R zE~{V+qH<=I=8KdpULh_#E&^59mc*=kye*yOW`(+_CZ64(9t*9dC&_t;%O_3|C!ZIX zW(;BVosJB73{_tdw3pQd8LYgk2lmn>a`FfW(!bE7xFdTwAr5MERiZsoxNw0m9fr?e z4U4yx$&);*nDwG=pzz_yR47@_}pdeCrSu12q74h|ARj2YrTYe!g>uw9k789(5N z|Ai|exV#P$MZAAsse8>&$HQJmeea$DQcA-uEWYYFR`o_iz|}E4I?C3z+0MAmE@Q+| zI&2MYi!cj$LGyh5C4u|suX1_?~jK`l8K}2NUj;unh zH{{;+g@MNF-mfH&cfWOLVB^2F(p{7c#H3tkQnlP_$H*)_~bG^*B6xg$)Y!! zCGp@CSs;6Bfvp|4f2FdYWt8cnsK#|q`#uj?!v8q zOr=~lN9U!D;VS8VZVHK%_8EfW3&Mg@w%i**B!&dr%#;|(NsVp#1Vhqawn0_P(KO#| zEhC<+d*E?%o`Ru{M0);X0Hjyqgfm#t_@2v+Lya_f z8Dmy*WBnQc@BJ5-)&vgTxv#sB=#hc(NRxKadlG|2Z0Ta(PSMe!!eSS^io^JWs$q-c z?>0hj?QabnB&xu0tRUnTC*$q&;Ogn0TqfOfzHU>DBKZC%WdINb{eTXhVh^@|^XRNU z-^kSUOc0)4R%jSj82el>P=B|??(5^QafXoTl`iZpjX-9sHqV|yM}n( zc)pP)Kny0okaRr#?OV#1OHyhlB|>-zA!=7@LS4vg3}GaeC>hXaQ9l@`XQ5Hf+OgF1 z5k}Zli#J|>9IGu5HFCLi7uZb!$Th$@tBYJ*U!-z=?*2^0)oy|WNF+Mq zqBkQJBHm8f0VO@&p{sob047g(;VQ=}A8ti)% zO*~kdFNb-)0(5aFrVpZrXrlzgnAcjFErKoxXxa$6=hqksN`YwMwq!%z&Lp*bDVkxK zn%>Ip*83%lG{ImWA5jnkR;pekF-*`S}0bM-f_~PXzr!5Os+;W$|5s{_EW~F0SvfOJkGe|9^liP9Ue8!V2|{} zC5dn^i__*lE{zz(X(2*26+FI9O=Y^So)}vQ_R737R>eg3Vv=^JU17T2q`GV zWofB)cU`!8g|58bnTVxM{%f_O0C+fi!Bb$KQn_+9y&!fzejJrd@?ZdLy$`ncyw&1P zWPCoAHXY!^;XM5-#F4O8NYRS_AZ@_+1*nyWW$$}YJ#5fItygi_F4NaYn}%9wi(h42 zD9!;Pv--++PL6369v-eE#om%Rjg>*I7gXKN?N~wx*940}0)BgZjXlvaTrn$Qpb+>= zR_WWsq3p6fKq)cRr*k=E3PJ#k3QmzE_)vnD5b>Qt>q;3 zx))NjXqi(IpyTOgx8vnfDGS8x%pSa72`>Kfx5q)W(Nor z3#U3ePYh9>&mR3`vHeg*kaGGF3mxvAzgmNWgNg+!kU$N9eIR1=D$$OYC>*37uxF{4ouK-Q1T)bdnsv&%!u)RVgUVyxN& z?le5KTAea~3MUtQJtd}sQ)2cSi$wDC9{wEPp9x7ZBu>^=2EFxL@<4)Qe=cfV>>G;4Fp?et0UB3lJ8yxypRx zgc0oz{X@NDgLF%PRw_3cL=|%dy{A9cDR;nmqo{owLX|9N{Ck%xf)t|uySZul@qF^b z8D3SHP;6ym#Rjqu)Cd-A-5m@2 zbO1Wv$T7I4J`E~n^U%9C*tB}5RQeAK0fcu|7FN^NvN|c@Wi7@16XtTyv+EVjO;=In za_6oy-t#~V(OO;ptqCxD0ev)Dt?J{reH=}9TXpy6Kv`mO>2FSFy<8JDuhiSHcv;Qa)!_PJE&-~n(@&=~WmRPQ2Skvd^`Ob0{~y5luK3_b#|d$$l0hDC7v$b%03DK_L?kPP;O8 z7?an!xoG%{aU3SkW*xfU2#j;uU~n>fn0uBvcBC@iukOGB6&_9s#FhhN`w^NkrC?7j zv~t54WvN-E$nm$-l)5daR;*YRwaPwe{X5jPo*dLFT$?l3#BF$AEj!Ny#k0L z=`3?~Ty5ibgb=kZKIVfd#GV>>I0%|F`m-nSkTuna^`p+R-#nHiaBwg>%iP(+!51gZ zB~uq)z?IQ9vnuMVT_2pO@ASoB{M{doc=V!v0;t`YEI%th{XI19;~{&GyvZM?sP|LA zWFG|3d@a;qux7Yg%4mT9hO$97_L6R&+bBX{(!}r+2OP+%O>29e=*nKiudU|jgZv^c zz~Fv%UL7~)aO#9<=P1h%88*K3j|9+72i_V|qHnoS2}$XK?6w=vkPKycLx)RPqXAHk z9l-lN?Ni}(<2|um(3@@On!1Kl_X_>8pEA4T+yTYsVTIL>DW23&cxs*;h5hk;W!l3V zVTpzjg+a|8H28Ksd}(dT?(Gxv6(NDwR@C=a%WRv?PLM}y2HJ|N%o1dM3YTSzgysO6 zCKvI;MG>XQGVK^#|9S?ppSaEPuWEJD%`PnSQx3we3~E<5;-Dslvof?#;rtFdF6Z9A z$>-D#(?^t6&LtO_gM%F-ylwbUEJX?YSJJw~esY$%f%EXWDZ(%*$UxV#s_Rv+nqS75 zBuyO$f!Co2GMrM&YcZwQUA<$ZH2@Lm#sK6f=8^0M7Ps{4k6PHvTmq5-<4A$sxAPr* zKV8SQZWp1Zk*0$-^W`5WI0LVjvA3-_iIpi^95n{g^wRv4||q7m?KR z%LWUv+&C+RN8sEfH-9+WiMMK4S}j>&m~mg8`ofvaTM~*^1~w7a5)lfuH1%x)^>-8_rIj9@x@c%pc{tn7>^RAYfYxYh zQ-P~ubz2sqyW(_g1IG=^{%N0EGOo}R5FMEhJ1>HdMJ->#RHko@V|0bB_m267Af!y? zDy8eTI+M^#L*dfQv4aA=RC<(9WNvmFZuJA43l83c0HeA@+U1Ov%^N|k?} z9_QUNxL?ugmYJPvl@ssj%^YHPAv+Xb_TGPh1vy!)QOHe)lHqv&rs&8Hn zs&jLD@h>TO$qo&y zq<*bWZozm1wP#h7JkU1(s@?-OtB^?52AzEd>W6!IX0LY=6ek9TuidYe*WEq@z^Xkr zO&Eo59}Vu(TKtJ7x;uZNz|nRTgspCCrLy!;D@KH4vLV!?0IZl>R0dVEi6hzaEy_XL z%Cvzzk5aUn8?ORpS8i2^ceCI!A7-M85)hxHn+`B)aRJIN_mn~cV_w!kNEC2&x@i1b z_hX?XwaEMVv@aG6FUAy`A3!!+VzbG8%a1=S9O*v~heIV;ZhksTMf1I3R3Q$mgM%zh zSKep(D{|189xqVLsJc7-+45iq2zCyL_71~Vg;H8*SQNLGAfBBsLu6pHwnlp0+pqQ5 z{`DmV@BJ8-F645UT+V|Onyp;r+`nZ<_7v-?FdBU=T$W;%dYJMi+Drr_Uok>5a4 z+JdJ8;o&L8Cd$aF@!$VUPRl`fA__!*rZ5Rgla!2DVri!Wz@O2Akyt~bg~6iFY6FA$ERa_Z_7T&?bC zpx3gG{RugY7zmf8PYtbGsMc_Ku!?wp&7ko&hpR~3Qv~D|ybez(sYmy(&wIO+zu1>I z==5@dlciWB@uGcWL^wKwE1fRVP!8Y4 zQp1R|Sfej;*u7Ef7PR`4o9AIIbPG9?RQ7lPV0#xVLn&%_U}xyU@oAscXPr3W$e^Kc zpy>5;(h{41?1Mo$YUqj4Ip6bxD9ctL8D|e|YQkz8x+&u6uIrJ+&LH{MT+g3!l7(k1 z&nR8i_TR|B`K|ZW#xa&lf~(j_elNDPdeh;=N#PNT>wV~FnN|8J2n#icUTd3zo3tAH zS}O|Vw?o7{(BJ!q`5U#*Q5OPgvFU>i5notEm2iTV?Zrbf%Rzt?D1sM=0}c;eMiCQ4D<;yeMy^sWRh?q>L>B$VNcp zM_2YHJwu@828;7tUkvpm*2XDk0sJ%2F0Ue?N8N%C4OM=54pg+N(Hj2@n?5+m#iZVc zs#Ba5eKy}qvTifhZK9$fvU}QUb3%WA?=*>nTS0HOKSlV`Z+U$wvaN1&)ZjX?)aE8Fk+ zrzK{(Tf`^0Sy4bA0H-lMt?P9X3*r{6*u2Dov{16Ls-gso{>!y)I#kJIT4Wp+vLqv5 ze5a7f9#po08%x7rN8QPF4+;3mxFcC&Ia@Z1Eu6%dD^FuU4tVQ6Z+l#MWxWz)Pf3x7 z(gbH0xGInT@_Z~!r^JK-tq_vC$z{(EcAAo7R_4si4zX34ZcKitXpRcX`Gr1T;rMp5DEoR!P_nu{pdn2*)U@ggO(dnnbAK;@Z^AtzQGEdV zx;D`e7+3-$KYMjnq|R;1YoP~&`7OsI$|qrR#Nsni-D#k?(Skn+hoc4hsrXB&TLHh> znD`ksaf-O$^?FFETm39U1DD#Prmr56=v_w$iluL>?|`z0SdXyB2YFm?x61H~7X1_c zSNKCHv0=T7aXRm)E5NGntci)^FPjRWjNS)l)xFgktDkxn5&f`@YLZ(}f?UE;Ib_Q? z;G1iGVt%Ynew@J=oN8*&P}aM9&}he=$*76Pnbj(E!<9om)>SO*)HW8FM_T8;V9Ti$ z?VeS6@RdOSP3y}uYRlf7FA;J=2TM9kSCE?SEOQX%kx$4b-mI==GN*`>z-QBL(X%92#hs#XVueot-5hicT)IkS{4&i1C_Bct zB0%lMOHs#{)j;>~w128xuM_*{I|fN72XP{y`&cA>AwD^P;^hLJQ5v@L^}G;7Alo5A z>A63zCvnOme#2}oH~rl9F+ZJ?lglH6 z029s#p$!Un#x0l=>Cz{WK-s&X1d-PeA=zC~XY@=tNld35k{g$p%B5n-X!fUht%@>K zF-OFHuzLn31a}o{iLyc0gN1>HQz3_Nec7hXd+BDP#G&eQpg)K+2h6_7i2oZQMy(fU zS=?DZaH$T@*>&QBAD%R4v=(j82s z8S_|IuaWWc<`6M^hx0PDD!sE~ph2N4VU`8X6_yN4*0Aw+EWPZNF ziZ`c684)UaOp6RvCSfoIV>crYkS@j^&uYiMrVc{w>Mc-hw6^Qj2SV~jq!h}YrI~rL zUcb|dKXKyz+K#a<6JBeCr$F7$*vp%qnH1%^-p>GP*(i8X1b*Tg@BB-lx$;bp8svFv zzS9}6e-HNLT>;-hM@aZe(7MWRR$ftNa2M^tHR5Li&CjiJ{|5=Dz(_H=y z{I(}gu01)ZGcdZg(U+m#sA>Udq#JPEEHTBX&Ez$$9#s1{iLGNe8!cthz&OpuDCzB6 zDGz>me9y(!P8a#AA~RdgE!~zRoZ%AO$^!yKrlF%H0&Z?z)t#A?P-bc5O&t-U-GZ1p z^(7AhrcD0ViUp6Bi;bWODG!BtGLL>C@#g@>2fBN`RhE2L7IegcUa!2OIm0`?h7j-G z5gg&!MVe@0xIq63OzRMY?xUWsggBA9>fE~phME@>w})jKse%F;${f)9jPt=&l)YBc zbCUzr)RY1!dmxY!5CJenxHEurZ=A2>KIs=GuE*GkgB>FhE}Le#9;ejh1YGWJQaA#Wvgpab9r*XS5wMC?X<;kvU zN0F?{iN-ED(`?)hdTIIU^YeY`Y*M+6qM7&udRr0 zS%9e1!7e(K3$%+d*x@NV>=ex^ei)(|wk_td7_{X$+AAu=pMF(n*{+l-^}L!=#>QjGpG1 zl>1HdN33Xmy7vP4XcSSs+ZJF@Q+prRYpRwkLr(?wHi%2x$B~cZ1)MI9Wm|+I0BI;# zdO5T0sXKtPSi$aaQrtLaD8u&D71sXX@9rSFMT=NM{7jwX#=<;rf2LYfFRH7}o&Bn=JJZ$Uv>Q@=M3T`CK zeEw2d5J?FVsKJuGu>?BrgaznzH*1U#uM555?N3$|4cu62x2`-G08G1XT z%z4!#_hw{20Ih~9GR<1eT!0-lK5o4s{{HgwRiwk3?Mk8b%e6~{eIVj1PuL60AKJ^f zI{{Jf2wah@^xn2!)N)?48&SoT%?e3Je#v9@SwMe1zu?zcU6NPRRZh*kH<}zMRv1-{ zyu5{(8OZ^zzX9Y0B;d3C-7d!yFObvgjMYgd0XxSMMRq<`#ZO1*E*akUmxwKN?^B2J z=#^g#voa0J%m7W%WxQ^VkPj<-gll>1ZmuQryUzzI2+wwzoskr%%nkwKqF zJi#TZbRK6h7zYE}N7#qyuoe&J1(E{;pLfu93< zRGf59l`f&Fq<<6gb^uG3dMEDKXj2iM;pKS{6(=@h`BZf+&`9I+X-di>{$^a6M-d;| zWWZ2zT&azzNhU(OXUA|k#Qg|cjlK{`4&O*_Ol8eJ_$7Pj@yKm>+VCQtQB=Ci`^qTz_)d6=xw%W6!kh{mShYL75 z9AF``olog}*nbzrdnWKa>wnk{m$2|k)?GM~&{Ou*nM_zk^RMnv+7F)D33)y*J{!S= zc4MgAPz`aX4;ewWy{uSZy`I?=H)?icm(s}OjSTgCBJBtjQ`1SmXf}ref>QksMv|3K zj`6E|TkE$(q5}~+qTs95C3XP@n#+K3I`7u@fCrs#!K=4DZQS!=B!1^I!=sa><&(O) zR+<^U*I3dG4mulsj_ReUYBT&|qMPP6`M?bkx(X;1^g$rjRA+*Ey>s^44-R9pCw}@s zQjv@E+ENz3o_$NrK>MU*K#VPPazl7=vE(iaBcb^DwpkICAHY7o(pn7i6P0|}F>zqd z1{&)Jy{n0v!Ax?&W?a{4$Ggbj_s=%)>KqcryD?hZfDUM({c>~7SGf%h(_^C1@&)}B z(>6@RK6JhMg>wo(??>Fj8*YhX98}6mZoLFAPP{xA56=w0R&KX#i)f{L>X zIKApiDo89}YjKv}rH|~;uo?cuJ7btM7wR!)yB01NN#G9R^+(DWe9H!~?F1Z>iGiL^ zkM$>hCsJ_px?ST0k-Xg`azpq$^3|2hwOnWtlFDo*WV3L1$fgzHsvD&8*oa);qa`6$hzhMuFj}M7D3UqUw7FF`()@(bag!RGsk)

-L7<-hH#?8!Vb2O;#y^(&d4fLAOgaXNhgD9%Ar$5kPM)9g6Jsi_CmS2XGd_ zbBD|7B;~ilZ%|V32#ejdBM7jyJD^Gdsz5xqgZ)$#`jO0oe%u+;h1A^|?mQvm!))`~qE#8aDI(x(%-&;sit`f} zPsmY%O~D`~`zHF~F^m&g9G4w}rgHBXrSptgqpF_*sm}FYetr8Prn9 zzD(@=jGz%%pZ>T3+*>JPv{3b(OTfg4SCLPZ29S|3TN7G${JNgJszeAHO;ptTnovbr z?yRfTZ%pJg9d~55Uq|<#=qc56tQGAbub0yA(lN5!-zlVDhK~BaXOM#RmT^}p@`TxZ zi2oHvaXXVYP}n$wb|gRT;9Sy3g_osdEnIRD8lMowzP>ua>Ns_AJ8tS}f<_&+@IGM6 za4$;5iH>|y&GA|ErvmPIu2VE-jT0js1#1*KW>jH^qCN(DrrgKBIh@J+c?* z(ntUP7f);4sQBTX^QB1wP`GpMhNuPV7JAsFFWe&nZE1u(JY-cC{7EtGvQb6vH|W0@ z2|DP2^g>#6j^X$?7D5dL7*{T3YU8VL4u0uIxngBCXx2`i4~>HaMYU|&GrEJ)NKweP z#c5l~+)J;$R1Q!I!$!|9>+M7+Kf!LSIUmnu?@Qs;GHFxA=JBu)9p=5GY!dVsK>OAP zXx(%TADDs5YBVkRpCvyj-Qo1xSWCZ+7mhyhN1rz&Sy-f@i7gRr#_oaw=2 z!buD0H;^1SKdLK82{`=1bo;Pjk^jSwe<5^o>+bk7XJV%@C7C{VCVO7S+~@UnC+fcX zyo}zYybQ;s%nY@FbTZ7V!wVgUbcK1$(z!6TZ82;66NmEO?$BvP+(GZ!B;KBIDrepj zZTSMt{8(*dZY_7?l$NRL;GSk)b|{;vE(i0YSV&&fIzY~{UCL2RpWePt29SX57oxl_ zaTdsYjYjM7jHCPNN3rW43+KtwavXHJsRWZFdGh3R#(*Fw-Sw2JjqO|G!{IKW<9{j?O1G|brIa`J;XdhUKRjlQJkG8Yc)MFD*N47O`HV*b|lR81Gh0*M~yw%vW z1A5WiJP=2m%Dpl-Vre5== zE+$(E`>pCtg{oB$xFJ}L2JFlV<`=e_Mj{J!+1%$=-f}lsaPyWv>^_ZOKQ%H)EEteq zg@@9(%DJ2IThG=yUol`I%VD&^n-e2088<)Pxv%5Td2@V=l|NH#>;UU4C%Ka$nn)8E zSkWyq(A?Ud?GjEWuQ)X-c-y@EsT?7!8y#! zpiuilURC>fK&~zUkGk{t3Ec5#?j+gs9y?GbmG6OsYNH{9+?Q8WXEMz4q1n66RH7RTYGs_>by=i((uI8onm$8Xoul5r zKd4we&&{=g>J3!(V!Y1;H3}J~$nw=>&s2Jn=-C*^udS-aLEh zoU{(1uK9eCQwO?8Y@uM$F=|x;T*h5LjUTdCcUN|l5mtrJ(=0kL+&;2=Hj8dld!S>F zAM+=}iX~FX6)ob1Z#z}pZb=DD*KA0PezoSP_w$D9xC&6@|xB-iJgIzefLk37BszVmVQPZrR+DJ32aAPBqZrgl6Lw z-3qS>_tdkzBF%ystGe+@pb4^Etz1Oys+<^os;x?10Ld)+CA2l|b9i3vVFtg^n`_t( zDKumb*G*@qt&AT?&hLpfmh})x609X6WeaX4?P+|o!antXC%Dp@4F$N07Fttb>N$L; z&+!N$%{Pcc(KWWkPf*p<*$Qxfxr?V4Av9DY_pL`6M;vtwN>p5mV2D+TfQnD;Jj$5) z?*=zrK$aw3GJ`^tf%QACR=jKgs;VmxjB$x24bGHwd-C%}a}vyYMf(>-?AGQ=)jha8 z=6lb?6~43uN{X9YD_t!B7kB|#M@xBj8t}MEDff=Pd9Fv#{oJMnx_0?!RvH4it_n5= zHI3iQO`}cQW$A7`6^rZ8wDhEp>8*6TtS*`*&tKO|+dm6@0+PdnriUjx`Q7wi+nOc) z$<_O-)*?E$f@m9K*M}`m;>1f=aduQnJ)02wW<{LUDs&3HWNxn?f2apK9+~ol!U)KR zGqNK8h_YE(l1P4m$v~ToZ_m{)Z;wlRXVmg(CtY(p=es4pHrS0h%*0wjUoGamUw~}) zQE}pgA{|%tLkc62fsI?H28t&j&g0?AJ}U^J;wwonEM+1VJ}g3j(epCJ{&4l2coGMGjk7`j)5#|{eJ=LeR0yAeXt83t&{@-0#uEyOC1 zH1uT4PZz!=%D9G%pY%ujT&1TG01sWQE#@7_5%ujcnqPK)IEi>R;ayp5M;zL>G?c7g z6xTic46(#2O;FS-f)`J|hdK?rF*8k>pC+tgd6vux^0sdE)AaT9M#wZYf==g?r_9A#EW_yND5=g)* zz@Bd-m6H6Y2^VU;@6IH3-jr83c92WT-k5l+q|kw}xE88E?6hjU&NfgF$8?{mQOTHI zcjz-tA5`yW#}Cy%8EPs5SOzJ?qsgV$yJ}@_v>xW_4GLTsLG2$gvt+2{Fk~tpV?9L0 zao~hte;eQa` zFK|8?sG?bEahQ|nyOQVN3iB9naLFx^ZRVV_PK#b$GklyB^#J-Z@#ow*<&piJkYyOB z61<>k`+`qa(lRjmVPECo#a0>2;B-#_t0zgB3%>w<^W;BoP<J+aDRNoV_AUp`8or{^aGO_mVBFT?dPz2x@y zb@TIDjo$qDqUph|+NWb2<&It{?UR9qrWeL~wLLG!n zJ9rQ%<2AM$H<~zp1CGo0!+msEw`gqdR$*j!Da#da1riRIUMD4IMtrHX)(=rlbcy0U zrK-kK>!>jc&vz!z@iZ7m=7FvT9LaMwre9TSlIMU{T;^E*REXjlW+MTe=qZ=Fj_V$k z4Iz1E{a(9;%jH-nHme^sS{~BPk!|hnH#AydTeZeM_oXQaO5)0y9SWQ*jCXlo=o@Yv z#H8dYItQlyUG{7kN~FB5eVBfvGbal~$P_&k(a%e*wWcX|J41t{lJ&vU2X4a*)5(lb ziDN_?eN8=D1h5x5Fkv7}ygA1DLkxk%g|F2qQBLryLuhY6NjI+7YOoMtv<1~iC7vEe z=O)U%h@G3*;Vn**O0zkl7jqvuQzJevjtMq$WdCK$|AZWkq5@3`!4OVa)9kyiJt2Ao zyY0-<+MBeT#-qMF$UOLHGZ)C1|hZLjq zzrwSJH4|HGCe&t%uUJr1WEbQ{{m0orLdKa!da-pTYB`9`)-k9fM+7r@8FFFd^87fL zkw!{p7-sV5EFe6qQb*x4*&dzUqhF`6R#&*96>6cg=J>nGizk}YZ1ovn{a$1GP07$a7fEz97w8fd{y1klG*lQC2$rC*hFySMPe%}*xCrbH2s zlB*@ZU!etTjg-&~N4nKa(nWr(+`;hvgva*1?*NN=t3V!iI_UA|jt2tOYXYQvNr~Uf zmo2Lyl5-Aw6n1Dnb~d#N#mem#Yb$*i^O(ow9UD+*8okB&*Gg!sS=&V`mfBoTZk=7m zE5@FyZPjz#PNZ-6E!=!zPB9*M^!G8cENw$!jR;dQ7|2AtoIazALrgTijd=Q3w$z$9 zXKGN_B?`hGJ{WcVovJQ=`;C>xiV?{3W@p+V=hQ8&4d2sZG^MSDph8@59RR2pZSen{rm8t7TzhsfG zZ>L<&6!R3utdZbv1Z`=NC~vHQ%VUM3txcs^c>^Aj+!l_cuo1awQ9bJodzFrgj#H~b zEHx)7@*E5gy-nuQ$rDzW?jge_Fw-;V;hFsS{tQ1K79kNz>up+n)XkhImwz=h@_pt; zRT2$4U8ScCA?depyxyzeqA={WiDZj-83q6bRIGl*&PgVqgVNUz$& zq?F{FcmwEI2I?poGBOZ)Y6~PyZKdkkQK3<^mRcNU-%zDRs=ju(M42G?r&8hwp3WM1 z=5s*>SNeAJ*ci>IH-`X5#KtO;cV9|uF_nqsZm56$QC9@|T$eh%71PK3NTKX2Y{|h~ z4Z<>!699E!j3-o!^I;tuu*D*EcX{~p=wepacrhnZP^FynTh-~7kRl%Tx#pyYBSo3~ z47E>aisLKsBw`0_(8!uDQ%?Gly;d`v$V80DmIozyZN>xrHrc(bK3flUFAa{RwxH0L zRbR9g<=ts;VnJq!4MpQfiL|ky8z?QCj0Ww3=c3FvufsjUg7r-b?uggLum~SuiJ09A z9;Ds(OKfS5LY#0DNt^{y4H?dAlnDm9PRdYAiIneZl8DWEEVb0)O);-|xKc)(nB&G~ zUz8=1#rf`_2WjQTJyIz_J{|#RYAB;O>#xKw@u!`agX68=V67<`Q_*MZYV>C;;^!Ct z%TcR+UR8b;x-%6Ue?Ji@CeIP$yh8MxGOmmWy}xZ_cFX)2BY*Ya$NapL^w19lQGG+W zq*(l0jDX?@%pK(w@sp8-=YUG2+0d*4BEF7OxtObw6K#}>yh6y!#V4HlGcS^jyp!?s zjIum0`%Z1Oc@)BXN%ZTL%6Grt0E7W?1KJl{WI>GSW`U^K83^Uo5Ja@~`o8L1HbsIs$j%9a95=c7vjA~aeg7n>s5=|5+om=B)+rsP!ko{|B9G^5fYPMLoz&tLQ2> zoX#Z_d3mYe_`dtqn!dls?o=@sFw+D7_x}7=PT;&jQ+d;5vvV59oTL^ z8LHz)C#D%2e6NbExCyY1xjPkCyAq+>!Qa-NAnp30-Dm(%WPSd+DzYqvEHnBky2ge+ z?S`|izfA4(IRj{Y!Bd5?tcgrr;MGeyn$sFU!0P(3N9*Lsw)#@l$NydU4=(y61Z93& z=qwDovRkcokpi={`YXbwLhZ1I57@Imf`YTO{931edZzBXW;Ix*w0aaM0((k7{#5;B z#d>cX+Um6r{{rI59Ce72y!#zW@|>Y-2&_iKRwGI zP-THg%I&@`2zn>m=BHiqTb@tip!Z@aC;B_korB1&T9Nt4{`N(R(kt?H1GW(T#7L=B zb8Ki5Du{O-=x-O{ofl2qP{oMtn`!Oo&VKj`dbx=%S7U$JPD(*U_#!8Bmkto0LgQt| z)^t}^Ow>$Al(l&<88I_$!!J#p({1z`(iD)r-IbR;=^~(C0t{1F8R8hu@;7@a46A3Y z=-hn!Bb7HE?lr*|6ObZxpuRbYn3uR0AH-RcOgYWES^>!>y3=n7S)r(7qmq*B51bnP zprQK)Sc4!>n)u@h)li=Gzb-4v5V}T_iD=!_z-+d)+ESgGN)gBv885j%$pN z-XOGYf!=p9M-QP_w@CBRfn9m_Jt=v{)t7V=3$dF(%u*T=T0q@=Ji^J}Ijg#8 z@_m+6%vqalyFfl)G>BLNShhtQe^?f_+SBjU9nul^ufNETFHl$%pyj1B{)ie4upFQ( z(0D~Eu&D|X`%&EiPti%M;qG#-=eNaV1fTw3LT&CW7t~0^7!1bQDKU1ZQN0|)%0tvrvg2bUp{Ayv%y%oAB(f8iYrKn*r>NmaDeTqaUcn ze2HE&B>merAxw4=&Y8lK5L_0YxAwH=G*OMQH%~&>AVbDv-n`T_Tnf=Fw<-K4nu9I< zAt@M-83vVplcqs%xPJUwZm*;m$L;;~q|DEwnHf>C%E4%&Uunn$Vx93)A+ZTzfJ=<9 zm+vhD$0qP&jh{!ljScRZPV8XyZ)Se6fU)I@A_I(Q0;I7!^TBW&r8#QUU(b+V;&1wH zf511fIm%u-eeW}MBP?Bz>;%5q4~%VK;MzAWE`Ylc>V}HV7md^qX)x%i>hRqp#jcE? z+i>~(RvC%U-i%r;HOt?aCbq|z8UebP(fNZ^_SY!M`iSDev$HQ0U2o?PK6L$quWPaW z)+8qtfF=7nq*8wnnIS_Y@z2vw*=mPNWSty`7&d+|;sB$fFMZt$tKnU;94|TXCpW)M zD~U$GKNrPg0|wEawXR|gy^^-2Rc%2ej?Nmf;jq~4p-GSQc>nj|d7n1>k(~TMV zaS@)2oDF0K9efw;jRjbvlJlAh3n%uvE3!6N^XgPoNF>b>O+{x9Phjx1TP4~sNY0f2cbTXL`M*B8{Mx@Haz5=D7(t$! zfbT~<+QyYUvd82mqb@^+!t(MJH#6WQeg|%;QbEH`mWaH01-B}(O<;33d#g4EBMpePRadZpdAn2l%$D(@a|G3os(KaRgFv$=Vd?qu762mSLFItM3)^ps>*~1 zIXjgaucWGZUaleqH#I`b?^RNAE`Y?8@(L^ANwd%Kt$n9TLiC>co|Cx%;^T+!kLH14 zl$XG#>arv3caPmBhY)k51Yt1gImIv;5&(AhWK_~7L_kiV8+%gi=@Y~=T>)`$CV4|e zKcqp5;ziH28uSxzxQlF3a9xCy13QH3c`V0jsbmEDC;nK4hjrW>^_Y1&Y)_R-@9Ab- z%@wMm>rNFtrN48di_SRIu{CHn(HnP5@zEam=l0P*D7n}nR_9kuPNqf3lKRNILU1-_ z|KUqCU(`?_MHi; zVEpo-!2f<&(rK2*wX@9!_06MTW8Eg0{S}$PN&X>)E+_V=WF!b!=b}2>F~E4^BK0|o z<3*cTS>E_Ov2Mo8g~Q#QDx9BFPQ@^stBa4Y($vx8X%AydTd^?N{#?f*WhOKK2cU6% zx2?$@G74WBy28<&e7@>++JBi}D*lr^1w`LYez{_Jtze$Xy~N-*1z9APV5+hqBVRJ_ zTg&?}!q@duH8c0H>3#1oAffq|f!_bT9;S|wD z$`44hvUJ;vD&E%@R+?v|D!H9JXQut5l4Jy4M5B^wc8eK8<1lObZx_8Q=HlDn^hGCM z57Cd?=jB300ngU>>3@_DsIJ-VSNfdPa7m^_N((*DJhX@ zRz^|@XU#HtuMIV9>0R8lYrW>yx!ejBsZz{n$zvgN44S8eOY1PIe8sQ^C2Zx3Yf79e zTl-?5Fwc*ZH(6reegf<(!#<s@jh74Zpja2LhybsZOPob`I6ULh`{bYGV)R9wX(s zzZiQuU-cFU#k|xTG^GCf{(yK*0(dcvQN7UoL`yrl`UMdu5qDhwo9j>vT&HP@Ntdz-kkiOzs`B!EHbuqH zQdSu}F_iU?m$@^7{+O&KI+eZs#ipQ%No8smDblzd^@B;^8TW(z^kh{ZBg>C{^`aeI z3QOav%G1h`qY`22N6aKAlAC#FZ2ad_==^N#(wOryR6g=Hwau>_UEe#sd($+Wo8YZ; zBSNaYGs*ZU0~=W?m=yB5j7@bGIu&m8ZDvty_l2<}5#^<0osY$YR8&j$$n?;b6@BH7 z)t3yXUgY}f{Ye`$K+*a*!D1o+S7Rf5{8_pF=Tt^Xmq0&9HH|fTX7xsn0wwxc^c2_5 z>-__U7j)-)c3a~@gNU?Geet^xndHGtSX`7WO>8P zX%Igt5^)%JP#K!0(_n<<$115^>Ic(TH3}fuuA9`D_-Nw zC#OcyYPQh*A25dV5;Kv3h){fr7v`vN$G{U@Z_(O2=CY;VsD^*a%fUI73*8>h3@tK!BDT0I)EC^!y?yo>W*)Zie=+KPs{@DBQ7QldUR=4XaYy6QB(azkuKw3Oikem8|8=rMr%~ zs`ayXs>&|x^~*Yp?yt6GF=-hDw4L(dCNuNcw!J|_K*=hP!LYURzC~Wuz8~itf}JF= zDb(P&2lGrQ8=sD-p~uXcUQ$z%4%#p)`mx=@lorE8{662j#`o#~fGgsjZ1P=U8T5Zy zL^kUvgx*eS(CxjD}2r|TV)^F)q$st6@N~&h=qzySpI9r@-nW|0~5$#cghB>?IS4q ztW6R_0T*6u=g#cK{~V1GUyuLVC(fqEC%BI8Br%#XQ%~&_u4$oA#PAz;&FTR-)Op4$?a?CO(e|l7rach=(=~@! zMf;J@PiD^tEzPJm5~S(oH)4N4hBh1btg+YRAq$IERu)#gn*TsZzwZF^lOkDg&kI43 zKaT)bYn0wzRK=JVtC-*0%^F}i+uk6QDYz)8MdCv5s(&+aw@Nmau*-DwDnuWcmCuHj z(`tylTgx@2!WR$~$EoU@RZU)>(75q^1h_L6+?0?bmnzLxT;r7;QD?6HVE2^1fSiVJ zk0L!Aew~aLVKEpr;d*COf2ExTCof-&5NR!mp@s)_k0@ zkaJckKVBSe951N&WlLr$lDv8(nrE%c(s|0y$8Kbf{lp|sFwY8PCr8=JlV4#^`v?^( z#jTo5$S|WI(W`XUaDk`E1PhYlF2<}}hl;zB{mQIInLy~uEkAb~QH7$cM!cOn8czlx z^8cKD={AuJOZCw{9Q^NNOx~4}n29%NgXw;{w6XAvW&%1?T4a*FfVbmxV&5swPI_>U z&QeEXJ)@^<)A34{ zjt#HBt#g{Fqd!FIisUJ#iN~g4UpUl{fumrRAm+fG{Vm21ln>Ituap(IgXLZM;&Pz` z4CTM;M=~a?si*JSWudL-S-m5P<_fdmG*}NjhJLncUmsv#d8LC+{%JRZR5}4YA6d?i z0C@5kj;i(qg2V{&THK|@f5IC5s<4})7FI?Q5f#^N(w~wv0dFTb>ZC3k&wiVVFWC`D zNXT>-X<+vhK@H`cvPnL={{k1n%MqExEMtc?u8Xm^vEs(j4oI;jOF<5fVQxy?!OMtQ z@IWISq9FuB{ToRFMWLVRx9bw0=_|;B> z9bcb1g|n9u;Wa7wz-~zk2g#F_cd!uMMN$9#lmO8hd}ygazQlLOub1v78&8Tjmgy+% zm@? zOA||!s7=0_t=g`YqAhW41p=0REXdD6{}eCI@}4kHEtCS(-+rDcOWD2ol@vXgqfZJR-_sLoQ|1ivP8lN12{6Eh|yHa5|} zBz)s+p(M@FIiBp%Q@Vl_jsS%097id@<(#P)_2iUgWI|B!gD!~v8_BGT+Jw$88gb|R z$?v32PlISSa}zog^}TYla_(L^Lp&VUyIb#kR==}BM>u)z^c`L{mhY*zId*6a6rh+R zu1jP*3`5QH_;BqyhuC?DdCl3Tn^)H)%sQ7KiUE}jq}5e49HQ%iJ&=+0Z*Ix8!MJmb zKMfTap0UjDBwRPIj$vMEB!*{?!X&xUc!hZJvu&cj*D)WqHa}CWMR+TbHjx78ps)>$(Ymwp}&IsE^7;KY- zOJQ71SnzlbXu*~4^H=kGH!`RV@Wp$PF7fSoHG7<#-_Bsi>tU2fiXKFM1?`F^b zcx&^cAYQaH^J|6dv{D2^xj7Rz60ZP zWm$>~lpjWKUmFWHwt_=MxTKK0kN9g~{zXdLYr-!kQN0j)BvA$~yppC83*t0f;gCia z0TigToZa3)j7Y1+KkBfieFs7sLjvsbWtzt~CuvLVi;S1IE0sjy=$N6W02ebsJ2i-j z!QZjrK+a!Au0!}wJ#ILM#L5&e zaYZ?;!8CtYbP2nYB&WL)Nk^>L^Ver=jHm@}IVxUgHCL6!I&H z`pUMU^I36YR6^s$`e}*a(zm^W^SbGA7n7G$xDmj466H^ro|eJF_M3NqjQo(AKY{F@~NXo;_ zlf0#&R&NS;ZnrOMyElmuX-6G>wSXck*pN3T2< z2iJ-RGHOri1Q-fES*XhmY`uzwc?kI_$~*}}ZIVIi<`e)p**#Jfom#m;evUt8vg_3s zHRJ1QSof+F*-uM-c`cFsE(j&Gm&olKf^sHEuK6kV z0gBSNI(T}i%5YuoHK58-@|p`RC0z%(ASE{jY)t0-sH7}pV4#_2!Tourbhqqv__9UOT$%6M|Ym5(@CW66uJI7bsnkTG`^-q~suv?{lr z5{e;dLbbg>e9Z+D)apv z8;2}~X8)S`GWhM@4t8D?|M0H_vflAy9rL2{(wn4MQ_Ps?Ah-2sH(q16+yL*!LQx~n zOCkNo^To7gMOw2dO6Q85n{$*QCtnUf_%3q4q8gX$)#GON5tpg~-sT!#scf{4OV??M zFr@$QX*OdZj=32R6uMRrtzxL0F$kQ+*K4)g+mymT8>UFzNc#!%mD4lPe`+_}ho}NT zcrFpCnBeDOqpiG@c2okw=NpfXiVkYkg>sMHwB*+6xiYLGMj0}qx%O4(3EcFPBkJ)>ZtbqMxBE!W;u5Uxw$Uv;DA!(zdB^(^bVT%|&&zp|0Ru zZnrsYWrI$Nhmi5yIFC4C+OAd-YiEWt-l!WYf83HU?UkHwlR}{>74z{y`nFyCdCy=D z!_k7@4oBr>U&SRM&b5d^Gk?0|#={CykWCx?O=#7sBU0wI6hbOWZ>=}JnYvfoXRhMY z@hOupU&QIJ)9+RqB>bR=wwV(@LfxHj4yHa4*iJLaLfHOi5X%~p;!)H?Ymobf+a8Yc z-8xY&;n^ZDNgRC?WFmoT{z9i7?RnxWK7vY1DKat2M7!g4ri+`q1%#nT~2FS}K9i zY_^bwI~6?xQ7U^?30pznNHVMiPZkfJs;Kp!b11ZBm0BqM%viV&a{hZy-slAV7u0x=KxXxbgO0M$9U6@G7XiEl*+jI{Q z!?!~PU#j|!%9N)t+R|(Xg=#nz8P3STR+=;(r_~=ub-&%gU+dp|@~aGt3?*eH7Q%j} zpXOvtoOGUw*u*ZI{u3(Js>}bMQL$m`|H%Lz(>FFj8FL&U!%VbDOBKC z43GL14sIDY+vtDQRm(WZWyfWvUc9n_2uW@eP1abC85K-XQP}88EKeaJF+vaMNvnkO zT{JJHIb>sGVS~9fy&b;#R_vu=X8iP1gSF-to__?0W4I~-ZlEvgUjjefZS+sy#Nq7b z!1p_$^Y(GoCZSlmNBy+n~kFd3grtN*}buKB)~u=ZVNUA z_u|+(A(}2va-HGMoa+4M5wzpB8CAV_1pR!qEU7HhO}6ZlAuf)wc=?W1iJhoBP5y_*{@_a4w*bP72?cB=Vq@-bGJe>U3LbDW@41&=1GgXol zHG)vuO<+gYTAZeBBk?XN4hB9VC8J%NYyk@zbM!aK?!V!(F%;p}G|fm4p!dnwE6oE| zO`#D1=13uFOvfwTCZh2>;D0rQ2lQkCkgb*0^cL}CP!4?NGgCuVgbIyU8q^>&!)mm~ z{Wa+rzy+A!QoK@k8q8|h*A1bWGDLfzgdBwE`Nh9Y=P$4$%FVF;Nm%>CRrID~r~Q1x z=Zo9jADYHSt8Wb5LY(9w>JrZ-8UmjvXYu*@j|ak4*a+#g6eYM{PD?JIyq#q45jIf| zuz67!ALmy_9MMydg_h50^$0+>b?1u(EXP!I6l$`bIWkY1qr;Y--V0wW3@IdlXenGb_WMP!>^de^-_N_;{U2T=1thzx@=L;VN^Z_d zD%ZAAf^6bakbmPYO5z9-4tzTUf{eT4&8tx$&{M5J2|&CxsvQpU(FY?ZRUS59t+DG2W_Nt z8N%zQ*v;bGuJ(n+PlpqI1SeiM0~5_e_tfTn2hvSRX8Jd~E){>q4W$>CD@sHjzb{1o za4uo!%7uhm%#q1~8MKUh>EA0C$4E!M*w;wFE)7+ZV}-g*%gPYLmAU!rz1Kf7DU6)y z6~n3MzCqYR`5y%;Xd*bd_SHJ+c?Ekk6+gW3w0dVI7lSlDrNIlhrE#HV1k(a)Ei~FD z+3{3AUTL>#e@6a#*7Mo}Ip#7*sQT-M45;u^-Dg)0+S!ix`2JpI9JpGROO zH|rMZLU+(Ua^?cCEtU4n#Fg3nJXM`rp0v$&M07?cPvQkLu?3CpHo2Y4cl3HREe%4Ex zWKA3^0)=xBrf6Zh?`9|qPrTWoii>QpV#w*Yvli4{K^a-Yf>z^YM51ChtWsJFV z!=027X8j4GIr(Z;Le17o`2PE@inCQt#L}q}rH?N;{qIx+GMcBw1k`V1BauQ^8X@Uc zY3XDYD*ZGT!nbN*VpqO(F?d~OHiOFxT)UefkyqKBf>6Y{fx-m}vi z(nk+UkjYMK-i|ASJ(s@ZFEO3U%7)XBLI~=baw}XlcFz(GBup-4xxRkgealiepo)ep z1v{cejj1R?{fgtu-$qa)WU^5Yw$Gsqw68@bYf-=xyWRtc*{hMs>{+mIA(pB1mV>># z;y|jZyOCwx@GuFV=UJDRPiDPkYnMVqAqN5DUw0o!M^zACb{}R|&!1mcidv@}F&-3- zoJ|T5X6@v4X{BK3<4cbifekip14`fNeT;4newOnWczx0X9Za^+zOL>B36A)Kk{4iL zHQ}Hyw{McsNX)B=0~41^+-Yyb*8uBZrfyF-)d_Yr70upw24gT76Bam`^B{^fh%@&&qS=p>dX0RCDlqU018-8Q|@S1Zn^#B?IN3W zo5<}q*>C~7HPGTidLyNo9j)ZaPvOb0l7ntYEjU7VS}TnUbT6$E263=E7Yh8STwV!R zH$8#PWFTsClD~I559!|H!#LRJL`}ykNcP26||XSzc=&(RG`t;9Bc-Bo0U!OV|~ii znlThT!U$RV{A_Rs&T#9OKH_F@SdQR}%l~BE|KMtbBkh9c53K%G*uH0nGCN0^?+j>t zoI@hwX9?SrU|NGH4atx)|4Arq$=>L`V{TVmGHo~XwZGEDVsi&=; zHfuT3T+x2Jx%yq%?C7FEq|Ars3X?v!rKxxZ-H-?at0vPl8jL=Ze|2TC+Z&4J7dKYV zL-**o+qhD(oze}CWf~a1AO86^Vi&qYqu7b4a(8!nM~9gw@R4>a1XyaiS3|u&A@eI9 zlBUE$r5?AOai!Zq;)_*UCS|fLOe3$m(Bjf{pI^QI=+A`JOzMzd^dl}KIj?(57Juhn z=@x9k@G4OKY#&fpwxcK2i$5NB?ZHR_lc0;1k;A3)oE4cO%LL%e+}?hgH?uYJuO7G} zUt2x*kyBhYcz-J&ufZQUg;OCoFK@P@x+Tw@l^M{4T&L`duFY@^Cszro5&%56R|XZ- zA%BXFHrZ2QilGlPtwkCY*43q3obcF~t}bO>dpG7w))lRv?9j%~_y1_}aEv85{(v2z zXrn2o!4^y;nZoZCIsrTb4z2PpPw#|WWl?nQRl0(QP;IE z-9vNpB2*v?Aj@pV3OzK~_X9&a{2-ca5S;3EvApmoZH#~4fSmQNj=B7Y8+R1g^!uY_ zCAa#WBY$}0J!jTUv&l$zQxcu++xVY~#viJ`*kCRS3Y9J7)q;JoBjJ)W4HH9G-g^%) zgR=W>TZj!f#~3lx0p}a+HU--O`}{T_$sB2Nzlk2bK|?kt7=#5r9-3D81+A`*u~_a9 z(C6JDXV>hJVBbn*6OeT@YCDw_NA_X!MZ+CTYwRG2R(irW89e?*V;UEDt&Kgx@;W3` zYX?}8rkt&|SJ64RltqZPwS2U|bb^H0-P4mhXhuin)38UQnF(y0#=Fmxu||kX@fti; zIBR!*WXeC4MbS4y{6mK+2=41HmRz@B|MQ%OyxjLv-F-q*pZ&+-N9!2a0R=wUAn+U` z|NKbPpS-CbmkTJ>xAS7+#nxPzw>;Fu5gQ(0147{$PB$hJT<3+J%C z(zi&c=!U6j2YBD`aORCn%WAA#)@{XX;MgN+F?t^I@W3EXG> zBx+#u3*Zpqy-krH;(DsVgH6kb&9l{cN*jxO66aA;Iaed;&;(rx32jX0*%-Ois5p%+;VcBmek>1<>K5HNG{CVdX6Gk;i zqxE!RnRhkktB8f_yvh{_y$2P|`>q*lxNiSS&<;w~Yv){T7mlXn+dO(O@n2Kv==1f? z4KDo|7g_{=nlF9x0r_f#%xfLI{-KHGzFXpCUmE*_R1;UH$A<(fxyq%{npnfjMEoAC zz+)(X0`qd*cHB=)n^{M8CASd;H!p*z>s_#_| zD1;t&;}_TfQWtq=Z~FxR-!K3Abwfi#^E-rlKdBnCs5QeKLJ(S%w5fl(sMs1+7UVV0 zbu4Z84~DF_ou3pk!dp)Cfp-*?AuwLIC~MUBcgUjXB@5Bbxu$?8gN7}l>@DF5-f)a~ z{$_dKdEf8d9Xl3nq_Jf3%j)i=w1eJ{;B8CtNiGQeOX^i!b9vI2E|sl{> zj5K_Kqkjp>MOFcxq--a6F+;wZP$vJ``Y@JBiX49jAOorDB~NGdHRFcmeeH-f|Cna(6?zRQ;)0aA z%jMa?5ZJWPuhEZ9Dv3yW_+S-m3(eU4`}M)baj_kVl9tZ%jx_C@0Qykfg`zpCA)d)M z-TMeT3QR-icZ>v`gVc+hAs(tqID|#}Pcv0qGF^cAUg#Z9Hl%JI9d>=;ngv5j@;XdX z%8RT1m9$#>`8;(RqY2k@Ti<~#KxH>F@JqTBrD{@WCw)n>S;$Vf9d!@>XyG(@9vE~k zPIAc-PGgNAt=;(H;&{Qyj?MVExQ8GSugxprHmvmDmPA0aL`J7#(|>B->fb^E%!L*R zNM?GnA+&Jy$tx+GgKj{F4f*lxh!_=!pcLwJ8aqqDyzE6D3&qXdV)KOg$)CBzBPunn zy*ZFOA6-vT{{Jpis9{lQFEXVt?B}q3I@W4c!gtFcekK)%Le^wMlQW*FE0Kfe&q9u# zZ5Z3`Je?zD$JXHUj06KuBS9H!{8ciE1d`tAh=()1`z)E@_S#X1Q8=AfZUf{O*pu?x zc5>4`{K%suximrT4Ev^Va3qOIawJvY+9v4 zI<7tVbLh`;YB&tW1;wJ_lIede7+9vy`~a17A6a~1Ir*gdyqhU)*5%cNq#Ueo?bTWZ zxaN^|emPw&(C34L0xZj+`!S_ji0E{FAj3oVWJH0{h zb=(8DNnt!YaaoNWelY33uZK91*7d;*hBxGU=#7bDeE^8o-xngwRL>0zv+EGHMWBR!H5jUQPNfi*Bmn6>txW2bgF}6NA6zFEzA(& zD@KsGjz@iWn=%f`^|GhH8&kaMK{@U7e!K@+;-6E3a)<)$f${ua?+S!xjse%YhwHz2 zta99iRm`@Feu|6RrlY6s|Cv22e zcqZAvjKOq$#F+DQ@_`UZw2xeDRtj_pqMhXc`3-#O^yM5Xb}scca;__C%+;Y@dMQ{h z8ZG&AVl1fXqV=LmXD{#1Ukr?WcAH(v?D)bXwuBesFzH73cJj)*$}qzEwP?e5(?J;+ zDSW#E`UJFx0J;1V1)Md`4$E!G{6)1x7CgRf(lV}@5xFO`tDSA_eb;^w$$205{B$H` zX9l#wPiBI6&Kva&uIU< zkcV5WVs&6RefAWjVI~I_73i-6kO-~oGBx3-#;%)lE5Yz}1%rP-n=}EDn2$gJ9skzX zOaT|iFLjiCOS2$@gXqAPQ%3R(lOGSL*o)NE^Q*g@uCLM9KZRs0C{TZWdfoHTVF^AZ zEETC(>sYIJ)s_E{WUH^lV!Ch_leH*2*Cpt7?7b>*-`xOSB1J4~y5}$;tBzRX1F?kw zNGb9FKRy40dtTP-pFEyvDWe)hYj%dL;a+<4_gkT_`NpW-5s!Fk)A*7Ay%F`A2{@qv zSSR&C>I+&;HIL#eKyuMcOmZOKz&<*3q_1FY;GY~nQ{$Jj5-js=1-SN-0&}-ZHfAl< zbP0V*%kwIoQ7b9{%@fN6C)k%BrK@wNqZYqhU6%q00RaBxfytpjE|Ta=7-gEIT&FOpKE`O`Z|wCFP4+Wm-V-+O}1l|psOy&?BT$mP)R zu`2AuF;QdkWqMe)<`gMj%Op&N0qvuU9}*XsBa@Szwto@^+DHDJKumy$0XvVldg+nH zwgC;}&$K$D&$i^jU~z+B@0-EHYdxd7&!#mQ3mQNtMk0ect~?ir-s>s8!Y!|WM9Hp- zMyT3!lE?{qy8pf1vDY{_KkLU#egI6%^8TB|iTw;l&)?(w9_388lswGzE%~QFA}Oqc zW2b1cwPMIx$g#R8p^Bp=k%PTMG)qV%n9AckM%-NHH%s%f3ZTH!%{hEYE>zOHi-wOW z6`-zcfbJV;)<0WG0a?DvAL*Dxn` zd&IE{-e0kq%6`t?E62J6@|#42cXbaK?DkND$v%oPduza)CH*ph7pf6=i(dEu^ulkh zMbc*6JFpf0RMCfr*%j+Dx%b?iGd6c=DD57lopaE+K9-8BdNYFYjCng1t}^|xE5Ikl z;Yxxc-eDuwh=?~63aF1|&!4JITFs_B$a55P2Qt{58weTN5sp1F-;&;4n>fT4w5h^S ze<6+uN0{r~MSXBTD629Bd^3Mc#>9_#eHz{)fOOoi--6MUXLa;I>Wh6+1t}^)S%!WU zh-sedy_HWMv{FVhnYe8u!^L1I$$EZf)4IB!qT+~w(TR4p^Zzj`cJ1Tz%I}25282x` zHWwN||76zFAyv4#T0*t_%5g6RCAEut_<3*a$!-D=+T?75+%2!6-(^?g*m9N|@wv7t z&!v^y!YoqwiJPkgtu*VHRpm@X(8;S{#^9xsoF$L;wAM}sCju1!_!tvA>fL7d%;?6P zX3z$Dd||I66oAMV*y1W(KrK=k>&+UvI+gvXTT@YD=BPFy%<4n+#}>Q|F9<5|-EY_U z9KazV(D39hzZQqfRQbB7(xV`dOnVWUMN4!K!voz~ocf_oI0g_p1~uLsp2o zm;x`iQrq#Cs<|a4`7J#wT~W=)qT5Shz$NPTb=z!b6H;f zP5bbR`XDX3c$d6IKl>;(A3?3jrVQJ=7@@|XuN3;APp_~_yBti@4DY{35DfhX(v#Ch zi?4P8<_g?R6Hrfmv}RfgxhNVZtPVg_#3V>*oVf*JK$V$wujxHttol(5O2z{yGX0`Mml74GzvsCfypP8e+CAGN-t-~1u4 zw@m$8D}W+>UPE+eE&=?l*;>Jon)q^`OeMILc{TETf?A|I3qfW@+KJn8*;W+ye(bK= zB)mCwmI#~W{7Bb(IP8=M;~1?+d^nybEbZxU>_^Bdi|)jB?@EBq?-uG-73nWl#s7(V zEZke9VVIubXA;uoz47@T3hc=PZ!I;U=k=_ZGVzRr(OQc_BSYl|d_)2efV)Qv=l@l9 zb~0V0HjH&;Dwz=kB>9F?pXozK6zJzp zTGlK`+TYT~4pedfszg^imyZk~^Q*?Pyma{>VE&ztq{oI8SIJa?exn&l2a{Fiog`AU zNaag$1v=Y%MHwVxxxQzhL6=*5MPTIQgC03eq7XS4iN0@x(gC_x2DrCqE3s`TMC0O3 zH!l@^CQW5ja?)ASzb?7>GQI!+inpS0fP?+a3VHlNUeuJgW0rjSK?lcRogt>MR;os7 za7WmIczH=K7*{-}(BWeD!3i(*((p?>7I9#9CmNo`jK|93I$&~SOhM;pQ&Sgc9aL)0 zQM#~JPVBo@NW$5BjgU|BqJsIIuUS5OY*&$59U$Y3_&?wz^E=r#sg zYo1g+D8BJ{FYS{i(X4W(D=yCX^aQ*AHnp#=QtGxl`I*$kd!R1zUGe*qH6M@u?H+>P zj-{jGq1w2%V4B7B(vpJ}PDv(z25YAD#SC!vF6z*s+K=3?XrOf|?acDj6hA5M(P0Ee$1C53{jtw1{(MZ^IzqbOq z0_vrqE`nsKLVuE0UvIqWzGzcK9e>q@Ho5DQsC-+ z+2SLrTKSKGc+cGS&C!CCG35@GyM%}QO=6_~&hB@OY=rvGiKcJX-p}ogM9-l%Ic3KB z%zk?p(;&$8?c1MaZJ|;+1?30Mmo|J*TOQf=I8Nf#o;T*EuP#XC5{Rpp%o=0Iv;{PD zMq>;FRTD{7pegoDJFMyBWJb<2gWota9=lzGHRT19j;odZ6x<|;wh7pV}dfg-HMJeR{PmJ1ibF3y9+znd8j zXk~G*z_i@FO8nGHCwVo_Kf7lHb_ zc5%AD_5#ggN(;>u(*|SHT2$x1ptc|P)8;k1qQ~ymf2}~#l$SVyv48M9-(`$j2wxf9c&Uw6Uw0)-Ou;$!ULEO!O=^bTq;D%WcWSQ3cONrojrHRkS>rILj}|Y- zGPDahi3I$*=Ult^=!Hq%RO9`oUZG<kL*=ZUD; z(gKwRQI034H9c~WC?j|?WS$0lno&kwl&$XMpt{19#=a75nCQ3og5d+gCgrn6nEx^z zw856mw(c_5_HGOC0jOBJ?rAf-;dC%OT?P^NfY|Icy;b~j?v3MvAt)z=SIT9$o^AE7w5nrB!vd8GsPGLC8F`>f24e_3x_hMY6OzPTB{0!v%k&(xl)n$$mq!^IU=g{CV44^_|pidI{FeCoOR zqp!&YrlZ2ZM-ww;%PWF?k|hA#CLmgs)1=!(T+vI{5-5pQ#9$a`7n>DlRlalh^bE@z1DnK`m2{C8z< zgBZ&b^BQbymR^L2x~IrvsH?76^u|M6Sd#_uywZka#jc@)AbeRuR!&JQD66!yP`}5F z#DM1XAeaIba0n>|bf7Y$#UV(LfIQt;TC%9IJXHGXGGY7?YNYroOKQP?Z$G`I(lzG? z&|FvLZKKQ8t@AZ0Qfjv@-QS~om4hr6j8<=+%H0O6V+K{*?*Ba}#W~mXFgN!b!w3yT zFVlzFs}H}uJUYqV1oyP37npQUKSW#kacqnf*WWhBFK@v~wr&_;9Jl^DTEc$)Wh(p_ zALd9UJL3kF+6RKTcaibdWzly&k9-L|uA!7GCF1@Quu$9K^4)03Aq^Z1V(%r++a4qN zVX6qs`|#pc+Hb-p=rQMq2-e$MnKR~%Zq?Spj)ltR0&s(K~6JU%=HU&J%H zBaR3lqp3!*T5saqFM1iivhYXux}$zJRHM@NeuN7dMnBQ_#Y%{4{&9{2b0hvs;;A%HFQNqi$fw6U zU#LV)Sx^cnRHF<>jPJz8H=nwOpu8pEMS6ldwLdFszuI|)AN8HZsy=ehwmaebtQENHltM(a-ocXIcpH^6!t_`L3ls z-K&81aP8)+-H08~RUu5dF+K=XnrZ)?w(HMM6{_3?7W9CMrg-n(NbkR!lm3|N{{nnB z-+pNvI23Q}i2I~&qP1TJcoXu$bzZa>fsGCEBD^tWT_qwx`+vq~+R=$v*B!OF2Rj96 z;a?WsSxDOn)Q(ma?HS4LTy?9QcCS;PBE#xxRziA&xIjx|Mlyf=V}EQG*u>8zjRd=L z_3w>22^R`P3Ndn@c#9*tuC3mk{X9#BkMY2qIPY3;+yaKOMO*?(8iR-cNI{eTsKj)g z{7EJ1c?4`c?yKxU19_5zMZQkGxq>QpxUEQocx)FX{xjKk7=>kO(UkgsRh-+?RQWIQ z%5so0@HH@*@p(J&1ruCGPSoX!k+6sE&<>m%t69w)QuUhwwZDb&IVO9%zzKBZl&I2< zr)0`E5m^zYEiv#Qszvquu4L{sL{*CXqaI8plCz=8(@@T(V+Pg(b z=)WM`)i7}VVzf!TDSz|o8@)Y(Dd6&VnN#cc(GHMirSYqUk0Co{tuEtV1J@0JhgkhQ zca1Cmow;m->yiI{l0ydGQRkoft{OcY7Z7i#M$nLBTuq8W99f@3RsQu8gzrVs)hMl? zwSV*O&orpegS;*qci(A$tkpx*Yjc!0jbs0Yrtym%dl**wYTphz>`5|Cl3>6mkt}k5 zC)c1g5xBgF2i?A7Hi7eT97cmd^0F&_!sD3T+2`X(fc$NY=pva*ZV1^p(FScUwArbv`;2~?qwikbI`MI8JkQm^M=d5O*XUJ|qR zZ=+V{yw?;a%rQ}`L(~%(7~w#E<;J&6UCd9Elq`iE3F%Q=e#`5ssz!28gQhH`s`))| zS5i73QyERLE9j6?aJQW9SILSsw(YS+Z%OA$`h{dMrKU{z&tFyu-SxP#q(&J@g$-&6m<8fhbK0;^Gb-L08>}L5U>~_1C``tmB2`0)YkfyfXwgc2MA?bP#AYN(J zVLT@Leywt7V0J?~ah_jqB$D!wC>3??D=;}UaQ_@&zD=gz+c8CUfV7Hd>`yxwjGt|= zpwXXPI;uY%R%x7S9!6nO3o22}!>Kt;MkiQ^3O+ZX2f2sRRAXO~C9VWjt=C-Ct|$tV z^aO_)Hb`;^Q*ASpcPFNE#*HpEt9joE9>$m`w zqJ`}1Dg&e~dd64n-|E=Mo>aZu#mfe2j_(S;oOub4Z@h-rOF+$R zy1FDSh0ZO}{%j*VgM5?ZnCxc7F2~`fB2usR%_Qz;-lHgMJx4T2mP_R$Ta zN~{9H>POmH1Y zwYbO`UZbu#1niwNp3uP8{b$F@1_zGo)#XX#Y#Bz7Kz)r5zcpi83!wn~Ie}4a723HI4hA{EdZfiyw)C>X z!fWe|wk(Z_C`I{bBy5jeKt)!?;7i6#x2<>nibZqULEtV{7~CVJ4*e~bO|LuV>#k^2 z=eiah>}B&ZtF1-xE6r^xTW>3%Y7{+(M1|j3vk&2Km`wz9geX|A4*`~zYLqz2tzzT% zF+n}5XJOU-@9M2-ND3cABjTi;?clQyQ{OYiu^075dr|QXAmQ8Jhf*8C*RrOchWI{v zY+p^bXm`@$HH?OJ0@@jSXW$-lA-aqfIdl)(uXLW!q zIoD0B6g9bkG$TFCet5u97d%NROj$hPwxQN9pTu4}^MXAwY99ew=i$)j}CY9xmr;UW5JO-3;_Lhu-L31hy<)BUTVw`^5%lSro~X#M>m(>1T#+Kql{8)e0T!X zh6c^MfZm?}l1_81tq#viV0fHiA&lJ4Q-o(@aqbJrqDgrCeYga^j_O?Tw-|=b4@c7i zQD7K%Y+50rmtT$cgKmARjb0N%JpMFoHtx#X&Ql?A)P^bY*tiO~VH+(C?c5Zw8pOtx z#%MPfsTseL=n{2pyJ_5vIzHr}5&auUfBfEI|6^vbSBa9}l@3DShAnJZaeU^iuC&JV zHoIGe$Iz&idI8w}vG2(9-g~QuKF6MHy;yyDEiWY#OwbQ15uSC*kj?n2p96Ka!rIw= zQ97f=X9L2Q&du+2(C@N){?S_RISlk=>|@H)@uk3Luqc4p(gKmD&BadazR!42fPNc} z`gbHgtHARS7`AKkG^$P;^<+GF_EVfR1z*B-dDGTi10{%j zE82>< zCmT^8_t^{-5@?@7jz+5#iKVV4$`Np*T0Kwkx?Mhv=@pg2i#q(M-MkNZt*q!`PpgM( zQxs235cXY9&{^zP*l$K@Y(xW10t@q=y1Dn#J8cS|YU^?ks|_3n@z^GGm}8mOX@iPP z{hV8KJ3#yy&tkWz23iDn=HDauv)s5q$=!jBQe!C|;}!^{IppgM+X&%2;!+tMl5T`y zJxK~V$=U^Y&F1;zc?Jf|QL(z7Q`d(amE+d2INbF()u?4BcfGzJ^gl5|zX3g>P=*~n zg)x(uHwsjWM?O0GN(ogKna&{BTadE?)eibiS zXBzCQi$ra}L_}cP>>(KbgBXQU;~p&lZtzjB<{$r;!WC*64ZeD?Z}V}*x^_1q#Kwrk_v{z*yM-_^ zJ5R*8D;-?>z-YJ!kwXN)?i}#!mBO4-edbD?KXwq&7ni_CaH}SjpCn-_oLSK9+*)v8 zidNENQkq4Tah(qg=CcysZI&5$Ue7X=Kl;s)(6;`N64qoKEt=A*+>jr9d%d2|BcnN> z`CKC=ILVseNSaY8ZlVwjqc5_>m;&UC;`w@jr^sW5G3?L}=(e3iAWFi(0uz7lJs4_9 zS1(j}n;LPB^`8>oBeOd}Fn{FLFaf2~%^wTHIc6D&gnn8ziar~UMD`lKG@vdZ=;*wz-G|iZsBl^ z`yS~W8llW)@`Y_Yu4tDy!qD%Ee!m zRC7$=MKHzU`lC9EFRyZE%Fn`PNtTT}gsf>e-=7N}lEOSH ztEKW7%JttDT_5i;+Q_D^60<%-GLVYE z4}N5o-mF1qORDYPVnghnJB2{(Pb!opyy*Chqo=a!reID-r7tZVV93Z7B0yHIb(E zD=N6LbtMeCP_Ox&bF$v#g3{5Uy)JeMt#_gVe~R2rTf!q~yRBkQwp@gXTQD z2?8QPs20A+e-wTOeUsJm#-ADtOxv4p>op_US>~}YSj5m6#3M2$Py#FZ-Q#%RUcG>q za(x!%v(Ay2BX)GXh;(u*iv)=7HKazng1SPPU z@GR5V7D(fqX{bSM%yqV)IQYezZa-k*|)P2*!Eb zuMG8hUd^YS$0YDQ!G9}lt5)l*^#+&Xk8IjjI=o-y(N8{|phOF_HIzLUUftSBIjC=* z&LejoMsAzVdr8p*HmzOXHlEW=CL3F$&V@(sj^6E3N(gy-G5r10{Zvo=RAnA=Y{xJ6 zQ3)_UX9Q!ydh9{b^(SvTR*no%0jXEnyIOaOR~4 zJ(oDc6d34jj6U!;{v=Ysz4PxVT;M#!G~Mv8k~^)H<@GuLHG6PR2H#P>US-{#|0+xM zY2}IWDQA~T4-5`0I+#!e&;@WPj+!_z z$qbZSeT9VQyzv!IWi%?>_LtL4Fi5OhE*EoE(x831&exu(M;%ZTtuh&>4;=g=O-}pP zXdGf?)0S$hoJ~pL``INm%+!22%F}y>)oBf*neW859}(7q2NU(pa{d{LkspGgKZHw`ZTPQapUUCo!&+M5BN?$v z6ShA%!nGpAR<@S4i?%Y`z@V)b&8(h)Gn$LNrC}4S*cRqyJIKcPvOT?vVkoO;mwDx!wrG92@ z>1Z#l&!wo`jSfBTcs)l{=@y81k9px+KQTqZHKzN|IC01Ak=Mv#oDdYD(ypE7^`nl( z)i{;^hxTe8E<$(L^(TTQFEHBZYu8LTwPhhV%lUZO83u$HC&!&t51F7yDd@k6b@7FmlRTT|jEn=nbQwjc_TAIzAlwxv_PHV+V35TpS`6qNK9cqFT5* zRVy~9JM&e87LLeK55}vBo+W}18%Rf2^Izs9$1&(LQI%K1@9y}Z4MRgSwdp9#yVb=Iv92Ccyp!` zJ>7cmkaE{q+4;*r({LnC-h(CR=IVbZZ7~el#DE)a$L!LeL|t3qwB6jPmW3 zx!tOPALz~2>lvq~V-piIN0vj#&pD+*)3T}*vgi^Zt;Yw8=O!O!a@n!Bt`TV_%OR|( zK;C^HgM|iAJq=O_!X|E`qr)7Ya#*`plgo{L1`RyopYNnTU#A6l0afEz#5%A)N3Y9g zyVw5Z*QXHY_@-^gRx>RMw(_dRkE)i4K=GQ7UGB2{>t$`fbYX{%n07)1MeQxRO7|ih z#XP(`SW0JBnQL{fIwc57dgCRpp01C4=k{+1SHxM~DJc8sGSbrSSV`5?ygMzR%DGO| zjBI$()+0G9efxAMYi1m}&V3v!^E_81_~;^$Hbg#0a(P!GZPwn$#l?Lvh{uUL$gF}}=!aypIi>a>)JN*gz{yna6zPjl=ehz`tDtJNla zYiG$5MbmsY;*P(5-`D#%1B%T;Xa2kKyJ>vNB9+ZjeiBP2PN@8V z+t+tIYW8+BxMRw3j>~!ZC=@j7c;yAXg|^#a*VDiMWy#P`xcLf6*lI7;mXv-C!96OR9M+NZS#&u=pJEvMKE}y=I$l~+z^2&Mc5oK>~Gt4zw4q3NM9%Hp#T`xG@ z{og;vvG#R{5wo~*j$=bFGZ);v`Thv*1rbC3I}xg!Tva3H8`VKi49wi&MJH|itcjdf zD$cZS8Z94}mI@WmzQ!5zg*X>U`>8JJ%qxpj!3i~JJlS_YJI7By({xVVOzvpE>V@7L zIW&|%3U2k6a!B}gfqJzSQy5gy9!|kPXJ8y~F;Q2mC#X04ZO-YRQ$|a6x$TRB7ZbH` zHP#~uj8FvNHKkE6duZ``HesypO4S>mu8j|Z%{_Rm!ao|N5N!e-)YmXuT~d9oEel$f zz1W$%EAC6Ex(GVQoh{;S9^eiT?x)GMxUZ`9+;WnZT6*MUG2ys^54A95isWuDSqU~u zkE79Xw&Yg{w}!L8d^yWHWUj14>XvPY-TNnv7OT^jepfW$d8ylqv6Z$7Xa5ZW7 zORuo^G;_Ur2lQ~`fcIDidI1q)8wwPPCuPR{)Z=$^RDJz_ude;h8~0bVt2ov-GBAFg zzh@3tKX4-W>KSl*?hk-y$d|!Ga4n`+qf;gOl9m; zHIA1I&_)+=I)M}*zzIS4Hn=5BT`gZBbTM8vg3-rFMCXMcdBKgu6Ji#QHe>4?hrd8g zm=jf*MrdSb2`wE}hy;S7oABB?+u4ImH9wsp;-1Na=u$Ubt_*S-N z!Me|sZzPoUSwiJ5c;0dOnBZ2`R%Pbw9fT{otsU|bx~T+COS~c1$nlNjY|ohVXdF0CYvJnbYr_#sc{TW zqz1zz+S43zOsJ{Nq2NE(0Ma==suF#vh;3)qrK*Rq3hiBe#COcHZ^b?<13zJ?an@ z#=c_Nx&kw0H#)3oBR0BP=)^^&*6go7IJKF-&p6;4O~!P_i12dJTaR|mjJ0gnjUo5t z?vlAWn08!U(PdzW0c(Y}gLsksqVXyzy{kk;vy6?>5)z0Nr9a&Bu53hEkIa=Jy z&p5h2ttEM&7wb}V_j_)OnIXWs6WmfFERfCwN9XMUoF&YkK*)GhUQpD zN0CDSYjokVd+Z@HRmINJ|1h6F4L{Wr2KH0KiGPkgTY)Z((Xa$+pV!{kDrES<3d9V~iy$4?>;tJ|&OaVuaTH zw~kG`&DO+po+1eCW)Jy3(e|3?3Ictq!szi;nBrOsKlAD&#QW18y3Kj^f_ zAGuds=3=Jp!zfO4n#`M?f)|QHxI^L2W5Z3ZI6hN$JdkA@U+TvwwX8STazv1~VNo;E znZb#rksYPv7+)yRn@Wl&SBqpaOgBc(ihpY@P}Oq+se<^Y@XYR8ptWmz1F4st)R->Acmxgef9~GxTQCmK0@fHCl6< zENH$nO&Yo_F4(at+%nZ0G-MbwtKwr63H^84M0N_uF^qf#8K|oKHC$^0lJkuJP%8q+ z=Y)${)y#LjW||HdlDhjJ$l%5Mrw@@dHT?YN^L%9DnT3pZs+h$Z^{nzDQgyVDACs48 zoU93UL5iw%CCUeGrm0hD%9PsFtFP@j(#mR#e#4L_lU0fJZV9aCHR=7HHNcV}eMwP4 z^s0crE0f#U(e7n(5v9qx)n<|*W+)7O9bvi@`ssRxd%OherZv`M_JM9vtp+Z~%21Q{ z_BAD`uNrFnZKemU^xXVPXy(CTt|r(&Jh~RmK}P|5(0%-<}rlqiVM6sAY<$t3hu$z2(ctp6FcM zKX@envUu6X8m4@Ir-9^9JD}1w1s9Bpz}fi8Wl}l@*9N;X&E5Ry@-x@M5jMtKPM{`e zdVf;94!vGlBT*DpdI|eI#LzvvCFj1vJGJCmL*Ms<_56hu-r3;#X(m((c?3|3dK}EK zZ7UPej5Iv4n`Zy^WB*Sd>hrzSYic^qBDq8+Sw+{nZ|e<_KJ2mQCMH5<%k8?8GY)^h zd;S@~iA-Mt!OHGllb~k6zOq8t=qAWGdW+oqU&&Y-MaC3F1OFkwk?kO$EdsI0Gd#i2 zbR3s2gs&)T)QNrDP|_LK&I$JFF!BqeyNoIQmZw1WrUphnwc|F~@R_8R-i$|@l=LVk z5DX-~Q!C9-o2VjvYW9>wjaZzmcIupABiBYw*A^{>pfE=YbnVH`-@mrBc=P)*hgdR1 zT8UW3OS&Qz^45}tb#sG79Vhe*{S!T=Ntz6@Ul(cb*Btx#hi&uuXQKYWZ&nt?;+$4$ z;XESwy)`oE$Jt$+<0gCa_=2;*^l#l)uH*jLT-0aFNzPcUnzjX*rAw2hKaCEwq(;kB z>oekNFMj*XL@MZ}j;aKMK^d8_7b133LxEhiMSZ`&-MFy?g|AK_)XIvZ*hlbcbIo!bD?){Q<^82BV9 zN9Mu}irEH`mL%5tc3Ez@f9E46$NXxwD-2x)HvM~ZjzM@BpKw6~w(wPrhb#M&54Uv9 z_w>2#0BJaQC;Ujs%NcTH8Np%)ZsNtZ%S76L+pAaichVCZ7&sT}YK&yfpVkpnW>Po0 z`IA?!k;$sg`Djtk)M>-sy_%zfwt`v-o`Cw(eU>(#EYAbn}S z_Eyg~)O6A<%9Q1_B%-frP&4TH8z`A&PN})S6YPV+=|)bs$1=D<|6>)5B&-k7rof4H z@w_G%McTXUxnVzg9*}f$UdsOrh8xsYe0`M{EMk%WU9d&?XvR3Sn$*=+F+q)INg0T z$dBNQePhjEft%JW4<((Qt)5}AR#2iZJtIB7#4pbbD+qV2E#6l{NotF<2g@eJewK+9 z7(v(vIxWs~r1y59ZQOppC8uFk%ZK5!y${{*PvJ!QmZ&glD!W* z^!ev0b8N@PMxipE&7O$ED)6EHJ1hxk%GjjuAirSNaf(*v#51LyE>#C3tq2yg#(O$H zcvyTpe>iXx{<|17RqFCH=|iMV?Od)DbfnlNgiZeb{WeRt1Pv=A@0>0K?U@EiqpJs za$Q^e;aRqM5#-F5qC9Q>M6S`f^Z71xvlVm6gUjsIMXU_ri7GT$lfr| z5=?V;3DGJ&FLy5%Nw6*Pg==t9GvADDh4MDF z-T48r>8(4^a$)zr?y(8IiwJb9wmHN+<#Q1Xi}S9*EO<;=18K~R7h zR*CDnK0*hoiN!j{$4iux#3!bkam3i*f})~As0+;e9sh>(<~XfX1j!+Xb$@|I&`xl{Wu|Zh-pP!lVYd z6m54yL5Y1B<~?^*kcwotb^gOr$yw}S#7tpeQF8FRDkBP+%ZTn{HP~KpmWm~_O;u~fSTPI`$g??9BQ6zp-?T-trQ zfR(!)->%KVTwKm#YDE{gvI3f*nR==AtmntKX#0G{j)DQn{@3dZ~&CAkx zbuEFO|4H3``&pOWd6JRD$6t$5u3dGCa}S|)j<4H_w=OwJ^ET_PMiWnbaihXp-oan6 z(HtoMJ-Vc{vf`L0H@q?2Hg{K~l~ePPp{Xw&f|!%yo!1J-SrjKI_J>kW$-g|YN2P^@)Ga4vk*BXwuCX~3}TY8hVQ@%yeb&YM>*pS+8VuV_N zk#?wzMTC7cbDU2q3`~7JqXp~ONpW(gh)dnkqpSdZX4`LRgZPsB$Vc&l^%|*Jrziad z%=-XUQFiSqZ!z5UJkKRETwXE_tULCr78y+HKC>lzQ#q?W4Thm4Eu}CI6{cw~gY{2w zPh(<_!bD>l$@`OQ`o4bTqnCK6Rwq^?I*v25BbThdHn$5>+L+t~BNnM2|yHv$MRF`ZvI%y@M!pg13agLaw zoI2UVn?gsh0fUMb!C#DWY>Zn@C0a)E%$53qpWKPoq8L1L z0;A&s4FkLMlWwb<5_>+CGQJ2`h%I*g?aXX8;{U*`cnl&=Q63^tEUUn}3wq{_a49cE z9TZ>8UIho+)xT=^$evYAKR$EnR14pS4!h&&#()`4VlSQ1?VPi(H!KPJ>d&N-(^TaK z14rgxIplk)QO8H5Xj49BOZ>jh=BuUkTv?&7%oW>fq_EMv-^4|aw6Vu!L`qGTX#cVM zW15NFUWU!k_NePYep-G8c82y&vUk$YpFhzFsqV_A(dyK?pdqxt{a*2u6tZczuPx9n z#0$`XdtiTXSl;~PKDHU=TZC#wz#IK#ZD-8QSUyDR(RTGpQFzGRt>mH~(|EnS7RO+W zA|Tt--CJe%{ho2N6?=Vp9*r;D9!HnXkjFKldEOWf#n1)E3_$KzhrcIob!KBE<;Wx0GU7|< zAhTzIjLwF21u$6~e$(@9AIW)Kt#G6p%}~JQnZS0=3#ck*U-A>Rhsc`RgY|I2w!OUe z?LK_A52N~C#-UgXbvZ7Uqk>DBa)t?OlyQ?}}x=5>rp;k+AS?`ud zqU^KJxV9wqPU)LLZ5mOQ5L6BsR%g;V&bD&E>sy`f$dzS76*JoHq$!X6#;8F3FAt#k zJ1zfwwdYI_d|j19p9ZIOQZ0Ejqhj@MzjDiGFSq1HdJ^GN>KKzgeo%7<%`U*u$HY_2 zODUrmE{eBLB-^e_aTr{iG8QsyC1ZI27tKyNOP5`b&?f_$lKFfw09bck7N zBHiV-LF=V;tSgK=;`fV#w1;8aKfE(LLOe|9VfrQFh(eg8`C? zl(d9&cXxMpNH;p9q)1D5cQXh`mw>^LQbU(K4&4teNc_$`?{{6_KQQ+_=iFzXz1LoA z?WW@hj8<1N=jk6A=-DAXsH~sI{36rR4TcFUM)c z_}`yBdY6os6$;d;zy=6Ja=5jb zH)VbTDp7b(Nu3dE)sqQJp!T{(dP=&UM!gWL=yCTZzxpXd?&sdSN{~2dzN`@Z_S9`X zwtT?wAmcQ0Msn-OKdimS8rcP1zccyF*vD+|*1$wMQW6V+n1ap}WHv;dmMY2csp~|) z{!hK8OYiCA-bYw^B)VparQa))CG*qaY`4~5pI{xQs^Z;l(q^tz6Y|T+c!8{SR;<0K zH*9RjwWz5tG+JF`rr|?O=~J)SRMu<*j?XXu?l~x0foWz>HOlQ&-^_S7YeU(ydgGp^ z@}_6B;C2ORFGT2g?-xzYbsbh^cwYwdE!T+Q8BCkFt!E;B2-&d}qW(sLk>2bJWE6p_ z^zJ=H^e(Wm{i*|iFSdH0&agbO?fcs^$EP?YVk~Lg+bAT;#fc6nuu@t~e_Ksl zF=60*ADwCP9e;zHskJ>`tdgb9ovt^H%76sV&5!)bI!3+Di92)C(fyERLA5s(@i6~vrP!VO*imGsMeJ%f?qw(wHS$Rbz{U%j69r4Q zrjII*a4#l;tUZ=VV^b8TYzd!B=5JM&-`M7>%iVdhWrN7vC9d1JabVcTeHW5t<|+P} zafYz&+`T%+l;UZ`^ZzZtpC>pafiZOS?|BfFUor$}4Mo)dV+|N+1)rssiWAPntomK7 z3!F^C1x_mB@Q@hvjEjSrlSV#uSxxYA8n3wT)^V0B3ZwYfChjH*k2~Ob{}{BT28$tB zsVU6qH@)W6gl#`Q2>zEa)5#GSH1w5IZ`yB>IP8Fh0JD)HSnnWfj8rhRr;A_Sl>}Ct z=e4`B`o7Llu^UWBlrLLz6OOL0)30G#hxXS8xXy6E2nn!%)#aSY<{B;z4v~@7Bq~e5 zSB&biC`wtN`~5n~PE_p7vTbdZ1!V18SDH9VU(6*Yc6k@jj=x)av%AU3etdKbgK7GGD&n03z-!6p z7hCUx(HVZ(w@fSCHFdM|l;==8vb7{{Z5vB$E(N)ha-W@4Als5TTZPgSL?1Lt_i10< z_)?Ag{uMt#d**Acd;817{D@3)5*|kv-&iI8=xYXG6hIz}WkF-LW?nybvsg9{`vJ3@ zeyh|GM2C!~F*I?zR{JPFIg@I0cE5|KWyq#LpqwRpg-9>ONSO!Cs?A9@b zB$GEj3Tp}o=f}g*X(g@J{|yR0F(SZ2-oaWkVrRd%89>Hn$QT`d1*(uNhWfBza5)uVT>;sTlF#VH}3umb_gCV06 zdAV1F9yrzJ$OsChG#=C#j!Y;$*wm8n{wtUAytBJxXKc?M__+303s9uVH!pBmH)Qu! zyWTWsj*}eX{E+9na@r&soi-&n-IFM0PyG(ST>!XX zcJ#1a5o@U2#}P=U4GY>%gfw#Vg?gCd$+zb!xHM4Psj(sYCqp()mT%; zKw(Jxrj<@#%-I;;QZSe0{A_BM53nSREe&+Z6lEt?CEeg|XtH1@e%DK}m$|8BDaJ7M zu-&3BCA%-*@Q)LezI5s>kFsp_NRgiZfZDv_HSOE7wN{DD z6C>%|xu~Ps(g64^tBZ!NB7JA^Af>>y@bhieAUB?rvv2Ti-JSu@VV<^RYNCMz(OHRq zyeI4Xvfd^LMb^8+lAaRi9bpm~EMH5q)NwmiD`e?AEr3Y2<^cJm-t=Q%d}6 z2_C7+y29B}tr|0Tacb#Wl&Ly%bP+vF#KeN?>Ur-Pf5xHFZ0DW+9eX-Bi7SMi&JY9G&=OKK{M-Y)(quFaZKjm^+ zs;!(1_h#f>ps@3pN?RvviXvtN5t#jdRg7&D4}~%RYw4@Wow6M00POb*V#$aMQFv`Z zK>EO=#r6WN?%W=M35~X{{ORZMgV)5aRLXQiTpLr)7W-v=g0?sHmh(^7?C_!+x^v0 zV@~(lv);gM%$WdYy2AmOo0e4{e%C-EW#;Kg)N4Gn|D~i@7N2YNy`B#zYB0{k(Q&jl z#W_EJ>Xx74uc6Rhm4KP{9_m)woA7jmsq43#jL*;Cp^IOXtO=Z$$v)nX$+vd+^e4X# zaVMA?IO<2=_`bu7y!O`&pv<4~(yM3_cWz+7l61O9juCH!;x_j7081emu#0uhy$S@F zVSzaupmF1k;$k;{1wVk06c7Oj4ABP0`_XZ5AKfUPM?)k;sS+k_v=A$tYe}LE7>K#|- zNR_O4eQzQu_x=-Q(W=4a2>c(-gtI{o6B0_`&VIO8gniLGdDUfN7yh-9+O#0C8dXaBw0^t1k4)--Glpje3z#wn?t0b?BC{IVVQs>%+rdnXTl=MWC? zmXWzrkZ$j!MAD#Oy^5e?aU1%ym+xt1oy1wO6)Sldk~e6#2eL#^FNz$VzQr5QmfQ1ZZL}M zk6;MTlS!4)m8p9dxhz9PQ*Xp|9sch33#DB`LeS@Kc+1DckT#*#kz}Sq{X61S?EM(F z`Y$SFQXa%t@;OJA&Yu$}163mg<+Jj#HO`Y0i=z9*2M;+q>)*s2?m`i6BRI9Jxr*h* z=WTY8vz!YPB8#$;V$15Q=6uaPtv@G_i;SRg1C1y?uM>pLRjN(-}w|DQN~;rXYtTpYANBBf1D$_A3SIv z*@!Dps4>|E0agEsjUl=ND736Xi_)#cvTjzRL^afpfQ z^@s6iu`w1`#(IBW3@6U39h@knGpH4x{}OfC2JDlw^X>zl&?8RoFfZM%u#4!^8tuF{ zVISJX7_V+Nl(Zx)OOaGa)sHT;$te+qiRiapnGP`=q|_B}p85=#IB+@(efn~r)=Aq* zqZ_EdR1_aORUDOydEI0a{cF)cJ+aPA32JZ7H37O4?WSCns=Z~$T;d(}cHB_8r)XM% zAb=G8^XGW2kr=cq{cY>cPQGCe*8?UjxeEW9z}n1*h%>S(F60w}L!44n7$G9S{?e6K z?(l3u-PO@tn5=SdmaF-Kjm#uU)5`H&-Wv=&R&}J$DV{Xi46iO1Xl_m|Y1VjQ!W@>8 zql_l^%&l4k-ms>pmTu));SU4^i0!qrpVX8)6_Rs!2;2j_MgH}Q>!D{rQ-J*Af=IJX zO;I1ovQLtHHI^wC(`m!KK$G0{*+PU{W|eZcBGHQ+RkmP;%1|_oK;paL(K62|!mUpK*!tgIj&&VT+cc0E)X|=O?c<&h z8cBm8bjSoKIuar^9Wuf%WgLL^{qN@MN{^)!5gX7bDavV}1)-4O zPNvC{Nc52ffHVO!pT)X#=1O3w!Ev`Im}3NE;9zjKUo;SbxzH+!J$(4)i~PIznY zp0l~NN#Zci_(NO%DWzf;59AXByt=?w!2D%?g)WFEy*VarsF^Ud9555|#Lc1*KlMrQ zVzUKo;WaJIo@5on!NlxfHs8l3(V7Gdy?3P6_w&%}!n#h`J_Dx-%~lBaUd1aDCP{08Lz2?lb+t-6 z%&3J9Kc^>XkWZMXcN#igdpdcxPZ2><8hi2Ri&wCvsCcQ;fsv|wp0m%(ZC!Vp_)21g zpdKo85{|5I|1ggqUPB`?xMv_vqKK>)(RkK}e6UILLe7*$6Oq(XtXDB^-v=KPcHUN= zVcn~jGOfYJ5ZMSiyM6c7kgvP6)__>V!IMK2)FMsj5F<=bi{zo*JX)W>;f`@=La^;7 z3~VnlM|o(41KP7jy8$d)accYSIopJb-Lc#?=1doAH$PeYdKb<|S1AS_j_Sh*Jq&YX zC7M#ZK2D}8-)S<&ef*rqP0hPo_G*%<*KpPz+1uMxn}O_Po+>ct#bf!>ZZNwn!VFk- zDAhuU*!O&r6#I-|fyGLSXP_}k(AEO@gYRfa!cd{>W)EFahU|Gw;zKzwhkrh z6YB%7O6C|(TUD=2Ugf(q<>WMuuEAP?fM3u6qM+?xBG>yD_6z#^$R8_bUAw^x$%hwp zn2Wso#Uc(#ok84WPZ^n$ehzB9d-}(0c#l$q7i#66AmSb!ZhQN^!ZGW{Br^Dk?AUYv zz!`TQlCEs9Q-Ib2Il+1QPMJ>C^3X*WFK*&`k@{a|-O=Zf%7VhLpAo50)Dn$lF;Zew z33ZO}GGhmMBrg|Kafn*$|K;_XuNkT{e%h(yHEtW@o~wj7Pk3bh(L~;^5~C8qg@0PL z1aIjx-$rIfaH!IKdo-i*2(TMpDGD)n4MMT~bj>ndFaBMn+li>NP95UI?I)Oi{&9ka zy8znUm!4|Vh&N*RcgZe>AooS0{6X=TJwcm?)_C>^%Ymqk-uoK=r}2!sUSTdbWpgrc z{K{)+R{$i0AFxfn5`T3Q6Ml~FcUZ}2D8kP8O!Yq4U?up9?_YODoD!LxB*W6*avpH# zhnPx9(a6DMHB?E^IlfmChDOb=@O_$-xY+FNO#Kca5%zRhL3*;K*@S=blRdujzFs=( z(~6EW=@@NcwUk83yP$8ojZndkZTuGC!P1XT@Z-i zl)R7e%!uu<6wF96zyA~1vy@%(7v9lrp0}14Q+eGzgLH|kug-GUQDkGO7Zvae?r=PL zTZ*M|8|eB9@wT=Ec>5v3+o^-AnyldC_XO3544wD19J#$*H(Kc~0bpbi;5a~9pDbMc z97GtaE2clBZ*B!N)w^D}UK2p-rfi3`G?2x$+Nw-+r5y&;`DRihCtP4f9rE9f2TDof5iZHFwZ5TM|4^}Q&_Q@g`%uE+dPjsm2KoJz9oe= zpX7Vj<4Vw(1#*NC_HYbQjxRT7i$TL^geInc!z4tW{X4k^^HDC1C&7m)i#79mL`Te* zkKu1Le88&zAuS1%QCb~tHRscd-Df$QSU~Mj0A`SAfVM|@uV&l?`yuAy&Z$ELOy=}bqPA|04^EHWo&gCbLn(@ zDp_SGJLP@3W9#F!$fX!gSDQ746z+{HB+=HW9*e9El7cLnv6_y!v{NYy5B^k_`KAm7vBOG7qH?CKJP1DY#5?WKb5aN$6 zU{ZlH3?6T)BZL2=Oinv!2aF6#tQv5%BLu%vE(udQU zqW1P%fC?q<^e+g=8vIL#p0VS++-fzI@pp0~#|>d#LQe zpuTa1p5Gxv8#S5*m=F)S!xYxg)uV3@G_rY4V(WL>d!Fh4u%{#!P{p^tIeN9mP!T(4 zuZHCq$#;{-9IueVOzJdC7O$hv#00Ds0JWaHvVVtX>&fjeZYj{*N6ev%*fv8d4SS2r zV=U(14yM#D%aY1g=)*4PVoUSi-B$&ZG*$@Bj6d7ro}&OsD^?9?01WauCJ-Z|%CW0$ z2kdxB3PkrhC|0&}lInv%A2((4OKr_Q9#9~GFKU!>*co3@dMaf{1# zJ^Yo5uH_hXOn}VF;(Obf`d_gs)Qtr9fBL{Nn*DD);#JpVynCb_IO<5? zk>jYwtGlzAg5RybYeQpli}6L6bEJ3 z=7au7KCfP*iDlr!JF)|YF!LoTX}v6+k`s~d{wTyR_rqGuh%3s7g57=WC&yS88UzkJ zS|F8ZQG-4MHjQ?>lKG|6gqR~AJ6biC#+v7S4$^GkUorDdzHt3g>VCrX{yP#pL2t%4 z2Hp+C5`FT)9T{=Ed0{7Xbpv6WPbv-6h2+Ni7AIZJmUHM}dcD}jijq`2>6iUf+|)J? z_0Gu#7q63rBDJT?@|Yj~FSXG~?O5>3$u%Xs5AsQ{ub6xP;5+KOO(a(yDZ>oDO{M~wNkK`UNT9VEh@00p?QLQ+H7&wMQn8 zzI!|EImH7Ttab9rUBYZ~Ot+ZvN~0wuY-KNtw2ox+s6kZ<=PEtuePt#sqZ&w=a@W^Y zW8jUzT^TW$$v^!JGu0-)Q&tt}Nyywfi)y54+tAbFo`6x6JCZfSZJ#?=`0~`;tEM<1 zU;P2+@GC8at^B@v{x&|`hY;X7@b z1Y5GlTWv;j#b3YZxN^M3zOPXv@T#8IoQu8%wYtu%>6#ah1Sjh)nRkS@lR_YfI#&`} zR%d`A;zhrnxpjhD2lWT3!^YmrJs2l`CayUIase2m5aLjbseo>djn}4QCuRKpZ?UjP zWR!V5ya4S7bmy_^0ZLZ|2*K`6smnV!2Oeu8znqUtt|M@x(guns&MRgkI%UnWMCk5* z+Er@ah~^BXX!3$vRvTDes3%7+UvT95;xsq?LKv{SOo_eRlrd{lI47&wm4x|B#ggGo zk;8>67cDrh7o{-DwFAi@OW@9eU_)=_q0R{kX%F3nYZxfX`d`K@5z81RFbwh?SRPfR zc|~}}`D94_{vBczT?iB6^4i35H13enr3~{Rn!5&L_t?eXKV)9c6jdyjKIV*Zo0vsO zXWWPbv@X(ey3b-jX#(JqYir9~*ZTLPXyXB~ZVvi#c_O&kOS7Y#xp*+eqFMcqvs&7)fxk0te& z_UY^5J&))?1wuUctP7vNPeYZ$jW1hc#9v;szQuP=sw)OJ12A5h+BS6add8|<0EM#* zHIexqI5Tr9{@r1idqjzMUCl|w*qcEktB{-B=((6CB#2Ic2@MY4mWEnxb_~gfnV0i{BU}^Y{kyfgOU4p4M(Qq+S4bp1ACg(~3t_@u_^X;&Rx4QlVEpCir1ft6 zz=pLv>XhYhn!Pac{)HOy=y&pUeI?DLPy7vSy39c_?Fe(ix2@LCQbHuuzR~w#xWzIn zx}Z;m(x=vMo#~7ffJPZ=k}C4C<(lA7hcKYMFsYF1+K3c+mD(%W}F%v~OM4n*u~f5?<;7$VhR`!B>c^0I5vE$xE41qb%aV;+w!X=mS?0WV_QOlB@p$2 zqXsZxvWkE&y2EatfK;rw$rQGY-CcWzG4S#L|F1QDwwU%*^b}Q>HTUB0%ZWGr=(e`c z-@JD*jX$}?ss@O2%2RH8RMp&oGF}5`CH9*+wb1(j(6arxL+bS6I5pc-_4S8$44saj zb7@J-vfWz5m{U2Z4)v)XRtX_PI~+2l3@KLfGTi$0w(7YNW;WFfI z2eFl1V!Avs?LeBWdBMkO>DlRT3g*I+ubIf?$yE8P)AUu~2`;_!Tf^thbV-q~6Hc#X zB~EXNK`0n3Z}IY_DNRf!72YvR>}~m*+UDf!-Wr+F=VII3%YDgo4k*@R?=keT_kp5g zLzo_;j?=>gN>L3O?hpPl=TsXIbB@kAQTaMTwUSyro$(>%7Uz3exV9YIO94dC(604V zC@{A3!`Lvygi?C`Hk*Nl7{F)=i&kSEe{m*n_C|X3gcyatJ)0Fh&0D;LRg^YH^R0@$ zX_Jy;Qw&q=qe$3-Qs57Je-u)=5e+j30d7a}V{d6~22c@pJni_Wb(i0i`Pabp*-xYz z5k!jx^=&Y$+dFK${zO(bBA-~dtZXwx?=3%Z63iMt_|PS03Wv(l+do35mbS;|YFQ`W zSL=>Hn{US#FN=zNl4wkOk^EnlHfhsJ-_{u&sgXB8IV?a~4zxs#^M8JYXkO*$Oi#X+ zQlJG2jb41CJ!J*14Ubq}J%|)DD7PWx$%NSO`ZTGAMczqNYi4PIvPv<{7m8-ZLH}v- zNDF#4ozwkla^c^FmcMXs?64{==cjv(LUp@FQmpW535uEGMRd3P`Ije-IUY;?{*CR7 z9^F(N_O~^Y!KB7N&;90K{$3m8FP~K%WzmN&lFhwE%FMzJt_T&IPQ`E_S~;kHuRtLg zoX6K-baV7vNl=&)I+p-aOn9iUVpMmIht;F}p4KkJ`dn*;5|fudlD2F)(inAS`C^)r zbql~^z%K`i<#hbmiXMw=#+ACVeO5ls{x!A7^*F!h7tNuY3#puD{fgon_u2~1iFZDX4Zk#))nWi0EZq#i~7 z>YTZ%4Hy;R(y6|%h;Lw`n{8&Z)fT08abd(l|521a*IoQHn?5u2q5t7u5|U9ZO! zNNTeYe}Qag<6?@4TJY{vppAh20FB8C_2tVV7AS73)I`*812#B}e&R7;+-c4A${F>K();@qhrjS{8|*6c z2kgv@5}jE!B=!o=D`$!*+U8e+!0f{|VpnOG|MF06SDl=%fUBDQ(^Rl#j=NYqhSa56 zMG{rF3iXkDira0QpShpQ+wV?xK+a6xYa~V`c{hQKBZO!Gzi>^%rN1p_F5Obnp zM~xs=D!(b{_?*M>4FfHpTMZydodkCsT--SY)aDD?v8MH&OBZkZld4}^a0iPb8N9>2 zMUYe5?hbc!A;A6f;G%S*T?IEeDX!;kb&U7OdGL~uSkVs+qJp~Q<_YnRHmu`d(#wa} z7RZmN7jEf1UJbBVJz1514j_<#!zW2akZd*_W^-+qb9m}|=qf1}p^5ch; z!)w}y*R!t~g|)K$BMOW_7K;E`EJ_`GCnWxn`o;304`Q;YP$31A^w=gx*!WqF?pHCV z{E8HYb9r3jhtau;gd&e`78}CVDp}?h0c?aYRoZc{FLi&waH%Wbzqps}%N1k}kzihBD+K=xkQl#_r65Z&EA1y@PfZz^CIqXOu9 zu*7gjKrq_zalK}fyM4Pt9j^c%7q!tAd44uUS)fchG`Mt>_1WT9QlO%ptI3&K>gk?c zyy7~v7CUMi9v_unFPuKnffI590XMe5W^oi%iutIDTgnni;*>UZXBv@?*`>5BF2;zH z5?f$Z(B{5RuYAx`$;$Ea#`@S8G$Ld{{3$`TfH>D=5nqrG&Tqc<)i|9rdBkYu zO?CCH=f}TvzqKI28{T|iD5Pi?KGCrfe}?F%8@}ID>&tIwpH18~W38xrp+1P0XT{EX zp`LMg+PPiLACSI^X7Y?YmO|P$ww+TFhMYFPvH0Z`&Ox@DGAaXsl%oKC6^N&Qq`QYY z6NXRM4twp)iE_C!?Gv|rJU@Oi6?)M2W+{00e4LpU6+SAP-)4%vhH{qgl7W8V?3i8cbq{lH1~M9X<619wiE8zdePvD-(>;`gNI& z$D?$8+N*fy&W>YTR+80*7DLTWqi{(zXzu&L%%hKm=53Z&_rxlNhfXww_6IIm)Lu9P z9U6#czS*9)WZFC%^b#b(2XT8E?Dqh)f`;RhC+3A_J==2hvCl{-ZV`vrp`rd)c$F2x zq3@CV)yp@Ez_upJj9HG1(1g7h=K#A1J8q`0ns)pX`{8#kYJg*DHwg{sZBaGzBO^}0 zz(5TIxhZU2Hrl0P_LpGZ@HrqBBl0!~-8mL-&OhK?FDMnNWd?rTE7^UkmGjK3DT^1!AjMe8vpErJ!2Wg7Cvpz6c6qR1ufemq!=J!X^D^h5bA$W9{k~c!92W&z0FXe}V z(4W&Jk0ShDy?%B;g01WxRg-fjZOW+lJx#MiAGKdXD<{cB7n;Y z&u^lh@*$6P)abv!;{hHzPg5EVSUzML^h`x|wn4-i8^}7%n>W5HrN>4w=(13tAg^*3 z19Ddt@24i!_kw(9wAgG0-K}8bF8ok0-Ii60b2Rc$Qe(>_ zl-Ohyb5Wz0nmjF8hS$^6>*mif-1rrw$P8f7QXi9Yv(wKp^ul`c`!s!y3RRdH{U>HW z?g<9A&fTHgFn`q57YbEs8Ffb{D48+Jc^^uf(s5t~Z>(pXyi2PQDdEPd@ZQCftF~g1 z!%+Oq<+PPhGz)SJ>LQE#WI>#tJ5Z^&`Wk;7;I6q13+>1 z3p^+BjHS38V@NiM&@&Wcpo@Y)UZZ+3X-}3%_d~L7U zSpXCPwb?XrJX70(IstS1h5x5H+O9NyGQpiff$BF+=}3XYI@=tW44QFLn}=8tpL0yP z#e22cU%Ej)tTClzM;;96TY2d%Q|T4W$)$=01)VO29oq_XLa!z}sUV-R{(C+J)pBMu zDI82`+2_O*nhstu&dMmuyC5{z*I@v19_gOEPv%mi?@KWHI(A%PJ z=C=;p=3(5832JXjF0pp)=oythID7)6isq<=c=$~y$OTL-Td1v~lz4hBcOYzVIe_Dw zsF1!|v)m^?M;F;36!r)b67}B)@im{JJvh;s_O&-C0O@yvShARPbo~vZp=tp_V*+6iPhqpeS_&MFg!td z2}~gZ>_Afavmei^=H4-gbd|^aWZT6<`)~YnQTRUzim;)ObZ>ytcvcM}IXKgSGt?g` zI6-CKeEGYB>OOpDis}lH`=VNWa=C4__WS~iu0kFK11IpT(q#Ie>UwqX@0jZJGkNxN zvBs+FFvV+b+&79qZB>?Rn_|BO$ejrg$Y(Ge0h0DincFF#A`7R6;jzIquI`%0@2Z?W z=?H?hA3f*?pV=$xjN*DECV3wS7Nt_QscL`^Zn+S9U%drvwP!SUI!RgHsORTLhbZ7k9@ zB0-?;{=54}{Pz}k1_SX?y`xBpn1a^vx`xYHMyoTBwlmX>aa*KSk4ZYZfMjxqlPem< zt_P7u#j_tPN3CoJc(DzSyX$v%btgQ?5#M{pj)L~H+z}WeyXmV9gy);H&V&`{ki7q` z?e$q)ZD(;=9NWr2QhL(d-ZPG&I8(tbHN(=s<1|nl0MxPy_dmAQ-+I~1pQDs@=751y zl4U;u!bSRK98n+ppVcMpO7P_v^#4SR3M68E!n0lPt~RS9;20Y{m4iTxfG-)?#8c1H zGs9dl?z{S3agWgIoM!2Wsr)f|_(=Qf%Jg)B#xj4L) z%l3*5&{2L#*v$pItBYWRG(ZH3K-`RtT*JIpT>Fg3YKRF$-Uax$q@SFc8n069)4%ED z>p$9~#5^feBhxHLsl(G(+Xx9~as7ce3b8{R1X6?oykGSJ6SQh^VtoyqPcZY~#4Ovz zd*(88eS$$PUHTF+0j=Y+>kJkwdoQrVyFrxaghN@=)Dg^PPlQt$ZhPWzX%Dxv`73w2 zeP@~CNo&BRv&}zBG<@{h4tnik##zfzwxXT?Tp?qu$=I+Xej5OTOzv5+P4Zy%$^TpZ z8(XFda<3?d6wo?W1Ow*E+gfKPJW*_RCI%dXN!&V2<9|;Wrs-JP-!%m1E>(+hfH&&+ zMGVrIw59#J4{|y_V_n`22jXqLlDkumeC}HPKa=Uu9x_vdNCw6k0CF1M;-;rAQ2IL! z8!6LpUvz(&EKq*{)ESGW*6|E~EYe0brifB)hL2nggTTNQ#YQY;^N#n`qJ< zywqGQqsF;pO2pI?L-{}Key0KU93UWP@`bf`8LK!lC6@s^l(YT}7L{$|#fZa5hfhOg z%Dv38VcWn%ZW=#chrWF3@~IEAIw|YN*hx>XsNF6j^EnM+M?MSxwF}T?gi;S{yJ4<` zy?Gly(m?}(YsgDyd73n?CC?-4&o}!`vj5>i@Zz~)^i<%x9%E3PTP%@sKM`;LH;0p^<$wT zukgkdmYbRDv)j%%9MDu^uvPqQv{+;+IsnFR&obkZ)_g1t1~hc3tNc%OPrdn*RyPk0 z=Melhn4}R~DlTUfxm1O(03E0PQ+@b@8AwPxu$O_n4JANFSQDmj^U~qcbGQy_D^+CE zC01yw^2uDjtF*oTj%ts`{vr{is(4?&T%MPgr(#yb`|8(y0z8eNitBny$t)64lYpsb zc5o4}eMCSv?6y$^ZJ2lyVigF4?%8J}lfVOvUB28a^#V5_jUg^Q{aN8(QdB}SwCf-D z;#64VYFGPQ*a!=$;l@m-de68i0tq~N2B-hh{{a<~?V}H%@uH@7G}@p$7*)1Og#PwJcuNi%~>) z#Q`XgIe8RJ=4Gnd$+xCwk#jbjp*G1Mi0BAL$H*1}6E9D)O$4!QkfWs5NVz zJ4)w|vChs@1CHNUih*P(cQJAb%ne~&aW=!@vcmW?=1aF~82j_${4n=&d>j4atUp5J zZ3bIVKCv)U^3h%V(>CMBqKOwF(mL0oy_*OAjFecpxd0lKws25|W{>@wMnX z3{kIb$X1bOBm++e21$?C^_PZ~6RVe%srOxz4i_lXu8 z7jlKU+NRnx03K*64l`mM04_~g>?sn^-dW;b)C@nv{-dbBuNTZHy8Wr5lqb~48!saV zR8bQ~-_yJ^Ef#D?$2^z6wTe*Cw^bx-vYiMml0zT@C}M%sw|};2f$N>GNV0(SV{dsc z|Drx@nk9V+c3FVH>$!&!pMj>gmxU%aU1G9M7H z-VWH=J`;Y<+}Y`^=Jef2-vJxCo3i_NUO5=r>;D!ODDqSw!plkL{i-#kR3R`%7;9)x zpdW98K>qOp?Jo$^i-jFyXY5S-0Rqt&fbmRk3~C_96nu{Ibd`XxfrUgNNL#~vBlLP| zUCrsN?bynHeKJ3dIJToJ|0%iB#!G?dU_A!!PeSQqnS)H~FIe}?ef35NU(Wb8rn>uT zB3^&`visx^TDcLlX>pY1QAj8&NpV=L$I&LV24=5Lp?W?=FW*|ZsH;@~YKLZP(RbFm zt!;`jZeyK1pYJ>RFt;QV3U$6bCFQ2=<8)S+&bR)HTG{Nc#hG<6uR6D z0;12q1voRi*`}`!XF?q{@% z{EL=5{yR?kjZ=-mVPWmWU5I9ZD8=I&5Dw1{FHB-y^dsZ2ArK9eoIfO#M^KPcR~qOc z3ZofVa^4mHbP|MpWYjb3ZYxbNb5ifX6$xsQqiZA}^ObTTdT-wsnsLc1>8-gf-05qK zTY3%>B0I8N=cS$Kqp+LzbB}oVSbha`x!AFjaKw?1+1gQ-&n(TR3c8upDGVDpi4~Lp z%Tt3KE`wPTpH?jf3MRM?g}l+Ph;+n+>j!asxOeI3OiU^FW~2&_$o6<)-6J{XiSQ+J+*-r1%?<3FhOQlL>YohpVZtxkSbyJhn>afVy?A$?33qyiwstXtj~^Zko9MdQgR7;CrqAs*^G(<2L0Q@#ic+YJxopf) z4GFGK?VlB$Y2X&U-XQYEv=kBE(1>zd(XDPi30P1EQpuD_EtqFR-Zc9m<=+Pu8xq59 z0IsRvi_v)qC~2ten*7aZ`Q`I&BAM3#gYyTe%KF(Pjey&T>^_-X6c*PxBVG)Mp0y~g z0%)`X^41yXV4OH`i>qRYV^hW&D6UiBJ_eoGV!;-@q4)P=+%GNLG`|F2o%egI{K;8! zTM9fRI)ZjCzN%Y|OHREUHSO0FhzZtltk`mbva%# z@R{VI!eBvxqGfaaoQM#AWbiLn175^p|(k)>6lJsmk(W{!DNGk+xdoveH3k>6X!>m`+HldIHP zobl|oVUyu(&OyJWoXF)K9t*9^A8O@r`b-o$V^nvA@5Y1DFk=ULPU8eV@-f#)Ourz{X@tCNxeMQLjy7rPFMrc=L|{W0hZ{x3tfSo3?LHHg zu8x9%@Mc&28gQ22jB{WKD0rYQM%)qKR7z<#+@Wev^&?y)#j@_N}+16s@?yRyDI z8oYnMHfnryC^`MR$OI!#%Pz3UBL(&1EUGv4+Am`fSsCXf^3S)vQ#Cl{8g2G>!pU%f z`qv7Tnfz4R?qNlv+Y<|_OF#Wcs6#iR;GM=0lfFfP@mya!!&VWSGieO>z`Z$8!lO* zR~OTrdS`>f`8?%1Ex4g4<%!;c3q9S}#UY7i4SYd2cj)C;))*_Rg7QFk36{P|$oU`x za~jVU>i@-ka~lTSe=KjEn=RcffANK?)3HZ+@j#@YsQlqG`!aE1d&doH-W z%g<1w1w9Axf^g`?u-mgV&Y-F$>54i~(<(1@Q(-aiqC`6?5Bql)g|{mL#B_&`>>Vg^ zuB+(cm`Yxux?f2d>9|ky{<2zS+1h)a6p5F9 zys%<2Tv@P`{jPKPMTfTwEr8b&BLk|r0VO4@DDdN6-`h4Z;4!!3IH7rYq48gc+s-Pi zWB%qi2AU&D@QJ6TxeHjh{WzVgdm>Kn#Y=r8v#syG@0>2z{$#EjP5Q$tD$1Jc1%XJ> z089(Q#0gzJ#J}MUvvJPBqzTb#;PQKuZ{H=2mkt|Exly2^mj4k@0iN*$Xy{+ z*+FR?P-_dzeu9u>P)J)HIYf!_uJ~nz@zQHr)ytVGYDA-{o?JT`{It}{B7DM!UYBPUO0R?A#S32-`fQLDHEDteyB0J_y!T)PA!#7tE50gA5c4aeS-uJlle znJKkmoRa8_Slp%rqqDN0jY&Q^fXK0-5PPX1x+SDTWi_Mo#7ybN3URMMQZf2;d&4LH zHSTL?NvvpD(;7oQ%JSC=hVHBtckn*s;$BJTiQ2=DM5(%iA|7QrXTR$dHUypwXQD`I-(6nF zfoeovv+9>DsuMk4BdNrRUvC$-xj)O|uV{)JR8(3Z!7?_fdD%Px%nbk2S)t0mAtg?f z;|f6eid`xwP~J>Sf$obW|7z(Pd)c=eJzGab?@k)Ihp~WR#xN0>naM=xJdiuiFv{;a{2WIb#`Ki)t z%$T8fF+mSC0s3=*ItcB8Z+6#yzi`qww zCGflUoGMw_sWm78o1X>}(t>&jB=%pq_$8z!IK&Q^8rHtinAMt17F)EA(r;X9lKCz4 zKu9XQPK2!>;`CM+_bc=mRJWGRYxrJ&;&7mq-^$R|z6QkYB*q9ZHk87;$u-zL7{q2j{ zC47HrtDo#wxO3BVkMHSdEEgm9d;w1uABzd>fy8+|k*MvXuw4l&MyQ^x3~%)qX_;sj z&@}>w9)&pl4Gkwyvx#hQvw$fm6H>GsqD$a`9VmQR&Bq?v|NsBa4;|B+kc@H+*I&f% zS?myiVvwE+{!ixuzqGGELpoTiRa6HA4mJbXdR0r4uj8Kq4DajttUs~5Q7HxBBvYbh z_0DxQG)L_lg|+#SQj%4PCpd2?N(>|f_pNJiG5g)y<+R_wVakOwM01{JcL^uT4xe-J z{*R}#46Cy1y7oqtP*9L=3F(k-knZm85=6R7kZuX-hD|p}gLHRGcL`FG!n?Nj^L@wR zZ`oI^wdR~-oa3n%U^B)z5Io)1Ni#N|oBcy8w^+H{%9NfB<1j@l(Ch=DHs(a+*LM`> z*=ttk`)+c_odC}W5LqBRDnPEa{)!pDeIU~Db!&%t38vzA}lsIZlb!E^YOA4#ug ztx}_t|079=7hy@7ycgiA@jRRz1JADGzxupe5;=~~=Cj={=n{|<2PRKHHQ0^@Ni{8E z5Rlk9vi}KoQMpa2syCwHo^;mK$ysB6>R~s(En!@)sptzzPGXEa0FJ|YJ^(=r@=row z|1an%DEnf9__g}bywZ5;l=*m?E){o-7AG)cI!?P$-y}4mD8EuxU`^Rq z1QvCG3SRImk9OAhNovgc4nEN-8z6`ITUd{($eLzQ#OSk1Y;GM9_Rge_hb zpIKcE1Rwm@0@+Bt8(OH(~!GGR=%z0m% zKDA|RY;-7P&6X&wq`)Wc9E0`^ym7%F)G#s1xWcSG=f^`<47 zM|@D$l&uSNhN-EkPN2%5^(k%}lv6wi42(XW#6@^oSjF!jl;yr zj0^uA)I&D^R$w>eTFZi7Tx}h)Os)^e??$krNo!4OVg}`k!lf^kw*4~Z>c{qf@2tLD zTtV1@kCBA^kB=g{=d|GU+F%nbS@NxyhRFjC^@^gj8b6R(Da#MzKp-7q|Go#l>S^rN z3Ntggh`a75M@>~55?H5SE&yL(5c$4{EkQo~>sdyH$u7WCPZS!*!Cze&_E zJma&}bjo&IL$10tpNjB@HQYSF@RU^91uVrqd$s2HN1Vggr`)d){|d!$ga7B_b^m9vf4!^+WhJ6^X;cT{Px{132>nB5^7aOE;bLia$}=Pe5v_aM*Y+jQOE1G@bW}Iaehw% z2hPIt8(^Ju%GOl0a|$>(w@G-Y`M?Ph2hdvU%EXVMz#I!x$vNd(3*(Emo+in{vG(ll zKpzB7uTE7#8EO9^;)`YUs?3}`&mI*yNE7)~6KG)o@G9c`MfF1C>LFvR=^QlG?dW>! z_)tS-=n2VzatgD$s`!!uadVWGKJ7+|LnO!1ee$PYujdFP@XqJ||HqE$w{1Rfzr>f^ zs5NMc6G47#`FgsVjgWI|s;4!B4d#$aa4)qm4SU?&hsL&b_db(&`tcdnpMfe9Ho8Aj zWT|lo%8GMlw~LRL-{}NZsxJSNVUvSOg9pZzv{@gfu?BPo7Jgf<%`l8ihZPX66zBNUQ47uA~XU>Fm z(Piz&JWcULQO{bJDiU0AYIJ(z99jf@PEFx;f|-0M~C$GK<5Oyjc-w(Ipt<5|!6_NxLu5o`<}c5N9cH*zlpXcS4!Np+&gQ zOR&bX&x<;!N%+b&vULMII6vQ5(oJK9YgK1G>=#mfP&`-FwCdJWJ88_-#=g@4zhfG> z71?6xPpESSOw|RDo`84&n9LYr6UG*u7$&MPrnIR0E_z;7YLA;4kG+V$bZCz}vtX!+ z>kungec$CO&+F0n$G(Mb|0S3_4UQoSjqiuPsM1IX5yF%raDtua!S3R1?uj9n4={}? zVIF2vN()6w&i8|2X~LuX+h8X&gB|1FBX{mhCRt#b1H2BT?DdGb3>K_bJ_AX}7kd?|bD~qwKU6dUq zq1o?+LAO{>_xFPqREc1;d_&tN-){7yIpHN9=JbA*T2v7ZoZzHAUgO|=VFF6(SFo#uX#PNkxAMu}Oi@cpPA8Y3 z6&s_^r8-8dRolqfcVQybU7za5n2O&CCt@R(nXvHGiSL7A_7D+~P=%TEoiGKhm z6Jpp(3^63&+JNo5kHsswx_8k@`g6Eugvl0v*{n@SZnv0R@u!k(}*RTM=_G9kxVITsHatc3qt&N ziz?q1foKXAfl}QN*hTR-ANw(A$DCZ|(G(|xppkKCJv*%&4)4AvVzVW!9&y?6W0?cg z#y^Xvd^;;IwnnrI5u6#YU=l!dAjGV8dj~PhPI8$Xo`iZ1Li_2Sehkb|uTj7*Rc8Q2 z=#FBLaxy(&5h_~M&ntn?BE^Xn%14=B0MqI#ifa)6bco?h&)@8O=L-+fgiQ|SpO!bX zq{;RVP`ElifyA)MvTmffi2?IW&Qt#^l|y9X(+rO4!N4*#Rh(hPcENHs?W58!wuy2U zy$5zN2*&wVuhnkZVHH*7IBA7AA|L**^E|5xUb*H#$~elAF%liZMz8`jfk)hdP|2-I zpkJu+yAz;*DEQ-sVr8b#l%5V|0Nnq9Liawpgi|Pj`%lq^x>f5iNUpL`KD;Gx-sau57 zb3u>CJxvNa!LSR}j4?Uy%RB8_?{D1416$2LdN@()0U7CJHMexQ)GY89Nr$zcTi>_> z@J07330YoafP)Cm+(7F}Q5-e}+S7Dxkn2Lj3op(>`Rgh#A$-j^oSd1G+zR&VKrLjJ zK!z3zB3+wGkG#d`y14u-FP*AYG^!c@GVJ3$W_WY+@W>cb8y#d@NLUw95cgP% znI`y+E)FXR%ccMWN=cd~ z{XQ5(?@M&OQlKL}vSci7u(i5s~~kpy5GH)LB|g zotsgi6g}O$;B|DF{fu70Ca>Dp`9a(EKCOB9x)IDLiWT3_N=57;Brgz(^<*B`isu4% zLU)c65NxLEVZa9BHz%=fR$}OK`Lee&n(Yql4Eq?%a+o+Kpm(kblNwH3w988PWr_1e6Iw1GWl5*PIF~T$BD&6H!E6arBDXzqv=!9Ud|@ zy9>)vkzj1^)Kg6-C~J`}5{}Fq_t*G|8tJ&6(Wdf`vf?v^QDWJ7EIvMh9Fne0RAxr| zAiED=z}!XqVSj=RA2b>Jx5)770`JIT&$OGkFq-S-VuA|MyY(jHPtnMyN zlhvEJuB6sT=7p@KQ!!j~X;N|b`}AV0y63UGHd7!SlsenOtd;SByB(*U>5(zjtoWo! z7f3_8y`HCAf^!V4275-y$}h)%iVIRlr}~;w>)9qhXFhMs{rD@s4#vCF`B}VgN&UX8 zD&#)Sn)nymMy1`$z>L)NZ|L$^#y^4k^}?bLZJ7-FRZwyqy7ap+KP)LTM*RM1S*SgDma8K|A-WadT$eOp*sE6eLUYvXpG%9_tGXXZnR z$CVU#8)EYo-;4VckZ*XRP`svUHLq(h(UTo60xM=QST3^sa9LTW4Ria0m@euky^X6c z(h)+_6MWKq|uYQG+6c% zJ3wNuLL7YA9Vl6;2KL1DLSfs|oH*z;{?wyctQ+34Lf)Syn6aWa`buXu zD4E;9xPu=~8C^BFb(+UoUFN0321|2Ym^cG@k6I^tkKMSxKaYCg!ChVt#>r){qH{i9 zMxCLOFA&ZY`^;Ls*9jDsI?$U|hTvvp2F%#7gQXLf zp-yf8<3KU!g|-DutdwXe>SEgZlT{2jC--;Byl;Sr)vws+;NwZrcj zc`bF?!$As8kvpxd_X8I|SZyhoQkN&^IeOze-hOH95)5Zd;U#5|X>&>h?v%)0)Prz* z7U#$pD2~gizf`Q6MD7LWN--FEPKIK|Xaja-o$aP&I5W+0RLW}-hvcW^+>iX9e{2<4 z{Yl$PA&UM#s!Dwl;Mt;5DJ(DKV1iC5W-&ryZ(4f3qBs9UTUNqJ5la0R^>q* z+tFLw^1p&p@`tFPgrB5`q0Pe%DR?`wpoa?+&hy12XJpsn?uj%B8Nsj>f)E$2qk_ zC)o;D_0&{I`IH%HIg0F+Jm(+?Z?S*!yHX3j|LhD{6R8!qkjUr?d5!yP*%BJ#UfJWP zvF4Y*1-YCEfS}KYsrvKV#eA_I5JlyNI!QMYRcF|`@>*fn5x_yPVM-ZyKa~>L^svIZ zD9^Fm^!UDwLksh2`PVj9zTLnz(sMOc(@g!yLET7#Q&j`!thn$rM)Xv0Gk!uv zz^H6_t$1HF`58XMkO-W%?GQj0GB$B!09so7xqS&1g+#52YSRNWl6!_|b4*XmX0L)h z`@e}_pv}GC2!8*mtxnnMXiMh7DQIO}*?H1_e*dc9R)ep;t$Ke?>gTt^WB~8xN%`=z zsQYBZ>ibe-lpN*5V?z+xDtYt>$+vV(z-cME*W0_e^n^t!fCCiPzh5D%Fs3XnnUq7KaoICHwMR0)=s`z@{D;;WMf)SnCASSaEQ3GV zm!|O}$L+!Qz~LW0&<^XEdIe=UV7m4gZ>pLl#phDKrX(W1q=`)TD(VC1s9=Q*33`4f z_r2?)k)vfFrk**sk@JIBlizL^0UiQq~2-h6IQ?Wn^fH12*>8hoL5 zVM(Gz2#*evW}`~rSJsndj0`@DIr#S@aXw|Pbq+tT$NXtnH`@-X<0whN90jh{w} z-JC528IW+m{F?`%eS6>_NvFI{sZ29CGMwS|OZ>yz^ibm8O?i!26R5x&J4juK!$GLr zHp>We>|qY>xiugFV+SbI`Y{NfjAAr84zQA1olPg{ZW zi%oh^O%FXCguLW8I@10GMwi+c=V9^wE^X+@u$_sWH19Bc@Ko4*rh z53uyg=f6x?n43{3iBa1bxBX!Fy_`as>)TLyUFb%_;Y7CKdh;38_2V$2jiKE%y2SHm z-A^`vA3uF{RlM9u`$15*WM54ObNL(uf=v@f##G^2b=~>rW?run)?xPV0R%t+?5yE9 z8{$%3JwLo@sSdh09I%Tb=X1wL$Ebn%{;43_S>M=*dnpj-pX>A4Q{m0rpa^XjC^&Jd zyq`*-lxn2=%CY~79iA$g*LpwhC;t8qpKomPPL3(c;!!zPA`hN?X*opjwznUh1-);7 zP#)MxNZ|-Zrxeh?9@*DRd!9HT$Fx$U-nk?Bel8!+i48NRcVu$x#ROJ(ZcM@M4s{`u z7m2#I*UrzSn~H({0t^CW)*8p~$Gd^w-f1H~D+c$Kqxn`a#Wo{ht%A`n(0s!zMSx%u zfrIuIUdFqR&LO}cUx#$PPYfPRX1!pEZTr91{`Fj3GJV%YHJv!dU?$TXdZu_)t^Ht> z`R>Vw{4NuL$qV}AM!apee#(~w_)_E&1G4H-sYB}q3n3HaxgG`3aDg4h{6xn=TRARC zg`$NLzIJ&DU{58R8lE`1@12@+U$uv7MHK>8MDUq+8KwM-t*Sya1W*E$J_B=sdcUOP z{1VE(cnm)WMNj%LT@OP#F09SCWhz%R|15{8HotE?-KPu*OSH4@r9xq&Zhx ze;XvEQL7@&v#{6-KyAbMy~=GyTew}wUOV}&$%Kq1S6QI0?DPxs#Z)do8>Vc(@GK$L z(-8A+pDopj=rkd{UN9pcFJ}3njqIz)g&5i$tSDwqh|@u zy!^^rpd>vuQDyQjNWDv}rqOc|maep$B0X0AQ=uJ?AV%zaW5LAzz1Pa*Zi76A1Q!z) z-1p)JI)YT=8(PMfVBQ3qE9yK22yZWknKgq053Nmf*xD07wG~~lSjGn>E!6E!uNf?o zysR@pwtBGnvK^!(%t~VtBE~maG#41I73>@UhU-chpJZTC>lsmhhhsK=)@Czjw+199 z6N=J%6!l544~?T^LliN=hEXZD)lKn*if2i0OQ0gW6E9$NG3QT(dORg1M-O8Pa)Das=)S6Mp)Rrbf~qESwVabNTNu|;CAMD6>X8mGh#leEM#73-|%vrgfM_^wC)=x zaW)-QpXpB@hE(2PnAIbluiziL5MIIKlaZ$MGy)XTJMdx88*|yD>&#U*@QV48m8T)a zr|@ht^JzV+C*$O$Qz1}=tyyuvcsUTO3KHTA8b*uwtfSS^coNfh5Cx{TWGuEdUvflq z^NXyK927`s9K{DFHTMvHw#KxFRtZCu?a5=uE^4XAyy;*TZ>U-lP&1D{g*{(pzSDK5 z5=HTEz5;uWbW~6BDSc=|gl9VB?OG!W3NKY&y|FA|2S5h6iUKxOX{lGT`P3%zaf#`% zN}~7ggGp?Dw;I~IWDFnq)6}k}76cgk{fP*aZY*8^}6!$a8FKVyw5CXI=BA~H_c|7KOUF!uYY-y<0_ z4b7!C6-WfgeM-sRA^y9QiM-tC-&&V=Rh zSoQ})Ua}yePnJc>8B^f>03#&Tb-KSGt0biPoBiMHg@s@e2;Kr-@gIx5!g-CfAcUhp zSrW{?3&+-3c}`CmojQ6YLo7#Bh~gqRzZu5;zD`TdD2TC*p+q?P3s(_=1Y=up$2gLH z;P6vtbPa}zWzb=IJ$7z!AabGRb6MzH6QHZQP{!ud&9 zgxNT0Bwba-QTV;A{k1h?qTNnT4J=MT~!SjXZz;Y`UcjIzJ(OMnRL?#@l0{U>j zjBrH{L#=VxpK2WE+L`|~p6h6`Gkqz+cfKU=ET<_3x>CwOIj93O2gt*Hui4%s0dl|n zt27pazksoz>`6~+oorX)8YQ^~mrfOB!)QNrH|oO&dU18?Bc>C5$Mhtdmz z41*}Y7T}&km8g1mC~CA8-|o1BupWs6sTt3G;I`iXm$4?3efbdOVfKXw=t^NUiBfnb z>{fu7WLs)3lFXFQIF6^WNP9ks6D?z}t<~r(dFx<6Ae{60m!>55yZz43^4souNWWgX z(J%uAb{mLf`}YJa04-Aw2EC8lCu zX{#*x);JIvo)R7}INv4A$z?k)PjgvKNm@LG*bsqriR;;^O`^+P>qSGc-rx_9+*?Hp z_}1cKW#Q{PSgl0fGQUYx*Hb6~%LJBANoA58tgvtlf3XGpmpkZ86vi8^WE;(PrkDg$ zsOYt4!RlcoetA8OKg1;{;#5+|bjl71UzA<;;f&zeGM}LNYP8lT0Wxu*hlm*hCj~d* z1zknD@F8DA?#SwEY2CMhQANEsB6Y$lG%EPwdf1k&C$cG$Z|Owl4Ie?2#2G$q zE!l?0Om~Ya&fL=vui+qPsIVW0B!T%m&duk^n6uzRopG?kT97&nm8FCVnU8%Nw>S4p z8<(%i7~0Zj!{K4c`rAK;idg005#*`{wyA4joLn*_(D?wnGw$+QisoreBmn)yUT(}^ z??vr7Eo=H8r^-$kRfrQArR&nje;*h~T=Q@d$LC&1i@A2Cj>}a)O}XniR0|p`+LE(K zVAzOULNV*UQy3c_utZkZWs-NA`UtminPG=|g(*f{Mh5y?34t6~~`83o?$b z`3vp8MCJH$F}w+HRg5e@PX<@Ow`+3om-UO4ocxi64P-(8`l6?;p24>eoSK>bTfC4* z0MHM1a3HKCt!p4qeI8i+d1SqjGgVZB>w7&ai^LzyocgD!^%BBx+ZKMMO!DYk*XEgdLpoVuX{ zymomZb$MQ9{I)-jk7%Kd%9SQ<-RB<3@pP+)q?c zI(+d~Z>jy2CreW46btd=Q2-AQ(TmYTTkawAjpLvqsSd8AT%?GQU@OtbvyU`U#A_b> zO}O8#;SiwjeT$)5H;daa5$X)+8KK=S9d+&N5F*E)sA5^+hK}`H8Qaw7MOxuUrPj{H zC0f}4Qh_Q)e}CsZ;g9ZE$)!3bvn}fE-8}9tN)>hbLA-}F(vQFJrEcO4?gj7N-7@J# zCFQ2v&en4l(!%E|U-i3|g1O0OaGAdy$zV5Y<@W06b#{D_1$I5aI8C}6<5OO7Dba`4nqQ~wzVb<(v!VBUE!X7-H>06P5+-`x6!BGp z10^5E{uB=biRI@a%sB)Xi#x%GuK}Ke3e5Q+;9M)*+ESB3XQ|L3BSo%LTWb)7vhm2v z$xnw$+O<_%|19nUGDk7jZAh*Yf^kr(d+kz#u}TnXUO`Not?Fd*0p;lmFrkQIrD}X* zux?$&9PF>;gL`{wFtCQZ5kdPofvz*)bRc-M*zmg3K6>;SlClr%HbeyNMO4; z#_y+gY{`6ORL4LiO8!&k(W&+tBV0IKB2!f&@uB`HEZSQ3n<*KuY2(%L}qJeu~)RH2f?*J{`7#h4(4f-U78O_o{y z=LEI_vkOdWhKOXm+hau#n@(Tbu*@&=Ve@zjb$@G|A8rM9F1kw#}{z zy}DfjS!nOPKV}8M;ADW2)D|KHa{an zS*VTNNDD)Iu7N8$VXmXd>2t$3is~NkC&Q~oEa~Fu>;$1IZVT6>Rg7Dk-(x6yt@Qe~ z#~QPrq>Ab`Lsi!ciO9dB#ZKd}nqJjyBaC`9O~l53{L|?Cc<@mp8Z>OC92!RBn9>t| zUAZ<+RU2~PEa?AjrZ3l`;FV;z)>s=)?baiTACIUTr}lQ?M* z@077z7o~RHAK?wzulGOFrsk*Wr7{`vWJs4u*3e*2fe2g1*aKGK*=f0QWEKlzM#Ui$ zmBoH(laND<1Q}I0Uj<@o?m?=8T~jLda{D}%PntGIUuu_xck7P;1RABuJ6Xx;+)cS{ z&H;Ovld+SZNscDUa3feimkCHGD%^Z$I`^IWb{aZu#J$QDcTub2NUpHHPto5mv2k)Pn$X&V5VFCCFa);)|3`4LGz<$P0%(w*sGnGAm;ohQ25j6bjJDvIX~#)#`EzhrAb2n zX+(+##rWOdp_*PWq*tDrI^O(rgd(?J3mWK}@0-yxejSXnfDAs1GF{Vtx0EdFELYjE z@+!5rsfY5?%V4Vs+n};v#lh0s`%|HgK+IZgwM|s6T8w!$p^s%(?E9e?+K#o+MV2aK zN?s~Ofs9tcE%^K4%TpXraF~uG(g?-6fwI{_9&+>wC-C7tNZ`|^PXs+Ge3`eWZ(c%T za17Bte+|arwHa3Z@&trkD+6U1ToRS!?~-XH05B!dM@kNa=dz$0=RXlR3gx zP+Y^je~Q?4e@Qa-PM=0vvmgEOgaI5K-Z7XiztVrVqEUb_@zIv*Y*T3A#|u|m@-b)Q zjHV=qKfrIbU^aNrV}0Y(gD(FVnlqC)Y29sHNlO^7q_1o6s&wq)qLj^B(`Gtv1TXn@ zJ$B2udG4;0EN6xSy|YHRslzn>q?rUOA#{?|825tb1^zD3ylcIBAx;5VlLZyv;8#-) z85lPWxOD-8Q7f++Eu1}rBGDR7^Z53MLK7S{r(5SJyOC*FiLJ6KXZOYwahw}t+ZYjn z+8mpzn;z$ORzx!I#3FGTe%r&f$EM(mMi=vd(D1gg;SJ4%*J-_%XMmh^STlcSo$N1g z@e~pdWV7!VIu#5mQt_eiLL|<;IeFnySL(t0HOMoBk<^HPlyRWNZv=_sc?0$HcHpD@ zl=BCK0&xV#-}B%>dIAnL9j@NZTx!|aFVc*CgacOrHnPFQg$3@g!(L&o>x&4l$?r3` z8;|be8W}X^(WUdGB3E#bKmIBsR88|6vO_ zNInp%D%RVf`j??h?MA)5r|3&c&KBjMdmIg{QiJzs3<>|Txz7pV*vt+DCJ0cAxa)}o zP5{jJv^{)Qzum9F$4WcBdZ2dHj0llnAcJ)5!=@mt9cjsLzb9sAm8-CP)48V^fO3vH zrNCzEU@id5F#Z=;u1k4zDn2|1x(#9!ogns6Wh?9#9RwJ9-13f3d2z=;Me(15E!y2Q7w@H>t z{VgJ7{sm*@DlRfzg|(&iCD<~mt+fd2#30l>LCGrmP<0gm%9#oPeSsR-G=ptzT<=&C zY&J-(Rdv!Ydv!^2R8acw049@6nK|B=95t|5Av3VH--L~opYG>Ejx!52#S;Ia7ObM- zi1!6rZ<4-XQx5}dcGzDa?C6X2Dn6X~0JO0q#?$K?!H7VS4a1yI`8CI0Qf&+h;c4qc zm(SBgqE^~pBd;9|r!9S2u#sP?b(ZeN$jfI>Nfo&>RpersnsS-|+vQ@=SqW&@e$^OK z z0CaDyJq>a2tm>W!;rsLq@EBnCOD<+`XYVVh1Kyx~lwBnh1y|ESsjV)1Ko%P^`NsIi zn-St)2uDRt?2bf5h(o?vgPUW9%m%B} zsY{@NeDp2Nk-16(`r^b-HDO%E1DKA;)2#3in}6*wNCu{C!LK-1TQmLwhi_gfFF6o0 zJ#AjwD}9Kfl%{yS(OWjOD0=UBY=iKgG?aj{wV+Yh-CN{Ellh)eHa*VX(XP_NW-gOJ9n^mug+lP7z1GfYyP^*v4-bs%p|D^` zs2|Rnjb*n}z{->ol+Z1EBs8;QJ@kgsEkwSyepitDFG?>OHFo2I*6ktwzVdcCFdoF{ zOkwjNGU(^D6guUz-_C^*Ikca~-6wO`mLYbO+wttF^2mJ$^)YkzXKr&2iLt_EXbY33 zSl0lBtQDk#2CTvzG~?ZC70Ft+qOLU#9f2Gbh%Jnuf6`G<*=P-w7YM|h)7GPnB$y=MGVP{@Xcy%{E}er$2DJ5ia;3!|*L|KIw}y0^hy|>?6j^8zGFOjJx;( z@Hu{e*X>~Lr?tG#IExJcXdfs%1DQ`s(loWJjX1bvL zll7KVC~%_j%2~gtPeI}-UR-q@#2o{q(l1-64F?b%TEo^il@5hauD&$HS%QLIv!(@r zpOeRT%8on)bUO#(XOK!N-S|swdqGvb)on837v&C7=@;kGuAD>VrjohOvM$znO!!ad zrLN#g4vN_CsA+Z#8U%q*20V*O_G&CQTk99Zjyw>Yw@W0y2Rl0m|K|Mr&#Tm$P1^)2 zIlPX?Mn(q~B_xrb4z1&BqJuSHbvq{l7iS*HL*-C-tK;Y5hdoK^HzS{-@PX}0K==CQ zzO6p)_?7xBCjt*m8!Z+#FfxHJ*#?!#5S5whPzStf;dftbm7Tc?32lDS>rd+*6RO$% zl$Ohza`QJ+;=(dF_YlVy*{`Mid33(oIL`I%m8I;7f`BFgJ*6t#>^}<_R*f7fP`MLL(C#QG6fcytNN8$RV4MrucKCZ@K@0(L4}8}5c_G&5 z+$uD%h8TZY@8U1nxyk0Ahg&MX#|`Midu)_#(Fe{rC{F!+&Qb3+d>>u^l7fi!^SrtA za^R5HSL(;o46v%|kL=r|8_s^azu~nW_zp5;WMUe;n%goeqXuMvWG9(GxyjP=<#DvA ze?e<$3PMfQu>JQ(mV$d`WfPbb6x22VIcA5$e+>hg7jq+45nr}dj2}ERH6@v5GAjcF zCYD9@?I*x99wMtDg-oE0V=3rih+u z>dumP3Lumi#qIf2$hfzD^M^TyLYu-VoTN)ktoI_E#i4^C@t?>vJqv&8z&-RcuetYdY(haMJ(sRB~ z>bm4#$FgJ%Pw3UjP!Orb@uBR65=se6I4R0)1K51Bd+1IIkbn& z)%THIMAd8GJm_ZC$+XNJJYK0D$aK@hjWFbyhg@x!OM-cRHW(d$osc77Fdk7jj@!5d z8&xg{h#6?{;6vy2cJp<}iy3@loUdY)k}OV(%7w?Fa7?EZXUUQ-5NkZ(95lZso<|Px zTepwfB~J4xZt?{Zcr?fI5V8~kh+-RfO7AkEs)-T8@}EK0J^@#2Y#e?ThCB zLd^r|cn)NYg*w9qs#j?L7Q-!gZXlF|?MmT!4&1ZZB) zYReYyWm4#sZF`4}u4>gfIl4T0`&=l#|6Q);V)x~|NHH$0W4?c~duW385Zr3%=~NtL^cFFV}df(k+iL zarDlZD?+m=8`=r0{Lf97$~5U6S?HF3c;?{aCky`8!u5CjN-Y^v%kwcZ$bcrzC^+P+ zc9NZ{i*e@qjVvj#3t@tPr3fR_`%P>NokC!gs=Ln{ zeg`e}*_m^aXCkVX!J3De%v|2`cD$Ib5gR}$AwX>aP35kef2;8lQDaG^v;c_nq7H#b z2)2Y^*#y}QzJ_X5O~hpATcMo_e||yZs5*QglxQ$U^iln>WgO%L3F8yaU2BD9tqbay z#K!5DOzLIOq-f2SyJw3l%F|zv7co=N7bYKik2Fk5#uoLOo>uGBNj>;6P^;PD@IT+L%z600UBVt_M zeHj8Qq%s<3{G!8FpfgcTCcG@Y5$r69hxqS_L!Q}C441QNI%v;q8;?IK8xZJmjZ4ib zM8?sT4M4?hBKXQbe0M-&{4)B>Ha?b*(7p>{_%&hjx!9?@T6>N5QfNpdaS*vvLm(@( z@FS-Fb>{J6W+ePdu+4A!3cA|75-1@i+G^xFCYSupouNfn*xb>DXWqc~i>J{lq77<- zbKf>3p^>6(eyjnJyc|I}6MLaeV)s{~d_q?CWp*ixU#+_JrW93MY7J|?HIq9;R&CD} zU|s(D!RS7=?uh`^o(5eQ#J)FwJxUG4Sv&i{bSBZAIr`!Q9-x^Ea4WA~pr2#UsldssVP{7yB95jq_T!viI(d z{51!4j}^y$NBDmtL5&~#3!Lh;rafpDgPJe%0-vKw;M&)srK-5PL-!7ipPVN=1lHEH z!ZD2iw`n0|)P=Fg-bmTZ#kW%?BDoT(W@Nt?G`4|cWVUy-}n zBa{a)dyMU$2X{@r3lk;F3pe@kb9WbQS?$Ab?hb?@GmgEB>)u&fyzKsPiiaf|yR%mB zeF0!4N$ml}FF9#D+u+R)G70R{rLDRVDv2x{6~JW@r(%V4AcJi?#)50Z+;?p~XCQDk zm)2#naak_@bpXGDcoHa^53dXLecyYj%Oh`6=@jS|j%7;9Z1%r=&?*R_!6uCCo{+^) zwcp^iSDoNaM}_sJk-!}D#_{1k$PE=b0|c{7z?h{V-``}+?BTR6f1?M#5!A z+VQ5R=-qE0bCD>V<*CMJQz1Y1m~cg2NffNR#S?qUHbxPoG68)a|Neu?Tl-~h#`2LD zZ_~mdeqJ4~PzlJ4JUR}^(sxx^YhcFTGh$VG{wj}X*-&^01jZJ;5ig~4Tfe&|%TGq7 z*qFp!cPWwijRAupWCQh2Vqn%c{kxe5m%$LJA4kKB4C`gJiW?WKQIgjW)f>_DK0JNs z%J=*uODMp{BLW05GF`?>g9tbhC~^gp4tIbVbi?cGgwjbtOGda{@3E?|i~Rw!YT&u_ z3xNXNp(7Fua=LOox`RI81axp1Fa(wIRA3+XM-Od|gEdukAL`D)6Sb=h<1m63h5}C^ zhW{Rdo1Yx6mWQWKqyyRt?O%u5OhBaGdNWp}HN@PLlRAQ)k!I)0;`4V*;?_)p-B;^KZ{(w`u`vkR8!Wx>(UP9E#XzPRad5yoDIHpnZn#8Nn(CNZS_@uK3!^lQ7ITMce5UZiPx0Jkl zWfE{vFiVRsMM;zF-4IfjzJ4Bv3?%cZ# zDSGVVKVPDkS9^mKu9!>uW2Fc1Ep&Oo{XIh+Yb{MQ?~Qz~+}O!U0rwv-bqnv<=FhI0 zLJ*g>Sy_C|W9f>V=U@Hp`pCVigl1Eton$TN6kLg3JNq3SUHN1e_9V$t9moFiN~4aR zy2jpdU{cFl7$=Dy@}JiAik;eTW1SX*-?$s9Wvxn|8oE}9qTYDYMEJKZ+2z6T+%7%4 zfs1iz0(4}Dazfn*zPHcSMl7{0QXBUeGc()mpSdp3Kl$UI+t+ZIb)awlthGE}8Gq0Q zjdb}5q*Bf9X>G#fu+O_`a)K04ME<+kIOO+$MowtAaDOv(9m7UFAHPO60qC9W#)>L85H((f+?a4sW+@a%16 z0xTEW^mznt*c+E>*#cB4(Zk8ZuCG3~8g?}?VC&hxqN{J4o)ZT-1cU9XYxv);tmSz@ zZ>G$DYOA>i*VRR4M(QfhcrPd0b|Dcc-2Q!>PF0qzOWc&GB>I+>%w0w7R#j`4VPecs zu3y?-{tpPu%xg{Wb-8X|4dp~NNYX+j)q(@4eCiWnc4^{MZ4T~+Wl!!otMwiW?W0wY zhf~lkux|3hS@eN}nLb)fIb=$rA&c{ShMA*(bRW@i;HY`&oj2pnq7?zwaXp5OvBTCY z0;j_tlt2BOp=n(j@ z9lBX0Sgyiu2%tYoj+Fvok(Z}-D3CWW)e!MITqX{|W>I{pK~)pP$;CzfWe4eL3P_0@ zpxR&9$Aek*;ckKZe*ZwKPq;f)vl5ofE){U?ahq!*DbF#OUTCEZo&Rnt7dN4WUe)ft z-q#nL8&sY_nA>n2hx(S$e3?<-^Secu!0H_Bp@e;`eH52)^W{e8i_01I(AtX}?k}%J z>%RmLE?{abw}+AHW11Dm+P4Y*{v@O4v%Y^=Y-rLqaq;qC3Bik^2hL;SN zaG+d9xn{gR>7UI2_Fl;|p>taftdrCmf3KRWggibvzSU!4CTq?y z%GTs-P*6z#cAC2WQ2OjhM&`=iX4zZ zvMMRMy*9(WKMs1TkxpYqW~I_W-ov_nWIyWcK^M&mX<(5qT*3DGq{Z*n>r;sXnnvhP z@e=L2Z$Q^;5*A2&V!^TECTQuxdzu&?SmiP_TC|4MRIdulupd`Lk`N#;?O!Es+QUU!6Z{~YZvIt0 zcx%r<^N1mB?BQq;o-HXPv-*u)QRiwZ75_pq-iK(hJtAYJrlFGry;Wd!XsqBi4gtQ9 zhrhyoHGxRv95L4?Y5tw*BMn^(YH=nodO+i9V+U7oz_~FF1jrH}=AfP&w*EN6!Tt|{ zY^?Un!x5 z4e@j-AU8qns;F$z@$hB8q%~N`z)EIF%H^<~IjXb`Y13`TC&(Ib(k|dCE9Z?L7?GR` zu-;8FCJn+Y3?A5WfT0c;5nxV%eG8f>ve$PJRAw!LjhgHV@u1n_5b8aAcM77M9C#no z9`!I@4s8B*Vh)uF%S`Yrqk?dBEgkXAFzAb@k2n9crm?|2t2uR!QXd0MvmXezOyYM5 zSH)$Mz!8NR2q-CU-?`cECUVj?PEW3W7^VCT%rHNJvEE%M#Fd)o7vDgOKd z>U+?tf3?41aiUwA?cigOdL-}!GSB7pE4?n1F;b_fT@FRYF=Kr+cnQe%AYpK0DqLT+ zoGTV-Pg_`n+)*Hg=wL*ni4-O7{)1=PJ8?2Iktc)M=B546pC6(iBL&^c;T{mFfGh5m zT>ccxHVPj~>W7x-c}!!IU=?YuzczdcUxV$-&Oj?m3XG~`T8L;sDAIS3Rfr@w%I?QW7NV*q1Lk(oVBHZA1IbmMt;19-UatJc`A z&pogYh_Ho0z?!o7uqy=O2bOd{v9%vJhT~Ae7GIW08GtP5i98CkHDhJ1nOs{F9xkt? zG`I^i`*mujb7k`~d`FF*0bxOP9Ge`0i{X>}y}N1h=@fDJU_6UF`%qZmW@cY7%thez zW-Sg~0-S*94EmfS(VP`^&3oz$_j>);sUD(g1+BZj|6h04+0ewcwF81QX-Wraf($IzhS=Nkl*p0+K7lAVrFFVx$x4Mv8z10%)X#gJ7s8M<7ZO5)$cme9!wU z?x+1}_UtKp)|$1RqN2fh*tLT?)6nJ%;3jtiDi)5%pKO%|ZY44KuOo2jhkv?b2GgPR zZ7THRtn&?aQ~a`U#`~7=K+b!AXiPcTOyKlSgQ)$aC(b4cEQYOP1liqu@L@9%3(yC+D&_>}$ zSXNXjWazU<&ZP{yZwVyP^PZ%$xMC(Xr57;Hni{c4!M6X9Mw#M9`G_=xcHc!R?KQ=R zn`q@7L5%|dt!3iuZqpw*vqNgfly&D~l~N+Pfr9Ywp1w#ykUs53~h+1JJ5Rv1HxPSGqM{sSo2TQ-P=B)`eq8!IH>*AcL&cmwD!3 zrggzi!L7s{J-!2|nLh<0`{Suxnzgcq=a4=7GRkR zpKn1Ws3q_ZHpWir1iU*hdK+t4NCs1N`{Obh(9R0Im*9XUBj6pxCznQ-)s4P|rw01el z@Lem15$oQj%&t$6B$R*&mmYs|r--;qa`JPzRSiE;3}#RNqdl+3m~D)-$y|@jZY%{yWOoDxZXO`v!P(DLR0|o% zr9;WT_+#Rl}_F=oGfxAFNoH4O8AD#0g${%aGag-R8Yc+|mW&7<$KiKA;F*oL78_OkWM7^PZ zC5_V~HD~v#&dB_=j_t^9JWtH4BIIrtL7Vk083G+-wK~2Rd@b}cw*-aeGzIpHh7;?To;=zMhjDWA1hO9BTw#LSpO>SNdFZo4BT?hnXQdDTWX2gSw#ZO^SH# z_hV}BzLEkYXm_7EL|t%TUC-E{#}<+KiyV%$xkqe``V;+I3qtz8V0@~)iPNDd<9OpmE#w&4CDLrq+}I^ zbgGMnm`iC(cU$R^_0c~hd4_}IcWC8}OR2wtVDY+#41D7XDI$#J*^#@0y5(NL_DLb2 zwO)^}<)%RKZZ3_(710|E^9BF9uPo8jGTzx~B6K^@PXqSI71{K4IV$+|!7w)Qnzo1M z=(OOJ^b1Y~&V`k~7T)Foi{0L4-VL`@_-o-br?P7*RxDfAVa&McHw8l_cd zR!1jhW$4P>u9_wd)%soj+CYyaW(tpcA{OW)BM;03e`<9EzNXLv+B|Z`*p?*`Mh;$L zIb4U1D>&>Pdp<&cIjj%!F?*~4+NW}9qV%2J#kWlb$OkNc`kbyC>~fRd{_=9@Hg`b0 zWjA@XiZ!^Uy$}ejrF@%6j92~kAQd(wJU5RuC{<|3PQ5iqwQ#Uu4mS7Fo$-ZnGz1jR zOgr?32~0s~V~|X|ra=6c7Ui%Xuio5-$nnA3aLWYIynKW@wL2BN)u3s&I`lA6N+PjQ z`7_THAGI~$Kg%TcE1oJ=g+fp4S;Lsv%Q_E4dAIJq#qrK0NO0e=GUf_xdexpQvyY5h z`TTfKQ{!Tw_T*xYKH6ZEugY$5Nh$2HAUGDc(hx^QtOxMQ2aF@zriH=5-b35Y0VT zhOhsorB{@p_sME;k^J3GFACE;_#6T@&&0KBOUxV1g;g93a;Z$67hnj~PK4yA7~;Jy z<-o1ShfkiW1N*^{%=%N6xRH=AZQcf1!mdhs>TegbxIxaTNxWD4wjLRk7?mOso56AL zkO(M5uB@1pnq`N$kA|PEnmvX=)owg*BD|oSGA(U+2W;HHz(q^QKcR8ekK4XGbnAP? z*KChJYNam`=k`&j4sC@MiazBeKo7}A;{)tfyY<7#1`ku*_n+mv2St~O^AAN5YMh^P zfNm%&CI?VMT+8*W-)MSSud4|O7#VB?%Gd8bsx_ov!{_y%atik`a9`JH4Zf!?N7;tvAfgSgd@dc<5%sWtq&SgnE~$u*9sgF1T*0 z8KQe7xcsRV{RqhUX%hM>x{b&nrXEBe?&LOmBhEhQQGK_s#QEauPS|Zlup5HAethj8 zpR=qZf@r=-)UBQA$~3x9_p=>hD+lO#9hdox1Cxdhy=l-a%Gd;*?Kyd<@K*nUHX#lL z_L4i!Bg6@xm&)wF9Ua{Oma3Z!a%vkVy}!N^AS%^+w-sd)lKF(d1FEw%?mMZju3i}( zk=1ao^LCS2+%IrSFIZO4#*aKj_~~M`C<&C@?`RSto>Z>S6*wN5QJ~gMdD<8|<0r;_ zw7}s2etgaJ|0dD+e!cP~C9qQSTmG|#%3*jr-L{O@Y3+Q);y0so5@sVwS)IA3Ta+%8 zQhtT7*a1W{$BlewQ4S|NQ%+<^=MEn_uDd6t7jU`aK0eWE>bTFSa}Gf3*;42CP(@Q(4zbZdCV8 zNYLH9FmfbsO+)(^nLM)(w}95BJ_n%J1u`b`p@9K(-p&}1y#!rHZ~}6Xpd`$RKT2C5 z=aM9#8v%Mwi{hk5HLY&uLDAg$|NCys#Tw@;J_e5Vxf*9M2JelkjSNu2yud_ zKu}Ssj8Y{b5QttSr)7#mF+ea;LJ}lEJcN*h47?MZZtuExy>;KZ>#gt%=MWN6vb*zTXCLw7%l zowc)l7AJjKd2->W9Y1e4a1WV<%+VZCs*h)-d7ZpKn!~_$dc?eVFnuJYqfwr2dmz~K z!;PZe`HpWNdJ$RYg8OmfxkdZr>Z~;{I*I}mP29(LAC*ocX=+xtQN>u?dp$RLpwL7zDOO zzFP>3%PIaMVjRVfx%f3e8nFl63Z55Jd%5JHEu%}R0#_qy*KXnupWuX&d#Rn z_k{iqubQy|%CwwjE^>2&-k(}SDlN)9vS?#ZjC_4*RGRK^+|Bx7xWn0?pmU4xjqArV zVvP-eXrEL{Z6sDijq#HF9 z;iE_9PKkS0|HzRya)W}*WBEIAc5kcM{V8#`q&`EwS2&*(l4_zNBY&v|0P}e5ET-9o9$)ay ziWOV2GMTKbWIZjM?ipJqCOCv{@at{TUvG#->hkmRncj?n-@wts!ubep1g3>1Rdb9f z^Z5Mk4iXoiR1GMlF+?O+enrW>1g7a~eO5B`eZljnkCZr6byGDsOsOQL=L1KSX&myb zo)%J5tTHV_0JgX7Dv2LxM2dU?RvL$|+M;7e&qHu2s@`YQXC&;7zCg?NS@VM0lyN;O zvcB;Ku+Gu#0J_*p3}}t1C|?0p6KBB8*Tb%>#mi>QvbBwfsK!*H46h#ycGbjtTUW)f zfBnSr{Q2{Z8)byqyLazS6@LRrTx8mzp#(yDT--HZ*uaTCyol|JAUI0=Ge;G2O^))s zWZSlF8G!0%-@w4e-AIbn7q+*PktlRET|zFX%b-*{(OR#7b$DX*LjfUoy%!^Z>55>5 z!8om;jCpDkd9oGMill}D79Ss$OBepi_P8uzdyL}pC7`+$Ob_xQU=y=tBz9#StR18X z_dgmYM)zlU5X1!JNVGpgc+HisF!EaQMG|QYYc(dZyw^e6G~~OHcxvHtaSwoUZ3|xRmzkdH^daa zisV1(8RRDTzJNSuR*y1^VI>s|u}rP3MGmbs{>&DByt0iM#pkvs23Dm z4pmA@%uddTtWqaOUx2%#Sux@~1z^A!pQT7i?C=p^5%RDMyvs4BD!4L#G;19@--G`< z8HUi{Y%RSWcYRuORWjVw6{*aGES>%ddEc3-*XoHU(EllmFk4-ag*Egu+aYA$M=WN{ zfGqiqNtkVKs+yY{WbL1ts|5u?_Wy;s+L0q>L@-;9MW#Md$Gyn{E#LQ%P$Gt*!i>P= zWUxD8Qr8{wq3-Y))s~SkY%+#4psnAFhq`_z73%S=Fi7@WVKX4XZ-tqS^_|lHwAEDR z8xWT^z*&H{q5UBvbIZugPrA_x3-m*NdQ_zNl6I|Vy>xmG|g^cg|#P! z6PW=vJ9fT)eW3R4-R(twN!KnH6hsrVAl%N&>L0cDL@7H)@2{}?yjjip;WWb2Gtmzw zmFG#48pR~aWHM5@9>QS4X+VP$(bYVOF^8v0YbFt+6LzIPVs?#?M1o|foD0?wjEUF| zu6S6FFLzS<3W6mdlU*s<+EME->UD6*@rAof1$_1e2xZn$5*{%{L&F6UqpUs;6sClv z3)vZ5{PT2?l$0Qr#rQZQxTf8JDm5L$uAIoB6TA0v$XG!`1`^@366#GjpU;*VvmvDG zYd9?j>kVDIA#i(~UNP%3j;!}%XoL>!5U)s?gT4$vLV>`g9*ND9cs(O<$cYL|>re36 z$yHJkgey;3x!Y$p6R)tvdVIEL(3O}{{FtlLU9nA|O-nWV5}0fZhao0%Y*)j6QsmGT z*})3HiLla|au>%BjD}aSOwrRbae}HaIls7ij;mj2Q9w#n(-?05{{5YO-!#22lY&G} zqNrpYO955xg~jI~S`ZMBiP&6u|IO0UGzpp8N9pe)LPXL|V*9m&By=?}Otg~Y`^NoY z@&1@^OI-;NY;j`t(ie-8Iqb@3E`0o!j_TfU@|oX25*KoCnjos!MOiN5^K*p0tmae+ z`Q8#u80r^dRl8D5h@S1tx5DHCg2cpfHIEprcA?R{A#kgd;5)ntPYo08?D2*S_KT&g z=IRM+#wXrPrn#~J$U!i7BF9*1_Jtusxs4+XSj)QCtZ zhtc%MNH1w&E0|pM^-s`;7XIo=fGJg`T~e^F*Kr3W(emz0yCw3~dm+{?hgf?t0ahk+ z^ks>OoSAmNd2i9VcC}H&ZNw}7A_&dJcU%$0N@*V@IXStVL`Ir@i+0I6QB!&o#OwZ| z=`&_UP3Gy##8IRYbu?RS$btMbjC22u;Hj4>GV(oqK?QFB?Oz$-J1qUT0I(M^W7hM+ zUqomX-W{>Ns<$FPk$`7^_8v`_vlQA;oLp~9n14$~XELe5{|w0gj2~|tN3*i;sKm@B z{|WV<4|j}y8+S0V#`)4d`L5KL%%UZ4fd%4>XgoMxG{`2#cRs+z5Tw$s_IUwYK1`X} z1$|o?a)#gW2c#F|`o2MAXk?j?zxuX`+mtgrMIlfQRR2FwWC(q}1G9u_T=-U#13qTq z%o-}T(GO!(MF^tF-Bf(bX6yH=nv3sHv8&Od9%F;!6h%*IJB6rrQ$!5``um}o>3SNp zWq3a=X3zicNiw58CvIQ*i=$&%agnZUqI4ye zIXc>{^?);$qK{dAe*zx1#uU@?xRPoW(5PFsgGZ@>wFz`imz`?;` zP(dUT8;|0NNR$s6jXr=p1v=r-)}CX`b!`adk9VPGcXYp*0J?u$OQ77ju59Q2Wej|h^}cau&0InVbGr`yIBM5|3tNiQ0r{zMelWBBa*StXfLJl z+aVu)eBLSsph99Fs*|}I7X%uHUCgEWGsG-^hScjXvMr)XiiC}51xHD-)SNj%J694t z0O71mYPu@an_G8xL~@PoQE!o1iL_y8$9^hb@Xczk?t)EKh~%oIgx}b*iIR3Z?c=Jz z#@aY?N1J3HM8*u^LikLO!o}yoA?|9WBO)9Tm1DeO)NS zq6Gnyu-#$^NM%ff+Zm!q%4S$XEBk`IGUbj$dcUeSA7TclKV12ejs6&hlm2;=m?Sz5 zc?(Yg$0!cf%95@1qybXq@-1IV2w281l(f-Qwbs|S90++{LD8#Q)Ibw^OW@&AUJJnV zY8oVlI21SJf!g}gkzDGw)5THqsG3odGKsEgjX%gGMmxHNcGMz4U;Yoen(#F*Dj&4^ zVWU#2+VPK}-QeM>$LEiSKp)0_+tbF{pUAKl$sygES5C^$tXsU-LjS#;)BAff{GZc1X9nIe zkSK%S2O!dpErz(@Pfd0P*pWsLrcL^{YyPq5A8LO5`*8+7&cOf441}-Q2?fLINnqR| z#k0!6CpR{AK6(`DjYiwP^K{<%II+j>Nn7dV+e$Zw394etb76r|T<-1Lw`HF^ed?Zl z^~Q}G&bBodiwX)99tlLl_^ADgL^ym?=$H#F4$14W&79eY|6EmYX~&KY&4*hc(gK)! zS6ZVQP~Bf&tuKVh^=V{y6qJhBm@srK*KA!$u zCtNOTo~1JO(m?yyn)7Zt_Mi$*OCq>hJ|FR&w?Wb=BHtNghWUYzt!ciTAsypxBHEqAF$Y#DP^7jyBzSx?wxem zh6|ksAa^X=6U_-lu2@m~GDhWeMlyWtUVm8@o_xB+ zDnXZ(t$ih#xo3U!?99SVZIws{0JN}W%)P$WyfmOB8SBHxPZ4e^%%!c?71{}!z&DJt zQh?Nq2_0gO1XbPgxr{Tq2p^P2&CdM&)ukq)2Nd=ql`puR#xJWq$PV|UYP$#?&s`CM zJy3LsmB;=3^%FP5?9qSr0{-?VPwm~}`Iz}}20qTf|LYkj%De|fhiVDproo}^J8Dby zqpNE=+uCM**mJ$vP92Vd@-gvQ{ zpRKUBw|BRBEM45++uM5?gq|?T779kV;C1ioqt4s?xwmfR*$?;i#Sx;RARD(UAA-pm zoTO1FMdgw`moKllq!=4JxY*5(*b3m=5Hd`MH%~P&HY(h6tf%1{)7T&>uz1NhVF)0_ z$PIB=;ABio-%IH2IoW+G%*s?q9t~?!A|rGR=~G zvqhfR;jKwyd%yy;VdV=B#2>6+z42(L+G@!Z6O8 zY2>OuLk_xPr)Mez)e!&5A0oG5yRMcPxg)(y-oZ?ngt1YzGXI`JoH-J; zMBY<~^<)gnHNyd&+4Aqq?9uuivE2xToG#FW$nWTaseqN_DU?a8oo7B<+mNG5F8Wmz z(_ony4AsQsPI601p@z4*+1?Oi2y`__%%N$PQvZ}jcH(X%+)-NhktqIOTl`1mKhD7a zVg`!-dhg-GwTJqDJ3H8t=WgCk)TSs!`%_b${~Qmnu&$q#8EKe&6+$hWcEF$o2aOtW z_3k|a&oLelG3O?9-{B2e6kWbN=#c>Mc!LTvf%Nvq7;CK8#lYv!uQbQbQn6?eud7|h z9z+kNRZr-%(#p8#*THI~5<_EASq4gs>9Ddv4VV(`CDa0mUX0+073d}|Un@dM^b=6* z#(0)ce(6$P^V4Ce)z%kf?8;;$^S)NQR{czRa`4qkR@w7XLipsbr~gWFQ3AUJw_Mb~ zC%MHU0|_HGX|Y_>h*UGVYam?Rspg^_lHmY~mJw}cBd>ETezopkQbr?tNYt+#(fgU2 zSER?GWfC8mBhg*%Oyn!JwGzaQtC%vBZGDrhsW%%;#a67~#aH=f45Tb(*O5E@7;#C22` zrX*z7^#c@YUvH0oqQxWPg zaE*Rar=nZQo%Ml?JMBhOANbUrMU_@#sV`!_7?Jv%Upk6g{u9i1ft3_$b z#`)7;kwh3y-Drw0`0G(Cn>oEtv&30Z1|J{nxx4nKzJ|j@Qa3N+;-Am+$ zAsWZFHr_sA^;AjGG=x>p#HE=}Az@SlIQYk{ZJnjXl&C=c&>e45oT%muNk7agho-b~ zn_dI?o1Mqult@HjpAt_oDzFhDf$HtXI#XvgCCmt^`l>A^zL;l-V^lXy>~BO!$gX-{ z*}R!$TH(#A1)AR%7gx}J03T#)ZCv|C$DW1=^z3ZAQ-W#~_|RUBw5o>!=Wv?3%Hs>k z@wwHU(f^u?mnOL`9wWKX)V|{MJCwqdeQ<#6!zk8Sofc1;G@W!TWruNS54xNtz@~%i zO2?G|oEj5bfACfl41N6+Fd9z_3@^@trw&}5kP2d#QvB=zdE}QiseKnYX_}G!PzXhh z%GF5V#r_!+2lu$W?g&u+@tS>jILfHafpd7mnU0=+5YQ6?U)hmD7ueZcVTn@9O`mP1r>3tBavR4TK{-53I;jH=5A;a0 zz<&v4r@fXx2FGx6)+Gn|QV!T>_xXJXkZ+06tDhd8@euSI#}7&T zHaGXIkeM>3TSoUL)kL0dUVFluafOb+R#jmdqY$vZRDtQYMGi-Gi1df{s~oaH#lVq! z(3gCA>-_hIMP3xu=iL0$i}w_6hn5Xe^0U2C&i&$Xp8XGoiCU8*GhgnCm^@Wn*Su+O z-wPMj@YbZ;*++jw-HabedX!^y;lI>+Y>1%rTxjOR<$7sIvj9UJm*=%or0m<|8jk@< zxtn5W=My^Eo0^HMCgcD7jbO}KGzm)IFLbE zHraX8^GkWbMM6y6^UrB7{ZN3)-{PQRgq!;GXkX-)`c*K#&NVl~nJ>PWGNke>Iv>ZV zv6ZmqdjVYnFC`=+9a{DZ4?EI5H@8FVdm#cW-T#*(>C4YGjJpI5x5arSjSW0bJ=?3M zPW#&7%rv)+ZaWG8_2vTM1S(rx@lYJ~5Em;Eh``k&+AJ2SJC@Uqewa(Qcqn$Ax|Xu& z)>qA-pXrFVNwjG5H<_7QVFAe_!C-S9oKS1&iHDz{)0UbK5YPSbs?XNYSG+A(a1;0z zZL$b3No%ygCzh5VVpTJmYbX#KZca2KC^hjWw1fGw5p*PMzV~9j!)T}7+-zNM3b_uY zH`s&9Ax^}hibyl^W3 diff --git a/demo/v2-demo/images/share.png b/demo/v2-demo/images/share.png deleted file mode 100644 index e536f7f36e371accfffd636af35e1457bbb5ff87..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 336 zcmeAS@N?(olHy`uVBq!ia0vp^JV4CN!3HF~3v%Lt6lZ})WHC@o7=#%aX3dcR3NjW4 zxjQkeJ16rJ$YDu$^mSxl*x1kgCy^D%f9mPt7*fGl8*rMp$w8o0@ZFRHy^E(ch&I%m zb6}5XT*&0i`a)7@A(IYczKm|8wf+4GYa)AZ`l?y~{#Kh-zI&q1^-|@_CcoFcuIke? zYFwnzwrW-R@j{-yjrA_)Kg&$W-Ez&uSMyha%<&zoR*8SE-LHB2lY>jqC6l+CbWRJm zXbW2OEt%u8>V?n88%Yvd>=(Y4PFPmY;wa!!urAOl=zPyc+pjyk0!!>fT`zWVnoZpB z-r-DJ;)w|}7*03JcJA>zc=NN(_Z>?L}nh>TAB OUT \ No newline at end of file diff --git a/demo/v2-demo/images/themesIcon.svg b/demo/v2-demo/images/themesIcon.svg deleted file mode 100644 index ba3532ad..00000000 --- a/demo/v2-demo/images/themesIcon.svg +++ /dev/null @@ -1,28 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/demo/v2-demo/index.html b/demo/v2-demo/index.html deleted file mode 100644 index 5f51cadb..00000000 --- a/demo/v2-demo/index.html +++ /dev/null @@ -1,85 +0,0 @@ - - - - - - - - - - - - - - - - -

-
-
Microsoft Power BI Embedded Playground
-
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/demo/v2-demo/live_showcases/bookmarks/showcase_bookmarks.html b/demo/v2-demo/live_showcases/bookmarks/showcase_bookmarks.html deleted file mode 100644 index 4bdfa4c9..00000000 --- a/demo/v2-demo/live_showcases/bookmarks/showcase_bookmarks.html +++ /dev/null @@ -1,67 +0,0 @@ -
-

Capture & share bookmarks

-
-
- By using bookmarks in Power BI, you can capture the current configured view of a report page, including filtering and the state of visuals.
- Use this showcase to experience the capabilities of the bookmarks API, so your users can create and share their own bookmarks.

-  1. Choose and Apply pre-defined bookmarks
-
- The menu on the left displays the report's existing bookmarks. You can switch between available bookmarks by clicking on the desired bookmark's name

-
-  2. Capture new bookmarks
-
- After interacting with the report (filtering, clicking on visuals etc), click on 'Capture bookmark', the captured bookmark will be added to the menu.

-
-  3. Share bookmarks with others
-
- Select the bookmark you want to share and then click the 'share' icon. Copy and paste the given URL into a new browser tab to see the embedded report - with the bookmark applied.
-
-
- -
- -
-
-
Bookmarks
-
-
-
-
-
-
-
Embedded view
-
- -
-
-
-
-
-
- -
-
-
-
- -
-
-
-
Link to '' created
-
Make sure you copy the link below.
- -
Copy
-
-
- - \ No newline at end of file diff --git a/demo/v2-demo/live_showcases/bookmarks/showcase_bookmarks.js b/demo/v2-demo/live_showcases/bookmarks/showcase_bookmarks.js deleted file mode 100644 index d69c9199..00000000 --- a/demo/v2-demo/live_showcases/bookmarks/showcase_bookmarks.js +++ /dev/null @@ -1,303 +0,0 @@ - - -var BookmarkShowcaseState = { - bookmarksArray: null, - bookmarksReport: null, - - // Next bookmark ID counter - nextBookmarkId: 1 -} - -const dialogTextSelectTimeout = 50; - -// Embed the report and retrieve the existing report bookmarks -function embedBookmarksReport() { - - // Load sample report properties into session - return LoadSampleReportIntoSession().then(function () { - - // Get models. models contains enums that can be used - const models = window['powerbi-client'].models; - - // Get embed application token from session - var accessToken = GetSession(SessionKeys.AccessToken); - - // Get embed URL from session - var embedUrl = GetSession(SessionKeys.EmbedUrl); - - // Get report Id from session - var embedReportId = GetSession(SessionKeys.EmbedId); - - // Use View permissions - var permissions = models.Permissions.View; - - // Embed configuration used to describe the what and how to embed - // This object is used when calling powerbi.embed - // This also includes settings and options such as filters - // You can find more information at https://github.com/Microsoft/PowerBI-JavaScript/wiki/Embed-Configuration-Details - var config= { - type: 'report', - tokenType: models.TokenType.Embed, - accessToken: accessToken, - embedUrl: embedUrl, - id: embedReportId, - permissions: permissions, - settings: { - filterPaneEnabled: true, - navContentPaneEnabled: false, - } - }; - - // Get a reference to the embedded report HTML element - var embedContainer = $('#embedContainer')[0]; - - // Embed the report and display it within the div container - BookmarkShowcaseState.bookmarksReport = powerbi.embed(embedContainer, config); - - // Report.on will add an event handler for report loaded event. - BookmarkShowcaseState.bookmarksReport.on("loaded", function() { - - // Get report's existing bookmarks - BookmarkShowcaseState.bookmarksReport.bookmarksManager.getBookmarks().then(function (bookmarks) { - - // Create bookmarks list from the existing report bookmarks - createBookmarksList(bookmarks); - }); - }); - }); -} - -// Embed shared report with bookmark on load -function embedSharedBookmark(enableFilterPane, bookmarkState) { - - // Load sample report properties into session - LoadSampleReportIntoSession().then(function () { - - // Get models. models contains enums that can be used - const models = window['powerbi-client'].models; - - // Get embed application token from session - var accessToken = GetSession(SessionKeys.AccessToken); - - // Get embed URL from session - var embedUrl = GetSession(SessionKeys.EmbedUrl); - - // Get report Id from session - var embedReportId = GetSession(SessionKeys.EmbedId); - - // Use View permissions - var permissions = models.Permissions.View; - - // Get the bookmark name from url param - var bookmarkName = GetBookmarkNameFromURL(); - - // Get the bookmark state from local storage - // any type of database can be used - var bookmarkState = localStorage.getItem(bookmarkName); - - // Embed configuration used to describe the what and how to embed - // This object is used when calling powerbi.embed - // This also includes settings and options such as filters - // You can find more information at https://github.com/Microsoft/PowerBI-JavaScript/wiki/Embed-Configuration-Details - var config= { - type: 'report', - tokenType: models.TokenType.Embed, - accessToken: accessToken, - embedUrl: embedUrl, - id: embedReportId, - permissions: permissions, - settings: { - filterPaneEnabled: false, - navContentPaneEnabled: false, - }, - - // Adding bookmark attribute will apply the bookmark on load - bookmark: { - state: bookmarkState - } - }; - - // Get a reference to the embedded report HTML element - var embedContainer = $('#embedContainer')[0]; - - // Embed the report and display it within the div container - BookmarkShowcaseState.bookmarksReport = powerbi.embed(embedContainer, config); - }); -} - -// Create a bookmarks list from the existing report bookmarks and update the HTML -function createBookmarksList(bookmarks) { - - // Reset next bookmark ID - BookmarkShowcaseState.nextBookmarkId = 1; - - // Set bookmarks array to the report's fetched bookmarks - BookmarkShowcaseState.bookmarksArray = bookmarks; - - // Build the bookmarks list HTML code - var bookmarksList = $('#bookmarksList'); - for (let i = 0; i < BookmarkShowcaseState.bookmarksArray.length; i++) { - bookmarksList.append(buildBookmarkElement(BookmarkShowcaseState.bookmarksArray[i])); - } - - // Set first bookmark active - if (bookmarksList.length) { - let firstBookmark = $('#' + BookmarkShowcaseState.bookmarksArray[0].name); - - // Apply first bookmark state - onBookmarkClicked(firstBookmark[0]); - } -} - -// Capture new bookmark of the current state and update the bookmarks list -function onBookmarkCaptureClicked() { - - // Element clicked animation - elementClicked('#btnCaptureBookmark'); - - // Capture the report's current state - BookmarkShowcaseState.bookmarksReport.bookmarksManager.capture().then(function (capturedBookmark) { - - // Build bookmark element - let bookmark = { - name: "bookmark_" + BookmarkShowcaseState.nextBookmarkId, - displayName: "Bookmark " + BookmarkShowcaseState.nextBookmarkId, - state: capturedBookmark.state - } - - // Add the new bookmark to the HTML list - $('#bookmarksList').append(buildBookmarkElement(bookmark)); - - // Set the captured bookmark as active - setBookmarkActive($('#bookmark_' + BookmarkShowcaseState.nextBookmarkId)); - - // Add the bookmark to the bookmarks array and increase the bookmarks number counter - BookmarkShowcaseState.bookmarksArray.push(bookmark); - BookmarkShowcaseState.nextBookmarkId++; - }); -} - -// Set the bookmark as the active bookmark on the list -function setBookmarkActive(bookmarkSelector) { - - // Remove share boomark icon - $('#bookmarkShare').remove(); - - // Find bookmark parent node - let parentNode = (bookmarkSelector[0]).parentNode; - - // Add share bookmark icon to bookmark's line - $(parentNode).append(buildShareElement()); - - // Set bookmark radio button to checked - bookmarkSelector.attr('checked', true); -} - -// Closes the dialog -function onCloseDialogClicked() { - $('#overlay').hide(); - $('#shareDialog').hide(); -} - -// Copy the dialog's input text -function onDialogCopyClicked() { - CopyTextArea('#dialogInput', '#btnDialogCopy'); - $('#dialogInput').select(); -} - -// Apply clicked bookmark state and set it as the active bookmark on the list -function onBookmarkClicked(element) { - - // Set the clicked bookmark as active - setBookmarkActive($(element)); - - // Get bookmark Id from HTML - const bookmarkId = $(element).attr('id'); - - // Find the bookmark in the bookmarks array - let currentBookmark = getBookmarkByID(bookmarkId); - - // Apply the bookmark state - BookmarkShowcaseState.bookmarksReport.bookmarksManager.applyState(currentBookmark.state); -} - -// Open bookmark share dialog -function shareBookmark(element) { - - // Get bookmark Id from HTML - const bookmarkId = $($(element).siblings('input')).attr('id'); - - // Find the bookmark in the bookmarks array - let currentBookmark = getBookmarkByID(bookmarkId); - - // Build the share bookmark URL - let shareUrl = location.href.substring(0, location.href.lastIndexOf("/")) + '/shareBookmark.html' + '?name=' + currentBookmark.name; - - // Store bookmark state with name as a key on the local storage - // any type of database can be used - localStorage.setItem(currentBookmark.name, currentBookmark.state); - - // Set bookmark display name and share URL on dialog HTML code - $('#dialogBookmarkName').empty(); - var displayNameElement = document.createTextNode(currentBookmark.displayName); - $('#dialogBookmarkName').append(displayNameElement); - $('#dialogInput').val(shareUrl); - - // Show overlay and share dialog - $('#overlay').show(); - $('#shareDialog').show(); - - // Select dialog input after the dialog is shown - setTimeout(function() { - $('#dialogInput').select(); - }, dialogTextSelectTimeout); -} - -// Get the bookmark with bookmarkId name -function getBookmarkByID(bookmarkId) { - return jQuery.grep(BookmarkShowcaseState.bookmarksArray, function (bookmark) { return bookmark.name === bookmarkId })[0]; -} - -// Build bookmark radio button HTML element -function buildBookmarkElement(bookmark) { - var labelElement = document.createElement("label"); - labelElement.setAttribute("class", "showcaseRadioContainer"); - - var inputElement = document.createElement("input"); - inputElement.setAttribute("type", "radio"); - inputElement.setAttribute("name", "bookmark"); - inputElement.setAttribute("id", bookmark.name); - inputElement.setAttribute("onclick", "onBookmarkClicked(this);"); - labelElement.appendChild(inputElement); - - var spanElement = document.createElement("span"); - spanElement.setAttribute("class", "showcaseRadioCheckmark"); - labelElement.appendChild(spanElement); - - var secondSpanElement = document.createElement("span"); - secondSpanElement.setAttribute("class", "radioTitle"); - var radioTitleElement = document.createTextNode(bookmark.displayName); - secondSpanElement.appendChild(radioTitleElement); - labelElement.appendChild(secondSpanElement); - - return labelElement; -} - -// Build share icon HTML element -function buildShareElement() { - var imgElement = document.createElement("img"); - imgElement.setAttribute("src","images/share.png"); - imgElement.setAttribute("id","bookmarkShare"); - imgElement.setAttribute("onclick","shareBookmark(this);"); - return imgElement; -} - -// Get the bookmark name from url 'name' argument -function GetBookmarkNameFromURL() { - url = window.location.href; - let regex = new RegExp("[?&]name(=([^&#]*)|&|#|$)"), - results = regex.exec(url); - if (!results) return null; - if (!results[2]) return ''; - return decodeURIComponent(results[2]); -} diff --git a/demo/v2-demo/live_showcases/custom_layout/showcase_custom_layout.html b/demo/v2-demo/live_showcases/custom_layout/showcase_custom_layout.html deleted file mode 100644 index aa82e8a4..00000000 --- a/demo/v2-demo/live_showcases/custom_layout/showcase_custom_layout.html +++ /dev/null @@ -1,54 +0,0 @@ -
-

Dynamic report layout

-
-
- Use this showcase to learn the custom layout API for dynamic embedding of visuals.

-  1. Select the visuals from the menu on the left
-
- The configuration of each visual changes between 'Hide'/'Show', and the app dynamically calculates the position of each visual (see code) for each layout. Default view has all visuals selected.

-
-  2. Change the layout to fit different screens
-
- By choosing different layouts, the application sets size and position of each visual (see code),
- In this showcase, we show options of 3 columns, 2 columns and 1 column to fit different screen sizes.
-
-
- -
- -
-
-
Report visuals (Hide/Show)
-
-
-
-
-
-
-
Embedded view
-
- - - -
-
-
-
-
-
- - diff --git a/demo/v2-demo/live_showcases/custom_layout/showcase_custom_layout.js b/demo/v2-demo/live_showcases/custom_layout/showcase_custom_layout.js deleted file mode 100644 index f9660f83..00000000 --- a/demo/v2-demo/live_showcases/custom_layout/showcase_custom_layout.js +++ /dev/null @@ -1,283 +0,0 @@ - -const ColumnsNumber = { - One: 1, - Two: 2, - Three: 3 -} - -const LayoutShowcaseConsts = { - margin: 15, - minPageWidth: 270 -} - -var LayoutShowcaseState = { - columns: ColumnsNumber.Three, - layoutVisuals: null, - layoutReport: null, - layoutPageName: null -} - -// Embed the report and retrieve all report visuals -function embedCustomLayoutReport() { - // Defualt columns value is three columns - LayoutShowcaseState.columns = ColumnsNumber.Three; - - // Load custom layout report properties into session - LoadLayoutShowcaseReportIntoSession().then(function () { - - // Get models. models contains enums that can be used - const models = window['powerbi-client'].models; - - // Get embed application token from session - var accessToken = GetSession(SessionKeys.AccessToken); - - // Get embed URL from session - var embedUrl = GetSession(SessionKeys.EmbedUrl); - - // Get report Id from session - var embedReportId = GetSession(SessionKeys.EmbedId); - - // Use View permissions - var permissions = models.Permissions.View; - - // Embed configuration used to describe the what and how to embed - // This object is used when calling powerbi.embed - // This also includes settings and options such as filters - // You can find more information at https://github.com/Microsoft/PowerBI-JavaScript/wiki/Embed-Configuration-Details - var config= { - type: 'report', - tokenType: models.TokenType.Embed, - accessToken: accessToken, - embedUrl: embedUrl, - id: embedReportId, - permissions: permissions, - settings: { - filterPaneEnabled: false, - navContentPaneEnabled: false - } - }; - - // Get a reference to the embedded report HTML element - var embedContainer = $('#embedContainer')[0]; - - // Embed the report and display it within the div container - LayoutShowcaseState.layoutReport = powerbi.embed(embedContainer, config); - - // Report.on will add an event handler for report loaded event - LayoutShowcaseState.layoutReport.on("loaded", function() { - - // After report is loaded, we find the active page and get all the visuals on it - // Retrieve the page collection - LayoutShowcaseState.layoutReport.getPages().then(function (pages) { - - // Retrieve active page - let activePage = jQuery.grep(pages, function (page) { return page.isActive })[0]; - - // Set layoutPageName to active page name - LayoutShowcaseState.layoutPageName = activePage.name; - - // Retrieve active page visuals. - activePage.getVisuals().then(function (visuals) { - var reportVisuals = visuals.map(function (visual) { - return { - name: visual.name, - title: visual.title, - checked: true - }; - }); - - // Create visuals array from the visuals of the active page - createVisualsArray(reportVisuals); - }); - }); - }); - }); -} - -// Create visuals array from the report visuals and update the HTML -function createVisualsArray(reportVisuals) { - - // Remove all visuals without titles (i.e cards) - LayoutShowcaseState.layoutVisuals = reportVisuals.filter(function (visual) { - return visual.title !== undefined; - }); - - // Clear visuals list div - $('#visualsList').empty(); - - // Build checkbox html list and insert the html code to visualsList div - for (let i = 0; i < LayoutShowcaseState.layoutVisuals.length; i++) { - $('#visualsList').append(buildVisualElement(LayoutShowcaseState.layoutVisuals[i])); - } - - // Render all visuals - renderVisuals(); -} - -// Render all visuals with current configuration -function renderVisuals() { - - // render only if report and visuals initialized - if (!LayoutShowcaseState.layoutReport || !LayoutShowcaseState.layoutVisuals) - return; - - // Get models. models contains enums that can be used - const models = window['powerbi-client'].models; - - // Get embedContainer width and height - let pageWidth = $('#embedContainer').width(); - let pageHeight = $('#embedContainer').height(); - - // Calculating the overall width of the visuals in each row - let visualsTotalWidth = pageWidth - (LayoutShowcaseConsts.margin * (LayoutShowcaseState.columns + 1)); - - // Calculate the width of a single visual, according to the number of columns - // For one and three columns visuals width will be a third of visuals total width - let width = (LayoutShowcaseState.columns === ColumnsNumber.Two) ? (visualsTotalWidth / 2) : (visualsTotalWidth / 3); - - // For one column, set page width to visual's width with margins - if (LayoutShowcaseState.columns === ColumnsNumber.One) { - pageWidth = width + 2 * LayoutShowcaseConsts.margin; - - // Check if page width is smaller than minimum width and update accordingly - if (pageWidth < LayoutShowcaseConsts.minPageWidth) { - pageWidth = LayoutShowcaseConsts.minPageWidth; - - // Visuals width is set to fit minimum page width with margins on both sides - width = LayoutShowcaseConsts.minPageWidth - 2 * LayoutShowcaseConsts.margin; - } - } - - // Set visuals height according to width - 9:16 ratio - const height = width * (9 / 16); - - // Visuals starting point - let x = LayoutShowcaseConsts.margin, y = LayoutShowcaseConsts.margin; - - // Filter the visuals list to display only the checked visuals - let checkedVisuals = LayoutShowcaseState.layoutVisuals.filter(function (visual) { return visual.checked; }); - - // Calculate the number of lines - const lines = Math.ceil(checkedVisuals.length / LayoutShowcaseState.columns); - - // Calculate page height with margins - pageHeight = Math.max(pageHeight, ((lines * height) + ((lines + 1) * LayoutShowcaseConsts.margin))); - - // Building visualsLayout object - // You can find more information at https://github.com/Microsoft/PowerBI-JavaScript/wiki/Custom-Layout - let visualsLayout = {}; - for (let i = 0; i < checkedVisuals.length; i++) { - visualsLayout[checkedVisuals[i].name] = { - x: x, - y: y, - width: width, - height: height, - displayState: { - - // Change the selected visuals display mode to visible - mode: models.VisualContainerDisplayMode.Visible - } - } - - // Calculating (x,y) position for the next visual - x += width + LayoutShowcaseConsts.margin; - if (x + width > pageWidth) { - x = LayoutShowcaseConsts.margin; - y += height + LayoutShowcaseConsts.margin; - } - } - - // Building pagesLayout object - let pagesLayout = {}; - pagesLayout[LayoutShowcaseState.layoutPageName] = { - defaultLayout: { - displayState: { - - // Default display mode for visuals is hidden - mode: models.VisualContainerDisplayMode.Hidden - } - }, - visualsLayout: visualsLayout - }; - - // Building settings object - let settings = { - layoutType: models.LayoutType.Custom, - customLayout: { - pageSize: { - type: models.PageSizeType.Custom, - width: pageWidth - 10, - height: pageHeight - 20 - }, - displayOption: models.DisplayOption.FitToPage, - pagesLayout: pagesLayout - } - }; - - // If pageWidth or pageHeight is changed, change display option to actual size to add scroll bar - if (pageWidth !== $('#embedContainer').width() || pageHeight !== $('#embedContainer').height()) { - settings.customLayout.displayOption = models.DisplayOption.ActualSize; - } - - // Change page background to transparent on Two / Three columns configuration - settings.background = (LayoutShowcaseState.columns === ColumnsNumber.One) ? models.BackgroundType.Default : models.BackgroundType.Transparent; - - // Call updateSettings with the new settings object - LayoutShowcaseState.layoutReport.updateSettings(settings); -} - -// Update the visuals list with the change and rerender all visuals -function onCheckboxClicked(checkbox) { - let visual = jQuery.grep(LayoutShowcaseState.layoutVisuals, function (visual) { return visual.name === checkbox.value })[0]; - visual.checked = $(checkbox).is(':checked'); - renderVisuals(); -}; - -// Update columns number and rerender the visuals -function onColumnsClicked(num) { - LayoutShowcaseState.columns = num; - setColumnButtonActive(num); - renderVisuals(); -} - -// Build visual checkbox HTML element -function buildVisualElement(visual) { - var labelElement = document.createElement("label"); - labelElement.setAttribute("class", "checkboxContainer checked"); - - var inputElement = document.createElement("input"); - inputElement.setAttribute("type", "checkbox"); - inputElement.setAttribute("id", 'visual_' + visual.name); - inputElement.setAttribute("value", visual.name); - inputElement.setAttribute("onclick", "onCheckboxClicked(this);"); - inputElement.setAttribute("checked", "true"); - labelElement.appendChild(inputElement); - - var spanElement = document.createElement("span"); - spanElement.setAttribute("class", "checkboxCheckmark"); - labelElement.appendChild(spanElement); - - var secondSpanElement = document.createElement("span"); - secondSpanElement.setAttribute("class", "checkboxTitle"); - var checkboxTitleElement = document.createTextNode(visual.title); - secondSpanElement.appendChild(checkboxTitleElement); - labelElement.appendChild(secondSpanElement); - - return labelElement; -} - -// Set clicked columns button active -function setColumnButtonActive(num) { - const active_btn_class = "active-columns-btn"; - $('#btnOneCol').removeClass(active_btn_class); - $('#btnTwoCols').removeClass(active_btn_class); - $('#btnThreeCols').removeClass(active_btn_class); - - if (num === ColumnsNumber.Three) { - $('#btnThreeCols').addClass(active_btn_class); - } else if (num === ColumnsNumber.Two) { - $('#btnTwoCols').addClass(active_btn_class); - } else { - $('#btnOneCol').addClass(active_btn_class); - } -} diff --git a/demo/v2-demo/live_showcases/insight_to_action/showcase_insight_to_action.html b/demo/v2-demo/live_showcases/insight_to_action/showcase_insight_to_action.html deleted file mode 100644 index 9aa9384d..00000000 --- a/demo/v2-demo/live_showcases/insight_to_action/showcase_insight_to_action.html +++ /dev/null @@ -1,115 +0,0 @@ -
-
- -
-
Start a campaign with these customers
-
Hover over the table, and click on the three dots icon '...' at the upper right corner.
-
-
- Next -
-
- 1 of 2 -
-
-
- -
-

Insight to action

-
-
- This showcase demonstrates one example of how to leverage the ‘menu extensions’ and ‘export data’ APIs to give users the ability to take meaningful actions within seconds from analytics. The sample contains a basic customer relationship management module. The main table shows a list of customers who have not engaged with your service lately, and might not return. You can send these customers an offer to try and retain them.

-  1. Choose a list of customers
-
- The sales report shows a list of possible churning customers. Use the slicers to define the list of customers you want to engage with.

-
-  2. Take actions to get them engaged
-
- Follow the instructions on the tooltips to take actions straight from within the report.
-
-
- -
- -
-
-
Embedded view
-
-
-
-
-
- Campaign distribution list - - - -
-
-
-
-
-
- Send coupon -
-
- Send discount -
-
- Cancel -
-
-
-
- -
-
Send offer
-
Choose the customers and send them an offering
-
-
- Got it -
-
-
-
-
-
- - - - -
-
-
-
Title
- -
-
-
Body
- -
-
-
-
- Cancel -
-
- Send -
-
-
-
Sent
-
-
-
- - - - \ No newline at end of file diff --git a/demo/v2-demo/live_showcases/insight_to_action/showcase_insight_to_action.js b/demo/v2-demo/live_showcases/insight_to_action/showcase_insight_to_action.js deleted file mode 100644 index 9b43fc5b..00000000 --- a/demo/v2-demo/live_showcases/insight_to_action/showcase_insight_to_action.js +++ /dev/null @@ -1,342 +0,0 @@ -let InsightToActionShowcaseState = { - report: null, - data: null, - allChecked: false, - tooltipNextPressed: false, -} - -const dialogTooltipTimeout = 1500; -const sentMessageTimeout = 3000; - -// Embed the report and retrieve the existing report bookmarks -function embedInsightsToActionReport() { - InsightToActionShowcaseState.tooltipNextPressed = false; - - // Load sample report properties into session - return LoadInsightToActionShowcaseReportIntoSession().then(function () { - - // Get models. models contains enums that can be used - const models = window['powerbi-client'].models; - - // Get embed application token from session - let accessToken = GetSession(SessionKeys.AccessToken); - - // Get embed URL from session - let embedUrl = GetSession(SessionKeys.EmbedUrl); - - // Get report Id from session - let embedReportId = GetSession(SessionKeys.EmbedId); - - // Use View permissions - let permissions = models.Permissions.View; - - // Icon for the custom extension - const base64Icon = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAMQAAAC2CAMAAAHGleIFAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAIHUExURQAAAAAAAAEBAQICAgMDAwQEBAUFBQYGBgcHBwgICAkJCQoKCgsLCwwMDA0NDQ4ODg8PDxAQEBERERISEhMTExQUFBUVFRcXFxkZGRwcHB0dHSEhISQkJCUlJSYmJikpKSoqKisrKywsLC0tLS4uLi8vLzAwMDExMTIyMjMzMzQ0NDU1NTY2Njc3Nzg4ODk5OTo6Ojs7Ozw8PD09PT4+Pj8/P0BAQEFBQUJCQkNDQ0REREVFRUZGRkhISE1NTVFRUWlpaWxsbG1tbW5ubm9vb3BwcHFxcXJycnNzc3V1dXZ2dnd3d3h4eHl5eXp6ent7e3x8fH19fX5+fn9/f4GBgYKCgoODg4SEhIWFhYaGhoiIiImJiYqKiouLi4yMjI6OjpCQkJKSkpSUlJaWlpeXl5iYmJqampubm5ycnJ2dnZ6enp+fn6CgoKGhoaOjo6SkpKWlpaampqenp6mpqaqqqqurq6ysrK2tra6urq+vr7CwsLOzs7S0tLW1tba2tre3t7i4uLm5ubq6uru7u7y8vL29vb6+vsDAwMTExMbGxsnJycrKyszMzM7Ozs/Pz9DQ0NHR0dLS0tPT09TU1NXV1dbW1tfX19jY2NnZ2dvb29zc3N3d3d7e3t/f3+Dg4OHh4eLi4uPj4+Tk5OXl5ebm5ufn5+jo6Onp6erq6uvr6+zs7O3t7e7u7s8u/7wAAAABdFJOUwBA5thmAAAACXBIWXMAAA7DAAAOwwHHb6hkAAAJwklEQVR4Xu2diX8dRR3A329mdvZ4SZO2HCIIaigVTZtCUyAqHsWjglWkiOKFLWpbsVZFsdRbvKtoUSlpmkBBsVX/SH+/2d97b3ffHrNX0vqZbz7Jm2N3jt8xO7s78zLYSi4BB9JsiNDjYJINoeCLg6lTKPlL+LmQzhklI8nCNgDgyxweTAq7IjCdfhmZKOy4FrDBYSTgz5hk5lTTxpkwNPEUnJkubgRlThU34ri+kUOODII/04AHmoMJwFMwgA9ybIRJpU8TGzFKRRIlpexEjEoydqRiOzJwOhL4IhFLWlUq73C2G+M8Zf6miPP8VFkjKC9fJJTHAcfW8jLZyAGOVGCONbaVP24kGR37uIkVDydE+liDkPdzKEPOsYa7c9pkjgXwHuN4muk2PSXjE7B8mcNOmeMAxIn4vOgVjk/wYAeH8sg9T8A/OVRI5rxD5dKdMDlvWNquLOY8i3ZlOZEz7jkc/5fsg99wyIoHALSl2xJLGl1w3tbRqXTQGmce3m85pRRTOqi5weDbNo3i0uMjcWQwn8VMSo8BVdqoVOmG74HkUA7Z0g2YwqEs06XHFEiKSkc5znM0wdm8KkzpRZX7KiupxfGsPzH7TyDhZ3zkmBnOAuHxZSkFwKN8YBJzPPiLHE2hogLh+uas4G0cnbBeYiMFNQF8nkN55NUUFGqQmappveoMJFMTwCMcKiNZkx+UmGKScU2XLZo1Iq4JKZNWFlNTjUoM9c9A/Ic54HA4HI5+WL1nD4d64Oo+cwNdf/i3YXU3lkxXJA0B/IITu4JajmzDa6TAuS12w/LBhQ3jloMI6fOzdJH0ko9iW5BouU/Cf4LT3xmAr3/MkabktHzCaUxW7+dIA4pangCnqQ2tqbTlCZYEVv1rjthi0fIJP8Q+1LEm25YnsLcmbjkRoRvZFG7YC6ramlItn4AuJSSoCvAGIyy3pqNDgGGyYELo6qJHaIVtsXjU9BSXzdBwYMsQsIE3cTmVfJXu6EyPhK8k7Pozp5fzUdRb7r1YMdgjhXaKdZBDRe9Y5fRC5kF7cJEjNajRo1UpPL2dI7Wx69Eh9E75aY40o7JHkpzvHxxpQUmPLlH1N3OkNfk9+hQl1LOqKjI9uuPvQUOrqmLSI6SNVVUxGhlaW1UVpkf9zKPSnPwvBxwOh8PhcDgcju45pV/iUD98He/x+5w2nwBFd9+lD3za8DV6/qho7v8mp3TLqZvjxxl0Q9aHnJ4WWDzVQF2IppZStQbljwUrH8sXWEEI8irndEMsf5RPQAtVYds8SBFyXhdM5E8rBWDhj4ODFP0cZ7dmLH/UAHbglt9RIvYngDWT35aE/JHgzhfj5Mt0S7wzDrciI//bJg9BPkQVtranafkniDxPwOscaUZW/n/gdGYtRMeb4UgTCuSf4BOWz4zzKZZ/Ap8eub7GkXqUyn/C3zQe1WQxeIX8E3xcNhmfquWfQEHt8clK/hMugqw3PlnKP8FBuqJaj09G/gQ2Hzvw1nOcXooQQ9vxieVvqghhuPAnTq/gwgz22GZ8msjfVHH7Xzm9miPUoEp7ysgfUTBHkkKXQqcqx7xcKR+fjoXgCbKcJLG47PBAlz5ofm3JA1ooxmpmFEa5kZVgv+V9XFoRa/SaKt0ND4TilWiV0DuoqqWDyCv3wM648Bha1WgNGbrVW+h/r9AmC+y10UsEj9o+cT1DFrLCkSou3xvbE7ZKDFEZlo+nQeioxn6JSw9iFbFe8O82q/FzES958gWOWEF6UVi+EgIvyDNwhNML+Q45RsGq/kJq6gU74TWYMdfRC70+hV9ypBbWenkOW6KWOVIXS70IurngcANs9LJPKpBTC1jrUKmX52cxZz9HmlKhFxgOIW9HYE3K9LJEg/8ZjrSiUC/fJ33bjlNVFOjF07XGqSry9LKIkXrjVBVZvXzlJC25qDtOVZHWC3WiyThVRUIvMY3GqSoSemkxTlUxuu63G6eqGOvlp5zQC7Fe3suxviC9cLBHztnPth0Oh8PhcDgcDofD4XA4HA6HI8v50+cGg+t3y8ubx/dIAfKTHL3euPL0Xnq6T13QB3K/2O+aZv2bKwBRJCS9BfFCraNOXxf1zdrR+4e0hEQoIbWglxOgfT1r8w7/WsDYPq0loF+gN2oACg1JA9z4QLtVe5sB2r4fhvSyBuVObZeojKEfoC3RizsBN/T6nqgtY9ufC4SI1y7Rq0BP++TQEQZDCWHHG0i7I2P7WtO7Pxmi3D20Jf32Iy8+MwewgzaIyx6/IKMp+bZvFlqoEOSuJ+NV9a++GwT2EQLP7svZNos82w8CkL6k96Nq4ZHkMsSHzHo16tq1YkyFti887YFaPDy1xvOMWUqmUBMrW3+Zq7D9257IX3q5sYA9JYOD7V1/20otLG0/n0PUcVSGql5E1hO1bD+Xs7PG3pSU913ipM2jvu3ncmGPkD6dKOZ/zkmbQkPbzweNCRWIMhCd7deooJXt5/IjtEIaX2Hb3v6Nqb3t57K+hLcQWFzfc6aObD+fj6FV9jtn6tT2c/mB70PQ15ype9vP5eVlUkT3c6aU7ccoWpceRRCgMnYdtty6YMVHAGbib1npyphybD9GmHWZdz38Lz6wM54BPZS0/aKLOVOh7ceoMPQ8s42J1mdinWTDw2Gim00JJA0RbedM5bbPCBVnUSZIhU5tAmRk7UBZUOnN50xXj+1DScSCwJZhV8Y+kI9CZXWPDD3w9zfbqGZYPbq83UhVRMZ1KViEF1b0sRmh2Yh0S+vr3PlTu94iwYtiI8lFRdgDM+HvHoGagAe5LS25fHKZS50GPeLOx/tYRnoooClLiD91vkC5ije+saxix1ZRhP4S+woZEqpBwl1P/oUP7IaX7hZkADhg3PoTTuqM14/txZldMDv2lZDcReMfGp+GN3zh93xga56jB2Ye4JCx0s8m+fPPJnxFR9ps+WdwVLv1yPR/46jPh8maNPlbn3em5Cs0VZbaXEMYs0mT9uzd/tgFPrAZF9+DMzG6NMmben9G0J+vnDaapn2fH2hxsahBL76CBkVzAa2sduV1Rce+sv4uo2Ccus3+ipM2je585bsojSGEqI73XeGkzaUTX3mIJjwaC5Fb+Yqopa+s7SZzwp6LnZ1f8urS3FfOenixoH6rA29w0tbSyFcO0vMTunTLz3DKtUBNX3l1t3kKhL3ufg7VFntf+RbM0D7B/uZQban2lf/QYw9N0/Ke51BtKfMV7J6GOYpvyhyqLfm+Qs2P2cQ5VFumfIXZgjlUW1K+YtiyOVRb0vf2WzqHakvGV/L/U+T1wdhX1POcct1y/tl7d+zv5rvQHA6Hw+FwOBwOh8PhcDgcDisGg/8BZ7ROEYqjzQsAAAAASUVORK5CYII=" - - // Table visual name - const tableVisualName = "1149606f2a101953b4ba"; - - // Embed configuration used to describe the what and how to embed - // This object is used when calling powerbi.embed - // This also includes settings and options such as filters - // You can find more information at https://github.com/Microsoft/PowerBI-JavaScript/wiki/Embed-Configuration-Details - let config= { - type: 'report', - tokenType: models.TokenType.Embed, - accessToken: accessToken, - embedUrl: embedUrl, - id: embedReportId, - permissions: permissions, - settings: { - filterPaneEnabled: false, - navContentPaneEnabled: false, - - // Adding the extension command to the options menu - extensions: [ - { - command: { - name: "campaign", - title: "Start campaign", - icon: base64Icon, - selector: { - $schema: "http://powerbi.com/product/schema#visualSelector", - visualName: tableVisualName - }, - extend: { - visualOptionsMenu: { - title: "Start campaign", - menuLocation: models.MenuLocation.Top, - } - } - } - }, - ], - - // Hiding built-in commands on the options menu - commands: [ - { - spotlight: { - selector: { - visualName: tableVisualName - }, - displayOption: models.CommandDisplayOption.Hidden, - }, - exportData: { - selector: { - visualName: tableVisualName - }, - displayOption: models.CommandDisplayOption.Hidden, - }, - seeData: { - selector: { - visualName: tableVisualName - }, - displayOption: models.CommandDisplayOption.Hidden, - }, - } - ] - }, - }; - - // Get a reference to the embedded report HTML element - let embedContainer = $('#embedContainer')[0]; - - // Embed the report and display it within the div container - InsightToActionShowcaseState.report = powerbi.embed(embedContainer, config); - InsightToActionShowcaseState.report.on("rendered", function() { - setTooltipPosition(); - $('#startTooltip').addClass("showTooltip"); - - // Remove event handler, thus, the tooltip will appear only once - InsightToActionShowcaseState.report.off("rendered"); - }); - - // Report.on will add an event handler to commandTriggered event which prints to console window. - InsightToActionShowcaseState.report.on("commandTriggered", function(event) { - if (event.detail.command === "campaign") { - InsightToActionShowcaseState.report.getPages() - .then(function (pages) { - - // Retrieve active page. - let activePage = pages.filter(function(page) { - return page.isActive - })[0]; - - // Get page's visuals - activePage.getVisuals() - .then(function (visuals) { - - // Retrieve the wanted visual. - let visual = visuals.filter(function(visual) { - return visual.name === tableVisualName; - })[0]; - - // Exports visual data - visual.exportData(models.ExportDataType.Underlying).then(handleExportData); - }); - }); - } - }); - }); -} - -// Handles the export data API result -function handleExportData(result) { - - // Parse the recieved data from csv to 2d array - let resultData = parseData(result.data); - - // Filter the unwanted columns - InsightToActionShowcaseState.data = filterTable(["Latest purchase - Category", "Total spend", "Days since last purchase"], resultData); - - // Create a table from the 2d array - let table = createTable(InsightToActionShowcaseState.data) - - // Clear the div - $("#dialogTable").empty(); - - // Add the table to the dialog - $("#dialogTable").append(table) - - // Hide the tooltip - $('#startTooltip').removeClass("showTooltip"); - - // Show the dialog - $('#dialogMask').show(); - $('#distributionDialog').show(); - - // Shows dialog tooltip after a short delay - setTimeout(function() { - $('#dialogTooltip').addClass("showTooltip"); - }, dialogTooltipTimeout); -} - -// Parse the data from the API -function parseData(data) { - let result = []; - data.split("\n").forEach(function(row) { - if (row !== "") { - let rowArray = []; - row.split(",").forEach(function(cell) { - rowArray.push(cell); - }); - - result.push(rowArray); - } - }); - - return result; -} - -// Filter the table's data - removing the 'filterValues' columns -function filterTable(filterValues, table) { - for (let i = 0; i < filterValues.length; i++) { - valueIndex = table[0].indexOf( - table[0].filter(function(value) { return value === filterValues[i] })[0] - ); - - for (let j = 0; j < table.length; j++) { - table[j].splice(valueIndex, 1); - } - } - - return table; -} - -// Handles tooltip click action -function onTootipClicked(tooltipId) { - if ( tooltipId === "closeTooltip"){ - $('#startTooltip').hide(); - } else if (!InsightToActionShowcaseState.tooltipNextPressed && tooltipId === "startTooltip") { - let newText = document.createTextNode("Then, click `Start campaign` menu command."); - let startTooltipSubText = $('#startTooltip .showcaseTooltipSubText'); - const textOldHeight = startTooltipSubText[0].offsetHeight; - startTooltipSubText.empty(); - startTooltipSubText.append(newText); - startTooltipSubText[0].setAttribute("style", "height: " + textOldHeight + "px;"); - - let newTooltipNumber = document.createTextNode("2 of 2"); - $('#startTooltip .tooltipNumber').empty(); - $('#startTooltip .tooltipNumber').append(newTooltipNumber); - - let newBtnText = document.createTextNode("Got it"); - $('#startTooltip .btnShowcaseTooltip').empty(); - $('#startTooltip .btnShowcaseTooltip').append(newBtnText); - - InsightToActionShowcaseState.tooltipNextPressed = true; - } else { - $('#' + tooltipId).hide(); - } -} - -// Closes the dialog -function onCloseDialog(id) { - $('#dialogTooltip').hide(); - $('#dialogMask').hide(); - $('#' + id).hide(); -} - -// Open the send coupon/discount dialog -function onSendClicked(name) { - let headerText = document.createTextNode("Send " + name + " to distribution list"); - $('#sendDialog .dialogHeaderText').empty(); - $('#sendDialog .dialogHeaderText').append(headerText); - - const promotionToSend = name === "coupon" ? "30$ coupon" : "10% discount"; - let bodyText = "Hi , get your " + promotionToSend + " today!"; - $('#sendDialog textarea').val(bodyText); - - $('#dialogTooltip').hide(); - $('#distributionDialog').hide(); - $('#sendDialog').show(); -} - -// Closes the send dialog and shows the 'Sent' message -function onSendDialogSendClicked() { - $('#sendDialog').hide(); - $('#dialogMask').hide(); - $('#messageSent').addClass("show"); - - setTimeout(function() { - $('#messageSent').removeClass("show"); - }, sentMessageTimeout); -} - -// Build the HTML table from the data -function createTable(tableData) { - let table = document.createElement('table'); - let tableBody = document.createElement('tbody'); - let rowIndex = 0; - - // Set all checked to true, for check all table button - InsightToActionShowcaseState.allChecked = true; - - tableData.forEach(function(rowData) { - let row = document.createElement('tr'); - - // Add ✓ or checkbox - if (rowIndex === 0) { - let cell = document.createElement('th'); - cell.setAttribute("onclick","onCheckAllClicked();"); - cell.setAttribute("class", "checkAllBtn"); - cell.appendChild(document.createTextNode('✓')); - row.appendChild(cell); - } else { - let cell = document.createElement('td'); - let checkboxElement = document.createElement("input"); - checkboxElement.setAttribute("type", "checkbox"); - checkboxElement.setAttribute("name", "tableRowCheckbox"); - checkboxElement.setAttribute("id", "row" + rowIndex); - checkboxElement.checked = true; - cell.appendChild(checkboxElement); - row.appendChild(cell); - } - - let isNameCell = true; - rowData.forEach(function(cellData) { - let cell; - if (rowIndex !== 0) { - cell = document.createElement('td'); - if (isNameCell) { - cell.setAttribute("class", "nameCell"); - isNameCell = false; - } - } else { - cell = document.createElement('th'); - } - - cell.appendChild(document.createTextNode(cellData)); - row.appendChild(cell); - }); - - tableBody.appendChild(row); - rowIndex++; - }); - - table.appendChild(tableBody); - - return table; -} - -// Check/Uncheck all the customers on the table -function onCheckAllClicked() { - let checkboxes = document.getElementsByName("tableRowCheckbox"); - for (let i = 0; i < checkboxes.length; i++) { - checkboxes[i].checked = !InsightToActionShowcaseState.allChecked; - } - - InsightToActionShowcaseState.allChecked = !InsightToActionShowcaseState.allChecked; -} - -// Calculate and set the tooltip position -function setTooltipPosition() { - let startTooltip = document.getElementById("startTooltip"); - let embedContainer = document.getElementById('embedContainer'); - let textHeight = document.getElementById('showcases-text').offsetHeight; - let containerHeight = embedContainer.offsetWidth * 0.56; - - // Calculate the tooltip position relatively - const top = textHeight + 64 + ((embedContainer.offsetHeight - containerHeight) / 2) - startTooltip.offsetHeight + (0.05 * embedContainer.offsetHeight); - const left = (embedContainer.offsetWidth - 10) * 0.971 - 125; - startTooltip.setAttribute("style", "top: " + top + "px; left: " + left + "px;"); -} \ No newline at end of file diff --git a/demo/v2-demo/live_showcases/quick_visual_creator/showcase_quick_visual_creator.html b/demo/v2-demo/live_showcases/quick_visual_creator/showcase_quick_visual_creator.html deleted file mode 100644 index b77b94f4..00000000 --- a/demo/v2-demo/live_showcases/quick_visual_creator/showcase_quick_visual_creator.html +++ /dev/null @@ -1,192 +0,0 @@ -
-

Quick visual creator

-
-
- This showcase demonstrates one example of how you can leverage our visual APIs to quickly generate and personalize a visual.
- This is useful for quickly importing a visual into a presentation or email without having any prior Power BI experience,
- and for quick ad-hock analytics which can then be saved. Additionally, you can implement your own method for sharing or exporting the visual.


-
- 1. Choose the visual type from the dropdown list
-
Note: On this showcase we only provide a subset of the available visual types.

- 2. Select the fields to define the data for displaying in your visual

- 3. Use the 'Properties' to personalize your visual

- 4. You can use the 'Print' button to export the visual to PDF
-
-
- -
- -
-
-
Generator
-
-
-
- Visual Type -
-
- -
-
-
-
- Fields -
-
- Axis: -
- -
-
-
- Legend: -
- -
-
-
- Value: -
- -
-
- -
-
- -
- Properties -
-
- Legend: - -
-
- X Axis: - -
-
- Y Axis: - -
-
- Title: - -
- -
- Personalized Title: -
- - -
- -
-
- -
-
-
-
- -
- Title alignment: -
-
-
- -
-
- -
-
- -
-
-
-
- -
-
- -
-
- -
-
-
-
-
-
-
-
-
-
-
Visual view
-
- - -
-
-
- -
- Loading showcase... -
-
-
-
-
-
- - \ No newline at end of file diff --git a/demo/v2-demo/live_showcases/quick_visual_creator/showcase_quick_visual_creator.js b/demo/v2-demo/live_showcases/quick_visual_creator/showcase_quick_visual_creator.js deleted file mode 100644 index 4348b719..00000000 --- a/demo/v2-demo/live_showcases/quick_visual_creator/showcase_quick_visual_creator.js +++ /dev/null @@ -1,638 +0,0 @@ -let VisualCreatorShowcaseState = { - report: null, - page: null, - visual: null, - visualType: null, - dataRoles: { - Legend: null, - Values: null, - Value: null, - Axis: null, - Tooltips: null, - 'Y Axis': null, - Category: null, - Breakdown: null, - }, - dataFieldsCount: 0, - properties: { - legend: true, - xAxis: true, - yAxis: true, - title: true, - titleText: null, - titleAlign: null - }, -} - -// Define the available data roles for the visual types -const visualTypeToDataRoles = [ - { name: 'pieChart', displayName: 'Pie chart', dataRoles: ['Legend', 'Values', 'Tooltips'] }, - { name: 'columnChart', displayName: 'Column chart', dataRoles: ['Axis', 'Values', 'Tooltips'] }, - { name: 'areaChart', displayName: 'Area chart', dataRoles: ['Axis', 'Legend', 'Values'] }, - { name: 'waterfallChart', displayName: 'Waterfall Chart', dataRoles: ['Category', 'Breakdown', 'Values'] }, -]; - -// Define the available fields for each data role -const dataRolesToFields = [ - { dataRole: 'Legend', Fields: ['State', 'Region', 'Manufacturer'] }, - { dataRole: 'Values', Fields: ['Total Units', 'Total Category Volume', 'Total Compete Volume'] }, - { dataRole: 'Axis', Fields: ['State', 'Region', 'Manufacturer'] }, - { dataRole: 'Value', Fields: ['Total Units', 'Total Category Volume', 'Total Compete Volume'] }, - { dataRole: 'Y Axis', Fields: ['Total Units', 'Total Category Volume', 'Total Compete Volume'] }, - { dataRole: 'Tooltips', Fields: ['Total Units', 'Total Category Volume', 'Total Compete Volume'] }, - { dataRole: 'Category', Fields: ['State', 'Region', 'Date'] }, - { dataRole: 'Breakdown', Fields: ['State', 'Region', 'Manufacturer'] }, -]; - -// Define schemas for visuals API -const schemas = { - column: 'http://powerbi.com/product/schema#column', - measure: 'http://powerbi.com/product/schema#measure', - property: 'http://powerbi.com/product/schema#property', -}; - -// Define mapping from fields to target table and column/measure -const dataFieldsTargets = { - State: { column: 'State', table: 'Geo', schema: schemas.column }, - Region: { column: 'Region', table: 'Geo', schema: schemas.column }, - District: { column: 'District', table: 'Geo', schema: schemas.column }, - Manufacturer: { column: 'Manufacturer', table: 'Manufacturer', schema: schemas.column }, - TotalUnits: { measure: 'Total Units', table: 'SalesFact', schema: schemas.measure }, - TotalCategoryVolume: { measure: 'Total Category Volume', table: 'SalesFact', schema: schemas.measure }, - TotalCompeteVolume: { measure: 'Total Compete Volume', table: 'SalesFact', schema: schemas.measure }, - Date: { measure: 'Date', table: 'Date', schema: schemas.measure }, -}; - -// Define the available -const showcaseProperties = ['legend', 'xAxis', 'yAxis']; -const visualTypeProperties = { - pieChart: ['legend'], - columnChart: ['xAxis', 'yAxis'], - areaChart: ['legend', 'xAxis', 'yAxis'], - waterfallChart: ['legend', 'xAxis', 'yAxis'], -}; - -const disabledClass = "generator-disabled"; - -// Embed the report -function embedQuickVisualCreatorReport() { - - // Load sample report properties into session - return LoadQuickVisualCreatorShowcaseReportIntoSession().then(function () { - - // Starting spinner animation - $("#spinner").show(); - - // Get models. models contains enums that can be used - let models = window['powerbi-client'].models; - - // Get embed application token from session - let accessToken = GetSession(SessionKeys.AccessToken); - - // Get embed URL from session - let embedUrl = GetSession(SessionKeys.EmbedUrl); - - // Get report Id from session - let embedReportId = GetSession(SessionKeys.EmbedId); - - // Use View permissions - let permissions = models.Permissions.View; - - // Embed configuration used to describe the what and how to embed - // This object is used when calling powerbi.embed - // This also includes settings and options such as filters - // You can find more information at https://github.com/Microsoft/PowerBI-JavaScript/wiki/Embed-Configuration-Details - let config = { - type: 'report', - tokenType: models.TokenType.Embed, - accessToken: accessToken, - embedUrl: embedUrl, - id: embedReportId, - permissions: permissions, - settings: { - filterPaneEnabled: false, - navContentPaneEnabled: false, - layoutType: models.LayoutType.Custom, - customLayout: { - pageSize: { - type: models.PageSizeType.Custom, - width: $('#embedContainer').width(), - height: $('#embedContainer').height() - }, - displayOption: models.DisplayOption.ActualSize, - } - } - }; - - // Get a reference to the embedded report HTML element - let embedContainer = $('#embedContainer')[0]; - - // Embed the report and display it within the div container - VisualCreatorShowcaseState.report = powerbi.embed(embedContainer, config); - - // Report.on will add an event handler for report rendered event - VisualCreatorShowcaseState.report.on("rendered", function () { - - // Setting the first page as active - VisualCreatorShowcaseState.report.getPages().then(function (pages) { - pages[0].setActive(); - VisualCreatorShowcaseState.page = pages[0]; - }); - - // Update html available visual types - updateAvailableVisualTypes(); - - // Enable choosing visual type - $("#generator-type").removeClass(disabledClass); - - // Hiding the spinner animation - $("#spinner").hide(); - - // Covering the embeded view with instruction text - $("#overlay-embed-container").addClass("overlay-text") - $('#overlay-embed-container').text('Start by choosing the visual type'); - $("#overlay-embed-container").show(); - - // Remove the event listener, thus, it will only be called once - VisualCreatorShowcaseState.report.off("rendered"); - }); - }); -} - -// Initialize the custom dropdowns -function initializeDropdowns() { - let x, i, j, selElmnt, a, b, c; - - // Look for any elements with the class "styled-select" - x = document.getElementsByClassName("styled-select"); - for (i = 0; i < x.length; i++) { - selElmnt = x[i].getElementsByTagName("select")[0]; - - // For each element, create a new DIV that will act as the selected item - a = document.createElement("DIV"); - a.setAttribute("class", "select-selected"); - a.setAttribute("id", "selected-value-" + i); - a.innerHTML = selElmnt.options[selElmnt.selectedIndex].innerHTML; - x[i].appendChild(a); - - // For each element, create a new DIV that will contain the option list - b = document.createElement("DIV"); - b.setAttribute("class", "select-items select-hide"); - for (j = 1; j < selElmnt.length; j++) { - - // For each option in the original select element, - // create a new DIV that will act as an option item - c = document.createElement("DIV"); - c.innerHTML = selElmnt.options[j].innerHTML; - - // Adding new click event listener - c.addEventListener("click", function (e) { - - // When an item is clicked, update the original select box, and the selected item - let y, i, k, s, h; - s = this.parentNode.parentNode.getElementsByTagName("select")[0]; - h = this.parentNode.previousSibling; - for (i = 0; i < s.length; i++) { - if (s.options[i].innerHTML == this.innerHTML) { - s.selectedIndex = i; - h.innerHTML = this.innerHTML; - y = this.parentNode.getElementsByClassName("same-as-selected"); - for (k = 0; k < y.length; k++) { - y[k].removeAttribute("class"); - } - - this.setAttribute("class", "same-as-selected"); - break; - } - } - - h.click(); - - // Changing the visual type or updating the data role field, according to the dropdown id - if (s.id == 'visual-type') { - changeVisualType(h.innerHTML); - } else { - updateDataRoleField(s.parentNode.parentNode.children[0].id, h.innerHTML); - } - }); - - b.appendChild(c); - } - - x[i].appendChild(b); - - // Adding new click event listener for the select box - a.addEventListener("click", function (e) { - // When the select box is clicked, close any other select boxes, - // and open/close the current select box - e.stopPropagation(); - closeAllSelect(this); - this.nextSibling.classList.toggle("select-hide"); - this.classList.toggle("select-arrow-active"); - }); - } -} - -// Close all select boxes in the document, except the current select box -function closeAllSelect(elmnt) { - - let x, y, i, arrNo = []; - x = document.getElementsByClassName("select-items"); - y = document.getElementsByClassName("select-selected"); - for (i = 0; i < y.length; i++) { - if (elmnt == y[i]) { - arrNo.push(i) - } else { - y[i].classList.remove("select-arrow-active"); - } - } - - for (i = 0; i < x.length; i++) { - if (arrNo.indexOf(i)) { - x[i].classList.add("select-hide"); - } - } -} - -// Changing the visual type -function changeVisualType(visualTypeDisplayName) { - // Get the visual type from the display name - let visualTypeData = visualTypeToDataRoles.filter((function (e) { return e.displayName === visualTypeDisplayName }))[0]; - let visualTypeName = visualTypeData.name; - - // Retrieve the visual's capabilities - VisualCreatorShowcaseState.report.getVisualCapabilities(visualTypeName).then(function (capabilities) { - - // Validating data roles existence on the given visual type - if (!validateDataRoles(capabilities, visualTypeData.dataRoles)) { - resetVisualGenerator(); - handleInvalidDataRoles(); - return; - } - - // Enable the fields section - $('#generator-fields').removeClass(disabledClass); - - // Disable the properties section, and reset all properties - $('#generator-properties').addClass(disabledClass); - resetGeneratorProperties(); - - // Update the overlay text - $('#overlay-embed-container').text('Use the dropdown menus to choose data fields'); - $('#overlay-embed-container').show(); - - // Reset the data fields count - VisualCreatorShowcaseState.dataFieldsCount = 0; - - // If the visual doesn't exist, create new visual, otherwise, delete the old visual and create new visual - if (!VisualCreatorShowcaseState.visual) { - VisualCreatorShowcaseState.page.createVisual(visualTypeName, getVisualLayout()).then(function () { - updateShowCaseVisType(visualTypeName, visualTypeData.dataRoles); - }); - } - else if (visualTypeName != VisualCreatorShowcaseState.visualType) { - VisualCreatorShowcaseState.page.deleteVisual(VisualCreatorShowcaseState.visual.name).then(function () { - VisualCreatorShowcaseState.page.createVisual(visualTypeName, getVisualLayout()).then(function () { - updateShowCaseVisType(visualTypeName, visualTypeData.dataRoles); - }); - }); - } - }); -} - -// Update showcase after visual type change -function updateShowCaseVisType(visualTypeName, dataRoles) { - updateCurrentVisualState(visualTypeName); - resetGeneratorDataRoles(); - updateAvailableDataRoles(dataRoles); - updateDropdownsVisibility(); -} - -// Update the visual state -function updateCurrentVisualState(visualTypeName) { - VisualCreatorShowcaseState.page.getVisuals().then(function (visuals) { - // Update visual and visual type - VisualCreatorShowcaseState.visual = visuals[0] - VisualCreatorShowcaseState.visualType = visualTypeName; - - // Enabling the pie chart legend (disabled by default) - if (visualTypeName === "pieChart") { - VisualCreatorShowcaseState.visual.setProperty(propertyToSelector('legend'), { schema: schemas.property, value: true }); - } - - // Formatting the title to be more accessible - VisualCreatorShowcaseState.visual.setProperty(propertyToSelector('titleSize'), { schema: schemas.property, value: 14 }); - VisualCreatorShowcaseState.visual.setProperty(propertyToSelector('titleColor'), { schema: schemas.property, value: '#000000' }); - - // Disabling unavailable properties for specific visual types - $('.toggle-wrapper').removeClass("disabled"); - for (let i = 0; i < showcaseProperties.length; i++) { - if (visualTypeProperties[visualTypeName].indexOf(showcaseProperties[i]) < 0) { - $('#' + showcaseProperties[i] + '.toggle-wrapper').addClass("disabled"); - } - } - }); -} - -// Update the data roles and the data roles fields, on the dropdown menus -function updateAvailableDataRoles(dataRoles) { - let dataRolesNamesElements = document.querySelectorAll('.inline-select-text'); - for (let i = 0; i < dataRoles.length; i++) { - dataRolesNamesElements[i].innerHTML = dataRoles[i] + ':'; - dataRolesNamesElements[i].id = dataRoles[i]; - - let dataFields = dataRolesToFields.filter(function (e) { return e.dataRole === dataRoles[i] })[0].Fields; - updateAvailableDataFields(dataRolesNamesElements[i].parentElement, dataFields); - } -} - -// Update the data fields on the dropdown menus -function updateAvailableDataFields(dataRoleElement, dataFields) { - let fieldDivElements = dataRoleElement.querySelector('.select-items').children; - let fieldOptionElements = dataRoleElement.querySelectorAll('option'); - for (let i = 0; i < dataFields.length; i++) { - fieldDivElements[i].innerHTML = dataFields[i]; - fieldOptionElements[i + 1].innerHTML = dataFields[i]; - } -} - -// Update html visual types -function updateAvailableVisualTypes() { - let typesDivElements = $('.select-items')[0].children; - let typesOptionElements = $('#visual-type')[0].children; - for (let i = 0; i < visualTypeToDataRoles.length; i++) { - typesDivElements[i].innerHTML = visualTypeToDataRoles[i].displayName; - typesOptionElements[i + 1].innerHTML = visualTypeToDataRoles[i].displayName; - } -} - -// Print the report -function printVisual() { - if (!VisualCreatorShowcaseState.visual) - return; - VisualCreatorShowcaseState.report.print(); -} - -// Update data roles field on the visual -function updateDataRoleField(dataRole, field) { - - // Check if the requested field is not the same as the selected field - if (field != VisualCreatorShowcaseState.dataRoles[dataRole]) { - - // Getting the visual capabilites - VisualCreatorShowcaseState.visual.getCapabilities().then(function (capabilities) { - - // Getting the data role name - let dataRoleName = capabilities.dataRoles.filter(function (dr) { return dr.displayName === dataRole })[0].name; - - // Remove whitespaces from field - let dataFieldKey = field.replace(/\s+/g, ''); - - // Check if the data role already has a field - if (VisualCreatorShowcaseState.dataRoles[dataRole]) { - - // If the data role has a field, remove it - VisualCreatorShowcaseState.visual.removeDataField(dataRoleName, 0).then(function (res) { - VisualCreatorShowcaseState.dataFieldsCount--; - - // If there are no more data fields, recreating the visual before adding the data field - if (VisualCreatorShowcaseState.dataFieldsCount === 0) { - VisualCreatorShowcaseState.page.createVisual(VisualCreatorShowcaseState.visualType, getVisualLayout()).then(function () { - VisualCreatorShowcaseState.page.getVisuals().then(function (visuals) { - VisualCreatorShowcaseState.visual = visuals[0]; - VisualCreatorShowcaseState.dataFieldsCount++; - VisualCreatorShowcaseState.visual.addDataField(dataRoleName, dataFieldsTargets[dataFieldKey]).then(function () { disableSelectedDataFields(dataRole, field); }); - }); - }); - } else { - VisualCreatorShowcaseState.dataFieldsCount++; - VisualCreatorShowcaseState.visual.addDataField(dataRoleName, dataFieldsTargets[dataFieldKey]).then(function () { disableSelectedDataFields(dataRole, field); }); - } - }); - } else { - - // Adding a new field - VisualCreatorShowcaseState.visual.addDataField(dataRoleName, dataFieldsTargets[dataFieldKey]).then(function () { - disableSelectedDataFields(dataRole, field); - VisualCreatorShowcaseState.dataFieldsCount++; - - // Showing the visual if there are 2 or more data fields - if (VisualCreatorShowcaseState.dataFieldsCount > 1) { - $("#overlay-embed-container").hide(); - $('#generator-properties').removeClass(disabledClass); - } - }); - } - }); - } -} - -// Hiding the selected data field from the dropdown -function disableSelectedDataFields(dataRole, field) { - VisualCreatorShowcaseState.dataRoles[dataRole] = field; - updateDropdownsVisibility(); -} - -// Update the visibility of the dropdowns -function updateDropdownsVisibility() { - $('.select-items div').show(); - - let selected = $('.select-selected'); - selected.each(function () { - let selectedValue = $(this).text(); - $('.select-items div:contains(' + selectedValue + ')').hide(); - }); -} - -// Return the visual layout -function getVisualLayout() { - // Get models. models contains enums that can be used - let models = window['powerbi-client'].models; - - return { - width: 0.9 * $('#embedContainer').width(), - height: 0.85 * $('#embedContainer').height(), - x: (0.1 * $('#embedContainer').width()) / 2, - y: (0.1 * $('#embedContainer').height()) / 2, - displayState: { - // Change the selected visuals display mode to visible - mode: models.VisualContainerDisplayMode.Visible - } - }; -} - -// Toggle a property value -function toggleProperty(propertyName) { - if (!VisualCreatorShowcaseState.visual) - return; - - let newValue = $('#' + propertyName + '-toggle')[0].checked; - VisualCreatorShowcaseState.properties[propertyName] = newValue; - - // Setting the property on the visual - VisualCreatorShowcaseState.visual.setProperty(propertyToSelector(propertyName), { schema: schemas.property, value: newValue }); -} - -// Update the title alignment -function onAlignClicked(direction) { - if (!VisualCreatorShowcaseState.visual) - return; - - $(".alignment-block").removeClass("selected"); - $("#align-" + direction).addClass("selected"); - VisualCreatorShowcaseState.properties['titleAlign'] = direction; - - // Setting the property on the visual - VisualCreatorShowcaseState.visual.setProperty(propertyToSelector('titleAlign'), { schema: schemas.property, value: direction }); -} - -// Convert property name to selector -function propertyToSelector(propertyName) { - switch (propertyName) { - case 'title': - return { objectName: "title", propertyName: "visible" }; - case 'xAxis': - return { objectName: "categoryAxis", propertyName: "visible" }; - case 'yAxis': - return { objectName: "valueAxis", propertyName: "visible" }; - case 'legend': - return { objectName: "legend", propertyName: "visible" }; - case 'titleText': - return { objectName: "title", propertyName: "titleText" }; - case 'titleAlign': - return { objectName: "title", propertyName: "alignment" }; - case 'titleSize': - return { objectName: "title", propertyName: "textSize" }; - case 'titleColor': - return { objectName: "title", propertyName: "fontColor" }; - } -} - -// Handles erase tool click -function onEraseToolClicked() { - if (!VisualCreatorShowcaseState.visual) - return; - - document.getElementById("ptitle").value = ""; - - // Reseting the title text to auto generated - VisualCreatorShowcaseState.visual.resetProperty(propertyToSelector('titleText')); -} - -// Update the title's text -function updateTitleText() { - if (!VisualCreatorShowcaseState.visual) - return; - - let text = document.getElementById("ptitle").value; - - // If the title is blank, reseting the title to auto generated - if (text === "") { - onEraseToolClicked(); - return; - } - - VisualCreatorShowcaseState.visual.setProperty(propertyToSelector('titleText'), { schema: schemas.property, value: text }); -} - -// Reset the data roles section -function resetGeneratorDataRoles() { - if (!VisualCreatorShowcaseState.visual) - return; - - VisualCreatorShowcaseState.dataRoles = { - Legend: null, - Values: null, - Value: null, - Axis: null, - Tooltips: null, - 'Y Axis': null, - Category: null, - Breakdown: null, - }; - - VisualCreatorShowcaseState.dataFieldsCount = 0; - - let nodesToReset = $('.select-selected').slice(1); //all dropdowns except of visual type selection - for (let i = 0; i < nodesToReset.length; i++) { - nodesToReset[i].innerHTML = 'Select an option'; - } - - $('.field ~ .select-items').children().show(); - $('.field ~ .select-items').children().removeClass('same-as-selected'); -} - -// Reset the current visual -function resetGeneratorVisual() { - if (!VisualCreatorShowcaseState.visual) - return; - - VisualCreatorShowcaseState.page.deleteVisual(VisualCreatorShowcaseState.visual.name); - VisualCreatorShowcaseState.visual = null; - VisualCreatorShowcaseState.visualType = null; - $('.select-selected')[0].innerHTML = 'Select an option'; - $('#visual-type ~ .select-items > .same-as-selected').show(); - $('#visual-type ~ .select-items > .same-as-selected')[0].removeAttribute('class'); -} - -// Reset the properties section -function resetGeneratorProperties() { - if (!VisualCreatorShowcaseState.visual) - return; - - VisualCreatorShowcaseState.properties = { - legend: true, - xAxis: true, - yAxis: true, - title: true, - titleText: null, - titleAlign: null - }; - - for (let i = 0; i < 4; i++) { - $('input[type="checkbox"]')[i].checked = true; - } - - $(".alignment-block").removeClass("selected"); - $("#align-left").addClass("selected"); - - document.getElementById("ptitle").value = ""; -} - -// Reset the visual generator (data roles, properties and visual) -function resetVisualGenerator() { - if (!VisualCreatorShowcaseState.visual) - return; - - $('#generator-fields').addClass(disabledClass); - $('#generator-properties').addClass(disabledClass); - - $('#overlay-embed-container').text('Start by choosing the visual type'); - $("#overlay-embed-container").show(); - - resetGeneratorDataRoles(); - resetGeneratorProperties(); - resetGeneratorVisual(); -} - -// Validate the existance of each dataRole on the visual's capabilities -function validateDataRoles(capabilities, dataRolesDisplayNames) { - for (let i = 0; i < dataRolesDisplayNames.length; i++) { - - // Filter the corrsponding dataRole in the visual's capabilities dataRoles - if (capabilities.dataRoles.filter(function (dr) { return dr.displayName === dataRolesDisplayNames[i] }).length === 0) { - return false; - } - } - - return true; -} - -// Show an error message on dataRoles validation failure -function handleInvalidDataRoles() { - - // Update the overlay text - $('#overlay-embed-container').text("Failed to validate the visual's dataRoles. Please select a different visual type to continue."); - $('#overlay-embed-container').show(); -} - diff --git a/demo/v2-demo/live_showcases/themes/showcase_themes.html b/demo/v2-demo/live_showcases/themes/showcase_themes.html deleted file mode 100644 index 941bef94..00000000 --- a/demo/v2-demo/live_showcases/themes/showcase_themes.html +++ /dev/null @@ -1,43 +0,0 @@ -
-

Personalize report design

-
-
- You can personalize the colors and styling of your embedded analytics using the themes API.
- Themes help define styling and colors so you can match them to your application or brand color palette, for example.
- With the themes API, you can apply a custom theme during the report load or during a session.
- In this showcase, we’ve provided a few example color palettes and styles so you can see how themes can be applied to user report views.
-
- -
- -
-
-
Data colors
-
-
-
-
-
Background
-
-
-
-
-
-
-
Embedded view
-
-
-
-
-
- - \ No newline at end of file diff --git a/demo/v2-demo/live_showcases/themes/showcase_themes.js b/demo/v2-demo/live_showcases/themes/showcase_themes.js deleted file mode 100644 index f1c204ce..00000000 --- a/demo/v2-demo/live_showcases/themes/showcase_themes.js +++ /dev/null @@ -1,252 +0,0 @@ - - -let ThemesShowcaseState = { - themesArray: null, - themesReport: null, - dataColorSize: 16, - backgroundSize: 16, -}; - -// For report themes documentation please check https://docs.microsoft.com/en-us/power-bi/desktop-report-themes -const jsonThemes = [ - { - "name": "Apothecary", - "dataColors": ["#93A299", "#CF543F", "#B5AE53", "#848058", "#E8B54D", "#786C71", "#93A2A0", "#CF9A3F", "#8CB553", "#728458", "#D0E84D", "#786D6C"], - "background":"#FFFFFF", - "foreground": "#CF543F", - "tableAccent": "#93A299" - }, - { - "name": "Colorblind Safe", - "dataColors": ["#074650", "#009292", "#fe6db6", "#feb5da", "#480091", "#b66dff", "#b5dafe", "#6db6ff", "#914800", "#23fd23"], - "background":"#FFFFFF", - "foreground": "#074650", - "tableAccent": "#fe6db6" - }, - { - "name": "Valentine's Day", - "dataColors": ["#990011", "#cc1144", "#ee7799", "#eebbcc", "#cc4477", "#cc5555", "#882222", "#A30E33"], - "background":"#FFFFFF", - "foreground": "#ee7799", - "tableAccent": "#990011" - }, - { - "name": "Waveform", - "dataColors": ["#31B6FD", "#4584D3", "#5BD078", "#A5D028", "#F5C040", "#05E0DB", "#3153FD", "#4C45D3", "#5BD0B0", "#54D028", "#D0F540", "#057BE0"], - "background":"#FFFFFF", - "foreground": "#4584D3", - "tableAccent": "#31B6FD" - }, -]; - -const backgrounds = [ - { - "background": "#FFFFFF", - }, - { - "background": "#323130", - "foreground": "#FFFFFF", - "tableAccent": "#FFFFFF", - "visualStyles": { - "*":{ - "*":{ - "*":[{ - "fontFamily":"Segoe UI", - "color":{"solid":{"color":"#323130"}}, - "labelColor":{"solid":{"color":"#FFFFFF"}}, - "titleColor":{"solid":{"color":"#FFFFFF"}}, - }], - "labels":[{ - "color":{"solid":{"color":"#FFFFFF"}} - }], - "categoryLabels":[{ - "color":{"solid":{"color":"#FFFFFF"}} - }] - } - } - } - } -] - -// Embed the report -function embedThemesReport() { - - // Load sample report properties into session - return LoadThemesShowcaseReportIntoSession().then(function () { - - // Get models. models contains enums that can be used - const models = window['powerbi-client'].models; - - // Get embed application token from session - let accessToken = GetSession(SessionKeys.AccessToken); - - // Get embed URL from session - let embedUrl = GetSession(SessionKeys.EmbedUrl); - - // Get report Id from session - let embedReportId = GetSession(SessionKeys.EmbedId); - - // Use View permissions - let permissions = models.Permissions.View; - - // Embed configuration used to describe the what and how to embed - // This object is used when calling powerbi.embed - // This also includes settings and options such as filters - // You can find more information at https://github.com/Microsoft/PowerBI-JavaScript/wiki/Embed-Configuration-Details - let config= { - type: 'report', - tokenType: models.TokenType.Embed, - accessToken: accessToken, - embedUrl: embedUrl, - id: embedReportId, - permissions: permissions, - settings: { - filterPaneEnabled: false, - navContentPaneEnabled: false, - }, - - // Adding theme attribute to the config, will apply the theme on load - theme: {themeJson: jsonThemes[0]}, - }; - - // Get a reference to the embedded report HTML element - let embedContainer = $('#embedContainer')[0]; - - // Embed the report and display it within the div container - ThemesShowcaseState.themesReport = powerbi.embed(embedContainer, config); - - // Report.on will add an event handler for report loaded event - ThemesShowcaseState.themesReport.on("loaded", function() { - let themesList = $('#themesList'); - - // Set the first theme on the list as active - themesList.find("#theme0").attr('checked', true); - - // Displaying the themes list and the backgrounds list - themesList.show(); - $('#backgroundsList').show(); - $('#background0', '#backgroundsList').addClass("selected"); - }); - }); -} - -// Apply clicked theme and set it as the active theme on the list -function onThemeClicked(element) { - - // Set the clicked theme as active - $(element).attr('checked', true); - - applyTheme(); -} - -// Apply clicked background and set it as the active background on the list -function setThemeBackgroundActive(id) { - - // Set the clicked background as active - $('.themeBackgroundColor').removeClass("selected"); - $('#background' + id, '#backgroundsList').addClass("selected"); - - applyTheme(); -} - -function applyTheme() { - // Get active theme id - activeThemeId = Number($('input[name=theme]:checked', '#themesList')[0].getAttribute("id").slice(-1)); - activeBackgroundId = Number($('.selected', '#backgroundsList')[0].getAttribute("id").slice(-1)); - theme = {} - $.extend(theme, jsonThemes[activeThemeId], backgrounds[activeBackgroundId]); - - // Apply the theme - let report = ThemesShowcaseState.themesReport; - report.applyTheme({themeJson: theme}); -} - -// Create a themes list -function createThemesList() { - - // Build the themes list HTML code - let themesList = $('#themesList'); - - // Hide the div until the report loads - themesList.hide(); - - // Building the themes list - for (let i = 0; i < jsonThemes.length; i++) { - themesList.append(buildThemeElement(i)); - } -} - -// Create a backgrounds list -function createBackgroundsList() { - - // Build the backgrounds list HTML code - let backgroundsList = $('#backgroundsList'); - - // Hide the div until the report loads - backgroundsList.hide(); - - // Building the themes list - for (let i = 0; i < backgrounds.length; i++) { - backgroundsList.append(buildBackgroundElement(i)); - } -} - -// Build theme radio button HTML element -function buildThemeElement(id) { - let labelElement = document.createElement("label"); - labelElement.setAttribute("class", "showcaseRadioContainer themesRadioContainer"); - - let inputElement = document.createElement("input"); - inputElement.setAttribute("type", "radio"); - inputElement.setAttribute("name", "theme"); - inputElement.setAttribute("id", 'theme' + id); - inputElement.setAttribute("onclick", "onThemeClicked(this);"); - labelElement.appendChild(inputElement); - - let spanElement = document.createElement("span"); - spanElement.setAttribute("class", "showcaseRadioCheckmark"); - labelElement.appendChild(spanElement); - - let secondSpanElement = document.createElement("span"); - secondSpanElement.setAttribute("class", "radioTitle"); - let radioTitleElement = document.createTextNode(jsonThemes[id].name); - secondSpanElement.appendChild(radioTitleElement); - labelElement.appendChild(secondSpanElement); - - let colorsDivElement = document.createElement("div"); - colorsDivElement.setAttribute("class","themeColors"); - - // Calculate the max width for displaying data colors - const maxWidth = document.getElementById('themesDataColorsWrapper').offsetWidth - 48 /*padding*/; - const dataColors = jsonThemes[id].dataColors; - const singleDataColorWidth = ThemesShowcaseState.dataColorSize + 3 /*margin*/; - let currentWidth = 0; - for (let i = 0; i < dataColors.length; i++) { - - // Verify that the data colors will not overflow - if (currentWidth + singleDataColorWidth > maxWidth) - break; - - let dataColorElement = document.createElement("img"); - let url = "https://placehold.it/" + ThemesShowcaseState.dataColorSize + "/" + dataColors[i].substr(1) + "/000000?text=+"; - dataColorElement.setAttribute("src", url); - dataColorElement.setAttribute("class", "themeDataColor"); - colorsDivElement.appendChild(dataColorElement); - currentWidth += singleDataColorWidth; - } - - labelElement.appendChild(colorsDivElement); - - return labelElement; -} - -// Build background HTML element -function buildBackgroundElement(id) { - let backgroundElement = document.createElement("img"); - let url = "https://placehold.it/" + ThemesShowcaseState.backgroundSize + "/" + backgrounds[id].background.substr(1) + "/000000?text=+"; - backgroundElement.setAttribute("src", url); - backgroundElement.setAttribute("class", "themeBackgroundColor"); - backgroundElement.setAttribute("id", 'background' + id); - backgroundElement.setAttribute("onclick", "setThemeBackgroundActive(" + id + ");"); - return backgroundElement; -} diff --git a/demo/v2-demo/log_window.html b/demo/v2-demo/log_window.html deleted file mode 100644 index 47837bc7..00000000 --- a/demo/v2-demo/log_window.html +++ /dev/null @@ -1,14 +0,0 @@ -
-
Log
-
- - -
-
- -
-
\ No newline at end of file diff --git a/demo/v2-demo/report.html b/demo/v2-demo/report.html deleted file mode 100644 index 379792c8..00000000 --- a/demo/v2-demo/report.html +++ /dev/null @@ -1,103 +0,0 @@ - -
-
-
-
-
-
-
    -
  • - -
  • -
  • -
    - - Please click 'Run' before switching to 'Interact' tab -
    -
  • -
-
-
-
-
-
-
- -
-
-
-
Embedded view
-
-
- - -
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- - \ No newline at end of file diff --git a/demo/v2-demo/sample.html b/demo/v2-demo/sample.html deleted file mode 100644 index a1cbd5b8..00000000 --- a/demo/v2-demo/sample.html +++ /dev/null @@ -1,31 +0,0 @@ -
-
- -
-
- -
-

Welcome to the Power BI Embedded Playground

-
-
- While you are here, you can try many of our features without writing any code.
- Explore our APIs and see the results instantly so you know the options for your application.

- To get started, select the sample you want to explore, make any changes to get the results you want, and then click “Run”.

- You can check out our interactive feature showcase to experience embedded features for your application.

- We add the latest features into the Playground, so you can explore them before adding them to your implementation. -
-
- -
-
\ No newline at end of file diff --git a/demo/v2-demo/scripts/aisdk.js b/demo/v2-demo/scripts/aisdk.js deleted file mode 100644 index 9b1ade4a..00000000 --- a/demo/v2-demo/scripts/aisdk.js +++ /dev/null @@ -1,29 +0,0 @@ -const appUrl = 'https://powerbiplaygroundbe.azurewebsites.net/App'; -const appUrlEnabled = false; -const defaultInstrumentationKey = "ffe7093c-af96-4df9-8452-b9f4b35ccded"; - -var appInsightsInstanceDeferred = $.Deferred(); - -if (appUrlEnabled) { - $.getJSON(appUrl, function (appConfig) { - createAppInsightsInstance(appConfig.instrumentationKey); - }); -} -else { - createAppInsightsInstance(defaultInstrumentationKey); -} - -function createAppInsightsInstance(instrumentationKey) { - // Application Insights setup - var sdkInstance="appInsightsSDK";window[sdkInstance]="appInsights";var aiName=window[sdkInstance],aisdk=window[aiName]||function(e){function n(e){t[e]=function(){var n=arguments;t.queue.push(function(){t[e].apply(t,n)})}}var t={config:e};t.initialize=!0;var i=document,a=window;setTimeout(function(){var n=i.createElement("script");n.src=e.url||"https://az416426.vo.msecnd.net/scripts/b/ai.2.min.js",i.getElementsByTagName("script")[0].parentNode.appendChild(n)});try{t.cookie=i.cookie}catch(e){}t.queue=[],t.version=2;for(var r=["Event","PageView","Exception","Trace","DependencyData","Metric","PageViewPerformance"];r.length;)n("track"+r.pop());n("startTrackPage"),n("stopTrackPage");var s="Track"+r[0];if(n("start"+s),n("stop"+s),n("addTelemetryInitializer"),n("setAuthenticatedUserContext"),n("clearAuthenticatedUserContext"),n("flush"),!(!0===e.disableExceptionTracking||e.extensionConfig&&e.extensionConfig.ApplicationInsightsAnalytics&&!0===e.extensionConfig.ApplicationInsightsAnalytics.disableExceptionTracking)){n("_"+(r="onerror"));var o=a[r];a[r]=function(e,n,i,a,s){var c=o&&o(e,n,i,a,s);return!0!==c&&t["_"+r]({message:e,url:n,lineNumber:i,columnNumber:a,error:s}),c},e.autoExceptionInstrumented=!0}return t}( - { - instrumentationKey: instrumentationKey - } - );window[aiName]=aisdk,aisdk.queue&&0===aisdk.queue.length&&aisdk.trackPageView({}); - - appInsightsInstanceDeferred.resolve(appInsights); -} - -function getAppInsightsInstance() { - return appInsightsInstanceDeferred; -} diff --git a/demo/v2-demo/scripts/assert.js b/demo/v2-demo/scripts/assert.js deleted file mode 100644 index 049169e9..00000000 --- a/demo/v2-demo/scripts/assert.js +++ /dev/null @@ -1,5 +0,0 @@ -function assert(exp){ - if(console["assert"]){ - console.assert(exp); - } -} \ No newline at end of file diff --git a/demo/v2-demo/scripts/codesamples.js b/demo/v2-demo/scripts/codesamples.js deleted file mode 100644 index 1838366e..00000000 --- a/demo/v2-demo/scripts/codesamples.js +++ /dev/null @@ -1,3026 +0,0 @@ -/* - This file contains the code samples which will appear live in the web-page. - Each sample method name starts with _Report_ or _Page or _Embed depends on which section it appears. - Please keep this. -*/ - -// ---- Embed Code ---------------------------------------------------- - -function _Embed_BasicEmbed() { - // Read embed application token from textbox - var txtAccessToken = $('#txtAccessToken').val(); - - // Read embed URL from textbox - var txtEmbedUrl = $('#txtReportEmbed').val(); - - // Read report Id from textbox - var txtEmbedReportId = $('#txtEmbedReportId').val(); - - // Read embed type from radio - var tokenType = $('input:radio[name=tokenType]:checked').val(); - - // Get models. models contains enums that can be used. - var models = window['powerbi-client'].models; - - // We give All permissions to demonstrate switching between View and Edit mode and saving report. - var permissions = models.Permissions.All; - - // Embed configuration used to describe the what and how to embed. - // This object is used when calling powerbi.embed. - // This also includes settings and options such as filters. - // You can find more information at https://github.com/Microsoft/PowerBI-JavaScript/wiki/Embed-Configuration-Details. - var config = { - type: 'report', - tokenType: tokenType == '0' ? models.TokenType.Aad : models.TokenType.Embed, - accessToken: txtAccessToken, - embedUrl: txtEmbedUrl, - id: txtEmbedReportId, - permissions: permissions, - settings: { - panes: { - filters: { - visible: true - }, - pageNavigation: { - visible: true - } - } - } - }; - - // Get a reference to the embedded report HTML element - var embedContainer = $('#embedContainer')[0]; - - // Embed the report and display it within the div container. - var report = powerbi.embed(embedContainer, config); - - // Report.off removes a given event handler if it exists. - report.off("loaded"); - - // Report.on will add an event handler which prints to Log window. - report.on("loaded", function () { - Log.logText("Loaded"); - }); - - // Report.off removes a given event handler if it exists. - report.off("rendered"); - - // Report.on will add an event handler which prints to Log window. - report.on("rendered", function () { - Log.logText("Rendered"); - }); - - report.on("error", function (event) { - Log.log(event.detail); - - report.off("error"); - }); - - report.off("saved"); - report.on("saved", function (event) { - Log.log(event.detail); - if (event.detail.saveAs) { - Log.logText('In order to interact with the new report, create a new token and load the new report'); - } - }); -} - -function _Embed_BasicEmbed_Mobile() { - // Read embed application token from textbox - var txtAccessToken = $('#txtAccessToken').val(); - - // Read embed URL from textbox - var txtEmbedUrl = $('#txtReportEmbed').val(); - - // Read report Id from textbox - var txtEmbedReportId = $('#txtEmbedReportId').val(); - - // Read embed type from radio - var tokenType = $('input:radio[name=tokenType]:checked').val(); - - // Get models. models contains enums that can be used. - var models = window['powerbi-client'].models; - - // We give All permissions to demonstrate switching between View and Edit mode and saving report. - var permissions = models.Permissions.All; - - // Embed configuration used to describe the what and how to embed. - // This object is used when calling powerbi.embed. - // This also includes settings and options such as filters. - // You can find more information at https://github.com/Microsoft/PowerBI-JavaScript/wiki/Embed-Configuration-Details. - var config = { - type: 'report', - tokenType: tokenType == '0' ? models.TokenType.Aad : models.TokenType.Embed, - accessToken: txtAccessToken, - embedUrl: txtEmbedUrl, - id: txtEmbedReportId, - permissions: permissions, - pageName: "ReportSectioneb8c865100f8508cc533", - settings: { - panes: { - filters: { - visible: false - } - }, - layoutType: models.LayoutType.MobilePortrait - } - }; - - // Get a reference to the embedded report HTML element - var embedContainer = $('#embedContainer')[0]; - - // Embed the report and display it within the div container. - var report = powerbi.embed(embedContainer, config); - - // Report.off removes a given event handler if it exists. - report.off("loaded"); - - // Report.on will add an event handler which prints to Log window. - report.on("loaded", function () { - Log.logText("Loaded"); - }); - - // Report.off removes a given event handler if it exists. - report.off("rendered"); - - // Report.on will add an event handler which prints to Log window. - report.on("rendered", function () { - Log.logText("Rendered"); - }); - - report.on("error", function (event) { - Log.log(event.detail); - - report.off("error"); - }); - - report.off("saved"); - report.on("saved", function (event) { - Log.log(event.detail); - if (event.detail.saveAs) { - Log.logText('In order to interact with the new report, create a new token and load the new report'); - } - }); -} - -// ---- Paginated Embed Code ---------------------------------------------------- -function _Embed_PaginatedReportBasicEmbed() { - // Read embed application token from textbox - var txtAccessToken = $('#txtAccessToken').val(); - - // Read embed URL from textbox - var txtEmbedUrl = $('#txtReportEmbed').val(); - - // Read paginated report Id from textbox - var txtEmbedReportId = $('#txtEmbedReportId').val(); - - // Read embed type from radio - var tokenType = $('input:radio[name=tokenType]:checked').val(); - - // Get models. models contains enums that can be used. - var models = window['powerbi-client'].models; - - // Se view permissions. - var permissions = models.Permissions.View; - - // Embed configuration used to describe the what and how to embed. - // This object is used when calling powerbi.embed. - // This also includes settings and options such as filters. - // You can find more information at https://github.com/Microsoft/PowerBI-JavaScript/wiki/Embed-Configuration-Details. - var config = { - type: 'report', - tokenType: tokenType == '0' ? models.TokenType.Aad : models.TokenType.Embed, - accessToken: txtAccessToken, - embedUrl: txtEmbedUrl, - id: txtEmbedReportId, - permissions: permissions, - }; - - // Get a reference to the paginated embedded report HTML element - var paginatedReportContainer = $('#paginatedReportContainer')[0]; - - // Embed the paginated report and display it within the div container. - var report = powerbi.embed(paginatedReportContainer, config); - - Log.logText("Loading Paginated Report."); -} - -function _Embed_VisualEmbed() { - // Read embed application token from textbox - var txtAccessToken = $('#txtAccessToken').val(); - - // Read embed URL from textbox - var txtEmbedUrl = $('#txtReportEmbed').val(); - - // Read report Id from textbox - var txtReportId = $('#txtEmbedReportId').val(); - - // Read page name from textbox - var txtPageName = $('#txtPageName').val(); - - // Read visual name from textbox - var txtVisualName = $('#txtVisualName').val(); - - // Read embed type from radio - var tokenType = $('input:radio[name=tokenType]:checked').val(); - - // Get models. models contains enums that can be used. - var models = window['powerbi-client'].models; - - // Embed configuration used to describe the what and how to embed. - // This object is used when calling powerbi.embed. - // This also includes settings and options such as filters. - // You can find more information at https://github.com/Microsoft/PowerBI-JavaScript/wiki/Embed-Configuration-Details. - var config = { - type: 'visual', - tokenType: tokenType == '0' ? models.TokenType.Aad : models.TokenType.Embed, - accessToken: txtAccessToken, - embedUrl: txtEmbedUrl, - id: txtReportId, - pageName: txtPageName, - visualName: txtVisualName - }; - - // Get a reference to the embedded report HTML element - var embedContainer = $('#embedContainer')[0]; - - // Embed the report and display it within the div container. - var report = powerbi.embed(embedContainer, config); - - // Report.off removes a given event handler if it exists. - report.off("loaded"); - - // Report.on will add an event handler which prints to Log window. - report.on("loaded", function () { - Log.logText("Loaded"); - }); - - // Report.off removes a given event handler if it exists. - report.off("rendered"); - - // Report.on will add an event handler which prints to Log window. - report.on("rendered", function () { - Log.logText("Rendered"); - }); - - report.on("error", function (event) { - Log.log(event.detail); - - report.off("error"); - }); -} - -function _Embed_DashboardEmbed() { - // Read embed application token from textbox - var txtAccessToken = $('#txtAccessToken').val(); - - // Read embed URL from textbox - var txtEmbedUrl = $('#txtDashboardEmbed').val(); - - // Read dashboard Id from textbox - var txtEmbedDashboardId = $('#txtEmbedDashboardId').val(); - - // Read embed type from radio - var tokenType = $('input:radio[name=tokenType]:checked').val(); - - // Get models. models contains enums that can be used. - var models = window['powerbi-client'].models; - - // Embed configuration used to describe the what and how to embed. - // This object is used when calling powerbi.embed. - // This also includes settings and options such as filters. - // You can find more information at https://github.com/Microsoft/PowerBI-JavaScript/wiki/Embed-Configuration-Details. - var config = { - type: 'dashboard', - tokenType: tokenType == '0' ? models.TokenType.Aad : models.TokenType.Embed, - accessToken: txtAccessToken, - embedUrl: txtEmbedUrl, - id: txtEmbedDashboardId, - pageView: 'fitToWidth' - }; - - // Get a reference to the embedded dashboard HTML element - var dashboardContainer = $('#dashboardContainer')[0]; - - // Embed the dashboard and display it within the div container. - var dashboard = powerbi.embed(dashboardContainer, config); - - // Dashboard.off removes a given event handler if it exists. - dashboard.off("loaded"); - - // Dashboard.on will add an event handler which prints to Log window. - dashboard.on("loaded", function () { - Log.logText("Loaded"); - }); - - dashboard.on("error", function (event) { - Log.log(event.detail); - - dashboard.off("error"); - }); - - dashboard.off("tileClicked"); - dashboard.on("tileClicked", function (event) { - Log.log(event.detail); - }); -} - -function _Embed_DashboardEmbed_Mobile() { - // Read embed application token from textbox - var txtAccessToken = $('#txtAccessToken').val(); - - // Read embed URL from textbox - var txtEmbedUrl = $('#txtDashboardEmbed').val(); - - // Read dashboard Id from textbox - var txtEmbedDashboardId = $('#txtEmbedDashboardId').val(); - - // Read embed type from radio - var tokenType = $('input:radio[name=tokenType]:checked').val(); - - // Get models. models contains enums that can be used. - var models = window['powerbi-client'].models; - - // Embed configuration used to describe the what and how to embed. - // This object is used when calling powerbi.embed. - // This also includes settings and options such as filters. - // You can find more information at https://github.com/Microsoft/PowerBI-JavaScript/wiki/Embed-Configuration-Details. - var config = { - type: 'dashboard', - tokenType: tokenType == '0' ? models.TokenType.Aad : models.TokenType.Embed, - accessToken: txtAccessToken, - embedUrl: txtEmbedUrl, - id: txtEmbedDashboardId, - pageView: 'oneColumn' - }; - - // Get a reference to the embedded dashboard HTML element - var dashboardContainer = $('#dashboardContainer')[0]; - - // Embed the dashboard and display it within the div container. - var dashboard = powerbi.embed(dashboardContainer, config); - - // Dashboard.off removes a given event handler if it exists. - dashboard.off("loaded"); - - // Dashboard.on will add an event handler which prints to Log window. - dashboard.on("loaded", function () { - Log.logText("Loaded"); - }); - - dashboard.on("error", function (event) { - Log.log(event.detail); - - dashboard.off("error"); - }); - - dashboard.off("tileClicked"); - dashboard.on("tileClicked", function (event) { - Log.log(event.detail); - }); -} - -function _Mock_Embed_BasicEmbed(isEdit) { - // Read embed application token from textbox - var txtAccessToken = $('#txtAccessToken').val(); - - // Read embed URL from textbox - var txtEmbedUrl = $('#txtReportEmbed').val(); - - // Read report Id from textbox - var txtEmbedReportId = $('#txtEmbedReportId').val(); - - // Read embed type from radio - var tokenType = $('input:radio[name=tokenType]:checked').val(); - - // Get models. models contains enums that can be used. - var models = window['powerbi-client'].models; - var permissions = models.Permissions.All; - var viewMode = isEdit ? models.ViewMode.Edit : models.ViewMode.View; - - // Embed configuration used to describe the what and how to embed. - // This object is used when calling powerbi.embed. - // This also includes settings and options such as filters. - // You can find more information at https://github.com/Microsoft/PowerBI-JavaScript/wiki/Embed-Configuration-Details. - var config = { - type: 'report', - tokenType: tokenType == '0' ? models.TokenType.Aad : models.TokenType.Embed, - accessToken: txtAccessToken, - embedUrl: txtEmbedUrl, - id: txtEmbedReportId, - permissions: permissions, - viewMode: viewMode, - settings: { - panes: { - filters: { - visible: true - }, - pageNavigation: { - visible: true - } - }, - useCustomSaveAsDialog: true - } - }; - - // Get a reference to the embedded report HTML element - var embedContainer = $('#embedContainer')[0]; - - // Embed the report and display it within the div container. - var report = powerbi.embed(embedContainer, config); - - // Report.off removes a given event handler if it exists. - report.off("loaded"); - - // Report.on will add an event handler which prints to Log window. - report.on("loaded", function () { - Log.logText("Loaded"); - }); - - // Report.off removes a given event handler if it exists. - report.off("rendered"); - - // Report.on will add an event handler which prints to Log window. - report.on("rendered", function () { - Log.logText("Rendered"); - }); - - report.off("saveAsTriggered"); - report.on("saveAsTriggered", function () { - Log.logText("Cannot save sample report"); - }); - - report.off("error"); - report.on("error", function (event) { - Log.log(event.detail); - }); - - report.off("saved"); - report.on("saved", function (event) { - Log.log(event.detail); - if (event.detail.saveAs) { - Log.logText('In order to interact with the new report, create a new token and load the new report'); - } - }); -} - -function _Mock_Embed_BasicEmbed_EditMode() { - _Mock_Embed_BasicEmbed(true); -} - -function _Mock_Embed_BasicEmbed_ViewMode() { - _Mock_Embed_BasicEmbed(false); -} - -function _Embed_BasicEmbed_EditMode() { - // Read embed application token from textbox - var txtAccessToken = $('#txtAccessToken').val(); - - // Read embed URL from textbox - var txtEmbedUrl = $('#txtReportEmbed').val(); - - // Read report Id from textbox - var txtEmbedReportId = $('#txtEmbedReportId').val(); - - // Read embed type from radio - var tokenType = $('input:radio[name=tokenType]:checked').val(); - - // Get models. models contains enums that can be used. - var models = window['powerbi-client'].models; - - // Embed configuration used to describe the what and how to embed. - // This object is used when calling powerbi.embed. - // This also includes settings and options such as filters. - // You can find more information at https://github.com/Microsoft/PowerBI-JavaScript/wiki/Embed-Configuration-Details. - var config = { - type: 'report', - tokenType: tokenType == '0' ? models.TokenType.Aad : models.TokenType.Embed, - accessToken: txtAccessToken, - embedUrl: txtEmbedUrl, - id: txtEmbedReportId, - permissions: models.Permissions.All /*gives maximum permissions*/, - viewMode: models.ViewMode.Edit, - settings: { - panes: { - filters: { - visible: true - }, - pageNavigation: { - visible: true - } - } - } - }; - - // Get a reference to the embedded report HTML element - var embedContainer = $('#embedContainer')[0]; - - // Embed the report and display it within the div container. - var report = powerbi.embed(embedContainer, config); - - // Report.off removes a given event handler if it exists. - report.off("loaded"); - - // Report.on will add an event handler which prints to Log window. - report.on("loaded", function () { - Log.logText("Loaded"); - }); - - // Report.off removes a given event handler if it exists. - report.off("rendered"); - - // Report.on will add an event handler which prints to Log window. - report.on("rendered", function () { - Log.logText("Rendered"); - }); - - report.off("error"); - report.on("error", function (event) { - Log.log(event.detail); - }); - - report.off("saved"); - report.on("saved", function (event) { - Log.log(event.detail); - if (event.detail.saveAs) { - Log.logText('In order to interact with the new report, create a new token and load the new report'); - } - }); -} - -function _Embed_MobileEditNotSupported() { - // Edit mode is not supported on mobile. -} - -function _Embed_MobileCreateNotSupported() { - // Create mode is not supported on mobile. -} - -function _Embed_EmbedWithDefaultFilter() { - var txtAccessToken = $('#txtAccessToken').val(); - var txtEmbedUrl = $('#txtReportEmbed').val(); - var txtEmbedReportId = $('#txtEmbedReportId').val(); - - // Get models. models contains enums that can be used. - var models = window['powerbi-client'].models; - - const filter = { - $schema: "http://powerbi.com/product/schema#basic", - target: { - table: "Geo", - column: "Region" - }, - operator: "In", - values: ["West"] - }; - - var embedConfiguration = { - type: 'report', - tokenType: models.TokenType.Embed, - accessToken: txtAccessToken, - embedUrl: txtEmbedUrl, - id: txtEmbedReportId, - settings: { - panes: { - filters: { - visible: false - }, - pageNavigation: { - visible: false - } - } - }, - filters: [filter] - }; - - var embedContainer = document.getElementById('embedContainer'); - powerbi.embed(embedContainer, embedConfiguration); -} - -function _Embed_TileEmbed() { - // Read embed application token from textbox - var txtAccessToken = $('#txtAccessToken').val(); - - // Read embed URL from textbox - var txtEmbedUrl = $('#txtTileEmbed').val(); - - // Read dashboard Id from textbox - var txtEmbedDashboardId = $('#txtEmbedDashboardId').val(); - - // Read tile Id from textbox - var txtEmbedTileId = $('#txtEmbedTileId').val(); - - // Read embed type from radio - var tokenType = $('input:radio[name=tokenType]:checked').val(); - - // Get models. models contains enums that can be used. - var models = window['powerbi-client'].models; - - // Embed configuration used to describe the what and how to embed. - // This object is used when calling powerbi.embed. - // You can find more information at https://github.com/Microsoft/PowerBI-JavaScript/wiki/Embed-Configuration-Details. - var config = { - type: 'tile', - tokenType: tokenType == '0' ? models.TokenType.Aad : models.TokenType.Embed, - accessToken: txtAccessToken, - embedUrl: txtEmbedUrl, - id: txtEmbedTileId, - dashboardId: txtEmbedDashboardId - }; - - // Get a reference to the embedded tile HTML element - var tileContainer = $('#tileContainer')[0]; - - // Embed the tile and display it within the div container. - var tile = powerbi.embed(tileContainer, config); - - // Tile.off removes a given event handler if it exists. - tile.off("tileLoaded"); - - // Tile.on will add an event handler which prints to Log window. - tile.on("tileLoaded", function (event) { - Log.logText("Tile loaded event"); - }); - - // Tile.off removes a given event handler if it exists. - tile.off("tileClicked"); - - // Tile.on will add an event handler which prints to Log window. - tile.on("tileClicked", function (event) { - Log.logText("Tile clicked event"); - Log.log(event.detail); - }); -} - -function _Embed_Create() { - // Read embed application token from textbox - var txtAccessToken = $('#txtCreateAccessToken').val(); - - // Read embed URL from textbox - var txtEmbedUrl = $('#txtCreateReportEmbed').val(); - - // Read dataset Id from textbox - var txtEmbedDatasetId = $('#txtEmbedDatasetId').val(); - - // Read embed type from radio - var tokenType = $('input:radio[name=tokenType]:checked').val(); - - // Get models. models contains enums that can be used. - var models = window['powerbi-client'].models; - - // Embed create configuration used to describe the what and how to create report. - // This object is used when calling powerbi.createReport. - var embedCreateConfiguration = { - tokenType: tokenType == '0' ? models.TokenType.Aad : models.TokenType.Embed, - accessToken: txtAccessToken, - embedUrl: txtEmbedUrl, - datasetId: txtEmbedDatasetId, - }; - - // Grab the reference to the div HTML element that will host the report - var embedContainer = $('#embedContainer')[0]; - - // Create report - var report = powerbi.createReport(embedContainer, embedCreateConfiguration); - - // Report.off removes a given event handler if it exists. - report.off("loaded"); - - // Report.on will add an event handler which prints to Log window. - report.on("loaded", function () { - Log.logText("Loaded"); - }); - - // Report.off removes a given event handler if it exists. - report.off("rendered"); - - // Report.on will add an event handler which prints to Log window. - report.on("rendered", function () { - Log.logText("Rendered"); - }); - - report.off("error"); - report.on("error", function (event) { - Log.log(event.detail); - }); - - // report.off removes a given event handler if it exists. - report.off("saved"); - report.on("saved", function (event) { - Log.log(event.detail); - Log.logText('In order to interact with the new report, create a new token and load the new report'); - }); -} - -function _Mock_Embed_Create() { - // Read embed application token from textbox - var txtAccessToken = $('#txtCreateAccessToken').val(); - - // Read embed URL from textbox - var txtEmbedUrl = $('#txtCreateReportEmbed').val(); - - // Read dataset Id from textbox - var txtEmbedDatasetId = $('#txtEmbedDatasetId').val(); - - // Read embed type from radio - var tokenType = $('input:radio[name=tokenType]:checked').val(); - - // Get models. models contains enums that can be used. - var models = window['powerbi-client'].models; - - // Embed create configuration used to describe the what and how to create report. - // This object is used when calling powerbi.createReport. - var embedCreateConfiguration = { - tokenType: tokenType == '0' ? models.TokenType.Aad : models.TokenType.Embed, - accessToken: txtAccessToken, - embedUrl: txtEmbedUrl, - datasetId: txtEmbedDatasetId, - settings: { - useCustomSaveAsDialog: true - } - }; - - // Grab the reference to the div HTML element that will host the report - var embedContainer = $('#embedContainer')[0]; - - // Create report - var report = powerbi.createReport(embedContainer, embedCreateConfiguration); - - // Report.off removes a given event handler if it exists. - report.off("loaded"); - - // Report.on will add an event handler which prints to Log window. - report.on("loaded", function () { - Log.logText("Loaded"); - }); - - // Report.off removes a given event handler if it exists. - report.off("rendered"); - - // Report.on will add an event handler which prints to Log window. - report.on("rendered", function () { - Log.logText("Rendered"); - }); - - report.off("saveAsTriggered"); - report.on("saveAsTriggered", function () { - Log.logText("Cannot save sample report"); - }); - - report.off("error"); - report.on("error", function (event) { - Log.log(event.detail); - }); -} - -function _Embed_QnaEmbed() { - // Read embed application token from textbox - var txtAccessToken = $('#txtAccessToken').val(); - - // Read embed URL from textbox - var txtEmbedUrl = $('#txtQnaEmbed').val(); - - // Read dataset Id from textbox - var txtDatasetId = $('#txtDatasetId').val(); - - // Read question from textbox - var txtQuestion = $('#txtQuestion').val(); - - // Read Q&A mode - var qnaMode = $("input[name='qnaMode']:checked").val(); - - // Get models. models contains enums that can be used. - var models = window['powerbi-client'].models; - - // Embed configuration used to describe the what and how to embed. - // This object is used when calling powerbi.embed. - // You can find more information at https://github.com/Microsoft/PowerBI-JavaScript/wiki/Embed-Configuration-Details. - var config = { - type: 'qna', - tokenType: models.TokenType.Embed, - accessToken: txtAccessToken, - embedUrl: txtEmbedUrl, - datasetIds: [txtDatasetId], - viewMode: models.QnaMode[qnaMode], - question: txtQuestion - }; - - // Get a reference to the embedded Q&A HTML element - var qnaContainer = $('#qnaContainer')[0]; - - // Embed the Q&A and display it within the div container. - powerbi.embed(qnaContainer, config); -} - -function _Embed_QnaEmbed_Aad() { - // Read embed application token from textbox - var txtAccessToken = $('#txtAccessToken').val(); - - // Read embed URL from textbox - var txtEmbedUrl = $('#txtQnaEmbed').val(); - - // Read dataset Id from textbox - var txtDatasetId = $('#txtDatasetId').val(); - - // Read question from textbox - var txtQuestion = $('#txtQuestion').val(); - - // Read Q&A mode - var qnaMode = $("input[name='qnaMode']:checked").val(); - - // Get models. models contains enums that can be used. - var models = window['powerbi-client'].models; - - // Embed configuration used to describe the what and how to embed. - // This object is used when calling powerbi.embed. - // You can find more information at https://github.com/Microsoft/PowerBI-JavaScript/wiki/Embed-Configuration-Details. - var config = { - type: 'qna', - tokenType: models.TokenType.Aad, - accessToken: txtAccessToken, - embedUrl: txtEmbedUrl, - datasetIds: [txtDatasetId], - viewMode: models.QnaMode[qnaMode], - question: txtQuestion - }; - - // Get a reference to the embedded Q&A HTML element - var qnaContainer = $('#qnaContainer')[0]; - - // Embed the Q&A and display it within the div container. - powerbi.embed(qnaContainer, config); -} - -// ---- Report Operations ---------------------------------------------------- - -function _Report_GetId() { - // Get a reference to the embedded report HTML element - var embedContainer = $('#embedContainer')[0]; - - // Get a reference to the embedded report. - report = powerbi.get(embedContainer); - - // Retrieve the report id. - var reportId = report.getId(); - - Log.logText("Report id: \"" + reportId + "\""); -} - -async function _Report_UpdateSettings() { - // The new settings that you want to apply to the report. - const newSettings = { - panes: { - filters: { - visible: false - }, - pageNavigation: { - visible: true - } - } - }; - - // Get a reference to the embedded report HTML element - var embedContainer = $('#embedContainer')[0]; - - // Get a reference to the embedded report. - report = powerbi.get(embedContainer); - - // Update the settings by passing in the new settings you have configured. - try { - await report.updateSettings(newSettings); - Log.logText("Filter pane was removed."); - } - catch (error) { - Log.log(error); - } -} - -async function _Report_GetPages() { - // Get a reference to the embedded report HTML element - var embedContainer = $('#embedContainer')[0]; - - // Get a reference to the embedded report. - report = powerbi.get(embedContainer); - - // Retrieve the page collection and loop through to collect the - // page name and display name of each page and display the value. - try { - const pages = await report.getPages(); - var log = "Report pages:"; - pages.forEach(function (page) { - log += "\n" + page.name + " - " + page.displayName; - }); - Log.logText(log); - } - catch (error) { - Log.log(error); - } -} - -async function _Report_SetPage() { - // Get a reference to the embedded report HTML element - var embedContainer = $('#embedContainer')[0]; - - // Get a reference to the embedded report. - report = powerbi.get(embedContainer); - - // setPage will change the selected view to the page you indicate. - // This is the actual page name not the display name. - try { - await report.setPage("ReportSectiona271643cba2213c935be"); - Log.logText("Page was set to: ReportSectiona271643cba2213c935be"); - } - catch (errors) { - Log.log(errors); - } -} - -async function _Report_GetFilters() { - // Get a reference to the embedded report HTML element - var embedContainer = $('#embedContainer')[0]; - - // Get a reference to the embedded report. - report = powerbi.get(embedContainer); - - // Get the filters applied to the report. - try { - const filters = await report.getFilters(); - Log.log(filters); - } - catch (errors) { - Log.log(errors); - } -} - -async function _Report_SetFilters() { - // Build the filter you want to use. For more information, See Constructing - // Filters in https://github.com/Microsoft/PowerBI-JavaScript/wiki/Filters. - const filter = { - $schema: "http://powerbi.com/product/schema#basic", - target: { - table: "Geo", - column: "Region" - }, - operator: "In", - values: ["West"] - }; - - // Get a reference to the embedded report HTML element - var embedContainer = $('#embedContainer')[0]; - - // Get a reference to the embedded report. - report = powerbi.get(embedContainer); - - // Set the filter for the report. - // Pay attention that setFilters receives an array. - try { - await report.setFilters([filter]); - Log.logText("Report filter was set."); - } - catch (errors) { - Log.log(errors); - } -} - -async function _Report_RemoveFilters() { - // Get a reference to the embedded report HTML element - var embedContainer = $('#embedContainer')[0]; - - // Get a reference to the embedded report. - report = powerbi.get(embedContainer); - - // Remove the filters currently applied to the report. - try { - await report.removeFilters(); - Log.logText("Report filters were removed."); - } - catch (errors) { - Log.log(errors); - } -} - -async function _ReportVisual_Report_SetFilters() { - // Get models. models contains enums that can be used. - var models = window['powerbi-client'].models; - - // Build the filter you want to use. For more information, See Constructing - // Filters in https://github.com/Microsoft/PowerBI-JavaScript/wiki/Filters. - const filter = { - $schema: "http://powerbi.com/product/schema#basic", - target: { - table: "Date", - column: "Months" - }, - operator: "In", - values: ["Oct", "Nov", "Dec"] - }; - - // Get a reference to the embedded report HTML element - var embedContainer = $('#embedContainer')[0]; - - // Get a reference to the embedded report. - visual = powerbi.get(embedContainer); - - // Set the filter for the report. - // Pay attention that setFilters receives an array. - try { - await visual.setFilters([filter], models.FiltersLevel.Report); - Log.logText("Report filter was set."); - } - catch (errors) { - Log.log(errors); - } -} - -async function _ReportVisual_Report_GetFilters() { - // Get models. models contains enums that can be used. - var models = window['powerbi-client'].models; - - // Get a reference to the embedded report HTML element - var embedContainer = $('#embedContainer')[0]; - - // Get a reference to the embedded report. - visual = powerbi.get(embedContainer); - - // Get the filters applied to the report. - try { - const filters = await visual.getFilters(models.FiltersLevel.Report); - Log.log(filters); - } - catch (errors) { - Log.log(errors); - } -} - -async function _ReportVisual_Report_RemoveFilters() { - // Get models. models contains enums that can be used. - var models = window['powerbi-client'].models; - - // Get a reference to the embedded report HTML element - var embedContainer = $('#embedContainer')[0]; - - // Get a reference to the embedded report. - report = powerbi.get(embedContainer); - - // Remove the filters currently applied to the report. - try { - await report.removeFilters(models.FiltersLevel.Report); - Log.logText("Report filters were removed."); - } - catch (errors) { - Log.log(errors); - } -} - -async function _ReportVisual_Page_SetFilters() { - // Get models. models contains enums that can be used. - var models = window['powerbi-client'].models; - - // Build the filter you want to use. For more information, See Constructing - // Filters in https://github.com/Microsoft/PowerBI-JavaScript/wiki/Filters. - const filter = { - $schema: "http://powerbi.com/product/schema#basic", - target: { - table: "Date", - column: "Months" - }, - operator: "In", - values: ["Oct", "Nov", "Dec"] - }; - - // Get a reference to the embedded report HTML element - var embedContainer = $('#embedContainer')[0]; - - // Get a reference to the embedded report. - visual = powerbi.get(embedContainer); - - // Set the filter for the report. - // Pay attention that setFilters receives an array. - try { - await visual.setFilters([filter], models.FiltersLevel.Page); - Log.logText("Page filter was set."); - } - catch (errors) { - Log.log(errors); - } -} - -async function _ReportVisual_Page_GetFilters() { - // Get models. models contains enums that can be used. - var models = window['powerbi-client'].models; - - // Get a reference to the embedded report HTML element - var embedContainer = $('#embedContainer')[0]; - - // Get a reference to the embedded report. - visual = powerbi.get(embedContainer); - - // Get the filters applied to the report. - try { - const filters = await visual.getFilters(models.FiltersLevel.Page); - Log.log(filters); - } - catch (errors) { - Log.log(errors); - } -} - -async function _ReportVisual_Page_RemoveFilters() { - // Get models. models contains enums that can be used. - var models = window['powerbi-client'].models; - - // Get a reference to the embedded report HTML element - var embedContainer = $('#embedContainer')[0]; - - // Get a reference to the embedded report. - report = powerbi.get(embedContainer); - - // Remove the filters currently applied to the report. - try { - await report.removeFilters(models.FiltersLevel.Page); - Log.logText("Page filters were removed."); - } - catch (errors) { - Log.log(errors); - } -} - -async function _ReportVisual_Visual_SetFilters() { - // Build the filter you want to use. For more information, See Constructing - // Filters in https://github.com/Microsoft/PowerBI-JavaScript/wiki/Filters. - const filter = { - $schema: "http://powerbi.com/product/schema#basic", - target: { - table: "Date", - column: "Months" - }, - operator: "In", - values: ["Oct", "Nov", "Dec"] - }; - - // Get a reference to the embedded report HTML element - var embedContainer = $('#embedContainer')[0]; - - // Get a reference to the embedded report. - visual = powerbi.get(embedContainer); - - // Set the filter for the report. - // Pay attention that setFilters receives an array. - try { - await visual.setFilters([filter]); - Log.logText("Report filter was set."); - } - catch (errors) { - Log.log(errors); - } -} - -async function _ReportVisual_Visual_GetFilters() { - // Get a reference to the embedded report HTML element - var embedContainer = $('#embedContainer')[0]; - - // Get a reference to the embedded report. - visual = powerbi.get(embedContainer); - - // Get the filters applied to the report. - try { - const filters = await visual.getFilters(); - Log.log(filters); - } - catch (errors) { - Log.log(errors); - } -} - -async function _ReportVisual_Visual_RemoveFilters() { - // Get a reference to the embedded report HTML element - var embedContainer = $('#embedContainer')[0]; - - // Get a reference to the embedded report. - report = powerbi.get(embedContainer); - - // Remove the filters currently applied to the report. - try { - await report.removeFilters(); - Log.logText("Report filters were removed."); - } - catch (errors) { - Log.log(errors); - } -} - -async function _Report_PrintCurrentReport() { - // Get a reference to the embedded report HTML element - var embedContainer = $('#embedContainer')[0]; - - // Get a reference to the embedded report. - report = powerbi.get(embedContainer); - - // Trigger the print dialog for your browser. - try { - await report.print(); - } - catch (errors) { - Log.log(errors); - } -} - -async function _Report_Reload() { - // Get a reference to the embedded report HTML element - var embedContainer = $('#embedContainer')[0]; - - // Get a reference to the embedded report. - report = powerbi.get(embedContainer); - - // Reload the displayed report - try { - await report.reload(); - Log.logText("Reloaded"); - } - catch (errors) { - Log.log(errors); - } -} - -function _PaginatedReport_Reload() { - // Get a reference to the paginated report HTML element - var paginatedReportContainer = $('#paginatedReportContainer')[0]; - - // Get a reference to the embedded paginated report. - paginatedReport = powerbi.get(paginatedReportContainer); - - // Reload the displayed paginated report - paginatedReport.reload(); - - Log.logText("Reload Paginated Report"); -} - -async function _Report_Refresh() { - // Get a reference to the embedded report HTML element - var embedContainer = $('#embedContainer')[0]; - - // Get a reference to the embedded report. - report = powerbi.get(embedContainer); - - // Refresh the displayed report - try { - await report.refresh(); - Log.logText("Refreshed"); - } - catch (errors) { - Log.log(errors); - } -} - -async function _Report_ApplyCustomLayout() { - // Get a reference to the embedded report HTML element - var embedContainer = $('#embedContainer')[0]; - - // Get models. models contains enums that can be used. - var models = window['powerbi-client'].models; - - // Define default visual layout: visible in 400x300. - let defaultLayout = { - width: 400, - height: 250, - displayState: { - mode: models.VisualContainerDisplayMode.Hidden - } - }; - - // Define page size as custom size: 1000x580. - let pageSize = { - type: models.PageSizeType.Custom, - width: 1000, - height: 580 - }; - - // Page layout: two visible visuals in fixed position. - let pageLayout = { - defaultLayout: defaultLayout, - visualsLayout: { - "VisualContainer1": { - x: 70, - y: 100, - displayState: { - mode: models.VisualContainerDisplayMode.Visible - } - }, - "VisualContainer3": { - x: 540, - y: 100, - displayState: { - mode: models.VisualContainerDisplayMode.Visible - } - } - } - }; - - let settings = { - layoutType: models.LayoutType.Custom, - customLayout: { - pageSize: pageSize, - displayOption: models.DisplayOption.FitToPage, - pagesLayout: { - "ReportSection600dd9293d71ade01765": pageLayout - } - }, - panes: { - filters: { - visible: false - }, - pageNavigation: { - visible: false - } - } - } - - // Get a reference to the embedded report. - report = powerbi.get(embedContainer); - - // Update the settings by passing in the new settings you have configured. - try { - await report.updateSettings(settings); - Log.logText("Custom layout applied, to remove custom layout, reload the report using 'Reload' API."); - } - catch (error) { - Log.log(error); - } -} - -async function _Report_HideAllVisualHeaders() { - - // New settings to hide all the visual headers in the report - const newSettings = { - visualSettings: { - visualHeaders: [ - { - settings: { - visible: false - } - // No selector - Hide visual header for all the visuals in the report - } - ] - } - }; - - // Get a reference to the embedded report HTML element - var embedContainer = $('#embedContainer')[0]; - - // Get a reference to the embedded report. - report = powerbi.get(embedContainer); - - // Update the settings by passing in the new settings you have configured. - try { - await report.updateSettings(newSettings); - Log.logText("Visual header was successfully hidden for all the visuals in the report."); - } - catch (error) { - Log.log(error); - } -} - -async function _Report_ShowAllVisualHeaders() { - // New settings to show all the visual headers in the report - const newSettings = { - visualSettings: { - visualHeaders: [ - { - settings: { - visible: true - } - // No selector - Show visual header for all the visuals in the report - } - ] - } - }; - - // Get a reference to the embedded report HTML element - var embedContainer = $('#embedContainer')[0]; - - // Get a reference to the embedded report. - report = powerbi.get(embedContainer); - - // Update the settings by passing in the new settings you have configured. - try { - await report.updateSettings(newSettings); - Log.logText("Visual header was successfully shown for all the visuals in the report."); - } - catch (error) { - Log.log(error); - } -} - -async function _Report_HideSingleVisualHeader() { - - // Define settings to hide the header of a single visual - var newSettings = { - visualSettings: { - visualHeaders: [ - { - settings: { - visible: true - } - // No selector - Show visual header for all the visuals in the report - }, - { - settings: { - visible: false - }, - selector: { - $schema: "http://powerbi.com/product/schema#visualSelector", - visualName: "VisualContainer4" - // The visual name can be retrieved using getVisuals() - // Hide visual header for a single visual only - } - } - ] - } - }; - - // Get a reference to the embedded report HTML element - var embedContainer = $('#embedContainer')[0]; - - // Get a reference to the embedded report. - report = powerbi.get(embedContainer); - - // Update the settings by passing in the new settings you have configured. - try { - await report.updateSettings(newSettings); - Log.logText("Visual header was successfully hidden for 'Category Breakdown' visual."); - } - catch (error) { - Log.log(error); - } -} - -function _Report_FullScreen() { - // Get a reference to the embedded report HTML element - var embedContainer = $('#embedContainer')[0]; - - // Get a reference to the embedded report. - report = powerbi.get(embedContainer); - - // Displays the report in full screen mode. - report.fullscreen(); -} - -function _Report_ExitFullScreen() { - // Get a reference to the embedded report HTML element - var embedContainer = $('#embedContainer')[0]; - - // Get a reference to the embedded report. - report = powerbi.get(embedContainer); - - // Exits full screen mode. - report.exitFullscreen(); -} - -// ---- PaginatedReport Operations ---------------------------------------------------- - -function _PaginatedReport_GetId() { - // Get a reference to the embedded report HTML element - var paginatedReportContainer = $('#paginatedReportContainer')[0]; - - // Get a reference to the embedded report. - paginatedReport = powerbi.get(paginatedReportContainer); - - // Retrieve the report id. - var reportId = paginatedReport.getId(); - - Log.logText(reportId); -} - -function _PaginatedReport_FullScreen() { - // Get a reference to the paginated embedded report HTML element - var paginatedReportContainer = $('#paginatedReportContainer')[0]; - - // Get a reference to the paginated embedded report. - paginatedReport = powerbi.get(paginatedReportContainer); - - // Displays the paginated report in full screen mode. - paginatedReport.fullscreen(); -} - -function _PaginatedReport_ExitFullScreen() { - // Get a reference to the paginated embedded report HTML element - var paginatedReportContainer = $('#paginatedReportContainer')[0]; - - // Get a reference to the paginated embedded report. - paginatedReport = powerbi.get(paginatedReportContainer); - - // Exits full screen mode. - paginatedReport.exitFullscreen(); -} - -function _Report_switchModeEdit() { - // Get a reference to the embedded report HTML element - var embedContainer = $('#embedContainer')[0]; - - // Get a reference to the embedded report. - report = powerbi.get(embedContainer); - - // Switch to edit mode. - report.switchMode("edit"); -} - -function _Report_switchModeView() { - // Get a reference to the embedded report HTML element - var embedContainer = $('#embedContainer')[0]; - - // Get a reference to the embedded report. - report = powerbi.get(embedContainer); - - // Switch to view mode. - report.switchMode("view"); -} - -function _Report_save() { - // Get a reference to the embedded report HTML element - var embedContainer = $('#embedContainer')[0]; - - // Get a reference to the embedded report. - report = powerbi.get(embedContainer); - - // Save report - report.save(); -} - -function _Mock_Report_save() { - Log.logText('Cannot save sample report'); -} - -function _Report_saveAs() { - // Get a reference to the embedded report HTML element - var embedContainer = $('#embedContainer')[0]; - - // Get a reference to the embedded report. - report = powerbi.get(embedContainer); - - var saveAsParameters = { - name: "newReport" - }; - - // SaveAs report - report.saveAs(saveAsParameters); -} - -async function _Report_Extensions_OptionsMenu() { - const base64Icon = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAIAAAACACAYAAADDPmHLAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEwAACxMBAJqcGAAAAu9JREFUeJzt3U9OE2Ech/FnSiKsXbh340pg5Qk8gofAY3gGtBqWXsKNIR5BF0ZkQ9h6A2pC62LAEP5ITdv3R+f7fJJ3QUh4ZzpPmaaZmReGZxf4ABwDE2C24Jhc/K33wE7D/dB/2gIOgCmLH/S7xhQYA5uN9klz2gK+sLoDf30cXsypB+KAdgf/coyb7Jnutctq/+3/63Sw3WD/VmpUvQFL8BroCubtgL2CeXXNMe3f/ZfjqMH+rVTFO2fZJsCjwrnX+sPgEAKYFc+/1q/hED4DaAEGEM4AwhlAOAMIZwDhDCCcAYQzgHAGEM4AwhlAOAMIZwDhDCCcAYQzgHAGEM4AwhlAOAMIZwDhDCCcAYQzgHAGEM4AwhlAOAMIZwDhDCCcAYQzgHAGEM4AwhlAOAMIZwDhDCDcbQEs+3n7qx7Vqvf/vjH3egctnrfvqB13rnfQ+nn7jtrxd72DDXpj4BVK8RR4DHzq6M/5X1nzZ97qv82A3Q3gDfCidltUoAOmHf0nxGfFG6MaPztqn7evWpOO/lygUH4TGM4AwhlAOAMIZwDhDCCcAYQzgHAGEM4AwhlAOAMIZwDhDCCcAYQbAb+rN0JlJiPgtHorVOZkRH+NuDIddvS3C33Dy8LTTLm4LPwX8AQvDU/zDvh4+cMm/amg+pYlR5vxmVuuBN+iv0XMm0OHO86Bfa4c/NvO+9vAHvCS/h6yG3eSaq1MgBP6//AHwPervxzCB79Z8fxr/Rr6TWA4AwhnAOEMIJwBhDOAcAYQzgDCGUA4AwhnAOEMIJwBhDOAcAYQzgDCGUA4AwhnAOEMIJwBhDOAcAYQzgDCGUA4AwhnAOEMIJwBhDOAcAYQzgDCGUA4AwhnAOEMIJwBhDOAcAYQbggBVK53MCmceymGEMBp4dwnhXMvxRACqFzvwLUWHoAdah5wfQ48b7B/msOY9gHsN9kzzaX1ege3Pm9ftVqsd3Djeft6eLbpl0M5As5Y/KCfAT+AtwzwnP8HNwiKJyPkCoYAAAAASUVORK5CYII="; - - // The new settings that you want to apply to the report. - const newSettings = { - extensions: [ - { - command: { - name: "extension command", - title: "Extend commands", - icon: base64Icon, - extend: { - // Define visualOptionsMenu to extend options menu - visualOptionsMenu: { - // Define title to override default title. - // You can override default icon as well. - title: "Extend options menu", - } - } - } - } - ] - }; - - // Get a reference to the embedded report HTML element - var embedContainer = $('#embedContainer')[0]; - - // Get a reference to the embedded report. - report = powerbi.get(embedContainer); - - // Update the settings by passing in the new settings you have configured. - try { - await report.updateSettings(newSettings); - } - catch (error) { - Log.log(error); - } - - // Report.on will add an event handler to commandTriggered event which prints to console window. - report.on("commandTriggered", function (event) { - Log.logText("Event - commandTriggered:"); - var commandDetails = event.detail; - Log.log(commandDetails); - }); - - // Select Run and open options menu to see new added items. - // Click on menu items added and you should see an entry in the Log window. - - Log.logText("Open visual options menu by clicking the three dots icon and click on added items to see events in Log window."); -} - -async function _Report_Extensions_ContextMenu() { - // The new settings that you want to apply to the report. - const newSettings = { - extensions: [ - { - command: { - name: "extension command", - title: "Extend command", - extend: { - // Define visualContextMenu to extend context menu. - visualContextMenu: { - // Define title to override default title. - //You can override default icon as well. - title: "Extend context menu", - } - } - } - } - ] - }; - - // Get a reference to the embedded report HTML element - var embedContainer = $('#embedContainer')[0]; - - // Get a reference to the embedded report. - report = powerbi.get(embedContainer); - - // Update the settings by passing in the new settings you have configured. - try { - await report.updateSettings(newSettings); - } - catch (error) { - Log.log(error); - } - - // Report.on will add an event handler to commandTriggered event which prints to console window. - report.on("commandTriggered", function (event) { - Log.logText("Event - commandTriggered:"); - var commandDetails = event.detail; - Log.log(commandDetails); - }); - - // Select Run and context menu (i.e. by right click on data points) to see new added items. - // Click on menu items added and you should see an entry in the Log window. - - Log.logText("Open visual context menu by right click on data points and click on added items to see events in Log window."); -} - -async function _Visual_Operations_SortVisualBy() { - // Get models. models contains enums that can be used. - var models = window['powerbi-client'].models; - - // Build the sort request. - // For more information, See https://github.com/Microsoft/PowerBI-JavaScript/wiki/Sort-Visual-By - const sortByRequest = { - orderBy: { - table: "SalesFact", - measure: "Total Category Volume" - }, - direction: models.SortDirection.Descending - }; - - // Get a reference to the embedded report HTML element - var embedContainer = $('#embedContainer')[0]; - - // Get a reference to the embedded report. - report = powerbi.get(embedContainer); - - // Retrieve the page collection and get the visuals for the first page. - try { - const pages = await report.getPages(); - - // Retrieve active page. - var activePage = pages.filter(function (page) { - return page.isActive - })[0]; - - const visuals = await activePage.getVisuals(); - - // Retrieve the target visual. - var visual = visuals.filter(function (visual) { - return visual.name === "VisualContainer6"; - })[0]; - - // Sort the visual's data by direction and data field. - await visual.sortBy(sortByRequest); - Log.logText("\"Total Category Volume Over Time by Region\" visual was sorted according to the request.") - } - catch (errors) { - Log.log(errors); - } -} - -// ---- Page Operations ---------------------------------------------------- - -async function _Page_SetActive() { - // Get a reference to the embedded report HTML element - var embedContainer = $('#embedContainer')[0]; - - // Get a reference to the embedded report. - report = powerbi.get(embedContainer); - - // Retrieve active page. - try { - const pages = await report.getPages(); - await pages[3].setActive(); - Log.logText("Active page was set to: \"" + pages[3].displayName + "\""); - } - catch (errors) { - Log.log(errors); - } -} - -async function _Page_GetFilters() { - // Get a reference to the embedded report HTML element - var embedContainer = $('#embedContainer')[0]; - - // Get a reference to the embedded report. - report = powerbi.get(embedContainer); - - // Retrieve the page collection and get the filters for the first page. - try { - const pages = await report.getPages(); - // Retrieve active page. - var activePage = pages.filter(function (page) { - return page.isActive - })[0]; - - const filters = await activePage.getFilters(); - Log.log(filters); - } - catch (errors) { - Log.log(errors); - } -} - -async function _Page_GetVisuals() { - // Get a reference to the embedded report HTML element - var embedContainer = $('#embedContainer')[0]; - - // Get a reference to the embedded report. - report = powerbi.get(embedContainer); - - // Retrieve the page collection and get the visuals for the first page. - try { - const pages = await report.getPages(); - // Retrieve active page. - var activePage = pages.filter(function (page) { - return page.isActive - })[0]; - - const visuals = await activePage.getVisuals(); - Log.log( - visuals.map(function (visual) { - return { - name: visual.name, - type: visual.type, - title: visual.title, - layout: visual.layout - }; - })); - } - catch (errors) { - Log.log(errors); - } -} - -async function _Page_SetFilters() { - // Get a reference to the embedded report HTML element - var embedContainer = $('#embedContainer')[0]; - - // Get a reference to the embedded report. - report = powerbi.get(embedContainer); - - // Build the filter you want to use. For more information, see Constructing - // Filters in https://github.com/Microsoft/PowerBI-JavaScript/wiki/Filters. - const filter = { - $schema: "http://powerbi.com/product/schema#basic", - target: { - table: "Geo", - column: "Region" - }, - operator: "In", - values: ["West"] - }; - - // Retrieve the page collection and then set the filters for the first page. - // Pay attention that setFilters receives an array. - try { - const pages = await report.getPages(); - // Retrieve active page. - var activePage = pages.filter(function (page) { - return page.isActive - })[0]; - - await activePage.setFilters([filter]); - Log.logText("Page filter was set."); - - } - catch (errors) { - Log.log(errors); - } -} - -async function _Page_RemoveFilters() { - // Get a reference to the embedded report HTML element - var embedContainer = $('#embedContainer')[0]; - - // Get a reference to the embedded report. - report = powerbi.get(embedContainer); - - // Retrieve the page collection and remove the filters for the first page. - try { - const pages = await report.getPages(); - // Retrieve active page. - var activePage = pages.filter(function (page) { - return page.isActive - })[0]; - - await activePage.removeFilters(); - Log.logText("Page filters were removed."); - } - catch (errors) { - Log.log(errors); - } -} - -async function _Page_HasLayout() { - // Get models. models contains enums that can be used. - var models = window['powerbi-client'].models; - - // Get a reference to the embedded report HTML element - var embedContainer = $('#embedContainer')[0]; - - // Get a reference to the embedded report. - report = powerbi.get(embedContainer); - - // Retrieve the page collection and check if the first page has a MobilePortrait layout. - try { - const pages = await report.getPages(); - const hasLayout = await pages[0].hasLayout(models.LayoutType.MobilePortrait); - - var hasLayoutText = hasLayout ? "has" : "doesn't have"; - Log.logText("Page \"" + pages[0].name + "\" " + hasLayoutText + " mobile portrait layout."); - } - catch (errors) { - Log.log(errors); - } -} - -// ---- Event Listener ---------------------------------------------------- - -function _Events_PageChanged() { - // Get a reference to the embedded report HTML element - var embedContainer = $('#embedContainer')[0]; - - // Get a reference to the embedded report. - report = powerbi.get(embedContainer); - - // Report.off removes a given event listener if it exists. - report.off("pageChanged"); - - // Report.on will add an event listener. - report.on("pageChanged", function (event) { - Log.logText("Event - pageChanged:"); - var page = event.detail.newPage; - Log.logText("Page changed to \"" + page.name + "\" - \"" + page.displayName + "\""); - }); - - // Select Run and change to a different page. - // You should see an entry in the Log window. - - Log.logText("Select different page to see events in Log window."); -} - -function _Events_DataSelected() { - // Get a reference to the embedded report HTML element - var embedContainer = $('#embedContainer')[0]; - - // Get a reference to the embedded report. - report = powerbi.get(embedContainer); - - // Report.off removes a given event listener if it exists. - report.off("dataSelected"); - - // Report.on will add an event listener. - report.on("dataSelected", function (event) { - Log.logText("Event - dataSelected:"); - var data = event.detail; - Log.log(data); - }); - - // Select Run and select an element of a visualization. - // For example, a bar in a bar chart. You should see an entry in the Log window. - - Log.logText("Select data to see events in Log window."); -} - -function _Events_SaveAsTriggered() { - // Get a reference to the embedded report HTML element - var embedContainer = $('#embedContainer')[0]; - - // Get a reference to the embedded report. - report = powerbi.get(embedContainer); - - // Report.off removes a given event listener if it exists. - report.off("saveAsTriggered"); - - // Report.on will add an event listener. - report.on("saveAsTriggered", function (event) { - Log.log(event); - }); - - // Select Run and then select SaveAs. - // You should see an entry in the Log window. - - Log.logText("Select SaveAs to see events in Log window."); -} - -function _Events_BookmarkApplied() { - // Get a reference to the embedded report HTML element - var embedContainer = $('#embedContainer')[0]; - - // Get a reference to the embedded report. - report = powerbi.get(embedContainer); - - // Report.off removes a given event listener if it exists. - report.off("bookmarkApplied"); - - // Report.on will add an event listener. - report.on("bookmarkApplied", function (event) { - Log.logText("Event - bookmarkApplied:"); - Log.log(event.detail); - }); - - // Select Run and then go to bookmarks - // and select 'Apply Bookmark by name'. - // You should see an entry in the Log window. - Log.logText("Apply a bookmark to see events in Log window."); -} - -function _Events_ReportLoaded() { - // Get a reference to the embedded report HTML element - var embedContainer = $('#embedContainer')[0]; - - // Get a reference to the embedded report. - report = powerbi.get(embedContainer); - - // Report.off removes a given event handler if it exists. - report.off("loaded"); - - // Report.on will add an event handler which prints to Log window. - report.on("loaded", function () { - Log.logText("Loaded"); - }); - - Log.logText("Reload the report to see the loaded event."); -} - -function _Events_ReportRendered() { - // Get a reference to the embedded report HTML element - var embedContainer = $('#embedContainer')[0]; - - // Get a reference to the embedded report. - report = powerbi.get(embedContainer); - - // Report.off removes a given event handler if it exists. - report.off("rendered"); - - // Report.on will add an event handler which prints to Log window. - report.on("rendered", function () { - Log.logText("Rendered"); - }); - - Log.logText("Reload the report to see the rendered event."); -} - -function _Events_ReportSaved() { - // Get a reference to the embedded report HTML element - var embedContainer = $('#embedContainer')[0]; - - // Get a reference to the embedded report. - report = powerbi.get(embedContainer); - - // Report.off removes a given event handler if it exists. - report.off("saved"); - - // Report.on will add an event handler which prints to Log window. - report.on("saved", function (event) { - Log.log(event.detail); - if (event.detail.saveAs) { - Log.logText('In order to interact with the new report, create a new token and load the new report'); - } - }); - - Log.logText("Save/SaveAs the report to see the saved event."); -} - -function _Events_TileLoaded() { - // Get a reference to the embedded tile HTML element - var tileContainer = $('#tileContainer')[0]; - - // Get a reference to the embedded tile. - var tile = powerbi.get(tileContainer); - - // Tile.off removes a given event handler if it exists. - tile.off("tileLoaded"); - - // Tile.on will add an event handler which prints to Log window. - tile.on("tileLoaded", function (event) { - Log.logText("Tile loaded event"); - }); -} - -function _Events_TileClicked() { - // Get a reference to the embedded tile HTML element - var tileContainer = $('#tileContainer')[0]; - - // Get a reference to the embedded tile. - var tile = powerbi.get(tileContainer); - - // Tile.off removes a given event handler if it exists. - tile.off("tileClicked"); - - // Tile.on will add an event handler which prints to Log window. - tile.on("tileClicked", function (event) { - Log.logText("Tile clicked event"); - Log.log(event.detail); - }); - - Log.logText("Click on the tile to see the tile clicked event."); -} - -function _Events_ButtonClicked() { - // Get a reference to the embedded report HTML element - var embedContainer = $('#embedContainer')[0]; - - // Get a reference to the embedded report. - report = powerbi.get(embedContainer); - - // Report.off removes a given event listener if it exists. - report.off("buttonClicked"); - - // Report.on will add an event listener. - report.on("buttonClicked", function (event) { - Log.logText("Event - buttonClicked:"); - var data = event.detail; - Log.log(data); - }); - - // Select Run and click on a button in the report - // For example, a Qna button. You should see an entry in the Log window. - Log.logText("Click button to see event in Log window."); -} - -// ---- Dashboard Operations ---------------------------------------------------- - -function _Dashboard_GetId() { - // Get a reference to the embedded dashboard HTML element - var dashboardContainer = $('#dashboardContainer')[0]; - - // Get a reference to the embedded dashboard. - dashboard = powerbi.get(dashboardContainer); - - // Retrieve the dashboard id. - var dashboardId = dashboard.getId(); - - Log.logText("Dashboard id: \"" + dashboardId + "\""); -} - -function _Dashboard_FullScreen() { - // Get a reference to the embedded dashboard HTML element - var dashboardContainer = $('#dashboardContainer')[0]; - - // Get a reference to the embedded dashboard. - dashboard = powerbi.get(dashboardContainer); - - // Displays the dashboard in full screen mode. - dashboard.fullscreen(); -} - -function _Dashboard_ExitFullScreen() { - // Get a reference to the embedded dashboard HTML element - var dashboardContainer = $('#dashboardContainer')[0]; - - // Get a reference to the embedded dashboard. - dashboard = powerbi.get(dashboardContainer); - - // Exits full screen mode. - dashboard.exitFullscreen(); -} - -// ---- Dashboard Events Listener ---------------------------------------------------- - -function _DashboardEvents_TileClicked() { - // Get a reference to the embedded dashboard HTML element - var dashboardContainer = $('#dashboardContainer')[0]; - - // Get a reference to the embedded dashboard. - dashboard = powerbi.get(dashboardContainer); - - // dashboard.off removes a given event listener if it exists. - dashboard.off("tileClicked"); - - // dashboard.on will add an event listener. - dashboard.on("tileClicked", function (event) { - Log.log(event.detail); - }); -} - -// ---- Qna Events Listener ---------------------------------------------------- - -async function _Qna_SetQuestion() { - // Get a reference to the embedded Q&A HTML element - var qnaContainer = $('#qnaContainer')[0]; - - // Get a reference to the embedded Q&A. - qna = powerbi.get(qnaContainer); - - try { - const result = await qna.setQuestion("2014 total units YTD by manufacturer, region as treemap chart"); - Log.log(result); - } - catch (errors) { - Log.log(errors); - } -} - -function _Qna_QuestionChanged() { - // Get a reference to the embedded Q&A HTML element - var qnaContainer = $('#qnaContainer')[0]; - - // Get a reference to the embedded Q&A. - qna = powerbi.get(qnaContainer); - - // qna.off removes a given event listener if it exists. - qna.off("visualRendered"); - - // qna.on will add an event listener. - qna.on("visualRendered", function (event) { - Log.log(event.detail); - }); - - Log.logText("Change the question to see events in Log window."); -} - -// ---- Visual Events Listener ---------------------------------------------------- - -function _Visual_DataSelected() { - // Get a reference to the embedded visual HTML element - var visualContainer = $('#embedContainer')[0]; - - // Get a reference to the embedded visual. - visual = powerbi.get(visualContainer); - - // Visual.off removes a given event listener if it exists. - visual.off("dataSelected"); - - // Visual.on will add an event listener. - visual.on("dataSelected", function (event) { - var data = event.detail; - Log.log(data); - }); - - // Select Run and select an element of a visualization. - // For example, a bar in a bar chart. You should see an entry in the Log window. - - Log.logText("Select data to see events in Log window."); -} - -// ---- Bookmarks Operations ---------------------------------------------------- -async function _Bookmarks_Enable() { - // The new settings that you want to apply to the report. - const newSettings = { - panes: { - bookmarks: { - visible: true - } - } - }; - - // Get a reference to the embedded report HTML element - var embedContainer = $('#embedContainer')[0]; - - // Get a reference to the embedded report. - report = powerbi.get(embedContainer); - - // Update the settings by passing in the new settings you have configured. - try { - await report.updateSettings(newSettings); - } - catch (error) { - Log.log(error); - } -} - -async function _Bookmarks_Disable() { - // The new settings that you want to apply to the report. - const newSettings = { - panes: { - bookmarks: { - visible: false - } - } - }; - - // Get a reference to the embedded report HTML element - var embedContainer = $('#embedContainer')[0]; - - // Get a reference to the embedded report. - report = powerbi.get(embedContainer); - - // Update the settings by passing in the new settings you have configured. - try { - await report.updateSettings(newSettings); - } - catch (error) { - Log.log(error); - } -} - -async function _Bookmarks_Get() { - // Get a reference to the embedded report HTML element - var embedContainer = $('#embedContainer')[0]; - - // Get a reference to the embedded report. - report = powerbi.get(embedContainer); - - // Retrieve the bookmark collection and loop through to print the - // bookmarks' name and display name. - try { - const bookmarks = await report.bookmarksManager.getBookmarks(); - bookmarks.forEach(function (bookmark) { - var log = bookmark.name + " - " + bookmark.displayName; - Log.logText(log); - }); - } - catch (error) { - Log.log(error); - } -} - -async function _Bookmarks_Apply() { - // Get a reference to the embedded report HTML element - var embedContainer = $('#embedContainer')[0]; - - // Get a reference to the embedded report. - report = powerbi.get(embedContainer); - - // bookmarksManager.apply will apply the bookmark with the - // given name on the report. - // This is the actual bookmark name not the display name. - try { - await report.bookmarksManager.apply("Bookmarkaf5fe203dc1e280a4822"); - Log.logText("Bookmark \"Q4 2014\" applied."); - } - catch (errors) { - Log.log(errors); - } -} - -async function _Bookmarks_Capture() { - // Get a reference to the embedded report HTML element - var embedContainer = $('#embedContainer')[0]; - - // Get a reference to the embedded report. - report = powerbi.get(embedContainer); - - // Capture the current bookmark and prints the bookmark's - // state string to Log window. - try { - const capturedBookmark = await report.bookmarksManager.capture(); - var log = "Captured bookmark state: " + capturedBookmark.state; - Log.logText(log); - } - catch (error) { - Log.log(error); - } -} - -async function _Bookmarks_ApplyState() { - // Get a reference to the embedded report HTML element - var embedContainer = $('#embedContainer')[0]; - - // Get a reference to the embedded report. - report = powerbi.get(embedContainer); - - // bookmarksManager.applyState will apply the bookmark which - // represented by the given state string. - try { - await report.bookmarksManager.applyState("H4sIAAAAAAAAA+1d62/bOBL/VwIfDvmSXQyfEvvp2qa9La7Z7iW9HIpDP/AxcrRrS4Yspw2K/u9HSbbrxJal+J3USRBEMjUcDofD3zyofOu4eDjo6bvfdR87Lzqv0vSvvs7+OiGkc9ZJ7t8MlNbaEMuIoxGllFMS+VbpII/TZNh58a2T66yL+XU8HOleQdHf/F8HeEggcIZKwQyRwoEQnc/fzzr4ddBLM108fZXrHAsKt5gN/bXvlfwKnri2eXyLV2jz6u4lDtIsH19LAOcUVcwFRDsEEkjhn4niXu7JFOTM3Zuvg8xz8W0ymLflh75Vfjcorl/7jrtpFlvdmz5aPHk9YYSedd5mab+kMZaS8y3fJHmc3/mL84Lz75/POv+9wQzLZq/TxMUVw98678rfBRs4HFaCKpv0Rv0HnxRXV+kos3iJ0Y+LssPvXl5/ZOkAs7LTT6gzf8/3eq17o1LOnuj72DPvx1GwX9z2DSkQ/r5o+fm7/1UJfaa7Vmw8GOpCTs46N+mX1xn6Fq7zgpRdDatZKieied58ozUmbp1h+dG4kc0fjuwKu31M8gWDO3vAFNkGV4uEfZEm+U0LhugOxRQPr3XyMhs67NXowW1pD/yiyHWcjOdXRCQALYghKL0iEGeZKu4P46Tbw8qClPag/OtjNRajh7G9utH+wpsd86fXpoLY96JbVCIMGBNADRBpCSLCWgSp1NxbPIYBD3jIIMRgPYJhGEobSaCWc0IF1Ua7RoI5fs1N+nWemoCA+G9NRejXuCICDFmLvQBQCEIjFxolDA3ACb06e1QoFkZgNIAXoSUMmFmLPW8wmHCRlx+nEoQRwjYrTC17VitqGHcuJBqscIrz5snVpfF6Ncpzv0zmp5c5wyURwmgBjBmtgK9JUkZGBwJsgDSQzijCrF2D5Nlksy+e6aeuaH0TO4dJp1pClHk5MAcSqQ4DqwSDerO8q/3zQ0nuPUZ5ZbL6A53Fw4kBm1z9K078YoKzmYZrbbCXoyTxUj6Zbm+XcfemJLxgkyXFDnuv0UGySSs2twQE5liZ26IOYUeCGUZeuludWHRzXFygHo4ybMvGle7h8K2eZ+RjmuveyX+S2K+/eUZKiLRsJdveaOgnEV0lldc3Ossfrug0c5i9uiuXzXmcTXCyX3RvdjCkYtkutylGUCRWWxOC9bYROZAVd5WmnkJghHoYEXCp0ITInW426Sv1RKmjjCERBJwJnHeINN+/ndyKn/FgUTf7G2SrzkZrG7P1pf33ag2cXHi/GPMTD1oy3K+xWcTRySWhF6uYHqOzgzA3NWJutjshCwWTEeEOVUiMsVywNdEYRetBMTM2pAyFx2MhROs5BA6874uBDiVYiiIAuYZDoELBheSRjDRHMNa7VM2Iu5aaA6o1eHdAIkAowyCiwerUru97gGT/1vKIKo+o8lmiyhaM/Bb7Oczszd17vMXePD/Tz+c/mrBx7RWvCtyOleiRMzxeslMynXsjnDab4aS8efLjRvHxmP/FMUhoqRzPThqLg4Q/p2ac67tteV5VZsLz9udMmHusaBVAenbSnKyzZzi0yaL53Oj9PcAybP9Y5uj5Haqf9SQd0me3to/wYFYa/x75zQyPAjnipc3hpZ7fCY8g6bFIAkISomUoEIAhaENlc2x89fSe0pQLIFZZKqWTwMMWIZ3lIbFIGxABUwGC4iEn1pF1SDaNwCkeKAdaoUXtQPBxgnLlCBy3Aoo8AUehADToQOJaBKVENJ4mOi/gACjTMlyLIPPKYbmIDAFDVUFa0UaCtXE4RgUGTAMBisY4Io2w9fi1XY1LO0AbzwLadx68Wp2nvsctw9p4rqgn1/lo2ArQnl6gi0f9003B2tlR1zDVVNfzYw5mtqR2EzCcnYAZFFkv/9bRxnYQdjonc8P/x1QyQJvDjeedmmDjppD0HDvbDznWq8a7vu4uwvGNW3J/1MvjS/+MztyCXIaxQWikJAGzTFlumMajIagzBO/TL0crcFBWgBytwAasAHdFtZrWwsMVh9y6SDXjqWEvtqUO/iDW6WPWLUXexaSaKq9Gg4r/GIc/LMv9vzYWAXuZlInTduk8urE82dQ1WKaqzjfK4z6eFqXYv4D8BchHgBflz+njMnxsn5wTMs95uQLH6Xid6wXTPsy9V3g+Lu7HckNZTUp+aSXu0YQI/MLIR+qpyBdc/aooGxOrvIullE5fYf4FMTmdmJr6+gfysP5h/YDn+F7VbeRoRDiw4scGRmhlw/rtenchx4knf1JoKnqXuC7suIah2kfRSe24qumg3llkwmnLnHKa01DoJYWyP9feTRrNCtvl3k1a4KmfENH+5udnz5D26cOnB5nAA6gBPcgCoXEd0yGVB7UT/WBW9NOqoHrp76SmbDC3xmaOqS2bhlPP6y0mMfpN55G4cw/MXnh8Vh0NnUGaOz3mV5MA2tZe/Xuazw9kZxt4VVM2hT3XhWCbHYRk1OvVz85m690W8bZK+nIjOjPNYO2Vi9nbe6s7WIq1dsrJ364G2uKCaE0rLl5mcX7T966jnTXim9XhaQHpTPXmdH1dWd/avbnVC5Kg22ej7N1bpdK/+TAobG/qrRw7hBnds14tjQS2AJGD+DbNP2rTw307tnWWtNiWFmbqPfR9hGvS3l59LtEHEcoYQqzz/rQAIsAJWY+hj270HhNhRzf6cDPET9+RDnkUSB4CJ1oHoYaiQqEgsXoeoiYa3Sbqe+6fcOmXmbDvAl9/iZ1a1S4dHf1N1/8+T1etKvS9X3786cOnk9c3Ouk2+2xwvn2PrQWL27di/8R0TomwWzyyVzT5eG/2kPI4T8qxfHalpWsVsm/r7VM77n+1N2msc4xrg2bnGevkRie48g85SCskDRhHamUIDPEgst6P2tyeXO67YXRVBjwIlaFUO+4E0wY4Z7Ak/fWzu4kHkG39uaInzQWEOy1CeLYFhIpFBGkoDePGUUIoZc3nP3bruEMEDFQUKAJcaYWasGOi/mn479vcvxsPyj7BXXvBa5IWhK6Co/b/xNrfNvzwpNS/Pq9VNJTFm/pMcbSPSMuUUs661d2Il91uhl09UeV1yn6XILk0qwb5dpSMhQe78bsfjS538DK5PYq80iChNNcq4NSYgJPQGS2bX4x71KCjBk01iBlwkikRAsiQUsXAHSvGW6e6d3ra65jqPtAzkE/fXV74n1DWcpc3d96uO6uTZRB7u8rYrY2St1DGN3qYz2jj0hNorU56FW9gmI0blF//B2OhSYYdZwAA"); - Log.logText("Bookmark applied from given state."); - } - catch (error) { - Log.log(error); - } -} - -async function _Bookmarks_EnterPresentation() { - // Get models. models contains enums that can be used. - var models = window['powerbi-client'].models; - - // Get a reference to the embedded report HTML element - var embedContainer = $('#embedContainer')[0]; - - // Get a reference to the embedded report. - report = powerbi.get(embedContainer); - - // Enter bookmarks play mode - try { - await report.bookmarksManager.play(models.BookmarksPlayMode.Presentation); - Log.logText("Bookmarks play mode is on, check the play bar at the bottom of the report."); - } - catch (errors) { - Log.log(errors); - } -} - -async function _Bookmarks_ExitPresentation() { - // Get models. models contains enums that can be used. - var models = window['powerbi-client'].models; - - // Get a reference to the embedded report HTML element - var embedContainer = $('#embedContainer')[0]; - - // Get a reference to the embedded report. - report = powerbi.get(embedContainer); - - // Exit bookmarks play mode - try { - await report.bookmarksManager.play(models.BookmarksPlayMode.Off); - Log.logText("Bookmarks play mode is off."); - } - catch (errors) { - Log.log(errors); - } -} - -async function _Visual_GetSlicer() { - // Get a reference to the embedded report HTML element - var embedContainer = $('#embedContainer')[0]; - - // Get a reference to the embedded report. - report = powerbi.get(embedContainer); - - // Retrieve the page collection and get the visuals for the first page. - try { - const pages = await report.getPages(); - - // Retrieve active page. - var activePage = pages.filter(function (page) { - return page.isActive; - })[0]; - - const visuals = await activePage.getVisuals(); - - // Retrieve the target visual. - var slicer = visuals.filter(function (visual) { - return visual.type == "slicer" && visual.name == "4d55baaa5eddde4cdf90"; - })[0]; - - // Get the slicer state which contains the slicer filter. - const state = await slicer.getSlicerState(); - Log.log(state); - } - catch (errors) { - Log.log(errors); - } -} - -async function _Visual_SetSlicer() { - // Build the filter you want to use. For more information, See Constructing - // Filters in https://github.com/Microsoft/PowerBI-JavaScript/wiki/Filters. - const filter = { - $schema: "http://powerbi.com/product/schema#advanced", - target: { - table: "Date", - column: "Date" - }, - filterType: 0, - logicalOperator: "And", - conditions: [ - { - operator: "GreaterThanOrEqual", - value: "2014-10-12T21:00:00.000Z" - }, - { - operator: "LessThan", - value: "2014-11-28T22:00:00.000Z" - } - ] - }; - - // Get a reference to the embedded report HTML element - var embedContainer = $('#embedContainer')[0]; - - // Get a reference to the embedded report. - report = powerbi.get(embedContainer); - - // Retrieve the page collection and get the visuals for the first page. - try { - const pages = await report.getPages(); - - // Retrieve active page. - var activePage = pages.filter(function (page) { - return page.isActive; - })[0]; - - const visuals = await activePage.getVisuals(); - - // Retrieve the target visual. - var slicer = visuals.filter(function (visual) { - return visual.type == "slicer" && visual.name == "4d55baaa5eddde4cdf90"; - })[0]; - - // Set the slicer state which contains the slicer filters. - await slicer.setSlicerState({ filters: [filter] }); - Log.logText("Date slicer was set."); - } - catch (errors) { - Log.log(errors); - } -} - -async function _Visual_SetFilters() { - // Build the filter you want to use. For more information, See Constructing - // Filters in https://github.com/Microsoft/PowerBI-JavaScript/wiki/Filters. - const filter = { - $schema: "http://powerbi.com/product/schema#advanced", - target: { - table: "SalesFact", - measure: "Total Category Volume" - }, - filterType: 0, - logicalOperator: "And", - conditions: [ - { - operator: "LessThan", - value: 500 - } - ] - }; - - // Get a reference to the embedded report HTML element - var embedContainer = $('#embedContainer')[0]; - - // Get a reference to the embedded report. - report = powerbi.get(embedContainer); - - // Retrieve the page collection and get the visuals for the first page. - try { - const pages = await report.getPages(); - - // Retrieve active page. - var activePage = pages.filter(function (page) { - return page.isActive - })[0]; - - const visuals = await activePage.getVisuals(); - - // Retrieve the target visual. - var visual = visuals.filter(function (visual) { - return visual.name == "VisualContainer4"; - })[0]; - - // Set the filter for the visual. - // Pay attention that setFilters receives an array. - await visual.setFilters([filter]); - Log.logText("Filter was set for \"Category Breakdown\" table.") - } - catch (errors) { - Log.log(errors); - } -} - -async function _Visual_GetFilters() { - // Get a reference to the embedded report HTML element - var embedContainer = $('#embedContainer')[0]; - - // Get a reference to the embedded report. - report = powerbi.get(embedContainer); - - // Retrieve the page collection and get the visuals for the first page. - try { - const pages = await report.getPages(); - - // Retrieve active page. - var activePage = pages.filter(function (page) { - return page.isActive - })[0]; - - const visuals = await activePage.getVisuals(); - - // Retrieve the target visual. - var visual = visuals.filter(function (visual) { - return visual.name == "VisualContainer4"; - })[0]; - - const filters = await visual.getFilters(); - Log.log(filters); - } - catch (errors) { - Log.log(errors); - } -} - -async function _Visual_RemoveFilters() { - // Get a reference to the embedded report HTML element - var embedContainer = $('#embedContainer')[0]; - - // Get a reference to the embedded report. - report = powerbi.get(embedContainer); - - // Retrieve the page collection and get the visuals for the first page. - try { - const pages = await report.getPages(); - - // Retrieve active page. - var activePage = pages.filter(function (page) { - return page.isActive - })[0]; - - const visuals = await activePage.getVisuals(); - - // Retrieve the target visual. - var visual = visuals.filter(function (visual) { - return visual.name == "VisualContainer4"; - })[0]; - - await visual.removeFilters(); - Log.logText("\"Sentiment by Year and Months\" visual filters were removed."); - } - catch (errors) { - Log.log(errors); - } -} - -async function _Visual_ExportData_Summarized() { - // Get models. models contains enums that can be used. - var models = window['powerbi-client'].models; - - // Get a reference to the embedded report HTML element - var embedContainer = $('#embedContainer')[0]; - - // Get a reference to the embedded report. - report = powerbi.get(embedContainer); - - // Retrieve the page collection and get the visuals for the first page. - try { - const pages = await report.getPages(); - - // Retrieve active page. - var activePage = pages.filter(function (page) { - return page.isActive - })[0]; - - const visuals = await activePage.getVisuals(); - - // Retrieve the target visual. - var visual = visuals.filter(function (visual) { - return visual.name == "VisualContainer4"; - })[0]; - - const result = await visual.exportData(models.ExportDataType.Summarized); - Log.logCsv(result.data); - } - catch (errors) { - Log.log(errors); - } -} - -async function _Visual_ExportData_Underlying() { - // Get models. models contains enums that can be used. - var models = window['powerbi-client'].models; - - // Get a reference to the embedded report HTML element - var embedContainer = $('#embedContainer')[0]; - - // Get a reference to the embedded report. - report = powerbi.get(embedContainer); - - // Retrieve the page collection and get the visuals for the first page. - try { - const pages = await report.getPages(); - - // Retrieve active page. - var activePage = pages.filter(function (page) { - return page.isActive - })[0]; - - const visuals = await activePage.getVisuals(); - - // Retrieve the target visual. - var visual = visuals.filter(function (visual) { - return visual.name == "VisualContainer4"; - })[0]; - - // Exports visual data - const result = await visual.exportData(models.ExportDataType.Underlying); - Log.logCsv(result.data); - } - catch (errors) { - Log.log(errors); - } -} - -async function _ReportVisual_UpdateSettings() { - // The new settings that you want to apply to the report. - const newSettings = { - panes: { - filters: { - visible: true - } - } - }; - - // Get a reference to the embedded report HTML element - var embedContainer = $('#embedContainer')[0]; - - // Get a reference to the embedded report. - visual = powerbi.get(embedContainer); - - // Update the settings by passing in the new settings you have configured. - try { - await visual.updateSettings(newSettings); - Log.logText("Filter pane was added."); - } - catch (error) { - Log.log(error); - } -} - -async function _ReportVisual_HideSingleVisualHeader() { - - // Define settings to hide the header of a single visual - var newSettings = { - visualSettings: { - visualHeaders: [ - { - settings: { - visible: true - } - // No selector - Show visual header for all the visuals in the report - }, - { - settings: { - visible: false - }, - selector: { - $schema: "http://powerbi.com/product/schema#visualSelector", - visualName: "47eb6c0240defd498d4b" - // The visual name can be retrieved using getVisuals() - // Hide visual header for a single visual only - } - } - ] - } - }; - - // Get a reference to the embedded report HTML element - var embedContainer = $('#embedContainer')[0]; - - // Get a reference to the embedded report. - visual = powerbi.get(embedContainer); - - // Update the settings by passing in the new settings you have configured. - try { - await visual.updateSettings(newSettings); - Log.logText("Visual header was successfully hidden for 'Sentiment by Year and Months' visual."); - } - catch (error) { - Log.log(error); - } -} - -async function _Report_Authoring_Create() { - // Get a reference to the embedded report HTML element - var embedContainer = $('#embedContainer')[0]; - - // Get a reference to the embedded report. - report = powerbi.get(embedContainer); - - // Util function - setting authoring page as active - // For implementation please check 'Navigation > Page - Set active' code sample. - try { - const page = await SetAuthoringPageActive(report); - - // Creating new visual - // Documentation link: https://github.com/microsoft/powerbi-report-authoring/wiki/Visualization - const response = await page.createVisual('clusteredColumnChart'); - - let visual = response.visual; - - // Defining data fields - const regionColumn = { column: 'Region', table: 'Geo', schema: 'http://powerbi.com/product/schema#column' }; - const totalUnitsMeasure = { measure: 'Total Units', table: 'SalesFact', schema: 'http://powerbi.com/product/schema#measure' }; - const totalVanArsdelUnitsMeasure = { measure: 'Total VanArsdel Units', table: 'SalesFact', schema: 'http://powerbi.com/product/schema#measure' }; - - // Setting visual data fields - visual.addDataField('Category', regionColumn); - visual.addDataField('Y', totalUnitsMeasure); - visual.addDataField('Y', totalVanArsdelUnitsMeasure); - - // Personalizing the visual - visual.setProperty({ objectName: "title", propertyName: "textSize" }, { schema: 'http://powerbi.com/product/schema#property', value: 8 }); - visual.setProperty({ objectName: "title", propertyName: "fontColor" }, { schema: 'http://powerbi.com/product/schema#property', value: '#000000' }); - - // Visit: https://github.com/microsoft/powerbi-report-authoring/wiki for full documentation - } - catch (errors) { - Log.log(errors); - } -} - -async function _Report_Authoring_ChangeType() { - // Get a reference to the embedded report HTML element - var embedContainer = $('#embedContainer')[0]; - - // Get a reference to the embedded report. - report = powerbi.get(embedContainer); - - // Util function - setting authoring page as active - // For implementation please check 'Navigation > Page - Set active' code sample. - try { - const page = await SetAuthoringPageActive(report); - const visuals = await page.getVisuals(); - if (visuals.length < 1) { - Log.logText("No visuals on authoring page. Please run 'Create visual and personalize' first."); - return; - } - - // Getting the last visual that was added - let visual = visuals[visuals.length - 1]; - - // Documentation link: https://github.com/microsoft/powerbi-report-authoring/wiki/Visualization - await visual.changeType('waterfallChart'); - Log.logText("Last visual type was changed."); - } - catch (errors) { - Log.log(errors); - } -} - -async function _Report_Authoring_Remove() { - // Get a reference to the embedded report HTML element - var embedContainer = $('#embedContainer')[0]; - - // Get a reference to the embedded report. - report = powerbi.get(embedContainer); - - // Util function - setting authoring page as active - // For implementation please check 'Navigation > Page - Set active' code sample. - try { - const page = await SetAuthoringPageActive(report); - const visuals = await page.getVisuals(); - if (visuals.length < 1) { - Log.logText("No visuals on authoring page. Please run 'Create visual and personalize' first."); - return; - } - - // Getting the last visual that was added - let visual = visuals[visuals.length - 1]; - - // Documentation link: https://github.com/microsoft/powerbi-report-authoring/wiki/Visualization - await page.deleteVisual(visual.name); - Log.logText("Last visual was deleted."); - } - catch (errors) { - Log.log(errors); - } -} - -async function _Report_Authoring_Capabilities() { - // Get a reference to the embedded report HTML element - var embedContainer = $('#embedContainer')[0]; - - // Get a reference to the embedded report. - report = powerbi.get(embedContainer); - - // Util function - setting authoring page as active - // For implementation please check 'Navigation > Page - Set active' code sample. - try { - const page = await SetAuthoringPageActive(report); - const visuals = await page.getVisuals(); - if (visuals.length < 1) { - Log.logText("No visuals on authoring page. Please run 'Create visual and personalize' first."); - return; - } - - // Getting the last visual that was added - let visual = visuals[visuals.length - 1]; - - // Getting visual capabilities - // Documentation link: https://github.com/microsoft/powerbi-report-authoring/wiki/Data-binding - const capabilities = await visual.getCapabilities(); - Log.logText("Visual capabilities:"); - Log.log(capabilities); - } - catch (errors) { - Log.log(errors); - } -} - -async function _Report_Authoring_AddDataField() { - // Get a reference to the embedded report HTML element - var embedContainer = $('#embedContainer')[0]; - - // Get a reference to the embedded report. - report = powerbi.get(embedContainer); - - // Util function - setting authoring page as active - // For implementation please check 'Navigation > Page - Set active' code sample. - try { - const page = await SetAuthoringPageActive(report); - const visuals = await page.getVisuals(); - if (visuals.length < 1) { - Log.logText("No visuals on authoring page. Please run 'Create visual and personalize' first."); - return; - } - - // Getting the last visual that was added - let visual = visuals[visuals.length - 1]; - - // Getting 'Y' role data fields - // Documentation link: https://github.com/microsoft/powerbi-report-authoring/wiki/Data-binding - const dataFields = await visual.getDataFields('Y'); - - // Removing the second data field of 'Y' role, in order to add Legend/Breakdown - if (dataFields.length > 1) - visual.removeDataField('Y', 1); - - // Adding Legend/Breakdown data role - if (visual.type === 'clusteredColumnChart') { - const quarterColumn = { column: 'Quarter', table: 'Date', schema: 'http://powerbi.com/product/schema#column' }; - await visual.addDataField('Series', quarterColumn); - Log.logText("Data field was added to last visual."); - } - else { - const categoryColumn = { column: 'Category', table: 'Product', schema: 'http://powerbi.com/product/schema#column' }; - await visual.addDataField('Breakdown', categoryColumn); - Log.logText("Data field was added to last visual."); - } - } - catch (errors) { - Log.log(errors); - } -} - -async function _Report_Authoring_RemoveDataField() { - // Get a reference to the embedded report HTML element - var embedContainer = $('#embedContainer')[0]; - - // Get a reference to the embedded report. - report = powerbi.get(embedContainer); - - // Util function - setting authoring page as active - // For implementation please check 'Navigation > Page - Set active' code sample. - try { - const page = await SetAuthoringPageActive(report); - const visuals = await page.getVisuals(); - - if (visuals.length < 1) { - Log.logText("No visuals on authoring page. Please run 'Create visual and personalize' first."); - return; - } - - // Getting the last visual that was added - let visual = visuals[visuals.length - 1]; - let dataRole = visual.type === 'clusteredColumnChart' ? 'Series' : 'Breakdown'; - - // Documentation link: https://github.com/microsoft/powerbi-report-authoring/wiki/Data-binding - const dataFields = await visual.getDataFields(dataRole); - - // Removing Legend/Breakdown data field - if (dataFields.length > 0) { - await visual.removeDataField(dataRole, 0); - Log.logText("Data field was removed from last visual."); - } - else { - Log.log("Please add additional data field first."); - } - } - catch (errors) { - Log.log(errors); - } -} - -async function _Report_Authoring_GetDataField() { - // Get a reference to the embedded report HTML element - var embedContainer = $('#embedContainer')[0]; - - // Get a reference to the embedded report. - report = powerbi.get(embedContainer); - - // Util function - setting authoring page as active - // For implementation please check 'Navigation > Page - Set active' code sample. - try { - const page = await SetAuthoringPageActive(report); - const visuals = await page.getVisuals(); - if (visuals.length < 1) { - Log.logText("No visuals on authoring page. Please run 'Create visual and personalize' first."); - return; - } - - // Getting the last visual that was added - let visual = visuals[visuals.length - 1]; - - // Getting 'Y' role data fields - // Documentation link: https://github.com/microsoft/powerbi-report-authoring/wiki/Data-binding - const dataFields = await visual.getDataFields('Y'); - Log.logText("Visual 'Y' fields:"); - Log.log(dataFields); - } - catch (errors) { - Log.log(errors); - } -} - -async function _Report_Authoring_GetProperty() { - // Get a reference to the embedded report HTML element - var embedContainer = $('#embedContainer')[0]; - - // Get a reference to the embedded report. - report = powerbi.get(embedContainer); - - // Util function - setting authoring page as active - // For implementation please check 'Navigation > Page - Set active' code sample. - try { - const page = await SetAuthoringPageActive(report); - const visuals = await page.getVisuals(); - if (visuals.length < 1) { - Log.logText("No visuals on authoring page. Please run 'Create visual and personalize' first."); - return; - } - - // Getting the last visual that was added - let visual = visuals[visuals.length - 1]; - - // Get legend position property - // Documentation link: https://github.com/microsoft/powerbi-report-authoring/wiki/Properties - const property = await visual.getProperty({ objectName: "legend", propertyName: "position" }); - Log.logText("Last visual - legend position property:"); - Log.log(property); - } - catch (errors) { - Log.log(errors); - } -} - -async function _Report_Authoring_SetProperty() { - // Get a reference to the embedded report HTML element - var embedContainer = $('#embedContainer')[0]; - - // Get a reference to the embedded report. - report = powerbi.get(embedContainer); - - // Util function - setting authoring page as active - // For implementation please check 'Navigation > Page - Set active' code sample. - try { - const page = await SetAuthoringPageActive(report); - const visuals = await page.getVisuals(); - if (visuals.length < 1) { - Log.logText("No visuals on authoring page. Please run 'Create visual and personalize' first."); - return; - } - - // Getting the last visual that was added - let visual = visuals[visuals.length - 1]; - - // Set legend position to bottom center - // Documentation link: https://github.com/microsoft/powerbi-report-authoring/wiki/Properties - await visual.setProperty({ objectName: "legend", propertyName: "position" }, { schema: 'http://powerbi.com/product/schema#property', value: 'BottomCenter' }); - Log.logText("Last visual legend position was set to bottom center."); - } - catch (errors) { - Log.log(errors); - } -} - -async function _Report_Authoring_ResetProperty() { - // Get a reference to the embedded report HTML element - var embedContainer = $('#embedContainer')[0]; - - // Get a reference to the embedded report. - report = powerbi.get(embedContainer); - - // Util function - setting authoring page as active - // For implementation please check 'Navigation > Page - Set active' code sample. - try { - const page = await SetAuthoringPageActive(report); - const visuals = await page.getVisuals(); - if (visuals.length < 1) { - Log.logText("No visuals on authoring page. Please run 'Create visual and personalize' first."); - return; - } - - // Getting the last visual that was added - let visual = visuals[visuals.length - 1]; - - // Reset visual legend position - // Documentation link: https://github.com/microsoft/powerbi-report-authoring/wiki/Properties - await visual.resetProperty({ objectName: "legend", propertyName: "position" }); - Log.logText("Last visual legend position property was reset to default value."); - } - catch (errors) { - Log.log(errors); - } -} diff --git a/demo/v2-demo/scripts/function_mapping.js b/demo/v2-demo/scripts/function_mapping.js deleted file mode 100644 index c7dec2d4..00000000 --- a/demo/v2-demo/scripts/function_mapping.js +++ /dev/null @@ -1,86 +0,0 @@ -const mockDict = { - _Report_GetPages: datasetNotSupported, - _Report_SetPage: datasetNotSupported, - _Report_SetFilters: datasetNotSupported, - _Report_GetFilters: datasetNotSupported, - _Report_RemoveFilters: datasetNotSupported, - _Report_PrintCurrentReport: datasetNotSupported, - _Report_UpdateSettings: datasetNotSupported, - _Report_Reload: datasetNotSupported, - _Page_SetActive: datasetNotSupported, - _Page_SetFilters: datasetNotSupported, - _Page_GetFilters: datasetNotSupported, - _Page_RemoveFilters: datasetNotSupported, - _Page_GetVisuals: datasetNotSupported, - _Report_switchModeEdit: datasetNotSupported, - _Report_switchModeView: datasetNotSupported, - _Embed_BasicEmbed: _Mock_Embed_BasicEmbed_ViewMode, - _Embed_BasicEmbed_EditMode: _Mock_Embed_BasicEmbed_EditMode, - _Report_save: _Mock_Report_save, - _Report_saveAs: _Mock_Report_save, - _Embed_Create: _Mock_Embed_Create -}; - -function datasetNotSupported() { - Log.logText('Operation not supported for dataset') -} - -function IsSaveMock(funcName) { - const sampleId = GetSession(SessionKeys.SampleId); - const isSample = sampleId && (_session.embedId === sampleId); - return ((funcName === '_Report_save' || funcName === '_Report_saveAs') && isSample); -} - -function IsBasicMock(funcName) { - const sampleId = GetSession(SessionKeys.SampleId); - const isSample = sampleId && (_session.embedId === sampleId); - return ((funcName === '_Embed_BasicEmbed' || funcName === '_Embed_BasicEmbed_EditMode') && isSample); -} - -function IsCreateMock(funcName) { - const sampleId = GetSession(SessionKeys.SampleId); - const isSample = sampleId && (_session.embedId === sampleId); - return (funcName === '_Embed_Create' && isSample); -} - -function IsNotSupported(funcName) { - if (powerbi.embeds.length === 0) { - return false - } - - const notReportMatch = funcName.match(/Dashboard|Tile|Qna|Visual|Mobile|PaginatedReport/); - if (notReportMatch) { - return false; - } - - // Get a reference to the embedded element - const container = '#embedContainer'; - let embed = powerbi.get($(container)[0]); - if (embed.config.type !== 'create') { - return false; - } - - const runFunc = mockDict[funcName]; - return (runFunc && runFunc === datasetNotSupported) ? true : false; -} - -function IsMock(funcName) { - return (IsBasicMock(funcName) || IsSaveMock(funcName) || IsCreateMock(funcName) || IsNotSupported(funcName)); -} - -function mapFunc(func) { - const funcName = getFuncName(func); - return IsMock(funcName) ? mockDict[funcName] : func; -} - -function getFuncName(func) { - let funcName = func.name; - - if (!funcName) - { - // in IE, func.name is invalid method. so, function name should be extracted manually. - funcName = func.toString().match(/^function\s*([^\s(]+)/)[1]; - } - - return funcName; -} \ No newline at end of file diff --git a/demo/v2-demo/scripts/guid.js b/demo/v2-demo/scripts/guid.js deleted file mode 100644 index f259a200..00000000 --- a/demo/v2-demo/scripts/guid.js +++ /dev/null @@ -1,18 +0,0 @@ -/** - * Generates a 20 character uuid. - */ -function generateNewGuid() { - let d = new Date().getTime(); - if (typeof performance !== 'undefined' && typeof performance.now === 'function') { - d += performance.now(); - } - return 'xxxxxxxxxxxxxxxxxxxx'.replace(/[xy]/g, function (c) { - - // Generate a random number, scaled from 0 to 15. - const r = (getRandomValue() % 16); - - // Shift 4 times to divide by 16 - d >>= 4; - return r.toString(16); - }); -} \ No newline at end of file diff --git a/demo/v2-demo/scripts/index.js b/demo/v2-demo/scripts/index.js deleted file mode 100644 index 1e5b6543..00000000 --- a/demo/v2-demo/scripts/index.js +++ /dev/null @@ -1,91 +0,0 @@ -var sampleContentLoaded = false; -var documentationContentLoaded = false; -var showcasesContentLoaded = false; - -$(function() { - OpenSampleSection(); - WarmStartSampleReportEmbed(); -}); - -function OpenSampleSection() { - OpenEmbedWorkspace("#main-sample", "step_samples.html"); -} - -function OpenEmbedWorkspace(activeTabSelector, samplesStepHtml) -{ - if (!sampleContentLoaded) - { - // Open Report Sample. - $("#sampleContent").load("sample.html", function() { - $("#mainContent").load("report.html"); - sampleContentLoaded = true; - }); - } - - $("#samples-step-wrapper").load(samplesStepHtml); - SetActiveStyle(activeTabSelector); - - $(".content").hide(); - $("#sampleContent").show(); - - LayoutShowcaseState.layoutReport = null; - BookmarkShowcaseState.bookmarksReport = null; -} - -function OpenDocumentationSection() { - if (!documentationContentLoaded) - { - $("#documentationContent").load("docs.html"); - documentationContentLoaded = true; - } - - SetActiveStyle("#main-docs"); - - $(".content").hide(); - $("#documentationContent").show(); - trackEvent(TelemetryEventName.SectionOpen, { section: TelemetrySectionName.Documentation, src: TelemetryEventSource.UserClick }); -} - -function OpenShowcasesSection() { - if (!showcasesContentLoaded) - { - $('#embedContainer').removeAttr('id'); - $("#showcasesContent").load("showcases.html"); - showcasesContentLoaded = true; - } - - SetActiveStyle("#main-showcases"); - - $(".content").hide(); - $("#showcasesContent").show(); - trackEvent(TelemetryEventName.SectionOpen, { section: TelemetrySectionName.Showcase, src: TelemetryEventSource.UserClick }); -} - -function SetActiveStyle(id) -{ - $("#main-ul li").removeClass("main-li-active"); - $(id).addClass("main-li-active"); -} - -const ShowcasesHtmls = { - CustomLayout: "./live_showcases/custom_layout/showcase_custom_layout.html", - Bookmarks: "./live_showcases/bookmarks/showcase_bookmarks.html", - Themes: "./live_showcases/themes/showcase_themes.html", - InsightToAction: "./live_showcases/insight_to_action/showcase_insight_to_action.html", - QuickVisualCreator: "./live_showcases/quick_visual_creator/showcase_quick_visual_creator.html", -}; - -function OpenShowcase(showcaseType) { - $("#showcasesContent").load(ShowcasesHtmls[showcaseType]); - showcasesContentLoaded = false; - trackEvent(TelemetrySectionName.Showcase, { showcaseType: showcaseType, src: TelemetryEventSource.UserClick }); -} - -function OpenShowcaseFromURL(showcase) { - $("#showcasesContent").load(ShowcasesHtmls[showcase]); - SetActiveStyle("#main-showcases"); - - $(".content").hide(); - $("#showcasesContent").show(); - trackEvent(TelemetrySectionName.Showcase, { showcaseType: showcase, src: TelemetryEventSource.Url }); -} \ No newline at end of file diff --git a/demo/v2-demo/scripts/logger.js b/demo/v2-demo/scripts/logger.js deleted file mode 100644 index 2de78f09..00000000 --- a/demo/v2-demo/scripts/logger.js +++ /dev/null @@ -1,99 +0,0 @@ -function InitLogger(divId) { - - var Logger = {}; - - // Normal character takes ~1.5 width more than a space ' '. - Logger.spaceWidthCorrection = 1.3; - - Logger.log = function (event) { - this.logText("Json Object\n" + JSON.stringify(event, null, " ")); - }; - - Logger.logText = function (text) { - let textbox = document.getElementById(divId); - - if (!textbox.value) - { - textbox.value = ""; - } - - textbox.value += "> " + text + "\n"; - - textbox.scrollTop = textbox.scrollHeight; - }; - - Logger.logCsv = function (text) { - let textbox = document.getElementById(divId); - - if (!textbox.value) - { - textbox.value = ""; - } - - let maxLength = 0; - let lines = text.split("\r\n"); - let valuesPerLine = []; - - let log = "> CSV result in table view: \n\n"; - if (!lines || lines.length === 0) { - log += "No data"; - } - else { - // Calcualte values per line, and calculate max length for pretty print. - for (let i = 0; i < lines.length; ++i) { - valuesPerLine[i] = lines[i].split(","); - valuesPerLine[i].forEach(function (val) { - if (val.length > maxLength) { - maxLength = val.length; - } - }); - } - - // Add 2 spaces before and after. - maxLength += 4; - - // Print title line - var title = this.getLineText(valuesPerLine[0], maxLength); - log += title + "\n"; - log += this.repeatChar("-", title.length) + "\n"; - - // Print all lines - for (let i = 1; i < lines.length; ++i) { - log += this.getLineText(valuesPerLine[i], maxLength) + "\n" - } - } - - textbox.value += log; - textbox.scrollTop = textbox.scrollHeight; - }; - - Logger.getLineText = function (values, spacesPerWord) { - var text = ""; - _this = this; - values.forEach(function (val) { - text += _this.getCenteredText(val, spacesPerWord); - }); - return text; - }; - - Logger.getCenteredText = function (value, spaces) { - var text = ""; - - let spacesBefore = (spaces - value.length) / 2; - let spacesAfter = spaces - value.length - spacesBefore; - text += this.repeatChar(" ", spacesBefore * this.spaceWidthCorrection); - text += value; - text += this.repeatChar(" ", spacesAfter * this.spaceWidthCorrection); - return text; - }; - - Logger.repeatChar = function (char, times) { - let text = ""; - for (let i = 0; i < times; ++i) { - text += char; - } - return text; - }; - - return Logger; -} diff --git a/demo/v2-demo/scripts/report.js b/demo/v2-demo/scripts/report.js deleted file mode 100644 index 6eb488a9..00000000 --- a/demo/v2-demo/scripts/report.js +++ /dev/null @@ -1,742 +0,0 @@ -const active_class = 'active'; -const active_steps_li = 'steps-li-active'; -const active_tabs_li = 'tabs-li-active'; -const active_mode = 'active-mode' - -const EmbedViewMode = "view"; -const EmbedEditMode = "edit"; -const EmbedCreateMode = "create"; - -const runEmbedCodeTimeout = 500; -const interactTooltipTimeout = 2000; - -const defaultTokenType = 1; -const defaultQnaQuestion = "2014 total units YTD var % by month, manufacturer as clustered column chart"; -const defaultQnaMode = "Interactive"; -const interactiveNoQuestionMode = "InteractiveNoQuestion"; - -function OpenSamplesStep() { - $('#steps-ul a').removeClass(active_class); - $('.'+ active_steps_li).removeClass(active_steps_li); - - $("#steps-samples a").addClass(active_class); - $("#steps-samples a").addClass(active_steps_li); - - $('#interact-tab').removeClass('enableTransition'); - $('#interact-tab').removeClass('changeColor'); - - // Hide Embed view in samples step. - $("#samples-step-wrapper").show(); - $("#embed-and-interact-steps-wrapper").hide(); - - $("#welcome-text").show(); - - trackEvent(TelemetryEventName.InnerSectionOpen, { section: TelemetryInnerSection.Sample, src: TelemetryEventSource.UserClick }); -} - -function OpenCodeStepFromNavPane() -{ - const mode = GetSession(SessionKeys.EmbedMode); - const entityType = GetSession(SessionKeys.EntityType); - const tokenType = GetSession(SessionKeys.TokenType); - - OpenCodeStep(mode, entityType, tokenType); -} - -function OpenCodeStep(mode, entityType, tokenType) { - $('#steps-ul a').removeClass(active_class); - $('.' + active_steps_li).removeClass(active_steps_li); - - $('#steps-code a').addClass(active_class); - $('#steps-code a').addClass(active_steps_li); - - // Hide Embed view in samples step. - $("#samples-step-wrapper").hide(); - $("#embed-and-interact-steps-wrapper").show(); - - $("#welcome-text").hide(); - $("#playground-banner").hide(); - - $("#highlighter").empty(); - - let containers = $(".iframeContainer"); - containers.removeClass(active_class); - - const containerID = getEmbedContainerID(entityType); - const classPrefix = getEmbedContainerClassPrefix(entityType); - - $(classPrefix + 'Container').removeAttr('id'); - $(classPrefix + 'MobileContainer').removeAttr('id'); - - // remove ID if exists on any container - $("#" + containerID).removeAttr('id'); - - const activeContainer = classPrefix + ($(".desktop-view").hasClass(active_class) ? 'Container' : 'MobileContainer'); - - $(activeContainer).attr('id', containerID); - $(activeContainer).addClass(active_class); - - $('.' + active_tabs_li).removeClass(active_tabs_li); - - $('#embed-tab').addClass(active_tabs_li); - $('#interact-tab').removeClass(active_tabs_li); - - LoadEmbedSettings(mode, entityType, tokenType); - - trackEvent(TelemetryEventName.InnerSectionOpen, { section: TelemetryInnerSection.Code, src: TelemetryEventSource.UserClick }); -} - -function bootstrapIframe(entityType) { - const activeContainer = getActiveEmbedContainer(); - - // To avoid multiple bootstrap when switching between Desktop view and Phone view - // and also when changing the mode (view/edit/create). - if (activeContainer.children.length > 0) { - // entity is already embedded - return; - } - - // Bootstrap iframe - for better performance. - let embedUrl = GetSession(SessionKeys.EmbedUrl); - config = { - type: entityType.toLowerCase(), - embedUrl: embedUrl - }; - - const isMobile = $(".mobile-view").hasClass(active_class); - if (isMobile) { - config.settings = { - layoutType: models.LayoutType.MobilePortrait - }; - } - - // Hide the container in order to hide the spinner. - $(activeContainer).css({"visibility":"hidden"}); - powerbi.bootstrap(activeContainer, config); -} - -function LoadEmbedSettings(mode, entityType, tokenType) { - if (entityType == EntityType.Report) - { - $("#settings").load("settings_embed_report.html", function() { - OpenEmbedMode(mode, entityType, tokenType); - }); - } - else if (entityType == EntityType.Visual) - { - $("#settings").load("settings_embed_visual.html", function() { - OpenEmbedMode(mode, entityType, tokenType); - }); - } - else if (entityType == EntityType.Dashboard) - { - $("#settings").load("settings_embed_dashboard.html", function() { - OpenEmbedMode(mode, entityType, tokenType); - }); - } - else if (entityType == EntityType.Tile) - { - $("#settings").load("settings_embed_tile.html", function() { - OpenEmbedMode(mode, entityType, tokenType); - }); - } - else if (entityType == EntityType.Qna) - { - $("#settings").load("settings_embed_qna.html", function() { - OpenEmbedMode(mode, entityType,tokenType); - }); - } - else if (entityType == EntityType.PaginatedReport) - { - $("#settings").load("settings_embed_paginatedreport.html", function() { - OpenEmbedMode(mode, entityType,tokenType); - }); - } -} - -function OpenEmbedTab() { - if ($('#embed-tab').hasClass(active_tabs_li)) { - return; - } - - $('.' + active_tabs_li).removeClass(active_tabs_li); - - $('#embed-tab').addClass(active_tabs_li); - - const mode = GetSession(SessionKeys.EmbedMode); - const entityType = GetSession(SessionKeys.EntityType); - const tokenType = GetSession(SessionKeys.TokenType); - - LoadEmbedSettings(mode, entityType, tokenType); -} - -function isInteractStepEnabled(entityType) { - const classPrefix = getEmbedContainerClassPrefix(entityType); - const activeContainer = classPrefix + ($(".desktop-view").hasClass(active_class) ? 'Container' : 'MobileContainer'); - - // Check if active container has an iframe - return $(activeContainer + " iframe").length > 0; -} - -function OpenInteractTab() { - const entityType = GetSession(SessionKeys.EntityType); - // Interact step is disabled unless active container has an iframe - if (!isInteractStepEnabled(entityType)) { - $('.interactTooltip .tooltipText').addClass("showTooltip"); - setTimeout(function() { - $('.interactTooltip .tooltipText').removeClass("showTooltip"); - }, interactTooltipTimeout); - return; - } - $('#interact-tab').removeClass('enableTransition'); - $('#interact-tab').removeClass('changeColor'); - - $('.' + active_tabs_li).removeClass(active_tabs_li); - $('#interact-tab').addClass(active_tabs_li); - - if (entityType == EntityType.Tile) - { - $("#settings").load("settings_interact_tile.html", function() { - SetToggleHandler("operation-categories"); - LoadCodeArea("#embedCodeDiv", ""); - }); - } - else if (entityType == EntityType.Dashboard) - { - $("#settings").load("settings_interact_dashboard.html", function() { - SetToggleHandler("operation-categories"); - LoadCodeArea("#embedCodeDiv", ""); - hideFeaturesOnMobile(); - }); - } - else if (entityType == EntityType.Qna) - { - $("#settings").load("settings_interact_qna.html", function() { - const isResultOnlyMode = GetSession(SessionKeys.QnaMode) === "ResultOnly"; - // Hide set question on interactive mode - $('#qna-operations').toggle(isResultOnlyMode); - SetToggleHandler("operation-categories"); - LoadCodeArea("#embedCodeDiv", ""); - }); - } - else if (entityType == EntityType.Visual) - { - $("#settings").load("settings_interact_visual.html", function() { - SetToggleHandler("operation-categories"); - LoadCodeArea("#embedCodeDiv", ""); - }); - } - else if (entityType == EntityType.PaginatedReport) - { - $("#settings").load("settings_interact_paginatedreport.html", function() { - SetToggleHandler("operation-categories"); - LoadCodeArea("#embedCodeDiv", ""); - }); - } - else - { - $("#settings").load("settings_interact_report.html", function() { - SetToggleHandler("operation-categories"); - LoadCodeArea("#embedCodeDiv", ""); - $('.hideOnReportCreate').toggle(GetSession(SessionKeys.EmbedMode) !== EmbedCreateMode); - hideFeaturesOnMobile(); - }); - } -} - -function setCodeArea(mode, entityType) -{ - LoadCodeArea("#embedCodeDiv", getEmbedCode(mode, entityType)); -} - -function getEmbedCode(mode, entityType) -{ - const isDesktop = $(".desktop-view").hasClass(active_class); - let code = ""; - if (entityType == EntityType.Report) - { - if (mode === EmbedViewMode) - { - code = isDesktop ? _Embed_BasicEmbed : _Embed_BasicEmbed_Mobile; - } - else if (mode === EmbedEditMode) - { - code = isDesktop ? _Embed_BasicEmbed_EditMode : _Embed_MobileEditNotSupported; - } - else if (mode === EmbedCreateMode) - { - code = isDesktop ? _Embed_Create : _Embed_MobileCreateNotSupported; - } - } - else if (entityType == EntityType.Visual) { - code = _Embed_VisualEmbed; - } - else if (entityType == EntityType.Dashboard) - { - code = isDesktop ? _Embed_DashboardEmbed : _Embed_DashboardEmbed_Mobile; - } - else if (entityType == EntityType.Tile) - { - code = _Embed_TileEmbed; - } - else if (entityType == EntityType.Qna) - { - code = GetParameterByName(SessionKeys.TokenType) === '0' /* AAD Token */ ? _Embed_QnaEmbed_Aad : _Embed_QnaEmbed; - } - else if (entityType == EntityType.PaginatedReport) - { - code = _Embed_PaginatedReportBasicEmbed - } - return code; -} - -function showEmbedSettings(mode, entityType, tokenType) -{ - if (entityType == EntityType.Report) - { - let inputDivToShow = "#embedModeInput"; - let inputDivToHide = "#createModeInput"; - - if (mode === EmbedCreateMode) - { - inputDivToShow = "#createModeInput"; - inputDivToHide = "#embedModeInput"; - } - - $(inputDivToShow).show(); - $(inputDivToHide).hide(); - - let embedModeRadios = $('input:radio[name=embedMode]'); - embedModeRadios.filter('[value=' + mode + ']').prop('checked', true); - - let embedTypeRadios = $('input:radio[name=tokenType]'); - embedTypeRadios.filter('[value=' + tokenType + ']').prop('checked', true); - } - else if (entityType == EntityType.Visual) { - $("#embedModeInput").show(); - let embedTypeRadios = $('input:radio[name=tokenType]'); - embedTypeRadios.filter('[value=' + tokenType + ']').prop('checked', true); - } - else if (entityType == EntityType.Dashboard) - { - // Do nothing. - } -} - -function OpenEmbedMode(mode, entityType, tokenType) -{ - if (entityType == EntityType.Report) - { - if (mode == EmbedCreateMode) - { - if (IsEmbeddingSampleReport()) - { - LoadSampleDatasetIntoSession().then(function (response) { - SetTextBoxesFromSessionOrUrlParam("#txtCreateAccessToken", "#txtCreateReportEmbed", "#txtEmbedDatasetId"); - setCodeAndShowEmbedSettings(mode, entityType, tokenType); - }); - } - else - { - SetTextBoxesFromSessionOrUrlParam("#txtCreateAccessToken", "#txtCreateReportEmbed", "#txtEmbedDatasetId"); - setCodeAndShowEmbedSettings(mode, entityType, tokenType); - } - } - else - { - if (IsEmbeddingSampleReport()) - { - LoadSampleReportIntoSession().then(function (response) { - SetTextBoxesFromSessionOrUrlParam("#txtAccessToken", "#txtReportEmbed", "#txtEmbedReportId"); - setCodeAndShowEmbedSettings(mode, entityType, tokenType); - }); - } - else - { - SetTextBoxesFromSessionOrUrlParam("#txtAccessToken", "#txtReportEmbed", "#txtEmbedReportId"); - setCodeAndShowEmbedSettings(mode, entityType, tokenType); - } - } - } - else if (entityType == EntityType.Visual) - { - LoadSettings = function() { - SetTextBoxesFromSessionOrUrlParam("#txtAccessToken", "#txtReportEmbed", "#txtEmbedReportId"); - SetTextboxFromSessionOrUrlParam(SessionKeys.PageName, "#txtPageName"); - SetTextboxFromSessionOrUrlParam(SessionKeys.VisualName, "#txtVisualName"); - setCodeAndShowEmbedSettings(mode, entityType, tokenType); - }; - - if (IsEmbeddingSampleReport()) - { - LoadSampleVisualIntoSession().then(function (response) { - LoadSettings(); - }); - } - else - { - LoadSettings(); - } - } - else if (entityType == EntityType.Dashboard) - { - if (IsEmbeddingSampleDashboard()) - { - LoadSampleDashboardIntoSession().then(function (response) { - SetTextBoxesFromSessionOrUrlParam("#txtAccessToken", "#txtDashboardEmbed", "#txtEmbedDashboardId"); - setCodeAndShowEmbedSettings(mode, entityType, tokenType); - }); - } - else - { - SetTextBoxesFromSessionOrUrlParam("#txtAccessToken", "#txtDashboardEmbed", "#txtEmbedDashboardId"); - setCodeAndShowEmbedSettings(mode, entityType, tokenType); - } - } - else if (entityType == EntityType.Tile) - { - if (IsEmbeddingSampleTile()) - { - LoadSampleTileIntoSession().then(function (response) { - SetTextBoxesFromSessionOrUrlParam("#txtAccessToken", "#txtTileEmbed", "#txtEmbedTileId", "#txtEmbedDashboardId"); - setCodeAndShowEmbedSettings(mode, entityType, tokenType); - }); - } - else - { - SetTextBoxesFromSessionOrUrlParam("#txtAccessToken", "#txtTileEmbed", "#txtEmbedTileId", "#txtEmbedDashboardId"); - setCodeAndShowEmbedSettings(mode, entityType, tokenType); - } - } - else if (entityType == EntityType.Qna) - { - LoadSettings = function() { - SetTextBoxesFromSessionOrUrlParam("#txtAccessToken", "#txtQnaEmbed", "#txtDatasetId"); - SetTextboxFromSessionOrUrlParam(SessionKeys.QnaQuestion, "#txtQuestion"); - setCodeAndShowEmbedSettings(mode, entityType, tokenType); - let qnaMode = GetParameterByName(SessionKeys.QnaMode); - if (qnaMode) { - let modesRadios = $('input:radio[name=qnaMode]'); - modesRadios.filter('[id=' + qnaMode + ']').prop('checked', true); - qnaMode = qnaMode !== interactiveNoQuestionMode ? qnaMode : defaultQnaMode; - SetSession(SessionKeys.QnaMode, qnaMode); - } - }; - - if (IsEmbeddingSampleQna()) - { - LoadSampleQnaIntoSession().then(function (response) { - if (!GetSession(SessionKeys.QnaQuestion)) { - SetSession(SessionKeys.QnaQuestion, defaultQnaQuestion); - } - - LoadSettings(); - }); - } - else - { - LoadSettings(); - } - } - else if (entityType == EntityType.PaginatedReport) { - if (IsEmbeddingSamplePaginatedReport()) { - LoadSamplePaginatedReportIntoSession().then(function (response) { - SetTextBoxesFromSessionOrUrlParam("#txtAccessToken", "#txtReportEmbed", "#txtEmbedReportId"); - setCodeAndShowEmbedSettings(mode, entityType, tokenType); - }); - } - else { - SetTextBoxesFromSessionOrUrlParam("#txtAccessToken", "#txtReportEmbed", "#txtEmbedReportId"); - setCodeAndShowEmbedSettings(mode, entityType, tokenType); - } - } -} - -function setCodeAndShowEmbedSettings(mode, entityType, tokenType) { - setCodeArea(mode, entityType); - showEmbedSettings(mode, entityType, tokenType); - bootstrapIframe(entityType); -} - -function OpenViewMode() { - SetSession(SessionKeys.EmbedMode, EmbedViewMode); - OpenEmbedMode(EmbedViewMode, EntityType.Report); -} - -function OpenEditMode() { - SetSession(SessionKeys.EmbedMode, EmbedEditMode); - OpenEmbedMode(EmbedEditMode, EntityType.Report); -} - -function OpenCreateMode() { - SetSession(SessionKeys.EmbedMode, EmbedCreateMode); - OpenEmbedMode(EmbedCreateMode, EntityType.Report); -} - -function IsEmbeddingSampleReport() { - return GetSession(SessionKeys.IsSampleReport) == true; -} - -function IsEmbeddingSampleDashboard() { - return GetSession(SessionKeys.IsSampleDashboard) == true; -} - -function IsEmbeddingSampleTile() { - return GetSession(SessionKeys.IsSampleTile) == true; -} - -function IsEmbeddingSampleQna() { - return GetSession(SessionKeys.IsSampleQna) == true; -} - -function IsEmbeddingSamplePaginatedReport() { - return GetSession(SessionKeys.IsSamplePaginatedReport) == true; -} - -function ToggleQuestionBox(enabled) { - UpdateSession("input[name='qnaMode']:checked", SessionKeys.QnaMode); - let txtQuestion = $("#txtQuestion"); - if (enabled === true) { - let question = GetSession(SessionKeys.QnaQuestion); - question = question ? question : defaultQnaQuestion; - txtQuestion.val(question); - txtQuestion.prop('disabled', false); - } - else { - txtQuestion.val(""); - txtQuestion.prop('disabled', true); - } -} - -function OnTokenTypeRadioClicked(tokenType) { - SetSession(SessionKeys.TokenType, tokenType); - const entityType = GetSession(SessionKeys.EntityType); - - if (tokenType == 0 /* AAD Token */) { - $('.inputLine input').each(function () { - $(this).val(""); - let onChangeFunc = $(this).attr("onchange"); - if (onChangeFunc) { - // Change 'this' to button's identifier - onChangeFunc = onChangeFunc.replace("this", "'input#" + $(this).attr('id') + "'"); - eval(onChangeFunc); - } - }); - - } else { - // Moving to embed token will reload the sample - ReloadSample(entityType); - } -} - -function ReloadSample(entityType) { - const mode = GetSession(SessionKeys.EmbedMode); - SetIsSample(true); - - if (entityType == EntityType.Report) - { - if (mode == EmbedCreateMode) - { - LoadSampleDatasetIntoSession().then(function (response) { - SetTextBoxesFromSessionOrUrlParam("#txtCreateAccessToken", "#txtCreateReportEmbed", "#txtEmbedDatasetId"); - }); - } - else - { - LoadSampleReportIntoSession().then(function (response) { - SetTextBoxesFromSessionOrUrlParam("#txtAccessToken", "#txtReportEmbed", "#txtEmbedReportId"); - }); - } - } - else if (entityType == EntityType.Visual) - { - LoadSampleVisualIntoSession().then(function (response) { - SetTextBoxesFromSessionOrUrlParam("#txtAccessToken", "#txtReportEmbed", "#txtEmbedReportId"); - SetTextboxFromSessionOrUrlParam(SessionKeys.PageName, "#txtPageName"); - SetTextboxFromSessionOrUrlParam(SessionKeys.VisualName, "#txtVisualName"); - }); - } - else if (entityType == EntityType.Dashboard) - { - LoadSampleDashboardIntoSession().then(function (response) { - SetTextBoxesFromSessionOrUrlParam("#txtAccessToken", "#txtDashboardEmbed", "#txtEmbedDashboardId"); - }); - } - else if (entityType == EntityType.Tile) - { - LoadSampleTileIntoSession().then(function (response) { - SetTextBoxesFromSessionOrUrlParam("#txtAccessToken", "#txtTileEmbed", "#txtEmbedTileId", "#txtEmbedDashboardId"); - }); - } - else if (entityType == EntityType.Qna) - { - LoadSampleQnaIntoSession().then(function (response) { - SetTextBoxesFromSessionOrUrlParam("#txtAccessToken", "#txtQnaEmbed", "#txtDatasetId"); - }); - } - else if (entityType == EntityType.PaginatedReport) - { - LoadSamplePaginatedReportIntoSession().then(function (response) { - SetTextBoxesFromSessionOrUrlParam("#txtAccessToken", "#txtReportEmbed", "#txtEmbedReportId"); - }); - } -} - -function EmbedAreaDesktopView() { - if ($(".desktop-view").hasClass(active_class)) { - return; - } - - $("#btnPhoneView").removeClass(active_mode); - $("#btnDesktopView").addClass(active_mode); - - const entityType = GetSession(SessionKeys.EntityType); - const mode = GetSession(SessionKeys.EmbedMode); - - $(".desktop-view").show(); - $(".mobile-view").hide(); - - $(".desktop-view").addClass(active_class); - $(".mobile-view").removeClass(active_class); - - const containerID = getEmbedContainerID(entityType); - const classPrefix = getEmbedContainerClassPrefix(entityType); - - $(classPrefix + 'MobileContainer').removeAttr('id'); - $(classPrefix + 'Container').attr('id', containerID); - - $(classPrefix + 'MobileContainer').removeClass(active_class); - $(classPrefix + 'Container').addClass(active_class); - - if($('#embed-tab').hasClass(active_tabs_li)) { - // Update embed code area - setCodeArea(mode, entityType); - } - - $('.hideOnMobile').show(); - - // Check if run button was clicked in the other mode and wasn't clicked on the new mode - if ($(classPrefix + "MobileContainer iframe").length && !$(classPrefix + "Container iframe").length) { - let runFunc = getEmbedCode(mode, entityType); - if ($('#interact-tab').hasClass(active_tabs_li)) { - runFunc = updateRunFuncSessionParameters(runFunc); - eval(runFunc); - } else { - runFunc(); - } - } - trackEvent(TelemetryEventName.DesktopModeOpen, {}); -} - -function EmbedAreaMobileView() { - if ($(".mobile-view").hasClass(active_class)) { - return; - } - - $("#btnDesktopView").removeClass(active_mode); - $("#btnPhoneView").addClass(active_mode); - - const entityType = GetSession(SessionKeys.EntityType); - const mode = GetSession(SessionKeys.EmbedMode); - - $(".desktop-view").hide(); - $(".mobile-view").show(); - - $(".desktop-view").removeClass(active_class); - $(".mobile-view").addClass(active_class); - - const containerID = getEmbedContainerID(entityType); - const classPrefix = getEmbedContainerClassPrefix(entityType); - - $(classPrefix + 'Container').removeAttr('id'); - $(classPrefix + 'MobileContainer').attr('id', containerID); - - $(classPrefix + 'Container').removeClass(active_class); - $(classPrefix + 'MobileContainer').addClass(active_class); - - if($('#embed-tab').hasClass(active_tabs_li)) { - // Update embed code area - setCodeArea(mode, entityType); - } - - $('.hideOnMobile').hide(); - - // Remove active class and code if the feature should be hidden on mobile view - if ($('#interact-tab').hasClass(active_tabs_li)) { - let activeHideOnMobile = $('.function-ul .hideOnMobile.active'); - if (activeHideOnMobile.length) { - activeHideOnMobile.removeClass(active_class); - LoadCodeArea("#embedCodeDiv", ""); - } - } - - // Check if run button was clicked in the other mode and wasn't clicked on the new mode - if ($(classPrefix + "Container iframe").length && !$(classPrefix + "MobileContainer iframe").length) { - // It's not enough to check the number of iframes because of the bootstrap feature. - if (GetSession(SessionKeys.EntityIsAlreadyEmbedded)) { - let runFunc = getEmbedCode(mode, entityType); - if ($('#interact-tab').hasClass(active_tabs_li)) { - runFunc = updateRunFuncSessionParameters(runFunc); - eval(runFunc); - } else { - runFunc(); - } - } - } - trackEvent(TelemetryEventName.MobileModeOpen, {}); -} - -function updateRunFuncSessionParameters(runFunc) { - const entityType = GetSession(SessionKeys.EntityType); - const accessToken = '"' + GetSession(SessionKeys.AccessToken) + '"'; - const embedUrl = '"' + GetSession(SessionKeys.EmbedUrl) + '"'; - const embedId = '"' + GetSession(SessionKeys.EmbedId) + '"'; - const dashboardId = '"' + GetSession(SessionKeys.DashboardId) + '"'; - const pageName = '"' + GetSession(SessionKeys.PageName) + '"'; - const visualName = '"' + GetSession(SessionKeys.VisualName) + '"'; - - let code = BodyCodeOfFunction(runFunc); - let tokenType = GetSession(SessionKeys.TokenType); - tokenType = (tokenType != undefined)? tokenType : defaultTokenType; - code = code.replace("$('#txtAccessToken').val()", accessToken) - .replace("$('input:radio[name=tokenType]:checked').val()", tokenType); - - if (entityType == EntityType.Report) { - code = code.replace("$('#txtReportEmbed').val()", embedUrl) - .replace("$('#txtEmbedReportId').val()", embedId); - } else if (entityType == EntityType.Dashboard) { - code = code.replace("$('#txtDashboardEmbed').val()", embedUrl) - .replace("$('#txtEmbedDashboardId').val()", embedId); - } else if (entityType == EntityType.Tile) { - code = code.replace("$('#txtTileEmbed').val()", embedUrl) - .replace("$('#txtEmbedDashboardId').val()", dashboardId) - .replace("$('#txtEmbedTileId').val()", embedId); - } else if (entityType == EntityType.Visual) { - code = code.replace("$('#txtReportEmbed').val()", embedUrl) - .replace("$('#txtEmbedReportId').val()", embedId) - .replace("$('#txtPageName').val()", pageName) - .replace("$('#txtVisualName').val()", visualName); - } else if (entityType == EntityType.Qna) { - let question = GetSession(SessionKeys.QnaQuestion); - question = question? question : defaultQnaQuestion; - let mode = GetSession(SessionKeys.QnaMode); - mode = mode? mode : defaultQnaMode; - code = code.replace("$('#txtQnaEmbed').val()", embedUrl) - .replace("$('#txtDatasetId').val()", embedId) - .replace("$('#txtQuestion').val()", '"' + question + '"') - .replace('$("input[name=' + "'qnaMode'" + ']:checked").val()', '"' + mode + '"'); - } - - return code; -} - -function hideFeaturesOnMobile(){ - if ($(".mobile-view").hasClass(active_class)) - $('.hideOnMobile').hide(); -} - -function onShowcaseTryMeClicked(showcase) { - let showcaseUrl = location.href.substring(0, location.href.lastIndexOf("/")) + '?showcase=' + showcase; - trackEvent(TelemetrySectionName.Showcase, { showcaseType: showcase, src: TelemetryEventSource.Interact }); - window.open(showcaseUrl, '_blank'); -} diff --git a/demo/v2-demo/scripts/session_utils.js b/demo/v2-demo/scripts/session_utils.js deleted file mode 100644 index 43dbfcb2..00000000 --- a/demo/v2-demo/scripts/session_utils.js +++ /dev/null @@ -1,344 +0,0 @@ -const reportUrl = 'https://playgroundbe-bck-1.azurewebsites.net/Reports/SampleReport'; -const datasetUrl = 'https://playgroundbe-bck-1.azurewebsites.net/Reports/SampleCreate'; -const dashboardUrl = 'https://playgroundbe-bck-1.azurewebsites.net/Dashboards/SampleDashboard'; -const tileUrl = 'https://playgroundbe-bck-1.azurewebsites.net/Tiles/SampleTile'; -const qnaUrl = 'https://playgroundbe-bck-1.azurewebsites.net/Datasets/SampleQna'; -const paginatedReportUrl = 'https://playgroundbe-bck-1.azurewebsites.net/Reports/SampleRdlReport'; -const layoutShowcaseReportUrl = 'https://playgroundbe-bck-1.azurewebsites.net/Reports/LayoutDemoReport'; -const insightToActionShowcaseReportUrl = 'https://playgroundbe-bck-1.azurewebsites.net/Reports/InsightToActionReport'; -const themesShowcaseReportUrl = 'https://playgroundbe-bck-1.azurewebsites.net/Reports/ThemesReport'; -const quickVisualCreatorShowcaseReportUrl = 'https://playgroundbe-bck-1.azurewebsites.net/Reports/EmptyReport'; - -var LastReportSampleUrl = null; -var ReportRefreshTokenTimer = 0; -var DashboardRefreshTokenTimer = 0; -var TileRefreshTokenTimer = 0; -var QnaRefreshTokenTimer = 0; - -const EntityType = { - Report : "Report", - Visual : "Visual", - Dashboard : "Dashboard", - Tile : "Tile", - Qna: "Qna", - PaginatedReport: "PaginatedReport" -}; - -const SessionKeys = { - AccessToken : "accessToken", - DashboardId : "dashboardId", - EmbedUrl : "embedUrl", - EmbedId : "embedId", - EmbedMode: "embedMode", - EntityType: "entityType", - GroupId : "groupId", - IsSampleReport: "isSampleReport", - IsSampleDashboard: "IsSampleDashboard", - IsSampleTile: "IsSampleTile", - IsSampleQna: "IsSampleQna", - IsSamplePaginatedReport: "IsSamplePaginatedReport", - IsTelemetryEnabled: "isTelemetryEnabled", - PageName: "PageName", - QnaQuestion: "QnaQuestion", - QnaMode: "QnaMode", - SampleId: "SampleId", - SessionId: "SessionId", - TokenType: "tokenType", - VisualName: "VisualName" -}; - -var _session = {}; - -function initSession() { - SetSession(SessionKeys.SessionId, generateNewGuid()); - if (GetParameterByName(SessionKeys.IsTelemetryEnabled) === "false") { - SetSession(SessionKeys.IsTelemetryEnabled, false); - } else { - SetSession(SessionKeys.IsTelemetryEnabled, true); - } -} - -function GetParameterByName(name, url) { - if (!url) { - url = window.location.href; - } - - name = name.replace(/[\[\]]/g, "\\$&"); - let regex = new RegExp("[?&]" + name + "(=([^&#]*)|&|#|$)"), - results = regex.exec(url); - if (!results) return null; - if (!results[2]) return ''; - return decodeURIComponent(results[2].replace(/\+/g, " ")); -} - -function SetSession(key, value) { - // This is a temporal solution for session (which is cleared on reload). Should be replaced with a real session. - _session[key] = value; -} - -function GetSession(key) { - // This is a temporal solution for session (which is cleared on reload). Should be replaced with a real session. - return _session[key]; -} - -function UpdateSession(button, sessionKey) { - const value = $(button).val(); - if (value || value === "") - { - SetSession(sessionKey, value); - SetIsSample(false); - } -} - -function SetIsSample(value) { - const entityType = GetSession(SessionKeys.EntityType); - - if (entityType == EntityType.Report) - { - SetSession(SessionKeys.IsSampleReport, value); - } - else if (entityType == EntityType.Visual) - { - SetSession(SessionKeys.IsSampleReport, value); - } - else if (entityType == EntityType.Dashboard) - { - SetSession(SessionKeys.IsSampleDashboard, value); - } - else if (entityType == EntityType.Tile) - { - SetSession(SessionKeys.IsSampleTile, value); - } - else if (entityType == EntityType.Qna) - { - SetSession(SessionKeys.IsSampleQna, value); - } - else if (entityType == EntityType.PaginatedReport) - { - SetSession(SessionKeys.IsSamplePaginatedReport, value); - } -} - -function SetTextboxFromSessionOrUrlParam(sessionKey, textboxSelector) { - let value = GetParameterByName(sessionKey); - if (!value) - { - value = GetSession(sessionKey); - } else { - SetSession(sessionKey, value); - } - $(textboxSelector).val(value); -} - -function SetTextBoxesFromSessionOrUrlParam(accessTokenSelector, embedUrlSelector, embedIdSelector, dashboardIdSelector) { - let accessToken = GetParameterByName(SessionKeys.AccessToken); - if (!accessToken) - { - accessToken = GetSession(SessionKeys.AccessToken); - } else { - SetSession(SessionKeys.AccessToken, accessToken); - } - - let embedUrl = GetParameterByName(SessionKeys.EmbedUrl); - if (!embedUrl) - { - embedUrl = GetSession(SessionKeys.EmbedUrl); - } else { - let groupId = GetParameterByName(SessionKeys.GroupId); - if (groupId) - { - if (embedUrl.indexOf("?") != -1) - { - embedUrl += "&groupId=" + groupId; - } else { - embedUrl += "?groupId=" + groupId; - } - } - SetSession(SessionKeys.EmbedUrl, embedUrl); - } - - let embedId = GetParameterByName(SessionKeys.EmbedId); - if (!embedId) - { - embedId = GetSession(SessionKeys.EmbedId); - } else { - SetSession(SessionKeys.EmbedId, embedId); - } - - let tokenType = GetParameterByName(SessionKeys.TokenType); - if (!tokenType) - { - tokenType = GetSession(SessionKeys.TokenType); - } else { - SetSession(SessionKeys.TokenType, tokenType); - } - - let dashboardId = GetParameterByName(SessionKeys.DashboardId); - if (!dashboardId) { - dashboardId = GetSession(SessionKeys.DashboardId); - } else { - SetSession(SessionKeys.DashboardId, dashboardId); - } - - $(accessTokenSelector).val(accessToken); - $(embedUrlSelector).val(embedUrl); - $(embedIdSelector).val(embedId); - $(dashboardIdSelector).val(dashboardId); - - // - // Set the embed type (Saas or Embed token) - // - let embedTypeRadios = $('input:radio[name=tokenType]'); - embedTypeRadios.filter('[value=' + tokenType + ']').prop('checked', true); -} - -function FetchUrlIntoSession(url, updateCurrentToken) { - return $.getJSON(url, function (embedConfig) { - setSession(embedConfig.EmbedToken.Token, embedConfig.EmbedUrl, embedConfig.Id, embedConfig.DashboardId); - SetSession(SessionKeys.SampleId, embedConfig.Id); - - if (updateCurrentToken) - { - let embedContainerId = getEmbedContainerID(capitalizeFirstLetter(embedConfig.Type)); - - let embedContainer = powerbi.embeds.filter(function(embedElement) { return embedElement.element.id === embedContainerId; })[0]; - if (embedContainer) - { - embedContainer.setAccessToken(embedConfig.EmbedToken.Token); - } - } - - if (embedConfig.Type === "report" || embedConfig.Type === "visual") - { - // Set single visual embed sample details. - SetSession(SessionKeys.PageName, "ReportSectioneb8c865100f8508cc533"); - SetSession(SessionKeys.VisualName, "47eb6c0240defd498d4b"); - - LastReportSampleUrl = url; - } - - TokenExpirationRefreshListener(embedConfig.MinutesToExpiration, capitalizeFirstLetter(embedConfig.Type)); - }); -} - -function capitalizeFirstLetter(string) { - return string.charAt(0).toUpperCase() + string.slice(1); -} - -function TokenExpirationRefreshListener(minutesToExpiration, entityType) { - const updateAfterMilliSeconds = (minutesToExpiration - 2) * 60 * 1000; - - if (entityType == EntityType.Report || entityType == EntityType.Visual) { - setTokenRefreshListener(updateAfterMilliSeconds, ReportRefreshTokenTimer, LastReportSampleUrl, entityType); - } else if (entityType == EntityType.Dashboard) { - setTokenRefreshListener(updateAfterMilliSeconds, DashboardRefreshTokenTimer, dashboardUrl, entityType); - } else if (entityType == EntityType.Qna) { - setTokenRefreshListener(updateAfterMilliSeconds, QnaRefreshTokenTimer, qnaUrl, entityType); - } else { - setTokenRefreshListener(updateAfterMilliSeconds, TileRefreshTokenTimer, tileUrl, entityType); - } -} - -function setTokenRefreshListener(updateAfterMilliSeconds, RefreshTokenTimer, url, entityType) { - if (RefreshTokenTimer) - { - console.log("step current " + entityType + " Embed Token update threads."); - clearTimeout(RefreshTokenTimer); - } - - console.log(entityType + " Embed Token will be updated in " + updateAfterMilliSeconds + " milliseconds."); - RefreshTokenTimer = setTimeout(function() { - if (url) - { - FetchUrlIntoSession(url, true /* updateCurrentToken */); - } - }, updateAfterMilliSeconds); -} - -function LoadSampleReportIntoSession() { - SetSession(SessionKeys.EntityType, EntityType.Report); - return FetchUrlIntoSession(reportUrl, false /* updateCurrentToken */); -} - -function LoadSampleVisualIntoSession() { - SetSession(SessionKeys.EntityType, EntityType.Visual); - return FetchUrlIntoSession(reportUrl, false /* updateCurrentToken */); -} - -function LoadSampleDatasetIntoSession() { - SetSession(SessionKeys.EntityType, EntityType.Report); - return FetchUrlIntoSession(datasetUrl, false /* updateCurrentToken */); -} - -function LoadSampleDashboardIntoSession() { - SetSession(SessionKeys.EntityType, EntityType.Dashboard); - return FetchUrlIntoSession(dashboardUrl, false /* updateCurrentToken */); -} - -function LoadSampleTileIntoSession() { - SetSession(SessionKeys.EntityType, EntityType.Tile); - return FetchUrlIntoSession(tileUrl, false /* updateCurrentToken */); -} - -function LoadSampleQnaIntoSession() { - SetSession(SessionKeys.EntityType, EntityType.Qna); - return FetchUrlIntoSession(qnaUrl, false /* updateCurrentToken */); -} - -function LoadSamplePaginatedReportIntoSession() { - SetSession(SessionKeys.EntityType, EntityType.PaginatedReport); - return FetchUrlIntoSession(paginatedReportUrl, false /* updateCurrentToken */); -} - -function LoadLayoutShowcaseReportIntoSession() { - SetSession(SessionKeys.EntityType, EntityType.Report); - return FetchUrlIntoSession(layoutShowcaseReportUrl, false /* updateCurrentToken */); -} - -function LoadInsightToActionShowcaseReportIntoSession() { - SetSession(SessionKeys.EntityType, EntityType.Report); - return FetchUrlIntoSession(insightToActionShowcaseReportUrl, false /* updateCurrentToken */); -} - -function LoadThemesShowcaseReportIntoSession() { - SetSession(SessionKeys.EntityType, EntityType.Report); - return FetchUrlIntoSession(themesShowcaseReportUrl, false /* updateCurrentToken */); -} - -function LoadQuickVisualCreatorShowcaseReportIntoSession() { - SetSession(SessionKeys.EntityType, EntityType.Report); - return FetchUrlIntoSession(quickVisualCreatorShowcaseReportUrl, false /* updateCurrentToken */); -} - -function WarmStartSampleReportEmbed() { - let embedUrl = GetParameterByName(SessionKeys.EmbedUrl); - if (embedUrl) { - preload(embedUrl); - return; - } - - FetchUrlIntoSession(reportUrl, false /* updateCurrentToken */).then(function (response) { - embedUrl = GetSession(SessionKeys.EmbedUrl); - preload(embedUrl); - }); -} - -function preload(embedUrl) { - const config = { - type: 'report', - embedUrl: embedUrl - }; - - // Preload sample report - powerbi.preload(config); -} - -function setSession(accessToken, embedUrl, embedId, dashboardId) -{ - SetSession(SessionKeys.AccessToken, accessToken); - SetSession(SessionKeys.EmbedUrl, embedUrl); - SetSession(SessionKeys.EmbedId, embedId); - SetSession(SessionKeys.DashboardId, dashboardId); -} - -initSession(); \ No newline at end of file diff --git a/demo/v2-demo/scripts/step_embed.js b/demo/v2-demo/scripts/step_embed.js deleted file mode 100644 index 48990476..00000000 --- a/demo/v2-demo/scripts/step_embed.js +++ /dev/null @@ -1,363 +0,0 @@ -// ---- Report Operations ---------------------------------------------------- -function Report_GetId() { - SetCode(_Report_GetId); -} - -function Report_UpdateSettings() { - SetCode(_Report_UpdateSettings); -} - -function Report_GetPages() { - SetCode(_Report_GetPages); -} - -function Report_SetPage() { - SetCode(_Report_SetPage); -} - -function Report_GetFilters() { - SetCode(_Report_GetFilters); -} - -function Report_SetFilters() { - SetCode(_Report_SetFilters); -} - -function Report_RemoveFilters() { - SetCode(_Report_RemoveFilters); -} - -function Report_PrintCurrentReport() { - SetCode(_Report_PrintCurrentReport); -} - -function Report_Reload() { - SetCode(_Report_Reload); -} - -function PaginatedReport_Reload() { - SetCode(_PaginatedReport_Reload); -} - -function PaginatedReport_GetId() { - SetCode(_PaginatedReport_GetId); -} - -function PaginatedReport_FullScreen() { - SetCode(_PaginatedReport_FullScreen); -} - -function PaginatedReport_ExitFullScreen() { - SetCode(_PaginatedReport_ExitFullScreen); -} - -function Report_Refresh() { - SetCode(_Report_Refresh); -} - -function Report_FullScreen() { - SetCode(_Report_FullScreen); -} - -function Report_ExitFullScreen() { - SetCode(_Report_ExitFullScreen); -} - -function Report_Extensions_ContextMenu() { - SetCode(_Report_Extensions_ContextMenu); -} - -function Report_Extensions_OptionsMenu() { - SetCode(_Report_Extensions_OptionsMenu); -} - -function Visual_Operations_SortVisualBy() { - SetCode(_Visual_Operations_SortVisualBy); -} - -function Report_ApplyCustomLayout() { - SetCode(_Report_ApplyCustomLayout); -} - -function Report_HideAllVisualHeaders() { - SetCode(_Report_HideAllVisualHeaders); -} - -function Report_ShowAllVisualHeaders() { - SetCode(_Report_ShowAllVisualHeaders); -} - -function Report_HideSingleVisualHeader() { - SetCode(_Report_HideSingleVisualHeader); -} - -// ---- Page Operations ---------------------------------------------------- - -function Page_SetActive() { - SetCode(_Page_SetActive); -} - -function Page_GetFilters() { - SetCode(_Page_GetFilters); -} - -function Page_GetVisuals() { - SetCode(_Page_GetVisuals); -} - -function Page_SetFilters() { - SetCode(_Page_SetFilters); -} - -function Page_RemoveFilters() { - SetCode(_Page_RemoveFilters); -} - -function Page_HasLayout() { - SetCode(_Page_HasLayout); -} -// ---- Event Listener ---------------------------------------------------- - -function Events_PageChanged() { - SetCode(_Events_PageChanged); -} - -function Events_DataSelected() { - SetCode(_Events_DataSelected); -} - -function Events_SaveAsTriggered() { - SetCode(_Events_SaveAsTriggered); -} - -function Events_BookmarkApplied() { - SetCode(_Events_BookmarkApplied); -} - -function Events_ReportLoaded() { - SetCode(_Events_ReportLoaded); -} - -function Events_ReportRendered() { - SetCode(_Events_ReportRendered); -} - -function Events_ReportSaved() { - SetCode(_Events_ReportSaved); -} - -function Events_TileLoaded() { - SetCode(_Events_TileLoaded); -} - -function Events_TileClicked() { - SetCode(_Events_TileClicked); -} - -function Events_ButtonClicked() { - SetCode(_Events_ButtonClicked) -} - -// ---- Edit and Save Operations ---------------------------------------------------- - -function Report_switchModeEdit() { - SetCode(_Report_switchModeEdit); -} - -function Report_switchModeView() { - SetCode(_Report_switchModeView); -} - -function Report_save() { - SetCode(_Report_save); -} - -function Report_saveAs() { - SetCode(_Report_saveAs); -} - -// ---- Bookmarks Operations ---------------------------------------------------- -function Bookmarks_Enable() { - SetCode(_Bookmarks_Enable); -} - -function Bookmarks_Disable() { - SetCode(_Bookmarks_Disable); -} - -function Bookmarks_Get() { - SetCode(_Bookmarks_Get); -} - -function Bookmarks_Apply() { - SetCode(_Bookmarks_Apply); -} - -function Bookmarks_Capture() { - SetCode(_Bookmarks_Capture); -} - -function Bookmarks_ApplyState() { - SetCode(_Bookmarks_ApplyState); -} - -function Bookmarks_EnterPresentation() { - SetCode(_Bookmarks_EnterPresentation); -} - -function Bookmarks_ExitPresentation() { - SetCode(_Bookmarks_ExitPresentation); -} - -// ---- Dashboard Operations ---------------------------------------------------- - -function Dashboard_GetId() { - SetCode(_Dashboard_GetId); -} - -function Dashboard_FullScreen() { - SetCode(_Dashboard_FullScreen); -} - -function Dashboard_ExitFullScreen() { - SetCode(_Dashboard_ExitFullScreen); -} - - -// ---- Dashboard Events Listener ---------------------------------------------------- - -function DashboardEvents_TileClicked() { - SetCode(_DashboardEvents_TileClicked); -} - -// ---- Q&A Events Listener ---------------------------------------------------- - -function Qna_SetQuestion() { - SetCode(_Qna_SetQuestion); -} - -function Qna_QuestionChanged() { - SetCode(_Qna_QuestionChanged); -} - -// ---- Visual Events Listener ---------------------------------------------------- - -function Visual_DataSelected() { - SetCode(_Visual_DataSelected); -} - -// ---- Visuals ------------------------------------------------------------------- - -function Visual_GetFilters() { - SetCode(_Visual_GetFilters); -} - -function Visual_SetFilters() { - SetCode(_Visual_SetFilters); -} - -function Visual_GetSlicer() { - SetCode(_Visual_GetSlicer); -} - -function Visual_SetSlicer() { - SetCode(_Visual_SetSlicer); -} - -function Visual_RemoveFilters() { - SetCode(_Visual_RemoveFilters); -} - -function Visual_ExportData_Summarized() { - SetCode(_Visual_ExportData_Summarized); -} - -function Visual_ExportData_Underlying() { - SetCode(_Visual_ExportData_Underlying); -} - -function ReportVisual_UpdateSettings() { - SetCode(_ReportVisual_UpdateSettings); -} - -function ReportVisual_Report_SetFilters() { - SetCode(_ReportVisual_Report_SetFilters); -} - -function ReportVisual_Report_GetFilters() { - SetCode(_ReportVisual_Report_GetFilters); -} - -function ReportVisual_Report_RemoveFilters() { - SetCode(_ReportVisual_Report_RemoveFilters); -} - -function ReportVisual_Page_SetFilters() { - SetCode(_ReportVisual_Page_SetFilters); -} - -function ReportVisual_Page_GetFilters() { - SetCode(_ReportVisual_Page_GetFilters); -} - -function ReportVisual_Page_RemoveFilters() { - SetCode(_ReportVisual_Page_RemoveFilters); -} - -function ReportVisual_Visual_SetFilters() { - SetCode(_ReportVisual_Visual_SetFilters); -} - -function ReportVisual_Visual_GetFilters() { - SetCode(_ReportVisual_Visual_GetFilters); -} - -function ReportVisual_Visual_RemoveFilters() { - SetCode(_ReportVisual_Visual_RemoveFilters); -} - -function ReportVisual_HideSingleVisualHeader() { - SetCode(_ReportVisual_HideSingleVisualHeader); -} - -// ---- Report Authoring ---------------------------------------------------- - -function Report_Authoring_Create() { - SetCode(_Report_Authoring_Create); -} - -function Report_Authoring_ChangeType() { - SetCode(_Report_Authoring_ChangeType); -} - -function Report_Authoring_Remove() { - SetCode(_Report_Authoring_Remove); -} - -function Report_Authoring_Capabilities() { - SetCode(_Report_Authoring_Capabilities); -} - -function Report_Authoring_AddDataField() { - SetCode(_Report_Authoring_AddDataField); -} - -function Report_Authoring_RemoveDataField() { - SetCode(_Report_Authoring_RemoveDataField); -} - -function Report_Authoring_GetDataField() { - SetCode(_Report_Authoring_GetDataField); -} - -function Report_Authoring_GetProperty() { - SetCode(_Report_Authoring_GetProperty); -} - -function Report_Authoring_SetProperty() { - SetCode(_Report_Authoring_SetProperty); -} - -function Report_Authoring_ResetProperty() { - SetCode(_Report_Authoring_ResetProperty); -} diff --git a/demo/v2-demo/scripts/step_interact.js b/demo/v2-demo/scripts/step_interact.js deleted file mode 100644 index 2df577f8..00000000 --- a/demo/v2-demo/scripts/step_interact.js +++ /dev/null @@ -1,84 +0,0 @@ -function OpenBookmarksOperations() { - $("#bookmarks-operations-ul").toggle(); - $("#bookmarks-operations").toggleClass("active"); -} - -function OpenEditSaveOperations() { - $("#editsave-operations-ul").toggle(); - $("#editsave-operations").toggleClass("active"); -} - -function OpenDataOperations() { - $("#data-operations-ul").toggle(); - $("#data-operations").toggleClass("active"); -} - -function OpenAuthoringOperations() { - $("#authoring-operations-ul").toggle(); - $("#authoring-operations").toggleClass("active"); -} - -function OpenMenuOperations() { - $("#menu-operations-ul").toggle(); - $("#menu-operations").toggleClass("active"); -} - -function OpenReportPropertiesOperations() { - $("#reportproperties-operations-ul").toggle(); - $("#reportproperties-operations").toggleClass("active"); -} - -function OpenFiltersOperations() { - $("#filters-operations-ul").toggle(); - $("#filters-operations").toggleClass("active"); -} - -function OpenGeneralOperations() { - $("#general-operations-ul").toggle(); - $("#general-operations").toggleClass("active"); -} - -function OpenLayoutOperations() { - $("#layout-operations-ul").toggle(); - $("#layout-operations").toggleClass("active"); -} - -function OpenNavigationOperations() { - $("#navigation-operations-ul").toggle(); - $("#navigation-operations").toggleClass("active"); -} - -function OpenDashboardGeneralOperations() { - $("#dashboard-general-operations-ul").toggle(); - $("#dashboard-general-operations").toggleClass("active"); -} - -function OpenDashboardPropertiesOperations() { - $("#dashboard-properties-operations-ul").toggle(); - $("#dashboard-properties-operations").toggleClass("active"); -} - -function OpenDashboardEventsOperations() { - $("#dashboard-events-operations-ul").toggle(); - $("#dashboard-events-operations").toggleClass("active"); -} - -function OpenQnaOperations() { - $("#qna-operations-ul").toggle(); - $("#qna-operations").toggleClass("active"); -} - -function OpenQnaEventsOperations() { - $("#qna-events-operations-ul").toggle(); - $("#qna-events-operations").toggleClass("active"); -} - -function SetToggleHandler(devId) { - const selector = "#" + devId + " .function-ul li"; - $(selector).each(function(index, li) { - $(li).click(function() { - $(selector).removeClass('active'); - $(li).addClass('active'); - }); - }); -} diff --git a/demo/v2-demo/scripts/step_samples.js b/demo/v2-demo/scripts/step_samples.js deleted file mode 100644 index a2d4dd29..00000000 --- a/demo/v2-demo/scripts/step_samples.js +++ /dev/null @@ -1,46 +0,0 @@ -function OpenCodeStepWithSample(entityType) { - $("html, body").animate({ scrollTop: 0 }, "slow"); - - // Clear the log - ClearTextArea('#txtResponse'); - - SetSession(SessionKeys.EntityType, entityType); - SetSession(SessionKeys.TokenType, defaultTokenType); - - if (entityType == EntityType.Report) - { - SetSession(SessionKeys.IsSampleReport, true); - OpenCodeStep(EmbedViewMode, EntityType.Report); - } - else if (entityType == EntityType.Visual) - { - SetSession(SessionKeys.IsSampleReport, true); - OpenCodeStep(EmbedViewMode, EntityType.Visual); - } - else if (entityType == EntityType.Dashboard) - { - SetSession(SessionKeys.IsSampleDashboard, true); - OpenCodeStep(EmbedViewMode, EntityType.Dashboard); - } - else if (entityType == EntityType.Tile) - { - SetSession(SessionKeys.IsSampleTile, true); - OpenCodeStep(EmbedViewMode, EntityType.Tile) - } - else if (entityType == EntityType.Qna) - { - SetSession(SessionKeys.IsSampleQna, true); - OpenCodeStep(EmbedViewMode, EntityType.Qna) - } - else if (entityType == EntityType.PaginatedReport) - { - SetSession(SessionKeys.IsSamplePaginatedReport, true); - OpenCodeStep(EmbedViewMode, EntityType.PaginatedReport) - } - else { - assert(false); - trackEvent(TelemetryEventName.CodeStepError, {}); - return; - } - trackEvent(TelemetrySectionName.SampleTool, { entityType: entityType, src: TelemetryEventSource.UserClick }); -} diff --git a/demo/v2-demo/scripts/telemetry.js b/demo/v2-demo/scripts/telemetry.js deleted file mode 100644 index 006046c1..00000000 --- a/demo/v2-demo/scripts/telemetry.js +++ /dev/null @@ -1,46 +0,0 @@ -const TelemetryEventName = { - CodeStepError: "CodeStepError", - CopyCode: "CopyCode", - CopyLog: "CopyLog", - DesktopModeOpen: "DesktopModeOpen", - InnerSectionOpen: "InnerSectionOpen", - Interact: "Interact", - MobileModeOpen: "MobileModeOpen", - RunClick: "RunClick", - SectionOpen: "SectionOpen", - SessionStart: "SessionStart" -}; -const TelemetryEventSource = { - Url: "Url", - UserClick: "UserClick" -}; - -const TelemetryInnerSection = { - Code: "Code", - Sample: "Sample" -}; - -const TelemetrySectionName = { - Documentation: "Documentation", - SampleTool: "SampleTool", - Showcase: "Showcase" -}; - -function trackEvent(name, properties, flush) { - if (!_session[SessionKeys.IsTelemetryEnabled]) { - return; - } - assert(name && properties); - properties.sessionId = GetSession(SessionKeys.SessionId); - - getAppInsightsInstance().then(function(ai) { - // Normally, the SDK sends data at fixed intervals (typically 30 secs) or whenever buffer is full (typically 500 items). - // https://docs.microsoft.com/en-us/azure/azure-monitor/app/api-custom-events-metrics#flushing-data - ai.trackEvent({ name: name, properties: properties }); - if (flush) { - ai.flush(); - } - }); -} - -trackEvent(TelemetryEventName.SessionStart, { referrer: document.referrer }, true); \ No newline at end of file diff --git a/demo/v2-demo/scripts/utils.js b/demo/v2-demo/scripts/utils.js deleted file mode 100644 index 663645e3..00000000 --- a/demo/v2-demo/scripts/utils.js +++ /dev/null @@ -1,249 +0,0 @@ -var currentCode = ""; -const interactIndicationTimeout = 5000; -const elementClickedTimeout = 250; -const textCodeTimeout = 100; - -function BodyCodeOfFunction(func) { - let lines = func.toString().split('\n'); - lines = lines.slice(1, lines.length-1); - - for (let i = 0; i < lines.length; ++i) - { - // remove trailing spaces. - lines[i] = lines[i].substring(4); - } - - return lines.join('\n'); -} - -function LoadCodeArea(divSelector, initialFunctionCode) { - $(divSelector).load("code_area.html", function() { - SetCode(initialFunctionCode); - }); -} - -function LoadLogWindow(divSelector) { - $(divSelector).load("log_window.html"); -} - -function SetCode(func) { - currentCode = BodyCodeOfFunction(func); - - $("#highlighter").empty(); - - var txtCodeElement = document.createElement("div"); - txtCodeElement.setAttribute("id", "txtCode"); - txtCodeElement.setAttribute("style", "display: none;"); - - var preElement = document.createElement("pre"); - preElement.setAttribute("class", "brush: js; gutter: false;"); - - var codeElement = document.createTextNode(currentCode); - preElement.appendChild(codeElement); - txtCodeElement.appendChild(preElement); - $("#highlighter").append(txtCodeElement); - - var scriptElement = document.createElement("script"); - scriptElement.setAttribute("type", "text/javascript"); - scriptElement.setAttribute("src", "syntaxHighlighter/syntaxhighlighter.js"); - $("#highlighter").append(scriptElement); - - setTimeout(function() { - $("#txtCode").show(); - }, textCodeTimeout); - - if (func != "") { - let runFunc = mapFunc(func); - let funcName = getFuncName(runFunc); - if (funcName.match(/Embed/)) { - let oldFunc = runFunc; - runFunc = function() { - oldFunc(); - - SetSession(SessionKeys.EntityIsAlreadyEmbedded, true); - - $('#interact-tab').addClass('enableTransition'); - setTimeout(function() { - $('#interact-tab').addClass('changeColor'); - }, interactIndicationTimeout); - } - } - - $('#btnRunCode').off('click'); - $('#btnRunCode').click(function() { - showEmbedContainer(); - removeIframeIfUrlIsChanged(); - elementClicked('#btnRunCode'); - trackEvent(TelemetryEventName.RunClick, { EmbedType: GetSession(SessionKeys.EntityType), TokenType: GetSession(SessionKeys.TokenType), ApiUsed: funcName }); - runFunc(); - }); - // TODO: add indication to click Interact tab on first embedding - } -} - -function CopyCode() { - const id = "clipboard-textarea"; - let textarea = document.getElementById(id); - - if (!textarea) { - textarea = document.createElement("textarea"); - textarea.id = id; - document.querySelector("body").appendChild(textarea); - } - - textarea.value = currentCode; - CopyTextArea('#' + id, "#btnRunCopyCode"); - trackEvent(TelemetryEventName.CopyCode, {}); -} - -function CopyResponseWindow() { - CopyTextArea("#txtResponse", "#btnCopyResponse"); - trackEvent(TelemetryEventName.CopyLog, {}); -} - -function CopyTextArea(textAreaSelector, buttonSelector) { - $(textAreaSelector).select(); - document.execCommand('copy'); - window.getSelection().removeAllRanges(); - - // Set focus on copy button - this will deselect text in copied area. - $(buttonSelector).focus(); -} - -function ClearTextArea(textAreaSelector) { - $(textAreaSelector).val(""); -} - -function getEmbedContainerID(entityType) { - switch (entityType) { - case EntityType.Dashboard: - return "dashboardContainer"; - case EntityType.Tile: - return "tileContainer"; - case EntityType.Qna: - return "qnaContainer"; - case EntityType.PaginatedReport: - return "paginatedReportContainer"; - default: - return "embedContainer"; - } -} - -function getEmbedContainerClassPrefix(entityType) { - switch (entityType) { - case EntityType.Visual: - return ".visual"; - case EntityType.Dashboard: - return ".dashboard"; - case EntityType.Tile: - return ".tile"; - case EntityType.Qna: - return ".qna"; - case EntityType.PaginatedReport: - return ".paginatedReport"; - default: - return ".report"; - } -} - -function getActiveEmbedContainer() { - const entityType = GetSession(SessionKeys.EntityType); - const classPrefix = getEmbedContainerClassPrefix(entityType); - const activeContainer = classPrefix + ($(".desktop-view").hasClass(active_class) ? 'Container' : 'MobileContainer'); - return $(activeContainer)[0]; -} - -function getEntityTypeFromParameter(urlParam) { - switch (urlParam) { - case "visual": - return EntityType.Visual; - case "dashboard": - return EntityType.Dashboard; - case "tile": - return EntityType.Tile; - case "qna": - return EntityType.Qna; - case "rdl": - return EntityType.PaginatedReport; - default: - return EntityType.Report; - } -} - -function elementClicked(element) { - $(element).addClass('elementClicked'); - setTimeout(function() { - $(element).removeClass('elementClicked'); - }, elementClickedTimeout); -} - -function showEmbedContainer() { - const activeContainer = getActiveEmbedContainer(); - $(activeContainer).css({"visibility":"visible"}); -} - -function removeIframeIfUrlIsChanged() { - const activeContainer = getActiveEmbedContainer(); - if (!activeContainer || !activeContainer.powerBiEmbed || !activeContainer.powerBiEmbed.iframe) { - return; - } - - let existingIframeUrl = removeArgFromUrl(activeContainer.powerBiEmbed.iframe.src, "uid"); - existingIframeUrl = removeArgFromUrl(existingIframeUrl, "isMobile"); - - let embedUrl = GetSession(SessionKeys.EmbedUrl); - - if (embedUrl !== existingIframeUrl) { - // textbox has changed, delete the iframe and avoid the bootstrap. - powerbi.reset(activeContainer); - } -} - -function SetAuthoringPageActive(report) { - return new Promise(function(resolve, reject) { - - // Get all report pages - report.getPages().then(function (pages) { - - // Find authoring page - var authoringPage = pages.filter(function (page) { - return page.name === "ReportSection6da8317ad6cbcae5b3bb"; - })[0]; - - // If active page is not authoring page, navigate to authoring page - if (authoringPage.isActive) { - resolve(authoringPage); - } else { - authoringPage.setActive().then(function () { - Log.logText("Page was set to authoring page."); - resolve(authoringPage); - }).catch(function (errors) { - reject(errors); - }); - } - }).catch(function (errors) { - reject(errors); - }); - }); -} - -function removeArgFromUrl(url, arg) { - const argRegEx = new RegExp(arg + '="?([^&]+)"?') - const argMatch = url.match(argRegEx); - - if (argMatch) { - return url.replace("&" + argMatch[0], ""); - } - - return url; -} - -function getRandomValue() { - - // window.msCrypto for IE - var cryptoObj = window.crypto || window.msCrypto; - var randomValueArray = new Uint32Array(1); - cryptoObj.getRandomValues(randomValueArray); - - return randomValueArray[0]; -} \ No newline at end of file diff --git a/demo/v2-demo/settings_embed_dashboard.html b/demo/v2-demo/settings_embed_dashboard.html deleted file mode 100644 index 223706ee..00000000 --- a/demo/v2-demo/settings_embed_dashboard.html +++ /dev/null @@ -1,34 +0,0 @@ -
-
- Select token type: - -
- - -
-
-
- Fill in the fields below to get the code to embed your dashboard. -
- -
-
Embed Token
- -
-
-
Embed URL
- -
-
-
Dashboard ID
- -
-
-
-
\ No newline at end of file diff --git a/demo/v2-demo/settings_embed_paginatedreport.html b/demo/v2-demo/settings_embed_paginatedreport.html deleted file mode 100644 index 87531300..00000000 --- a/demo/v2-demo/settings_embed_paginatedreport.html +++ /dev/null @@ -1,33 +0,0 @@ -
-
- Select token type: - -
- - -
- -
Fill in the fields below to get the code to embed your paginated report
-
-
-
-
Embed Token
- -
-
-
Embed URL
- -
-
-
Report ID
- -
-
-
-
\ No newline at end of file diff --git a/demo/v2-demo/settings_embed_qna.html b/demo/v2-demo/settings_embed_qna.html deleted file mode 100644 index 5318ecfa..00000000 --- a/demo/v2-demo/settings_embed_qna.html +++ /dev/null @@ -1,44 +0,0 @@ -
-
- Select mode to embed Q&A in: -
-
- - - -
- -
- Q&A input question -
- -
- -
-
Fill in the fields below to get the code to embed your Q&A.
-
- -
-
Embed Token
- -
-
-
Embed URL
- -
-
-
Dataset ID
- -
-
-
-
\ No newline at end of file diff --git a/demo/v2-demo/settings_embed_report.html b/demo/v2-demo/settings_embed_report.html deleted file mode 100644 index be75be21..00000000 --- a/demo/v2-demo/settings_embed_report.html +++ /dev/null @@ -1,77 +0,0 @@ -
-
-
Select mode to embed your report in:
-
- -
- - User can view and interact with the report -
- -
- - User can edit and save the report -
- -
- - User can Create and save a new report -
-
- - Select token type: - -
- - -
- -
Fill in the fields below to get the code to embed your report
-
-
-
-
Embed Token
- -
-
-
Embed URL
- -
-
-
Report ID
- -
-
- -
- -
-
Embed Token
- -
-
-
Embed URL
- -
-
-
Dataset ID
- -
-
-
-
\ No newline at end of file diff --git a/demo/v2-demo/settings_embed_tile.html b/demo/v2-demo/settings_embed_tile.html deleted file mode 100644 index baf07ce9..00000000 --- a/demo/v2-demo/settings_embed_tile.html +++ /dev/null @@ -1,38 +0,0 @@ -
-
- Select token type: - -
- - -
-
-
- Fill in the fields below to get the code to embed your tile. -
- -
-
Embed Token
- -
-
-
Embed URL
- -
-
-
Dashboard ID
- -
-
-
Tile ID
- -
-
-
-
\ No newline at end of file diff --git a/demo/v2-demo/settings_embed_visual.html b/demo/v2-demo/settings_embed_visual.html deleted file mode 100644 index 658628ce..00000000 --- a/demo/v2-demo/settings_embed_visual.html +++ /dev/null @@ -1,58 +0,0 @@ -
-
- Select token type: - -
- - -
- -
- Fill in the fields below to get the code to embed your visual -
-
-
-
Embed Token
- -
-
-
Embed URL
- -
-
-
Report ID
- -
- - -
-
-
\ No newline at end of file diff --git a/demo/v2-demo/settings_interact_dashboard.html b/demo/v2-demo/settings_interact_dashboard.html deleted file mode 100644 index 7a4c90fc..00000000 --- a/demo/v2-demo/settings_interact_dashboard.html +++ /dev/null @@ -1,25 +0,0 @@ -
- -
\ No newline at end of file diff --git a/demo/v2-demo/settings_interact_paginatedreport.html b/demo/v2-demo/settings_interact_paginatedreport.html deleted file mode 100644 index ae51d78d..00000000 --- a/demo/v2-demo/settings_interact_paginatedreport.html +++ /dev/null @@ -1,22 +0,0 @@ -
-
- -
-
\ No newline at end of file diff --git a/demo/v2-demo/settings_interact_qna.html b/demo/v2-demo/settings_interact_qna.html deleted file mode 100644 index 9bf9f227..00000000 --- a/demo/v2-demo/settings_interact_qna.html +++ /dev/null @@ -1,20 +0,0 @@ -
-
-
- -
-
-
\ No newline at end of file diff --git a/demo/v2-demo/settings_interact_report.html b/demo/v2-demo/settings_interact_report.html deleted file mode 100644 index 0c097ab7..00000000 --- a/demo/v2-demo/settings_interact_report.html +++ /dev/null @@ -1,122 +0,0 @@ -
-
-
-
-
- -
-
-
-
-
\ No newline at end of file diff --git a/demo/v2-demo/settings_interact_tile.html b/demo/v2-demo/settings_interact_tile.html deleted file mode 100644 index 36616308..00000000 --- a/demo/v2-demo/settings_interact_tile.html +++ /dev/null @@ -1,17 +0,0 @@ - \ No newline at end of file diff --git a/demo/v2-demo/settings_interact_visual.html b/demo/v2-demo/settings_interact_visual.html deleted file mode 100644 index 5fbdb307..00000000 --- a/demo/v2-demo/settings_interact_visual.html +++ /dev/null @@ -1,54 +0,0 @@ - \ No newline at end of file diff --git a/demo/v2-demo/shareBookmark.html b/demo/v2-demo/shareBookmark.html deleted file mode 100644 index 7c307f1d..00000000 --- a/demo/v2-demo/shareBookmark.html +++ /dev/null @@ -1,20 +0,0 @@ - - - -
-
-
- - - - - - - - - - \ No newline at end of file diff --git a/demo/v2-demo/showcases.html b/demo/v2-demo/showcases.html deleted file mode 100644 index 320ec827..00000000 --- a/demo/v2-demo/showcases.html +++ /dev/null @@ -1,90 +0,0 @@ -
-

Interactive feature showcase

-
-
- Experience our new features.
- Select the showcase you want to explore to get started. -
-
- -
-
-
-
- -
-
-
-

Dynamic report layout

- Use this showcase to learn the custom layout API for dynamic embedding of visuals. -
-
- -
-
-
- -
-
- -
-
-
-

Capture & share bookmarks

- Let your users create and share their own bookmarks.

-
-
- -
-
-
- -
-
- -
NEW
-
-
-
-

Personalize report design

- Dynamically control the look & feel of your report with themes API. -
-
- -
-
-
- -
-
- -
NEW
-
-
-
-

Insight to action

- Let your users take actions driven straight from analytics, with minimal clicks! -
-
- -
-
-
- -
-
- -
NEW
-
-
-
-

Quick visual creator

- Leverage the visual APIs to quickly create and personalize a visual. -
-
- -
-
-
-
-
\ No newline at end of file diff --git a/demo/v2-demo/step_samples.html b/demo/v2-demo/step_samples.html deleted file mode 100644 index 698f362f..00000000 --- a/demo/v2-demo/step_samples.html +++ /dev/null @@ -1,87 +0,0 @@ - -
-
-
-
-
-

Sample Report

- Embed a sample report and interact with Power BI Embedded firsthand. -
-
- -
-
-
- -
-
-
-
-

Sample Report Visual

- Embed a sample report visual and interact with Power BI Embedded firsthand. -
-
- -
-
-
- -
-
NEW
-
-
-

Sample Paginated Report

- Embed a sample paginated report and interact with Power BI Embedded firsthand. (Preview) -
-
- -
-
-
- -
-
-
-
-

Sample Q&A

- Embed a sample Q&A and interact with Power BI Embedded firsthand. -
-
- -
-
-
- -
-
-
-
-

Sample Dashboard

- Embed a sample dashboard and interact with Power BI Embedded firsthand. -
-
- -
-
-
- -
-
-
-
-

Sample Tile

- Embed a sample tile and interact with Power BI Embedded firsthand. -
-
- -
-
-
-
- - \ No newline at end of file diff --git a/demo/v2-demo/style/layout.css b/demo/v2-demo/style/layout.css deleted file mode 100644 index dba478f1..00000000 --- a/demo/v2-demo/style/layout.css +++ /dev/null @@ -1,382 +0,0 @@ -html { - overflow-x: hidden; -} - -body { - min-width: 300px; - background-color: #212121; -} - -header -{ - position: relative; - height: 60px; - background: #121212; -} - -label { - display: initial; - overflow: hidden; - text-overflow: ellipsis; - white-space: nowrap; - font-weight: normal; -} - -#navbar { - display: table-cell; - width: 160px; - background: #212121; - vertical-align: top; -} - -#main-ul-dev { - position: relative; - padding-top: 24px; - padding-left: 0px; -} - -.main-ul { - position: absolute; - width: 100%; - list-style-type: none; - margin: 0px; - overflow: hidden; - padding-left: 0; - -webkit-margin-before: 0; - -webkit-padding-start: 0; - line-height: 30px; -} - -#mainContent { - padding: 0 8px 8px 8px; - width: 100%; - background: #F1F1F1; -} - -#showcasesContent { - position: relative; -} - -#showcaseContent { - display: table; - padding: 32px 24px 24px 24px; - width: 100%; - background: #F1F1F1; - overflow: hidden; -} - -#samples-step-wrapper { - max-width: 1250px; -} - -#documentationContent { - background: #F1F1F1; - padding-left: 16px; -} - -#contentWrapper { - height: 100%; - width: 100%; - background-color: #F1F1F1; - max-width: 100vw; - width: calc(100% - 160px); - display: table-cell; -} - -.content { - height: 100%; - width: 100%; -} - -#settings-wrapper { - margin-right: 10px; - max-height: 330px; - float: left; -} - -#embedCodeDiv { - margin-right: 10px; - max-height: 330px; - float: left; - overflow: hidden; -} - -#embedArea { - clear: both; - width: 100%; -} - -.iframeContainer { - display: none; - width: 100%; - height: 100%; - background-color: #FFFFFF; - padding: 0px; - clear: both; -} - -.iframeContainer.active { - display: block; -} - -#logWindow { - max-height: 330px; - float: left; - overflow: hidden; -} - -.topFrame { - display: table-cell; - width: 32%; - width: calc((100% - 20.1px)/3); - height: 330px; -} - -.topPanel { - display: table; - table-layout: fixed; - width: 100%; - height: 330px; - margin: 15px 0 15px 0; -} - -.bottomPanel { - width: 100%; - margin-bottom: 10px; - max-width: 100%; -} - -#steps-nav-bar { - height: 48px; - vertical-align: top; - background: #FFFFFF; -} - -#steps-ul { - height: 100%; -} - -#navbar-content { - display: table; - width: 100%; - height: 100%; -} - -#welcome-text, #showcases-text { - margin-top: 2px; - padding: 16px 24px 16px 24px; - background: #FFFFFF; -} - -#sample-tool-header { - margin-bottom: 16px; - font-size: 24px; -} - -#sample-tool-description, #showcases-description { - max-width: 1000px; -} - -#showcase-embedded-view { - background: #FFFFFF; - height: calc(67vw*(9/16)*1.1); - position: relative; -} - -#bookmark-embedded-view { - background: #FFFFFF; - height: calc(61vw*(9/16)*1.1); -} - -#themes-embedded-view { - background: #FFFFFF; - height: calc(64vw*(9/16)*1.1); -} - - -#leftShowcaseWindow { - min-width: 20vw; - max-width: 20vw; - display: table-cell; - padding-right: 16px; -} - -#showcaseItemsWrapper, #bookmarksWrapper, #generatorWrapper { - background: #FFFFFF; - min-height: 350px; -} - -#themesDataColorsWrapper { - background: #FFFFFF; - min-height: 236px; - margin-bottom: 8px; -} - -#themesBackgroundWrapper { - background: #FFFFFF; - min-height: 64px; - padding: 22px 22px; -} - -#bookmarksWrapper { - min-height: 550px; -} - -#showcaseEmbedArea { - display: table-cell; - width: 100%; -} - -#insightToActionShowcaseEmbedArea { - width: calc(100% - 20vw); -} - -#showcasesSelectDiv { - max-width: 1250px; -} - -@media only screen and (max-width: 1280px) { - #distributionDialog { - width: 750px; - height: 450px; - } - - #dialogTable { - height: 303px; - } - - #dialogTooltip { - top: 195px; - } -} - - -@media only screen and (max-width: 1050px) { - .textAreaControl { - margin-right: 20px; - } -} - -@media only screen and (max-width: 950px) { - #navbar-content { - display: block; - } - - .content { - display: block; - } - - #contentWrapper { - display: block; - width: 100%; - } - - #main-ul-dev { - padding-top: 0px; - } - - #navbar { - display: block; - width: 100%; - height: 48px; - } - - .main-ul li { - width: 160px; - float: left; - text-align: center; - } - - #main-nav-bar a { - padding-left: 0px; - } - - #modeSelector { - margin-bottom: 8px; - } - - body { - background-color: #F1F1F1; - } - - .desktop-view { - height: calc(100vw * 0.59); - } -} - -@media only screen and (max-width: 800px) { - .topPanel { - display: block; - } - - .topFrame { - width: 100%; - } - - .customTooltip .tooltipText { - top: -21px; - left: -170px; - } - - .customTooltip .tooltipText::after { - top: 50%; - left: 100%; /* To the right of the tooltip */ - margin-top: -5px; - border-width: 5px; - border-style: solid; - border-color: transparent transparent transparent #000000; - margin-left: 0px; - } -} - -@media only screen and (max-width: 750px) { - #main-showcases { - display: none !important; - } - - .tryShowcase { - display: none !important; - } -} - -@media only screen and (max-width: 500px) { - .main-ul li { - width: 33%; - } - - body { - font-size: 12px; - } - - .interactTooltip .tooltipText { - left: -105px; - top: 35px; - } - - .interactTooltip .tooltipText::after { - display: none; - } -} - -@media only screen and (max-width: 460px) { - .logo-text-span { - font-size: 18px; - text-align: center; - left: 0px; - font-weight: 600; - } - - .logo-text-span { - width: 100%; - } -} - -@media only screen and (max-width: 432px) { - .pbi-line { - width: calc(100% - 24px); - } - - #sampleTileImg { - background-position: left; - } -} diff --git a/demo/v2-demo/style/style.css b/demo/v2-demo/style/style.css deleted file mode 100644 index 48cfd283..00000000 --- a/demo/v2-demo/style/style.css +++ /dev/null @@ -1,1865 +0,0 @@ -html { - margin:0; - padding:0; - height:100%; -} - -body { - background-color: #F1F1F1; - font-family: 'Segoe UI', 'Segoe WP', Tahoma, Arial, sans-serif; - margin:0; - padding:0; - height:100%; - font-size: 14px; - line-height: 1.42857143; - color: #333; -} - -h1 { - margin-bottom: 15px; -} - -h2 { - margin-top: 20px; - margin-bottom: 10px; -} - -h3 { - margin: 0; - font-size: 24px; - font-family: inherit; - font-weight: 500; - line-height: 1.1; - color: inherit; -} - -h8 { - font-weight: 600; -} - -button:focus { - outline: none !important; -} - -a { - color: #337ab7; - text-decoration: none; -} - -a:hover, a:visited, a:link, a:active -{ - text-decoration: none !important; -} - -.logo-text-span { - position: relative; - width: 480px; - left: 24px; - padding-top: 12px; - - font-family: 'Segoe UI', sans-serif; - line-height: normal; - font-size: 24px; - color: #FFFFFF; -} - -.embed-table, #qna-embed-table { - width: 100%; -} - -.embed-table tr, #qna-embed-table tr { - width: 100%; -} - -#dashboard-embed-table { - width: 100%; -} - -#dashboard-embed-table tr { - width: 100%; -} - -#tile-embed-table { - width: 100%; -} - -#tile-embed-table tr { - width: 100%; -} - -.inputLine > span { - width: 30%; -} - -.embed-table input[type="text"], #qna-embed-table input[type="text"], #dashboard-embed-table input[type="text"], #tile-embed-table input[type="text"] { - width: calc(100% - 95px); - border: none; - margin-bottom: 5px; - background: #F1F1F1; - padding-left: 4px; -} - -#visual-embed-table input[type="text"] { - width: calc(100% - 112px); - border: none; - margin-bottom: 5px; - background: #F1F1F1; - padding-left: 4px; -} - -.pbi-line { - float: left; - width: 384px; - margin: 12px; - background: #FFFFFF; - border: solid; - border-color: white; -} - -.pbi-line:hover { - box-shadow: 0px 0px 48px rgba(0, 0, 0, 0.12); -} - -#main-nav-bar a { - color: #FFFFFF; - display: inline-block; - padding-left: 16px; - font-weight: 600; - font-size: 15px; -} - -#steps-nav-bar a { - color: #6E6E6E; - font-family: 'Segoe UI', sans-serif; - line-height: normal; - font-size: 15px; - font-weight: 600; -} - -.main-ul .active { - background-color: #F5D341; -} - -.main-li { - float: left; -} - -.main-li a { - display: block; - color: #000000; - text-align: center; - padding: 0px 16px; - text-decoration: none; -} - -.main-li a:visited { - display: block; - color: #000000; - text-align: center; - padding: 0px 16px; - text-decoration: none; - background-color: #F5D341; -} - -.main-li a:hover { - display: block; - color: #000000; - text-align: center; - padding: 0px 16px; - text-decoration: none; - background-color: #F5D341; -} - -.main-li a:active { - display: block; - color: #000000; - text-align: center; - padding: 0px 16px; - text-decoration: none; - background-color: #F5D341; -} - -.main-ul li { - float: none; - text-align: left; - line-height: 22px; - height: 48px; - width: 100%; - margin-bottom: 10px; - padding-top: 12px; -} - -#main-docs, #main-showcases { - margin-right: 0px; -} - -.main-li-active { - color: #FFFFFF; - text-decoration: none; - background-color: #121212; -} - -#steps-ul-dev { - width: 100%; - height: 100%; -} - -.steps-ul { - list-style-type: none; - margin: 0px; - overflow: hidden; - padding-left: 0; - -webkit-margin-before: 0; - -webkit-padding-start: 0; - line-height: 30px; - width: 100%; -} - -.steps-ul li { - float: left; - width: 100px; - text-align: center; - line-height: 18px; - font-size: 15px; - font-family: 'Segoe UI', sans-serif; -} - -#steps-samples { - margin-left: 6px; -} - -#steps-interact { - margin-right: 0px; -} - -.steps-li-active { - border-bottom: 2px solid #F2C811 !important; - padding: 0 4px 6px; -} - -.operations-div { - height: 100%; - width: 100%; - text-align: center; - overflow-y: scroll; - position: relative; -} - -#wrapper-operations-div { - padding: 8px 8px 8px 12px; - background-color: #FFFFFF; - width: 100%; - height: 298px; - overflow: hidden; - display: inline-block; -} - -#wrapper-settings-div { - padding: 10px 10px 15px 12px; - background-color: #FFFFFF; - width: 100%; - height: 298px; - display: inline-block; -} - -#highlighter { - padding: 10px 20px 15px 20px; - background-color: #FFFFFF; -} - -#operation-categories::-webkit-scrollbar-track -{ - border-radius: 10px; - background-color: transparent; -} - -#operation-categories::-webkit-scrollbar -{ - width: 6px; - height: 10px; - background-color: transparent; -} - -#operation-categories::-webkit-scrollbar-thumb -{ - border-radius: 10px; - background-color: #E1E1E1; -} - -#txtCode::-webkit-scrollbar-track, #txtResponse::-webkit-scrollbar-track { - border-radius: 10px; - background-color: transparent; -} - -#txtCode::-webkit-scrollbar, #txtResponse::-webkit-scrollbar { - width: 6px; - height: 10px; - background: transparent -} - -#txtCode::-webkit-scrollbar-thumb, #txtResponse::-webkit-scrollbar-thumb { - border-radius: 10px; - background-color: #E1E1E1; -} - -.function-ul { - width: 100%; - clear: both; - margin: 0; - padding: 0px 20px 0px 35px; - font-size: 12px; -} - -.operations-ul { - width: 100%; - clear: both; - margin: 0; - padding: 0; -} - -.function-ul li, .operations-ul li { - width: 100%; - clear: both; - cursor: default; - overflow: hidden; - padding-left: 0px; - -webkit-margin-before: 0; - -webkit-padding-start: 0; - margin: 5px 0px; - text-align: left; - padding: 2px 3px 0 0; -} - -.operations-ul > li:before { - content: " "; - background: url('http://github.com/images/expand.svg') center left; - background-repeat: no-repeat; - padding-right: 18px; - cursor: pointer; -} - -.operations-ul > li.active:before { - background: url('http://github.com/images/collapse.svg') center left; - background-repeat: no-repeat; - cursor: pointer; -} - -.operations-ul a { - text-decoration: none; - color: #1B1B1B; -} - -.function-ul .active, .function-ul .active a { - color: #3E65FF; - font-weight: bold; -} - -.td-field-name { - width: 130px; - text-align: right; - color: #888888; - padding-right: 5px; -} - -.pageTitle { - margin-bottom: 10px; -} - -.pageTitle h3 { - margin-bottom: 15px; - font-weight: normal; -} - -.newSample, .newShowcase { - height: 16px; - width: 40px; - background-color: #F2C811; - font-size: 10px; - text-align: center; - color: #000000; - left: 16px; - bottom: 0px; - position: absolute; - font-weight: 600; - padding: 0.5px; -} - -.newSection { - height: 10px; - width: 25px; - background-color: #F2C811; - font-size: 8px; - text-align: center; - color: #000000; - left: 99px; - bottom: 86px; - position: absolute; - font-weight: 600; - line-height: 10px; -} - -.newFeature { - height: 16px; - width: 40px; - background-color: #F2C811; - font-size: 10px; - text-align: center; - color: #000000; - left: 6px; - bottom: 1px; - display: inline-block; - position: relative; - font-weight: 600; - padding: 0.5px; -} - -.highlightSection { - height: 6px; - width: 6px; - border-radius: 50%; - background-color: #F2C811; - left: 12px; - bottom: 1px; - display: inline-block; - position: relative; -} - -.editorTitle { - font-weight: 620; - font-size: 15px; - height: 32px; - padding: 5px 0 0 8px; - color: #000000; -} - -#tabs-wrapper { - height: 32px; -} - -#tabs-ul { - list-style-type: none; - margin: 0px; - padding-left: 0; - -webkit-margin-before: 0; - -webkit-padding-start: 0; - line-height: 30px; - width: 100%; -} - -#tabs-ul a { - color: #6E6E6E; - font-family: 'Segoe UI', sans-serif; - line-height: normal; - font-size: 15px; - font-weight: 620; -} - -#tabs-ul li { - height: 32px; - width: 96px; - background-color: #E1E1E1; - text-align: center; - float: left; -} - -#tabs-ul li.tabs-li-active { - color: #000000; - background-color: #FFFFFF; -} - -#tabs-ul .tabs-li-active a { - color: #000000; -} - -.textAreaControls { - background-color: #FAFAFA; - position: relative; - z-index: 1; - height: 40px; - padding: 0 20px; - font-size: 14px; - font-weight: bold; -} - -.textAreaControl:hover { - background-color: #EAEAEA; - border-top: 2px solid #EAEAEA; - border-bottom: 2px solid #EAEAEA; -} - -.textAreaControl { - background-color: transparent; - border: none; - outline: none; - margin-right: 40px; - height: 40px; - opacity: 1; - min-width: 80px; - font-weight: bold; - cursor: pointer; -} - -.textAreaControl img { - position: relative; - top: -2px; - padding-right: 3px; - right: 2px; -} - -.textAreaControl.regular img { - height: 18px; -} - -.textAreaControl.wide { - min-width: 100px; -} - -.textAreaControl.wide img { - height: 14px; -} - -.textAreaControl.narrow img { - width: 14px; - height: 16px; -} - -.responseTextAreaWrapper { - padding: 10px 20px 15px 20px; - background-color: #FFFFFF; -} - -.responseTextArea { - width: 100%; - height: 240px; - border: none; - position: relative; - overflow-y: auto; - resize: none; -} - -#highlighter { - height: 265px; -} - -.responseDiv { - width: 100%; - float: left; -} - -.selectButton { - border: none; - color: #000000; - background-color: #FFFFFF; - border: solid; - border-width: 1px; - border-color: #6E6E6E; - padding: 5px 30px; - width: 160px; - height: 32px; - text-align: center; - cursor: pointer; -} - -.selectButton:hover { - background-color: #3E65FF; - color: #FFFFFF; - border-color: transparent; -} - -.blueButton { - background-color: #24A9E1; - border: none; - color: #FFFFFF; - padding: 5px 30px; -} - -.spacer { - height: 5px; -} - -.scrollbar -{ - margin-left: 30px; - float: left; - height: 300px; - width: 65px; - background: #F5F5F5; - overflow-y: scroll; - margin-bottom: 25px; -} - -#txtCode { - width: 100%; - height: 240px; - position: relative; - background: #FFFFFF; - overflow-y: auto; -} - -.embed-table .inputLine, #dashboard-embed-table .inputLine, #tile-embed-table .inputLine, #qna-embed-table .inputLine, #visual-embed-table .inputLine { - margin: 2px 0px; -} - -.pageTitle h4 { - font-size: 18px; - font-weight: normal; - margin: 0px 0px 5px 0px; -} - -.main-div { - border-radius: 50%; - width: 10px; - height: 10px; - display: inline-block; - background-color: #FFFFFF; - border: solid black 1px; -} - -.editorTitleText { - display: inline-block; -} - -.stepsButton { - height: 100%; - padding-top: 20px; - line-height: 20px; -} - -#createModeInput { - display: none; -} - -.inputLineTitle { - width: 90px; - display: inline-block; - vertical-align: middle; -} - -#modeSelector { - margin-bottom: 8px; - cursor: default; -} - -.desktop-view iframe, .mobile-view iframe, #showcase-embedded-view iframe, #bookmark-embedded-view iframe, #share-bookmark iframe, #themes-embedded-view iframe { - border: none; -} - -#questionDiv { - margin-bottom: 10px; -} - -.infoImg { - margin-bottom: 3px; -} - -.customTooltip { - position: relative; - display: inline-block; -} - -.customTooltip .tooltipText { - visibility: hidden; - width: 164px; - background-color: #121212; - color: #F1F1F1; - text-align: left; - padding: 4px 12px; - font-size: 12px; - left: -75px; - top: 25px; - position: absolute; - z-index: 1; -} - -.customTooltip:hover .tooltipText { - visibility: visible; -} - -.customTooltip .tooltipText::after { - content: " "; - position: absolute; - bottom: 100%; - left: 50%; - margin-left: -5px; - border-width: 5px; - border-style: solid; - border-color: transparent transparent black transparent; -} - -.interactTooltip { - position: relative; - display: inline-block; -} - -.interactTooltip .tooltipText { - transition: opacity 0.5s ease-in-out; - -webkit-transition: opacity 0.5s ease-in-out; - opacity: 0; - width: 290px; - background-color: #121212; - color: #F1F1F1; - text-align: left; - padding: 4px 12px; - font-size: 12px; - top: -5px; - left: 145%; - position: absolute; - z-index: -1; -} - -.interactTooltip .tooltipText.showTooltip { - opacity: 1; - z-index: 5; -} - -.interactTooltip .tooltipText::after { - content: " "; - position: absolute; - top: 50%; - right: 100%; - margin-top: -5px; - border-width: 5px; - border-style: solid; - border-color: transparent black transparent transparent; -} - -.mobile-view { - display: none; - background: #FFFFFF; - padding: 16px; -} - -.desktop-view { - display: none; - background: #FFFFFF; - height: calc((100vw - 220px) * 0.59); -} - -.mobile-view.active, .desktop-view.active { - display: block; -} - -.phone-frame { - border-radius: 30px; - background: #EAEAEA; - width: 408px; - width: 44vh; - height: 787px; - height: 85vh; - margin: auto; -} - -.phone-top { - position: relative; - width: 100%; - height: 48px; -} - -.phone-bottom { - position: relative; - width: 100%; - height: 72px; -} - - -.phone-speaker{ - position: relative; - width: 48px; - height: 8px; - background: #C4C4C4; - border-radius: 4px; - margin: auto; - top: 21px; -} - -.phone-screen { - position: relative; - width: 375px; - height: 667px; - width: calc(100% - 33px); - height: calc(100% - 120px) !important; - margin: auto; - background: #FFFFFF; - border-width: 1px; - border-color: #C4C4C4; - border-style: solid; -} - -.phone-button { - position: relative; - width: 40px; - height: 40px; - background: #C4C4C4; - border-radius: 50%; - margin: auto; - top: 16px; -} - -.sampleImg, .showcaseImg { - position: relative; - height: 192px; - background: #FFFFFF; - background-repeat: no-repeat; - background-size: 378px auto; - background-position: top left; - box-shadow: inset 0 -7px 35px -7px rgba(0,0,0,0.12); -} - -.sampleTextButton, .showcaseTextButton { - padding: 16px; -} - -#sampleReportImg { - background-image: url('http://github.com/images/samplereport.png'); -} - -#sampleVisualImg { - background-image: url('http://github.com/images/samplevisual.png'); -} - -#sampleTileImg { - background-image: url('http://github.com/images/sampletile.png'); - background-position: bottom; -} - -#sampleQnaImg { - background-image: url('http://github.com/images/sampleqna.png'); - background-position: left; -} - -#sampleDashboardImg { - background-image: url('http://github.com/images/sampledashboard.png'); -} - -#samplePaginatedReportImg { - background-image: url('http://github.com/images/samplerdlreport.png'); - background-position: top; -} - -.showcaseIcon { - position: relative; - left: 50%; - top: 50%; - -webkit-transform: translate(-50%,-50%); - transform: translate(-50%,-50%); -} - -#bookmarksIcon { - top: 56%; -} - -.radioContainer { - display: block; - position: relative; - padding-left: 26px; - margin: 4px 0; - cursor: pointer; - font-weight: normal; -} - -.radioContainer input { - position: absolute; - opacity: 0; - cursor: pointer; -} - -.checkmark { - position: absolute; - top: 2px; - left: 0px; - height: 16px; - width: 16px; - border: none; - border-radius: 50%; - border-color: #6E6E6E; - border-style: solid; - border-width: 1px; -} - -.radioContainer input:checked ~ .checkmark { - border-color: #3E65FF; -} - -.checkmark:after { - content: ""; - position: absolute; - display: none; -} - -.radioContainer input:checked ~ .checkmark:after { - display: block; -} - -.radioContainer .checkmark:after { - top: 3px; - left: 3px; - width: 8px; - height: 8px; - border-radius: 50%; - background: #3E65FF; -} - -#clipboard-textarea { - position: fixed; - top: 0px; - left: 0px; - width: 1px; - height: 1px; - padding: 0px; - border: none; - outline: none; - box-shadow: none; - background: transparent; -} - -#docs-section { - font-size: 16px; - line-height: 2; - background: #F1F1F1; - height: 100%; - width: 100%; - align-items: center; -} - -.docs-links { - margin-right: 30px; - float: left; - width: 330px; - height: 180px; -} - -.docs-video { - margin-right: 30px; - float: left; - font-weight: 600; - line-height: 3; - width: 330px; -} - -.docs-line { - display: block; - clear: both; -} - -#docs-content { - max-width: 1080px; -} - -#interact-tab.enableTransition { - transition: all 1s ease 0s; - -webkit-transition: all 1s ease 0s; -} - -#interact-tab.changeColor { - background-color: #F2C811; -} - -#interact-tab.changeColor a { - color: #000000; -} - -.elementClicked { - opacity: 0.7; -} - -#visualsList, #bookmarksList, #themesList { - padding: 8px 0 8px 0; -} - -#generatorOptions { - padding: 8px 16px; -} - -.checkboxContainer { - display: block; - position: relative; - margin-bottom: 0px; - cursor: pointer; - font-size: 16px; - -webkit-user-select: none; - user-select: none; - height: 40px; - padding: 8px 8px 8px 40px; -} - -.checkboxContainer input { - position: absolute; - opacity: 0; - cursor: pointer; -} - -.checkboxCheckmark { - position: absolute; - top: 11px; - left: 12px; - height: 16px; - width: 16px; - background-color: #FFFFFF; - border-color: #000000; - border-style: solid; - border-width: 1px; - transition: background-color 100ms ease; - -webkit-transition: background-color 100ms ease; -} - -.checkboxContainer input:checked ~ .checkboxCheckmark { - background-color: #3E65FF; - border-color: #3E65FF; -} - -.checkboxContainer input:checked { - background: grey; -} - -.checkboxCheckmark:after { - content: ""; - position: absolute; - display: none; -} - -.checkboxContainer input:checked ~ .checkboxCheckmark:after { - display: block; -} - -.checkboxContainer .checkboxCheckmark:after { - top: 1px; - left: 4px; - width: 6px; - height: 9px; - border: solid white; - border-width: 0 1px 1px 0; - -webkit-transform: rotate(45deg); - transform: rotate(45deg); -} - -.showcaseRadioContainer { - display: block; - position: relative; - padding-left: 26px; - margin: 4px 0; - cursor: pointer; - font-weight: normal; - height: 40px; - padding: 8px 8px 8px 40px; -} - -.themesRadioContainer { - height: 50px; -} - -.showcaseRadioContainer input { - position: absolute; - opacity: 0; - cursor: pointer; -} - -.showcaseRadioCheckmark { - position: absolute; - top: 11px; - left: 12px; - height: 16px; - width: 16px; - border: none; - border-radius: 50%; - border-color: #6E6E6E; - border-style: solid; - border-width: 1px; - transition: all 100ms ease; - -webkit-transition: all 100ms ease; -} - -.showcaseRadioContainer input:checked ~ .showcaseRadioCheckmark { - border-color: #3E65FF; -} - -.showcaseRadioCheckmark:after { - content: ""; - position: absolute; - display: none; -} - -.showcaseRadioContainer input:checked ~ .showcaseRadioCheckmark:after { - display: block; -} - -.showcaseRadioContainer .showcaseRadioCheckmark:after { - top: 3px; - left: 3px; - width: 8px; - height: 8px; - border-radius: 50%; - background: #3E65FF; -} - -#bookmarkShare { - float: right; - position: relative; - top: 5px; -} - -#overlay { - display: none; - background-color: rgba(0, 0, 0, 0.24); - position: absolute; - position: fixed; - bottom: 0; - left: 0; - right: 0; - top: 0; - z-index: 11; -} - -#overlay-embed-container { - background-color:white; - position: absolute; - width: 100%; - height: 100%; - z-index: 11; - text-align: center; - font-family: Segoe UI; - font-size: 20px; -} - -#overlay-embed-container.overlay-text { - padding-top: calc(30% - 20px); -} - -#shareDialog { - display: none; - position: fixed; - top: 50%; - left: 50%; - width: 320px; - margin-left: -160px; - height: 170px; - margin-top: -75px; - background-color: #FFFFFF; - box-shadow: 0px 2px 12px rgba(0, 0, 0, 0.25); - z-index: 12; -} - -#shareDialog .dialogHeader { - height: 40px; -} - -#btnCloseDialog { - float: right; - position: relative; - margin: 15px 15px 0 0; - cursor: pointer; -} - -#btnCloseDialog img { - width: 14px; -} - -#dialogInput { - float: left; - height: 32px; - border: solid; - border-width: 2px 0 2px 2px; - border-color: #3E65FF; - width: calc(100% - 70px); - padding: 8px 0 8px 8px; - outline: none; - margin-bottom: 32px; -} - -#btnDialogCopy { - float: left; - cursor: pointer; - text-align: center; - width: 70px; - height: 32px; - background-color: #3E65FF; - color: #FFFFFF; - padding: 6px; -} - -#btnDialogCopy:hover { - background-color: #213BD1; -} - -#shareDialog .dialogBody { - padding: 8px 24px 0px 24px; - text-align: center; - font-family: Segoe UI; - line-height: 18px; - color: #212121; -} - -.dialogText { - font-size: 18px; - line-height: 24px; -} - -.dialogSubText { - font-size: 12px; - margin-bottom: 16px; -} - -.floatButton { - float: left; - margin-right: 16px; -} - -.showcases-buttons { - height: 32px; - margin-top: 16px; -} - -.text-small-tab { - padding-left: 1em; -} - -.text-tab { - padding-left: 1.4em; -} - -.active-mode { - border-bottom: 2px solid #F2C811 !important; - border-top: 2px solid transparent; -} - -.active-columns-btn { - border-bottom: 2px solid #F2C811 !important; - border-top: 2px solid transparent; -} - -.tryShowcase { - position: relative; - cursor: pointer; - font-weight: 500; - font-size: 8pt; - margin-left: 3px; -} - -.tryMeText { - color: #3E65FF; - margin-left: 1px; -} - -.tryShowcase img { - width: 12px; - height: 9px; - margin: 0 1px; - position: relative; - bottom: 1px; -} - -.modeTooltip { - position: relative; - float: right; - bottom: 24px; -} - -.modeTooltip.view { - right: calc(100% - 115px); -} - -.modeTooltip.edit { - right: calc(100% - 108px); -} - -.modeTooltip.create { - right: calc(100% - 125px); -} - -.modeTooltip .tooltipText { - visibility: hidden; - width: 246px; - background-color: #121212; - color: #F1F1F1; - text-align: left; - padding: 4px 12px; - font-size: 12px; - top: -2px; - left: 145%; - position: absolute; - z-index: 10; -} - -.modeTooltip .tooltipText.edit { - width: 200px; -} - -.modeTooltip .tooltipText.create { - width: 230px; -} - -.modeTooltip:hover .tooltipText { - visibility: visible; -} - -.modeTooltip .tooltipText::after { - content: " "; - position: absolute; - top: 50%; - right: 100%; - margin-top: -5px; - border-width: 5px; - border-style: solid; - border-color: transparent black transparent transparent; -} - -.noOverflow { - overflow: hidden; - white-space: nowrap; - text-overflow: ellipsis; -} - -.columnsIcon img { - height: 24px; -} - -.columnsIcon { - padding-top: 6px; - min-width: 95px; -} - -.twoColumnsIcon { - min-width: 107px; -} - -.themeDataColor { - margin-right: 3px; -} - -.themeBackgroundColor { - margin-right: 6px; - outline: 1px solid #000000; - cursor: pointer; - vertical-align: sub; -} - -.themeBackgroundColor.selected { - outline: 2px solid #F2C811; -} - -#startTooltip, #dialogTooltip { - opacity: 0; - transition: opacity 0.5s ease-in-out; - -webkit-transition: opacity 0.5s ease-in-out; - position: absolute; - background-color: #3b3a39; - width: 300px; - box-shadow: 0px 2px 12px rgba(0, 0, 0, 0.25); - z-index: -1; - padding: 16px 24px; - top: 0px; - left: 0px -} - -#dialogTooltip { - top: 320px; - left: -12px; -} - -#startTooltip.showTooltip, #dialogTooltip.showTooltip { - opacity: 1; - z-index: 15; -} - -#startTooltip::after, #dialogTooltip::after { - content: " "; - position: absolute; - right: calc(50% - 10px); - top: 100%; - border-width: 10px; - border-style: solid; - border-color: #3b3a39 transparent transparent transparent; -} - -#startTooltip .tooltipNumber { - float: left; - margin-left: 16px; - line-height: 20px; - font-size: 14px; - padding: 6px 0px; - color: #FFFFFF; -} - -.btnCloseTooltip { - position: absolute; - right: 16px; - top: 8px; -} - -.btnCloseTooltip img { - height: 10px; - width: 10px; - cursor: pointer; -} - -.showcaseTooltipText { - font-weight: 600; - line-height: 28px; - font-size: 20px; - color: #FFFFFF; - margin-bottom: 8px; -} - -.showcaseTooltipSubText { - font-style: normal; - font-weight: normal; - line-height: 20px; - font-size: 14px; - color: #FFFFFF; -} - -.tooltipFooter { - margin-top: 52px; - height: 32px; -} - -.btnShowcaseTooltip { - height: 32px; - width: 84px; - text-align: center; - line-height: 30px; - font-weight: 600; - float: left; - cursor: pointer; - transition: background-color .2s; - user-select: none; - color: #000000; -} - -.yellowBtn { - background-color: #F2C811; - border: none !important; - border-radius: 2px; -} - -.yellowBtn:hover { - background-color: #ddb612; -} - -.whiteBtn { - background-color: #FFFFFF; - border-radius: 2px; -} - -.whiteBtn:hover { - background-color: #F4F4F4; -} - -#dialogMask { - position: absolute; - display: none; - top: 0; - bottom: 0; - left: 0; - right: 0; -} - -.insightToActionDialog { - display: none; - position: absolute; - top: 50%; - left: 50%; - background-color: #FFFFFF; - box-shadow: 0px 2px 12px rgba(0, 0, 0, 0.25); - z-index: 12; - padding: 16px 24px; - transform: translate(-50%, -50%); -} - -#distributionDialog { - width: 952px; - height: 572px; -} - -#sendDialog { - width: 600px; - height: 400px; -} - -#distributionDialog .dialogHeader, #sendDialog .dialogHeader { - height: 48px; -} - -#distributionDialog .dialogFooter, #sendDialog .dialogFooter { - position: absolute; - bottom: 0px; - left: 0px; - right: 0px; - height: 64px; - padding: 16px 24px; -} - -#distributionDialog .dialogFooter { - border-top: solid; - border-width: 1px; - border-color: #EAEAEA; -} - -#dialogTable { - height: 425px; - color: #212121; - overflow-y: scroll; - padding-right: 10px; - margin-bottom: 5px; -} - -#dialogTable::-webkit-scrollbar-track -{ - border-radius: 10px; - background-color: transparent; -} - -#dialogTable::-webkit-scrollbar -{ - width: 6px; - height: 10px; - background-color: transparent; -} - -#dialogTable::-webkit-scrollbar-thumb -{ - border-radius: 10px; - background-color: #E1E1E1; -} - -.dialogHeaderText { - font-weight: 600; - line-height: 28px; - font-size: 20px; -} - -#btnCloseDistributionDialog { - float: right; - position: relative; - cursor: pointer; - margin-top: 2px; -} - -.insightToActionDialogBtn { - float: left; - width: 110px; - height: 32px; - text-align: center; - line-height: 30px; - font-weight: 600; - cursor: pointer; - transition: background-color .2s; - user-select: none; - border: solid; - border-width: 1px; - border-color: #6E6E6E; - margin-right: 8px; - color: #000000; -} - -.sendBtn { - float: right; -} - -.cancelBtn { - float: right; - margin-right: 0px; -} - -#dialogTable table { - border-collapse: collapse; - width: 100%; -} - -#dialogTable th, #dialogTable td { - padding: 8px; - text-align: left; - border-bottom: 1px solid #ddd; -} - -#dialogTable td { - font-size: 12px; - color: #666666; -} - -#dialogTable td.nameCell { - font-size: 14px; - color: #000000; -} - -.checkAllBtn { - user-select: none; -} - -.sendDialogField { - color: #000000; - font-weight: 500; - line-height: 20px; - font-size: 16px; - padding: 8px 0px; -} - -#sendDialog input[type=text], #sendDialog textarea { - width: 100%; - padding: 12px; - border: 1px solid #cccccc; - border-radius: 4px; - resize: none; -} - -#sendDialog textarea { - height: 130px; -} - -#messageSent { - transition: opacity 1.5s ease; - -webkit-transition: opacity 1.5s ease; - opacity: 0; - position: absolute; - z-index: -1; - left: calc(50% - 34px); - bottom: 8px; - width: 68px; - padding: 2px 6px; - border: 1px solid #aaaaaa; - background-color: #000000; - text-align: center; - color: #FFFFFF; -} - -#messageSent.show { - opacity: 1; - z-index: 5; -} - -#generator-fields, #generator-properties, .title-wrapper { - margin-top: 8px; -} - -input#ptitle[type="text"] { - margin-top: 8px; - border: 1px solid #A19F9D; - border-radius: 2px; - height: 32px; - width: calc(100% - 30px); - padding-left: 8px; -} - -#btnEraseCustomTitle { - margin-left: 5px; - cursor: pointer; -} - -#alignment-blocks-wrapper { - height: 32px; - margin-top: 8px; -} - -.alignment-block { - height: 25px; - width: 25px; - padding: 1px 4px; - margin-right: 6px; - float: left; - cursor: pointer; - user-select: none; -} - -.alignment-block.selected { - background-color: #F2C811; -} - -.title-wrapper-big { - margin-top: 12px; -} - -/* Select Menu */ - -.styled-select { - position: relative; - font-family: Segoe UI; - font-size: 14px; - line-height: 20px; -} - -.styled-select select { - display: none; /*hide original SELECT element: */ -} - -.inline-select-text, .inline-toggle-text { - line-height: 32px; -} - -.select-wrapper, .toggle-wrapper { - height: 32px; - margin-top: 8px; -} - -.inline-select { - float: right; - width: calc(100% - 80px); -} - -.select-selected { - background-color: #FFFFFF; -} - -/* Style the arrow inside the select element: */ -.select-selected:after { - position: absolute; - top: 9px; - right: 5px; - display: block; - content: " "; - background: url(http://github.com/images/collapse.svg) center left; - background-repeat: no-repeat; - height: 16px; - width: 16px; -} - -/* style the items (options), including the selected item: */ -.select-selected, .select-items div { - color: #000000; - padding: 5px 10px; - border: 1px solid #A19F9D; - cursor: pointer; -} - -.select-selected { - border-radius: 2px; -} - -.select-items div { - border-color: transparent #A19F9D #A19F9D #A19F9D; -} - -.select-items { - position: absolute; - background-color: #FFFFFF; - top: 100%; - left: 0; - right: 0; - z-index: 99; -} - -/* Hide the items when the select box is closed */ -.select-hide { - display: none; -} - -.select-items div:hover, .same-as-selected { - background-color: rgba(0, 0, 0, 0.1); -} - -/* Toggle Button */ - -.inline-toggle-text { - float: left; - width: 54px; -} - -/* The switch - the box around the slider */ -.switch { - position: relative; - float: left; - width: 40px; - height: 20px; - margin: 7px 0 7px 16px; -} - -/* Hide default HTML checkbox */ -.switch input { - opacity: 0; - width: 0; - height: 0; -} - -/* The slider */ -.slider { - position: absolute; - cursor: pointer; - top: 0; - left: 0; - right: 0; - bottom: 0; - background-color: #FFFFFF; - -webkit-transition: .4s; - transition: .4s; -} - -.slider:before { - position: absolute; - content: ""; - height: 12px; - width: 12px; - left: 4px; - bottom: 3px; - background-color: #605E5C; - -webkit-transition: .4s; - transition: .4s; -} - -input:checked + .slider { - background-color: #F2C811; -} - -input:checked + .slider:before { - -webkit-transform: translateX(18px); - -ms-transform: translateX(18px); - transform: translateX(18px); - background-color: #FFFFFF; -} - -/* Rounded sliders */ -.slider.round { - border-radius: 40px; - border-color: #605E5C; - border: 1px solid; -} - -input:checked + .slider.round { - border-color: #F2C811; -} - -.slider.round:before { - border-radius: 50%; -} - -.generator-disabled { - color: #A19F9D; - pointer-events: none; -} - -.generator-disabled .select-selected { - color: #A19F9D; -} - -.toggle-wrapper.disabled { - pointer-events: none; -} - -.generator-disabled .slider, .generator-disabled input:checked + .slider, .toggle-wrapper.disabled input:checked + .slider { - background-color: #C8C6C4; - border-color: #C8C6C4; -} - -.generator-disabled .alignment-block.selected { - background-color: #F3F2F1; -} - -#aligns-disabled, #erase-tool-disabled { - display: none; -} - -#erase-tool-enabled { - display: inherit; -} - -.generator-disabled #aligns-enabled, .generator-disabled #erase-tool-enabled { - display: none; -} - -.generator-disabled #aligns-disabled, .generator-disabled #erase-tool-disabled { - display: inherit; -} - -#overlay-embed-container #spinner { - top: calc(50% - 20px); - right: calc(50% - 60px); - position: absolute; - font-size: 14px; -} diff --git a/demo/v2-demo/style/syntaxHighlighterOverride.css b/demo/v2-demo/style/syntaxHighlighterOverride.css deleted file mode 100644 index 4964966e..00000000 --- a/demo/v2-demo/style/syntaxHighlighterOverride.css +++ /dev/null @@ -1,7 +0,0 @@ -.syntaxhighlighter { - overflow: hidden !important; -} - -.syntaxhighlighter .line { - white-space: pre-wrap !important; -} \ No newline at end of file diff --git a/demo/v2-demo/syntaxHighlighter/syntaxhighlighter.js b/demo/v2-demo/syntaxHighlighter/syntaxhighlighter.js deleted file mode 100644 index d8f0e63f..00000000 --- a/demo/v2-demo/syntaxHighlighter/syntaxhighlighter.js +++ /dev/null @@ -1,3768 +0,0 @@ -/*! - * SyntaxHighlighter - * https://github.com/syntaxhighlighter/syntaxhighlighter - * - * SyntaxHighlighter is donationware. If you are using it, please donate. - * http://alexgorbatchev.com/SyntaxHighlighter/donate.html - * - * @version - * 4.0.1 (Tue, 07 Mar 2017 15:42:46 GMT) - * - * @copyright - * Copyright (C) 2004-2016 Alex Gorbatchev. - * - * @license - * Dual licensed under the MIT and GPL licenses. - */ -/******/ (function(modules) { // webpackBootstrap -/******/ // The module cache -/******/ var installedModules = {}; -/******/ -/******/ // The require function -/******/ function __webpack_require__(moduleId) { -/******/ -/******/ // Check if module is in cache -/******/ 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 -/******/ }; -/******/ -/******/ // Execute the module function -/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); -/******/ -/******/ // Flag the module as loaded -/******/ module.loaded = true; -/******/ -/******/ // Return the exports of the module -/******/ return module.exports; -/******/ } -/******/ -/******/ -/******/ // expose the modules object (__webpack_modules__) -/******/ __webpack_require__.m = modules; -/******/ -/******/ // expose the module cache -/******/ __webpack_require__.c = installedModules; -/******/ -/******/ // __webpack_public_path__ -/******/ __webpack_require__.p = ""; -/******/ -/******/ // Load entry module and return exports -/******/ return __webpack_require__(0); -/******/ }) -/************************************************************************/ -/******/ ([ -/* 0 */ -/***/ function(module, exports, __webpack_require__) { - - 'use strict'; - - Object.defineProperty(exports, "__esModule", { - value: true - }); - - var _core = __webpack_require__(1); - - Object.keys(_core).forEach(function (key) { - if (key === "default" || key === "__esModule") return; - Object.defineProperty(exports, key, { - enumerable: true, - get: function get() { - return _core[key]; - } - }); - }); - - var _domready = __webpack_require__(24); - - var _domready2 = _interopRequireDefault(_domready); - - var _core2 = _interopRequireDefault(_core); - - var _dasherize = __webpack_require__(25); - - var dasherize = _interopRequireWildcard(_dasherize); - - function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } } - - function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - - // configured through the `--compat` parameter. - if (false) { - require('./compatibility_layer_v3'); - } - - (0, _domready2.default)(function () { - return _core2.default.highlight(dasherize.object(window.syntaxhighlighterConfig || {})); - }); - -/***/ }, -/* 1 */ -/***/ function(module, exports, __webpack_require__) { - - 'use strict'; - - Object.defineProperty(exports, "__esModule", { - value: true - }); - var optsParser = __webpack_require__(2), - match = __webpack_require__(5), - Renderer = __webpack_require__(9).default, - utils = __webpack_require__(10), - transformers = __webpack_require__(11), - dom = __webpack_require__(17), - config = __webpack_require__(18), - defaults = __webpack_require__(19), - HtmlScript = __webpack_require__(20); - - var sh = { - Match: match.Match, - Highlighter: __webpack_require__(22), - - config: __webpack_require__(18), - regexLib: __webpack_require__(3).commonRegExp, - - /** Internal 'global' variables. */ - vars: { - discoveredBrushes: null, - highlighters: {} - }, - - /** This object is populated by user included external brush files. */ - brushes: {}, - - /** - * Finds all elements on the page which should be processes by SyntaxHighlighter. - * - * @param {Object} globalParams Optional parameters which override element's - * parameters. Only used if element is specified. - * - * @param {Object} element Optional element to highlight. If none is - * provided, all elements in the current document - * are returned which qualify. - * - * @return {Array} Returns list of { target: DOMElement, params: Object } objects. - */ - findElements: function findElements(globalParams, element) { - var elements = element ? [element] : utils.toArray(document.getElementsByTagName(sh.config.tagName)), - conf = sh.config, - result = []; - - // support for